@object-ui/plugin-kanban 3.1.4 → 3.3.0
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/.turbo/turbo-build.log +13 -13
- package/CHANGELOG.md +27 -0
- package/dist/{KanbanEnhanced-CvxO2soF.js → KanbanEnhanced-TdUe0kQH.js} +4 -4
- package/dist/{KanbanImpl-ii52_k8g.js → KanbanImpl-BtlPa7GE.js} +2 -2
- package/dist/{chevron-down-DpXJN6OX.js → chevron-down-B6UH8BbF.js} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +35 -26
- package/dist/index.umd.cjs +4 -4
- package/dist/packages/plugin-kanban/src/CardTemplates.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/InlineQuickAdd.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/KanbanEnhanced.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/KanbanImpl.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.EdgeCases.stories.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/ObjectKanban.stories.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/index.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/types.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useColumnWidths.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useCrossSwimlaneMove.d.ts.map +1 -0
- package/dist/packages/plugin-kanban/src/useQuickAddReorder.d.ts.map +1 -0
- package/dist/{plus-CAtTu4zt.js → plus-BTqoaaEC.js} +39 -36
- package/dist/{sortable.esm-DzUCoMzQ.js → sortable.esm-LJG1TjKd.js} +4 -4
- package/package.json +9 -9
- package/src/ObjectKanban.msw.test.tsx +5 -1
- package/src/ObjectKanban.tsx +15 -1
- package/vite.config.ts +1 -0
- package/dist/src/CardTemplates.d.ts.map +0 -1
- package/dist/src/InlineQuickAdd.d.ts.map +0 -1
- package/dist/src/KanbanEnhanced.d.ts.map +0 -1
- package/dist/src/KanbanImpl.d.ts.map +0 -1
- package/dist/src/ObjectKanban.EdgeCases.stories.d.ts.map +0 -1
- package/dist/src/ObjectKanban.d.ts.map +0 -1
- package/dist/src/ObjectKanban.stories.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/useColumnWidths.d.ts.map +0 -1
- package/dist/src/useCrossSwimlaneMove.d.ts.map +0 -1
- package/dist/src/useQuickAddReorder.d.ts.map +0 -1
- /package/dist/{src → packages/plugin-kanban/src}/CardTemplates.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/InlineQuickAdd.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/KanbanEnhanced.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/KanbanImpl.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.EdgeCases.stories.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.stories.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/index.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/types.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useColumnWidths.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useCrossSwimlaneMove.d.ts +0 -0
- /package/dist/{src → packages/plugin-kanban/src}/useQuickAddReorder.d.ts +0 -0
package/dist/index.umd.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`@object-ui/core`),require(`@object-ui/react`),require(`@object-ui/components`),require(`react-dom`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`@object-ui/core`,`@object-ui/react`,`@object-ui/components`,`react-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ObjectUIPluginKanban={},e.React,e.ObjectUICore,e.ObjectUIReact,e.ObjectUIComponents,e.ReactDOM))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(e&&(t=e(e=0)),t),p=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),m=(e,t)=>{let n={};for(var r in e)s(n,r,{get:e[r],enumerable:!0});return t||s(n,Symbol.toStringTag,{value:`Module`}),n},h=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e}
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`@object-ui/core`),require(`@object-ui/react`),require(`@object-ui/components`),require(`react-dom`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`@object-ui/core`,`@object-ui/react`,`@object-ui/components`,`react-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ObjectUIPluginKanban={},e.React,e.ObjectUICore,e.ObjectUIReact,e.ObjectUIComponents,e.ReactDOM))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t)=>()=>(e&&(t=e(e=0)),t),p=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),m=(e,t)=>{let n={};for(var r in e)s(n,r,{get:e[r],enumerable:!0});return t||s(n,Symbol.toStringTag,{value:`Module`}),n},h=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e},g=(e,t,n)=>(n=e==null?{}:o(u(e)),h(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e));let _=g(t,1);t=g(t);var v=p((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})),y=p((e=>{process.env.NODE_ENV!==`production`&&(function(){function t(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===D?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 ee: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=O.A;return e===null?null:e.getOwner()}function o(){return Error(`react-stack-top-frame`)}function s(e){if(te.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(){re||(re=!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 A[e]||(A[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(k(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(te.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}`,ae[p+o]||(m=0<m.length?`{`+m.join(`: ..., `)+`: ...}`:`{}`,console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,o,p,m,p),ne[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)),ne={};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)}})()})),v=p(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=g():t.exports=_()})),y=v(),b=({schema:e,dataSource:a,className:o,data:s,loading:c,onRowClick:l,onCardClick:u,...d})=>{let f=Array.isArray(s),[p,m]=(0,t.useState)([]),[h,g]=(0,t.useState)(null),[_,v]=(0,t.useState)(f?c??!1:!1),[b,x]=(0,t.useState)(null),S=(0,r.useDataScope)(e.bind);(0,t.useEffect)(()=>{f&&c!==void 0&&v(c)},[c,f]),(0,t.useEffect)(()=>{let t=!0;return(async()=>{if(!(!a||!e.objectName))try{let n=await a.getObjectSchema(e.objectName);t&&g(n)}catch(e){console.warn(`Failed to fetch object def`,e)}})(),()=>{t=!1}},[e.objectName,a]),(0,t.useEffect)(()=>{if(f)return;let t=!0;return e.objectName&&!S&&!e.data&&(async()=>{if(!(!a||typeof a.find!=`function`||!e.objectName)){t&&v(!0);try{let r=(0,n.buildExpandFields)(h?.fields),i=(0,n.extractRecords)(await a.find(e.objectName,{options:{$top:100},$filter:e.filter,...r.length>0?{$expand:r}:{}}));t&&m(i)}catch(e){console.error(`[ObjectKanban] Fetch error:`,e),t&&x(e)}finally{t&&v(!1)}}})(),()=>{t=!1}},[e.objectName,a,S,e.data,e.filter,f,h]);let C=(f?s:void 0)||S||e.data||p,w=(0,t.useMemo)(()=>{if(!Array.isArray(C))return[];let t=e.cardTitle||e.titleField;if(!t&&h){if(h.titleFormat){let e=/\{(.+?)\}/.exec(h.titleFormat);e&&(t=e[1])}!t&&h.NAME_FIELD_KEY&&(t=h.NAME_FIELD_KEY)}let n=[`name`,`title`,`subject`,`label`,`display_name`];return C.map(e=>{let r=t?e[t]:void 0;if(!r){for(let t of n)if(e[t]){r=e[t];break}}return{...e,id:e.id||e._id,title:r||`Untitled`}})},[C,e,h]),T=(0,t.useMemo)(()=>{if(e.columns&&e.columns.length>0)if(typeof e.columns[0]==`string`){if(!e.groupBy)return e.columns.map(e=>({id:e,title:e}))}else return e.columns;if(e.groupBy&&h?.fields?.[e.groupBy]?.options)return h.fields[e.groupBy].options.map(e=>({id:e.value,title:e.label}));if(e.groupBy&&w.length>0){let t=new Set(w.map(t=>t[e.groupBy]));return Array.from(t).map(e=>({id:String(e),title:String(e)}))}return[]},[e.columns,e.groupBy,w,h]),E=e.swimlaneField||e.grouping?.fields?.[0]?.field,D={...e,data:w,columns:T,className:o||e.className,...E?{swimlaneField:E}:{}},O=(0,r.useNavigationOverlay)({navigation:e.navigation,objectName:e.objectName,onRowClick:l??u});if(b)return(0,y.jsxs)(`div`,{className:`p-4 border border-destructive/50 rounded bg-destructive/10 text-destructive`,children:[`Error loading kanban data: `,b.message]});let k=e.objectName?`${e.objectName.charAt(0).toUpperCase()+e.objectName.slice(1).replace(/_/g,` `)} Detail`:`Card Details`;return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Ui,{schema:{...D,onCardClick:e=>{O.handleClick(e),u?.(e)}}}),O.isOverlay&&(0,y.jsx)(i.NavigationOverlay,{...O,title:k,children:e=>(0,y.jsx)(`div`,{className:`space-y-3`,children:Object.entries(e).map(([e,t])=>(0,y.jsxs)(`div`,{className:`flex flex-col`,children:[(0,y.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wide`,children:e.replace(/_/g,` `)}),(0,y.jsx)(`span`,{className:`text-sm`,children:String(t??`—`)})]},e))})})]})},x,S=f((()=>{x=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim()})),C,w=f((()=>{C=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase()})),T,E=f((()=>{T=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase())})),D,O=f((()=>{E(),D=e=>{let t=T(e);return t.charAt(0).toUpperCase()+t.slice(1)}})),k,ee=f((()=>{k={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`}})),A,j=f((()=>{A=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1}})),te,M=f((()=>{ee(),j(),S(),te=(0,t.forwardRef)(({color:e=`currentColor`,size:n=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>(0,t.createElement)(`svg`,{ref:l,...k,width:n,height:n,stroke:e,strokeWidth:i?Number(r)*24/Number(n):r,className:x(`lucide`,a),...!o&&!A(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,n])=>(0,t.createElement)(e,n)),...Array.isArray(o)?o:[o]]))})),N,P=f((()=>{S(),w(),O(),M(),N=(e,n)=>{let r=(0,t.forwardRef)(({className:r,...i},a)=>(0,t.createElement)(te,{ref:a,iconNode:n,className:x(`lucide-${C(D(e))}`,`lucide-${e}`,r),...i}));return r.displayName=D(e),r}})),ne,F,I=f((()=>{P(),ne=[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]],F=N(`check`,ne)})),re,ie,L=f((()=>{P(),re=[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]],ie=N(`chevron-down`,re)})),R,z,B=f((()=>{P(),R=[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]],z=N(`chevron-right`,R)})),V,ae,H=f((()=>{P(),V=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]],ae=N(`file-text`,V)})),oe,se,ce=f((()=>{P(),oe=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],se=N(`plus`,oe)})),U,le,ue=f((()=>{P(),U=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],le=N(`triangle-alert`,U)})),de,fe,pe=f((()=>{P(),de=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],fe=N(`x`,de)})),me=f((()=>{ue(),I(),L(),B(),H(),ce(),pe()}));me();var he=(...e)=>e.filter(Boolean).join(` `),ge=({columnId:e,fields:n,onSubmit:r,onCancel:a,defaultValues:o})=>{let[s,c]=t.useState(()=>{let e={};for(let t of n)e[t.name]=o?.[t.name]??t.defaultValue??``;return e}),l=t.useRef(null);t.useEffect(()=>{let e=setTimeout(()=>l.current?.focus(),0);return()=>clearTimeout(e)},[]);let u=t.useCallback((e,t)=>{c(n=>({...n,[e]:t}))},[]),d=t.useCallback(()=>{Object.values(s).some(e=>typeof e==`string`?e.trim().length>0:e!=null)&&r(e,s)},[e,s,r]);return(0,y.jsxs)(`div`,{className:`mt-2 rounded-lg border border-primary/30 bg-card p-3 space-y-2 shadow-sm`,onKeyDown:t.useCallback(e=>{e.key===`Enter`?(e.preventDefault(),d()):e.key===`Escape`&&(e.preventDefault(),a())},[d,a]),role:`form`,"aria-label":`Quick add card`,children:[n.map((t,n)=>(0,y.jsxs)(`div`,{className:`space-y-1`,children:[(0,y.jsx)(`label`,{htmlFor:`qa-${e}-${t.name}`,className:`text-xs font-mono text-muted-foreground`,children:t.label??t.name}),_e(t,s[t.name],u,n===0?l:void 0,`qa-${e}-${t.name}`)]},t.name)),(0,y.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,y.jsxs)(i.Button,{type:`button`,size:`sm`,className:`h-7 text-xs gap-1`,onClick:d,children:[(0,y.jsx)(F,{className:`h-3 w-3`}),`Save`]}),(0,y.jsxs)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 text-xs gap-1`,onClick:a,children:[(0,y.jsx)(fe,{className:`h-3 w-3`}),`Cancel`]})]})]})};function _e(e,t,n,r,a){let o=`text-sm h-8`;switch(e.type){case`select`:return(0,y.jsxs)(`select`,{ref:r,id:a,value:t??``,onChange:t=>n(e.name,t.target.value),className:he(o,`w-full rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`),children:[(0,y.jsx)(`option`,{value:``,children:e.placeholder??`Select ${e.label??e.name}...`}),(e.options??[]).map(e=>(0,y.jsx)(`option`,{value:e.value,children:e.label},e.value))]});case`number`:return(0,y.jsx)(i.Input,{ref:r,id:a,type:`number`,value:t??``,onChange:t=>n(e.name,t.target.value===``?``:Number(t.target.value)),placeholder:e.placeholder??`Enter ${e.label??e.name}...`,className:o});default:return(0,y.jsx)(i.Input,{ref:r,id:a,type:`text`,value:t??``,onChange:t=>n(e.name,t.target.value),placeholder:e.placeholder??`Enter ${e.label??e.name}...`,className:o})}}me();var ve=(...e)=>e.filter(Boolean).join(` `),ye=({templates:e,onSelect:n,columnId:r})=>{let[a,o]=t.useState(!1),s=t.useRef(null);return t.useEffect(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a]),(0,y.jsxs)(`div`,{ref:s,className:`relative`,onKeyDown:t.useCallback(e=>{e.key===`Escape`&&o(!1)},[]),children:[(0,y.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground gap-1`,onClick:()=>o(e=>!e),"aria-haspopup":`listbox`,"aria-expanded":a,"aria-label":`Add card to ${r}`,children:[(0,y.jsx)(se,{className:`h-4 w-4`}),`Add Card`,(0,y.jsx)(ie,{className:ve(`h-3 w-3 transition-transform`,a?`rotate-180`:``)})]}),a&&(0,y.jsxs)(`div`,{className:`absolute z-50 mt-1 w-full rounded-md border border-border bg-popover p-1 shadow-md`,role:`listbox`,"aria-label":`Card templates`,children:[(0,y.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,role:`option`,"aria-selected":!1,onClick:()=>{n(null),o(!1)},children:[(0,y.jsx)(se,{className:`h-4 w-4 text-muted-foreground`}),(0,y.jsx)(`span`,{className:`font-mono text-xs`,children:`Custom`})]}),e.length>0&&(0,y.jsx)(`div`,{className:`my-1 h-px bg-border`,role:`separator`}),e.map(e=>(0,y.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,role:`option`,"aria-selected":!1,onClick:()=>{n(e),o(!1)},children:[(0,y.jsx)(ae,{className:`h-4 w-4 text-muted-foreground`}),(0,y.jsx)(`span`,{className:`font-mono text-xs truncate`,children:e.name})]},e.id))]})]})},be=`objectui:kanban-column-widths`;function xe(e){try{let t=localStorage.getItem(e);if(t){let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return e}}catch{}return{}}function Se(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ce({columns:e,defaultWidth:n=320,minWidth:r=200,maxWidth:i=600,storageKey:a}){let o=a?`${be}:${a}`:be,[s,c]=(0,t.useState)(()=>xe(o)),l=(0,t.useCallback)(e=>Math.max(r,Math.min(i,e)),[r,i]);return{getColumnWidth:(0,t.useCallback)(e=>{let t=s[e];return t==null?n:l(t)},[s,n,l]),setColumnWidth:(0,t.useCallback)((e,t)=>{let n=l(t);c(t=>{let r={...t,[e]:n};return Se(o,r),r})},[l,o]),resetWidths:(0,t.useCallback)(()=>{c({});try{localStorage.removeItem(o)}catch{}},[o]),config:(0,t.useMemo)(()=>({defaultWidth:n,minWidth:r,maxWidth:i,overrides:{...s}}),[n,r,i,s])}}function we({swimlanes:e,onCardMove:n}){let[r,i]=(0,t.useState)(null),a=(0,t.useMemo)(()=>{let t=new Map;for(let n of e)t.set(n.id,n);return t},[e]),o=(0,t.useCallback)((e,t)=>{if(e===t)return!0;let n=a.get(t);return n?n.acceptFrom?n.acceptFrom.includes(e):!0:!1},[a]),s=(0,t.useCallback)((e,t,r,a)=>o(t,r)?(n?.({cardId:e,fromSwimlane:t,toSwimlane:r,columnId:a}),i(null),!0):!1,[o,n]),c=(0,t.useCallback)(e=>{i(e)},[]),l=(0,t.useCallback)(()=>{i(null)},[]);return{handleCrossSwimlaneMove:s,isDraggingAcrossSwimlanes:r!==null,startCrossSwimlaneDrag:c,endCrossSwimlaneDrag:l,canMoveTo:o}}function Te({cards:e,onReorderComplete:n}){let[r,i]=(0,t.useState)(e),[a,o]=(0,t.useState)(!1);!Ee(r,e)&&!a&&i(e);let s=(0,t.useCallback)(()=>{i(e),o(!1)},[e]);return{reorderedCards:r,onReorder:(0,t.useCallback)((e,t)=>{i(n=>{if(e<0||t<0||e>=n.length||t>=n.length)return n;let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),r})},[]),isDragging:a,startDrag:(0,t.useCallback)(()=>{o(!0)},[]),endDrag:(0,t.useCallback)(()=>{o(!1),i(e=>(n?.(e),e))},[n]),reset:s}}function Ee(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].id!==t[n].id)return!1;return!0}function De(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return(0,t.useMemo)(()=>e=>{n.forEach(t=>t(e))},n)}function Oe(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ke(e){return`nodeType`in e}function W(e){return e?Oe(e)?e:ke(e)?e.ownerDocument?.defaultView??window:window:window}function Ae(e){let{Document:t}=W(e);return e instanceof t}function je(e){return Oe(e)?!1:e instanceof W(e).HTMLElement}function Me(e){return e instanceof W(e).SVGElement}function Ne(e){return e?Oe(e)?e.document:ke(e)?Ae(e)?e:je(e)||Me(e)?e.ownerDocument:document:document:document}function Pe(e){let n=(0,t.useRef)(e);return G(()=>{n.current=e}),(0,t.useCallback)(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.current==null?void 0:n.current(...t)},[])}function Fe(){let e=(0,t.useRef)(null);return[(0,t.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,t.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ie(e,n){n===void 0&&(n=[e]);let r=(0,t.useRef)(e);return G(()=>{r.current!==e&&(r.current=e)},n),r}function Le(e,n){let r=(0,t.useRef)();return(0,t.useMemo)(()=>{let t=e(r.current);return r.current=t,t},[...n])}function Re(e){let n=Pe(e),r=(0,t.useRef)(null);return[r,(0,t.useCallback)(e=>{e!==r.current&&n?.(e,r.current),r.current=e},[])]}function ze(e){let n=(0,t.useRef)();return(0,t.useEffect)(()=>{n.current=e},[e]),n.current}function Be(e,n){return(0,t.useMemo)(()=>{if(n)return n;let t=Je[e]==null?0:Je[e]+1;return Je[e]=t,e+`-`+t},[e,n])}function Ve(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})}}function He(e){return`clientX`in e&&`clientY`in e}function Ue(e){if(!e)return!1;let{KeyboardEvent:t}=W(e.target);return t&&e instanceof t}function We(e){if(!e)return!1;let{TouchEvent:t}=W(e.target);return t&&e instanceof t}function Ge(e){if(We(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 He(e)?{x:e.clientX,y:e.clientY}:null}function Ke(e){return e.matches(Ze)?e:e.querySelector(Ze)}var qe,G,Je,Ye,Xe,K,Ze,Qe=f((()=>{qe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,G=qe?t.useLayoutEffect:t.useEffect,Je={},Ye=Ve(1),Xe=Ve(-1),K=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[K.Translate.toString(e),K.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Ze=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`}));function $e(e){let{id:n,value:r}=e;return t.default.createElement(`div`,{id:n,style:nt},r)}function et(e){let{id:n,announcement:r,ariaLiveType:i=`assertive`}=e;return t.default.createElement(`div`,{id:n,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 tt(){let[e,n]=(0,t.useState)(``);return{announce:(0,t.useCallback)(e=>{e!=null&&n(e)},[]),announcement:e}}var nt,rt=f((()=>{nt={display:`none`}}));function it(e){let n=(0,t.useContext)(kn);(0,t.useEffect)(()=>{if(!n)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return n(e)},[e,n])}function at(){let[e]=(0,t.useState)(()=>new Set),n=(0,t.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,t.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),n]}function ot(e){let{announcements:n=jn,container:r,hiddenTextDescribedById:i,screenReaderInstructions:o=An}=e,{announce:s,announcement:c}=tt(),l=Be(`DndLiveRegion`),[u,d]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{d(!0)},[]),it((0,t.useMemo)(()=>({onDragStart(e){let{active:t}=e;s(n.onDragStart({active:t}))},onDragMove(e){let{active:t,over:r}=e;n.onDragMove&&s(n.onDragMove({active:t,over:r}))},onDragOver(e){let{active:t,over:r}=e;s(n.onDragOver({active:t,over:r}))},onDragEnd(e){let{active:t,over:r}=e;s(n.onDragEnd({active:t,over:r}))},onDragCancel(e){let{active:t,over:r}=e;s(n.onDragCancel({active:t,over:r}))}}),[s,n])),!u)return null;let f=t.default.createElement(t.default.Fragment,null,t.default.createElement($e,{id:i,value:o.draggable}),t.default.createElement(et,{id:l,announcement:c}));return r?(0,a.createPortal)(f,r):f}function st(){}function ct(e,n){return(0,t.useMemo)(()=>({sensor:e,options:n??{}}),[e,n])}function lt(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return(0,t.useMemo)(()=>[...n].filter(e=>e!=null),[...n])}function ut(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function dt(e,t){let n=Ge(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function ft(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function pt(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function mt(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function ht(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function gt(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}function _t(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function vt(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:J}function yt(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})}}function bt(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 xt(e,t,n){let r=bt(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}}function St(e,t){t===void 0&&(t=Fn);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=W(e).getComputedStyle(e);t&&(n=xt(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 Ct(e){return St(e,{ignoreTransform:!0})}function wt(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Tt(e,t){return t===void 0&&(t=W(e).getComputedStyle(e)),t.position===`fixed`}function Et(e,t){t===void 0&&(t=W(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 Dt(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ae(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!je(i)||Me(i)||n.includes(i))return n;let a=W(e).getComputedStyle(i);return i!==e&&Et(i,a)&&n.push(i),Tt(i,a)?n:r(i.parentNode)}return e?r(e):n}function Ot(e){let[t]=Dt(e,1);return t??null}function kt(e){return!qe||!e?null:Oe(e)?e:ke(e)?Ae(e)||e===Ne(e).scrollingElement?window:je(e)?e:null:null}function At(e){return Oe(e)?e.scrollX:e.scrollLeft}function jt(e){return Oe(e)?e.scrollY:e.scrollTop}function Mt(e){return{x:At(e),y:jt(e)}}function Nt(e){return!qe||!e?!1:e===document.scrollingElement}function Pt(e){let t={x:0,y:0},n=Nt(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}}function Ft(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=In);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Pt(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=Y.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Y.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Y.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Y.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function It(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 Lt(e){return e.reduce((e,t)=>Ye(e,Mt(t)),J)}function Rt(e){return e.reduce((e,t)=>e+At(t),0)}function zt(e){return e.reduce((e,t)=>e+jt(t),0)}function Bt(e,t){if(t===void 0&&(t=St),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Ot(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}function Vt(e){let{EventTarget:t}=W(e);return e instanceof t?e:Ne(e)}function Ht(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}function Ut(e){e.preventDefault()}function Wt(e){e.stopPropagation()}function Gt(e){return!!(e&&`distance`in e)}function Kt(e){return!!(e&&`delay`in e)}function qt(e){let{acceleration:n,activator:r=Zn.Pointer,canScroll:i,draggingRect:a,enabled:o,interval:s=5,order:c=Qn.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=Jt({delta:f,disabled:!o}),[h,g]=Fe(),_=(0,t.useRef)({x:0,y:0}),v=(0,t.useRef)({x:0,y:0}),y=(0,t.useMemo)(()=>{switch(r){case Zn.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Zn.DraggableRect:return a}},[r,a,l]),b=(0,t.useRef)(null),x=(0,t.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,t.useMemo)(()=>c===Qn.TreeOrder?[...u].reverse():u,[c,u]);(0,t.useEffect)(()=>{if(!o||!u.length||!y){g();return}for(let e of S){if(i?.(e)===!1)continue;let t=d[u.indexOf(e)];if(!t)continue;let{direction:r,speed:a}=Ft(e,t,y,n,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()},[n,x,i,g,o,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}function Jt(e){let{delta:t,disabled:n}=e,r=ze(t);return Le(e=>{if(n||!r||!e)return $n;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Y.Backward]:e.x[Y.Backward]||i.x===-1,[Y.Forward]:e.x[Y.Forward]||i.x===1},y:{[Y.Backward]:e.y[Y.Backward]||i.y===-1,[Y.Forward]:e.y[Y.Forward]||i.y===1}}},[n,t,r])}function Yt(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Le(e=>t==null?null:r??e??null,[r,t])}function Xt(e,n){return(0,t.useMemo)(()=>e.reduce((e,t)=>{let{sensor:r}=t,i=r.activators.map(e=>({eventName:e.eventName,handler:n(e.handler,t)}));return[...e,...i]},[]),[e,n])}function Zt(e,n){let{dragging:r,dependencies:i,config:a}=n,[o,s]=(0,t.useState)(null),{frequency:c,measure:l,strategy:u}=a,d=(0,t.useRef)(e),f=_(),p=Ie(f),m=(0,t.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,t.useRef)(null),g=Le(t=>{if(f&&!r)return nr;if(!t||t===nr||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 Rn(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,t.useEffect)(()=>{d.current=e},[e]),(0,t.useEffect)(()=>{f||m()},[r,f]),(0,t.useEffect)(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),(0,t.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 er.Always:return!1;case er.BeforeDragging:return r;default:return!r}}}function Qt(e,t){return Le(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function $t(e,t){return Qt(e,t)}function en(e){let{callback:n,disabled:r}=e,i=Pe(n),a=(0,t.useMemo)(()=>{if(r||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(i)},[i,r]);return(0,t.useEffect)(()=>()=>a?.disconnect(),[a]),a}function tn(e){let{callback:n,disabled:r}=e,i=Pe(n),a=(0,t.useMemo)(()=>{if(r||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(i)},[r]);return(0,t.useEffect)(()=>()=>a?.disconnect(),[a]),a}function nn(e){return new Rn(St(e),e)}function rn(e,n,r){n===void 0&&(n=nn);let[i,a]=(0,t.useState)(null);function o(){a(t=>{if(!e)return null;if(e.isConnected===!1)return t??r??null;let i=n(e);return JSON.stringify(t)===JSON.stringify(i)?t:i})}let s=en({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=tn({callback:o});return G(()=>{o(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),i}function an(e){return vt(e,Qt(e))}function on(e){let n=(0,t.useRef)(e),r=Le(t=>e?t&&t!==rr&&e&&n.current&&e.parentNode===n.current.parentNode?t:Dt(e):rr,[e]);return(0,t.useEffect)(()=>{n.current=e},[e]),r}function sn(e){let[n,r]=(0,t.useState)(null),i=(0,t.useRef)(e),a=(0,t.useCallback)(e=>{let t=kt(e.target);t&&r(e=>e?(e.set(t,Mt(t)),new Map(e)):null)},[]);return(0,t.useEffect)(()=>{let t=i.current;if(e!==t){n(t);let o=e.map(e=>{let t=kt(e);return t?(t.addEventListener(`scroll`,a,{passive:!0}),[t,Mt(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=>{kt(e)?.removeEventListener(`scroll`,a)})}},[a,e]),(0,t.useMemo)(()=>e.length?n?Array.from(n.values()).reduce((e,t)=>Ye(e,t),J):Lt(e):J,[e,n])}function cn(e,n){n===void 0&&(n=[]);let r=(0,t.useRef)(null);return(0,t.useEffect)(()=>{r.current=null},n),(0,t.useEffect)(()=>{let t=e!==J;t&&!r.current&&(r.current=e),!t&&r.current&&(r.current=null)},[e]),r.current?Xe(e,r.current):J}function ln(e){(0,t.useEffect)(()=>{if(!qe)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 un(e,n){return(0,t.useMemo)(()=>e.reduce((e,t)=>{let{eventName:r,handler:i}=t;return e[r]=e=>{i(e,n)},e},{}),[e,n])}function dn(e){return(0,t.useMemo)(()=>e?wt(e):null,[e])}function fn(e,n){n===void 0&&(n=St);let[r]=e,i=dn(r?W(r):null),[a,o]=(0,t.useState)(ir);function s(){o(()=>e.length?e.map(e=>Nt(e)?i:new Rn(n(e),e)):ir)}let c=tn({callback:s});return G(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),a}function pn(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return je(t)?t:e}function mn(e){let{measure:n}=e,[r,i]=(0,t.useState)(null),a=tn({callback:(0,t.useCallback)(e=>{for(let{target:t}of e)if(je(t)){i(e=>{let r=n(t);return e?{...e,width:r.width,height:r.height}:r});break}},[n])}),[o,s]=Re((0,t.useCallback)(e=>{let t=pn(e);a?.disconnect(),t&&a?.observe(t),i(t?n(t):null)},[n,a]));return(0,t.useMemo)(()=>({nodeRef:o,rect:r,setRef:s}),[r,o,s])}function hn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new cr}}}function gn(e,t){switch(t.type){case q.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case q.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 q.DragEnd:case q.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case q.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new cr(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case q.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 cr(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case q.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new cr(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function _n(e){let{disabled:n}=e,{active:r,activatorEvent:i,draggableNodes:a}=(0,t.useContext)(dr),o=ze(i),s=ze(r?.id);return(0,t.useEffect)(()=>{if(!n&&!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=Ke(e);if(t){t.focus();break}}})}},[i,n,a,s,o]),null}function vn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function yn(e){return(0,t.useMemo)(()=>({draggable:{...sr.draggable,...e?.draggable},droppable:{...sr.droppable,...e?.droppable},dragOverlay:{...sr.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function bn(e){let{activeNode:n,measure:r,initialRect:i,config:a=!0}=e,o=(0,t.useRef)(!1),{x:s,y:c}=typeof a==`boolean`?{x:a,y:a}:a;G(()=>{if(!s&&!c||!n){o.current=!1;return}if(o.current||!i)return;let e=n?.node.current;if(!e||e.isConnected===!1)return;let t=vt(r(e),i);if(s||(t.x=0),c||(t.y=0),o.current=!0,Math.abs(t.x)>0||Math.abs(t.y)>0){let n=Ot(e);n&&n.scrollBy({top:t.y,left:t.x})}},[n,s,c,i,r])}function xn(e){let{id:n,data:r,disabled:i=!1,attributes:a}=e,o=Be(vr),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,t.useContext)(dr),{role:m=_r,roleDescription:h=`draggable`,tabIndex:g=0}=a??{},_=l?.id===n,v=(0,t.useContext)(_?pr:gr),[y,b]=Re(),[x,S]=Re(),C=un(s,n),w=Ie(r);return G(()=>(f.set(n,{id:n,key:o,node:y,activatorNode:x,data:w}),()=>{let e=f.get(n);e&&e.key===o&&f.delete(n)}),[f,n]),{active:l,activatorEvent:c,activeNodeRect:u,attributes:(0,t.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":i,"aria-pressed":_&&m===_r?!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 Sn(){return(0,t.useContext)(fr)}function Cn(e){let{data:n,disabled:r=!1,id:i,resizeObserverConfig:a}=e,o=Be(yr),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,t.useContext)(dr),d=(0,t.useRef)({disabled:r}),f=(0,t.useRef)(!1),p=(0,t.useRef)(null),m=(0,t.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...br,...a},v=Ie(g??i),y=tn({callback:(0,t.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,t.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),S=Ie(n);return(0,t.useEffect)(()=>{!y||!b.current||(y.disconnect(),f.current=!1,y.observe(b.current))},[b,y]),(0,t.useEffect)(()=>(c({type:q.RegisterDroppable,element:{id:i,key:o,disabled:r,node:b,rect:p,data:S}}),()=>c({type:q.UnregisterDroppable,key:o,id:i})),[i]),(0,t.useEffect)(()=>{r!==d.current.disabled&&(c({type:q.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 wn(e){let{animation:n,children:r}=e,[i,a]=(0,t.useState)(null),[o,s]=(0,t.useState)(null),c=ze(r);return!r&&!i&&c&&a(c),G(()=>{if(!o)return;let e=i?.key,t=i?.props.id;if(e==null||t==null){a(null);return}Promise.resolve(n(t,o)).then(()=>{a(null)})},[n,i,o]),t.default.createElement(t.default.Fragment,null,r,i?(0,t.cloneElement)(i,{ref:s}):null)}function Tn(e){let{children:n}=e;return t.default.createElement(dr.Provider,{value:ur},t.default.createElement(pr.Provider,{value:xr},n))}function En(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return Pe((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=pn(a);if(!c)return;let{transform:l}=W(a).getComputedStyle(a),u=bt(l);if(!u)return;let d=typeof t==`function`?t:Dn(t);return Bt(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function Dn(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...Dr,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}function On(e){return(0,t.useMemo)(()=>{if(e!=null)return Or++,Or},[e])}var kn,An,jn,q,J,Mn,Nn,Pn,Fn,Y,In,Ln,Rn,zn,X,Z,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar=f((()=>{Qe(),rt(),kn=(0,t.createContext)(null),An={draggable:`
|
|
6
|
+
<%s key={someKey} {...props} />`,o,p,m,p),ae[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`),ee=Symbol.for(`react.activity`),D=Symbol.for(`react.client.reference`),O=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te=Object.prototype.hasOwnProperty,k=Array.isArray,ne=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var re,A={},j=m.react_stack_bottom_frame.bind(m,o)(),ie=ne(i(o)),ae={};e.Fragment=_,e.jsx=function(e,t,n){var r=1e4>O.recentlyCreatedOwnerStacks++;return d(e,t,n,!1,r?Error(`react-stack-top-frame`):j,r?ne(i(e)):ie)},e.jsxs=function(e,t,n){var r=1e4>O.recentlyCreatedOwnerStacks++;return d(e,t,n,!0,r?Error(`react-stack-top-frame`):j,r?ne(i(e)):ie)}})()})),b=p(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=v():t.exports=y()})),x=b(),S=({schema:e,dataSource:t,className:a,data:o,loading:s,onRowClick:c,onCardClick:l,...u})=>{let d=Array.isArray(o),[f,p]=(0,_.useState)([]),[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)(d?s??!1:!1),[y,b]=(0,_.useState)(null),[S,C]=(0,_.useState)(0),w=(0,r.useDataScope)(e.bind);(0,_.useEffect)(()=>{if(!d&&!(!t?.onMutation||!e.objectName))return t.onMutation(t=>{t.resource===e.objectName&&C(e=>e+1)})},[t,e.objectName,d]),(0,_.useEffect)(()=>{d&&s!==void 0&&v(s)},[s,d]),(0,_.useEffect)(()=>{let n=!0;return(async()=>{if(!(!t||!e.objectName))try{let r=await t.getObjectSchema(e.objectName);n&&h(r)}catch(e){console.warn(`Failed to fetch object def`,e)}})(),()=>{n=!1}},[e.objectName,t]),(0,_.useEffect)(()=>{if(d)return;let r=!0;return e.objectName&&!w&&!e.data&&(async()=>{if(!(!t||typeof t.find!=`function`||!e.objectName)){r&&v(!0);try{let i=(0,n.buildExpandFields)(m?.fields),a=(0,n.extractRecords)(await t.find(e.objectName,{options:{$top:100},$filter:e.filter,...i.length>0?{$expand:i}:{}}));r&&p(a)}catch(e){console.error(`[ObjectKanban] Fetch error:`,e),r&&b(e)}finally{r&&v(!1)}}})(),()=>{r=!1}},[e.objectName,t,w,e.data,e.filter,d,m,S]);let T=(d?o:void 0)||w||e.data||f,E=(0,_.useMemo)(()=>{if(!Array.isArray(T))return[];let t=e.cardTitle||e.titleField;if(!t&&m){if(m.titleFormat){let e=/\{(.+?)\}/.exec(m.titleFormat);e&&(t=e[1])}!t&&m.NAME_FIELD_KEY&&(t=m.NAME_FIELD_KEY)}let n=[`name`,`title`,`subject`,`label`,`display_name`];return T.map(e=>{let r=t?e[t]:void 0;if(!r){for(let t of n)if(e[t]){r=e[t];break}}return{...e,id:e.id||e._id,title:r||`Untitled`}})},[T,e,m]),ee=(0,_.useMemo)(()=>{if(e.columns&&e.columns.length>0)if(typeof e.columns[0]==`string`){if(!e.groupBy)return e.columns.map(e=>({id:e,title:e}))}else return e.columns;if(e.groupBy&&m?.fields?.[e.groupBy]?.options)return m.fields[e.groupBy].options.map(e=>({id:e.value,title:e.label}));if(e.groupBy&&E.length>0){let t=new Set(E.map(t=>t[e.groupBy]));return Array.from(t).map(e=>({id:String(e),title:String(e)}))}return[]},[e.columns,e.groupBy,E,m]),D=e.swimlaneField||e.grouping?.fields?.[0]?.field,O={...e,data:E,columns:ee,className:a||e.className,...D?{swimlaneField:D}:{}},te=(0,r.useNavigationOverlay)({navigation:e.navigation,objectName:e.objectName,onRowClick:c??l});if(y)return(0,x.jsxs)(`div`,{className:`p-4 border border-destructive/50 rounded bg-destructive/10 text-destructive`,children:[`Error loading kanban data: `,y.message]});let k=e.objectName?`${e.objectName.charAt(0).toUpperCase()+e.objectName.slice(1).replace(/_/g,` `)} Detail`:`Card Details`;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Ji,{schema:{...O,onCardClick:e=>{te.handleClick(e),l?.(e)}}}),te.isOverlay&&(0,x.jsx)(i.NavigationOverlay,{...te,title:k,children:e=>(0,x.jsx)(`div`,{className:`space-y-3`,children:Object.entries(e).map(([e,t])=>(0,x.jsxs)(`div`,{className:`flex flex-col`,children:[(0,x.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wide`,children:e.replace(/_/g,` `)}),(0,x.jsx)(`span`,{className:`text-sm`,children:String(t??`—`)})]},e))})})]})},C,w=f((()=>{C=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim()})),T,E=f((()=>{T=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase()})),ee,D=f((()=>{ee=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase())})),O,te=f((()=>{D(),O=e=>{let t=ee(e);return t.charAt(0).toUpperCase()+t.slice(1)}})),k,ne=f((()=>{k={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`}})),re,A=f((()=>{re=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1}})),j,ie,ae=f((()=>{j=(0,t.createContext)({}),ie=()=>(0,t.useContext)(j)})),M,N=f((()=>{ne(),A(),w(),ae(),M=(0,t.forwardRef)(({color:e,size:n,strokeWidth:r,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=ie()??{},h=i??f?Number(r??d)*24/Number(n??u):r??d;return(0,t.createElement)(`svg`,{ref:l,...k,width:n??u??k.width,height:n??u??k.height,stroke:e??p,strokeWidth:h,className:C(`lucide`,m,a),...!o&&!re(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,n])=>(0,t.createElement)(e,n)),...Array.isArray(o)?o:[o]])})})),P,F=f((()=>{w(),E(),te(),N(),P=(e,n)=>{let r=(0,t.forwardRef)(({className:r,...i},a)=>(0,t.createElement)(M,{ref:a,iconNode:n,className:C(`lucide-${T(O(e))}`,`lucide-${e}`,r),...i}));return r.displayName=O(e),r}})),I,L,R=f((()=>{F(),I=[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]],L=P(`check`,I)})),z,B,oe=f((()=>{F(),z=[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]],B=P(`chevron-down`,z)})),V,se,ce=f((()=>{F(),V=[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]],se=P(`chevron-right`,V)})),le,H,ue=f((()=>{F(),le=[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]],H=P(`file-text`,le)})),de,fe,pe=f((()=>{F(),de=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],fe=P(`plus`,de)})),me,he,ge=f((()=>{F(),me=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],he=P(`triangle-alert`,me)})),_e,ve,ye=f((()=>{F(),_e=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],ve=P(`x`,_e)})),U=f((()=>{F(),ge(),R(),oe(),ce(),ue(),pe(),ye(),ae(),N()}));U();var be=(...e)=>e.filter(Boolean).join(` `),xe=({columnId:e,fields:t,onSubmit:n,onCancel:r,defaultValues:a})=>{let[o,s]=_.useState(()=>{let e={};for(let n of t)e[n.name]=a?.[n.name]??n.defaultValue??``;return e}),c=_.useRef(null);_.useEffect(()=>{let e=setTimeout(()=>c.current?.focus(),0);return()=>clearTimeout(e)},[]);let l=_.useCallback((e,t)=>{s(n=>({...n,[e]:t}))},[]),u=_.useCallback(()=>{Object.values(o).some(e=>typeof e==`string`?e.trim().length>0:e!=null)&&n(e,o)},[e,o,n]);return(0,x.jsxs)(`div`,{className:`mt-2 rounded-lg border border-primary/30 bg-card p-3 space-y-2 shadow-sm`,onKeyDown:_.useCallback(e=>{e.key===`Enter`?(e.preventDefault(),u()):e.key===`Escape`&&(e.preventDefault(),r())},[u,r]),role:`form`,"aria-label":`Quick add card`,children:[t.map((t,n)=>(0,x.jsxs)(`div`,{className:`space-y-1`,children:[(0,x.jsx)(`label`,{htmlFor:`qa-${e}-${t.name}`,className:`text-xs font-mono text-muted-foreground`,children:t.label??t.name}),Se(t,o[t.name],l,n===0?c:void 0,`qa-${e}-${t.name}`)]},t.name)),(0,x.jsxs)(`div`,{className:`flex items-center gap-2 pt-1`,children:[(0,x.jsxs)(i.Button,{type:`button`,size:`sm`,className:`h-7 text-xs gap-1`,onClick:u,children:[(0,x.jsx)(L,{className:`h-3 w-3`}),`Save`]}),(0,x.jsxs)(i.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 text-xs gap-1`,onClick:r,children:[(0,x.jsx)(ve,{className:`h-3 w-3`}),`Cancel`]})]})]})};function Se(e,t,n,r,a){let o=`text-sm h-8`;switch(e.type){case`select`:return(0,x.jsxs)(`select`,{ref:r,id:a,value:t??``,onChange:t=>n(e.name,t.target.value),className:be(o,`w-full rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`),children:[(0,x.jsx)(`option`,{value:``,children:e.placeholder??`Select ${e.label??e.name}...`}),(e.options??[]).map(e=>(0,x.jsx)(`option`,{value:e.value,children:e.label},e.value))]});case`number`:return(0,x.jsx)(i.Input,{ref:r,id:a,type:`number`,value:t??``,onChange:t=>n(e.name,t.target.value===``?``:Number(t.target.value)),placeholder:e.placeholder??`Enter ${e.label??e.name}...`,className:o});default:return(0,x.jsx)(i.Input,{ref:r,id:a,type:`text`,value:t??``,onChange:t=>n(e.name,t.target.value),placeholder:e.placeholder??`Enter ${e.label??e.name}...`,className:o})}}U();var Ce=(...e)=>e.filter(Boolean).join(` `),we=({templates:e,onSelect:t,columnId:n})=>{let[r,a]=_.useState(!1),o=_.useRef(null);return _.useEffect(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),(0,x.jsxs)(`div`,{ref:o,className:`relative`,onKeyDown:_.useCallback(e=>{e.key===`Escape`&&a(!1)},[]),children:[(0,x.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground gap-1`,onClick:()=>a(e=>!e),"aria-haspopup":`listbox`,"aria-expanded":r,"aria-label":`Add card to ${n}`,children:[(0,x.jsx)(fe,{className:`h-4 w-4`}),`Add Card`,(0,x.jsx)(B,{className:Ce(`h-3 w-3 transition-transform`,r?`rotate-180`:``)})]}),r&&(0,x.jsxs)(`div`,{className:`absolute z-50 mt-1 w-full rounded-md border border-border bg-popover p-1 shadow-md`,role:`listbox`,"aria-label":`Card templates`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,role:`option`,"aria-selected":!1,onClick:()=>{t(null),a(!1)},children:[(0,x.jsx)(fe,{className:`h-4 w-4 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`font-mono text-xs`,children:`Custom`})]}),e.length>0&&(0,x.jsx)(`div`,{className:`my-1 h-px bg-border`,role:`separator`}),e.map(e=>(0,x.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors`,role:`option`,"aria-selected":!1,onClick:()=>{t(e),a(!1)},children:[(0,x.jsx)(H,{className:`h-4 w-4 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`font-mono text-xs truncate`,children:e.name})]},e.id))]})]})},Te=`objectui:kanban-column-widths`;function Ee(e){try{let t=localStorage.getItem(e);if(t){let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return e}}catch{}return{}}function De(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Oe({columns:e,defaultWidth:t=320,minWidth:n=200,maxWidth:r=600,storageKey:i}){let a=i?`${Te}:${i}`:Te,[o,s]=(0,_.useState)(()=>Ee(a)),c=(0,_.useCallback)(e=>Math.max(n,Math.min(r,e)),[n,r]);return{getColumnWidth:(0,_.useCallback)(e=>{let n=o[e];return n==null?t:c(n)},[o,t,c]),setColumnWidth:(0,_.useCallback)((e,t)=>{let n=c(t);s(t=>{let r={...t,[e]:n};return De(a,r),r})},[c,a]),resetWidths:(0,_.useCallback)(()=>{s({});try{localStorage.removeItem(a)}catch{}},[a]),config:(0,_.useMemo)(()=>({defaultWidth:t,minWidth:n,maxWidth:r,overrides:{...o}}),[t,n,r,o])}}function ke({swimlanes:e,onCardMove:t}){let[n,r]=(0,_.useState)(null),i=(0,_.useMemo)(()=>{let t=new Map;for(let n of e)t.set(n.id,n);return t},[e]),a=(0,_.useCallback)((e,t)=>{if(e===t)return!0;let n=i.get(t);return n?n.acceptFrom?n.acceptFrom.includes(e):!0:!1},[i]),o=(0,_.useCallback)((e,n,i,o)=>a(n,i)?(t?.({cardId:e,fromSwimlane:n,toSwimlane:i,columnId:o}),r(null),!0):!1,[a,t]),s=(0,_.useCallback)(e=>{r(e)},[]),c=(0,_.useCallback)(()=>{r(null)},[]);return{handleCrossSwimlaneMove:o,isDraggingAcrossSwimlanes:n!==null,startCrossSwimlaneDrag:s,endCrossSwimlaneDrag:c,canMoveTo:a}}function Ae({cards:e,onReorderComplete:t}){let[n,r]=(0,_.useState)(e),[i,a]=(0,_.useState)(!1);!je(n,e)&&!i&&r(e);let o=(0,_.useCallback)(()=>{r(e),a(!1)},[e]);return{reorderedCards:n,onReorder:(0,_.useCallback)((e,t)=>{r(n=>{if(e<0||t<0||e>=n.length||t>=n.length)return n;let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),r})},[]),isDragging:i,startDrag:(0,_.useCallback)(()=>{a(!0)},[]),endDrag:(0,_.useCallback)(()=>{a(!1),r(e=>(t?.(e),e))},[t]),reset:o}}function je(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].id!==t[n].id)return!1;return!0}function Me(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return(0,t.useMemo)(()=>e=>{n.forEach(t=>t(e))},n)}function Ne(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Pe(e){return`nodeType`in e}function W(e){return e?Ne(e)?e:Pe(e)?e.ownerDocument?.defaultView??window:window:window}function Fe(e){let{Document:t}=W(e);return e instanceof t}function Ie(e){return Ne(e)?!1:e instanceof W(e).HTMLElement}function Le(e){return e instanceof W(e).SVGElement}function Re(e){return e?Ne(e)?e.document:Pe(e)?Fe(e)?e:Ie(e)||Le(e)?e.ownerDocument:document:document:document}function ze(e){let n=(0,t.useRef)(e);return G(()=>{n.current=e}),(0,t.useCallback)(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.current==null?void 0:n.current(...t)},[])}function Be(){let e=(0,t.useRef)(null);return[(0,t.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,t.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ve(e,n){n===void 0&&(n=[e]);let r=(0,t.useRef)(e);return G(()=>{r.current!==e&&(r.current=e)},n),r}function He(e,n){let r=(0,t.useRef)();return(0,t.useMemo)(()=>{let t=e(r.current);return r.current=t,t},[...n])}function Ue(e){let n=ze(e),r=(0,t.useRef)(null);return[r,(0,t.useCallback)(e=>{e!==r.current&&n?.(e,r.current),r.current=e},[])]}function We(e){let n=(0,t.useRef)();return(0,t.useEffect)(()=>{n.current=e},[e]),n.current}function Ge(e,n){return(0,t.useMemo)(()=>{if(n)return n;let t=$e[e]==null?0:$e[e]+1;return $e[e]=t,e+`-`+t},[e,n])}function Ke(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})}}function qe(e){return`clientX`in e&&`clientY`in e}function Je(e){if(!e)return!1;let{KeyboardEvent:t}=W(e.target);return t&&e instanceof t}function Ye(e){if(!e)return!1;let{TouchEvent:t}=W(e.target);return t&&e instanceof t}function Xe(e){if(Ye(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 qe(e)?{x:e.clientX,y:e.clientY}:null}function Ze(e){return e.matches(nt)?e:e.querySelector(nt)}var Qe,G,$e,et,tt,K,nt,rt=f((()=>{Qe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,G=Qe?t.useLayoutEffect:t.useEffect,$e={},et=Ke(1),tt=Ke(-1),K=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[K.Translate.toString(e),K.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),nt=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`}));function it(e){let{id:n,value:r}=e;return t.default.createElement(`div`,{id:n,style:st},r)}function at(e){let{id:n,announcement:r,ariaLiveType:i=`assertive`}=e;return t.default.createElement(`div`,{id:n,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 ot(){let[e,n]=(0,t.useState)(``);return{announce:(0,t.useCallback)(e=>{e!=null&&n(e)},[]),announcement:e}}var st,ct=f((()=>{st={display:`none`}}));function lt(e){let n=(0,t.useContext)(Pn);(0,t.useEffect)(()=>{if(!n)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return n(e)},[e,n])}function ut(){let[e]=(0,t.useState)(()=>new Set),n=(0,t.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,t.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),n]}function dt(e){let{announcements:n=In,container:r,hiddenTextDescribedById:i,screenReaderInstructions:o=Fn}=e,{announce:s,announcement:c}=ot(),l=Ge(`DndLiveRegion`),[u,d]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{d(!0)},[]),lt((0,t.useMemo)(()=>({onDragStart(e){let{active:t}=e;s(n.onDragStart({active:t}))},onDragMove(e){let{active:t,over:r}=e;n.onDragMove&&s(n.onDragMove({active:t,over:r}))},onDragOver(e){let{active:t,over:r}=e;s(n.onDragOver({active:t,over:r}))},onDragEnd(e){let{active:t,over:r}=e;s(n.onDragEnd({active:t,over:r}))},onDragCancel(e){let{active:t,over:r}=e;s(n.onDragCancel({active:t,over:r}))}}),[s,n])),!u)return null;let f=t.default.createElement(t.default.Fragment,null,t.default.createElement(it,{id:i,value:o.draggable}),t.default.createElement(at,{id:l,announcement:c}));return r?(0,a.createPortal)(f,r):f}function ft(){}function pt(e,n){return(0,t.useMemo)(()=>({sensor:e,options:n??{}}),[e,n])}function mt(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return(0,t.useMemo)(()=>[...n].filter(e=>e!=null),[...n])}function ht(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function gt(e,t){let n=Xe(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function _t(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function vt(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function yt(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function bt(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function xt(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}function St(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Ct(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:J}function wt(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})}}function Tt(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 Et(e,t,n){let r=Tt(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}}function Dt(e,t){t===void 0&&(t=Bn);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=W(e).getComputedStyle(e);t&&(n=Et(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 Ot(e){return Dt(e,{ignoreTransform:!0})}function kt(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function At(e,t){return t===void 0&&(t=W(e).getComputedStyle(e)),t.position===`fixed`}function jt(e,t){t===void 0&&(t=W(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 Mt(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Fe(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ie(i)||Le(i)||n.includes(i))return n;let a=W(e).getComputedStyle(i);return i!==e&&jt(i,a)&&n.push(i),At(i,a)?n:r(i.parentNode)}return e?r(e):n}function Nt(e){let[t]=Mt(e,1);return t??null}function Pt(e){return!Qe||!e?null:Ne(e)?e:Pe(e)?Fe(e)||e===Re(e).scrollingElement?window:Ie(e)?e:null:null}function Ft(e){return Ne(e)?e.scrollX:e.scrollLeft}function It(e){return Ne(e)?e.scrollY:e.scrollTop}function Lt(e){return{x:Ft(e),y:It(e)}}function Rt(e){return!Qe||!e?!1:e===document.scrollingElement}function zt(e){let t={x:0,y:0},n=Rt(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}}function Bt(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Vn);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=zt(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=Y.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Y.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Y.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Y.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Vt(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 Ht(e){return e.reduce((e,t)=>et(e,Lt(t)),J)}function Ut(e){return e.reduce((e,t)=>e+Ft(t),0)}function Wt(e){return e.reduce((e,t)=>e+It(t),0)}function Gt(e,t){if(t===void 0&&(t=Dt),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Nt(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}function Kt(e){let{EventTarget:t}=W(e);return e instanceof t?e:Re(e)}function qt(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}function Jt(e){e.preventDefault()}function Yt(e){e.stopPropagation()}function Xt(e){return!!(e&&`distance`in e)}function Zt(e){return!!(e&&`delay`in e)}function Qt(e){let{acceleration:n,activator:r=nr.Pointer,canScroll:i,draggingRect:a,enabled:o,interval:s=5,order:c=rr.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=$t({delta:f,disabled:!o}),[h,g]=Be(),_=(0,t.useRef)({x:0,y:0}),v=(0,t.useRef)({x:0,y:0}),y=(0,t.useMemo)(()=>{switch(r){case nr.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case nr.DraggableRect:return a}},[r,a,l]),b=(0,t.useRef)(null),x=(0,t.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,t.useMemo)(()=>c===rr.TreeOrder?[...u].reverse():u,[c,u]);(0,t.useEffect)(()=>{if(!o||!u.length||!y){g();return}for(let e of S){if(i?.(e)===!1)continue;let t=d[u.indexOf(e)];if(!t)continue;let{direction:r,speed:a}=Bt(e,t,y,n,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()},[n,x,i,g,o,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}function $t(e){let{delta:t,disabled:n}=e,r=We(t);return He(e=>{if(n||!r||!e)return ir;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Y.Backward]:e.x[Y.Backward]||i.x===-1,[Y.Forward]:e.x[Y.Forward]||i.x===1},y:{[Y.Backward]:e.y[Y.Backward]||i.y===-1,[Y.Forward]:e.y[Y.Forward]||i.y===1}}},[n,t,r])}function en(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return He(e=>t==null?null:r??e??null,[r,t])}function tn(e,n){return(0,t.useMemo)(()=>e.reduce((e,t)=>{let{sensor:r}=t,i=r.activators.map(e=>({eventName:e.eventName,handler:n(e.handler,t)}));return[...e,...i]},[]),[e,n])}function nn(e,n){let{dragging:r,dependencies:i,config:a}=n,[o,s]=(0,t.useState)(null),{frequency:c,measure:l,strategy:u}=a,d=(0,t.useRef)(e),f=_(),p=Ve(f),m=(0,t.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,t.useRef)(null),g=He(t=>{if(f&&!r)return sr;if(!t||t===sr||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 Un(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,t.useEffect)(()=>{d.current=e},[e]),(0,t.useEffect)(()=>{f||m()},[r,f]),(0,t.useEffect)(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),(0,t.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 ar.Always:return!1;case ar.BeforeDragging:return r;default:return!r}}}function rn(e,t){return He(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function an(e,t){return rn(e,t)}function on(e){let{callback:n,disabled:r}=e,i=ze(n),a=(0,t.useMemo)(()=>{if(r||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(i)},[i,r]);return(0,t.useEffect)(()=>()=>a?.disconnect(),[a]),a}function sn(e){let{callback:n,disabled:r}=e,i=ze(n),a=(0,t.useMemo)(()=>{if(r||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(i)},[r]);return(0,t.useEffect)(()=>()=>a?.disconnect(),[a]),a}function cn(e){return new Un(Dt(e),e)}function ln(e,n,r){n===void 0&&(n=cn);let[i,a]=(0,t.useState)(null);function o(){a(t=>{if(!e)return null;if(e.isConnected===!1)return t??r??null;let i=n(e);return JSON.stringify(t)===JSON.stringify(i)?t:i})}let s=on({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=sn({callback:o});return G(()=>{o(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),i}function un(e){return Ct(e,rn(e))}function dn(e){let n=(0,t.useRef)(e),r=He(t=>e?t&&t!==cr&&e&&n.current&&e.parentNode===n.current.parentNode?t:Mt(e):cr,[e]);return(0,t.useEffect)(()=>{n.current=e},[e]),r}function fn(e){let[n,r]=(0,t.useState)(null),i=(0,t.useRef)(e),a=(0,t.useCallback)(e=>{let t=Pt(e.target);t&&r(e=>e?(e.set(t,Lt(t)),new Map(e)):null)},[]);return(0,t.useEffect)(()=>{let t=i.current;if(e!==t){n(t);let o=e.map(e=>{let t=Pt(e);return t?(t.addEventListener(`scroll`,a,{passive:!0}),[t,Lt(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=>{Pt(e)?.removeEventListener(`scroll`,a)})}},[a,e]),(0,t.useMemo)(()=>e.length?n?Array.from(n.values()).reduce((e,t)=>et(e,t),J):Ht(e):J,[e,n])}function pn(e,n){n===void 0&&(n=[]);let r=(0,t.useRef)(null);return(0,t.useEffect)(()=>{r.current=null},n),(0,t.useEffect)(()=>{let t=e!==J;t&&!r.current&&(r.current=e),!t&&r.current&&(r.current=null)},[e]),r.current?tt(e,r.current):J}function mn(e){(0,t.useEffect)(()=>{if(!Qe)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 hn(e,n){return(0,t.useMemo)(()=>e.reduce((e,t)=>{let{eventName:r,handler:i}=t;return e[r]=e=>{i(e,n)},e},{}),[e,n])}function gn(e){return(0,t.useMemo)(()=>e?kt(e):null,[e])}function _n(e,n){n===void 0&&(n=Dt);let[r]=e,i=gn(r?W(r):null),[a,o]=(0,t.useState)(lr);function s(){o(()=>e.length?e.map(e=>Rt(e)?i:new Un(n(e),e)):lr)}let c=sn({callback:s});return G(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),a}function vn(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Ie(t)?t:e}function yn(e){let{measure:n}=e,[r,i]=(0,t.useState)(null),a=sn({callback:(0,t.useCallback)(e=>{for(let{target:t}of e)if(Ie(t)){i(e=>{let r=n(t);return e?{...e,width:r.width,height:r.height}:r});break}},[n])}),[o,s]=Ue((0,t.useCallback)(e=>{let t=vn(e);a?.disconnect(),t&&a?.observe(t),i(t?n(t):null)},[n,a]));return(0,t.useMemo)(()=>({nodeRef:o,rect:r,setRef:s}),[r,o,s])}function bn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new pr}}}function xn(e,t){switch(t.type){case q.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case q.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 q.DragEnd:case q.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case q.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new pr(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case q.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 pr(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case q.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new pr(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Sn(e){let{disabled:n}=e,{active:r,activatorEvent:i,draggableNodes:a}=(0,t.useContext)(gr),o=We(i),s=We(r?.id);return(0,t.useEffect)(()=>{if(!n&&!i&&o&&s!=null){if(!Je(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=Ze(e);if(t){t.focus();break}}})}},[i,n,a,s,o]),null}function Cn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function wn(e){return(0,t.useMemo)(()=>({draggable:{...fr.draggable,...e?.draggable},droppable:{...fr.droppable,...e?.droppable},dragOverlay:{...fr.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Tn(e){let{activeNode:n,measure:r,initialRect:i,config:a=!0}=e,o=(0,t.useRef)(!1),{x:s,y:c}=typeof a==`boolean`?{x:a,y:a}:a;G(()=>{if(!s&&!c||!n){o.current=!1;return}if(o.current||!i)return;let e=n?.node.current;if(!e||e.isConnected===!1)return;let t=Ct(r(e),i);if(s||(t.x=0),c||(t.y=0),o.current=!0,Math.abs(t.x)>0||Math.abs(t.y)>0){let n=Nt(e);n&&n.scrollBy({top:t.y,left:t.x})}},[n,s,c,i,r])}function En(e){let{id:n,data:r,disabled:i=!1,attributes:a}=e,o=Ge(Cr),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,t.useContext)(gr),{role:m=Sr,roleDescription:h=`draggable`,tabIndex:g=0}=a??{},_=l?.id===n,v=(0,t.useContext)(_?vr:xr),[y,b]=Ue(),[x,S]=Ue(),C=hn(s,n),w=Ve(r);return G(()=>(f.set(n,{id:n,key:o,node:y,activatorNode:x,data:w}),()=>{let e=f.get(n);e&&e.key===o&&f.delete(n)}),[f,n]),{active:l,activatorEvent:c,activeNodeRect:u,attributes:(0,t.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":i,"aria-pressed":_&&m===Sr?!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 Dn(){return(0,t.useContext)(_r)}function On(e){let{data:n,disabled:r=!1,id:i,resizeObserverConfig:a}=e,o=Ge(wr),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,t.useContext)(gr),d=(0,t.useRef)({disabled:r}),f=(0,t.useRef)(!1),p=(0,t.useRef)(null),m=(0,t.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...Tr,...a},v=Ve(g??i),y=sn({callback:(0,t.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]=Ue((0,t.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),S=Ve(n);return(0,t.useEffect)(()=>{!y||!b.current||(y.disconnect(),f.current=!1,y.observe(b.current))},[b,y]),(0,t.useEffect)(()=>(c({type:q.RegisterDroppable,element:{id:i,key:o,disabled:r,node:b,rect:p,data:S}}),()=>c({type:q.UnregisterDroppable,key:o,id:i})),[i]),(0,t.useEffect)(()=>{r!==d.current.disabled&&(c({type:q.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 kn(e){let{animation:n,children:r}=e,[i,a]=(0,t.useState)(null),[o,s]=(0,t.useState)(null),c=We(r);return!r&&!i&&c&&a(c),G(()=>{if(!o)return;let e=i?.key,t=i?.props.id;if(e==null||t==null){a(null);return}Promise.resolve(n(t,o)).then(()=>{a(null)})},[n,i,o]),t.default.createElement(t.default.Fragment,null,r,i?(0,t.cloneElement)(i,{ref:s}):null)}function An(e){let{children:n}=e;return t.default.createElement(gr.Provider,{value:hr},t.default.createElement(vr.Provider,{value:Er},n))}function jn(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return ze((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=vn(a);if(!c)return;let{transform:l}=W(a).getComputedStyle(a),u=Tt(l);if(!u)return;let d=typeof t==`function`?t:Mn(t);return Gt(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function Mn(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...Mr,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}function Nn(e){return(0,t.useMemo)(()=>{if(e!=null)return Nr++,Nr},[e])}var Pn,Fn,In,q,J,Ln,Rn,zn,Bn,Y,Vn,Hn,Un,Wn,X,Z,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr=f((()=>{rt(),ct(),Pn=(0,t.createContext)(null),Fn={draggable:`
|
|
7
7
|
To pick up a draggable item, press the space bar.
|
|
8
8
|
While dragging, use the arrow keys to move the item.
|
|
9
9
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
10
|
-
`},jn={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(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`})(q||={}),J=Object.freeze({x:0,y:0}),Mn=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=mt(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=mt(r),o=i.reduce((e,t,r)=>e+ut(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(ft)},Nn=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=gt(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(pt)},Pn=yt(1),Fn={ignoreTransform:!1},(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Y||={}),In={x:.2,y:.2},Ln=[[`x`,[`left`,`right`],Rt],[`y`,[`top`,`bottom`],zt]],Rn=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=Dt(t),r=Lt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Ln)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})}},zn=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(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(X||={}),(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`})(Z||={}),Bn={start:[Z.Space,Z.Enter],cancel:[Z.Esc],end:[Z.Space,Z.Enter,Z.Tab]},Vn=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Z.Right:return{...n,x:n.x+25};case Z.Left:return{...n,x:n.x-25};case Z.Down:return{...n,y:n.y+25};case Z.Up:return{...n,y:n.y-25}}},Hn=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 zn(Ne(t)),this.windowListeners=new zn(W(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(X.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Bt(n),t(J)}handleKeyDown(e){if(Ue(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Bn,coordinateGetter:a=Vn,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}:J;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Xe(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}=Pt(n),p=It(n),m={x:Math.min(i===Z.Right?p.right-p.width/2:p.right,Math.max(i===Z.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Z.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Z.Down?p.top:p.top+p.height/2,u.y))},h=i===Z.Right&&!s||i===Z.Left&&!c,g=i===Z.Down&&!l||i===Z.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Z.Right&&e<=d.x||i===Z.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===Z.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===Z.Down&&e<=d.y||i===Z.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===Z.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Ye(Xe(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()}},Hn.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Bn,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}}],Un=class{constructor(e,t,n){n===void 0&&(n=Vt(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=Ne(i),this.documentListeners=new zn(this.document),this.listeners=new zn(n),this.windowListeners=new zn(W(i)),this.initialCoordinates=Ge(r)??J,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(X.Resize,this.handleCancel),this.windowListeners.add(X.DragStart,Ut),this.windowListeners.add(X.VisibilityChange,this.handleCancel),this.windowListeners.add(X.ContextMenu,Ut),this.documentListeners.add(X.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Kt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Gt(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(X.Click,Wt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(X.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=Ge(e)??J,s=Xe(n,o);if(!t&&a){if(Gt(a)){if(a.tolerance!=null&&Ht(s,a.tolerance))return this.handleCancel();if(Ht(s,a.distance))return this.handleStart()}if(Kt(a)&&Ht(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===Z.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},Wn={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},Gn=class extends Un{constructor(e){let{event:t}=e,n=Ne(t.target);super(e,Wn,n)}},Gn.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}],Kn={move:{name:`mousemove`},end:{name:`mouseup`}},(function(e){e[e.RightClick=2]=`RightClick`})(qn||={}),Jn=class extends Un{constructor(e){super(e,Kn,Ne(e.event.target))}},Jn.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===qn.RightClick?!1:(r?.({event:n}),!0)}}],Yn={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Xn=class extends Un{constructor(e){super(e,Yn)}static setup(){return window.addEventListener(Yn.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Yn.move.name,e)};function e(){}}},Xn.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)}}],(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Zn||={}),(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Qn||={}),$n={x:{[Y.Backward]:!1,[Y.Forward]:!1},y:{[Y.Backward]:!1,[Y.Forward]:!1}},(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(er||={}),(function(e){e.Optimized=`optimized`})(tr||={}),nr=new Map,rr=[],ir=[],ar=[{sensor:Gn,options:{}},{sensor:Hn,options:{}}],or={current:{}},sr={draggable:{measure:Ct},droppable:{measure:Ct,strategy:er.WhileDragging,frequency:tr.Optimized},dragOverlay:{measure:St}},cr=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}},lr={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new cr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:st},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:sr,measureDroppableContainers:st,windowRect:null,measuringScheduled:!1},ur={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:st,draggableNodes:new Map,over:null,measureDroppableContainers:st},dr=(0,t.createContext)(ur),fr=(0,t.createContext)(lr),pr=(0,t.createContext)({...J,scaleX:1,scaleY:1}),(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(mr||={}),hr=(0,t.memo)(function(e){let{id:n,accessibility:r,autoScroll:i=!0,children:o,sensors:s=ar,collisionDetection:c=Nn,measuring:l,modifiers:u,...d}=e,[f,p]=(0,t.useReducer)(gn,void 0,hn),[m,h]=at(),[g,_]=(0,t.useState)(mr.Uninitialized),v=g===mr.Initialized,{draggable:{active:y,nodes:b,translate:x},droppable:{containers:S}}=f,C=y==null?null:b.get(y),w=(0,t.useRef)({initial:null,translated:null}),T=(0,t.useMemo)(()=>y==null?null:{id:y,data:C?.data??or,rect:w},[y,C]),E=(0,t.useRef)(null),[D,O]=(0,t.useState)(null),[k,ee]=(0,t.useState)(null),A=Ie(d,Object.values(d)),j=Be(`DndDescribedBy`,n),te=(0,t.useMemo)(()=>S.getEnabled(),[S]),M=yn(l),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:ne}=Zt(te,{dragging:v,dependencies:[x.x,x.y],config:M.droppable}),F=Yt(b,y),I=(0,t.useMemo)(()=>k?Ge(k):null,[k]),re=De(),ie=$t(F,M.draggable.measure);bn({activeNode:y==null?null:b.get(y),config:re.layoutShiftCompensation,initialRect:ie,measure:M.draggable.measure});let L=rn(F,M.draggable.measure,ie),R=rn(F?F.parentElement:null),z=(0,t.useRef)({activatorEvent:null,active:null,activeNode:F,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:b,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),B=S.getNodeFor(z.current.over?.id),V=mn({measure:M.dragOverlay.measure}),ae=V.nodeRef.current??F,H=v?V.rect??L:null,oe=!!(V.nodeRef.current&&V.rect),se=an(oe?null:L),ce=dn(ae?W(ae):null),U=on(v?B??F:null),le=fn(U),ue=vn(u,{transform:{x:x.x-se.x,y:x.y-se.y,scaleX:1,scaleY:1},activatorEvent:k,active:T,activeNodeRect:L,containerNodeRect:R,draggingNodeRect:H,over:z.current.over,overlayNodeRect:V.rect,scrollableAncestors:U,scrollableAncestorRects:le,windowRect:ce}),de=I?Ye(I,x):null,fe=sn(U),pe=cn(fe),me=cn(fe,[L]),he=Ye(ue,pe),ge=H?Pn(H,ue):null,_e=T&&ge?c({active:T,collisionRect:ge,droppableRects:N,droppableContainers:te,pointerCoordinates:de}):null,ve=ht(_e,`id`),[ye,be]=(0,t.useState)(null),xe=_t(oe?ue:Ye(ue,me),ye?.rect??null,L),Se=(0,t.useRef)(null),Ce=(0,t.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(E.current==null)return;let i=b.get(E.current);if(!i)return;let o=e.nativeEvent;Se.current=new n({active:E.current,activeNode:i,event:o,options:r,context:z,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:o,active:{id:t,data:n.data,rect:w}};(0,a.unstable_batchedUpdates)(()=>{r?.(i),_(mr.Initializing),p({type:q.DragStart,initialCoordinates:e,active:t}),m({type:`onDragStart`,event:i}),O(Se.current),ee(o)})},onMove(e){p({type:q.DragMove,coordinates:e})},onEnd:s(q.DragEnd),onCancel:s(q.DragCancel)});function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=z.current,s=null;if(t&&i){let{cancelDrop:a}=A.current;s={activatorEvent:o,active:t,collisions:n,delta:i,over:r},e===q.DragEnd&&typeof a==`function`&&await Promise.resolve(a(s))&&(e=q.DragCancel)}E.current=null,(0,a.unstable_batchedUpdates)(()=>{p({type:e}),_(mr.Uninitialized),be(null),O(null),ee(null),Se.current=null;let t=e===q.DragEnd?`onDragEnd`:`onDragCancel`;if(s){let e=A.current[t];e?.(s),m({type:t,event:s})}})}}},[b]),we=Xt(s,(0,t.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,Ce(n,t))},[b,Ce]));ln(s),G(()=>{L&&g===mr.Initializing&&_(mr.Initialized)},[L,g]),(0,t.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=z.current;if(!t||!n)return;let o={active:t,activatorEvent:n,collisions:r,delta:{x:he.x,y:he.y},over:i};(0,a.unstable_batchedUpdates)(()=>{e?.(o),m({type:`onDragMove`,event:o})})},[he.x,he.y]),(0,t.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=z.current;if(!e||E.current==null||!t||!i)return;let{onDragOver:o}=A.current,s=r.get(ve),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,a.unstable_batchedUpdates)(()=>{be(c),o?.(l),m({type:`onDragOver`,event:l})})},[ve]),G(()=>{z.current={activatorEvent:k,active:T,activeNode:F,collisionRect:ge,collisions:_e,droppableRects:N,draggableNodes:b,draggingNode:ae,draggingNodeRect:H,droppableContainers:S,over:ye,scrollableAncestors:U,scrollAdjustedTranslate:he},w.current={initial:H,translated:ge}},[T,F,_e,ge,b,ae,H,N,S,ye,U,he]),qt({...re,delta:x,draggingRect:ge,pointerCoordinates:de,scrollableAncestors:U,scrollableAncestorRects:le});let Te=(0,t.useMemo)(()=>({active:T,activeNode:F,activeNodeRect:L,activatorEvent:k,collisions:_e,containerNodeRect:R,dragOverlay:V,draggableNodes:b,droppableContainers:S,droppableRects:N,over:ye,measureDroppableContainers:P,scrollableAncestors:U,scrollableAncestorRects:le,measuringConfiguration:M,measuringScheduled:ne,windowRect:ce}),[T,F,L,k,_e,R,V,b,S,N,ye,P,U,le,M,ne,ce]),Ee=(0,t.useMemo)(()=>({activatorEvent:k,activators:we,active:T,activeNodeRect:L,ariaDescribedById:{draggable:j},dispatch:p,draggableNodes:b,over:ye,measureDroppableContainers:P}),[k,we,T,L,p,j,b,ye,P]);return t.default.createElement(kn.Provider,{value:h},t.default.createElement(dr.Provider,{value:Ee},t.default.createElement(fr.Provider,{value:Te},t.default.createElement(pr.Provider,{value:xe},o)),t.default.createElement(_n,{disabled:r?.restoreFocus===!1})),t.default.createElement(ot,{...r,hiddenTextDescribedById:j}));function De(){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}}}),gr=(0,t.createContext)(null),_r=`button`,vr=`Draggable`,yr=`Droppable`,br={timeout:25},xr={x:0,y:0,scaleX:1,scaleY:1},Sr={position:`fixed`,touchAction:`none`},Cr=e=>Ue(e)?`transform 250ms ease`:void 0,wr=(0,t.forwardRef)((e,n)=>{let{as:r,activatorEvent:i,adjustScale:a,children:o,className:s,rect:c,style:l,transform:u,transition:d=Cr}=e;if(!c)return null;let f=a?u:{...u,scaleX:1,scaleY:1},p={...Sr,width:c.width,height:c.height,top:c.top,left:c.left,transform:K.Transform.toString(f),transformOrigin:a&&i?dt(i,c):void 0,transition:typeof d==`function`?d(i):d,...l};return t.default.createElement(r,{className:s,style:p,ref:n},o)}),Tr=e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}},Er=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:K.Transform.toString(t)},{transform:K.Transform.toString(n)}]},Dr={duration:250,easing:`ease`,keyframes:Er,sideEffects:Tr({styles:{active:{opacity:`0`}}})},Or=0,kr=t.default.memo(e=>{let{adjustScale:n=!1,children:r,dropAnimation:i,style:a,transition:o,modifiers:s,wrapperElement:c=`div`,className:l,zIndex:u=999}=e,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggableNodes:h,droppableContainers:g,dragOverlay:_,over:v,measuringConfiguration:y,scrollableAncestors:b,scrollableAncestorRects:x,windowRect:S}=Sn(),C=(0,t.useContext)(pr),w=On(f?.id),T=vn(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggingNodeRect:_.rect,over:v,overlayNodeRect:_.rect,scrollableAncestors:b,scrollableAncestorRects:x,transform:C,windowRect:S}),E=Qt(p),D=En({config:i,draggableNodes:h,droppableContainers:g,measuringConfiguration:y}),O=E?_.setRef:void 0;return t.default.createElement(Tn,null,t.default.createElement(wn,{animation:D},f&&w?t.default.createElement(wr,{key:w,id:f.id,ref:O,as:c,activatorEvent:d,adjustScale:n,className:l,transition:o,rect:E,style:{zIndex:u,...a},transform:T},r):null))})}));function jr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Mr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Nr(e){return e!==null&&e>=0}function Pr(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 Fr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}function Ir(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}function Lr(e){let{children:n,id:r,items:i,strategy:a=Vr,disabled:o=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=Sn(),f=Be(Wr,r),p=c.rect!==null,m=(0,t.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,t.useRef)(m),y=!Pr(m,v.current),b=_!==-1&&g===-1||y,x=Fr(o);G(()=>{y&&h&&d(m)},[y,m,h,d]),(0,t.useEffect)(()=>{v.current=m},[m]);let S=(0,t.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:Mr(m,l),strategy:a}),[g,f,x.draggable,x.droppable,b,m,_,l,p,a]);return t.default.createElement(Gr.Provider,{value:S},n)}function Rr(e){let{disabled:n,index:r,node:i,rect:a}=e,[o,s]=(0,t.useState)(null),c=(0,t.useRef)(r);return G(()=>{if(!n&&r!==c.current&&i.current){let e=a.current;if(e){let t=St(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)},[n,r,i,a]),(0,t.useEffect)(()=>{o&&s(null)},[o]),o}function zr(e){let{animateLayoutChanges:n=qr,attributes:r,disabled:i,data:a,getNewIndex:o=Kr,id:s,strategy:c,resizeObserverConfig:l,transition:u=Jr}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,t.useContext)(Gr),b=Br(i,m),x=d.indexOf(s),S=(0,t.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...a}),[f,a,x,d]),C=(0,t.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:D}=Cn({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:O,activatorEvent:k,activeNodeRect:ee,attributes:A,setNodeRef:j,listeners:te,isDragging:M,over:N,setActivatorNodeRef:P,transform:ne}=xn({id:s,data:S,attributes:{...Zr,...r},disabled:b.draggable}),F=De(D,j),I=!!O,re=I&&!h&&Nr(p)&&Nr(_),ie=!v&&M,L=re?(ie&&re?ne:null)??(c??y)({rects:g,activeNodeRect:ee,activeIndex:p,overIndex:_,index:x}):null,R=Nr(p)&&Nr(_)?o({id:s,items:d,activeIndex:p,overIndex:_}):x,z=O?.id,B=(0,t.useRef)({activeId:z,items:d,newIndex:R,containerId:f}),V=d!==B.current.items,ae=n({active:O,containerId:f,isDragging:M,isSorting:I,id:s,index:x,items:d,newIndex:B.current.newIndex,previousItems:B.current.items,previousContainerId:B.current.containerId,transition:u,wasDragging:B.current.activeId!=null}),H=Rr({disabled:!ae,index:x,node:T,rect:w});return(0,t.useEffect)(()=>{I&&B.current.newIndex!==R&&(B.current.newIndex=R),f!==B.current.containerId&&(B.current.containerId=f),d!==B.current.items&&(B.current.items=d)},[I,R,f,d]),(0,t.useEffect)(()=>{if(z===B.current.activeId)return;if(z!=null&&B.current.activeId==null){B.current.activeId=z;return}let e=setTimeout(()=>{B.current.activeId=z},50);return()=>clearTimeout(e)},[z]),{active:O,activeIndex:p,attributes:A,data:S,rect:w,index:x,newIndex:R,items:d,isOver:E,isSorting:I,isDragging:M,listeners:te,node:T,overIndex:_,over:N,setNodeRef:F,setActivatorNodeRef:P,setDroppableNodeRef:D,setDraggableNodeRef:j,transform:H??L,transition:oe()};function oe(){if(H||V&&B.current.newIndex===x)return Xr;if(!(ie&&!Ue(k)||!u)&&(I||ae))return K.Transition.toString({...u,property:Yr})}}function Br(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}var Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr=f((()=>{Ar(),Qe(),Vr=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=jr(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}},Hr={scaleX:1,scaleY:1},Ur=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,...Hr}:null}let s=Ir(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Hr}:r<t&&r>=a?{x:0,y:o.height+s,...Hr}:{x:0,y:0,...Hr}},Wr=`Sortable`,Gr=t.default.createContext({activeIndex:-1,containerId:Wr,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Vr,disabled:{draggable:!1,droppable:!1}}),Kr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return jr(n,r,i).indexOf(t)},qr=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},Jr={duration:200,easing:`ease`},Yr=`transform`,Xr=K.Transition.toString({property:Yr,duration:0,easing:`linear`}),Zr={roleDescription:`sortable`},Z.Down,Z.Right,Z.Up,Z.Left})),$r=m({default:()=>ai});function ei(e,t){if(!t||t.length===0)return{};for(let n of t){let t=e[n.field];if(t==null)continue;let r=!1,i=String(t);switch(n.operator){case`equals`:r=i===String(n.value);break;case`not_equals`:r=i!==String(n.value);break;case`contains`:r=i.toLowerCase().includes(String(n.value).toLowerCase());break;case`in`:r=Array.isArray(n.value)&&n.value.includes(i);break}if(r)return{...n.backgroundColor?{backgroundColor:n.backgroundColor}:{},...n.borderColor?{borderColor:n.borderColor}:{}}}return{}}function ti({card:e,onCardClick:t,conditionalFormatting:n}){let{attributes:r,listeners:a,setNodeRef:o,transform:s,transition:c,isDragging:l}=zr({id:e.id}),u={transform:K.Transform.toString(s),transition:c,opacity:l?.5:void 0},d=ei(e,n);return(0,Q.jsx)(`div`,{ref:o,style:u,...r,...a,role:`listitem`,"aria-label":e.title,onClick:()=>t?.(e),children:(0,Q.jsxs)(i.Card,{className:`mb-2 cursor-grab active:cursor-grabbing border-border border-l-4 border-l-primary/40 bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group touch-manipulation`,style:d,children:[e.coverImage&&(0,Q.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,Q.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,Q.jsxs)(i.CardHeader,{className:`p-2 sm:p-4`,children:[(0,Q.jsx)(i.CardTitle,{className:`text-xs sm:text-sm font-medium font-mono tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,Q.jsx)(i.CardDescription,{className:`text-xs text-muted-foreground font-mono line-clamp-2 sm:line-clamp-none`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,Q.jsx)(i.CardContent,{className:`p-2 sm:p-4 pt-0`,children:(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,Q.jsx)(i.Badge,{variant:e.variant||`default`,className:`text-xs`,children:e.label},t))})})]})})}function ni({columnId:e,onAdd:n}){let[r,a]=t.useState(!1),[o,s]=t.useState(``),c=t.useRef(null),l=()=>{let t=o.trim();t&&(n(e,t),s(``)),a(!1)};return r?(0,Q.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,Q.jsx)(i.Input,{ref:c,value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),l()):e.key===`Escape`&&(s(``),a(!1))},onBlur:l,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,Q.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{a(!0),setTimeout(()=>c.current?.focus(),0)},children:[(0,Q.jsx)(se,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function ri({column:e,cards:t,onCardClick:n,quickAdd:r,onQuickAdd:a,conditionalFormatting:o}){let s=t||[],{setNodeRef:c}=zr({id:e.id,data:{type:`column`}}),l=e.limit&&s.length>=e.limit;return(0,Q.jsxs)(`div`,{ref:c,role:`group`,"aria-label":e.title,className:si(`flex flex-col w-[85vw] sm:w-80 flex-shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl snap-start`,e.className),children:[(0,Q.jsx)(`div`,{className:`p-3 sm:p-4 border-b border-border/50 bg-muted/30 rounded-t-lg`,children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`h3`,{id:`kanban-col-${e.id}`,className:`font-mono text-xs sm:text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(i.Badge,{variant:`secondary`,className:`text-xs font-mono tabular-nums`,children:[s.length,e.limit&&` / ${e.limit}`]}),l&&(0,Q.jsx)(i.Badge,{variant:`destructive`,className:`text-xs`,children:`Full`})]})]})}),(0,Q.jsxs)(i.ScrollArea,{className:`flex-1 p-4`,children:[(0,Q.jsx)(Lr,{items:s.map(e=>e.id),strategy:Ur,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${e.title} cards`,children:[s.length===0&&(0,Q.jsx)(`div`,{className:`flex flex-col items-center justify-center py-8 text-muted-foreground/50`,children:(0,Q.jsx)(`span`,{className:`text-xs font-mono`,children:`No cards`})}),s.map(e=>(0,Q.jsx)(ti,{card:e,onCardClick:n,conditionalFormatting:o},e.id))]})}),r&&a&&(0,Q.jsx)(ni,{columnId:e.id,onAdd:a})]})]})}function ii({children:e}){return(0,Q.jsx)(Q.Fragment,{children:e((0,r.useDnd)())})}function ai({columns:e,onCardMove:t,onCardClick:n,className:i,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l}){return(0,r.useHasDndProvider)()?(0,Q.jsx)(ii,{children:r=>(0,Q.jsx)(oi,{columns:e,onCardMove:t,onCardClick:n,className:i,dnd:r,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l})}):(0,Q.jsx)(oi,{columns:e,onCardMove:t,onCardClick:n,className:i,dnd:null,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l})}function oi({columns:e,onCardMove:n,onCardClick:r,className:i,dnd:a,quickAdd:o,onQuickAdd:s,coverImageField:c,conditionalFormatting:l,swimlaneField:u}){let[d,f]=t.useState(null),p=u?`objectui:kanban-collapsed:${u}`:null,[m,h]=t.useState(()=>{if(!p)return new Set;try{let e=localStorage.getItem(p);if(e){let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>typeof e==`string`))}}catch{}return new Set}),g=t.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[_,v]=t.useState(g);t.useEffect(()=>{v(g)},[g]);let y=t.useMemo(()=>{if(!u)return null;let e=_.flatMap(e=>e.cards),t=new Set;return e.forEach(e=>{let n=e[u];t.add(n==null?ci:String(n))}),Array.from(t).sort()},[_,u]),b=t.useCallback(e=>{h(t=>{let n=new Set(t);if(n.has(e)?n.delete(e):n.add(e),p)try{localStorage.setItem(p,JSON.stringify([...n]))}catch{}return n})},[p]),x=lt(ct(Gn,{activationConstraint:{distance:5}}),ct(Xn,{activationConstraint:{delay:200,tolerance:5}})),S=e=>{let{active:t}=e,n=w(t.id);if(f(n),a&&n){let e=T(n.id);e&&a.startDrag({id:n.id,type:`kanban-card`,data:n,sourceId:e.id})}},C=e=>{let{active:t,over:r}=e;if(f(null),!r){a&&a.endDrag();return}let i=t.id,o=r.id;if(i===o){a&&a.endDrag();return}let s=T(i),c=T(o)||E(o);if(!s||!c){a&&a.endDrag();return}if(s.id===c.id){let e=[...s.cards],t=jr(e,e.findIndex(e=>e.id===i),e.findIndex(e=>e.id===o));v(e=>e.map(e=>e.id===s.id?{...e,cards:t}:e))}else{let e=[...s.cards],t=[...c.cards],r=e.findIndex(e=>e.id===i),a=o===c.id?t.length:t.findIndex(e=>e.id===o),[l]=e.splice(r,1);t.splice(a,0,l),v(n=>n.map(n=>n.id===s.id?{...n,cards:e}:n.id===c.id?{...n,cards:t}:n)),n&&n(i,s.id,c.id,a)}a&&a.endDrag(c.id)},w=t.useCallback(e=>{for(let t of _){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[_]),T=t.useCallback(e=>_.find(t=>t.cards.some(t=>t.id===e))||null,[_]),E=t.useCallback(e=>_.find(t=>t.id===e)||null,[_]);return(0,Q.jsxs)(hr,{sensors:x,collisionDetection:Mn,onDragStart:S,onDragEnd:C,children:[(0,Q.jsxs)(`div`,{className:`flex sm:hidden items-center justify-between px-3 pb-2 text-xs text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{children:[_.length,` columns`]}),(0,Q.jsx)(`span`,{children:`← Swipe to navigate →`})]}),y?(0,Q.jsxs)(`div`,{className:si(`flex flex-col gap-1 p-2 sm:p-4 min-w-0 overflow-hidden`,i),role:`region`,"aria-label":`Kanban board with swimlanes`,children:[(0,Q.jsx)(`div`,{className:`flex gap-3 sm:gap-4 pl-36 sm:pl-44 overflow-x-auto`,children:_.map(e=>(0,Q.jsxs)(`div`,{className:`w-[85vw] sm:w-80 flex-shrink-0 text-center`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-xs sm:text-sm font-semibold tracking-wider text-primary/90 uppercase`,children:e.title}),(0,Q.jsxs)(`span`,{className:`ml-2 font-mono text-xs text-muted-foreground`,children:[`(`,e.cards.length,`)`]})]},e.id))}),y.map(e=>{let t=m.has(e),n=_.reduce((t,n)=>t+n.cards.filter(t=>(t[u]==null?ci:String(t[u]))===e).length,0);return(0,Q.jsxs)(`div`,{className:`border rounded-lg bg-muted/10`,children:[(0,Q.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-muted/30 transition-colors`,onClick:()=>b(e),"aria-expanded":!t,children:[(0,Q.jsx)(`span`,{className:si(`transition-transform text-xs`,t?``:`rotate-90`),children:`▶`}),(0,Q.jsx)(`span`,{className:`font-mono text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:e}),(0,Q.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:[`(`,n,`)`]})]}),!t&&(0,Q.jsx)(`div`,{className:`flex gap-3 sm:gap-4 overflow-x-auto px-2 pb-3 pl-36 sm:pl-44`,children:_.map(t=>{let n=t.cards.filter(t=>(t[u]==null?ci:String(t[u]))===e);return(0,Q.jsx)(`div`,{className:`w-[85vw] sm:w-80 flex-shrink-0 min-h-[60px] rounded-md bg-card/20 p-2`,children:(0,Q.jsx)(Lr,{items:n.map(e=>e.id),strategy:Ur,children:(0,Q.jsx)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${t.title} - ${e} cards`,children:n.map(e=>(0,Q.jsx)(ti,{card:e,onCardClick:r,conditionalFormatting:l},e.id))})})},t.id)})})]},e)})]}):(0,Q.jsx)(`div`,{className:si(`flex gap-3 sm:gap-4 overflow-x-auto snap-x snap-mandatory p-2 sm:p-4 bg-muted/10 rounded-lg [-webkit-overflow-scrolling:touch] min-w-0`,i),role:`region`,"aria-label":`Kanban board`,children:_.map(e=>(0,Q.jsx)(ri,{column:e,cards:e.cards,onCardClick:r,quickAdd:o,onQuickAdd:s,conditionalFormatting:l},e.id))}),(0,Q.jsx)(kr,{children:(0,Q.jsx)(`div`,{"aria-live":`assertive`,"aria-label":d?`Dragging ${d.title}`:void 0,children:d?(0,Q.jsx)(ti,{card:d,conditionalFormatting:l}):null})})]})}var Q,si,ci,li=f((()=>{Ar(),Qr(),Qe(),me(),Q=v(),si=(...e)=>e.filter(Boolean).join(` `),ci=`Uncategorized`}));function ui(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
|
|
10
|
+
`},In={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(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`})(q||={}),J=Object.freeze({x:0,y:0}),Ln=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=yt(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=yt(r),o=i.reduce((e,t,r)=>e+ht(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(_t)},Rn=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=xt(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(vt)},zn=wt(1),Bn={ignoreTransform:!1},(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Y||={}),Vn={x:.2,y:.2},Hn=[[`x`,[`left`,`right`],Ut],[`y`,[`top`,`bottom`],Wt]],Un=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=Mt(t),r=Ht(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Hn)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})}},Wn=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(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(X||={}),(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`})(Z||={}),Gn={start:[Z.Space,Z.Enter],cancel:[Z.Esc],end:[Z.Space,Z.Enter,Z.Tab]},Kn=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Z.Right:return{...n,x:n.x+25};case Z.Left:return{...n,x:n.x-25};case Z.Down:return{...n,y:n.y+25};case Z.Up:return{...n,y:n.y-25}}},qn=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 Wn(Re(t)),this.windowListeners=new Wn(W(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(X.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Gt(n),t(J)}handleKeyDown(e){if(Je(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Gn,coordinateGetter:a=Kn,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}:J;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=tt(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}=zt(n),p=Vt(n),m={x:Math.min(i===Z.Right?p.right-p.width/2:p.right,Math.max(i===Z.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Z.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Z.Down?p.top:p.top+p.height/2,u.y))},h=i===Z.Right&&!s||i===Z.Left&&!c,g=i===Z.Down&&!l||i===Z.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Z.Right&&e<=d.x||i===Z.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===Z.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===Z.Down&&e<=d.y||i===Z.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===Z.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,et(tt(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()}},qn.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Gn,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}}],Jn=class{constructor(e,t,n){n===void 0&&(n=Kt(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=Re(i),this.documentListeners=new Wn(this.document),this.listeners=new Wn(n),this.windowListeners=new Wn(W(i)),this.initialCoordinates=Xe(r)??J,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(X.Resize,this.handleCancel),this.windowListeners.add(X.DragStart,Jt),this.windowListeners.add(X.VisibilityChange,this.handleCancel),this.windowListeners.add(X.ContextMenu,Jt),this.documentListeners.add(X.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Zt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Xt(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(X.Click,Yt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(X.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=Xe(e)??J,s=tt(n,o);if(!t&&a){if(Xt(a)){if(a.tolerance!=null&&qt(s,a.tolerance))return this.handleCancel();if(qt(s,a.distance))return this.handleStart()}if(Zt(a)&&qt(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===Z.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},Yn={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},Xn=class extends Jn{constructor(e){let{event:t}=e,n=Re(t.target);super(e,Yn,n)}},Xn.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}],Zn={move:{name:`mousemove`},end:{name:`mouseup`}},(function(e){e[e.RightClick=2]=`RightClick`})(Qn||={}),$n=class extends Jn{constructor(e){super(e,Zn,Re(e.event.target))}},$n.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Qn.RightClick?!1:(r?.({event:n}),!0)}}],er={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},tr=class extends Jn{constructor(e){super(e,er)}static setup(){return window.addEventListener(er.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(er.move.name,e)};function e(){}}},tr.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)}}],(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(nr||={}),(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(rr||={}),ir={x:{[Y.Backward]:!1,[Y.Forward]:!1},y:{[Y.Backward]:!1,[Y.Forward]:!1}},(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(ar||={}),(function(e){e.Optimized=`optimized`})(or||={}),sr=new Map,cr=[],lr=[],ur=[{sensor:Xn,options:{}},{sensor:qn,options:{}}],dr={current:{}},fr={draggable:{measure:Ot},droppable:{measure:Ot,strategy:ar.WhileDragging,frequency:or.Optimized},dragOverlay:{measure:Dt}},pr=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}},mr={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new pr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ft},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:fr,measureDroppableContainers:ft,windowRect:null,measuringScheduled:!1},hr={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:ft,draggableNodes:new Map,over:null,measureDroppableContainers:ft},gr=(0,t.createContext)(hr),_r=(0,t.createContext)(mr),vr=(0,t.createContext)({...J,scaleX:1,scaleY:1}),(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(yr||={}),br=(0,t.memo)(function(e){let{id:n,accessibility:r,autoScroll:i=!0,children:o,sensors:s=ur,collisionDetection:c=Rn,measuring:l,modifiers:u,...d}=e,[f,p]=(0,t.useReducer)(xn,void 0,bn),[m,h]=ut(),[g,_]=(0,t.useState)(yr.Uninitialized),v=g===yr.Initialized,{draggable:{active:y,nodes:b,translate:x},droppable:{containers:S}}=f,C=y==null?null:b.get(y),w=(0,t.useRef)({initial:null,translated:null}),T=(0,t.useMemo)(()=>y==null?null:{id:y,data:C?.data??dr,rect:w},[y,C]),E=(0,t.useRef)(null),[ee,D]=(0,t.useState)(null),[O,te]=(0,t.useState)(null),k=Ve(d,Object.values(d)),ne=Ge(`DndDescribedBy`,n),re=(0,t.useMemo)(()=>S.getEnabled(),[S]),A=wn(l),{droppableRects:j,measureDroppableContainers:ie,measuringScheduled:ae}=nn(re,{dragging:v,dependencies:[x.x,x.y],config:A.droppable}),M=en(b,y),N=(0,t.useMemo)(()=>O?Xe(O):null,[O]),P=De(),F=an(M,A.draggable.measure);Tn({activeNode:y==null?null:b.get(y),config:P.layoutShiftCompensation,initialRect:F,measure:A.draggable.measure});let I=ln(M,A.draggable.measure,F),L=ln(M?M.parentElement:null),R=(0,t.useRef)({activatorEvent:null,active:null,activeNode:M,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:b,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),z=S.getNodeFor(R.current.over?.id),B=yn({measure:A.dragOverlay.measure}),oe=B.nodeRef.current??M,V=v?B.rect??I:null,se=!!(B.nodeRef.current&&B.rect),ce=un(se?null:I),le=gn(oe?W(oe):null),H=dn(v?z??M:null),ue=_n(H),de=Cn(u,{transform:{x:x.x-ce.x,y:x.y-ce.y,scaleX:1,scaleY:1},activatorEvent:O,active:T,activeNodeRect:I,containerNodeRect:L,draggingNodeRect:V,over:R.current.over,overlayNodeRect:B.rect,scrollableAncestors:H,scrollableAncestorRects:ue,windowRect:le}),fe=N?et(N,x):null,pe=fn(H),me=pn(pe),he=pn(pe,[I]),ge=et(de,me),_e=V?zn(V,de):null,ve=T&&_e?c({active:T,collisionRect:_e,droppableRects:j,droppableContainers:re,pointerCoordinates:fe}):null,ye=bt(ve,`id`),[U,be]=(0,t.useState)(null),xe=St(se?de:et(de,he),U?.rect??null,I),Se=(0,t.useRef)(null),Ce=(0,t.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(E.current==null)return;let i=b.get(E.current);if(!i)return;let o=e.nativeEvent;Se.current=new n({active:E.current,activeNode:i,event:o,options:r,context:R,onAbort(e){if(!b.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),m({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!b.get(e))return;let{onDragPending:i}=k.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}=k.current,i={activatorEvent:o,active:{id:t,data:n.data,rect:w}};(0,a.unstable_batchedUpdates)(()=>{r?.(i),_(yr.Initializing),p({type:q.DragStart,initialCoordinates:e,active:t}),m({type:`onDragStart`,event:i}),D(Se.current),te(o)})},onMove(e){p({type:q.DragMove,coordinates:e})},onEnd:s(q.DragEnd),onCancel:s(q.DragCancel)});function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=R.current,s=null;if(t&&i){let{cancelDrop:a}=k.current;s={activatorEvent:o,active:t,collisions:n,delta:i,over:r},e===q.DragEnd&&typeof a==`function`&&await Promise.resolve(a(s))&&(e=q.DragCancel)}E.current=null,(0,a.unstable_batchedUpdates)(()=>{p({type:e}),_(yr.Uninitialized),be(null),D(null),te(null),Se.current=null;let t=e===q.DragEnd?`onDragEnd`:`onDragCancel`;if(s){let e=k.current[t];e?.(s),m({type:t,event:s})}})}}},[b]),we=tn(s,(0,t.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,Ce(n,t))},[b,Ce]));mn(s),G(()=>{I&&g===yr.Initializing&&_(yr.Initialized)},[I,g]),(0,t.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=R.current;if(!t||!n)return;let o={active:t,activatorEvent:n,collisions:r,delta:{x:ge.x,y:ge.y},over:i};(0,a.unstable_batchedUpdates)(()=>{e?.(o),m({type:`onDragMove`,event:o})})},[ge.x,ge.y]),(0,t.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=R.current;if(!e||E.current==null||!t||!i)return;let{onDragOver:o}=k.current,s=r.get(ye),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,a.unstable_batchedUpdates)(()=>{be(c),o?.(l),m({type:`onDragOver`,event:l})})},[ye]),G(()=>{R.current={activatorEvent:O,active:T,activeNode:M,collisionRect:_e,collisions:ve,droppableRects:j,draggableNodes:b,draggingNode:oe,draggingNodeRect:V,droppableContainers:S,over:U,scrollableAncestors:H,scrollAdjustedTranslate:ge},w.current={initial:V,translated:_e}},[T,M,ve,_e,b,oe,V,j,S,U,H,ge]),Qt({...P,delta:x,draggingRect:_e,pointerCoordinates:fe,scrollableAncestors:H,scrollableAncestorRects:ue});let Te=(0,t.useMemo)(()=>({active:T,activeNode:M,activeNodeRect:I,activatorEvent:O,collisions:ve,containerNodeRect:L,dragOverlay:B,draggableNodes:b,droppableContainers:S,droppableRects:j,over:U,measureDroppableContainers:ie,scrollableAncestors:H,scrollableAncestorRects:ue,measuringConfiguration:A,measuringScheduled:ae,windowRect:le}),[T,M,I,O,ve,L,B,b,S,j,U,ie,H,ue,A,ae,le]),Ee=(0,t.useMemo)(()=>({activatorEvent:O,activators:we,active:T,activeNodeRect:I,ariaDescribedById:{draggable:ne},dispatch:p,draggableNodes:b,over:U,measureDroppableContainers:ie}),[O,we,T,I,p,ne,b,U,ie]);return t.default.createElement(Pn.Provider,{value:h},t.default.createElement(gr.Provider,{value:Ee},t.default.createElement(_r.Provider,{value:Te},t.default.createElement(vr.Provider,{value:xe},o)),t.default.createElement(Sn,{disabled:r?.restoreFocus===!1})),t.default.createElement(dt,{...r,hiddenTextDescribedById:ne}));function De(){let e=ee?.autoScrollEnabled===!1,t=typeof i==`object`?i.enabled===!1:i===!1,n=v&&!e&&!t;return typeof i==`object`?{...i,enabled:n}:{enabled:n}}}),xr=(0,t.createContext)(null),Sr=`button`,Cr=`Draggable`,wr=`Droppable`,Tr={timeout:25},Er={x:0,y:0,scaleX:1,scaleY:1},Dr={position:`fixed`,touchAction:`none`},Or=e=>Je(e)?`transform 250ms ease`:void 0,kr=(0,t.forwardRef)((e,n)=>{let{as:r,activatorEvent:i,adjustScale:a,children:o,className:s,rect:c,style:l,transform:u,transition:d=Or}=e;if(!c)return null;let f=a?u:{...u,scaleX:1,scaleY:1},p={...Dr,width:c.width,height:c.height,top:c.top,left:c.left,transform:K.Transform.toString(f),transformOrigin:a&&i?gt(i,c):void 0,transition:typeof d==`function`?d(i):d,...l};return t.default.createElement(r,{className:s,style:p,ref:n},o)}),Ar=e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}},jr=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:K.Transform.toString(t)},{transform:K.Transform.toString(n)}]},Mr={duration:250,easing:`ease`,keyframes:jr,sideEffects:Ar({styles:{active:{opacity:`0`}}})},Nr=0,Pr=t.default.memo(e=>{let{adjustScale:n=!1,children:r,dropAnimation:i,style:a,transition:o,modifiers:s,wrapperElement:c=`div`,className:l,zIndex:u=999}=e,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggableNodes:h,droppableContainers:g,dragOverlay:_,over:v,measuringConfiguration:y,scrollableAncestors:b,scrollableAncestorRects:x,windowRect:S}=Dn(),C=(0,t.useContext)(vr),w=Nn(f?.id),T=Cn(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:m,draggingNodeRect:_.rect,over:v,overlayNodeRect:_.rect,scrollableAncestors:b,scrollableAncestorRects:x,transform:C,windowRect:S}),E=rn(p),ee=jn({config:i,draggableNodes:h,droppableContainers:g,measuringConfiguration:y}),D=E?_.setRef:void 0;return t.default.createElement(An,null,t.default.createElement(kn,{animation:ee},f&&w?t.default.createElement(kr,{key:w,id:f.id,ref:D,as:c,activatorEvent:d,adjustScale:n,className:l,transition:o,rect:E,style:{zIndex:u,...a},transform:T},r):null))})}));function Ir(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Lr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Rr(e){return e!==null&&e>=0}function zr(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 Br(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}function Vr(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}function Hr(e){let{children:n,id:r,items:i,strategy:a=Kr,disabled:o=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=Dn(),f=Ge(Yr,r),p=c.rect!==null,m=(0,t.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,t.useRef)(m),y=!zr(m,v.current),b=_!==-1&&g===-1||y,x=Br(o);G(()=>{y&&h&&d(m)},[y,m,h,d]),(0,t.useEffect)(()=>{v.current=m},[m]);let S=(0,t.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:Lr(m,l),strategy:a}),[g,f,x.draggable,x.droppable,b,m,_,l,p,a]);return t.default.createElement(Xr.Provider,{value:S},n)}function Ur(e){let{disabled:n,index:r,node:i,rect:a}=e,[o,s]=(0,t.useState)(null),c=(0,t.useRef)(r);return G(()=>{if(!n&&r!==c.current&&i.current){let e=a.current;if(e){let t=Dt(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)},[n,r,i,a]),(0,t.useEffect)(()=>{o&&s(null)},[o]),o}function Wr(e){let{animateLayoutChanges:n=Qr,attributes:r,disabled:i,data:a,getNewIndex:o=Zr,id:s,strategy:c,resizeObserverConfig:l,transition:u=$r}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,t.useContext)(Xr),b=Gr(i,m),x=d.indexOf(s),S=(0,t.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...a}),[f,a,x,d]),C=(0,t.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:ee}=On({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:D,activatorEvent:O,activeNodeRect:te,attributes:k,setNodeRef:ne,listeners:re,isDragging:A,over:j,setActivatorNodeRef:ie,transform:ae}=En({id:s,data:S,attributes:{...ni,...r},disabled:b.draggable}),M=Me(ee,ne),N=!!D,P=N&&!h&&Rr(p)&&Rr(_),F=!v&&A,I=P?(F&&P?ae:null)??(c??y)({rects:g,activeNodeRect:te,activeIndex:p,overIndex:_,index:x}):null,L=Rr(p)&&Rr(_)?o({id:s,items:d,activeIndex:p,overIndex:_}):x,R=D?.id,z=(0,t.useRef)({activeId:R,items:d,newIndex:L,containerId:f}),B=d!==z.current.items,oe=n({active:D,containerId:f,isDragging:A,isSorting:N,id:s,index:x,items:d,newIndex:z.current.newIndex,previousItems:z.current.items,previousContainerId:z.current.containerId,transition:u,wasDragging:z.current.activeId!=null}),V=Ur({disabled:!oe,index:x,node:T,rect:w});return(0,t.useEffect)(()=>{N&&z.current.newIndex!==L&&(z.current.newIndex=L),f!==z.current.containerId&&(z.current.containerId=f),d!==z.current.items&&(z.current.items=d)},[N,L,f,d]),(0,t.useEffect)(()=>{if(R===z.current.activeId)return;if(R!=null&&z.current.activeId==null){z.current.activeId=R;return}let e=setTimeout(()=>{z.current.activeId=R},50);return()=>clearTimeout(e)},[R]),{active:D,activeIndex:p,attributes:k,data:S,rect:w,index:x,newIndex:L,items:d,isOver:E,isSorting:N,isDragging:A,listeners:re,node:T,overIndex:_,over:j,setNodeRef:M,setActivatorNodeRef:ie,setDroppableNodeRef:ee,setDraggableNodeRef:ne,transform:V??I,transition:se()};function se(){if(V||B&&z.current.newIndex===x)return ti;if(!(F&&!Je(O)||!u)&&(N||oe))return K.Transition.toString({...u,property:ei})}}function Gr(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}var Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri=f((()=>{Fr(),rt(),Kr=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Ir(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}},qr={scaleX:1,scaleY:1},Jr=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,...qr}:null}let s=Vr(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...qr}:r<t&&r>=a?{x:0,y:o.height+s,...qr}:{x:0,y:0,...qr}},Yr=`Sortable`,Xr=t.default.createContext({activeIndex:-1,containerId:Yr,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Kr,disabled:{draggable:!1,droppable:!1}}),Zr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Ir(n,r,i).indexOf(t)},Qr=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},$r={duration:200,easing:`ease`},ei=`transform`,ti=K.Transition.toString({property:ei,duration:0,easing:`linear`}),ni={roleDescription:`sortable`},Z.Down,Z.Right,Z.Up,Z.Left})),ii=m({default:()=>ui});function ai(e,t){if(!t||t.length===0)return{};for(let n of t){let t=e[n.field];if(t==null)continue;let r=!1,i=String(t);switch(n.operator){case`equals`:r=i===String(n.value);break;case`not_equals`:r=i!==String(n.value);break;case`contains`:r=i.toLowerCase().includes(String(n.value).toLowerCase());break;case`in`:r=Array.isArray(n.value)&&n.value.includes(i);break}if(r)return{...n.backgroundColor?{backgroundColor:n.backgroundColor}:{},...n.borderColor?{borderColor:n.borderColor}:{}}}return{}}function oi({card:e,onCardClick:t,conditionalFormatting:n}){let{attributes:r,listeners:a,setNodeRef:o,transform:s,transition:c,isDragging:l}=Wr({id:e.id}),u={transform:K.Transform.toString(s),transition:c,opacity:l?.5:void 0},d=ai(e,n);return(0,Q.jsx)(`div`,{ref:o,style:u,...r,...a,role:`listitem`,"aria-label":e.title,onClick:()=>t?.(e),children:(0,Q.jsxs)(i.Card,{className:`mb-2 cursor-grab active:cursor-grabbing border-border border-l-4 border-l-primary/40 bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group touch-manipulation`,style:d,children:[e.coverImage&&(0,Q.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,Q.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,Q.jsxs)(i.CardHeader,{className:`p-2 sm:p-4`,children:[(0,Q.jsx)(i.CardTitle,{className:`text-xs sm:text-sm font-medium font-mono tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,Q.jsx)(i.CardDescription,{className:`text-xs text-muted-foreground font-mono line-clamp-2 sm:line-clamp-none`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,Q.jsx)(i.CardContent,{className:`p-2 sm:p-4 pt-0`,children:(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,Q.jsx)(i.Badge,{variant:e.variant||`default`,className:`text-xs`,children:e.label},t))})})]})})}function si({columnId:e,onAdd:t}){let[n,r]=_.useState(!1),[a,o]=_.useState(``),s=_.useRef(null),c=()=>{let n=a.trim();n&&(t(e,n),o(``)),r(!1)};return n?(0,Q.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,Q.jsx)(i.Input,{ref:s,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),c()):e.key===`Escape`&&(o(``),r(!1))},onBlur:c,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,Q.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{r(!0),setTimeout(()=>s.current?.focus(),0)},children:[(0,Q.jsx)(fe,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function ci({column:e,cards:t,onCardClick:n,quickAdd:r,onQuickAdd:a,conditionalFormatting:o}){let s=t||[],{setNodeRef:c}=Wr({id:e.id,data:{type:`column`}}),l=e.limit&&s.length>=e.limit;return(0,Q.jsxs)(`div`,{ref:c,role:`group`,"aria-label":e.title,className:fi(`flex flex-col w-[85vw] sm:w-80 flex-shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl snap-start`,e.className),children:[(0,Q.jsx)(`div`,{className:`p-3 sm:p-4 border-b border-border/50 bg-muted/30 rounded-t-lg`,children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`h3`,{id:`kanban-col-${e.id}`,className:`font-mono text-xs sm:text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(i.Badge,{variant:`secondary`,className:`text-xs font-mono tabular-nums`,children:[s.length,e.limit&&` / ${e.limit}`]}),l&&(0,Q.jsx)(i.Badge,{variant:`destructive`,className:`text-xs`,children:`Full`})]})]})}),(0,Q.jsxs)(i.ScrollArea,{className:`flex-1 p-4`,children:[(0,Q.jsx)(Hr,{items:s.map(e=>e.id),strategy:Jr,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${e.title} cards`,children:[s.length===0&&(0,Q.jsx)(`div`,{className:`flex flex-col items-center justify-center py-8 text-muted-foreground/50`,children:(0,Q.jsx)(`span`,{className:`text-xs font-mono`,children:`No cards`})}),s.map(e=>(0,Q.jsx)(oi,{card:e,onCardClick:n,conditionalFormatting:o},e.id))]})}),r&&a&&(0,Q.jsx)(si,{columnId:e.id,onAdd:a})]})]})}function li({children:e}){return(0,Q.jsx)(Q.Fragment,{children:e((0,r.useDnd)())})}function ui({columns:e,onCardMove:t,onCardClick:n,className:i,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l}){return(0,r.useHasDndProvider)()?(0,Q.jsx)(li,{children:r=>(0,Q.jsx)(di,{columns:e,onCardMove:t,onCardClick:n,className:i,dnd:r,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l})}):(0,Q.jsx)(di,{columns:e,onCardMove:t,onCardClick:n,className:i,dnd:null,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l})}function di({columns:e,onCardMove:t,onCardClick:n,className:r,dnd:i,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,swimlaneField:l}){let[u,d]=_.useState(null),f=l?`objectui:kanban-collapsed:${l}`:null,[p,m]=_.useState(()=>{if(!f)return new Set;try{let e=localStorage.getItem(f);if(e){let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>typeof e==`string`))}}catch{}return new Set}),h=_.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[g,v]=_.useState(h);_.useEffect(()=>{v(h)},[h]);let y=_.useMemo(()=>{if(!l)return null;let e=g.flatMap(e=>e.cards),t=new Set;return e.forEach(e=>{let n=e[l];t.add(n==null?pi:String(n))}),Array.from(t).sort()},[g,l]),b=_.useCallback(e=>{m(t=>{let n=new Set(t);if(n.has(e)?n.delete(e):n.add(e),f)try{localStorage.setItem(f,JSON.stringify([...n]))}catch{}return n})},[f]),x=mt(pt(Xn,{activationConstraint:{distance:5}}),pt(tr,{activationConstraint:{delay:200,tolerance:5}})),S=e=>{let{active:t}=e,n=w(t.id);if(d(n),i&&n){let e=T(n.id);e&&i.startDrag({id:n.id,type:`kanban-card`,data:n,sourceId:e.id})}},C=e=>{let{active:n,over:r}=e;if(d(null),!r){i&&i.endDrag();return}let a=n.id,o=r.id;if(a===o){i&&i.endDrag();return}let s=T(a),c=T(o)||E(o);if(!s||!c){i&&i.endDrag();return}if(s.id===c.id){let e=[...s.cards],t=Ir(e,e.findIndex(e=>e.id===a),e.findIndex(e=>e.id===o));v(e=>e.map(e=>e.id===s.id?{...e,cards:t}:e))}else{let e=[...s.cards],n=[...c.cards],r=e.findIndex(e=>e.id===a),i=o===c.id?n.length:n.findIndex(e=>e.id===o),[l]=e.splice(r,1);n.splice(i,0,l),v(t=>t.map(t=>t.id===s.id?{...t,cards:e}:t.id===c.id?{...t,cards:n}:t)),t&&t(a,s.id,c.id,i)}i&&i.endDrag(c.id)},w=_.useCallback(e=>{for(let t of g){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[g]),T=_.useCallback(e=>g.find(t=>t.cards.some(t=>t.id===e))||null,[g]),E=_.useCallback(e=>g.find(t=>t.id===e)||null,[g]);return(0,Q.jsxs)(br,{sensors:x,collisionDetection:Ln,onDragStart:S,onDragEnd:C,children:[(0,Q.jsxs)(`div`,{className:`flex sm:hidden items-center justify-between px-3 pb-2 text-xs text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{children:[g.length,` columns`]}),(0,Q.jsx)(`span`,{children:`← Swipe to navigate →`})]}),y?(0,Q.jsxs)(`div`,{className:fi(`flex flex-col gap-1 p-2 sm:p-4 min-w-0 overflow-hidden`,r),role:`region`,"aria-label":`Kanban board with swimlanes`,children:[(0,Q.jsx)(`div`,{className:`flex gap-3 sm:gap-4 pl-36 sm:pl-44 overflow-x-auto`,children:g.map(e=>(0,Q.jsxs)(`div`,{className:`w-[85vw] sm:w-80 flex-shrink-0 text-center`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-xs sm:text-sm font-semibold tracking-wider text-primary/90 uppercase`,children:e.title}),(0,Q.jsxs)(`span`,{className:`ml-2 font-mono text-xs text-muted-foreground`,children:[`(`,e.cards.length,`)`]})]},e.id))}),y.map(e=>{let t=p.has(e),r=g.reduce((t,n)=>t+n.cards.filter(t=>(t[l]==null?pi:String(t[l]))===e).length,0);return(0,Q.jsxs)(`div`,{className:`border rounded-lg bg-muted/10`,children:[(0,Q.jsxs)(`button`,{className:`w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-muted/30 transition-colors`,onClick:()=>b(e),"aria-expanded":!t,children:[(0,Q.jsx)(`span`,{className:fi(`transition-transform text-xs`,t?``:`rotate-90`),children:`▶`}),(0,Q.jsx)(`span`,{className:`font-mono text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:e}),(0,Q.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:[`(`,r,`)`]})]}),!t&&(0,Q.jsx)(`div`,{className:`flex gap-3 sm:gap-4 overflow-x-auto px-2 pb-3 pl-36 sm:pl-44`,children:g.map(t=>{let r=t.cards.filter(t=>(t[l]==null?pi:String(t[l]))===e);return(0,Q.jsx)(`div`,{className:`w-[85vw] sm:w-80 flex-shrink-0 min-h-[60px] rounded-md bg-card/20 p-2`,children:(0,Q.jsx)(Hr,{items:r.map(e=>e.id),strategy:Jr,children:(0,Q.jsx)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${t.title} - ${e} cards`,children:r.map(e=>(0,Q.jsx)(oi,{card:e,onCardClick:n,conditionalFormatting:c},e.id))})})},t.id)})})]},e)})]}):(0,Q.jsx)(`div`,{className:fi(`flex gap-3 sm:gap-4 overflow-x-auto snap-x snap-mandatory p-2 sm:p-4 bg-muted/10 rounded-lg [-webkit-overflow-scrolling:touch] min-w-0`,r),role:`region`,"aria-label":`Kanban board`,children:g.map(e=>(0,Q.jsx)(ci,{column:e,cards:e.cards,onCardClick:n,quickAdd:a,onQuickAdd:o,conditionalFormatting:c},e.id))}),(0,Q.jsx)(Pr,{children:(0,Q.jsx)(`div`,{"aria-live":`assertive`,"aria-label":u?`Dragging ${u.title}`:void 0,children:u?(0,Q.jsx)(oi,{card:u,conditionalFormatting:c}):null})})]})}var Q,fi,pi,mi=f((()=>{Fr(),ri(),rt(),U(),Q=b(),fi=(...e)=>e.filter(Boolean).join(` `),pi=`Uncategorized`}));function hi(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
|
|
11
11
|
font-size: .6rem;
|
|
12
12
|
font-weight: bold;
|
|
13
|
-
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i}return o.updateDeps=e=>{r=e},o}function di(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var fi,pi,mi=f((()=>{fi=(e,t)=>Math.abs(e-t)<1.01,pi=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}}}));function hi({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=Ei(0,i,a,n),s=o;if(r===1)for(;s<i&&e[s].end<n+t;)s++;else if(r>1){let a=Array(r).fill(0);for(;s<i&&a.some(e=>e<n+t);){let t=e[s];a[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di=f((()=>{mi(),gi=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},_i=e=>e,vi=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},yi=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(gi(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(gi(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},bi={passive:!0},xi=typeof window>`u`?!0:`onscrollend`in window,Si=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&xi?()=>void 0:pi(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,bi);let l=e.options.useScrollendEvent&ξreturn l&&n.addEventListener(`scrollend`,c,bi),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},Ci=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},wi=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},Ti=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:_i,rangeExtractor:vi,onChange:()=>{},measureElement:Ci,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=ui(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!==`production`&&`maybeNotify`,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=ui(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=ui(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e<s;e++){let t=c[e];t&&(l[t.lane]=e)}for(let i=s;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,u;if(a!==void 0&&this.options.lanes>1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:process.env.NODE_ENV!==`production`&&`getMeasurements`,debug:()=>this.options.debug}),this.calculateRange=ui(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?hi({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:process.env.NODE_ENV!==`production`&&`calculateRange`,debug:()=>this.options.debug}),this.getVirtualIndexes=ui(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:process.env.NODE_ENV!==`production`&&`getVirtualIndexes`,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&(this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(n,r,this))&&(process.env.NODE_ENV!==`production`&&this.options.debug&&console.info(`correction`,r),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.getVirtualItems=ui(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:process.env.NODE_ENV!==`production`&&`getVirtualItems`,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return di(t[Ei(0,t.length-1,e=>di(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&fi(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.scrollState=null;return}}else this.scrollState.stableFrames=0,n&&(this.scrollState.lastTargetOffset=t,this.scrollState.behavior=`auto`,this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}));this.scheduleScrollReconcile()}},Ei=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0}}));function Oi({useFlushSync:e=!0,...n}){let r=t.useReducer(()=>({}),{})[1],i={...n,onChange:(t,i)=>{var o;e&&i?(0,a.flushSync)(r):r(),(o=n.onChange)==null||o.call(n,t,i)}},[o]=t.useState(()=>new Ti(i));return o.setOptions(i),Ai(()=>o._didMount(),[]),Ai(()=>o._willUpdate()),o}function ki(e){return Oi({observeElementRect:yi,observeElementOffset:Si,scrollToFn:wi,...e})}var Ai,ji=f((()=>{Di(),Di(),Ai=typeof document<`u`?t.useLayoutEffect:t.useEffect})),Mi=m({KanbanEnhanced:()=>Ri,default:()=>Ri});function Ni(e,t){if(!t||t.length===0)return{};for(let n of t){let t=e[n.field];if(t==null)continue;let r=!1,i=String(t);switch(n.operator){case`equals`:r=i===String(n.value);break;case`not_equals`:r=i!==String(n.value);break;case`contains`:r=i.toLowerCase().includes(String(n.value).toLowerCase());break;case`in`:r=Array.isArray(n.value)&&n.value.includes(i);break}if(r)return{...n.backgroundColor?{backgroundColor:n.backgroundColor}:{},...n.borderColor?{borderColor:n.borderColor}:{}}}return{}}function Pi({card:e,conditionalFormatting:t}){let{attributes:n,listeners:r,setNodeRef:a,transform:o,transition:s,isDragging:c}=zr({id:e.id}),l={transform:K.Transform.toString(o),transition:s,opacity:c?.5:void 0},u=Ni(e,t);return(0,$.jsx)(`div`,{ref:a,style:l,...n,...r,children:(0,$.jsxs)(i.Card,{className:`mb-2 cursor-grab active:cursor-grabbing border-border bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group`,style:u,children:[e.coverImage&&(0,$.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,$.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,$.jsxs)(i.CardHeader,{className:`p-4`,children:[(0,$.jsx)(i.CardTitle,{className:`text-sm font-medium font-mono tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,$.jsx)(i.CardDescription,{className:`text-xs text-muted-foreground font-mono`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,$.jsx)(i.CardContent,{className:`p-4 pt-0`,children:(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,$.jsx)(i.Badge,{variant:e.variant||`default`,className:`text-xs`,children:e.label},t))})})]})})}function Fi({cards:e,parentRef:t,conditionalFormatting:n}){let r=ki({count:e.length,getScrollElement:()=>t.current,estimateSize:()=>120,overscan:5});return(0,$.jsx)(`div`,{style:{height:`${r.getTotalSize()}px`,width:`100%`,position:`relative`},children:r.getVirtualItems().map(t=>{let r=e[t.index];return(0,$.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${t.start}px)`},children:(0,$.jsx)(Pi,{card:r,conditionalFormatting:n})},r.id)})})}function Ii({columnId:e,onAdd:n}){let[r,a]=t.useState(!1),[o,s]=t.useState(``),c=t.useRef(null),l=()=>{let t=o.trim();t&&(n(e,t),s(``)),a(!1)};return r?(0,$.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,$.jsx)(i.Input,{ref:c,value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),l()):e.key===`Escape`&&(s(``),a(!1))},onBlur:l,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,$.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{a(!0),setTimeout(()=>c.current?.focus(),0)},children:[(0,$.jsx)(se,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function Li({column:e,cards:n,onToggle:r,enableVirtual:a,quickAdd:o,onQuickAdd:s,conditionalFormatting:c}){let l=n||[],u=t.useRef(null),{setNodeRef:d}=zr({id:e.id,data:{type:`column`}}),f=e.limit&&l.length>=e.limit,p=e.limit&&l.length>=e.limit*.8;return(0,$.jsxs)(`div`,{ref:d,className:zi(`flex flex-col flex-shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl transition-all`,e.collapsed?`w-16`:`w-80`,e.className),children:[(0,$.jsxs)(`div`,{className:`p-4 border-b border-border/50 bg-muted/20 flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,$.jsx)(i.Button,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>r(!e.collapsed),children:e.collapsed?(0,$.jsx)(z,{className:`h-4 w-4`}):(0,$.jsx)(ie,{className:`h-4 w-4`})}),!e.collapsed&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`h3`,{className:`font-mono text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:zi(`font-mono text-xs`,f?`text-destructive`:p?`text-yellow-500`:`text-muted-foreground`),children:[l.length,e.limit&&` / ${e.limit}`]}),f&&(0,$.jsx)(i.Badge,{variant:`destructive`,className:`text-xs`,children:`Full`}),p&&!f&&(0,$.jsx)(le,{className:`h-3 w-3 text-yellow-500`})]})]})]}),e.collapsed&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`font-mono text-xs font-bold text-primary/90 [writing-mode:vertical-rl] rotate-180`,children:e.title}),(0,$.jsx)(i.Badge,{variant:`secondary`,className:`text-xs`,children:l.length})]})]}),!e.collapsed&&(0,$.jsxs)(`div`,{ref:u,className:`flex-1 p-4 overflow-y-auto`,style:{maxHeight:`600px`},children:[(0,$.jsx)(Lr,{items:l.map(e=>e.id),strategy:Ur,children:a?(0,$.jsx)(Fi,{cards:l,parentRef:u,conditionalFormatting:c}):(0,$.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,$.jsx)(Pi,{card:e,conditionalFormatting:c},e.id))})}),o&&s&&(0,$.jsx)(Ii,{columnId:e.id,onAdd:s})]})]})}function Ri({columns:e,onCardMove:n,onColumnToggle:r,enableVirtualScrolling:i=!1,virtualScrollThreshold:a=50,className:o,quickAdd:s,onQuickAdd:c,conditionalFormatting:l}){let[u,d]=t.useState(null),f=t.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[p,m]=t.useState(f);t.useEffect(()=>{m(f)},[f]);let h=lt(ct(Gn,{activationConstraint:{distance:8}})),g=e=>{let{active:t}=e;d(v(t.id))},_=e=>{let{active:t,over:r}=e;if(d(null),!r)return;let i=t.id,a=r.id;if(i===a)return;let o=y(i),s=y(a)||b(a);if(!(!o||!s))if(o.id===s.id){let e=[...o.cards],t=jr(e,e.findIndex(e=>e.id===i),e.findIndex(e=>e.id===a));m(e=>e.map(e=>e.id===o.id?{...e,cards:t}:e))}else{let e=[...o.cards],t=[...s.cards],r=e.findIndex(e=>e.id===i),c=a===s.id?t.length:t.findIndex(e=>e.id===a),[l]=e.splice(r,1);t.splice(c,0,l),m(n=>n.map(n=>n.id===o.id?{...n,cards:e}:n.id===s.id?{...n,cards:t}:n)),n&&n(i,o.id,s.id,c)}},v=t.useCallback(e=>{for(let t of p){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[p]),y=t.useCallback(e=>p.find(t=>t.cards.some(t=>t.id===e))||null,[p]),b=t.useCallback(e=>p.find(t=>t.id===e)||null,[p]),x=t.useCallback((e,t)=>{m(n=>n.map(n=>n.id===e?{...n,collapsed:t}:n)),r?.(e,t)},[r]);return(0,$.jsxs)(hr,{sensors:h,collisionDetection:Mn,onDragStart:g,onDragEnd:_,children:[(0,$.jsx)(`div`,{className:zi(`flex gap-4 overflow-x-auto p-4`,o),children:p.map(e=>{let t=i&&e.cards.length>a;return(0,$.jsx)(Li,{column:e,cards:e.cards,onToggle:t=>x(e.id,t),enableVirtual:t,quickAdd:s,onQuickAdd:c,conditionalFormatting:l},e.id)})}),(0,$.jsx)(kr,{children:u?(0,$.jsx)(Pi,{card:u,conditionalFormatting:l}):null})]})}var $,zi,Bi=f((()=>{ji(),Ar(),Qr(),Qe(),me(),$=v(),zi=(...e)=>e.filter(Boolean).join(` `)})),Vi=t.default.lazy(()=>Promise.resolve().then(()=>(li(),$r))),Hi=t.default.lazy(()=>Promise.resolve().then(()=>(Bi(),Mi))),Ui=({schema:e})=>{let n=t.default.useMemo(()=>{let{columns:t=[],data:n,groupBy:r,coverImageField:i}=e,a=e=>{if(!i)return e;let t=e[i];if(!t)return e;let n=typeof t==`string`?t:t?.url;return n?{...e,coverImage:n}:e};if(n&&r&&Array.isArray(n)){let e={};t.forEach(t=>{t.id&&(e[String(t.id).toLowerCase()]=t.id),t.title&&(e[String(t.title).toLowerCase()]=t.id)});let i=n.reduce((t,n)=>{let i=String(n[r]??``),o=e[i.toLowerCase()]??i;return t[o]||(t[o]=[]),t[o].push(a(n)),t},{});return t.map(e=>({...e,cards:[...(e.cards||[]).map(a),...i[e.id]||[]]}))}return t.map(e=>({...e,cards:(e.cards||[]).map(a)}))},[e]);return(0,y.jsx)(t.Suspense,{fallback:(0,y.jsx)(i.Skeleton,{className:`w-full h-[600px]`}),children:(0,y.jsx)(Vi,{columns:n,onCardMove:e.onCardMove,onCardClick:e.onCardClick,className:e.className,quickAdd:e.quickAdd,onQuickAdd:e.onQuickAdd,coverImageField:e.coverImageField,conditionalFormatting:e.conditionalFormatting,swimlaneField:e.swimlaneField})})};n.ComponentRegistry.register(`kanban-ui`,Ui,{namespace:`plugin-kanban`,label:`Kanban Board`,icon:`LayoutDashboard`,category:`plugin`,inputs:[{name:`columns`,type:`array`,label:`Columns`,description:`Array of { id, title, cards, limit, className }`,required:!0},{name:`onCardMove`,type:`code`,label:`On Card Move`,description:`Callback when a card is moved`,advanced:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:[{id:`todo`,title:`To Do`,cards:[{id:`card-1`,title:`Task 1`,description:`This is the first task`,badges:[{label:`High Priority`,variant:`destructive`},{label:`Feature`,variant:`default`}]},{id:`card-2`,title:`Task 2`,description:`This is the second task`,badges:[{label:`Bug`,variant:`destructive`}]}]},{id:`in-progress`,title:`In Progress`,limit:3,cards:[{id:`card-3`,title:`Task 3`,description:`Currently working on this`,badges:[{label:`In Progress`,variant:`default`}]}]},{id:`done`,title:`Done`,cards:[{id:`card-4`,title:`Task 4`,description:`This task is completed`,badges:[{label:`Completed`,variant:`outline`}]},{id:`card-5`,title:`Task 5`,description:`Another completed task`,badges:[{label:`Completed`,variant:`outline`}]}]}],className:`w-full`}});var Wi={kanban:Ui,"kanban-enhanced":Hi,"object-kanban":b};n.ComponentRegistry.register(`kanban-enhanced`,({schema:e})=>{let n=t.default.useMemo(()=>{let{columns:t=[],data:n,groupBy:r}=e;if(n&&r&&Array.isArray(n)){let e=n.reduce((e,t)=>{let n=t[r];return e[n]||(e[n]=[]),e[n].push(t),e},{});return t.map(t=>({...t,cards:[...t.cards||[],...e[t.id]||[]]}))}return t},[e]);return(0,y.jsx)(t.Suspense,{fallback:(0,y.jsx)(i.Skeleton,{className:`w-full h-[600px]`}),children:(0,y.jsx)(Hi,{columns:n,onCardMove:e.onCardMove,onColumnToggle:e.onColumnToggle,enableVirtualScrolling:e.enableVirtualScrolling,virtualScrollThreshold:e.virtualScrollThreshold,className:e.className,quickAdd:e.quickAdd,onQuickAdd:e.onQuickAdd,conditionalFormatting:e.conditionalFormatting})})},{namespace:`plugin-kanban`,label:`Kanban Board (Enhanced)`,icon:`LayoutGrid`,category:`plugin`,inputs:[{name:`columns`,type:`array`,label:`Columns`,required:!0},{name:`enableVirtualScrolling`,type:`boolean`,label:`Virtual Scrolling`,defaultValue:!1},{name:`virtualScrollThreshold`,type:`number`,label:`Virtual Scroll Threshold`,defaultValue:50},{name:`onCardMove`,type:`code`,label:`On Card Move`,advanced:!0},{name:`onColumnToggle`,type:`code`,label:`On Column Toggle`,advanced:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:[],enableVirtualScrolling:!1,virtualScrollThreshold:50,className:`w-full`}});var Gi=({schema:e,...t})=>{let{dataSource:n}=(0,r.useSchemaContext)()||{};return(0,y.jsx)(b,{schema:e,dataSource:n,...t})};n.ComponentRegistry.register(`object-kanban`,Gi,{namespace:`plugin-kanban`,label:`Object Kanban`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`columns`,type:`array`,label:`Columns`}]}),n.ComponentRegistry.register(`kanban`,Gi,{namespace:`view`,label:`Kanban Board`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`columns`,type:`array`,label:`Columns`}]}),e.CardTemplates=ye,e.InlineQuickAdd=ge,e.KanbanRenderer=Ui,e.ObjectKanban=b,e.ObjectKanbanRenderer=Gi,e.kanbanComponents=Wi,e.useColumnWidths=Ce,e.useCrossSwimlaneMove=we,e.useQuickAddReorder=Te});
|
|
13
|
+
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i}return o.updateDeps=e=>{r=e},o}function gi(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var _i,vi,yi=f((()=>{_i=(e,t)=>Math.abs(e-t)<1.01,vi=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}}}));function bi({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=ji(0,i,a,n),s=o;if(r===1)for(;s<i&&e[s].end<n+t;)s++;else if(r>1){let a=Array(r).fill(0);for(;s<i&&a.some(e=>e<n+t);){let t=e[s];a[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi=f((()=>{yi(),xi=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Si=e=>e,Ci=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},wi=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(xi(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(xi(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Ti={passive:!0},Ei=typeof window>`u`?!0:`onscrollend`in window,Di=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&Ei?()=>void 0:vi(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,Ti);let l=e.options.useScrollendEvent&&Ei;return l&&n.addEventListener(`scrollend`,c,Ti),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},Oi=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ki=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},Ai=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Si,rangeExtractor:Ci,onChange:()=>{},measureElement:Oi,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=hi(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!==`production`&&`maybeNotify`,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=hi(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=hi(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e<s;e++){let t=c[e];t&&(l[t.lane]=e)}for(let i=s;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,u;if(a!==void 0&&this.options.lanes>1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:process.env.NODE_ENV!==`production`&&`getMeasurements`,debug:()=>this.options.debug}),this.calculateRange=hi(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?bi({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:process.env.NODE_ENV!==`production`&&`calculateRange`,debug:()=>this.options.debug}),this.getVirtualIndexes=hi(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:process.env.NODE_ENV!==`production`&&`getVirtualIndexes`,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&(this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(n,r,this))&&(process.env.NODE_ENV!==`production`&&this.options.debug&&console.info(`correction`,r),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.getVirtualItems=hi(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:process.env.NODE_ENV!==`production`&&`getVirtualItems`,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return gi(t[ji(0,t.length-1,e=>gi(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&_i(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.scrollState=null;return}}else this.scrollState.stableFrames=0,n&&(this.scrollState.lastTargetOffset=t,this.scrollState.behavior=`auto`,this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}));this.scheduleScrollReconcile()}},ji=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0}}));function Ni({useFlushSync:e=!0,...t}){let n=_.useReducer(()=>({}),{})[1],r={...t,onChange:(r,i)=>{var o;e&&i?(0,a.flushSync)(n):n(),(o=t.onChange)==null||o.call(t,r,i)}},[i]=_.useState(()=>new Ai(r));return i.setOptions(r),Fi(()=>i._didMount(),[]),Fi(()=>i._willUpdate()),i}function Pi(e){return Ni({observeElementRect:wi,observeElementOffset:Di,scrollToFn:ki,...e})}var Fi,Ii=f((()=>{Mi(),Mi(),Fi=typeof document<`u`?_.useLayoutEffect:_.useEffect})),Li=m({KanbanEnhanced:()=>Ui,default:()=>Ui});function Ri(e,t){if(!t||t.length===0)return{};for(let n of t){let t=e[n.field];if(t==null)continue;let r=!1,i=String(t);switch(n.operator){case`equals`:r=i===String(n.value);break;case`not_equals`:r=i!==String(n.value);break;case`contains`:r=i.toLowerCase().includes(String(n.value).toLowerCase());break;case`in`:r=Array.isArray(n.value)&&n.value.includes(i);break}if(r)return{...n.backgroundColor?{backgroundColor:n.backgroundColor}:{},...n.borderColor?{borderColor:n.borderColor}:{}}}return{}}function zi({card:e,conditionalFormatting:t}){let{attributes:n,listeners:r,setNodeRef:a,transform:o,transition:s,isDragging:c}=Wr({id:e.id}),l={transform:K.Transform.toString(o),transition:s,opacity:c?.5:void 0},u=Ri(e,t);return(0,$.jsx)(`div`,{ref:a,style:l,...n,...r,children:(0,$.jsxs)(i.Card,{className:`mb-2 cursor-grab active:cursor-grabbing border-border bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group`,style:u,children:[e.coverImage&&(0,$.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,$.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,$.jsxs)(i.CardHeader,{className:`p-4`,children:[(0,$.jsx)(i.CardTitle,{className:`text-sm font-medium font-mono tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,$.jsx)(i.CardDescription,{className:`text-xs text-muted-foreground font-mono`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,$.jsx)(i.CardContent,{className:`p-4 pt-0`,children:(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,$.jsx)(i.Badge,{variant:e.variant||`default`,className:`text-xs`,children:e.label},t))})})]})})}function Bi({cards:e,parentRef:t,conditionalFormatting:n}){let r=Pi({count:e.length,getScrollElement:()=>t.current,estimateSize:()=>120,overscan:5});return(0,$.jsx)(`div`,{style:{height:`${r.getTotalSize()}px`,width:`100%`,position:`relative`},children:r.getVirtualItems().map(t=>{let r=e[t.index];return(0,$.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${t.start}px)`},children:(0,$.jsx)(zi,{card:r,conditionalFormatting:n})},r.id)})})}function Vi({columnId:e,onAdd:t}){let[n,r]=_.useState(!1),[a,o]=_.useState(``),s=_.useRef(null),c=()=>{let n=a.trim();n&&(t(e,n),o(``)),r(!1)};return n?(0,$.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,$.jsx)(i.Input,{ref:s,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),c()):e.key===`Escape`&&(o(``),r(!1))},onBlur:c,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,$.jsxs)(i.Button,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{r(!0),setTimeout(()=>s.current?.focus(),0)},children:[(0,$.jsx)(fe,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function Hi({column:e,cards:t,onToggle:n,enableVirtual:r,quickAdd:a,onQuickAdd:o,conditionalFormatting:s}){let c=t||[],l=_.useRef(null),{setNodeRef:u}=Wr({id:e.id,data:{type:`column`}}),d=e.limit&&c.length>=e.limit,f=e.limit&&c.length>=e.limit*.8;return(0,$.jsxs)(`div`,{ref:u,className:Wi(`flex flex-col flex-shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl transition-all`,e.collapsed?`w-16`:`w-80`,e.className),children:[(0,$.jsxs)(`div`,{className:`p-4 border-b border-border/50 bg-muted/20 flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,$.jsx)(i.Button,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>n(!e.collapsed),children:e.collapsed?(0,$.jsx)(se,{className:`h-4 w-4`}):(0,$.jsx)(B,{className:`h-4 w-4`})}),!e.collapsed&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`h3`,{className:`font-mono text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:Wi(`font-mono text-xs`,d?`text-destructive`:f?`text-yellow-500`:`text-muted-foreground`),children:[c.length,e.limit&&` / ${e.limit}`]}),d&&(0,$.jsx)(i.Badge,{variant:`destructive`,className:`text-xs`,children:`Full`}),f&&!d&&(0,$.jsx)(he,{className:`h-3 w-3 text-yellow-500`})]})]})]}),e.collapsed&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`font-mono text-xs font-bold text-primary/90 [writing-mode:vertical-rl] rotate-180`,children:e.title}),(0,$.jsx)(i.Badge,{variant:`secondary`,className:`text-xs`,children:c.length})]})]}),!e.collapsed&&(0,$.jsxs)(`div`,{ref:l,className:`flex-1 p-4 overflow-y-auto`,style:{maxHeight:`600px`},children:[(0,$.jsx)(Hr,{items:c.map(e=>e.id),strategy:Jr,children:r?(0,$.jsx)(Bi,{cards:c,parentRef:l,conditionalFormatting:s}):(0,$.jsx)(`div`,{className:`space-y-2`,children:c.map(e=>(0,$.jsx)(zi,{card:e,conditionalFormatting:s},e.id))})}),a&&o&&(0,$.jsx)(Vi,{columnId:e.id,onAdd:o})]})]})}function Ui({columns:e,onCardMove:t,onColumnToggle:n,enableVirtualScrolling:r=!1,virtualScrollThreshold:i=50,className:a,quickAdd:o,onQuickAdd:s,conditionalFormatting:c}){let[l,u]=_.useState(null),d=_.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[f,p]=_.useState(d);_.useEffect(()=>{p(d)},[d]);let m=mt(pt(Xn,{activationConstraint:{distance:8}})),h=e=>{let{active:t}=e;u(v(t.id))},g=e=>{let{active:n,over:r}=e;if(u(null),!r)return;let i=n.id,a=r.id;if(i===a)return;let o=y(i),s=y(a)||b(a);if(!(!o||!s))if(o.id===s.id){let e=[...o.cards],t=Ir(e,e.findIndex(e=>e.id===i),e.findIndex(e=>e.id===a));p(e=>e.map(e=>e.id===o.id?{...e,cards:t}:e))}else{let e=[...o.cards],n=[...s.cards],r=e.findIndex(e=>e.id===i),c=a===s.id?n.length:n.findIndex(e=>e.id===a),[l]=e.splice(r,1);n.splice(c,0,l),p(t=>t.map(t=>t.id===o.id?{...t,cards:e}:t.id===s.id?{...t,cards:n}:t)),t&&t(i,o.id,s.id,c)}},v=_.useCallback(e=>{for(let t of f){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[f]),y=_.useCallback(e=>f.find(t=>t.cards.some(t=>t.id===e))||null,[f]),b=_.useCallback(e=>f.find(t=>t.id===e)||null,[f]),x=_.useCallback((e,t)=>{p(n=>n.map(n=>n.id===e?{...n,collapsed:t}:n)),n?.(e,t)},[n]);return(0,$.jsxs)(br,{sensors:m,collisionDetection:Ln,onDragStart:h,onDragEnd:g,children:[(0,$.jsx)(`div`,{className:Wi(`flex gap-4 overflow-x-auto p-4`,a),children:f.map(e=>{let t=r&&e.cards.length>i;return(0,$.jsx)(Hi,{column:e,cards:e.cards,onToggle:t=>x(e.id,t),enableVirtual:t,quickAdd:o,onQuickAdd:s,conditionalFormatting:c},e.id)})}),(0,$.jsx)(Pr,{children:l?(0,$.jsx)(zi,{card:l,conditionalFormatting:c}):null})]})}var $,Wi,Gi=f((()=>{Ii(),Fr(),ri(),rt(),U(),$=b(),Wi=(...e)=>e.filter(Boolean).join(` `)})),Ki=_.default.lazy(()=>Promise.resolve().then(()=>(mi(),ii))),qi=_.default.lazy(()=>Promise.resolve().then(()=>(Gi(),Li))),Ji=({schema:e})=>{let t=_.default.useMemo(()=>{let{columns:t=[],data:n,groupBy:r,coverImageField:i}=e,a=e=>{if(!i)return e;let t=e[i];if(!t)return e;let n=typeof t==`string`?t:t?.url;return n?{...e,coverImage:n}:e};if(n&&r&&Array.isArray(n)){let e={};t.forEach(t=>{t.id&&(e[String(t.id).toLowerCase()]=t.id),t.title&&(e[String(t.title).toLowerCase()]=t.id)});let i=n.reduce((t,n)=>{let i=String(n[r]??``),o=e[i.toLowerCase()]??i;return t[o]||(t[o]=[]),t[o].push(a(n)),t},{});return t.map(e=>({...e,cards:[...(e.cards||[]).map(a),...i[e.id]||[]]}))}return t.map(e=>({...e,cards:(e.cards||[]).map(a)}))},[e]);return(0,x.jsx)(_.Suspense,{fallback:(0,x.jsx)(i.Skeleton,{className:`w-full h-[600px]`}),children:(0,x.jsx)(Ki,{columns:t,onCardMove:e.onCardMove,onCardClick:e.onCardClick,className:e.className,quickAdd:e.quickAdd,onQuickAdd:e.onQuickAdd,coverImageField:e.coverImageField,conditionalFormatting:e.conditionalFormatting,swimlaneField:e.swimlaneField})})};n.ComponentRegistry.register(`kanban-ui`,Ji,{namespace:`plugin-kanban`,label:`Kanban Board`,icon:`LayoutDashboard`,category:`plugin`,inputs:[{name:`columns`,type:`array`,label:`Columns`,description:`Array of { id, title, cards, limit, className }`,required:!0},{name:`onCardMove`,type:`code`,label:`On Card Move`,description:`Callback when a card is moved`,advanced:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:[{id:`todo`,title:`To Do`,cards:[{id:`card-1`,title:`Task 1`,description:`This is the first task`,badges:[{label:`High Priority`,variant:`destructive`},{label:`Feature`,variant:`default`}]},{id:`card-2`,title:`Task 2`,description:`This is the second task`,badges:[{label:`Bug`,variant:`destructive`}]}]},{id:`in-progress`,title:`In Progress`,limit:3,cards:[{id:`card-3`,title:`Task 3`,description:`Currently working on this`,badges:[{label:`In Progress`,variant:`default`}]}]},{id:`done`,title:`Done`,cards:[{id:`card-4`,title:`Task 4`,description:`This task is completed`,badges:[{label:`Completed`,variant:`outline`}]},{id:`card-5`,title:`Task 5`,description:`Another completed task`,badges:[{label:`Completed`,variant:`outline`}]}]}],className:`w-full`}});var Yi={kanban:Ji,"kanban-enhanced":qi,"object-kanban":S};n.ComponentRegistry.register(`kanban-enhanced`,({schema:e})=>{let t=_.default.useMemo(()=>{let{columns:t=[],data:n,groupBy:r}=e;if(n&&r&&Array.isArray(n)){let e=n.reduce((e,t)=>{let n=t[r];return e[n]||(e[n]=[]),e[n].push(t),e},{});return t.map(t=>({...t,cards:[...t.cards||[],...e[t.id]||[]]}))}return t},[e]);return(0,x.jsx)(_.Suspense,{fallback:(0,x.jsx)(i.Skeleton,{className:`w-full h-[600px]`}),children:(0,x.jsx)(qi,{columns:t,onCardMove:e.onCardMove,onColumnToggle:e.onColumnToggle,enableVirtualScrolling:e.enableVirtualScrolling,virtualScrollThreshold:e.virtualScrollThreshold,className:e.className,quickAdd:e.quickAdd,onQuickAdd:e.onQuickAdd,conditionalFormatting:e.conditionalFormatting})})},{namespace:`plugin-kanban`,label:`Kanban Board (Enhanced)`,icon:`LayoutGrid`,category:`plugin`,inputs:[{name:`columns`,type:`array`,label:`Columns`,required:!0},{name:`enableVirtualScrolling`,type:`boolean`,label:`Virtual Scrolling`,defaultValue:!1},{name:`virtualScrollThreshold`,type:`number`,label:`Virtual Scroll Threshold`,defaultValue:50},{name:`onCardMove`,type:`code`,label:`On Card Move`,advanced:!0},{name:`onColumnToggle`,type:`code`,label:`On Column Toggle`,advanced:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:[],enableVirtualScrolling:!1,virtualScrollThreshold:50,className:`w-full`}});var Xi=({schema:e,...t})=>{let{dataSource:n}=(0,r.useSchemaContext)()||{};return(0,x.jsx)(S,{schema:e,dataSource:n,...t})};n.ComponentRegistry.register(`object-kanban`,Xi,{namespace:`plugin-kanban`,label:`Object Kanban`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`columns`,type:`array`,label:`Columns`}]}),n.ComponentRegistry.register(`kanban`,Xi,{namespace:`view`,label:`Kanban Board`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`columns`,type:`array`,label:`Columns`}]}),e.CardTemplates=we,e.InlineQuickAdd=xe,e.KanbanRenderer=Ji,e.ObjectKanban=S,e.ObjectKanbanRenderer=Xi,e.kanbanComponents=Yi,e.useColumnWidths=Oe,e.useCrossSwimlaneMove=ke,e.useQuickAddReorder=Ae});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardTemplates.d.ts","sourceRoot":"","sources":["../../../../src/CardTemplates.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,uDAAuD;IACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAA;IACjD,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2FtD,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineQuickAdd.d.ts","sourceRoot":"","sources":["../../../../src/InlineQuickAdd.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC/B,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACjE,wCAAwC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2FxD,CAAA;AAgED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanEnhanced.d.ts","sourceRoot":"","sources":["../../../../src/KanbanEnhanced.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAChG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/D,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;CACpD;AAuSD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,cAAc,EACd,sBAA8B,EAC9B,sBAA2B,EAC3B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,EAAE,mBAAmB,2CAqJrB;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanImpl.d.ts","sourceRoot":"","sources":["../../../../src/KanbanImpl.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8BH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAChG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACnD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AA4OD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,EAAE,gBAAgB,2CAYjL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectKanban.EdgeCases.stories.d.ts","sourceRoot":"","sources":["../../../../src/ObjectKanban.EdgeCases.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAUW,CAAC;AAEtB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAMnC,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,KAYhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAiC9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,KAwCjC,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,KAmCzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectKanban.d.ts","sourceRoot":"","sources":["../../../../src/ObjectKanban.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuPpD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectKanban.stories.d.ts","sourceRoot":"","sources":["../../../../src/ObjectKanban.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAUW,CAAC;AAEtB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAInC,eAAO,MAAM,OAAO,EAAE,KAsDrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAuCzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAiC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC9H,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAMhG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAClG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,KAAK,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;YACtD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YACzB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiExD,CAAC;AAqGF,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AA8DF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAG9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IACjG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAEb;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAElG;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;QACtD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAEH;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnWidths.d.ts","sourceRoot":"","sources":["../../../../src/useColumnWidths.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI9D,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,yCAAyC;IACzC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,iDAAiD;IACjD,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,iDAAiD;IACjD,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EAAE,QAAQ,EACjB,YAAkB,EAClB,QAAc,EACd,QAAc,EACd,UAAU,GACX,EAAE,sBAAsB,GAAG,qBAAqB,CAoDhD;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCrossSwimlaneMove.d.ts","sourceRoot":"","sources":["../../../../src/useCrossSwimlaneMove.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,2BAA2B;IAC3B,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,uBAAuB,EAAE,CACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAA;IACZ,iEAAiE;IACjE,yBAAyB,EAAE,OAAO,CAAA;IAClC,2CAA2C;IAC3C,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,kCAAkC;IAClC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,iEAAiE;IACjE,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;CACjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,UAAU,GACX,EAAE,uBAAuB,GAAG,0BAA0B,CAuDtD;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuickAddReorder.d.ts","sourceRoot":"","sources":["../../../../src/useQuickAddReorder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,4DAA4D;IAC5D,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAA;IACnB,wDAAwD;IACxD,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,sDAAsD;IACtD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,iBAAiB,GAClB,EAAE,yBAAyB,GAAG,wBAAwB,CAuDtD;AAWD,eAAe,kBAAkB,CAAA"}
|