@object-ui/plugin-kanban 3.4.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @object-ui/plugin-kanban
2
2
 
3
+ ## 4.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @object-ui/types@4.0.1
8
+ - @object-ui/core@4.0.1
9
+ - @object-ui/react@4.0.1
10
+ - @object-ui/components@4.0.1
11
+
12
+ ## 4.0.0
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies
17
+ - @object-ui/types@4.0.0
18
+ - @object-ui/components@4.0.0
19
+ - @object-ui/core@4.0.0
20
+ - @object-ui/react@4.0.0
21
+
3
22
  ## 3.4.0
4
23
 
5
24
  ### Patch Changes
package/dist/index.js CHANGED
Binary file
@@ -3,7 +3,7 @@
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),ie[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,k=Object.prototype.hasOwnProperty,A=Array.isArray,te=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var ne,j={},M=m.react_stack_bottom_frame.bind(m,o)(),re=te(i(o)),ie={};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`):M,r?te(i(e)):re)},e.jsxs=function(e,t,n){var r=1e4>O.recentlyCreatedOwnerStacks++;return d(e,t,n,!0,r?Error(`react-stack-top-frame`):M,r?te(i(e)):re)}})()})),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,n=[`name`,`full_name`,`fullName`,`title`,`subject`,`label`,`display_name`,`displayName`],r=m?.titleFormat,i=m?.NAME_FIELD_KEY,a=(e,t)=>{let n=!1,r=e.replace(/\{(.+?)\}/g,(e,r)=>{let i=t[r.trim()];return i!=null&&i!==``?(n=!0,String(i)):``}).replace(/\s+-\s+(?=$|\s*$)/,``).trim();return n?r:``};return T.map(e=>{let o;if(t&&(o=e[t],typeof o==`string`&&(o=o.trim())),!o&&r){let t=a(r,e);t&&(o=t)}if(!o&&i){let t=e[i];typeof t==`string`?o=t.trim():t&&(o=t)}if(!o)for(let t of n){let n=e[t],r=typeof n==`string`?n.trim():n;if(r){o=r;break}}let s=e=>e>=1e6?`$${(e/1e6).toFixed(1).replace(/\.0$/,``)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e}`,c=[],l=[`amount`,`value`,`deal_value`,`expected_value`,`opportunity_value`].find(t=>typeof e[t]==`number`);l&&c.push(s(e[l]));let u=[`company`,`company_name`,`account`,`account_name`,`organization`].find(t=>typeof e[t]==`string`&&e[t]);u&&(!o||!String(o).includes(e[u]))&&c.push(e[u]);let d=[`owner`,`owner_name`,`assignee`,`assignee_name`].find(t=>typeof e[t]==`string`&&e[t]);d&&c.push(`@${e[d]}`);let f=[`priority`,`severity`,`industry`,`rating`],p=[];for(let t of f){let n=e[t];if(n!=null&&n!==``&&(p.push({label:String(n),variant:`secondary`}),p.length>=2))break}return{...e,id:e.id||e._id,title:o||`Untitled`,...e.description==null&&c.length>0?{description:c.join(` · `)}:{},...!Array.isArray(e.badges)&&p.length>0?{badges:p}:{}}})},[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}:{}},k=(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 A=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=>{k.handleClick(e),l?.(e)}}}),k.isOverlay&&(0,x.jsx)(i.NavigationOverlay,{...k,title:A,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,k=f((()=>{D(),O=e=>{let t=ee(e);return t.charAt(0).toUpperCase()+t.slice(1)}})),A,te=f((()=>{A={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`}})),ne,j=f((()=>{ne=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1}})),M,re,ie=f((()=>{M=(0,_.createContext)({}),re=()=>(0,_.useContext)(M)})),N,P=f((()=>{te(),j(),w(),ie(),N=(0,_.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=re()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,_.createElement)(`svg`,{ref:c,...A,width:t??l??A.width,height:t??l??A.height,stroke:e??f,strokeWidth:m,className:C(`lucide`,p,i),...!a&&!ne(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(a)?a:[a]])})})),F,I=f((()=>{w(),E(),k(),P(),F=(e,t)=>{let n=(0,_.forwardRef)(({className:n,...r},i)=>(0,_.createElement)(N,{ref:i,iconNode:t,className:C(`lucide-${T(O(e))}`,`lucide-${e}`,n),...r}));return n.displayName=O(e),n}})),L,R,z=f((()=>{I(),L=[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]],R=F(`check`,L)})),B,V,ae=f((()=>{I(),B=[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]],V=F(`chevron-down`,B)})),oe,se,ce=f((()=>{I(),oe=[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]],se=F(`chevron-right`,oe)})),le,H,ue=f((()=>{I(),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=F(`file-text`,le)})),de,fe,pe=f((()=>{I(),de=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],fe=F(`plus`,de)})),me,he,ge=f((()=>{I(),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=F(`triangle-alert`,me)})),_e,ve,ye=f((()=>{I(),_e=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],ve=F(`x`,_e)})),U=f((()=>{I(),ge(),z(),ae(),ce(),ue(),pe(),ye(),ie(),P()}));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 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)(R,{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)(V,{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:`
6
+ <%s key={someKey} {...props} />`,o,p,m,p),ie[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,k=Object.prototype.hasOwnProperty,A=Array.isArray,te=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var ne,j={},M=m.react_stack_bottom_frame.bind(m,o)(),re=te(i(o)),ie={};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`):M,r?te(i(e)):re)},e.jsxs=function(e,t,n){var r=1e4>O.recentlyCreatedOwnerStacks++;return d(e,t,n,!0,r?Error(`react-stack-top-frame`):M,r?te(i(e)):re)}})()})),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,n=[`name`,`full_name`,`fullName`,`title`,`subject`,`label`,`display_name`,`displayName`],r=m?.titleFormat,i=m?.NAME_FIELD_KEY,a=(e,t)=>{let n=`[-\\u2013\\u2014|/·,:]`,r=!1,i=e.replace(/\{([^{}]+)\}/g,(e,n)=>{let i=t[n.trim()];return i!=null&&i!==``?(r=!0,String(i)):`\0`});return r?i.replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\\s*${n}\\s*`,`g`),``).replace(RegExp(`\0`,`g`),``).replace(/\s+/g,` `).trim():``};return T.map(e=>{let o;if(t&&(o=e[t],typeof o==`string`&&(o=o.trim())),!o&&r){let t=a(r,e);t&&(o=t)}if(!o&&i){let t=e[i];typeof t==`string`?o=t.trim():t&&(o=t)}if(!o)for(let t of n){let n=e[t],r=typeof n==`string`?n.trim():n;if(r){o=r;break}}let s=e=>e>=1e6?`$${(e/1e6).toFixed(1).replace(/\.0$/,``)}M`:e>=1e3?`$${Math.round(e/1e3)}K`:`$${e}`,c=[],l=[`amount`,`value`,`deal_value`,`expected_value`,`opportunity_value`].find(t=>typeof e[t]==`number`);l&&c.push(s(e[l]));let u=[`company`,`company_name`,`account`,`account_name`,`organization`].find(t=>typeof e[t]==`string`&&e[t]);u&&(!o||!String(o).includes(e[u]))&&c.push(e[u]);let d=[`owner`,`owner_name`,`assignee`,`assignee_name`].find(t=>typeof e[t]==`string`&&e[t]);d&&c.push(`@${e[d]}`);let f=[`priority`,`severity`,`industry`,`rating`],p=[];for(let t of f){let n=e[t];if(n!=null&&n!==``&&(p.push({label:String(n),variant:`secondary`}),p.length>=2))break}return{...e,id:e.id||e._id,title:o||`Untitled`,...e.description==null&&c.length>0?{description:c.join(` · `)}:{},...!Array.isArray(e.badges)&&p.length>0?{badges:p}:{}}})},[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}:{}},k=(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 A=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=>{k.handleClick(e),l?.(e)}}}),k.isOverlay&&(0,x.jsx)(i.NavigationOverlay,{...k,title:A,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,k=f((()=>{D(),O=e=>{let t=ee(e);return t.charAt(0).toUpperCase()+t.slice(1)}})),A,te=f((()=>{A={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`}})),ne,j=f((()=>{ne=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1}})),M,re,ie=f((()=>{M=(0,_.createContext)({}),re=()=>(0,_.useContext)(M)})),N,P=f((()=>{te(),j(),w(),ie(),N=(0,_.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=re()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,_.createElement)(`svg`,{ref:c,...A,width:t??l??A.width,height:t??l??A.height,stroke:e??f,strokeWidth:m,className:C(`lucide`,p,i),...!a&&!ne(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(a)?a:[a]])})})),F,I=f((()=>{w(),E(),k(),P(),F=(e,t)=>{let n=(0,_.forwardRef)(({className:n,...r},i)=>(0,_.createElement)(N,{ref:i,iconNode:t,className:C(`lucide-${T(O(e))}`,`lucide-${e}`,n),...r}));return n.displayName=O(e),n}})),L,R,z=f((()=>{I(),L=[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]],R=F(`check`,L)})),B,V,ae=f((()=>{I(),B=[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]],V=F(`chevron-down`,B)})),oe,se,ce=f((()=>{I(),oe=[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]],se=F(`chevron-right`,oe)})),le,H,ue=f((()=>{I(),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=F(`file-text`,le)})),de,fe,pe=f((()=>{I(),de=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],fe=F(`plus`,de)})),me,he,ge=f((()=>{I(),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=F(`triangle-alert`,me)})),_e,ve,ye=f((()=>{I(),_e=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],ve=F(`x`,_e)})),U=f((()=>{I(),ge(),z(),ae(),ce(),ue(),pe(),ye(),ie(),P()}));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 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)(R,{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)(V,{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.
@@ -1 +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,CAyUpD,CAAA"}
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,CAoVpD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/plugin-kanban",
3
- "version": "3.4.0",
3
+ "version": "4.0.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Kanban board plugin for Object UI, powered by dnd-kit",
@@ -29,10 +29,10 @@
29
29
  "@dnd-kit/utilities": "^3.2.2",
30
30
  "@tanstack/react-virtual": "^3.13.24",
31
31
  "lucide-react": "^1.14.0",
32
- "@object-ui/components": "3.4.0",
33
- "@object-ui/core": "3.4.0",
34
- "@object-ui/react": "3.4.0",
35
- "@object-ui/types": "3.4.0"
32
+ "@object-ui/components": "4.0.1",
33
+ "@object-ui/core": "4.0.1",
34
+ "@object-ui/react": "4.0.1",
35
+ "@object-ui/types": "4.0.1"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": "^18.0.0 || ^19.0.0",
@@ -45,7 +45,7 @@
45
45
  "typescript": "^6.0.3",
46
46
  "vite": "^8.0.10",
47
47
  "vite-plugin-dts": "^5.0.0",
48
- "@object-ui/data-objectstack": "3.4.0"
48
+ "@object-ui/data-objectstack": "4.0.1"
49
49
  },
50
50
  "keywords": [
51
51
  "objectui",