Je?(ot=Ie,Ie=null):ot=Ie.sibling;var yt=Q(F,Ie,Y[Je],oe);if(yt===null){Ie===null&&(Ie=ot);break}t&&Ie&&yt.alternate===null&&r(F,Ie),q=g(yt,q,Je),mt===null?Pe=yt:mt.sibling=yt,mt=yt,Ie=ot}if(Je===Y.length)return o(F,Ie),ut&&da(F,Je),Pe;if(Ie===null){for(;Je Je?(ot=Ie,Ie=null):ot=Ie.sibling;var yt=Q(F,Ie,Y[Je],oe);if(yt===null){Ie===null&&(Ie=ot);break}t&&Ie&&yt.alternate===null&&r(F,Ie),q=g(yt,q,Je),mt===null?Pe=yt:mt.sibling=yt,mt=yt,Ie=ot}if(Je===Y.length)return o(F,Ie),ut&&da(F,Je),Pe;if(Ie===null){for(;Je Component not found: ${e}{if(!a._listeners)return;let l=a._listeners.length;for(;l-- >0;)a._listeners[l](i);a._listeners=null}),this.promise.then=i=>{let l;const c=new Promise(d=>{a.subscribe(d),l=d}).then(i);return c.cancel=function(){a.unsubscribe(l)},c},e(function(l,c,d){a.reason||(a.reason=new mo(l,c,d),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=a=>{e.abort(a)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new cw(function(i){e=i}),cancel:e}}};function RC(s){return function(n){return s.apply(null,n)}}function DC(s){return K.isObject(s)&&s.isAxiosError===!0}const Kd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Kd).forEach(([s,e])=>{Kd[e]=s});function Am(s){const e=new vi(s),n=Fg(vi.prototype.request,e);return K.extend(n,vi.prototype,e,{allOwnKeys:!0}),K.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Am(bi(s,i))},n}const Ft=Am(go);Ft.Axios=vi,Ft.CanceledError=mo,Ft.CancelToken=kC,Ft.isCancel=um,Ft.VERSION=Gd,Ft.toFormData=Yl,Ft.AxiosError=Oe,Ft.Cancel=Ft.CanceledError,Ft.all=function(e){return Promise.all(e)},Ft.spread=RC,Ft.isAxiosError=DC,Ft.mergeConfig=bi,Ft.AxiosHeaders=kn,Ft.formToJSON=s=>cm(K.isHTMLForm(s)?new FormData(s):s),Ft.getAdapter=Cm.getAdapter,Ft.HttpStatusCode=Kd,Ft.default=Ft;const{Axios:KT,AxiosError:WT,CanceledError:YT,isCancel:XT,CancelToken:JT,VERSION:QT,all:ZT,Cancel:ek,isAxiosError:tk,spread:nk,toFormData:rk,AxiosHeaders:ak,HttpStatusCode:ik,formToJSON:sk,getAdapter:ok,mergeConfig:lk,create:ck}=Ft,Wd="g7.identity.redirectStash",ec=dt("IdentityGuardInterceptor");class St{static setLauncher(e){this.launcher=e}static hasLauncher(){return this.launcher!==null}static markDomainNoticeShown(){this.domainNoticeShown=!0}static consumeDomainNoticeShown(){const e=this.domainNoticeShown;return this.domainNoticeShown=!1,e}static resolveDeferred(e){const n=this.deferredResolver;if(!n){ec.warn("IdentityGuardInterceptor.resolveDeferred 호출됐지만 대기 중인 launcher 가 없습니다. 모달이 launcher 외부에서 열렸는지 확인하세요.");return}this.deferredResolver=null,n(e)}static createDeferred(){if(this.deferredResolver){const e=this.deferredResolver;this.deferredResolver=null,e({status:"cancelled"})}return new Promise(e=>{this.deferredResolver=e})}static isIdentityRequired(e,n){return e===428&&typeof n=="object"&&n!==null&&n.error_code==="identity_verification_required"}static async handle(e,n,a){this.domainNoticeShown=!1;const i=this.launcher??LC,c=!!(a&&(a.email||a.phone))?{...e.verification,target:a}:e.verification,d=await i(c);if(d.status!=="verified")return null;const f=c.return_request;if(!f)return null;const h=OC(f.url,d.token);return fetch(h,{method:f.method,headers:n?.headers??{Accept:"application/json","Content-Type":"application/json"},body:n?.body,credentials:n?.credentials??"same-origin"})}static redirectExternally(e){const n=e.redirect_url;if(!n)return ec.error("redirectExternally 호출 시 verification.redirect_url 이 없습니다. payload:",e),Promise.resolve({status:"failed",failureCode:"MISSING_REDIRECT_URL",reason:"verification.redirect_url is required for external_redirect flow"});if(typeof window<"u"){const a={return_url:window.location.href,payload:e,stashed_at:Date.now()};try{window.sessionStorage?.setItem(Wd,JSON.stringify(a))}catch(i){ec.warn("sessionStorage 접근 실패 — stash 없이 redirect 합니다.",i)}window.location.href=n}return new Promise(()=>{})}static reset(){if(this.deferredResolver){const e=this.deferredResolver;this.deferredResolver=null;try{e({status:"cancelled"})}catch{}}this.launcher=null,this.domainNoticeShown=!1}}$(St,"launcher",null),$(St,"deferredResolver",null),$(St,"domainNoticeShown",!1);function OC(s,e){if(!e)return s;try{const n=typeof window<"u"?window.location.origin:"http://localhost",a=new URL(s,n);return a.searchParams.set("verification_token",e),/^https?:\/\//i.test(s)?a.toString():`${a.pathname}${a.search}${a.hash}`}catch{const n=s.includes("?")?"&":"?";return`${s}${n}verification_token=${encodeURIComponent(e)}`}}const LC=async s=>{if(typeof window>"u")return{status:"cancelled"};if(s.render_hint==="external_redirect"||s.redirect_url)return St.redirectExternally(s);const e=window.G7Core;if(!e?.dispatch)return console.error("[IdentityGuardInterceptor] defaultLauncher: G7Core 가 초기화되지 않아 본인인증 흐름을 시작할 수 없습니다."),{status:"failed",failureCode:"G7_NOT_READY"};try{await e.dispatch({handler:"toast",params:{message:"본인 확인이 필요합니다.",variant:"warning"}})}catch{}const n=window.location.href,a={return_url:n,payload:s,stashed_at:Date.now()};try{window.sessionStorage?.setItem(Wd,JSON.stringify(a))}catch{}const i=`/identity/challenge?return=${encodeURIComponent(n)}`;try{await e.dispatch({handler:"navigate",params:{path:i}})}catch(l){ec.warn("navigate 실패 — window.location 으로 폴백",l),window.location.href=i}return new Promise(()=>{})},MC=dt("ApiClient");function Yd(){return typeof window<"u"&&window.__G7_DEVTOOLS__?window.__G7_DEVTOOLS__:null}class $C{constructor(e={}){$(this,"client");$(this,"config");$(this,"TOKEN_KEY","auth_token");this.config={baseURL:e.baseURL||"/api",timeout:e.timeout||3e4,onTokenExpired:e.onTokenExpired,onUnauthorized:e.onUnauthorized,onError:e.onError},this.client=Ft.create({baseURL:this.config.baseURL,timeout:this.config.timeout,headers:{"Content-Type":"application/json",Accept:"application/json"},paramsSerializer:{serialize:n=>{const a=[];for(const[i,l]of Object.entries(n))if(l!=null)if(Array.isArray(l)){const c=i.endsWith("[]")?i:`${i}[]`;for(const d of l)a.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(d))}`)}else a.push(`${encodeURIComponent(i)}=${encodeURIComponent(String(l))}`);return a.join("&")}}}),this.setupInterceptors()}setToken(e){typeof window<"u"&&localStorage.setItem(this.TOKEN_KEY,e)}getToken(){return typeof window<"u"?localStorage.getItem(this.TOKEN_KEY):null}removeToken(){typeof window<"u"&&localStorage.removeItem(this.TOKEN_KEY)}setupInterceptors(){this.client.interceptors.request.use(e=>{e.url?.startsWith("/api")&&e.baseURL==="/api"&&(e.baseURL="");const n=this.getToken();if(n&&e.headers&&!this.isCrossOriginRequest(e.url)&&(e.headers.Authorization=`Bearer ${n}`),typeof window<"u"&&e.headers){const i=localStorage.getItem("g7_locale");i&&(e.headers["Accept-Language"]=i)}const a=Yd();if(a?.isEnabled()){const i=this.buildFullUrl(e),l=(e.method||"GET").toUpperCase(),c=a.trackRequest(i,l,{requestBody:e.data});e._devToolsRequestId=c}return e},e=>Promise.reject(e)),this.client.interceptors.response.use(e=>{const n=e.config,a=n._devToolsRequestId;if(a){const i=Yd();i?.isEnabled()&&i.completeRequest(a,e.status,e.data),n._devToolsRequestId=null}return e},async e=>{const n=e.config,a=n?.url||"",l=["/auth/","/layouts/"].some(c=>a.includes(c));if(e.response?.status===401&&!n?._retry&&!l){if(n._retry=!0,await Sr.getInstance().refreshToken()){const f=this.getToken();return f&&(n.headers.Authorization=`Bearer ${f}`),n._devToolsRequestId=null,this.client(n)}return this.completeDevToolsRequest(n,e),this.removeToken(),this.config.onUnauthorized&&this.config.onUnauthorized(),Promise.reject(e)}if(e.response?.status===401&&l)return this.completeDevToolsRequest(n,e),Promise.reject(e);if(St.isIdentityRequired(e.response?.status,e.response?.data)){this.completeDevToolsRequest(n,e);const c={},d=n?.headers??{};for(const[S,v]of Object.entries(d))typeof v=="string"&&(c[S]=v);let f;n?.data!==void 0&&n?.data!==null&&(f=typeof n.data=="string"?n.data:JSON.stringify(n.data),c["Content-Type"]=c["Content-Type"]??"application/json");const h=n?.identity_target,m=await St.handle(e.response.data,{headers:c,body:f,credentials:"same-origin"},h);if(!m)return Promise.reject(e);let b=null;try{b=await m.json()}catch{b=null}return m.ok?{...e.response,status:m.status,data:b}:Promise.reject(Object.assign(new Error("replay failed"),{response:{status:m.status,data:b}}))}return e.response?.status===403?(this.completeDevToolsRequest(n,e),this.callOnError(e),Promise.reject(e)):(this.completeDevToolsRequest(n,e),e.response&&this.callOnError(e),Promise.reject(e))})}async get(e,n){return(await this.client.get(e,n)).data}async post(e,n,a){return(await this.client.post(e,n,a)).data}async put(e,n,a){return(await this.client.put(e,n,a)).data}async patch(e,n,a){return(await this.client.patch(e,n,a)).data}async delete(e,n){return(await this.client.delete(e,n)).data}getInstance(){return this.client}setOnUnauthorized(e){this.config.onUnauthorized=e}setOnError(e){this.config.onError=e}completeDevToolsRequest(e,n){if(!e?._devToolsRequestId)return;const a=Yd();if(!a?.isEnabled())return;const i=e._devToolsRequestId;e._devToolsRequestId=null,n.response?a.completeRequest(i,n.response.status,n.response.data):n.request?a.failRequest(i,n.message||"Network error"):a.failRequest(i,n.message||"Request error")}isCrossOriginRequest(e){if(!e||typeof window>"u"||!window.location||!/^(https?:)?\/\//i.test(e))return!1;try{return new URL(e,window.location.href).origin!==window.location.origin}catch{return!1}}buildFullUrl(e){let n=e.url||"";if(e.baseURL&&!n.startsWith("http")&&(n=`${e.baseURL}${n.startsWith("/")?"":"/"}${n}`),e.params&&typeof e.params=="object"){const a=e.params,i=[];for(const[l,c]of Object.entries(a))if(c!=null)if(Array.isArray(c)){const d=l.endsWith("[]")?l:`${l}[]`;for(const f of c)i.push(`${encodeURIComponent(d)}=${encodeURIComponent(String(f))}`)}else i.push(`${encodeURIComponent(l)}=${encodeURIComponent(String(c))}`);i.length>0&&(n+=(n.includes("?")?"&":"?")+i.join("&"))}return n}callOnError(e){if(!this.config.onError)return;const n={status:e.response?.status||0,message:e.response?.data?.message||e.message||"Unknown error",data:e.response?.data,statusText:e.response?.statusText};try{this.config.onError(n)}catch(a){MC.error("Error in onError handler:",a)}}}let Xd=null;function Hr(){return Xd||(Xd=new $C),Xd}const yo=dt("AuthManager");function cs(s,e,n,a){try{window.G7Core?.devTools?.trackAuthEvent?.(s,e,n,a)}catch{}}const tc={admin:{type:"admin",loginPath:"/admin/login",defaultPath:"/admin",userEndpoint:"/admin/auth/user",loginEndpoint:"/auth/admin/login",logoutEndpoint:"/admin/auth/logout",refreshEndpoint:"/admin/auth/refresh"},user:{type:"user",loginPath:"/login",defaultPath:"/",userEndpoint:"/auth/user",loginEndpoint:"/auth/login",logoutEndpoint:"/auth/logout",refreshEndpoint:"/auth/refresh"}},Tr=class Tr{constructor(){$(this,"state");$(this,"config");$(this,"isRefreshing",!1);$(this,"refreshPromise",null);$(this,"eventHandlers",new Map);this.state={isAuthenticated:!1,user:null,type:null},this.config=new Map,this.config.set("admin",tc.admin),this.config.set("user",tc.user)}static getInstance(){return Tr.instance||(Tr.instance=new Tr),Tr.instance}on(e,n){this.eventHandlers.has(e)||this.eventHandlers.set(e,[]),this.eventHandlers.get(e).push(n)}emit(e,...n){const a=this.eventHandlers.get(e);a&&a.forEach(i=>i(...n))}isAuthenticated(){return this.state.isAuthenticated}getUser(){return this.state.user}getAuthType(){return this.state.type}async checkAuth(e){const n=Hr();if(!n.getToken())return this.clearState(),!1;const i=this.config.get(e);if(!i)return yo.error(`Unknown auth type: ${e}`),!1;try{const l=await n.get(i.userEndpoint);return l.success&&l.data?(this.state={isAuthenticated:!0,user:l.data,type:e},this.emit("authStateChange",this.state),!0):(this.clearState(),!1)}catch(l){return l.response?.status===401&&await this.refreshToken()?this.checkAuth(e):(this.clearState(),!1)}}async preloadAuth(e){try{return await this.checkAuth(e)}catch(n){return yo.warn(`Preload auth failed for type ${e}:`,n),!1}}async login(e,n,a){const i=Hr();if(!this.config.get(e))throw new Error(`Unknown auth type: ${e}`);const c=e==="admin"?tc.admin.loginEndpoint:tc.user.loginEndpoint;try{const d=a?.headers?{headers:a.headers}:void 0,f=await i.post(c,n,d);if(f.success&&f.data){i.setToken(f.data.token);const h=f.data.user.language,m=localStorage.getItem(Tr.LOCALE_STORAGE_KEY),b=h&&h!==m;if(h)try{localStorage.setItem(Tr.LOCALE_STORAGE_KEY,h)}catch(S){yo.warn("Failed to save user language to localStorage:",S)}return this.state={isAuthenticated:!0,user:f.data.user,type:e},this.emit("login",this.state),this.emit("authStateChange",this.state),cs("login",!0,void 0,{userId:f.data.user.uuid,email:f.data.user.email,type:e}),b&&window.__templateApp&&window.__templateApp.changeLocale(h),f.data.user}throw new Error("Login failed")}catch(d){this.clearState();const f=d.response?.data?.message,h=new Error(f||d.message||"Login failed");throw h.response=d.response,h.status=d.response?.status,cs("login",!1,h.message,{type:e,status:d.response?.status}),h}}async logout(){const e=Hr(),n=this.state.type?this.config.get(this.state.type):null;try{n&&await e.post(n.logoutEndpoint)}catch(a){yo.warn("Logout API call failed:",a)}finally{e.removeToken();const a={...this.state};if(this.clearState(),this.emit("logout",a),this.emit("authStateChange",this.state),cs("logout",!0,void 0,{previousType:a.type}),n&&a.type){const i=window.location.pathname+window.location.search;window.location.href=this.getLoginRedirectUrl(a.type,i)}}}async refreshToken(){if(this.isRefreshing&&this.refreshPromise)return this.refreshPromise;this.isRefreshing=!0,this.refreshPromise=this.doRefreshToken();try{return await this.refreshPromise}finally{this.isRefreshing=!1,this.refreshPromise=null}}async doRefreshToken(){const e=this.state.type;if(!e)return!1;const n=this.config.get(e);if(!n)return!1;const a=Hr();try{const i=await a.post(n.refreshEndpoint);return i.success&&i.data?.token?(a.setToken(i.data.token),this.emit("tokenRefreshed"),cs("token-refresh",!0,void 0,{type:e}),!0):(cs("token-refresh",!1,"No token in response",{type:e}),!1)}catch(i){return yo.error("Token refresh failed:",i),cs("token-refresh",!1,i instanceof Error?i.message:"Unknown error",{type:e}),!1}}getLoginRedirectUrl(e,n,a){const i=this.config.get(e);if(!i)return"/login";const l=encodeURIComponent(n);let c=`${i.loginPath}?redirect=${l}`;return a&&(c+=`&reason=${encodeURIComponent(a)}`),c}updateConfig(e,n){if(n.loginPath!==void 0){const i=n.loginPath;if(!i.startsWith("/")||i.startsWith("//"))throw new Error(`AuthManager.updateConfig: loginPath must be a same-origin path starting with '/' (got: ${i})`)}const a=this.config.get(e);a&&this.config.set(e,{...a,...n})}getRedirectUrl(e){const a=this.config.get(e)?.defaultPath||"/",l=new URLSearchParams(window.location.search).get("redirect");if(l)try{const c=decodeURIComponent(l);if(c.startsWith("/"))return c}catch{}return a}getConfig(e){return this.config.get(e)}clearState(){this.state={isAuthenticated:!1,user:null,type:null}}static resetInstance(){Tr.instance=null}};$(Tr,"instance"),$(Tr,"LOCALE_STORAGE_KEY","g7_locale");let Sr=Tr;const xm={401:{handler:"navigate",params:{path:"{{auth.loginPath}}"}},403:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},404:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},422:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},default:{handler:"toast",params:{type:"error",message:"{{error.message}}"}}},ea={findHandler(s,e){if(s){if(s[e])return s[e];if(s[String(e)])return s[String(e)];if(s.default)return s.default}},normalizeOnError(s){return s?Array.isArray(s)?s:[s]:[]},injectErrorCode(s,e,n){if(s.handler!=="showErrorPage"||s.params?.errorCode!==void 0)return s;const a=typeof e=="string"?parseInt(e,10):e,i=isNaN(a)?n:a;return i===void 0?s:{...s,params:{...s.params,errorCode:i}}}},wr=dt("ErrorHandlingResolver"),Na=class Na{constructor(){$(this,"templateErrorHandling",null);$(this,"layoutErrorHandling",null);$(this,"executeAction",null)}static getInstance(){return Na.instance||(Na.instance=new Na),Na.instance}static resetInstance(){Na.instance=null}setTemplateConfig(e){this.templateErrorHandling=e,wr.log("Template config set:",e)}setLayoutConfig(e){this.layoutErrorHandling=e,wr.log("Layout config set:",e)}setActionExecutor(e){this.executeAction=e}resolve(e,n={}){const{errorHandling:a,onError:i}=n;wr.log("Resolving error:",e,{hasActionErrorHandling:!!a,hasActionOnError:!!i,hasLayoutConfig:!!this.layoutErrorHandling,hasTemplateConfig:!!this.templateErrorHandling});let l=ea.findHandler(a,e);if(l){const c=this.getMatchedKey(a,e);return{handler:ea.injectErrorCode(l,c,e),level:"action",matchedKey:c}}if(i){const c=ea.normalizeOnError(i);if(c.length>0)return{handler:c.length===1?c[0]:{handler:"sequence",actions:c},level:"action",matchedKey:"onError"}}if(l=ea.findHandler(this.layoutErrorHandling||void 0,e),l){const c=this.getMatchedKey(this.layoutErrorHandling,e);return{handler:ea.injectErrorCode(l,c,e),level:"layout",matchedKey:c}}if(l=ea.findHandler(this.templateErrorHandling||void 0,e),l){const c=this.getMatchedKey(this.templateErrorHandling,e);return{handler:ea.injectErrorCode(l,c,e),level:"template",matchedKey:c}}if(l=ea.findHandler(xm,e),l){const c=this.getMatchedKey(xm,e);return{handler:ea.injectErrorCode(l,c,e),level:"system",matchedKey:c}}return{handler:null,level:null,matchedKey:null}}async execute(e,n){if(!this.executeAction){wr.error("Action executor is not set");return}wr.log("Executing handler:",e.handler,{errorContext:n});try{return await this.executeAction(e,{error:n})}catch(a){throw wr.error("Failed to execute handler:",a),a}}async resolveAndExecute(e,n,a={}){const i=this.resolve(e,a);if(wr.log("Resolve result:",{errorCode:e,handler:i.handler?.handler,level:i.level,matchedKey:i.matchedKey}),!i.handler)return wr.warn("No handler found for error:",e),{handled:!1};try{return{handled:!0,result:await this.execute(i.handler,n)}}catch(l){return wr.error("Handler execution failed:",l),{handled:!1}}}getMatchedKey(e,n){return e[n]?n:e[String(n)]?String(n):"default"}clearLayoutConfig(){this.layoutErrorHandling=null,wr.log("Layout config cleared")}clearAllConfig(){this.templateErrorHandling=null,this.layoutErrorHandling=null,wr.log("All config cleared")}getConfigStatus(){return{hasTemplate:this.templateErrorHandling!==null,hasLayout:this.layoutErrorHandling!==null,hasExecutor:this.executeAction!==null}}};$(Na,"instance",null);let Jd=Na;function Cr(){return Jd.getInstance()}var Qd={exports:{}},bo={};var Tm;function NC(){if(Tm)return bo;Tm=1;var s=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(a,i,l){var c=null;if(l!==void 0&&(c=""+l),i.key!==void 0&&(c=""+i.key),"key"in i){l={};for(var d in i)d!=="key"&&(l[d]=i[d])}else l=i;return i=l.ref,{$$typeof:s,type:a,key:c,ref:i!==void 0?i:null,props:l}}return bo.Fragment=e,bo.jsx=n,bo.jsxs=n,bo}var km;function IC(){return km||(km=1,Qd.exports=NC()),Qd.exports}var ft=IC();const jC=Qr({__proto__:null,default:Zr(ft)},[ft]),Zd=dt("ParentContextProvider"),Rm=N.createContext(null);let nc=null;function ef(){nc?(Zd.log("[triggerModalParentUpdate] 모달 부모 컨텍스트 업데이트 트리거"),nc()):Zd.warn("[triggerModalParentUpdate] Provider가 아직 마운트되지 않음")}const Dm=({children:s})=>{const[e,n]=N.useState(0),a=N.useRef(!0),i=N.useCallback(()=>{const c=window.__g7LayoutContextStack||[];return c[c.length-1]?.dataContext},[]);N.useEffect(()=>(a.current=!0,nc=()=>{a.current&&(n(c=>c+1),Zd.log("[ParentContextProvider] 버전 업데이트됨"))},()=>{a.current=!1,nc=null}),[]);const l={version:e,getParentDataContext:i};return ft.jsx(Rm.Provider,{value:l,children:s})};function HC(){return N.useContext(Rm)}const j=dt("ActionDispatcher");function zC(s,e,n,a){return n||(mg(s)||dd(s)?"$t:core.errors.network_request_failed":a||`Failed to execute action: ${e}`)}const Om=new Set(["navigate","navigateBack","navigateForward","replaceUrl","refresh","logout"]),UC=new Set(["redirect"]);function Gn(){try{return window.G7Core?.devTools}catch{return}}class Ut extends Error{constructor(n,a,i){super(n);$(this,"action");$(this,"originalError");$(this,"unknownHandler",!1);this.action=a,this.originalError=i,this.name="ActionError"}}const Lm={click:"onClick",change:"onChange",input:"onInput",submit:"onSubmit",focus:"onFocus",blur:"onBlur",keydown:"onKeyDown",keyup:"onKeyUp",keypress:"onKeyPress",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",scroll:"onScroll",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",dragenter:"onDragEnter",dragover:"onDragOver",dragleave:"onDragLeave",drop:"onDrop"},bs=class bs{constructor(e={},n,a){$(this,"bindingEngine");$(this,"translationEngine");$(this,"translationContext");$(this,"customHandlers",new Map);$(this,"defaultContext");$(this,"globalStateUpdater");$(this,"errorHandlingSetup",!1);$(this,"debounceTimers",new Map);$(this,"pendingDebounceFlushers",new Map);$(this,"debounceAccumulatedValues",new Map);$(this,"globalHeaders",[]);$(this,"namedActions",{});$(this,"previewMode",!1);$(this,"intervals",new Map);this.bindingEngine=new Tn,this.translationEngine=n,this.translationContext=a,this.defaultContext=e,this.registerDefaultHandlers(),this.setupErrorHandling()}setGlobalHeaders(e){this.globalHeaders=e||[]}setNamedActions(e){this.namedActions=e||{};const n=Gn();n?.isEnabled?.()&&n.setNamedActionDefinitions?.(this.namedActions),j.log("[setNamedActions] registered:",Object.keys(this.namedActions))}getNamedActions(){return this.namedActions}setPreviewMode(e){this.previewMode=e,j.log("Preview mode:",e?"enabled":"disabled")}isPreviewMode(){return this.previewMode}static getPreviewSuppressedHandlers(){return Om}static getPreviewSuppressedLayoutFeatures(){return UC}resolveActionRef(e){if(!e.actionRef)return e;const n=this.namedActions[e.actionRef];if(!n)return j.warn(`[resolveActionRef] named action not found: "${e.actionRef}"`),e;const a=Gn();a?.isEnabled?.()&&a.trackNamedActionRef?.({actionRefName:e.actionRef,resolvedHandler:n.handler,timestamp:Date.now()});const{actionRef:i,type:l,key:c,event:d,...f}=e,h={...n,...Object.fromEntries(Object.entries(f).filter(([,m])=>m!==void 0)),type:l??n.type};return c!==void 0&&(h.key=c),d!==void 0&&(h.event=d),h}matchesPattern(e,n){if(n==="*")return!0;const a=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${a}$`).test(e)}getMatchingGlobalHeaders(e,n){const a={};for(const i of this.globalHeaders)this.matchesPattern(e,i.pattern)&&Object.entries(i.headers).forEach(([l,c])=>{const d=is(c,n,{skipCache:!0});d!=null&&d!==""&&(a[l]=String(d))});return a}setupErrorHandling(){if(this.errorHandlingSetup)return;Cr().setActionExecutor(async(n,a)=>{const i={type:"click",handler:n.handler,target:n.target,params:n.params,actions:n.actions},l={data:{...this.defaultContext.data,error:a.error}};return await this.dispatchAction(i,l)}),this.errorHandlingSetup=!0}registerDefaultHandlers(){this.registerHandler("refetchDataSource",async(n,a)=>{const i=n.params?.dataSourceId,l=n.params?.sync;if(!i){j.warn("refetchDataSource: dataSourceId is required");return}if(typeof window<"u"&&window.G7Core?.dataSource?.refetch){const c=window.G7Core?.state?.get?.()||{},d={...a.state?._global,...c},f=window.G7Core?.state?.getLocal?.()||{},h=a.data?._local||a.state||{},m={...f,...h},b=a.isolatedContext?.state;j.log("[refetchDataSource] localStateOverride:",m),await window.G7Core.dataSource.refetch(i,{...l?{sync:!0}:{},...d?{globalStateOverride:d}:{},...m?{localStateOverride:m}:{},...b?{isolatedStateOverride:b}:{}})}else j.warn("refetchDataSource: G7Core.dataSource.refetch is not available")}),this.registerHandler("appendDataSource",async(n,a)=>{const{dataSourceId:i,dataPath:l,newData:c}=n.params||{};if(!i){j.warn("appendDataSource: dataSourceId is required");return}if(c===void 0){j.warn("appendDataSource: newData is required");return}if(typeof window<"u"&&window.G7Core?.dataSource?.updateData){if(!Array.isArray(c)){j.warn("appendDataSource: newData must be an array, got:",typeof c,c);return}await window.G7Core.dataSource.updateData(i,l||null,c,"append")}else j.warn("appendDataSource: G7Core.dataSource.updateData is not available")}),this.registerHandler("updateDataSource",async(n,a)=>{const{dataSourceId:i,data:l,merge:c=!1}=n.params||{};if(!i){j.warn("updateDataSource: dataSourceId is required");return}if(l===void 0){j.warn("updateDataSource: data is required");return}typeof window<"u"&&window.G7Core?.dataSource?.set?(j.log(`[updateDataSource] Updating dataSource '${i}' with:`,l),window.G7Core.dataSource.set(i,l,{merge:c})):j.warn("updateDataSource: G7Core.dataSource.set is not available")}),this.registerHandler("scrollIntoView",async(n,a)=>{const{selector:i,behavior:l="smooth",block:c="nearest",inline:d="nearest",waitForElement:f=!1,timeout:h=2e3,delay:m=0,retryCount:b=0,retryInterval:S=50,scrollContainer:v}=n.params||{};if(!i){j.warn("scrollIntoView: selector is required");return}if(typeof window>"u"||typeof document>"u"){j.warn("scrollIntoView: window/document is not available");return}let _=null;if(f){if(_=await new Promise(A=>{const x=document.querySelector(i);if(x){A(x);return}const L=setTimeout(()=>{M.disconnect(),A(null)},h),M=new MutationObserver(()=>{const k=document.querySelector(i);k&&(clearTimeout(L),M.disconnect(),A(k))});M.observe(document.body,{childList:!0,subtree:!0})}),!_){j.warn(`scrollIntoView: element not found for selector "${i}" after ${h}ms timeout`);return}}else{m>0&&await new Promise(x=>setTimeout(x,m)),_=document.querySelector(i);let A=0;for(;!_&&AsetTimeout(x,S)),_=document.querySelector(i),A++;if(!_){j.warn(`scrollIntoView: element not found for selector "${i}" after ${A+1} attempts`);return}}if(v){const A=document.querySelector(v);if(!A){j.warn(`scrollIntoView: container not found for selector "${v}"`);return}const x=_.getBoundingClientRect(),L=A.getBoundingClientRect(),M=x.top-L.top+A.scrollTop,k=M+x.height;let O;switch(c){case"start":O=M;break;case"center":O=M-A.clientHeight/2+x.height/2;break;case"end":O=k-A.clientHeight;break;default:const B=x.top{if(!a._listeners)return;let l=a._listeners.length;for(;l-- >0;)a._listeners[l](i);a._listeners=null}),this.promise.then=i=>{let l;const c=new Promise(d=>{a.subscribe(d),l=d}).then(i);return c.cancel=function(){a.unsubscribe(l)},c},e(function(l,c,d){a.reason||(a.reason=new mo(l,c,d),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=a=>{e.abort(a)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new cw(function(i){e=i}),cancel:e}}};function RC(s){return function(n){return s.apply(null,n)}}function DC(s){return K.isObject(s)&&s.isAxiosError===!0}const Kd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Kd).forEach(([s,e])=>{Kd[e]=s});function Am(s){const e=new vi(s),n=Fg(vi.prototype.request,e);return K.extend(n,vi.prototype,e,{allOwnKeys:!0}),K.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Am(bi(s,i))},n}const Ft=Am(go);Ft.Axios=vi,Ft.CanceledError=mo,Ft.CancelToken=kC,Ft.isCancel=um,Ft.VERSION=Gd,Ft.toFormData=Xl,Ft.AxiosError=Oe,Ft.Cancel=Ft.CanceledError,Ft.all=function(e){return Promise.all(e)},Ft.spread=RC,Ft.isAxiosError=DC,Ft.mergeConfig=bi,Ft.AxiosHeaders=kn,Ft.formToJSON=s=>cm(K.isHTMLForm(s)?new FormData(s):s),Ft.getAdapter=Cm.getAdapter,Ft.HttpStatusCode=Kd,Ft.default=Ft;const{Axios:KT,AxiosError:WT,CanceledError:YT,isCancel:XT,CancelToken:JT,VERSION:QT,all:ZT,Cancel:ek,isAxiosError:tk,spread:nk,toFormData:rk,AxiosHeaders:ak,HttpStatusCode:ik,formToJSON:sk,getAdapter:ok,mergeConfig:lk,create:ck}=Ft,Wd="g7.identity.redirectStash",tc=dt("IdentityGuardInterceptor");class St{static setLauncher(e){this.launcher=e}static hasLauncher(){return this.launcher!==null}static markDomainNoticeShown(){this.domainNoticeShown=!0}static consumeDomainNoticeShown(){const e=this.domainNoticeShown;return this.domainNoticeShown=!1,e}static resolveDeferred(e){const n=this.deferredResolver;if(!n){tc.warn("IdentityGuardInterceptor.resolveDeferred 호출됐지만 대기 중인 launcher 가 없습니다. 모달이 launcher 외부에서 열렸는지 확인하세요.");return}this.deferredResolver=null,n(e)}static createDeferred(){if(this.deferredResolver){const e=this.deferredResolver;this.deferredResolver=null,e({status:"cancelled"})}return new Promise(e=>{this.deferredResolver=e})}static isIdentityRequired(e,n){return e===428&&typeof n=="object"&&n!==null&&n.error_code==="identity_verification_required"}static async handle(e,n,a){this.domainNoticeShown=!1;const i=this.launcher??LC,c=!!(a&&(a.email||a.phone))?{...e.verification,target:a}:e.verification,d=await i(c);if(d.status!=="verified")return null;const f=c.return_request;if(!f)return null;const h=OC(f.url,d.token);return fetch(h,{method:f.method,headers:n?.headers??{Accept:"application/json","Content-Type":"application/json"},body:n?.body,credentials:n?.credentials??"same-origin"})}static redirectExternally(e){const n=e.redirect_url;if(!n)return tc.error("redirectExternally 호출 시 verification.redirect_url 이 없습니다. payload:",e),Promise.resolve({status:"failed",failureCode:"MISSING_REDIRECT_URL",reason:"verification.redirect_url is required for external_redirect flow"});if(typeof window<"u"){const a={return_url:window.location.href,payload:e,stashed_at:Date.now()};try{window.sessionStorage?.setItem(Wd,JSON.stringify(a))}catch(i){tc.warn("sessionStorage 접근 실패 — stash 없이 redirect 합니다.",i)}window.location.href=n}return new Promise(()=>{})}static reset(){if(this.deferredResolver){const e=this.deferredResolver;this.deferredResolver=null;try{e({status:"cancelled"})}catch{}}this.launcher=null,this.domainNoticeShown=!1}}$(St,"launcher",null),$(St,"deferredResolver",null),$(St,"domainNoticeShown",!1);function OC(s,e){if(!e)return s;try{const n=typeof window<"u"?window.location.origin:"http://localhost",a=new URL(s,n);return a.searchParams.set("verification_token",e),/^https?:\/\//i.test(s)?a.toString():`${a.pathname}${a.search}${a.hash}`}catch{const n=s.includes("?")?"&":"?";return`${s}${n}verification_token=${encodeURIComponent(e)}`}}const LC=async s=>{if(typeof window>"u")return{status:"cancelled"};if(s.render_hint==="external_redirect"||s.redirect_url)return St.redirectExternally(s);const e=window.G7Core;if(!e?.dispatch)return console.error("[IdentityGuardInterceptor] defaultLauncher: G7Core 가 초기화되지 않아 본인인증 흐름을 시작할 수 없습니다."),{status:"failed",failureCode:"G7_NOT_READY"};try{await e.dispatch({handler:"toast",params:{message:"본인 확인이 필요합니다.",variant:"warning"}})}catch{}const n=window.location.href,a={return_url:n,payload:s,stashed_at:Date.now()};try{window.sessionStorage?.setItem(Wd,JSON.stringify(a))}catch{}const i=`/identity/challenge?return=${encodeURIComponent(n)}`;try{await e.dispatch({handler:"navigate",params:{path:i}})}catch(l){tc.warn("navigate 실패 — window.location 으로 폴백",l),window.location.href=i}return new Promise(()=>{})},MC=dt("ApiClient");function Yd(){return typeof window<"u"&&window.__G7_DEVTOOLS__?window.__G7_DEVTOOLS__:null}class $C{constructor(e={}){$(this,"client");$(this,"config");$(this,"TOKEN_KEY","auth_token");this.config={baseURL:e.baseURL||"/api",timeout:e.timeout||3e4,onTokenExpired:e.onTokenExpired,onUnauthorized:e.onUnauthorized,onError:e.onError},this.client=Ft.create({baseURL:this.config.baseURL,timeout:this.config.timeout,headers:{"Content-Type":"application/json",Accept:"application/json"},paramsSerializer:{serialize:n=>{const a=[];for(const[i,l]of Object.entries(n))if(l!=null)if(Array.isArray(l)){const c=i.endsWith("[]")?i:`${i}[]`;for(const d of l)a.push(`${encodeURIComponent(c)}=${encodeURIComponent(String(d))}`)}else a.push(`${encodeURIComponent(i)}=${encodeURIComponent(String(l))}`);return a.join("&")}}}),this.setupInterceptors()}setToken(e){typeof window<"u"&&localStorage.setItem(this.TOKEN_KEY,e)}getToken(){return typeof window<"u"?localStorage.getItem(this.TOKEN_KEY):null}removeToken(){typeof window<"u"&&localStorage.removeItem(this.TOKEN_KEY)}setupInterceptors(){this.client.interceptors.request.use(e=>{e.url?.startsWith("/api")&&e.baseURL==="/api"&&(e.baseURL="");const n=this.getToken();if(n&&e.headers&&!this.isCrossOriginRequest(e.url)&&(e.headers.Authorization=`Bearer ${n}`),typeof window<"u"&&e.headers){const i=localStorage.getItem("g7_locale");i&&(e.headers["Accept-Language"]=i)}const a=Yd();if(a?.isEnabled()){const i=this.buildFullUrl(e),l=(e.method||"GET").toUpperCase(),c=a.trackRequest(i,l,{requestBody:e.data});e._devToolsRequestId=c}return e},e=>Promise.reject(e)),this.client.interceptors.response.use(e=>{const n=e.config,a=n._devToolsRequestId;if(a){const i=Yd();i?.isEnabled()&&i.completeRequest(a,e.status,e.data),n._devToolsRequestId=null}return e},async e=>{const n=e.config,a=n?.url||"",l=["/auth/","/layouts/"].some(c=>a.includes(c));if(e.response?.status===401&&!n?._retry&&!l){if(n._retry=!0,await Sr.getInstance().refreshToken()){const f=this.getToken();return f&&(n.headers.Authorization=`Bearer ${f}`),n._devToolsRequestId=null,this.client(n)}return this.completeDevToolsRequest(n,e),this.removeToken(),this.config.onUnauthorized&&this.config.onUnauthorized(),Promise.reject(e)}if(e.response?.status===401&&l)return this.completeDevToolsRequest(n,e),Promise.reject(e);if(St.isIdentityRequired(e.response?.status,e.response?.data)){this.completeDevToolsRequest(n,e);const c={},d=n?.headers??{};for(const[S,v]of Object.entries(d))typeof v=="string"&&(c[S]=v);let f;n?.data!==void 0&&n?.data!==null&&(f=typeof n.data=="string"?n.data:JSON.stringify(n.data),c["Content-Type"]=c["Content-Type"]??"application/json");const h=n?.identity_target,m=await St.handle(e.response.data,{headers:c,body:f,credentials:"same-origin"},h);if(!m)return Promise.reject(e);let b=null;try{b=await m.json()}catch{b=null}return m.ok?{...e.response,status:m.status,data:b}:Promise.reject(Object.assign(new Error("replay failed"),{response:{status:m.status,data:b}}))}return e.response?.status===403?(this.completeDevToolsRequest(n,e),this.callOnError(e),Promise.reject(e)):(this.completeDevToolsRequest(n,e),e.response&&this.callOnError(e),Promise.reject(e))})}async get(e,n){return(await this.client.get(e,n)).data}async post(e,n,a){return(await this.client.post(e,n,a)).data}async put(e,n,a){return(await this.client.put(e,n,a)).data}async patch(e,n,a){return(await this.client.patch(e,n,a)).data}async delete(e,n){return(await this.client.delete(e,n)).data}getInstance(){return this.client}setOnUnauthorized(e){this.config.onUnauthorized=e}setOnError(e){this.config.onError=e}completeDevToolsRequest(e,n){if(!e?._devToolsRequestId)return;const a=Yd();if(!a?.isEnabled())return;const i=e._devToolsRequestId;e._devToolsRequestId=null,n.response?a.completeRequest(i,n.response.status,n.response.data):n.request?a.failRequest(i,n.message||"Network error"):a.failRequest(i,n.message||"Request error")}isCrossOriginRequest(e){if(!e||typeof window>"u"||!window.location||!/^(https?:)?\/\//i.test(e))return!1;try{return new URL(e,window.location.href).origin!==window.location.origin}catch{return!1}}buildFullUrl(e){let n=e.url||"";if(e.baseURL&&!n.startsWith("http")&&(n=`${e.baseURL}${n.startsWith("/")?"":"/"}${n}`),e.params&&typeof e.params=="object"){const a=e.params,i=[];for(const[l,c]of Object.entries(a))if(c!=null)if(Array.isArray(c)){const d=l.endsWith("[]")?l:`${l}[]`;for(const f of c)i.push(`${encodeURIComponent(d)}=${encodeURIComponent(String(f))}`)}else i.push(`${encodeURIComponent(l)}=${encodeURIComponent(String(c))}`);i.length>0&&(n+=(n.includes("?")?"&":"?")+i.join("&"))}return n}callOnError(e){if(!this.config.onError)return;const n={status:e.response?.status||0,message:e.response?.data?.message||e.message||"Unknown error",data:e.response?.data,statusText:e.response?.statusText};try{this.config.onError(n)}catch(a){MC.error("Error in onError handler:",a)}}}let Xd=null;function Hr(){return Xd||(Xd=new $C),Xd}const yo=dt("AuthManager");function cs(s,e,n,a){try{window.G7Core?.devTools?.trackAuthEvent?.(s,e,n,a)}catch{}}const nc={admin:{type:"admin",loginPath:"/admin/login",defaultPath:"/admin",userEndpoint:"/admin/auth/user",loginEndpoint:"/auth/admin/login",logoutEndpoint:"/admin/auth/logout",refreshEndpoint:"/admin/auth/refresh"},user:{type:"user",loginPath:"/login",defaultPath:"/",userEndpoint:"/auth/user",loginEndpoint:"/auth/login",logoutEndpoint:"/auth/logout",refreshEndpoint:"/auth/refresh"}},Tr=class Tr{constructor(){$(this,"state");$(this,"config");$(this,"isRefreshing",!1);$(this,"refreshPromise",null);$(this,"eventHandlers",new Map);this.state={isAuthenticated:!1,user:null,type:null},this.config=new Map,this.config.set("admin",nc.admin),this.config.set("user",nc.user)}static getInstance(){return Tr.instance||(Tr.instance=new Tr),Tr.instance}on(e,n){this.eventHandlers.has(e)||this.eventHandlers.set(e,[]),this.eventHandlers.get(e).push(n)}emit(e,...n){const a=this.eventHandlers.get(e);a&&a.forEach(i=>i(...n))}isAuthenticated(){return this.state.isAuthenticated}getUser(){return this.state.user}getAuthType(){return this.state.type}async checkAuth(e){const n=Hr();if(!n.getToken())return this.clearState(),!1;const i=this.config.get(e);if(!i)return yo.error(`Unknown auth type: ${e}`),!1;try{const l=await n.get(i.userEndpoint);return l.success&&l.data?(this.state={isAuthenticated:!0,user:l.data,type:e},this.emit("authStateChange",this.state),!0):(this.clearState(),!1)}catch(l){return l.response?.status===401&&await this.refreshToken()?this.checkAuth(e):(this.clearState(),!1)}}async preloadAuth(e){try{return await this.checkAuth(e)}catch(n){return yo.warn(`Preload auth failed for type ${e}:`,n),!1}}async login(e,n,a){const i=Hr();if(!this.config.get(e))throw new Error(`Unknown auth type: ${e}`);const c=e==="admin"?nc.admin.loginEndpoint:nc.user.loginEndpoint;try{const d=a?.headers?{headers:a.headers}:void 0,f=await i.post(c,n,d);if(f.success&&f.data){i.setToken(f.data.token);const h=f.data.user.language,m=localStorage.getItem(Tr.LOCALE_STORAGE_KEY),b=h&&h!==m;if(h)try{localStorage.setItem(Tr.LOCALE_STORAGE_KEY,h)}catch(S){yo.warn("Failed to save user language to localStorage:",S)}return this.state={isAuthenticated:!0,user:f.data.user,type:e},this.emit("login",this.state),this.emit("authStateChange",this.state),cs("login",!0,void 0,{userId:f.data.user.uuid,email:f.data.user.email,type:e}),b&&window.__templateApp&&window.__templateApp.changeLocale(h),f.data.user}throw new Error("Login failed")}catch(d){this.clearState();const f=d.response?.data?.message,h=new Error(f||d.message||"Login failed");throw h.response=d.response,h.status=d.response?.status,cs("login",!1,h.message,{type:e,status:d.response?.status}),h}}async logout(){const e=Hr(),n=this.state.type?this.config.get(this.state.type):null;try{n&&await e.post(n.logoutEndpoint)}catch(a){yo.warn("Logout API call failed:",a)}finally{e.removeToken();const a={...this.state};if(this.clearState(),this.emit("logout",a),this.emit("authStateChange",this.state),cs("logout",!0,void 0,{previousType:a.type}),n&&a.type){const i=window.location.pathname+window.location.search;window.location.href=this.getLoginRedirectUrl(a.type,i)}}}async refreshToken(){if(this.isRefreshing&&this.refreshPromise)return this.refreshPromise;this.isRefreshing=!0,this.refreshPromise=this.doRefreshToken();try{return await this.refreshPromise}finally{this.isRefreshing=!1,this.refreshPromise=null}}async doRefreshToken(){const e=this.state.type;if(!e)return!1;const n=this.config.get(e);if(!n)return!1;const a=Hr();try{const i=await a.post(n.refreshEndpoint);return i.success&&i.data?.token?(a.setToken(i.data.token),this.emit("tokenRefreshed"),cs("token-refresh",!0,void 0,{type:e}),!0):(cs("token-refresh",!1,"No token in response",{type:e}),!1)}catch(i){return yo.error("Token refresh failed:",i),cs("token-refresh",!1,i instanceof Error?i.message:"Unknown error",{type:e}),!1}}getLoginRedirectUrl(e,n,a){const i=this.config.get(e);if(!i)return"/login";const l=encodeURIComponent(n);let c=`${i.loginPath}?redirect=${l}`;return a&&(c+=`&reason=${encodeURIComponent(a)}`),c}updateConfig(e,n){if(n.loginPath!==void 0){const i=n.loginPath;if(!i.startsWith("/")||i.startsWith("//"))throw new Error(`AuthManager.updateConfig: loginPath must be a same-origin path starting with '/' (got: ${i})`)}const a=this.config.get(e);a&&this.config.set(e,{...a,...n})}getRedirectUrl(e){const a=this.config.get(e)?.defaultPath||"/",l=new URLSearchParams(window.location.search).get("redirect");if(l)try{const c=decodeURIComponent(l);if(c.startsWith("/"))return c}catch{}return a}getConfig(e){return this.config.get(e)}clearState(){this.state={isAuthenticated:!1,user:null,type:null}}static resetInstance(){Tr.instance=null}};$(Tr,"instance"),$(Tr,"LOCALE_STORAGE_KEY","g7_locale");let Sr=Tr;const xm={401:{handler:"navigate",params:{path:"{{auth.loginPath}}"}},403:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},404:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},422:{handler:"toast",params:{type:"error",message:"{{error.message}}"}},default:{handler:"toast",params:{type:"error",message:"{{error.message}}"}}},ea={findHandler(s,e){if(s){if(s[e])return s[e];if(s[String(e)])return s[String(e)];if(s.default)return s.default}},normalizeOnError(s){return s?Array.isArray(s)?s:[s]:[]},injectErrorCode(s,e,n){if(s.handler!=="showErrorPage"||s.params?.errorCode!==void 0)return s;const a=typeof e=="string"?parseInt(e,10):e,i=isNaN(a)?n:a;return i===void 0?s:{...s,params:{...s.params,errorCode:i}}}},wr=dt("ErrorHandlingResolver"),Na=class Na{constructor(){$(this,"templateErrorHandling",null);$(this,"layoutErrorHandling",null);$(this,"executeAction",null)}static getInstance(){return Na.instance||(Na.instance=new Na),Na.instance}static resetInstance(){Na.instance=null}setTemplateConfig(e){this.templateErrorHandling=e,wr.log("Template config set:",e)}setLayoutConfig(e){this.layoutErrorHandling=e,wr.log("Layout config set:",e)}setActionExecutor(e){this.executeAction=e}resolve(e,n={}){const{errorHandling:a,onError:i}=n;wr.log("Resolving error:",e,{hasActionErrorHandling:!!a,hasActionOnError:!!i,hasLayoutConfig:!!this.layoutErrorHandling,hasTemplateConfig:!!this.templateErrorHandling});let l=ea.findHandler(a,e);if(l){const c=this.getMatchedKey(a,e);return{handler:ea.injectErrorCode(l,c,e),level:"action",matchedKey:c}}if(i){const c=ea.normalizeOnError(i);if(c.length>0)return{handler:c.length===1?c[0]:{handler:"sequence",actions:c},level:"action",matchedKey:"onError"}}if(l=ea.findHandler(this.layoutErrorHandling||void 0,e),l){const c=this.getMatchedKey(this.layoutErrorHandling,e);return{handler:ea.injectErrorCode(l,c,e),level:"layout",matchedKey:c}}if(l=ea.findHandler(this.templateErrorHandling||void 0,e),l){const c=this.getMatchedKey(this.templateErrorHandling,e);return{handler:ea.injectErrorCode(l,c,e),level:"template",matchedKey:c}}if(l=ea.findHandler(xm,e),l){const c=this.getMatchedKey(xm,e);return{handler:ea.injectErrorCode(l,c,e),level:"system",matchedKey:c}}return{handler:null,level:null,matchedKey:null}}async execute(e,n){if(!this.executeAction){wr.error("Action executor is not set");return}wr.log("Executing handler:",e.handler,{errorContext:n});try{return await this.executeAction(e,{error:n})}catch(a){throw wr.error("Failed to execute handler:",a),a}}async resolveAndExecute(e,n,a={}){const i=this.resolve(e,a);if(wr.log("Resolve result:",{errorCode:e,handler:i.handler?.handler,level:i.level,matchedKey:i.matchedKey}),!i.handler)return wr.warn("No handler found for error:",e),{handled:!1};try{return{handled:!0,result:await this.execute(i.handler,n)}}catch(l){return wr.error("Handler execution failed:",l),{handled:!1}}}getMatchedKey(e,n){return e[n]?n:e[String(n)]?String(n):"default"}clearLayoutConfig(){this.layoutErrorHandling=null,wr.log("Layout config cleared")}clearAllConfig(){this.templateErrorHandling=null,this.layoutErrorHandling=null,wr.log("All config cleared")}getConfigStatus(){return{hasTemplate:this.templateErrorHandling!==null,hasLayout:this.layoutErrorHandling!==null,hasExecutor:this.executeAction!==null}}};$(Na,"instance",null);let Jd=Na;function Cr(){return Jd.getInstance()}var Qd={exports:{}},bo={};var Tm;function NC(){if(Tm)return bo;Tm=1;var s=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(a,i,l){var c=null;if(l!==void 0&&(c=""+l),i.key!==void 0&&(c=""+i.key),"key"in i){l={};for(var d in i)d!=="key"&&(l[d]=i[d])}else l=i;return i=l.ref,{$$typeof:s,type:a,key:c,ref:i!==void 0?i:null,props:l}}return bo.Fragment=e,bo.jsx=n,bo.jsxs=n,bo}var km;function IC(){return km||(km=1,Qd.exports=NC()),Qd.exports}var ft=IC();const jC=Qr({__proto__:null,default:Zr(ft)},[ft]),Zd=dt("ParentContextProvider"),Rm=N.createContext(null);let rc=null;function ef(){rc?(Zd.log("[triggerModalParentUpdate] 모달 부모 컨텍스트 업데이트 트리거"),rc()):Zd.warn("[triggerModalParentUpdate] Provider가 아직 마운트되지 않음")}const Dm=({children:s})=>{const[e,n]=N.useState(0),a=N.useRef(!0),i=N.useCallback(()=>{const c=window.__g7LayoutContextStack||[];return c[c.length-1]?.dataContext},[]);N.useEffect(()=>(a.current=!0,rc=()=>{a.current&&(n(c=>c+1),Zd.log("[ParentContextProvider] 버전 업데이트됨"))},()=>{a.current=!1,rc=null}),[]);const l={version:e,getParentDataContext:i};return ft.jsx(Rm.Provider,{value:l,children:s})};function HC(){return N.useContext(Rm)}const j=dt("ActionDispatcher");function zC(s,e,n,a){return n||(mg(s)||fd(s)?"$t:core.errors.network_request_failed":a||`Failed to execute action: ${e}`)}const Om=new Set(["navigate","navigateBack","navigateForward","replaceUrl","refresh","logout"]),UC=new Set(["redirect"]);function Gn(){try{return window.G7Core?.devTools}catch{return}}class Ut extends Error{constructor(n,a,i){super(n);$(this,"action");$(this,"originalError");$(this,"unknownHandler",!1);this.action=a,this.originalError=i,this.name="ActionError"}}const Lm={click:"onClick",change:"onChange",input:"onInput",submit:"onSubmit",focus:"onFocus",blur:"onBlur",keydown:"onKeyDown",keyup:"onKeyUp",keypress:"onKeyPress",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",scroll:"onScroll",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",dragenter:"onDragEnter",dragover:"onDragOver",dragleave:"onDragLeave",drop:"onDrop"},bs=class bs{constructor(e={},n,a){$(this,"bindingEngine");$(this,"translationEngine");$(this,"translationContext");$(this,"customHandlers",new Map);$(this,"defaultContext");$(this,"globalStateUpdater");$(this,"errorHandlingSetup",!1);$(this,"debounceTimers",new Map);$(this,"pendingDebounceFlushers",new Map);$(this,"debounceAccumulatedValues",new Map);$(this,"globalHeaders",[]);$(this,"namedActions",{});$(this,"previewMode",!1);$(this,"intervals",new Map);this.bindingEngine=new Tn,this.translationEngine=n,this.translationContext=a,this.defaultContext=e,this.registerDefaultHandlers(),this.setupErrorHandling()}setGlobalHeaders(e){this.globalHeaders=e||[]}setNamedActions(e){this.namedActions=e||{};const n=Gn();n?.isEnabled?.()&&n.setNamedActionDefinitions?.(this.namedActions),j.log("[setNamedActions] registered:",Object.keys(this.namedActions))}getNamedActions(){return this.namedActions}setPreviewMode(e){this.previewMode=e,j.log("Preview mode:",e?"enabled":"disabled")}isPreviewMode(){return this.previewMode}static getPreviewSuppressedHandlers(){return Om}static getPreviewSuppressedLayoutFeatures(){return UC}resolveActionRef(e){if(!e.actionRef)return e;const n=this.namedActions[e.actionRef];if(!n)return j.warn(`[resolveActionRef] named action not found: "${e.actionRef}"`),e;const a=Gn();a?.isEnabled?.()&&a.trackNamedActionRef?.({actionRefName:e.actionRef,resolvedHandler:n.handler,timestamp:Date.now()});const{actionRef:i,type:l,key:c,event:d,...f}=e,h={...n,...Object.fromEntries(Object.entries(f).filter(([,m])=>m!==void 0)),type:l??n.type};return c!==void 0&&(h.key=c),d!==void 0&&(h.event=d),h}matchesPattern(e,n){if(n==="*")return!0;const a=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${a}$`).test(e)}getMatchingGlobalHeaders(e,n){const a={};for(const i of this.globalHeaders)this.matchesPattern(e,i.pattern)&&Object.entries(i.headers).forEach(([l,c])=>{const d=is(c,n,{skipCache:!0});d!=null&&d!==""&&(a[l]=String(d))});return a}setupErrorHandling(){if(this.errorHandlingSetup)return;Cr().setActionExecutor(async(n,a)=>{const i={type:"click",handler:n.handler,target:n.target,params:n.params,actions:n.actions},l={data:{...this.defaultContext.data,error:a.error}};return await this.dispatchAction(i,l)}),this.errorHandlingSetup=!0}registerDefaultHandlers(){this.registerHandler("refetchDataSource",async(n,a)=>{const i=n.params?.dataSourceId,l=n.params?.sync;if(!i){j.warn("refetchDataSource: dataSourceId is required");return}if(typeof window<"u"&&window.G7Core?.dataSource?.refetch){const c=window.G7Core?.state?.get?.()||{},d={...a.state?._global,...c},f=window.G7Core?.state?.getLocal?.()||{},h=a.data?._local||a.state||{},m={...f,...h},b=a.isolatedContext?.state;j.log("[refetchDataSource] localStateOverride:",m),await window.G7Core.dataSource.refetch(i,{...l?{sync:!0}:{},...d?{globalStateOverride:d}:{},...m?{localStateOverride:m}:{},...b?{isolatedStateOverride:b}:{}})}else j.warn("refetchDataSource: G7Core.dataSource.refetch is not available")}),this.registerHandler("appendDataSource",async(n,a)=>{const{dataSourceId:i,dataPath:l,newData:c}=n.params||{};if(!i){j.warn("appendDataSource: dataSourceId is required");return}if(c===void 0){j.warn("appendDataSource: newData is required");return}if(typeof window<"u"&&window.G7Core?.dataSource?.updateData){if(!Array.isArray(c)){j.warn("appendDataSource: newData must be an array, got:",typeof c,c);return}await window.G7Core.dataSource.updateData(i,l||null,c,"append")}else j.warn("appendDataSource: G7Core.dataSource.updateData is not available")}),this.registerHandler("updateDataSource",async(n,a)=>{const{dataSourceId:i,data:l,merge:c=!1}=n.params||{};if(!i){j.warn("updateDataSource: dataSourceId is required");return}if(l===void 0){j.warn("updateDataSource: data is required");return}typeof window<"u"&&window.G7Core?.dataSource?.set?(j.log(`[updateDataSource] Updating dataSource '${i}' with:`,l),window.G7Core.dataSource.set(i,l,{merge:c})):j.warn("updateDataSource: G7Core.dataSource.set is not available")}),this.registerHandler("scrollIntoView",async(n,a)=>{const{selector:i,behavior:l="smooth",block:c="nearest",inline:d="nearest",waitForElement:f=!1,timeout:h=2e3,delay:m=0,retryCount:b=0,retryInterval:S=50,scrollContainer:v}=n.params||{};if(!i){j.warn("scrollIntoView: selector is required");return}if(typeof window>"u"||typeof document>"u"){j.warn("scrollIntoView: window/document is not available");return}let _=null;if(f){if(_=await new Promise(A=>{const x=document.querySelector(i);if(x){A(x);return}const L=setTimeout(()=>{M.disconnect(),A(null)},h),M=new MutationObserver(()=>{const k=document.querySelector(i);k&&(clearTimeout(L),M.disconnect(),A(k))});M.observe(document.body,{childList:!0,subtree:!0})}),!_){j.warn(`scrollIntoView: element not found for selector "${i}" after ${h}ms timeout`);return}}else{m>0&&await new Promise(x=>setTimeout(x,m)),_=document.querySelector(i);let A=0;for(;!_&&AsetTimeout(x,S)),_=document.querySelector(i),A++;if(!_){j.warn(`scrollIntoView: element not found for selector "${i}" after ${A+1} attempts`);return}}if(v){const A=document.querySelector(v);if(!A){j.warn(`scrollIntoView: container not found for selector "${v}"`);return}const x=_.getBoundingClientRect(),L=A.getBoundingClientRect(),M=x.top-L.top+A.scrollTop,k=M+x.height;let O;switch(c){case"start":O=M;break;case"center":O=M-A.clientHeight/2+x.height/2;break;case"end":O=k-A.clientHeight;break;default:const B=x.topa=>{e.forEach(i=>i(a))},e)}const oc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ds(s){const e=Object.prototype.toString.call(s);return e==="[object Window]"||e==="[object global]"}function sf(s){return"nodeType"in s}function Mn(s){var e,n;return s?ds(s)?s:sf(s)&&(e=(n=s.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function of(s){const{Document:e}=Mn(s);return s instanceof e}function So(s){return ds(s)?!1:s instanceof Mn(s).HTMLElement}function Bm(s){return s instanceof Mn(s).SVGElement}function fs(s){return s?ds(s)?s.document:sf(s)?of(s)?s:So(s)||Bm(s)?s.ownerDocument:document:document:document}const Ur=oc?N.useLayoutEffect:N.useEffect;function lf(s){const e=N.useRef(s);return Ur(()=>{e.current=s}),N.useCallback(function(){for(var n=arguments.length,a=new Array(n),i=0;ia=>{e.forEach(i=>i(a))},e)}const lc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ds(s){const e=Object.prototype.toString.call(s);return e==="[object Window]"||e==="[object global]"}function sf(s){return"nodeType"in s}function Mn(s){var e,n;return s?ds(s)?s:sf(s)&&(e=(n=s.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function of(s){const{Document:e}=Mn(s);return s instanceof e}function So(s){return ds(s)?!1:s instanceof Mn(s).HTMLElement}function Bm(s){return s instanceof Mn(s).SVGElement}function fs(s){return s?ds(s)?s.document:sf(s)?of(s)?s:So(s)||Bm(s)?s.ownerDocument:document:document:document}const Ur=lc?N.useLayoutEffect:N.useEffect;function lf(s){const e=N.useRef(s);return Ur(()=>{e.current=s}),N.useCallback(function(){for(var n=arguments.length,a=new Array(n),i=0;i[...e].filter(a=>a!=null),[...e])}const Er=Object.freeze({x:0,y:0});function Km(s,e){return Math.sqrt(Math.pow(s.x-e.x,2)+Math.pow(s.y-e.y,2))}function Wm(s,e){let{data:{value:n}}=s,{data:{value:a}}=e;return n-a}function _E(s,e){let{data:{value:n}}=s,{data:{value:a}}=e;return a-n}function Ym(s){let{left:e,top:n,height:a,width:i}=s;return[{x:e,y:n},{x:e+i,y:n},{x:e,y:n+a},{x:e+i,y:n+a}]}function Xm(s,e){if(!s||s.length===0)return null;const[n]=s;return n[e]}function Jm(s,e,n){return e===void 0&&(e=s.left),n===void 0&&(n=s.top),{x:e+s.width*.5,y:n+s.height*.5}}const AE=s=>{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=Jm(e,e.left,e.top),l=[];for(const c of a){const{id:d}=c,f=n.get(d);if(f){const h=Km(Jm(f),i);l.push({id:d,data:{droppableContainer:c,value:h}})}}return l.sort(Wm)},xE=s=>{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=Ym(e),l=[];for(const c of a){const{id:d}=c,f=n.get(d);if(f){const h=Ym(f),m=i.reduce((S,v,_)=>S+Km(h[_],v),0),b=Number((m/4).toFixed(4));l.push({id:d,data:{droppableContainer:c,value:b}})}}return l.sort(Wm)};function TE(s,e){const n=Math.max(e.top,s.top),a=Math.max(e.left,s.left),i=Math.min(e.left+e.width,s.left+s.width),l=Math.min(e.top+e.height,s.top+s.height),c=i-a,d=l-n;if(a{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=[];for(const l of a){const{id:c}=l,d=n.get(c);if(d){const f=TE(d,e);f>0&&i.push({id:c,data:{droppableContainer:l,value:f}})}}return i.sort(_E)};function RE(s,e,n){return{...s,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function Qm(s,e){return s&&e?{x:s.left-e.left,y:s.top-e.top}:Er}function DE(s){return function(n){for(var a=arguments.length,i=new Array(a>1?a-1:0),l=1;l({...c,top:c.top+s*d.y,bottom:c.bottom+s*d.y,left:c.left+s*d.x,right:c.right+s*d.x}),{...n})}}const OE=DE(1);function LE(s){if(s.startsWith("matrix3d(")){const e=s.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(s.startsWith("matrix(")){const e=s.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function ME(s,e,n){const a=LE(e);if(!a)return s;const{scaleX:i,scaleY:l,x:c,y:d}=a,f=s.left-c-(1-i)*parseFloat(n),h=s.top-d-(1-l)*parseFloat(n.slice(n.indexOf(" ")+1)),m=i?s.width/i:s.width,b=l?s.height/l:s.height;return{width:m,height:b,top:h,right:f+m,bottom:h+b,left:f}}const $E={ignoreTransform:!1};function ps(s,e){e===void 0&&(e=$E);let n=s.getBoundingClientRect();if(e.ignoreTransform){const{transform:h,transformOrigin:m}=Mn(s).getComputedStyle(s);h&&(n=ME(n,h,m))}const{top:a,left:i,width:l,height:c,bottom:d,right:f}=n;return{top:a,left:i,width:l,height:c,bottom:d,right:f}}function Zm(s){return ps(s,{ignoreTransform:!0})}function NE(s){const e=s.innerWidth,n=s.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function IE(s,e){return e===void 0&&(e=Mn(s).getComputedStyle(s)),e.position==="fixed"}function jE(s,e){e===void 0&&(e=Mn(s).getComputedStyle(s));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const l=e[i];return typeof l=="string"?n.test(l):!1})}function uc(s,e){const n=[];function a(i){if(e!=null&&n.length>=e||!i)return n;if(of(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!So(i)||Bm(i)||n.includes(i))return n;const l=Mn(s).getComputedStyle(i);return i!==s&&jE(i,l)&&n.push(i),IE(i,l)?n:a(i.parentNode)}return s?a(s):n}function ey(s){const[e]=uc(s,1);return e??null}function hf(s){return!oc||!s?null:ds(s)?s:sf(s)?of(s)||s===fs(s).scrollingElement?window:So(s)?s:null:null}function ty(s){return ds(s)?s.scrollX:s.scrollLeft}function ny(s){return ds(s)?s.scrollY:s.scrollTop}function pf(s){return{x:ty(s),y:ny(s)}}var dn;(function(s){s[s.Forward=1]="Forward",s[s.Backward=-1]="Backward"})(dn||(dn={}));function ry(s){return!oc||!s?!1:s===document.scrollingElement}function ay(s){const e={x:0,y:0},n=ry(s)?{height:window.innerHeight,width:window.innerWidth}:{height:s.clientHeight,width:s.clientWidth},a={x:s.scrollWidth-n.width,y:s.scrollHeight-n.height},i=s.scrollTop<=e.y,l=s.scrollLeft<=e.x,c=s.scrollTop>=a.y,d=s.scrollLeft>=a.x;return{isTop:i,isLeft:l,isBottom:c,isRight:d,maxScroll:a,minScroll:e}}const HE={x:.2,y:.2};function zE(s,e,n,a,i){let{top:l,left:c,right:d,bottom:f}=n;a===void 0&&(a=10),i===void 0&&(i=HE);const{isTop:h,isBottom:m,isLeft:b,isRight:S}=ay(s),v={x:0,y:0},_={x:0,y:0},A={height:e.height*i.y,width:e.width*i.x};return!h&&l<=e.top+A.height?(v.y=dn.Backward,_.y=a*Math.abs((e.top+A.height-l)/A.height)):!m&&f>=e.bottom-A.height&&(v.y=dn.Forward,_.y=a*Math.abs((e.bottom-A.height-f)/A.height)),!S&&d>=e.right-A.width?(v.x=dn.Forward,_.x=a*Math.abs((e.right-A.width-d)/A.width)):!b&&c<=e.left+A.width&&(v.x=dn.Backward,_.x=a*Math.abs((e.left+A.width-c)/A.width)),{direction:v,speed:_}}function UE(s){if(s===document.scrollingElement){const{innerWidth:l,innerHeight:c}=window;return{top:0,left:0,right:l,bottom:c,width:l,height:c}}const{top:e,left:n,right:a,bottom:i}=s.getBoundingClientRect();return{top:e,left:n,right:a,bottom:i,width:s.clientWidth,height:s.clientHeight}}function iy(s){return s.reduce((e,n)=>hs(e,pf(n)),Er)}function PE(s){return s.reduce((e,n)=>e+ty(n),0)}function BE(s){return s.reduce((e,n)=>e+ny(n),0)}function qE(s,e){if(e===void 0&&(e=ps),!s)return;const{top:n,left:a,bottom:i,right:l}=e(s);ey(s)&&(i<=0||l<=0||n>=window.innerHeight||a>=window.innerWidth)&&s.scrollIntoView({block:"center",inline:"center"})}const GE=[["x",["left","right"],PE],["y",["top","bottom"],BE]];class gf{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const a=uc(n),i=iy(a);this.rect={...e},this.width=e.width,this.height=e.height;for(const[l,c,d]of GE)for(const f of c)Object.defineProperty(this,f,{get:()=>{const h=d(a),m=i[l]-h;return this.rect[f]+m},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class xo{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var a;return(a=this.target)==null?void 0:a.removeEventListener(...n)})},this.target=e}add(e,n,a){var i;(i=this.target)==null||i.addEventListener(e,n,a),this.listeners.push([e,n,a])}}function VE(s){const{EventTarget:e}=Mn(s);return s instanceof e?s:fs(s)}function mf(s,e){const n=Math.abs(s.x),a=Math.abs(s.y);return typeof e=="number"?Math.sqrt(n**2+a**2)>e:"x"in e&&"y"in e?n>e.x&&a>e.y:"x"in e?n>e.x:"y"in e?a>e.y:!1}var ar;(function(s){s.Click="click",s.DragStart="dragstart",s.Keydown="keydown",s.ContextMenu="contextmenu",s.Resize="resize",s.SelectionChange="selectionchange",s.VisibilityChange="visibilitychange"})(ar||(ar={}));function sy(s){s.preventDefault()}function FE(s){s.stopPropagation()}var lt;(function(s){s.Space="Space",s.Down="ArrowDown",s.Right="ArrowRight",s.Left="ArrowLeft",s.Up="ArrowUp",s.Esc="Escape",s.Enter="Enter",s.Tab="Tab"})(lt||(lt={}));const oy={start:[lt.Space,lt.Enter],cancel:[lt.Esc],end:[lt.Space,lt.Enter,lt.Tab]},KE=(s,e)=>{let{currentCoordinates:n}=e;switch(s.code){case lt.Right:return{...n,x:n.x+25};case lt.Left:return{...n,x:n.x-25};case lt.Down:return{...n,y:n.y+25};case lt.Up:return{...n,y:n.y-25}}};class yf{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new xo(fs(n)),this.windowListeners=new xo(Mn(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ar.Resize,this.handleCancel),this.windowListeners.add(ar.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ar.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,a=e.node.current;a&&qE(a),n(Er)}handleKeyDown(e){if(df(e)){const{active:n,context:a,options:i}=this.props,{keyboardCodes:l=oy,coordinateGetter:c=KE,scrollBehavior:d="smooth"}=i,{code:f}=e;if(l.end.includes(f)){this.handleEnd(e);return}if(l.cancel.includes(f)){this.handleCancel(e);return}const{collisionRect:h}=a.current,m=h?{x:h.left,y:h.top}:Er;this.referenceCoordinates||(this.referenceCoordinates=m);const b=c(e,{active:n,context:a.current,currentCoordinates:m});if(b){const S=_o(b,m),v={x:0,y:0},{scrollableAncestors:_}=a.current;for(const A of _){const x=e.code,{isTop:L,isRight:M,isLeft:k,isBottom:O,maxScroll:B,minScroll:G}=ay(A),P=UE(A),W={x:Math.min(x===lt.Right?P.right-P.width/2:P.right,Math.max(x===lt.Right?P.left:P.left+P.width/2,b.x)),y:Math.min(x===lt.Down?P.bottom-P.height/2:P.bottom,Math.max(x===lt.Down?P.top:P.top+P.height/2,b.y))},pe=x===lt.Right&&!M||x===lt.Left&&!k,Se=x===lt.Down&&!O||x===lt.Up&&!L;if(pe&&W.x!==b.x){const we=A.scrollLeft+S.x,Ue=x===lt.Right&&we<=B.x||x===lt.Left&&we>=G.x;if(Ue&&!S.y){A.scrollTo({left:we,behavior:d});return}Ue?v.x=A.scrollLeft-we:v.x=x===lt.Right?A.scrollLeft-B.x:A.scrollLeft-G.x,v.x&&A.scrollBy({left:-v.x,behavior:d});break}else if(Se&&W.y!==b.y){const we=A.scrollTop+S.y,Ue=x===lt.Down&&we<=B.y||x===lt.Up&&we>=G.y;if(Ue&&!S.x){A.scrollTo({top:we,behavior:d});return}Ue?v.y=A.scrollTop-we:v.y=x===lt.Down?A.scrollTop-B.y:A.scrollTop-G.y,v.y&&A.scrollBy({top:-v.y,behavior:d});break}}this.handleMove(e,hs(_o(b,this.referenceCoordinates),v))}}}handleMove(e,n){const{onMove:a}=this.props;e.preventDefault(),a(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}yf.activators=[{eventName:"onKeyDown",handler:(s,e,n)=>{let{keyboardCodes:a=oy,onActivation:i}=e,{active:l}=n;const{code:c}=s.nativeEvent;if(a.start.includes(c)){const d=l.activatorNode.current;return d&&s.target!==d?!1:(s.preventDefault(),i?.({event:s.nativeEvent}),!0)}return!1}}];function ly(s){return!!(s&&"distance"in s)}function cy(s){return!!(s&&"delay"in s)}class bf{constructor(e,n,a){var i;a===void 0&&(a=VE(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:l}=e,{target:c}=l;this.props=e,this.events=n,this.document=fs(c),this.documentListeners=new xo(this.document),this.listeners=new xo(a),this.windowListeners=new xo(Mn(c)),this.initialCoordinates=(i=ff(l))!=null?i:Er,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:a}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ar.Resize,this.handleCancel),this.windowListeners.add(ar.DragStart,sy),this.windowListeners.add(ar.VisibilityChange,this.handleCancel),this.windowListeners.add(ar.ContextMenu,sy),this.documentListeners.add(ar.Keydown,this.handleKeydown),n){if(a!=null&&a({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(cy(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(ly(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:a,onPending:i}=this.props;i(a,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(ar.Click,FE,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ar.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:a,initialCoordinates:i,props:l}=this,{onMove:c,options:{activationConstraint:d}}=l;if(!i)return;const f=(n=ff(e))!=null?n:Er,h=_o(i,f);if(!a&&d){if(ly(d)){if(d.tolerance!=null&&mf(h,d.tolerance))return this.handleCancel();if(mf(h,d.distance))return this.handleStart()}if(cy(d)&&mf(h,d.tolerance))return this.handleCancel();this.handlePending(d,h);return}e.cancelable&&e.preventDefault(),c(f)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===lt.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const WE={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class vf extends bf{constructor(e){const{event:n}=e,a=fs(n.target);super(e,WE,a)}}vf.activators=[{eventName:"onPointerDown",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;return!n.isPrimary||n.button!==0?!1:(a?.({event:n}),!0)}}];const YE={move:{name:"mousemove"},end:{name:"mouseup"}};var Sf;(function(s){s[s.RightClick=2]="RightClick"})(Sf||(Sf={}));class XE extends bf{constructor(e){super(e,YE,fs(e.event.target))}}XE.activators=[{eventName:"onMouseDown",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;return n.button===Sf.RightClick?!1:(a?.({event:n}),!0)}}];const wf={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class JE extends bf{constructor(e){super(e,wf)}static setup(){return window.addEventListener(wf.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(wf.move.name,e)};function e(){}}}JE.activators=[{eventName:"onTouchStart",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;const{touches:i}=n;return i.length>1?!1:(a?.({event:n}),!0)}}];var To;(function(s){s[s.Pointer=0]="Pointer",s[s.DraggableRect=1]="DraggableRect"})(To||(To={}));var dc;(function(s){s[s.TreeOrder=0]="TreeOrder",s[s.ReversedTreeOrder=1]="ReversedTreeOrder"})(dc||(dc={}));function QE(s){let{acceleration:e,activator:n=To.Pointer,canScroll:a,draggingRect:i,enabled:l,interval:c=5,order:d=dc.TreeOrder,pointerCoordinates:f,scrollableAncestors:h,scrollableAncestorRects:m,delta:b,threshold:S}=s;const v=e_({delta:b,disabled:!l}),[_,A]=uE(),x=N.useRef({x:0,y:0}),L=N.useRef({x:0,y:0}),M=N.useMemo(()=>{switch(n){case To.Pointer:return f?{top:f.y,bottom:f.y,left:f.x,right:f.x}:null;case To.DraggableRect:return i}},[n,i,f]),k=N.useRef(null),O=N.useCallback(()=>{const G=k.current;if(!G)return;const P=x.current.x*L.current.x,W=x.current.y*L.current.y;G.scrollBy(P,W)},[]),B=N.useMemo(()=>d===dc.TreeOrder?[...h].reverse():h,[d,h]);N.useEffect(()=>{if(!l||!h.length||!M){A();return}for(const G of B){if(a?.(G)===!1)continue;const P=h.indexOf(G),W=m[P];if(!W)continue;const{direction:pe,speed:Se}=zE(G,W,M,e,S);for(const we of["x","y"])v[we][pe[we]]||(Se[we]=0,pe[we]=0);if(Se.x>0||Se.y>0){A(),k.current=G,_(O,c),x.current=Se,L.current=pe;return}}x.current={x:0,y:0},L.current={x:0,y:0},A()},[e,O,a,A,l,c,JSON.stringify(M),JSON.stringify(v),_,h,B,m,JSON.stringify(S)])}const ZE={x:{[dn.Backward]:!1,[dn.Forward]:!1},y:{[dn.Backward]:!1,[dn.Forward]:!1}};function e_(s){let{delta:e,disabled:n}=s;const a=cf(e);return Co(i=>{if(n||!a||!i)return ZE;const l={x:Math.sign(e.x-a.x),y:Math.sign(e.y-a.y)};return{x:{[dn.Backward]:i.x[dn.Backward]||l.x===-1,[dn.Forward]:i.x[dn.Forward]||l.x===1},y:{[dn.Backward]:i.y[dn.Backward]||l.y===-1,[dn.Forward]:i.y[dn.Forward]||l.y===1}}},[n,e,a])}function t_(s,e){const n=e!=null?s.get(e):void 0,a=n?n.node.current:null;return Co(i=>{var l;return e==null?null:(l=a??i)!=null?l:null},[a,e])}function n_(s,e){return N.useMemo(()=>s.reduce((n,a)=>{const{sensor:i}=a,l=i.activators.map(c=>({eventName:c.eventName,handler:e(c.handler,a)}));return[...n,...l]},[]),[s,e])}var ko;(function(s){s[s.Always=0]="Always",s[s.BeforeDragging=1]="BeforeDragging",s[s.WhileDragging=2]="WhileDragging"})(ko||(ko={}));var Cf;(function(s){s.Optimized="optimized"})(Cf||(Cf={}));const uy=new Map;function r_(s,e){let{dragging:n,dependencies:a,config:i}=e;const[l,c]=N.useState(null),{frequency:d,measure:f,strategy:h}=i,m=N.useRef(s),b=x(),S=wo(b),v=N.useCallback(function(L){L===void 0&&(L=[]),!S.current&&c(M=>M===null?L:M.concat(L.filter(k=>!M.includes(k))))},[S]),_=N.useRef(null),A=Co(L=>{if(b&&!n)return uy;if(!L||L===uy||m.current!==s||l!=null){const M=new Map;for(let k of s){if(!k)continue;if(l&&l.length>0&&!l.includes(k.id)&&k.rect.current){M.set(k.id,k.rect.current);continue}const O=k.node.current,B=O?new gf(f(O),O):null;k.rect.current=B,B&&M.set(k.id,B)}return M}return L},[s,l,n,b,f]);return N.useEffect(()=>{m.current=s},[s]),N.useEffect(()=>{b||v()},[n,b]),N.useEffect(()=>{l&&l.length>0&&c(null)},[JSON.stringify(l)]),N.useEffect(()=>{b||typeof d!="number"||_.current!==null||(_.current=setTimeout(()=>{v(),_.current=null},d))},[d,b,v,...a]),{droppableRects:A,measureDroppableContainers:v,measuringScheduled:l!=null};function x(){switch(h){case ko.Always:return!1;case ko.BeforeDragging:return n;default:return!n}}}function dy(s,e){return Co(n=>s?n||(typeof e=="function"?e(s):s):null,[e,s])}function a_(s,e){return dy(s,e)}function i_(s){let{callback:e,disabled:n}=s;const a=lf(e),i=N.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:l}=window;return new l(a)},[a,n]);return N.useEffect(()=>()=>i?.disconnect(),[i]),i}function fc(s){let{callback:e,disabled:n}=s;const a=lf(e),i=N.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:l}=window;return new l(a)},[n]);return N.useEffect(()=>()=>i?.disconnect(),[i]),i}function s_(s){return new gf(ps(s),s)}function fy(s,e,n){e===void 0&&(e=s_);const[a,i]=N.useState(null);function l(){i(f=>{if(!s)return null;if(s.isConnected===!1){var h;return(h=f??n)!=null?h:null}const m=e(s);return JSON.stringify(f)===JSON.stringify(m)?f:m})}const c=i_({callback(f){if(s)for(const h of f){const{type:m,target:b}=h;if(m==="childList"&&b instanceof HTMLElement&&b.contains(s)){l();break}}}}),d=fc({callback:l});return Ur(()=>{l(),s?(d?.observe(s),c?.observe(document.body,{childList:!0,subtree:!0})):(d?.disconnect(),c?.disconnect())},[s]),a}function o_(s){const e=dy(s);return Qm(s,e)}const hy=[];function l_(s){const e=N.useRef(s),n=Co(a=>s?a&&a!==hy&&s&&e.current&&s.parentNode===e.current.parentNode?a:uc(s):hy,[s]);return N.useEffect(()=>{e.current=s},[s]),n}function c_(s){const[e,n]=N.useState(null),a=N.useRef(s),i=N.useCallback(l=>{const c=hf(l.target);c&&n(d=>d?(d.set(c,pf(c)),new Map(d)):null)},[]);return N.useEffect(()=>{const l=a.current;if(s!==l){c(l);const d=s.map(f=>{const h=hf(f);return h?(h.addEventListener("scroll",i,{passive:!0}),[h,pf(h)]):null}).filter(f=>f!=null);n(d.length?new Map(d):null),a.current=s}return()=>{c(s),c(l)};function c(d){d.forEach(f=>{const h=hf(f);h?.removeEventListener("scroll",i)})}},[i,s]),N.useMemo(()=>s.length?e?Array.from(e.values()).reduce((l,c)=>hs(l,c),Er):iy(s):Er,[s,e])}function py(s,e){e===void 0&&(e=[]);const n=N.useRef(null);return N.useEffect(()=>{n.current=null},e),N.useEffect(()=>{const a=s!==Er;a&&!n.current&&(n.current=s),!a&&n.current&&(n.current=null)},[s]),n.current?_o(s,n.current):Er}function u_(s){N.useEffect(()=>{if(!oc)return;const e=s.map(n=>{let{sensor:a}=n;return a.setup==null?void 0:a.setup()});return()=>{for(const n of e)n?.()}},s.map(e=>{let{sensor:n}=e;return n}))}function d_(s,e){return N.useMemo(()=>s.reduce((n,a)=>{let{eventName:i,handler:l}=a;return n[i]=c=>{l(c,e)},n},{}),[s,e])}function gy(s){return N.useMemo(()=>s?NE(s):null,[s])}const my=[];function f_(s,e){e===void 0&&(e=ps);const[n]=s,a=gy(n?Mn(n):null),[i,l]=N.useState(my);function c(){l(()=>s.length?s.map(f=>ry(f)?a:new gf(e(f),f)):my)}const d=fc({callback:c});return Ur(()=>{d?.disconnect(),c(),s.forEach(f=>d?.observe(f))},[s]),i}function h_(s){if(!s)return null;if(s.children.length>1)return s;const e=s.children[0];return So(e)?e:s}function p_(s){let{measure:e}=s;const[n,a]=N.useState(null),i=N.useCallback(h=>{for(const{target:m}of h)if(So(m)){a(b=>{const S=e(m);return b?{...b,width:S.width,height:S.height}:S});break}},[e]),l=fc({callback:i}),c=N.useCallback(h=>{const m=h_(h);l?.disconnect(),m&&l?.observe(m),a(m?e(m):null)},[e,l]),[d,f]=lc(c);return N.useMemo(()=>({nodeRef:d,rect:n,setRef:f}),[n,d,f])}const g_=[{sensor:vf,options:{}},{sensor:yf,options:{}}],m_={current:{}},hc={draggable:{measure:Zm},droppable:{measure:Zm,strategy:ko.WhileDragging,frequency:Cf.Optimized},dragOverlay:{measure:ps}};class Ro extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,a;return(n=(a=this.get(e))==null?void 0:a.node.current)!=null?n:void 0}}const y_={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ro,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:cc},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:hc,measureDroppableContainers:cc,windowRect:null,measuringScheduled:!1},b_={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:cc,draggableNodes:new Map,over:null,measureDroppableContainers:cc},pc=N.createContext(b_),yy=N.createContext(y_);function v_(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ro}}}function S_(s,e){switch(e.type){case nn.DragStart:return{...s,draggable:{...s.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case nn.DragMove:return s.draggable.active==null?s:{...s,draggable:{...s.draggable,translate:{x:e.coordinates.x-s.draggable.initialCoordinates.x,y:e.coordinates.y-s.draggable.initialCoordinates.y}}};case nn.DragEnd:case nn.DragCancel:return{...s,draggable:{...s.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=e,{id:a}=n,i=new Ro(s.droppable.containers);return i.set(a,n),{...s,droppable:{...s.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:a,disabled:i}=e,l=s.droppable.containers.get(n);if(!l||a!==l.key)return s;const c=new Ro(s.droppable.containers);return c.set(n,{...l,disabled:i}),{...s,droppable:{...s.droppable,containers:c}}}case nn.UnregisterDroppable:{const{id:n,key:a}=e,i=s.droppable.containers.get(n);if(!i||a!==i.key)return s;const l=new Ro(s.droppable.containers);return l.delete(n),{...s,droppable:{...s.droppable,containers:l}}}default:return s}}function w_(s){let{disabled:e}=s;const{active:n,activatorEvent:a,draggableNodes:i}=N.useContext(pc),l=cf(a),c=cf(n?.id);return N.useEffect(()=>{if(!e&&!a&&l&&c!=null){if(!df(l)||document.activeElement===l.target)return;const d=i.get(c);if(!d)return;const{activatorNode:f,node:h}=d;if(!f.current&&!h.current)return;requestAnimationFrame(()=>{for(const m of[f.current,h.current]){if(!m)continue;const b=hE(m);if(b){b.focus();break}}})}},[a,e,i,c,l]),null}function C_(s,e){let{transform:n,...a}=e;return s!=null&&s.length?s.reduce((i,l)=>l({transform:i,...a}),n):n}function E_(s){return N.useMemo(()=>({draggable:{...hc.draggable,...s?.draggable},droppable:{...hc.droppable,...s?.droppable},dragOverlay:{...hc.dragOverlay,...s?.dragOverlay}}),[s?.draggable,s?.droppable,s?.dragOverlay])}function __(s){let{activeNode:e,measure:n,initialRect:a,config:i=!0}=s;const l=N.useRef(!1),{x:c,y:d}=typeof i=="boolean"?{x:i,y:i}:i;Ur(()=>{if(!c&&!d||!e){l.current=!1;return}if(l.current||!a)return;const h=e?.node.current;if(!h||h.isConnected===!1)return;const m=n(h),b=Qm(m,a);if(c||(b.x=0),d||(b.y=0),l.current=!0,Math.abs(b.x)>0||Math.abs(b.y)>0){const S=ey(h);S&&S.scrollBy({top:b.y,left:b.x})}},[e,c,d,a,n])}const by=N.createContext({...Er,scaleX:1,scaleY:1});var La;(function(s){s[s.Uninitialized=0]="Uninitialized",s[s.Initializing=1]="Initializing",s[s.Initialized=2]="Initialized"})(La||(La={}));const A_=N.memo(function(e){var n,a,i,l;let{id:c,accessibility:d,autoScroll:f=!0,children:h,sensors:m=g_,collisionDetection:b=kE,measuring:S,modifiers:v,..._}=e;const A=N.useReducer(S_,void 0,v_),[x,L]=A,[M,k]=vE(),[O,B]=N.useState(La.Uninitialized),G=O===La.Initialized,{draggable:{active:P,nodes:W,translate:pe},droppable:{containers:Se}}=x,we=P!=null?W.get(P):null,Ue=N.useRef({initial:null,translated:null}),Ve=N.useMemo(()=>{var he;return P!=null?{id:P,data:(he=we?.data)!=null?he:m_,rect:Ue}:null},[P,we]),qe=N.useRef(null),[wt,J]=N.useState(null),[fe,Le]=N.useState(null),Z=wo(_,Object.values(_)),ge=Eo("DndDescribedBy",c),H=N.useMemo(()=>Se.getEnabled(),[Se]),T=E_(S),{droppableRects:ce,measureDroppableContainers:de,measuringScheduled:ye}=r_(H,{dragging:G,dependencies:[pe.x,pe.y],config:T.droppable}),ie=t_(W,P),xe=N.useMemo(()=>fe?ff(fe):null,[fe]),_e=ve(),Te=a_(ie,T.draggable.measure);__({activeNode:P!=null?W.get(P):null,config:_e.layoutShiftCompensation,initialRect:Te,measure:T.draggable.measure});const $e=fy(ie,T.draggable.measure,Te),pt=fy(ie?ie.parentElement:null),Ct=N.useRef({activatorEvent:null,active:null,activeNode:ie,collisionRect:null,collisions:null,droppableRects:ce,draggableNodes:W,draggingNode:null,draggingNodeRect:null,droppableContainers:Se,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Dt=Se.getNodeFor((n=Ct.current.over)==null?void 0:n.id),ht=p_({measure:T.dragOverlay.measure}),rn=(a=ht.nodeRef.current)!=null?a:ie,Kt=G?(i=ht.rect)!=null?i:$e:null,It=!!(ht.nodeRef.current&&ht.rect),qr=o_(It?null:$e),hn=gy(rn?Mn(rn):null),an=l_(G?Dt??ie:null),pn=f_(an),Kn=C_(v,{transform:{x:pe.x-qr.x,y:pe.y-qr.y,scaleX:1,scaleY:1},activatorEvent:fe,active:Ve,activeNodeRect:$e,containerNodeRect:pt,draggingNodeRect:Kt,over:Ct.current.over,overlayNodeRect:ht.rect,scrollableAncestors:an,scrollableAncestorRects:pn,windowRect:hn}),Gr=xe?hs(xe,pe):null,qt=c_(an),_i=py(qt),aa=py(qt,[$e]),gn=hs(Kn,_i),Rn=Kt?OE(Kt,Kn):null,nt=Ve&&Rn?b({active:Ve,collisionRect:Rn,droppableRects:ce,droppableContainers:H,pointerCoordinates:Gr}):null,Nn=Xm(nt,"id"),[mn,ia]=N.useState(null),or=It?Kn:hs(Kn,aa),sn=RE(or,(l=mn?.rect)!=null?l:null,$e),_n=N.useRef(null),on=N.useCallback((he,Ee)=>{let{sensor:Ae,options:Fe}=Ee;if(qe.current==null)return;const ke=W.get(qe.current);if(!ke)return;const Ne=he.nativeEvent,Re=new Ae({active:qe.current,activeNode:ke,event:Ne,options:Fe,context:Ct,onAbort(He){if(!W.get(He))return;const{onDragAbort:Ce}=Z.current,je={id:He};Ce?.(je),M({type:"onDragAbort",event:je})},onPending(He,Ge,Ce,je){if(!W.get(He))return;const{onDragPending:At}=Z.current,Mt={id:He,constraint:Ge,initialCoordinates:Ce,offset:je};At?.(Mt),M({type:"onDragPending",event:Mt})},onStart(He){const Ge=qe.current;if(Ge==null)return;const Ce=W.get(Ge);if(!Ce)return;const{onDragStart:je}=Z.current,tt={activatorEvent:Ne,active:{id:Ge,data:Ce.data,rect:Ue}};Oa.unstable_batchedUpdates(()=>{je?.(tt),B(La.Initializing),L({type:nn.DragStart,initialCoordinates:He,active:Ge}),M({type:"onDragStart",event:tt}),J(_n.current),Le(Ne)})},onMove(He){L({type:nn.DragMove,coordinates:He})},onEnd:et(nn.DragEnd),onCancel:et(nn.DragCancel)});_n.current=Re;function et(He){return async function(){const{active:Ce,collisions:je,over:tt,scrollAdjustedTranslate:At}=Ct.current;let Mt=null;if(Ce&&At){const{cancelDrop:Dn}=Z.current;Mt={activatorEvent:Ne,active:Ce,collisions:je,delta:At,over:tt},He===nn.DragEnd&&typeof Dn=="function"&&await Promise.resolve(Dn(Mt))&&(He=nn.DragCancel)}qe.current=null,Oa.unstable_batchedUpdates(()=>{L({type:He}),B(La.Uninitialized),ia(null),J(null),Le(null),_n.current=null;const Dn=He===nn.DragEnd?"onDragEnd":"onDragCancel";if(Mt){const jt=Z.current[Dn];jt?.(Mt),M({type:Dn,event:Mt})}})}}},[W]),V=N.useCallback((he,Ee)=>(Ae,Fe)=>{const ke=Ae.nativeEvent,Ne=W.get(Fe);if(qe.current!==null||!Ne||ke.dndKit||ke.defaultPrevented)return;const Re={active:Ne};he(Ae,Ee.options,Re)===!0&&(ke.dndKit={capturedBy:Ee.sensor},qe.current=Fe,on(Ae,Ee))},[W,on]),se=n_(m,V);u_(m),Ur(()=>{$e&&O===La.Initializing&&B(La.Initialized)},[$e,O]),N.useEffect(()=>{const{onDragMove:he}=Z.current,{active:Ee,activatorEvent:Ae,collisions:Fe,over:ke}=Ct.current;if(!Ee||!Ae)return;const Ne={active:Ee,activatorEvent:Ae,collisions:Fe,delta:{x:gn.x,y:gn.y},over:ke};Oa.unstable_batchedUpdates(()=>{he?.(Ne),M({type:"onDragMove",event:Ne})})},[gn.x,gn.y]),N.useEffect(()=>{const{active:he,activatorEvent:Ee,collisions:Ae,droppableContainers:Fe,scrollAdjustedTranslate:ke}=Ct.current;if(!he||qe.current==null||!Ee||!ke)return;const{onDragOver:Ne}=Z.current,Re=Fe.get(Nn),et=Re&&Re.rect.current?{id:Re.id,rect:Re.rect.current,data:Re.data,disabled:Re.disabled}:null,He={active:he,activatorEvent:Ee,collisions:Ae,delta:{x:ke.x,y:ke.y},over:et};Oa.unstable_batchedUpdates(()=>{ia(et),Ne?.(He),M({type:"onDragOver",event:He})})},[Nn]),Ur(()=>{Ct.current={activatorEvent:fe,active:Ve,activeNode:ie,collisionRect:Rn,collisions:nt,droppableRects:ce,draggableNodes:W,draggingNode:rn,draggingNodeRect:Kt,droppableContainers:Se,over:mn,scrollableAncestors:an,scrollAdjustedTranslate:gn},Ue.current={initial:Kt,translated:Rn}},[Ve,ie,nt,Rn,W,rn,Kt,ce,Se,mn,an,gn]),QE({..._e,delta:pe,draggingRect:Rn,pointerCoordinates:Gr,scrollableAncestors:an,scrollableAncestorRects:pn});const ue=N.useMemo(()=>({active:Ve,activeNode:ie,activeNodeRect:$e,activatorEvent:fe,collisions:nt,containerNodeRect:pt,dragOverlay:ht,draggableNodes:W,droppableContainers:Se,droppableRects:ce,over:mn,measureDroppableContainers:de,scrollableAncestors:an,scrollableAncestorRects:pn,measuringConfiguration:T,measuringScheduled:ye,windowRect:hn}),[Ve,ie,$e,fe,nt,pt,ht,W,Se,ce,mn,de,an,pn,T,ye,hn]),ee=N.useMemo(()=>({activatorEvent:fe,activators:se,active:Ve,activeNodeRect:$e,ariaDescribedById:{draggable:ge},dispatch:L,draggableNodes:W,over:mn,measureDroppableContainers:de}),[fe,se,Ve,$e,L,ge,W,mn,de]);return Ye.createElement(Vm.Provider,{value:k},Ye.createElement(pc.Provider,{value:ee},Ye.createElement(yy.Provider,{value:ue},Ye.createElement(by.Provider,{value:sn},h)),Ye.createElement(w_,{disabled:d?.restoreFocus===!1})),Ye.createElement(CE,{...d,hiddenTextDescribedById:ge}));function ve(){const he=wt?.autoScrollEnabled===!1,Ee=typeof f=="object"?f.enabled===!1:f===!1,Ae=G&&!he&&!Ee;return typeof f=="object"?{...f,enabled:Ae}:{enabled:Ae}}}),x_=N.createContext(null),vy="button",T_="Draggable";function k_(s){let{id:e,data:n,disabled:a=!1,attributes:i}=s;const l=Eo(T_),{activators:c,activatorEvent:d,active:f,activeNodeRect:h,ariaDescribedById:m,draggableNodes:b,over:S}=N.useContext(pc),{role:v=vy,roleDescription:_="draggable",tabIndex:A=0}=i??{},x=f?.id===e,L=N.useContext(x?by:x_),[M,k]=lc(),[O,B]=lc(),G=d_(c,e),P=wo(n);Ur(()=>(b.set(e,{id:e,key:l,node:M,activatorNode:O,data:P}),()=>{const pe=b.get(e);pe&&pe.key===l&&b.delete(e)}),[b,e]);const W=N.useMemo(()=>({role:v,tabIndex:A,"aria-disabled":a,"aria-pressed":x&&v===vy?!0:void 0,"aria-roledescription":_,"aria-describedby":m.draggable}),[a,v,A,x,_,m.draggable]);return{active:f,activatorEvent:d,activeNodeRect:h,attributes:W,isDragging:x,listeners:a?void 0:G,node:M,over:S,setNodeRef:k,setActivatorNodeRef:B,transform:L}}function R_(){return N.useContext(yy)}const D_="Droppable",O_={timeout:25};function L_(s){let{data:e,disabled:n=!1,id:a,resizeObserverConfig:i}=s;const l=Eo(D_),{active:c,dispatch:d,over:f,measureDroppableContainers:h}=N.useContext(pc),m=N.useRef({disabled:n}),b=N.useRef(!1),S=N.useRef(null),v=N.useRef(null),{disabled:_,updateMeasurementsFor:A,timeout:x}={...O_,...i},L=wo(A??a),M=N.useCallback(()=>{if(!b.current){b.current=!0;return}v.current!=null&&clearTimeout(v.current),v.current=setTimeout(()=>{h(Array.isArray(L.current)?L.current:[L.current]),v.current=null},x)},[x]),k=fc({callback:M,disabled:_||!c}),O=N.useCallback((W,pe)=>{k&&(pe&&(k.unobserve(pe),b.current=!1),W&&k.observe(W))},[k]),[B,G]=lc(O),P=wo(e);return N.useEffect(()=>{!k||!B.current||(k.disconnect(),b.current=!1,k.observe(B.current))},[B,k]),N.useEffect(()=>(d({type:nn.RegisterDroppable,element:{id:a,key:l,disabled:n,node:B,rect:S,data:P}}),()=>d({type:nn.UnregisterDroppable,key:l,id:a})),[a]),N.useEffect(()=>{n!==m.current.disabled&&(d({type:nn.SetDroppableDisabled,id:a,key:l,disabled:n}),m.current.disabled=n)},[a,l,n,d]),{active:c,rect:S,isOver:f?.id===a,node:B,over:f,setNodeRef:G}}function Ef(s,e,n){const a=s.slice();return a.splice(n<0?a.length+n:n,0,a.splice(e,1)[0]),a}function M_(s,e){return s.reduce((n,a,i)=>{const l=e.get(a);return l&&(n[i]=l),n},Array(s.length))}function gc(s){return s!==null&&s>=0}function $_(s,e){if(s===e)return!0;if(s.length!==e.length)return!1;for(let n=0;n[...e].filter(a=>a!=null),[...e])}const Er=Object.freeze({x:0,y:0});function Km(s,e){return Math.sqrt(Math.pow(s.x-e.x,2)+Math.pow(s.y-e.y,2))}function Wm(s,e){let{data:{value:n}}=s,{data:{value:a}}=e;return n-a}function _E(s,e){let{data:{value:n}}=s,{data:{value:a}}=e;return a-n}function Ym(s){let{left:e,top:n,height:a,width:i}=s;return[{x:e,y:n},{x:e+i,y:n},{x:e,y:n+a},{x:e+i,y:n+a}]}function Xm(s,e){if(!s||s.length===0)return null;const[n]=s;return n[e]}function Jm(s,e,n){return e===void 0&&(e=s.left),n===void 0&&(n=s.top),{x:e+s.width*.5,y:n+s.height*.5}}const AE=s=>{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=Jm(e,e.left,e.top),l=[];for(const c of a){const{id:d}=c,f=n.get(d);if(f){const h=Km(Jm(f),i);l.push({id:d,data:{droppableContainer:c,value:h}})}}return l.sort(Wm)},xE=s=>{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=Ym(e),l=[];for(const c of a){const{id:d}=c,f=n.get(d);if(f){const h=Ym(f),m=i.reduce((S,v,_)=>S+Km(h[_],v),0),b=Number((m/4).toFixed(4));l.push({id:d,data:{droppableContainer:c,value:b}})}}return l.sort(Wm)};function TE(s,e){const n=Math.max(e.top,s.top),a=Math.max(e.left,s.left),i=Math.min(e.left+e.width,s.left+s.width),l=Math.min(e.top+e.height,s.top+s.height),c=i-a,d=l-n;if(a{let{collisionRect:e,droppableRects:n,droppableContainers:a}=s;const i=[];for(const l of a){const{id:c}=l,d=n.get(c);if(d){const f=TE(d,e);f>0&&i.push({id:c,data:{droppableContainer:l,value:f}})}}return i.sort(_E)};function RE(s,e,n){return{...s,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function Qm(s,e){return s&&e?{x:s.left-e.left,y:s.top-e.top}:Er}function DE(s){return function(n){for(var a=arguments.length,i=new Array(a>1?a-1:0),l=1;l({...c,top:c.top+s*d.y,bottom:c.bottom+s*d.y,left:c.left+s*d.x,right:c.right+s*d.x}),{...n})}}const OE=DE(1);function LE(s){if(s.startsWith("matrix3d(")){const e=s.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(s.startsWith("matrix(")){const e=s.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function ME(s,e,n){const a=LE(e);if(!a)return s;const{scaleX:i,scaleY:l,x:c,y:d}=a,f=s.left-c-(1-i)*parseFloat(n),h=s.top-d-(1-l)*parseFloat(n.slice(n.indexOf(" ")+1)),m=i?s.width/i:s.width,b=l?s.height/l:s.height;return{width:m,height:b,top:h,right:f+m,bottom:h+b,left:f}}const $E={ignoreTransform:!1};function ps(s,e){e===void 0&&(e=$E);let n=s.getBoundingClientRect();if(e.ignoreTransform){const{transform:h,transformOrigin:m}=Mn(s).getComputedStyle(s);h&&(n=ME(n,h,m))}const{top:a,left:i,width:l,height:c,bottom:d,right:f}=n;return{top:a,left:i,width:l,height:c,bottom:d,right:f}}function Zm(s){return ps(s,{ignoreTransform:!0})}function NE(s){const e=s.innerWidth,n=s.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function IE(s,e){return e===void 0&&(e=Mn(s).getComputedStyle(s)),e.position==="fixed"}function jE(s,e){e===void 0&&(e=Mn(s).getComputedStyle(s));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const l=e[i];return typeof l=="string"?n.test(l):!1})}function dc(s,e){const n=[];function a(i){if(e!=null&&n.length>=e||!i)return n;if(of(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!So(i)||Bm(i)||n.includes(i))return n;const l=Mn(s).getComputedStyle(i);return i!==s&&jE(i,l)&&n.push(i),IE(i,l)?n:a(i.parentNode)}return s?a(s):n}function ey(s){const[e]=dc(s,1);return e??null}function hf(s){return!lc||!s?null:ds(s)?s:sf(s)?of(s)||s===fs(s).scrollingElement?window:So(s)?s:null:null}function ty(s){return ds(s)?s.scrollX:s.scrollLeft}function ny(s){return ds(s)?s.scrollY:s.scrollTop}function pf(s){return{x:ty(s),y:ny(s)}}var dn;(function(s){s[s.Forward=1]="Forward",s[s.Backward=-1]="Backward"})(dn||(dn={}));function ry(s){return!lc||!s?!1:s===document.scrollingElement}function ay(s){const e={x:0,y:0},n=ry(s)?{height:window.innerHeight,width:window.innerWidth}:{height:s.clientHeight,width:s.clientWidth},a={x:s.scrollWidth-n.width,y:s.scrollHeight-n.height},i=s.scrollTop<=e.y,l=s.scrollLeft<=e.x,c=s.scrollTop>=a.y,d=s.scrollLeft>=a.x;return{isTop:i,isLeft:l,isBottom:c,isRight:d,maxScroll:a,minScroll:e}}const HE={x:.2,y:.2};function zE(s,e,n,a,i){let{top:l,left:c,right:d,bottom:f}=n;a===void 0&&(a=10),i===void 0&&(i=HE);const{isTop:h,isBottom:m,isLeft:b,isRight:S}=ay(s),v={x:0,y:0},_={x:0,y:0},A={height:e.height*i.y,width:e.width*i.x};return!h&&l<=e.top+A.height?(v.y=dn.Backward,_.y=a*Math.abs((e.top+A.height-l)/A.height)):!m&&f>=e.bottom-A.height&&(v.y=dn.Forward,_.y=a*Math.abs((e.bottom-A.height-f)/A.height)),!S&&d>=e.right-A.width?(v.x=dn.Forward,_.x=a*Math.abs((e.right-A.width-d)/A.width)):!b&&c<=e.left+A.width&&(v.x=dn.Backward,_.x=a*Math.abs((e.left+A.width-c)/A.width)),{direction:v,speed:_}}function UE(s){if(s===document.scrollingElement){const{innerWidth:l,innerHeight:c}=window;return{top:0,left:0,right:l,bottom:c,width:l,height:c}}const{top:e,left:n,right:a,bottom:i}=s.getBoundingClientRect();return{top:e,left:n,right:a,bottom:i,width:s.clientWidth,height:s.clientHeight}}function iy(s){return s.reduce((e,n)=>hs(e,pf(n)),Er)}function PE(s){return s.reduce((e,n)=>e+ty(n),0)}function BE(s){return s.reduce((e,n)=>e+ny(n),0)}function qE(s,e){if(e===void 0&&(e=ps),!s)return;const{top:n,left:a,bottom:i,right:l}=e(s);ey(s)&&(i<=0||l<=0||n>=window.innerHeight||a>=window.innerWidth)&&s.scrollIntoView({block:"center",inline:"center"})}const GE=[["x",["left","right"],PE],["y",["top","bottom"],BE]];class gf{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const a=dc(n),i=iy(a);this.rect={...e},this.width=e.width,this.height=e.height;for(const[l,c,d]of GE)for(const f of c)Object.defineProperty(this,f,{get:()=>{const h=d(a),m=i[l]-h;return this.rect[f]+m},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class xo{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var a;return(a=this.target)==null?void 0:a.removeEventListener(...n)})},this.target=e}add(e,n,a){var i;(i=this.target)==null||i.addEventListener(e,n,a),this.listeners.push([e,n,a])}}function VE(s){const{EventTarget:e}=Mn(s);return s instanceof e?s:fs(s)}function mf(s,e){const n=Math.abs(s.x),a=Math.abs(s.y);return typeof e=="number"?Math.sqrt(n**2+a**2)>e:"x"in e&&"y"in e?n>e.x&&a>e.y:"x"in e?n>e.x:"y"in e?a>e.y:!1}var ar;(function(s){s.Click="click",s.DragStart="dragstart",s.Keydown="keydown",s.ContextMenu="contextmenu",s.Resize="resize",s.SelectionChange="selectionchange",s.VisibilityChange="visibilitychange"})(ar||(ar={}));function sy(s){s.preventDefault()}function FE(s){s.stopPropagation()}var lt;(function(s){s.Space="Space",s.Down="ArrowDown",s.Right="ArrowRight",s.Left="ArrowLeft",s.Up="ArrowUp",s.Esc="Escape",s.Enter="Enter",s.Tab="Tab"})(lt||(lt={}));const oy={start:[lt.Space,lt.Enter],cancel:[lt.Esc],end:[lt.Space,lt.Enter,lt.Tab]},KE=(s,e)=>{let{currentCoordinates:n}=e;switch(s.code){case lt.Right:return{...n,x:n.x+25};case lt.Left:return{...n,x:n.x-25};case lt.Down:return{...n,y:n.y+25};case lt.Up:return{...n,y:n.y-25}}};class yf{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new xo(fs(n)),this.windowListeners=new xo(Mn(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ar.Resize,this.handleCancel),this.windowListeners.add(ar.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ar.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,a=e.node.current;a&&qE(a),n(Er)}handleKeyDown(e){if(df(e)){const{active:n,context:a,options:i}=this.props,{keyboardCodes:l=oy,coordinateGetter:c=KE,scrollBehavior:d="smooth"}=i,{code:f}=e;if(l.end.includes(f)){this.handleEnd(e);return}if(l.cancel.includes(f)){this.handleCancel(e);return}const{collisionRect:h}=a.current,m=h?{x:h.left,y:h.top}:Er;this.referenceCoordinates||(this.referenceCoordinates=m);const b=c(e,{active:n,context:a.current,currentCoordinates:m});if(b){const S=_o(b,m),v={x:0,y:0},{scrollableAncestors:_}=a.current;for(const A of _){const x=e.code,{isTop:L,isRight:M,isLeft:k,isBottom:O,maxScroll:B,minScroll:G}=ay(A),P=UE(A),W={x:Math.min(x===lt.Right?P.right-P.width/2:P.right,Math.max(x===lt.Right?P.left:P.left+P.width/2,b.x)),y:Math.min(x===lt.Down?P.bottom-P.height/2:P.bottom,Math.max(x===lt.Down?P.top:P.top+P.height/2,b.y))},pe=x===lt.Right&&!M||x===lt.Left&&!k,Se=x===lt.Down&&!O||x===lt.Up&&!L;if(pe&&W.x!==b.x){const we=A.scrollLeft+S.x,Ue=x===lt.Right&&we<=B.x||x===lt.Left&&we>=G.x;if(Ue&&!S.y){A.scrollTo({left:we,behavior:d});return}Ue?v.x=A.scrollLeft-we:v.x=x===lt.Right?A.scrollLeft-B.x:A.scrollLeft-G.x,v.x&&A.scrollBy({left:-v.x,behavior:d});break}else if(Se&&W.y!==b.y){const we=A.scrollTop+S.y,Ue=x===lt.Down&&we<=B.y||x===lt.Up&&we>=G.y;if(Ue&&!S.x){A.scrollTo({top:we,behavior:d});return}Ue?v.y=A.scrollTop-we:v.y=x===lt.Down?A.scrollTop-B.y:A.scrollTop-G.y,v.y&&A.scrollBy({top:-v.y,behavior:d});break}}this.handleMove(e,hs(_o(b,this.referenceCoordinates),v))}}}handleMove(e,n){const{onMove:a}=this.props;e.preventDefault(),a(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}yf.activators=[{eventName:"onKeyDown",handler:(s,e,n)=>{let{keyboardCodes:a=oy,onActivation:i}=e,{active:l}=n;const{code:c}=s.nativeEvent;if(a.start.includes(c)){const d=l.activatorNode.current;return d&&s.target!==d?!1:(s.preventDefault(),i?.({event:s.nativeEvent}),!0)}return!1}}];function ly(s){return!!(s&&"distance"in s)}function cy(s){return!!(s&&"delay"in s)}class bf{constructor(e,n,a){var i;a===void 0&&(a=VE(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:l}=e,{target:c}=l;this.props=e,this.events=n,this.document=fs(c),this.documentListeners=new xo(this.document),this.listeners=new xo(a),this.windowListeners=new xo(Mn(c)),this.initialCoordinates=(i=ff(l))!=null?i:Er,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:a}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ar.Resize,this.handleCancel),this.windowListeners.add(ar.DragStart,sy),this.windowListeners.add(ar.VisibilityChange,this.handleCancel),this.windowListeners.add(ar.ContextMenu,sy),this.documentListeners.add(ar.Keydown,this.handleKeydown),n){if(a!=null&&a({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(cy(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(ly(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:a,onPending:i}=this.props;i(a,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(ar.Click,FE,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ar.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:a,initialCoordinates:i,props:l}=this,{onMove:c,options:{activationConstraint:d}}=l;if(!i)return;const f=(n=ff(e))!=null?n:Er,h=_o(i,f);if(!a&&d){if(ly(d)){if(d.tolerance!=null&&mf(h,d.tolerance))return this.handleCancel();if(mf(h,d.distance))return this.handleStart()}if(cy(d)&&mf(h,d.tolerance))return this.handleCancel();this.handlePending(d,h);return}e.cancelable&&e.preventDefault(),c(f)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===lt.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const WE={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class vf extends bf{constructor(e){const{event:n}=e,a=fs(n.target);super(e,WE,a)}}vf.activators=[{eventName:"onPointerDown",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;return!n.isPrimary||n.button!==0?!1:(a?.({event:n}),!0)}}];const YE={move:{name:"mousemove"},end:{name:"mouseup"}};var Sf;(function(s){s[s.RightClick=2]="RightClick"})(Sf||(Sf={}));class XE extends bf{constructor(e){super(e,YE,fs(e.event.target))}}XE.activators=[{eventName:"onMouseDown",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;return n.button===Sf.RightClick?!1:(a?.({event:n}),!0)}}];const wf={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class JE extends bf{constructor(e){super(e,wf)}static setup(){return window.addEventListener(wf.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(wf.move.name,e)};function e(){}}}JE.activators=[{eventName:"onTouchStart",handler:(s,e)=>{let{nativeEvent:n}=s,{onActivation:a}=e;const{touches:i}=n;return i.length>1?!1:(a?.({event:n}),!0)}}];var To;(function(s){s[s.Pointer=0]="Pointer",s[s.DraggableRect=1]="DraggableRect"})(To||(To={}));var fc;(function(s){s[s.TreeOrder=0]="TreeOrder",s[s.ReversedTreeOrder=1]="ReversedTreeOrder"})(fc||(fc={}));function QE(s){let{acceleration:e,activator:n=To.Pointer,canScroll:a,draggingRect:i,enabled:l,interval:c=5,order:d=fc.TreeOrder,pointerCoordinates:f,scrollableAncestors:h,scrollableAncestorRects:m,delta:b,threshold:S}=s;const v=e_({delta:b,disabled:!l}),[_,A]=uE(),x=N.useRef({x:0,y:0}),L=N.useRef({x:0,y:0}),M=N.useMemo(()=>{switch(n){case To.Pointer:return f?{top:f.y,bottom:f.y,left:f.x,right:f.x}:null;case To.DraggableRect:return i}},[n,i,f]),k=N.useRef(null),O=N.useCallback(()=>{const G=k.current;if(!G)return;const P=x.current.x*L.current.x,W=x.current.y*L.current.y;G.scrollBy(P,W)},[]),B=N.useMemo(()=>d===fc.TreeOrder?[...h].reverse():h,[d,h]);N.useEffect(()=>{if(!l||!h.length||!M){A();return}for(const G of B){if(a?.(G)===!1)continue;const P=h.indexOf(G),W=m[P];if(!W)continue;const{direction:pe,speed:Se}=zE(G,W,M,e,S);for(const we of["x","y"])v[we][pe[we]]||(Se[we]=0,pe[we]=0);if(Se.x>0||Se.y>0){A(),k.current=G,_(O,c),x.current=Se,L.current=pe;return}}x.current={x:0,y:0},L.current={x:0,y:0},A()},[e,O,a,A,l,c,JSON.stringify(M),JSON.stringify(v),_,h,B,m,JSON.stringify(S)])}const ZE={x:{[dn.Backward]:!1,[dn.Forward]:!1},y:{[dn.Backward]:!1,[dn.Forward]:!1}};function e_(s){let{delta:e,disabled:n}=s;const a=cf(e);return Co(i=>{if(n||!a||!i)return ZE;const l={x:Math.sign(e.x-a.x),y:Math.sign(e.y-a.y)};return{x:{[dn.Backward]:i.x[dn.Backward]||l.x===-1,[dn.Forward]:i.x[dn.Forward]||l.x===1},y:{[dn.Backward]:i.y[dn.Backward]||l.y===-1,[dn.Forward]:i.y[dn.Forward]||l.y===1}}},[n,e,a])}function t_(s,e){const n=e!=null?s.get(e):void 0,a=n?n.node.current:null;return Co(i=>{var l;return e==null?null:(l=a??i)!=null?l:null},[a,e])}function n_(s,e){return N.useMemo(()=>s.reduce((n,a)=>{const{sensor:i}=a,l=i.activators.map(c=>({eventName:c.eventName,handler:e(c.handler,a)}));return[...n,...l]},[]),[s,e])}var ko;(function(s){s[s.Always=0]="Always",s[s.BeforeDragging=1]="BeforeDragging",s[s.WhileDragging=2]="WhileDragging"})(ko||(ko={}));var Cf;(function(s){s.Optimized="optimized"})(Cf||(Cf={}));const uy=new Map;function r_(s,e){let{dragging:n,dependencies:a,config:i}=e;const[l,c]=N.useState(null),{frequency:d,measure:f,strategy:h}=i,m=N.useRef(s),b=x(),S=wo(b),v=N.useCallback(function(L){L===void 0&&(L=[]),!S.current&&c(M=>M===null?L:M.concat(L.filter(k=>!M.includes(k))))},[S]),_=N.useRef(null),A=Co(L=>{if(b&&!n)return uy;if(!L||L===uy||m.current!==s||l!=null){const M=new Map;for(let k of s){if(!k)continue;if(l&&l.length>0&&!l.includes(k.id)&&k.rect.current){M.set(k.id,k.rect.current);continue}const O=k.node.current,B=O?new gf(f(O),O):null;k.rect.current=B,B&&M.set(k.id,B)}return M}return L},[s,l,n,b,f]);return N.useEffect(()=>{m.current=s},[s]),N.useEffect(()=>{b||v()},[n,b]),N.useEffect(()=>{l&&l.length>0&&c(null)},[JSON.stringify(l)]),N.useEffect(()=>{b||typeof d!="number"||_.current!==null||(_.current=setTimeout(()=>{v(),_.current=null},d))},[d,b,v,...a]),{droppableRects:A,measureDroppableContainers:v,measuringScheduled:l!=null};function x(){switch(h){case ko.Always:return!1;case ko.BeforeDragging:return n;default:return!n}}}function dy(s,e){return Co(n=>s?n||(typeof e=="function"?e(s):s):null,[e,s])}function a_(s,e){return dy(s,e)}function i_(s){let{callback:e,disabled:n}=s;const a=lf(e),i=N.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:l}=window;return new l(a)},[a,n]);return N.useEffect(()=>()=>i?.disconnect(),[i]),i}function hc(s){let{callback:e,disabled:n}=s;const a=lf(e),i=N.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:l}=window;return new l(a)},[n]);return N.useEffect(()=>()=>i?.disconnect(),[i]),i}function s_(s){return new gf(ps(s),s)}function fy(s,e,n){e===void 0&&(e=s_);const[a,i]=N.useState(null);function l(){i(f=>{if(!s)return null;if(s.isConnected===!1){var h;return(h=f??n)!=null?h:null}const m=e(s);return JSON.stringify(f)===JSON.stringify(m)?f:m})}const c=i_({callback(f){if(s)for(const h of f){const{type:m,target:b}=h;if(m==="childList"&&b instanceof HTMLElement&&b.contains(s)){l();break}}}}),d=hc({callback:l});return Ur(()=>{l(),s?(d?.observe(s),c?.observe(document.body,{childList:!0,subtree:!0})):(d?.disconnect(),c?.disconnect())},[s]),a}function o_(s){const e=dy(s);return Qm(s,e)}const hy=[];function l_(s){const e=N.useRef(s),n=Co(a=>s?a&&a!==hy&&s&&e.current&&s.parentNode===e.current.parentNode?a:dc(s):hy,[s]);return N.useEffect(()=>{e.current=s},[s]),n}function c_(s){const[e,n]=N.useState(null),a=N.useRef(s),i=N.useCallback(l=>{const c=hf(l.target);c&&n(d=>d?(d.set(c,pf(c)),new Map(d)):null)},[]);return N.useEffect(()=>{const l=a.current;if(s!==l){c(l);const d=s.map(f=>{const h=hf(f);return h?(h.addEventListener("scroll",i,{passive:!0}),[h,pf(h)]):null}).filter(f=>f!=null);n(d.length?new Map(d):null),a.current=s}return()=>{c(s),c(l)};function c(d){d.forEach(f=>{const h=hf(f);h?.removeEventListener("scroll",i)})}},[i,s]),N.useMemo(()=>s.length?e?Array.from(e.values()).reduce((l,c)=>hs(l,c),Er):iy(s):Er,[s,e])}function py(s,e){e===void 0&&(e=[]);const n=N.useRef(null);return N.useEffect(()=>{n.current=null},e),N.useEffect(()=>{const a=s!==Er;a&&!n.current&&(n.current=s),!a&&n.current&&(n.current=null)},[s]),n.current?_o(s,n.current):Er}function u_(s){N.useEffect(()=>{if(!lc)return;const e=s.map(n=>{let{sensor:a}=n;return a.setup==null?void 0:a.setup()});return()=>{for(const n of e)n?.()}},s.map(e=>{let{sensor:n}=e;return n}))}function d_(s,e){return N.useMemo(()=>s.reduce((n,a)=>{let{eventName:i,handler:l}=a;return n[i]=c=>{l(c,e)},n},{}),[s,e])}function gy(s){return N.useMemo(()=>s?NE(s):null,[s])}const my=[];function f_(s,e){e===void 0&&(e=ps);const[n]=s,a=gy(n?Mn(n):null),[i,l]=N.useState(my);function c(){l(()=>s.length?s.map(f=>ry(f)?a:new gf(e(f),f)):my)}const d=hc({callback:c});return Ur(()=>{d?.disconnect(),c(),s.forEach(f=>d?.observe(f))},[s]),i}function h_(s){if(!s)return null;if(s.children.length>1)return s;const e=s.children[0];return So(e)?e:s}function p_(s){let{measure:e}=s;const[n,a]=N.useState(null),i=N.useCallback(h=>{for(const{target:m}of h)if(So(m)){a(b=>{const S=e(m);return b?{...b,width:S.width,height:S.height}:S});break}},[e]),l=hc({callback:i}),c=N.useCallback(h=>{const m=h_(h);l?.disconnect(),m&&l?.observe(m),a(m?e(m):null)},[e,l]),[d,f]=cc(c);return N.useMemo(()=>({nodeRef:d,rect:n,setRef:f}),[n,d,f])}const g_=[{sensor:vf,options:{}},{sensor:yf,options:{}}],m_={current:{}},pc={draggable:{measure:Zm},droppable:{measure:Zm,strategy:ko.WhileDragging,frequency:Cf.Optimized},dragOverlay:{measure:ps}};class Ro extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,a;return(n=(a=this.get(e))==null?void 0:a.node.current)!=null?n:void 0}}const y_={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ro,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:uc},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:pc,measureDroppableContainers:uc,windowRect:null,measuringScheduled:!1},b_={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:uc,draggableNodes:new Map,over:null,measureDroppableContainers:uc},gc=N.createContext(b_),yy=N.createContext(y_);function v_(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ro}}}function S_(s,e){switch(e.type){case nn.DragStart:return{...s,draggable:{...s.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case nn.DragMove:return s.draggable.active==null?s:{...s,draggable:{...s.draggable,translate:{x:e.coordinates.x-s.draggable.initialCoordinates.x,y:e.coordinates.y-s.draggable.initialCoordinates.y}}};case nn.DragEnd:case nn.DragCancel:return{...s,draggable:{...s.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case nn.RegisterDroppable:{const{element:n}=e,{id:a}=n,i=new Ro(s.droppable.containers);return i.set(a,n),{...s,droppable:{...s.droppable,containers:i}}}case nn.SetDroppableDisabled:{const{id:n,key:a,disabled:i}=e,l=s.droppable.containers.get(n);if(!l||a!==l.key)return s;const c=new Ro(s.droppable.containers);return c.set(n,{...l,disabled:i}),{...s,droppable:{...s.droppable,containers:c}}}case nn.UnregisterDroppable:{const{id:n,key:a}=e,i=s.droppable.containers.get(n);if(!i||a!==i.key)return s;const l=new Ro(s.droppable.containers);return l.delete(n),{...s,droppable:{...s.droppable,containers:l}}}default:return s}}function w_(s){let{disabled:e}=s;const{active:n,activatorEvent:a,draggableNodes:i}=N.useContext(gc),l=cf(a),c=cf(n?.id);return N.useEffect(()=>{if(!e&&!a&&l&&c!=null){if(!df(l)||document.activeElement===l.target)return;const d=i.get(c);if(!d)return;const{activatorNode:f,node:h}=d;if(!f.current&&!h.current)return;requestAnimationFrame(()=>{for(const m of[f.current,h.current]){if(!m)continue;const b=hE(m);if(b){b.focus();break}}})}},[a,e,i,c,l]),null}function C_(s,e){let{transform:n,...a}=e;return s!=null&&s.length?s.reduce((i,l)=>l({transform:i,...a}),n):n}function E_(s){return N.useMemo(()=>({draggable:{...pc.draggable,...s?.draggable},droppable:{...pc.droppable,...s?.droppable},dragOverlay:{...pc.dragOverlay,...s?.dragOverlay}}),[s?.draggable,s?.droppable,s?.dragOverlay])}function __(s){let{activeNode:e,measure:n,initialRect:a,config:i=!0}=s;const l=N.useRef(!1),{x:c,y:d}=typeof i=="boolean"?{x:i,y:i}:i;Ur(()=>{if(!c&&!d||!e){l.current=!1;return}if(l.current||!a)return;const h=e?.node.current;if(!h||h.isConnected===!1)return;const m=n(h),b=Qm(m,a);if(c||(b.x=0),d||(b.y=0),l.current=!0,Math.abs(b.x)>0||Math.abs(b.y)>0){const S=ey(h);S&&S.scrollBy({top:b.y,left:b.x})}},[e,c,d,a,n])}const by=N.createContext({...Er,scaleX:1,scaleY:1});var La;(function(s){s[s.Uninitialized=0]="Uninitialized",s[s.Initializing=1]="Initializing",s[s.Initialized=2]="Initialized"})(La||(La={}));const A_=N.memo(function(e){var n,a,i,l;let{id:c,accessibility:d,autoScroll:f=!0,children:h,sensors:m=g_,collisionDetection:b=kE,measuring:S,modifiers:v,..._}=e;const A=N.useReducer(S_,void 0,v_),[x,L]=A,[M,k]=vE(),[O,B]=N.useState(La.Uninitialized),G=O===La.Initialized,{draggable:{active:P,nodes:W,translate:pe},droppable:{containers:Se}}=x,we=P!=null?W.get(P):null,Ue=N.useRef({initial:null,translated:null}),Ve=N.useMemo(()=>{var he;return P!=null?{id:P,data:(he=we?.data)!=null?he:m_,rect:Ue}:null},[P,we]),qe=N.useRef(null),[wt,J]=N.useState(null),[fe,Le]=N.useState(null),Z=wo(_,Object.values(_)),ge=Eo("DndDescribedBy",c),H=N.useMemo(()=>Se.getEnabled(),[Se]),T=E_(S),{droppableRects:ce,measureDroppableContainers:de,measuringScheduled:ye}=r_(H,{dragging:G,dependencies:[pe.x,pe.y],config:T.droppable}),ie=t_(W,P),xe=N.useMemo(()=>fe?ff(fe):null,[fe]),_e=ve(),Te=a_(ie,T.draggable.measure);__({activeNode:P!=null?W.get(P):null,config:_e.layoutShiftCompensation,initialRect:Te,measure:T.draggable.measure});const $e=fy(ie,T.draggable.measure,Te),pt=fy(ie?ie.parentElement:null),Ct=N.useRef({activatorEvent:null,active:null,activeNode:ie,collisionRect:null,collisions:null,droppableRects:ce,draggableNodes:W,draggingNode:null,draggingNodeRect:null,droppableContainers:Se,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Dt=Se.getNodeFor((n=Ct.current.over)==null?void 0:n.id),ht=p_({measure:T.dragOverlay.measure}),rn=(a=ht.nodeRef.current)!=null?a:ie,Kt=G?(i=ht.rect)!=null?i:$e:null,It=!!(ht.nodeRef.current&&ht.rect),qr=o_(It?null:$e),hn=gy(rn?Mn(rn):null),an=l_(G?Dt??ie:null),pn=f_(an),Kn=C_(v,{transform:{x:pe.x-qr.x,y:pe.y-qr.y,scaleX:1,scaleY:1},activatorEvent:fe,active:Ve,activeNodeRect:$e,containerNodeRect:pt,draggingNodeRect:Kt,over:Ct.current.over,overlayNodeRect:ht.rect,scrollableAncestors:an,scrollableAncestorRects:pn,windowRect:hn}),Gr=xe?hs(xe,pe):null,qt=c_(an),_i=py(qt),aa=py(qt,[$e]),gn=hs(Kn,_i),Rn=Kt?OE(Kt,Kn):null,nt=Ve&&Rn?b({active:Ve,collisionRect:Rn,droppableRects:ce,droppableContainers:H,pointerCoordinates:Gr}):null,Nn=Xm(nt,"id"),[mn,ia]=N.useState(null),or=It?Kn:hs(Kn,aa),sn=RE(or,(l=mn?.rect)!=null?l:null,$e),_n=N.useRef(null),on=N.useCallback((he,Ee)=>{let{sensor:Ae,options:Fe}=Ee;if(qe.current==null)return;const ke=W.get(qe.current);if(!ke)return;const Ne=he.nativeEvent,Re=new Ae({active:qe.current,activeNode:ke,event:Ne,options:Fe,context:Ct,onAbort(He){if(!W.get(He))return;const{onDragAbort:Ce}=Z.current,je={id:He};Ce?.(je),M({type:"onDragAbort",event:je})},onPending(He,Ge,Ce,je){if(!W.get(He))return;const{onDragPending:At}=Z.current,Mt={id:He,constraint:Ge,initialCoordinates:Ce,offset:je};At?.(Mt),M({type:"onDragPending",event:Mt})},onStart(He){const Ge=qe.current;if(Ge==null)return;const Ce=W.get(Ge);if(!Ce)return;const{onDragStart:je}=Z.current,tt={activatorEvent:Ne,active:{id:Ge,data:Ce.data,rect:Ue}};Oa.unstable_batchedUpdates(()=>{je?.(tt),B(La.Initializing),L({type:nn.DragStart,initialCoordinates:He,active:Ge}),M({type:"onDragStart",event:tt}),J(_n.current),Le(Ne)})},onMove(He){L({type:nn.DragMove,coordinates:He})},onEnd:et(nn.DragEnd),onCancel:et(nn.DragCancel)});_n.current=Re;function et(He){return async function(){const{active:Ce,collisions:je,over:tt,scrollAdjustedTranslate:At}=Ct.current;let Mt=null;if(Ce&&At){const{cancelDrop:Dn}=Z.current;Mt={activatorEvent:Ne,active:Ce,collisions:je,delta:At,over:tt},He===nn.DragEnd&&typeof Dn=="function"&&await Promise.resolve(Dn(Mt))&&(He=nn.DragCancel)}qe.current=null,Oa.unstable_batchedUpdates(()=>{L({type:He}),B(La.Uninitialized),ia(null),J(null),Le(null),_n.current=null;const Dn=He===nn.DragEnd?"onDragEnd":"onDragCancel";if(Mt){const jt=Z.current[Dn];jt?.(Mt),M({type:Dn,event:Mt})}})}}},[W]),V=N.useCallback((he,Ee)=>(Ae,Fe)=>{const ke=Ae.nativeEvent,Ne=W.get(Fe);if(qe.current!==null||!Ne||ke.dndKit||ke.defaultPrevented)return;const Re={active:Ne};he(Ae,Ee.options,Re)===!0&&(ke.dndKit={capturedBy:Ee.sensor},qe.current=Fe,on(Ae,Ee))},[W,on]),se=n_(m,V);u_(m),Ur(()=>{$e&&O===La.Initializing&&B(La.Initialized)},[$e,O]),N.useEffect(()=>{const{onDragMove:he}=Z.current,{active:Ee,activatorEvent:Ae,collisions:Fe,over:ke}=Ct.current;if(!Ee||!Ae)return;const Ne={active:Ee,activatorEvent:Ae,collisions:Fe,delta:{x:gn.x,y:gn.y},over:ke};Oa.unstable_batchedUpdates(()=>{he?.(Ne),M({type:"onDragMove",event:Ne})})},[gn.x,gn.y]),N.useEffect(()=>{const{active:he,activatorEvent:Ee,collisions:Ae,droppableContainers:Fe,scrollAdjustedTranslate:ke}=Ct.current;if(!he||qe.current==null||!Ee||!ke)return;const{onDragOver:Ne}=Z.current,Re=Fe.get(Nn),et=Re&&Re.rect.current?{id:Re.id,rect:Re.rect.current,data:Re.data,disabled:Re.disabled}:null,He={active:he,activatorEvent:Ee,collisions:Ae,delta:{x:ke.x,y:ke.y},over:et};Oa.unstable_batchedUpdates(()=>{ia(et),Ne?.(He),M({type:"onDragOver",event:He})})},[Nn]),Ur(()=>{Ct.current={activatorEvent:fe,active:Ve,activeNode:ie,collisionRect:Rn,collisions:nt,droppableRects:ce,draggableNodes:W,draggingNode:rn,draggingNodeRect:Kt,droppableContainers:Se,over:mn,scrollableAncestors:an,scrollAdjustedTranslate:gn},Ue.current={initial:Kt,translated:Rn}},[Ve,ie,nt,Rn,W,rn,Kt,ce,Se,mn,an,gn]),QE({..._e,delta:pe,draggingRect:Rn,pointerCoordinates:Gr,scrollableAncestors:an,scrollableAncestorRects:pn});const ue=N.useMemo(()=>({active:Ve,activeNode:ie,activeNodeRect:$e,activatorEvent:fe,collisions:nt,containerNodeRect:pt,dragOverlay:ht,draggableNodes:W,droppableContainers:Se,droppableRects:ce,over:mn,measureDroppableContainers:de,scrollableAncestors:an,scrollableAncestorRects:pn,measuringConfiguration:T,measuringScheduled:ye,windowRect:hn}),[Ve,ie,$e,fe,nt,pt,ht,W,Se,ce,mn,de,an,pn,T,ye,hn]),ee=N.useMemo(()=>({activatorEvent:fe,activators:se,active:Ve,activeNodeRect:$e,ariaDescribedById:{draggable:ge},dispatch:L,draggableNodes:W,over:mn,measureDroppableContainers:de}),[fe,se,Ve,$e,L,ge,W,mn,de]);return Ye.createElement(Vm.Provider,{value:k},Ye.createElement(gc.Provider,{value:ee},Ye.createElement(yy.Provider,{value:ue},Ye.createElement(by.Provider,{value:sn},h)),Ye.createElement(w_,{disabled:d?.restoreFocus===!1})),Ye.createElement(CE,{...d,hiddenTextDescribedById:ge}));function ve(){const he=wt?.autoScrollEnabled===!1,Ee=typeof f=="object"?f.enabled===!1:f===!1,Ae=G&&!he&&!Ee;return typeof f=="object"?{...f,enabled:Ae}:{enabled:Ae}}}),x_=N.createContext(null),vy="button",T_="Draggable";function k_(s){let{id:e,data:n,disabled:a=!1,attributes:i}=s;const l=Eo(T_),{activators:c,activatorEvent:d,active:f,activeNodeRect:h,ariaDescribedById:m,draggableNodes:b,over:S}=N.useContext(gc),{role:v=vy,roleDescription:_="draggable",tabIndex:A=0}=i??{},x=f?.id===e,L=N.useContext(x?by:x_),[M,k]=cc(),[O,B]=cc(),G=d_(c,e),P=wo(n);Ur(()=>(b.set(e,{id:e,key:l,node:M,activatorNode:O,data:P}),()=>{const pe=b.get(e);pe&&pe.key===l&&b.delete(e)}),[b,e]);const W=N.useMemo(()=>({role:v,tabIndex:A,"aria-disabled":a,"aria-pressed":x&&v===vy?!0:void 0,"aria-roledescription":_,"aria-describedby":m.draggable}),[a,v,A,x,_,m.draggable]);return{active:f,activatorEvent:d,activeNodeRect:h,attributes:W,isDragging:x,listeners:a?void 0:G,node:M,over:S,setNodeRef:k,setActivatorNodeRef:B,transform:L}}function R_(){return N.useContext(yy)}const D_="Droppable",O_={timeout:25};function L_(s){let{data:e,disabled:n=!1,id:a,resizeObserverConfig:i}=s;const l=Eo(D_),{active:c,dispatch:d,over:f,measureDroppableContainers:h}=N.useContext(gc),m=N.useRef({disabled:n}),b=N.useRef(!1),S=N.useRef(null),v=N.useRef(null),{disabled:_,updateMeasurementsFor:A,timeout:x}={...O_,...i},L=wo(A??a),M=N.useCallback(()=>{if(!b.current){b.current=!0;return}v.current!=null&&clearTimeout(v.current),v.current=setTimeout(()=>{h(Array.isArray(L.current)?L.current:[L.current]),v.current=null},x)},[x]),k=hc({callback:M,disabled:_||!c}),O=N.useCallback((W,pe)=>{k&&(pe&&(k.unobserve(pe),b.current=!1),W&&k.observe(W))},[k]),[B,G]=cc(O),P=wo(e);return N.useEffect(()=>{!k||!B.current||(k.disconnect(),b.current=!1,k.observe(B.current))},[B,k]),N.useEffect(()=>(d({type:nn.RegisterDroppable,element:{id:a,key:l,disabled:n,node:B,rect:S,data:P}}),()=>d({type:nn.UnregisterDroppable,key:l,id:a})),[a]),N.useEffect(()=>{n!==m.current.disabled&&(d({type:nn.SetDroppableDisabled,id:a,key:l,disabled:n}),m.current.disabled=n)},[a,l,n,d]),{active:c,rect:S,isOver:f?.id===a,node:B,over:f,setNodeRef:G}}function Ef(s,e,n){const a=s.slice();return a.splice(n<0?a.length+n:n,0,a.splice(e,1)[0]),a}function M_(s,e){return s.reduce((n,a,i)=>{const l=e.get(a);return l&&(n[i]=l),n},Array(s.length))}function mc(s){return s!==null&&s>=0}function $_(s,e){if(s===e)return!0;if(s.length!==e.length)return!1;for(let n=0;n