@object-ui/layout 4.0.3 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/index.js +263 -2638
- package/dist/index.umd.cjs +1 -10
- package/package.json +5 -5
package/dist/index.umd.cjs
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@object-ui/core`),require(`react`),require(`@object-ui/components`),require(`react-router-dom`),require(`lucide-react`),require(`react-dom`),require(`@object-ui/types`),require(`@object-ui/react`)):typeof define==`function`&&define.amd?define([`exports`,`@object-ui/core`,`react`,`@object-ui/components`,`react-router-dom`,`lucide-react`,`react-dom`,`@object-ui/types`,`@object-ui/react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ObjectUILayout={},e._object_ui_core,e.react,e._object_ui_components,e.react_router_dom,e.lucide_react,e.react_dom,e._object_ui_types,e._object_ui_react))})(this,function(e,t,n,r,i,a,o,s,c){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var l=Object.create,u=Object.defineProperty,d=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,p=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,h=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),g=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=f(t),a=0,o=i.length,s;a<o;a++)s=i[a],!m.call(e,s)&&s!==n&&u(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=d(t,s))||r.enumerable});return e},_=(e,t,n)=>(n=e==null?{}:l(p(e)),g(t||!e||!e.__esModule?u(n,`default`,{value:e,enumerable:!0}):n,e));let v=_(n,1);n=_(n);var y=h((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),b=h((e=>{process.env.NODE_ENV!==`production`&&(function(){function t(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===O?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case _:return`Fragment`;case y:return`Profiler`;case v:return`StrictMode`;case C:return`Suspense`;case w:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case g:return`Portal`;case x:return e.displayName||`Context`;case b:return(e._context.displayName||`Context`)+`.Consumer`;case S:var n=e.render;return e=e.displayName,e||=(e=n.displayName||n.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case T:return n=e.displayName||null,n===null?t(e.type)||`Memo`:n;case E:n=e._payload,e=e._init;try{return t(e(n))}catch{}}return null}function n(e){return``+e}function r(e){try{n(e);var t=!1}catch{t=!0}if(t){t=console;var r=t.error,i=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return r.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,i),n(e)}}function i(e){if(e===_)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===E)return`<...>`;try{var n=t(e);return n?`<`+n+`>`:`<...>`}catch{return`<...>`}}function a(){var e=k.A;return e===null?null:e.getOwner()}function o(){return Error(`react-stack-top-frame`)}function s(e){if(ee.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function c(e,t){function n(){te||(te=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,`key`,{get:n,configurable:!0})}function l(){var e=t(this.type);return M[e]||(M[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function u(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:h,type:e,key:t,props:n,_owner:r},(o===void 0?null:o)===null?Object.defineProperty(e,`ref`,{enumerable:!1,value:null}):Object.defineProperty(e,`ref`,{enumerable:!1,get:l}),e._store={},Object.defineProperty(e._store,`validated`,{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,`_debugInfo`,{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,`_debugStack`,{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,`_debugTask`,{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function d(e,n,i,o,l,d){var p=n.children;if(p!==void 0)if(o)if(A(p)){for(o=0;o<p.length;o++)f(p[o]);Object.freeze&&Object.freeze(p)}else console.error(`React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.`);else f(p);if(ee.call(n,`key`)){p=t(e);var m=Object.keys(n).filter(function(e){return e!==`key`});o=0<m.length?`{key: someKey, `+m.join(`: ..., `)+`: ...}`:`{key: someKey}`,F[p+o]||(m=0<m.length?`{`+m.join(`: ..., `)+`: ...}`:`{}`,console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
-
let props = %s;
|
|
3
|
-
<%s {...props} />
|
|
4
|
-
React keys must be passed directly to JSX without using spread:
|
|
5
|
-
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,o,p,m,p),F[p+o]=!0)}if(p=null,i!==void 0&&(r(i),p=``+i),s(n)&&(r(n.key),p=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return p&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,p,i,a(),l,d)}function f(e){p(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===E&&(e._payload.status===`fulfilled`?p(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function p(e){return typeof e==`object`&&!!e&&e.$$typeof===h}var m=require(`react`),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.client.reference`),k=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=Object.prototype.hasOwnProperty,A=Array.isArray,j=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var te,M={},N=m.react_stack_bottom_frame.bind(m,o)(),P=j(i(o)),F={};e.Fragment=_,e.jsx=function(e,t,n){var r=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,!1,r?Error(`react-stack-top-frame`):N,r?j(i(e)):P)},e.jsxs=function(e,t,n){var r=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,!0,r?Error(`react-stack-top-frame`):N,r?j(i(e)):P)}})()})),x=h(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=y():t.exports=b()}))();function S({title:e,description:t,action:n,className:i,children:a,...o}){return(0,x.jsx)(`div`,{className:(0,r.cn)(`flex flex-col gap-4 pb-4 md:pb-8`,i),...o,children:(0,x.jsxs)(`div`,{className:`flex flex-wrap items-end gap-x-4 gap-y-2`,children:[(0,x.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,x.jsx)(`h1`,{className:`text-2xl font-bold tracking-tight md:text-3xl truncate`,children:e}),t&&(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t})]}),(n||a)&&(0,x.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto sm:ml-0`,children:[n,a]})]})})}function C(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function w(e){let t=C(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function T(e){let t=C(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function E(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function D(e,t){(0,v.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=w(e.primaryColor),i=T(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:E(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=w(e.accentColor),i=T(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:E(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function O({sidebar:e,navbar:t,children:n,className:i,defaultOpen:a=!0,branding:o}){return D(o,o?.title),(0,x.jsxs)(r.SidebarProvider,{defaultOpen:a,className:`!flex-col`,children:[(0,x.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,x.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,x.jsx)(r.SidebarInset,{className:`min-w-0`,children:(0,x.jsx)(`main`,{className:(0,r.cn)(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6`,i),children:n})})]})]})}function k({className:e,children:t,...n}){return(0,x.jsx)(`div`,{className:(0,r.cn)(`rounded-xl border bg-card text-card-foreground shadow`,e),...n,children:(0,x.jsx)(`div`,{className:`p-6`,children:t})})}var ee={xs:{1:`grid-cols-1`,2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`,6:`grid-cols-6`,12:`grid-cols-12`},sm:{1:`sm:grid-cols-1`,2:`sm:grid-cols-2`,3:`sm:grid-cols-3`,4:`sm:grid-cols-4`,6:`sm:grid-cols-6`,12:`sm:grid-cols-12`},md:{1:`md:grid-cols-1`,2:`md:grid-cols-2`,3:`md:grid-cols-3`,4:`md:grid-cols-4`,6:`md:grid-cols-6`,12:`md:grid-cols-12`},lg:{1:`lg:grid-cols-1`,2:`lg:grid-cols-2`,3:`lg:grid-cols-3`,4:`lg:grid-cols-4`,6:`lg:grid-cols-6`,12:`lg:grid-cols-12`},xl:{1:`xl:grid-cols-1`,2:`xl:grid-cols-2`,3:`xl:grid-cols-3`,4:`xl:grid-cols-4`,6:`xl:grid-cols-6`,12:`xl:grid-cols-12`},"2xl":{1:`2xl:grid-cols-1`,2:`2xl:grid-cols-2`,3:`2xl:grid-cols-3`,4:`2xl:grid-cols-4`,6:`2xl:grid-cols-6`,12:`2xl:grid-cols-12`}};function A(e){if(!e)return`grid-cols-1`;let t=[];for(let[n,r]of Object.entries(e)){let e=ee[n];if(e&&r){let n=Object.keys(e).map(Number).reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e);t.push(e[n])}}return t.join(` `)||`grid-cols-1`}var j={0:`gap-0`,1:`gap-1`,2:`gap-2`,3:`gap-3`,4:`gap-4`,5:`gap-5`,6:`gap-6`,8:`gap-8`},te=({columns:e,gap:t=4,className:n,children:i})=>(0,x.jsx)(`div`,{className:(0,r.cn)(`grid`,A(e),typeof t==`number`?j[t]||`gap-${t}`:``,n),children:i});function M(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}var N=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function P(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function F(e){return`nodeType`in e}function I(e){return e?P(e)?e:F(e)?e.ownerDocument?.defaultView??window:window:window}function L(e){let{Document:t}=I(e);return e instanceof t}function R(e){return P(e)?!1:e instanceof I(e).HTMLElement}function ne(e){return e instanceof I(e).SVGElement}function z(e){return e?P(e)?e.document:F(e)?L(e)?e:R(e)||ne(e)?e.ownerDocument:document:document:document}var B=N?n.useLayoutEffect:n.useEffect;function V(e){let t=(0,n.useRef)(e);return B(()=>{t.current=e}),(0,n.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.current==null?void 0:t.current(...n)},[])}function H(){let e=(0,n.useRef)(null);return[(0,n.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,n.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function U(e,t){t===void 0&&(t=[e]);let r=(0,n.useRef)(e);return B(()=>{r.current!==e&&(r.current=e)},t),r}function W(e,t){let r=(0,n.useRef)();return(0,n.useMemo)(()=>{let t=e(r.current);return r.current=t,t},[...t])}function re(e){let t=V(e),r=(0,n.useRef)(null);return[r,(0,n.useCallback)(e=>{e!==r.current&&t?.(e,r.current),r.current=e},[])]}function G(e){let t=(0,n.useRef)();return(0,n.useEffect)(()=>{t.current=e},[e]),t.current}var ie={};function ae(e,t){return(0,n.useMemo)(()=>{if(t)return t;let n=ie[e]==null?0:ie[e]+1;return ie[e]=n,e+`-`+n},[e,t])}function oe(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var se=oe(1),ce=oe(-1);function le(e){return`clientX`in e&&`clientY`in e}function ue(e){if(!e)return!1;let{KeyboardEvent:t}=I(e.target);return t&&e instanceof t}function K(e){if(!e)return!1;let{TouchEvent:t}=I(e.target);return t&&e instanceof t}function de(e){if(K(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return le(e)?{x:e.clientX,y:e.clientY}:null}var q=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[q.Translate.toString(e),q.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),fe=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function pe(e){return e.matches(fe)?e:e.querySelector(fe)}var me={display:`none`};function he(e){let{id:t,value:r}=e;return n.default.createElement(`div`,{id:t,style:me},r)}function ge(e){let{id:t,announcement:r,ariaLiveType:i=`assertive`}=e;return n.default.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":i,"aria-atomic":!0},r)}function _e(){let[e,t]=(0,n.useState)(``);return{announce:(0,n.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var ve=(0,n.createContext)(null);function ye(e){let t=(0,n.useContext)(ve);(0,n.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function be(){let[e]=(0,n.useState)(()=>new Set),t=(0,n.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,n.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var xe={draggable:`
|
|
7
|
-
To pick up a draggable item, press the space bar.
|
|
8
|
-
While dragging, use the arrow keys to move the item.
|
|
9
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
10
|
-
`},Se={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function Ce(e){let{announcements:t=Se,container:r,hiddenTextDescribedById:i,screenReaderInstructions:a=xe}=e,{announce:s,announcement:c}=_e(),l=ae(`DndLiveRegion`),[u,d]=(0,n.useState)(!1);if((0,n.useEffect)(()=>{d(!0)},[]),ye((0,n.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;let f=n.default.createElement(n.default.Fragment,null,n.default.createElement(he,{id:i,value:a.draggable}),n.default.createElement(ge,{id:l,announcement:c}));return r?(0,o.createPortal)(f,r):f}var J;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(J||={});function Y(){}function we(e,t){return(0,n.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Te(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.useMemo)(()=>[...t].filter(e=>e!=null),[...t])}var X=Object.freeze({x:0,y:0});function Ee(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function De(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Oe(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function ke(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ae(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var je=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Ae(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Ee(Ae(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(De)};function Me(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Ne=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Me(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Oe)};function Pe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Fe(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:X}function Ie(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Le=Ie(1);function Re(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function ze(e,t,n){let r=Re(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Be={ignoreTransform:!1};function Ve(e,t){t===void 0&&(t=Be);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=I(e).getComputedStyle(e);t&&(n=ze(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function He(e){return Ve(e,{ignoreTransform:!0})}function Ue(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function We(e,t){return t===void 0&&(t=I(e).getComputedStyle(e)),t.position===`fixed`}function Ge(e,t){t===void 0&&(t=I(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function Ke(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(L(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!R(i)||ne(i)||n.includes(i))return n;let a=I(e).getComputedStyle(i);return i!==e&&Ge(i,a)&&n.push(i),We(i,a)?n:r(i.parentNode)}return e?r(e):n}function qe(e){let[t]=Ke(e,1);return t??null}function Je(e){return!N||!e?null:P(e)?e:F(e)?L(e)||e===z(e).scrollingElement?window:R(e)?e:null:null}function Ye(e){return P(e)?e.scrollX:e.scrollLeft}function Xe(e){return P(e)?e.scrollY:e.scrollTop}function Ze(e){return{x:Ye(e),y:Xe(e)}}var Z;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Z||={});function Qe(e){return!N||!e?!1:e===document.scrollingElement}function $e(e){let t={x:0,y:0},n=Qe(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var et={x:.2,y:.2};function tt(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=et);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=$e(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Z.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Z.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Z.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Z.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function nt(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rt(e){return e.reduce((e,t)=>se(e,Ze(t)),X)}function it(e){return e.reduce((e,t)=>e+Ye(t),0)}function at(e){return e.reduce((e,t)=>e+Xe(t),0)}function ot(e,t){if(t===void 0&&(t=Ve),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);qe(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var st=[[`x`,[`left`,`right`],it],[`y`,[`top`,`bottom`],at]],ct=class{constructor(e,t){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;let n=Ke(t),r=rt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of st)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},lt=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function ut(e){let{EventTarget:t}=I(e);return e instanceof t?e:z(e)}function dt(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var Q;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Q||={});function ft(e){e.preventDefault()}function pt(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var mt={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},ht=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},gt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new lt(z(t)),this.windowListeners=new lt(I(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Q.Resize,this.handleCancel),this.windowListeners.add(Q.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Q.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&ot(n),t(X)}handleKeyDown(e){if(ue(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=mt,coordinateGetter:a=ht,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:X;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=ce(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=$e(n),p=nt(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,se(ce(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};gt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=mt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function _t(e){return!!(e&&`distance`in e)}function vt(e){return!!(e&&`delay`in e)}var yt=class{constructor(e,t,n){n===void 0&&(n=ut(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=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=z(i),this.documentListeners=new lt(this.document),this.listeners=new lt(n),this.windowListeners=new lt(I(i)),this.initialCoordinates=de(r)??X,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(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=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(Q.Resize,this.handleCancel),this.windowListeners.add(Q.DragStart,ft),this.windowListeners.add(Q.VisibilityChange,this.handleCancel),this.windowListeners.add(Q.ContextMenu,ft),this.documentListeners.add(Q.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(vt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(_t(t)){this.handlePending(t);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,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Q.Click,pt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Q.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=de(e)??X,s=ce(n,o);if(!t&&a){if(_t(a)){if(a.tolerance!=null&&dt(s,a.tolerance))return this.handleCancel();if(dt(s,a.distance))return this.handleStart()}if(vt(a)&&dt(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},bt={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},xt=class extends yt{constructor(e){let{event:t}=e,n=z(t.target);super(e,bt,n)}};xt.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var St={move:{name:`mousemove`},end:{name:`mouseup`}},Ct;(function(e){e[e.RightClick=2]=`RightClick`})(Ct||={});var wt=class extends yt{constructor(e){super(e,St,z(e.event.target))}};wt.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Ct.RightClick?!1:(r?.({event:n}),!0)}}];var Tt={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Et=class extends yt{constructor(e){super(e,Tt)}static setup(){return window.addEventListener(Tt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Tt.move.name,e)};function e(){}}};Et.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Dt;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Dt||={});var Ot;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Ot||={});function kt(e){let{acceleration:t,activator:r=Dt.Pointer,canScroll:i,draggingRect:a,enabled:o,interval:s=5,order:c=Ot.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=jt({delta:f,disabled:!o}),[h,g]=H(),_=(0,n.useRef)({x:0,y:0}),v=(0,n.useRef)({x:0,y:0}),y=(0,n.useMemo)(()=>{switch(r){case Dt.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Dt.DraggableRect:return a}},[r,a,l]),b=(0,n.useRef)(null),x=(0,n.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,n.useMemo)(()=>c===Ot.TreeOrder?[...u].reverse():u,[c,u]);(0,n.useEffect)(()=>{if(!o||!u.length||!y){g();return}for(let e of S){if(i?.(e)===!1)continue;let n=d[u.indexOf(e)];if(!n)continue;let{direction:r,speed:a}=tt(e,n,y,t,p);for(let e of[`x`,`y`])m[e][r[e]]||(a[e]=0,r[e]=0);if(a.x>0||a.y>0){g(),b.current=e,h(x,s),_.current=a,v.current=r;return}}_.current={x:0,y:0},v.current={x:0,y:0},g()},[t,x,i,g,o,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}var At={x:{[Z.Backward]:!1,[Z.Forward]:!1},y:{[Z.Backward]:!1,[Z.Forward]:!1}};function jt(e){let{delta:t,disabled:n}=e,r=G(t);return W(e=>{if(n||!r||!e)return At;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Z.Backward]:e.x[Z.Backward]||i.x===-1,[Z.Forward]:e.x[Z.Forward]||i.x===1},y:{[Z.Backward]:e.y[Z.Backward]||i.y===-1,[Z.Forward]:e.y[Z.Forward]||i.y===1}}},[n,t,r])}function Mt(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return W(e=>t==null?null:r??e??null,[r,t])}function Nt(e,t){return(0,n.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Pt;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Pt||={});var Ft;(function(e){e.Optimized=`optimized`})(Ft||={});var It=new Map;function Lt(e,t){let{dragging:r,dependencies:i,config:a}=t,[o,s]=(0,n.useState)(null),{frequency:c,measure:l,strategy:u}=a,d=(0,n.useRef)(e),f=_(),p=U(f),m=(0,n.useCallback)(function(e){e===void 0&&(e=[]),!p.current&&s(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),h=(0,n.useRef)(null),g=W(t=>{if(f&&!r)return It;if(!t||t===It||d.current!==e||o!=null){let t=new Map;for(let n of e){if(!n)continue;if(o&&o.length>0&&!o.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new ct(l(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,o,r,f,l]);return(0,n.useEffect)(()=>{d.current=e},[e]),(0,n.useEffect)(()=>{f||m()},[r,f]),(0,n.useEffect)(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),(0,n.useEffect)(()=>{f||typeof c!=`number`||h.current!==null||(h.current=setTimeout(()=>{m(),h.current=null},c))},[c,f,m,...i]),{droppableRects:g,measureDroppableContainers:m,measuringScheduled:o!=null};function _(){switch(u){case Pt.Always:return!1;case Pt.BeforeDragging:return r;default:return!r}}}function Rt(e,t){return W(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function zt(e,t){return Rt(e,t)}function Bt(e){let{callback:t,disabled:r}=e,i=V(t),a=(0,n.useMemo)(()=>{if(r||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(i)},[i,r]);return(0,n.useEffect)(()=>()=>a?.disconnect(),[a]),a}function Vt(e){let{callback:t,disabled:r}=e,i=V(t),a=(0,n.useMemo)(()=>{if(r||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(i)},[r]);return(0,n.useEffect)(()=>()=>a?.disconnect(),[a]),a}function Ht(e){return new ct(Ve(e),e)}function Ut(e,t,r){t===void 0&&(t=Ht);let[i,a]=(0,n.useState)(null);function o(){a(n=>{if(!e)return null;if(e.isConnected===!1)return n??r??null;let i=t(e);return JSON.stringify(n)===JSON.stringify(i)?n:i})}let s=Bt({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){o();break}}}}),c=Vt({callback:o});return B(()=>{o(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),i}function Wt(e){return Fe(e,Rt(e))}var Gt=[];function Kt(e){let t=(0,n.useRef)(e),r=W(n=>e?n&&n!==Gt&&e&&t.current&&e.parentNode===t.current.parentNode?n:Ke(e):Gt,[e]);return(0,n.useEffect)(()=>{t.current=e},[e]),r}function qt(e){let[t,r]=(0,n.useState)(null),i=(0,n.useRef)(e),a=(0,n.useCallback)(e=>{let t=Je(e.target);t&&r(e=>e?(e.set(t,Ze(t)),new Map(e)):null)},[]);return(0,n.useEffect)(()=>{let t=i.current;if(e!==t){n(t);let o=e.map(e=>{let t=Je(e);return t?(t.addEventListener(`scroll`,a,{passive:!0}),[t,Ze(t)]):null}).filter(e=>e!=null);r(o.length?new Map(o):null),i.current=e}return()=>{n(e),n(t)};function n(e){e.forEach(e=>{Je(e)?.removeEventListener(`scroll`,a)})}},[a,e]),(0,n.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>se(e,t),X):rt(e):X,[e,t])}function Jt(e,t){t===void 0&&(t=[]);let r=(0,n.useRef)(null);return(0,n.useEffect)(()=>{r.current=null},t),(0,n.useEffect)(()=>{let t=e!==X;t&&!r.current&&(r.current=e),!t&&r.current&&(r.current=null)},[e]),r.current?ce(e,r.current):X}function Yt(e){(0,n.useEffect)(()=>{if(!N)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Xt(e,t){return(0,n.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Zt(e){return(0,n.useMemo)(()=>e?Ue(e):null,[e])}var Qt=[];function $t(e,t){t===void 0&&(t=Ve);let[r]=e,i=Zt(r?I(r):null),[a,o]=(0,n.useState)(Qt);function s(){o(()=>e.length?e.map(e=>Qe(e)?i:new ct(t(e),e)):Qt)}let c=Vt({callback:s});return B(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),a}function en(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return R(t)?t:e}function tn(e){let{measure:t}=e,[r,i]=(0,n.useState)(null),a=Vt({callback:(0,n.useCallback)(e=>{for(let{target:n}of e)if(R(n)){i(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[o,s]=re((0,n.useCallback)(e=>{let n=en(e);a?.disconnect(),n&&a?.observe(n),i(n?t(n):null)},[t,a]));return(0,n.useMemo)(()=>({nodeRef:o,rect:r,setRef:s}),[r,o,s])}var nn=[{sensor:xt,options:{}},{sensor:gt,options:{}}],rn={current:{}},an={draggable:{measure:He},droppable:{measure:He,strategy:Pt.WhileDragging,frequency:Ft.Optimized},dragOverlay:{measure:Ve}},on=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},sn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new on,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Y},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:an,measureDroppableContainers:Y,windowRect:null,measuringScheduled:!1},cn={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Y,draggableNodes:new Map,over:null,measureDroppableContainers:Y},ln=(0,n.createContext)(cn),un=(0,n.createContext)(sn);function dn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new on}}}function fn(e,t){switch(t.type){case J.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case J.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case J.DragEnd:case J.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case J.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new on(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case J.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new on(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case J.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new on(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function pn(e){let{disabled:t}=e,{active:r,activatorEvent:i,draggableNodes:a}=(0,n.useContext)(ln),o=G(i),s=G(r?.id);return(0,n.useEffect)(()=>{if(!t&&!i&&o&&s!=null){if(!ue(o)||document.activeElement===o.target)return;let e=a.get(s);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=pe(e);if(t){t.focus();break}}})}},[i,t,a,s,o]),null}function mn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function hn(e){return(0,n.useMemo)(()=>({draggable:{...an.draggable,...e?.draggable},droppable:{...an.droppable,...e?.droppable},dragOverlay:{...an.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function gn(e){let{activeNode:t,measure:r,initialRect:i,config:a=!0}=e,o=(0,n.useRef)(!1),{x:s,y:c}=typeof a==`boolean`?{x:a,y:a}:a;B(()=>{if(!s&&!c||!t){o.current=!1;return}if(o.current||!i)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let n=Fe(r(e),i);if(s||(n.x=0),c||(n.y=0),o.current=!0,Math.abs(n.x)>0||Math.abs(n.y)>0){let t=qe(e);t&&t.scrollBy({top:n.y,left:n.x})}},[t,s,c,i,r])}var _n=(0,n.createContext)({...X,scaleX:1,scaleY:1}),vn;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(vn||={});var yn=(0,n.memo)(function(e){let{id:t,accessibility:r,autoScroll:i=!0,children:a,sensors:s=nn,collisionDetection:c=Ne,measuring:l,modifiers:u,...d}=e,[f,p]=(0,n.useReducer)(fn,void 0,dn),[m,h]=be(),[g,_]=(0,n.useState)(vn.Uninitialized),v=g===vn.Initialized,{draggable:{active:y,nodes:b,translate:x},droppable:{containers:S}}=f,C=y==null?null:b.get(y),w=(0,n.useRef)({initial:null,translated:null}),T=(0,n.useMemo)(()=>y==null?null:{id:y,data:C?.data??rn,rect:w},[y,C]),E=(0,n.useRef)(null),[D,O]=(0,n.useState)(null),[k,ee]=(0,n.useState)(null),A=U(d,Object.values(d)),j=ae(`DndDescribedBy`,t),te=(0,n.useMemo)(()=>S.getEnabled(),[S]),M=hn(l),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:F}=Lt(te,{dragging:v,dependencies:[x.x,x.y],config:M.droppable}),L=Mt(b,y),R=(0,n.useMemo)(()=>k?de(k):null,[k]),ne=je(),z=zt(L,M.draggable.measure);gn({activeNode:y==null?null:b.get(y),config:ne.layoutShiftCompensation,initialRect:z,measure:M.draggable.measure});let V=Ut(L,M.draggable.measure,z),H=Ut(L?L.parentElement:null),W=(0,n.useRef)({activatorEvent:null,active:null,activeNode:L,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:b,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),re=S.getNodeFor(W.current.over?.id),G=tn({measure:M.dragOverlay.measure}),ie=G.nodeRef.current??L,oe=v?G.rect??V:null,ce=!!(G.nodeRef.current&&G.rect),le=Wt(ce?null:V),ue=Zt(ie?I(ie):null),K=Kt(v?re??L:null),q=$t(K),fe=mn(u,{transform:{x:x.x-le.x,y:x.y-le.y,scaleX:1,scaleY:1},activatorEvent:k,active:T,activeNodeRect:V,containerNodeRect:H,draggingNodeRect:oe,over:W.current.over,overlayNodeRect:G.rect,scrollableAncestors:K,scrollableAncestorRects:q,windowRect:ue}),pe=R?se(R,x):null,me=qt(K),he=Jt(me),ge=Jt(me,[V]),_e=se(fe,he),ye=oe?Le(oe,fe):null,xe=T&&ye?c({active:T,collisionRect:ye,droppableRects:N,droppableContainers:te,pointerCoordinates:pe}):null,Se=ke(xe,`id`),[Y,we]=(0,n.useState)(null),Te=Pe(ce?fe:se(fe,ge),Y?.rect??null,V),X=(0,n.useRef)(null),Ee=(0,n.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(E.current==null)return;let i=b.get(E.current);if(!i)return;let a=e.nativeEvent;X.current=new n({active:E.current,activeNode:i,event:a,options:r,context:W,onAbort(e){if(!b.get(e))return;let{onDragAbort:t}=A.current,n={id:e};t?.(n),m({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!b.get(e))return;let{onDragPending:i}=A.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),m({type:`onDragPending`,event:a})},onStart(e){let t=E.current;if(t==null)return;let n=b.get(t);if(!n)return;let{onDragStart:r}=A.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:w}};(0,o.unstable_batchedUpdates)(()=>{r?.(i),_(vn.Initializing),p({type:J.DragStart,initialCoordinates:e,active:t}),m({type:`onDragStart`,event:i}),O(X.current),ee(a)})},onMove(e){p({type:J.DragMove,coordinates:e})},onEnd:s(J.DragEnd),onCancel:s(J.DragCancel)});function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=W.current,s=null;if(t&&i){let{cancelDrop:o}=A.current;s={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===J.DragEnd&&typeof o==`function`&&await Promise.resolve(o(s))&&(e=J.DragCancel)}E.current=null,(0,o.unstable_batchedUpdates)(()=>{p({type:e}),_(vn.Uninitialized),we(null),O(null),ee(null),X.current=null;let t=e===J.DragEnd?`onDragEnd`:`onDragCancel`;if(s){let e=A.current[t];e?.(s),m({type:t,event:s})}})}}},[b]),De=Nt(s,(0,n.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=b.get(r);if(E.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},E.current=r,Ee(n,t))},[b,Ee]));Yt(s),B(()=>{V&&g===vn.Initializing&&_(vn.Initialized)},[V,g]),(0,n.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=W.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:_e.x,y:_e.y},over:i};(0,o.unstable_batchedUpdates)(()=>{e?.(a),m({type:`onDragMove`,event:a})})},[_e.x,_e.y]),(0,n.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=W.current;if(!e||E.current==null||!t||!i)return;let{onDragOver:a}=A.current,s=r.get(Se),c=s&&s.rect.current?{id:s.id,rect:s.rect.current,data:s.data,disabled:s.disabled}:null,l={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:c};(0,o.unstable_batchedUpdates)(()=>{we(c),a?.(l),m({type:`onDragOver`,event:l})})},[Se]),B(()=>{W.current={activatorEvent:k,active:T,activeNode:L,collisionRect:ye,collisions:xe,droppableRects:N,draggableNodes:b,draggingNode:ie,draggingNodeRect:oe,droppableContainers:S,over:Y,scrollableAncestors:K,scrollAdjustedTranslate:_e},w.current={initial:oe,translated:ye}},[T,L,xe,ye,b,ie,oe,N,S,Y,K,_e]),kt({...ne,delta:x,draggingRect:ye,pointerCoordinates:pe,scrollableAncestors:K,scrollableAncestorRects:q});let Oe=(0,n.useMemo)(()=>({active:T,activeNode:L,activeNodeRect:V,activatorEvent:k,collisions:xe,containerNodeRect:H,dragOverlay:G,draggableNodes:b,droppableContainers:S,droppableRects:N,over:Y,measureDroppableContainers:P,scrollableAncestors:K,scrollableAncestorRects:q,measuringConfiguration:M,measuringScheduled:F,windowRect:ue}),[T,L,V,k,xe,H,G,b,S,N,Y,P,K,q,M,F,ue]),Ae=(0,n.useMemo)(()=>({activatorEvent:k,activators:De,active:T,activeNodeRect:V,ariaDescribedById:{draggable:j},dispatch:p,draggableNodes:b,over:Y,measureDroppableContainers:P}),[k,De,T,V,p,j,b,Y,P]);return n.default.createElement(ve.Provider,{value:h},n.default.createElement(ln.Provider,{value:Ae},n.default.createElement(un.Provider,{value:Oe},n.default.createElement(_n.Provider,{value:Te},a)),n.default.createElement(pn,{disabled:r?.restoreFocus===!1})),n.default.createElement(Ce,{...r,hiddenTextDescribedById:j}));function je(){let e=D?.autoScrollEnabled===!1,t=typeof i==`object`?i.enabled===!1:i===!1,n=v&&!e&&!t;return typeof i==`object`?{...i,enabled:n}:{enabled:n}}}),bn=(0,n.createContext)(null),xn=`button`,Sn=`Draggable`;function Cn(e){let{id:t,data:r,disabled:i=!1,attributes:a}=e,o=ae(Sn),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,n.useContext)(ln),{role:m=xn,roleDescription:h=`draggable`,tabIndex:g=0}=a??{},_=l?.id===t,v=(0,n.useContext)(_?_n:bn),[y,b]=re(),[x,S]=re(),C=Xt(s,t),w=U(r);return B(()=>(f.set(t,{id:t,key:o,node:y,activatorNode:x,data:w}),()=>{let e=f.get(t);e&&e.key===o&&f.delete(t)}),[f,t]),{active:l,activatorEvent:c,activeNodeRect:u,attributes:(0,n.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":i,"aria-pressed":_&&m===xn?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[i,m,g,_,h,d.draggable]),isDragging:_,listeners:i?void 0:C,node:y,over:p,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function wn(){return(0,n.useContext)(un)}var Tn=`Droppable`,En={timeout:25};function Dn(e){let{data:t,disabled:r=!1,id:i,resizeObserverConfig:a}=e,o=ae(Tn),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,n.useContext)(ln),d=(0,n.useRef)({disabled:r}),f=(0,n.useRef)(!1),p=(0,n.useRef)(null),m=(0,n.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...En,...a},v=U(g??i),y=Vt({callback:(0,n.useCallback)(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),m.current=null},_)},[_]),disabled:h||!s}),[b,x]=re((0,n.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),S=U(t);return(0,n.useEffect)(()=>{!y||!b.current||(y.disconnect(),f.current=!1,y.observe(b.current))},[b,y]),(0,n.useEffect)(()=>(c({type:J.RegisterDroppable,element:{id:i,key:o,disabled:r,node:b,rect:p,data:S}}),()=>c({type:J.UnregisterDroppable,key:o,id:i})),[i]),(0,n.useEffect)(()=>{r!==d.current.disabled&&(c({type:J.SetDroppableDisabled,id:i,key:o,disabled:r}),d.current.disabled=r)},[i,o,r,c]),{active:s,rect:p,isOver:l?.id===i,node:b,over:l,setNodeRef:x}}function On(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function kn(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function An(e){return e!==null&&e>=0}function jn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Mn(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Nn=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=On(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Pn={scaleX:1,scaleY:1},Fn=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Pn}:null}let s=In(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Pn}:r<t&&r>=a?{x:0,y:o.height+s,...Pn}:{x:0,y:0,...Pn}};function In(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Ln=`Sortable`,Rn=n.default.createContext({activeIndex:-1,containerId:Ln,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Nn,disabled:{draggable:!1,droppable:!1}});function zn(e){let{children:t,id:r,items:i,strategy:a=Nn,disabled:o=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=wn(),f=ae(Ln,r),p=c.rect!==null,m=(0,n.useMemo)(()=>i.map(e=>typeof e==`object`&&`id`in e?e.id:e),[i]),h=s!=null,g=s?m.indexOf(s.id):-1,_=u?m.indexOf(u.id):-1,v=(0,n.useRef)(m),y=!jn(m,v.current),b=_!==-1&&g===-1||y,x=Mn(o);B(()=>{y&&h&&d(m)},[y,m,h,d]),(0,n.useEffect)(()=>{v.current=m},[m]);let S=(0,n.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:kn(m,l),strategy:a}),[g,f,x.draggable,x.droppable,b,m,_,l,p,a]);return n.default.createElement(Rn.Provider,{value:S},t)}var Bn=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return On(n,r,i).indexOf(t)},Vn=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Hn={duration:200,easing:`ease`},Un=`transform`,Wn=q.Transition.toString({property:Un,duration:0,easing:`linear`}),Gn={roleDescription:`sortable`};function Kn(e){let{disabled:t,index:r,node:i,rect:a}=e,[o,s]=(0,n.useState)(null),c=(0,n.useRef)(r);return B(()=>{if(!t&&r!==c.current&&i.current){let e=a.current;if(e){let t=Ve(i.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&s(n)}}r!==c.current&&(c.current=r)},[t,r,i,a]),(0,n.useEffect)(()=>{o&&s(null)},[o]),o}function qn(e){let{animateLayoutChanges:t=Vn,attributes:r,disabled:i,data:a,getNewIndex:o=Bn,id:s,strategy:c,resizeObserverConfig:l,transition:u=Hn}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,n.useContext)(Rn),b=Jn(i,m),x=d.indexOf(s),S=(0,n.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...a}),[f,a,x,d]),C=(0,n.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:D}=Dn({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:O,activatorEvent:k,activeNodeRect:ee,attributes:A,setNodeRef:j,listeners:te,isDragging:N,over:P,setActivatorNodeRef:F,transform:I}=Cn({id:s,data:S,attributes:{...Gn,...r},disabled:b.draggable}),L=M(D,j),R=!!O,ne=R&&!h&&An(p)&&An(_),z=!v&&N,B=ne?(z&&ne?I:null)??(c??y)({rects:g,activeNodeRect:ee,activeIndex:p,overIndex:_,index:x}):null,V=An(p)&&An(_)?o({id:s,items:d,activeIndex:p,overIndex:_}):x,H=O?.id,U=(0,n.useRef)({activeId:H,items:d,newIndex:V,containerId:f}),W=d!==U.current.items,re=t({active:O,containerId:f,isDragging:N,isSorting:R,id:s,index:x,items:d,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:u,wasDragging:U.current.activeId!=null}),G=Kn({disabled:!re,index:x,node:T,rect:w});return(0,n.useEffect)(()=>{R&&U.current.newIndex!==V&&(U.current.newIndex=V),f!==U.current.containerId&&(U.current.containerId=f),d!==U.current.items&&(U.current.items=d)},[R,V,f,d]),(0,n.useEffect)(()=>{if(H===U.current.activeId)return;if(H!=null&&U.current.activeId==null){U.current.activeId=H;return}let e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:O,activeIndex:p,attributes:A,data:S,rect:w,index:x,newIndex:V,items:d,isOver:E,isSorting:R,isDragging:N,listeners:te,node:T,overIndex:_,over:P,setNodeRef:L,setActivatorNodeRef:F,setDroppableNodeRef:D,setDraggableNodeRef:j,transform:G??B,transition:ie()};function ie(){if(G||W&&U.current.newIndex===x)return Wn;if(!(z&&!ue(k)||!u)&&(R||re))return q.Transition.toString({...u,property:Un})}}function Jn(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}$.Down,$.Right,$.Up,$.Left;function Yn(e){return e?(0,r.getLazyIcon)(e):a.FileText}function Xn(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function Zn(e,t,n,r,i){let a=Xn(e.label,n);return typeof e.label==`string`?t&&e.type===`object`&&e.objectName?t(e.objectName,a):r&&e.type===`dashboard`&&e.dashboardName?r(e.dashboardName,a):i&&e.type===`group`&&e.id?i(e.id,a):a:a}var Qn=e=>!(e===!1||e===`false`),$n=()=>!0;function er(e,t){switch(e.type){case`object`:{let n=`${t}/${e.objectName??``}`;return{href:e.viewName?`${n}/view/${e.viewName}`:n,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:return{href:e.pageName?`${t}/page/${e.pageName}`:`#`,external:!1};case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};default:return{href:`#`,external:!1}}}function tr(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=tr(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return Xn(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var nr=5;function rr({item:e,basePath:t,evalVis:n,checkPerm:r,onAction:i,enablePinning:a,onPinToggle:o,enableReorder:s,resolveObjectLabel:c,resolveDashboardLabel:l,resolveGroupLabel:u,t:d}){let{attributes:f,listeners:p,setNodeRef:m,transform:h,transition:g,isDragging:_}=qn({id:e.id,disabled:!s});return(0,x.jsx)(`div`,{ref:m,style:{transform:q.Transform.toString(h),transition:g,opacity:_?.5:void 0,zIndex:_?10:void 0},...f,children:(0,x.jsx)(ir,{item:e,basePath:t,evalVis:n,checkPerm:r,onAction:i,enablePinning:a,onPinToggle:o,dragListeners:s?p:void 0,resolveObjectLabel:c,resolveDashboardLabel:l,resolveGroupLabel:u,t:d})})}function ir({item:e,basePath:t,evalVis:n,checkPerm:o,onAction:s,enablePinning:c,onPinToggle:l,dragListeners:u,resolveObjectLabel:d,resolveDashboardLabel:f,resolveGroupLabel:p,t:m}){let h=(0,i.useLocation)(),[g,_]=(0,v.useState)(e.defaultOpen!==!1);if(!n(e.visible)||e.requiredPermissions?.length&&!o(e.requiredPermissions))return null;if(e.type===`separator`)return(0,x.jsx)(r.Separator,{className:`my-2`});if(e.type===`group`){let i=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0));return(0,x.jsx)(r.Collapsible,{open:g,onOpenChange:_,children:(0,x.jsxs)(r.SidebarGroup,{children:[(0,x.jsx)(r.SidebarGroupLabel,{asChild:!0,children:(0,x.jsxs)(r.CollapsibleTrigger,{className:`flex w-full items-center justify-between`,children:[Zn(e,d,m,f,p),(0,x.jsx)(a.ChevronRight,{className:`ml-auto h-4 w-4 transition-transform ${g?`rotate-90`:``}`})]})}),(0,x.jsx)(r.CollapsibleContent,{children:(0,x.jsx)(r.SidebarGroupContent,{children:(0,x.jsx)(r.SidebarMenu,{children:i.map(e=>(0,x.jsx)(ir,{item:e,basePath:t,evalVis:n,checkPerm:o,onAction:s,enablePinning:c,onPinToggle:l,resolveObjectLabel:d,resolveDashboardLabel:f,resolveGroupLabel:p,t:m},e.id))})})})]})})}if(e.type===`action`){let t=Yn(e.icon),n=Xn(e.label,m);return(0,x.jsxs)(r.SidebarMenuItem,{children:[u&&(0,x.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":m?m(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...u,children:(0,x.jsx)(a.GripVertical,{className:`h-3.5 w-3.5`})}),(0,x.jsxs)(r.SidebarMenuButton,{tooltip:n,onClick:()=>s?.(e),children:[(0,x.jsx)(t,{className:`h-4 w-4`}),(0,x.jsx)(`span`,{children:n}),e.badge!=null&&(0,x.jsx)(r.Badge,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),c&&l&&(0,x.jsx)(r.SidebarMenuAction,{showOnHover:!0,onClick:()=>l(e.id,!e.pinned),"aria-label":m?m(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${n}`:`Pin ${n}`,name:n}):e.pinned?`Unpin ${n}`:`Pin ${n}`,children:e.pinned?(0,x.jsx)(a.PinOff,{className:`h-3.5 w-3.5`}):(0,x.jsx)(a.Pin,{className:`h-3.5 w-3.5`})})]})}let y=Yn(e.icon),{href:b,external:S}=er(e,t),C=b!==`#`&&h.pathname.startsWith(b),w=Zn(e,d,m,f,p),T=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(y,{className:`h-4 w-4`}),(0,x.jsx)(`span`,{children:w}),e.badge!=null&&(0,x.jsx)(r.Badge,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,x.jsxs)(r.SidebarMenuItem,{children:[u&&(0,x.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":m?m(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...u,children:(0,x.jsx)(a.GripVertical,{className:`h-3.5 w-3.5`})}),(0,x.jsx)(r.SidebarMenuButton,{asChild:!0,isActive:C,tooltip:w,children:S?(0,x.jsx)(`a`,{href:b,target:`_blank`,rel:`noopener noreferrer`,children:T}):(0,x.jsx)(i.Link,{to:b,children:T})}),c&&l&&(0,x.jsx)(r.SidebarMenuAction,{showOnHover:!0,onClick:()=>l(e.id,!e.pinned),"aria-label":m?m(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${w}`:`Pin ${w}`,name:w}):e.pinned?`Unpin ${w}`:`Pin ${w}`,children:e.pinned?(0,x.jsx)(a.PinOff,{className:`h-3.5 w-3.5`}):(0,x.jsx)(a.Pin,{className:`h-3.5 w-3.5`})})]})}function ar({items:e,basePath:t=``,evaluateVisibility:n=Qn,checkPermission:i=$n,onAction:o,searchQuery:s,enablePinning:c,onPinToggle:l,enableReorder:u,onReorder:d,resolveObjectLabel:f,resolveDashboardLabel:p,resolveGroupLabel:m,t:h}){let g=(0,v.useMemo)(()=>s?tr(e,s):e,[e,s]),_=(0,v.useMemo)(()=>or(g),[g]),y=g.slice().sort((e,t)=>(e.order??0)-(t.order??0)),b=Te(we(xt,{activationConstraint:{distance:nr}}),we(gt)),S=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!d)return;let r=y.findIndex(e=>e.id===t.id),i=y.findIndex(e=>e.id===n.id);r===-1||i===-1||d(On(y,r,i).map((e,t)=>({...e,order:t})))},C={basePath:t,evalVis:n,checkPerm:i,onAction:o,enablePinning:c,onPinToggle:l,resolveObjectLabel:f,resolveDashboardLabel:p,resolveGroupLabel:m,t:h},w=y.some(e=>e.type===`group`),T=_.length>0&&c?(0,x.jsxs)(r.SidebarGroup,{children:[(0,x.jsxs)(r.SidebarGroupLabel,{className:`flex items-center gap-1.5`,children:[(0,x.jsx)(a.Star,{className:`h-3.5 w-3.5`}),h?h(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,x.jsx)(r.SidebarGroupContent,{children:(0,x.jsx)(r.SidebarMenu,{children:_.map(e=>(0,x.jsx)(ir,{item:e,...C},`fav-${e.id}`))})})]}):null;if(!w){let e=y.filter(e=>e.type!==`group`).map(e=>e.id);return(0,x.jsxs)(x.Fragment,{children:[T,(0,x.jsx)(r.SidebarGroup,{children:(0,x.jsx)(r.SidebarGroupContent,{children:u?(0,x.jsx)(yn,{sensors:b,collisionDetection:je,onDragEnd:S,children:(0,x.jsx)(zn,{items:e,strategy:Fn,children:(0,x.jsx)(r.SidebarMenu,{children:y.map(e=>(0,x.jsx)(rr,{item:e,enableReorder:u,...C},e.id))})})}):(0,x.jsx)(r.SidebarMenu,{children:y.map(e=>(0,x.jsx)(ir,{item:e,...C},e.id))})})})]})}let E=[],D=[],O=e=>{if(D.length===0)return;let t=D;D=[],E.push((0,x.jsx)(r.SidebarGroup,{children:(0,x.jsx)(r.SidebarGroupContent,{children:(0,x.jsx)(r.SidebarMenu,{children:t.map(e=>(0,x.jsx)(ir,{item:e,...C},e.id))})})},e))};return y.forEach((e,t)=>{e.type===`group`?(O(`leaf-${t}`),E.push((0,x.jsx)(ir,{item:e,...C},e.id))):D.push(e)}),O(`leaf-end`),(0,x.jsxs)(x.Fragment,{children:[T,E]})}function or(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...or(n.children));return t}function sr({areas:e,activeAreaId:t,onAreaChange:n,evalVis:i,checkPerm:o}){let s=e.filter(e=>!(!i(e.visible)||e.requiredPermissions?.length&&!o(e.requiredPermissions)));return s.length<=1?null:(0,x.jsxs)(r.SidebarGroup,{children:[(0,x.jsxs)(r.SidebarGroupLabel,{className:`flex items-center gap-1.5`,children:[(0,x.jsx)(a.Layers,{className:`h-3.5 w-3.5`}),`Area`]}),(0,x.jsx)(r.SidebarGroupContent,{children:(0,x.jsx)(r.SidebarMenu,{children:s.map(e=>{let i=Yn(e.icon);return(0,x.jsx)(r.SidebarMenuItem,{children:(0,x.jsxs)(r.SidebarMenuButton,{isActive:e.id===t,tooltip:Xn(e.label),onClick:()=>n(e.id),children:[(0,x.jsx)(i,{className:`h-4 w-4`}),(0,x.jsx)(`span`,{children:Xn(e.label)})]})},e.id)})})})]})}function cr({items:e,basePath:t}){let n=(0,i.useLocation)(),r=e.filter(e=>e.type!==`group`&&e.type!==`separator`).slice(0,5);return r.length===0?null:(0,x.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 z-50 flex items-center justify-around border-t bg-background/95 backdrop-blur-sm px-2 py-1 sm:hidden safe-area-bottom`,role:`navigation`,"aria-label":`Mobile navigation`,children:r.map(e=>{let r=Yn(e.icon),a=`#`;e.type===`object`?(a=`${t}/${e.objectName}`,e.viewName&&(a+=`/view/${e.viewName}`)):e.type===`dashboard`?a=e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`:e.type===`page`?a=e.pageName?`${t}/page/${e.pageName}`:`#`:e.type===`report`?a=e.reportName?`${t}/report/${e.reportName}`:`#`:e.type===`url`&&(a=e.url??`#`);let o=a!==`#`&&n.pathname.startsWith(a);return(0,x.jsxs)(i.Link,{to:a,className:`flex flex-col items-center gap-0.5 px-2 py-1.5 transition-colors min-w-[44px] min-h-[44px] justify-center ${o?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:[(0,x.jsx)(r,{className:`h-5 w-5`}),(0,x.jsx)(`span`,{className:`text-[10px] truncate max-w-[60px]`,children:Xn(e.label)})]},e.id)})})}function lr({schema:e,basePath:t,evalVis:n,checkPerm:i,onAction:a,sidebarHeader:o,sidebarFooter:s,sidebarExtra:c,activeAreaId:l,setActiveAreaId:u,resolvedNavigation:d,enableSearch:f,enablePinning:p,onPinToggle:m,enableReorder:h,onReorder:g}){let _=Yn(e.logo),y=e.areas??[],[b,S]=(0,v.useState)(``);return(0,x.jsxs)(r.Sidebar,{collapsible:`icon`,children:[(0,x.jsxs)(r.SidebarHeader,{children:[o??(0,x.jsx)(r.SidebarMenu,{children:(0,x.jsx)(r.SidebarMenuItem,{children:(0,x.jsxs)(r.SidebarMenuButton,{size:`lg`,tooltip:e.title??e.name,children:[(0,x.jsx)(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-primary text-primary-foreground`,children:e.logo&&e.logo.startsWith(`http`)?(0,x.jsx)(`img`,{src:e.logo,alt:e.title??``,className:`size-6 object-contain`}):(0,x.jsx)(_,{className:`size-4`})}),(0,x.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,x.jsx)(`span`,{className:`truncate font-semibold`,children:e.title??e.name??`App`}),e.description&&(0,x.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.description})]})]})})}),f&&(0,x.jsx)(r.SidebarInput,{placeholder:`Search navigation…`,value:b,onChange:e=>S(e.target.value),"aria-label":`Search navigation`})]}),(0,x.jsxs)(r.SidebarContent,{children:[y.length>1&&l&&(0,x.jsx)(sr,{areas:y,activeAreaId:l,onAreaChange:u,evalVis:n,checkPerm:i}),(0,x.jsx)(ar,{items:d,basePath:t,evaluateVisibility:n,checkPermission:i,onAction:a,searchQuery:b,enablePinning:p,onPinToggle:m,enableReorder:h,onReorder:g}),c]}),s&&(0,x.jsx)(r.SidebarFooter,{children:s})]})}function ur({schema:e,basePath:t=``,mobileNavMode:n=`drawer`,evaluateVisibility:r,checkPermission:i,onAction:a,navbar:o,sidebarHeader:c,sidebarFooter:l,sidebarExtra:u,children:d,className:f,defaultOpen:p=!0,enableSearch:m,enablePinning:h,onPinToggle:g,enableReorder:_,onReorder:y}){let b=r??(e=>!(e===!1||e===`false`)),S=i??(()=>!0),C=(0,v.useMemo)(()=>(e.menu??[]).map((e,t)=>(0,s.menuItemToNavigationItem)(e,t)),[e.menu]),w=e.navigation??C,T=e.areas??[],[E,D]=(0,v.useState)(()=>T.length>0?T[0].id:null),k=T.map(e=>e.id).join(`,`);(0,v.useEffect)(()=>{T.length>0?D(e=>T.some(t=>t.id===e)?e:T[0].id):D(null)},[e.name,k]);let ee=T.find(e=>e.id===E)?.navigation??w,A={title:e.title,favicon:e.favicon,logo:e.logo};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(O,{sidebar:(0,x.jsx)(lr,{schema:e,basePath:t,evalVis:b,checkPerm:S,onAction:a,sidebarHeader:c,sidebarFooter:l,sidebarExtra:u,activeAreaId:E,setActiveAreaId:D,resolvedNavigation:ee,enableSearch:m,enablePinning:h,onPinToggle:g,enableReorder:_,onReorder:y}),navbar:o,className:f,defaultOpen:p,branding:A,children:d}),n===`bottom_nav`&&(0,x.jsx)(cr,{items:ee,basePath:t})]})}var dr=e=>e?Array.isArray(e)?e:[e]:[];function fr({schema:e,className:t,style:n,id:i,...a}){let o=dr(e.children);return(0,x.jsxs)(`div`,{id:i||e.id,className:(0,r.cn)(`flex flex-col h-full space-y-4`,t),style:n,children:[(0,x.jsx)(S,{title:e.title,description:e.description}),(0,x.jsx)(`div`,{className:`flex-1 overflow-auto`,children:o.map((e,t)=>(0,x.jsx)(c.SchemaRenderer,{schema:e,...a},e?.id||t))})]})}function pr(e){return`items`in e&&!(`href`in e)}function mr({item:e,pathname:t}){return e.children&&e.children.length>0?(0,x.jsx)(r.Collapsible,{asChild:!0,defaultOpen:!0,className:`group/collapsible`,children:(0,x.jsxs)(r.SidebarMenuItem,{children:[(0,x.jsx)(r.CollapsibleTrigger,{asChild:!0,children:(0,x.jsxs)(r.SidebarMenuButton,{tooltip:e.title,children:[e.icon&&(0,x.jsx)(e.icon,{}),(0,x.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,x.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto mr-1 h-5 min-w-5 px-1 text-xs`,children:e.badge}),(0,x.jsx)(a.ChevronRight,{className:`ml-auto h-4 w-4 transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90`})]})}),(0,x.jsx)(r.CollapsibleContent,{children:(0,x.jsx)(r.SidebarMenuSub,{children:e.children.map(e=>(0,x.jsx)(r.SidebarMenuSubItem,{children:(0,x.jsx)(r.SidebarMenuSubButton,{asChild:!0,isActive:t===e.href,children:(0,x.jsxs)(i.NavLink,{to:e.href,children:[e.icon&&(0,x.jsx)(e.icon,{}),(0,x.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,x.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto h-5 min-w-5 px-1 text-xs`,children:e.badge})]})})},e.href))})})]})}):(0,x.jsx)(r.SidebarMenuItem,{children:(0,x.jsx)(r.SidebarMenuButton,{asChild:!0,isActive:t===e.href,tooltip:e.title,children:(0,x.jsxs)(i.NavLink,{to:e.href,children:[e.icon&&(0,x.jsx)(e.icon,{}),(0,x.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,x.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto h-5 min-w-5 px-1 text-xs`,children:e.badge})]})})})}function hr({items:e,title:t=`Application`,className:n,collapsible:o=`icon`,searchEnabled:s=!1,searchPlaceholder:c=`Search...`}){let l=(0,i.useLocation)(),[u,d]=v.default.useState(``),f=v.default.useMemo(()=>e.length===0?[]:pr(e[0])?e.map(e=>({groupLabel:e.label,items:e.items})):[{items:e}],[e]),p=v.default.useMemo(()=>{if(!u)return f;let e=u.toLowerCase();return f.map(t=>({...t,items:t.items.filter(t=>t.title.toLowerCase().includes(e)||t.children?.some(t=>t.title.toLowerCase().includes(e)))})).filter(e=>e.items.length>0)},[f,u]);return(0,x.jsx)(r.Sidebar,{className:n,collapsible:o,children:(0,x.jsxs)(r.SidebarContent,{children:[s&&(0,x.jsx)(`div`,{className:`px-3 py-2`,children:(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(a.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,x.jsx)(r.Input,{type:`search`,placeholder:c,value:u,onChange:e=>d(e.target.value),className:`pl-8 h-9`})]})}),p.map((e,n)=>(0,x.jsxs)(r.SidebarGroup,{children:[n>0&&(0,x.jsx)(`div`,{className:`mx-3 mb-1 h-px bg-sidebar-border/60`,"aria-hidden":!0}),(0,x.jsx)(r.SidebarGroupLabel,{className:`text-[10px] font-semibold uppercase tracking-wider text-sidebar-foreground/60`,children:e.groupLabel||t}),(0,x.jsx)(r.SidebarGroupContent,{children:(0,x.jsx)(r.SidebarMenu,{children:e.items.map(e=>(0,x.jsx)(mr,{item:e,pathname:l.pathname},e.href))})})]},e.groupLabel||n))]})})}function gr(){t.ComponentRegistry.register(`page-header`,S,{namespace:`layout`,label:`Page Header`,category:`Layout`,inputs:[{name:`title`,type:`string`},{name:`description`,type:`string`}]}),t.ComponentRegistry.register(`page:header`,S,{namespace:`layout`}),t.ComponentRegistry.register(`page:card`,k,{namespace:`layout`,label:`Page Card`,category:`Layout`,isContainer:!0}),t.ComponentRegistry.register(`app-shell`,O,{namespace:`layout`,label:`App Shell`,category:`Layout`}),t.ComponentRegistry.register(`responsive-grid`,te,{namespace:`layout`,label:`Responsive Grid`,category:`Layout`,isContainer:!0,inputs:[{name:`columns`,type:`object`},{name:`gap`,type:`number`}]}),t.ComponentRegistry.register(`navigation-renderer`,ar,{namespace:`layout`,label:`Navigation Renderer`,category:`Layout`,inputs:[{name:`items`,type:`object`},{name:`basePath`,type:`string`}]}),t.ComponentRegistry.register(`app-schema-renderer`,ur,{namespace:`layout`,label:`App Schema Renderer`,category:`Layout`,isContainer:!0,inputs:[{name:`schema`,type:`object`},{name:`basePath`,type:`string`},{name:`mobileNavMode`,type:`string`}]})}try{gr()}catch{}e.AppSchemaRenderer=ur,e.AppShell=O,e.NavigationRenderer=ar,e.Page=fr,e.PageCard=k,e.PageHeader=S,e.ResponsiveGrid=te,e.SidebarNav=hr,e.filterNavigationItems=tr,e.registerLayout=gr,e.resolveIcon=Yn,e.resolveLabel=Xn,e.useAppShellBranding=D});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@object-ui/core`),require(`react`),require(`@object-ui/components`),require(`react/jsx-runtime`),require(`react-router-dom`),require(`lucide-react`),require(`@dnd-kit/core`),require(`@dnd-kit/sortable`),require(`@dnd-kit/utilities`),require(`@object-ui/types`),require(`@object-ui/react`)):typeof define==`function`&&define.amd?define([`exports`,`@object-ui/core`,`react`,`@object-ui/components`,`react/jsx-runtime`,`react-router-dom`,`lucide-react`,`@dnd-kit/core`,`@dnd-kit/sortable`,`@dnd-kit/utilities`,`@object-ui/types`,`@object-ui/react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ObjectUILayout={},e._object_ui_core,e.react,e._object_ui_components,e.react_jsx_runtime,e.react_router_dom,e.lucide_react,e._dnd_kit_core,e._dnd_kit_sortable,e._dnd_kit_utilities,e._object_ui_types,e._object_ui_react))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var f=Object.create,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!_.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e};n=((e,t,n)=>(n=e==null?{}:f(g(e)),v(t||!e||!e.__esModule?p(n,`default`,{value:e,enumerable:!0}):n,e)))(n,1);function y({title:e,description:t,action:n,className:a,children:o,...s}){return(0,i.jsx)(`div`,{className:(0,r.cn)(`flex flex-col gap-4 pb-4 md:pb-8`,a),...s,children:(0,i.jsxs)(`div`,{className:`flex flex-wrap items-end gap-x-4 gap-y-2`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,i.jsx)(`h1`,{className:`text-2xl font-bold tracking-tight md:text-3xl truncate`,children:e}),t&&(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t})]}),(n||o)&&(0,i.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto sm:ml-0`,children:[n,o]})]})})}function b(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function x(e){let t=b(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function S(e){let t=b(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function C(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function w(e,t){(0,n.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=x(e.primaryColor),i=S(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:C(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=x(e.accentColor),i=S(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:C(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function T({sidebar:e,navbar:t,children:n,className:a,defaultOpen:o=!0,branding:s}){return w(s,s?.title),(0,i.jsxs)(r.SidebarProvider,{defaultOpen:o,className:`!flex-col`,children:[(0,i.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,i.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,i.jsx)(r.SidebarInset,{className:`min-w-0`,children:(0,i.jsx)(`main`,{className:(0,r.cn)(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6`,a),children:n})})]})]})}function E({className:e,children:t,...n}){return(0,i.jsx)(`div`,{className:(0,r.cn)(`rounded-xl border bg-card text-card-foreground shadow`,e),...n,children:(0,i.jsx)(`div`,{className:`p-6`,children:t})})}var D={xs:{1:`grid-cols-1`,2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`,6:`grid-cols-6`,12:`grid-cols-12`},sm:{1:`sm:grid-cols-1`,2:`sm:grid-cols-2`,3:`sm:grid-cols-3`,4:`sm:grid-cols-4`,6:`sm:grid-cols-6`,12:`sm:grid-cols-12`},md:{1:`md:grid-cols-1`,2:`md:grid-cols-2`,3:`md:grid-cols-3`,4:`md:grid-cols-4`,6:`md:grid-cols-6`,12:`md:grid-cols-12`},lg:{1:`lg:grid-cols-1`,2:`lg:grid-cols-2`,3:`lg:grid-cols-3`,4:`lg:grid-cols-4`,6:`lg:grid-cols-6`,12:`lg:grid-cols-12`},xl:{1:`xl:grid-cols-1`,2:`xl:grid-cols-2`,3:`xl:grid-cols-3`,4:`xl:grid-cols-4`,6:`xl:grid-cols-6`,12:`xl:grid-cols-12`},"2xl":{1:`2xl:grid-cols-1`,2:`2xl:grid-cols-2`,3:`2xl:grid-cols-3`,4:`2xl:grid-cols-4`,6:`2xl:grid-cols-6`,12:`2xl:grid-cols-12`}};function O(e){if(!e)return`grid-cols-1`;let t=[];for(let[n,r]of Object.entries(e)){let e=D[n];if(e&&r){let n=Object.keys(e).map(Number).reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e);t.push(e[n])}}return t.join(` `)||`grid-cols-1`}var k={0:`gap-0`,1:`gap-1`,2:`gap-2`,3:`gap-3`,4:`gap-4`,5:`gap-5`,6:`gap-6`,8:`gap-8`},A=({columns:e,gap:t=4,className:n,children:a})=>(0,i.jsx)(`div`,{className:(0,r.cn)(`grid`,O(e),typeof t==`number`?k[t]||`gap-${t}`:``,n),children:a});function j(e){return e?(0,r.getLazyIcon)(e):o.FileText}function M(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function N(e,t,n,r,i){let a=M(e.label,n);return typeof e.label==`string`?t&&e.type===`object`&&e.objectName?t(e.objectName,a):r&&e.type===`dashboard`&&e.dashboardName?r(e.dashboardName,a):i&&e.type===`group`&&e.id?i(e.id,a):a:a}var P=e=>!(e===!1||e===`false`),F=()=>!0;function I(e,t){switch(e.type){case`object`:{let n=`${t}/${e.objectName??``}`;return{href:e.viewName?`${n}/view/${e.viewName}`:n,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:return{href:e.pageName?`${t}/page/${e.pageName}`:`#`,external:!1};case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};default:return{href:`#`,external:!1}}}function L(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=L(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return M(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var R=5;function z({item:e,basePath:t,evalVis:n,checkPerm:r,onAction:a,enablePinning:o,onPinToggle:s,enableReorder:u,resolveObjectLabel:d,resolveDashboardLabel:f,resolveGroupLabel:p,t:m}){let{attributes:h,listeners:g,setNodeRef:_,transform:v,transition:y,isDragging:b}=(0,c.useSortable)({id:e.id,disabled:!u});return(0,i.jsx)(`div`,{ref:_,style:{transform:l.CSS.Transform.toString(v),transition:y,opacity:b?.5:void 0,zIndex:b?10:void 0},...h,children:(0,i.jsx)(B,{item:e,basePath:t,evalVis:n,checkPerm:r,onAction:a,enablePinning:o,onPinToggle:s,dragListeners:u?g:void 0,resolveObjectLabel:d,resolveDashboardLabel:f,resolveGroupLabel:p,t:m})})}function B({item:e,basePath:t,evalVis:s,checkPerm:c,onAction:l,enablePinning:u,onPinToggle:d,dragListeners:f,resolveObjectLabel:p,resolveDashboardLabel:m,resolveGroupLabel:h,t:g}){let _=(0,a.useLocation)(),[v,y]=(0,n.useState)(e.defaultOpen!==!1);if(!s(e.visible)||e.requiredPermissions?.length&&!c(e.requiredPermissions))return null;if(e.type===`separator`)return(0,i.jsx)(r.Separator,{className:`my-2`});if(e.type===`group`){let n=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0));return(0,i.jsx)(r.Collapsible,{open:v,onOpenChange:y,children:(0,i.jsxs)(r.SidebarGroup,{children:[(0,i.jsx)(r.SidebarGroupLabel,{asChild:!0,children:(0,i.jsxs)(r.CollapsibleTrigger,{className:`flex w-full items-center justify-between`,children:[N(e,p,g,m,h),(0,i.jsx)(o.ChevronRight,{className:`ml-auto h-4 w-4 transition-transform ${v?`rotate-90`:``}`})]})}),(0,i.jsx)(r.CollapsibleContent,{children:(0,i.jsx)(r.SidebarGroupContent,{children:(0,i.jsx)(r.SidebarMenu,{children:n.map(e=>(0,i.jsx)(B,{item:e,basePath:t,evalVis:s,checkPerm:c,onAction:l,enablePinning:u,onPinToggle:d,resolveObjectLabel:p,resolveDashboardLabel:m,resolveGroupLabel:h,t:g},e.id))})})})]})})}if(e.type===`action`){let t=j(e.icon),n=M(e.label,g);return(0,i.jsxs)(r.SidebarMenuItem,{children:[f&&(0,i.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":g?g(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...f,children:(0,i.jsx)(o.GripVertical,{className:`h-3.5 w-3.5`})}),(0,i.jsxs)(r.SidebarMenuButton,{tooltip:n,onClick:()=>l?.(e),children:[(0,i.jsx)(t,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{children:n}),e.badge!=null&&(0,i.jsx)(r.Badge,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),u&&d&&(0,i.jsx)(r.SidebarMenuAction,{showOnHover:!0,onClick:()=>d(e.id,!e.pinned),"aria-label":g?g(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${n}`:`Pin ${n}`,name:n}):e.pinned?`Unpin ${n}`:`Pin ${n}`,children:e.pinned?(0,i.jsx)(o.PinOff,{className:`h-3.5 w-3.5`}):(0,i.jsx)(o.Pin,{className:`h-3.5 w-3.5`})})]})}let b=j(e.icon),{href:x,external:S}=I(e,t),C=x!==`#`&&_.pathname.startsWith(x),w=N(e,p,g,m,h),T=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{children:w}),e.badge!=null&&(0,i.jsx)(r.Badge,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,i.jsxs)(r.SidebarMenuItem,{children:[f&&(0,i.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":g?g(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...f,children:(0,i.jsx)(o.GripVertical,{className:`h-3.5 w-3.5`})}),(0,i.jsx)(r.SidebarMenuButton,{asChild:!0,isActive:C,tooltip:w,children:S?(0,i.jsx)(`a`,{href:x,target:`_blank`,rel:`noopener noreferrer`,children:T}):(0,i.jsx)(a.Link,{to:x,children:T})}),u&&d&&(0,i.jsx)(r.SidebarMenuAction,{showOnHover:!0,onClick:()=>d(e.id,!e.pinned),"aria-label":g?g(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${w}`:`Pin ${w}`,name:w}):e.pinned?`Unpin ${w}`:`Pin ${w}`,children:e.pinned?(0,i.jsx)(o.PinOff,{className:`h-3.5 w-3.5`}):(0,i.jsx)(o.Pin,{className:`h-3.5 w-3.5`})})]})}function V({items:e,basePath:t=``,evaluateVisibility:a=P,checkPermission:l=F,onAction:u,searchQuery:d,enablePinning:f,onPinToggle:p,enableReorder:m,onReorder:h,resolveObjectLabel:g,resolveDashboardLabel:_,resolveGroupLabel:v,t:y}){let b=(0,n.useMemo)(()=>d?L(e,d):e,[e,d]),x=(0,n.useMemo)(()=>H(b),[b]),S=b.slice().sort((e,t)=>(e.order??0)-(t.order??0)),C=(0,s.useSensors)((0,s.useSensor)(s.PointerSensor,{activationConstraint:{distance:R}}),(0,s.useSensor)(s.KeyboardSensor)),w=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!h)return;let r=S.findIndex(e=>e.id===t.id),i=S.findIndex(e=>e.id===n.id);r===-1||i===-1||h((0,c.arrayMove)(S,r,i).map((e,t)=>({...e,order:t})))},T={basePath:t,evalVis:a,checkPerm:l,onAction:u,enablePinning:f,onPinToggle:p,resolveObjectLabel:g,resolveDashboardLabel:_,resolveGroupLabel:v,t:y},E=S.some(e=>e.type===`group`),D=x.length>0&&f?(0,i.jsxs)(r.SidebarGroup,{children:[(0,i.jsxs)(r.SidebarGroupLabel,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(o.Star,{className:`h-3.5 w-3.5`}),y?y(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,i.jsx)(r.SidebarGroupContent,{children:(0,i.jsx)(r.SidebarMenu,{children:x.map(e=>(0,i.jsx)(B,{item:e,...T},`fav-${e.id}`))})})]}):null;if(!E){let e=S.filter(e=>e.type!==`group`).map(e=>e.id);return(0,i.jsxs)(i.Fragment,{children:[D,(0,i.jsx)(r.SidebarGroup,{children:(0,i.jsx)(r.SidebarGroupContent,{children:m?(0,i.jsx)(s.DndContext,{sensors:C,collisionDetection:s.closestCenter,onDragEnd:w,children:(0,i.jsx)(c.SortableContext,{items:e,strategy:c.verticalListSortingStrategy,children:(0,i.jsx)(r.SidebarMenu,{children:S.map(e=>(0,i.jsx)(z,{item:e,enableReorder:m,...T},e.id))})})}):(0,i.jsx)(r.SidebarMenu,{children:S.map(e=>(0,i.jsx)(B,{item:e,...T},e.id))})})})]})}let O=[],k=[],A=e=>{if(k.length===0)return;let t=k;k=[],O.push((0,i.jsx)(r.SidebarGroup,{children:(0,i.jsx)(r.SidebarGroupContent,{children:(0,i.jsx)(r.SidebarMenu,{children:t.map(e=>(0,i.jsx)(B,{item:e,...T},e.id))})})},e))};return S.forEach((e,t)=>{e.type===`group`?(A(`leaf-${t}`),O.push((0,i.jsx)(B,{item:e,...T},e.id))):k.push(e)}),A(`leaf-end`),(0,i.jsxs)(i.Fragment,{children:[D,O]})}function H(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...H(n.children));return t}function U({areas:e,activeAreaId:t,onAreaChange:n,evalVis:a,checkPerm:s}){let c=e.filter(e=>!(!a(e.visible)||e.requiredPermissions?.length&&!s(e.requiredPermissions)));return c.length<=1?null:(0,i.jsxs)(r.SidebarGroup,{children:[(0,i.jsxs)(r.SidebarGroupLabel,{className:`flex items-center gap-1.5`,children:[(0,i.jsx)(o.Layers,{className:`h-3.5 w-3.5`}),`Area`]}),(0,i.jsx)(r.SidebarGroupContent,{children:(0,i.jsx)(r.SidebarMenu,{children:c.map(e=>{let a=j(e.icon);return(0,i.jsx)(r.SidebarMenuItem,{children:(0,i.jsxs)(r.SidebarMenuButton,{isActive:e.id===t,tooltip:M(e.label),onClick:()=>n(e.id),children:[(0,i.jsx)(a,{className:`h-4 w-4`}),(0,i.jsx)(`span`,{children:M(e.label)})]})},e.id)})})})]})}function W({items:e,basePath:t}){let n=(0,a.useLocation)(),r=e.filter(e=>e.type!==`group`&&e.type!==`separator`).slice(0,5);return r.length===0?null:(0,i.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 z-50 flex items-center justify-around border-t bg-background/95 backdrop-blur-sm px-2 py-1 sm:hidden safe-area-bottom`,role:`navigation`,"aria-label":`Mobile navigation`,children:r.map(e=>{let r=j(e.icon),o=`#`;e.type===`object`?(o=`${t}/${e.objectName}`,e.viewName&&(o+=`/view/${e.viewName}`)):e.type===`dashboard`?o=e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`:e.type===`page`?o=e.pageName?`${t}/page/${e.pageName}`:`#`:e.type===`report`?o=e.reportName?`${t}/report/${e.reportName}`:`#`:e.type===`url`&&(o=e.url??`#`);let s=o!==`#`&&n.pathname.startsWith(o);return(0,i.jsxs)(a.Link,{to:o,className:`flex flex-col items-center gap-0.5 px-2 py-1.5 transition-colors min-w-[44px] min-h-[44px] justify-center ${s?`text-primary`:`text-muted-foreground hover:text-foreground`}`,children:[(0,i.jsx)(r,{className:`h-5 w-5`}),(0,i.jsx)(`span`,{className:`text-[10px] truncate max-w-[60px]`,children:M(e.label)})]},e.id)})})}function G({schema:e,basePath:t,evalVis:a,checkPerm:o,onAction:s,sidebarHeader:c,sidebarFooter:l,sidebarExtra:u,activeAreaId:d,setActiveAreaId:f,resolvedNavigation:p,enableSearch:m,enablePinning:h,onPinToggle:g,enableReorder:_,onReorder:v}){let y=j(e.logo),b=e.areas??[],[x,S]=(0,n.useState)(``);return(0,i.jsxs)(r.Sidebar,{collapsible:`icon`,children:[(0,i.jsxs)(r.SidebarHeader,{children:[c??(0,i.jsx)(r.SidebarMenu,{children:(0,i.jsx)(r.SidebarMenuItem,{children:(0,i.jsxs)(r.SidebarMenuButton,{size:`lg`,tooltip:e.title??e.name,children:[(0,i.jsx)(`div`,{className:`flex aspect-square size-8 items-center justify-center rounded-lg bg-primary text-primary-foreground`,children:e.logo&&e.logo.startsWith(`http`)?(0,i.jsx)(`img`,{src:e.logo,alt:e.title??``,className:`size-6 object-contain`}):(0,i.jsx)(y,{className:`size-4`})}),(0,i.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,i.jsx)(`span`,{className:`truncate font-semibold`,children:e.title??e.name??`App`}),e.description&&(0,i.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.description})]})]})})}),m&&(0,i.jsx)(r.SidebarInput,{placeholder:`Search navigation…`,value:x,onChange:e=>S(e.target.value),"aria-label":`Search navigation`})]}),(0,i.jsxs)(r.SidebarContent,{children:[b.length>1&&d&&(0,i.jsx)(U,{areas:b,activeAreaId:d,onAreaChange:f,evalVis:a,checkPerm:o}),(0,i.jsx)(V,{items:p,basePath:t,evaluateVisibility:a,checkPermission:o,onAction:s,searchQuery:x,enablePinning:h,onPinToggle:g,enableReorder:_,onReorder:v}),u]}),l&&(0,i.jsx)(r.SidebarFooter,{children:l})]})}function K({schema:e,basePath:t=``,mobileNavMode:r=`drawer`,evaluateVisibility:a,checkPermission:o,onAction:s,navbar:c,sidebarHeader:l,sidebarFooter:d,sidebarExtra:f,children:p,className:m,defaultOpen:h=!0,enableSearch:g,enablePinning:_,onPinToggle:v,enableReorder:y,onReorder:b}){let x=a??(e=>!(e===!1||e===`false`)),S=o??(()=>!0),C=(0,n.useMemo)(()=>(e.menu??[]).map((e,t)=>(0,u.menuItemToNavigationItem)(e,t)),[e.menu]),w=e.navigation??C,E=e.areas??[],[D,O]=(0,n.useState)(()=>E.length>0?E[0].id:null),k=E.map(e=>e.id).join(`,`);(0,n.useEffect)(()=>{E.length>0?O(e=>E.some(t=>t.id===e)?e:E[0].id):O(null)},[e.name,k]);let A=E.find(e=>e.id===D)?.navigation??w,j={title:e.title,favicon:e.favicon,logo:e.logo};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(T,{sidebar:(0,i.jsx)(G,{schema:e,basePath:t,evalVis:x,checkPerm:S,onAction:s,sidebarHeader:l,sidebarFooter:d,sidebarExtra:f,activeAreaId:D,setActiveAreaId:O,resolvedNavigation:A,enableSearch:g,enablePinning:_,onPinToggle:v,enableReorder:y,onReorder:b}),navbar:c,className:m,defaultOpen:h,branding:j,children:p}),r===`bottom_nav`&&(0,i.jsx)(W,{items:A,basePath:t})]})}var q=e=>e?Array.isArray(e)?e:[e]:[];function J({schema:e,className:t,style:n,id:a,...o}){let s=q(e.children);return(0,i.jsxs)(`div`,{id:a||e.id,className:(0,r.cn)(`flex flex-col h-full space-y-4`,t),style:n,children:[(0,i.jsx)(y,{title:e.title,description:e.description}),(0,i.jsx)(`div`,{className:`flex-1 overflow-auto`,children:s.map((e,t)=>(0,i.jsx)(d.SchemaRenderer,{schema:e,...o},e?.id||t))})]})}function Y(e){return`items`in e&&!(`href`in e)}function X({item:e,pathname:t}){return e.children&&e.children.length>0?(0,i.jsx)(r.Collapsible,{asChild:!0,defaultOpen:!0,className:`group/collapsible`,children:(0,i.jsxs)(r.SidebarMenuItem,{children:[(0,i.jsx)(r.CollapsibleTrigger,{asChild:!0,children:(0,i.jsxs)(r.SidebarMenuButton,{tooltip:e.title,children:[e.icon&&(0,i.jsx)(e.icon,{}),(0,i.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,i.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto mr-1 h-5 min-w-5 px-1 text-xs`,children:e.badge}),(0,i.jsx)(o.ChevronRight,{className:`ml-auto h-4 w-4 transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90`})]})}),(0,i.jsx)(r.CollapsibleContent,{children:(0,i.jsx)(r.SidebarMenuSub,{children:e.children.map(e=>(0,i.jsx)(r.SidebarMenuSubItem,{children:(0,i.jsx)(r.SidebarMenuSubButton,{asChild:!0,isActive:t===e.href,children:(0,i.jsxs)(a.NavLink,{to:e.href,children:[e.icon&&(0,i.jsx)(e.icon,{}),(0,i.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,i.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto h-5 min-w-5 px-1 text-xs`,children:e.badge})]})})},e.href))})})]})}):(0,i.jsx)(r.SidebarMenuItem,{children:(0,i.jsx)(r.SidebarMenuButton,{asChild:!0,isActive:t===e.href,tooltip:e.title,children:(0,i.jsxs)(a.NavLink,{to:e.href,children:[e.icon&&(0,i.jsx)(e.icon,{}),(0,i.jsx)(`span`,{children:e.title}),e.badge!=null&&(0,i.jsx)(r.Badge,{variant:e.badgeVariant||`default`,className:`ml-auto h-5 min-w-5 px-1 text-xs`,children:e.badge})]})})})}function Z({items:e,title:t=`Application`,className:s,collapsible:c=`icon`,searchEnabled:l=!1,searchPlaceholder:u=`Search...`}){let d=(0,a.useLocation)(),[f,p]=n.default.useState(``),m=n.default.useMemo(()=>e.length===0?[]:Y(e[0])?e.map(e=>({groupLabel:e.label,items:e.items})):[{items:e}],[e]),h=n.default.useMemo(()=>{if(!f)return m;let e=f.toLowerCase();return m.map(t=>({...t,items:t.items.filter(t=>t.title.toLowerCase().includes(e)||t.children?.some(t=>t.title.toLowerCase().includes(e)))})).filter(e=>e.items.length>0)},[m,f]);return(0,i.jsx)(r.Sidebar,{className:s,collapsible:c,children:(0,i.jsxs)(r.SidebarContent,{children:[l&&(0,i.jsx)(`div`,{className:`px-3 py-2`,children:(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(o.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,i.jsx)(r.Input,{type:`search`,placeholder:u,value:f,onChange:e=>p(e.target.value),className:`pl-8 h-9`})]})}),h.map((e,n)=>(0,i.jsxs)(r.SidebarGroup,{children:[n>0&&(0,i.jsx)(`div`,{className:`mx-3 mb-1 h-px bg-sidebar-border/60`,"aria-hidden":!0}),(0,i.jsx)(r.SidebarGroupLabel,{className:`text-[10px] font-semibold uppercase tracking-wider text-sidebar-foreground/60`,children:e.groupLabel||t}),(0,i.jsx)(r.SidebarGroupContent,{children:(0,i.jsx)(r.SidebarMenu,{children:e.items.map(e=>(0,i.jsx)(X,{item:e,pathname:d.pathname},e.href))})})]},e.groupLabel||n))]})})}function Q(){t.ComponentRegistry.register(`page-header`,y,{namespace:`layout`,label:`Page Header`,category:`Layout`,inputs:[{name:`title`,type:`string`},{name:`description`,type:`string`}]}),t.ComponentRegistry.register(`page:header`,y,{namespace:`layout`}),t.ComponentRegistry.register(`page:card`,E,{namespace:`layout`,label:`Page Card`,category:`Layout`,isContainer:!0}),t.ComponentRegistry.register(`app-shell`,T,{namespace:`layout`,label:`App Shell`,category:`Layout`}),t.ComponentRegistry.register(`responsive-grid`,A,{namespace:`layout`,label:`Responsive Grid`,category:`Layout`,isContainer:!0,inputs:[{name:`columns`,type:`object`},{name:`gap`,type:`number`}]}),t.ComponentRegistry.register(`navigation-renderer`,V,{namespace:`layout`,label:`Navigation Renderer`,category:`Layout`,inputs:[{name:`items`,type:`object`},{name:`basePath`,type:`string`}]}),t.ComponentRegistry.register(`app-schema-renderer`,K,{namespace:`layout`,label:`App Schema Renderer`,category:`Layout`,isContainer:!0,inputs:[{name:`schema`,type:`object`},{name:`basePath`,type:`string`},{name:`mobileNavMode`,type:`string`}]})}try{Q()}catch{}e.AppSchemaRenderer=K,e.AppShell=T,e.NavigationRenderer=V,e.Page=J,e.PageCard=E,e.PageHeader=y,e.ResponsiveGrid=A,e.SidebarNav=Z,e.filterNavigationItems=L,e.registerLayout=Q,e.resolveIcon=j,e.resolveLabel=M,e.useAppShellBranding=w});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@object-ui/layout",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/index.umd.cjs",
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"react": "19.2.5",
|
|
23
23
|
"react-dom": "19.2.5",
|
|
24
24
|
"tailwind-merge": "^3.5.0",
|
|
25
|
-
"@object-ui/
|
|
26
|
-
"@object-ui/
|
|
27
|
-
"@object-ui/
|
|
28
|
-
"@object-ui/
|
|
25
|
+
"@object-ui/components": "4.0.4",
|
|
26
|
+
"@object-ui/core": "4.0.4",
|
|
27
|
+
"@object-ui/react": "4.0.4",
|
|
28
|
+
"@object-ui/types": "4.0.4"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"react": "^18.0.0 || ^19.0.0",
|