knowns 0.8.8 → 0.8.9

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.
@@ -311,7 +311,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
311
311
  To pick up a draggable item, press the space bar.
312
312
  While dragging, use the arrow keys to move the item.
313
313
  Press space again to drop the item in its new position, or press escape to cancel.
314
- `},Gct={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 qct(e){let{announcements:t=Gct,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Vct}=e;const{announce:o,announcement:s}=Uct(),a=Jy("DndLiveRegion"),[l,c]=v.useState(!1);if(v.useEffect(()=>{c(!0)},[]),Hct(v.useMemo(()=>({onDragStart(f){let{active:h}=f;o(t.onDragStart({active:h}))},onDragMove(f){let{active:h,over:g}=f;t.onDragMove&&o(t.onDragMove({active:h,over:g}))},onDragOver(f){let{active:h,over:g}=f;o(t.onDragOver({active:h,over:g}))},onDragEnd(f){let{active:h,over:g}=f;o(t.onDragEnd({active:h,over:g}))},onDragCancel(f){let{active:h,over:g}=f;o(t.onDragCancel({active:h,over:g}))}}),[o,t])),!l)return null;const u=pe.createElement(pe.Fragment,null,pe.createElement(jct,{id:r,value:i.draggable}),pe.createElement($ct,{id:a,announcement:s}));return n?Wr.createPortal(u,n):u}var Vr;(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"})(Vr||(Vr={}));function yS(){}function R_(e,t){return v.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function Wct(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Ca=Object.freeze({x:0,y:0});function aB(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Yct(e,t){const n=bS(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 lB(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Kct(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function _I(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Xct(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function mY(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 Zct=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=mY(t,t.left,t.top),o=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=aB(mY(l),i);o.push({id:a,data:{droppableContainer:s,value:c}})}}return o.sort(lB)},gY=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=_I(t),o=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=_I(l),u=i.reduce((h,g,y)=>h+aB(c[y],g),0),f=Number((u/4).toFixed(4));o.push({id:a,data:{droppableContainer:s,value:f}})}}return o.sort(lB)};function Qct(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r<i&&n<o){const l=t.width*t.height,c=e.width*e.height,u=s*a,f=u/(l+c-u);return Number(f.toFixed(4))}return 0}const Bde=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=Qct(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(Kct)};function Jct(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const eut=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&Jct(r,a)){const c=_I(a).reduce((f,h)=>f+aB(r,h),0),u=Number((c/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:u}})}}return i.sort(lB)};function tut(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function jde(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ca}function nut(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return i.reduce((s,a)=>({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const rut=nut(1);function $de(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 iut(e,t,n){const r=$de(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),c=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),u=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:u,height:f,top:c,right:l+u,bottom:c+f,left:l}}const out={ignoreTransform:!1};function Lm(e,t){t===void 0&&(t=out);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:u}=oo(e).getComputedStyle(e);c&&(n=iut(n,c,u))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function bY(e){return Lm(e,{ignoreTransform:!0})}function sut(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function aut(e,t){return t===void 0&&(t=oo(e).getComputedStyle(e)),t.position==="fixed"}function lut(e,t){t===void 0&&(t=oo(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function cB(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(sB(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Zy(i)||Lde(i)||n.includes(i))return n;const o=oo(e).getComputedStyle(i);return i!==e&&lut(i,o)&&n.push(i),aut(i,o)?n:r(i.parentNode)}return e?r(e):n}function Ude(e){const[t]=cB(e,1);return t??null}function D_(e){return!OT||!e?null:Om(e)?e:oB(e)?sB(e)||e===Mm(e).scrollingElement?window:Zy(e)?e:null:null}function Hde(e){return Om(e)?e.scrollX:e.scrollLeft}function zde(e){return Om(e)?e.scrollY:e.scrollTop}function RI(e){return{x:Hde(e),y:zde(e)}}var ni;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(ni||(ni={}));function Vde(e){return!OT||!e?!1:e===document.scrollingElement}function Gde(e){const t={x:0,y:0},n=Vde(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const cut={x:.2,y:.2};function uut(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=cut);const{isTop:c,isBottom:u,isLeft:f,isRight:h}=Gde(e),g={x:0,y:0},y={x:0,y:0},E={height:t.height*i.y,width:t.width*i.x};return!c&&o<=t.top+E.height?(g.y=ni.Backward,y.y=r*Math.abs((t.top+E.height-o)/E.height)):!u&&l>=t.bottom-E.height&&(g.y=ni.Forward,y.y=r*Math.abs((t.bottom-E.height-l)/E.height)),!h&&a>=t.right-E.width?(g.x=ni.Forward,y.x=r*Math.abs((t.right-E.width-a)/E.width)):!f&&s<=t.left+E.width&&(g.x=ni.Backward,y.x=r*Math.abs((t.left+E.width-s)/E.width)),{direction:g,speed:y}}function dut(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:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function qde(e){return e.reduce((t,n)=>bh(t,RI(n)),Ca)}function fut(e){return e.reduce((t,n)=>t+Hde(n),0)}function put(e){return e.reduce((t,n)=>t+zde(n),0)}function Wde(e,t){if(t===void 0&&(t=Lm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Ude(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const hut=[["x",["left","right"],fut],["y",["top","bottom"],put]];class uB{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=cB(n),i=qde(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of hut)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=a(r),u=i[o]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Pb{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 i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function mut(e){const{EventTarget:t}=oo(e);return e instanceof t?e:Mm(e)}function I_(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 Ts;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ts||(Ts={}));function yY(e){e.preventDefault()}function gut(e){e.stopPropagation()}var bn;(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"})(bn||(bn={}));const Yde={start:[bn.Space,bn.Enter],cancel:[bn.Esc],end:[bn.Space,bn.Enter,bn.Tab]},but=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case bn.Right:return{...n,x:n.x+25};case bn.Left:return{...n,x:n.x-25};case bn.Down:return{...n,y:n.y+25};case bn.Up:return{...n,y:n.y-25}}};class dB{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 Pb(Mm(n)),this.windowListeners=new Pb(oo(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ts.Resize,this.handleCancel),this.windowListeners.add(Ts.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ts.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&Wde(r),n(Ca)}handleKeyDown(t){if(LT(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=Yde,coordinateGetter:s=but,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Ca;this.referenceCoordinates||(this.referenceCoordinates=u);const f=s(t,{active:n,context:r.current,currentCoordinates:u});if(f){const h=gS(f,u),g={x:0,y:0},{scrollableAncestors:y}=r.current;for(const E of y){const w=t.code,{isTop:S,isRight:T,isLeft:A,isBottom:R,maxScroll:_,minScroll:D}=Gde(E),I=dut(E),M={x:Math.min(w===bn.Right?I.right-I.width/2:I.right,Math.max(w===bn.Right?I.left:I.left+I.width/2,f.x)),y:Math.min(w===bn.Down?I.bottom-I.height/2:I.bottom,Math.max(w===bn.Down?I.top:I.top+I.height/2,f.y))},j=w===bn.Right&&!T||w===bn.Left&&!A,L=w===bn.Down&&!R||w===bn.Up&&!S;if(j&&M.x!==f.x){const F=E.scrollLeft+h.x,H=w===bn.Right&&F<=_.x||w===bn.Left&&F>=D.x;if(H&&!h.y){E.scrollTo({left:F,behavior:a});return}H?g.x=E.scrollLeft-F:g.x=w===bn.Right?E.scrollLeft-_.x:E.scrollLeft-D.x,g.x&&E.scrollBy({left:-g.x,behavior:a});break}else if(L&&M.y!==f.y){const F=E.scrollTop+h.y,H=w===bn.Down&&F<=_.y||w===bn.Up&&F>=D.y;if(H&&!h.x){E.scrollTo({top:F,behavior:a});return}H?g.y=E.scrollTop-F:g.y=w===bn.Down?E.scrollTop-_.y:E.scrollTop-D.y,g.y&&E.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,bh(gS(f,this.referenceCoordinates),g))}}}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()}}dB.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Yde,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function vY(e){return!!(e&&"distance"in e)}function xY(e){return!!(e&&"delay"in e)}class fB{constructor(t,n,r){var i;r===void 0&&(r=mut(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=Mm(s),this.documentListeners=new Pb(this.document),this.listeners=new Pb(r),this.windowListeners=new Pb(oo(s)),this.initialCoordinates=(i=bS(o))!=null?i:Ca,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(Ts.Resize,this.handleCancel),this.windowListeners.add(Ts.DragStart,yY),this.windowListeners.add(Ts.VisibilityChange,this.handleCancel),this.windowListeners.add(Ts.ContextMenu,yY),this.documentListeners.add(Ts.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(xY(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(vY(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:i}=this.props;i(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ts.Click,gut,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ts.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=bS(t))!=null?n:Ca,c=gS(i,l);if(!r&&a){if(vY(a)){if(a.tolerance!=null&&I_(c,a.tolerance))return this.handleCancel();if(I_(c,a.distance))return this.handleStart()}if(xY(a)&&I_(c,a.tolerance))return this.handleCancel();this.handlePending(a,c);return}t.cancelable&&t.preventDefault(),s(l)}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===bn.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const yut={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Kde extends fB{constructor(t){const{event:n}=t,r=Mm(n.target);super(t,yut,r)}}Kde.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 vut={move:{name:"mousemove"},end:{name:"mouseup"}};var DI;(function(e){e[e.RightClick=2]="RightClick"})(DI||(DI={}));class Xde extends fB{constructor(t){super(t,vut,Mm(t.event.target))}}Xde.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===DI.RightClick?!1:(r?.({event:n}),!0)}}];const O_={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Zde extends fB{constructor(t){super(t,O_)}static setup(){return window.addEventListener(O_.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(O_.move.name,t)};function t(){}}}Zde.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Fb;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Fb||(Fb={}));var vS;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(vS||(vS={}));function xut(e){let{acceleration:t,activator:n=Fb.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=vS.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:h}=e;const g=wut({delta:f,disabled:!o}),[y,E]=Mct(),w=v.useRef({x:0,y:0}),S=v.useRef({x:0,y:0}),T=v.useMemo(()=>{switch(n){case Fb.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Fb.DraggableRect:return i}},[n,i,l]),A=v.useRef(null),R=v.useCallback(()=>{const D=A.current;if(!D)return;const I=w.current.x*S.current.x,M=w.current.y*S.current.y;D.scrollBy(I,M)},[]),_=v.useMemo(()=>a===vS.TreeOrder?[...c].reverse():c,[a,c]);v.useEffect(()=>{if(!o||!c.length||!T){E();return}for(const D of _){if(r?.(D)===!1)continue;const I=c.indexOf(D),M=u[I];if(!M)continue;const{direction:j,speed:L}=uut(D,M,T,t,h);for(const F of["x","y"])g[F][j[F]]||(L[F]=0,j[F]=0);if(L.x>0||L.y>0){E(),A.current=D,y(R,s),w.current=L,S.current=j;return}}w.current={x:0,y:0},S.current={x:0,y:0},E()},[t,R,r,E,o,s,JSON.stringify(T),JSON.stringify(g),y,c,_,u,JSON.stringify(h)])}const Eut={x:{[ni.Backward]:!1,[ni.Forward]:!1},y:{[ni.Backward]:!1,[ni.Forward]:!1}};function wut(e){let{delta:t,disabled:n}=e;const r=mS(t);return Qy(i=>{if(n||!r||!i)return Eut;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[ni.Backward]:i.x[ni.Backward]||o.x===-1,[ni.Forward]:i.x[ni.Forward]||o.x===1},y:{[ni.Backward]:i.y[ni.Backward]||o.y===-1,[ni.Forward]:i.y[ni.Forward]||o.y===1}}},[n,t,r])}function Sut(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return Qy(i=>{var o;return t==null?null:(o=r??i)!=null?o:null},[r,t])}function Cut(e,t){return v.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var V0;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(V0||(V0={}));var II;(function(e){e.Optimized="optimized"})(II||(II={}));const EY=new Map;function Tut(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=v.useState(null),{frequency:a,measure:l,strategy:c}=i,u=v.useRef(e),f=w(),h=z0(f),g=v.useCallback(function(S){S===void 0&&(S=[]),!h.current&&s(T=>T===null?S:T.concat(S.filter(A=>!T.includes(A))))},[h]),y=v.useRef(null),E=Qy(S=>{if(f&&!n)return EY;if(!S||S===EY||u.current!==e||o!=null){const T=new Map;for(let A of e){if(!A)continue;if(o&&o.length>0&&!o.includes(A.id)&&A.rect.current){T.set(A.id,A.rect.current);continue}const R=A.node.current,_=R?new uB(l(R),R):null;A.rect.current=_,_&&T.set(A.id,_)}return T}return S},[e,o,n,f,l]);return v.useEffect(()=>{u.current=e},[e]),v.useEffect(()=>{f||g()},[n,f]),v.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),v.useEffect(()=>{f||typeof a!="number"||y.current!==null||(y.current=setTimeout(()=>{g(),y.current=null},a))},[a,f,g,...r]),{droppableRects:E,measureDroppableContainers:g,measuringScheduled:o!=null};function w(){switch(c){case V0.Always:return!1;case V0.BeforeDragging:return n;default:return!n}}}function pB(e,t){return Qy(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function kut(e,t){return pB(e,t)}function Aut(e){let{callback:t,disabled:n}=e;const r=MT(t),i=v.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return v.useEffect(()=>()=>i?.disconnect(),[i]),i}function PT(e){let{callback:t,disabled:n}=e;const r=MT(t),i=v.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return v.useEffect(()=>()=>i?.disconnect(),[i]),i}function Nut(e){return new uB(Lm(e),e)}function wY(e,t,n){t===void 0&&(t=Nut);const[r,i]=v.useState(null);function o(){i(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=t(e);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=Aut({callback(l){if(e)for(const c of l){const{type:u,target:f}=c;if(u==="childList"&&f instanceof HTMLElement&&f.contains(e)){o();break}}}}),a=PT({callback:o});return Sa(()=>{o(),e?(a?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(a?.disconnect(),s?.disconnect())},[e]),r}function _ut(e){const t=pB(e);return jde(e,t)}const SY=[];function Rut(e){const t=v.useRef(e),n=Qy(r=>e?r&&r!==SY&&e&&t.current&&e.parentNode===t.current.parentNode?r:cB(e):SY,[e]);return v.useEffect(()=>{t.current=e},[e]),n}function Dut(e){const[t,n]=v.useState(null),r=v.useRef(e),i=v.useCallback(o=>{const s=D_(o.target);s&&n(a=>a?(a.set(s,RI(s)),new Map(a)):null)},[]);return v.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const c=D_(l);return c?(c.addEventListener("scroll",i,{passive:!0}),[c,RI(c)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const c=D_(l);c?.removeEventListener("scroll",i)})}},[i,e]),v.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>bh(o,s),Ca):qde(e):Ca,[e,t])}function CY(e,t){t===void 0&&(t=[]);const n=v.useRef(null);return v.useEffect(()=>{n.current=null},t),v.useEffect(()=>{const r=e!==Ca;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?gS(e,n.current):Ca}function Iut(e){v.useEffect(()=>{if(!OT)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 Out(e,t){return v.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function Qde(e){return v.useMemo(()=>e?sut(e):null,[e])}const TY=[];function Mut(e,t){t===void 0&&(t=Lm);const[n]=e,r=Qde(n?oo(n):null),[i,o]=v.useState(TY);function s(){o(()=>e.length?e.map(l=>Vde(l)?r:new uB(t(l),l)):TY)}const a=PT({callback:s});return Sa(()=>{a?.disconnect(),s(),e.forEach(l=>a?.observe(l))},[e]),i}function Jde(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Zy(t)?t:e}function Lut(e){let{measure:t}=e;const[n,r]=v.useState(null),i=v.useCallback(c=>{for(const{target:u}of c)if(Zy(u)){r(f=>{const h=t(u);return f?{...f,width:h.width,height:h.height}:h});break}},[t]),o=PT({callback:i}),s=v.useCallback(c=>{const u=Jde(c);o?.disconnect(),u&&o?.observe(u),r(u?t(u):null)},[t,o]),[a,l]=hS(s);return v.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const Put=[{sensor:Kde,options:{}},{sensor:dB,options:{}}],Fut={current:{}},iE={draggable:{measure:bY},droppable:{measure:bY,strategy:V0.WhileDragging,frequency:II.Optimized},dragOverlay:{measure:Lm}};class Bb 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 But={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Bb,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:yS},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:iE,measureDroppableContainers:yS,windowRect:null,measuringScheduled:!1},efe={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:yS,draggableNodes:new Map,over:null,measureDroppableContainers:yS},e1=v.createContext(efe),tfe=v.createContext(But);function jut(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Bb}}}function $ut(e,t){switch(t.type){case Vr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Vr.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 Vr.DragEnd:case Vr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Vr.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Bb(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Vr.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Bb(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case Vr.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Bb(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Uut(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=v.useContext(e1),o=mS(r),s=mS(n?.id);return v.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!LT(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:c}=a;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const f=Fct(u);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function nfe(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function Hut(e){return v.useMemo(()=>({draggable:{...iE.draggable,...e?.draggable},droppable:{...iE.droppable,...e?.droppable},dragOverlay:{...iE.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function zut(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=v.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Sa(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const c=t?.node.current;if(!c||c.isConnected===!1)return;const u=n(c),f=jde(u,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const h=Ude(c);h&&h.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const FT=v.createContext({...Ca,scaleX:1,scaleY:1});var Qc;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Qc||(Qc={}));const Vut=v.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:c,sensors:u=Put,collisionDetection:f=Bde,measuring:h,modifiers:g,...y}=t;const E=v.useReducer($ut,void 0,jut),[w,S]=E,[T,A]=zct(),[R,_]=v.useState(Qc.Uninitialized),D=R===Qc.Initialized,{draggable:{active:I,nodes:M,translate:j},droppable:{containers:L}}=w,F=I!=null?M.get(I):null,H=v.useRef({initial:null,translated:null}),Y=v.useMemo(()=>{var en;return I!=null?{id:I,data:(en=F?.data)!=null?en:Fut,rect:H}:null},[I,F]),$=v.useRef(null),[G,V]=v.useState(null),[X,Q]=v.useState(null),J=z0(y,Object.values(y)),B=Jy("DndDescribedBy",s),W=v.useMemo(()=>L.getEnabled(),[L]),K=Hut(h),{droppableRects:P,measureDroppableContainers:ce,measuringScheduled:le}=Tut(W,{dragging:D,dependencies:[j.x,j.y],config:K.droppable}),se=Sut(M,I),te=v.useMemo(()=>X?bS(X):null,[X]),oe=di(),ue=kut(se,K.draggable.measure);zut({activeNode:I!=null?M.get(I):null,config:oe.layoutShiftCompensation,initialRect:ue,measure:K.draggable.measure});const Te=wY(se,K.draggable.measure,ue),Ie=wY(se?se.parentElement:null),ke=v.useRef({activatorEvent:null,active:null,activeNode:se,collisionRect:null,collisions:null,droppableRects:P,draggableNodes:M,draggingNode:null,draggingNodeRect:null,droppableContainers:L,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),tt=L.getNodeFor((n=ke.current.over)==null?void 0:n.id),rt=Lut({measure:K.dragOverlay.measure}),ze=(r=rt.nodeRef.current)!=null?r:se,dn=D?(i=rt.rect)!=null?i:Te:null,nt=!!(rt.nodeRef.current&&rt.rect),Vn=_ut(nt?null:Te),$t=Qde(ze?oo(ze):null),xt=Rut(D?tt??se:null),re=Mut(xt),de=nfe(g,{transform:{x:j.x-Vn.x,y:j.y-Vn.y,scaleX:1,scaleY:1},activatorEvent:X,active:Y,activeNodeRect:Te,containerNodeRect:Ie,draggingNodeRect:dn,over:ke.current.over,overlayNodeRect:rt.rect,scrollableAncestors:xt,scrollableAncestorRects:re,windowRect:$t}),ye=te?bh(te,j):null,Me=Dut(xt),Fe=CY(Me),q=CY(Me,[Te]),ge=bh(de,Fe),De=dn?rut(dn,de):null,He=Y&&De?f({active:Y,collisionRect:De,droppableRects:P,droppableContainers:W,pointerCoordinates:ye}):null,ot=Xct(He,"id"),[an,fn]=v.useState(null),Dn=nt?de:bh(de,q),vn=tut(Dn,(o=an?.rect)!=null?o:null,Te),xn=v.useRef(null),Ae=v.useCallback((en,tn)=>{let{sensor:Ve,options:qt}=tn;if($.current==null)return;const yt=M.get($.current);if(!yt)return;const Mt=en.nativeEvent,Gn=new Ve({active:$.current,activeNode:yt,event:Mt,options:qt,context:ke,onAbort(Zt){if(!M.get(Zt))return;const{onDragAbort:Tn}=J.current,Jn={id:Zt};Tn?.(Jn),T({type:"onDragAbort",event:Jn})},onPending(Zt,Qn,Tn,Jn){if(!M.get(Zt))return;const{onDragPending:fi}=J.current,ls={id:Zt,constraint:Qn,initialCoordinates:Tn,offset:Jn};fi?.(ls),T({type:"onDragPending",event:ls})},onStart(Zt){const Qn=$.current;if(Qn==null)return;const Tn=M.get(Qn);if(!Tn)return;const{onDragStart:Jn}=J.current,as={activatorEvent:Mt,active:{id:Qn,data:Tn.data,rect:H}};Wr.unstable_batchedUpdates(()=>{Jn?.(as),_(Qc.Initializing),S({type:Vr.DragStart,initialCoordinates:Zt,active:Qn}),T({type:"onDragStart",event:as}),V(xn.current),Q(Mt)})},onMove(Zt){S({type:Vr.DragMove,coordinates:Zt})},onEnd:Xt(Vr.DragEnd),onCancel:Xt(Vr.DragCancel)});xn.current=Gn;function Xt(Zt){return async function(){const{active:Tn,collisions:Jn,over:as,scrollAdjustedTranslate:fi}=ke.current;let ls=null;if(Tn&&fi){const{cancelDrop:pc}=J.current;ls={activatorEvent:Mt,active:Tn,collisions:Jn,delta:fi,over:as},Zt===Vr.DragEnd&&typeof pc=="function"&&await Promise.resolve(pc(ls))&&(Zt=Vr.DragCancel)}$.current=null,Wr.unstable_batchedUpdates(()=>{S({type:Zt}),_(Qc.Uninitialized),fn(null),V(null),Q(null),xn.current=null;const pc=Zt===Vr.DragEnd?"onDragEnd":"onDragCancel";if(ls){const cs=J.current[pc];cs?.(ls),T({type:pc,event:ls})}})}}},[M]),Ge=v.useCallback((en,tn)=>(Ve,qt)=>{const yt=Ve.nativeEvent,Mt=M.get(qt);if($.current!==null||!Mt||yt.dndKit||yt.defaultPrevented)return;const Gn={active:Mt};en(Ve,tn.options,Gn)===!0&&(yt.dndKit={capturedBy:tn.sensor},$.current=qt,Ae(Ve,tn))},[M,Ae]),gt=Cut(u,Ge);Iut(u),Sa(()=>{Te&&R===Qc.Initializing&&_(Qc.Initialized)},[Te,R]),v.useEffect(()=>{const{onDragMove:en}=J.current,{active:tn,activatorEvent:Ve,collisions:qt,over:yt}=ke.current;if(!tn||!Ve)return;const Mt={active:tn,activatorEvent:Ve,collisions:qt,delta:{x:ge.x,y:ge.y},over:yt};Wr.unstable_batchedUpdates(()=>{en?.(Mt),T({type:"onDragMove",event:Mt})})},[ge.x,ge.y]),v.useEffect(()=>{const{active:en,activatorEvent:tn,collisions:Ve,droppableContainers:qt,scrollAdjustedTranslate:yt}=ke.current;if(!en||$.current==null||!tn||!yt)return;const{onDragOver:Mt}=J.current,Gn=qt.get(ot),Xt=Gn&&Gn.rect.current?{id:Gn.id,rect:Gn.rect.current,data:Gn.data,disabled:Gn.disabled}:null,Zt={active:en,activatorEvent:tn,collisions:Ve,delta:{x:yt.x,y:yt.y},over:Xt};Wr.unstable_batchedUpdates(()=>{fn(Xt),Mt?.(Zt),T({type:"onDragOver",event:Zt})})},[ot]),Sa(()=>{ke.current={activatorEvent:X,active:Y,activeNode:se,collisionRect:De,collisions:He,droppableRects:P,draggableNodes:M,draggingNode:ze,draggingNodeRect:dn,droppableContainers:L,over:an,scrollableAncestors:xt,scrollAdjustedTranslate:ge},H.current={initial:dn,translated:De}},[Y,se,He,De,M,ze,dn,P,L,an,xt,ge]),xut({...oe,delta:j,draggingRect:De,pointerCoordinates:ye,scrollableAncestors:xt,scrollableAncestorRects:re});const lt=v.useMemo(()=>({active:Y,activeNode:se,activeNodeRect:Te,activatorEvent:X,collisions:He,containerNodeRect:Ie,dragOverlay:rt,draggableNodes:M,droppableContainers:L,droppableRects:P,over:an,measureDroppableContainers:ce,scrollableAncestors:xt,scrollableAncestorRects:re,measuringConfiguration:K,measuringScheduled:le,windowRect:$t}),[Y,se,Te,X,He,Ie,rt,M,L,P,an,ce,xt,re,K,le,$t]),sr=v.useMemo(()=>({activatorEvent:X,activators:gt,active:Y,activeNodeRect:Te,ariaDescribedById:{draggable:B},dispatch:S,draggableNodes:M,over:an,measureDroppableContainers:ce}),[X,gt,Y,Te,S,B,M,an,ce]);return pe.createElement(Fde.Provider,{value:A},pe.createElement(e1.Provider,{value:sr},pe.createElement(tfe.Provider,{value:lt},pe.createElement(FT.Provider,{value:vn},c)),pe.createElement(Uut,{disabled:a?.restoreFocus===!1})),pe.createElement(qct,{...a,hiddenTextDescribedById:B}));function di(){const en=G?.autoScrollEnabled===!1,tn=typeof l=="object"?l.enabled===!1:l===!1,Ve=D&&!en&&!tn;return typeof l=="object"?{...l,enabled:Ve}:{enabled:Ve}}}),Gut=v.createContext(null),kY="button",qut="Draggable";function Wut(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=Jy(qut),{activators:s,activatorEvent:a,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:h}=v.useContext(e1),{role:g=kY,roleDescription:y="draggable",tabIndex:E=0}=i??{},w=l?.id===t,S=v.useContext(w?FT:Gut),[T,A]=hS(),[R,_]=hS(),D=Out(s,t),I=z0(n);Sa(()=>(f.set(t,{id:t,key:o,node:T,activatorNode:R,data:I}),()=>{const j=f.get(t);j&&j.key===o&&f.delete(t)}),[f,t]);const M=v.useMemo(()=>({role:g,tabIndex:E,"aria-disabled":r,"aria-pressed":w&&g===kY?!0:void 0,"aria-roledescription":y,"aria-describedby":u.draggable}),[r,g,E,w,y,u.draggable]);return{active:l,activatorEvent:a,activeNodeRect:c,attributes:M,isDragging:w,listeners:r?void 0:D,node:T,over:h,setNodeRef:A,setActivatorNodeRef:_,transform:S}}function rfe(){return v.useContext(tfe)}const Yut="Droppable",Kut={timeout:25};function ife(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=Jy(Yut),{active:s,dispatch:a,over:l,measureDroppableContainers:c}=v.useContext(e1),u=v.useRef({disabled:n}),f=v.useRef(!1),h=v.useRef(null),g=v.useRef(null),{disabled:y,updateMeasurementsFor:E,timeout:w}={...Kut,...i},S=z0(E??r),T=v.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(S.current)?S.current:[S.current]),g.current=null},w)},[w]),A=PT({callback:T,disabled:y||!s}),R=v.useCallback((M,j)=>{A&&(j&&(A.unobserve(j),f.current=!1),M&&A.observe(M))},[A]),[_,D]=hS(R),I=z0(t);return v.useEffect(()=>{!A||!_.current||(A.disconnect(),f.current=!1,A.observe(_.current))},[_,A]),v.useEffect(()=>(a({type:Vr.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:h,data:I}}),()=>a({type:Vr.UnregisterDroppable,key:o,id:r})),[r]),v.useEffect(()=>{n!==u.current.disabled&&(a({type:Vr.SetDroppableDisabled,id:r,key:o,disabled:n}),u.current.disabled=n)},[r,o,n,a]),{active:s,rect:h,isOver:l?.id===r,node:_,over:l,setNodeRef:D}}function Xut(e){let{animation:t,children:n}=e;const[r,i]=v.useState(null),[o,s]=v.useState(null),a=mS(n);return!n&&!r&&a&&i(a),Sa(()=>{if(!o)return;const l=r?.key,c=r?.props.id;if(l==null||c==null){i(null);return}Promise.resolve(t(c,o)).then(()=>{i(null)})},[t,r,o]),pe.createElement(pe.Fragment,null,n,r?v.cloneElement(r,{ref:s}):null)}const Zut={x:0,y:0,scaleX:1,scaleY:1};function Qut(e){let{children:t}=e;return pe.createElement(e1.Provider,{value:efe},pe.createElement(FT.Provider,{value:Zut},t))}const Jut={position:"fixed",touchAction:"none"},edt=e=>LT(e)?"transform 250ms ease":void 0,tdt=v.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:c,transition:u=edt}=e;if(!a)return null;const f=i?c:{...c,scaleX:1,scaleY:1},h={...Jut,width:a.width,height:a.height,top:a.top,left:a.left,transform:ju.Transform.toString(f),transformOrigin:i&&r?Yct(r,a):void 0,transition:typeof u=="function"?u(r):u,...l};return pe.createElement(n,{className:s,style:h,ref:t},o)}),ndt=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,c]of Object.entries(i))n.node.style.setProperty(l,c);s!=null&&s.active&&n.node.classList.remove(s.active)}},rdt=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:ju.Transform.toString(t)},{transform:ju.Transform.toString(n)}]},idt={duration:250,easing:"ease",keyframes:rdt,sideEffects:ndt({styles:{active:{opacity:"0"}}})};function odt(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return MT((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const c=Jde(s);if(!c)return;const{transform:u}=oo(s).getComputedStyle(s),f=$de(u);if(!f)return;const h=typeof t=="function"?t:sdt(t);return Wde(l,i.draggable.measure),h({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function sdt(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...idt,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...c}=o;if(!t)return;const u={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},h={x:l.x-u.x,y:l.y-u.y,...f},g=i({...c,active:s,dragOverlay:a,transform:{initial:l,final:h}}),[y]=g,E=g[g.length-1];if(JSON.stringify(y)===JSON.stringify(E))return;const w=r?.({active:s,dragOverlay:a,...c}),S=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(T=>{S.onfinish=()=>{w?.(),T()}})}}let AY=0;function adt(e){return v.useMemo(()=>{if(e!=null)return AY++,AY},[e])}const ldt=pe.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:c=999}=e;const{activatorEvent:u,active:f,activeNodeRect:h,containerNodeRect:g,draggableNodes:y,droppableContainers:E,dragOverlay:w,over:S,measuringConfiguration:T,scrollableAncestors:A,scrollableAncestorRects:R,windowRect:_}=rfe(),D=v.useContext(FT),I=adt(f?.id),M=nfe(s,{activatorEvent:u,active:f,activeNodeRect:h,containerNodeRect:g,draggingNodeRect:w.rect,over:S,overlayNodeRect:w.rect,scrollableAncestors:A,scrollableAncestorRects:R,transform:D,windowRect:_}),j=pB(h),L=odt({config:r,draggableNodes:y,droppableContainers:E,measuringConfiguration:T}),F=j?w.setRef:void 0;return pe.createElement(Qut,null,pe.createElement(Xut,{animation:L},f&&I?pe.createElement(tdt,{key:I,id:f.id,ref:F,as:a,activatorEvent:u,adjustScale:t,className:l,transition:o,rect:j,style:{zIndex:c,...i},transform:M},n):null))});function xS(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function cdt(e,t){return e.reduce((n,r,i)=>{const o=t.get(r);return o&&(n[i]=o),n},Array(e.length))}function bx(e){return e!==null&&e>=0}function udt(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 ddt(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const ofe=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e;const o=xS(t,r,n),s=t[i],a=o[i];return!a||!s?null:{x:a.left-s.left,y:a.top-s.top,scaleX:a.width/s.width,scaleY:a.height/s.height}},sfe="Sortable",afe=pe.createContext({activeIndex:-1,containerId:sfe,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ofe,disabled:{draggable:!1,droppable:!1}});function fdt(e){let{children:t,id:n,items:r,strategy:i=ofe,disabled:o=!1}=e;const{active:s,dragOverlay:a,droppableRects:l,over:c,measureDroppableContainers:u}=rfe(),f=Jy(sfe,n),h=a.rect!==null,g=v.useMemo(()=>r.map(D=>typeof D=="object"&&"id"in D?D.id:D),[r]),y=s!=null,E=s?g.indexOf(s.id):-1,w=c?g.indexOf(c.id):-1,S=v.useRef(g),T=!udt(g,S.current),A=w!==-1&&E===-1||T,R=ddt(o);Sa(()=>{T&&y&&u(g)},[T,g,y,u]),v.useEffect(()=>{S.current=g},[g]);const _=v.useMemo(()=>({activeIndex:E,containerId:f,disabled:R,disableTransforms:A,items:g,overIndex:w,useDragOverlay:h,sortedRects:cdt(g,l),strategy:i}),[E,f,R.draggable,R.droppable,A,g,w,l,h,i]);return pe.createElement(afe.Provider,{value:_},t)}const pdt=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return xS(n,r,i).indexOf(t)},hdt=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:o,newIndex:s,previousItems:a,previousContainerId:l,transition:c}=e;return!c||!r||a!==o&&i===s?!1:n?!0:s!==i&&t===l},mdt={duration:200,easing:"ease"},lfe="transform",gdt=ju.Transition.toString({property:lfe,duration:0,easing:"linear"}),bdt={roleDescription:"sortable"};function ydt(e){let{disabled:t,index:n,node:r,rect:i}=e;const[o,s]=v.useState(null),a=v.useRef(n);return Sa(()=>{if(!t&&n!==a.current&&r.current){const l=i.current;if(l){const c=Lm(r.current,{ignoreTransform:!0}),u={x:l.left-c.left,y:l.top-c.top,scaleX:l.width/c.width,scaleY:l.height/c.height};(u.x||u.y)&&s(u)}}n!==a.current&&(a.current=n)},[t,n,r,i]),v.useEffect(()=>{o&&s(null)},[o]),o}function vdt(e){let{animateLayoutChanges:t=hdt,attributes:n,disabled:r,data:i,getNewIndex:o=pdt,id:s,strategy:a,resizeObserverConfig:l,transition:c=mdt}=e;const{items:u,containerId:f,activeIndex:h,disabled:g,disableTransforms:y,sortedRects:E,overIndex:w,useDragOverlay:S,strategy:T}=v.useContext(afe),A=xdt(r,g),R=u.indexOf(s),_=v.useMemo(()=>({sortable:{containerId:f,index:R,items:u},...i}),[f,i,R,u]),D=v.useMemo(()=>u.slice(u.indexOf(s)),[u,s]),{rect:I,node:M,isOver:j,setNodeRef:L}=ife({id:s,data:_,disabled:A.droppable,resizeObserverConfig:{updateMeasurementsFor:D,...l}}),{active:F,activatorEvent:H,activeNodeRect:Y,attributes:$,setNodeRef:G,listeners:V,isDragging:X,over:Q,setActivatorNodeRef:J,transform:B}=Wut({id:s,data:_,attributes:{...bdt,...n},disabled:A.draggable}),W=Oct(L,G),K=!!F,P=K&&!y&&bx(h)&&bx(w),ce=!S&&X,le=ce&&P?B:null,te=P?le??(a??T)({rects:E,activeNodeRect:Y,activeIndex:h,overIndex:w,index:R}):null,oe=bx(h)&&bx(w)?o({id:s,items:u,activeIndex:h,overIndex:w}):R,ue=F?.id,Te=v.useRef({activeId:ue,items:u,newIndex:oe,containerId:f}),Ie=u!==Te.current.items,ke=t({active:F,containerId:f,isDragging:X,isSorting:K,id:s,index:R,items:u,newIndex:Te.current.newIndex,previousItems:Te.current.items,previousContainerId:Te.current.containerId,transition:c,wasDragging:Te.current.activeId!=null}),tt=ydt({disabled:!ke,index:R,node:M,rect:I});return v.useEffect(()=>{K&&Te.current.newIndex!==oe&&(Te.current.newIndex=oe),f!==Te.current.containerId&&(Te.current.containerId=f),u!==Te.current.items&&(Te.current.items=u)},[K,oe,f,u]),v.useEffect(()=>{if(ue===Te.current.activeId)return;if(ue!=null&&Te.current.activeId==null){Te.current.activeId=ue;return}const ze=setTimeout(()=>{Te.current.activeId=ue},50);return()=>clearTimeout(ze)},[ue]),{active:F,activeIndex:h,attributes:$,data:_,rect:I,index:R,newIndex:oe,items:u,isOver:j,isSorting:K,isDragging:X,listeners:V,node:M,overIndex:w,over:Q,setNodeRef:W,setActivatorNodeRef:J,setDroppableNodeRef:L,setDraggableNodeRef:G,transform:tt??te,transition:rt()};function rt(){if(tt||Ie&&Te.current.newIndex===R)return gdt;if(!(ce&&!LT(H)||!c)&&(K||ke))return ju.Transition.toString({...c,property:lfe})}}function xdt(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}}bn.Down,bn.Right,bn.Up,bn.Left;const Edt={},NY=e=>{let t;const n=new Set,r=(u,f)=>{const h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const g=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(y=>y(t,g))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Edt?"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()}},c=t=e(r,i,l);return l},wdt=e=>e?NY(e):NY,cfe={},{useDebugValue:Sdt}=pe,{useSyncExternalStoreWithSelector:Cdt}=wKe;let _Y=!1;const Tdt=e=>e;function kdt(e,t=Tdt,n){(cfe?"production":void 0)!=="production"&&n&&!_Y&&(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"),_Y=!0);const r=Cdt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Sdt(r),r}const RY=e=>{(cfe?"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"?wdt(e):e,n=(r,i)=>kdt(t,r,i);return Object.assign(n,t),n},Adt=e=>e?RY(e):RY;var DY,IY;const OY=typeof window<"u"&&((DY=window.document)!=null&&DY.createElement||((IY=window.navigator)==null?void 0:IY.product)==="ReactNative")?pe.useLayoutEffect:pe.useEffect;function Ndt(){const e=Adt(t=>({current:new Array,version:0,set:t}));return{In:({children:t})=>{const n=e(i=>i.set),r=e(i=>i.version);return OY(()=>{n(i=>({version:i.version+1}))},[]),OY(()=>(n(({current:i})=>({current:[...i,t]})),()=>n(({current:i})=>({current:i.filter(o=>o!==t)}))),[t,r]),null},Out:()=>{const t=e(n=>n.current);return pe.createElement(pe.Fragment,null,t)}}}const M_=768;function BT(){const[e,t]=v.useState(void 0);return v.useEffect(()=>{const n=window.matchMedia(`(max-width: ${M_-1}px)`),r=()=>{t(window.innerWidth<M_)};return n.addEventListener("change",r),t(window.innerWidth<M_),()=>n.removeEventListener("change",r)},[]),!!e}const ufe=Ndt(),hB=v.createContext({columns:[],data:[],activeCardId:null}),_dt=({id:e,children:t,className:n})=>{const{isOver:r,setNodeRef:i}=ife({id:e});return m.jsx("div",{className:we("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:i,children:t})},Rdt=({id:e,name:t,children:n,className:r})=>{const{attributes:i,listeners:o,setNodeRef:s,transition:a,transform:l,isDragging:c}=vdt({id:e}),{activeCardId:u}=v.useContext(hB),f={transition:a,transform:ju.Transform.toString(l)};return m.jsxs(m.Fragment,{children:[m.jsx("div",{style:f,...o,...i,ref:s,children:m.jsx(Kd,{className:we("cursor-grab gap-4 rounded-md p-3 shadow-sm",c&&"pointer-events-none cursor-grabbing opacity-30",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})}),u===e&&m.jsx(ufe.In,{children:m.jsx(Kd,{className:we("cursor-grab gap-4 rounded-md p-3 shadow-sm ring-2 ring-primary",c&&"cursor-grabbing",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})})]})},Ddt=({children:e,className:t,...n})=>{const{data:r}=v.useContext(hB),i=r.filter(s=>s.column===n.id),o=i.map(s=>s.id);return m.jsxs(Xi,{className:"overflow-hidden flex-1",children:[m.jsx(fdt,{items:o,children:m.jsx("div",{className:we("flex flex-grow flex-col gap-2 p-2",t),...n,children:i.map(e)})}),m.jsx(PS,{orientation:"vertical"})]})},Idt=({className:e,...t})=>m.jsx("div",{className:we("m-0 p-2 font-semibold text-sm",e),...t}),Odt=e=>t=>{const{droppableRects:n,droppableContainers:r,pointerCoordinates:i}=t,o=y=>!e.includes(y),s=y=>e.includes(y),a=eut(t),l=a.filter(y=>o(y.id)),c=a.filter(y=>s(y.id));if(l.length>0){const E=gY(t).filter(w=>o(w.id));return E.length>0?[E[0]]:[l[0]]}if(c.length>0)return[c[0]];const u=Bde(t),f=u.filter(y=>o(y.id)),h=u.filter(y=>s(y.id));if(f.length>0){const E=Zct(t).filter(w=>o(w.id));return E.length>0?[E[0]]:[f[0]]}if(h.length>0)return[h[0]];if(i){let y=null;for(const E of e){const w=n.get(E);if(!w)continue;const S=w.left+w.width/2,T=w.top+w.height/2,A=Math.sqrt(Math.pow(i.x-S,2)+Math.pow(i.y-T,2)),R={left:w.left-150,right:w.right+150,top:w.top-50,bottom:w.bottom+50};i.x>=R.left&&i.x<=R.right&&i.y>=R.top&&i.y<=R.bottom&&(!y||A<y.distance)&&(y={id:E,distance:A})}if(y)return[{id:y.id}]}const g=gY(t);if(g.length>0){const y=g.find(E=>s(E.id));return y?[y]:[g[0]]}return[]},Mdt=({children:e,onDragStart:t,onDragEnd:n,onDragOver:r,className:i,columns:o,data:s,onDataChange:a,...l})=>{const[c,u]=v.useState(null),f=BT(),h=v.useMemo(()=>o.map(A=>A.id),[o]),g=v.useMemo(()=>Odt(h),[h]),y=Wct(R_(Xde,{activationConstraint:{distance:8}}),R_(Zde,{activationConstraint:{delay:150,tolerance:8}}),R_(dB)),E=A=>{s.find(_=>_.id===A.active.id)&&u(A.active.id),t?.(A)},w=A=>{const{active:R,over:_}=A;if(!_)return;const D=s.find(F=>F.id===R.id),I=s.find(F=>F.id===_.id);if(!D)return;const M=D.column,L=o.some(F=>F.id===_.id)?_.id:I?.column||M;if(M!==L){let F=[...s];const H=F.findIndex(Y=>Y.id===R.id);if(F[H]={...F[H],column:L},I){const Y=F.findIndex($=>$.id===_.id);F=xS(F,H,Y)}a?.(F)}r?.(A)},S=A=>{u(null),n?.(A);const{active:R,over:_}=A;if(!_||R.id===_.id)return;if(o.some(L=>L.id===_.id)){const L=s.find(F=>F.id===R.id);if(L&&L.column!==_.id){let F=[...s];const H=F.findIndex(Y=>Y.id===R.id);F[H]={...F[H],column:_.id},a?.(F)}return}let I=[...s];const M=I.findIndex(L=>L.id===R.id),j=I.findIndex(L=>L.id===_.id);M!==-1&&j!==-1&&(I=xS(I,M,j),a?.(I))},T={onDragStart({active:A}){const{name:R,column:_}=s.find(D=>D.id===A.id)??{};return`Picked up the card "${R}" from the "${_}" column`},onDragOver({active:A,over:R}){const{name:_}=s.find(I=>I.id===A.id)??{},D=o.find(I=>I.id===R?.id)?.name;return`Dragged the card "${_}" over the "${D}" column`},onDragEnd({active:A,over:R}){const{name:_}=s.find(I=>I.id===A.id)??{},D=o.find(I=>I.id===R?.id)?.name;return`Dropped the card "${_}" into the "${D}" column`},onDragCancel({active:A}){const{name:R}=s.find(_=>_.id===A.id)??{};return`Cancelled dragging the card "${R}"`}};return m.jsx(hB.Provider,{value:{columns:o,data:s,activeCardId:c},children:m.jsxs(Vut,{accessibility:{announcements:T},collisionDetection:g,onDragEnd:S,onDragOver:w,onDragStart:E,sensors:y,...l,children:[m.jsx("div",{className:we("flex gap-4",f&&"flex-col",i),children:o.map(A=>e(A))}),typeof window<"u"&&Wr.createPortal(m.jsx(ldt,{children:m.jsx(ufe.Out,{})}),document.body)]})})},MY={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function sb(e){return MY[e]?MY[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Ldt({tasks:e,loading:t,onTasksUpdate:n}){const{config:r,updateConfig:i}=bf(),[o,s]=v.useState(new Set),[a,l]=v.useState(!1),c=BT(),u=r?.statuses||["todo","in-progress","in-review","done","blocked"],f=r?.statusColors||jO,h=v.useMemo(()=>u.filter(L=>o.has(L)).map(L=>({id:L,name:sb(L),color:f[L]||"gray"})),[u,o,f]),g={high:0,medium:1,low:2},y=v.useMemo(()=>[...e].sort((F,H)=>{const Y=g[F.priority]??2,$=g[H.priority]??2;return Y!==$?Y-$:new Date(H.updatedAt).getTime()-new Date(F.updatedAt).getTime()}).map(F=>({id:F.id,name:F.title,column:F.status,task:F})),[e]),E=()=>{const F=window.location.hash.slice(1).match(/^\/kanban\/([^?]+)/);if(!F)return null;const H=F[1];return e.find(Y=>Y.id===H)||null},[w,S]=v.useState(E());v.useEffect(()=>{const L=()=>{S(E())};return S(E()),window.addEventListener("hashchange",L),()=>window.removeEventListener("hashchange",L)},[e]),v.useEffect(()=>{r?.visibleColumns?s(new Set(r.visibleColumns)):s(new Set(u))},[r?.visibleColumns,u.join(",")]);const T=async L=>{try{await i({visibleColumns:[...L]})}catch(F){console.error("Failed to save config:",F)}},A=L=>{s(F=>{const H=new Set(F);return H.has(L)?H.delete(L):H.add(L),T(H),H})},R=async L=>{const F=L.filter(Y=>{const $=e.find(G=>G.id===Y.id);return $&&$.status!==Y.column}),H=e.map(Y=>{const $=L.find(G=>G.id===Y.id);return $&&$.column!==Y.status?{...Y,status:$.column}:Y});n(H);for(const Y of F)try{await da.updateTask(Y.id,{status:Y.column}),Os.success("Status updated",{description:`#${Y.id} moved to ${sb(Y.column)}`})}catch($){console.error("Failed to update task:",$),Os.error("Failed to update status",{description:$ instanceof Error?$.message:"Unknown error"}),da.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 _=L=>{window.location.hash=`/kanban/${L.id}`},D=()=>{window.location.hash="/"},I=L=>{n(e.map(F=>F.id===L.id?L:F))},M=L=>{window.location.hash=`/kanban/${L}`},j=async L=>{try{await da.archiveTask(L),n(e.filter(F=>F.id!==L)),D()}catch(F){console.error("Failed to archive task:",F)}};return m.jsxs("div",{className:"flex flex-col h-full",children:[c?m.jsxs(mde,{open:a,onOpenChange:l,className:"shrink-0 bg-card rounded-lg mb-4 border border-border",children:[m.jsxs(gde,{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,"/",u.length,")"]}),a?m.jsx(QY,{className:"w-4 h-4 text-muted-foreground"}):m.jsx(Eu,{className:"w-4 h-4 text-muted-foreground"})]}),m.jsx(bde,{children:m.jsx("div",{className:"flex flex-wrap gap-2 px-3 pb-3",children:u.map(L=>{const F=o.has(L),H=e.filter(Y=>Y.status===L).length;return m.jsxs("button",{type:"button",onClick:()=>A(L),className:we("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg transition-colors text-xs",F?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[F?m.jsx(W_,{className:"w-3.5 h-3.5"}):m.jsx(q_,{className:"w-3.5 h-3.5"}),m.jsxs("span",{className:"font-medium",children:[sb(L)," (",H,")"]})]},L)})})})]}):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:"}),u.map(L=>{const F=o.has(L),H=e.filter(Y=>Y.status===L).length;return m.jsxs("button",{type:"button",onClick:()=>A(L),className:we("flex items-center gap-2 px-3 py-1.5 rounded-lg transition-colors",F?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[F?m.jsx(W_,{className:"w-4 h-4"}):m.jsx(q_,{className:"w-4 h-4"}),m.jsxs("span",{className:"text-sm font-medium",children:[sb(L)," (",H,")"]})]},L)})]})}),m.jsxs(Xi,{className:"flex-1",children:[o.size>0?m.jsx(Mdt,{columns:h,data:y,onDataChange:R,className:"min-h-full pb-4",children:L=>{const F=$Se(L.id,f),H=y.filter(Y=>Y.column===L.id).length;return m.jsxs(_dt,{id:L.id,className:we("min-w-[320px] max-w-[380px]",c&&"min-w-0 max-w-none w-full",F.bg,F.border),children:[m.jsxs(Idt,{className:"flex items-center justify-between",children:[m.jsx("span",{className:"font-bold text-sm uppercase tracking-wide text-foreground",children:L.name}),m.jsx("span",{className:"text-xs rounded-full px-2 py-1 font-medium text-muted-foreground bg-background",children:H})]}),m.jsx(Ddt,{id:L.id,children:Y=>m.jsx(Pdt,{item:Y,statusColors:f,onClick:()=>_(Y.task)},Y.id)})]},L.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(PS,{orientation:"horizontal"})]}),m.jsx(Mde,{task:w,allTasks:e,onClose:D,onUpdate:I,onArchive:j,onNavigateToTask:M})]})}function Pdt({item:e,statusColors:t,onClick:n}){const{task:r}=e,i=Sh(r.status,t),o=r.acceptanceCriteria.filter(a=>a.completed).length,s=r.acceptanceCriteria.length;return m.jsx(Rdt,{id:e.id,name:e.name,column:e.column,className:"w-full",children:m.jsxs("div",{onClick:n,onKeyDown:a=>a.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:we("text-xs px-1.5 py-0.5 rounded font-medium",i),children:sb(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(eK,{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(a=>m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-secondary text-secondary-foreground",children:a},a))}),r.assignee&&m.jsxs("div",{className:"flex items-center gap-1.5 text-xs mt-2 text-muted-foreground",children:[m.jsx($0,{name:r.assignee,size:"sm"}),m.jsx("span",{children:r.assignee})]})]})})}const LY=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}],PY={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 Fdt({isOpen:e,allTasks:t,onClose:n,onCreated:r}){const{currentUser:i}=XZ(),{config:o}=bf(),s=v.useRef(null),a=v.useRef(null),l=v.useMemo(()=>{const q=o.statuses||["todo","in-progress","in-review","done","blocked"];return tQ(q)},[o.statuses]),c=o.statusColors||{},[u,f]=v.useState(""),[h,g]=v.useState(""),[y,E]=v.useState("todo"),[w,S]=v.useState("medium"),[T,A]=v.useState(""),[R,_]=v.useState([]),[D,I]=v.useState(""),[M,j]=v.useState([]),[L,F]=v.useState(""),[H,Y]=v.useState(""),[$,G]=v.useState(!1),[V,X]=v.useState(null),[Q,J]=v.useState(!1),[B,W]=v.useState(""),[K,P]=v.useState(!1),[ce,le]=v.useState(""),[se,te]=v.useState(!1),[oe,ue]=v.useState(!1),{preferences:Te,toggleTaskCreateLayout:Ie}=JZ(),ke=Te.taskCreateLayout==="maximized",tt=v.useRef(null),rt={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"}}};v.useEffect(()=>{e||(f(""),g(""),E("todo"),S("medium"),A(""),_([]),I(""),j([]),F(""),Y(""),X(null),J(!1),W(""),P(!1),le(""),te(!1),ue(!1))},[e]),v.useEffect(()=>{e&&setTimeout(()=>s.current?.focus(),100)},[e,ke]),v.useEffect(()=>{K&&tt.current&&tt.current.focus()},[K]);const ze=v.useCallback(()=>{B.trim()&&(j(q=>[...q,{id:crypto.randomUUID(),text:B.trim()}]),W(""),P(!1))},[B]),dn=v.useCallback(q=>{j(ge=>ge.filter(De=>De.id!==q))},[]),nt=v.useCallback(()=>{ce.trim()&&(R.includes(ce.trim())||_(q=>[...q,ce.trim()]),le(""),te(!1))},[ce,R]),Vn=v.useCallback(q=>{_(ge=>ge.filter(De=>De!==q))},[]),$t=async q=>{if(q.preventDefault(),X(null),!u.trim()){X("Title is required");return}G(!0);try{const ge={title:u.trim(),description:h.trim()||void 0,status:y,priority:w,labels:R,assignee:T.trim()||void 0,parent:D||void 0,acceptanceCriteria:M.map(De=>({text:De.text,completed:!1})),implementationPlan:L.trim()||void 0,implementationNotes:H.trim()||void 0};await ume(ge),J(!0),Os.success("Task created successfully",{description:u.trim()}),setTimeout(()=>{r(),n()},800)}catch(ge){const De=ge instanceof Error?ge.message:"Failed to create task";X(De),Os.error("Failed to create task",{description:De})}finally{G(!1)}},xt=D?t.find(q=>q.id===D):null,re=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:s,type:"text",value:u,onChange:q=>f(q.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.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[m.jsx($e,{variant:"ghost",size:"icon",onClick:Ie,className:"h-8 w-8 text-foreground hover:text-foreground",title:ke?"Minimize":"Maximize",children:ke?m.jsx(sK,{className:"w-4 h-4"}):m.jsx(oK,{className:"w-4 h-4"})}),m.jsx($e,{variant:"ghost",size:"icon",onClick:n,className:"h-8 w-8 text-foreground hover:text-foreground",title:"Close",children:m.jsx(Yo,{className:"w-4 h-4"})})]})]}),de=(Q||V)&&m.jsxs("div",{className:"px-4 pt-4",children:[Q&&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!"}),V&&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:V})]}),ye=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(lK,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Description"})]}),m.jsx(yu,{markdown:h,onChange:g,placeholder:"Add a more detailed description...",readOnly:$})]}),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(gf,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Acceptance Criteria"}),M.length>0&&m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",M.length,")"]})]})}),m.jsx("div",{className:"space-y-2",children:M.map(q=>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:q.text}),m.jsx("button",{type:"button",onClick:()=>dn(q.id),className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500 p-1 transition-all",title:"Delete",children:m.jsx(Wd,{className:"w-4 h-4"})})]},q.id))}),K?m.jsxs("div",{className:"mt-2 bg-muted/50 rounded-lg px-3 py-2",children:[m.jsx("input",{ref:tt,type:"text",value:B,onChange:q=>W(q.target.value),onKeyDown:q=>{q.key==="Enter"&&B.trim()&&(q.preventDefault(),ze()),q.key==="Escape"&&(W(""),P(!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.jsxs("div",{className:"flex gap-2 mt-2",children:[m.jsx($e,{type:"button",size:"sm",onClick:ze,disabled:!B.trim()||$,className:"bg-green-700 hover:bg-green-800 text-white",children:"Add"}),m.jsx($e,{type:"button",variant:"ghost",size:"sm",onClick:()=>{W(""),P(!1)},children:"Cancel"})]})]}):m.jsxs("button",{type:"button",onClick:()=>P(!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:$,children:[m.jsx(Ms,{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(Xo,{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(yu,{markdown:L,onChange:F,placeholder:"Describe how you plan to implement this task...",readOnly:$})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(Cbe,{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(yu,{markdown:H,onChange:Y,placeholder:"Add notes, observations, or any other relevant information...",readOnly:$})]})]}),Me=m.jsxs("div",{className:"p-4 space-y-6",children:[m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(Yi,{value:y,onValueChange:q=>E(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full",Sh(y,c)),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:l.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(Yi,{value:w,onValueChange:q=>S(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full",PY[w]),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:LY.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(cS,{value:T,onChange:A,showGrabButton:!1,currentUser:i,container:a.current})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Labels"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:R.map(q=>m.jsxs(oc,{variant:"secondary",className:"gap-1 pr-1",children:[q,m.jsx("button",{type:"button",onClick:()=>Vn(q),className:"ml-1 hover:text-destructive",children:m.jsx(Yo,{className:"w-3 h-3"})})]},q))}),se?m.jsxs("div",{className:"space-y-2",children:[m.jsx(qr,{value:ce,onChange:q=>le(q.target.value),onKeyDown:q=>{q.key==="Enter"&&ce.trim()&&(q.preventDefault(),nt()),q.key==="Escape"&&(le(""),te(!1))},placeholder:"Label name",disabled:$,autoFocus:!0}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx($e,{size:"sm",onClick:nt,disabled:!ce.trim()||$,children:"Add"}),m.jsx($e,{size:"sm",variant:"ghost",onClick:()=>{le(""),te(!1)},children:"Cancel"})]})]}):m.jsxs($e,{variant:"ghost",size:"sm",className:"w-full justify-start text-muted-foreground",onClick:()=>te(!0),disabled:$,children:[m.jsx(Ms,{className:"w-4 h-4 mr-2"}),"Add label"]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Parent Task"}),m.jsxs(L0,{open:oe,onOpenChange:ue,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"outline",role:"combobox","aria-expanded":oe,className:"w-full justify-between h-auto min-h-10 py-2",disabled:$,title:xt?`#${xt.id} - ${xt.title}`:void 0,children:[xt?m.jsxs("div",{className:"flex items-center gap-2 text-left overflow-hidden min-w-0 flex-1",children:[m.jsx(yh,{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:["#",xt.id]}),m.jsx("p",{className:"truncate text-sm",children:xt.title})]})]}):m.jsx("span",{className:"text-muted-foreground",children:"Select parent task..."}),m.jsx(cE,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),m.jsx(Vh,{className:"w-[400px] p-0",align:"start",children:m.jsxs(Gh,{children:[m.jsx(qh,{placeholder:"Search tasks..."}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:"No task found."}),m.jsxs(el,{children:[m.jsxs(Ko,{value:"none",onSelect:()=>{I(""),ue(!1)},children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(q=>m.jsxs(Ko,{value:`${q.id} ${q.title}`,onSelect:()=>{I(q.id),ue(!1)},title:`#${q.id} - ${q.title}`,children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D===q.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:["#",q.id]}),m.jsx("p",{className:"truncate text-sm",children:q.title})]})]},q.id))]})]})]})})]})]})]}),Fe=m.jsxs("div",{className:"border-t px-6 py-4 bg-muted/30 flex justify-end gap-3",children:[m.jsx($e,{type:"button",variant:"ghost",onClick:n,disabled:$,children:"Cancel"}),m.jsx($e,{type:"button",onClick:$t,className:"bg-green-700 hover:bg-green-800 text-white",disabled:$||Q||!u.trim(),children:$?"Creating...":"Create Task"})]});return ke?m.jsx(mE,{children:e&&m.jsx(OO,{open:e,onOpenChange:q=>!q&&n(),children:m.jsxs(OS,{className:"max-w-6xl w-[95vw] h-[90vh] p-0 gap-0 overflow-hidden flex flex-col",hideCloseButton:!0,children:[m.jsx(MO,{className:"sr-only",children:"Create New Task"}),m.jsxs(vE.div,{ref:a,className:"flex flex-col h-full overflow-hidden",variants:rt,initial:"hidden",animate:"visible",exit:"exit",children:[re,de,m.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[m.jsx(Xi,{className:"flex-1",children:ye}),m.jsx("div",{className:"shrink-0 w-72 border-l bg-muted/20",children:m.jsx(Xi,{className:"h-full",children:Me})})]}),Fe]})]})})}):m.jsx(mE,{children:e&&m.jsx(RO,{open:e,onOpenChange:q=>!q&&n(),children:m.jsx(IS,{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(vE.div,{ref:a,className:"flex flex-col h-full overflow-hidden",variants:rt,initial:"hidden",animate:"visible",exit:"exit",children:[re,de,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(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(Yi,{value:y,onValueChange:q=>E(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full h-9",Sh(y,c)),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:l.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(Yi,{value:w,onValueChange:q=>S(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full h-9",PY[w]),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:LY.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(cS,{value:T,onChange:A,showGrabButton:!1,currentUser:i,container:a.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(rr,{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:[R.map(q=>m.jsxs(oc,{variant:"secondary",className:"gap-1 pr-1 text-xs",children:[q,m.jsx("button",{type:"button",onClick:()=>Vn(q),className:"ml-0.5 hover:text-destructive",children:m.jsx(Yo,{className:"w-3 h-3"})})]},q)),!se&&m.jsxs($e,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs text-muted-foreground",onClick:()=>te(!0),children:[m.jsx(Ms,{className:"w-3 h-3 mr-1"}),"Add"]})]}),se&&m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(qr,{value:ce,onChange:q=>le(q.target.value),onKeyDown:q=>{q.key==="Enter"&&ce.trim()&&nt(),q.key==="Escape"&&(le(""),te(!1))},placeholder:"Label",className:"h-7 w-24 text-xs",autoFocus:!0}),m.jsx($e,{size:"sm",className:"h-7 px-2",onClick:nt,disabled:!ce.trim(),children:"Add"}),m.jsx($e,{size:"sm",variant:"ghost",className:"h-7 px-2",onClick:()=>{le(""),te(!1)},children:m.jsx(Yo,{className:"w-3 h-3"})})]})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Parent:"}),m.jsxs(L0,{open:oe,onOpenChange:ue,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"outline",role:"combobox",size:"sm",className:"h-7 justify-between min-w-[120px] max-w-[250px]",disabled:$,title:xt?`#${xt.id} - ${xt.title}`:void 0,children:[xt?m.jsxs("span",{className:"truncate text-xs",children:["#",xt.id," - ",xt.title]}):m.jsx("span",{className:"text-muted-foreground text-xs",children:"None"}),m.jsx(cE,{className:"ml-1 h-3 w-3 shrink-0 opacity-50"})]})}),m.jsx(Vh,{className:"w-[400px] p-0",align:"end",children:m.jsxs(Gh,{children:[m.jsx(qh,{placeholder:"Search tasks..."}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:"No task found."}),m.jsxs(el,{children:[m.jsxs(Ko,{value:"none",onSelect:()=>{I(""),ue(!1)},children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(q=>m.jsxs(Ko,{value:`${q.id} ${q.title}`,onSelect:()=>{I(q.id),ue(!1)},title:`#${q.id} - ${q.title}`,children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D===q.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:["#",q.id]}),m.jsx("p",{className:"truncate text-sm",children:q.title})]})]},q.id))]})]})]})})]})]})]})]})}),m.jsx(Xi,{className:"flex-1",children:ye})]}),Fe]})})})})}const Bdt="/assets/logo-BkDQ9x4a.png",jdt="sidebar_state",$dt=3600*24*7,Udt="16rem",Hdt="18rem",zdt="3rem",Vdt="b",dfe=v.createContext(null);function t1(){const e=v.useContext(dfe);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const ffe=v.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:o,...s},a)=>{const l=BT(),[c,u]=v.useState(!1),[f,h]=v.useState(e),g=t??f,y=v.useCallback(T=>{const A=typeof T=="function"?T(g):T;n?n(A):h(A),document.cookie=`${jdt}=${A}; path=/; max-age=${$dt}`},[n,g]),E=v.useCallback(()=>l?u(T=>!T):y(T=>!T),[l,y,u]);v.useEffect(()=>{const T=A=>{A.key===Vdt&&(A.metaKey||A.ctrlKey)&&(A.preventDefault(),E())};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[E]);const w=g?"expanded":"collapsed",S=v.useMemo(()=>({state:w,open:g,setOpen:y,isMobile:l,openMobile:c,setOpenMobile:u,toggleSidebar:E}),[w,g,y,l,c,u,E]);return m.jsx(dfe.Provider,{value:S,children:m.jsx(ode,{delayDuration:0,children:m.jsx("div",{style:{"--sidebar-width":Udt,"--sidebar-width-icon":zdt,...i},className:we("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:a,...s,children:o})})})});ffe.displayName="SidebarProvider";const pfe=v.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:i,...o},s)=>{const{isMobile:a,state:l,openMobile:c,setOpenMobile:u}=t1();return n==="none"?m.jsx("div",{className:we("flex h-full w-[var(--sidebar-width)] flex-col bg-sidebar text-sidebar-foreground",r),ref:s,...o,children:i}):a?m.jsx(RO,{open:c,onOpenChange:u,...o,children:m.jsxs(IS,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[var(--sidebar-width)] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Hdt},side:e,children:[m.jsxs(DO,{className:"sr-only",children:[m.jsx(IO,{children:"Sidebar"}),m.jsx(IZ,{children:"Displays the mobile sidebar."})]}),m.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):m.jsxs("div",{ref:s,className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":l==="collapsed"?n:"","data-variant":t,"data-side":e,children:[m.jsx("div",{className:we("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:we("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:i})})]})});pfe.displayName="Sidebar";const hfe=v.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:i}=t1();return m.jsxs($e,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:we("h-7 w-7",e),onClick:o=>{t?.(o),i()},...n,children:[m.jsx(cbe,{}),m.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});hfe.displayName="SidebarTrigger";const mfe=v.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=t1();return m.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:we("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})});mfe.displayName="SidebarRail";const Gdt=v.forwardRef(({className:e,...t},n)=>m.jsx("main",{ref:n,className:we("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}));Gdt.displayName="SidebarInset";const qdt=v.forwardRef(({className:e,...t},n)=>m.jsx(qr,{ref:n,"data-sidebar":"input",className:we("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));qdt.displayName="SidebarInput";const gfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"header",className:we("flex flex-col gap-2 p-2",e),...t}));gfe.displayName="SidebarHeader";const bfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"footer",className:we("flex flex-col gap-2 p-2",e),...t}));bfe.displayName="SidebarFooter";const Wdt=v.forwardRef(({className:e,...t},n)=>m.jsx(j0,{ref:n,"data-sidebar":"separator",className:we("mx-2 w-auto bg-sidebar-border",e),...t}));Wdt.displayName="SidebarSeparator";const yfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"content",className:we("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));yfe.displayName="SidebarContent";const vfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group",className:we("relative flex w-full min-w-0 flex-col p-2",e),...t}));vfe.displayName="SidebarGroup";const xfe=v.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?Hu:"div";return m.jsx(i,{ref:r,"data-sidebar":"group-label",className:we("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})});xfe.displayName="SidebarGroupLabel";const Ydt=v.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?Hu:"button";return m.jsx(i,{ref:r,"data-sidebar":"group-action",className:we("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})});Ydt.displayName="SidebarGroupAction";const Efe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group-content",className:we("w-full text-sm",e),...t}));Efe.displayName="SidebarGroupContent";const oE=v.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu",className:we("flex w-full min-w-0 flex-col gap-1",e),...t}));oE.displayName="SidebarMenu";const sE=v.forwardRef(({className:e,...t},n)=>m.jsx("li",{ref:n,"data-sidebar":"menu-item",className:we("group/menu-item relative",e),...t}));sE.displayName="SidebarMenuItem";const Kdt=cc("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"}}),aE=v.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:i,className:o,...s},a)=>{const l=e?Hu:"button",{isMobile:c,state:u}=t1(),f=m.jsx(l,{ref:a,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:we(Kdt({variant:n,size:r}),o),...s});return i?(typeof i=="string"&&(i={children:i}),m.jsxs(sde,{children:[m.jsx(ade,{asChild:!0,children:f}),m.jsx(WF,{side:"right",align:"center",hidden:u!=="collapsed"||c,...i})]})):f});aE.displayName="SidebarMenuButton";const Xdt=v.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>{const o=t?Hu:"button";return m.jsx(o,{ref:i,"data-sidebar":"menu-action",className:we("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})});Xdt.displayName="SidebarMenuAction";const Zdt=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:we("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}));Zdt.displayName="SidebarMenuBadge";const Qdt=v.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const i=v.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return m.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:we("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&m.jsx(FW,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),m.jsx(FW,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});Qdt.displayName="SidebarMenuSkeleton";const Jdt=v.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:we("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}));Jdt.displayName="SidebarMenuSub";const eft=v.forwardRef(({...e},t)=>m.jsx("li",{ref:t,...e}));eft.displayName="SidebarMenuSubItem";const tft=v.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...i},o)=>{const s=e?Hu:"a";return m.jsx(s,{ref:o,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:we("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),...i})});tft.displayName="SidebarMenuSubButton";const nft=[{id:"kanban",label:"Kanban",icon:Kge,href:"#/"},{id:"tasks",label:"Tasks",icon:rK,href:"#/tasks"},{id:"docs",label:"Docs",icon:Xo,href:"#/docs"}];function rft({currentPage:e,onSearchClick:t}){const{state:n}=t1(),r=BT(),i=n==="expanded";return m.jsxs(pfe,{collapsible:"icon",variant:r?"floating":"sidebar",children:[m.jsxs(gfe,{children:[m.jsx(oE,{children:m.jsx(sE,{children:m.jsx(aE,{size:"lg",asChild:!0,children:m.jsxs("a",{href:"#/",children:[m.jsx("img",{src:Bdt,alt:"Knowns",className:"size-8 rounded-lg object-contain"}),m.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[m.jsx("span",{className:"truncate font-semibold",children:"Knowns"}),m.jsx("span",{className:"truncate text-xs",children:"AI-ready task management"})]})]})})})}),i&&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(ES,{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(yfe,{children:m.jsxs(vfe,{children:[m.jsx(xfe,{children:"Navigation"}),m.jsx(Efe,{children:m.jsx(oE,{children:nft.map(o=>{const s=e===o.id;return m.jsx(sE,{children:m.jsx(aE,{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(bfe,{children:[m.jsx(oE,{children:m.jsx(sE,{children:m.jsx(aE,{asChild:!0,isActive:e==="config",tooltip:"Settings",children:m.jsxs("a",{href:"#/config",children:[m.jsx(zI,{}),m.jsx("span",{children:"Settings"})]})})})}),i&&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.8.8"})]})})]}),m.jsx(mfe,{})]})}const ift=[{value:"all",label:"All"},{value:"status",label:"Status"},{value:"assignee",label:"Assignee"},{value:"content",label:"Content"}];function oft(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 sft(e){const n=new Date().getTime()-e.getTime(),r=Math.floor(n/6e4),i=Math.floor(n/36e5),o=Math.floor(n/864e5);return r<1?"just now":r<60?`${r}m ago`:i<24?`${i}h ago`:o<7?`${o}d ago`:e.toLocaleDateString()}function aft(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 lft({limit:e=20,showFilter:t=!0,onTaskClick:n}){const[r,i]=v.useState([]),[o,s]=v.useState(!0),[a,l]=v.useState("all"),[c,u]=v.useState(!1),f=v.useCallback(async()=>{try{const y=a==="all"?void 0:a,E=await da.getActivities({limit:e,type:y});i(E)}catch(y){console.error("Failed to load activities:",y)}finally{s(!1),u(!1)}},[e,a]);v.useEffect(()=>{f()},[f]),xu("tasks:updated",()=>{f()},[f]);const h=()=>{u(!0),f()},g=y=>{n?n(y):window.location.hash=`/kanban/${y}`};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(S9,{className:"w-5 h-5"}),m.jsx("h3",{className:"font-semibold",children:"Recent Activity"})]}),m.jsx($e,{variant:"ghost",size:"icon",onClick:h,disabled:c,className:"h-8 w-8",children:m.jsx(HI,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]}),t&&m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(UI,{className:"w-4 h-4 text-muted-foreground"}),m.jsx("select",{value:a,onChange:y=>l(y.target.value),className:"text-sm rounded px-2 py-1 bg-card border flex-1",children:ift.map(y=>m.jsx("option",{value:y.value,children:y.label},y.value))})]}),m.jsx(Xi,{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((y,E)=>m.jsx("div",{role:"button",tabIndex:0,onClick:w=>{w.preventDefault(),w.stopPropagation(),g(y.taskId)},onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(y.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:[y.author?m.jsx($0,{name:y.author,size:"xs"}):m.jsx("div",{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 ${aft(y.changes)}`,children:m.jsx(S9,{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:oft(y)}),m.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0",children:sft(y.timestamp)})]}),m.jsxs("div",{className:"text-[11px] text-muted-foreground truncate",children:[m.jsxs("span",{className:"font-medium",children:["#",y.taskId]})," ",y.taskTitle]})]})]})},`${y.taskId}-${y.version}-${E}`))})})]})}function cft(){const[e,t]=v.useState(!1),[n,r]=v.useState(!1),[i,o]=v.useState(()=>{const l=localStorage.getItem("knowns-last-activity-check");return l?new Date(l):new Date}),s=v.useCallback(async()=>{try{const l=await da.getActivities({limit:1});l.length>0&&new Date(l[0].timestamp)>i&&t(!0)}catch(l){console.error("Failed to check activities:",l)}},[i]);v.useEffect(()=>{s()},[s]),xu("tasks:updated",()=>{n||t(!0)},[n]);const a=l=>{if(r(l),l){t(!1);const c=new Date;o(c),localStorage.setItem("knowns-last-activity-check",c.toISOString())}};return m.jsxs(L0,{open:n,onOpenChange:a,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"ghost",size:"icon",className:"relative h-8 w-8","aria-label":"Notifications",children:[m.jsx(oge,{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(Vh,{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(lft,{limit:20,showFilter:!1,onTaskClick:l=>{r(!1),window.location.hash=`/kanban/${l}`}})})]})})]})}const FY={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"},uft={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function dft({open:e,onOpenChange:t,onTaskSelect:n,onDocSelect:r}){const[i,o]=v.useState(""),[s,a]=v.useState({tasks:[],docs:[]}),[l,c]=v.useState(!1);v.useEffect(()=>{if(!e){o(""),a({tasks:[],docs:[]});return}if(!i.trim()){a({tasks:[],docs:[]});return}c(!0);const h=setTimeout(()=>{fetch(`/api/search?q=${encodeURIComponent(i)}`).then(g=>g.json()).then(g=>{a({tasks:g.tasks||[],docs:g.docs||[]})}).catch(g=>{console.error("Search failed:",g),a({tasks:[],docs:[]})}).finally(()=>{c(!1)})},300);return()=>clearTimeout(h)},[i,e]);const u=h=>{n(h),t(!1),o("")},f=h=>{r(h),t(!1),o("")};return m.jsx(OO,{open:e,onOpenChange:t,children:m.jsx(OS,{className:"overflow-hidden p-0 max-w-2xl",hideClose:!0,children:m.jsxs(Gh,{shouldFilter:!1,children:[m.jsx(qh,{placeholder:"Search tasks and docs...",value:i,onValueChange:o}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:l?"Searching...":i?"No results found.":"Type to search..."}),s.tasks.length>0&&m.jsx(el,{heading:"Tasks",children:s.tasks.slice(0,8).map(h=>{const g=FY[h.status]||FY.todo,y=uft[h.status]||h.status;return m.jsxs(Ko,{value:`task-${h.id}`,onSelect:()=>u(h),children:[m.jsx(rK,{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:["#",h.id]}),m.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${g}`,children:y})]}),m.jsx("div",{className:"font-medium truncate",children:h.title})]})]},h.id)})}),s.tasks.length>0&&s.docs.length>0&&m.jsx(sS,{}),s.docs.length>0&&m.jsx(el,{heading:"Documentation",children:s.docs.slice(0,8).map(h=>{const g=h.metadata?.title||h.filename;return m.jsxs(Ko,{value:`doc-${h.path}`,onSelect:()=>f(h),children:[m.jsx(Xo,{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:g}),m.jsx("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:m.jsx("span",{className:"truncate",children:h.path})})]})]},h.path)})})]})]})})})}const wfe={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 fft(e,t){const n=wfe[t];if(!n)return e;const r=e.indexOf(n.begin),i=e.indexOf(n.end);return r===-1||i===-1?e:e.substring(r+n.begin.length,i).trim()}function pft(e,t){const n=wfe[t];return n?e.includes(n.begin)&&e.includes(n.end):!1}function hft(e){return e.replace(/<!--[\s\S]*?-->/g,"")}function mft(e,t){return e?t&&pft(e,t)?fft(e,t):e:""}const gft="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",bft="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",yft=v.forwardRef(({markdown:e,className:t="",sectionType:n,enableGFM:r=!0,onDocLinkClick:i},o)=>{if(!e)return null;const s=hft(mft(e,n)),a=({href:l,children:c})=>{if(l&&/^(task-)?\d+(\.\d+)?(\.md)?$/.test(l)){const u=l.replace(/^task-/,"").replace(/\.md$/,""),f=`#/tasks/${u}`;return m.jsxs("a",{href:f,className:gft,"data-task-id":u,children:[m.jsx(gf,{className:"w-4 h-4 shrink-0"}),c]})}if(l&&(l.endsWith(".md")||l.includes(".md#"))){const u=l.replace(/^\.\//,""),f=`#/docs/${u}`;return m.jsxs("a",{href:f,className:bft,"data-doc-path":u,onClick:h=>{i&&(h.preventDefault(),i(u))},children:[m.jsx(Xo,{className:"w-4 h-4 shrink-0"}),c]})}return m.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:text-blue-600 underline",children:c})};return m.jsx("div",{ref:o,className:`prose prose-sm max-w-none dark:prose-invert ${t}`,children:m.jsx(nee,{remarkPlugins:r?[gC]:[],components:{a,code:({className:l,children:c,...u})=>l?m.jsx("code",{className:l,...u,children:c}):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",...u,children:c}),pre:({children:l})=>m.jsx("pre",{className:"overflow-x-auto rounded-lg p-4 text-sm bg-gray-100 dark:bg-gray-900",children:l}),table:({children:l})=>m.jsx("div",{className:"overflow-x-auto my-4",children:m.jsx("table",{className:"min-w-full border-collapse",children:l})}),th:({children:l})=>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:l}),td:({children:l})=>m.jsx("td",{className:"px-4 py-2 border border-gray-200 text-gray-700 dark:border-gray-600 dark:text-gray-200",children:l}),input:({type:l,checked:c,...u})=>l==="checkbox"?m.jsx("input",{type:"checkbox",checked:c,readOnly:!0,className:"mr-2 accent-blue-600",...u}):m.jsx("input",{type:l,...u})},children:s})})});yft.displayName="MarkdownRenderer";function pu(e,t){return typeof e=="function"?e(t):e}function rs(e,t){return n=>{t.setState(r=>({...r,[e]:pu(n,r[e])}))}}function jT(e){return e instanceof Function}function vft(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function xft(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const s=t(o);s!=null&&s.length&&r(s)})};return r(e),n}function ut(e,t,n){let r=[],i;return o=>{let s;n.key&&n.debug&&(s=Date.now());const a=e(o);if(!(a.length!==r.length||a.some((u,f)=>r[f]!==u)))return i;r=a;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...a),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const u=Math.round((Date.now()-s)*100)/100,f=Math.round((Date.now()-c)*100)/100,h=f/16,g=(y,E)=>{for(y=String(y);y.length<E;)y=" "+y;return y};console.info(`%c⏱ ${g(f,5)} /${g(u,5)} ms`,`
314
+ `},Gct={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 qct(e){let{announcements:t=Gct,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Vct}=e;const{announce:o,announcement:s}=Uct(),a=Jy("DndLiveRegion"),[l,c]=v.useState(!1);if(v.useEffect(()=>{c(!0)},[]),Hct(v.useMemo(()=>({onDragStart(f){let{active:h}=f;o(t.onDragStart({active:h}))},onDragMove(f){let{active:h,over:g}=f;t.onDragMove&&o(t.onDragMove({active:h,over:g}))},onDragOver(f){let{active:h,over:g}=f;o(t.onDragOver({active:h,over:g}))},onDragEnd(f){let{active:h,over:g}=f;o(t.onDragEnd({active:h,over:g}))},onDragCancel(f){let{active:h,over:g}=f;o(t.onDragCancel({active:h,over:g}))}}),[o,t])),!l)return null;const u=pe.createElement(pe.Fragment,null,pe.createElement(jct,{id:r,value:i.draggable}),pe.createElement($ct,{id:a,announcement:s}));return n?Wr.createPortal(u,n):u}var Vr;(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"})(Vr||(Vr={}));function yS(){}function R_(e,t){return v.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function Wct(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Ca=Object.freeze({x:0,y:0});function aB(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Yct(e,t){const n=bS(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 lB(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Kct(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function _I(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Xct(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function mY(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 Zct=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=mY(t,t.left,t.top),o=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=aB(mY(l),i);o.push({id:a,data:{droppableContainer:s,value:c}})}}return o.sort(lB)},gY=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=_I(t),o=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=_I(l),u=i.reduce((h,g,y)=>h+aB(c[y],g),0),f=Number((u/4).toFixed(4));o.push({id:a,data:{droppableContainer:s,value:f}})}}return o.sort(lB)};function Qct(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r<i&&n<o){const l=t.width*t.height,c=e.width*e.height,u=s*a,f=u/(l+c-u);return Number(f.toFixed(4))}return 0}const Bde=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=Qct(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(Kct)};function Jct(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const eut=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&Jct(r,a)){const c=_I(a).reduce((f,h)=>f+aB(r,h),0),u=Number((c/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:u}})}}return i.sort(lB)};function tut(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function jde(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ca}function nut(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return i.reduce((s,a)=>({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const rut=nut(1);function $de(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 iut(e,t,n){const r=$de(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),c=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),u=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:u,height:f,top:c,right:l+u,bottom:c+f,left:l}}const out={ignoreTransform:!1};function Lm(e,t){t===void 0&&(t=out);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:u}=oo(e).getComputedStyle(e);c&&(n=iut(n,c,u))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function bY(e){return Lm(e,{ignoreTransform:!0})}function sut(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function aut(e,t){return t===void 0&&(t=oo(e).getComputedStyle(e)),t.position==="fixed"}function lut(e,t){t===void 0&&(t=oo(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function cB(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(sB(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Zy(i)||Lde(i)||n.includes(i))return n;const o=oo(e).getComputedStyle(i);return i!==e&&lut(i,o)&&n.push(i),aut(i,o)?n:r(i.parentNode)}return e?r(e):n}function Ude(e){const[t]=cB(e,1);return t??null}function D_(e){return!OT||!e?null:Om(e)?e:oB(e)?sB(e)||e===Mm(e).scrollingElement?window:Zy(e)?e:null:null}function Hde(e){return Om(e)?e.scrollX:e.scrollLeft}function zde(e){return Om(e)?e.scrollY:e.scrollTop}function RI(e){return{x:Hde(e),y:zde(e)}}var ni;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(ni||(ni={}));function Vde(e){return!OT||!e?!1:e===document.scrollingElement}function Gde(e){const t={x:0,y:0},n=Vde(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const cut={x:.2,y:.2};function uut(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=cut);const{isTop:c,isBottom:u,isLeft:f,isRight:h}=Gde(e),g={x:0,y:0},y={x:0,y:0},E={height:t.height*i.y,width:t.width*i.x};return!c&&o<=t.top+E.height?(g.y=ni.Backward,y.y=r*Math.abs((t.top+E.height-o)/E.height)):!u&&l>=t.bottom-E.height&&(g.y=ni.Forward,y.y=r*Math.abs((t.bottom-E.height-l)/E.height)),!h&&a>=t.right-E.width?(g.x=ni.Forward,y.x=r*Math.abs((t.right-E.width-a)/E.width)):!f&&s<=t.left+E.width&&(g.x=ni.Backward,y.x=r*Math.abs((t.left+E.width-s)/E.width)),{direction:g,speed:y}}function dut(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:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function qde(e){return e.reduce((t,n)=>bh(t,RI(n)),Ca)}function fut(e){return e.reduce((t,n)=>t+Hde(n),0)}function put(e){return e.reduce((t,n)=>t+zde(n),0)}function Wde(e,t){if(t===void 0&&(t=Lm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Ude(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const hut=[["x",["left","right"],fut],["y",["top","bottom"],put]];class uB{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=cB(n),i=qde(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of hut)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=a(r),u=i[o]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Pb{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 i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function mut(e){const{EventTarget:t}=oo(e);return e instanceof t?e:Mm(e)}function I_(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 Ts;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ts||(Ts={}));function yY(e){e.preventDefault()}function gut(e){e.stopPropagation()}var bn;(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"})(bn||(bn={}));const Yde={start:[bn.Space,bn.Enter],cancel:[bn.Esc],end:[bn.Space,bn.Enter,bn.Tab]},but=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case bn.Right:return{...n,x:n.x+25};case bn.Left:return{...n,x:n.x-25};case bn.Down:return{...n,y:n.y+25};case bn.Up:return{...n,y:n.y-25}}};class dB{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 Pb(Mm(n)),this.windowListeners=new Pb(oo(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ts.Resize,this.handleCancel),this.windowListeners.add(Ts.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ts.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&Wde(r),n(Ca)}handleKeyDown(t){if(LT(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=Yde,coordinateGetter:s=but,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Ca;this.referenceCoordinates||(this.referenceCoordinates=u);const f=s(t,{active:n,context:r.current,currentCoordinates:u});if(f){const h=gS(f,u),g={x:0,y:0},{scrollableAncestors:y}=r.current;for(const E of y){const w=t.code,{isTop:S,isRight:T,isLeft:A,isBottom:R,maxScroll:_,minScroll:D}=Gde(E),I=dut(E),M={x:Math.min(w===bn.Right?I.right-I.width/2:I.right,Math.max(w===bn.Right?I.left:I.left+I.width/2,f.x)),y:Math.min(w===bn.Down?I.bottom-I.height/2:I.bottom,Math.max(w===bn.Down?I.top:I.top+I.height/2,f.y))},j=w===bn.Right&&!T||w===bn.Left&&!A,L=w===bn.Down&&!R||w===bn.Up&&!S;if(j&&M.x!==f.x){const F=E.scrollLeft+h.x,H=w===bn.Right&&F<=_.x||w===bn.Left&&F>=D.x;if(H&&!h.y){E.scrollTo({left:F,behavior:a});return}H?g.x=E.scrollLeft-F:g.x=w===bn.Right?E.scrollLeft-_.x:E.scrollLeft-D.x,g.x&&E.scrollBy({left:-g.x,behavior:a});break}else if(L&&M.y!==f.y){const F=E.scrollTop+h.y,H=w===bn.Down&&F<=_.y||w===bn.Up&&F>=D.y;if(H&&!h.x){E.scrollTo({top:F,behavior:a});return}H?g.y=E.scrollTop-F:g.y=w===bn.Down?E.scrollTop-_.y:E.scrollTop-D.y,g.y&&E.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,bh(gS(f,this.referenceCoordinates),g))}}}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()}}dB.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Yde,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function vY(e){return!!(e&&"distance"in e)}function xY(e){return!!(e&&"delay"in e)}class fB{constructor(t,n,r){var i;r===void 0&&(r=mut(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=Mm(s),this.documentListeners=new Pb(this.document),this.listeners=new Pb(r),this.windowListeners=new Pb(oo(s)),this.initialCoordinates=(i=bS(o))!=null?i:Ca,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(Ts.Resize,this.handleCancel),this.windowListeners.add(Ts.DragStart,yY),this.windowListeners.add(Ts.VisibilityChange,this.handleCancel),this.windowListeners.add(Ts.ContextMenu,yY),this.documentListeners.add(Ts.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(xY(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(vY(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:i}=this.props;i(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ts.Click,gut,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ts.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=bS(t))!=null?n:Ca,c=gS(i,l);if(!r&&a){if(vY(a)){if(a.tolerance!=null&&I_(c,a.tolerance))return this.handleCancel();if(I_(c,a.distance))return this.handleStart()}if(xY(a)&&I_(c,a.tolerance))return this.handleCancel();this.handlePending(a,c);return}t.cancelable&&t.preventDefault(),s(l)}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===bn.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const yut={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Kde extends fB{constructor(t){const{event:n}=t,r=Mm(n.target);super(t,yut,r)}}Kde.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 vut={move:{name:"mousemove"},end:{name:"mouseup"}};var DI;(function(e){e[e.RightClick=2]="RightClick"})(DI||(DI={}));class Xde extends fB{constructor(t){super(t,vut,Mm(t.event.target))}}Xde.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===DI.RightClick?!1:(r?.({event:n}),!0)}}];const O_={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Zde extends fB{constructor(t){super(t,O_)}static setup(){return window.addEventListener(O_.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(O_.move.name,t)};function t(){}}}Zde.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Fb;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Fb||(Fb={}));var vS;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(vS||(vS={}));function xut(e){let{acceleration:t,activator:n=Fb.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=vS.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:h}=e;const g=wut({delta:f,disabled:!o}),[y,E]=Mct(),w=v.useRef({x:0,y:0}),S=v.useRef({x:0,y:0}),T=v.useMemo(()=>{switch(n){case Fb.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Fb.DraggableRect:return i}},[n,i,l]),A=v.useRef(null),R=v.useCallback(()=>{const D=A.current;if(!D)return;const I=w.current.x*S.current.x,M=w.current.y*S.current.y;D.scrollBy(I,M)},[]),_=v.useMemo(()=>a===vS.TreeOrder?[...c].reverse():c,[a,c]);v.useEffect(()=>{if(!o||!c.length||!T){E();return}for(const D of _){if(r?.(D)===!1)continue;const I=c.indexOf(D),M=u[I];if(!M)continue;const{direction:j,speed:L}=uut(D,M,T,t,h);for(const F of["x","y"])g[F][j[F]]||(L[F]=0,j[F]=0);if(L.x>0||L.y>0){E(),A.current=D,y(R,s),w.current=L,S.current=j;return}}w.current={x:0,y:0},S.current={x:0,y:0},E()},[t,R,r,E,o,s,JSON.stringify(T),JSON.stringify(g),y,c,_,u,JSON.stringify(h)])}const Eut={x:{[ni.Backward]:!1,[ni.Forward]:!1},y:{[ni.Backward]:!1,[ni.Forward]:!1}};function wut(e){let{delta:t,disabled:n}=e;const r=mS(t);return Qy(i=>{if(n||!r||!i)return Eut;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[ni.Backward]:i.x[ni.Backward]||o.x===-1,[ni.Forward]:i.x[ni.Forward]||o.x===1},y:{[ni.Backward]:i.y[ni.Backward]||o.y===-1,[ni.Forward]:i.y[ni.Forward]||o.y===1}}},[n,t,r])}function Sut(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return Qy(i=>{var o;return t==null?null:(o=r??i)!=null?o:null},[r,t])}function Cut(e,t){return v.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var V0;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(V0||(V0={}));var II;(function(e){e.Optimized="optimized"})(II||(II={}));const EY=new Map;function Tut(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=v.useState(null),{frequency:a,measure:l,strategy:c}=i,u=v.useRef(e),f=w(),h=z0(f),g=v.useCallback(function(S){S===void 0&&(S=[]),!h.current&&s(T=>T===null?S:T.concat(S.filter(A=>!T.includes(A))))},[h]),y=v.useRef(null),E=Qy(S=>{if(f&&!n)return EY;if(!S||S===EY||u.current!==e||o!=null){const T=new Map;for(let A of e){if(!A)continue;if(o&&o.length>0&&!o.includes(A.id)&&A.rect.current){T.set(A.id,A.rect.current);continue}const R=A.node.current,_=R?new uB(l(R),R):null;A.rect.current=_,_&&T.set(A.id,_)}return T}return S},[e,o,n,f,l]);return v.useEffect(()=>{u.current=e},[e]),v.useEffect(()=>{f||g()},[n,f]),v.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),v.useEffect(()=>{f||typeof a!="number"||y.current!==null||(y.current=setTimeout(()=>{g(),y.current=null},a))},[a,f,g,...r]),{droppableRects:E,measureDroppableContainers:g,measuringScheduled:o!=null};function w(){switch(c){case V0.Always:return!1;case V0.BeforeDragging:return n;default:return!n}}}function pB(e,t){return Qy(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function kut(e,t){return pB(e,t)}function Aut(e){let{callback:t,disabled:n}=e;const r=MT(t),i=v.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return v.useEffect(()=>()=>i?.disconnect(),[i]),i}function PT(e){let{callback:t,disabled:n}=e;const r=MT(t),i=v.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return v.useEffect(()=>()=>i?.disconnect(),[i]),i}function Nut(e){return new uB(Lm(e),e)}function wY(e,t,n){t===void 0&&(t=Nut);const[r,i]=v.useState(null);function o(){i(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=t(e);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=Aut({callback(l){if(e)for(const c of l){const{type:u,target:f}=c;if(u==="childList"&&f instanceof HTMLElement&&f.contains(e)){o();break}}}}),a=PT({callback:o});return Sa(()=>{o(),e?(a?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(a?.disconnect(),s?.disconnect())},[e]),r}function _ut(e){const t=pB(e);return jde(e,t)}const SY=[];function Rut(e){const t=v.useRef(e),n=Qy(r=>e?r&&r!==SY&&e&&t.current&&e.parentNode===t.current.parentNode?r:cB(e):SY,[e]);return v.useEffect(()=>{t.current=e},[e]),n}function Dut(e){const[t,n]=v.useState(null),r=v.useRef(e),i=v.useCallback(o=>{const s=D_(o.target);s&&n(a=>a?(a.set(s,RI(s)),new Map(a)):null)},[]);return v.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const c=D_(l);return c?(c.addEventListener("scroll",i,{passive:!0}),[c,RI(c)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const c=D_(l);c?.removeEventListener("scroll",i)})}},[i,e]),v.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>bh(o,s),Ca):qde(e):Ca,[e,t])}function CY(e,t){t===void 0&&(t=[]);const n=v.useRef(null);return v.useEffect(()=>{n.current=null},t),v.useEffect(()=>{const r=e!==Ca;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?gS(e,n.current):Ca}function Iut(e){v.useEffect(()=>{if(!OT)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 Out(e,t){return v.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function Qde(e){return v.useMemo(()=>e?sut(e):null,[e])}const TY=[];function Mut(e,t){t===void 0&&(t=Lm);const[n]=e,r=Qde(n?oo(n):null),[i,o]=v.useState(TY);function s(){o(()=>e.length?e.map(l=>Vde(l)?r:new uB(t(l),l)):TY)}const a=PT({callback:s});return Sa(()=>{a?.disconnect(),s(),e.forEach(l=>a?.observe(l))},[e]),i}function Jde(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Zy(t)?t:e}function Lut(e){let{measure:t}=e;const[n,r]=v.useState(null),i=v.useCallback(c=>{for(const{target:u}of c)if(Zy(u)){r(f=>{const h=t(u);return f?{...f,width:h.width,height:h.height}:h});break}},[t]),o=PT({callback:i}),s=v.useCallback(c=>{const u=Jde(c);o?.disconnect(),u&&o?.observe(u),r(u?t(u):null)},[t,o]),[a,l]=hS(s);return v.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const Put=[{sensor:Kde,options:{}},{sensor:dB,options:{}}],Fut={current:{}},iE={draggable:{measure:bY},droppable:{measure:bY,strategy:V0.WhileDragging,frequency:II.Optimized},dragOverlay:{measure:Lm}};class Bb 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 But={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Bb,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:yS},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:iE,measureDroppableContainers:yS,windowRect:null,measuringScheduled:!1},efe={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:yS,draggableNodes:new Map,over:null,measureDroppableContainers:yS},e1=v.createContext(efe),tfe=v.createContext(But);function jut(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Bb}}}function $ut(e,t){switch(t.type){case Vr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Vr.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 Vr.DragEnd:case Vr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Vr.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Bb(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Vr.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Bb(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case Vr.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Bb(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Uut(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=v.useContext(e1),o=mS(r),s=mS(n?.id);return v.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!LT(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:c}=a;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const f=Fct(u);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function nfe(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function Hut(e){return v.useMemo(()=>({draggable:{...iE.draggable,...e?.draggable},droppable:{...iE.droppable,...e?.droppable},dragOverlay:{...iE.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function zut(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=v.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Sa(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const c=t?.node.current;if(!c||c.isConnected===!1)return;const u=n(c),f=jde(u,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const h=Ude(c);h&&h.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const FT=v.createContext({...Ca,scaleX:1,scaleY:1});var Qc;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Qc||(Qc={}));const Vut=v.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:c,sensors:u=Put,collisionDetection:f=Bde,measuring:h,modifiers:g,...y}=t;const E=v.useReducer($ut,void 0,jut),[w,S]=E,[T,A]=zct(),[R,_]=v.useState(Qc.Uninitialized),D=R===Qc.Initialized,{draggable:{active:I,nodes:M,translate:j},droppable:{containers:L}}=w,F=I!=null?M.get(I):null,H=v.useRef({initial:null,translated:null}),Y=v.useMemo(()=>{var en;return I!=null?{id:I,data:(en=F?.data)!=null?en:Fut,rect:H}:null},[I,F]),$=v.useRef(null),[G,V]=v.useState(null),[X,Q]=v.useState(null),J=z0(y,Object.values(y)),B=Jy("DndDescribedBy",s),W=v.useMemo(()=>L.getEnabled(),[L]),K=Hut(h),{droppableRects:P,measureDroppableContainers:ce,measuringScheduled:le}=Tut(W,{dragging:D,dependencies:[j.x,j.y],config:K.droppable}),se=Sut(M,I),te=v.useMemo(()=>X?bS(X):null,[X]),oe=di(),ue=kut(se,K.draggable.measure);zut({activeNode:I!=null?M.get(I):null,config:oe.layoutShiftCompensation,initialRect:ue,measure:K.draggable.measure});const Te=wY(se,K.draggable.measure,ue),Ie=wY(se?se.parentElement:null),ke=v.useRef({activatorEvent:null,active:null,activeNode:se,collisionRect:null,collisions:null,droppableRects:P,draggableNodes:M,draggingNode:null,draggingNodeRect:null,droppableContainers:L,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),tt=L.getNodeFor((n=ke.current.over)==null?void 0:n.id),rt=Lut({measure:K.dragOverlay.measure}),ze=(r=rt.nodeRef.current)!=null?r:se,dn=D?(i=rt.rect)!=null?i:Te:null,nt=!!(rt.nodeRef.current&&rt.rect),Vn=_ut(nt?null:Te),$t=Qde(ze?oo(ze):null),xt=Rut(D?tt??se:null),re=Mut(xt),de=nfe(g,{transform:{x:j.x-Vn.x,y:j.y-Vn.y,scaleX:1,scaleY:1},activatorEvent:X,active:Y,activeNodeRect:Te,containerNodeRect:Ie,draggingNodeRect:dn,over:ke.current.over,overlayNodeRect:rt.rect,scrollableAncestors:xt,scrollableAncestorRects:re,windowRect:$t}),ye=te?bh(te,j):null,Me=Dut(xt),Fe=CY(Me),q=CY(Me,[Te]),ge=bh(de,Fe),De=dn?rut(dn,de):null,He=Y&&De?f({active:Y,collisionRect:De,droppableRects:P,droppableContainers:W,pointerCoordinates:ye}):null,ot=Xct(He,"id"),[an,fn]=v.useState(null),Dn=nt?de:bh(de,q),vn=tut(Dn,(o=an?.rect)!=null?o:null,Te),xn=v.useRef(null),Ae=v.useCallback((en,tn)=>{let{sensor:Ve,options:qt}=tn;if($.current==null)return;const yt=M.get($.current);if(!yt)return;const Mt=en.nativeEvent,Gn=new Ve({active:$.current,activeNode:yt,event:Mt,options:qt,context:ke,onAbort(Zt){if(!M.get(Zt))return;const{onDragAbort:Tn}=J.current,Jn={id:Zt};Tn?.(Jn),T({type:"onDragAbort",event:Jn})},onPending(Zt,Qn,Tn,Jn){if(!M.get(Zt))return;const{onDragPending:fi}=J.current,ls={id:Zt,constraint:Qn,initialCoordinates:Tn,offset:Jn};fi?.(ls),T({type:"onDragPending",event:ls})},onStart(Zt){const Qn=$.current;if(Qn==null)return;const Tn=M.get(Qn);if(!Tn)return;const{onDragStart:Jn}=J.current,as={activatorEvent:Mt,active:{id:Qn,data:Tn.data,rect:H}};Wr.unstable_batchedUpdates(()=>{Jn?.(as),_(Qc.Initializing),S({type:Vr.DragStart,initialCoordinates:Zt,active:Qn}),T({type:"onDragStart",event:as}),V(xn.current),Q(Mt)})},onMove(Zt){S({type:Vr.DragMove,coordinates:Zt})},onEnd:Xt(Vr.DragEnd),onCancel:Xt(Vr.DragCancel)});xn.current=Gn;function Xt(Zt){return async function(){const{active:Tn,collisions:Jn,over:as,scrollAdjustedTranslate:fi}=ke.current;let ls=null;if(Tn&&fi){const{cancelDrop:pc}=J.current;ls={activatorEvent:Mt,active:Tn,collisions:Jn,delta:fi,over:as},Zt===Vr.DragEnd&&typeof pc=="function"&&await Promise.resolve(pc(ls))&&(Zt=Vr.DragCancel)}$.current=null,Wr.unstable_batchedUpdates(()=>{S({type:Zt}),_(Qc.Uninitialized),fn(null),V(null),Q(null),xn.current=null;const pc=Zt===Vr.DragEnd?"onDragEnd":"onDragCancel";if(ls){const cs=J.current[pc];cs?.(ls),T({type:pc,event:ls})}})}}},[M]),Ge=v.useCallback((en,tn)=>(Ve,qt)=>{const yt=Ve.nativeEvent,Mt=M.get(qt);if($.current!==null||!Mt||yt.dndKit||yt.defaultPrevented)return;const Gn={active:Mt};en(Ve,tn.options,Gn)===!0&&(yt.dndKit={capturedBy:tn.sensor},$.current=qt,Ae(Ve,tn))},[M,Ae]),gt=Cut(u,Ge);Iut(u),Sa(()=>{Te&&R===Qc.Initializing&&_(Qc.Initialized)},[Te,R]),v.useEffect(()=>{const{onDragMove:en}=J.current,{active:tn,activatorEvent:Ve,collisions:qt,over:yt}=ke.current;if(!tn||!Ve)return;const Mt={active:tn,activatorEvent:Ve,collisions:qt,delta:{x:ge.x,y:ge.y},over:yt};Wr.unstable_batchedUpdates(()=>{en?.(Mt),T({type:"onDragMove",event:Mt})})},[ge.x,ge.y]),v.useEffect(()=>{const{active:en,activatorEvent:tn,collisions:Ve,droppableContainers:qt,scrollAdjustedTranslate:yt}=ke.current;if(!en||$.current==null||!tn||!yt)return;const{onDragOver:Mt}=J.current,Gn=qt.get(ot),Xt=Gn&&Gn.rect.current?{id:Gn.id,rect:Gn.rect.current,data:Gn.data,disabled:Gn.disabled}:null,Zt={active:en,activatorEvent:tn,collisions:Ve,delta:{x:yt.x,y:yt.y},over:Xt};Wr.unstable_batchedUpdates(()=>{fn(Xt),Mt?.(Zt),T({type:"onDragOver",event:Zt})})},[ot]),Sa(()=>{ke.current={activatorEvent:X,active:Y,activeNode:se,collisionRect:De,collisions:He,droppableRects:P,draggableNodes:M,draggingNode:ze,draggingNodeRect:dn,droppableContainers:L,over:an,scrollableAncestors:xt,scrollAdjustedTranslate:ge},H.current={initial:dn,translated:De}},[Y,se,He,De,M,ze,dn,P,L,an,xt,ge]),xut({...oe,delta:j,draggingRect:De,pointerCoordinates:ye,scrollableAncestors:xt,scrollableAncestorRects:re});const lt=v.useMemo(()=>({active:Y,activeNode:se,activeNodeRect:Te,activatorEvent:X,collisions:He,containerNodeRect:Ie,dragOverlay:rt,draggableNodes:M,droppableContainers:L,droppableRects:P,over:an,measureDroppableContainers:ce,scrollableAncestors:xt,scrollableAncestorRects:re,measuringConfiguration:K,measuringScheduled:le,windowRect:$t}),[Y,se,Te,X,He,Ie,rt,M,L,P,an,ce,xt,re,K,le,$t]),sr=v.useMemo(()=>({activatorEvent:X,activators:gt,active:Y,activeNodeRect:Te,ariaDescribedById:{draggable:B},dispatch:S,draggableNodes:M,over:an,measureDroppableContainers:ce}),[X,gt,Y,Te,S,B,M,an,ce]);return pe.createElement(Fde.Provider,{value:A},pe.createElement(e1.Provider,{value:sr},pe.createElement(tfe.Provider,{value:lt},pe.createElement(FT.Provider,{value:vn},c)),pe.createElement(Uut,{disabled:a?.restoreFocus===!1})),pe.createElement(qct,{...a,hiddenTextDescribedById:B}));function di(){const en=G?.autoScrollEnabled===!1,tn=typeof l=="object"?l.enabled===!1:l===!1,Ve=D&&!en&&!tn;return typeof l=="object"?{...l,enabled:Ve}:{enabled:Ve}}}),Gut=v.createContext(null),kY="button",qut="Draggable";function Wut(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=Jy(qut),{activators:s,activatorEvent:a,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:h}=v.useContext(e1),{role:g=kY,roleDescription:y="draggable",tabIndex:E=0}=i??{},w=l?.id===t,S=v.useContext(w?FT:Gut),[T,A]=hS(),[R,_]=hS(),D=Out(s,t),I=z0(n);Sa(()=>(f.set(t,{id:t,key:o,node:T,activatorNode:R,data:I}),()=>{const j=f.get(t);j&&j.key===o&&f.delete(t)}),[f,t]);const M=v.useMemo(()=>({role:g,tabIndex:E,"aria-disabled":r,"aria-pressed":w&&g===kY?!0:void 0,"aria-roledescription":y,"aria-describedby":u.draggable}),[r,g,E,w,y,u.draggable]);return{active:l,activatorEvent:a,activeNodeRect:c,attributes:M,isDragging:w,listeners:r?void 0:D,node:T,over:h,setNodeRef:A,setActivatorNodeRef:_,transform:S}}function rfe(){return v.useContext(tfe)}const Yut="Droppable",Kut={timeout:25};function ife(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=Jy(Yut),{active:s,dispatch:a,over:l,measureDroppableContainers:c}=v.useContext(e1),u=v.useRef({disabled:n}),f=v.useRef(!1),h=v.useRef(null),g=v.useRef(null),{disabled:y,updateMeasurementsFor:E,timeout:w}={...Kut,...i},S=z0(E??r),T=v.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(S.current)?S.current:[S.current]),g.current=null},w)},[w]),A=PT({callback:T,disabled:y||!s}),R=v.useCallback((M,j)=>{A&&(j&&(A.unobserve(j),f.current=!1),M&&A.observe(M))},[A]),[_,D]=hS(R),I=z0(t);return v.useEffect(()=>{!A||!_.current||(A.disconnect(),f.current=!1,A.observe(_.current))},[_,A]),v.useEffect(()=>(a({type:Vr.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:h,data:I}}),()=>a({type:Vr.UnregisterDroppable,key:o,id:r})),[r]),v.useEffect(()=>{n!==u.current.disabled&&(a({type:Vr.SetDroppableDisabled,id:r,key:o,disabled:n}),u.current.disabled=n)},[r,o,n,a]),{active:s,rect:h,isOver:l?.id===r,node:_,over:l,setNodeRef:D}}function Xut(e){let{animation:t,children:n}=e;const[r,i]=v.useState(null),[o,s]=v.useState(null),a=mS(n);return!n&&!r&&a&&i(a),Sa(()=>{if(!o)return;const l=r?.key,c=r?.props.id;if(l==null||c==null){i(null);return}Promise.resolve(t(c,o)).then(()=>{i(null)})},[t,r,o]),pe.createElement(pe.Fragment,null,n,r?v.cloneElement(r,{ref:s}):null)}const Zut={x:0,y:0,scaleX:1,scaleY:1};function Qut(e){let{children:t}=e;return pe.createElement(e1.Provider,{value:efe},pe.createElement(FT.Provider,{value:Zut},t))}const Jut={position:"fixed",touchAction:"none"},edt=e=>LT(e)?"transform 250ms ease":void 0,tdt=v.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:c,transition:u=edt}=e;if(!a)return null;const f=i?c:{...c,scaleX:1,scaleY:1},h={...Jut,width:a.width,height:a.height,top:a.top,left:a.left,transform:ju.Transform.toString(f),transformOrigin:i&&r?Yct(r,a):void 0,transition:typeof u=="function"?u(r):u,...l};return pe.createElement(n,{className:s,style:h,ref:t},o)}),ndt=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,c]of Object.entries(i))n.node.style.setProperty(l,c);s!=null&&s.active&&n.node.classList.remove(s.active)}},rdt=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:ju.Transform.toString(t)},{transform:ju.Transform.toString(n)}]},idt={duration:250,easing:"ease",keyframes:rdt,sideEffects:ndt({styles:{active:{opacity:"0"}}})};function odt(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return MT((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const c=Jde(s);if(!c)return;const{transform:u}=oo(s).getComputedStyle(s),f=$de(u);if(!f)return;const h=typeof t=="function"?t:sdt(t);return Wde(l,i.draggable.measure),h({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function sdt(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...idt,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...c}=o;if(!t)return;const u={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},h={x:l.x-u.x,y:l.y-u.y,...f},g=i({...c,active:s,dragOverlay:a,transform:{initial:l,final:h}}),[y]=g,E=g[g.length-1];if(JSON.stringify(y)===JSON.stringify(E))return;const w=r?.({active:s,dragOverlay:a,...c}),S=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(T=>{S.onfinish=()=>{w?.(),T()}})}}let AY=0;function adt(e){return v.useMemo(()=>{if(e!=null)return AY++,AY},[e])}const ldt=pe.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:c=999}=e;const{activatorEvent:u,active:f,activeNodeRect:h,containerNodeRect:g,draggableNodes:y,droppableContainers:E,dragOverlay:w,over:S,measuringConfiguration:T,scrollableAncestors:A,scrollableAncestorRects:R,windowRect:_}=rfe(),D=v.useContext(FT),I=adt(f?.id),M=nfe(s,{activatorEvent:u,active:f,activeNodeRect:h,containerNodeRect:g,draggingNodeRect:w.rect,over:S,overlayNodeRect:w.rect,scrollableAncestors:A,scrollableAncestorRects:R,transform:D,windowRect:_}),j=pB(h),L=odt({config:r,draggableNodes:y,droppableContainers:E,measuringConfiguration:T}),F=j?w.setRef:void 0;return pe.createElement(Qut,null,pe.createElement(Xut,{animation:L},f&&I?pe.createElement(tdt,{key:I,id:f.id,ref:F,as:a,activatorEvent:u,adjustScale:t,className:l,transition:o,rect:j,style:{zIndex:c,...i},transform:M},n):null))});function xS(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function cdt(e,t){return e.reduce((n,r,i)=>{const o=t.get(r);return o&&(n[i]=o),n},Array(e.length))}function bx(e){return e!==null&&e>=0}function udt(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 ddt(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const ofe=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e;const o=xS(t,r,n),s=t[i],a=o[i];return!a||!s?null:{x:a.left-s.left,y:a.top-s.top,scaleX:a.width/s.width,scaleY:a.height/s.height}},sfe="Sortable",afe=pe.createContext({activeIndex:-1,containerId:sfe,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ofe,disabled:{draggable:!1,droppable:!1}});function fdt(e){let{children:t,id:n,items:r,strategy:i=ofe,disabled:o=!1}=e;const{active:s,dragOverlay:a,droppableRects:l,over:c,measureDroppableContainers:u}=rfe(),f=Jy(sfe,n),h=a.rect!==null,g=v.useMemo(()=>r.map(D=>typeof D=="object"&&"id"in D?D.id:D),[r]),y=s!=null,E=s?g.indexOf(s.id):-1,w=c?g.indexOf(c.id):-1,S=v.useRef(g),T=!udt(g,S.current),A=w!==-1&&E===-1||T,R=ddt(o);Sa(()=>{T&&y&&u(g)},[T,g,y,u]),v.useEffect(()=>{S.current=g},[g]);const _=v.useMemo(()=>({activeIndex:E,containerId:f,disabled:R,disableTransforms:A,items:g,overIndex:w,useDragOverlay:h,sortedRects:cdt(g,l),strategy:i}),[E,f,R.draggable,R.droppable,A,g,w,l,h,i]);return pe.createElement(afe.Provider,{value:_},t)}const pdt=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return xS(n,r,i).indexOf(t)},hdt=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:o,newIndex:s,previousItems:a,previousContainerId:l,transition:c}=e;return!c||!r||a!==o&&i===s?!1:n?!0:s!==i&&t===l},mdt={duration:200,easing:"ease"},lfe="transform",gdt=ju.Transition.toString({property:lfe,duration:0,easing:"linear"}),bdt={roleDescription:"sortable"};function ydt(e){let{disabled:t,index:n,node:r,rect:i}=e;const[o,s]=v.useState(null),a=v.useRef(n);return Sa(()=>{if(!t&&n!==a.current&&r.current){const l=i.current;if(l){const c=Lm(r.current,{ignoreTransform:!0}),u={x:l.left-c.left,y:l.top-c.top,scaleX:l.width/c.width,scaleY:l.height/c.height};(u.x||u.y)&&s(u)}}n!==a.current&&(a.current=n)},[t,n,r,i]),v.useEffect(()=>{o&&s(null)},[o]),o}function vdt(e){let{animateLayoutChanges:t=hdt,attributes:n,disabled:r,data:i,getNewIndex:o=pdt,id:s,strategy:a,resizeObserverConfig:l,transition:c=mdt}=e;const{items:u,containerId:f,activeIndex:h,disabled:g,disableTransforms:y,sortedRects:E,overIndex:w,useDragOverlay:S,strategy:T}=v.useContext(afe),A=xdt(r,g),R=u.indexOf(s),_=v.useMemo(()=>({sortable:{containerId:f,index:R,items:u},...i}),[f,i,R,u]),D=v.useMemo(()=>u.slice(u.indexOf(s)),[u,s]),{rect:I,node:M,isOver:j,setNodeRef:L}=ife({id:s,data:_,disabled:A.droppable,resizeObserverConfig:{updateMeasurementsFor:D,...l}}),{active:F,activatorEvent:H,activeNodeRect:Y,attributes:$,setNodeRef:G,listeners:V,isDragging:X,over:Q,setActivatorNodeRef:J,transform:B}=Wut({id:s,data:_,attributes:{...bdt,...n},disabled:A.draggable}),W=Oct(L,G),K=!!F,P=K&&!y&&bx(h)&&bx(w),ce=!S&&X,le=ce&&P?B:null,te=P?le??(a??T)({rects:E,activeNodeRect:Y,activeIndex:h,overIndex:w,index:R}):null,oe=bx(h)&&bx(w)?o({id:s,items:u,activeIndex:h,overIndex:w}):R,ue=F?.id,Te=v.useRef({activeId:ue,items:u,newIndex:oe,containerId:f}),Ie=u!==Te.current.items,ke=t({active:F,containerId:f,isDragging:X,isSorting:K,id:s,index:R,items:u,newIndex:Te.current.newIndex,previousItems:Te.current.items,previousContainerId:Te.current.containerId,transition:c,wasDragging:Te.current.activeId!=null}),tt=ydt({disabled:!ke,index:R,node:M,rect:I});return v.useEffect(()=>{K&&Te.current.newIndex!==oe&&(Te.current.newIndex=oe),f!==Te.current.containerId&&(Te.current.containerId=f),u!==Te.current.items&&(Te.current.items=u)},[K,oe,f,u]),v.useEffect(()=>{if(ue===Te.current.activeId)return;if(ue!=null&&Te.current.activeId==null){Te.current.activeId=ue;return}const ze=setTimeout(()=>{Te.current.activeId=ue},50);return()=>clearTimeout(ze)},[ue]),{active:F,activeIndex:h,attributes:$,data:_,rect:I,index:R,newIndex:oe,items:u,isOver:j,isSorting:K,isDragging:X,listeners:V,node:M,overIndex:w,over:Q,setNodeRef:W,setActivatorNodeRef:J,setDroppableNodeRef:L,setDraggableNodeRef:G,transform:tt??te,transition:rt()};function rt(){if(tt||Ie&&Te.current.newIndex===R)return gdt;if(!(ce&&!LT(H)||!c)&&(K||ke))return ju.Transition.toString({...c,property:lfe})}}function xdt(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}}bn.Down,bn.Right,bn.Up,bn.Left;const Edt={},NY=e=>{let t;const n=new Set,r=(u,f)=>{const h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const g=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(y=>y(t,g))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Edt?"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()}},c=t=e(r,i,l);return l},wdt=e=>e?NY(e):NY,cfe={},{useDebugValue:Sdt}=pe,{useSyncExternalStoreWithSelector:Cdt}=wKe;let _Y=!1;const Tdt=e=>e;function kdt(e,t=Tdt,n){(cfe?"production":void 0)!=="production"&&n&&!_Y&&(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"),_Y=!0);const r=Cdt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Sdt(r),r}const RY=e=>{(cfe?"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"?wdt(e):e,n=(r,i)=>kdt(t,r,i);return Object.assign(n,t),n},Adt=e=>e?RY(e):RY;var DY,IY;const OY=typeof window<"u"&&((DY=window.document)!=null&&DY.createElement||((IY=window.navigator)==null?void 0:IY.product)==="ReactNative")?pe.useLayoutEffect:pe.useEffect;function Ndt(){const e=Adt(t=>({current:new Array,version:0,set:t}));return{In:({children:t})=>{const n=e(i=>i.set),r=e(i=>i.version);return OY(()=>{n(i=>({version:i.version+1}))},[]),OY(()=>(n(({current:i})=>({current:[...i,t]})),()=>n(({current:i})=>({current:i.filter(o=>o!==t)}))),[t,r]),null},Out:()=>{const t=e(n=>n.current);return pe.createElement(pe.Fragment,null,t)}}}const M_=768;function BT(){const[e,t]=v.useState(void 0);return v.useEffect(()=>{const n=window.matchMedia(`(max-width: ${M_-1}px)`),r=()=>{t(window.innerWidth<M_)};return n.addEventListener("change",r),t(window.innerWidth<M_),()=>n.removeEventListener("change",r)},[]),!!e}const ufe=Ndt(),hB=v.createContext({columns:[],data:[],activeCardId:null}),_dt=({id:e,children:t,className:n})=>{const{isOver:r,setNodeRef:i}=ife({id:e});return m.jsx("div",{className:we("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:i,children:t})},Rdt=({id:e,name:t,children:n,className:r})=>{const{attributes:i,listeners:o,setNodeRef:s,transition:a,transform:l,isDragging:c}=vdt({id:e}),{activeCardId:u}=v.useContext(hB),f={transition:a,transform:ju.Transform.toString(l)};return m.jsxs(m.Fragment,{children:[m.jsx("div",{style:f,...o,...i,ref:s,children:m.jsx(Kd,{className:we("cursor-grab gap-4 rounded-md p-3 shadow-sm",c&&"pointer-events-none cursor-grabbing opacity-30",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})}),u===e&&m.jsx(ufe.In,{children:m.jsx(Kd,{className:we("cursor-grab gap-4 rounded-md p-3 shadow-sm ring-2 ring-primary",c&&"cursor-grabbing",r),children:n??m.jsx("p",{className:"m-0 font-medium text-sm",children:t})})})]})},Ddt=({children:e,className:t,...n})=>{const{data:r}=v.useContext(hB),i=r.filter(s=>s.column===n.id),o=i.map(s=>s.id);return m.jsxs(Xi,{className:"overflow-hidden flex-1",children:[m.jsx(fdt,{items:o,children:m.jsx("div",{className:we("flex flex-grow flex-col gap-2 p-2",t),...n,children:i.map(e)})}),m.jsx(PS,{orientation:"vertical"})]})},Idt=({className:e,...t})=>m.jsx("div",{className:we("m-0 p-2 font-semibold text-sm",e),...t}),Odt=e=>t=>{const{droppableRects:n,droppableContainers:r,pointerCoordinates:i}=t,o=y=>!e.includes(y),s=y=>e.includes(y),a=eut(t),l=a.filter(y=>o(y.id)),c=a.filter(y=>s(y.id));if(l.length>0){const E=gY(t).filter(w=>o(w.id));return E.length>0?[E[0]]:[l[0]]}if(c.length>0)return[c[0]];const u=Bde(t),f=u.filter(y=>o(y.id)),h=u.filter(y=>s(y.id));if(f.length>0){const E=Zct(t).filter(w=>o(w.id));return E.length>0?[E[0]]:[f[0]]}if(h.length>0)return[h[0]];if(i){let y=null;for(const E of e){const w=n.get(E);if(!w)continue;const S=w.left+w.width/2,T=w.top+w.height/2,A=Math.sqrt(Math.pow(i.x-S,2)+Math.pow(i.y-T,2)),R={left:w.left-150,right:w.right+150,top:w.top-50,bottom:w.bottom+50};i.x>=R.left&&i.x<=R.right&&i.y>=R.top&&i.y<=R.bottom&&(!y||A<y.distance)&&(y={id:E,distance:A})}if(y)return[{id:y.id}]}const g=gY(t);if(g.length>0){const y=g.find(E=>s(E.id));return y?[y]:[g[0]]}return[]},Mdt=({children:e,onDragStart:t,onDragEnd:n,onDragOver:r,className:i,columns:o,data:s,onDataChange:a,...l})=>{const[c,u]=v.useState(null),f=BT(),h=v.useMemo(()=>o.map(A=>A.id),[o]),g=v.useMemo(()=>Odt(h),[h]),y=Wct(R_(Xde,{activationConstraint:{distance:8}}),R_(Zde,{activationConstraint:{delay:150,tolerance:8}}),R_(dB)),E=A=>{s.find(_=>_.id===A.active.id)&&u(A.active.id),t?.(A)},w=A=>{const{active:R,over:_}=A;if(!_)return;const D=s.find(F=>F.id===R.id),I=s.find(F=>F.id===_.id);if(!D)return;const M=D.column,L=o.some(F=>F.id===_.id)?_.id:I?.column||M;if(M!==L){let F=[...s];const H=F.findIndex(Y=>Y.id===R.id);if(F[H]={...F[H],column:L},I){const Y=F.findIndex($=>$.id===_.id);F=xS(F,H,Y)}a?.(F)}r?.(A)},S=A=>{u(null),n?.(A);const{active:R,over:_}=A;if(!_||R.id===_.id)return;if(o.some(L=>L.id===_.id)){const L=s.find(F=>F.id===R.id);if(L&&L.column!==_.id){let F=[...s];const H=F.findIndex(Y=>Y.id===R.id);F[H]={...F[H],column:_.id},a?.(F)}return}let I=[...s];const M=I.findIndex(L=>L.id===R.id),j=I.findIndex(L=>L.id===_.id);M!==-1&&j!==-1&&(I=xS(I,M,j),a?.(I))},T={onDragStart({active:A}){const{name:R,column:_}=s.find(D=>D.id===A.id)??{};return`Picked up the card "${R}" from the "${_}" column`},onDragOver({active:A,over:R}){const{name:_}=s.find(I=>I.id===A.id)??{},D=o.find(I=>I.id===R?.id)?.name;return`Dragged the card "${_}" over the "${D}" column`},onDragEnd({active:A,over:R}){const{name:_}=s.find(I=>I.id===A.id)??{},D=o.find(I=>I.id===R?.id)?.name;return`Dropped the card "${_}" into the "${D}" column`},onDragCancel({active:A}){const{name:R}=s.find(_=>_.id===A.id)??{};return`Cancelled dragging the card "${R}"`}};return m.jsx(hB.Provider,{value:{columns:o,data:s,activeCardId:c},children:m.jsxs(Vut,{accessibility:{announcements:T},collisionDetection:g,onDragEnd:S,onDragOver:w,onDragStart:E,sensors:y,...l,children:[m.jsx("div",{className:we("flex gap-4",f&&"flex-col",i),children:o.map(A=>e(A))}),typeof window<"u"&&Wr.createPortal(m.jsx(ldt,{children:m.jsx(ufe.Out,{})}),document.body)]})})},MY={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function sb(e){return MY[e]?MY[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Ldt({tasks:e,loading:t,onTasksUpdate:n}){const{config:r,updateConfig:i}=bf(),[o,s]=v.useState(new Set),[a,l]=v.useState(!1),c=BT(),u=r?.statuses||["todo","in-progress","in-review","done","blocked"],f=r?.statusColors||jO,h=v.useMemo(()=>u.filter(L=>o.has(L)).map(L=>({id:L,name:sb(L),color:f[L]||"gray"})),[u,o,f]),g={high:0,medium:1,low:2},y=v.useMemo(()=>[...e].sort((F,H)=>{const Y=g[F.priority]??2,$=g[H.priority]??2;return Y!==$?Y-$:new Date(H.updatedAt).getTime()-new Date(F.updatedAt).getTime()}).map(F=>({id:F.id,name:F.title,column:F.status,task:F})),[e]),E=()=>{const F=window.location.hash.slice(1).match(/^\/kanban\/([^?]+)/);if(!F)return null;const H=F[1];return e.find(Y=>Y.id===H)||null},[w,S]=v.useState(E());v.useEffect(()=>{const L=()=>{S(E())};return S(E()),window.addEventListener("hashchange",L),()=>window.removeEventListener("hashchange",L)},[e]),v.useEffect(()=>{r?.visibleColumns?s(new Set(r.visibleColumns)):s(new Set(u))},[r?.visibleColumns,u.join(",")]);const T=async L=>{try{await i({visibleColumns:[...L]})}catch(F){console.error("Failed to save config:",F)}},A=L=>{s(F=>{const H=new Set(F);return H.has(L)?H.delete(L):H.add(L),T(H),H})},R=async L=>{const F=L.filter(Y=>{const $=e.find(G=>G.id===Y.id);return $&&$.status!==Y.column}),H=e.map(Y=>{const $=L.find(G=>G.id===Y.id);return $&&$.column!==Y.status?{...Y,status:$.column}:Y});n(H);for(const Y of F)try{await da.updateTask(Y.id,{status:Y.column}),Os.success("Status updated",{description:`#${Y.id} moved to ${sb(Y.column)}`})}catch($){console.error("Failed to update task:",$),Os.error("Failed to update status",{description:$ instanceof Error?$.message:"Unknown error"}),da.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 _=L=>{window.location.hash=`/kanban/${L.id}`},D=()=>{window.location.hash="/"},I=L=>{n(e.map(F=>F.id===L.id?L:F))},M=L=>{window.location.hash=`/kanban/${L}`},j=async L=>{try{await da.archiveTask(L),n(e.filter(F=>F.id!==L)),D()}catch(F){console.error("Failed to archive task:",F)}};return m.jsxs("div",{className:"flex flex-col h-full",children:[c?m.jsxs(mde,{open:a,onOpenChange:l,className:"shrink-0 bg-card rounded-lg mb-4 border border-border",children:[m.jsxs(gde,{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,"/",u.length,")"]}),a?m.jsx(QY,{className:"w-4 h-4 text-muted-foreground"}):m.jsx(Eu,{className:"w-4 h-4 text-muted-foreground"})]}),m.jsx(bde,{children:m.jsx("div",{className:"flex flex-wrap gap-2 px-3 pb-3",children:u.map(L=>{const F=o.has(L),H=e.filter(Y=>Y.status===L).length;return m.jsxs("button",{type:"button",onClick:()=>A(L),className:we("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg transition-colors text-xs",F?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[F?m.jsx(W_,{className:"w-3.5 h-3.5"}):m.jsx(q_,{className:"w-3.5 h-3.5"}),m.jsxs("span",{className:"font-medium",children:[sb(L)," (",H,")"]})]},L)})})})]}):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:"}),u.map(L=>{const F=o.has(L),H=e.filter(Y=>Y.status===L).length;return m.jsxs("button",{type:"button",onClick:()=>A(L),className:we("flex items-center gap-2 px-3 py-1.5 rounded-lg transition-colors",F?"bg-primary/10 text-primary dark:bg-primary/20":"bg-muted text-muted-foreground"),children:[F?m.jsx(W_,{className:"w-4 h-4"}):m.jsx(q_,{className:"w-4 h-4"}),m.jsxs("span",{className:"text-sm font-medium",children:[sb(L)," (",H,")"]})]},L)})]})}),m.jsxs(Xi,{className:"flex-1",children:[o.size>0?m.jsx(Mdt,{columns:h,data:y,onDataChange:R,className:"min-h-full pb-4",children:L=>{const F=$Se(L.id,f),H=y.filter(Y=>Y.column===L.id).length;return m.jsxs(_dt,{id:L.id,className:we("min-w-[320px] max-w-[380px]",c&&"min-w-0 max-w-none w-full",F.bg,F.border),children:[m.jsxs(Idt,{className:"flex items-center justify-between",children:[m.jsx("span",{className:"font-bold text-sm uppercase tracking-wide text-foreground",children:L.name}),m.jsx("span",{className:"text-xs rounded-full px-2 py-1 font-medium text-muted-foreground bg-background",children:H})]}),m.jsx(Ddt,{id:L.id,children:Y=>m.jsx(Pdt,{item:Y,statusColors:f,onClick:()=>_(Y.task)},Y.id)})]},L.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(PS,{orientation:"horizontal"})]}),m.jsx(Mde,{task:w,allTasks:e,onClose:D,onUpdate:I,onArchive:j,onNavigateToTask:M})]})}function Pdt({item:e,statusColors:t,onClick:n}){const{task:r}=e,i=Sh(r.status,t),o=r.acceptanceCriteria.filter(a=>a.completed).length,s=r.acceptanceCriteria.length;return m.jsx(Rdt,{id:e.id,name:e.name,column:e.column,className:"w-full",children:m.jsxs("div",{onClick:n,onKeyDown:a=>a.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:we("text-xs px-1.5 py-0.5 rounded font-medium",i),children:sb(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(eK,{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(a=>m.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-secondary text-secondary-foreground",children:a},a))}),r.assignee&&m.jsxs("div",{className:"flex items-center gap-1.5 text-xs mt-2 text-muted-foreground",children:[m.jsx($0,{name:r.assignee,size:"sm"}),m.jsx("span",{children:r.assignee})]})]})})}const LY=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"}],PY={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 Fdt({isOpen:e,allTasks:t,onClose:n,onCreated:r}){const{currentUser:i}=XZ(),{config:o}=bf(),s=v.useRef(null),a=v.useRef(null),l=v.useMemo(()=>{const q=o.statuses||["todo","in-progress","in-review","done","blocked"];return tQ(q)},[o.statuses]),c=o.statusColors||{},[u,f]=v.useState(""),[h,g]=v.useState(""),[y,E]=v.useState("todo"),[w,S]=v.useState("medium"),[T,A]=v.useState(""),[R,_]=v.useState([]),[D,I]=v.useState(""),[M,j]=v.useState([]),[L,F]=v.useState(""),[H,Y]=v.useState(""),[$,G]=v.useState(!1),[V,X]=v.useState(null),[Q,J]=v.useState(!1),[B,W]=v.useState(""),[K,P]=v.useState(!1),[ce,le]=v.useState(""),[se,te]=v.useState(!1),[oe,ue]=v.useState(!1),{preferences:Te,toggleTaskCreateLayout:Ie}=JZ(),ke=Te.taskCreateLayout==="maximized",tt=v.useRef(null),rt={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"}}};v.useEffect(()=>{e||(f(""),g(""),E("todo"),S("medium"),A(""),_([]),I(""),j([]),F(""),Y(""),X(null),J(!1),W(""),P(!1),le(""),te(!1),ue(!1))},[e]),v.useEffect(()=>{e&&setTimeout(()=>s.current?.focus(),100)},[e,ke]),v.useEffect(()=>{K&&tt.current&&tt.current.focus()},[K]);const ze=v.useCallback(()=>{B.trim()&&(j(q=>[...q,{id:crypto.randomUUID(),text:B.trim()}]),W(""),P(!1))},[B]),dn=v.useCallback(q=>{j(ge=>ge.filter(De=>De.id!==q))},[]),nt=v.useCallback(()=>{ce.trim()&&(R.includes(ce.trim())||_(q=>[...q,ce.trim()]),le(""),te(!1))},[ce,R]),Vn=v.useCallback(q=>{_(ge=>ge.filter(De=>De!==q))},[]),$t=async q=>{if(q.preventDefault(),X(null),!u.trim()){X("Title is required");return}G(!0);try{const ge={title:u.trim(),description:h.trim()||void 0,status:y,priority:w,labels:R,assignee:T.trim()||void 0,parent:D||void 0,acceptanceCriteria:M.map(De=>({text:De.text,completed:!1})),implementationPlan:L.trim()||void 0,implementationNotes:H.trim()||void 0};await ume(ge),J(!0),Os.success("Task created successfully",{description:u.trim()}),setTimeout(()=>{r(),n()},800)}catch(ge){const De=ge instanceof Error?ge.message:"Failed to create task";X(De),Os.error("Failed to create task",{description:De})}finally{G(!1)}},xt=D?t.find(q=>q.id===D):null,re=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:s,type:"text",value:u,onChange:q=>f(q.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.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[m.jsx($e,{variant:"ghost",size:"icon",onClick:Ie,className:"h-8 w-8 text-foreground hover:text-foreground",title:ke?"Minimize":"Maximize",children:ke?m.jsx(sK,{className:"w-4 h-4"}):m.jsx(oK,{className:"w-4 h-4"})}),m.jsx($e,{variant:"ghost",size:"icon",onClick:n,className:"h-8 w-8 text-foreground hover:text-foreground",title:"Close",children:m.jsx(Yo,{className:"w-4 h-4"})})]})]}),de=(Q||V)&&m.jsxs("div",{className:"px-4 pt-4",children:[Q&&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!"}),V&&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:V})]}),ye=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(lK,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Description"})]}),m.jsx(yu,{markdown:h,onChange:g,placeholder:"Add a more detailed description...",readOnly:$})]}),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(gf,{className:"w-5 h-5 text-muted-foreground"}),m.jsx("h3",{className:"font-semibold text-sm text-muted-foreground",children:"Acceptance Criteria"}),M.length>0&&m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",M.length,")"]})]})}),m.jsx("div",{className:"space-y-2",children:M.map(q=>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:q.text}),m.jsx("button",{type:"button",onClick:()=>dn(q.id),className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500 p-1 transition-all",title:"Delete",children:m.jsx(Wd,{className:"w-4 h-4"})})]},q.id))}),K?m.jsxs("div",{className:"mt-2 bg-muted/50 rounded-lg px-3 py-2",children:[m.jsx("input",{ref:tt,type:"text",value:B,onChange:q=>W(q.target.value),onKeyDown:q=>{q.key==="Enter"&&B.trim()&&(q.preventDefault(),ze()),q.key==="Escape"&&(W(""),P(!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.jsxs("div",{className:"flex gap-2 mt-2",children:[m.jsx($e,{type:"button",size:"sm",onClick:ze,disabled:!B.trim()||$,className:"bg-green-700 hover:bg-green-800 text-white",children:"Add"}),m.jsx($e,{type:"button",variant:"ghost",size:"sm",onClick:()=>{W(""),P(!1)},children:"Cancel"})]})]}):m.jsxs("button",{type:"button",onClick:()=>P(!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:$,children:[m.jsx(Ms,{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(Xo,{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(yu,{markdown:L,onChange:F,placeholder:"Describe how you plan to implement this task...",readOnly:$})]}),m.jsxs("section",{children:[m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(Cbe,{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(yu,{markdown:H,onChange:Y,placeholder:"Add notes, observations, or any other relevant information...",readOnly:$})]})]}),Me=m.jsxs("div",{className:"p-4 space-y-6",children:[m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(Yi,{value:y,onValueChange:q=>E(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full",Sh(y,c)),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:l.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(Yi,{value:w,onValueChange:q=>S(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full",PY[w]),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:LY.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(cS,{value:T,onChange:A,showGrabButton:!1,currentUser:i,container:a.current})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Labels"}),m.jsx("div",{className:"flex flex-wrap gap-1",children:R.map(q=>m.jsxs(oc,{variant:"secondary",className:"gap-1 pr-1",children:[q,m.jsx("button",{type:"button",onClick:()=>Vn(q),className:"ml-1 hover:text-destructive",children:m.jsx(Yo,{className:"w-3 h-3"})})]},q))}),se?m.jsxs("div",{className:"space-y-2",children:[m.jsx(qr,{value:ce,onChange:q=>le(q.target.value),onKeyDown:q=>{q.key==="Enter"&&ce.trim()&&(q.preventDefault(),nt()),q.key==="Escape"&&(le(""),te(!1))},placeholder:"Label name",disabled:$,autoFocus:!0}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx($e,{size:"sm",onClick:nt,disabled:!ce.trim()||$,children:"Add"}),m.jsx($e,{size:"sm",variant:"ghost",onClick:()=>{le(""),te(!1)},children:"Cancel"})]})]}):m.jsxs($e,{variant:"ghost",size:"sm",className:"w-full justify-start text-muted-foreground",onClick:()=>te(!0),disabled:$,children:[m.jsx(Ms,{className:"w-4 h-4 mr-2"}),"Add label"]})]}),m.jsxs("div",{className:"space-y-2",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Parent Task"}),m.jsxs(L0,{open:oe,onOpenChange:ue,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"outline",role:"combobox","aria-expanded":oe,className:"w-full justify-between h-auto min-h-10 py-2",disabled:$,title:xt?`#${xt.id} - ${xt.title}`:void 0,children:[xt?m.jsxs("div",{className:"flex items-center gap-2 text-left overflow-hidden min-w-0 flex-1",children:[m.jsx(yh,{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:["#",xt.id]}),m.jsx("p",{className:"truncate text-sm",children:xt.title})]})]}):m.jsx("span",{className:"text-muted-foreground",children:"Select parent task..."}),m.jsx(cE,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),m.jsx(Vh,{className:"w-[400px] p-0",align:"start",children:m.jsxs(Gh,{children:[m.jsx(qh,{placeholder:"Search tasks..."}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:"No task found."}),m.jsxs(el,{children:[m.jsxs(Ko,{value:"none",onSelect:()=>{I(""),ue(!1)},children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(q=>m.jsxs(Ko,{value:`${q.id} ${q.title}`,onSelect:()=>{I(q.id),ue(!1)},title:`#${q.id} - ${q.title}`,children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D===q.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:["#",q.id]}),m.jsx("p",{className:"truncate text-sm",children:q.title})]})]},q.id))]})]})]})})]})]})]}),Fe=m.jsxs("div",{className:"border-t px-6 py-4 bg-muted/30 flex justify-end gap-3",children:[m.jsx($e,{type:"button",variant:"ghost",onClick:n,disabled:$,children:"Cancel"}),m.jsx($e,{type:"button",onClick:$t,className:"bg-green-700 hover:bg-green-800 text-white",disabled:$||Q||!u.trim(),children:$?"Creating...":"Create Task"})]});return ke?m.jsx(mE,{children:e&&m.jsx(OO,{open:e,onOpenChange:q=>!q&&n(),children:m.jsxs(OS,{className:"max-w-6xl w-[95vw] h-[90vh] p-0 gap-0 overflow-hidden flex flex-col",hideCloseButton:!0,children:[m.jsx(MO,{className:"sr-only",children:"Create New Task"}),m.jsxs(vE.div,{ref:a,className:"flex flex-col h-full overflow-hidden",variants:rt,initial:"hidden",animate:"visible",exit:"exit",children:[re,de,m.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[m.jsx(Xi,{className:"flex-1",children:ye}),m.jsx("div",{className:"shrink-0 w-72 border-l bg-muted/20",children:m.jsx(Xi,{className:"h-full",children:Me})})]}),Fe]})]})})}):m.jsx(mE,{children:e&&m.jsx(RO,{open:e,onOpenChange:q=>!q&&n(),children:m.jsx(IS,{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(vE.div,{ref:a,className:"flex flex-col h-full overflow-hidden",variants:rt,initial:"hidden",animate:"visible",exit:"exit",children:[re,de,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(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Status"}),m.jsxs(Yi,{value:y,onValueChange:q=>E(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full h-9",Sh(y,c)),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:l.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Priority"}),m.jsxs(Yi,{value:w,onValueChange:q=>S(q),disabled:$,children:[m.jsx(Pi,{className:we("w-full h-9",PY[w]),children:m.jsx(Ki,{})}),m.jsx(Fi,{children:LY.map(q=>m.jsx(yn,{value:q.value,children:q.label},q.value))})]})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Assignee"}),m.jsx(cS,{value:T,onChange:A,showGrabButton:!1,currentUser:i,container:a.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(rr,{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:[R.map(q=>m.jsxs(oc,{variant:"secondary",className:"gap-1 pr-1 text-xs",children:[q,m.jsx("button",{type:"button",onClick:()=>Vn(q),className:"ml-0.5 hover:text-destructive",children:m.jsx(Yo,{className:"w-3 h-3"})})]},q)),!se&&m.jsxs($e,{variant:"ghost",size:"sm",className:"h-6 px-2 text-xs text-muted-foreground",onClick:()=>te(!0),children:[m.jsx(Ms,{className:"w-3 h-3 mr-1"}),"Add"]})]}),se&&m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx(qr,{value:ce,onChange:q=>le(q.target.value),onKeyDown:q=>{q.key==="Enter"&&ce.trim()&&nt(),q.key==="Escape"&&(le(""),te(!1))},placeholder:"Label",className:"h-7 w-24 text-xs",autoFocus:!0}),m.jsx($e,{size:"sm",className:"h-7 px-2",onClick:nt,disabled:!ce.trim(),children:"Add"}),m.jsx($e,{size:"sm",variant:"ghost",className:"h-7 px-2",onClick:()=>{le(""),te(!1)},children:m.jsx(Yo,{className:"w-3 h-3"})})]})]}),m.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[m.jsx(rr,{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground shrink-0",children:"Parent:"}),m.jsxs(L0,{open:oe,onOpenChange:ue,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"outline",role:"combobox",size:"sm",className:"h-7 justify-between min-w-[120px] max-w-[250px]",disabled:$,title:xt?`#${xt.id} - ${xt.title}`:void 0,children:[xt?m.jsxs("span",{className:"truncate text-xs",children:["#",xt.id," - ",xt.title]}):m.jsx("span",{className:"text-muted-foreground text-xs",children:"None"}),m.jsx(cE,{className:"ml-1 h-3 w-3 shrink-0 opacity-50"})]})}),m.jsx(Vh,{className:"w-[400px] p-0",align:"end",children:m.jsxs(Gh,{children:[m.jsx(qh,{placeholder:"Search tasks..."}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:"No task found."}),m.jsxs(el,{children:[m.jsxs(Ko,{value:"none",onSelect:()=>{I(""),ue(!1)},children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D?"opacity-0":"opacity-100")}),m.jsx("span",{className:"text-muted-foreground",children:"None"})]}),t.map(q=>m.jsxs(Ko,{value:`${q.id} ${q.title}`,onSelect:()=>{I(q.id),ue(!1)},title:`#${q.id} - ${q.title}`,children:[m.jsx(Ds,{className:we("mr-2 h-4 w-4 shrink-0",D===q.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:["#",q.id]}),m.jsx("p",{className:"truncate text-sm",children:q.title})]})]},q.id))]})]})]})})]})]})]})]})}),m.jsx(Xi,{className:"flex-1",children:ye})]}),Fe]})})})})}const Bdt="/assets/logo-BkDQ9x4a.png",jdt="sidebar_state",$dt=3600*24*7,Udt="16rem",Hdt="18rem",zdt="3rem",Vdt="b",dfe=v.createContext(null);function t1(){const e=v.useContext(dfe);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const ffe=v.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:o,...s},a)=>{const l=BT(),[c,u]=v.useState(!1),[f,h]=v.useState(e),g=t??f,y=v.useCallback(T=>{const A=typeof T=="function"?T(g):T;n?n(A):h(A),document.cookie=`${jdt}=${A}; path=/; max-age=${$dt}`},[n,g]),E=v.useCallback(()=>l?u(T=>!T):y(T=>!T),[l,y,u]);v.useEffect(()=>{const T=A=>{A.key===Vdt&&(A.metaKey||A.ctrlKey)&&(A.preventDefault(),E())};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[E]);const w=g?"expanded":"collapsed",S=v.useMemo(()=>({state:w,open:g,setOpen:y,isMobile:l,openMobile:c,setOpenMobile:u,toggleSidebar:E}),[w,g,y,l,c,u,E]);return m.jsx(dfe.Provider,{value:S,children:m.jsx(ode,{delayDuration:0,children:m.jsx("div",{style:{"--sidebar-width":Udt,"--sidebar-width-icon":zdt,...i},className:we("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:a,...s,children:o})})})});ffe.displayName="SidebarProvider";const pfe=v.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:i,...o},s)=>{const{isMobile:a,state:l,openMobile:c,setOpenMobile:u}=t1();return n==="none"?m.jsx("div",{className:we("flex h-full w-[var(--sidebar-width)] flex-col bg-sidebar text-sidebar-foreground",r),ref:s,...o,children:i}):a?m.jsx(RO,{open:c,onOpenChange:u,...o,children:m.jsxs(IS,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[var(--sidebar-width)] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Hdt},side:e,children:[m.jsxs(DO,{className:"sr-only",children:[m.jsx(IO,{children:"Sidebar"}),m.jsx(IZ,{children:"Displays the mobile sidebar."})]}),m.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):m.jsxs("div",{ref:s,className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":l==="collapsed"?n:"","data-variant":t,"data-side":e,children:[m.jsx("div",{className:we("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:we("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:i})})]})});pfe.displayName="Sidebar";const hfe=v.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:i}=t1();return m.jsxs($e,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:we("h-7 w-7",e),onClick:o=>{t?.(o),i()},...n,children:[m.jsx(cbe,{}),m.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});hfe.displayName="SidebarTrigger";const mfe=v.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=t1();return m.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:we("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})});mfe.displayName="SidebarRail";const Gdt=v.forwardRef(({className:e,...t},n)=>m.jsx("main",{ref:n,className:we("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}));Gdt.displayName="SidebarInset";const qdt=v.forwardRef(({className:e,...t},n)=>m.jsx(qr,{ref:n,"data-sidebar":"input",className:we("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));qdt.displayName="SidebarInput";const gfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"header",className:we("flex flex-col gap-2 p-2",e),...t}));gfe.displayName="SidebarHeader";const bfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"footer",className:we("flex flex-col gap-2 p-2",e),...t}));bfe.displayName="SidebarFooter";const Wdt=v.forwardRef(({className:e,...t},n)=>m.jsx(j0,{ref:n,"data-sidebar":"separator",className:we("mx-2 w-auto bg-sidebar-border",e),...t}));Wdt.displayName="SidebarSeparator";const yfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"content",className:we("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));yfe.displayName="SidebarContent";const vfe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group",className:we("relative flex w-full min-w-0 flex-col p-2",e),...t}));vfe.displayName="SidebarGroup";const xfe=v.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?Hu:"div";return m.jsx(i,{ref:r,"data-sidebar":"group-label",className:we("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})});xfe.displayName="SidebarGroupLabel";const Ydt=v.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const i=t?Hu:"button";return m.jsx(i,{ref:r,"data-sidebar":"group-action",className:we("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})});Ydt.displayName="SidebarGroupAction";const Efe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"group-content",className:we("w-full text-sm",e),...t}));Efe.displayName="SidebarGroupContent";const oE=v.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu",className:we("flex w-full min-w-0 flex-col gap-1",e),...t}));oE.displayName="SidebarMenu";const sE=v.forwardRef(({className:e,...t},n)=>m.jsx("li",{ref:n,"data-sidebar":"menu-item",className:we("group/menu-item relative",e),...t}));sE.displayName="SidebarMenuItem";const Kdt=cc("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"}}),aE=v.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:i,className:o,...s},a)=>{const l=e?Hu:"button",{isMobile:c,state:u}=t1(),f=m.jsx(l,{ref:a,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:we(Kdt({variant:n,size:r}),o),...s});return i?(typeof i=="string"&&(i={children:i}),m.jsxs(sde,{children:[m.jsx(ade,{asChild:!0,children:f}),m.jsx(WF,{side:"right",align:"center",hidden:u!=="collapsed"||c,...i})]})):f});aE.displayName="SidebarMenuButton";const Xdt=v.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>{const o=t?Hu:"button";return m.jsx(o,{ref:i,"data-sidebar":"menu-action",className:we("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})});Xdt.displayName="SidebarMenuAction";const Zdt=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:we("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}));Zdt.displayName="SidebarMenuBadge";const Qdt=v.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const i=v.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return m.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:we("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&m.jsx(FW,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),m.jsx(FW,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});Qdt.displayName="SidebarMenuSkeleton";const Jdt=v.forwardRef(({className:e,...t},n)=>m.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:we("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}));Jdt.displayName="SidebarMenuSub";const eft=v.forwardRef(({...e},t)=>m.jsx("li",{ref:t,...e}));eft.displayName="SidebarMenuSubItem";const tft=v.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...i},o)=>{const s=e?Hu:"a";return m.jsx(s,{ref:o,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:we("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),...i})});tft.displayName="SidebarMenuSubButton";const nft=[{id:"kanban",label:"Kanban",icon:Kge,href:"#/"},{id:"tasks",label:"Tasks",icon:rK,href:"#/tasks"},{id:"docs",label:"Docs",icon:Xo,href:"#/docs"}];function rft({currentPage:e,onSearchClick:t}){const{state:n}=t1(),r=BT(),i=n==="expanded";return m.jsxs(pfe,{collapsible:"icon",variant:r?"floating":"sidebar",children:[m.jsxs(gfe,{children:[m.jsx(oE,{children:m.jsx(sE,{children:m.jsx(aE,{size:"lg",asChild:!0,children:m.jsxs("a",{href:"#/",children:[m.jsx("img",{src:Bdt,alt:"Knowns",className:"size-8 rounded-lg object-contain"}),m.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[m.jsx("span",{className:"truncate font-semibold",children:"Knowns"}),m.jsx("span",{className:"truncate text-xs",children:"AI-ready task management"})]})]})})})}),i&&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(ES,{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(yfe,{children:m.jsxs(vfe,{children:[m.jsx(xfe,{children:"Navigation"}),m.jsx(Efe,{children:m.jsx(oE,{children:nft.map(o=>{const s=e===o.id;return m.jsx(sE,{children:m.jsx(aE,{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(bfe,{children:[m.jsx(oE,{children:m.jsx(sE,{children:m.jsx(aE,{asChild:!0,isActive:e==="config",tooltip:"Settings",children:m.jsxs("a",{href:"#/config",children:[m.jsx(zI,{}),m.jsx("span",{children:"Settings"})]})})})}),i&&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.8.9"})]})})]}),m.jsx(mfe,{})]})}const ift=[{value:"all",label:"All"},{value:"status",label:"Status"},{value:"assignee",label:"Assignee"},{value:"content",label:"Content"}];function oft(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 sft(e){const n=new Date().getTime()-e.getTime(),r=Math.floor(n/6e4),i=Math.floor(n/36e5),o=Math.floor(n/864e5);return r<1?"just now":r<60?`${r}m ago`:i<24?`${i}h ago`:o<7?`${o}d ago`:e.toLocaleDateString()}function aft(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 lft({limit:e=20,showFilter:t=!0,onTaskClick:n}){const[r,i]=v.useState([]),[o,s]=v.useState(!0),[a,l]=v.useState("all"),[c,u]=v.useState(!1),f=v.useCallback(async()=>{try{const y=a==="all"?void 0:a,E=await da.getActivities({limit:e,type:y});i(E)}catch(y){console.error("Failed to load activities:",y)}finally{s(!1),u(!1)}},[e,a]);v.useEffect(()=>{f()},[f]),xu("tasks:updated",()=>{f()},[f]);const h=()=>{u(!0),f()},g=y=>{n?n(y):window.location.hash=`/kanban/${y}`};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(S9,{className:"w-5 h-5"}),m.jsx("h3",{className:"font-semibold",children:"Recent Activity"})]}),m.jsx($e,{variant:"ghost",size:"icon",onClick:h,disabled:c,className:"h-8 w-8",children:m.jsx(HI,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]}),t&&m.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[m.jsx(UI,{className:"w-4 h-4 text-muted-foreground"}),m.jsx("select",{value:a,onChange:y=>l(y.target.value),className:"text-sm rounded px-2 py-1 bg-card border flex-1",children:ift.map(y=>m.jsx("option",{value:y.value,children:y.label},y.value))})]}),m.jsx(Xi,{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((y,E)=>m.jsx("div",{role:"button",tabIndex:0,onClick:w=>{w.preventDefault(),w.stopPropagation(),g(y.taskId)},onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(y.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:[y.author?m.jsx($0,{name:y.author,size:"xs"}):m.jsx("div",{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 ${aft(y.changes)}`,children:m.jsx(S9,{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:oft(y)}),m.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0",children:sft(y.timestamp)})]}),m.jsxs("div",{className:"text-[11px] text-muted-foreground truncate",children:[m.jsxs("span",{className:"font-medium",children:["#",y.taskId]})," ",y.taskTitle]})]})]})},`${y.taskId}-${y.version}-${E}`))})})]})}function cft(){const[e,t]=v.useState(!1),[n,r]=v.useState(!1),[i,o]=v.useState(()=>{const l=localStorage.getItem("knowns-last-activity-check");return l?new Date(l):new Date}),s=v.useCallback(async()=>{try{const l=await da.getActivities({limit:1});l.length>0&&new Date(l[0].timestamp)>i&&t(!0)}catch(l){console.error("Failed to check activities:",l)}},[i]);v.useEffect(()=>{s()},[s]),xu("tasks:updated",()=>{n||t(!0)},[n]);const a=l=>{if(r(l),l){t(!1);const c=new Date;o(c),localStorage.setItem("knowns-last-activity-check",c.toISOString())}};return m.jsxs(L0,{open:n,onOpenChange:a,children:[m.jsx(P0,{asChild:!0,children:m.jsxs($e,{variant:"ghost",size:"icon",className:"relative h-8 w-8","aria-label":"Notifications",children:[m.jsx(oge,{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(Vh,{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(lft,{limit:20,showFilter:!1,onTaskClick:l=>{r(!1),window.location.hash=`/kanban/${l}`}})})]})})]})}const FY={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"},uft={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold"};function dft({open:e,onOpenChange:t,onTaskSelect:n,onDocSelect:r}){const[i,o]=v.useState(""),[s,a]=v.useState({tasks:[],docs:[]}),[l,c]=v.useState(!1);v.useEffect(()=>{if(!e){o(""),a({tasks:[],docs:[]});return}if(!i.trim()){a({tasks:[],docs:[]});return}c(!0);const h=setTimeout(()=>{fetch(`/api/search?q=${encodeURIComponent(i)}`).then(g=>g.json()).then(g=>{a({tasks:g.tasks||[],docs:g.docs||[]})}).catch(g=>{console.error("Search failed:",g),a({tasks:[],docs:[]})}).finally(()=>{c(!1)})},300);return()=>clearTimeout(h)},[i,e]);const u=h=>{n(h),t(!1),o("")},f=h=>{r(h),t(!1),o("")};return m.jsx(OO,{open:e,onOpenChange:t,children:m.jsx(OS,{className:"overflow-hidden p-0 max-w-2xl",hideClose:!0,children:m.jsxs(Gh,{shouldFilter:!1,children:[m.jsx(qh,{placeholder:"Search tasks and docs...",value:i,onValueChange:o}),m.jsxs(Wh,{children:[m.jsx(Yh,{children:l?"Searching...":i?"No results found.":"Type to search..."}),s.tasks.length>0&&m.jsx(el,{heading:"Tasks",children:s.tasks.slice(0,8).map(h=>{const g=FY[h.status]||FY.todo,y=uft[h.status]||h.status;return m.jsxs(Ko,{value:`task-${h.id}`,onSelect:()=>u(h),children:[m.jsx(rK,{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:["#",h.id]}),m.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${g}`,children:y})]}),m.jsx("div",{className:"font-medium truncate",children:h.title})]})]},h.id)})}),s.tasks.length>0&&s.docs.length>0&&m.jsx(sS,{}),s.docs.length>0&&m.jsx(el,{heading:"Documentation",children:s.docs.slice(0,8).map(h=>{const g=h.metadata?.title||h.filename;return m.jsxs(Ko,{value:`doc-${h.path}`,onSelect:()=>f(h),children:[m.jsx(Xo,{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:g}),m.jsx("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:m.jsx("span",{className:"truncate",children:h.path})})]})]},h.path)})})]})]})})})}const wfe={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 fft(e,t){const n=wfe[t];if(!n)return e;const r=e.indexOf(n.begin),i=e.indexOf(n.end);return r===-1||i===-1?e:e.substring(r+n.begin.length,i).trim()}function pft(e,t){const n=wfe[t];return n?e.includes(n.begin)&&e.includes(n.end):!1}function hft(e){return e.replace(/<!--[\s\S]*?-->/g,"")}function mft(e,t){return e?t&&pft(e,t)?fft(e,t):e:""}const gft="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",bft="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",yft=v.forwardRef(({markdown:e,className:t="",sectionType:n,enableGFM:r=!0,onDocLinkClick:i},o)=>{if(!e)return null;const s=hft(mft(e,n)),a=({href:l,children:c})=>{if(l&&/^(task-)?\d+(\.\d+)?(\.md)?$/.test(l)){const u=l.replace(/^task-/,"").replace(/\.md$/,""),f=`#/tasks/${u}`;return m.jsxs("a",{href:f,className:gft,"data-task-id":u,children:[m.jsx(gf,{className:"w-4 h-4 shrink-0"}),c]})}if(l&&(l.endsWith(".md")||l.includes(".md#"))){const u=l.replace(/^\.\//,""),f=`#/docs/${u}`;return m.jsxs("a",{href:f,className:bft,"data-doc-path":u,onClick:h=>{i&&(h.preventDefault(),i(u))},children:[m.jsx(Xo,{className:"w-4 h-4 shrink-0"}),c]})}return m.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:text-blue-600 underline",children:c})};return m.jsx("div",{ref:o,className:`prose prose-sm max-w-none dark:prose-invert ${t}`,children:m.jsx(nee,{remarkPlugins:r?[gC]:[],components:{a,code:({className:l,children:c,...u})=>l?m.jsx("code",{className:l,...u,children:c}):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",...u,children:c}),pre:({children:l})=>m.jsx("pre",{className:"overflow-x-auto rounded-lg p-4 text-sm bg-gray-100 dark:bg-gray-900",children:l}),table:({children:l})=>m.jsx("div",{className:"overflow-x-auto my-4",children:m.jsx("table",{className:"min-w-full border-collapse",children:l})}),th:({children:l})=>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:l}),td:({children:l})=>m.jsx("td",{className:"px-4 py-2 border border-gray-200 text-gray-700 dark:border-gray-600 dark:text-gray-200",children:l}),input:({type:l,checked:c,...u})=>l==="checkbox"?m.jsx("input",{type:"checkbox",checked:c,readOnly:!0,className:"mr-2 accent-blue-600",...u}):m.jsx("input",{type:l,...u})},children:s})})});yft.displayName="MarkdownRenderer";function pu(e,t){return typeof e=="function"?e(t):e}function rs(e,t){return n=>{t.setState(r=>({...r,[e]:pu(n,r[e])}))}}function jT(e){return e instanceof Function}function vft(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function xft(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const s=t(o);s!=null&&s.length&&r(s)})};return r(e),n}function ut(e,t,n){let r=[],i;return o=>{let s;n.key&&n.debug&&(s=Date.now());const a=e(o);if(!(a.length!==r.length||a.some((u,f)=>r[f]!==u)))return i;r=a;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...a),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const u=Math.round((Date.now()-s)*100)/100,f=Math.round((Date.now()-c)*100)/100,h=f/16,g=(y,E)=>{for(y=String(y);y.length<E;)y=" "+y;return y};console.info(`%c⏱ ${g(f,5)} /${g(u,5)} ms`,`
315
315
  font-size: .6rem;
316
316
  font-weight: bold;
317
317
  color: hsl(${Math.max(0,Math.min(120-120*h,120))}deg 100% 31%);`,n?.key)}return i}}function dt(e,t,n,r){return{debug:()=>{var i;return(i=e?.debugAll)!=null?i:e[t]},key:!1,onChange:r}}function Eft(e,t,n,r){const i=()=>{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:i,getContext:ut(()=>[e,n,t,o],(s,a,l,c)=>({table:s,column:a,row:l,cell:c,getValue:c.getValue,renderValue:c.renderValue}),dt(e.options,"debugCells"))};return e._features.forEach(s=>{s.createCell==null||s.createCell(o,n,t,e)},{}),o}function wft(e,t,n,r){var i,o;const a={...e._getDefaultColumnDef(),...t},l=a.accessorKey;let c=(i=(o=a.id)!=null?o:l?typeof String.prototype.replaceAll=="function"?l.replaceAll(".","_"):l.replace(/\./g,"_"):void 0)!=null?i:typeof a.header=="string"?a.header:void 0,u;if(a.accessorFn?u=a.accessorFn:l&&(l.includes(".")?u=h=>{let g=h;for(const E of l.split(".")){var y;g=(y=g)==null?void 0:y[E]}return g}:u=h=>h[a.accessorKey]),!c)throw new Error;let f={id:`${String(c)}`,accessorFn:u,parent:r,depth:n,columnDef:a,columns:[],getFlatColumns:ut(()=>[!0],()=>{var h;return[f,...(h=f.columns)==null?void 0:h.flatMap(g=>g.getFlatColumns())]},dt(e.options,"debugColumns")),getLeafColumns:ut(()=>[e._getOrderColumnsFn()],h=>{var g;if((g=f.columns)!=null&&g.length){let y=f.columns.flatMap(E=>E.getLeafColumns());return h(y)}return[f]},dt(e.options,"debugColumns"))};for(const h of e._features)h.createColumn==null||h.createColumn(f,e);return f}const Di="debugHeaders";function BY(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=[],a=l=>{l.subHeaders&&l.subHeaders.length&&l.subHeaders.map(a),s.push(l)};return a(o),s},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(s=>{s.createHeader==null||s.createHeader(o,e)}),o}const Sft={createTable:e=>{e.getHeaderGroups=ut(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var o,s;const a=(o=r?.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?o:[],l=(s=i?.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?s:[],c=n.filter(f=>!(r!=null&&r.includes(f.id))&&!(i!=null&&i.includes(f.id)));return yx(t,[...a,...c,...l],e)},dt(e.options,Di)),e.getCenterHeaderGroups=ut(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(i!=null&&i.includes(o.id))),yx(t,n,e,"center")),dt(e.options,Di)),e.getLeftHeaderGroups=ut(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const o=(i=r?.map(s=>n.find(a=>a.id===s)).filter(Boolean))!=null?i:[];return yx(t,o,e,"left")},dt(e.options,Di)),e.getRightHeaderGroups=ut(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const o=(i=r?.map(s=>n.find(a=>a.id===s)).filter(Boolean))!=null?i:[];return yx(t,o,e,"right")},dt(e.options,Di)),e.getFooterGroups=ut(()=>[e.getHeaderGroups()],t=>[...t].reverse(),dt(e.options,Di)),e.getLeftFooterGroups=ut(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),dt(e.options,Di)),e.getCenterFooterGroups=ut(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),dt(e.options,Di)),e.getRightFooterGroups=ut(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),dt(e.options,Di)),e.getFlatHeaders=ut(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),dt(e.options,Di)),e.getLeftFlatHeaders=ut(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),dt(e.options,Di)),e.getCenterFlatHeaders=ut(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),dt(e.options,Di)),e.getRightFlatHeaders=ut(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),dt(e.options,Di)),e.getCenterLeafHeaders=ut(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),dt(e.options,Di)),e.getLeftLeafHeaders=ut(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),dt(e.options,Di)),e.getRightLeafHeaders=ut(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),dt(e.options,Di)),e.getLeafHeaders=ut(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,o,s,a,l,c;return[...(i=(o=t[0])==null?void 0:o.headers)!=null?i:[],...(s=(a=n[0])==null?void 0:a.headers)!=null?s:[],...(l=(c=r[0])==null?void 0:c.headers)!=null?l:[]].map(u=>u.getLeafHeaders()).flat()},dt(e.options,Di))}};function yx(e,t,n,r){var i,o;let s=0;const a=function(h,g){g===void 0&&(g=1),s=Math.max(s,g),h.filter(y=>y.getIsVisible()).forEach(y=>{var E;(E=y.columns)!=null&&E.length&&a(y.columns,g+1)},0)};a(e);let l=[];const c=(h,g)=>{const y={depth:g,id:[r,`${g}`].filter(Boolean).join("_"),headers:[]},E=[];h.forEach(w=>{const S=[...E].reverse()[0],T=w.column.depth===y.depth;let A,R=!1;if(T&&w.column.parent?A=w.column.parent:(A=w.column,R=!0),S&&S?.column===A)S.subHeaders.push(w);else{const _=BY(n,A,{id:[r,g,A.id,w?.id].filter(Boolean).join("_"),isPlaceholder:R,placeholderId:R?`${E.filter(D=>D.column===A).length}`:void 0,depth:g,index:E.length});_.subHeaders.push(w),E.push(_)}y.headers.push(w),w.headerGroup=y}),l.push(y),g>0&&c(E,g-1)},u=t.map((h,g)=>BY(n,h,{depth:s,index:g}));c(u,s-1),l.reverse();const f=h=>h.filter(y=>y.column.getIsVisible()).map(y=>{let E=0,w=0,S=[0];y.subHeaders&&y.subHeaders.length?(S=[],f(y.subHeaders).forEach(A=>{let{colSpan:R,rowSpan:_}=A;E+=R,S.push(_)})):E=1;const T=Math.min(...S);return w=w+T,y.colSpan=E,y.rowSpan=w,{colSpan:E,rowSpan:w}});return f((i=(o=l[0])==null?void 0:o.headers)!=null?i:[]),l}const mB=(e,t,n,r,i,o,s)=>{let a={id:t,index:r,original:n,depth:i,parentId:s,_valuesCache:{},_uniqueValuesCache:{},getValue:l=>{if(a._valuesCache.hasOwnProperty(l))return a._valuesCache[l];const c=e.getColumn(l);if(c!=null&&c.accessorFn)return a._valuesCache[l]=c.accessorFn(a.original,r),a._valuesCache[l]},getUniqueValues:l=>{if(a._uniqueValuesCache.hasOwnProperty(l))return a._uniqueValuesCache[l];const c=e.getColumn(l);if(c!=null&&c.accessorFn)return c.columnDef.getUniqueValues?(a._uniqueValuesCache[l]=c.columnDef.getUniqueValues(a.original,r),a._uniqueValuesCache[l]):(a._uniqueValuesCache[l]=[a.getValue(l)],a._uniqueValuesCache[l])},renderValue:l=>{var c;return(c=a.getValue(l))!=null?c:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>xft(a.subRows,l=>l.subRows),getParentRow:()=>a.parentId?e.getRow(a.parentId,!0):void 0,getParentRows:()=>{let l=[],c=a;for(;;){const u=c.getParentRow();if(!u)break;l.push(u),c=u}return l.reverse()},getAllCells:ut(()=>[e.getAllLeafColumns()],l=>l.map(c=>Eft(e,a,c,c.id)),dt(e.options,"debugRows")),_getAllCellsByColumnId:ut(()=>[a.getAllCells()],l=>l.reduce((c,u)=>(c[u.column.id]=u,c),{}),dt(e.options,"debugRows"))};for(let l=0;l<e._features.length;l++){const c=e._features[l];c==null||c.createRow==null||c.createRow(a,e)}return a},Cft={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()}}},Sfe=(e,t,n)=>{var r,i;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(o))};Sfe.autoRemove=e=>ga(e);const Cfe=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};Cfe.autoRemove=e=>ga(e);const Tfe=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};Tfe.autoRemove=e=>ga(e);const kfe=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};kfe.autoRemove=e=>ga(e);const Afe=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});Afe.autoRemove=e=>ga(e)||!(e!=null&&e.length);const Nfe=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});Nfe.autoRemove=e=>ga(e)||!(e!=null&&e.length);const _fe=(e,t,n)=>e.getValue(t)===n;_fe.autoRemove=e=>ga(e);const Rfe=(e,t,n)=>e.getValue(t)==n;Rfe.autoRemove=e=>ga(e);const gB=(e,t,n)=>{let[r,i]=n;const o=e.getValue(t);return o>=r&&o<=i};gB.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,s=n===null||Number.isNaN(i)?1/0:i;if(o>s){const a=o;o=s,s=a}return[o,s]};gB.autoRemove=e=>ga(e)||ga(e[0])&&ga(e[1]);const ql={includesString:Sfe,includesStringSensitive:Cfe,equalsString:Tfe,arrIncludes:kfe,arrIncludesAll:Afe,arrIncludesSome:Nfe,equals:_fe,weakEquals:Rfe,inNumberRange:gB};function ga(e){return e==null||e===""}const Tft={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:rs("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"?ql.includesString:typeof r=="number"?ql.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?ql.equals:Array.isArray(r)?ql.arrIncludes:ql.weakEquals},e.getFilterFn=()=>{var n,r;return jT(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:ql[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,i;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!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(i=>i.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const i=e.getFilterFn(),o=r?.find(u=>u.id===e.id),s=pu(n,o?o.value:void 0);if(jY(i,s,e)){var a;return(a=r?.filter(u=>u.id!==e.id))!=null?a:[]}const l={id:e.id,value:s};if(o){var c;return(c=r?.map(u=>u.id===e.id?l:u))!=null?c:[]}return r!=null&&r.length?[...r,l]:[l]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=i=>{var o;return(o=pu(t,i))==null?void 0:o.filter(s=>{const a=n.find(l=>l.id===s.id);if(a){const l=a.getFilterFn();if(jY(l,s.value,a))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 jY(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const kft=(e,t,n)=>n.reduce((r,i)=>{const o=i.getValue(e);return r+(typeof o=="number"?o:0)},0),Aft=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},Nft=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}),r},_ft=(e,t,n)=>{let r,i;return n.forEach(o=>{const s=o.getValue(e);s!=null&&(r===void 0?s>=s&&(r=i=s):(r>s&&(r=s),i<s&&(i=s)))}),[r,i]},Rft=(e,t)=>{let n=0,r=0;if(t.forEach(i=>{let o=i.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},Dft=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!vft(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),i=n.sort((o,s)=>o-s);return n.length%2!==0?i[r]:(i[r-1]+i[r])/2},Ift=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),Oft=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,Mft=(e,t)=>t.length,L_={sum:kft,min:Aft,max:Nft,extent:_ft,mean:Rft,median:Dft,unique:Ift,uniqueCount:Oft,count:Mft},Lft={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:rs("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 L_.sum;if(Object.prototype.toString.call(r)==="[object Date]")return L_.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return jT(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:L_[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 i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=n.subRows)!=null&&i.length)}}};function Pft(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 Fft={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:rs("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=ut(n=>[jb(t,n)],n=>n.findIndex(r=>r.id===e.id),dt(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=jb(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const i=jb(t,n);return((r=i[i.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=ut(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let o=[];if(!(t!=null&&t.length))o=i;else{const s=[...t],a=[...i];for(;a.length&&s.length;){const l=s.shift(),c=a.findIndex(u=>u.id===l);c>-1&&o.push(a.splice(c,1)[0])}o=[...o,...a]}return Pft(o,n,r)},dt(e.options,"debugTable"))}},P_=()=>({left:[],right:[]}),Bft={getInitialState:e=>({columnPinning:P_(),...e}),getDefaultOptions:e=>({onColumnPinningChange:rs("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var o,s;if(n==="right"){var a,l;return{left:((a=i?.left)!=null?a:[]).filter(f=>!(r!=null&&r.includes(f))),right:[...((l=i?.right)!=null?l:[]).filter(f=>!(r!=null&&r.includes(f))),...r]}}if(n==="left"){var c,u;return{left:[...((c=i?.left)!=null?c:[]).filter(f=>!(r!=null&&r.includes(f))),...r],right:((u=i?.right)!=null?u:[]).filter(f=>!(r!=null&&r.includes(f)))}}return{left:((o=i?.left)!=null?o:[]).filter(f=>!(r!=null&&r.includes(f))),right:((s=i?.right)!=null?s:[]).filter(f=>!(r!=null&&r.includes(f)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var i,o,s;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((o=(s=t.options.enableColumnPinning)!=null?s:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(a=>a.id),{left:r,right:i}=t.getState().columnPinning,o=n.some(a=>r?.includes(a)),s=n.some(a=>i?.includes(a));return o?"left":s?"right":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();return i?(n=(r=t.getState().columnPinning)==null||(r=r[i])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=ut(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const o=[...r??[],...i??[]];return n.filter(s=>!o.includes(s.column.id))},dt(t.options,"debugRows")),e.getLeftVisibleCells=ut(()=>[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"})),dt(t.options,"debugRows")),e.getRightVisibleCells=ut(()=>[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"})),dt(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?P_():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:P_())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var i,o;return!!((i=r.left)!=null&&i.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=ut(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),dt(e.options,"debugColumns")),e.getRightLeafColumns=ut(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),dt(e.options,"debugColumns")),e.getCenterLeafColumns=ut(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(o=>!i.includes(o.id))},dt(e.options,"debugColumns"))}};function jft(e){return e||(typeof document<"u"?document:null)}const vx={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},F_=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),$ft={getDefaultColumnDef:()=>vx,getInitialState:e=>({columnSizing:{},columnSizingInfo:F_(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:rs("columnSizing",e),onColumnSizingInfoChange:rs("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,i;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:vx.minSize,(r=o??e.columnDef.size)!=null?r:vx.size),(i=e.columnDef.maxSize)!=null?i:vx.maxSize)},e.getStart=ut(n=>[n,jb(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((i,o)=>i+o.getSize(),0),dt(t.options,"debugColumns")),e.getAfter=ut(n=>[n,jb(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((i,o)=>i+o.getSize(),0),dt(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...i}=n;return i})},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=i=>{if(i.subHeaders.length)i.subHeaders.forEach(r);else{var o;n+=(o=i.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),i=r?.getCanResize();return o=>{if(!r||!i||(o.persist==null||o.persist(),B_(o)&&o.touches&&o.touches.length>1))return;const s=e.getSize(),a=e?e.getLeafHeaders().map(S=>[S.column.id,S.column.getSize()]):[[r.id,r.getSize()]],l=B_(o)?Math.round(o.touches[0].clientX):o.clientX,c={},u=(S,T)=>{typeof T=="number"&&(t.setColumnSizingInfo(A=>{var R,_;const D=t.options.columnResizeDirection==="rtl"?-1:1,I=(T-((R=A?.startOffset)!=null?R:0))*D,M=Math.max(I/((_=A?.startSize)!=null?_:0),-.999999);return A.columnSizingStart.forEach(j=>{let[L,F]=j;c[L]=Math.round(Math.max(F+F*M,0)*100)/100}),{...A,deltaOffset:I,deltaPercentage:M}}),(t.options.columnResizeMode==="onChange"||S==="end")&&t.setColumnSizing(A=>({...A,...c})))},f=S=>u("move",S),h=S=>{u("end",S),t.setColumnSizingInfo(T=>({...T,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},g=jft(n),y={moveHandler:S=>f(S.clientX),upHandler:S=>{g?.removeEventListener("mousemove",y.moveHandler),g?.removeEventListener("mouseup",y.upHandler),h(S.clientX)}},E={moveHandler:S=>(S.cancelable&&(S.preventDefault(),S.stopPropagation()),f(S.touches[0].clientX),!1),upHandler:S=>{var T;g?.removeEventListener("touchmove",E.moveHandler),g?.removeEventListener("touchend",E.upHandler),S.cancelable&&(S.preventDefault(),S.stopPropagation()),h((T=S.touches[0])==null?void 0:T.clientX)}},w=Uft()?{passive:!1}:!1;B_(o)?(g?.addEventListener("touchmove",E.moveHandler,w),g?.addEventListener("touchend",E.upHandler,w)):(g?.addEventListener("mousemove",y.moveHandler,w),g?.addEventListener("mouseup",y.upHandler,w)),t.setColumnSizingInfo(S=>({...S,startOffset:l,startSize:s,deltaOffset:0,deltaPercentage:0,columnSizingStart:a,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?F_():(n=e.initialState.columnSizingInfo)!=null?n:F_())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0}}};let xx=null;function Uft(){if(typeof xx=="boolean")return xx;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 xx=e,xx}function B_(e){return e.type==="touchstart"}const Hft={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:rs("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 i=e.columns;return(n=i.length?i.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=ut(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),dt(t.options,"debugRows")),e.getVisibleCells=ut(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,i)=>[...n,...r,...i],dt(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>ut(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),dt(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((i,o)=>({...i,[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 jb(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const zft={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()}}},Vft={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:rs("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,i,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ql.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return jT(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:ql[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Gft={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:rs("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i: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 i,o;e.setExpanded(r?{}:(i=(o=e.initialState)==null?void 0:o.expanded)!=null?i:{})},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(i=>!i.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 i;const o=r===!0?!0:!!(r!=null&&r[e.id]);let s={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(a=>{s[a]=!0}):s=r,n=(i=n)!=null?i:!o,!o&&n)return{...s,[e.id]:!0};if(o&&!n){const{[e.id]:a,...l}=s;return l}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,i;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((i=e.subRows)!=null&&i.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()}}}},OI=0,MI=10,j_=()=>({pageIndex:OI,pageSize:MI}),qft={getInitialState:e=>({...e,pagination:{...j_(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:rs("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const i=o=>pu(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},e.resetPagination=r=>{var i;e.setPagination(r?j_():(i=e.initialState.pagination)!=null?i:j_())},e.setPageIndex=r=>{e.setPagination(i=>{let o=pu(r,i.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)),{...i,pageIndex:o}})},e.resetPageIndex=r=>{var i,o;e.setPageIndex(r?OI:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?i:OI)},e.resetPageSize=r=>{var i,o;e.setPageSize(r?MI:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?i:MI)},e.setPageSize=r=>{e.setPagination(i=>{const o=Math.max(1,pu(r,i.pageSize)),s=i.pageSize*i.pageIndex,a=Math.floor(s/o);return{...i,pageIndex:a,pageSize:o}})},e.setPageCount=r=>e.setPagination(i=>{var o;let s=pu(r,(o=e.options.pageCount)!=null?o:-1);return typeof s=="number"&&(s=Math.max(-1,s)),{...i,pageCount:s}}),e.getPageOptions=ut(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((o,s)=>s)),i},dt(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:r<i-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}}},$_=()=>({top:[],bottom:[]}),Wft={getInitialState:e=>({rowPinning:$_(),...e}),getDefaultOptions:e=>({onRowPinningChange:rs("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{const o=r?e.getLeafRows().map(l=>{let{id:c}=l;return c}):[],s=i?e.getParentRows().map(l=>{let{id:c}=l;return c}):[],a=new Set([...s,e.id,...o]);t.setRowPinning(l=>{var c,u;if(n==="bottom"){var f,h;return{top:((f=l?.top)!=null?f:[]).filter(E=>!(a!=null&&a.has(E))),bottom:[...((h=l?.bottom)!=null?h:[]).filter(E=>!(a!=null&&a.has(E))),...Array.from(a)]}}if(n==="top"){var g,y;return{top:[...((g=l?.top)!=null?g:[]).filter(E=>!(a!=null&&a.has(E))),...Array.from(a)],bottom:((y=l?.bottom)!=null?y:[]).filter(E=>!(a!=null&&a.has(E)))}}return{top:((c=l?.top)!=null?c:[]).filter(E=>!(a!=null&&a.has(E))),bottom:((u=l?.bottom)!=null?u:[]).filter(E=>!(a!=null&&a.has(E)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:i}=t.options;return typeof r=="function"?r(e):(n=r??i)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,o=n.some(a=>r?.includes(a)),s=n.some(a=>i?.includes(a));return o?"top":s?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();if(!i)return-1;const o=(n=i==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(s=>{let{id:a}=s;return a});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?$_():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:$_())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var i,o;return!!((i=r.top)!=null&&i.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var i;return((i=e.options.keepPinnedRows)==null||i?(n??[]).map(s=>{const a=e.getRow(s,!0);return a.getIsAllParentsExpanded()?a:null}):(n??[]).map(s=>t.find(a=>a.id===s))).filter(Boolean).map(s=>({...s,position:r}))},e.getTopRows=ut(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),dt(e.options,"debugRows")),e.getBottomRows=ut(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),dt(e.options,"debugRows")),e.getCenterRows=ut(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const i=new Set([...n??[],...r??[]]);return t.filter(o=>!i.has(o.id))},dt(e.options,"debugRows"))}},Yft={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:rs("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},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):i.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(o=>{LI(i,o.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=ut(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?U_(e,n):{rows:[],flatRows:[],rowsById:{}},dt(e.options,"debugTable")),e.getFilteredSelectedRowModel=ut(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?U_(e,n):{rows:[],flatRows:[],rowsById:{}},dt(e.options,"debugTable")),e.getGroupedSelectedRowModel=ut(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?U_(e,n):{rows:[],flatRows:[],rowsById:{}},dt(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(i=>i.getCanSelect()&&!n[i.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(i=>i.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(i=>!n[i.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 i=e.getIsSelected();t.setRowSelection(o=>{var s;if(n=typeof n<"u"?n:!i,e.getCanSelect()&&i===n)return o;const a={...o};return LI(a,e.id,n,(s=r?.selectChildren)!=null?s:!0,t),a})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return bB(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return PI(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return PI(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 i;n&&e.toggleSelected((i=r.target)==null?void 0:i.checked)}}}},LI=(e,t,n,r,i)=>{var o;const s=i.getRow(t,!0);n?(s.getCanMultiSelect()||Object.keys(e).forEach(a=>delete e[a]),s.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=s.subRows)!=null&&o.length&&s.getCanSelectSubRows()&&s.subRows.forEach(a=>LI(e,a.id,n,r,i))};function U_(e,t){const n=e.getState().rowSelection,r=[],i={},o=function(s,a){return s.map(l=>{var c;const u=bB(l,n);if(u&&(r.push(l),i[l.id]=l),(c=l.subRows)!=null&&c.length&&(l={...l,subRows:o(l.subRows)}),u)return l}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:i}}function bB(e,t){var n;return(n=t[e.id])!=null?n:!1}function PI(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,o=!1;return e.subRows.forEach(s=>{if(!(o&&!i)&&(s.getCanSelect()&&(bB(s,t)?o=!0:i=!1),s.subRows&&s.subRows.length)){const a=PI(s,t);a==="all"?o=!0:(a==="some"&&(o=!0),i=!1)}}),i?"all":o?"some":!1}const FI=/([0-9]+)/gm,Kft=(e,t,n)=>Dfe($u(e.getValue(n)).toLowerCase(),$u(t.getValue(n)).toLowerCase()),Xft=(e,t,n)=>Dfe($u(e.getValue(n)),$u(t.getValue(n))),Zft=(e,t,n)=>yB($u(e.getValue(n)).toLowerCase(),$u(t.getValue(n)).toLowerCase()),Qft=(e,t,n)=>yB($u(e.getValue(n)),$u(t.getValue(n))),Jft=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},ept=(e,t,n)=>yB(e.getValue(n),t.getValue(n));function yB(e,t){return e===t?0:e>t?1:-1}function $u(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Dfe(e,t){const n=e.split(FI).filter(Boolean),r=t.split(FI).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),o=r.shift(),s=parseInt(i,10),a=parseInt(o,10),l=[s,a].sort();if(isNaN(l[0])){if(i>o)return 1;if(o>i)return-1;continue}if(isNaN(l[1]))return isNaN(s)?-1:1;if(s>a)return 1;if(a>s)return-1}return n.length-r.length}const Xg={alphanumeric:Kft,alphanumericCaseSensitive:Xft,text:Zft,textCaseSensitive:Qft,datetime:Jft,basic:ept},tpt={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:rs("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const i of n){const o=i?.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return Xg.datetime;if(typeof o=="string"&&(r=!0,o.split(FI).length>1))return Xg.alphanumeric}return r?Xg.text:Xg.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 jT(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:Xg[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const i=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(s=>{const a=s?.find(g=>g.id===e.id),l=s?.findIndex(g=>g.id===e.id);let c=[],u,f=o?n:i==="desc";if(s!=null&&s.length&&e.getCanMultiSort()&&r?a?u="toggle":u="add":s!=null&&s.length&&l!==s.length-1?u="replace":a?u="toggle":u="replace",u==="toggle"&&(o||i||(u="remove")),u==="add"){var h;c=[...s,{id:e.id,desc:f}],c.splice(0,c.length-((h=t.options.maxMultiSortColCount)!=null?h:Number.MAX_SAFE_INTEGER))}else u==="toggle"?c=s.map(g=>g.id===e.id?{...g,desc:f}:g):u==="remove"?c=s.filter(g=>g.id!==e.id):c=[{id:e.id,desc:f}];return c})},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,i;const o=e.getFirstSortDir(),s=e.getIsSorted();return s?s!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(i=t.options.enableMultiRemove)!=null)||i)?!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(i=>i.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(i=>i.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())}},npt=[Sft,Hft,Fft,Bft,Cft,Tft,zft,Vft,tpt,Lft,Gft,qft,Wft,Yft,$ft];function rpt(e){var t,n;const r=[...npt,...(t=e._features)!=null?t:[]];let i={_features:r};const o=i._features.reduce((h,g)=>Object.assign(h,g.getDefaultOptions==null?void 0:g.getDefaultOptions(i)),{}),s=h=>i.options.mergeOptions?i.options.mergeOptions(o,h):{...o,...h};let l={...{},...(n=e.initialState)!=null?n:{}};i._features.forEach(h=>{var g;l=(g=h.getInitialState==null?void 0:h.getInitialState(l))!=null?g:l});const c=[];let u=!1;const f={_features:r,options:{...o,...e},initialState:l,_queue:h=>{c.push(h),u||(u=!0,Promise.resolve().then(()=>{for(;c.length;)c.shift()();u=!1}).catch(g=>setTimeout(()=>{throw g})))},reset:()=>{i.setState(i.initialState)},setOptions:h=>{const g=pu(h,i.options);i.options=s(g)},getState:()=>i.options.state,setState:h=>{i.options.onStateChange==null||i.options.onStateChange(h)},_getRowId:(h,g,y)=>{var E;return(E=i.options.getRowId==null?void 0:i.options.getRowId(h,g,y))!=null?E:`${y?[y.id,g].join("."):g}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(h,g)=>{let y=(g?i.getPrePaginationRowModel():i.getRowModel()).rowsById[h];if(!y&&(y=i.getCoreRowModel().rowsById[h],!y))throw new Error;return y},_getDefaultColumnDef:ut(()=>[i.options.defaultColumn],h=>{var g;return h=(g=h)!=null?g:{},{header:y=>{const E=y.header.column.columnDef;return E.accessorKey?E.accessorKey:E.accessorFn?E.id:null},cell:y=>{var E,w;return(E=(w=y.renderValue())==null||w.toString==null?void 0:w.toString())!=null?E:null},...i._features.reduce((y,E)=>Object.assign(y,E.getDefaultColumnDef==null?void 0:E.getDefaultColumnDef()),{}),...h}},dt(e,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:ut(()=>[i._getColumnDefs()],h=>{const g=function(y,E,w){return w===void 0&&(w=0),y.map(S=>{const T=wft(i,S,w,E),A=S;return T.columns=A.columns?g(A.columns,T,w+1):[],T})};return g(h)},dt(e,"debugColumns")),getAllFlatColumns:ut(()=>[i.getAllColumns()],h=>h.flatMap(g=>g.getFlatColumns()),dt(e,"debugColumns")),_getAllFlatColumnsById:ut(()=>[i.getAllFlatColumns()],h=>h.reduce((g,y)=>(g[y.id]=y,g),{}),dt(e,"debugColumns")),getAllLeafColumns:ut(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(h,g)=>{let y=h.flatMap(E=>E.getLeafColumns());return g(y)},dt(e,"debugColumns")),getColumn:h=>i._getAllFlatColumnsById()[h]};Object.assign(i,f);for(let h=0;h<i._features.length;h++){const g=i._features[h];g==null||g.createTable==null||g.createTable(i)}return i}function ipt(){return e=>ut(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,o,s){o===void 0&&(o=0);const a=[];for(let c=0;c<i.length;c++){const u=mB(e,e._getRowId(i[c],c,s),i[c],c,o,void 0,s?.id);if(n.flatRows.push(u),n.rowsById[u.id]=u,a.push(u),e.options.getSubRows){var l;u.originalSubRows=e.options.getSubRows(i[c],c),(l=u.originalSubRows)!=null&&l.length&&(u.subRows=r(u.originalSubRows,o+1,u))}}return a};return n.rows=r(t),n},dt(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function opt(e){const t=[],n=r=>{var i;t.push(r),(i=r.subRows)!=null&&i.length&&r.getIsExpanded()&&r.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function Ife(e,t,n){return n.options.filterFromLeafRows?spt(e,t,n):apt(e,t,n)}function spt(e,t,n){var r;const i=[],o={},s=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,a=function(l,c){c===void 0&&(c=0);const u=[];for(let h=0;h<l.length;h++){var f;let g=l[h];const y=mB(n,g.id,g.original,g.index,g.depth,void 0,g.parentId);if(y.columnFilters=g.columnFilters,(f=g.subRows)!=null&&f.length&&c<s){if(y.subRows=a(g.subRows,c+1),g=y,t(g)&&!y.subRows.length){u.push(g),o[g.id]=g,i.push(g);continue}if(t(g)||y.subRows.length){u.push(g),o[g.id]=g,i.push(g);continue}}else g=y,t(g)&&(u.push(g),o[g.id]=g,i.push(g))}return u};return{rows:a(e),flatRows:i,rowsById:o}}function apt(e,t,n){var r;const i=[],o={},s=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,a=function(l,c){c===void 0&&(c=0);const u=[];for(let h=0;h<l.length;h++){let g=l[h];if(t(g)){var f;if((f=g.subRows)!=null&&f.length&&c<s){const E=mB(n,g.id,g.original,g.index,g.depth,void 0,g.parentId);E.subRows=a(g.subRows,c+1),g=E}u.push(g),i.push(g),o[g.id]=g}}return u};return{rows:a(e),flatRows:i,rowsById:o}}function lpt(){return(e,t)=>ut(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()],(n,r,i)=>{if(!n.rows.length||!(r!=null&&r.length)&&!i)return n;const o=[...r.map(a=>a.id).filter(a=>a!==t),i?"__global__":void 0].filter(Boolean),s=a=>{for(let l=0;l<o.length;l++)if(a.columnFilters[o[l]]===!1)return!1;return!0};return Ife(n.rows,s,e)},dt(e.options,"debugTable"))}function cpt(){return(e,t)=>ut(()=>{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 a=0;a<s.length;a++){const l=s[a];if(r.has(l)){var i;r.set(l,((i=r.get(l))!=null?i:0)+1)}else r.set(l,1)}}return r},dt(e.options,"debugTable"))}function upt(){return e=>ut(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let h=0;h<t.flatRows.length;h++)t.flatRows[h].columnFilters={},t.flatRows[h].columnFiltersMeta={};return t}const i=[],o=[];(n??[]).forEach(h=>{var g;const y=e.getColumn(h.id);if(!y)return;const E=y.getFilterFn();E&&i.push({id:h.id,filterFn:E,resolvedValue:(g=E.resolveFilterValue==null?void 0:E.resolveFilterValue(h.value))!=null?g:h.value})});const s=(n??[]).map(h=>h.id),a=e.getGlobalFilterFn(),l=e.getAllLeafColumns().filter(h=>h.getCanGlobalFilter());r&&a&&l.length&&(s.push("__global__"),l.forEach(h=>{var g;o.push({id:h.id,filterFn:a,resolvedValue:(g=a.resolveFilterValue==null?void 0:a.resolveFilterValue(r))!=null?g:r})}));let c,u;for(let h=0;h<t.flatRows.length;h++){const g=t.flatRows[h];if(g.columnFilters={},i.length)for(let y=0;y<i.length;y++){c=i[y];const E=c.id;g.columnFilters[E]=c.filterFn(g,E,c.resolvedValue,w=>{g.columnFiltersMeta[E]=w})}if(o.length){for(let y=0;y<o.length;y++){u=o[y];const E=u.id;if(u.filterFn(g,E,u.resolvedValue,w=>{g.columnFiltersMeta[E]=w})){g.columnFilters.__global__=!0;break}}g.columnFilters.__global__!==!0&&(g.columnFilters.__global__=!1)}}const f=h=>{for(let g=0;g<s.length;g++)if(h.columnFilters[s[g]]===!1)return!1;return!0};return Ife(t.rows,f,e)},dt(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex()))}function dpt(e){return t=>ut(()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded],(n,r)=>{if(!r.rows.length)return r;const{pageSize:i,pageIndex:o}=n;let{rows:s,flatRows:a,rowsById:l}=r;const c=i*o,u=c+i;s=s.slice(c,u);let f;t.options.paginateExpandedRows?f={rows:s,flatRows:a,rowsById:l}:f=opt({rows:s,flatRows:a,rowsById:l}),f.flatRows=[];const h=g=>{f.flatRows.push(g),g.subRows.length&&g.subRows.forEach(h)};return f.rows.forEach(h),f},dt(t.options,"debugTable"))}function fpt(){return e=>ut(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],o=r.filter(l=>{var c;return(c=e.getColumn(l.id))==null?void 0:c.getCanSort()}),s={};o.forEach(l=>{const c=e.getColumn(l.id);c&&(s[l.id]={sortUndefined:c.columnDef.sortUndefined,invertSorting:c.columnDef.invertSorting,sortingFn:c.getSortingFn()})});const a=l=>{const c=l.map(u=>({...u}));return c.sort((u,f)=>{for(let g=0;g<o.length;g+=1){var h;const y=o[g],E=s[y.id],w=E.sortUndefined,S=(h=y?.desc)!=null?h:!1;let T=0;if(w){const A=u.getValue(y.id),R=f.getValue(y.id),_=A===void 0,D=R===void 0;if(_||D){if(w==="first")return _?-1:1;if(w==="last")return _?1:-1;T=_&&D?0:_?w:-w}}if(T===0&&(T=E.sortingFn(u,f,y.id)),T!==0)return S&&(T*=-1),E.invertSorting&&(T*=-1),T}return u.index-f.index}),c.forEach(u=>{var f;i.push(u),(f=u.subRows)!=null&&f.length&&(u.subRows=a(u.subRows))}),c};return{rows:a(n.rows),flatRows:i,rowsById:n.rowsById}},dt(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function $Y(e,t){return e?ppt(e)?v.createElement(e,t):e:null}function ppt(e){return hpt(e)||typeof e=="function"||mpt(e)}function hpt(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function mpt(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function gpt(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=v.useState(()=>({current:rpt(t)})),[r,i]=v.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:s=>{i(s),e.onStateChange==null||e.onStateChange(s)}})),n.current}const Ofe=v.forwardRef(({className:e,...t},n)=>m.jsx("div",{className:"relative w-full overflow-auto",children:m.jsx("table",{ref:n,className:we("w-full caption-bottom text-sm",e),...t})}));Ofe.displayName="Table";const Mfe=v.forwardRef(({className:e,...t},n)=>m.jsx("thead",{ref:n,className:we("[&_tr]:border-b",e),...t}));Mfe.displayName="TableHeader";const Lfe=v.forwardRef(({className:e,...t},n)=>m.jsx("tbody",{ref:n,className:we("[&_tr:last-child]:border-0",e),...t}));Lfe.displayName="TableBody";const bpt=v.forwardRef(({className:e,...t},n)=>m.jsx("tfoot",{ref:n,className:we("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));bpt.displayName="TableFooter";const lE=v.forwardRef(({className:e,...t},n)=>m.jsx("tr",{ref:n,className:we("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));lE.displayName="TableRow";const Pfe=v.forwardRef(({className:e,...t},n)=>m.jsx("th",{ref:n,className:we("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}));Pfe.displayName="TableHead";const BI=v.forwardRef(({className:e,...t},n)=>m.jsx("td",{ref:n,className:we("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));BI.displayName="TableCell";const ypt=v.forwardRef(({className:e,...t},n)=>m.jsx("caption",{ref:n,className:we("mt-4 text-sm text-muted-foreground",e),...t}));ypt.displayName="TableCaption";function vpt({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(Yi,{value:`${e.getState().pagination.pageSize}`,onValueChange:n=>{e.setPageSize(Number(n))},children:[m.jsx(Pi,{className:"h-8 w-[70px]",children:m.jsx(Ki,{placeholder:e.getState().pagination.pageSize})}),m.jsx(Fi,{side:"top",children:[10,20,30,40,50].map(n=>m.jsx(yn,{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($e,{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(mge,{className:"h-4 w-4"})]}),m.jsxs($e,{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(dge,{className:"h-4 w-4"})]}),m.jsxs($e,{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(vh,{className:"h-4 w-4"})]}),m.jsxs($e,{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(bge,{className:"h-4 w-4"})]})]})]})]})}function xpt({columns:e,data:t,toolbar:n,onRowClick:r,showPagination:i=!0,showRowSelection:o=!0,initialSorting:s=[],onSelectionChange:a}){const[l,c]=v.useState({}),[u,f]=v.useState({}),[h,g]=v.useState([]),[y,E]=v.useState(s),w=gpt({data:t,columns:e,state:{sorting:y,columnVisibility:u,rowSelection:l,columnFilters:h},enableRowSelection:!0,onRowSelectionChange:c,onSortingChange:E,onColumnFiltersChange:g,onColumnVisibilityChange:f,getCoreRowModel:ipt(),getFilteredRowModel:upt(),getPaginationRowModel:dpt(),getSortedRowModel:fpt(),getFacetedRowModel:lpt(),getFacetedUniqueValues:cpt()});return v.useEffect(()=>{if(a){const S=w.getFilteredSelectedRowModel().rows.map(T=>T.original);a(S)}},[l,a,w]),m.jsxs("div",{className:"space-y-4",children:[n,m.jsx("div",{className:"rounded-md border",children:m.jsxs(Ofe,{children:[m.jsx(Mfe,{children:w.getHeaderGroups().map(S=>m.jsx(lE,{children:S.headers.map(T=>m.jsx(Pfe,{colSpan:T.colSpan,children:T.isPlaceholder?null:$Y(T.column.columnDef.header,T.getContext())},T.id))},S.id))}),m.jsx(Lfe,{children:w.getRowModel().rows?.length?w.getRowModel().rows.map(S=>m.jsx(lE,{"data-state":S.getIsSelected()&&"selected",onClick:()=>r?.(S.original),className:r?"cursor-pointer":"",children:S.getVisibleCells().map(T=>m.jsx(BI,{children:$Y(T.column.columnDef.cell,T.getContext())},T.id))},S.id)):m.jsx(lE,{children:m.jsx(BI,{colSpan:e.length,className:"h-24 text-center",children:"No results."})})})]})}),i&&m.jsx(vpt,{table:w,showRowSelection:o})]})}const Ffe=zle,Bfe=Vle,Ept=v.forwardRef(({className:e,inset:t,children:n,...r},i)=>m.jsxs(wF,{ref:i,className:we("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(vh,{className:"ml-auto"})]}));Ept.displayName=wF.displayName;const wpt=v.forwardRef(({className:e,...t},n)=>m.jsx(SF,{ref:n,className:we("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}));wpt.displayName=SF.displayName;const vB=v.forwardRef(({className:e,sideOffset:t=4,...n},r)=>m.jsx(ant,{children:m.jsx(gF,{ref:r,sideOffset:t,className:we("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})}));vB.displayName=gF.displayName;const $b=v.forwardRef(({className:e,inset:t,...n},r)=>m.jsx(yF,{ref:r,className:we("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}));$b.displayName=yF.displayName;const Spt=v.forwardRef(({className:e,children:t,checked:n,...r},i)=>m.jsxs(vF,{ref:i,className:we("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(xF,{children:m.jsx(Ds,{className:"h-4 w-4"})})}),t]}));Spt.displayName=vF.displayName;const Cpt=v.forwardRef(({className:e,children:t,...n},r)=>m.jsxs(Gle,{ref:r,className:we("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(xF,{children:m.jsx(JY,{className:"h-2 w-2 fill-current"})})}),t]}));Cpt.displayName=Gle.displayName;const Tpt=v.forwardRef(({className:e,inset:t,...n},r)=>m.jsx(bF,{ref:r,className:we("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));Tpt.displayName=bF.displayName;const jfe=v.forwardRef(({className:e,...t},n)=>m.jsx(EF,{ref:n,className:we("-mx-1 my-1 h-px bg-muted",e),...t}));jfe.displayName=EF.displayName;function Sd({column:e,title:t,className:n}){return e.getCanSort()?m.jsx("div",{className:we("flex items-center space-x-2",n),children:m.jsxs(Ffe,{children:[m.jsx(Bfe,{asChild:!0,children:m.jsxs($e,{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(G_,{className:"ml-2 h-4 w-4"}):e.getIsSorted()==="asc"?m.jsx(yh,{className:"ml-2 h-4 w-4"}):m.jsx(cE,{className:"ml-2 h-4 w-4"})]})}),m.jsxs(vB,{align:"start",children:[m.jsxs($b,{onClick:()=>e.toggleSorting(!1),children:[m.jsx(yh,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Asc"]}),m.jsxs($b,{onClick:()=>e.toggleSorting(!0),children:[m.jsx(G_,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Desc"]}),e.getCanHide()&&m.jsxs(m.Fragment,{children:[m.jsx(jfe,{}),m.jsxs($b,{onClick:()=>e.toggleVisibility(!1),children:[m.jsx(q_,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Hide"]})]})]})]})}):m.jsx("div",{className:we(n),children:t})}const kpt=[{id:"select",header:({table:e})=>m.jsx(aS,{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(aS,{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(Sd,{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(Sd,{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(Sd,{column:e,title:"Status"}),cell:({row:e})=>{const t=e.getValue("status");return m.jsx(lde,{status:t})},filterFn:(e,t,n)=>n.includes(e.getValue(t)),enableSorting:!0},{accessorKey:"priority",header:({column:e})=>m.jsx(Sd,{column:e,title:"Priority"}),cell:({row:e})=>{const t=e.getValue("priority");return m.jsx(cde,{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,i=n[t.getValue("priority")]??1;return r-i}},{accessorKey:"assignee",header:({column:e})=>m.jsx(Sd,{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(Sd,{column:e,title:"Labels"}),cell:({row:e})=>{const t=e.getValue("labels");return t.length>0?m.jsx(ude,{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(i=>r.includes(i))},enableSorting:!1},{accessorKey:"acceptanceCriteria",header:({column:e})=>m.jsx(Sd,{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,i=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:`${i}%`}})}),m.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[n,"/",r]})]})},enableSorting:!1}];function Apt({globalFilter:e,setGlobalFilter:t,statusFilter:n,setStatusFilter:r,priorityFilter:i,setPriorityFilter:o,onNewTask:s}){const a=e||n!=="all"||i!=="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(ES,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),m.jsx(qr,{placeholder:"Search tasks...",value:e,onChange:l=>t(l.target.value),className:"pl-8"})]}),m.jsxs(Yi,{value:n,onValueChange:r,children:[m.jsx(Pi,{className:"w-[150px]",children:m.jsx(Ki,{placeholder:"Status"})}),m.jsxs(Fi,{children:[m.jsx(yn,{value:"all",children:"All Status"}),m.jsx(yn,{value:"todo",children:"To Do"}),m.jsx(yn,{value:"in-progress",children:"In Progress"}),m.jsx(yn,{value:"in-review",children:"In Review"}),m.jsx(yn,{value:"blocked",children:"Blocked"}),m.jsx(yn,{value:"done",children:"Done"})]})]}),m.jsxs(Yi,{value:i,onValueChange:o,children:[m.jsx(Pi,{className:"w-[150px]",children:m.jsx(Ki,{placeholder:"Priority"})}),m.jsxs(Fi,{children:[m.jsx(yn,{value:"all",children:"All Priority"}),m.jsx(yn,{value:"high",children:"High"}),m.jsx(yn,{value:"medium",children:"Medium"}),m.jsx(yn,{value:"low",children:"Low"})]})]}),a&&m.jsxs($e,{variant:"ghost",onClick:()=>{t(""),r("all"),o("all")},className:"h-8 px-2 lg:px-3",children:["Reset",m.jsx(Yo,{className:"ml-2 h-4 w-4"})]})]}),s&&m.jsxs($e,{onClick:s,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ms,{className:"mr-2 h-4 w-4"}),"New Task"]})]})}function Npt({tasks:e,onTaskClick:t,onSelectionChange:n,onNewTask:r}){const[i,o]=v.useState(""),[s,a]=v.useState("all"),[l,c]=v.useState("all"),u=v.useMemo(()=>{let f=e;if(i){const h=i.toLowerCase();f=f.filter(g=>g.id.toLowerCase().includes(h)||g.title.toLowerCase().includes(h)||g.description?.toLowerCase().includes(h)||g.assignee?.toLowerCase().includes(h)||g.labels.some(y=>y.toLowerCase().includes(h)))}return s!=="all"&&(f=f.filter(h=>h.status===s)),l!=="all"&&(f=f.filter(h=>h.priority===l)),f},[e,i,s,l]);return m.jsx(xpt,{columns:kpt,data:u,onRowClick:t,onSelectionChange:n,showPagination:!0,showRowSelection:!0,initialSorting:[{id:"priority",desc:!1}],toolbar:m.jsx(Apt,{table:null,globalFilter:i,setGlobalFilter:o,statusFilter:s,setStatusFilter:a,priorityFilter:l,setPriorityFilter:c,onNewTask:r})})}const H_=["todo","in-progress","in-review","done","blocked","on-hold","urgent"],_pt=["gray","blue","green","yellow","red","purple","orange","pink","cyan","indigo"];function Rpt(){const{config:e,loading:t,updateConfig:n}=bf(),[r,i]=v.useState({}),[o,s]=v.useState(!1),[a,l]=v.useState(null),[c,u]=v.useState("form"),[f,h]=v.useState(""),[g,y]=v.useState(null),[E,w]=v.useState(""),[S,T]=v.useState(!1);v.useEffect(()=>{!t&&!S&&(i(e),h(JSON.stringify(e,null,2)),T(!0))},[e,t,S]);const A=r,R=i;v.useEffect(()=>{c==="form"&&h(JSON.stringify(A,null,2))},[A,c]);const _=async()=>{s(!0),l(null);try{let F=A;if(c==="json")try{F=JSON.parse(f),R(F),y(null)}catch{y("Invalid JSON syntax"),s(!1);return}await n(F),l({type:"success",text:"Configuration saved successfully!"}),setTimeout(()=>l(null),3e3)}catch(F){l({type:"error",text:F instanceof Error?F.message:"Failed to save config"})}finally{s(!1)}},D=()=>{if(!E.trim())return;const F=E.toLowerCase().replace(/\s+/g,"-"),H=A.statuses||H_;if(H.includes(F)){l({type:"error",text:"Status already exists"});return}R({...A,statuses:[...H,F],statusColors:{...A.statusColors||{},[F]:"gray"}}),w("")},I=F=>{const H=A.statuses||H_,Y={...A.statusColors||{}};delete Y[F],R({...A,statuses:H.filter($=>$!==F),statusColors:Y,visibleColumns:(A.visibleColumns||[]).filter($=>$!==F)})},M=(F,H)=>{R({...A,statusColors:{...A.statusColors||{},[F]:H}})};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 j=A.statuses||H_,L=A.statusColors||{};return m.jsx(Xi,{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(zI,{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:()=>u("form"),className:`px-3 py-1.5 text-sm flex items-center gap-1.5 transition-colors ${c==="form"?"bg-primary text-primary-foreground":"bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,children:[m.jsx(mbe,{className:"w-4 h-4"}),"Form"]}),m.jsxs("button",{type:"button",onClick:()=>u("json"),className:`px-3 py-1.5 text-sm flex items-center gap-1.5 transition-colors ${c==="json"?"bg-primary text-primary-foreground":"bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,children:[m.jsx(Nge,{className:"w-4 h-4"}),"JSON"]})]})]}),a&&m.jsx("div",{className:`mb-6 p-4 rounded-lg ${a.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:a.text}),c==="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:f,onChange:F=>{h(F.target.value),y(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}),g&&m.jsx("p",{className:"mt-2 text-sm text-destructive",children:g})]}),m.jsx("div",{className:"pt-4 border-t",children:m.jsxs($e,{onClick:_,disabled:o,children:[m.jsx(Ds,{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(qr,{type:"text",value:A.name||"",onChange:F=>R({...A,name:F.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(qr,{type:"text",value:A.defaultAssignee||"",onChange:F=>R({...A,defaultAssignee:F.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:A.defaultPriority||"medium",onChange:F=>R({...A,defaultPriority:F.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(qr,{type:"text",value:A.defaultLabels?.join(", ")||"",onChange:F=>R({...A,defaultLabels:F.target.value.split(",").map(H=>H.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:A.timeFormat||"24h",onChange:F=>R({...A,timeFormat:F.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(qr,{type:"text",value:A.editor||"",onChange:F=>R({...A,editor:F.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:j.map(F=>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:F}),m.jsx("select",{value:L[F]||"gray",onChange:H=>M(F,H.target.value),className:"px-2 py-1 rounded border bg-input text-sm focus:outline-none focus:ring-2 focus:ring-ring",children:_pt.map(H=>m.jsx("option",{value:H,children:H},H))}),m.jsx("button",{type:"button",onClick:()=>I(F),className:"p-1 text-destructive hover:text-destructive hover:bg-destructive/10 rounded transition-colors",title:"Remove status",children:m.jsx(Wd,{className:"w-4 h-4"})})]},F))}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx(qr,{type:"text",value:E,onChange:F=>w(F.target.value),placeholder:"new-status",className:"flex-1",onKeyDown:F=>F.key==="Enter"&&D()}),m.jsxs($e,{onClick:D,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ms,{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:j.map(F=>{const H=A.visibleColumns?.includes(F)??!0,Y=F.split("-").map($=>$.charAt(0).toUpperCase()+$.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:H,onChange:$=>{const G=A.visibleColumns||j,V=$.target.checked?[...G,F]:G.filter(X=>X!==F);R({...A,visibleColumns:V})},className:"w-4 h-4 rounded border-border text-primary focus:ring-primary"}),m.jsx("span",{children:Y})]},F)})}),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($e,{onClick:_,disabled:o,children:[m.jsx(Ds,{className:"w-4 h-4 mr-2"}),o?"Saving...":"Save Configuration"]})})]})]})})}function Dpt(){const[e,t]=v.useState([]),[n,r]=v.useState(!0),[i,o]=v.useState(null),[s,a]=v.useState(!1),[l,c]=v.useState(""),[u,f]=v.useState(!1),[h,g]=v.useState(!1),[y,E]=v.useState(""),[w,S]=v.useState(""),[T,A]=v.useState(""),[R,_]=v.useState(""),[D,I]=v.useState(""),[M,j]=v.useState(!1),[L,F]=v.useState(new Set(["(root)"])),[H,Y]=v.useState(!1),$=v.useRef(null);v.useEffect(()=>{V()},[]),xu("docs:updated",()=>{V()}),xu("docs:refresh",()=>{V()});const G=v.useCallback(()=>{if(e.length===0)return;const te=window.location.hash.match(/^#\/docs\/(.+)$/);if(te){const oe=decodeURIComponent(te[1]),ue=wE(oe).replace(/^\.\//,"").replace(/^\//,""),Te=e.find(Ie=>{const ke=wE(Ie.path);return ke===ue||ke.endsWith(`/${ue}`)||Ie.filename===ue});Te&&Te!==i&&(o(Te),a(!1))}},[e,i]);v.useEffect(()=>{G()},[G]),v.useEffect(()=>{if(!i||!i.folder)return;const se=i.folder.split("/"),te=[];let oe="";for(const ue of se)oe=oe?`${oe}/${ue}`:ue,te.push(oe);F(ue=>{const Te=new Set(ue);for(const Ie of te)Te.add(Ie);return Te})},[i]),v.useEffect(()=>(window.addEventListener("hashchange",G),()=>window.removeEventListener("hashchange",G)),[G]),v.useEffect(()=>{const se=oe=>{let ue=oe.target;for(;ue&&ue.tagName!=="A"&&ue!==$.current;)ue=ue.parentElement;if(ue&&ue.tagName==="A"){const Ie=ue.getAttribute("href");if(Ie&&/^task-\d+(.md)?$/.test(Ie)){oe.preventDefault();const ke=Ie.replace(".md","");window.location.hash=`/tasks?task=${ke}`;return}if(Ie&&(Ie.endsWith(".md")||Ie.includes(".md#"))){oe.preventDefault();let ke=Ie.replace(/^\.\//,"").replace(/^\//,"");ke=ke.split("#")[0],window.location.hash=`/docs/${ke}`}}},te=$.current;if(te)return te.addEventListener("click",se),()=>te.removeEventListener("click",se)},[e,i]);const V=()=>{jI().then(se=>{t(se),r(!1)}).catch(se=>{console.error("Failed to load docs:",se),r(!1)})},X=async()=>{if(!y.trim()){alert("Please enter a title");return}j(!0);try{const se=T.split(",").map(te=>te.trim()).filter(te=>te);await hme({title:y,description:w,tags:se,folder:R,content:D}),E(""),S(""),A(""),_(""),I(""),g(!1),V()}catch(se){console.error("Failed to create doc:",se),alert("Failed to create document. Please try again.")}finally{j(!1)}},Q=()=>{i&&(c(i.content),a(!0))},J=()=>{if(i){const te=`@doc/${k2(i.path).replace(/\.md$/,"")}`;navigator.clipboard.writeText(te).then(()=>{Y(!0),setTimeout(()=>Y(!1),2e3)})}},B=async()=>{if(i){f(!0);try{const se=await mme(eSe(i.path),{content:l});t(te=>te.map(oe=>oe.path===i.path?{...oe,content:l,metadata:{...oe.metadata,updatedAt:new Date().toISOString()}}:oe)),o(te=>te&&{...te,content:l}),a(!1)}catch(se){console.error("Failed to save doc:",se),alert(se instanceof Error?se.message:"Failed to save document")}finally{f(!1)}}},W=()=>{a(!1),c("")},K=se=>{F(te=>{const oe=new Set(te);return oe.has(se)?oe.delete(se):oe.add(se),oe})},P=()=>{const se={name:"(root)",path:"",docs:[],children:new Map};for(const te of e)if(!te.folder)se.docs.push(te);else{const oe=te.folder.split("/");let ue=se;for(let Te=0;Te<oe.length;Te++){const Ie=oe[Te],ke=oe.slice(0,Te+1).join("/");ue.children.has(Ie)||ue.children.set(Ie,{name:Ie,path:ke,docs:[],children:new Map}),ue=ue.children.get(Ie)}ue.docs.push(te)}return se},ce=se=>{let te=se.docs.length;for(const oe of se.children.values())te+=ce(oe);return te},le=(se,te=0)=>{const oe=[],ue=te===0||L.has(se.path),Te=`${te*16}px`;if(te>0){const Ie=ce(se);oe.push(m.jsxs("button",{type:"button",onClick:()=>K(se.path),className:"w-full flex items-center gap-2 px-3 py-2 hover:bg-accent text-foreground transition-colors",style:{paddingLeft:Te},children:[ue?m.jsx(Eu,{className:"w-4 h-4"}):m.jsx(vh,{className:"w-4 h-4"}),ue?m.jsx($ge,{className:"w-4 h-4"}):m.jsx(T9,{className:"w-4 h-4"}),m.jsx("span",{className:"text-sm font-medium",children:se.name}),m.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",Ie,")"]})]},`folder-${se.path}`))}if(ue||te===0){const Ie=Array.from(se.children.values()).sort((tt,rt)=>tt.name.localeCompare(rt.name));for(const tt of Ie)oe.push(...le(tt,te+1));const ke=[...se.docs].sort((tt,rt)=>tt.metadata.title.localeCompare(rt.metadata.title));for(const tt of ke)oe.push(m.jsxs("button",{type:"button",onClick:()=>{window.location.hash=`/docs/${k2(tt.path)}`},className:`w-full text-left px-3 py-2 flex items-center gap-2 hover:bg-accent text-foreground transition-colors ${i?.path===tt.path?"bg-accent":""}`,style:{paddingLeft:`${(te+1)*16}px`},children:[m.jsx(Xo,{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:tt.metadata.title}),tt.metadata.description&&m.jsx("div",{className:"text-xs text-muted-foreground truncate",children:tt.metadata.description})]})]},`doc-${tt.path}`))}return oe};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($e,{onClick:()=>g(!0),className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ms,{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(Xi,{className:"flex-1",children:le(P())})]}),e.length===0&&m.jsxs("div",{className:"bg-card rounded-lg border p-8 text-center",children:[m.jsx(Xo,{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:i?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:i.metadata.title}),i.metadata.description&&m.jsx("p",{className:"text-muted-foreground mb-2",children:i.metadata.description}),m.jsxs("button",{type:"button",onClick:J,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(T9,{className:"w-4 h-4"}),m.jsxs("span",{className:"font-mono",children:["@doc/",k2(i.path).replace(/\.md$/,"")]}),m.jsx("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity",children:H?"✓ Copied!":m.jsx(Ige,{className:"w-4 h-4"})})]}),m.jsxs("div",{className:"text-sm text-muted-foreground mt-2",children:["Last updated: ",new Date(i.metadata.updatedAt).toLocaleString()]})]}),m.jsx("div",{className:"flex gap-2 ml-4",children:s?m.jsxs(m.Fragment,{children:[m.jsxs($e,{onClick:B,disabled:u,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ds,{className:"w-4 h-4 mr-2"}),u?"Saving...":"Save"]}),m.jsxs($e,{variant:"secondary",onClick:W,disabled:u,children:[m.jsx(Yo,{className:"w-4 h-4 mr-2"}),"Cancel"]})]}):m.jsxs($e,{onClick:Q,children:[m.jsx(aK,{className:"w-4 h-4 mr-2"}),"Edit"]})})]}),s?m.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:m.jsx("div",{className:"flex-1 p-6 min-h-0",children:m.jsx(yu,{markdown:l,onChange:c,placeholder:"Write your documentation here..."})})}):m.jsx(Xi,{className:"flex-1",children:m.jsx("div",{className:"p-6 prose prose-sm dark:prose-invert max-w-none",ref:$,children:m.jsx(bC,{markdown:i.content||""})})})]}):m.jsxs("div",{className:"bg-card rounded-lg border p-12 text-center",children:[m.jsx(Xo,{className:"w-5 h-5"}),m.jsx("p",{className:"mt-4 text-muted-foreground",children:"Select a document to view its content"})]})})]}),h&&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(qr,{type:"text",value:y,onChange:se=>E(se.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(qr,{type:"text",value:w,onChange:se=>S(se.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(qr,{type:"text",value:R,onChange:se=>_(se.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(qr,{type:"text",value:T,onChange:se=>A(se.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(yu,{markdown:D,onChange:I,placeholder:"Write your documentation here..."})})]})]}),m.jsxs("div",{className:"p-6 border-t flex justify-end gap-3 shrink-0",children:[m.jsx($e,{variant:"secondary",onClick:()=>{g(!1),E(""),S(""),A(""),_(""),I("")},disabled:M,children:"Cancel"}),m.jsx($e,{onClick:X,disabled:M||!y.trim(),className:"bg-green-700 hover:bg-green-800 text-white",children:M?"Creating...":"Create Document"})]})]})})]})}const Ipt=[{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 UY({tasks:e,loading:t,onTasksUpdate:n,onNewTask:r}){const i=s=>{const a=Date.now()-s;return e.filter(l=>l.status==="done"&&new Date(l.updatedAt).getTime()<a).length},o=async(s,a)=>{try{const l=await da.batchArchiveTasks(s);if(l.count>0){const c=new Set(l.tasks.map(u=>u.id));n(e.filter(u=>!c.has(u.id))),Os.success(`Archived ${l.count} task${l.count>1?"s":""} done before ${a}`)}else Os.info(`No done tasks found before ${a}`)}catch(l){console.error("Failed to batch archive tasks:",l),Os.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(Ffe,{children:[m.jsx(Bfe,{asChild:!0,children:m.jsxs($e,{variant:"outline",size:"default",className:"gap-2",children:[m.jsx(V_,{className:"w-4 h-4"}),m.jsx("span",{className:"hidden sm:inline",children:"Batch Archive"}),m.jsx(Eu,{className:"w-3 h-3"})]})}),m.jsx(vB,{align:"end",children:Ipt.map(s=>{const a=i(s.value);return m.jsxs($b,{onClick:()=>o(s.value,s.label),disabled:a===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:["(",a,")"]})]},s.value)})})]}),m.jsxs($e,{onClick:r,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ms,{className:"w-4 h-4 mr-2"}),"New Task"]})]})]})}),m.jsx("div",{className:"flex-1 overflow-hidden px-6 pb-6",children:m.jsx(Ldt,{tasks:e,loading:t,onTasksUpdate:n})})]})}const HY={todo:"To Do","in-progress":"In Progress","in-review":"In Review",done:"Done",blocked:"Blocked","on-hold":"On Hold",urgent:"Urgent"};function Opt(e){return HY[e]?HY[e]:e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Mpt({tasks:e,onTaskClick:t,onNewTask:n}){const[r,i]=v.useState("all"),[o,s]=v.useState("all"),[a,l]=v.useState(new Set),c=e.filter(g=>g.subtasks&&g.subtasks.length>0);let u=r==="all"?e:e.filter(g=>g.status===r);o==="root"?u=u.filter(g=>!g.parent):o!=="all"&&(u=u.filter(g=>g.parent===o));const f={todo:[],"in-progress":[],"in-review":[],blocked:[],done:[]};for(const g of u)f[g.status]&&f[g.status].push(g);const h={high:0,medium:1,low:2};for(const g in f)f[g].sort((y,E)=>{const w=h[y.priority]-h[E.priority];return w!==0?w:y.id.localeCompare(E.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(UI,{className:"w-4 h-4 text-muted-foreground"}),m.jsxs(Yi,{value:r,onValueChange:i,children:[m.jsx(Pi,{className:"w-[150px]",children:m.jsx(Ki,{placeholder:"Status"})}),m.jsxs(Fi,{children:[m.jsx(yn,{value:"all",children:"All Status"}),m.jsx(yn,{value:"todo",children:"To Do"}),m.jsx(yn,{value:"in-progress",children:"In Progress"}),m.jsx(yn,{value:"in-review",children:"In Review"}),m.jsx(yn,{value:"blocked",children:"Blocked"}),m.jsx(yn,{value:"done",children:"Done"})]})]}),m.jsxs(Yi,{value:o,onValueChange:s,children:[m.jsx(Pi,{className:"w-[200px]",children:m.jsx(Ki,{placeholder:"Parent"})}),m.jsxs(Fi,{children:[m.jsx(yn,{value:"all",children:"All Tasks"}),m.jsx(yn,{value:"root",children:"Root Tasks Only"}),c.map(g=>{const y=`Subtasks of #${g.id}: ${g.title}`,E=y.length>40?y.substring(0,40)+"...":y;return m.jsx(yn,{value:g.id,title:y,children:E},g.id)})]})]}),m.jsxs("span",{className:"text-muted-foreground text-sm",children:[u.length," ",u.length===1?"task":"tasks"]})]}),m.jsxs($e,{onClick:n,className:"bg-green-700 hover:bg-green-800 text-white",children:[m.jsx(Ms,{className:"mr-2 h-4 w-4"}),"New Task"]})]}),m.jsx(Xi,{className:"flex-1",children:m.jsxs("div",{className:"space-y-6 pr-4",children:[Object.entries(f).map(([g,y])=>y.length===0?null:m.jsxs("div",{children:[m.jsxs("h2",{className:"text-lg font-semibold mb-3",children:[Opt(g)," (",y.length,")"]}),m.jsx("div",{className:"space-y-2",children:y.map(E=>{const w=a.has(E.id),S=E.parent?e.find(T=>T.id===E.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:["#",E.id]}),m.jsx(lde,{status:E.status}),m.jsx(cde,{priority:E.priority}),S&&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 #",S.id]}),E.subtasks&&E.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:[E.subtasks.length," subtask",E.subtasks.length>1?"s":""]})]}),m.jsx("button",{type:"button",onClick:()=>t(E),className:"font-medium mb-1 hover:underline text-left w-full",children:E.title}),E.description&&m.jsxs("div",{className:"text-sm text-muted-foreground mt-2",children:[m.jsx("p",{className:w?"":"line-clamp-2",children:E.description}),E.description.length>100&&m.jsx("button",{type:"button",onClick:T=>{T.stopPropagation();const A=new Set(a);w?A.delete(E.id):A.add(E.id),l(A)},className:"text-xs text-primary hover:underline mt-1 font-medium",children:w?"Show less":"Show more"})]}),E.acceptanceCriteria.length>0&&m.jsxs("div",{className:"flex items-center gap-2 mt-2 text-xs text-muted-foreground",children:[m.jsx(eK,{className:"w-3 h-3"}),m.jsxs("span",{children:[E.acceptanceCriteria.filter(T=>T.completed).length,"/",E.acceptanceCriteria.length," criteria"]})]}),E.labels.length>0&&m.jsx("div",{className:"mt-2",children:m.jsx(ude,{labels:E.labels,maxVisible:3})})]}),E.assignee&&m.jsx("span",{className:"text-sm text-muted-foreground font-mono shrink-0",children:E.assignee})]})},E.id)})})]},g)),u.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 Lpt({tasks:e,loading:t,onTasksUpdate:n,selectedTask:r,onTaskClose:i,onNewTask:o}){const[s,a]=v.useState("table"),[l,c]=v.useState(null),[u,f]=v.useState([]);v.useEffect(()=>{r&&c(r)},[r]);const h=y=>{window.location.hash=`/tasks/${y.id}`},g=y=>{window.location.hash=`/tasks/${y}`};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($e,{variant:s==="table"?"secondary":"ghost",size:"sm",onClick:()=>a("table"),className:"h-8 px-3",children:[m.jsx(Jge,{className:"h-4 w-4 mr-2"}),"Table"]}),m.jsxs($e,{variant:s==="grouped"?"secondary":"ghost",size:"sm",onClick:()=>a("grouped"),className:"h-8 px-3",children:[m.jsx(Zge,{className:"h-4 w-4 mr-2"}),"Grouped"]})]})})]}),m.jsx("div",{className:"flex-1 overflow-hidden",children:s==="table"?m.jsx(Xi,{className:"h-full",children:m.jsx("div",{className:"pr-4",children:m.jsx(Npt,{tasks:e,onTaskClick:h,onSelectionChange:f,onNewTask:o})})}):m.jsx(Mpt,{tasks:e,onTaskClick:h,onNewTask:o})}),u.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:[u.length," task",u.length>1?"s":""," selected"]}),m.jsx($e,{variant:"secondary",size:"sm",onClick:()=>{console.log("Bulk action on:",u)},children:"Bulk Edit"})]}),m.jsx(Mde,{task:l,allTasks:e,onClose:()=>{c(null),i&&i()},onUpdate:n,onNavigateToTask:g})]})}const $fe=v.createContext({isDark:!1,toggle:()=>{}}),Pm=()=>v.useContext($fe);function Ppt(){const{config:e}=bf(),[t,n]=v.useState([]),[r,i]=v.useState(!0),[o,s]=v.useState(!1),[a,l]=v.useState(!1),[c,u]=v.useState(()=>{if(typeof window<"u"){const I=localStorage.getItem("theme");return I?I==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches}return!1}),f=()=>{const I=window.location.hash.slice(1);return I.startsWith("/tasks")?"tasks":I.startsWith("/docs")?"docs":I.startsWith("/config")?"config":(I.startsWith("/kanban")||I==="/"||I==="","kanban")},h=I=>{const M=window.location.hash.slice(1),j="(?:kanban|tasks)",L=M.match(new RegExp(`^/${j}/([^?]+)`))||M.match(/[?&]id=([^&]+)/);return L?L[1]:null},[g,y]=v.useState(f()),[E,w]=v.useState(window.location.hash);v.useEffect(()=>{const I=()=>{y(f()),w(window.location.hash)};return window.addEventListener("hashchange",I),()=>window.removeEventListener("hashchange",I)},[f]),v.useEffect(()=>{c?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"))},[c]),v.useEffect(()=>{const I=M=>{(M.metaKey||M.ctrlKey)&&M.key==="k"&&(M.preventDefault(),l(j=>!j))};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[]),v.useEffect(()=>{da.getTasks().then(I=>{n(I),i(!1)}).catch(I=>{console.error("Failed to load tasks:",I),i(!1)})},[]),xu("tasks:updated",({task:I})=>{n(M=>{const j=M.findIndex(L=>L.id===I.id);if(j>=0){const L=[...M];return L[j]=I,L}return[...M,I]})}),xu("tasks:refresh",()=>{da.getTasks().then(n).catch(console.error)});const S=()=>{da.getTasks().then(n).catch(console.error)},T=I=>{n(I)},A=async I=>{const M=!c;if(!document.startViewTransition||window.matchMedia("(prefers-reduced-motion: reduce)").matches){u(M);return}const j=I.clientX,L=I.clientY,F=Math.hypot(Math.max(j,window.innerWidth-j),Math.max(L,window.innerHeight-L));await document.startViewTransition(()=>{u(M)}).ready,document.documentElement.animate({clipPath:[`circle(0px at ${j}px ${L}px)`,`circle(${F}px at ${j}px ${L}px)`]},{duration:400,easing:"ease-out",pseudoElement:"::view-transition-new(root)"})},R=I=>{window.location.hash=`/kanban/${I.id}`},_=I=>{I?.path?window.location.hash=`/docs/${I.path}`:I?.filename?window.location.hash=`/docs/${I.filename}`:window.location.hash="/docs"},D=()=>{switch(g){case"kanban":return m.jsx(UY,{tasks:t,loading:r,onTasksUpdate:T,onNewTask:()=>s(!0)});case"tasks":{const I=h(),M=I?t.find(j=>j.id===I):null;return m.jsx(Lpt,{tasks:t,loading:r,onTasksUpdate:S,selectedTask:M,onTaskClose:()=>{window.location.hash="/tasks"},onNewTask:()=>s(!0)})}case"docs":return m.jsx(Dpt,{});case"config":return m.jsx(Rpt,{});default:return m.jsx(UY,{tasks:t,loading:r,onTasksUpdate:T,onNewTask:()=>s(!0)})}};return m.jsxs($fe.Provider,{value:{isDark:c,toggle:A},children:[m.jsxs(ffe,{children:[m.jsx(rft,{currentPage:g,onSearchClick:()=>l(!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(hfe,{className:"-ml-1"}),m.jsx(j0,{orientation:"vertical",className:"mr-2 h-4"}),m.jsx(kat,{}),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(Pat,{onTaskClick:I=>{window.location.hash=`/kanban/${I}`}}),m.jsx(Oat,{isDark:c,onToggle:A,size:"sm"}),m.jsx(cft,{})]}),m.jsx("div",{className:"flex-1 w-full overflow-y-auto overflow-x-hidden",children:D()})]}),m.jsx(Fdt,{isOpen:o,allTasks:t,onClose:()=>s(!1),onCreated:S}),m.jsx(dft,{open:a,onOpenChange:l,onTaskSelect:R,onDocSelect:_})]}),m.jsx(zme,{})]})}function Fpt(){return m.jsx(Lbe,{children:m.jsx(PSe,{children:m.jsx(BSe,{children:m.jsx(Gme,{children:m.jsx(Sat,{children:m.jsx(Ppt,{})})})})})})}const Ufe=document.getElementById("root");if(!Ufe)throw new Error("Root element not found");VY.createRoot(Ufe).render(m.jsx(Fpt,{}));