knowns 0.3.1 → 0.4.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/CHANGELOG.md +36 -321
- package/CLAUDE.md +22 -8
- package/README.md +8 -1
- package/dist/index.js +1204 -213
- package/dist/mcp/server.js +47 -13
- package/dist/ui/assets/{index-BqJqFGQL.js → index-BdxLDbKo.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
|
@@ -165,7 +165,7 @@ Defaulting to \`null\`.`}var jP=FP,cfe=BP;const HP=E.forwardRef(({className:e,va
|
|
|
165
165
|
To pick up a draggable item, press the space bar.
|
|
166
166
|
While dragging, use the arrow keys to move the item.
|
|
167
167
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
168
|
-
`},ebe={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 tbe(e){let{announcements:t=ebe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:a=Jge}=e;const{announce:o,announcement:s}=Xge(),u=bf("DndLiveRegion"),[c,f]=E.useState(!1);if(E.useEffect(()=>{f(!0)},[]),Zge(E.useMemo(()=>({onDragStart(h){let{active:b}=h;o(t.onDragStart({active:b}))},onDragMove(h){let{active:b,over:y}=h;t.onDragMove&&o(t.onDragMove({active:b,over:y}))},onDragOver(h){let{active:b,over:y}=h;o(t.onDragOver({active:b,over:y}))},onDragEnd(h){let{active:b,over:y}=h;o(t.onDragEnd({active:b,over:y}))},onDragCancel(h){let{active:b,over:y}=h;o(t.onDragCancel({active:b,over:y}))}}),[o,t])),!c)return null;const p=Ce.createElement(Ce.Fragment,null,Ce.createElement(Wge,{id:r,value:a.draggable}),Ce.createElement(Kge,{id:u,announcement:s}));return n?Ca.createPortal(p,n):p}var Mn;(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"})(Mn||(Mn={}));function Ch(){}function IE(e,t){return E.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function nbe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return E.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Oa=Object.freeze({x:0,y:0});function iN(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function rbe(e,t){const n=wh(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function oN(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function abe(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function f1(e){let{left:t,top:n,height:r,width:a}=e;return[{x:t,y:n},{x:t+a,y:n},{x:t,y:n+r},{x:t+a,y:n+r}]}function ibe(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function nL(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}const obe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=nL(t,t.left,t.top),o=[];for(const s of r){const{id:u}=s,c=n.get(u);if(c){const f=iN(nL(c),a);o.push({id:u,data:{droppableContainer:s,value:f}})}}return o.sort(oN)},rL=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=f1(t),o=[];for(const s of r){const{id:u}=s,c=n.get(u);if(c){const f=f1(c),p=a.reduce((b,y,v)=>b+iN(f[v],y),0),h=Number((p/4).toFixed(4));o.push({id:u,data:{droppableContainer:s,value:h}})}}return o.sort(oN)};function sbe(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=a-r,u=o-n;if(r<a&&n<o){const c=t.width*t.height,f=e.width*e.height,p=s*u,h=p/(c+f-p);return Number(h.toFixed(4))}return 0}const MB=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=[];for(const o of r){const{id:s}=o,u=n.get(s);if(u){const c=sbe(u,t);c>0&&a.push({id:s,data:{droppableContainer:o,value:c}})}}return a.sort(abe)};function lbe(e,t){const{top:n,left:r,bottom:a,right:o}=t;return n<=e.y&&e.y<=a&&r<=e.x&&e.x<=o}const ube=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const a=[];for(const o of t){const{id:s}=o,u=n.get(s);if(u&&lbe(r,u)){const f=f1(u).reduce((h,b)=>h+iN(r,b),0),p=Number((f/4).toFixed(4));a.push({id:s,data:{droppableContainer:o,value:p}})}}return a.sort(oN)};function cbe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function FB(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Oa}function dbe(e){return function(n){for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++)a[o-1]=arguments[o];return a.reduce((s,u)=>({...s,top:s.top+e*u.y,bottom:s.bottom+e*u.y,left:s.left+e*u.x,right:s.right+e*u.x}),{...n})}}const fbe=dbe(1);function PB(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function pbe(e,t,n){const r=PB(t);if(!r)return e;const{scaleX:a,scaleY:o,x:s,y:u}=r,c=e.left-s-(1-a)*parseFloat(n),f=e.top-u-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),p=a?e.width/a:e.width,h=o?e.height/o:e.height;return{width:p,height:h,top:f,right:c+p,bottom:f+h,left:c}}const mbe={ignoreTransform:!1};function _u(e,t){t===void 0&&(t=mbe);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:f,transformOrigin:p}=Sr(e).getComputedStyle(e);f&&(n=pbe(n,f,p))}const{top:r,left:a,width:o,height:s,bottom:u,right:c}=n;return{top:r,left:a,width:o,height:s,bottom:u,right:c}}function aL(e){return _u(e,{ignoreTransform:!0})}function hbe(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function gbe(e,t){return t===void 0&&(t=Sr(e).getComputedStyle(e)),t.position==="fixed"}function bbe(e,t){t===void 0&&(t=Sr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const o=t[a];return typeof o=="string"?n.test(o):!1})}function sN(e,t){const n=[];function r(a){if(t!=null&&n.length>=t||!a)return n;if(aN(a)&&a.scrollingElement!=null&&!n.includes(a.scrollingElement))return n.push(a.scrollingElement),n;if(!hf(a)||IB(a)||n.includes(a))return n;const o=Sr(e).getComputedStyle(a);return a!==e&&bbe(a,o)&&n.push(a),gbe(a,o)?n:r(a.parentNode)}return e?r(e):n}function BB(e){const[t]=sN(e,1);return t??null}function OE(e){return!$g||!e?null:Au(e)?e:rN(e)?aN(e)||e===Nu(e).scrollingElement?window:hf(e)?e:null:null}function UB(e){return Au(e)?e.scrollX:e.scrollLeft}function jB(e){return Au(e)?e.scrollY:e.scrollTop}function p1(e){return{x:UB(e),y:jB(e)}}var $n;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})($n||($n={}));function HB(e){return!$g||!e?!1:e===document.scrollingElement}function zB(e){const t={x:0,y:0},n=HB(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},a=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,u=e.scrollLeft>=r.x;return{isTop:a,isLeft:o,isBottom:s,isRight:u,maxScroll:r,minScroll:t}}const ybe={x:.2,y:.2};function Ebe(e,t,n,r,a){let{top:o,left:s,right:u,bottom:c}=n;r===void 0&&(r=10),a===void 0&&(a=ybe);const{isTop:f,isBottom:p,isLeft:h,isRight:b}=zB(e),y={x:0,y:0},v={x:0,y:0},T={height:t.height*a.y,width:t.width*a.x};return!f&&o<=t.top+T.height?(y.y=$n.Backward,v.y=r*Math.abs((t.top+T.height-o)/T.height)):!p&&c>=t.bottom-T.height&&(y.y=$n.Forward,v.y=r*Math.abs((t.bottom-T.height-c)/T.height)),!b&&u>=t.right-T.width?(y.x=$n.Forward,v.x=r*Math.abs((t.right-T.width-u)/T.width)):!h&&s<=t.left+T.width&&(y.x=$n.Backward,v.x=r*Math.abs((t.left+T.width-s)/T.width)),{direction:y,speed:v}}function vbe(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:a}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:a,width:e.clientWidth,height:e.clientHeight}}function $B(e){return e.reduce((t,n)=>jl(t,p1(n)),Oa)}function xbe(e){return e.reduce((t,n)=>t+UB(n),0)}function Sbe(e){return e.reduce((t,n)=>t+jB(n),0)}function VB(e,t){if(t===void 0&&(t=_u),!e)return;const{top:n,left:r,bottom:a,right:o}=t(e);BB(e)&&(a<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Tbe=[["x",["left","right"],xbe],["y",["top","bottom"],Sbe]];class lN{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=sN(n),a=$B(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,u]of Tbe)for(const c of s)Object.defineProperty(this,c,{get:()=>{const f=u(r),p=a[o]-f;return this.rect[c]+p},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class nd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var a;(a=this.target)==null||a.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function wbe(e){const{EventTarget:t}=Sr(e);return e instanceof t?e:Nu(e)}function LE(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var la;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(la||(la={}));function iL(e){e.preventDefault()}function Cbe(e){e.stopPropagation()}var qt;(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"})(qt||(qt={}));const GB={start:[qt.Space,qt.Enter],cancel:[qt.Esc],end:[qt.Space,qt.Enter,qt.Tab]},Abe=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case qt.Right:return{...n,x:n.x+25};case qt.Left:return{...n,x:n.x-25};case qt.Down:return{...n,y:n.y+25};case qt.Up:return{...n,y:n.y-25}}};class uN{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new nd(Nu(n)),this.windowListeners=new nd(Sr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(la.Resize,this.handleCancel),this.windowListeners.add(la.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(la.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&VB(r),n(Oa)}handleKeyDown(t){if(Gg(t)){const{active:n,context:r,options:a}=this.props,{keyboardCodes:o=GB,coordinateGetter:s=Abe,scrollBehavior:u="smooth"}=a,{code:c}=t;if(o.end.includes(c)){this.handleEnd(t);return}if(o.cancel.includes(c)){this.handleCancel(t);return}const{collisionRect:f}=r.current,p=f?{x:f.left,y:f.top}:Oa;this.referenceCoordinates||(this.referenceCoordinates=p);const h=s(t,{active:n,context:r.current,currentCoordinates:p});if(h){const b=Th(h,p),y={x:0,y:0},{scrollableAncestors:v}=r.current;for(const T of v){const w=t.code,{isTop:A,isRight:N,isLeft:_,isBottom:I,maxScroll:D,minScroll:k}=zB(T),L=vbe(T),F={x:Math.min(w===qt.Right?L.right-L.width/2:L.right,Math.max(w===qt.Right?L.left:L.left+L.width/2,h.x)),y:Math.min(w===qt.Down?L.bottom-L.height/2:L.bottom,Math.max(w===qt.Down?L.top:L.top+L.height/2,h.y))},Y=w===qt.Right&&!N||w===qt.Left&&!_,P=w===qt.Down&&!I||w===qt.Up&&!A;if(Y&&F.x!==h.x){const M=T.scrollLeft+b.x,V=w===qt.Right&&M<=D.x||w===qt.Left&&M>=k.x;if(V&&!b.y){T.scrollTo({left:M,behavior:u});return}V?y.x=T.scrollLeft-M:y.x=w===qt.Right?T.scrollLeft-D.x:T.scrollLeft-k.x,y.x&&T.scrollBy({left:-y.x,behavior:u});break}else if(P&&F.y!==h.y){const M=T.scrollTop+b.y,V=w===qt.Down&&M<=D.y||w===qt.Up&&M>=k.y;if(V&&!b.x){T.scrollTo({top:M,behavior:u});return}V?y.y=T.scrollTop-M:y.y=w===qt.Down?T.scrollTop-D.y:T.scrollTop-k.y,y.y&&T.scrollBy({top:-y.y,behavior:u});break}}this.handleMove(t,jl(Th(h,this.referenceCoordinates),y))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}uN.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=GB,onActivation:a}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const u=o.activatorNode.current;return u&&e.target!==u?!1:(e.preventDefault(),a?.({event:e.nativeEvent}),!0)}return!1}}];function oL(e){return!!(e&&"distance"in e)}function sL(e){return!!(e&&"delay"in e)}class cN{constructor(t,n,r){var a;r===void 0&&(r=wbe(t.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=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Nu(s),this.documentListeners=new nd(this.document),this.listeners=new nd(r),this.windowListeners=new nd(Sr(s)),this.initialCoordinates=(a=wh(o))!=null?a:Oa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(la.Resize,this.handleCancel),this.windowListeners.add(la.DragStart,iL),this.windowListeners.add(la.VisibilityChange,this.handleCancel),this.windowListeners.add(la.ContextMenu,iL),this.documentListeners.add(la.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(sL(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(oL(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){const{active:r,onPending:a}=this.props;a(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(la.Click,Cbe,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(la.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:a,props:o}=this,{onMove:s,options:{activationConstraint:u}}=o;if(!a)return;const c=(n=wh(t))!=null?n:Oa,f=Th(a,c);if(!r&&u){if(oL(u)){if(u.tolerance!=null&&LE(f,u.tolerance))return this.handleCancel();if(LE(f,u.distance))return this.handleStart()}if(sL(u)&&LE(f,u.tolerance))return this.handleCancel();this.handlePending(u,f);return}t.cancelable&&t.preventDefault(),s(c)}handleEnd(){const{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){const{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Nbe={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class YB extends cN{constructor(t){const{event:n}=t,r=Nu(n.target);super(t,Nbe,r)}}YB.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];const _be={move:{name:"mousemove"},end:{name:"mouseup"}};var m1;(function(e){e[e.RightClick=2]="RightClick"})(m1||(m1={}));class qB extends cN{constructor(t){super(t,_be,Nu(t.event.target))}}qB.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===m1.RightClick?!1:(r?.({event:n}),!0)}}];const ME={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class WB extends cN{constructor(t){super(t,ME)}static setup(){return window.addEventListener(ME.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(ME.move.name,t)};function t(){}}}WB.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:a}=n;return a.length>1?!1:(r?.({event:n}),!0)}}];var rd;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(rd||(rd={}));var Ah;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Ah||(Ah={}));function Rbe(e){let{acceleration:t,activator:n=rd.Pointer,canScroll:r,draggingRect:a,enabled:o,interval:s=5,order:u=Ah.TreeOrder,pointerCoordinates:c,scrollableAncestors:f,scrollableAncestorRects:p,delta:h,threshold:b}=e;const y=Dbe({delta:h,disabled:!o}),[v,T]=$ge(),w=E.useRef({x:0,y:0}),A=E.useRef({x:0,y:0}),N=E.useMemo(()=>{switch(n){case rd.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case rd.DraggableRect:return a}},[n,a,c]),_=E.useRef(null),I=E.useCallback(()=>{const k=_.current;if(!k)return;const L=w.current.x*A.current.x,F=w.current.y*A.current.y;k.scrollBy(L,F)},[]),D=E.useMemo(()=>u===Ah.TreeOrder?[...f].reverse():f,[u,f]);E.useEffect(()=>{if(!o||!f.length||!N){T();return}for(const k of D){if(r?.(k)===!1)continue;const L=f.indexOf(k),F=p[L];if(!F)continue;const{direction:Y,speed:P}=Ebe(k,F,N,t,b);for(const M of["x","y"])y[M][Y[M]]||(P[M]=0,Y[M]=0);if(P.x>0||P.y>0){T(),_.current=k,v(I,s),w.current=P,A.current=Y;return}}w.current={x:0,y:0},A.current={x:0,y:0},T()},[t,I,r,T,o,s,JSON.stringify(N),JSON.stringify(y),v,f,D,p,JSON.stringify(b)])}const kbe={x:{[$n.Backward]:!1,[$n.Forward]:!1},y:{[$n.Backward]:!1,[$n.Forward]:!1}};function Dbe(e){let{delta:t,disabled:n}=e;const r=Sh(t);return gf(a=>{if(n||!r||!a)return kbe;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[$n.Backward]:a.x[$n.Backward]||o.x===-1,[$n.Forward]:a.x[$n.Forward]||o.x===1},y:{[$n.Backward]:a.y[$n.Backward]||o.y===-1,[$n.Forward]:a.y[$n.Forward]||o.y===1}}},[n,t,r])}function Ibe(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return gf(a=>{var o;return t==null?null:(o=r??a)!=null?o:null},[r,t])}function Obe(e,t){return E.useMemo(()=>e.reduce((n,r)=>{const{sensor:a}=r,o=a.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Dd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Dd||(Dd={}));var h1;(function(e){e.Optimized="optimized"})(h1||(h1={}));const lL=new Map;function Lbe(e,t){let{dragging:n,dependencies:r,config:a}=t;const[o,s]=E.useState(null),{frequency:u,measure:c,strategy:f}=a,p=E.useRef(e),h=w(),b=kd(h),y=E.useCallback(function(A){A===void 0&&(A=[]),!b.current&&s(N=>N===null?A:N.concat(A.filter(_=>!N.includes(_))))},[b]),v=E.useRef(null),T=gf(A=>{if(h&&!n)return lL;if(!A||A===lL||p.current!==e||o!=null){const N=new Map;for(let _ of e){if(!_)continue;if(o&&o.length>0&&!o.includes(_.id)&&_.rect.current){N.set(_.id,_.rect.current);continue}const I=_.node.current,D=I?new lN(c(I),I):null;_.rect.current=D,D&&N.set(_.id,D)}return N}return A},[e,o,n,h,c]);return E.useEffect(()=>{p.current=e},[e]),E.useEffect(()=>{h||y()},[n,h]),E.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),E.useEffect(()=>{h||typeof u!="number"||v.current!==null||(v.current=setTimeout(()=>{y(),v.current=null},u))},[u,h,y,...r]),{droppableRects:T,measureDroppableContainers:y,measuringScheduled:o!=null};function w(){switch(f){case Dd.Always:return!1;case Dd.BeforeDragging:return n;default:return!n}}}function dN(e,t){return gf(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function Mbe(e,t){return dN(e,t)}function Fbe(e){let{callback:t,disabled:n}=e;const r=Vg(t),a=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return E.useEffect(()=>()=>a?.disconnect(),[a]),a}function Yg(e){let{callback:t,disabled:n}=e;const r=Vg(t),a=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return E.useEffect(()=>()=>a?.disconnect(),[a]),a}function Pbe(e){return new lN(_u(e),e)}function uL(e,t,n){t===void 0&&(t=Pbe);const[r,a]=E.useState(null);function o(){a(c=>{if(!e)return null;if(e.isConnected===!1){var f;return(f=c??n)!=null?f:null}const p=t(e);return JSON.stringify(c)===JSON.stringify(p)?c:p})}const s=Fbe({callback(c){if(e)for(const f of c){const{type:p,target:h}=f;if(p==="childList"&&h instanceof HTMLElement&&h.contains(e)){o();break}}}}),u=Yg({callback:o});return Ia(()=>{o(),e?(u?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(u?.disconnect(),s?.disconnect())},[e]),r}function Bbe(e){const t=dN(e);return FB(e,t)}const cL=[];function Ube(e){const t=E.useRef(e),n=gf(r=>e?r&&r!==cL&&e&&t.current&&e.parentNode===t.current.parentNode?r:sN(e):cL,[e]);return E.useEffect(()=>{t.current=e},[e]),n}function jbe(e){const[t,n]=E.useState(null),r=E.useRef(e),a=E.useCallback(o=>{const s=OE(o.target);s&&n(u=>u?(u.set(s,p1(s)),new Map(u)):null)},[]);return E.useEffect(()=>{const o=r.current;if(e!==o){s(o);const u=e.map(c=>{const f=OE(c);return f?(f.addEventListener("scroll",a,{passive:!0}),[f,p1(f)]):null}).filter(c=>c!=null);n(u.length?new Map(u):null),r.current=e}return()=>{s(e),s(o)};function s(u){u.forEach(c=>{const f=OE(c);f?.removeEventListener("scroll",a)})}},[a,e]),E.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>jl(o,s),Oa):$B(e):Oa,[e,t])}function dL(e,t){t===void 0&&(t=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},t),E.useEffect(()=>{const r=e!==Oa;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?Th(e,n.current):Oa}function Hbe(e){E.useEffect(()=>{if(!$g)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n?.()}},e.map(t=>{let{sensor:n}=t;return n}))}function zbe(e,t){return E.useMemo(()=>e.reduce((n,r)=>{let{eventName:a,handler:o}=r;return n[a]=s=>{o(s,t)},n},{}),[e,t])}function KB(e){return E.useMemo(()=>e?hbe(e):null,[e])}const fL=[];function $be(e,t){t===void 0&&(t=_u);const[n]=e,r=KB(n?Sr(n):null),[a,o]=E.useState(fL);function s(){o(()=>e.length?e.map(c=>HB(c)?r:new lN(t(c),c)):fL)}const u=Yg({callback:s});return Ia(()=>{u?.disconnect(),s(),e.forEach(c=>u?.observe(c))},[e]),a}function XB(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return hf(t)?t:e}function Vbe(e){let{measure:t}=e;const[n,r]=E.useState(null),a=E.useCallback(f=>{for(const{target:p}of f)if(hf(p)){r(h=>{const b=t(p);return h?{...h,width:b.width,height:b.height}:b});break}},[t]),o=Yg({callback:a}),s=E.useCallback(f=>{const p=XB(f);o?.disconnect(),p&&o?.observe(p),r(p?t(p):null)},[t,o]),[u,c]=xh(s);return E.useMemo(()=>({nodeRef:u,rect:n,setRef:c}),[n,u,c])}const Gbe=[{sensor:YB,options:{}},{sensor:uN,options:{}}],Ybe={current:{}},Am={draggable:{measure:aL},droppable:{measure:aL,strategy:Dd.WhileDragging,frequency:h1.Optimized},dragOverlay:{measure:_u}};class ad extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const qbe={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ad,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Ch},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Am,measureDroppableContainers:Ch,windowRect:null,measuringScheduled:!1},ZB={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Ch,draggableNodes:new Map,over:null,measureDroppableContainers:Ch},yf=E.createContext(ZB),QB=E.createContext(qbe);function Wbe(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ad}}}function Kbe(e,t){switch(t.type){case Mn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Mn.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 Mn.DragEnd:case Mn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Mn.RegisterDroppable:{const{element:n}=t,{id:r}=n,a=new ad(e.droppable.containers);return a.set(r,n),{...e,droppable:{...e.droppable,containers:a}}}case Mn.SetDroppableDisabled:{const{id:n,key:r,disabled:a}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new ad(e.droppable.containers);return s.set(n,{...o,disabled:a}),{...e,droppable:{...e.droppable,containers:s}}}case Mn.UnregisterDroppable:{const{id:n,key:r}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const o=new ad(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Xbe(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=E.useContext(yf),o=Sh(r),s=Sh(n?.id);return E.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!Gg(o)||document.activeElement===o.target)return;const u=a.get(s);if(!u)return;const{activatorNode:c,node:f}=u;if(!c.current&&!f.current)return;requestAnimationFrame(()=>{for(const p of[c.current,f.current]){if(!p)continue;const h=Yge(p);if(h){h.focus();break}}})}},[r,t,a,s,o]),null}function JB(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((a,o)=>o({transform:a,...r}),n):n}function Zbe(e){return E.useMemo(()=>({draggable:{...Am.draggable,...e?.draggable},droppable:{...Am.droppable,...e?.droppable},dragOverlay:{...Am.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Qbe(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const o=E.useRef(!1),{x:s,y:u}=typeof a=="boolean"?{x:a,y:a}:a;Ia(()=>{if(!s&&!u||!t){o.current=!1;return}if(o.current||!r)return;const f=t?.node.current;if(!f||f.isConnected===!1)return;const p=n(f),h=FB(p,r);if(s||(h.x=0),u||(h.y=0),o.current=!0,Math.abs(h.x)>0||Math.abs(h.y)>0){const b=BB(f);b&&b.scrollBy({top:h.y,left:h.x})}},[t,s,u,r,n])}const qg=E.createContext({...Oa,scaleX:1,scaleY:1});var po;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(po||(po={}));const Jbe=E.memo(function(t){var n,r,a,o;let{id:s,accessibility:u,autoScroll:c=!0,children:f,sensors:p=Gbe,collisionDetection:h=MB,measuring:b,modifiers:y,...v}=t;const T=E.useReducer(Kbe,void 0,Wbe),[w,A]=T,[N,_]=Qge(),[I,D]=E.useState(po.Uninitialized),k=I===po.Initialized,{draggable:{active:L,nodes:F,translate:Y},droppable:{containers:P}}=w,M=L!=null?F.get(L):null,V=E.useRef({initial:null,translated:null}),Z=E.useMemo(()=>{var pt;return L!=null?{id:L,data:(pt=M?.data)!=null?pt:Ybe,rect:V}:null},[L,M]),ae=E.useRef(null),[se,q]=E.useState(null),[ne,ie]=E.useState(null),le=kd(v,Object.values(v)),H=bf("DndDescribedBy",s),K=E.useMemo(()=>P.getEnabled(),[P]),G=Zbe(b),{droppableRects:O,measureDroppableContainers:te,measuringScheduled:ue}=Lbe(K,{dragging:k,dependencies:[Y.x,Y.y],config:G.droppable}),$=Ibe(F,L),Q=E.useMemo(()=>ne?wh(ne):null,[ne]),J=it(),fe=Mbe($,G.draggable.measure);Qbe({activeNode:L!=null?F.get(L):null,config:J.layoutShiftCompensation,initialRect:fe,measure:G.draggable.measure});const xe=uL($,G.draggable.measure,fe),Ie=uL($?$.parentElement:null),Ee=E.useRef({activatorEvent:null,active:null,activeNode:$,collisionRect:null,collisions:null,droppableRects:O,draggableNodes:F,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Ke=P.getNodeFor((n=Ee.current.over)==null?void 0:n.id),Ze=Vbe({measure:G.dragOverlay.measure}),De=(r=Ze.nodeRef.current)!=null?r:$,mt=k?(a=Ze.rect)!=null?a:xe:null,Me=!!(Ze.nodeRef.current&&Ze.rect),ft=Bbe(Me?null:xe),Et=KB(De?Sr(De):null),ot=Ube(k?Ke??$:null),Kt=$be(ot),At=JB(y,{transform:{x:Y.x-ft.x,y:Y.y-ft.y,scaleX:1,scaleY:1},activatorEvent:ne,active:Z,activeNodeRect:xe,containerNodeRect:Ie,draggingNodeRect:mt,over:Ee.current.over,overlayNodeRect:Ze.rect,scrollableAncestors:ot,scrollableAncestorRects:Kt,windowRect:Et}),Te=Q?jl(Q,Y):null,Ye=jbe(ot),St=dL(Ye),B=dL(Ye,[xe]),z=jl(At,St),ee=mt?fbe(mt,At):null,de=Z&&ee?h({active:Z,collisionRect:ee,droppableRects:O,droppableContainers:K,pointerCoordinates:Te}):null,Ae=ibe(de,"id"),[Se,Le]=E.useState(null),Fe=Me?At:jl(At,B),Ue=cbe(Fe,(o=Se?.rect)!=null?o:null,xe),Ve=E.useRef(null),ge=E.useCallback((pt,ht)=>{let{sensor:ze,options:ct}=ht;if(ae.current==null)return;const Xe=F.get(ae.current);if(!Xe)return;const gt=pt.nativeEvent,Dt=new ze({active:ae.current,activeNode:Xe,event:gt,options:ct,context:Ee,onAbort(vt){if(!F.get(vt))return;const{onDragAbort:Ot}=le.current,Xt={id:vt};Ot?.(Xt),N({type:"onDragAbort",event:Xt})},onPending(vt,zt,Ot,Xt){if(!F.get(vt))return;const{onDragPending:pn}=le.current,Tn={id:vt,constraint:zt,initialCoordinates:Ot,offset:Xt};pn?.(Tn),N({type:"onDragPending",event:Tn})},onStart(vt){const zt=ae.current;if(zt==null)return;const Ot=F.get(zt);if(!Ot)return;const{onDragStart:Xt}=le.current,ir={activatorEvent:gt,active:{id:zt,data:Ot.data,rect:V}};Ca.unstable_batchedUpdates(()=>{Xt?.(ir),D(po.Initializing),A({type:Mn.DragStart,initialCoordinates:vt,active:zt}),N({type:"onDragStart",event:ir}),q(Ve.current),ie(gt)})},onMove(vt){A({type:Mn.DragMove,coordinates:vt})},onEnd:yt(Mn.DragEnd),onCancel:yt(Mn.DragCancel)});Ve.current=Dt;function yt(vt){return async function(){const{active:Ot,collisions:Xt,over:ir,scrollAdjustedTranslate:pn}=Ee.current;let Tn=null;if(Ot&&pn){const{cancelDrop:Xr}=le.current;Tn={activatorEvent:gt,active:Ot,collisions:Xt,delta:pn,over:ir},vt===Mn.DragEnd&&typeof Xr=="function"&&await Promise.resolve(Xr(Tn))&&(vt=Mn.DragCancel)}ae.current=null,Ca.unstable_batchedUpdates(()=>{A({type:vt}),D(po.Uninitialized),Le(null),q(null),ie(null),Ve.current=null;const Xr=vt===Mn.DragEnd?"onDragEnd":"onDragCancel";if(Tn){const Bn=le.current[Xr];Bn?.(Tn),N({type:Xr,event:Tn})}})}}},[F]),Be=E.useCallback((pt,ht)=>(ze,ct)=>{const Xe=ze.nativeEvent,gt=F.get(ct);if(ae.current!==null||!gt||Xe.dndKit||Xe.defaultPrevented)return;const Dt={active:gt};pt(ze,ht.options,Dt)===!0&&(Xe.dndKit={capturedBy:ht.sensor},ae.current=ct,ge(ze,ht))},[F,ge]),$e=Obe(p,Be);Hbe(p),Ia(()=>{xe&&I===po.Initializing&&D(po.Initialized)},[xe,I]),E.useEffect(()=>{const{onDragMove:pt}=le.current,{active:ht,activatorEvent:ze,collisions:ct,over:Xe}=Ee.current;if(!ht||!ze)return;const gt={active:ht,activatorEvent:ze,collisions:ct,delta:{x:z.x,y:z.y},over:Xe};Ca.unstable_batchedUpdates(()=>{pt?.(gt),N({type:"onDragMove",event:gt})})},[z.x,z.y]),E.useEffect(()=>{const{active:pt,activatorEvent:ht,collisions:ze,droppableContainers:ct,scrollAdjustedTranslate:Xe}=Ee.current;if(!pt||ae.current==null||!ht||!Xe)return;const{onDragOver:gt}=le.current,Dt=ct.get(Ae),yt=Dt&&Dt.rect.current?{id:Dt.id,rect:Dt.rect.current,data:Dt.data,disabled:Dt.disabled}:null,vt={active:pt,activatorEvent:ht,collisions:ze,delta:{x:Xe.x,y:Xe.y},over:yt};Ca.unstable_batchedUpdates(()=>{Le(yt),gt?.(vt),N({type:"onDragOver",event:vt})})},[Ae]),Ia(()=>{Ee.current={activatorEvent:ne,active:Z,activeNode:$,collisionRect:ee,collisions:de,droppableRects:O,draggableNodes:F,draggingNode:De,draggingNodeRect:mt,droppableContainers:P,over:Se,scrollableAncestors:ot,scrollAdjustedTranslate:z},V.current={initial:mt,translated:ee}},[Z,$,de,ee,F,De,mt,O,P,Se,ot,z]),Rbe({...J,delta:Y,draggingRect:ee,pointerCoordinates:Te,scrollableAncestors:ot,scrollableAncestorRects:Kt});const We=E.useMemo(()=>({active:Z,activeNode:$,activeNodeRect:xe,activatorEvent:ne,collisions:de,containerNodeRect:Ie,dragOverlay:Ze,draggableNodes:F,droppableContainers:P,droppableRects:O,over:Se,measureDroppableContainers:te,scrollableAncestors:ot,scrollableAncestorRects:Kt,measuringConfiguration:G,measuringScheduled:ue,windowRect:Et}),[Z,$,xe,ne,de,Ie,Ze,F,P,O,Se,te,ot,Kt,G,ue,Et]),Tt=E.useMemo(()=>({activatorEvent:ne,activators:$e,active:Z,activeNodeRect:xe,ariaDescribedById:{draggable:H},dispatch:A,draggableNodes:F,over:Se,measureDroppableContainers:te}),[ne,$e,Z,xe,A,H,F,Se,te]);return Ce.createElement(LB.Provider,{value:_},Ce.createElement(yf.Provider,{value:Tt},Ce.createElement(QB.Provider,{value:We},Ce.createElement(qg.Provider,{value:Ue},f)),Ce.createElement(Xbe,{disabled:u?.restoreFocus===!1})),Ce.createElement(tbe,{...u,hiddenTextDescribedById:H}));function it(){const pt=se?.autoScrollEnabled===!1,ht=typeof c=="object"?c.enabled===!1:c===!1,ze=k&&!pt&&!ht;return typeof c=="object"?{...c,enabled:ze}:{enabled:ze}}}),e0e=E.createContext(null),pL="button",t0e="Draggable";function n0e(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const o=bf(t0e),{activators:s,activatorEvent:u,active:c,activeNodeRect:f,ariaDescribedById:p,draggableNodes:h,over:b}=E.useContext(yf),{role:y=pL,roleDescription:v="draggable",tabIndex:T=0}=a??{},w=c?.id===t,A=E.useContext(w?qg:e0e),[N,_]=xh(),[I,D]=xh(),k=zbe(s,t),L=kd(n);Ia(()=>(h.set(t,{id:t,key:o,node:N,activatorNode:I,data:L}),()=>{const Y=h.get(t);Y&&Y.key===o&&h.delete(t)}),[h,t]);const F=E.useMemo(()=>({role:y,tabIndex:T,"aria-disabled":r,"aria-pressed":w&&y===pL?!0:void 0,"aria-roledescription":v,"aria-describedby":p.draggable}),[r,y,T,w,v,p.draggable]);return{active:c,activatorEvent:u,activeNodeRect:f,attributes:F,isDragging:w,listeners:r?void 0:k,node:N,over:b,setNodeRef:_,setActivatorNodeRef:D,transform:A}}function eU(){return E.useContext(QB)}const r0e="Droppable",a0e={timeout:25};function tU(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const o=bf(r0e),{active:s,dispatch:u,over:c,measureDroppableContainers:f}=E.useContext(yf),p=E.useRef({disabled:n}),h=E.useRef(!1),b=E.useRef(null),y=E.useRef(null),{disabled:v,updateMeasurementsFor:T,timeout:w}={...a0e,...a},A=kd(T??r),N=E.useCallback(()=>{if(!h.current){h.current=!0;return}y.current!=null&&clearTimeout(y.current),y.current=setTimeout(()=>{f(Array.isArray(A.current)?A.current:[A.current]),y.current=null},w)},[w]),_=Yg({callback:N,disabled:v||!s}),I=E.useCallback((F,Y)=>{_&&(Y&&(_.unobserve(Y),h.current=!1),F&&_.observe(F))},[_]),[D,k]=xh(I),L=kd(t);return E.useEffect(()=>{!_||!D.current||(_.disconnect(),h.current=!1,_.observe(D.current))},[D,_]),E.useEffect(()=>(u({type:Mn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:D,rect:b,data:L}}),()=>u({type:Mn.UnregisterDroppable,key:o,id:r})),[r]),E.useEffect(()=>{n!==p.current.disabled&&(u({type:Mn.SetDroppableDisabled,id:r,key:o,disabled:n}),p.current.disabled=n)},[r,o,n,u]),{active:s,rect:b,isOver:c?.id===r,node:D,over:c,setNodeRef:k}}function i0e(e){let{animation:t,children:n}=e;const[r,a]=E.useState(null),[o,s]=E.useState(null),u=Sh(n);return!n&&!r&&u&&a(u),Ia(()=>{if(!o)return;const c=r?.key,f=r?.props.id;if(c==null||f==null){a(null);return}Promise.resolve(t(f,o)).then(()=>{a(null)})},[t,r,o]),Ce.createElement(Ce.Fragment,null,n,r?E.cloneElement(r,{ref:s}):null)}const o0e={x:0,y:0,scaleX:1,scaleY:1};function s0e(e){let{children:t}=e;return Ce.createElement(yf.Provider,{value:ZB},Ce.createElement(qg.Provider,{value:o0e},t))}const l0e={position:"fixed",touchAction:"none"},u0e=e=>Gg(e)?"transform 250ms ease":void 0,c0e=E.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:a,children:o,className:s,rect:u,style:c,transform:f,transition:p=u0e}=e;if(!u)return null;const h=a?f:{...f,scaleX:1,scaleY:1},b={...l0e,width:u.width,height:u.height,top:u.top,left:u.left,transform:Ao.Transform.toString(h),transformOrigin:a&&r?rbe(r,u):void 0,transition:typeof p=="function"?p(r):p,...c};return Ce.createElement(n,{className:s,style:b,ref:t},o)}),d0e=e=>t=>{let{active:n,dragOverlay:r}=t;const a={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[u,c]of Object.entries(o.active))c!==void 0&&(a[u]=n.node.style.getPropertyValue(u),n.node.style.setProperty(u,c));if(o!=null&&o.dragOverlay)for(const[u,c]of Object.entries(o.dragOverlay))c!==void 0&&r.node.style.setProperty(u,c);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[c,f]of Object.entries(a))n.node.style.setProperty(c,f);s!=null&&s.active&&n.node.classList.remove(s.active)}},f0e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Ao.Transform.toString(t)},{transform:Ao.Transform.toString(n)}]},p0e={duration:250,easing:"ease",keyframes:f0e,sideEffects:d0e({styles:{active:{opacity:"0"}}})};function m0e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:a}=e;return Vg((o,s)=>{if(t===null)return;const u=n.get(o);if(!u)return;const c=u.node.current;if(!c)return;const f=XB(s);if(!f)return;const{transform:p}=Sr(s).getComputedStyle(s),h=PB(p);if(!h)return;const b=typeof t=="function"?t:h0e(t);return VB(c,a.draggable.measure),b({active:{id:o,data:u.data,node:c,rect:a.draggable.measure(c)},draggableNodes:n,dragOverlay:{node:s,rect:a.dragOverlay.measure(f)},droppableContainers:r,measuringConfiguration:a,transform:h})})}function h0e(e){const{duration:t,easing:n,sideEffects:r,keyframes:a}={...p0e,...e};return o=>{let{active:s,dragOverlay:u,transform:c,...f}=o;if(!t)return;const p={x:u.rect.left-s.rect.left,y:u.rect.top-s.rect.top},h={scaleX:c.scaleX!==1?s.rect.width*c.scaleX/u.rect.width:1,scaleY:c.scaleY!==1?s.rect.height*c.scaleY/u.rect.height:1},b={x:c.x-p.x,y:c.y-p.y,...h},y=a({...f,active:s,dragOverlay:u,transform:{initial:c,final:b}}),[v]=y,T=y[y.length-1];if(JSON.stringify(v)===JSON.stringify(T))return;const w=r?.({active:s,dragOverlay:u,...f}),A=u.node.animate(y,{duration:t,easing:n,fill:"forwards"});return new Promise(N=>{A.onfinish=()=>{w?.(),N()}})}}let mL=0;function g0e(e){return E.useMemo(()=>{if(e!=null)return mL++,mL},[e])}const b0e=Ce.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:a,transition:o,modifiers:s,wrapperElement:u="div",className:c,zIndex:f=999}=e;const{activatorEvent:p,active:h,activeNodeRect:b,containerNodeRect:y,draggableNodes:v,droppableContainers:T,dragOverlay:w,over:A,measuringConfiguration:N,scrollableAncestors:_,scrollableAncestorRects:I,windowRect:D}=eU(),k=E.useContext(qg),L=g0e(h?.id),F=JB(s,{activatorEvent:p,active:h,activeNodeRect:b,containerNodeRect:y,draggingNodeRect:w.rect,over:A,overlayNodeRect:w.rect,scrollableAncestors:_,scrollableAncestorRects:I,transform:k,windowRect:D}),Y=dN(b),P=m0e({config:r,draggableNodes:v,droppableContainers:T,measuringConfiguration:N}),M=Y?w.setRef:void 0;return Ce.createElement(s0e,null,Ce.createElement(i0e,{animation:P},h&&L?Ce.createElement(c0e,{key:L,id:h.id,ref:M,as:u,activatorEvent:p,adjustScale:t,className:c,transition:o,rect:Y,style:{zIndex:f,...a},transform:F},n):null))});function Nh(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function y0e(e,t){return e.reduce((n,r,a)=>{const o=t.get(r);return o&&(n[a]=o),n},Array(e.length))}function sm(e){return e!==null&&e>=0}function E0e(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 v0e(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const nU=e=>{let{rects:t,activeIndex:n,overIndex:r,index:a}=e;const o=Nh(t,r,n),s=t[a],u=o[a];return!u||!s?null:{x:u.left-s.left,y:u.top-s.top,scaleX:u.width/s.width,scaleY:u.height/s.height}},rU="Sortable",aU=Ce.createContext({activeIndex:-1,containerId:rU,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:nU,disabled:{draggable:!1,droppable:!1}});function x0e(e){let{children:t,id:n,items:r,strategy:a=nU,disabled:o=!1}=e;const{active:s,dragOverlay:u,droppableRects:c,over:f,measureDroppableContainers:p}=eU(),h=bf(rU,n),b=u.rect!==null,y=E.useMemo(()=>r.map(k=>typeof k=="object"&&"id"in k?k.id:k),[r]),v=s!=null,T=s?y.indexOf(s.id):-1,w=f?y.indexOf(f.id):-1,A=E.useRef(y),N=!E0e(y,A.current),_=w!==-1&&T===-1||N,I=v0e(o);Ia(()=>{N&&v&&p(y)},[N,y,v,p]),E.useEffect(()=>{A.current=y},[y]);const D=E.useMemo(()=>({activeIndex:T,containerId:h,disabled:I,disableTransforms:_,items:y,overIndex:w,useDragOverlay:b,sortedRects:y0e(y,c),strategy:a}),[T,h,I.draggable,I.droppable,_,y,w,c,b,a]);return Ce.createElement(aU.Provider,{value:D},t)}const S0e=e=>{let{id:t,items:n,activeIndex:r,overIndex:a}=e;return Nh(n,r,a).indexOf(t)},T0e=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:a,items:o,newIndex:s,previousItems:u,previousContainerId:c,transition:f}=e;return!f||!r||u!==o&&a===s?!1:n?!0:s!==a&&t===c},w0e={duration:200,easing:"ease"},iU="transform",C0e=Ao.Transition.toString({property:iU,duration:0,easing:"linear"}),A0e={roleDescription:"sortable"};function N0e(e){let{disabled:t,index:n,node:r,rect:a}=e;const[o,s]=E.useState(null),u=E.useRef(n);return Ia(()=>{if(!t&&n!==u.current&&r.current){const c=a.current;if(c){const f=_u(r.current,{ignoreTransform:!0}),p={x:c.left-f.left,y:c.top-f.top,scaleX:c.width/f.width,scaleY:c.height/f.height};(p.x||p.y)&&s(p)}}n!==u.current&&(u.current=n)},[t,n,r,a]),E.useEffect(()=>{o&&s(null)},[o]),o}function _0e(e){let{animateLayoutChanges:t=T0e,attributes:n,disabled:r,data:a,getNewIndex:o=S0e,id:s,strategy:u,resizeObserverConfig:c,transition:f=w0e}=e;const{items:p,containerId:h,activeIndex:b,disabled:y,disableTransforms:v,sortedRects:T,overIndex:w,useDragOverlay:A,strategy:N}=E.useContext(aU),_=R0e(r,y),I=p.indexOf(s),D=E.useMemo(()=>({sortable:{containerId:h,index:I,items:p},...a}),[h,a,I,p]),k=E.useMemo(()=>p.slice(p.indexOf(s)),[p,s]),{rect:L,node:F,isOver:Y,setNodeRef:P}=tU({id:s,data:D,disabled:_.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...c}}),{active:M,activatorEvent:V,activeNodeRect:Z,attributes:ae,setNodeRef:se,listeners:q,isDragging:ne,over:ie,setActivatorNodeRef:le,transform:H}=n0e({id:s,data:D,attributes:{...A0e,...n},disabled:_.draggable}),K=zge(P,se),G=!!M,O=G&&!v&&sm(b)&&sm(w),te=!A&&ne,ue=te&&O?H:null,Q=O?ue??(u??N)({rects:T,activeNodeRect:Z,activeIndex:b,overIndex:w,index:I}):null,J=sm(b)&&sm(w)?o({id:s,items:p,activeIndex:b,overIndex:w}):I,fe=M?.id,xe=E.useRef({activeId:fe,items:p,newIndex:J,containerId:h}),Ie=p!==xe.current.items,Ee=t({active:M,containerId:h,isDragging:ne,isSorting:G,id:s,index:I,items:p,newIndex:xe.current.newIndex,previousItems:xe.current.items,previousContainerId:xe.current.containerId,transition:f,wasDragging:xe.current.activeId!=null}),Ke=N0e({disabled:!Ee,index:I,node:F,rect:L});return E.useEffect(()=>{G&&xe.current.newIndex!==J&&(xe.current.newIndex=J),h!==xe.current.containerId&&(xe.current.containerId=h),p!==xe.current.items&&(xe.current.items=p)},[G,J,h,p]),E.useEffect(()=>{if(fe===xe.current.activeId)return;if(fe!=null&&xe.current.activeId==null){xe.current.activeId=fe;return}const De=setTimeout(()=>{xe.current.activeId=fe},50);return()=>clearTimeout(De)},[fe]),{active:M,activeIndex:b,attributes:ae,data:D,rect:L,index:I,newIndex:J,items:p,isOver:Y,isSorting:G,isDragging:ne,listeners:q,node:F,overIndex:w,over:ie,setNodeRef:K,setActivatorNodeRef:le,setDroppableNodeRef:P,setDraggableNodeRef:se,transform:Ke??Q,transition:Ze()};function Ze(){if(Ke||Ie&&xe.current.newIndex===I)return C0e;if(!(te&&!Gg(V)||!f)&&(G||Ee))return Ao.Transition.toString({...f,property:iU})}}function R0e(e,t){var n,r;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(n=e?.draggable)!=null?n:t.draggable,droppable:(r=e?.droppable)!=null?r:t.droppable}}qt.Down,qt.Right,qt.Up,qt.Left;const k0e={},hL=e=>{let t;const n=new Set,r=(p,h)=>{const b=typeof p=="function"?p(t):p;if(!Object.is(b,t)){const y=t;t=h??(typeof b!="object"||b===null)?b:Object.assign({},t,b),n.forEach(v=>v(t,y))}},a=()=>t,c={setState:r,getState:a,getInitialState:()=>f,subscribe:p=>(n.add(p),()=>n.delete(p)),destroy:()=>{(k0e?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},f=t=e(r,a,c);return c},D0e=e=>e?hL(e):hL;var FE={exports:{}},PE={},BE={exports:{}},UE={};var gL;function I0e(){if(gL)return UE;gL=1;var e=eu();function t(h,b){return h===b&&(h!==0||1/h===1/b)||h!==h&&b!==b}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(h,b){var y=b(),v=r({inst:{value:y,getSnapshot:b}}),T=v[0].inst,w=v[1];return o(function(){T.value=y,T.getSnapshot=b,c(T)&&w({inst:T})},[h,y,b]),a(function(){return c(T)&&w({inst:T}),h(function(){c(T)&&w({inst:T})})},[h]),s(y),y}function c(h){var b=h.getSnapshot;h=h.value;try{var y=b();return!n(h,y)}catch{return!0}}function f(h,b){return b()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return UE.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,UE}var bL;function O0e(){return bL||(bL=1,BE.exports=I0e()),BE.exports}var yL;function L0e(){if(yL)return PE;yL=1;var e=eu(),t=O0e();function n(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var r=typeof Object.is=="function"?Object.is:n,a=t.useSyncExternalStore,o=e.useRef,s=e.useEffect,u=e.useMemo,c=e.useDebugValue;return PE.useSyncExternalStoreWithSelector=function(f,p,h,b,y){var v=o(null);if(v.current===null){var T={hasValue:!1,value:null};v.current=T}else T=v.current;v=u(function(){function A(k){if(!N){if(N=!0,_=k,k=b(k),y!==void 0&&T.hasValue){var L=T.value;if(y(L,k))return I=L}return I=k}if(L=I,r(_,k))return L;var F=b(k);return y!==void 0&&y(L,F)?(_=k,L):(_=k,I=F)}var N=!1,_,I,D=h===void 0?null:h;return[function(){return A(p())},D===null?void 0:function(){return A(D())}]},[p,h,b,y]);var w=a(f,v[0],v[1]);return s(function(){T.hasValue=!0,T.value=w},[w]),c(w),w},PE}var EL;function M0e(){return EL||(EL=1,FE.exports=L0e()),FE.exports}var F0e=M0e();const P0e=_o(F0e),oU={},{useDebugValue:B0e}=Ce,{useSyncExternalStoreWithSelector:U0e}=P0e;let vL=!1;const j0e=e=>e;function H0e(e,t=j0e,n){(oU?"production":void 0)!=="production"&&n&&!vL&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),vL=!0);const r=U0e(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return B0e(r),r}const xL=e=>{(oU?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?D0e(e):e,n=(r,a)=>H0e(t,r,a);return Object.assign(n,t),n},z0e=e=>e?xL(e):xL;var SL,TL;const wL=typeof window<"u"&&((SL=window.document)!=null&&SL.createElement||((TL=window.navigator)==null?void 0:TL.product)==="ReactNative")?Ce.useLayoutEffect:Ce.useEffect;function $0e(){const e=z0e(t=>({current:new Array,version:0,set:t}));return{In:({children:t})=>{const n=e(a=>a.set),r=e(a=>a.version);return wL(()=>{n(a=>({version:a.version+1}))},[]),wL(()=>(n(({current:a})=>({current:[...a,t]})),()=>n(({current:a})=>({current:a.filter(o=>o!==t)}))),[t,r]),null},Out:()=>{const t=e(n=>n.current);return Ce.createElement(Ce.Fragment,null,t)}}}const jE=768;function Wg(){const[e,t]=E.useState(void 0);return E.useEffect(()=>{const n=window.matchMedia(`(max-width: ${jE-1}px)`),r=()=>{t(window.innerWidth<jE)};return n.addEventListener("change",r),t(window.innerWidth<jE),()=>n.removeEventListener("change",r)},[]),!!e}const sU=$0e(),fN=E.createContext({columns:[],data:[],activeCardId:null}),V0e=({id:e,children:t,className:n})=>{const{isOver:r,setNodeRef:a}=tU({id:e});return m.jsx("div",{className:Ne("flex min-h-40 flex-col divide-y overflow-hidden rounded-md border bg-secondary text-xs shadow-sm ring-2 transition-all shrink-0",r?"ring-primary":"ring-transparent",n),ref:a,children:t})},G0e=({id:e,name:t,children:n,className:r})=>{const{attributes:a,listeners:o,setNodeRef:s,transition:u,transform:c,isDragging:f}=_0e({id:e}),{activeCardId:p}=E.useContext(fN),h={transition:u,transform:Ao.Transform.toString(c)};return m.jsxs(m.Fragment,{children:[m.jsx("div",{style:h,...o,...a,ref:s,children:m.jsx(ms,{className:Ne("cursor-grab gap-4 rounded-md p-3 shadow-sm",f&&"pointer-events-none cursor-grabbing opacity-30",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})}),p===e&&m.jsx(sU.In,{children:m.jsx(ms,{className:Ne("cursor-grab gap-4 rounded-md p-3 shadow-sm ring-2 ring-primary",f&&"cursor-grabbing",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})})]})},Y0e=({children:e,className:t,...n})=>{const{data:r}=E.useContext(fN),a=r.filter(s=>s.column===n.id),o=a.map(s=>s.id);return m.jsxs(Er,{className:"overflow-hidden flex-1",children:[m.jsx(x0e,{items:o,children:m.jsx("div",{className:Ne("flex flex-grow flex-col gap-2 p-2",t),...n,children:a.map(e)})}),m.jsx(Kh,{orientation:"vertical"})]})},q0e=({className:e,...t})=>m.jsx("div",{className:Ne("m-0 p-2 font-semibold text-sm",e),...t}),W0e=e=>t=>{const{droppableRects:n,droppableContainers:r,pointerCoordinates:a}=t,o=v=>!e.includes(v),s=v=>e.includes(v),u=ube(t),c=u.filter(v=>o(v.id)),f=u.filter(v=>s(v.id));if(c.length>0){const T=rL(t).filter(w=>o(w.id));return T.length>0?[T[0]]:[c[0]]}if(f.length>0)return[f[0]];const p=MB(t),h=p.filter(v=>o(v.id)),b=p.filter(v=>s(v.id));if(h.length>0){const T=obe(t).filter(w=>o(w.id));return T.length>0?[T[0]]:[h[0]]}if(b.length>0)return[b[0]];if(a){let v=null;for(const T of e){const w=n.get(T);if(!w)continue;const A=w.left+w.width/2,N=w.top+w.height/2,_=Math.sqrt(Math.pow(a.x-A,2)+Math.pow(a.y-N,2)),I={left:w.left-150,right:w.right+150,top:w.top-50,bottom:w.bottom+50};a.x>=I.left&&a.x<=I.right&&a.y>=I.top&&a.y<=I.bottom&&(!v||_<v.distance)&&(v={id:T,distance:_})}if(v)return[{id:v.id}]}const y=rL(t);if(y.length>0){const v=y.find(T=>s(T.id));return v?[v]:[y[0]]}return[]},K0e=({children:e,onDragStart:t,onDragEnd:n,onDragOver:r,className:a,columns:o,data:s,onDataChange:u,...c})=>{const[f,p]=E.useState(null),h=Wg(),b=E.useMemo(()=>o.map(_=>_.id),[o]),y=E.useMemo(()=>W0e(b),[b]),v=nbe(IE(qB,{activationConstraint:{distance:8}}),IE(WB,{activationConstraint:{delay:150,tolerance:8}}),IE(uN)),T=_=>{s.find(D=>D.id===_.active.id)&&p(_.active.id),t?.(_)},w=_=>{const{active:I,over:D}=_;if(!D)return;const k=s.find(M=>M.id===I.id),L=s.find(M=>M.id===D.id);if(!k)return;const F=k.column,P=o.some(M=>M.id===D.id)?D.id:L?.column||F;if(F!==P){let M=[...s];const V=M.findIndex(Z=>Z.id===I.id);if(M[V]={...M[V],column:P},L){const Z=M.findIndex(ae=>ae.id===D.id);M=Nh(M,V,Z)}u?.(M)}r?.(_)},A=_=>{p(null),n?.(_);const{active:I,over:D}=_;if(!D||I.id===D.id)return;if(o.some(P=>P.id===D.id)){const P=s.find(M=>M.id===I.id);if(P&&P.column!==D.id){let M=[...s];const V=M.findIndex(Z=>Z.id===I.id);M[V]={...M[V],column:D.id},u?.(M)}return}let L=[...s];const F=L.findIndex(P=>P.id===I.id),Y=L.findIndex(P=>P.id===D.id);F!==-1&&Y!==-1&&(L=Nh(L,F,Y),u?.(L))},N={onDragStart({active:_}){const{name:I,column:D}=s.find(k=>k.id===_.id)??{};return`Picked up the card "${I}" from the "${D}" column`},onDragOver({active:_,over:I}){const{name:D}=s.find(L=>L.id===_.id)??{},k=o.find(L=>L.id===I?.id)?.name;return`Dragged the card "${D}" over the "${k}" column`},onDragEnd({active:_,over:I}){const{name:D}=s.find(L=>L.id===_.id)??{},k=o.find(L=>L.id===I?.id)?.name;return`Dropped the card "${D}" into the "${k}" column`},onDragCancel({active:_}){const{name:I}=s.find(D=>D.id===_.id)??{};return`Cancelled dragging the card "${I}"`}};return m.jsx(fN.Provider,{value:{columns:o,data:s,activeCardId:f},children:m.jsxs(Jbe,{accessibility:{announcements:N},collisionDetection:y,onDragEnd:A,onDragOver:w,onDragStart:T,sensors:v,...c,children:[m.jsx("div",{className:Ne("flex gap-4",h&&"flex-col",a),children:o.map(_=>e(_))}),typeof window<"u"&&Ca.createPortal(m.jsx(b0e,{children:m.jsx(sU.Out,{})}),document.body)]})})},pN={todo:"gray","in-progress":"blue","in-review":"purple",done:"green",blocked:"red","on-hold":"yellow",urgent:"orange"},CL={gray:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",red:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",orange:"bg-orange-100 text-orange-700 dark:bg-orange-900/50 dark:text-orange-300",yellow:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",green:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",blue:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-900/50 dark:text-purple-300",pink:"bg-pink-100 text-pink-700 dark:bg-pink-900/50 dark:text-pink-300",indigo:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",teal:"bg-teal-100 text-teal-700 dark:bg-teal-900/50 dark:text-teal-300",cyan:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300"};function X0e(e,t=pN){const n=t[e]||"gray";return CL[n]||CL.gray}const AL={gray:{bg:"bg-gray-50 dark:bg-gray-800",border:"border-gray-200 dark:border-gray-700"},red:{bg:"bg-red-50 dark:bg-red-900/30",border:"border-red-200 dark:border-red-800"},orange:{bg:"bg-orange-50 dark:bg-orange-900/30",border:"border-orange-200 dark:border-orange-800"},yellow:{bg:"bg-yellow-50 dark:bg-yellow-900/30",border:"border-yellow-200 dark:border-yellow-800"},green:{bg:"bg-green-50 dark:bg-green-900/30",border:"border-green-200 dark:border-green-800"},blue:{bg:"bg-blue-50 dark:bg-blue-900/30",border:"border-blue-200 dark:border-blue-800"},purple:{bg:"bg-purple-50 dark:bg-purple-900/30",border:"border-purple-200 dark:border-purple-800"},pink:{bg:"bg-pink-50 dark:bg-pink-900/30",border:"border-pink-200 dark:border-pink-800"},indigo:{bg:"bg-indigo-50 dark:bg-indigo-900/30",border:"border-indigo-200 dark:border-indigo-800"},teal:{bg:"bg-teal-50 dark:bg-teal-900/30",border:"border-teal-200 dark:border-teal-800"},cyan:{bg:"bg-cyan-50 dark:bg-cyan-900/30",border:"border-cyan-200 dark:border-cyan-800"}};function Z0e(e,t=pN){const n=t[e]||"gray";return AL[n]||AL.gray}const NL={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function Uc(e){return NL[e]?NL[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Q0e({tasks:e,loading:t,onTasksUpdate:n}){const{config:r,updateConfig:a}=Ih(),[o,s]=E.useState(new Set),[u,c]=E.useState(!1),f=Wg(),p=r?.statuses||["todo","in-progress","in-review","done","blocked"],h=r?.statusColors||pN,b=E.useMemo(()=>p.filter(P=>o.has(P)).map(P=>({id:P,name:Uc(P),color:h[P]||"gray"})),[p,o,h]),y={high:0,medium:1,low:2},v=E.useMemo(()=>[...e].sort((M,V)=>{const Z=y[M.priority]??2,ae=y[V.priority]??2;return Z!==ae?Z-ae:new Date(V.updatedAt).getTime()-new Date(M.updatedAt).getTime()}).map(M=>({id:M.id,name:M.title,column:M.status,task:M})),[e]),T=()=>{const M=window.location.hash.slice(1).match(/^\/kanban\/([^?]+)/);if(!M)return null;const V=M[1];return e.find(Z=>Z.id===V)||null},[w,A]=E.useState(T());E.useEffect(()=>{const P=()=>{A(T())};return A(T()),window.addEventListener("hashchange",P),()=>window.removeEventListener("hashchange",P)},[e]),E.useEffect(()=>{r?.visibleColumns?s(new Set(r.visibleColumns)):s(new Set(p))},[r?.visibleColumns,p.join(",")]);const N=async P=>{try{await a({visibleColumns:[...P]})}catch(M){console.error("Failed to save config:",M)}},_=P=>{s(M=>{const V=new Set(M);return V.has(P)?V.delete(P):V.add(P),N(V),V})},I=async P=>{const M=P.filter(Z=>{const ae=e.find(se=>se.id===Z.id);return ae&&ae.status!==Z.column}),V=e.map(Z=>{const ae=P.find(se=>se.id===Z.id);return ae&&ae.column!==Z.status?{...Z,status:ae.column}:Z});n(V);for(const Z of M)try{await Na.updateTask(Z.id,{status:Z.column}),_i.success("Status updated",{description:`#${Z.id} moved to ${Uc(Z.column)}`})}catch(ae){console.error("Failed to update task:",ae),_i.error("Failed to update status",{description:ae instanceof Error?ae.message:"Unknown error"}),Na.getTasks().then(n).catch(console.error);break}};if(t)return m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-primary"}),m.jsx("p",{className:"mt-2 text-muted-foreground",children:"Loading tasks..."})]})});const D=P=>{window.location.hash=`/kanban/${P.id}`},k=()=>{window.location.hash="/"},L=P=>{n(e.map(M=>M.id===P.id?P:M))},F=P=>{window.location.hash=`/kanban/${P}`},Y=async P=>{try{await Na.archiveTask(P),n(e.filter(M=>M.id!==P)),k()}catch(M){console.error("Failed to archive task:",M)}};return m.jsxs("div",{className:"flex flex-col h-full",children:[f?m.jsxs(AB,{open:u,onOpenChange:c,className:"shrink-0 bg-card rounded-lg mb-4 border border-border",children:[m.jsxs(NB,{className:"flex items-center justify-between w-full p-3",children:[m.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["Show Columns (",o.size,"/",p.length,")"]}),u?m.jsx(zL,{className:"w-4 h-4 text-muted-foreground"}):m.jsx(vo,{className:"w-4 h-4 text-muted-foreground"})]}),m.jsx(_B,{children:m.jsx("div",{className:"flex flex-wrap gap-2 px-3 pb-3",children:p.map(P=>{const M=o.has(P),V=e.filter(Z=>Z.status===P).length;return m.jsxs("button",{type:"button",onClick:()=>_(P),className:Ne("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg transition-colors text-xs",M?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[M?m.jsx(Ik,{className:"w-3.5 h-3.5"}):m.jsx(QE,{className:"w-3.5 h-3.5"}),m.jsxs("span",{className:"font-medium",children:[Uc(P)," (",V,")"]})]},P)})})})]}):m.jsx("div",{className:"shrink-0 bg-card rounded-lg p-4 mb-4 border border-border",children:m.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[m.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Show Columns:"}),p.map(P=>{const M=o.has(P),V=e.filter(Z=>Z.status===P).length;return m.jsxs("button",{type:"button",onClick:()=>_(P),className:Ne("flex items-center gap-2 px-3 py-1.5 rounded-lg transition-colors",M?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[M?m.jsx(Ik,{className:"w-4 h-4"}):m.jsx(QE,{className:"w-4 h-4"}),m.jsxs("span",{className:"text-sm font-medium",children:[Uc(P)," (",V,")"]})]},P)})]})}),m.jsxs(Er,{className:"flex-1",children:[o.size>0?m.jsx(K0e,{columns:b,data:v,onDataChange:I,className:"min-h-full pb-4",children:P=>{const M=Z0e(P.id,h),V=v.filter(Z=>Z.column===P.id).length;return m.jsxs(V0e,{id:P.id,className:Ne("min-w-[320px] max-w-[380px]",f&&"min-w-0 max-w-none w-full",M.bg,M.border),children:[m.jsxs(q0e,{className:"flex items-center justify-between",children:[m.jsx("span",{className:"font-bold text-sm uppercase tracking-wide text-foreground",children:P.name}),m.jsx("span",{className:"text-xs rounded-full px-2 py-1 font-medium text-muted-foreground bg-background",children:V})]}),m.jsx(Y0e,{id:P.id,children:Z=>m.jsx(J0e,{item:Z,statusColors:h,onClick:()=>D(Z.task)},Z.id)})]},P.id)}}):m.jsx("div",{className:"text-center py-12",children:m.jsx("p",{className:"text-lg text-muted-foreground",children:"No columns visible. Please select at least one column to display."})}),m.jsx(Kh,{orientation:"horizontal"})]}),m.jsx(DB,{task:w,allTasks:e,onClose:k,onUpdate:L,onArchive:Y,onNavigateToTask:F})]})}function J0e({item:e,statusColors:t,onClick:n}){const{task:r}=e,a=X0e(r.status,t),o=r.acceptanceCriteria.filter(u=>u.completed).length,s=r.acceptanceCriteria.length;return m.jsx(G0e,{id:e.id,name:e.name,column:e.column,className:"w-full",children:m.jsxs("div",{onClick:n,onKeyDown:u=>u.key==="Enter"&&n(),role:"button",tabIndex:0,className:"cursor-pointer",children:[m.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[m.jsxs("span",{className:"text-xs font-mono shrink-0 text-muted-foreground",children:["#",r.id]}),m.jsxs("div",{className:"flex items-center gap-1 flex-wrap justify-end",children:[m.jsx("span",{className:Ne("text-xs px-1.5 py-0.5 rounded font-medium",a),children:Uc(r.status)}),r.priority==="high"&&m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded font-medium bg-destructive/10 text-destructive dark:bg-destructive/20",children:"HIGH"}),r.priority==="medium"&&m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded font-medium bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400",children:"MED"})]})]}),m.jsx("h3",{className:"font-medium text-sm mb-2 line-clamp-2 text-foreground",children:r.title}),s>0&&m.jsxs("div",{className:"flex items-center gap-2 text-xs mb-2 text-muted-foreground",children:[m.jsx(VL,{className:"w-3 h-3","aria-hidden":"true"}),m.jsxs("span",{children:[o,"/",s]})]}),r.labels.length>0&&m.jsx("div",{className:"flex flex-wrap gap-1 mb-2",children:r.labels.map(u=>m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-secondary text-secondary-foreground",children:u},u))}),r.assignee&&m.jsxs("div",{className:"flex items-center gap-1.5 text-xs mt-2 text-muted-foreground",children:[m.jsx(Rd,{name:r.assignee,size:"sm"}),m.jsx("span",{children:r.assignee})]})]})})}const _L=[{value:"todo",label:"To Do"},{value:"in-progress",label:"In Progress"},{value:"in-review",label:"In Review"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],RL=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}],kL={todo:"bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300","in-progress":"bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300","in-review":"bg-purple-100 dark:bg-purple-900 text-purple-700 dark:text-purple-300",done:"bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300",blocked:"bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300"},DL={low:"bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-400",medium:"bg-amber-100 dark:bg-amber-900 text-amber-700 dark:text-amber-300",high:"bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300"};function eye({isOpen:e,allTasks:t,onClose:n,onCreated:r}){const{currentUser:a}=U6(),o=E.useRef(null),s=E.useRef(null),[u,c]=E.useState(""),[f,p]=E.useState(""),[h,b]=E.useState("todo"),[y,v]=E.useState("medium"),[T,w]=E.useState(""),[A,N]=E.useState([]),[_,I]=E.useState(""),[D,k]=E.useState([]),[L,F]=E.useState(""),[Y,P]=E.useState(""),[M,V]=E.useState(!1),[Z,ae]=E.useState(null),[se,q]=E.useState(!1),[ne,ie]=E.useState(""),[le,H]=E.useState(!1),[K,G]=E.useState(""),[O,te]=E.useState(!1),[ue,$]=E.useState(!1),{preferences:Q,toggleTaskCreateLayout:J}=z6(),fe=Q.taskCreateLayout==="maximized",xe=E.useRef(null),Ie={hidden:{opacity:0,y:20,scale:.98},visible:{opacity:1,y:0,scale:1,transition:{duration:.2,ease:"easeOut"}},exit:{opacity:0,y:10,scale:.98,transition:{duration:.15,ease:"easeIn"}}};E.useEffect(()=>{e||(c(""),p(""),b("todo"),v("medium"),w(""),N([]),I(""),k([]),F(""),P(""),ae(null),q(!1),ie(""),H(!1),G(""),te(!1),$(!1))},[e]),E.useEffect(()=>{e&&setTimeout(()=>o.current?.focus(),100)},[e,fe]),E.useEffect(()=>{le&&xe.current&&xe.current.focus()},[le]);const Ee=E.useCallback(()=>{ne.trim()&&(k(Te=>[...Te,{id:crypto.randomUUID(),text:ne.trim()}]),ie(""),H(!1))},[ne]),Ke=E.useCallback(Te=>{k(Ye=>Ye.filter(St=>St.id!==Te))},[]),Ze=E.useCallback(()=>{K.trim()&&(A.includes(K.trim())||N(Te=>[...Te,K.trim()]),G(""),te(!1))},[K,A]),De=E.useCallback(Te=>{N(Ye=>Ye.filter(St=>St!==Te))},[]),mt=async Te=>{if(Te.preventDefault(),ae(null),!u.trim()){ae("Title is required");return}V(!0);try{const Ye={title:u.trim(),description:f.trim()||void 0,status:h,priority:y,labels:A,assignee:T.trim()||void 0,parent:_||void 0,acceptanceCriteria:D.map(St=>({text:St.text,completed:!1})),implementationPlan:L.trim()||void 0,implementationNotes:Y.trim()||void 0};await bH(Ye),q(!0),_i.success("Task created successfully",{description:u.trim()}),setTimeout(()=>{r(),n()},800)}catch(Ye){const St=Ye instanceof Error?Ye.message:"Failed to create task";ae(St),_i.error("Failed to create task",{description:St})}finally{V(!1)}},Me=_?t.find(Te=>Te.id===_):null,ft=m.jsxs("div",{className:"flex items-center justify-between gap-2 p-4 border-b bg-green-700",children:[m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("span",{className:"text-green-100 text-xs font-medium uppercase tracking-wide",children:"New Task"}),m.jsx("input",{ref:o,type:"text",value:u,onChange:Te=>c(Te.target.value),placeholder:"Enter task title...",className:"w-full text-lg font-semibold bg-white/20 text-white placeholder-white/60 border-0 rounded px-2 py-1 mt-1 focus:outline-none focus:ring-2 focus:ring-white/50",disabled:M})]}),m.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[m.jsx(Ge,{variant:"ghost",size:"icon",onClick:J,className:"h-8 w-8 text-foreground hover:text-foreground",title:fe?"Minimize":"Maximize",children:fe?m.jsx(WL,{className:"w-4 h-4"}):m.jsx(qL,{className:"w-4 h-4"})}),m.jsx(Ge,{variant:"ghost",size:"icon",onClick:n,className:"h-8 w-8 text-foreground hover:text-foreground",title:"Close",children:m.jsx(Yr,{className:"w-4 h-4"})})]})]}),Et=(se||Z)&&m.jsxs("div",{className:"px-4 pt-4",children:[se&&m.jsx("div",{className:"bg-green-50 dark:bg-green-900/50 border border-green-200 dark:border-green-700 text-green-700 dark:text-green-300 px-4 py-2 rounded-lg text-sm",children:"Task created successfully!"}),Z&&m.jsx("div",{className:"bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 text-red-700 dark:text-red-300 px-4 py-2 rounded-lg text-sm",children:Z})]}),ot=m.jsxs("div",{className:"p-6 space-y-6",children:[m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(ZL,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Description"})]}),m.jsx(bo,{markdown:f,onChange:p,placeholder:"Add a more detailed description...",readOnly:M})]}),m.jsxs("section",{children:[m.jsx("div",{className:"flex items-center justify-between mb-3",children:m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(kh,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Acceptance Criteria"}),D.length>0&&m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",D.length,")"]})]})}),m.jsx("div",{className:"space-y-2",children:D.map(Te=>m.jsxs("div",{className:"flex items-start gap-2 bg-muted/50 rounded-lg px-3 py-2 group hover:shadow-sm transition-shadow",children:[m.jsx("input",{type:"checkbox",checked:!1,disabled:!0,className:"mt-1 w-4 h-4 rounded cursor-not-allowed opacity-50"}),m.jsx("span",{className:"flex-1 text-sm",children:Te.text}),m.jsx("button",{type:"button",onClick:()=>Ke(Te.id),className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500 p-1 transition-all",title:"Delete",children:m.jsx($l,{className:"w-4 h-4"})})]},Te.id))}),le?m.jsxs("div",{className:"mt-2 bg-muted/50 rounded-lg px-3 py-2",children:[m.jsx("input",{ref:xe,type:"text",value:ne,onChange:Te=>ie(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&ne.trim()&&(Te.preventDefault(),Ee()),Te.key==="Escape"&&(ie(""),H(!1))},placeholder:"Add an item...",className:"w-full border border-input rounded px-2 py-1.5 text-sm bg-background focus:outline-none focus:ring-2 focus:ring-green-500",disabled:M}),m.jsxs("div",{className:"flex gap-2 mt-2",children:[m.jsx(Ge,{type:"button",size:"sm",onClick:Ee,disabled:!ne.trim()||M,className:"bg-green-700 hover:bg-green-800 text-white",children:"Add"}),m.jsx(Ge,{type:"button",variant:"ghost",size:"sm",onClick:()=>{ie(""),H(!1)},children:"Cancel"})]})]}):m.jsxs("button",{type:"button",onClick:()=>H(!0),className:"mt-2 flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground hover:bg-muted px-3 py-2 rounded-lg transition-colors w-full",disabled:M,children:[m.jsx(pa,{className:"w-4 h-4"}),m.jsx("span",{children:"Add an item"})]})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(Xa,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Implementation Plan"}),m.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),m.jsx(bo,{markdown:L,onChange:F,placeholder:"Describe how you plan to implement this task...",readOnly:M})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(o$,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Implementation Notes"}),m.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),m.jsx(bo,{markdown:Y,onChange:P,placeholder:"Add notes, observations, or any other relevant information...",readOnly:M})]})]}),Kt=m.jsxs("div",{className:"p-4 space-y-6",children:[m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(br,{value:h,onValueChange:Te=>b(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full",kL[h]),children:m.jsx(yr,{})}),m.jsx(dr,{children:_L.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(br,{value:y,onValueChange:Te=>v(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full",DL[y]),children:m.jsx(yr,{})}),m.jsx(dr,{children:RL.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(yh,{value:T,onChange:w,showGrabButton:!1,currentUser:a,container:s.current})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Labels"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:A.map(Te=>m.jsxs(ql,{variant:"secondary",className:"gap-1 pr-1",children:[Te,m.jsx("button",{type:"button",onClick:()=>De(Te),className:"ml-1 hover:text-destructive",children:m.jsx(Yr,{className:"w-3 h-3"})})]},Te))}),O?m.jsxs("div",{className:"space-y-2",children:[m.jsx(Fn,{value:K,onChange:Te=>G(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&K.trim()&&(Te.preventDefault(),Ze()),Te.key==="Escape"&&(G(""),te(!1))},placeholder:"Label name",disabled:M,autoFocus:!0}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx(Ge,{size:"sm",onClick:Ze,disabled:!K.trim()||M,children:"Add"}),m.jsx(Ge,{size:"sm",variant:"ghost",onClick:()=>{G(""),te(!1)},children:"Cancel"})]})]}):m.jsxs(Ge,{variant:"ghost",size:"sm",className:"w-full justify-start text-muted-foreground",onClick:()=>te(!0),disabled:M,children:[m.jsx(pa,{className:"w-4 h-4 mr-2"}),"Add label"]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Parent Task"}),m.jsxs(hh,{open:ue,onOpenChange:$,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"outline",role:"combobox","aria-expanded":ue,className:"w-full justify-between h-auto min-h-10 py-2",disabled:M,title:Me?`#${Me.id} - ${Me.title}`:void 0,children:[Me?m.jsxs("div",{className:"flex items-center gap-2 text-left overflow-hidden min-w-0 flex-1",children:[m.jsx(Hl,{className:"w-4 h-4 shrink-0 text-muted-foreground"}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Me.id]}),m.jsx("p",{className:"truncate text-sm",children:Me.title})]})]}):m.jsx("span",{className:"text-muted-foreground",children:"Select parent task..."}),m.jsx(Dm,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),m.jsx(wd,{className:"w-[400px] p-0",align:"start",children:m.jsxs(Cd,{children:[m.jsx(Ad,{placeholder:"Search tasks..."}),m.jsxs(Nd,{children:[m.jsx(_d,{children:"No task found."}),m.jsxs(Eo,{children:[m.jsxs(Aa,{value:"none",onSelect:()=>{I(""),$(!1)},children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(Te=>m.jsxs(Aa,{value:`${Te.id} ${Te.title}`,onSelect:()=>{I(Te.id),$(!1)},title:`#${Te.id} - ${Te.title}`,children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_===Te.id?"opacity-100":"opacity-0")}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Te.id]}),m.jsx("p",{className:"truncate text-sm",children:Te.title})]})]},Te.id))]})]})]})})]})]})]}),At=m.jsxs("div",{className:"border-t px-6 py-4 bg-muted/30 flex justify-end gap-3",children:[m.jsx(Ge,{type:"button",variant:"ghost",onClick:n,disabled:M,children:"Cancel"}),m.jsx(Ge,{type:"button",onClick:mt,className:"bg-green-700 hover:bg-green-800 text-white",disabled:M||se||!u.trim(),children:M?"Creating...":"Create Task"})]});return fe?m.jsx(Pm,{children:e&&m.jsx(bx,{open:e,onOpenChange:Te=>!Te&&n(),children:m.jsxs(Vh,{className:"max-w-6xl w-[95vw] h-[90vh] p-0 gap-0 overflow-hidden flex flex-col",hideCloseButton:!0,children:[m.jsx(yx,{className:"sr-only",children:"Create New Task"}),m.jsxs(Hm.div,{ref:s,className:"flex flex-col h-full overflow-hidden",variants:Ie,initial:"hidden",animate:"visible",exit:"exit",children:[ft,Et,m.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[m.jsx(Er,{className:"flex-1",children:ot}),m.jsx("div",{className:"shrink-0 w-72 border-l bg-muted/20",children:m.jsx(Er,{className:"h-full",children:Kt})})]}),At]})]})})}):m.jsx(Pm,{children:e&&m.jsx(mx,{open:e,onOpenChange:Te=>!Te&&n(),children:m.jsx($h,{side:"right",className:"w-full sm:max-w-2xl lg:max-w-3xl xl:max-w-4xl p-0 flex flex-col gap-0",hideCloseButton:!0,children:m.jsxs(Hm.div,{ref:s,className:"flex flex-col h-full overflow-hidden",variants:Ie,initial:"hidden",animate:"visible",exit:"exit",children:[ft,Et,m.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[m.jsx("div",{className:"shrink-0 border-b bg-muted/20",children:m.jsxs("div",{className:"p-4 space-y-3",children:[m.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(br,{value:h,onValueChange:Te=>b(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full h-9",kL[h]),children:m.jsx(yr,{})}),m.jsx(dr,{children:_L.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(br,{value:y,onValueChange:Te=>v(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full h-9",DL[y]),children:m.jsx(yr,{})}),m.jsx(dr,{children:RL.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(yh,{value:T,onChange:w,showGrabButton:!1,currentUser:a,container:s.current})]})]}),m.jsxs("div",{className:"flex items-start gap-4 flex-wrap",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap flex-1 min-w-0",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Labels:"}),m.jsxs("div",{className:"flex flex-wrap gap-1 flex-1",children:[A.map(Te=>m.jsxs(ql,{variant:"secondary",className:"gap-1 pr-1 text-xs",children:[Te,m.jsx("button",{type:"button",onClick:()=>De(Te),className:"ml-0.5 hover:text-destructive",children:m.jsx(Yr,{className:"w-3 h-3"})})]},Te)),!O&&m.jsxs(Ge,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs text-muted-foreground",onClick:()=>te(!0),children:[m.jsx(pa,{className:"w-3 h-3 mr-1"}),"Add"]})]}),O&&m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Fn,{value:K,onChange:Te=>G(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&K.trim()&&Ze(),Te.key==="Escape"&&(G(""),te(!1))},placeholder:"Label",className:"h-7 w-24 text-xs",autoFocus:!0}),m.jsx(Ge,{size:"sm",className:"h-7 px-2",onClick:Ze,disabled:!K.trim(),children:"Add"}),m.jsx(Ge,{size:"sm",variant:"ghost",className:"h-7 px-2",onClick:()=>{G(""),te(!1)},children:m.jsx(Yr,{className:"w-3 h-3"})})]})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Parent:"}),m.jsxs(hh,{open:ue,onOpenChange:$,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"outline",role:"combobox",size:"sm",className:"h-7 justify-between min-w-[120px] max-w-[250px]",disabled:M,title:Me?`#${Me.id} - ${Me.title}`:void 0,children:[Me?m.jsxs("span",{className:"truncate text-xs",children:["#",Me.id," - ",Me.title]}):m.jsx("span",{className:"text-muted-foreground text-xs",children:"None"}),m.jsx(Dm,{className:"ml-1 h-3 w-3 shrink-0 opacity-50"})]})}),m.jsx(wd,{className:"w-[400px] p-0",align:"end",children:m.jsxs(Cd,{children:[m.jsx(Ad,{placeholder:"Search tasks..."}),m.jsxs(Nd,{children:[m.jsx(_d,{children:"No task found."}),m.jsxs(Eo,{children:[m.jsxs(Aa,{value:"none",onSelect:()=>{I(""),$(!1)},children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(Te=>m.jsxs(Aa,{value:`${Te.id} ${Te.title}`,onSelect:()=>{I(Te.id),$(!1)},title:`#${Te.id} - ${Te.title}`,children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_===Te.id?"opacity-100":"opacity-0")}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Te.id]}),m.jsx("p",{className:"truncate text-sm",children:Te.title})]})]},Te.id))]})]})]})})]})]})]})]})}),m.jsx(Er,{className:"flex-1",children:ot})]}),At]})})})})}var tye=Symbol("radix.slottable");function nye(e){const t=({children:n})=>m.jsx(m.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=tye,t}var[Kg]=ga("Tooltip",[Io]),Xg=Io(),lU="TooltipProvider",rye=700,g1="tooltip.open",[aye,mN]=Kg(lU),uU=e=>{const{__scopeTooltip:t,delayDuration:n=rye,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:o}=e,s=E.useRef(!0),u=E.useRef(!1),c=E.useRef(0);return E.useEffect(()=>{const f=c.current;return()=>window.clearTimeout(f)},[]),m.jsx(aye,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:E.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:E.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:E.useCallback(f=>{u.current=f},[]),disableHoverableContent:a,children:o})};uU.displayName=lU;var Id="Tooltip",[iye,Ef]=Kg(Id),cU=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a,onOpenChange:o,disableHoverableContent:s,delayDuration:u}=e,c=mN(Id,e.__scopeTooltip),f=Xg(t),[p,h]=E.useState(null),b=Gn(),y=E.useRef(0),v=s??c.disableHoverableContent,T=u??c.delayDuration,w=E.useRef(!1),[A,N]=Di({prop:r,defaultProp:a??!1,onChange:L=>{L?(c.onOpen(),document.dispatchEvent(new CustomEvent(g1))):c.onClose(),o?.(L)},caller:Id}),_=E.useMemo(()=>A?w.current?"delayed-open":"instant-open":"closed",[A]),I=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w.current=!1,N(!0)},[N]),D=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,N(!1)},[N]),k=E.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,N(!0),y.current=0},T)},[T,N]);return E.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),m.jsx(Lg,{...f,children:m.jsx(iye,{scope:t,contentId:b,open:A,stateAttribute:_,trigger:p,onTriggerChange:h,onTriggerEnter:E.useCallback(()=>{c.isOpenDelayedRef.current?k():I()},[c.isOpenDelayedRef,k,I]),onTriggerLeave:E.useCallback(()=>{v?D():(window.clearTimeout(y.current),y.current=0)},[D,v]),onOpen:I,onClose:D,disableHoverableContent:v,children:n})})};cU.displayName=Id;var b1="TooltipTrigger",dU=E.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Ef(b1,n),o=mN(b1,n),s=Xg(n),u=E.useRef(null),c=Rt(t,u,a.onTriggerChange),f=E.useRef(!1),p=E.useRef(!1),h=E.useCallback(()=>f.current=!1,[]);return E.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),m.jsx(ff,{asChild:!0,...s,children:m.jsx(rt.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:c,onPointerMove:qe(e.onPointerMove,b=>{b.pointerType!=="touch"&&!p.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),p.current=!0)}),onPointerLeave:qe(e.onPointerLeave,()=>{a.onTriggerLeave(),p.current=!1}),onPointerDown:qe(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:qe(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:qe(e.onBlur,a.onClose),onClick:qe(e.onClick,a.onClose)})})});dU.displayName=b1;var hN="TooltipPortal",[oye,sye]=Kg(hN,{forceMount:void 0}),fU=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:a}=e,o=Ef(hN,t);return m.jsx(oye,{scope:t,forceMount:n,children:m.jsx(qn,{present:n||o.open,children:m.jsx(iu,{asChild:!0,container:a,children:r})})})};fU.displayName=hN;var Jl="TooltipContent",pU=E.forwardRef((e,t)=>{const n=sye(Jl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...o}=e,s=Ef(Jl,e.__scopeTooltip);return m.jsx(qn,{present:r||s.open,children:s.disableHoverableContent?m.jsx(mU,{side:a,...o,ref:t}):m.jsx(lye,{side:a,...o,ref:t})})}),lye=E.forwardRef((e,t)=>{const n=Ef(Jl,e.__scopeTooltip),r=mN(Jl,e.__scopeTooltip),a=E.useRef(null),o=Rt(t,a),[s,u]=E.useState(null),{trigger:c,onClose:f}=n,p=a.current,{onPointerInTransitChange:h}=r,b=E.useCallback(()=>{u(null),h(!1)},[h]),y=E.useCallback((v,T)=>{const w=v.currentTarget,A={x:v.clientX,y:v.clientY},N=pye(A,w.getBoundingClientRect()),_=mye(A,N),I=hye(T.getBoundingClientRect()),D=bye([..._,...I]);u(D),h(!0)},[h]);return E.useEffect(()=>()=>b(),[b]),E.useEffect(()=>{if(c&&p){const v=w=>y(w,p),T=w=>y(w,c);return c.addEventListener("pointerleave",v),p.addEventListener("pointerleave",T),()=>{c.removeEventListener("pointerleave",v),p.removeEventListener("pointerleave",T)}}},[c,p,y,b]),E.useEffect(()=>{if(s){const v=T=>{const w=T.target,A={x:T.clientX,y:T.clientY},N=c?.contains(w)||p?.contains(w),_=!gye(A,s);N?b():_&&(b(),f())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[c,p,s,f,b]),m.jsx(mU,{...e,ref:o})}),[uye,cye]=Kg(Id,{isInside:!1}),dye=nye("TooltipContent"),mU=E.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:o,onPointerDownOutside:s,...u}=e,c=Ef(Jl,n),f=Xg(n),{onClose:p}=c;return E.useEffect(()=>(document.addEventListener(g1,p),()=>document.removeEventListener(g1,p)),[p]),E.useEffect(()=>{if(c.trigger){const h=b=>{b.target?.contains(c.trigger)&&p()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,p]),m.jsx(au,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:h=>h.preventDefault(),onDismiss:p,children:m.jsxs(Mg,{"data-state":c.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[m.jsx(dye,{children:r}),m.jsx(uye,{scope:n,isInside:!0,children:m.jsx(Qpe,{id:c.contentId,role:"tooltip",children:a||r})})]})})});pU.displayName=Jl;var hU="TooltipArrow",fye=E.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Xg(n);return cye(hU,n).isInside?null:m.jsx(Fg,{...a,...r,ref:t})});fye.displayName=hU;function pye(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,a,o)){case o:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mye(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function hye(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function gye(e,t){const{x:n,y:r}=e;let a=!1;for(let o=0,s=t.length-1;o<t.length;s=o++){const u=t[o],c=t[s],f=u.x,p=u.y,h=c.x,b=c.y;p>r!=b>r&&n<(h-f)*(r-p)/(b-p)+f&&(a=!a)}return a}function bye(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),yye(t)}function yye(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const a=e[r];for(;t.length>=2;){const o=t[t.length-1],s=t[t.length-2];if((o.x-s.x)*(a.y-s.y)>=(o.y-s.y)*(a.x-s.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const o=n[n.length-1],s=n[n.length-2];if((o.x-s.x)*(a.y-s.y)>=(o.y-s.y)*(a.x-s.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Eye=uU,vye=cU,xye=dU,Sye=fU,gU=pU;const Tye=Eye,wye=vye,Cye=xye,bU=E.forwardRef(({className:e,sideOffset:t=4,...n},r)=>m.jsx(Sye,{children:m.jsx(gU,{ref:r,sideOffset:t,className:Ne("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));bU.displayName=gU.displayName;const Aye="sidebar_state",Nye=3600*24*7,_ye="16rem",Rye="18rem",kye="3rem",Dye="b",yU=E.createContext(null);function vf(){const e=E.useContext(yU);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const EU=E.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s},u)=>{const c=Wg(),[f,p]=E.useState(!1),[h,b]=E.useState(e),y=t??h,v=E.useCallback(N=>{const _=typeof N=="function"?N(y):N;n?n(_):b(_),document.cookie=`${Aye}=${_}; path=/; max-age=${Nye}`},[n,y]),T=E.useCallback(()=>c?p(N=>!N):v(N=>!N),[c,v,p]);E.useEffect(()=>{const N=_=>{_.key===Dye&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),T())};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[T]);const w=y?"expanded":"collapsed",A=E.useMemo(()=>({state:w,open:y,setOpen:v,isMobile:c,openMobile:f,setOpenMobile:p,toggleSidebar:T}),[w,y,v,c,f,p,T]);return m.jsx(yU.Provider,{value:A,children:m.jsx(Tye,{delayDuration:0,children:m.jsx("div",{style:{"--sidebar-width":_ye,"--sidebar-width-icon":kye,...a},className:Ne("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:u,...s,children:o})})})});EU.displayName="SidebarProvider";const vU=E.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:a,...o},s)=>{const{isMobile:u,state:c,openMobile:f,setOpenMobile:p}=vf();return n==="none"?m.jsx("div",{className:Ne("flex h-full w-[var(--sidebar-width)] flex-col bg-sidebar text-sidebar-foreground",r),ref:s,...o,children:a}):u?m.jsx(mx,{open:f,onOpenChange:p,...o,children:m.jsxs($h,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[var(--sidebar-width)] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Rye},side:e,children:[m.jsxs(hx,{className:"sr-only",children:[m.jsx(gx,{children:"Sidebar"}),m.jsx(S6,{children:"Displays the mobile sidebar."})]}),m.jsx("div",{className:"flex h-full w-full flex-col",children:a})]})}):m.jsxs("div",{ref:s,className:"group peer hidden text-sidebar-foreground md:block","data-state":c,"data-collapsible":c==="collapsed"?n:"","data-variant":t,"data-side":e,children:[m.jsx("div",{className:Ne("relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]")}),m.jsx("div",{className:Ne("fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...o,children:m.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:a})})]})});vU.displayName="Sidebar";const xU=E.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:a}=vf();return m.jsxs(Ge,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Ne("h-7 w-7",e),onClick:o=>{t?.(o),a()},...n,children:[m.jsx(Gz,{}),m.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});xU.displayName="SidebarTrigger";const SU=E.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=vf();return m.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:Ne("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});SU.displayName="SidebarRail";const Iye=E.forwardRef(({className:e,...t},n)=>m.jsx("main",{ref:n,className:Ne("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));Iye.displayName="SidebarInset";const Oye=E.forwardRef(({className:e,...t},n)=>m.jsx(Fn,{ref:n,"data-sidebar":"input",className:Ne("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));Oye.displayName="SidebarInput";const TU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"header",className:Ne("flex flex-col gap-2 p-2",e),...t}));TU.displayName="SidebarHeader";const wU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"footer",className:Ne("flex flex-col gap-2 p-2",e),...t}));wU.displayName="SidebarFooter";const Lye=E.forwardRef(({className:e,...t},n)=>m.jsx(xd,{ref:n,"data-sidebar":"separator",className:Ne("mx-2 w-auto bg-sidebar-border",e),...t}));Lye.displayName="SidebarSeparator";const CU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"content",className:Ne("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));CU.displayName="SidebarContent";const AU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group",className:Ne("relative flex w-full min-w-0 flex-col p-2",e),...t}));AU.displayName="SidebarGroup";const NU=E.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const a=t?uu:"div";return m.jsx(a,{ref:r,"data-sidebar":"group-label",className:Ne("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});NU.displayName="SidebarGroupLabel";const Mye=E.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const a=t?uu:"button";return m.jsx(a,{ref:r,"data-sidebar":"group-action",className:Ne("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});Mye.displayName="SidebarGroupAction";const _U=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group-content",className:Ne("w-full text-sm",e),...t}));_U.displayName="SidebarGroupContent";const Nm=E.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu",className:Ne("flex w-full min-w-0 flex-col gap-1",e),...t}));Nm.displayName="SidebarMenu";const _m=E.forwardRef(({className:e,...t},n)=>m.jsx("li",{ref:n,"data-sidebar":"menu-item",className:Ne("group/menu-item relative",e),...t}));_m.displayName="SidebarMenuItem";const Fye=ou("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Rm=E.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:a,className:o,...s},u)=>{const c=e?uu:"button",{isMobile:f,state:p}=vf(),h=m.jsx(c,{ref:u,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:Ne(Fye({variant:n,size:r}),o),...s});return a?(typeof a=="string"&&(a={children:a}),m.jsxs(wye,{children:[m.jsx(Cye,{asChild:!0,children:h}),m.jsx(bU,{side:"right",align:"center",hidden:p!=="collapsed"||f,...a})]})):h});Rm.displayName="SidebarMenuButton";const Pye=E.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},a)=>{const o=t?uu:"button";return m.jsx(o,{ref:a,"data-sidebar":"menu-action",className:Ne("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...r})});Pye.displayName="SidebarMenuAction";const Bye=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:Ne("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Bye.displayName="SidebarMenuBadge";const Uye=E.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const a=E.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return m.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Ne("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&m.jsx(L3,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),m.jsx(L3,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":a}})]})});Uye.displayName="SidebarMenuSkeleton";const jye=E.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:Ne("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));jye.displayName="SidebarMenuSub";const Hye=E.forwardRef(({...e},t)=>m.jsx("li",{ref:t,...e}));Hye.displayName="SidebarMenuSubItem";const zye=E.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...a},o)=>{const s=e?uu:"a";return m.jsx(s,{ref:o,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:Ne("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...a})});zye.displayName="SidebarMenuSubButton";const $ye=[{id:"kanban",label:"Kanban",icon:kz,href:"#/"},{id:"tasks",label:"Tasks",icon:YL,href:"#/tasks"},{id:"docs",label:"Docs",icon:Xa,href:"#/docs"}];function Vye({currentPage:e,onSearchClick:t}){const{state:n}=vf(),r=Wg(),a=n==="expanded";return m.jsxs(vU,{collapsible:"icon",variant:r?"floating":"sidebar",children:[m.jsxs(TU,{children:[m.jsx(Nm,{children:m.jsx(_m,{children:m.jsx(Rm,{size:"lg",asChild:!0,children:m.jsxs("a",{href:"#/",children:[m.jsx("div",{className:"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground",children:m.jsx("span",{className:"text-lg font-bold",children:"◆"})}),m.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[m.jsx("span",{className:"truncate font-semibold",children:"Knowns.dev"}),m.jsx("span",{className:"truncate text-xs",children:"Task Management"})]})]})})})}),a&&m.jsx("div",{className:"px-2 pb-2",children:m.jsxs("button",{type:"button",onClick:t,className:"flex w-full items-center gap-2 rounded-lg border bg-background px-3 py-2 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors",children:[m.jsx(Dh,{className:"h-4 w-4"}),m.jsx("span",{children:"Search..."}),m.jsxs("kbd",{className:"ml-auto pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100",children:[m.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]})})]}),m.jsx(CU,{children:m.jsxs(AU,{children:[m.jsx(NU,{children:"Navigation"}),m.jsx(_U,{children:m.jsx(Nm,{children:$ye.map(o=>{const s=e===o.id;return m.jsx(_m,{children:m.jsx(Rm,{asChild:!0,isActive:s,tooltip:o.label,children:m.jsxs("a",{href:o.href,children:[m.jsx(o.icon,{}),m.jsx("span",{children:o.label})]})})},o.id)})})})]})}),m.jsxs(wU,{children:[m.jsx(Nm,{children:m.jsx(_m,{children:m.jsx(Rm,{asChild:!0,isActive:e==="config",tooltip:"Settings",children:m.jsxs("a",{href:"#/config",children:[m.jsx(_1,{}),m.jsx("span",{children:"Settings"})]})})})}),a&&m.jsx("div",{className:"px-3 py-2 text-xs text-sidebar-foreground/50",children:m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("a",{href:"https://github.com/knowns-dev/knowns",target:"_blank",rel:"noopener noreferrer",className:"hover:text-sidebar-foreground transition-colors",children:"Knowns"}),m.jsx("span",{className:"font-mono",children:"0.3.1"})]})})]}),m.jsx(SU,{})]})}const Gye=[{value:"all",label:"All"},{value:"status",label:"Status"},{value:"assignee",label:"Assignee"},{value:"content",label:"Content"}];function Yye(e){const t=e.changes;if(t.length===0)return"Updated";const n=t.find(s=>s.field==="status");if(n){const s=String(n.newValue);return s==="done"?"Completed":s==="in-progress"?"Started working on":s==="in-review"?"Submitted for review":s==="blocked"?"Blocked":`Changed status to ${s}`}const r=t.find(s=>s.field==="assignee");if(r){const s=r.newValue;return s?`Assigned to ${s}`:"Unassigned"}if(t.find(s=>s.field==="title"))return"Updated title";const o=t.find(s=>s.field==="priority");return o?`Set priority to ${o.newValue}`:t.some(s=>s.field==="description")?"Updated description":t.some(s=>s.field==="acceptanceCriteria")?"Updated acceptance criteria":t.some(s=>s.field==="implementationPlan")?"Updated plan":t.some(s=>s.field==="implementationNotes")?"Updated notes":t.some(s=>s.field==="labels")?"Updated labels":`Updated ${t.length} field(s)`}function qye(e){const n=new Date().getTime()-e.getTime(),r=Math.floor(n/6e4),a=Math.floor(n/36e5),o=Math.floor(n/864e5);return r<1?"just now":r<60?`${r}m ago`:a<24?`${a}h ago`:o<7?`${o}d ago`:e.toLocaleDateString()}function Wye(e){return e.some(t=>t.field==="status"&&t.newValue==="done")?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":e.some(t=>t.field==="status"&&t.newValue==="in-progress")?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":e.some(t=>t.field==="status"&&t.newValue==="blocked")?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":e.some(t=>t.field==="assignee")?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-muted text-muted-foreground"}function Kye({limit:e=20,showFilter:t=!0,onTaskClick:n}){const[r,a]=E.useState([]),[o,s]=E.useState(!0),[u,c]=E.useState("all"),[f,p]=E.useState(!1),h=E.useCallback(async()=>{try{const v=u==="all"?void 0:u,T=await Na.getActivities({limit:e,type:v});a(T)}catch(v){console.error("Failed to load activities:",v)}finally{s(!1),p(!1)}},[e,u]);E.useEffect(()=>{h()},[h]),E.useEffect(()=>{const v=Md(T=>{T.type==="tasks:updated"&&h()});return()=>{v&&v.close()}},[h]);const b=()=>{p(!0),h()},y=v=>{n?n(v):window.location.hash=`/kanban/${v}`};return m.jsxs("div",{className:"flex flex-col h-full",children:[m.jsxs("div",{className:"flex items-center justify-between mb-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(kk,{className:"w-5 h-5"}),m.jsx("h3",{className:"font-semibold",children:"Recent Activity"})]}),m.jsx(Ge,{variant:"ghost",size:"icon",onClick:b,disabled:f,className:"h-8 w-8",children:m.jsx(XL,{className:`w-4 h-4 ${f?"animate-spin":""}`})})]}),t&&m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(N1,{className:"w-4 h-4 text-muted-foreground"}),m.jsx("select",{value:u,onChange:v=>c(v.target.value),className:"text-sm rounded px-2 py-1 bg-card border flex-1",children:Gye.map(v=>m.jsx("option",{value:v.value,children:v.label},v.value))})]}),m.jsx(Er,{className:"flex-1",children:m.jsx("div",{className:"space-y-1.5 pr-3",children:o?m.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"Loading activities..."}):r.length===0?m.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"No recent activity"}):r.map((v,T)=>m.jsx("div",{role:"button",tabIndex:0,onClick:w=>{w.preventDefault(),w.stopPropagation(),y(v.taskId)},onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),y(v.taskId))},className:"w-full bg-card rounded p-2 text-left hover:bg-accent transition-colors border cursor-pointer select-none",children:m.jsxs("div",{className:"flex items-center gap-2",children:[v.author?m.jsx(Rd,{name:v.author,size:"xs"}):m.jsx("div",{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 ${Wye(v.changes)}`,children:m.jsx(kk,{className:"w-2.5 h-2.5"})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"text-xs font-medium truncate",children:Yye(v)}),m.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0",children:qye(v.timestamp)})]}),m.jsxs("div",{className:"text-[11px] text-muted-foreground truncate",children:[m.jsxs("span",{className:"font-medium",children:["#",v.taskId]})," ",v.taskTitle]})]})]})},`${v.taskId}-${v.version}-${T}`))})})]})}function Xye(){const[e,t]=E.useState(!1),[n,r]=E.useState(!1),[a,o]=E.useState(()=>{const c=localStorage.getItem("knowns-last-activity-check");return c?new Date(c):new Date}),s=E.useCallback(async()=>{try{const c=await Na.getActivities({limit:1});c.length>0&&new Date(c[0].timestamp)>a&&t(!0)}catch(c){console.error("Failed to check activities:",c)}},[a]);E.useEffect(()=>{s()},[s]),E.useEffect(()=>{const c=Md(f=>{f.type==="tasks:updated"&&!n&&t(!0)});return()=>{c&&c.close()}},[n]);const u=c=>{if(r(c),c){t(!1);const f=new Date;o(f),localStorage.setItem("knowns-last-activity-check",f.toISOString())}};return m.jsxs(hh,{open:n,onOpenChange:u,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"ghost",size:"icon",className:"relative h-8 w-8","aria-label":"Notifications",children:[m.jsx(UH,{className:"h-4 w-4"}),e&&m.jsx("span",{className:"absolute top-1 right-1 h-2 w-2 rounded-full bg-blue-500 animate-pulse"})]})}),m.jsx(wd,{className:"w-80 p-0",align:"end",sideOffset:8,children:m.jsxs("div",{className:"flex flex-col h-[400px]",children:[m.jsx("div",{className:"px-4 py-3 border-b",children:m.jsx("h3",{className:"font-semibold text-sm",children:"Recent Activity"})}),m.jsx("div",{className:"flex-1 overflow-hidden p-2",children:m.jsx(Kye,{limit:20,showFilter:!1,onTaskClick:c=>{r(!1),window.location.hash=`/kanban/${c}`}})})]})})]})}const IL={todo:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300","in-progress":"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300","in-review":"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",done:"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300",blocked:"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300","on-hold":"bg-yellow-100 text-yellow-700 dark:bg-yellow-900 dark:text-yellow-300"},Zye={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function Qye({open:e,onOpenChange:t,onTaskSelect:n,onDocSelect:r}){const[a,o]=E.useState(""),[s,u]=E.useState({tasks:[],docs:[]}),[c,f]=E.useState(!1);E.useEffect(()=>{if(!e){o(""),u({tasks:[],docs:[]});return}if(!a.trim()){u({tasks:[],docs:[]});return}f(!0);const b=setTimeout(()=>{fetch(`/api/search?q=${encodeURIComponent(a)}`).then(y=>y.json()).then(y=>{u({tasks:y.tasks||[],docs:y.docs||[]})}).catch(y=>{console.error("Search failed:",y),u({tasks:[],docs:[]})}).finally(()=>{f(!1)})},300);return()=>clearTimeout(b)},[a,e]);const p=b=>{n(b),t(!1),o("")},h=b=>{r(b),t(!1),o("")};return m.jsx(bx,{open:e,onOpenChange:t,children:m.jsx(Vh,{className:"overflow-hidden p-0 max-w-2xl",hideClose:!0,children:m.jsxs(Cd,{shouldFilter:!1,children:[m.jsx(Ad,{placeholder:"Search tasks and docs...",value:a,onValueChange:o}),m.jsxs(Nd,{children:[m.jsx(_d,{children:c?"Searching...":a?"No results found.":"Type to search..."}),s.tasks.length>0&&m.jsx(Eo,{heading:"Tasks",children:s.tasks.slice(0,8).map(b=>{const y=IL[b.status]||IL.todo,v=Zye[b.status]||b.status;return m.jsxs(Aa,{value:`task-${b.id}`,onSelect:()=>p(b),children:[m.jsx(YL,{className:"mr-2 h-4 w-4 shrink-0"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsxs("span",{className:"text-xs font-mono text-muted-foreground",children:["#",b.id]}),m.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${y}`,children:v})]}),m.jsx("div",{className:"font-medium truncate",children:b.title})]})]},b.id)})}),s.tasks.length>0&&s.docs.length>0&&m.jsx(bh,{}),s.docs.length>0&&m.jsx(Eo,{heading:"Documentation",children:s.docs.slice(0,8).map(b=>{const y=b.metadata?.title||b.filename;return m.jsxs(Aa,{value:`doc-${b.path}`,onSelect:()=>h(b),children:[m.jsx(Xa,{className:"mr-2 h-4 w-4 shrink-0"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("div",{className:"font-medium truncate mb-1",children:y}),m.jsx("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:m.jsx("span",{className:"truncate",children:b.path})})]})]},b.path)})})]})]})})})}const RU={description:{begin:"<!-- SECTION:DESCRIPTION:BEGIN -->",end:"<!-- SECTION:DESCRIPTION:END -->"},plan:{begin:"<!-- SECTION:PLAN:BEGIN -->",end:"<!-- SECTION:PLAN:END -->"},notes:{begin:"<!-- SECTION:NOTES:BEGIN -->",end:"<!-- SECTION:NOTES:END -->"},ac:{begin:"<!-- AC:BEGIN -->",end:"<!-- AC:END -->"}};function Jye(e,t){const n=RU[t];if(!n)return e;const r=e.indexOf(n.begin),a=e.indexOf(n.end);return r===-1||a===-1?e:e.substring(r+n.begin.length,a).trim()}function eEe(e,t){const n=RU[t];return n?e.includes(n.begin)&&e.includes(n.end):!1}function tEe(e){return e.replace(/<!--[\s\S]*?-->/g,"")}function nEe(e,t){return e?t&&eEe(e,t)?Jye(e,t):e:""}const rEe="inline-flex items-center gap-1 px-1 py-1 rounded-md text-sm font-medium transition-all hover:scale-105 bg-green-100/50 border border-green-500/30 text-green-700 hover:bg-green-100 hover:border-green-500/50 dark:bg-green-900/20 dark:text-green-300 dark:hover:bg-green-900/30",aEe="inline-flex items-center gap-1 px-1 py-1 rounded-md text-sm font-medium transition-all hover:scale-105 bg-blue-100/50 border border-blue-500/30 text-blue-700 hover:bg-blue-100 hover:border-blue-500/50 dark:bg-blue-900/20 dark:text-blue-300 dark:hover:bg-blue-900/30",iEe=E.forwardRef(({markdown:e,className:t="",sectionType:n,enableGFM:r=!0,onDocLinkClick:a},o)=>{if(!e)return null;const s=tEe(nEe(e,n)),u=({href:c,children:f})=>{if(c&&/^(task-)?\d+(\.md)?$/.test(c)){const p=c.replace(/^task-/,"").replace(/\.md$/,""),h=`#/tasks/${p}`;return m.jsxs("a",{href:h,className:rEe,"data-task-id":p,children:[m.jsx(kh,{className:"w-4 h-4 shrink-0"}),f]})}if(c&&(c.endsWith(".md")||c.includes(".md#"))){const p=c.replace(/^\.\//,""),h=`#/docs/${p}`;return m.jsxs("a",{href:h,className:aEe,"data-doc-path":p,onClick:b=>{a&&(b.preventDefault(),a(p))},children:[m.jsx(Xa,{className:"w-4 h-4 shrink-0"}),f]})}return m.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:text-blue-600 underline",children:f})};return m.jsx("div",{ref:o,className:`prose prose-sm max-w-none dark:prose-invert ${t}`,children:m.jsx(B5,{remarkPlugins:r?[lP]:[],components:{a:u,code:({className:c,children:f,...p})=>c?m.jsx("code",{className:c,...p,children:f}):m.jsx("code",{className:"px-1.5 py-0.5 rounded text-sm bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-200",...p,children:f}),pre:({children:c})=>m.jsx("pre",{className:"overflow-x-auto rounded-lg p-4 text-sm bg-gray-100 dark:bg-gray-900",children:c}),table:({children:c})=>m.jsx("div",{className:"overflow-x-auto my-4",children:m.jsx("table",{className:"min-w-full border-collapse",children:c})}),th:({children:c})=>m.jsx("th",{className:"px-4 py-2 text-left font-semibold border bg-gray-100 text-gray-900 border-gray-200 dark:bg-gray-700 dark:text-gray-100 dark:border-gray-600",children:c}),td:({children:c})=>m.jsx("td",{className:"px-4 py-2 border border-gray-200 text-gray-700 dark:border-gray-600 dark:text-gray-200",children:c}),input:({type:c,checked:f,...p})=>c==="checkbox"?m.jsx("input",{type:"checkbox",checked:f,readOnly:!0,className:"mr-2 accent-blue-600",...p}):m.jsx("input",{type:c,...p})},children:s})})});iEe.displayName="MarkdownRenderer";function go(e,t){return typeof e=="function"?e(t):e}function Kr(e,t){return n=>{t.setState(r=>({...r,[e]:go(n,r[e])}))}}function Zg(e){return e instanceof Function}function oEe(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function sEe(e,t){const n=[],r=a=>{a.forEach(o=>{n.push(o);const s=t(o);s!=null&&s.length&&r(s)})};return r(e),n}function st(e,t,n){let r=[],a;return o=>{let s;n.key&&n.debug&&(s=Date.now());const u=e(o);if(!(u.length!==r.length||u.some((p,h)=>r[h]!==p)))return a;r=u;let f;if(n.key&&n.debug&&(f=Date.now()),a=t(...u),n==null||n.onChange==null||n.onChange(a),n.key&&n.debug&&n!=null&&n.debug()){const p=Math.round((Date.now()-s)*100)/100,h=Math.round((Date.now()-f)*100)/100,b=h/16,y=(v,T)=>{for(v=String(v);v.length<T;)v=" "+v;return v};console.info(`%c⏱ ${y(h,5)} /${y(p,5)} ms`,`
|
|
168
|
+
`},ebe={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 tbe(e){let{announcements:t=ebe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:a=Jge}=e;const{announce:o,announcement:s}=Xge(),u=bf("DndLiveRegion"),[c,f]=E.useState(!1);if(E.useEffect(()=>{f(!0)},[]),Zge(E.useMemo(()=>({onDragStart(h){let{active:b}=h;o(t.onDragStart({active:b}))},onDragMove(h){let{active:b,over:y}=h;t.onDragMove&&o(t.onDragMove({active:b,over:y}))},onDragOver(h){let{active:b,over:y}=h;o(t.onDragOver({active:b,over:y}))},onDragEnd(h){let{active:b,over:y}=h;o(t.onDragEnd({active:b,over:y}))},onDragCancel(h){let{active:b,over:y}=h;o(t.onDragCancel({active:b,over:y}))}}),[o,t])),!c)return null;const p=Ce.createElement(Ce.Fragment,null,Ce.createElement(Wge,{id:r,value:a.draggable}),Ce.createElement(Kge,{id:u,announcement:s}));return n?Ca.createPortal(p,n):p}var Mn;(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"})(Mn||(Mn={}));function Ch(){}function IE(e,t){return E.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function nbe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return E.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Oa=Object.freeze({x:0,y:0});function iN(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function rbe(e,t){const n=wh(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function oN(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function abe(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function f1(e){let{left:t,top:n,height:r,width:a}=e;return[{x:t,y:n},{x:t+a,y:n},{x:t,y:n+r},{x:t+a,y:n+r}]}function ibe(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function nL(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}const obe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=nL(t,t.left,t.top),o=[];for(const s of r){const{id:u}=s,c=n.get(u);if(c){const f=iN(nL(c),a);o.push({id:u,data:{droppableContainer:s,value:f}})}}return o.sort(oN)},rL=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=f1(t),o=[];for(const s of r){const{id:u}=s,c=n.get(u);if(c){const f=f1(c),p=a.reduce((b,y,v)=>b+iN(f[v],y),0),h=Number((p/4).toFixed(4));o.push({id:u,data:{droppableContainer:s,value:h}})}}return o.sort(oN)};function sbe(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=a-r,u=o-n;if(r<a&&n<o){const c=t.width*t.height,f=e.width*e.height,p=s*u,h=p/(c+f-p);return Number(h.toFixed(4))}return 0}const MB=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const a=[];for(const o of r){const{id:s}=o,u=n.get(s);if(u){const c=sbe(u,t);c>0&&a.push({id:s,data:{droppableContainer:o,value:c}})}}return a.sort(abe)};function lbe(e,t){const{top:n,left:r,bottom:a,right:o}=t;return n<=e.y&&e.y<=a&&r<=e.x&&e.x<=o}const ube=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const a=[];for(const o of t){const{id:s}=o,u=n.get(s);if(u&&lbe(r,u)){const f=f1(u).reduce((h,b)=>h+iN(r,b),0),p=Number((f/4).toFixed(4));a.push({id:s,data:{droppableContainer:o,value:p}})}}return a.sort(oN)};function cbe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function FB(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Oa}function dbe(e){return function(n){for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++)a[o-1]=arguments[o];return a.reduce((s,u)=>({...s,top:s.top+e*u.y,bottom:s.bottom+e*u.y,left:s.left+e*u.x,right:s.right+e*u.x}),{...n})}}const fbe=dbe(1);function PB(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function pbe(e,t,n){const r=PB(t);if(!r)return e;const{scaleX:a,scaleY:o,x:s,y:u}=r,c=e.left-s-(1-a)*parseFloat(n),f=e.top-u-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),p=a?e.width/a:e.width,h=o?e.height/o:e.height;return{width:p,height:h,top:f,right:c+p,bottom:f+h,left:c}}const mbe={ignoreTransform:!1};function _u(e,t){t===void 0&&(t=mbe);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:f,transformOrigin:p}=Sr(e).getComputedStyle(e);f&&(n=pbe(n,f,p))}const{top:r,left:a,width:o,height:s,bottom:u,right:c}=n;return{top:r,left:a,width:o,height:s,bottom:u,right:c}}function aL(e){return _u(e,{ignoreTransform:!0})}function hbe(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function gbe(e,t){return t===void 0&&(t=Sr(e).getComputedStyle(e)),t.position==="fixed"}function bbe(e,t){t===void 0&&(t=Sr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const o=t[a];return typeof o=="string"?n.test(o):!1})}function sN(e,t){const n=[];function r(a){if(t!=null&&n.length>=t||!a)return n;if(aN(a)&&a.scrollingElement!=null&&!n.includes(a.scrollingElement))return n.push(a.scrollingElement),n;if(!hf(a)||IB(a)||n.includes(a))return n;const o=Sr(e).getComputedStyle(a);return a!==e&&bbe(a,o)&&n.push(a),gbe(a,o)?n:r(a.parentNode)}return e?r(e):n}function BB(e){const[t]=sN(e,1);return t??null}function OE(e){return!$g||!e?null:Au(e)?e:rN(e)?aN(e)||e===Nu(e).scrollingElement?window:hf(e)?e:null:null}function UB(e){return Au(e)?e.scrollX:e.scrollLeft}function jB(e){return Au(e)?e.scrollY:e.scrollTop}function p1(e){return{x:UB(e),y:jB(e)}}var $n;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})($n||($n={}));function HB(e){return!$g||!e?!1:e===document.scrollingElement}function zB(e){const t={x:0,y:0},n=HB(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},a=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,u=e.scrollLeft>=r.x;return{isTop:a,isLeft:o,isBottom:s,isRight:u,maxScroll:r,minScroll:t}}const ybe={x:.2,y:.2};function Ebe(e,t,n,r,a){let{top:o,left:s,right:u,bottom:c}=n;r===void 0&&(r=10),a===void 0&&(a=ybe);const{isTop:f,isBottom:p,isLeft:h,isRight:b}=zB(e),y={x:0,y:0},v={x:0,y:0},T={height:t.height*a.y,width:t.width*a.x};return!f&&o<=t.top+T.height?(y.y=$n.Backward,v.y=r*Math.abs((t.top+T.height-o)/T.height)):!p&&c>=t.bottom-T.height&&(y.y=$n.Forward,v.y=r*Math.abs((t.bottom-T.height-c)/T.height)),!b&&u>=t.right-T.width?(y.x=$n.Forward,v.x=r*Math.abs((t.right-T.width-u)/T.width)):!h&&s<=t.left+T.width&&(y.x=$n.Backward,v.x=r*Math.abs((t.left+T.width-s)/T.width)),{direction:y,speed:v}}function vbe(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:a}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:a,width:e.clientWidth,height:e.clientHeight}}function $B(e){return e.reduce((t,n)=>jl(t,p1(n)),Oa)}function xbe(e){return e.reduce((t,n)=>t+UB(n),0)}function Sbe(e){return e.reduce((t,n)=>t+jB(n),0)}function VB(e,t){if(t===void 0&&(t=_u),!e)return;const{top:n,left:r,bottom:a,right:o}=t(e);BB(e)&&(a<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Tbe=[["x",["left","right"],xbe],["y",["top","bottom"],Sbe]];class lN{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=sN(n),a=$B(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,u]of Tbe)for(const c of s)Object.defineProperty(this,c,{get:()=>{const f=u(r),p=a[o]-f;return this.rect[c]+p},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class nd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var a;(a=this.target)==null||a.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function wbe(e){const{EventTarget:t}=Sr(e);return e instanceof t?e:Nu(e)}function LE(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var la;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(la||(la={}));function iL(e){e.preventDefault()}function Cbe(e){e.stopPropagation()}var qt;(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"})(qt||(qt={}));const GB={start:[qt.Space,qt.Enter],cancel:[qt.Esc],end:[qt.Space,qt.Enter,qt.Tab]},Abe=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case qt.Right:return{...n,x:n.x+25};case qt.Left:return{...n,x:n.x-25};case qt.Down:return{...n,y:n.y+25};case qt.Up:return{...n,y:n.y-25}}};class uN{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new nd(Nu(n)),this.windowListeners=new nd(Sr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(la.Resize,this.handleCancel),this.windowListeners.add(la.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(la.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&VB(r),n(Oa)}handleKeyDown(t){if(Gg(t)){const{active:n,context:r,options:a}=this.props,{keyboardCodes:o=GB,coordinateGetter:s=Abe,scrollBehavior:u="smooth"}=a,{code:c}=t;if(o.end.includes(c)){this.handleEnd(t);return}if(o.cancel.includes(c)){this.handleCancel(t);return}const{collisionRect:f}=r.current,p=f?{x:f.left,y:f.top}:Oa;this.referenceCoordinates||(this.referenceCoordinates=p);const h=s(t,{active:n,context:r.current,currentCoordinates:p});if(h){const b=Th(h,p),y={x:0,y:0},{scrollableAncestors:v}=r.current;for(const T of v){const w=t.code,{isTop:A,isRight:N,isLeft:_,isBottom:I,maxScroll:D,minScroll:k}=zB(T),L=vbe(T),F={x:Math.min(w===qt.Right?L.right-L.width/2:L.right,Math.max(w===qt.Right?L.left:L.left+L.width/2,h.x)),y:Math.min(w===qt.Down?L.bottom-L.height/2:L.bottom,Math.max(w===qt.Down?L.top:L.top+L.height/2,h.y))},Y=w===qt.Right&&!N||w===qt.Left&&!_,P=w===qt.Down&&!I||w===qt.Up&&!A;if(Y&&F.x!==h.x){const M=T.scrollLeft+b.x,V=w===qt.Right&&M<=D.x||w===qt.Left&&M>=k.x;if(V&&!b.y){T.scrollTo({left:M,behavior:u});return}V?y.x=T.scrollLeft-M:y.x=w===qt.Right?T.scrollLeft-D.x:T.scrollLeft-k.x,y.x&&T.scrollBy({left:-y.x,behavior:u});break}else if(P&&F.y!==h.y){const M=T.scrollTop+b.y,V=w===qt.Down&&M<=D.y||w===qt.Up&&M>=k.y;if(V&&!b.x){T.scrollTo({top:M,behavior:u});return}V?y.y=T.scrollTop-M:y.y=w===qt.Down?T.scrollTop-D.y:T.scrollTop-k.y,y.y&&T.scrollBy({top:-y.y,behavior:u});break}}this.handleMove(t,jl(Th(h,this.referenceCoordinates),y))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}uN.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=GB,onActivation:a}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const u=o.activatorNode.current;return u&&e.target!==u?!1:(e.preventDefault(),a?.({event:e.nativeEvent}),!0)}return!1}}];function oL(e){return!!(e&&"distance"in e)}function sL(e){return!!(e&&"delay"in e)}class cN{constructor(t,n,r){var a;r===void 0&&(r=wbe(t.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=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Nu(s),this.documentListeners=new nd(this.document),this.listeners=new nd(r),this.windowListeners=new nd(Sr(s)),this.initialCoordinates=(a=wh(o))!=null?a:Oa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(la.Resize,this.handleCancel),this.windowListeners.add(la.DragStart,iL),this.windowListeners.add(la.VisibilityChange,this.handleCancel),this.windowListeners.add(la.ContextMenu,iL),this.documentListeners.add(la.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(sL(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(oL(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){const{active:r,onPending:a}=this.props;a(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(la.Click,Cbe,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(la.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:a,props:o}=this,{onMove:s,options:{activationConstraint:u}}=o;if(!a)return;const c=(n=wh(t))!=null?n:Oa,f=Th(a,c);if(!r&&u){if(oL(u)){if(u.tolerance!=null&&LE(f,u.tolerance))return this.handleCancel();if(LE(f,u.distance))return this.handleStart()}if(sL(u)&&LE(f,u.tolerance))return this.handleCancel();this.handlePending(u,f);return}t.cancelable&&t.preventDefault(),s(c)}handleEnd(){const{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){const{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Nbe={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class YB extends cN{constructor(t){const{event:n}=t,r=Nu(n.target);super(t,Nbe,r)}}YB.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];const _be={move:{name:"mousemove"},end:{name:"mouseup"}};var m1;(function(e){e[e.RightClick=2]="RightClick"})(m1||(m1={}));class qB extends cN{constructor(t){super(t,_be,Nu(t.event.target))}}qB.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===m1.RightClick?!1:(r?.({event:n}),!0)}}];const ME={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class WB extends cN{constructor(t){super(t,ME)}static setup(){return window.addEventListener(ME.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(ME.move.name,t)};function t(){}}}WB.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:a}=n;return a.length>1?!1:(r?.({event:n}),!0)}}];var rd;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(rd||(rd={}));var Ah;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Ah||(Ah={}));function Rbe(e){let{acceleration:t,activator:n=rd.Pointer,canScroll:r,draggingRect:a,enabled:o,interval:s=5,order:u=Ah.TreeOrder,pointerCoordinates:c,scrollableAncestors:f,scrollableAncestorRects:p,delta:h,threshold:b}=e;const y=Dbe({delta:h,disabled:!o}),[v,T]=$ge(),w=E.useRef({x:0,y:0}),A=E.useRef({x:0,y:0}),N=E.useMemo(()=>{switch(n){case rd.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case rd.DraggableRect:return a}},[n,a,c]),_=E.useRef(null),I=E.useCallback(()=>{const k=_.current;if(!k)return;const L=w.current.x*A.current.x,F=w.current.y*A.current.y;k.scrollBy(L,F)},[]),D=E.useMemo(()=>u===Ah.TreeOrder?[...f].reverse():f,[u,f]);E.useEffect(()=>{if(!o||!f.length||!N){T();return}for(const k of D){if(r?.(k)===!1)continue;const L=f.indexOf(k),F=p[L];if(!F)continue;const{direction:Y,speed:P}=Ebe(k,F,N,t,b);for(const M of["x","y"])y[M][Y[M]]||(P[M]=0,Y[M]=0);if(P.x>0||P.y>0){T(),_.current=k,v(I,s),w.current=P,A.current=Y;return}}w.current={x:0,y:0},A.current={x:0,y:0},T()},[t,I,r,T,o,s,JSON.stringify(N),JSON.stringify(y),v,f,D,p,JSON.stringify(b)])}const kbe={x:{[$n.Backward]:!1,[$n.Forward]:!1},y:{[$n.Backward]:!1,[$n.Forward]:!1}};function Dbe(e){let{delta:t,disabled:n}=e;const r=Sh(t);return gf(a=>{if(n||!r||!a)return kbe;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[$n.Backward]:a.x[$n.Backward]||o.x===-1,[$n.Forward]:a.x[$n.Forward]||o.x===1},y:{[$n.Backward]:a.y[$n.Backward]||o.y===-1,[$n.Forward]:a.y[$n.Forward]||o.y===1}}},[n,t,r])}function Ibe(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return gf(a=>{var o;return t==null?null:(o=r??a)!=null?o:null},[r,t])}function Obe(e,t){return E.useMemo(()=>e.reduce((n,r)=>{const{sensor:a}=r,o=a.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Dd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Dd||(Dd={}));var h1;(function(e){e.Optimized="optimized"})(h1||(h1={}));const lL=new Map;function Lbe(e,t){let{dragging:n,dependencies:r,config:a}=t;const[o,s]=E.useState(null),{frequency:u,measure:c,strategy:f}=a,p=E.useRef(e),h=w(),b=kd(h),y=E.useCallback(function(A){A===void 0&&(A=[]),!b.current&&s(N=>N===null?A:N.concat(A.filter(_=>!N.includes(_))))},[b]),v=E.useRef(null),T=gf(A=>{if(h&&!n)return lL;if(!A||A===lL||p.current!==e||o!=null){const N=new Map;for(let _ of e){if(!_)continue;if(o&&o.length>0&&!o.includes(_.id)&&_.rect.current){N.set(_.id,_.rect.current);continue}const I=_.node.current,D=I?new lN(c(I),I):null;_.rect.current=D,D&&N.set(_.id,D)}return N}return A},[e,o,n,h,c]);return E.useEffect(()=>{p.current=e},[e]),E.useEffect(()=>{h||y()},[n,h]),E.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),E.useEffect(()=>{h||typeof u!="number"||v.current!==null||(v.current=setTimeout(()=>{y(),v.current=null},u))},[u,h,y,...r]),{droppableRects:T,measureDroppableContainers:y,measuringScheduled:o!=null};function w(){switch(f){case Dd.Always:return!1;case Dd.BeforeDragging:return n;default:return!n}}}function dN(e,t){return gf(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function Mbe(e,t){return dN(e,t)}function Fbe(e){let{callback:t,disabled:n}=e;const r=Vg(t),a=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return E.useEffect(()=>()=>a?.disconnect(),[a]),a}function Yg(e){let{callback:t,disabled:n}=e;const r=Vg(t),a=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return E.useEffect(()=>()=>a?.disconnect(),[a]),a}function Pbe(e){return new lN(_u(e),e)}function uL(e,t,n){t===void 0&&(t=Pbe);const[r,a]=E.useState(null);function o(){a(c=>{if(!e)return null;if(e.isConnected===!1){var f;return(f=c??n)!=null?f:null}const p=t(e);return JSON.stringify(c)===JSON.stringify(p)?c:p})}const s=Fbe({callback(c){if(e)for(const f of c){const{type:p,target:h}=f;if(p==="childList"&&h instanceof HTMLElement&&h.contains(e)){o();break}}}}),u=Yg({callback:o});return Ia(()=>{o(),e?(u?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(u?.disconnect(),s?.disconnect())},[e]),r}function Bbe(e){const t=dN(e);return FB(e,t)}const cL=[];function Ube(e){const t=E.useRef(e),n=gf(r=>e?r&&r!==cL&&e&&t.current&&e.parentNode===t.current.parentNode?r:sN(e):cL,[e]);return E.useEffect(()=>{t.current=e},[e]),n}function jbe(e){const[t,n]=E.useState(null),r=E.useRef(e),a=E.useCallback(o=>{const s=OE(o.target);s&&n(u=>u?(u.set(s,p1(s)),new Map(u)):null)},[]);return E.useEffect(()=>{const o=r.current;if(e!==o){s(o);const u=e.map(c=>{const f=OE(c);return f?(f.addEventListener("scroll",a,{passive:!0}),[f,p1(f)]):null}).filter(c=>c!=null);n(u.length?new Map(u):null),r.current=e}return()=>{s(e),s(o)};function s(u){u.forEach(c=>{const f=OE(c);f?.removeEventListener("scroll",a)})}},[a,e]),E.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>jl(o,s),Oa):$B(e):Oa,[e,t])}function dL(e,t){t===void 0&&(t=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},t),E.useEffect(()=>{const r=e!==Oa;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?Th(e,n.current):Oa}function Hbe(e){E.useEffect(()=>{if(!$g)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n?.()}},e.map(t=>{let{sensor:n}=t;return n}))}function zbe(e,t){return E.useMemo(()=>e.reduce((n,r)=>{let{eventName:a,handler:o}=r;return n[a]=s=>{o(s,t)},n},{}),[e,t])}function KB(e){return E.useMemo(()=>e?hbe(e):null,[e])}const fL=[];function $be(e,t){t===void 0&&(t=_u);const[n]=e,r=KB(n?Sr(n):null),[a,o]=E.useState(fL);function s(){o(()=>e.length?e.map(c=>HB(c)?r:new lN(t(c),c)):fL)}const u=Yg({callback:s});return Ia(()=>{u?.disconnect(),s(),e.forEach(c=>u?.observe(c))},[e]),a}function XB(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return hf(t)?t:e}function Vbe(e){let{measure:t}=e;const[n,r]=E.useState(null),a=E.useCallback(f=>{for(const{target:p}of f)if(hf(p)){r(h=>{const b=t(p);return h?{...h,width:b.width,height:b.height}:b});break}},[t]),o=Yg({callback:a}),s=E.useCallback(f=>{const p=XB(f);o?.disconnect(),p&&o?.observe(p),r(p?t(p):null)},[t,o]),[u,c]=xh(s);return E.useMemo(()=>({nodeRef:u,rect:n,setRef:c}),[n,u,c])}const Gbe=[{sensor:YB,options:{}},{sensor:uN,options:{}}],Ybe={current:{}},Am={draggable:{measure:aL},droppable:{measure:aL,strategy:Dd.WhileDragging,frequency:h1.Optimized},dragOverlay:{measure:_u}};class ad extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const qbe={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ad,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Ch},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Am,measureDroppableContainers:Ch,windowRect:null,measuringScheduled:!1},ZB={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Ch,draggableNodes:new Map,over:null,measureDroppableContainers:Ch},yf=E.createContext(ZB),QB=E.createContext(qbe);function Wbe(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ad}}}function Kbe(e,t){switch(t.type){case Mn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Mn.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 Mn.DragEnd:case Mn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Mn.RegisterDroppable:{const{element:n}=t,{id:r}=n,a=new ad(e.droppable.containers);return a.set(r,n),{...e,droppable:{...e.droppable,containers:a}}}case Mn.SetDroppableDisabled:{const{id:n,key:r,disabled:a}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new ad(e.droppable.containers);return s.set(n,{...o,disabled:a}),{...e,droppable:{...e.droppable,containers:s}}}case Mn.UnregisterDroppable:{const{id:n,key:r}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const o=new ad(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Xbe(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=E.useContext(yf),o=Sh(r),s=Sh(n?.id);return E.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!Gg(o)||document.activeElement===o.target)return;const u=a.get(s);if(!u)return;const{activatorNode:c,node:f}=u;if(!c.current&&!f.current)return;requestAnimationFrame(()=>{for(const p of[c.current,f.current]){if(!p)continue;const h=Yge(p);if(h){h.focus();break}}})}},[r,t,a,s,o]),null}function JB(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((a,o)=>o({transform:a,...r}),n):n}function Zbe(e){return E.useMemo(()=>({draggable:{...Am.draggable,...e?.draggable},droppable:{...Am.droppable,...e?.droppable},dragOverlay:{...Am.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Qbe(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const o=E.useRef(!1),{x:s,y:u}=typeof a=="boolean"?{x:a,y:a}:a;Ia(()=>{if(!s&&!u||!t){o.current=!1;return}if(o.current||!r)return;const f=t?.node.current;if(!f||f.isConnected===!1)return;const p=n(f),h=FB(p,r);if(s||(h.x=0),u||(h.y=0),o.current=!0,Math.abs(h.x)>0||Math.abs(h.y)>0){const b=BB(f);b&&b.scrollBy({top:h.y,left:h.x})}},[t,s,u,r,n])}const qg=E.createContext({...Oa,scaleX:1,scaleY:1});var po;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(po||(po={}));const Jbe=E.memo(function(t){var n,r,a,o;let{id:s,accessibility:u,autoScroll:c=!0,children:f,sensors:p=Gbe,collisionDetection:h=MB,measuring:b,modifiers:y,...v}=t;const T=E.useReducer(Kbe,void 0,Wbe),[w,A]=T,[N,_]=Qge(),[I,D]=E.useState(po.Uninitialized),k=I===po.Initialized,{draggable:{active:L,nodes:F,translate:Y},droppable:{containers:P}}=w,M=L!=null?F.get(L):null,V=E.useRef({initial:null,translated:null}),Z=E.useMemo(()=>{var pt;return L!=null?{id:L,data:(pt=M?.data)!=null?pt:Ybe,rect:V}:null},[L,M]),ae=E.useRef(null),[se,q]=E.useState(null),[ne,ie]=E.useState(null),le=kd(v,Object.values(v)),H=bf("DndDescribedBy",s),K=E.useMemo(()=>P.getEnabled(),[P]),G=Zbe(b),{droppableRects:O,measureDroppableContainers:te,measuringScheduled:ue}=Lbe(K,{dragging:k,dependencies:[Y.x,Y.y],config:G.droppable}),$=Ibe(F,L),Q=E.useMemo(()=>ne?wh(ne):null,[ne]),J=it(),fe=Mbe($,G.draggable.measure);Qbe({activeNode:L!=null?F.get(L):null,config:J.layoutShiftCompensation,initialRect:fe,measure:G.draggable.measure});const xe=uL($,G.draggable.measure,fe),Ie=uL($?$.parentElement:null),Ee=E.useRef({activatorEvent:null,active:null,activeNode:$,collisionRect:null,collisions:null,droppableRects:O,draggableNodes:F,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Ke=P.getNodeFor((n=Ee.current.over)==null?void 0:n.id),Ze=Vbe({measure:G.dragOverlay.measure}),De=(r=Ze.nodeRef.current)!=null?r:$,mt=k?(a=Ze.rect)!=null?a:xe:null,Me=!!(Ze.nodeRef.current&&Ze.rect),ft=Bbe(Me?null:xe),Et=KB(De?Sr(De):null),ot=Ube(k?Ke??$:null),Kt=$be(ot),At=JB(y,{transform:{x:Y.x-ft.x,y:Y.y-ft.y,scaleX:1,scaleY:1},activatorEvent:ne,active:Z,activeNodeRect:xe,containerNodeRect:Ie,draggingNodeRect:mt,over:Ee.current.over,overlayNodeRect:Ze.rect,scrollableAncestors:ot,scrollableAncestorRects:Kt,windowRect:Et}),Te=Q?jl(Q,Y):null,Ye=jbe(ot),St=dL(Ye),B=dL(Ye,[xe]),z=jl(At,St),ee=mt?fbe(mt,At):null,de=Z&&ee?h({active:Z,collisionRect:ee,droppableRects:O,droppableContainers:K,pointerCoordinates:Te}):null,Ae=ibe(de,"id"),[Se,Le]=E.useState(null),Fe=Me?At:jl(At,B),Ue=cbe(Fe,(o=Se?.rect)!=null?o:null,xe),Ve=E.useRef(null),ge=E.useCallback((pt,ht)=>{let{sensor:ze,options:ct}=ht;if(ae.current==null)return;const Xe=F.get(ae.current);if(!Xe)return;const gt=pt.nativeEvent,Dt=new ze({active:ae.current,activeNode:Xe,event:gt,options:ct,context:Ee,onAbort(vt){if(!F.get(vt))return;const{onDragAbort:Ot}=le.current,Xt={id:vt};Ot?.(Xt),N({type:"onDragAbort",event:Xt})},onPending(vt,zt,Ot,Xt){if(!F.get(vt))return;const{onDragPending:pn}=le.current,Tn={id:vt,constraint:zt,initialCoordinates:Ot,offset:Xt};pn?.(Tn),N({type:"onDragPending",event:Tn})},onStart(vt){const zt=ae.current;if(zt==null)return;const Ot=F.get(zt);if(!Ot)return;const{onDragStart:Xt}=le.current,ir={activatorEvent:gt,active:{id:zt,data:Ot.data,rect:V}};Ca.unstable_batchedUpdates(()=>{Xt?.(ir),D(po.Initializing),A({type:Mn.DragStart,initialCoordinates:vt,active:zt}),N({type:"onDragStart",event:ir}),q(Ve.current),ie(gt)})},onMove(vt){A({type:Mn.DragMove,coordinates:vt})},onEnd:yt(Mn.DragEnd),onCancel:yt(Mn.DragCancel)});Ve.current=Dt;function yt(vt){return async function(){const{active:Ot,collisions:Xt,over:ir,scrollAdjustedTranslate:pn}=Ee.current;let Tn=null;if(Ot&&pn){const{cancelDrop:Xr}=le.current;Tn={activatorEvent:gt,active:Ot,collisions:Xt,delta:pn,over:ir},vt===Mn.DragEnd&&typeof Xr=="function"&&await Promise.resolve(Xr(Tn))&&(vt=Mn.DragCancel)}ae.current=null,Ca.unstable_batchedUpdates(()=>{A({type:vt}),D(po.Uninitialized),Le(null),q(null),ie(null),Ve.current=null;const Xr=vt===Mn.DragEnd?"onDragEnd":"onDragCancel";if(Tn){const Bn=le.current[Xr];Bn?.(Tn),N({type:Xr,event:Tn})}})}}},[F]),Be=E.useCallback((pt,ht)=>(ze,ct)=>{const Xe=ze.nativeEvent,gt=F.get(ct);if(ae.current!==null||!gt||Xe.dndKit||Xe.defaultPrevented)return;const Dt={active:gt};pt(ze,ht.options,Dt)===!0&&(Xe.dndKit={capturedBy:ht.sensor},ae.current=ct,ge(ze,ht))},[F,ge]),$e=Obe(p,Be);Hbe(p),Ia(()=>{xe&&I===po.Initializing&&D(po.Initialized)},[xe,I]),E.useEffect(()=>{const{onDragMove:pt}=le.current,{active:ht,activatorEvent:ze,collisions:ct,over:Xe}=Ee.current;if(!ht||!ze)return;const gt={active:ht,activatorEvent:ze,collisions:ct,delta:{x:z.x,y:z.y},over:Xe};Ca.unstable_batchedUpdates(()=>{pt?.(gt),N({type:"onDragMove",event:gt})})},[z.x,z.y]),E.useEffect(()=>{const{active:pt,activatorEvent:ht,collisions:ze,droppableContainers:ct,scrollAdjustedTranslate:Xe}=Ee.current;if(!pt||ae.current==null||!ht||!Xe)return;const{onDragOver:gt}=le.current,Dt=ct.get(Ae),yt=Dt&&Dt.rect.current?{id:Dt.id,rect:Dt.rect.current,data:Dt.data,disabled:Dt.disabled}:null,vt={active:pt,activatorEvent:ht,collisions:ze,delta:{x:Xe.x,y:Xe.y},over:yt};Ca.unstable_batchedUpdates(()=>{Le(yt),gt?.(vt),N({type:"onDragOver",event:vt})})},[Ae]),Ia(()=>{Ee.current={activatorEvent:ne,active:Z,activeNode:$,collisionRect:ee,collisions:de,droppableRects:O,draggableNodes:F,draggingNode:De,draggingNodeRect:mt,droppableContainers:P,over:Se,scrollableAncestors:ot,scrollAdjustedTranslate:z},V.current={initial:mt,translated:ee}},[Z,$,de,ee,F,De,mt,O,P,Se,ot,z]),Rbe({...J,delta:Y,draggingRect:ee,pointerCoordinates:Te,scrollableAncestors:ot,scrollableAncestorRects:Kt});const We=E.useMemo(()=>({active:Z,activeNode:$,activeNodeRect:xe,activatorEvent:ne,collisions:de,containerNodeRect:Ie,dragOverlay:Ze,draggableNodes:F,droppableContainers:P,droppableRects:O,over:Se,measureDroppableContainers:te,scrollableAncestors:ot,scrollableAncestorRects:Kt,measuringConfiguration:G,measuringScheduled:ue,windowRect:Et}),[Z,$,xe,ne,de,Ie,Ze,F,P,O,Se,te,ot,Kt,G,ue,Et]),Tt=E.useMemo(()=>({activatorEvent:ne,activators:$e,active:Z,activeNodeRect:xe,ariaDescribedById:{draggable:H},dispatch:A,draggableNodes:F,over:Se,measureDroppableContainers:te}),[ne,$e,Z,xe,A,H,F,Se,te]);return Ce.createElement(LB.Provider,{value:_},Ce.createElement(yf.Provider,{value:Tt},Ce.createElement(QB.Provider,{value:We},Ce.createElement(qg.Provider,{value:Ue},f)),Ce.createElement(Xbe,{disabled:u?.restoreFocus===!1})),Ce.createElement(tbe,{...u,hiddenTextDescribedById:H}));function it(){const pt=se?.autoScrollEnabled===!1,ht=typeof c=="object"?c.enabled===!1:c===!1,ze=k&&!pt&&!ht;return typeof c=="object"?{...c,enabled:ze}:{enabled:ze}}}),e0e=E.createContext(null),pL="button",t0e="Draggable";function n0e(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const o=bf(t0e),{activators:s,activatorEvent:u,active:c,activeNodeRect:f,ariaDescribedById:p,draggableNodes:h,over:b}=E.useContext(yf),{role:y=pL,roleDescription:v="draggable",tabIndex:T=0}=a??{},w=c?.id===t,A=E.useContext(w?qg:e0e),[N,_]=xh(),[I,D]=xh(),k=zbe(s,t),L=kd(n);Ia(()=>(h.set(t,{id:t,key:o,node:N,activatorNode:I,data:L}),()=>{const Y=h.get(t);Y&&Y.key===o&&h.delete(t)}),[h,t]);const F=E.useMemo(()=>({role:y,tabIndex:T,"aria-disabled":r,"aria-pressed":w&&y===pL?!0:void 0,"aria-roledescription":v,"aria-describedby":p.draggable}),[r,y,T,w,v,p.draggable]);return{active:c,activatorEvent:u,activeNodeRect:f,attributes:F,isDragging:w,listeners:r?void 0:k,node:N,over:b,setNodeRef:_,setActivatorNodeRef:D,transform:A}}function eU(){return E.useContext(QB)}const r0e="Droppable",a0e={timeout:25};function tU(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const o=bf(r0e),{active:s,dispatch:u,over:c,measureDroppableContainers:f}=E.useContext(yf),p=E.useRef({disabled:n}),h=E.useRef(!1),b=E.useRef(null),y=E.useRef(null),{disabled:v,updateMeasurementsFor:T,timeout:w}={...a0e,...a},A=kd(T??r),N=E.useCallback(()=>{if(!h.current){h.current=!0;return}y.current!=null&&clearTimeout(y.current),y.current=setTimeout(()=>{f(Array.isArray(A.current)?A.current:[A.current]),y.current=null},w)},[w]),_=Yg({callback:N,disabled:v||!s}),I=E.useCallback((F,Y)=>{_&&(Y&&(_.unobserve(Y),h.current=!1),F&&_.observe(F))},[_]),[D,k]=xh(I),L=kd(t);return E.useEffect(()=>{!_||!D.current||(_.disconnect(),h.current=!1,_.observe(D.current))},[D,_]),E.useEffect(()=>(u({type:Mn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:D,rect:b,data:L}}),()=>u({type:Mn.UnregisterDroppable,key:o,id:r})),[r]),E.useEffect(()=>{n!==p.current.disabled&&(u({type:Mn.SetDroppableDisabled,id:r,key:o,disabled:n}),p.current.disabled=n)},[r,o,n,u]),{active:s,rect:b,isOver:c?.id===r,node:D,over:c,setNodeRef:k}}function i0e(e){let{animation:t,children:n}=e;const[r,a]=E.useState(null),[o,s]=E.useState(null),u=Sh(n);return!n&&!r&&u&&a(u),Ia(()=>{if(!o)return;const c=r?.key,f=r?.props.id;if(c==null||f==null){a(null);return}Promise.resolve(t(f,o)).then(()=>{a(null)})},[t,r,o]),Ce.createElement(Ce.Fragment,null,n,r?E.cloneElement(r,{ref:s}):null)}const o0e={x:0,y:0,scaleX:1,scaleY:1};function s0e(e){let{children:t}=e;return Ce.createElement(yf.Provider,{value:ZB},Ce.createElement(qg.Provider,{value:o0e},t))}const l0e={position:"fixed",touchAction:"none"},u0e=e=>Gg(e)?"transform 250ms ease":void 0,c0e=E.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:a,children:o,className:s,rect:u,style:c,transform:f,transition:p=u0e}=e;if(!u)return null;const h=a?f:{...f,scaleX:1,scaleY:1},b={...l0e,width:u.width,height:u.height,top:u.top,left:u.left,transform:Ao.Transform.toString(h),transformOrigin:a&&r?rbe(r,u):void 0,transition:typeof p=="function"?p(r):p,...c};return Ce.createElement(n,{className:s,style:b,ref:t},o)}),d0e=e=>t=>{let{active:n,dragOverlay:r}=t;const a={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[u,c]of Object.entries(o.active))c!==void 0&&(a[u]=n.node.style.getPropertyValue(u),n.node.style.setProperty(u,c));if(o!=null&&o.dragOverlay)for(const[u,c]of Object.entries(o.dragOverlay))c!==void 0&&r.node.style.setProperty(u,c);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[c,f]of Object.entries(a))n.node.style.setProperty(c,f);s!=null&&s.active&&n.node.classList.remove(s.active)}},f0e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Ao.Transform.toString(t)},{transform:Ao.Transform.toString(n)}]},p0e={duration:250,easing:"ease",keyframes:f0e,sideEffects:d0e({styles:{active:{opacity:"0"}}})};function m0e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:a}=e;return Vg((o,s)=>{if(t===null)return;const u=n.get(o);if(!u)return;const c=u.node.current;if(!c)return;const f=XB(s);if(!f)return;const{transform:p}=Sr(s).getComputedStyle(s),h=PB(p);if(!h)return;const b=typeof t=="function"?t:h0e(t);return VB(c,a.draggable.measure),b({active:{id:o,data:u.data,node:c,rect:a.draggable.measure(c)},draggableNodes:n,dragOverlay:{node:s,rect:a.dragOverlay.measure(f)},droppableContainers:r,measuringConfiguration:a,transform:h})})}function h0e(e){const{duration:t,easing:n,sideEffects:r,keyframes:a}={...p0e,...e};return o=>{let{active:s,dragOverlay:u,transform:c,...f}=o;if(!t)return;const p={x:u.rect.left-s.rect.left,y:u.rect.top-s.rect.top},h={scaleX:c.scaleX!==1?s.rect.width*c.scaleX/u.rect.width:1,scaleY:c.scaleY!==1?s.rect.height*c.scaleY/u.rect.height:1},b={x:c.x-p.x,y:c.y-p.y,...h},y=a({...f,active:s,dragOverlay:u,transform:{initial:c,final:b}}),[v]=y,T=y[y.length-1];if(JSON.stringify(v)===JSON.stringify(T))return;const w=r?.({active:s,dragOverlay:u,...f}),A=u.node.animate(y,{duration:t,easing:n,fill:"forwards"});return new Promise(N=>{A.onfinish=()=>{w?.(),N()}})}}let mL=0;function g0e(e){return E.useMemo(()=>{if(e!=null)return mL++,mL},[e])}const b0e=Ce.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:a,transition:o,modifiers:s,wrapperElement:u="div",className:c,zIndex:f=999}=e;const{activatorEvent:p,active:h,activeNodeRect:b,containerNodeRect:y,draggableNodes:v,droppableContainers:T,dragOverlay:w,over:A,measuringConfiguration:N,scrollableAncestors:_,scrollableAncestorRects:I,windowRect:D}=eU(),k=E.useContext(qg),L=g0e(h?.id),F=JB(s,{activatorEvent:p,active:h,activeNodeRect:b,containerNodeRect:y,draggingNodeRect:w.rect,over:A,overlayNodeRect:w.rect,scrollableAncestors:_,scrollableAncestorRects:I,transform:k,windowRect:D}),Y=dN(b),P=m0e({config:r,draggableNodes:v,droppableContainers:T,measuringConfiguration:N}),M=Y?w.setRef:void 0;return Ce.createElement(s0e,null,Ce.createElement(i0e,{animation:P},h&&L?Ce.createElement(c0e,{key:L,id:h.id,ref:M,as:u,activatorEvent:p,adjustScale:t,className:c,transition:o,rect:Y,style:{zIndex:f,...a},transform:F},n):null))});function Nh(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function y0e(e,t){return e.reduce((n,r,a)=>{const o=t.get(r);return o&&(n[a]=o),n},Array(e.length))}function sm(e){return e!==null&&e>=0}function E0e(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 v0e(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const nU=e=>{let{rects:t,activeIndex:n,overIndex:r,index:a}=e;const o=Nh(t,r,n),s=t[a],u=o[a];return!u||!s?null:{x:u.left-s.left,y:u.top-s.top,scaleX:u.width/s.width,scaleY:u.height/s.height}},rU="Sortable",aU=Ce.createContext({activeIndex:-1,containerId:rU,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:nU,disabled:{draggable:!1,droppable:!1}});function x0e(e){let{children:t,id:n,items:r,strategy:a=nU,disabled:o=!1}=e;const{active:s,dragOverlay:u,droppableRects:c,over:f,measureDroppableContainers:p}=eU(),h=bf(rU,n),b=u.rect!==null,y=E.useMemo(()=>r.map(k=>typeof k=="object"&&"id"in k?k.id:k),[r]),v=s!=null,T=s?y.indexOf(s.id):-1,w=f?y.indexOf(f.id):-1,A=E.useRef(y),N=!E0e(y,A.current),_=w!==-1&&T===-1||N,I=v0e(o);Ia(()=>{N&&v&&p(y)},[N,y,v,p]),E.useEffect(()=>{A.current=y},[y]);const D=E.useMemo(()=>({activeIndex:T,containerId:h,disabled:I,disableTransforms:_,items:y,overIndex:w,useDragOverlay:b,sortedRects:y0e(y,c),strategy:a}),[T,h,I.draggable,I.droppable,_,y,w,c,b,a]);return Ce.createElement(aU.Provider,{value:D},t)}const S0e=e=>{let{id:t,items:n,activeIndex:r,overIndex:a}=e;return Nh(n,r,a).indexOf(t)},T0e=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:a,items:o,newIndex:s,previousItems:u,previousContainerId:c,transition:f}=e;return!f||!r||u!==o&&a===s?!1:n?!0:s!==a&&t===c},w0e={duration:200,easing:"ease"},iU="transform",C0e=Ao.Transition.toString({property:iU,duration:0,easing:"linear"}),A0e={roleDescription:"sortable"};function N0e(e){let{disabled:t,index:n,node:r,rect:a}=e;const[o,s]=E.useState(null),u=E.useRef(n);return Ia(()=>{if(!t&&n!==u.current&&r.current){const c=a.current;if(c){const f=_u(r.current,{ignoreTransform:!0}),p={x:c.left-f.left,y:c.top-f.top,scaleX:c.width/f.width,scaleY:c.height/f.height};(p.x||p.y)&&s(p)}}n!==u.current&&(u.current=n)},[t,n,r,a]),E.useEffect(()=>{o&&s(null)},[o]),o}function _0e(e){let{animateLayoutChanges:t=T0e,attributes:n,disabled:r,data:a,getNewIndex:o=S0e,id:s,strategy:u,resizeObserverConfig:c,transition:f=w0e}=e;const{items:p,containerId:h,activeIndex:b,disabled:y,disableTransforms:v,sortedRects:T,overIndex:w,useDragOverlay:A,strategy:N}=E.useContext(aU),_=R0e(r,y),I=p.indexOf(s),D=E.useMemo(()=>({sortable:{containerId:h,index:I,items:p},...a}),[h,a,I,p]),k=E.useMemo(()=>p.slice(p.indexOf(s)),[p,s]),{rect:L,node:F,isOver:Y,setNodeRef:P}=tU({id:s,data:D,disabled:_.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...c}}),{active:M,activatorEvent:V,activeNodeRect:Z,attributes:ae,setNodeRef:se,listeners:q,isDragging:ne,over:ie,setActivatorNodeRef:le,transform:H}=n0e({id:s,data:D,attributes:{...A0e,...n},disabled:_.draggable}),K=zge(P,se),G=!!M,O=G&&!v&&sm(b)&&sm(w),te=!A&&ne,ue=te&&O?H:null,Q=O?ue??(u??N)({rects:T,activeNodeRect:Z,activeIndex:b,overIndex:w,index:I}):null,J=sm(b)&&sm(w)?o({id:s,items:p,activeIndex:b,overIndex:w}):I,fe=M?.id,xe=E.useRef({activeId:fe,items:p,newIndex:J,containerId:h}),Ie=p!==xe.current.items,Ee=t({active:M,containerId:h,isDragging:ne,isSorting:G,id:s,index:I,items:p,newIndex:xe.current.newIndex,previousItems:xe.current.items,previousContainerId:xe.current.containerId,transition:f,wasDragging:xe.current.activeId!=null}),Ke=N0e({disabled:!Ee,index:I,node:F,rect:L});return E.useEffect(()=>{G&&xe.current.newIndex!==J&&(xe.current.newIndex=J),h!==xe.current.containerId&&(xe.current.containerId=h),p!==xe.current.items&&(xe.current.items=p)},[G,J,h,p]),E.useEffect(()=>{if(fe===xe.current.activeId)return;if(fe!=null&&xe.current.activeId==null){xe.current.activeId=fe;return}const De=setTimeout(()=>{xe.current.activeId=fe},50);return()=>clearTimeout(De)},[fe]),{active:M,activeIndex:b,attributes:ae,data:D,rect:L,index:I,newIndex:J,items:p,isOver:Y,isSorting:G,isDragging:ne,listeners:q,node:F,overIndex:w,over:ie,setNodeRef:K,setActivatorNodeRef:le,setDroppableNodeRef:P,setDraggableNodeRef:se,transform:Ke??Q,transition:Ze()};function Ze(){if(Ke||Ie&&xe.current.newIndex===I)return C0e;if(!(te&&!Gg(V)||!f)&&(G||Ee))return Ao.Transition.toString({...f,property:iU})}}function R0e(e,t){var n,r;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(n=e?.draggable)!=null?n:t.draggable,droppable:(r=e?.droppable)!=null?r:t.droppable}}qt.Down,qt.Right,qt.Up,qt.Left;const k0e={},hL=e=>{let t;const n=new Set,r=(p,h)=>{const b=typeof p=="function"?p(t):p;if(!Object.is(b,t)){const y=t;t=h??(typeof b!="object"||b===null)?b:Object.assign({},t,b),n.forEach(v=>v(t,y))}},a=()=>t,c={setState:r,getState:a,getInitialState:()=>f,subscribe:p=>(n.add(p),()=>n.delete(p)),destroy:()=>{(k0e?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},f=t=e(r,a,c);return c},D0e=e=>e?hL(e):hL;var FE={exports:{}},PE={},BE={exports:{}},UE={};var gL;function I0e(){if(gL)return UE;gL=1;var e=eu();function t(h,b){return h===b&&(h!==0||1/h===1/b)||h!==h&&b!==b}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,o=e.useLayoutEffect,s=e.useDebugValue;function u(h,b){var y=b(),v=r({inst:{value:y,getSnapshot:b}}),T=v[0].inst,w=v[1];return o(function(){T.value=y,T.getSnapshot=b,c(T)&&w({inst:T})},[h,y,b]),a(function(){return c(T)&&w({inst:T}),h(function(){c(T)&&w({inst:T})})},[h]),s(y),y}function c(h){var b=h.getSnapshot;h=h.value;try{var y=b();return!n(h,y)}catch{return!0}}function f(h,b){return b()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return UE.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,UE}var bL;function O0e(){return bL||(bL=1,BE.exports=I0e()),BE.exports}var yL;function L0e(){if(yL)return PE;yL=1;var e=eu(),t=O0e();function n(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var r=typeof Object.is=="function"?Object.is:n,a=t.useSyncExternalStore,o=e.useRef,s=e.useEffect,u=e.useMemo,c=e.useDebugValue;return PE.useSyncExternalStoreWithSelector=function(f,p,h,b,y){var v=o(null);if(v.current===null){var T={hasValue:!1,value:null};v.current=T}else T=v.current;v=u(function(){function A(k){if(!N){if(N=!0,_=k,k=b(k),y!==void 0&&T.hasValue){var L=T.value;if(y(L,k))return I=L}return I=k}if(L=I,r(_,k))return L;var F=b(k);return y!==void 0&&y(L,F)?(_=k,L):(_=k,I=F)}var N=!1,_,I,D=h===void 0?null:h;return[function(){return A(p())},D===null?void 0:function(){return A(D())}]},[p,h,b,y]);var w=a(f,v[0],v[1]);return s(function(){T.hasValue=!0,T.value=w},[w]),c(w),w},PE}var EL;function M0e(){return EL||(EL=1,FE.exports=L0e()),FE.exports}var F0e=M0e();const P0e=_o(F0e),oU={},{useDebugValue:B0e}=Ce,{useSyncExternalStoreWithSelector:U0e}=P0e;let vL=!1;const j0e=e=>e;function H0e(e,t=j0e,n){(oU?"production":void 0)!=="production"&&n&&!vL&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),vL=!0);const r=U0e(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return B0e(r),r}const xL=e=>{(oU?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?D0e(e):e,n=(r,a)=>H0e(t,r,a);return Object.assign(n,t),n},z0e=e=>e?xL(e):xL;var SL,TL;const wL=typeof window<"u"&&((SL=window.document)!=null&&SL.createElement||((TL=window.navigator)==null?void 0:TL.product)==="ReactNative")?Ce.useLayoutEffect:Ce.useEffect;function $0e(){const e=z0e(t=>({current:new Array,version:0,set:t}));return{In:({children:t})=>{const n=e(a=>a.set),r=e(a=>a.version);return wL(()=>{n(a=>({version:a.version+1}))},[]),wL(()=>(n(({current:a})=>({current:[...a,t]})),()=>n(({current:a})=>({current:a.filter(o=>o!==t)}))),[t,r]),null},Out:()=>{const t=e(n=>n.current);return Ce.createElement(Ce.Fragment,null,t)}}}const jE=768;function Wg(){const[e,t]=E.useState(void 0);return E.useEffect(()=>{const n=window.matchMedia(`(max-width: ${jE-1}px)`),r=()=>{t(window.innerWidth<jE)};return n.addEventListener("change",r),t(window.innerWidth<jE),()=>n.removeEventListener("change",r)},[]),!!e}const sU=$0e(),fN=E.createContext({columns:[],data:[],activeCardId:null}),V0e=({id:e,children:t,className:n})=>{const{isOver:r,setNodeRef:a}=tU({id:e});return m.jsx("div",{className:Ne("flex min-h-40 flex-col divide-y overflow-hidden rounded-md border bg-secondary text-xs shadow-sm ring-2 transition-all shrink-0",r?"ring-primary":"ring-transparent",n),ref:a,children:t})},G0e=({id:e,name:t,children:n,className:r})=>{const{attributes:a,listeners:o,setNodeRef:s,transition:u,transform:c,isDragging:f}=_0e({id:e}),{activeCardId:p}=E.useContext(fN),h={transition:u,transform:Ao.Transform.toString(c)};return m.jsxs(m.Fragment,{children:[m.jsx("div",{style:h,...o,...a,ref:s,children:m.jsx(ms,{className:Ne("cursor-grab gap-4 rounded-md p-3 shadow-sm",f&&"pointer-events-none cursor-grabbing opacity-30",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})}),p===e&&m.jsx(sU.In,{children:m.jsx(ms,{className:Ne("cursor-grab gap-4 rounded-md p-3 shadow-sm ring-2 ring-primary",f&&"cursor-grabbing",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})})]})},Y0e=({children:e,className:t,...n})=>{const{data:r}=E.useContext(fN),a=r.filter(s=>s.column===n.id),o=a.map(s=>s.id);return m.jsxs(Er,{className:"overflow-hidden flex-1",children:[m.jsx(x0e,{items:o,children:m.jsx("div",{className:Ne("flex flex-grow flex-col gap-2 p-2",t),...n,children:a.map(e)})}),m.jsx(Kh,{orientation:"vertical"})]})},q0e=({className:e,...t})=>m.jsx("div",{className:Ne("m-0 p-2 font-semibold text-sm",e),...t}),W0e=e=>t=>{const{droppableRects:n,droppableContainers:r,pointerCoordinates:a}=t,o=v=>!e.includes(v),s=v=>e.includes(v),u=ube(t),c=u.filter(v=>o(v.id)),f=u.filter(v=>s(v.id));if(c.length>0){const T=rL(t).filter(w=>o(w.id));return T.length>0?[T[0]]:[c[0]]}if(f.length>0)return[f[0]];const p=MB(t),h=p.filter(v=>o(v.id)),b=p.filter(v=>s(v.id));if(h.length>0){const T=obe(t).filter(w=>o(w.id));return T.length>0?[T[0]]:[h[0]]}if(b.length>0)return[b[0]];if(a){let v=null;for(const T of e){const w=n.get(T);if(!w)continue;const A=w.left+w.width/2,N=w.top+w.height/2,_=Math.sqrt(Math.pow(a.x-A,2)+Math.pow(a.y-N,2)),I={left:w.left-150,right:w.right+150,top:w.top-50,bottom:w.bottom+50};a.x>=I.left&&a.x<=I.right&&a.y>=I.top&&a.y<=I.bottom&&(!v||_<v.distance)&&(v={id:T,distance:_})}if(v)return[{id:v.id}]}const y=rL(t);if(y.length>0){const v=y.find(T=>s(T.id));return v?[v]:[y[0]]}return[]},K0e=({children:e,onDragStart:t,onDragEnd:n,onDragOver:r,className:a,columns:o,data:s,onDataChange:u,...c})=>{const[f,p]=E.useState(null),h=Wg(),b=E.useMemo(()=>o.map(_=>_.id),[o]),y=E.useMemo(()=>W0e(b),[b]),v=nbe(IE(qB,{activationConstraint:{distance:8}}),IE(WB,{activationConstraint:{delay:150,tolerance:8}}),IE(uN)),T=_=>{s.find(D=>D.id===_.active.id)&&p(_.active.id),t?.(_)},w=_=>{const{active:I,over:D}=_;if(!D)return;const k=s.find(M=>M.id===I.id),L=s.find(M=>M.id===D.id);if(!k)return;const F=k.column,P=o.some(M=>M.id===D.id)?D.id:L?.column||F;if(F!==P){let M=[...s];const V=M.findIndex(Z=>Z.id===I.id);if(M[V]={...M[V],column:P},L){const Z=M.findIndex(ae=>ae.id===D.id);M=Nh(M,V,Z)}u?.(M)}r?.(_)},A=_=>{p(null),n?.(_);const{active:I,over:D}=_;if(!D||I.id===D.id)return;if(o.some(P=>P.id===D.id)){const P=s.find(M=>M.id===I.id);if(P&&P.column!==D.id){let M=[...s];const V=M.findIndex(Z=>Z.id===I.id);M[V]={...M[V],column:D.id},u?.(M)}return}let L=[...s];const F=L.findIndex(P=>P.id===I.id),Y=L.findIndex(P=>P.id===D.id);F!==-1&&Y!==-1&&(L=Nh(L,F,Y),u?.(L))},N={onDragStart({active:_}){const{name:I,column:D}=s.find(k=>k.id===_.id)??{};return`Picked up the card "${I}" from the "${D}" column`},onDragOver({active:_,over:I}){const{name:D}=s.find(L=>L.id===_.id)??{},k=o.find(L=>L.id===I?.id)?.name;return`Dragged the card "${D}" over the "${k}" column`},onDragEnd({active:_,over:I}){const{name:D}=s.find(L=>L.id===_.id)??{},k=o.find(L=>L.id===I?.id)?.name;return`Dropped the card "${D}" into the "${k}" column`},onDragCancel({active:_}){const{name:I}=s.find(D=>D.id===_.id)??{};return`Cancelled dragging the card "${I}"`}};return m.jsx(fN.Provider,{value:{columns:o,data:s,activeCardId:f},children:m.jsxs(Jbe,{accessibility:{announcements:N},collisionDetection:y,onDragEnd:A,onDragOver:w,onDragStart:T,sensors:v,...c,children:[m.jsx("div",{className:Ne("flex gap-4",h&&"flex-col",a),children:o.map(_=>e(_))}),typeof window<"u"&&Ca.createPortal(m.jsx(b0e,{children:m.jsx(sU.Out,{})}),document.body)]})})},pN={todo:"gray","in-progress":"blue","in-review":"purple",done:"green",blocked:"red","on-hold":"yellow",urgent:"orange"},CL={gray:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300",red:"bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300",orange:"bg-orange-100 text-orange-700 dark:bg-orange-900/50 dark:text-orange-300",yellow:"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/50 dark:text-yellow-300",green:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300",blue:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-900/50 dark:text-purple-300",pink:"bg-pink-100 text-pink-700 dark:bg-pink-900/50 dark:text-pink-300",indigo:"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-300",teal:"bg-teal-100 text-teal-700 dark:bg-teal-900/50 dark:text-teal-300",cyan:"bg-cyan-100 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-300"};function X0e(e,t=pN){const n=t[e]||"gray";return CL[n]||CL.gray}const AL={gray:{bg:"bg-gray-50 dark:bg-gray-800",border:"border-gray-200 dark:border-gray-700"},red:{bg:"bg-red-50 dark:bg-red-900/30",border:"border-red-200 dark:border-red-800"},orange:{bg:"bg-orange-50 dark:bg-orange-900/30",border:"border-orange-200 dark:border-orange-800"},yellow:{bg:"bg-yellow-50 dark:bg-yellow-900/30",border:"border-yellow-200 dark:border-yellow-800"},green:{bg:"bg-green-50 dark:bg-green-900/30",border:"border-green-200 dark:border-green-800"},blue:{bg:"bg-blue-50 dark:bg-blue-900/30",border:"border-blue-200 dark:border-blue-800"},purple:{bg:"bg-purple-50 dark:bg-purple-900/30",border:"border-purple-200 dark:border-purple-800"},pink:{bg:"bg-pink-50 dark:bg-pink-900/30",border:"border-pink-200 dark:border-pink-800"},indigo:{bg:"bg-indigo-50 dark:bg-indigo-900/30",border:"border-indigo-200 dark:border-indigo-800"},teal:{bg:"bg-teal-50 dark:bg-teal-900/30",border:"border-teal-200 dark:border-teal-800"},cyan:{bg:"bg-cyan-50 dark:bg-cyan-900/30",border:"border-cyan-200 dark:border-cyan-800"}};function Z0e(e,t=pN){const n=t[e]||"gray";return AL[n]||AL.gray}const NL={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function Uc(e){return NL[e]?NL[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Q0e({tasks:e,loading:t,onTasksUpdate:n}){const{config:r,updateConfig:a}=Ih(),[o,s]=E.useState(new Set),[u,c]=E.useState(!1),f=Wg(),p=r?.statuses||["todo","in-progress","in-review","done","blocked"],h=r?.statusColors||pN,b=E.useMemo(()=>p.filter(P=>o.has(P)).map(P=>({id:P,name:Uc(P),color:h[P]||"gray"})),[p,o,h]),y={high:0,medium:1,low:2},v=E.useMemo(()=>[...e].sort((M,V)=>{const Z=y[M.priority]??2,ae=y[V.priority]??2;return Z!==ae?Z-ae:new Date(V.updatedAt).getTime()-new Date(M.updatedAt).getTime()}).map(M=>({id:M.id,name:M.title,column:M.status,task:M})),[e]),T=()=>{const M=window.location.hash.slice(1).match(/^\/kanban\/([^?]+)/);if(!M)return null;const V=M[1];return e.find(Z=>Z.id===V)||null},[w,A]=E.useState(T());E.useEffect(()=>{const P=()=>{A(T())};return A(T()),window.addEventListener("hashchange",P),()=>window.removeEventListener("hashchange",P)},[e]),E.useEffect(()=>{r?.visibleColumns?s(new Set(r.visibleColumns)):s(new Set(p))},[r?.visibleColumns,p.join(",")]);const N=async P=>{try{await a({visibleColumns:[...P]})}catch(M){console.error("Failed to save config:",M)}},_=P=>{s(M=>{const V=new Set(M);return V.has(P)?V.delete(P):V.add(P),N(V),V})},I=async P=>{const M=P.filter(Z=>{const ae=e.find(se=>se.id===Z.id);return ae&&ae.status!==Z.column}),V=e.map(Z=>{const ae=P.find(se=>se.id===Z.id);return ae&&ae.column!==Z.status?{...Z,status:ae.column}:Z});n(V);for(const Z of M)try{await Na.updateTask(Z.id,{status:Z.column}),_i.success("Status updated",{description:`#${Z.id} moved to ${Uc(Z.column)}`})}catch(ae){console.error("Failed to update task:",ae),_i.error("Failed to update status",{description:ae instanceof Error?ae.message:"Unknown error"}),Na.getTasks().then(n).catch(console.error);break}};if(t)return m.jsx("div",{className:"flex items-center justify-center h-64",children:m.jsxs("div",{className:"text-center",children:[m.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-primary"}),m.jsx("p",{className:"mt-2 text-muted-foreground",children:"Loading tasks..."})]})});const D=P=>{window.location.hash=`/kanban/${P.id}`},k=()=>{window.location.hash="/"},L=P=>{n(e.map(M=>M.id===P.id?P:M))},F=P=>{window.location.hash=`/kanban/${P}`},Y=async P=>{try{await Na.archiveTask(P),n(e.filter(M=>M.id!==P)),k()}catch(M){console.error("Failed to archive task:",M)}};return m.jsxs("div",{className:"flex flex-col h-full",children:[f?m.jsxs(AB,{open:u,onOpenChange:c,className:"shrink-0 bg-card rounded-lg mb-4 border border-border",children:[m.jsxs(NB,{className:"flex items-center justify-between w-full p-3",children:[m.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["Show Columns (",o.size,"/",p.length,")"]}),u?m.jsx(zL,{className:"w-4 h-4 text-muted-foreground"}):m.jsx(vo,{className:"w-4 h-4 text-muted-foreground"})]}),m.jsx(_B,{children:m.jsx("div",{className:"flex flex-wrap gap-2 px-3 pb-3",children:p.map(P=>{const M=o.has(P),V=e.filter(Z=>Z.status===P).length;return m.jsxs("button",{type:"button",onClick:()=>_(P),className:Ne("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg transition-colors text-xs",M?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[M?m.jsx(Ik,{className:"w-3.5 h-3.5"}):m.jsx(QE,{className:"w-3.5 h-3.5"}),m.jsxs("span",{className:"font-medium",children:[Uc(P)," (",V,")"]})]},P)})})})]}):m.jsx("div",{className:"shrink-0 bg-card rounded-lg p-4 mb-4 border border-border",children:m.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[m.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Show Columns:"}),p.map(P=>{const M=o.has(P),V=e.filter(Z=>Z.status===P).length;return m.jsxs("button",{type:"button",onClick:()=>_(P),className:Ne("flex items-center gap-2 px-3 py-1.5 rounded-lg transition-colors",M?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[M?m.jsx(Ik,{className:"w-4 h-4"}):m.jsx(QE,{className:"w-4 h-4"}),m.jsxs("span",{className:"text-sm font-medium",children:[Uc(P)," (",V,")"]})]},P)})]})}),m.jsxs(Er,{className:"flex-1",children:[o.size>0?m.jsx(K0e,{columns:b,data:v,onDataChange:I,className:"min-h-full pb-4",children:P=>{const M=Z0e(P.id,h),V=v.filter(Z=>Z.column===P.id).length;return m.jsxs(V0e,{id:P.id,className:Ne("min-w-[320px] max-w-[380px]",f&&"min-w-0 max-w-none w-full",M.bg,M.border),children:[m.jsxs(q0e,{className:"flex items-center justify-between",children:[m.jsx("span",{className:"font-bold text-sm uppercase tracking-wide text-foreground",children:P.name}),m.jsx("span",{className:"text-xs rounded-full px-2 py-1 font-medium text-muted-foreground bg-background",children:V})]}),m.jsx(Y0e,{id:P.id,children:Z=>m.jsx(J0e,{item:Z,statusColors:h,onClick:()=>D(Z.task)},Z.id)})]},P.id)}}):m.jsx("div",{className:"text-center py-12",children:m.jsx("p",{className:"text-lg text-muted-foreground",children:"No columns visible. Please select at least one column to display."})}),m.jsx(Kh,{orientation:"horizontal"})]}),m.jsx(DB,{task:w,allTasks:e,onClose:k,onUpdate:L,onArchive:Y,onNavigateToTask:F})]})}function J0e({item:e,statusColors:t,onClick:n}){const{task:r}=e,a=X0e(r.status,t),o=r.acceptanceCriteria.filter(u=>u.completed).length,s=r.acceptanceCriteria.length;return m.jsx(G0e,{id:e.id,name:e.name,column:e.column,className:"w-full",children:m.jsxs("div",{onClick:n,onKeyDown:u=>u.key==="Enter"&&n(),role:"button",tabIndex:0,className:"cursor-pointer",children:[m.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[m.jsxs("span",{className:"text-xs font-mono shrink-0 text-muted-foreground",children:["#",r.id]}),m.jsxs("div",{className:"flex items-center gap-1 flex-wrap justify-end",children:[m.jsx("span",{className:Ne("text-xs px-1.5 py-0.5 rounded font-medium",a),children:Uc(r.status)}),r.priority==="high"&&m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded font-medium bg-destructive/10 text-destructive dark:bg-destructive/20",children:"HIGH"}),r.priority==="medium"&&m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded font-medium bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400",children:"MED"})]})]}),m.jsx("h3",{className:"font-medium text-sm mb-2 line-clamp-2 text-foreground",children:r.title}),s>0&&m.jsxs("div",{className:"flex items-center gap-2 text-xs mb-2 text-muted-foreground",children:[m.jsx(VL,{className:"w-3 h-3","aria-hidden":"true"}),m.jsxs("span",{children:[o,"/",s]})]}),r.labels.length>0&&m.jsx("div",{className:"flex flex-wrap gap-1 mb-2",children:r.labels.map(u=>m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-secondary text-secondary-foreground",children:u},u))}),r.assignee&&m.jsxs("div",{className:"flex items-center gap-1.5 text-xs mt-2 text-muted-foreground",children:[m.jsx(Rd,{name:r.assignee,size:"sm"}),m.jsx("span",{children:r.assignee})]})]})})}const _L=[{value:"todo",label:"To Do"},{value:"in-progress",label:"In Progress"},{value:"in-review",label:"In Review"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],RL=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}],kL={todo:"bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300","in-progress":"bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300","in-review":"bg-purple-100 dark:bg-purple-900 text-purple-700 dark:text-purple-300",done:"bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300",blocked:"bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300"},DL={low:"bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-400",medium:"bg-amber-100 dark:bg-amber-900 text-amber-700 dark:text-amber-300",high:"bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300"};function eye({isOpen:e,allTasks:t,onClose:n,onCreated:r}){const{currentUser:a}=U6(),o=E.useRef(null),s=E.useRef(null),[u,c]=E.useState(""),[f,p]=E.useState(""),[h,b]=E.useState("todo"),[y,v]=E.useState("medium"),[T,w]=E.useState(""),[A,N]=E.useState([]),[_,I]=E.useState(""),[D,k]=E.useState([]),[L,F]=E.useState(""),[Y,P]=E.useState(""),[M,V]=E.useState(!1),[Z,ae]=E.useState(null),[se,q]=E.useState(!1),[ne,ie]=E.useState(""),[le,H]=E.useState(!1),[K,G]=E.useState(""),[O,te]=E.useState(!1),[ue,$]=E.useState(!1),{preferences:Q,toggleTaskCreateLayout:J}=z6(),fe=Q.taskCreateLayout==="maximized",xe=E.useRef(null),Ie={hidden:{opacity:0,y:20,scale:.98},visible:{opacity:1,y:0,scale:1,transition:{duration:.2,ease:"easeOut"}},exit:{opacity:0,y:10,scale:.98,transition:{duration:.15,ease:"easeIn"}}};E.useEffect(()=>{e||(c(""),p(""),b("todo"),v("medium"),w(""),N([]),I(""),k([]),F(""),P(""),ae(null),q(!1),ie(""),H(!1),G(""),te(!1),$(!1))},[e]),E.useEffect(()=>{e&&setTimeout(()=>o.current?.focus(),100)},[e,fe]),E.useEffect(()=>{le&&xe.current&&xe.current.focus()},[le]);const Ee=E.useCallback(()=>{ne.trim()&&(k(Te=>[...Te,{id:crypto.randomUUID(),text:ne.trim()}]),ie(""),H(!1))},[ne]),Ke=E.useCallback(Te=>{k(Ye=>Ye.filter(St=>St.id!==Te))},[]),Ze=E.useCallback(()=>{K.trim()&&(A.includes(K.trim())||N(Te=>[...Te,K.trim()]),G(""),te(!1))},[K,A]),De=E.useCallback(Te=>{N(Ye=>Ye.filter(St=>St!==Te))},[]),mt=async Te=>{if(Te.preventDefault(),ae(null),!u.trim()){ae("Title is required");return}V(!0);try{const Ye={title:u.trim(),description:f.trim()||void 0,status:h,priority:y,labels:A,assignee:T.trim()||void 0,parent:_||void 0,acceptanceCriteria:D.map(St=>({text:St.text,completed:!1})),implementationPlan:L.trim()||void 0,implementationNotes:Y.trim()||void 0};await bH(Ye),q(!0),_i.success("Task created successfully",{description:u.trim()}),setTimeout(()=>{r(),n()},800)}catch(Ye){const St=Ye instanceof Error?Ye.message:"Failed to create task";ae(St),_i.error("Failed to create task",{description:St})}finally{V(!1)}},Me=_?t.find(Te=>Te.id===_):null,ft=m.jsxs("div",{className:"flex items-center justify-between gap-2 p-4 border-b bg-green-700",children:[m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("span",{className:"text-green-100 text-xs font-medium uppercase tracking-wide",children:"New Task"}),m.jsx("input",{ref:o,type:"text",value:u,onChange:Te=>c(Te.target.value),placeholder:"Enter task title...",className:"w-full text-lg font-semibold bg-white/20 text-white placeholder-white/60 border-0 rounded px-2 py-1 mt-1 focus:outline-none focus:ring-2 focus:ring-white/50",disabled:M})]}),m.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[m.jsx(Ge,{variant:"ghost",size:"icon",onClick:J,className:"h-8 w-8 text-foreground hover:text-foreground",title:fe?"Minimize":"Maximize",children:fe?m.jsx(WL,{className:"w-4 h-4"}):m.jsx(qL,{className:"w-4 h-4"})}),m.jsx(Ge,{variant:"ghost",size:"icon",onClick:n,className:"h-8 w-8 text-foreground hover:text-foreground",title:"Close",children:m.jsx(Yr,{className:"w-4 h-4"})})]})]}),Et=(se||Z)&&m.jsxs("div",{className:"px-4 pt-4",children:[se&&m.jsx("div",{className:"bg-green-50 dark:bg-green-900/50 border border-green-200 dark:border-green-700 text-green-700 dark:text-green-300 px-4 py-2 rounded-lg text-sm",children:"Task created successfully!"}),Z&&m.jsx("div",{className:"bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 text-red-700 dark:text-red-300 px-4 py-2 rounded-lg text-sm",children:Z})]}),ot=m.jsxs("div",{className:"p-6 space-y-6",children:[m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(ZL,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Description"})]}),m.jsx(bo,{markdown:f,onChange:p,placeholder:"Add a more detailed description...",readOnly:M})]}),m.jsxs("section",{children:[m.jsx("div",{className:"flex items-center justify-between mb-3",children:m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(kh,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Acceptance Criteria"}),D.length>0&&m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",D.length,")"]})]})}),m.jsx("div",{className:"space-y-2",children:D.map(Te=>m.jsxs("div",{className:"flex items-start gap-2 bg-muted/50 rounded-lg px-3 py-2 group hover:shadow-sm transition-shadow",children:[m.jsx("input",{type:"checkbox",checked:!1,disabled:!0,className:"mt-1 w-4 h-4 rounded cursor-not-allowed opacity-50"}),m.jsx("span",{className:"flex-1 text-sm",children:Te.text}),m.jsx("button",{type:"button",onClick:()=>Ke(Te.id),className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500 p-1 transition-all",title:"Delete",children:m.jsx($l,{className:"w-4 h-4"})})]},Te.id))}),le?m.jsxs("div",{className:"mt-2 bg-muted/50 rounded-lg px-3 py-2",children:[m.jsx("input",{ref:xe,type:"text",value:ne,onChange:Te=>ie(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&ne.trim()&&(Te.preventDefault(),Ee()),Te.key==="Escape"&&(ie(""),H(!1))},placeholder:"Add an item...",className:"w-full border border-input rounded px-2 py-1.5 text-sm bg-background focus:outline-none focus:ring-2 focus:ring-green-500",disabled:M}),m.jsxs("div",{className:"flex gap-2 mt-2",children:[m.jsx(Ge,{type:"button",size:"sm",onClick:Ee,disabled:!ne.trim()||M,className:"bg-green-700 hover:bg-green-800 text-white",children:"Add"}),m.jsx(Ge,{type:"button",variant:"ghost",size:"sm",onClick:()=>{ie(""),H(!1)},children:"Cancel"})]})]}):m.jsxs("button",{type:"button",onClick:()=>H(!0),className:"mt-2 flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground hover:bg-muted px-3 py-2 rounded-lg transition-colors w-full",disabled:M,children:[m.jsx(pa,{className:"w-4 h-4"}),m.jsx("span",{children:"Add an item"})]})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(Xa,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Implementation Plan"}),m.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),m.jsx(bo,{markdown:L,onChange:F,placeholder:"Describe how you plan to implement this task...",readOnly:M})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(o$,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Implementation Notes"}),m.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),m.jsx(bo,{markdown:Y,onChange:P,placeholder:"Add notes, observations, or any other relevant information...",readOnly:M})]})]}),Kt=m.jsxs("div",{className:"p-4 space-y-6",children:[m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(br,{value:h,onValueChange:Te=>b(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full",kL[h]),children:m.jsx(yr,{})}),m.jsx(dr,{children:_L.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(br,{value:y,onValueChange:Te=>v(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full",DL[y]),children:m.jsx(yr,{})}),m.jsx(dr,{children:RL.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(yh,{value:T,onChange:w,showGrabButton:!1,currentUser:a,container:s.current})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Labels"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:A.map(Te=>m.jsxs(ql,{variant:"secondary",className:"gap-1 pr-1",children:[Te,m.jsx("button",{type:"button",onClick:()=>De(Te),className:"ml-1 hover:text-destructive",children:m.jsx(Yr,{className:"w-3 h-3"})})]},Te))}),O?m.jsxs("div",{className:"space-y-2",children:[m.jsx(Fn,{value:K,onChange:Te=>G(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&K.trim()&&(Te.preventDefault(),Ze()),Te.key==="Escape"&&(G(""),te(!1))},placeholder:"Label name",disabled:M,autoFocus:!0}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx(Ge,{size:"sm",onClick:Ze,disabled:!K.trim()||M,children:"Add"}),m.jsx(Ge,{size:"sm",variant:"ghost",onClick:()=>{G(""),te(!1)},children:"Cancel"})]})]}):m.jsxs(Ge,{variant:"ghost",size:"sm",className:"w-full justify-start text-muted-foreground",onClick:()=>te(!0),disabled:M,children:[m.jsx(pa,{className:"w-4 h-4 mr-2"}),"Add label"]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Parent Task"}),m.jsxs(hh,{open:ue,onOpenChange:$,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"outline",role:"combobox","aria-expanded":ue,className:"w-full justify-between h-auto min-h-10 py-2",disabled:M,title:Me?`#${Me.id} - ${Me.title}`:void 0,children:[Me?m.jsxs("div",{className:"flex items-center gap-2 text-left overflow-hidden min-w-0 flex-1",children:[m.jsx(Hl,{className:"w-4 h-4 shrink-0 text-muted-foreground"}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Me.id]}),m.jsx("p",{className:"truncate text-sm",children:Me.title})]})]}):m.jsx("span",{className:"text-muted-foreground",children:"Select parent task..."}),m.jsx(Dm,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),m.jsx(wd,{className:"w-[400px] p-0",align:"start",children:m.jsxs(Cd,{children:[m.jsx(Ad,{placeholder:"Search tasks..."}),m.jsxs(Nd,{children:[m.jsx(_d,{children:"No task found."}),m.jsxs(Eo,{children:[m.jsxs(Aa,{value:"none",onSelect:()=>{I(""),$(!1)},children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(Te=>m.jsxs(Aa,{value:`${Te.id} ${Te.title}`,onSelect:()=>{I(Te.id),$(!1)},title:`#${Te.id} - ${Te.title}`,children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_===Te.id?"opacity-100":"opacity-0")}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Te.id]}),m.jsx("p",{className:"truncate text-sm",children:Te.title})]})]},Te.id))]})]})]})})]})]})]}),At=m.jsxs("div",{className:"border-t px-6 py-4 bg-muted/30 flex justify-end gap-3",children:[m.jsx(Ge,{type:"button",variant:"ghost",onClick:n,disabled:M,children:"Cancel"}),m.jsx(Ge,{type:"button",onClick:mt,className:"bg-green-700 hover:bg-green-800 text-white",disabled:M||se||!u.trim(),children:M?"Creating...":"Create Task"})]});return fe?m.jsx(Pm,{children:e&&m.jsx(bx,{open:e,onOpenChange:Te=>!Te&&n(),children:m.jsxs(Vh,{className:"max-w-6xl w-[95vw] h-[90vh] p-0 gap-0 overflow-hidden flex flex-col",hideCloseButton:!0,children:[m.jsx(yx,{className:"sr-only",children:"Create New Task"}),m.jsxs(Hm.div,{ref:s,className:"flex flex-col h-full overflow-hidden",variants:Ie,initial:"hidden",animate:"visible",exit:"exit",children:[ft,Et,m.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[m.jsx(Er,{className:"flex-1",children:ot}),m.jsx("div",{className:"shrink-0 w-72 border-l bg-muted/20",children:m.jsx(Er,{className:"h-full",children:Kt})})]}),At]})]})})}):m.jsx(Pm,{children:e&&m.jsx(mx,{open:e,onOpenChange:Te=>!Te&&n(),children:m.jsx($h,{side:"right",className:"w-full sm:max-w-2xl lg:max-w-3xl xl:max-w-4xl p-0 flex flex-col gap-0",hideCloseButton:!0,children:m.jsxs(Hm.div,{ref:s,className:"flex flex-col h-full overflow-hidden",variants:Ie,initial:"hidden",animate:"visible",exit:"exit",children:[ft,Et,m.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[m.jsx("div",{className:"shrink-0 border-b bg-muted/20",children:m.jsxs("div",{className:"p-4 space-y-3",children:[m.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(br,{value:h,onValueChange:Te=>b(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full h-9",kL[h]),children:m.jsx(yr,{})}),m.jsx(dr,{children:_L.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(br,{value:y,onValueChange:Te=>v(Te),disabled:M,children:[m.jsx(cr,{className:Ne("w-full h-9",DL[y]),children:m.jsx(yr,{})}),m.jsx(dr,{children:RL.map(Te=>m.jsx(Wt,{value:Te.value,children:Te.label},Te.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(yh,{value:T,onChange:w,showGrabButton:!1,currentUser:a,container:s.current})]})]}),m.jsxs("div",{className:"flex items-start gap-4 flex-wrap",children:[m.jsxs("div",{className:"flex items-center gap-2 flex-wrap flex-1 min-w-0",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Labels:"}),m.jsxs("div",{className:"flex flex-wrap gap-1 flex-1",children:[A.map(Te=>m.jsxs(ql,{variant:"secondary",className:"gap-1 pr-1 text-xs",children:[Te,m.jsx("button",{type:"button",onClick:()=>De(Te),className:"ml-0.5 hover:text-destructive",children:m.jsx(Yr,{className:"w-3 h-3"})})]},Te)),!O&&m.jsxs(Ge,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs text-muted-foreground",onClick:()=>te(!0),children:[m.jsx(pa,{className:"w-3 h-3 mr-1"}),"Add"]})]}),O&&m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(Fn,{value:K,onChange:Te=>G(Te.target.value),onKeyDown:Te=>{Te.key==="Enter"&&K.trim()&&Ze(),Te.key==="Escape"&&(G(""),te(!1))},placeholder:"Label",className:"h-7 w-24 text-xs",autoFocus:!0}),m.jsx(Ge,{size:"sm",className:"h-7 px-2",onClick:Ze,disabled:!K.trim(),children:"Add"}),m.jsx(Ge,{size:"sm",variant:"ghost",className:"h-7 px-2",onClick:()=>{G(""),te(!1)},children:m.jsx(Yr,{className:"w-3 h-3"})})]})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(dn,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Parent:"}),m.jsxs(hh,{open:ue,onOpenChange:$,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"outline",role:"combobox",size:"sm",className:"h-7 justify-between min-w-[120px] max-w-[250px]",disabled:M,title:Me?`#${Me.id} - ${Me.title}`:void 0,children:[Me?m.jsxs("span",{className:"truncate text-xs",children:["#",Me.id," - ",Me.title]}):m.jsx("span",{className:"text-muted-foreground text-xs",children:"None"}),m.jsx(Dm,{className:"ml-1 h-3 w-3 shrink-0 opacity-50"})]})}),m.jsx(wd,{className:"w-[400px] p-0",align:"end",children:m.jsxs(Cd,{children:[m.jsx(Ad,{placeholder:"Search tasks..."}),m.jsxs(Nd,{children:[m.jsx(_d,{children:"No task found."}),m.jsxs(Eo,{children:[m.jsxs(Aa,{value:"none",onSelect:()=>{I(""),$(!1)},children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(Te=>m.jsxs(Aa,{value:`${Te.id} ${Te.title}`,onSelect:()=>{I(Te.id),$(!1)},title:`#${Te.id} - ${Te.title}`,children:[m.jsx(da,{className:Ne("mr-2 h-4 w-4 shrink-0",_===Te.id?"opacity-100":"opacity-0")}),m.jsxs("div",{className:"overflow-hidden min-w-0 flex-1",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono block",children:["#",Te.id]}),m.jsx("p",{className:"truncate text-sm",children:Te.title})]})]},Te.id))]})]})]})})]})]})]})]})}),m.jsx(Er,{className:"flex-1",children:ot})]}),At]})})})})}var tye=Symbol("radix.slottable");function nye(e){const t=({children:n})=>m.jsx(m.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=tye,t}var[Kg]=ga("Tooltip",[Io]),Xg=Io(),lU="TooltipProvider",rye=700,g1="tooltip.open",[aye,mN]=Kg(lU),uU=e=>{const{__scopeTooltip:t,delayDuration:n=rye,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:o}=e,s=E.useRef(!0),u=E.useRef(!1),c=E.useRef(0);return E.useEffect(()=>{const f=c.current;return()=>window.clearTimeout(f)},[]),m.jsx(aye,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:E.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:E.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:E.useCallback(f=>{u.current=f},[]),disableHoverableContent:a,children:o})};uU.displayName=lU;var Id="Tooltip",[iye,Ef]=Kg(Id),cU=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a,onOpenChange:o,disableHoverableContent:s,delayDuration:u}=e,c=mN(Id,e.__scopeTooltip),f=Xg(t),[p,h]=E.useState(null),b=Gn(),y=E.useRef(0),v=s??c.disableHoverableContent,T=u??c.delayDuration,w=E.useRef(!1),[A,N]=Di({prop:r,defaultProp:a??!1,onChange:L=>{L?(c.onOpen(),document.dispatchEvent(new CustomEvent(g1))):c.onClose(),o?.(L)},caller:Id}),_=E.useMemo(()=>A?w.current?"delayed-open":"instant-open":"closed",[A]),I=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w.current=!1,N(!0)},[N]),D=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,N(!1)},[N]),k=E.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,N(!0),y.current=0},T)},[T,N]);return E.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),m.jsx(Lg,{...f,children:m.jsx(iye,{scope:t,contentId:b,open:A,stateAttribute:_,trigger:p,onTriggerChange:h,onTriggerEnter:E.useCallback(()=>{c.isOpenDelayedRef.current?k():I()},[c.isOpenDelayedRef,k,I]),onTriggerLeave:E.useCallback(()=>{v?D():(window.clearTimeout(y.current),y.current=0)},[D,v]),onOpen:I,onClose:D,disableHoverableContent:v,children:n})})};cU.displayName=Id;var b1="TooltipTrigger",dU=E.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Ef(b1,n),o=mN(b1,n),s=Xg(n),u=E.useRef(null),c=Rt(t,u,a.onTriggerChange),f=E.useRef(!1),p=E.useRef(!1),h=E.useCallback(()=>f.current=!1,[]);return E.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),m.jsx(ff,{asChild:!0,...s,children:m.jsx(rt.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:c,onPointerMove:qe(e.onPointerMove,b=>{b.pointerType!=="touch"&&!p.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),p.current=!0)}),onPointerLeave:qe(e.onPointerLeave,()=>{a.onTriggerLeave(),p.current=!1}),onPointerDown:qe(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:qe(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:qe(e.onBlur,a.onClose),onClick:qe(e.onClick,a.onClose)})})});dU.displayName=b1;var hN="TooltipPortal",[oye,sye]=Kg(hN,{forceMount:void 0}),fU=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:a}=e,o=Ef(hN,t);return m.jsx(oye,{scope:t,forceMount:n,children:m.jsx(qn,{present:n||o.open,children:m.jsx(iu,{asChild:!0,container:a,children:r})})})};fU.displayName=hN;var Jl="TooltipContent",pU=E.forwardRef((e,t)=>{const n=sye(Jl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...o}=e,s=Ef(Jl,e.__scopeTooltip);return m.jsx(qn,{present:r||s.open,children:s.disableHoverableContent?m.jsx(mU,{side:a,...o,ref:t}):m.jsx(lye,{side:a,...o,ref:t})})}),lye=E.forwardRef((e,t)=>{const n=Ef(Jl,e.__scopeTooltip),r=mN(Jl,e.__scopeTooltip),a=E.useRef(null),o=Rt(t,a),[s,u]=E.useState(null),{trigger:c,onClose:f}=n,p=a.current,{onPointerInTransitChange:h}=r,b=E.useCallback(()=>{u(null),h(!1)},[h]),y=E.useCallback((v,T)=>{const w=v.currentTarget,A={x:v.clientX,y:v.clientY},N=pye(A,w.getBoundingClientRect()),_=mye(A,N),I=hye(T.getBoundingClientRect()),D=bye([..._,...I]);u(D),h(!0)},[h]);return E.useEffect(()=>()=>b(),[b]),E.useEffect(()=>{if(c&&p){const v=w=>y(w,p),T=w=>y(w,c);return c.addEventListener("pointerleave",v),p.addEventListener("pointerleave",T),()=>{c.removeEventListener("pointerleave",v),p.removeEventListener("pointerleave",T)}}},[c,p,y,b]),E.useEffect(()=>{if(s){const v=T=>{const w=T.target,A={x:T.clientX,y:T.clientY},N=c?.contains(w)||p?.contains(w),_=!gye(A,s);N?b():_&&(b(),f())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[c,p,s,f,b]),m.jsx(mU,{...e,ref:o})}),[uye,cye]=Kg(Id,{isInside:!1}),dye=nye("TooltipContent"),mU=E.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:o,onPointerDownOutside:s,...u}=e,c=Ef(Jl,n),f=Xg(n),{onClose:p}=c;return E.useEffect(()=>(document.addEventListener(g1,p),()=>document.removeEventListener(g1,p)),[p]),E.useEffect(()=>{if(c.trigger){const h=b=>{b.target?.contains(c.trigger)&&p()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,p]),m.jsx(au,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:h=>h.preventDefault(),onDismiss:p,children:m.jsxs(Mg,{"data-state":c.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[m.jsx(dye,{children:r}),m.jsx(uye,{scope:n,isInside:!0,children:m.jsx(Qpe,{id:c.contentId,role:"tooltip",children:a||r})})]})})});pU.displayName=Jl;var hU="TooltipArrow",fye=E.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=Xg(n);return cye(hU,n).isInside?null:m.jsx(Fg,{...a,...r,ref:t})});fye.displayName=hU;function pye(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,a,o)){case o:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mye(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function hye(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function gye(e,t){const{x:n,y:r}=e;let a=!1;for(let o=0,s=t.length-1;o<t.length;s=o++){const u=t[o],c=t[s],f=u.x,p=u.y,h=c.x,b=c.y;p>r!=b>r&&n<(h-f)*(r-p)/(b-p)+f&&(a=!a)}return a}function bye(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),yye(t)}function yye(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const a=e[r];for(;t.length>=2;){const o=t[t.length-1],s=t[t.length-2];if((o.x-s.x)*(a.y-s.y)>=(o.y-s.y)*(a.x-s.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const o=n[n.length-1],s=n[n.length-2];if((o.x-s.x)*(a.y-s.y)>=(o.y-s.y)*(a.x-s.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Eye=uU,vye=cU,xye=dU,Sye=fU,gU=pU;const Tye=Eye,wye=vye,Cye=xye,bU=E.forwardRef(({className:e,sideOffset:t=4,...n},r)=>m.jsx(Sye,{children:m.jsx(gU,{ref:r,sideOffset:t,className:Ne("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));bU.displayName=gU.displayName;const Aye="sidebar_state",Nye=3600*24*7,_ye="16rem",Rye="18rem",kye="3rem",Dye="b",yU=E.createContext(null);function vf(){const e=E.useContext(yU);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const EU=E.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s},u)=>{const c=Wg(),[f,p]=E.useState(!1),[h,b]=E.useState(e),y=t??h,v=E.useCallback(N=>{const _=typeof N=="function"?N(y):N;n?n(_):b(_),document.cookie=`${Aye}=${_}; path=/; max-age=${Nye}`},[n,y]),T=E.useCallback(()=>c?p(N=>!N):v(N=>!N),[c,v,p]);E.useEffect(()=>{const N=_=>{_.key===Dye&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),T())};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[T]);const w=y?"expanded":"collapsed",A=E.useMemo(()=>({state:w,open:y,setOpen:v,isMobile:c,openMobile:f,setOpenMobile:p,toggleSidebar:T}),[w,y,v,c,f,p,T]);return m.jsx(yU.Provider,{value:A,children:m.jsx(Tye,{delayDuration:0,children:m.jsx("div",{style:{"--sidebar-width":_ye,"--sidebar-width-icon":kye,...a},className:Ne("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:u,...s,children:o})})})});EU.displayName="SidebarProvider";const vU=E.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:a,...o},s)=>{const{isMobile:u,state:c,openMobile:f,setOpenMobile:p}=vf();return n==="none"?m.jsx("div",{className:Ne("flex h-full w-[var(--sidebar-width)] flex-col bg-sidebar text-sidebar-foreground",r),ref:s,...o,children:a}):u?m.jsx(mx,{open:f,onOpenChange:p,...o,children:m.jsxs($h,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[var(--sidebar-width)] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Rye},side:e,children:[m.jsxs(hx,{className:"sr-only",children:[m.jsx(gx,{children:"Sidebar"}),m.jsx(S6,{children:"Displays the mobile sidebar."})]}),m.jsx("div",{className:"flex h-full w-full flex-col",children:a})]})}):m.jsxs("div",{ref:s,className:"group peer hidden text-sidebar-foreground md:block","data-state":c,"data-collapsible":c==="collapsed"?n:"","data-variant":t,"data-side":e,children:[m.jsx("div",{className:Ne("relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]")}),m.jsx("div",{className:Ne("fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...o,children:m.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:a})})]})});vU.displayName="Sidebar";const xU=E.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:a}=vf();return m.jsxs(Ge,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Ne("h-7 w-7",e),onClick:o=>{t?.(o),a()},...n,children:[m.jsx(Gz,{}),m.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});xU.displayName="SidebarTrigger";const SU=E.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=vf();return m.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:Ne("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});SU.displayName="SidebarRail";const Iye=E.forwardRef(({className:e,...t},n)=>m.jsx("main",{ref:n,className:Ne("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));Iye.displayName="SidebarInset";const Oye=E.forwardRef(({className:e,...t},n)=>m.jsx(Fn,{ref:n,"data-sidebar":"input",className:Ne("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));Oye.displayName="SidebarInput";const TU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"header",className:Ne("flex flex-col gap-2 p-2",e),...t}));TU.displayName="SidebarHeader";const wU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"footer",className:Ne("flex flex-col gap-2 p-2",e),...t}));wU.displayName="SidebarFooter";const Lye=E.forwardRef(({className:e,...t},n)=>m.jsx(xd,{ref:n,"data-sidebar":"separator",className:Ne("mx-2 w-auto bg-sidebar-border",e),...t}));Lye.displayName="SidebarSeparator";const CU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"content",className:Ne("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));CU.displayName="SidebarContent";const AU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group",className:Ne("relative flex w-full min-w-0 flex-col p-2",e),...t}));AU.displayName="SidebarGroup";const NU=E.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const a=t?uu:"div";return m.jsx(a,{ref:r,"data-sidebar":"group-label",className:Ne("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});NU.displayName="SidebarGroupLabel";const Mye=E.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const a=t?uu:"button";return m.jsx(a,{ref:r,"data-sidebar":"group-action",className:Ne("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});Mye.displayName="SidebarGroupAction";const _U=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group-content",className:Ne("w-full text-sm",e),...t}));_U.displayName="SidebarGroupContent";const Nm=E.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu",className:Ne("flex w-full min-w-0 flex-col gap-1",e),...t}));Nm.displayName="SidebarMenu";const _m=E.forwardRef(({className:e,...t},n)=>m.jsx("li",{ref:n,"data-sidebar":"menu-item",className:Ne("group/menu-item relative",e),...t}));_m.displayName="SidebarMenuItem";const Fye=ou("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Rm=E.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:a,className:o,...s},u)=>{const c=e?uu:"button",{isMobile:f,state:p}=vf(),h=m.jsx(c,{ref:u,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:Ne(Fye({variant:n,size:r}),o),...s});return a?(typeof a=="string"&&(a={children:a}),m.jsxs(wye,{children:[m.jsx(Cye,{asChild:!0,children:h}),m.jsx(bU,{side:"right",align:"center",hidden:p!=="collapsed"||f,...a})]})):h});Rm.displayName="SidebarMenuButton";const Pye=E.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},a)=>{const o=t?uu:"button";return m.jsx(o,{ref:a,"data-sidebar":"menu-action",className:Ne("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...r})});Pye.displayName="SidebarMenuAction";const Bye=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:Ne("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Bye.displayName="SidebarMenuBadge";const Uye=E.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const a=E.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return m.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Ne("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&m.jsx(L3,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),m.jsx(L3,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":a}})]})});Uye.displayName="SidebarMenuSkeleton";const jye=E.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:Ne("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));jye.displayName="SidebarMenuSub";const Hye=E.forwardRef(({...e},t)=>m.jsx("li",{ref:t,...e}));Hye.displayName="SidebarMenuSubItem";const zye=E.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...a},o)=>{const s=e?uu:"a";return m.jsx(s,{ref:o,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:Ne("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...a})});zye.displayName="SidebarMenuSubButton";const $ye=[{id:"kanban",label:"Kanban",icon:kz,href:"#/"},{id:"tasks",label:"Tasks",icon:YL,href:"#/tasks"},{id:"docs",label:"Docs",icon:Xa,href:"#/docs"}];function Vye({currentPage:e,onSearchClick:t}){const{state:n}=vf(),r=Wg(),a=n==="expanded";return m.jsxs(vU,{collapsible:"icon",variant:r?"floating":"sidebar",children:[m.jsxs(TU,{children:[m.jsx(Nm,{children:m.jsx(_m,{children:m.jsx(Rm,{size:"lg",asChild:!0,children:m.jsxs("a",{href:"#/",children:[m.jsx("div",{className:"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground",children:m.jsx("span",{className:"text-lg font-bold",children:"◆"})}),m.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[m.jsx("span",{className:"truncate font-semibold",children:"Knowns.dev"}),m.jsx("span",{className:"truncate text-xs",children:"Task Management"})]})]})})})}),a&&m.jsx("div",{className:"px-2 pb-2",children:m.jsxs("button",{type:"button",onClick:t,className:"flex w-full items-center gap-2 rounded-lg border bg-background px-3 py-2 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors",children:[m.jsx(Dh,{className:"h-4 w-4"}),m.jsx("span",{children:"Search..."}),m.jsxs("kbd",{className:"ml-auto pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100",children:[m.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]})})]}),m.jsx(CU,{children:m.jsxs(AU,{children:[m.jsx(NU,{children:"Navigation"}),m.jsx(_U,{children:m.jsx(Nm,{children:$ye.map(o=>{const s=e===o.id;return m.jsx(_m,{children:m.jsx(Rm,{asChild:!0,isActive:s,tooltip:o.label,children:m.jsxs("a",{href:o.href,children:[m.jsx(o.icon,{}),m.jsx("span",{children:o.label})]})})},o.id)})})})]})}),m.jsxs(wU,{children:[m.jsx(Nm,{children:m.jsx(_m,{children:m.jsx(Rm,{asChild:!0,isActive:e==="config",tooltip:"Settings",children:m.jsxs("a",{href:"#/config",children:[m.jsx(_1,{}),m.jsx("span",{children:"Settings"})]})})})}),a&&m.jsx("div",{className:"px-3 py-2 text-xs text-sidebar-foreground/50",children:m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("a",{href:"https://github.com/knowns-dev/knowns",target:"_blank",rel:"noopener noreferrer",className:"hover:text-sidebar-foreground transition-colors",children:"Knowns"}),m.jsx("span",{className:"font-mono",children:"0.4.0"})]})})]}),m.jsx(SU,{})]})}const Gye=[{value:"all",label:"All"},{value:"status",label:"Status"},{value:"assignee",label:"Assignee"},{value:"content",label:"Content"}];function Yye(e){const t=e.changes;if(t.length===0)return"Updated";const n=t.find(s=>s.field==="status");if(n){const s=String(n.newValue);return s==="done"?"Completed":s==="in-progress"?"Started working on":s==="in-review"?"Submitted for review":s==="blocked"?"Blocked":`Changed status to ${s}`}const r=t.find(s=>s.field==="assignee");if(r){const s=r.newValue;return s?`Assigned to ${s}`:"Unassigned"}if(t.find(s=>s.field==="title"))return"Updated title";const o=t.find(s=>s.field==="priority");return o?`Set priority to ${o.newValue}`:t.some(s=>s.field==="description")?"Updated description":t.some(s=>s.field==="acceptanceCriteria")?"Updated acceptance criteria":t.some(s=>s.field==="implementationPlan")?"Updated plan":t.some(s=>s.field==="implementationNotes")?"Updated notes":t.some(s=>s.field==="labels")?"Updated labels":`Updated ${t.length} field(s)`}function qye(e){const n=new Date().getTime()-e.getTime(),r=Math.floor(n/6e4),a=Math.floor(n/36e5),o=Math.floor(n/864e5);return r<1?"just now":r<60?`${r}m ago`:a<24?`${a}h ago`:o<7?`${o}d ago`:e.toLocaleDateString()}function Wye(e){return e.some(t=>t.field==="status"&&t.newValue==="done")?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":e.some(t=>t.field==="status"&&t.newValue==="in-progress")?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":e.some(t=>t.field==="status"&&t.newValue==="blocked")?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":e.some(t=>t.field==="assignee")?"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400":"bg-muted text-muted-foreground"}function Kye({limit:e=20,showFilter:t=!0,onTaskClick:n}){const[r,a]=E.useState([]),[o,s]=E.useState(!0),[u,c]=E.useState("all"),[f,p]=E.useState(!1),h=E.useCallback(async()=>{try{const v=u==="all"?void 0:u,T=await Na.getActivities({limit:e,type:v});a(T)}catch(v){console.error("Failed to load activities:",v)}finally{s(!1),p(!1)}},[e,u]);E.useEffect(()=>{h()},[h]),E.useEffect(()=>{const v=Md(T=>{T.type==="tasks:updated"&&h()});return()=>{v&&v.close()}},[h]);const b=()=>{p(!0),h()},y=v=>{n?n(v):window.location.hash=`/kanban/${v}`};return m.jsxs("div",{className:"flex flex-col h-full",children:[m.jsxs("div",{className:"flex items-center justify-between mb-3",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(kk,{className:"w-5 h-5"}),m.jsx("h3",{className:"font-semibold",children:"Recent Activity"})]}),m.jsx(Ge,{variant:"ghost",size:"icon",onClick:b,disabled:f,className:"h-8 w-8",children:m.jsx(XL,{className:`w-4 h-4 ${f?"animate-spin":""}`})})]}),t&&m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(N1,{className:"w-4 h-4 text-muted-foreground"}),m.jsx("select",{value:u,onChange:v=>c(v.target.value),className:"text-sm rounded px-2 py-1 bg-card border flex-1",children:Gye.map(v=>m.jsx("option",{value:v.value,children:v.label},v.value))})]}),m.jsx(Er,{className:"flex-1",children:m.jsx("div",{className:"space-y-1.5 pr-3",children:o?m.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"Loading activities..."}):r.length===0?m.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:"No recent activity"}):r.map((v,T)=>m.jsx("div",{role:"button",tabIndex:0,onClick:w=>{w.preventDefault(),w.stopPropagation(),y(v.taskId)},onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),y(v.taskId))},className:"w-full bg-card rounded p-2 text-left hover:bg-accent transition-colors border cursor-pointer select-none",children:m.jsxs("div",{className:"flex items-center gap-2",children:[v.author?m.jsx(Rd,{name:v.author,size:"xs"}):m.jsx("div",{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 ${Wye(v.changes)}`,children:m.jsx(kk,{className:"w-2.5 h-2.5"})}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("span",{className:"text-xs font-medium truncate",children:Yye(v)}),m.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0",children:qye(v.timestamp)})]}),m.jsxs("div",{className:"text-[11px] text-muted-foreground truncate",children:[m.jsxs("span",{className:"font-medium",children:["#",v.taskId]})," ",v.taskTitle]})]})]})},`${v.taskId}-${v.version}-${T}`))})})]})}function Xye(){const[e,t]=E.useState(!1),[n,r]=E.useState(!1),[a,o]=E.useState(()=>{const c=localStorage.getItem("knowns-last-activity-check");return c?new Date(c):new Date}),s=E.useCallback(async()=>{try{const c=await Na.getActivities({limit:1});c.length>0&&new Date(c[0].timestamp)>a&&t(!0)}catch(c){console.error("Failed to check activities:",c)}},[a]);E.useEffect(()=>{s()},[s]),E.useEffect(()=>{const c=Md(f=>{f.type==="tasks:updated"&&!n&&t(!0)});return()=>{c&&c.close()}},[n]);const u=c=>{if(r(c),c){t(!1);const f=new Date;o(f),localStorage.setItem("knowns-last-activity-check",f.toISOString())}};return m.jsxs(hh,{open:n,onOpenChange:u,children:[m.jsx(gh,{asChild:!0,children:m.jsxs(Ge,{variant:"ghost",size:"icon",className:"relative h-8 w-8","aria-label":"Notifications",children:[m.jsx(UH,{className:"h-4 w-4"}),e&&m.jsx("span",{className:"absolute top-1 right-1 h-2 w-2 rounded-full bg-blue-500 animate-pulse"})]})}),m.jsx(wd,{className:"w-80 p-0",align:"end",sideOffset:8,children:m.jsxs("div",{className:"flex flex-col h-[400px]",children:[m.jsx("div",{className:"px-4 py-3 border-b",children:m.jsx("h3",{className:"font-semibold text-sm",children:"Recent Activity"})}),m.jsx("div",{className:"flex-1 overflow-hidden p-2",children:m.jsx(Kye,{limit:20,showFilter:!1,onTaskClick:c=>{r(!1),window.location.hash=`/kanban/${c}`}})})]})})]})}const IL={todo:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300","in-progress":"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300","in-review":"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",done:"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300",blocked:"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300","on-hold":"bg-yellow-100 text-yellow-700 dark:bg-yellow-900 dark:text-yellow-300"},Zye={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function Qye({open:e,onOpenChange:t,onTaskSelect:n,onDocSelect:r}){const[a,o]=E.useState(""),[s,u]=E.useState({tasks:[],docs:[]}),[c,f]=E.useState(!1);E.useEffect(()=>{if(!e){o(""),u({tasks:[],docs:[]});return}if(!a.trim()){u({tasks:[],docs:[]});return}f(!0);const b=setTimeout(()=>{fetch(`/api/search?q=${encodeURIComponent(a)}`).then(y=>y.json()).then(y=>{u({tasks:y.tasks||[],docs:y.docs||[]})}).catch(y=>{console.error("Search failed:",y),u({tasks:[],docs:[]})}).finally(()=>{f(!1)})},300);return()=>clearTimeout(b)},[a,e]);const p=b=>{n(b),t(!1),o("")},h=b=>{r(b),t(!1),o("")};return m.jsx(bx,{open:e,onOpenChange:t,children:m.jsx(Vh,{className:"overflow-hidden p-0 max-w-2xl",hideClose:!0,children:m.jsxs(Cd,{shouldFilter:!1,children:[m.jsx(Ad,{placeholder:"Search tasks and docs...",value:a,onValueChange:o}),m.jsxs(Nd,{children:[m.jsx(_d,{children:c?"Searching...":a?"No results found.":"Type to search..."}),s.tasks.length>0&&m.jsx(Eo,{heading:"Tasks",children:s.tasks.slice(0,8).map(b=>{const y=IL[b.status]||IL.todo,v=Zye[b.status]||b.status;return m.jsxs(Aa,{value:`task-${b.id}`,onSelect:()=>p(b),children:[m.jsx(YL,{className:"mr-2 h-4 w-4 shrink-0"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[m.jsxs("span",{className:"text-xs font-mono text-muted-foreground",children:["#",b.id]}),m.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${y}`,children:v})]}),m.jsx("div",{className:"font-medium truncate",children:b.title})]})]},b.id)})}),s.tasks.length>0&&s.docs.length>0&&m.jsx(bh,{}),s.docs.length>0&&m.jsx(Eo,{heading:"Documentation",children:s.docs.slice(0,8).map(b=>{const y=b.metadata?.title||b.filename;return m.jsxs(Aa,{value:`doc-${b.path}`,onSelect:()=>h(b),children:[m.jsx(Xa,{className:"mr-2 h-4 w-4 shrink-0"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("div",{className:"font-medium truncate mb-1",children:y}),m.jsx("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:m.jsx("span",{className:"truncate",children:b.path})})]})]},b.path)})})]})]})})})}const RU={description:{begin:"<!-- SECTION:DESCRIPTION:BEGIN -->",end:"<!-- SECTION:DESCRIPTION:END -->"},plan:{begin:"<!-- SECTION:PLAN:BEGIN -->",end:"<!-- SECTION:PLAN:END -->"},notes:{begin:"<!-- SECTION:NOTES:BEGIN -->",end:"<!-- SECTION:NOTES:END -->"},ac:{begin:"<!-- AC:BEGIN -->",end:"<!-- AC:END -->"}};function Jye(e,t){const n=RU[t];if(!n)return e;const r=e.indexOf(n.begin),a=e.indexOf(n.end);return r===-1||a===-1?e:e.substring(r+n.begin.length,a).trim()}function eEe(e,t){const n=RU[t];return n?e.includes(n.begin)&&e.includes(n.end):!1}function tEe(e){return e.replace(/<!--[\s\S]*?-->/g,"")}function nEe(e,t){return e?t&&eEe(e,t)?Jye(e,t):e:""}const rEe="inline-flex items-center gap-1 px-1 py-1 rounded-md text-sm font-medium transition-all hover:scale-105 bg-green-100/50 border border-green-500/30 text-green-700 hover:bg-green-100 hover:border-green-500/50 dark:bg-green-900/20 dark:text-green-300 dark:hover:bg-green-900/30",aEe="inline-flex items-center gap-1 px-1 py-1 rounded-md text-sm font-medium transition-all hover:scale-105 bg-blue-100/50 border border-blue-500/30 text-blue-700 hover:bg-blue-100 hover:border-blue-500/50 dark:bg-blue-900/20 dark:text-blue-300 dark:hover:bg-blue-900/30",iEe=E.forwardRef(({markdown:e,className:t="",sectionType:n,enableGFM:r=!0,onDocLinkClick:a},o)=>{if(!e)return null;const s=tEe(nEe(e,n)),u=({href:c,children:f})=>{if(c&&/^(task-)?\d+(\.md)?$/.test(c)){const p=c.replace(/^task-/,"").replace(/\.md$/,""),h=`#/tasks/${p}`;return m.jsxs("a",{href:h,className:rEe,"data-task-id":p,children:[m.jsx(kh,{className:"w-4 h-4 shrink-0"}),f]})}if(c&&(c.endsWith(".md")||c.includes(".md#"))){const p=c.replace(/^\.\//,""),h=`#/docs/${p}`;return m.jsxs("a",{href:h,className:aEe,"data-doc-path":p,onClick:b=>{a&&(b.preventDefault(),a(p))},children:[m.jsx(Xa,{className:"w-4 h-4 shrink-0"}),f]})}return m.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:text-blue-600 underline",children:f})};return m.jsx("div",{ref:o,className:`prose prose-sm max-w-none dark:prose-invert ${t}`,children:m.jsx(B5,{remarkPlugins:r?[lP]:[],components:{a:u,code:({className:c,children:f,...p})=>c?m.jsx("code",{className:c,...p,children:f}):m.jsx("code",{className:"px-1.5 py-0.5 rounded text-sm bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-200",...p,children:f}),pre:({children:c})=>m.jsx("pre",{className:"overflow-x-auto rounded-lg p-4 text-sm bg-gray-100 dark:bg-gray-900",children:c}),table:({children:c})=>m.jsx("div",{className:"overflow-x-auto my-4",children:m.jsx("table",{className:"min-w-full border-collapse",children:c})}),th:({children:c})=>m.jsx("th",{className:"px-4 py-2 text-left font-semibold border bg-gray-100 text-gray-900 border-gray-200 dark:bg-gray-700 dark:text-gray-100 dark:border-gray-600",children:c}),td:({children:c})=>m.jsx("td",{className:"px-4 py-2 border border-gray-200 text-gray-700 dark:border-gray-600 dark:text-gray-200",children:c}),input:({type:c,checked:f,...p})=>c==="checkbox"?m.jsx("input",{type:"checkbox",checked:f,readOnly:!0,className:"mr-2 accent-blue-600",...p}):m.jsx("input",{type:c,...p})},children:s})})});iEe.displayName="MarkdownRenderer";function go(e,t){return typeof e=="function"?e(t):e}function Kr(e,t){return n=>{t.setState(r=>({...r,[e]:go(n,r[e])}))}}function Zg(e){return e instanceof Function}function oEe(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function sEe(e,t){const n=[],r=a=>{a.forEach(o=>{n.push(o);const s=t(o);s!=null&&s.length&&r(s)})};return r(e),n}function st(e,t,n){let r=[],a;return o=>{let s;n.key&&n.debug&&(s=Date.now());const u=e(o);if(!(u.length!==r.length||u.some((p,h)=>r[h]!==p)))return a;r=u;let f;if(n.key&&n.debug&&(f=Date.now()),a=t(...u),n==null||n.onChange==null||n.onChange(a),n.key&&n.debug&&n!=null&&n.debug()){const p=Math.round((Date.now()-s)*100)/100,h=Math.round((Date.now()-f)*100)/100,b=h/16,y=(v,T)=>{for(v=String(v);v.length<T;)v=" "+v;return v};console.info(`%c⏱ ${y(h,5)} /${y(p,5)} ms`,`
|
|
169
169
|
font-size: .6rem;
|
|
170
170
|
font-weight: bold;
|
|
171
171
|
color: hsl(${Math.max(0,Math.min(120-120*b,120))}deg 100% 31%);`,n?.key)}return a}}function lt(e,t,n,r){return{debug:()=>{var a;return(a=e?.debugAll)!=null?a:e[t]},key:!1,onChange:r}}function lEe(e,t,n,r){const a=()=>{var s;return(s=o.getValue())!=null?s:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:a,getContext:st(()=>[e,n,t,o],(s,u,c,f)=>({table:s,column:u,row:c,cell:f,getValue:f.getValue,renderValue:f.renderValue}),lt(e.options,"debugCells"))};return e._features.forEach(s=>{s.createCell==null||s.createCell(o,n,t,e)},{}),o}function uEe(e,t,n,r){var a,o;const u={...e._getDefaultColumnDef(),...t},c=u.accessorKey;let f=(a=(o=u.id)!=null?o:c?typeof String.prototype.replaceAll=="function"?c.replaceAll(".","_"):c.replace(/\./g,"_"):void 0)!=null?a:typeof u.header=="string"?u.header:void 0,p;if(u.accessorFn?p=u.accessorFn:c&&(c.includes(".")?p=b=>{let y=b;for(const T of c.split(".")){var v;y=(v=y)==null?void 0:v[T]}return y}:p=b=>b[u.accessorKey]),!f)throw new Error;let h={id:`${String(f)}`,accessorFn:p,parent:r,depth:n,columnDef:u,columns:[],getFlatColumns:st(()=>[!0],()=>{var b;return[h,...(b=h.columns)==null?void 0:b.flatMap(y=>y.getFlatColumns())]},lt(e.options,"debugColumns")),getLeafColumns:st(()=>[e._getOrderColumnsFn()],b=>{var y;if((y=h.columns)!=null&&y.length){let v=h.columns.flatMap(T=>T.getLeafColumns());return b(v)}return[h]},lt(e.options,"debugColumns"))};for(const b of e._features)b.createColumn==null||b.createColumn(h,e);return h}const sr="debugHeaders";function OL(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const s=[],u=c=>{c.subHeaders&&c.subHeaders.length&&c.subHeaders.map(u),s.push(c)};return u(o),s},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(s=>{s.createHeader==null||s.createHeader(o,e)}),o}const cEe={createTable:e=>{e.getHeaderGroups=st(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,a)=>{var o,s;const u=(o=r?.map(h=>n.find(b=>b.id===h)).filter(Boolean))!=null?o:[],c=(s=a?.map(h=>n.find(b=>b.id===h)).filter(Boolean))!=null?s:[],f=n.filter(h=>!(r!=null&&r.includes(h.id))&&!(a!=null&&a.includes(h.id)));return lm(t,[...u,...f,...c],e)},lt(e.options,sr)),e.getCenterHeaderGroups=st(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,a)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(a!=null&&a.includes(o.id))),lm(t,n,e,"center")),lt(e.options,sr)),e.getLeftHeaderGroups=st(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var a;const o=(a=r?.map(s=>n.find(u=>u.id===s)).filter(Boolean))!=null?a:[];return lm(t,o,e,"left")},lt(e.options,sr)),e.getRightHeaderGroups=st(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var a;const o=(a=r?.map(s=>n.find(u=>u.id===s)).filter(Boolean))!=null?a:[];return lm(t,o,e,"right")},lt(e.options,sr)),e.getFooterGroups=st(()=>[e.getHeaderGroups()],t=>[...t].reverse(),lt(e.options,sr)),e.getLeftFooterGroups=st(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),lt(e.options,sr)),e.getCenterFooterGroups=st(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),lt(e.options,sr)),e.getRightFooterGroups=st(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),lt(e.options,sr)),e.getFlatHeaders=st(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),lt(e.options,sr)),e.getLeftFlatHeaders=st(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),lt(e.options,sr)),e.getCenterFlatHeaders=st(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),lt(e.options,sr)),e.getRightFlatHeaders=st(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),lt(e.options,sr)),e.getCenterLeafHeaders=st(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),lt(e.options,sr)),e.getLeftLeafHeaders=st(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),lt(e.options,sr)),e.getRightLeafHeaders=st(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),lt(e.options,sr)),e.getLeafHeaders=st(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var a,o,s,u,c,f;return[...(a=(o=t[0])==null?void 0:o.headers)!=null?a:[],...(s=(u=n[0])==null?void 0:u.headers)!=null?s:[],...(c=(f=r[0])==null?void 0:f.headers)!=null?c:[]].map(p=>p.getLeafHeaders()).flat()},lt(e.options,sr))}};function lm(e,t,n,r){var a,o;let s=0;const u=function(b,y){y===void 0&&(y=1),s=Math.max(s,y),b.filter(v=>v.getIsVisible()).forEach(v=>{var T;(T=v.columns)!=null&&T.length&&u(v.columns,y+1)},0)};u(e);let c=[];const f=(b,y)=>{const v={depth:y,id:[r,`${y}`].filter(Boolean).join("_"),headers:[]},T=[];b.forEach(w=>{const A=[...T].reverse()[0],N=w.column.depth===v.depth;let _,I=!1;if(N&&w.column.parent?_=w.column.parent:(_=w.column,I=!0),A&&A?.column===_)A.subHeaders.push(w);else{const D=OL(n,_,{id:[r,y,_.id,w?.id].filter(Boolean).join("_"),isPlaceholder:I,placeholderId:I?`${T.filter(k=>k.column===_).length}`:void 0,depth:y,index:T.length});D.subHeaders.push(w),T.push(D)}v.headers.push(w),w.headerGroup=v}),c.push(v),y>0&&f(T,y-1)},p=t.map((b,y)=>OL(n,b,{depth:s,index:y}));f(p,s-1),c.reverse();const h=b=>b.filter(v=>v.column.getIsVisible()).map(v=>{let T=0,w=0,A=[0];v.subHeaders&&v.subHeaders.length?(A=[],h(v.subHeaders).forEach(_=>{let{colSpan:I,rowSpan:D}=_;T+=I,A.push(D)})):T=1;const N=Math.min(...A);return w=w+N,v.colSpan=T,v.rowSpan=w,{colSpan:T,rowSpan:w}});return h((a=(o=c[0])==null?void 0:o.headers)!=null?a:[]),c}const gN=(e,t,n,r,a,o,s)=>{let u={id:t,index:r,original:n,depth:a,parentId:s,_valuesCache:{},_uniqueValuesCache:{},getValue:c=>{if(u._valuesCache.hasOwnProperty(c))return u._valuesCache[c];const f=e.getColumn(c);if(f!=null&&f.accessorFn)return u._valuesCache[c]=f.accessorFn(u.original,r),u._valuesCache[c]},getUniqueValues:c=>{if(u._uniqueValuesCache.hasOwnProperty(c))return u._uniqueValuesCache[c];const f=e.getColumn(c);if(f!=null&&f.accessorFn)return f.columnDef.getUniqueValues?(u._uniqueValuesCache[c]=f.columnDef.getUniqueValues(u.original,r),u._uniqueValuesCache[c]):(u._uniqueValuesCache[c]=[u.getValue(c)],u._uniqueValuesCache[c])},renderValue:c=>{var f;return(f=u.getValue(c))!=null?f:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>sEe(u.subRows,c=>c.subRows),getParentRow:()=>u.parentId?e.getRow(u.parentId,!0):void 0,getParentRows:()=>{let c=[],f=u;for(;;){const p=f.getParentRow();if(!p)break;c.push(p),f=p}return c.reverse()},getAllCells:st(()=>[e.getAllLeafColumns()],c=>c.map(f=>lEe(e,u,f,f.id)),lt(e.options,"debugRows")),_getAllCellsByColumnId:st(()=>[u.getAllCells()],c=>c.reduce((f,p)=>(f[p.column.id]=p,f),{}),lt(e.options,"debugRows"))};for(let c=0;c<e._features.length;c++){const f=e._features[c];f==null||f.createRow==null||f.createRow(u,e)}return u},dEe={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},kU=(e,t,n)=>{var r,a;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((a=e.getValue(t))==null||(a=a.toString())==null||(a=a.toLowerCase())==null)&&a.includes(o))};kU.autoRemove=e=>Ra(e);const DU=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};DU.autoRemove=e=>Ra(e);const IU=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};IU.autoRemove=e=>Ra(e);const OU=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};OU.autoRemove=e=>Ra(e);const LU=(e,t,n)=>!n.some(r=>{var a;return!((a=e.getValue(t))!=null&&a.includes(r))});LU.autoRemove=e=>Ra(e)||!(e!=null&&e.length);const MU=(e,t,n)=>n.some(r=>{var a;return(a=e.getValue(t))==null?void 0:a.includes(r)});MU.autoRemove=e=>Ra(e)||!(e!=null&&e.length);const FU=(e,t,n)=>e.getValue(t)===n;FU.autoRemove=e=>Ra(e);const PU=(e,t,n)=>e.getValue(t)==n;PU.autoRemove=e=>Ra(e);const bN=(e,t,n)=>{let[r,a]=n;const o=e.getValue(t);return o>=r&&o<=a};bN.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,a=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,s=n===null||Number.isNaN(a)?1/0:a;if(o>s){const u=o;o=s,s=u}return[o,s]};bN.autoRemove=e=>Ra(e)||Ra(e[0])&&Ra(e[1]);const Ai={includesString:kU,includesStringSensitive:DU,equalsString:IU,arrIncludes:OU,arrIncludesAll:LU,arrIncludesSome:MU,equals:FU,weakEquals:PU,inNumberRange:bN};function Ra(e){return e==null||e===""}const fEe={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Kr("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);return typeof r=="string"?Ai.includesString:typeof r=="number"?Ai.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?Ai.equals:Array.isArray(r)?Ai.arrIncludes:Ai.weakEquals},e.getFilterFn=()=>{var n,r;return Zg(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:Ai[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,a;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((a=t.options.enableFilters)!=null?a:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(r=>r.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(a=>a.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const a=e.getFilterFn(),o=r?.find(p=>p.id===e.id),s=go(n,o?o.value:void 0);if(LL(a,s,e)){var u;return(u=r?.filter(p=>p.id!==e.id))!=null?u:[]}const c={id:e.id,value:s};if(o){var f;return(f=r?.map(p=>p.id===e.id?c:p))!=null?f:[]}return r!=null&&r.length?[...r,c]:[c]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=a=>{var o;return(o=go(t,a))==null?void 0:o.filter(s=>{const u=n.find(c=>c.id===s.id);if(u){const c=u.getFilterFn();if(LL(c,s.value,u))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function LL(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const pEe=(e,t,n)=>n.reduce((r,a)=>{const o=a.getValue(e);return r+(typeof o=="number"?o:0)},0),mEe=(e,t,n)=>{let r;return n.forEach(a=>{const o=a.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},hEe=(e,t,n)=>{let r;return n.forEach(a=>{const o=a.getValue(e);o!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}),r},gEe=(e,t,n)=>{let r,a;return n.forEach(o=>{const s=o.getValue(e);s!=null&&(r===void 0?s>=s&&(r=a=s):(r>s&&(r=s),a<s&&(a=s)))}),[r,a]},bEe=(e,t)=>{let n=0,r=0;if(t.forEach(a=>{let o=a.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},yEe=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!oEe(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),a=n.sort((o,s)=>o-s);return n.length%2!==0?a[r]:(a[r-1]+a[r])/2},EEe=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),vEe=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,xEe=(e,t)=>t.length,HE={sum:pEe,min:mEe,max:hEe,extent:gEe,mean:bEe,median:yEe,unique:EEe,uniqueCount:vEe,count:xEe},SEe={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Kr("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,r;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((r=t.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);if(typeof r=="number")return HE.sum;if(Object.prototype.toString.call(r)==="[object Date]")return HE.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return Zg(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:HE[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var a;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((a=n.subRows)!=null&&a.length)}}};function TEe(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(s=>s.id===o)).filter(Boolean),...r]}const wEe={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Kr("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=st(n=>[id(t,n)],n=>n.findIndex(r=>r.id===e.id),lt(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=id(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const a=id(t,n);return((r=a[a.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=st(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>a=>{let o=[];if(!(t!=null&&t.length))o=a;else{const s=[...t],u=[...a];for(;u.length&&s.length;){const c=s.shift(),f=u.findIndex(p=>p.id===c);f>-1&&o.push(u.splice(f,1)[0])}o=[...o,...u]}return TEe(o,n,r)},lt(e.options,"debugTable"))}},zE=()=>({left:[],right:[]}),CEe={getInitialState:e=>({columnPinning:zE(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Kr("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(a=>a.id).filter(Boolean);t.setColumnPinning(a=>{var o,s;if(n==="right"){var u,c;return{left:((u=a?.left)!=null?u:[]).filter(h=>!(r!=null&&r.includes(h))),right:[...((c=a?.right)!=null?c:[]).filter(h=>!(r!=null&&r.includes(h))),...r]}}if(n==="left"){var f,p;return{left:[...((f=a?.left)!=null?f:[]).filter(h=>!(r!=null&&r.includes(h))),...r],right:((p=a?.right)!=null?p:[]).filter(h=>!(r!=null&&r.includes(h)))}}return{left:((o=a?.left)!=null?o:[]).filter(h=>!(r!=null&&r.includes(h))),right:((s=a?.right)!=null?s:[]).filter(h=>!(r!=null&&r.includes(h)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var a,o,s;return((a=r.columnDef.enablePinning)!=null?a:!0)&&((o=(s=t.options.enableColumnPinning)!=null?s:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(u=>u.id),{left:r,right:a}=t.getState().columnPinning,o=n.some(u=>r?.includes(u)),s=n.some(u=>a?.includes(u));return o?"left":s?"right":!1},e.getPinnedIndex=()=>{var n,r;const a=e.getIsPinned();return a?(n=(r=t.getState().columnPinning)==null||(r=r[a])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=st(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,a)=>{const o=[...r??[],...a??[]];return n.filter(s=>!o.includes(s.column.id))},lt(t.options,"debugRows")),e.getLeftVisibleCells=st(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,r)=>(r??[]).map(o=>n.find(s=>s.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),lt(t.options,"debugRows")),e.getRightVisibleCells=st(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r??[]).map(o=>n.find(s=>s.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),lt(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,r;return e.setColumnPinning(t?zE():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:zE())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var a,o;return!!((a=r.left)!=null&&a.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=st(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(a=>a.id===r)).filter(Boolean),lt(e.options,"debugColumns")),e.getRightLeafColumns=st(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(a=>a.id===r)).filter(Boolean),lt(e.options,"debugColumns")),e.getCenterLeafColumns=st(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const a=[...n??[],...r??[]];return t.filter(o=>!a.includes(o.id))},lt(e.options,"debugColumns"))}};function AEe(e){return e||(typeof document<"u"?document:null)}const um={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},$E=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),NEe={getDefaultColumnDef:()=>um,getInitialState:e=>({columnSizing:{},columnSizingInfo:$E(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Kr("columnSizing",e),onColumnSizingInfoChange:Kr("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,a;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:um.minSize,(r=o??e.columnDef.size)!=null?r:um.size),(a=e.columnDef.maxSize)!=null?a:um.maxSize)},e.getStart=st(n=>[n,id(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((a,o)=>a+o.getSize(),0),lt(t.options,"debugColumns")),e.getAfter=st(n=>[n,id(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((a,o)=>a+o.getSize(),0),lt(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...a}=n;return a})},e.getCanResize=()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const r=a=>{if(a.subHeaders.length)a.subHeaders.forEach(r);else{var o;n+=(o=a.column.getSize())!=null?o:0}};return r(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const r=t.getColumn(e.column.id),a=r?.getCanResize();return o=>{if(!r||!a||(o.persist==null||o.persist(),VE(o)&&o.touches&&o.touches.length>1))return;const s=e.getSize(),u=e?e.getLeafHeaders().map(A=>[A.column.id,A.column.getSize()]):[[r.id,r.getSize()]],c=VE(o)?Math.round(o.touches[0].clientX):o.clientX,f={},p=(A,N)=>{typeof N=="number"&&(t.setColumnSizingInfo(_=>{var I,D;const k=t.options.columnResizeDirection==="rtl"?-1:1,L=(N-((I=_?.startOffset)!=null?I:0))*k,F=Math.max(L/((D=_?.startSize)!=null?D:0),-.999999);return _.columnSizingStart.forEach(Y=>{let[P,M]=Y;f[P]=Math.round(Math.max(M+M*F,0)*100)/100}),{..._,deltaOffset:L,deltaPercentage:F}}),(t.options.columnResizeMode==="onChange"||A==="end")&&t.setColumnSizing(_=>({..._,...f})))},h=A=>p("move",A),b=A=>{p("end",A),t.setColumnSizingInfo(N=>({...N,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},y=AEe(n),v={moveHandler:A=>h(A.clientX),upHandler:A=>{y?.removeEventListener("mousemove",v.moveHandler),y?.removeEventListener("mouseup",v.upHandler),b(A.clientX)}},T={moveHandler:A=>(A.cancelable&&(A.preventDefault(),A.stopPropagation()),h(A.touches[0].clientX),!1),upHandler:A=>{var N;y?.removeEventListener("touchmove",T.moveHandler),y?.removeEventListener("touchend",T.upHandler),A.cancelable&&(A.preventDefault(),A.stopPropagation()),b((N=A.touches[0])==null?void 0:N.clientX)}},w=_Ee()?{passive:!1}:!1;VE(o)?(y?.addEventListener("touchmove",T.moveHandler,w),y?.addEventListener("touchend",T.upHandler,w)):(y?.addEventListener("mousemove",v.moveHandler,w),y?.addEventListener("mouseup",v.upHandler,w)),t.setColumnSizingInfo(A=>({...A,startOffset:c,startSize:s,deltaOffset:0,deltaPercentage:0,columnSizingStart:u,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?$E():(n=e.initialState.columnSizingInfo)!=null?n:$E())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,a)=>r+a.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,a)=>r+a.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,a)=>r+a.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,a)=>r+a.getSize(),0))!=null?t:0}}};let cm=null;function _Ee(){if(typeof cm=="boolean")return cm;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return cm=e,cm}function VE(e){return e.type==="touchstart"}const REe={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Kr("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,r;const a=e.columns;return(n=a.length?a.some(o=>o.getIsVisible()):(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},e.getCanHide=()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=st(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),lt(t.options,"debugRows")),e.getVisibleCells=st(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,a)=>[...n,...r,...a],lt(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>st(()=>[r(),r().filter(a=>a.getIsVisible()).map(a=>a.id).join("_")],a=>a.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),lt(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((a,o)=>({...a,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}};function id(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const kEe={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},DEe={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Kr("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,r,a,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((a=t.options.enableFilters)!=null?a:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>Ai.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return Zg(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:Ai[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},IEe={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Kr("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,a;if(!t){e._queue(()=>{t=!0});return}if((r=(a=e.options.autoResetAll)!=null?a:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var a,o;e.setExpanded(r?{}:(a=(o=e.initialState)==null?void 0:o.expanded)!=null?a:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(a=>!a.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const s=o.split(".");r=Math.max(r,s.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{var a;const o=r===!0?!0:!!(r!=null&&r[e.id]);let s={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(u=>{s[u]=!0}):s=r,n=(a=n)!=null?a:!o,!o&&n)return{...s,[e.id]:!0};if(o&&!n){const{[e.id]:u,...c}=s;return c}return r})},e.getIsExpanded=()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||r?.[e.id])},e.getCanExpand=()=>{var n,r,a;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((a=e.subRows)!=null&&a.length)},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},y1=0,E1=10,GE=()=>({pageIndex:y1,pageSize:E1}),OEe={getInitialState:e=>({...e,pagination:{...GE(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Kr("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,a;if(!t){e._queue(()=>{t=!0});return}if((r=(a=e.options.autoResetAll)!=null?a:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const a=o=>go(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(a)},e.resetPagination=r=>{var a;e.setPagination(r?GE():(a=e.initialState.pagination)!=null?a:GE())},e.setPageIndex=r=>{e.setPagination(a=>{let o=go(r,a.pageIndex);const s=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,s)),{...a,pageIndex:o}})},e.resetPageIndex=r=>{var a,o;e.setPageIndex(r?y1:(a=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?a:y1)},e.resetPageSize=r=>{var a,o;e.setPageSize(r?E1:(a=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?a:E1)},e.setPageSize=r=>{e.setPagination(a=>{const o=Math.max(1,go(r,a.pageSize)),s=a.pageSize*a.pageIndex,u=Math.floor(s/o);return{...a,pageIndex:u,pageSize:o}})},e.setPageCount=r=>e.setPagination(a=>{var o;let s=go(r,(o=e.options.pageCount)!=null?o:-1);return typeof s=="number"&&(s=Math.max(-1,s)),{...a,pageCount:s}}),e.getPageOptions=st(()=>[e.getPageCount()],r=>{let a=[];return r&&r>0&&(a=[...new Array(r)].fill(null).map((o,s)=>s)),a},lt(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,a=e.getPageCount();return a===-1?!0:a===0?!1:r<a-1},e.previousPage=()=>e.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},YE=()=>({top:[],bottom:[]}),LEe={getInitialState:e=>({rowPinning:YE(),...e}),getDefaultOptions:e=>({onRowPinningChange:Kr("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,a)=>{const o=r?e.getLeafRows().map(c=>{let{id:f}=c;return f}):[],s=a?e.getParentRows().map(c=>{let{id:f}=c;return f}):[],u=new Set([...s,e.id,...o]);t.setRowPinning(c=>{var f,p;if(n==="bottom"){var h,b;return{top:((h=c?.top)!=null?h:[]).filter(T=>!(u!=null&&u.has(T))),bottom:[...((b=c?.bottom)!=null?b:[]).filter(T=>!(u!=null&&u.has(T))),...Array.from(u)]}}if(n==="top"){var y,v;return{top:[...((y=c?.top)!=null?y:[]).filter(T=>!(u!=null&&u.has(T))),...Array.from(u)],bottom:((v=c?.bottom)!=null?v:[]).filter(T=>!(u!=null&&u.has(T)))}}return{top:((f=c?.top)!=null?f:[]).filter(T=>!(u!=null&&u.has(T))),bottom:((p=c?.bottom)!=null?p:[]).filter(T=>!(u!=null&&u.has(T)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:a}=t.options;return typeof r=="function"?r(e):(n=r??a)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:a}=t.getState().rowPinning,o=n.some(u=>r?.includes(u)),s=n.some(u=>a?.includes(u));return o?"top":s?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const a=e.getIsPinned();if(!a)return-1;const o=(n=a==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(s=>{let{id:u}=s;return u});return(r=o?.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,r;return e.setRowPinning(t?YE():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:YE())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var a,o;return!!((a=r.top)!=null&&a.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var a;return((a=e.options.keepPinnedRows)==null||a?(n??[]).map(s=>{const u=e.getRow(s,!0);return u.getIsAllParentsExpanded()?u:null}):(n??[]).map(s=>t.find(u=>u.id===s))).filter(Boolean).map(s=>({...s,position:r}))},e.getTopRows=st(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),lt(e.options,"debugRows")),e.getBottomRows=st(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),lt(e.options,"debugRows")),e.getCenterRows=st(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const a=new Set([...n??[],...r??[]]);return t.filter(o=>!a.has(o.id))},lt(e.options,"debugRows"))}},MEe={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Kr("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},a=e.getPreGroupedRowModel().flatRows;return t?a.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):a.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),a={...n};return e.getRowModel().rows.forEach(o=>{v1(a,o.id,r,!0,e)}),a}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=st(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?qE(e,n):{rows:[],flatRows:[],rowsById:{}},lt(e.options,"debugTable")),e.getFilteredSelectedRowModel=st(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?qE(e,n):{rows:[],flatRows:[],rowsById:{}},lt(e.options,"debugTable")),e.getGroupedSelectedRowModel=st(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?qE(e,n):{rows:[],flatRows:[],rowsById:{}},lt(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!(t.length&&Object.keys(n).length);return r&&t.some(a=>a.getCanSelect()&&!n[a.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(a=>a.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(a=>!n[a.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{const a=e.getIsSelected();t.setRowSelection(o=>{var s;if(n=typeof n<"u"?n:!a,e.getCanSelect()&&a===n)return o;const u={...o};return v1(u,e.id,n,(s=r?.selectChildren)!=null?s:!0,t),u})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return yN(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return x1(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return x1(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return r=>{var a;n&&e.toggleSelected((a=r.target)==null?void 0:a.checked)}}}},v1=(e,t,n,r,a)=>{var o;const s=a.getRow(t,!0);n?(s.getCanMultiSelect()||Object.keys(e).forEach(u=>delete e[u]),s.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=s.subRows)!=null&&o.length&&s.getCanSelectSubRows()&&s.subRows.forEach(u=>v1(e,u.id,n,r,a))};function qE(e,t){const n=e.getState().rowSelection,r=[],a={},o=function(s,u){return s.map(c=>{var f;const p=yN(c,n);if(p&&(r.push(c),a[c.id]=c),(f=c.subRows)!=null&&f.length&&(c={...c,subRows:o(c.subRows)}),p)return c}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:a}}function yN(e,t){var n;return(n=t[e.id])!=null?n:!1}function x1(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let a=!0,o=!1;return e.subRows.forEach(s=>{if(!(o&&!a)&&(s.getCanSelect()&&(yN(s,t)?o=!0:a=!1),s.subRows&&s.subRows.length)){const u=x1(s,t);u==="all"?o=!0:(u==="some"&&(o=!0),a=!1)}}),a?"all":o?"some":!1}const S1=/([0-9]+)/gm,FEe=(e,t,n)=>BU(No(e.getValue(n)).toLowerCase(),No(t.getValue(n)).toLowerCase()),PEe=(e,t,n)=>BU(No(e.getValue(n)),No(t.getValue(n))),BEe=(e,t,n)=>EN(No(e.getValue(n)).toLowerCase(),No(t.getValue(n)).toLowerCase()),UEe=(e,t,n)=>EN(No(e.getValue(n)),No(t.getValue(n))),jEe=(e,t,n)=>{const r=e.getValue(n),a=t.getValue(n);return r>a?1:r<a?-1:0},HEe=(e,t,n)=>EN(e.getValue(n),t.getValue(n));function EN(e,t){return e===t?0:e>t?1:-1}function No(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function BU(e,t){const n=e.split(S1).filter(Boolean),r=t.split(S1).filter(Boolean);for(;n.length&&r.length;){const a=n.shift(),o=r.shift(),s=parseInt(a,10),u=parseInt(o,10),c=[s,u].sort();if(isNaN(c[0])){if(a>o)return 1;if(o>a)return-1;continue}if(isNaN(c[1]))return isNaN(s)?-1:1;if(s>u)return 1;if(u>s)return-1}return n.length-r.length}const Lc={alphanumeric:FEe,alphanumericCaseSensitive:PEe,text:BEe,textCaseSensitive:UEe,datetime:jEe,basic:HEe},zEe={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Kr("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const a of n){const o=a?.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return Lc.datetime;if(typeof o=="string"&&(r=!0,o.split(S1).length>1))return Lc.alphanumeric}return r?Lc.text:Lc.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof n?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,r;if(!e)throw new Error;return Zg(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:Lc[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const a=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(s=>{const u=s?.find(y=>y.id===e.id),c=s?.findIndex(y=>y.id===e.id);let f=[],p,h=o?n:a==="desc";if(s!=null&&s.length&&e.getCanMultiSort()&&r?u?p="toggle":p="add":s!=null&&s.length&&c!==s.length-1?p="replace":u?p="toggle":p="replace",p==="toggle"&&(o||a||(p="remove")),p==="add"){var b;f=[...s,{id:e.id,desc:h}],f.splice(0,f.length-((b=t.options.maxMultiSortColCount)!=null?b:Number.MAX_SAFE_INTEGER))}else p==="toggle"?f=s.map(y=>y.id===e.id?{...y,desc:h}:y):p==="remove"?f=s.filter(y=>y.id!==e.id):f=[{id:e.id,desc:h}];return f})},e.getFirstSortDir=()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var r,a;const o=e.getFirstSortDir(),s=e.getIsSorted();return s?s!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(a=t.options.enableMultiRemove)!=null)||a)?!1:s==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(a=>a.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(a=>a.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},$Ee=[cEe,REe,wEe,CEe,dEe,fEe,kEe,DEe,zEe,SEe,IEe,OEe,LEe,MEe,NEe];function VEe(e){var t,n;const r=[...$Ee,...(t=e._features)!=null?t:[]];let a={_features:r};const o=a._features.reduce((b,y)=>Object.assign(b,y.getDefaultOptions==null?void 0:y.getDefaultOptions(a)),{}),s=b=>a.options.mergeOptions?a.options.mergeOptions(o,b):{...o,...b};let c={...{},...(n=e.initialState)!=null?n:{}};a._features.forEach(b=>{var y;c=(y=b.getInitialState==null?void 0:b.getInitialState(c))!=null?y:c});const f=[];let p=!1;const h={_features:r,options:{...o,...e},initialState:c,_queue:b=>{f.push(b),p||(p=!0,Promise.resolve().then(()=>{for(;f.length;)f.shift()();p=!1}).catch(y=>setTimeout(()=>{throw y})))},reset:()=>{a.setState(a.initialState)},setOptions:b=>{const y=go(b,a.options);a.options=s(y)},getState:()=>a.options.state,setState:b=>{a.options.onStateChange==null||a.options.onStateChange(b)},_getRowId:(b,y,v)=>{var T;return(T=a.options.getRowId==null?void 0:a.options.getRowId(b,y,v))!=null?T:`${v?[v.id,y].join("."):y}`},getCoreRowModel:()=>(a._getCoreRowModel||(a._getCoreRowModel=a.options.getCoreRowModel(a)),a._getCoreRowModel()),getRowModel:()=>a.getPaginationRowModel(),getRow:(b,y)=>{let v=(y?a.getPrePaginationRowModel():a.getRowModel()).rowsById[b];if(!v&&(v=a.getCoreRowModel().rowsById[b],!v))throw new Error;return v},_getDefaultColumnDef:st(()=>[a.options.defaultColumn],b=>{var y;return b=(y=b)!=null?y:{},{header:v=>{const T=v.header.column.columnDef;return T.accessorKey?T.accessorKey:T.accessorFn?T.id:null},cell:v=>{var T,w;return(T=(w=v.renderValue())==null||w.toString==null?void 0:w.toString())!=null?T:null},...a._features.reduce((v,T)=>Object.assign(v,T.getDefaultColumnDef==null?void 0:T.getDefaultColumnDef()),{}),...b}},lt(e,"debugColumns")),_getColumnDefs:()=>a.options.columns,getAllColumns:st(()=>[a._getColumnDefs()],b=>{const y=function(v,T,w){return w===void 0&&(w=0),v.map(A=>{const N=uEe(a,A,w,T),_=A;return N.columns=_.columns?y(_.columns,N,w+1):[],N})};return y(b)},lt(e,"debugColumns")),getAllFlatColumns:st(()=>[a.getAllColumns()],b=>b.flatMap(y=>y.getFlatColumns()),lt(e,"debugColumns")),_getAllFlatColumnsById:st(()=>[a.getAllFlatColumns()],b=>b.reduce((y,v)=>(y[v.id]=v,y),{}),lt(e,"debugColumns")),getAllLeafColumns:st(()=>[a.getAllColumns(),a._getOrderColumnsFn()],(b,y)=>{let v=b.flatMap(T=>T.getLeafColumns());return y(v)},lt(e,"debugColumns")),getColumn:b=>a._getAllFlatColumnsById()[b]};Object.assign(a,h);for(let b=0;b<a._features.length;b++){const y=a._features[b];y==null||y.createTable==null||y.createTable(a)}return a}function GEe(){return e=>st(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(a,o,s){o===void 0&&(o=0);const u=[];for(let f=0;f<a.length;f++){const p=gN(e,e._getRowId(a[f],f,s),a[f],f,o,void 0,s?.id);if(n.flatRows.push(p),n.rowsById[p.id]=p,u.push(p),e.options.getSubRows){var c;p.originalSubRows=e.options.getSubRows(a[f],f),(c=p.originalSubRows)!=null&&c.length&&(p.subRows=r(p.originalSubRows,o+1,p))}}return u};return n.rows=r(t),n},lt(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function YEe(e){const t=[],n=r=>{var a;t.push(r),(a=r.subRows)!=null&&a.length&&r.getIsExpanded()&&r.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function UU(e,t,n){return n.options.filterFromLeafRows?qEe(e,t,n):WEe(e,t,n)}function qEe(e,t,n){var r;const a=[],o={},s=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,u=function(c,f){f===void 0&&(f=0);const p=[];for(let b=0;b<c.length;b++){var h;let y=c[b];const v=gN(n,y.id,y.original,y.index,y.depth,void 0,y.parentId);if(v.columnFilters=y.columnFilters,(h=y.subRows)!=null&&h.length&&f<s){if(v.subRows=u(y.subRows,f+1),y=v,t(y)&&!v.subRows.length){p.push(y),o[y.id]=y,a.push(y);continue}if(t(y)||v.subRows.length){p.push(y),o[y.id]=y,a.push(y);continue}}else y=v,t(y)&&(p.push(y),o[y.id]=y,a.push(y))}return p};return{rows:u(e),flatRows:a,rowsById:o}}function WEe(e,t,n){var r;const a=[],o={},s=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,u=function(c,f){f===void 0&&(f=0);const p=[];for(let b=0;b<c.length;b++){let y=c[b];if(t(y)){var h;if((h=y.subRows)!=null&&h.length&&f<s){const T=gN(n,y.id,y.original,y.index,y.depth,void 0,y.parentId);T.subRows=u(y.subRows,f+1),y=T}p.push(y),a.push(y),o[y.id]=y}}return p};return{rows:u(e),flatRows:a,rowsById:o}}function KEe(){return(e,t)=>st(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()],(n,r,a)=>{if(!n.rows.length||!(r!=null&&r.length)&&!a)return n;const o=[...r.map(u=>u.id).filter(u=>u!==t),a?"__global__":void 0].filter(Boolean),s=u=>{for(let c=0;c<o.length;c++)if(u.columnFilters[o[c]]===!1)return!1;return!0};return UU(n.rows,s,e)},lt(e.options,"debugTable"))}function XEe(){return(e,t)=>st(()=>{var n;return[(n=e.getColumn(t))==null?void 0:n.getFacetedRowModel()]},n=>{if(!n)return new Map;let r=new Map;for(let o=0;o<n.flatRows.length;o++){const s=n.flatRows[o].getUniqueValues(t);for(let u=0;u<s.length;u++){const c=s[u];if(r.has(c)){var a;r.set(c,((a=r.get(c))!=null?a:0)+1)}else r.set(c,1)}}return r},lt(e.options,"debugTable"))}function ZEe(){return e=>st(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let b=0;b<t.flatRows.length;b++)t.flatRows[b].columnFilters={},t.flatRows[b].columnFiltersMeta={};return t}const a=[],o=[];(n??[]).forEach(b=>{var y;const v=e.getColumn(b.id);if(!v)return;const T=v.getFilterFn();T&&a.push({id:b.id,filterFn:T,resolvedValue:(y=T.resolveFilterValue==null?void 0:T.resolveFilterValue(b.value))!=null?y:b.value})});const s=(n??[]).map(b=>b.id),u=e.getGlobalFilterFn(),c=e.getAllLeafColumns().filter(b=>b.getCanGlobalFilter());r&&u&&c.length&&(s.push("__global__"),c.forEach(b=>{var y;o.push({id:b.id,filterFn:u,resolvedValue:(y=u.resolveFilterValue==null?void 0:u.resolveFilterValue(r))!=null?y:r})}));let f,p;for(let b=0;b<t.flatRows.length;b++){const y=t.flatRows[b];if(y.columnFilters={},a.length)for(let v=0;v<a.length;v++){f=a[v];const T=f.id;y.columnFilters[T]=f.filterFn(y,T,f.resolvedValue,w=>{y.columnFiltersMeta[T]=w})}if(o.length){for(let v=0;v<o.length;v++){p=o[v];const T=p.id;if(p.filterFn(y,T,p.resolvedValue,w=>{y.columnFiltersMeta[T]=w})){y.columnFilters.__global__=!0;break}}y.columnFilters.__global__!==!0&&(y.columnFilters.__global__=!1)}}const h=b=>{for(let y=0;y<s.length;y++)if(b.columnFilters[s[y]]===!1)return!1;return!0};return UU(t.rows,h,e)},lt(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex()))}function QEe(e){return t=>st(()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded],(n,r)=>{if(!r.rows.length)return r;const{pageSize:a,pageIndex:o}=n;let{rows:s,flatRows:u,rowsById:c}=r;const f=a*o,p=f+a;s=s.slice(f,p);let h;t.options.paginateExpandedRows?h={rows:s,flatRows:u,rowsById:c}:h=YEe({rows:s,flatRows:u,rowsById:c}),h.flatRows=[];const b=y=>{h.flatRows.push(y),y.subRows.length&&y.subRows.forEach(b)};return h.rows.forEach(b),h},lt(t.options,"debugTable"))}function JEe(){return e=>st(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,a=[],o=r.filter(c=>{var f;return(f=e.getColumn(c.id))==null?void 0:f.getCanSort()}),s={};o.forEach(c=>{const f=e.getColumn(c.id);f&&(s[c.id]={sortUndefined:f.columnDef.sortUndefined,invertSorting:f.columnDef.invertSorting,sortingFn:f.getSortingFn()})});const u=c=>{const f=c.map(p=>({...p}));return f.sort((p,h)=>{for(let y=0;y<o.length;y+=1){var b;const v=o[y],T=s[v.id],w=T.sortUndefined,A=(b=v?.desc)!=null?b:!1;let N=0;if(w){const _=p.getValue(v.id),I=h.getValue(v.id),D=_===void 0,k=I===void 0;if(D||k){if(w==="first")return D?-1:1;if(w==="last")return D?1:-1;N=D&&k?0:D?w:-w}}if(N===0&&(N=T.sortingFn(p,h,v.id)),N!==0)return A&&(N*=-1),T.invertSorting&&(N*=-1),N}return p.index-h.index}),f.forEach(p=>{var h;a.push(p),(h=p.subRows)!=null&&h.length&&(p.subRows=u(p.subRows))}),f};return{rows:u(n.rows),flatRows:a,rowsById:n.rowsById}},lt(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function ML(e,t){return e?eve(e)?E.createElement(e,t):e:null}function eve(e){return tve(e)||typeof e=="function"||nve(e)}function tve(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function nve(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function rve(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=E.useState(()=>({current:VEe(t)})),[r,a]=E.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:s=>{a(s),e.onStateChange==null||e.onStateChange(s)}})),n.current}const jU=E.forwardRef(({className:e,...t},n)=>m.jsx("div",{className:"relative w-full overflow-auto",children:m.jsx("table",{ref:n,className:Ne("w-full caption-bottom text-sm",e),...t})}));jU.displayName="Table";const HU=E.forwardRef(({className:e,...t},n)=>m.jsx("thead",{ref:n,className:Ne("[&_tr]:border-b",e),...t}));HU.displayName="TableHeader";const zU=E.forwardRef(({className:e,...t},n)=>m.jsx("tbody",{ref:n,className:Ne("[&_tr:last-child]:border-0",e),...t}));zU.displayName="TableBody";const ave=E.forwardRef(({className:e,...t},n)=>m.jsx("tfoot",{ref:n,className:Ne("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));ave.displayName="TableFooter";const km=E.forwardRef(({className:e,...t},n)=>m.jsx("tr",{ref:n,className:Ne("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));km.displayName="TableRow";const $U=E.forwardRef(({className:e,...t},n)=>m.jsx("th",{ref:n,className:Ne("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));$U.displayName="TableHead";const T1=E.forwardRef(({className:e,...t},n)=>m.jsx("td",{ref:n,className:Ne("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));T1.displayName="TableCell";const ive=E.forwardRef(({className:e,...t},n)=>m.jsx("caption",{ref:n,className:Ne("mt-4 text-sm text-muted-foreground",e),...t}));ive.displayName="TableCaption";function ove({table:e,showRowSelection:t=!0}){return m.jsxs("div",{className:"flex items-center justify-between px-2",children:[t&&m.jsxs("div",{className:"flex-1 text-sm text-muted-foreground",children:[e.getFilteredSelectedRowModel().rows.length," of"," ",e.getFilteredRowModel().rows.length," row(s) selected."]}),m.jsxs("div",{className:"flex items-center space-x-6 lg:space-x-8",children:[m.jsxs("div",{className:"flex items-center space-x-2",children:[m.jsx("p",{className:"text-sm font-medium",children:"Rows per page"}),m.jsxs(br,{value:`${e.getState().pagination.pageSize}`,onValueChange:n=>{e.setPageSize(Number(n))},children:[m.jsx(cr,{className:"h-8 w-[70px]",children:m.jsx(yr,{placeholder:e.getState().pagination.pageSize})}),m.jsx(dr,{side:"top",children:[10,20,30,40,50].map(n=>m.jsx(Wt,{value:`${n}`,children:n},n))})]})]}),m.jsxs("div",{className:"flex w-[100px] items-center justify-center text-sm font-medium",children:["Page ",e.getState().pagination.pageIndex+1," of ",e.getPageCount()]}),m.jsxs("div",{className:"flex items-center space-x-2",children:[m.jsxs(Ge,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:[m.jsx("span",{className:"sr-only",children:"Go to first page"}),m.jsx(KH,{className:"h-4 w-4"})]}),m.jsxs(Ge,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:[m.jsx("span",{className:"sr-only",children:"Go to previous page"}),m.jsx(GH,{className:"h-4 w-4"})]}),m.jsxs(Ge,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:[m.jsx("span",{className:"sr-only",children:"Go to next page"}),m.jsx(zl,{className:"h-4 w-4"})]}),m.jsxs(Ge,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),children:[m.jsx("span",{className:"sr-only",children:"Go to last page"}),m.jsx(ZH,{className:"h-4 w-4"})]})]})]})]})}function sve({columns:e,data:t,toolbar:n,onRowClick:r,showPagination:a=!0,showRowSelection:o=!0,initialSorting:s=[],onSelectionChange:u}){const[c,f]=E.useState({}),[p,h]=E.useState({}),[b,y]=E.useState([]),[v,T]=E.useState(s),w=rve({data:t,columns:e,state:{sorting:v,columnVisibility:p,rowSelection:c,columnFilters:b},enableRowSelection:!0,onRowSelectionChange:f,onSortingChange:T,onColumnFiltersChange:y,onColumnVisibilityChange:h,getCoreRowModel:GEe(),getFilteredRowModel:ZEe(),getPaginationRowModel:QEe(),getSortedRowModel:JEe(),getFacetedRowModel:KEe(),getFacetedUniqueValues:XEe()});return E.useEffect(()=>{if(u){const A=w.getFilteredSelectedRowModel().rows.map(N=>N.original);u(A)}},[c,u,w]),m.jsxs("div",{className:"space-y-4",children:[n,m.jsx("div",{className:"rounded-md border",children:m.jsxs(jU,{children:[m.jsx(HU,{children:w.getHeaderGroups().map(A=>m.jsx(km,{children:A.headers.map(N=>m.jsx($U,{colSpan:N.colSpan,children:N.isPlaceholder?null:ML(N.column.columnDef.header,N.getContext())},N.id))},A.id))}),m.jsx(zU,{children:w.getRowModel().rows?.length?w.getRowModel().rows.map(A=>m.jsx(km,{"data-state":A.getIsSelected()&&"selected",onClick:()=>r?.(A.original),className:r?"cursor-pointer":"",children:A.getVisibleCells().map(N=>m.jsx(T1,{children:ML(N.column.columnDef.cell,N.getContext())},N.id))},A.id)):m.jsx(km,{children:m.jsx(T1,{colSpan:e.length,className:"h-24 text-center",children:"No results."})})})]})}),a&&m.jsx(ove,{table:w,showRowSelection:o})]})}var WE="rovingFocusGroup.onEntryFocus",lve={bubbles:!1,cancelable:!0},xf="RovingFocusGroup",[w1,VU,uve]=HA(xf),[cve,GU]=ga(xf,[uve]),[dve,fve]=cve(xf),YU=E.forwardRef((e,t)=>m.jsx(w1.Provider,{scope:e.__scopeRovingFocusGroup,children:m.jsx(w1.Slot,{scope:e.__scopeRovingFocusGroup,children:m.jsx(pve,{...e,ref:t})})}));YU.displayName=xf;var pve=E.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:o,currentTabStopId:s,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:f,preventScrollOnEntryFocus:p=!1,...h}=e,b=E.useRef(null),y=Rt(t,b),v=Yh(o),[T,w]=Di({prop:s,defaultProp:u??null,onChange:c,caller:xf}),[A,N]=E.useState(!1),_=er(f),I=VU(n),D=E.useRef(!1),[k,L]=E.useState(0);return E.useEffect(()=>{const F=b.current;if(F)return F.addEventListener(WE,_),()=>F.removeEventListener(WE,_)},[_]),m.jsx(dve,{scope:n,orientation:r,dir:v,loop:a,currentTabStopId:T,onItemFocus:E.useCallback(F=>w(F),[w]),onItemShiftTab:E.useCallback(()=>N(!0),[]),onFocusableItemAdd:E.useCallback(()=>L(F=>F+1),[]),onFocusableItemRemove:E.useCallback(()=>L(F=>F-1),[]),children:m.jsx(rt.div,{tabIndex:A||k===0?-1:0,"data-orientation":r,...h,ref:y,style:{outline:"none",...e.style},onMouseDown:qe(e.onMouseDown,()=>{D.current=!0}),onFocus:qe(e.onFocus,F=>{const Y=!D.current;if(F.target===F.currentTarget&&Y&&!A){const P=new CustomEvent(WE,lve);if(F.currentTarget.dispatchEvent(P),!P.defaultPrevented){const M=I().filter(q=>q.focusable),V=M.find(q=>q.active),Z=M.find(q=>q.id===T),se=[V,Z,...M].filter(Boolean).map(q=>q.ref.current);KU(se,p)}}D.current=!1}),onBlur:qe(e.onBlur,()=>N(!1))})})}),qU="RovingFocusGroupItem",WU=E.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:o,children:s,...u}=e,c=Gn(),f=o||c,p=fve(qU,n),h=p.currentTabStopId===f,b=VU(n),{onFocusableItemAdd:y,onFocusableItemRemove:v,currentTabStopId:T}=p;return E.useEffect(()=>{if(r)return y(),()=>v()},[r,y,v]),m.jsx(w1.ItemSlot,{scope:n,id:f,focusable:r,active:a,children:m.jsx(rt.span,{tabIndex:h?0:-1,"data-orientation":p.orientation,...u,ref:t,onMouseDown:qe(e.onMouseDown,w=>{r?p.onItemFocus(f):w.preventDefault()}),onFocus:qe(e.onFocus,()=>p.onItemFocus(f)),onKeyDown:qe(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){p.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const A=gve(w,p.orientation,p.dir);if(A!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let _=b().filter(I=>I.focusable).map(I=>I.ref.current);if(A==="last")_.reverse();else if(A==="prev"||A==="next"){A==="prev"&&_.reverse();const I=_.indexOf(w.currentTarget);_=p.loop?bve(_,I+1):_.slice(I+1)}setTimeout(()=>KU(_))}}),children:typeof s=="function"?s({isCurrentTabStop:h,hasTabStop:T!=null}):s})})});WU.displayName=qU;var mve={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function hve(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function gve(e,t,n){const r=hve(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return mve[r]}function KU(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function bve(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var yve=YU,Eve=WU;function vve(e){const t=xve(e),n=E.forwardRef((r,a)=>{const{children:o,...s}=r,u=E.Children.toArray(o),c=u.find(Tve);if(c){const f=c.props.children,p=u.map(h=>h===c?E.Children.count(f)>1?E.Children.only(null):E.isValidElement(f)?f.props.children:null:h);return m.jsx(t,{...s,ref:a,children:E.isValidElement(f)?E.cloneElement(f,void 0,p):null})}return m.jsx(t,{...s,ref:a,children:o})});return n.displayName=`${e}.Slot`,n}function xve(e){const t=E.forwardRef((n,r)=>{const{children:a,...o}=n;if(E.isValidElement(a)){const s=Cve(a),u=wve(o,a.props);return a.type!==E.Fragment&&(u.ref=r?vr(r,s):s),E.cloneElement(a,u)}return E.Children.count(a)>1?E.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Sve=Symbol("radix.slottable");function Tve(e){return E.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sve}function wve(e,t){const n={...t};for(const r in t){const a=e[r],o=t[r];/^on[A-Z]/.test(r)?a&&o?n[r]=(...u)=>{const c=o(...u);return a(...u),c}:a&&(n[r]=a):r==="style"?n[r]={...a,...o}:r==="className"&&(n[r]=[a,o].filter(Boolean).join(" "))}return{...e,...n}}function Cve(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var C1=["Enter"," "],Ave=["ArrowDown","PageUp","Home"],XU=["ArrowUp","PageDown","End"],Nve=[...Ave,...XU],_ve={ltr:[...C1,"ArrowRight"],rtl:[...C1,"ArrowLeft"]},Rve={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Sf="Menu",[Od,kve,Dve]=HA(Sf),[Is,ZU]=ga(Sf,[Dve,Io,GU]),Qg=Io(),QU=GU(),[Ive,Os]=Is(Sf),[Ove,Tf]=Is(Sf),JU=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:o,modal:s=!0}=e,u=Qg(t),[c,f]=E.useState(null),p=E.useRef(!1),h=er(o),b=Yh(a);return E.useEffect(()=>{const y=()=>{p.current=!0,document.addEventListener("pointerdown",v,{capture:!0,once:!0}),document.addEventListener("pointermove",v,{capture:!0,once:!0})},v=()=>p.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",v,{capture:!0}),document.removeEventListener("pointermove",v,{capture:!0})}},[]),m.jsx(Lg,{...u,children:m.jsx(Ive,{scope:t,open:n,onOpenChange:h,content:c,onContentChange:f,children:m.jsx(Ove,{scope:t,onClose:E.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:p,dir:b,modal:s,children:r})})})};JU.displayName=Sf;var Lve="MenuAnchor",vN=E.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=Qg(n);return m.jsx(ff,{...a,...r,ref:t})});vN.displayName=Lve;var xN="MenuPortal",[Mve,e9]=Is(xN,{forceMount:void 0}),t9=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:a}=e,o=Os(xN,t);return m.jsx(Mve,{scope:t,forceMount:n,children:m.jsx(qn,{present:n||o.open,children:m.jsx(iu,{asChild:!0,container:a,children:r})})})};t9.displayName=xN;var ha="MenuContent",[Fve,SN]=Is(ha),n9=E.forwardRef((e,t)=>{const n=e9(ha,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,o=Os(ha,e.__scopeMenu),s=Tf(ha,e.__scopeMenu);return m.jsx(Od.Provider,{scope:e.__scopeMenu,children:m.jsx(qn,{present:r||o.open,children:m.jsx(Od.Slot,{scope:e.__scopeMenu,children:s.modal?m.jsx(Pve,{...a,ref:t}):m.jsx(Bve,{...a,ref:t})})})})}),Pve=E.forwardRef((e,t)=>{const n=Os(ha,e.__scopeMenu),r=E.useRef(null),a=Rt(t,r);return E.useEffect(()=>{const o=r.current;if(o)return Uh(o)},[]),m.jsx(TN,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:qe(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Bve=E.forwardRef((e,t)=>{const n=Os(ha,e.__scopeMenu);return m.jsx(TN,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Uve=vve("MenuContent.ScrollLock"),TN=E.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:u,onEntryFocus:c,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:b,onDismiss:y,disableOutsideScroll:v,...T}=e,w=Os(ha,n),A=Tf(ha,n),N=Qg(n),_=QU(n),I=kve(n),[D,k]=E.useState(null),L=E.useRef(null),F=Rt(t,L,w.onContentChange),Y=E.useRef(0),P=E.useRef(""),M=E.useRef(0),V=E.useRef(null),Z=E.useRef("right"),ae=E.useRef(0),se=v?Hd:E.Fragment,q=v?{as:Uve,allowPinchZoom:!0}:void 0,ne=le=>{const H=P.current+le,K=I().filter(Q=>!Q.disabled),G=document.activeElement,O=K.find(Q=>Q.ref.current===G)?.textValue,te=K.map(Q=>Q.textValue),ue=Zve(te,H,O),$=K.find(Q=>Q.textValue===ue)?.ref.current;(function Q(J){P.current=J,window.clearTimeout(Y.current),J!==""&&(Y.current=window.setTimeout(()=>Q(""),1e3))})(H),$&&setTimeout(()=>$.focus())};E.useEffect(()=>()=>window.clearTimeout(Y.current),[]),Ph();const ie=E.useCallback(le=>Z.current===V.current?.side&&Jve(le,V.current?.area),[]);return m.jsx(Fve,{scope:n,searchRef:P,onItemEnter:E.useCallback(le=>{ie(le)&&le.preventDefault()},[ie]),onItemLeave:E.useCallback(le=>{ie(le)||(L.current?.focus(),k(null))},[ie]),onTriggerLeave:E.useCallback(le=>{ie(le)&&le.preventDefault()},[ie]),pointerGraceTimerRef:M,onPointerGraceIntentChange:E.useCallback(le=>{V.current=le},[]),children:m.jsx(se,{...q,children:m.jsx(jd,{asChild:!0,trapped:a,onMountAutoFocus:qe(o,le=>{le.preventDefault(),L.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:m.jsx(au,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:b,onDismiss:y,children:m.jsx(yve,{asChild:!0,..._,dir:A.dir,orientation:"vertical",loop:r,currentTabStopId:D,onCurrentTabStopIdChange:k,onEntryFocus:qe(c,le=>{A.isUsingKeyboardRef.current||le.preventDefault()}),preventScrollOnEntryFocus:!0,children:m.jsx(Mg,{role:"menu","aria-orientation":"vertical","data-state":y9(w.open),"data-radix-menu-content":"",dir:A.dir,...N,...T,ref:F,style:{outline:"none",...T.style},onKeyDown:qe(T.onKeyDown,le=>{const K=le.target.closest("[data-radix-menu-content]")===le.currentTarget,G=le.ctrlKey||le.altKey||le.metaKey,O=le.key.length===1;K&&(le.key==="Tab"&&le.preventDefault(),!G&&O&&ne(le.key));const te=L.current;if(le.target!==te||!Nve.includes(le.key))return;le.preventDefault();const $=I().filter(Q=>!Q.disabled).map(Q=>Q.ref.current);XU.includes(le.key)&&$.reverse(),Kve($)}),onBlur:qe(e.onBlur,le=>{le.currentTarget.contains(le.target)||(window.clearTimeout(Y.current),P.current="")}),onPointerMove:qe(e.onPointerMove,Ld(le=>{const H=le.target,K=ae.current!==le.clientX;if(le.currentTarget.contains(H)&&K){const G=le.clientX>ae.current?"right":"left";Z.current=G,ae.current=le.clientX}}))})})})})})})});n9.displayName=ha;var jve="MenuGroup",wN=E.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return m.jsx(rt.div,{role:"group",...r,ref:t})});wN.displayName=jve;var Hve="MenuLabel",r9=E.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return m.jsx(rt.div,{...r,ref:t})});r9.displayName=Hve;var _h="MenuItem",FL="menu.itemSelect",Jg=E.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...a}=e,o=E.useRef(null),s=Tf(_h,e.__scopeMenu),u=SN(_h,e.__scopeMenu),c=Rt(t,o),f=E.useRef(!1),p=()=>{const h=o.current;if(!n&&h){const b=new CustomEvent(FL,{bubbles:!0,cancelable:!0});h.addEventListener(FL,y=>r?.(y),{once:!0}),O4(h,b),b.defaultPrevented?f.current=!1:s.onClose()}};return m.jsx(a9,{...a,ref:c,disabled:n,onClick:qe(e.onClick,p),onPointerDown:h=>{e.onPointerDown?.(h),f.current=!0},onPointerUp:qe(e.onPointerUp,h=>{f.current||h.currentTarget?.click()}),onKeyDown:qe(e.onKeyDown,h=>{const b=u.searchRef.current!=="";n||b&&h.key===" "||C1.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})})});Jg.displayName=_h;var a9=E.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:a,...o}=e,s=SN(_h,n),u=QU(n),c=E.useRef(null),f=Rt(t,c),[p,h]=E.useState(!1),[b,y]=E.useState("");return E.useEffect(()=>{const v=c.current;v&&y((v.textContent??"").trim())},[o.children]),m.jsx(Od.ItemSlot,{scope:n,disabled:r,textValue:a??b,children:m.jsx(Eve,{asChild:!0,...u,focusable:!r,children:m.jsx(rt.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...o,ref:f,onPointerMove:qe(e.onPointerMove,Ld(v=>{r?s.onItemLeave(v):(s.onItemEnter(v),v.defaultPrevented||v.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:qe(e.onPointerLeave,Ld(v=>s.onItemLeave(v))),onFocus:qe(e.onFocus,()=>h(!0)),onBlur:qe(e.onBlur,()=>h(!1))})})})}),zve="MenuCheckboxItem",i9=E.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...a}=e;return m.jsx(c9,{scope:e.__scopeMenu,checked:n,children:m.jsx(Jg,{role:"menuitemcheckbox","aria-checked":Rh(n)?"mixed":n,...a,ref:t,"data-state":AN(n),onSelect:qe(a.onSelect,()=>r?.(Rh(n)?!0:!n),{checkForDefaultPrevented:!1})})})});i9.displayName=zve;var o9="MenuRadioGroup",[$ve,Vve]=Is(o9,{value:void 0,onValueChange:()=>{}}),s9=E.forwardRef((e,t)=>{const{value:n,onValueChange:r,...a}=e,o=er(r);return m.jsx($ve,{scope:e.__scopeMenu,value:n,onValueChange:o,children:m.jsx(wN,{...a,ref:t})})});s9.displayName=o9;var l9="MenuRadioItem",u9=E.forwardRef((e,t)=>{const{value:n,...r}=e,a=Vve(l9,e.__scopeMenu),o=n===a.value;return m.jsx(c9,{scope:e.__scopeMenu,checked:o,children:m.jsx(Jg,{role:"menuitemradio","aria-checked":o,...r,ref:t,"data-state":AN(o),onSelect:qe(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});u9.displayName=l9;var CN="MenuItemIndicator",[c9,Gve]=Is(CN,{checked:!1}),d9=E.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...a}=e,o=Gve(CN,n);return m.jsx(qn,{present:r||Rh(o.checked)||o.checked===!0,children:m.jsx(rt.span,{...a,ref:t,"data-state":AN(o.checked)})})});d9.displayName=CN;var Yve="MenuSeparator",f9=E.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return m.jsx(rt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});f9.displayName=Yve;var qve="MenuArrow",p9=E.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=Qg(n);return m.jsx(Fg,{...a,...r,ref:t})});p9.displayName=qve;var Wve="MenuSub",[rxe,m9]=Is(Wve),jc="MenuSubTrigger",h9=E.forwardRef((e,t)=>{const n=Os(jc,e.__scopeMenu),r=Tf(jc,e.__scopeMenu),a=m9(jc,e.__scopeMenu),o=SN(jc,e.__scopeMenu),s=E.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:c}=o,f={__scopeMenu:e.__scopeMenu},p=E.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return E.useEffect(()=>p,[p]),E.useEffect(()=>{const h=u.current;return()=>{window.clearTimeout(h),c(null)}},[u,c]),m.jsx(vN,{asChild:!0,...f,children:m.jsx(a9,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":y9(n.open),...e,ref:vr(t,a.onTriggerChange),onClick:h=>{e.onClick?.(h),!(e.disabled||h.defaultPrevented)&&(h.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:qe(e.onPointerMove,Ld(h=>{o.onItemEnter(h),!h.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:qe(e.onPointerLeave,Ld(h=>{p();const b=n.content?.getBoundingClientRect();if(b){const y=n.content?.dataset.side,v=y==="right",T=v?-5:5,w=b[v?"left":"right"],A=b[v?"right":"left"];o.onPointerGraceIntentChange({area:[{x:h.clientX+T,y:h.clientY},{x:w,y:b.top},{x:A,y:b.top},{x:A,y:b.bottom},{x:w,y:b.bottom}],side:y}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(h),h.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:qe(e.onKeyDown,h=>{const b=o.searchRef.current!=="";e.disabled||b&&h.key===" "||_ve[r.dir].includes(h.key)&&(n.onOpenChange(!0),n.content?.focus(),h.preventDefault())})})})});h9.displayName=jc;var g9="MenuSubContent",b9=E.forwardRef((e,t)=>{const n=e9(ha,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,o=Os(ha,e.__scopeMenu),s=Tf(ha,e.__scopeMenu),u=m9(g9,e.__scopeMenu),c=E.useRef(null),f=Rt(t,c);return m.jsx(Od.Provider,{scope:e.__scopeMenu,children:m.jsx(qn,{present:r||o.open,children:m.jsx(Od.Slot,{scope:e.__scopeMenu,children:m.jsx(TN,{id:u.contentId,"aria-labelledby":u.triggerId,...a,ref:f,align:"start",side:s.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:p=>{s.isUsingKeyboardRef.current&&c.current?.focus(),p.preventDefault()},onCloseAutoFocus:p=>p.preventDefault(),onFocusOutside:qe(e.onFocusOutside,p=>{p.target!==u.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:qe(e.onEscapeKeyDown,p=>{s.onClose(),p.preventDefault()}),onKeyDown:qe(e.onKeyDown,p=>{const h=p.currentTarget.contains(p.target),b=Rve[s.dir].includes(p.key);h&&b&&(o.onOpenChange(!1),u.trigger?.focus(),p.preventDefault())})})})})})});b9.displayName=g9;function y9(e){return e?"open":"closed"}function Rh(e){return e==="indeterminate"}function AN(e){return Rh(e)?"indeterminate":e?"checked":"unchecked"}function Kve(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Xve(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Zve(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let s=Xve(e,Math.max(o,0));a.length===1&&(s=s.filter(f=>f!==n));const c=s.find(f=>f.toLowerCase().startsWith(a.toLowerCase()));return c!==n?c:void 0}function Qve(e,t){const{x:n,y:r}=e;let a=!1;for(let o=0,s=t.length-1;o<t.length;s=o++){const u=t[o],c=t[s],f=u.x,p=u.y,h=c.x,b=c.y;p>r!=b>r&&n<(h-f)*(r-p)/(b-p)+f&&(a=!a)}return a}function Jve(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Qve(n,t)}function Ld(e){return t=>t.pointerType==="mouse"?e(t):void 0}var e1e=JU,t1e=vN,n1e=t9,r1e=n9,a1e=wN,i1e=r9,o1e=Jg,s1e=i9,l1e=s9,u1e=u9,c1e=d9,d1e=f9,f1e=p9,p1e=h9,m1e=b9,eb="DropdownMenu",[h1e]=ga(eb,[ZU]),Tr=ZU(),[g1e,E9]=h1e(eb),v9=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:a,defaultOpen:o,onOpenChange:s,modal:u=!0}=e,c=Tr(t),f=E.useRef(null),[p,h]=Di({prop:a,defaultProp:o??!1,onChange:s,caller:eb});return m.jsx(g1e,{scope:t,triggerId:Gn(),triggerRef:f,contentId:Gn(),open:p,onOpenChange:h,onOpenToggle:E.useCallback(()=>h(b=>!b),[h]),modal:u,children:m.jsx(e1e,{...c,open:p,onOpenChange:h,dir:r,modal:u,children:n})})};v9.displayName=eb;var x9="DropdownMenuTrigger",S9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...a}=e,o=E9(x9,n),s=Tr(n);return m.jsx(t1e,{asChild:!0,...s,children:m.jsx(rt.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...a,ref:vr(t,o.triggerRef),onPointerDown:qe(e.onPointerDown,u=>{!r&&u.button===0&&u.ctrlKey===!1&&(o.onOpenToggle(),o.open||u.preventDefault())}),onKeyDown:qe(e.onKeyDown,u=>{r||(["Enter"," "].includes(u.key)&&o.onOpenToggle(),u.key==="ArrowDown"&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});S9.displayName=x9;var b1e="DropdownMenuPortal",T9=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Tr(t);return m.jsx(n1e,{...r,...n})};T9.displayName=b1e;var w9="DropdownMenuContent",C9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=E9(w9,n),o=Tr(n),s=E.useRef(!1);return m.jsx(r1e,{id:a.contentId,"aria-labelledby":a.triggerId,...o,...r,ref:t,onCloseAutoFocus:qe(e.onCloseAutoFocus,u=>{s.current||a.triggerRef.current?.focus(),s.current=!1,u.preventDefault()}),onInteractOutside:qe(e.onInteractOutside,u=>{const c=u.detail.originalEvent,f=c.button===0&&c.ctrlKey===!0,p=c.button===2||f;(!a.modal||p)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});C9.displayName=w9;var y1e="DropdownMenuGroup",E1e=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(a1e,{...a,...r,ref:t})});E1e.displayName=y1e;var v1e="DropdownMenuLabel",A9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(i1e,{...a,...r,ref:t})});A9.displayName=v1e;var x1e="DropdownMenuItem",N9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(o1e,{...a,...r,ref:t})});N9.displayName=x1e;var S1e="DropdownMenuCheckboxItem",_9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(s1e,{...a,...r,ref:t})});_9.displayName=S1e;var T1e="DropdownMenuRadioGroup",w1e=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(l1e,{...a,...r,ref:t})});w1e.displayName=T1e;var C1e="DropdownMenuRadioItem",R9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(u1e,{...a,...r,ref:t})});R9.displayName=C1e;var A1e="DropdownMenuItemIndicator",k9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(c1e,{...a,...r,ref:t})});k9.displayName=A1e;var N1e="DropdownMenuSeparator",D9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(d1e,{...a,...r,ref:t})});D9.displayName=N1e;var _1e="DropdownMenuArrow",R1e=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(f1e,{...a,...r,ref:t})});R1e.displayName=_1e;var k1e="DropdownMenuSubTrigger",I9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(p1e,{...a,...r,ref:t})});I9.displayName=k1e;var D1e="DropdownMenuSubContent",O9=E.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,a=Tr(n);return m.jsx(m1e,{...a,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});O9.displayName=D1e;var I1e=v9,O1e=S9,L1e=T9,L9=C9,M9=A9,F9=N9,P9=_9,B9=R9,U9=k9,j9=D9,H9=I9,z9=O9;const $9=I1e,V9=O1e,M1e=E.forwardRef(({className:e,inset:t,children:n,...r},a)=>m.jsxs(H9,{ref:a,className:Ne("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r,children:[n,m.jsx(zl,{className:"ml-auto"})]}));M1e.displayName=H9.displayName;const F1e=E.forwardRef(({className:e,...t},n)=>m.jsx(z9,{ref:n,className:Ne("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...t}));F1e.displayName=z9.displayName;const NN=E.forwardRef(({className:e,sideOffset:t=4,...n},r)=>m.jsx(L1e,{children:m.jsx(L9,{ref:r,sideOffset:t,className:Ne("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...n})}));NN.displayName=L9.displayName;const od=E.forwardRef(({className:e,inset:t,...n},r)=>m.jsx(F9,{ref:r,className:Ne("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...n}));od.displayName=F9.displayName;const P1e=E.forwardRef(({className:e,children:t,checked:n,...r},a)=>m.jsxs(P9,{ref:a,className:Ne("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[m.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:m.jsx(U9,{children:m.jsx(da,{className:"h-4 w-4"})})}),t]}));P1e.displayName=P9.displayName;const B1e=E.forwardRef(({className:e,children:t,...n},r)=>m.jsxs(B9,{ref:r,className:Ne("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[m.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:m.jsx(U9,{children:m.jsx($L,{className:"h-2 w-2 fill-current"})})}),t]}));B1e.displayName=B9.displayName;const U1e=E.forwardRef(({className:e,inset:t,...n},r)=>m.jsx(M9,{ref:r,className:Ne("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));U1e.displayName=M9.displayName;const G9=E.forwardRef(({className:e,...t},n)=>m.jsx(j9,{ref:n,className:Ne("-mx-1 my-1 h-px bg-muted",e),...t}));G9.displayName=j9.displayName;function rs({column:e,title:t,className:n}){return e.getCanSort()?m.jsx("div",{className:Ne("flex items-center space-x-2",n),children:m.jsxs($9,{children:[m.jsx(V9,{asChild:!0,children:m.jsxs(Ge,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",children:[m.jsx("span",{children:t}),e.getIsSorted()==="desc"?m.jsx(ZE,{className:"ml-2 h-4 w-4"}):e.getIsSorted()==="asc"?m.jsx(Hl,{className:"ml-2 h-4 w-4"}):m.jsx(Dm,{className:"ml-2 h-4 w-4"})]})}),m.jsxs(NN,{align:"start",children:[m.jsxs(od,{onClick:()=>e.toggleSorting(!1),children:[m.jsx(Hl,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Asc"]}),m.jsxs(od,{onClick:()=>e.toggleSorting(!0),children:[m.jsx(ZE,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Desc"]}),e.getCanHide()&&m.jsxs(m.Fragment,{children:[m.jsx(G9,{}),m.jsxs(od,{onClick:()=>e.toggleVisibility(!1),children:[m.jsx(QE,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Hide"]})]})]})]})}):m.jsx("div",{className:Ne(n),children:t})}const j1e=[{id:"select",header:({table:e})=>m.jsx(lh,{checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t),"aria-label":"Select all",className:"translate-y-[2px]",onClick:t=>t.stopPropagation()}),cell:({row:e})=>m.jsx(lh,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(!!t),"aria-label":"Select row",className:"translate-y-[2px]",onClick:t=>t.stopPropagation()}),enableSorting:!1,enableHiding:!1},{accessorKey:"id",header:({column:e})=>m.jsx(rs,{column:e,title:"ID"}),cell:({row:e})=>m.jsxs("div",{className:"w-[60px] font-mono text-xs text-muted-foreground",children:["#",e.getValue("id")]}),enableSorting:!0,enableHiding:!1},{accessorKey:"title",header:({column:e})=>m.jsx(rs,{column:e,title:"Title"}),cell:({row:e})=>{const t=e.original;return m.jsxs("div",{className:"flex flex-col gap-1",children:[m.jsx("span",{className:"font-medium line-clamp-1",children:t.title}),t.description&&m.jsx("span",{className:"text-xs text-muted-foreground line-clamp-1",children:t.description})]})},enableSorting:!0},{accessorKey:"status",header:({column:e})=>m.jsx(rs,{column:e,title:"Status"}),cell:({row:e})=>{const t=e.getValue("status");return m.jsx(EB,{status:t})},filterFn:(e,t,n)=>n.includes(e.getValue(t)),enableSorting:!0},{accessorKey:"priority",header:({column:e})=>m.jsx(rs,{column:e,title:"Priority"}),cell:({row:e})=>{const t=e.getValue("priority");return m.jsx(vB,{priority:t})},filterFn:(e,t,n)=>n.includes(e.getValue(t)),enableSorting:!0,sortingFn:(e,t)=>{const n={high:0,medium:1,low:2},r=n[e.getValue("priority")]??1,a=n[t.getValue("priority")]??1;return r-a}},{accessorKey:"assignee",header:({column:e})=>m.jsx(rs,{column:e,title:"Assignee"}),cell:({row:e})=>{const t=e.getValue("assignee");return t?m.jsx("span",{className:"text-sm font-mono",children:t}):m.jsx("span",{className:"text-muted-foreground text-sm",children:"-"})},filterFn:(e,t,n)=>{const r=e.getValue(t);return r?n.includes(r):n.includes("unassigned")},enableSorting:!0},{accessorKey:"labels",header:({column:e})=>m.jsx(rs,{column:e,title:"Labels"}),cell:({row:e})=>{const t=e.getValue("labels");return t.length>0?m.jsx(xB,{labels:t,maxVisible:2}):m.jsx("span",{className:"text-muted-foreground text-sm",children:"-"})},filterFn:(e,t,n)=>{const r=e.getValue(t);return n.some(a=>r.includes(a))},enableSorting:!1},{accessorKey:"acceptanceCriteria",header:({column:e})=>m.jsx(rs,{column:e,title:"Progress"}),cell:({row:e})=>{const t=e.original.acceptanceCriteria;if(t.length===0)return m.jsx("span",{className:"text-muted-foreground text-sm",children:"-"});const n=t.filter(o=>o.completed).length,r=t.length,a=Math.round(n/r*100);return m.jsxs("div",{className:"flex items-center gap-2 min-w-[80px]",children:[m.jsx("div",{className:"flex-1 h-2 bg-muted rounded-full overflow-hidden",children:m.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${a}%`}})}),m.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[n,"/",r]})]})},enableSorting:!1}];function H1e({globalFilter:e,setGlobalFilter:t,statusFilter:n,setStatusFilter:r,priorityFilter:a,setPriorityFilter:o,onNewTask:s}){const u=e||n!=="all"||a!=="all";return m.jsxs("div",{className:"flex items-center justify-between gap-4",children:[m.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[m.jsxs("div",{className:"relative w-[250px]",children:[m.jsx(Dh,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),m.jsx(Fn,{placeholder:"Search tasks...",value:e,onChange:c=>t(c.target.value),className:"pl-8"})]}),m.jsxs(br,{value:n,onValueChange:r,children:[m.jsx(cr,{className:"w-[150px]",children:m.jsx(yr,{placeholder:"Status"})}),m.jsxs(dr,{children:[m.jsx(Wt,{value:"all",children:"All Status"}),m.jsx(Wt,{value:"todo",children:"To Do"}),m.jsx(Wt,{value:"in-progress",children:"In Progress"}),m.jsx(Wt,{value:"in-review",children:"In Review"}),m.jsx(Wt,{value:"blocked",children:"Blocked"}),m.jsx(Wt,{value:"done",children:"Done"})]})]}),m.jsxs(br,{value:a,onValueChange:o,children:[m.jsx(cr,{className:"w-[150px]",children:m.jsx(yr,{placeholder:"Priority"})}),m.jsxs(dr,{children:[m.jsx(Wt,{value:"all",children:"All Priority"}),m.jsx(Wt,{value:"high",children:"High"}),m.jsx(Wt,{value:"medium",children:"Medium"}),m.jsx(Wt,{value:"low",children:"Low"})]})]}),u&&m.jsxs(Ge,{variant:"ghost",onClick:()=>{t(""),r("all"),o("all")},className:"h-8 px-2 lg:px-3",children:["Reset",m.jsx(Yr,{className:"ml-2 h-4 w-4"})]})]}),s&&m.jsxs(Ge,{onClick:s,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(pa,{className:"mr-2 h-4 w-4"}),"New Task"]})]})}function z1e({tasks:e,onTaskClick:t,onSelectionChange:n,onNewTask:r}){const[a,o]=E.useState(""),[s,u]=E.useState("all"),[c,f]=E.useState("all"),p=E.useMemo(()=>{let h=e;if(a){const b=a.toLowerCase();h=h.filter(y=>y.id.toLowerCase().includes(b)||y.title.toLowerCase().includes(b)||y.description?.toLowerCase().includes(b)||y.assignee?.toLowerCase().includes(b)||y.labels.some(v=>v.toLowerCase().includes(b)))}return s!=="all"&&(h=h.filter(b=>b.status===s)),c!=="all"&&(h=h.filter(b=>b.priority===c)),h},[e,a,s,c]);return m.jsx(sve,{columns:j1e,data:p,onRowClick:t,onSelectionChange:n,showPagination:!0,showRowSelection:!0,initialSorting:[{id:"priority",desc:!1}],toolbar:m.jsx(H1e,{table:null,globalFilter:a,setGlobalFilter:o,statusFilter:s,setStatusFilter:u,priorityFilter:c,setPriorityFilter:f,onNewTask:r})})}const KE=["todo","in-progress","in-review","done","blocked","on-hold","urgent"],$1e=["gray","blue","green","yellow","red","purple","orange","pink","cyan","indigo"];function V1e(){const{config:e,loading:t,updateConfig:n}=Ih(),[r,a]=E.useState({}),[o,s]=E.useState(!1),[u,c]=E.useState(null),[f,p]=E.useState("form"),[h,b]=E.useState(""),[y,v]=E.useState(null),[T,w]=E.useState(""),[A,N]=E.useState(!1);E.useEffect(()=>{!t&&!A&&(a(e),b(JSON.stringify(e,null,2)),N(!0))},[e,t,A]);const _=r,I=a;E.useEffect(()=>{f==="form"&&b(JSON.stringify(_,null,2))},[_,f]);const D=async()=>{s(!0),c(null);try{let M=_;if(f==="json")try{M=JSON.parse(h),I(M),v(null)}catch{v("Invalid JSON syntax"),s(!1);return}await n(M),c({type:"success",text:"Configuration saved successfully!"}),setTimeout(()=>c(null),3e3)}catch(M){c({type:"error",text:M instanceof Error?M.message:"Failed to save config"})}finally{s(!1)}},k=()=>{if(!T.trim())return;const M=T.toLowerCase().replace(/\s+/g,"-"),V=_.statuses||KE;if(V.includes(M)){c({type:"error",text:"Status already exists"});return}I({..._,statuses:[...V,M],statusColors:{..._.statusColors||{},[M]:"gray"}}),w("")},L=M=>{const V=_.statuses||KE,Z={..._.statusColors||{}};delete Z[M],I({..._,statuses:V.filter(ae=>ae!==M),statusColors:Z,visibleColumns:(_.visibleColumns||[]).filter(ae=>ae!==M)})},F=(M,V)=>{I({..._,statusColors:{..._.statusColors||{},[M]:V}})};if(t)return m.jsx("div",{className:"p-6 flex items-center justify-center h-64",children:m.jsx("div",{className:"text-lg text-muted-foreground",children:"Loading configuration..."})});const Y=_.statuses||KE,P=_.statusColors||{};return m.jsx(Er,{className:"h-full",children:m.jsxs("div",{className:"p-6 max-w-3xl",children:[m.jsxs("div",{className:"mb-6 flex items-center justify-between shrink-0",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx(_1,{className:"w-6 h-6"}),m.jsx("h1",{className:"text-2xl font-bold",children:"Configuration"})]}),m.jsxs("div",{className:"flex rounded-lg border overflow-hidden",children:[m.jsxs("button",{type:"button",onClick:()=>p("form"),className:`px-3 py-1.5 text-sm flex items-center gap-1.5 transition-colors ${f==="form"?"bg-primary text-primary-foreground":"bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,children:[m.jsx(Zz,{className:"w-4 h-4"}),"Form"]}),m.jsxs("button",{type:"button",onClick:()=>p("json"),className:`px-3 py-1.5 text-sm flex items-center gap-1.5 transition-colors ${f==="json"?"bg-primary text-primary-foreground":"bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,children:[m.jsx(lz,{className:"w-4 h-4"}),"JSON"]})]})]}),u&&m.jsx("div",{className:`mb-6 p-4 rounded-lg ${u.type==="success"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-200":"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-200"}`,children:u.text}),f==="json"?m.jsxs("div",{className:"bg-card rounded-lg border p-6 space-y-4",children:[m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"config.json"}),m.jsx("textarea",{value:h,onChange:M=>{b(M.target.value),v(null)},className:"w-full h-96 px-3 py-2 rounded-lg border bg-input font-mono text-sm focus:outline-none focus:ring-2 focus:ring-ring",spellCheck:!1}),y&&m.jsx("p",{className:"mt-2 text-sm text-destructive",children:y})]}),m.jsx("div",{className:"pt-4 border-t",children:m.jsxs(Ge,{onClick:D,disabled:o,children:[m.jsx(da,{className:"w-4 h-4 mr-2"}),o?"Saving...":"Save Configuration"]})})]}):m.jsxs("div",{className:"bg-card rounded-lg border p-6 space-y-6",children:[m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Project Name"}),m.jsx(Fn,{type:"text",value:_.name||"",onChange:M=>I({..._,name:M.target.value}),placeholder:"My Project"}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Name of your project"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Default Assignee"}),m.jsx(Fn,{type:"text",value:_.defaultAssignee||"",onChange:M=>I({..._,defaultAssignee:M.target.value}),placeholder:"@username"}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Default assignee for new tasks (e.g., @claude)"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Default Priority"}),m.jsxs("select",{value:_.defaultPriority||"medium",onChange:M=>I({..._,defaultPriority:M.target.value}),className:"w-full px-3 py-2 rounded-lg border bg-input focus:outline-none focus:ring-2 focus:ring-ring",children:[m.jsx("option",{value:"low",children:"Low"}),m.jsx("option",{value:"medium",children:"Medium"}),m.jsx("option",{value:"high",children:"High"})]}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Default priority for new tasks"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Default Labels"}),m.jsx(Fn,{type:"text",value:_.defaultLabels?.join(", ")||"",onChange:M=>I({..._,defaultLabels:M.target.value.split(",").map(V=>V.trim()).filter(Boolean)}),placeholder:"frontend, backend, ui"}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Comma-separated list of default labels for new tasks"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Time Format"}),m.jsxs("select",{value:_.timeFormat||"24h",onChange:M=>I({..._,timeFormat:M.target.value}),className:"w-full px-3 py-2 rounded-lg border bg-input focus:outline-none focus:ring-2 focus:ring-ring",children:[m.jsx("option",{value:"12h",children:"12-hour (AM/PM)"}),m.jsx("option",{value:"24h",children:"24-hour"})]}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Time display format"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Default Editor"}),m.jsx(Fn,{type:"text",value:_.editor||"",onChange:M=>I({..._,editor:M.target.value}),placeholder:"code, vim, nano"}),m.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Default editor command for editing files"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Task Statuses"}),m.jsx("div",{className:"space-y-2 mb-3",children:Y.map(M=>m.jsxs("div",{className:"flex items-center gap-3 p-2 rounded-lg bg-accent",children:[m.jsx("span",{className:"flex-1 font-mono text-sm",children:M}),m.jsx("select",{value:P[M]||"gray",onChange:V=>F(M,V.target.value),className:"px-2 py-1 rounded border bg-input text-sm focus:outline-none focus:ring-2 focus:ring-ring",children:$1e.map(V=>m.jsx("option",{value:V,children:V},V))}),m.jsx("button",{type:"button",onClick:()=>L(M),className:"p-1 text-destructive hover:text-destructive hover:bg-destructive/10 rounded transition-colors",title:"Remove status",children:m.jsx($l,{className:"w-4 h-4"})})]},M))}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx(Fn,{type:"text",value:T,onChange:M=>w(M.target.value),placeholder:"new-status",className:"flex-1",onKeyDown:M=>M.key==="Enter"&&k()}),m.jsxs(Ge,{onClick:k,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(pa,{className:"w-4 h-4 mr-2"}),"Add"]})]}),m.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:"Define custom task statuses and their colors for the Kanban board"})]}),m.jsxs("div",{children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Visible Kanban Columns"}),m.jsx("div",{className:"space-y-2",children:Y.map(M=>{const V=_.visibleColumns?.includes(M)??!0,Z=M.split("-").map(ae=>ae.charAt(0).toUpperCase()+ae.slice(1)).join(" ");return m.jsxs("label",{className:"flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",children:[m.jsx("input",{type:"checkbox",checked:V,onChange:ae=>{const se=_.visibleColumns||Y,q=ae.target.checked?[...se,M]:se.filter(ne=>ne!==M);I({..._,visibleColumns:q})},className:"w-4 h-4 rounded border-border text-primary focus:ring-primary"}),m.jsx("span",{children:Z})]},M)})}),m.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:"Select which columns to show in the Kanban board"})]}),m.jsx("div",{className:"pt-4 border-t",children:m.jsxs(Ge,{onClick:D,disabled:o,children:[m.jsx(da,{className:"w-4 h-4 mr-2"}),o?"Saving...":"Save Configuration"]})})]})]})})}function G1e(){const[e,t]=E.useState([]),[n,r]=E.useState(!0),[a,o]=E.useState(null),[s,u]=E.useState(!1),[c,f]=E.useState(""),[p,h]=E.useState(!1),[b,y]=E.useState(!1),[v,T]=E.useState(""),[w,A]=E.useState(""),[N,_]=E.useState(""),[I,D]=E.useState(""),[k,L]=E.useState(""),[F,Y]=E.useState(!1),[P,M]=E.useState(new Set(["(root)"])),[V,Z]=E.useState(!1),ae=E.useRef(null);E.useEffect(()=>{q();const $=Md(Q=>{(Q.type==="docs:updated"||Q.type==="docs:refresh")&&q()});return()=>{$&&$.close()}},[]);const se=E.useCallback(()=>{if(e.length===0)return;const Q=window.location.hash.match(/^#\/docs\/(.+)$/);if(Q){const J=decodeURIComponent(Q[1]),fe=Vm(J).replace(/^\.\//,"").replace(/^\//,""),xe=e.find(Ie=>{const Ee=Vm(Ie.path);return Ee===fe||Ee.endsWith(`/${fe}`)||Ie.filename===fe});xe&&xe!==a&&(o(xe),u(!1))}},[e,a]);E.useEffect(()=>{se()},[se]),E.useEffect(()=>{if(!a||!a.folder)return;const $=a.folder.split("/"),Q=[];let J="";for(const fe of $)J=J?`${J}/${fe}`:fe,Q.push(J);M(fe=>{const xe=new Set(fe);for(const Ie of Q)xe.add(Ie);return xe})},[a]),E.useEffect(()=>(window.addEventListener("hashchange",se),()=>window.removeEventListener("hashchange",se)),[se]),E.useEffect(()=>{const $=J=>{let fe=J.target;for(;fe&&fe.tagName!=="A"&&fe!==ae.current;)fe=fe.parentElement;if(fe&&fe.tagName==="A"){const Ie=fe.getAttribute("href");if(Ie&&/^task-\d+(.md)?$/.test(Ie)){J.preventDefault();const Ee=Ie.replace(".md","");window.location.hash=`/tasks?task=${Ee}`;return}if(Ie&&(Ie.endsWith(".md")||Ie.includes(".md#"))){J.preventDefault();let Ee=Ie.replace(/^\.\//,"").replace(/^\//,"");Ee=Ee.split("#")[0],window.location.hash=`/docs/${Ee}`}}},Q=ae.current;if(Q)return Q.addEventListener("click",$),()=>Q.removeEventListener("click",$)},[e,a]);const q=()=>{SH().then($=>{t($),r(!1)}).catch($=>{console.error("Failed to load docs:",$),r(!1)})},ne=async()=>{if(!v.trim()){alert("Please enter a title");return}Y(!0);try{const $=N.split(",").map(Q=>Q.trim()).filter(Q=>Q);await wH({title:v,description:w,tags:$,folder:I,content:k}),T(""),A(""),_(""),D(""),L(""),y(!1),q()}catch($){console.error("Failed to create doc:",$),alert("Failed to create document. Please try again.")}finally{Y(!1)}},ie=()=>{a&&(f(a.content),u(!0))},le=()=>{if(a){const Q=`@doc/${Hy(a.path).replace(/\.md$/,"")}`;navigator.clipboard.writeText(Q).then(()=>{Z(!0),setTimeout(()=>Z(!1),2e3)})}},H=async()=>{if(a){h(!0);try{const $=await CH(yX(a.path),{content:c});t(Q=>Q.map(J=>J.path===a.path?{...J,content:c,metadata:{...J.metadata,updatedAt:new Date().toISOString()}}:J)),o(Q=>Q&&{...Q,content:c}),u(!1)}catch($){console.error("Failed to save doc:",$),alert($ instanceof Error?$.message:"Failed to save document")}finally{h(!1)}}},K=()=>{u(!1),f("")},G=$=>{M(Q=>{const J=new Set(Q);return J.has($)?J.delete($):J.add($),J})},O=()=>{const $={name:"(root)",path:"",docs:[],children:new Map};for(const Q of e)if(!Q.folder)$.docs.push(Q);else{const J=Q.folder.split("/");let fe=$;for(let xe=0;xe<J.length;xe++){const Ie=J[xe],Ee=J.slice(0,xe+1).join("/");fe.children.has(Ie)||fe.children.set(Ie,{name:Ie,path:Ee,docs:[],children:new Map}),fe=fe.children.get(Ie)}fe.docs.push(Q)}return $},te=$=>{let Q=$.docs.length;for(const J of $.children.values())Q+=te(J);return Q},ue=($,Q=0)=>{const J=[],fe=Q===0||P.has($.path),xe=`${Q*16}px`;if(Q>0){const Ie=te($);J.push(m.jsxs("button",{type:"button",onClick:()=>G($.path),className:"w-full flex items-center gap-2 px-3 py-2 hover:bg-accent text-foreground transition-colors",style:{paddingLeft:xe},children:[fe?m.jsx(vo,{className:"w-4 h-4"}):m.jsx(zl,{className:"w-4 h-4"}),fe?m.jsx(xz,{className:"w-4 h-4"}):m.jsx(Ok,{className:"w-4 h-4"}),m.jsx("span",{className:"text-sm font-medium",children:$.name}),m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",Ie,")"]})]},`folder-${$.path}`))}if(fe||Q===0){const Ie=Array.from($.children.values()).sort((Ke,Ze)=>Ke.name.localeCompare(Ze.name));for(const Ke of Ie)J.push(...ue(Ke,Q+1));const Ee=[...$.docs].sort((Ke,Ze)=>Ke.metadata.title.localeCompare(Ze.metadata.title));for(const Ke of Ee)J.push(m.jsxs("button",{type:"button",onClick:()=>{window.location.hash=`/docs/${Hy(Ke.path)}`},className:`w-full text-left px-3 py-2 flex items-center gap-2 hover:bg-accent text-foreground transition-colors ${a?.path===Ke.path?"bg-accent":""}`,style:{paddingLeft:`${(Q+1)*16}px`},children:[m.jsx(Xa,{className:"w-5 h-5"}),m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsx("div",{className:"text-sm font-medium truncate",children:Ke.metadata.title}),Ke.metadata.description&&m.jsx("div",{className:"text-xs text-muted-foreground truncate",children:Ke.metadata.description})]})]},`doc-${Ke.path}`))}return J};return n?m.jsx("div",{className:"p-6 flex items-center justify-center h-64",children:m.jsx("div",{className:"text-lg text-muted-foreground",children:"Loading documentation..."})}):m.jsxs("div",{className:"p-6 h-full flex flex-col overflow-hidden",children:[m.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Documentation"}),m.jsxs(Ge,{onClick:()=>y(!0),className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(pa,{className:"w-4 h-4 mr-2"}),"New Document"]})]}),m.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0 overflow-hidden",children:[m.jsxs("div",{className:"lg:col-span-1 flex flex-col min-h-0 overflow-hidden",children:[m.jsxs("div",{className:"bg-card rounded-lg border overflow-hidden flex flex-col flex-1 min-h-0",children:[m.jsx("div",{className:"p-4 border-b shrink-0",children:m.jsxs("h2",{className:"font-semibold",children:["All Documents (",e.length,")"]})}),m.jsx(Er,{className:"flex-1",children:ue(O())})]}),e.length===0&&m.jsxs("div",{className:"bg-card rounded-lg border p-8 text-center",children:[m.jsx(Xa,{className:"w-5 h-5"}),m.jsx("p",{className:"mt-2 text-muted-foreground",children:"No documentation found"}),m.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:["Create a doc with: ",m.jsx("code",{className:"font-mono",children:'knowns doc create "Title"'})]})]})]}),m.jsx("div",{className:"lg:col-span-2 flex flex-col min-h-0 overflow-hidden",children:a?m.jsxs("div",{className:"bg-card rounded-lg border overflow-hidden flex flex-col flex-1 min-h-0",children:[m.jsxs("div",{className:"p-6 border-b flex items-start justify-between shrink-0",children:[m.jsxs("div",{className:"flex-1",children:[m.jsx("h2",{className:"text-2xl font-bold mb-2",children:a.metadata.title}),a.metadata.description&&m.jsx("p",{className:"text-muted-foreground mb-2",children:a.metadata.description}),m.jsxs("button",{type:"button",onClick:le,className:"flex items-center gap-2 px-2 py-1 rounded text-xs text-blue-600 dark:text-blue-400 hover:bg-accent transition-colors group",title:"Click to copy reference",children:[m.jsx(Ok,{className:"w-4 h-4"}),m.jsxs("span",{className:"font-mono",children:["@doc/",Hy(a.path).replace(/\.md$/,"")]}),m.jsx("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity",children:V?"✓ Copied!":m.jsx(fz,{className:"w-4 h-4"})})]}),m.jsxs("div",{className:"text-sm text-muted-foreground mt-2",children:["Last updated: ",new Date(a.metadata.updatedAt).toLocaleString()]})]}),m.jsx("div",{className:"flex gap-2 ml-4",children:s?m.jsxs(m.Fragment,{children:[m.jsxs(Ge,{onClick:H,disabled:p,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(da,{className:"w-4 h-4 mr-2"}),p?"Saving...":"Save"]}),m.jsxs(Ge,{variant:"secondary",onClick:K,disabled:p,children:[m.jsx(Yr,{className:"w-4 h-4 mr-2"}),"Cancel"]})]}):m.jsxs(Ge,{onClick:ie,children:[m.jsx(KL,{className:"w-4 h-4 mr-2"}),"Edit"]})})]}),s?m.jsx("div",{className:"flex-1 p-6 overflow-hidden",children:m.jsx(bo,{markdown:c,onChange:f,placeholder:"Write your documentation here...",height:"100%"})}):m.jsx(Er,{className:"flex-1",children:m.jsx("div",{className:"p-6",ref:ae,children:m.jsx(_g,{markdown:a.content||""})})})]}):m.jsxs("div",{className:"bg-card rounded-lg border p-12 text-center",children:[m.jsx(Xa,{className:"w-5 h-5"}),m.jsx("p",{className:"mt-4 text-muted-foreground",children:"Select a document to view its content"})]})})]}),b&&m.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:m.jsxs("div",{className:"bg-card rounded-lg shadow-xl max-w-4xl w-full h-[90vh] flex flex-col",children:[m.jsx("div",{className:"p-6 border-b shrink-0",children:m.jsx("h2",{className:"text-xl font-bold",children:"Create New Document"})}),m.jsxs("div",{className:"p-6 space-y-4 flex-1 flex flex-col overflow-hidden",children:[m.jsxs("div",{className:"shrink-0",children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Title *"}),m.jsx(Fn,{type:"text",value:v,onChange:$=>T($.target.value),placeholder:"Document title"})]}),m.jsxs("div",{className:"shrink-0",children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Description"}),m.jsx(Fn,{type:"text",value:w,onChange:$=>A($.target.value),placeholder:"Brief description"})]}),m.jsxs("div",{className:"shrink-0",children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Folder (optional)"}),m.jsx(Fn,{type:"text",value:I,onChange:$=>D($.target.value),placeholder:"api/auth, guides, etc. (leave empty for root)"})]}),m.jsxs("div",{className:"shrink-0",children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Tags (comma-separated)"}),m.jsx(Fn,{type:"text",value:N,onChange:$=>_($.target.value),placeholder:"guide, tutorial, api"})]}),m.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[m.jsx("label",{className:"block text-sm font-medium mb-2",children:"Content"}),m.jsx("div",{className:"flex-1 min-h-[400px]",children:m.jsx(bo,{markdown:k,onChange:L,placeholder:"Write your documentation here...",height:"100%"})})]})]}),m.jsxs("div",{className:"p-6 border-t flex justify-end gap-3 shrink-0",children:[m.jsx(Ge,{variant:"secondary",onClick:()=>{y(!1),T(""),A(""),_(""),D(""),L("")},disabled:F,children:"Cancel"}),m.jsx(Ge,{onClick:ne,disabled:F||!v.trim(),className:"bg-green-700 hover:bg-green-800 text-white",children:F?"Creating...":"Create Document"})]})]})})]})}const Y1e=[{label:"1 hour ago",value:3600*1e3},{label:"1 day ago",value:1440*60*1e3},{label:"1 week ago",value:10080*60*1e3},{label:"1 month ago",value:720*60*60*1e3},{label:"3 months ago",value:2160*60*60*1e3}];function PL({tasks:e,loading:t,onTasksUpdate:n,onNewTask:r}){const a=s=>{const u=Date.now()-s;return e.filter(c=>c.status==="done"&&new Date(c.updatedAt).getTime()<u).length},o=async(s,u)=>{try{const c=await Na.batchArchiveTasks(s);if(c.count>0){const f=new Set(c.tasks.map(p=>p.id));n(e.filter(p=>!f.has(p.id))),_i.success(`Archived ${c.count} task${c.count>1?"s":""} done before ${u}`)}else _i.info(`No done tasks found before ${u}`)}catch(c){console.error("Failed to batch archive tasks:",c),_i.error("Failed to archive tasks")}};return m.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[m.jsx("div",{className:"shrink-0 p-6 pb-0",children:m.jsxs("div",{className:"mb-4 flex items-center justify-between gap-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"Kanban Board"}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs($9,{children:[m.jsx(V9,{asChild:!0,children:m.jsxs(Ge,{variant:"outline",size:"default",className:"gap-2",children:[m.jsx(XE,{className:"w-4 h-4"}),m.jsx("span",{className:"hidden sm:inline",children:"Batch Archive"}),m.jsx(vo,{className:"w-3 h-3"})]})}),m.jsx(NN,{align:"end",children:Y1e.map(s=>{const u=a(s.value);return m.jsxs(od,{onClick:()=>o(s.value,s.label),disabled:u===0,children:[m.jsxs("span",{className:"flex-1",children:["Done before ",s.label]}),m.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",u,")"]})]},s.value)})})]}),m.jsxs(Ge,{onClick:r,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(pa,{className:"w-4 h-4 mr-2"}),"New Task"]})]})]})}),m.jsx("div",{className:"flex-1 overflow-hidden px-6 pb-6",children:m.jsx(Q0e,{tasks:e,loading:t,onTasksUpdate:n})})]})}const BL={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold",urgent:"Urgent"};function q1e(e){return BL[e]?BL[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function W1e({tasks:e,onTaskClick:t,onNewTask:n}){const[r,a]=E.useState("all"),[o,s]=E.useState("all"),[u,c]=E.useState(new Set),f=e.filter(y=>y.subtasks&&y.subtasks.length>0);let p=r==="all"?e:e.filter(y=>y.status===r);o==="root"?p=p.filter(y=>!y.parent):o!=="all"&&(p=p.filter(y=>y.parent===o));const h={todo:[],"in-progress":[],"in-review":[],blocked:[],done:[]};for(const y of p)h[y.status]&&h[y.status].push(y);const b={high:0,medium:1,low:2};for(const y in h)h[y].sort((v,T)=>{const w=b[v.priority]-b[T.priority];return w!==0?w:v.id.localeCompare(T.id,void 0,{numeric:!0})});return m.jsxs("div",{className:"h-full flex flex-col",children:[m.jsxs("div",{className:"flex items-center justify-between gap-4 mb-4",children:[m.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[m.jsx(N1,{className:"w-4 h-4 text-muted-foreground"}),m.jsxs(br,{value:r,onValueChange:a,children:[m.jsx(cr,{className:"w-[150px]",children:m.jsx(yr,{placeholder:"Status"})}),m.jsxs(dr,{children:[m.jsx(Wt,{value:"all",children:"All Status"}),m.jsx(Wt,{value:"todo",children:"To Do"}),m.jsx(Wt,{value:"in-progress",children:"In Progress"}),m.jsx(Wt,{value:"in-review",children:"In Review"}),m.jsx(Wt,{value:"blocked",children:"Blocked"}),m.jsx(Wt,{value:"done",children:"Done"})]})]}),m.jsxs(br,{value:o,onValueChange:s,children:[m.jsx(cr,{className:"w-[200px]",children:m.jsx(yr,{placeholder:"Parent"})}),m.jsxs(dr,{children:[m.jsx(Wt,{value:"all",children:"All Tasks"}),m.jsx(Wt,{value:"root",children:"Root Tasks Only"}),f.map(y=>{const v=`Subtasks of #${y.id}: ${y.title}`,T=v.length>40?v.substring(0,40)+"...":v;return m.jsx(Wt,{value:y.id,title:v,children:T},y.id)})]})]}),m.jsxs("span",{className:"text-muted-foreground text-sm",children:[p.length," ",p.length===1?"task":"tasks"]})]}),m.jsxs(Ge,{onClick:n,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(pa,{className:"mr-2 h-4 w-4"}),"New Task"]})]}),m.jsx(Er,{className:"flex-1",children:m.jsxs("div",{className:"space-y-6 pr-4",children:[Object.entries(h).map(([y,v])=>v.length===0?null:m.jsxs("div",{children:[m.jsxs("h2",{className:"text-lg font-semibold mb-3",children:[q1e(y)," (",v.length,")"]}),m.jsx("div",{className:"space-y-2",children:v.map(T=>{const w=u.has(T.id),A=T.parent?e.find(N=>N.id===T.parent):null;return m.jsx("div",{className:"bg-card rounded-lg p-4 border transition-colors hover:bg-accent/50",children:m.jsxs("div",{className:"flex items-start gap-3",children:[m.jsxs("div",{className:"flex-1 min-w-0",children:[m.jsxs("div",{className:"flex items-center gap-2 mb-2 flex-wrap",children:[m.jsxs("span",{className:"text-xs text-muted-foreground font-mono",children:["#",T.id]}),m.jsx(EB,{status:T.status}),m.jsx(vB,{priority:T.priority}),A&&m.jsxs("span",{className:"text-xs px-2 py-0.5 rounded bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400",children:["Subtask of #",A.id]}),T.subtasks&&T.subtasks.length>0&&m.jsxs("span",{className:"text-xs px-2 py-0.5 rounded bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400",children:[T.subtasks.length," subtask",T.subtasks.length>1?"s":""]})]}),m.jsx("button",{type:"button",onClick:()=>t(T),className:"font-medium mb-1 hover:underline text-left w-full",children:T.title}),T.description&&m.jsxs("div",{className:"text-sm text-muted-foreground mt-2",children:[m.jsx("p",{className:w?"":"line-clamp-2",children:T.description}),T.description.length>100&&m.jsx("button",{type:"button",onClick:N=>{N.stopPropagation();const _=new Set(u);w?_.delete(T.id):_.add(T.id),c(_)},className:"text-xs text-primary hover:underline mt-1 font-medium",children:w?"Show less":"Show more"})]}),T.acceptanceCriteria.length>0&&m.jsxs("div",{className:"flex items-center gap-2 mt-2 text-xs text-muted-foreground",children:[m.jsx(VL,{className:"w-3 h-3"}),m.jsxs("span",{children:[T.acceptanceCriteria.filter(N=>N.completed).length,"/",T.acceptanceCriteria.length," criteria"]})]}),T.labels.length>0&&m.jsx("div",{className:"mt-2",children:m.jsx(xB,{labels:T.labels,maxVisible:3})})]}),T.assignee&&m.jsx("span",{className:"text-sm text-muted-foreground font-mono shrink-0",children:T.assignee})]})},T.id)})})]},y)),p.length===0&&m.jsx("div",{className:"text-center py-12",children:m.jsx("p",{className:"text-lg text-muted-foreground",children:"No tasks found"})})]})})]})}function K1e({tasks:e,loading:t,onTasksUpdate:n,selectedTask:r,onTaskClose:a,onNewTask:o}){const[s,u]=E.useState("table"),[c,f]=E.useState(null),[p,h]=E.useState([]);E.useEffect(()=>{r&&f(r)},[r]);const b=v=>{window.location.hash=`/tasks/${v.id}`},y=v=>{window.location.hash=`/tasks/${v}`};return t?m.jsx("div",{className:"p-6 flex items-center justify-center h-64",children:m.jsx("div",{className:"text-lg text-muted-foreground",children:"Loading tasks..."})}):m.jsxs("div",{className:"p-6 h-full flex flex-col overflow-hidden",children:[m.jsxs("div",{className:"mb-6 flex items-center justify-between gap-4",children:[m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx("h1",{className:"text-2xl font-bold",children:"All Tasks"}),m.jsxs("span",{className:"text-muted-foreground",children:[e.length," ",e.length===1?"task":"tasks"]})]}),m.jsx("div",{className:"flex items-center gap-2",children:m.jsxs("div",{className:"flex items-center border rounded-lg p-1",children:[m.jsxs(Ge,{variant:s==="table"?"secondary":"ghost",size:"sm",onClick:()=>u("table"),className:"h-8 px-3",children:[m.jsx(Lz,{className:"h-4 w-4 mr-2"}),"Table"]}),m.jsxs(Ge,{variant:s==="grouped"?"secondary":"ghost",size:"sm",onClick:()=>u("grouped"),className:"h-8 px-3",children:[m.jsx(Iz,{className:"h-4 w-4 mr-2"}),"Grouped"]})]})})]}),m.jsx("div",{className:"flex-1 overflow-hidden",children:s==="table"?m.jsx(Er,{className:"h-full",children:m.jsx("div",{className:"pr-4",children:m.jsx(z1e,{tasks:e,onTaskClick:b,onSelectionChange:h,onNewTask:o})})}):m.jsx(W1e,{tasks:e,onTaskClick:b,onNewTask:o})}),p.length>0&&m.jsxs("div",{className:"fixed bottom-6 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground px-4 py-2 rounded-lg shadow-lg flex items-center gap-4",children:[m.jsxs("span",{className:"text-sm font-medium",children:[p.length," task",p.length>1?"s":""," selected"]}),m.jsx(Ge,{variant:"secondary",size:"sm",onClick:()=>{console.log("Bulk action on:",p)},children:"Bulk Edit"})]}),m.jsx(DB,{task:c,allTasks:e,onClose:()=>{f(null),a&&a()},onUpdate:n,onNavigateToTask:y})]})}const Y9=E.createContext({isDark:!1,toggle:()=>{}}),tb=()=>E.useContext(Y9);function X1e(){const{config:e}=Ih(),[t,n]=E.useState([]),[r,a]=E.useState(!0),[o,s]=E.useState(!1),[u,c]=E.useState(!1),[f,p]=E.useState(()=>{if(typeof window<"u"){const L=localStorage.getItem("theme");return L?L==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches}return!1}),h=()=>{const L=window.location.hash.slice(1);return L.startsWith("/tasks")?"tasks":L.startsWith("/docs")?"docs":L.startsWith("/config")?"config":(L.startsWith("/kanban")||L==="/"||L==="","kanban")},b=L=>{const F=window.location.hash.slice(1),Y="(?:kanban|tasks)",P=F.match(new RegExp(`^/${Y}/([^?]+)`))||F.match(/[?&]id=([^&]+)/);return P?P[1]:null},[y,v]=E.useState(h()),[T,w]=E.useState(window.location.hash);E.useEffect(()=>{const L=()=>{v(h()),w(window.location.hash)};return window.addEventListener("hashchange",L),()=>window.removeEventListener("hashchange",L)},[h]),E.useEffect(()=>{f?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"))},[f]),E.useEffect(()=>{const L=F=>{(F.metaKey||F.ctrlKey)&&F.key==="k"&&(F.preventDefault(),c(Y=>!Y))};return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[]),E.useEffect(()=>{Na.getTasks().then(F=>{n(F),a(!1)}).catch(F=>{console.error("Failed to load tasks:",F),a(!1)});const L=Md(F=>{F.type==="tasks:updated"&&F.task?n(Y=>{const P=Y.findIndex(M=>M.id===F.task?.id);if(P>=0){const M=[...Y];return M[P]=F.task,M}return[...Y,F.task]}):F.type==="tasks:refresh"&&Na.getTasks().then(n).catch(console.error)});return()=>{L&&L.close()}},[]);const A=()=>{Na.getTasks().then(n).catch(console.error)},N=L=>{n(L)},_=async L=>{const F=!f;if(!document.startViewTransition||window.matchMedia("(prefers-reduced-motion: reduce)").matches){p(F);return}const Y=L.clientX,P=L.clientY,M=Math.hypot(Math.max(Y,window.innerWidth-Y),Math.max(P,window.innerHeight-P));await document.startViewTransition(()=>{p(F)}).ready,document.documentElement.animate({clipPath:[`circle(0px at ${Y}px ${P}px)`,`circle(${M}px at ${Y}px ${P}px)`]},{duration:400,easing:"ease-out",pseudoElement:"::view-transition-new(root)"})},I=L=>{window.location.hash=`/kanban/${L.id}`},D=L=>{L?.path?window.location.hash=`/docs/${L.path}`:L?.filename?window.location.hash=`/docs/${L.filename}`:window.location.hash="/docs"},k=()=>{switch(y){case"kanban":return m.jsx(PL,{tasks:t,loading:r,onTasksUpdate:N,onNewTask:()=>s(!0)});case"tasks":{const L=b(),F=L?t.find(Y=>Y.id===L):null;return m.jsx(K1e,{tasks:t,loading:r,onTasksUpdate:A,selectedTask:F,onTaskClose:()=>{window.location.hash="/tasks"},onNewTask:()=>s(!0)})}case"docs":return m.jsx(G1e,{});case"config":return m.jsx(V1e,{});default:return m.jsx(PL,{tasks:t,loading:r,onTasksUpdate:N,onNewTask:()=>s(!0)})}};return m.jsxs(Y9.Provider,{value:{isDark:f,toggle:_},children:[m.jsxs(EU,{children:[m.jsx(Vye,{currentPage:y,onSearchClick:()=>c(!0)}),m.jsxs("main",{className:"flex flex-1 flex-col bg-background overflow-hidden",children:[m.jsxs("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b px-4",children:[m.jsx(xU,{className:"-ml-1"}),m.jsx(xd,{orientation:"vertical",className:"mr-2 h-4"}),m.jsx("div",{className:"flex flex-1 items-center gap-2 text-sm",children:m.jsx("span",{className:"font-semibold text-foreground",children:e.name||"Knowns"})}),m.jsx(Mhe,{onTaskClick:L=>{window.location.hash=`/kanban/${L}`}}),m.jsx(Ihe,{isDark:f,onToggle:_,size:"sm"}),m.jsx(Xye,{})]}),m.jsx("div",{className:"flex-1 w-full overflow-y-auto overflow-x-hidden",children:k()})]}),m.jsx(eye,{isOpen:o,allTasks:t,onClose:()=>s(!1),onCreated:A}),m.jsx(Qye,{open:u,onOpenChange:c,onTaskSelect:I,onDocSelect:D})]}),m.jsx(yZ,{})]})}function Z1e(){return m.jsx(b$,{children:m.jsx(EZ,{children:m.jsx(xZ,{children:m.jsx(The,{children:m.jsx(X1e,{})})})})})}const q9=document.getElementById("root");if(!q9)throw new Error("Root element not found");mH.createRoot(q9).render(m.jsx(Z1e,{}));
|