@ycodium-ai/plugin-team 0.2.3405 → 0.2.3425
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icon.svg +10 -3
- package/assets/navigation.svg +7 -0
- package/assets/ui.js +1 -1
- package/package.json +4 -4
package/assets/icon.svg
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg"
|
|
2
|
-
<
|
|
3
|
-
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="a" x1="4" y1="2" x2="28" y2="30" gradientUnits="userSpaceOnUse"><stop stop-color="#00B8F0"/><stop offset="1" stop-color="#2563EB"/></linearGradient>
|
|
4
|
+
</defs>
|
|
5
|
+
<circle cx="8" cy="10" r="4" fill="#14B8C8"/>
|
|
6
|
+
<circle cx="24" cy="10" r="4" fill="#FFB52E"/>
|
|
7
|
+
<path d="M1 25v-4a7 7 0 0 1 12-5v9Z" fill="#14B8C8"/>
|
|
8
|
+
<path d="M19 25v-9a7 7 0 0 1 12 5v4Z" fill="#38BDF8"/>
|
|
9
|
+
<circle cx="16" cy="13" r="4.5" fill="url(#a)"/>
|
|
10
|
+
<path d="M7 30v-5a9 9 0 0 1 18 0v5Z" fill="url(#a)"/>
|
|
4
11
|
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
|
2
|
+
<style>:root { color: #707987; } @media (prefers-color-scheme: dark) { :root { color: #A6AEBA; } }</style>
|
|
3
|
+
<g stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<circle cx="12" cy="7" r="3" stroke="#6FA397" fill="#6FA397" fill-opacity=".2"/>
|
|
5
|
+
<path d="M6 21v-3a6 6 0 0 1 12 0v3M18 4a3 3 0 0 1 0 6M20 14a5 5 0 0 1 2 4v3M6 4a3 3 0 0 0 0 6M4 14a5 5 0 0 0-2 4v3"/>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
package/assets/ui.js
CHANGED
|
@@ -294,4 +294,4 @@ ${n(d)}}`;f=i(c,p)}}return r.delete(c),f}return String(c)}return l(e,0)}var Jc="
|
|
|
294
294
|
To pick up a draggable item, press the space bar.
|
|
295
295
|
While dragging, use the arrow keys to move the item.
|
|
296
296
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
297
|
-
`},nI={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:a}=e;return a?"Draggable item "+t.id+" was moved over droppable area "+a.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:a}=e;return a?"Draggable item "+t.id+" was dropped over droppable area "+a.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function sI(e){let{announcements:t=nI,container:a,hiddenTextDescribedById:r,screenReaderInstructions:o=oI}=e,{announce:n,announcement:i}=Tp(),s=Yo("DndLiveRegion"),[l,c]=v(!1);if(j(()=>{c(!0)},[]),aI(Y(()=>({onDragStart(f){let{active:m}=f;n(t.onDragStart({active:m}))},onDragMove(f){let{active:m,over:p}=f;t.onDragMove&&n(t.onDragMove({active:m,over:p}))},onDragOver(f){let{active:m,over:p}=f;n(t.onDragOver({active:m,over:p}))},onDragEnd(f){let{active:m,over:p}=f;n(t.onDragEnd({active:m,over:p}))},onDragCancel(f){let{active:m,over:p}=f;n(t.onDragCancel({active:m,over:p}))}}),[n,t])),!l)return null;let d=he.createElement(he.Fragment,null,he.createElement(Cp,{id:r,value:o.draggable}),he.createElement(wp,{id:s,announcement:i}));return a?(0,or.createPortal)(d,a):d}var Pe;(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"})(Pe||(Pe={}));function As(){}function _p(e,t){return Y(()=>({sensor:e,options:t??{}}),[e,t])}function qp(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return Y(()=>[...t].filter(r=>r!=null),[...t])}var Mt=Object.freeze({x:0,y:0});function iI(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function lI(e,t){let a=en(e);if(!a)return"0 0";let r={x:(a.x-t.left)/t.width*100,y:(a.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function cI(e,t){let{data:{value:a}}=e,{data:{value:r}}=t;return a-r}function uI(e,t){let{data:{value:a}}=e,{data:{value:r}}=t;return r-a}function vp(e){let{left:t,top:a,height:r,width:o}=e;return[{x:t,y:a},{x:t+o,y:a},{x:t,y:a+r},{x:t+o,y:a+r}]}function dI(e,t){if(!e||e.length===0)return null;let[a]=e;return t?a[t]:a}var Hp=e=>{let{collisionRect:t,droppableRects:a,droppableContainers:r}=e,o=vp(t),n=[];for(let i of r){let{id:s}=i,l=a.get(s);if(l){let c=vp(l),d=o.reduce((m,p,h)=>m+iI(c[h],p),0),f=Number((d/4).toFixed(4));n.push({id:s,data:{droppableContainer:i,value:f}})}}return n.sort(cI)};function fI(e,t){let a=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),n=Math.min(t.top+t.height,e.top+e.height),i=o-r,s=n-a;if(r<o&&a<n){let l=t.width*t.height,c=e.width*e.height,d=i*s,f=d/(l+c-d);return Number(f.toFixed(4))}return 0}var pI=e=>{let{collisionRect:t,droppableRects:a,droppableContainers:r}=e,o=[];for(let n of r){let{id:i}=n,s=a.get(i);if(s){let l=fI(s,t);l>0&&o.push({id:i,data:{droppableContainer:n,value:l}})}}return o.sort(uI)};function mI(e,t,a){return{...e,scaleX:t&&a?t.width/a.width:1,scaleY:t&&a?t.height/a.height:1}}function Gp(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Mt}function hI(e){return function(a){for(var r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];return o.reduce((i,s)=>({...i,top:i.top+e*s.y,bottom:i.bottom+e*s.y,left:i.left+e*s.x,right:i.right+e*s.x}),{...a})}}var gI=hI(1);function $p(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function xI(e,t,a){let r=$p(t);if(!r)return e;let{scaleX:o,scaleY:n,x:i,y:s}=r,l=e.left-i-(1-o)*parseFloat(a),c=e.top-s-(1-n)*parseFloat(a.slice(a.indexOf(" ")+1)),d=o?e.width/o:e.width,f=n?e.height/n:e.height;return{width:d,height:f,top:c,right:l+d,bottom:c+f,left:l}}var SI={ignoreTransform:!1};function nn(e,t){t===void 0&&(t=SI);let a=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:c,transformOrigin:d}=Je(e).getComputedStyle(e);c&&(a=xI(a,c,d))}let{top:r,left:o,width:n,height:i,bottom:s,right:l}=a;return{top:r,left:o,width:n,height:i,bottom:s,right:l}}function kp(e){return nn(e,{ignoreTransform:!0})}function II(e){let t=e.innerWidth,a=e.innerHeight;return{top:0,left:0,right:t,bottom:a,width:t,height:a}}function yI(e,t){return t===void 0&&(t=Je(e).getComputedStyle(e)),t.position==="fixed"}function bI(e,t){t===void 0&&(t=Je(e).getComputedStyle(e));let a=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{let n=t[o];return typeof n=="string"?a.test(n):!1})}function Cc(e,t){let a=[];function r(o){if(t!=null&&a.length>=t||!o)return a;if(ks(o)&&o.scrollingElement!=null&&!a.includes(o.scrollingElement))return a.push(o.scrollingElement),a;if(!Wr(o)||mc(o)||a.includes(o))return a;let n=Je(e).getComputedStyle(o);return o!==e&&bI(o,n)&&a.push(o),yI(o,n)?a:r(o.parentNode)}return e?r(e):a}function Wp(e){let[t]=Cc(e,1);return t??null}function hc(e){return!Vo||!e?null:tr(e)?e:vs(e)?ks(e)||e===ar(e).scrollingElement?window:Wr(e)?e:null:null}function jp(e){return tr(e)?e.scrollX:e.scrollLeft}function zp(e){return tr(e)?e.scrollY:e.scrollTop}function Sc(e){return{x:jp(e),y:zp(e)}}var Be;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(Be||(Be={}));function Kp(e){return!Vo||!e?!1:e===document.scrollingElement}function Vp(e){let t={x:0,y:0},a=Kp(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-a.width,y:e.scrollHeight-a.height},o=e.scrollTop<=t.y,n=e.scrollLeft<=t.x,i=e.scrollTop>=r.y,s=e.scrollLeft>=r.x;return{isTop:o,isLeft:n,isBottom:i,isRight:s,maxScroll:r,minScroll:t}}var LI={x:.2,y:.2};function CI(e,t,a,r,o){let{top:n,left:i,right:s,bottom:l}=a;r===void 0&&(r=10),o===void 0&&(o=LI);let{isTop:c,isBottom:d,isLeft:f,isRight:m}=Vp(e),p={x:0,y:0},h={x:0,y:0},x={height:t.height*o.y,width:t.width*o.x};return!c&&n<=t.top+x.height?(p.y=Be.Backward,h.y=r*Math.abs((t.top+x.height-n)/x.height)):!d&&l>=t.bottom-x.height&&(p.y=Be.Forward,h.y=r*Math.abs((t.bottom-x.height-l)/x.height)),!m&&s>=t.right-x.width?(p.x=Be.Forward,h.x=r*Math.abs((t.right-x.width-s)/x.width)):!f&&i<=t.left+x.width&&(p.x=Be.Backward,h.x=r*Math.abs((t.left+x.width-i)/x.width)),{direction:p,speed:h}}function wI(e){if(e===document.scrollingElement){let{innerWidth:n,innerHeight:i}=window;return{top:0,left:0,right:n,bottom:i,width:n,height:i}}let{top:t,left:a,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:a,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function Jp(e){return e.reduce((t,a)=>rr(t,Sc(a)),Mt)}function TI(e){return e.reduce((t,a)=>t+jp(a),0)}function vI(e){return e.reduce((t,a)=>t+zp(a),0)}function Zp(e,t){if(t===void 0&&(t=nn),!e)return;let{top:a,left:r,bottom:o,right:n}=t(e);Wp(e)&&(o<=0||n<=0||a>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}var kI=[["x",["left","right"],TI],["y",["top","bottom"],vI]],an=class{constructor(t,a){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let r=Cc(a),o=Jp(r);this.rect={...t},this.width=t.width,this.height=t.height;for(let[n,i,s]of kI)for(let l of i)Object.defineProperty(this,l,{get:()=>{let c=s(r),d=o[n]-c;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},nr=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...a)})},this.target=t}add(t,a,r){var o;(o=this.target)==null||o.addEventListener(t,a,r),this.listeners.push([t,a,r])}};function EI(e){let{EventTarget:t}=Je(e);return e instanceof t?e:ar(e)}function gc(e,t){let a=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(a**2+r**2)>t:"x"in t&&"y"in t?a>t.x&&r>t.y:"x"in t?a>t.x:"y"in t?r>t.y:!1}var wt;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(wt||(wt={}));function Ep(e){e.preventDefault()}function RI(e){e.stopPropagation()}var ie;(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"})(ie||(ie={}));var Xp={start:[ie.Space,ie.Enter],cancel:[ie.Esc],end:[ie.Space,ie.Enter,ie.Tab]},AI=(e,t)=>{let{currentCoordinates:a}=t;switch(e.code){case ie.Right:return{...a,x:a.x+25};case ie.Left:return{...a,x:a.x-25};case ie.Down:return{...a,y:a.y+25};case ie.Up:return{...a,y:a.y-25}}},Ps=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:a}}=t;this.props=t,this.listeners=new nr(ar(a)),this.windowListeners=new nr(Je(a)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(wt.Resize,this.handleCancel),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(wt.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:a}=this.props,r=t.node.current;r&&Zp(r),a(Mt)}handleKeyDown(t){if(Es(t)){let{active:a,context:r,options:o}=this.props,{keyboardCodes:n=Xp,coordinateGetter:i=AI,scrollBehavior:s="smooth"}=o,{code:l}=t;if(n.end.includes(l)){this.handleEnd(t);return}if(n.cancel.includes(l)){this.handleCancel(t);return}let{collisionRect:c}=r.current,d=c?{x:c.left,y:c.top}:Mt;this.referenceCoordinates||(this.referenceCoordinates=d);let f=i(t,{active:a,context:r.current,currentCoordinates:d});if(f){let m=Qo(f,d),p={x:0,y:0},{scrollableAncestors:h}=r.current;for(let x of h){let g=t.code,{isTop:y,isRight:T,isLeft:E,isBottom:A,maxScroll:_,minScroll:N}=Vp(x),C=wI(x),L={x:Math.min(g===ie.Right?C.right-C.width/2:C.right,Math.max(g===ie.Right?C.left:C.left+C.width/2,f.x)),y:Math.min(g===ie.Down?C.bottom-C.height/2:C.bottom,Math.max(g===ie.Down?C.top:C.top+C.height/2,f.y))},R=g===ie.Right&&!T||g===ie.Left&&!E,b=g===ie.Down&&!A||g===ie.Up&&!y;if(R&&L.x!==f.x){let P=x.scrollLeft+m.x,F=g===ie.Right&&P<=_.x||g===ie.Left&&P>=N.x;if(F&&!m.y){x.scrollTo({left:P,behavior:s});return}F?p.x=x.scrollLeft-P:p.x=g===ie.Right?x.scrollLeft-_.x:x.scrollLeft-N.x,p.x&&x.scrollBy({left:-p.x,behavior:s});break}else if(b&&L.y!==f.y){let P=x.scrollTop+m.y,F=g===ie.Down&&P<=_.y||g===ie.Up&&P>=N.y;if(F&&!m.x){x.scrollTo({top:P,behavior:s});return}F?p.y=x.scrollTop-P:p.y=g===ie.Down?x.scrollTop-_.y:x.scrollTop-N.y,p.y&&x.scrollBy({top:-p.y,behavior:s});break}}this.handleMove(t,rr(Qo(f,this.referenceCoordinates),p))}}}handleMove(t,a){let{onMove:r}=this.props;t.preventDefault(),r(a)}handleEnd(t){let{onEnd:a}=this.props;t.preventDefault(),this.detach(),a()}handleCancel(t){let{onCancel:a}=this.props;t.preventDefault(),this.detach(),a()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Ps.activators=[{eventName:"onKeyDown",handler:(e,t,a)=>{let{keyboardCodes:r=Xp,onActivation:o}=t,{active:n}=a,{code:i}=e.nativeEvent;if(r.start.includes(i)){let s=n.activatorNode.current;return s&&e.target!==s?!1:(e.preventDefault(),o?.({event:e.nativeEvent}),!0)}return!1}}];function Rp(e){return!!(e&&"distance"in e)}function Ap(e){return!!(e&&"delay"in e)}var rn=class{constructor(t,a,r){var o;r===void 0&&(r=EI(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=a;let{event:n}=t,{target:i}=n;this.props=t,this.events=a,this.document=ar(i),this.documentListeners=new nr(this.document),this.listeners=new nr(r),this.windowListeners=new nr(Je(i)),this.initialCoordinates=(o=en(n))!=null?o:Mt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:a,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(wt.Resize,this.handleCancel),this.windowListeners.add(wt.DragStart,Ep),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),this.windowListeners.add(wt.ContextMenu,Ep),this.documentListeners.add(wt.Keydown,this.handleKeydown),a){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ap(a)){this.timeoutId=setTimeout(this.handleStart,a.delay),this.handlePending(a);return}if(Rp(a)){this.handlePending(a);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,a){let{active:r,onPending:o}=this.props;o(r,t,this.initialCoordinates,a)}handleStart(){let{initialCoordinates:t}=this,{onStart:a}=this.props;t&&(this.activated=!0,this.documentListeners.add(wt.Click,RI,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(wt.SelectionChange,this.removeTextSelection),a(t))}handleMove(t){var a;let{activated:r,initialCoordinates:o,props:n}=this,{onMove:i,options:{activationConstraint:s}}=n;if(!o)return;let l=(a=en(t))!=null?a:Mt,c=Qo(o,l);if(!r&&s){if(Rp(s)){if(s.tolerance!=null&&gc(c,s.tolerance))return this.handleCancel();if(gc(c,s.distance))return this.handleStart()}if(Ap(s)&&gc(c,s.tolerance))return this.handleCancel();this.handlePending(s,c);return}t.cancelable&&t.preventDefault(),i(l)}handleEnd(){let{onAbort:t,onEnd:a}=this.props;this.detach(),this.activated||t(this.props.active),a()}handleCancel(){let{onAbort:t,onCancel:a}=this.props;this.detach(),this.activated||t(this.props.active),a()}handleKeydown(t){t.code===ie.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},PI={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}},Kr=class extends rn{constructor(t){let{event:a}=t,r=ar(a.target);super(t,PI,r)}};Kr.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t;return!a.isPrimary||a.button!==0?!1:(r?.({event:a}),!0)}}];var DI={move:{name:"mousemove"},end:{name:"mouseup"}},Ic;(function(e){e[e.RightClick=2]="RightClick"})(Ic||(Ic={}));var yc=class extends rn{constructor(t){super(t,DI,ar(t.event.target))}};yc.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t;return a.button===Ic.RightClick?!1:(r?.({event:a}),!0)}}];var xc={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}},bc=class extends rn{constructor(t){super(t,xc)}static setup(){return window.addEventListener(xc.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xc.move.name,t)};function t(){}}};bc.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t,{touches:o}=a;return o.length>1?!1:(r?.({event:a}),!0)}}];var tn;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(tn||(tn={}));var Ds;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Ds||(Ds={}));function OI(e){let{acceleration:t,activator:a=tn.Pointer,canScroll:r,draggingRect:o,enabled:n,interval:i=5,order:s=Ds.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:d,delta:f,threshold:m}=e,p=FI({delta:f,disabled:!n}),[h,x]=yp(),g=O({x:0,y:0}),y=O({x:0,y:0}),T=Y(()=>{switch(a){case tn.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case tn.DraggableRect:return o}},[a,o,l]),E=O(null),A=Se(()=>{let N=E.current;if(!N)return;let C=g.current.x*y.current.x,L=g.current.y*y.current.y;N.scrollBy(C,L)},[]),_=Y(()=>s===Ds.TreeOrder?[...c].reverse():c,[s,c]);j(()=>{if(!n||!c.length||!T){x();return}for(let N of _){if(r?.(N)===!1)continue;let C=c.indexOf(N),L=d[C];if(!L)continue;let{direction:R,speed:b}=CI(N,L,T,t,m);for(let P of["x","y"])p[P][R[P]]||(b[P]=0,R[P]=0);if(b.x>0||b.y>0){x(),E.current=N,h(A,i),g.current=b,y.current=R;return}}g.current={x:0,y:0},y.current={x:0,y:0},x()},[t,A,r,x,n,i,JSON.stringify(T),JSON.stringify(p),h,c,_,d,JSON.stringify(m)])}var MI={x:{[Be.Backward]:!1,[Be.Forward]:!1},y:{[Be.Backward]:!1,[Be.Forward]:!1}};function FI(e){let{delta:t,disabled:a}=e,r=Xo(t);return zr(o=>{if(a||!r||!o)return MI;let n={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Be.Backward]:o.x[Be.Backward]||n.x===-1,[Be.Forward]:o.x[Be.Forward]||n.x===1},y:{[Be.Backward]:o.y[Be.Backward]||n.y===-1,[Be.Forward]:o.y[Be.Forward]||n.y===1}}},[a,t,r])}function BI(e,t){let a=t!=null?e.get(t):void 0,r=a?a.node.current:null;return zr(o=>{var n;return t==null?null:(n=r??o)!=null?n:null},[r,t])}function UI(e,t){return Y(()=>e.reduce((a,r)=>{let{sensor:o}=r,n=o.activators.map(i=>({eventName:i.eventName,handler:t(i.handler,r)}));return[...a,...n]},[]),[e,t])}var on;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(on||(on={}));var Lc;(function(e){e.Optimized="optimized"})(Lc||(Lc={}));var Pp=new Map;function NI(e,t){let{dragging:a,dependencies:r,config:o}=t,[n,i]=v(null),{frequency:s,measure:l,strategy:c}=o,d=O(e),f=g(),m=jr(f),p=Se(function(y){y===void 0&&(y=[]),!m.current&&i(T=>T===null?y:T.concat(y.filter(E=>!T.includes(E))))},[m]),h=O(null),x=zr(y=>{if(f&&!a)return Pp;if(!y||y===Pp||d.current!==e||n!=null){let T=new Map;for(let E of e){if(!E)continue;if(n&&n.length>0&&!n.includes(E.id)&&E.rect.current){T.set(E.id,E.rect.current);continue}let A=E.node.current,_=A?new an(l(A),A):null;E.rect.current=_,_&&T.set(E.id,_)}return T}return y},[e,n,a,f,l]);return j(()=>{d.current=e},[e]),j(()=>{f||p()},[a,f]),j(()=>{n&&n.length>0&&i(null)},[JSON.stringify(n)]),j(()=>{f||typeof s!="number"||h.current!==null||(h.current=setTimeout(()=>{p(),h.current=null},s))},[s,f,p,...r]),{droppableRects:x,measureDroppableContainers:p,measuringScheduled:n!=null};function g(){switch(c){case on.Always:return!1;case on.BeforeDragging:return a;default:return!a}}}function wc(e,t){return zr(a=>e?a||(typeof t=="function"?t(e):e):null,[t,e])}function _I(e,t){return wc(e,t)}function qI(e){let{callback:t,disabled:a}=e,r=Jo(t),o=Y(()=>{if(a||typeof window>"u"||typeof window.MutationObserver>"u")return;let{MutationObserver:n}=window;return new n(r)},[r,a]);return j(()=>()=>o?.disconnect(),[o]),o}function Os(e){let{callback:t,disabled:a}=e,r=Jo(t),o=Y(()=>{if(a||typeof window>"u"||typeof window.ResizeObserver>"u")return;let{ResizeObserver:n}=window;return new n(r)},[a]);return j(()=>()=>o?.disconnect(),[o]),o}function HI(e){return new an(nn(e),e)}function Dp(e,t,a){t===void 0&&(t=HI);let[r,o]=v(null);function n(){o(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??a)!=null?c:null}let d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d})}let i=qI({callback(l){if(e)for(let c of l){let{type:d,target:f}=c;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){n();break}}}}),s=Os({callback:n});return Kt(()=>{n(),e?(s?.observe(e),i?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),i?.disconnect())},[e]),r}function GI(e){let t=wc(e);return Gp(e,t)}var Op=[];function $I(e){let t=O(e),a=zr(r=>e?r&&r!==Op&&e&&t.current&&e.parentNode===t.current.parentNode?r:Cc(e):Op,[e]);return j(()=>{t.current=e},[e]),a}function WI(e){let[t,a]=v(null),r=O(e),o=Se(n=>{let i=hc(n.target);i&&a(s=>s?(s.set(i,Sc(i)),new Map(s)):null)},[]);return j(()=>{let n=r.current;if(e!==n){i(n);let s=e.map(l=>{let c=hc(l);return c?(c.addEventListener("scroll",o,{passive:!0}),[c,Sc(c)]):null}).filter(l=>l!=null);a(s.length?new Map(s):null),r.current=e}return()=>{i(e),i(n)};function i(s){s.forEach(l=>{let c=hc(l);c?.removeEventListener("scroll",o)})}},[o,e]),Y(()=>e.length?t?Array.from(t.values()).reduce((n,i)=>rr(n,i),Mt):Jp(e):Mt,[e,t])}function Mp(e,t){t===void 0&&(t=[]);let a=O(null);return j(()=>{a.current=null},t),j(()=>{let r=e!==Mt;r&&!a.current&&(a.current=e),!r&&a.current&&(a.current=null)},[e]),a.current?Qo(e,a.current):Mt}function jI(e){j(()=>{if(!Vo)return;let t=e.map(a=>{let{sensor:r}=a;return r.setup==null?void 0:r.setup()});return()=>{for(let a of t)a?.()}},e.map(t=>{let{sensor:a}=t;return a}))}function zI(e,t){return Y(()=>e.reduce((a,r)=>{let{eventName:o,handler:n}=r;return a[o]=i=>{n(i,t)},a},{}),[e,t])}function Yp(e){return Y(()=>e?II(e):null,[e])}var Fp=[];function KI(e,t){t===void 0&&(t=nn);let[a]=e,r=Yp(a?Je(a):null),[o,n]=v(Fp);function i(){n(()=>e.length?e.map(l=>Kp(l)?r:new an(t(l),l)):Fp)}let s=Os({callback:i});return Kt(()=>{s?.disconnect(),i(),e.forEach(l=>s?.observe(l))},[e]),o}function Qp(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Wr(t)?t:e}function VI(e){let{measure:t}=e,[a,r]=v(null),o=Se(c=>{for(let{target:d}of c)if(Wr(d)){r(f=>{let m=t(d);return f?{...f,width:m.width,height:m.height}:m});break}},[t]),n=Os({callback:o}),i=Se(c=>{let d=Qp(c);n?.disconnect(),d&&n?.observe(d),r(d?t(d):null)},[t,n]),[s,l]=Zo(i);return Y(()=>({nodeRef:s,rect:a,setRef:l}),[a,s,l])}var JI=[{sensor:Kr,options:{}},{sensor:Ps,options:{}}],ZI={current:{}},Rs={draggable:{measure:kp},droppable:{measure:kp,strategy:on.WhileDragging,frequency:Lc.Optimized},dragOverlay:{measure:nn}},sr=class extends Map{get(t){var a;return t!=null&&(a=super.get(t))!=null?a:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:a}=t;return!a})}getNodeFor(t){var a,r;return(a=(r=this.get(t))==null?void 0:r.node.current)!=null?a:void 0}},XI={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new sr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:As},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Rs,measureDroppableContainers:As,windowRect:null,measuringScheduled:!1},em={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:As,draggableNodes:new Map,over:null,measureDroppableContainers:As},sn=Yt(em),tm=Yt(XI);function YI(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new sr}}}function QI(e,t){switch(t.type){case Pe.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Pe.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 Pe.DragEnd:case Pe.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Pe.RegisterDroppable:{let{element:a}=t,{id:r}=a,o=new sr(e.droppable.containers);return o.set(r,a),{...e,droppable:{...e.droppable,containers:o}}}case Pe.SetDroppableDisabled:{let{id:a,key:r,disabled:o}=t,n=e.droppable.containers.get(a);if(!n||r!==n.key)return e;let i=new sr(e.droppable.containers);return i.set(a,{...n,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case Pe.UnregisterDroppable:{let{id:a,key:r}=t,o=e.droppable.containers.get(a);if(!o||r!==o.key)return e;let n=new sr(e.droppable.containers);return n.delete(a),{...e,droppable:{...e.droppable,containers:n}}}default:return e}}function ey(e){let{disabled:t}=e,{active:a,activatorEvent:r,draggableNodes:o}=vt(sn),n=Xo(r),i=Xo(a?.id);return j(()=>{if(!t&&!r&&n&&i!=null){if(!Es(n)||document.activeElement===n.target)return;let s=o.get(i);if(!s)return;let{activatorNode:l,node:c}=s;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(let d of[l.current,c.current]){if(!d)continue;let f=Lp(d);if(f){f.focus();break}}})}},[r,t,o,i,n]),null}function am(e,t){let{transform:a,...r}=t;return e!=null&&e.length?e.reduce((o,n)=>n({transform:o,...r}),a):a}function ty(e){return Y(()=>({draggable:{...Rs.draggable,...e?.draggable},droppable:{...Rs.droppable,...e?.droppable},dragOverlay:{...Rs.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function ay(e){let{activeNode:t,measure:a,initialRect:r,config:o=!0}=e,n=O(!1),{x:i,y:s}=typeof o=="boolean"?{x:o,y:o}:o;Kt(()=>{if(!i&&!s||!t){n.current=!1;return}if(n.current||!r)return;let c=t?.node.current;if(!c||c.isConnected===!1)return;let d=a(c),f=Gp(d,r);if(i||(f.x=0),s||(f.y=0),n.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){let m=Wp(c);m&&m.scrollBy({top:f.y,left:f.x})}},[t,i,s,r,a])}var Ms=Yt({...Mt,scaleX:1,scaleY:1}),Da;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Da||(Da={}));var rm=Ws(function(t){var a,r,o,n;let{id:i,accessibility:s,autoScroll:l=!0,children:c,sensors:d=JI,collisionDetection:f=pI,measuring:m,modifiers:p,...h}=t,x=zs(QI,void 0,YI),[g,y]=x,[T,E]=rI(),[A,_]=v(Da.Uninitialized),N=A===Da.Initialized,{draggable:{active:C,nodes:L,translate:R},droppable:{containers:b}}=g,P=C!=null?L.get(C):null,F=O({initial:null,translated:null}),B=Y(()=>{var We;return C!=null?{id:C,data:(We=P?.data)!=null?We:ZI,rect:F}:null},[C,P]),te=O(null),[le,oe]=v(null),[Q,Ee]=v(null),k=jr(h,Object.values(h)),G=Yo("DndDescribedBy",i),W=Y(()=>b.getEnabled(),[b]),Z=ty(m),{droppableRects:ye,measureDroppableContainers:Te,measuringScheduled:Re}=NI(W,{dragging:N,dependencies:[R.x,R.y],config:Z.droppable}),ce=BI(L,C),St=Y(()=>Q?en(Q):null,[Q]),De=Qm(),Bt=_I(ce,Z.draggable.measure);ay({activeNode:C!=null?L.get(C):null,config:De.layoutShiftCompensation,initialRect:Bt,measure:Z.draggable.measure});let ve=Dp(ce,Z.draggable.measure,Bt),M=Dp(ce?ce.parentElement:null),H=O({activatorEvent:null,active:null,activeNode:ce,collisionRect:null,collisions:null,droppableRects:ye,draggableNodes:L,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ne=b.getNodeFor((a=H.current.over)==null?void 0:a.id),$e=VI({measure:Z.dragOverlay.measure}),D=(r=$e.nodeRef.current)!=null?r:ce,ue=N?(o=$e.rect)!=null?o:ve:null,Ue=!!($e.nodeRef.current&&$e.rect),Ut=GI(Ue?null:ve),It=Yp(D?Je(D):null),Ze=$I(N?ne??ce:null),Tt=KI(Ze),Vt=am(p,{transform:{x:R.x-Ut.x,y:R.y-Ut.y,scaleX:1,scaleY:1},activatorEvent:Q,active:B,activeNodeRect:ve,containerNodeRect:M,draggingNodeRect:ue,over:H.current.over,overlayNodeRect:$e.rect,scrollableAncestors:Ze,scrollableAncestorRects:Tt,windowRect:It}),z=St?rr(St,R):null,Ae=WI(Ze),Jt=Mp(Ae),Zt=Mp(Ae,[ve]),lr=rr(Vt,Jt),cr=ue?gI(ue,Vt):null,Vr=B&&cr?f({active:B,collisionRect:cr,droppableRects:ye,droppableContainers:W,pointerCoordinates:z}):null,Pc=dI(Vr,"id"),[da,Dc]=v(null),Vm=Ue?Vt:rr(Vt,Zt),Jm=mI(Vm,(n=da?.rect)!=null?n:null,ve),qs=O(null),Oc=Se((We,st)=>{let{sensor:it,options:fa}=st;if(te.current==null)return;let yt=L.get(te.current);if(!yt)return;let lt=We.nativeEvent,Nt=new it({active:te.current,activeNode:yt,event:lt,options:fa,context:H,onAbort(Ne){if(!L.get(Ne))return;let{onDragAbort:_t}=k.current,Xt={id:Ne};_t?.(Xt),T({type:"onDragAbort",event:Xt})},onPending(Ne,pa,_t,Xt){if(!L.get(Ne))return;let{onDragPending:Zr}=k.current,ma={id:Ne,constraint:pa,initialCoordinates:_t,offset:Xt};Zr?.(ma),T({type:"onDragPending",event:ma})},onStart(Ne){let pa=te.current;if(pa==null)return;let _t=L.get(pa);if(!_t)return;let{onDragStart:Xt}=k.current,Jr={activatorEvent:lt,active:{id:pa,data:_t.data,rect:F}};(0,or.unstable_batchedUpdates)(()=>{Xt?.(Jr),_(Da.Initializing),y({type:Pe.DragStart,initialCoordinates:Ne,active:pa}),T({type:"onDragStart",event:Jr}),oe(qs.current),Ee(lt)})},onMove(Ne){y({type:Pe.DragMove,coordinates:Ne})},onEnd:ur(Pe.DragEnd),onCancel:ur(Pe.DragCancel)});qs.current=Nt;function ur(Ne){return async function(){let{active:_t,collisions:Xt,over:Jr,scrollAdjustedTranslate:Zr}=H.current,ma=null;if(_t&&Zr){let{cancelDrop:Xr}=k.current;ma={activatorEvent:lt,active:_t,collisions:Xt,delta:Zr,over:Jr},Ne===Pe.DragEnd&&typeof Xr=="function"&&await Promise.resolve(Xr(ma))&&(Ne=Pe.DragCancel)}te.current=null,(0,or.unstable_batchedUpdates)(()=>{y({type:Ne}),_(Da.Uninitialized),Dc(null),oe(null),Ee(null),qs.current=null;let Xr=Ne===Pe.DragEnd?"onDragEnd":"onDragCancel";if(ma){let Hs=k.current[Xr];Hs?.(ma),T({type:Xr,event:ma})}})}}},[L]),Zm=Se((We,st)=>(it,fa)=>{let yt=it.nativeEvent,lt=L.get(fa);if(te.current!==null||!lt||yt.dndKit||yt.defaultPrevented)return;let Nt={active:lt};We(it,st.options,Nt)===!0&&(yt.dndKit={capturedBy:st.sensor},te.current=fa,Oc(it,st))},[L,Oc]),Mc=UI(d,Zm);jI(d),Kt(()=>{ve&&A===Da.Initializing&&_(Da.Initialized)},[ve,A]),j(()=>{let{onDragMove:We}=k.current,{active:st,activatorEvent:it,collisions:fa,over:yt}=H.current;if(!st||!it)return;let lt={active:st,activatorEvent:it,collisions:fa,delta:{x:lr.x,y:lr.y},over:yt};(0,or.unstable_batchedUpdates)(()=>{We?.(lt),T({type:"onDragMove",event:lt})})},[lr.x,lr.y]),j(()=>{let{active:We,activatorEvent:st,collisions:it,droppableContainers:fa,scrollAdjustedTranslate:yt}=H.current;if(!We||te.current==null||!st||!yt)return;let{onDragOver:lt}=k.current,Nt=fa.get(Pc),ur=Nt&&Nt.rect.current?{id:Nt.id,rect:Nt.rect.current,data:Nt.data,disabled:Nt.disabled}:null,Ne={active:We,activatorEvent:st,collisions:it,delta:{x:yt.x,y:yt.y},over:ur};(0,or.unstable_batchedUpdates)(()=>{Dc(ur),lt?.(Ne),T({type:"onDragOver",event:Ne})})},[Pc]),Kt(()=>{H.current={activatorEvent:Q,active:B,activeNode:ce,collisionRect:cr,collisions:Vr,droppableRects:ye,draggableNodes:L,draggingNode:D,draggingNodeRect:ue,droppableContainers:b,over:da,scrollableAncestors:Ze,scrollAdjustedTranslate:lr},F.current={initial:ue,translated:cr}},[B,ce,Vr,cr,L,D,ue,ye,b,da,Ze,lr]),OI({...De,delta:R,draggingRect:cr,pointerCoordinates:z,scrollableAncestors:Ze,scrollableAncestorRects:Tt});let Xm=Y(()=>({active:B,activeNode:ce,activeNodeRect:ve,activatorEvent:Q,collisions:Vr,containerNodeRect:M,dragOverlay:$e,draggableNodes:L,droppableContainers:b,droppableRects:ye,over:da,measureDroppableContainers:Te,scrollableAncestors:Ze,scrollableAncestorRects:Tt,measuringConfiguration:Z,measuringScheduled:Re,windowRect:It}),[B,ce,ve,Q,Vr,M,$e,L,b,ye,da,Te,Ze,Tt,Z,Re,It]),Ym=Y(()=>({activatorEvent:Q,activators:Mc,active:B,activeNodeRect:ve,ariaDescribedById:{draggable:G},dispatch:y,draggableNodes:L,over:da,measureDroppableContainers:Te}),[Q,Mc,B,ve,y,G,L,da,Te]);return he.createElement(Np.Provider,{value:E},he.createElement(sn.Provider,{value:Ym},he.createElement(tm.Provider,{value:Xm},he.createElement(Ms.Provider,{value:Jm},c)),he.createElement(ey,{disabled:s?.restoreFocus===!1})),he.createElement(sI,{...s,hiddenTextDescribedById:G}));function Qm(){let We=le?.autoScrollEnabled===!1,st=typeof l=="object"?l.enabled===!1:l===!1,it=N&&!We&&!st;return typeof l=="object"?{...l,enabled:it}:{enabled:it}}}),ry=Yt(null),Bp="button",oy="Draggable";function om(e){let{id:t,data:a,disabled:r=!1,attributes:o}=e,n=Yo(oy),{activators:i,activatorEvent:s,active:l,activeNodeRect:c,ariaDescribedById:d,draggableNodes:f,over:m}=vt(sn),{role:p=Bp,roleDescription:h="draggable",tabIndex:x=0}=o??{},g=l?.id===t,y=vt(g?Ms:ry),[T,E]=Zo(),[A,_]=Zo(),N=zI(i,t),C=jr(a);Kt(()=>(f.set(t,{id:t,key:n,node:T,activatorNode:A,data:C}),()=>{let R=f.get(t);R&&R.key===n&&f.delete(t)}),[f,t]);let L=Y(()=>({role:p,tabIndex:x,"aria-disabled":r,"aria-pressed":g&&p===Bp?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[r,p,x,g,h,d.draggable]);return{active:l,activatorEvent:s,activeNodeRect:c,attributes:L,isDragging:g,listeners:r?void 0:N,node:T,over:m,setNodeRef:E,setActivatorNodeRef:_,transform:y}}function ny(){return vt(tm)}var sy="Droppable",iy={timeout:25};function nm(e){let{data:t,disabled:a=!1,id:r,resizeObserverConfig:o}=e,n=Yo(sy),{active:i,dispatch:s,over:l,measureDroppableContainers:c}=vt(sn),d=O({disabled:a}),f=O(!1),m=O(null),p=O(null),{disabled:h,updateMeasurementsFor:x,timeout:g}={...iy,...o},y=jr(x??r),T=Se(()=>{if(!f.current){f.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),p.current=null},g)},[g]),E=Os({callback:T,disabled:h||!i}),A=Se((L,R)=>{E&&(R&&(E.unobserve(R),f.current=!1),L&&E.observe(L))},[E]),[_,N]=Zo(A),C=jr(t);return j(()=>{!E||!_.current||(E.disconnect(),f.current=!1,E.observe(_.current))},[_,E]),j(()=>(s({type:Pe.RegisterDroppable,element:{id:r,key:n,disabled:a,node:_,rect:m,data:C}}),()=>s({type:Pe.UnregisterDroppable,key:n,id:r})),[r]),j(()=>{a!==d.current.disabled&&(s({type:Pe.SetDroppableDisabled,id:r,key:n,disabled:a}),d.current.disabled=a)},[r,n,a,s]),{active:i,rect:m,isOver:l?.id===r,node:_,over:l,setNodeRef:N}}function ly(e){let{animation:t,children:a}=e,[r,o]=v(null),[n,i]=v(null),s=Xo(a);return!a&&!r&&s&&o(s),Kt(()=>{if(!n)return;let l=r?.key,c=r?.props.id;if(l==null||c==null){o(null);return}Promise.resolve(t(c,n)).then(()=>{o(null)})},[t,r,n]),he.createElement(he.Fragment,null,a,r?$s(r,{ref:i}):null)}var cy={x:0,y:0,scaleX:1,scaleY:1};function uy(e){let{children:t}=e;return he.createElement(sn.Provider,{value:em},he.createElement(Ms.Provider,{value:cy},t))}var dy={position:"fixed",touchAction:"none"},fy=e=>Es(e)?"transform 250ms ease":void 0,py=Ma((e,t)=>{let{as:a,activatorEvent:r,adjustScale:o,children:n,className:i,rect:s,style:l,transform:c,transition:d=fy}=e;if(!s)return null;let f=o?c:{...c,scaleX:1,scaleY:1},m={...dy,width:s.width,height:s.height,top:s.top,left:s.left,transform:Pa.Transform.toString(f),transformOrigin:o&&r?lI(r,s):void 0,transition:typeof d=="function"?d(r):d,...l};return he.createElement(a,{className:i,style:m,ref:t},n)}),my=e=>t=>{let{active:a,dragOverlay:r}=t,o={},{styles:n,className:i}=e;if(n!=null&&n.active)for(let[s,l]of Object.entries(n.active))l!==void 0&&(o[s]=a.node.style.getPropertyValue(s),a.node.style.setProperty(s,l));if(n!=null&&n.dragOverlay)for(let[s,l]of Object.entries(n.dragOverlay))l!==void 0&&r.node.style.setProperty(s,l);return i!=null&&i.active&&a.node.classList.add(i.active),i!=null&&i.dragOverlay&&r.node.classList.add(i.dragOverlay),function(){for(let[l,c]of Object.entries(o))a.node.style.setProperty(l,c);i!=null&&i.active&&a.node.classList.remove(i.active)}},hy=e=>{let{transform:{initial:t,final:a}}=e;return[{transform:Pa.Transform.toString(t)},{transform:Pa.Transform.toString(a)}]},gy={duration:250,easing:"ease",keyframes:hy,sideEffects:my({styles:{active:{opacity:"0"}}})};function xy(e){let{config:t,draggableNodes:a,droppableContainers:r,measuringConfiguration:o}=e;return Jo((n,i)=>{if(t===null)return;let s=a.get(n);if(!s)return;let l=s.node.current;if(!l)return;let c=Qp(i);if(!c)return;let{transform:d}=Je(i).getComputedStyle(i),f=$p(d);if(!f)return;let m=typeof t=="function"?t:Sy(t);return Zp(l,o.draggable.measure),m({active:{id:n,data:s.data,node:l,rect:o.draggable.measure(l)},draggableNodes:a,dragOverlay:{node:i,rect:o.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:o,transform:f})})}function Sy(e){let{duration:t,easing:a,sideEffects:r,keyframes:o}={...gy,...e};return n=>{let{active:i,dragOverlay:s,transform:l,...c}=n;if(!t)return;let d={x:s.rect.left-i.rect.left,y:s.rect.top-i.rect.top},f={scaleX:l.scaleX!==1?i.rect.width*l.scaleX/s.rect.width:1,scaleY:l.scaleY!==1?i.rect.height*l.scaleY/s.rect.height:1},m={x:l.x-d.x,y:l.y-d.y,...f},p=o({...c,active:i,dragOverlay:s,transform:{initial:l,final:m}}),[h]=p,x=p[p.length-1];if(JSON.stringify(h)===JSON.stringify(x))return;let g=r?.({active:i,dragOverlay:s,...c}),y=s.node.animate(p,{duration:t,easing:a,fill:"forwards"});return new Promise(T=>{y.onfinish=()=>{g?.(),T()}})}}var Up=0;function Iy(e){return Y(()=>{if(e!=null)return Up++,Up},[e])}var sm=he.memo(e=>{let{adjustScale:t=!1,children:a,dropAnimation:r,style:o,transition:n,modifiers:i,wrapperElement:s="div",className:l,zIndex:c=999}=e,{activatorEvent:d,active:f,activeNodeRect:m,containerNodeRect:p,draggableNodes:h,droppableContainers:x,dragOverlay:g,over:y,measuringConfiguration:T,scrollableAncestors:E,scrollableAncestorRects:A,windowRect:_}=ny(),N=vt(Ms),C=Iy(f?.id),L=am(i,{activatorEvent:d,active:f,activeNodeRect:m,containerNodeRect:p,draggingNodeRect:g.rect,over:y,overlayNodeRect:g.rect,scrollableAncestors:E,scrollableAncestorRects:A,transform:N,windowRect:_}),R=wc(m),b=xy({config:r,draggableNodes:h,droppableContainers:x,measuringConfiguration:T}),P=R?g.setRef:void 0;return he.createElement(uy,null,he.createElement(ly,{animation:b},f&&C?he.createElement(py,{key:C,id:f.id,ref:P,as:s,activatorEvent:d,adjustScale:t,className:l,transition:n,rect:R,style:{zIndex:c,...o},transform:L},a):null))});Le();var yy=w({stateId:S,name:S,sequence:rt,defaultKey:$(S)}),Oa=w({kind:S,principalId:$(S),threadId:$(S),pluginId:$(S),personKey:$(S)}),by=e=>e.kind==="account"?`account:${e.userId}`:`local-owner:${e.environmentId}`,im=e=>({kind:e.kind,...e.principalId===void 0?{}:{principalId:e.principalId},...e.threadId===void 0?{}:{threadId:e.threadId},...e.pluginId===void 0?{}:{pluginId:e.pluginId},...e.principal===void 0?{}:{personKey:by(e.principal)}}),Ly=w({key:S,displayName:S}),Cy=w({principalId:S,label:S,state:gt(["active","disabled","revoked"]),lastUsedAt:$(S)}),wy=w({principalId:S,pending:Fe(w({count:rt,items:ee(w({workItemId:S,blocked:Qe}))}))}),Ty=w({workItemId:S,sequenceId:rt,title:Fe(S),state:w({stateId:S,name:S}),assignees:ee(Oa),blockedByTotal:rt,version:rt,assigneeSession:$(w({threadId:S,status:gt(["running","failed","waiting","stopped"]),stoppedAt:$(S)})),queued:$(Qe)}),vy=w({workItemId:S,sequenceId:rt,state:w({stateId:S,name:S,group:S})}),lm=w({states:ee(yy),items:ee(Ty),goal:rp,goalItem:$(vy),people:ee(Ly),rosterMembers:ee(hs),remoteAgents:ee(Cy),remoteAgentsUnavailable:$(se(!0)),remoteWork:ee(wy),viewerKey:$(S),toolkits:w({board:Qe,memory:Qe}),truncated:Qe}),nD=w({projectId:S}),sD=w({projectId:S,title:S,description:$(S),assigneeThreadId:$(S),requestId:S}),iD=w({projectId:S,workItemId:S,expectedVersion:xt.check(va(1)),stateId:$(S),assigneeThreadId:$(S),unassign:$(Qe)}),Fs=w({_tag:se("TeamBoardRejection"),commandType:gt(["createItem","updateItem","postComment"]),code:S,details:$(No)}),cm=Me([w({workItemId:S}),Fs]),um=Me([w({workItemId:S,version:rt}),Fs]);function ky(e,t,a){let r=new Date(e),o=r.getFullYear()===t.getFullYear()&&r.getMonth()===t.getMonth()&&r.getDate()===t.getDate(),n=new Intl.DateTimeFormat(a,{hour:"numeric"}).resolvedOptions().hour12;return new Intl.DateTimeFormat(a,{...o?{}:{month:"short",day:"numeric"},hour:n===!0?"numeric":"2-digit",minute:"2-digit"}).format(r)}function dm({item:e,states:t,members:a,rosterMembers:r,remoteAgents:o,people:n,viewerKey:i,disabled:s,readOnly:l=!1,isGoalItem:c,onUpdate:d,onOpenDetail:f}){let m=ha(),{t:p}=J(),h=om({id:e.workItemId,disabled:s||l}),x=gs(a);return I("article",{ref:h.setNodeRef,"data-work-item-id":e.workItemId,style:{transform:Pa.Translate.toString(h.transform),opacity:h.isDragging?.35:1},className:"flex flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[l?I("span",{className:"font-mono",children:["#",e.sequenceId]}):I(q,{variant:"ghost",size:"sm",className:"w-fit cursor-grab touch-none font-mono",disabled:s,...h.attributes,...h.listeners,"aria-label":p("board.dragItem",{number:e.sequenceId}),children:["#",e.sequenceId]}),c?u(me,{variant:"info",children:p("board.goalItem")}):null]}),u(Tc,{item:e,members:a,rosterMembers:r,remoteAgents:o,people:n,viewerKey:i}),I("div",{className:"flex flex-wrap gap-1",children:[u(q,{type:"button",variant:"outline",size:"sm","aria-label":p("detail.openItem",{number:e.sequenceId}),onClick:()=>f(e.workItemId),children:p("detail.open")}),l?null:I(nt,{children:[I(Xa,{children:[u(Ya,{disabled:s,render:u(q,{variant:"outline",size:"sm"}),"aria-label":p("board.moveItem",{number:e.sequenceId}),children:p("board.moveTo")}),u(Qa,{align:"start",children:t.map(g=>u(zt,{disabled:s||g.stateId===e.state.stateId,"aria-label":p("board.moveItemTo",{number:e.sequenceId,state:m(g)}),onClick:()=>{d(e,{stateId:g.stateId})},children:m(g)},g.stateId))})]}),I(Xa,{children:[u(Ya,{disabled:s,render:u(q,{variant:"outline",size:"sm"}),"aria-label":p("board.assignItem",{number:e.sequenceId}),children:p("board.assignTo")}),I(Qa,{align:"start",children:[x.map(g=>u(zt,{disabled:s,"aria-label":p("board.assignItemTo",{number:e.sequenceId,name:g.name??p("board.other")}),onClick:()=>{d(e,{assigneeThreadId:g.threadId})},children:g.name??p("board.other")},g.memberId)),u(zt,{disabled:s||e.assignees.length===0,"aria-label":p("board.unassignItem",{number:e.sequenceId}),onClick:()=>{d(e,{unassign:!0})},children:p("board.unassign")})]})]})]})]})]})}function Tc({item:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}){let{t:i}=J(),{assigneeNames:s}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),l=e.assigneeSession,c=()=>{switch(l?.status){case"running":return i("board.sessionRunning");case"failed":return i("board.sessionFailed");case"waiting":return i("board.sessionWaiting");case"stopped":return l.stoppedAt===void 0?i("board.sessionStopped"):i("board.sessionStoppedAt",{time:ky(l.stoppedAt,new Date,i("board.dateLocale"))})}};return I(nt,{children:[u("p",{className:"line-clamp-2 break-words text-sm font-medium",children:e.title??i("board.untitled")}),I("div",{className:"flex flex-wrap items-center gap-1 text-sm text-muted-foreground",children:[u("span",{children:e.assignees.length===0?i("board.unassigned"):s(e.assignees)}),l===void 0?null:u(me,{shape:"pill",title:i("board.sessionStatusTitle"),variant:l.status==="running"?"success":l.status==="failed"?"error":l.status==="waiting"?"warning":"outline",children:c()}),e.queued===!0?u(me,{shape:"pill",variant:"info",title:i("board.queuedTitle"),children:i("board.queued")}):null]}),e.blockedByTotal>0?u(me,{variant:"warning",children:i("board.blockedBy",{count:e.blockedByTotal})}):null]})}Le();Le();Le();var Bs=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var fm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var pm=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var vc=e=>{let t=pm(e);return t.charAt(0).toUpperCase()+t.slice(1)};Le();var mm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var hm=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var gm=Ma(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:i,...s},l)=>ge("svg",{ref:l,...mm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Bs("lucide",o),...!n&&!hm(s)&&{"aria-hidden":"true"},...s},[...i.map(([c,d])=>ge(c,d)),...Array.isArray(n)?n:[n]]));var xm=(e,t)=>{let a=Ma(({className:r,...o},n)=>ge(gm,{ref:n,iconNode:t,className:Bs(`lucide-${fm(vc(e))}`,`lucide-${e}`,r),...o}));return a.displayName=vc(e),a};var Ey=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ln=xm("x",Ey);var HD=w({projectId:S,workItemId:S}),Im=e=>{let t=e.trim();return t.length>=1&&t.length<=8e3?t:null},GD=w({projectId:S,workItemId:S,body:S,parentId:$(S),mentions:$(ee(w({threadId:$(S),principalId:$(S)}))),requestId:S}),ym=e=>e.threadId!==void 0?e.principalId===void 0?{kind:"agent",threadId:e.threadId}:null:e.principalId!==void 0?{kind:"remote-agent",principalId:e.principalId}:null,bm=Me([w({commentId:S}),Fs]),Ry=w({commentId:S,author:Oa,mentions:$(ee(Oa)),body:Fe(S),parentId:Fe(S),createdAt:S}),Ay=w({sequence:rt,actor:Oa,viaPlugin:$(S),at:S,verb:S,changes:ee(w({field:S,old:No,new:No}))}),Sm=w({workItemId:S,sequenceId:rt,title:Fe(S),stateId:S,stateName:S}),Py=w({item:w({workItemId:S,sequenceId:rt,title:Fe(S),description:Fe(S),state:w({stateId:S,name:S}),assignees:ee(Oa),version:rt}),blockedBy:ee(Sm),blocking:ee(Sm),comments:ee(Ry),commentsTruncated:Qe,history:ee(Ay),historyTruncated:Qe}),Lm=Fe(Py);var kc=e=>e==="@"||e==="\uFF20",Dy=/[\s\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\u3000-\u303f\uff01-\uff0f\uff1a-\uff20\uff3b-\uff40\uff5b-\uff65]/u,Cm=(e,t)=>{if(!kc(e[t]))return!1;let a=Array.from(e.slice(Math.max(0,t-2),t)).at(-1);return a===void 0||Dy.test(a)};var Oy=Ke(bm),cn=e=>e.threadId===void 0?`remote:${e.principalId}`:`local:${e.threadId}`;function My(e){let t=new Map(e.map(r=>[r.commentId,r])),a=new Map;for(let r of e){let o=r,n=new Set([o.commentId]);for(;o.parentId!==null;){let s=t.get(o.parentId);if(s===void 0||n.has(s.commentId))break;n.add(s.commentId),o=s}let i=a.get(o.commentId)??{root:o,replies:[]};r.commentId!==o.commentId&&i.replies.push(r),a.set(o.commentId,i)}return[...a.values()].sort((r,o)=>r.root.createdAt.localeCompare(o.root.createdAt))}function Tm({detail:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n,...i}){let{t:s}=J(),{actorName:l}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),[c,d]=v(null),f=t.flatMap(p=>{let h=ym(p);if(h===null)return[];let{kind:x,...g}=h;return[{key:cn(g),mention:g,name:l(h)}]}),m=p=>I("article",{"data-comment-id":p.commentId,className:"flex flex-col gap-1",children:[I("p",{className:"flex flex-wrap gap-2 text-sm text-muted-foreground",children:[u("span",{children:l(p.author)}),u("time",{dateTime:p.createdAt,children:$r(p.createdAt)})]}),p.mentions?.length?u("p",{className:"text-sm text-muted-foreground",children:s("detail.mentioned",{names:p.mentions.map(l).join(s("detail.mentionSeparator"))})}):null,u("p",{className:"whitespace-pre-wrap break-words text-sm",children:p.body??s("detail.deletedComment")})]});return I("section",{className:"flex flex-col gap-3","aria-label":s("detail.comments"),children:[u("h3",{className:"text-sm font-medium",children:s("detail.comments")}),e.comments.length===0?u("p",{children:s("detail.noComments")}):null,e.commentsTruncated?u("p",{role:"status",children:s("detail.commentsTruncated")}):null,My(e.comments).map(({root:p,replies:h},x)=>I("div",{className:"flex flex-col gap-2","data-comment-thread":p.commentId,children:[m(p),h.length===0?null:u("div",{className:"ml-4 flex flex-col gap-2 border-l border-border pl-3","data-replies-to":p.commentId,children:h.map(g=>u("div",{children:m(g)},g.commentId))}),u(q,{type:"button",variant:"ghost",size:"sm",className:"w-fit","aria-label":s("detail.replyTo",{number:x+1}),"aria-expanded":c===p.commentId,onClick:()=>d(c===p.commentId?null:p.commentId),children:s("detail.reply")}),c===p.commentId?u(wm,{...i,candidates:f,parentId:p.commentId,number:x+1},p.commentId):null]},p.commentId)),u(wm,{...i,candidates:f})]})}function wm({environmentId:e,projectId:t,workItemId:a,data:r,parentId:o,number:n,candidates:i}){let s=K(),{t:l}=J(),c=kt(),[d,f]=v(""),[m,p]=v(null),[h,x]=v(!1),[g,y]=v(null),[T,E]=v([]),[A,_]=v(!1),N=O(null),C=O(!1),L=O(null),R=O(null),b=O(!1),P=O(!1);j(()=>{let k=P.current&&!A;P.current=A;let G=N.current,W=R.current;!k||G===null||W===null||(G.focus(),G.setSelectionRange(W.start,W.end))},[A]);let F=i.filter(k=>T.some(G=>cn(G)===k.key)),B=k=>{if(E(G=>G.some(W=>cn(W)===k.key)?G.filter(W=>cn(W)!==k.key):[...G,k.mention]),p(null),y(null),L.current!==null){let G=L.current;f(W=>kc(W[G])?W.slice(0,G)+W.slice(G+1):W),R.current={start:G,end:G},_(!1)}},te=Im(d),le=!h&&!r.loadFailed&&te!==null,oe=l(o===void 0?"detail.newComment":"detail.replyTo",{number:n}),Q=o===void 0?m===null?"detail.sendComment":"detail.retryComment":m===null?"detail.sendReply":"detail.retryReply",Ee=async()=>{if(!le||te===null||b.current||!r.source.active)return;let k=F.map(Z=>Z.mention),W=(m?.mentions?.every(Z=>i.some(ye=>ye.key===cn(Z)))??!0?m:null)??{projectId:t,workItemId:a,body:te,requestId:ca(),...o===void 0?{}:{parentId:o},...k.length===0?{}:{mentions:k}};b.current=!0,p(W),x(!0),y(null);try{let Z=Oy(await s.commands.invoke("postComment",W,{environmentId:e}));if(!r.source.active)return;if("code"in Z){y(Z.code==="invalid-body"?"detail.invalidBody":Z.code==="not-a-member"?"detail.notAMember":"detail.commentFailed");return}f(""),E([]),p(null),await r.reload()}catch{r.source.active&&y("detail.commentFailed")}finally{r.source.active&&(b.current=!1,x(!1))}};return I("form",{className:"flex flex-col gap-2",onSubmit:k=>{k.preventDefault(),Ee()},children:[u(Ve,{htmlFor:c,children:oe}),u(Ra,{ref:N,id:c,"aria-label":oe,"aria-describedby":[o===void 0?`${c}-hint`:null,g?`${c}-error`:null].filter(k=>k!==null).join(" ")||void 0,rows:3,value:d,disabled:h||r.loadFailed,onCompositionStart:()=>{C.current=!0},onCompositionEnd:()=>{C.current=!1},onChange:k=>{let G=k.target.value,W=k.target.selectionStart-1,Z=k.nativeEvent,ye=G[W];!C.current&&!Z.isComposing&&(!Z.inputType||Z.inputType==="insertText")&&Cm(G,W)&&(Z.data===ye||G.length===d.length+1&&G.slice(0,W)+G.slice(W+1)===d)&&(L.current=W,R.current={start:W+1,end:W+1},_(!0)),f(G),p(null),y(null)}}),I(Xa,{open:A,onOpenChange:(k,{reason:G})=>{if(k){L.current=null;let W=N.current;R.current=W===null?null:{start:W.selectionStart,end:W.selectionEnd}}!k&&G==="outside-press"&&(R.current=null),_(k)},children:[u(Ya,{disabled:h||r.loadFailed,render:u(q,{type:"button",variant:"outline",size:"sm",className:"w-fit"}),"aria-label":l("detail.mentionLabel",{comment:oe}),children:l("detail.mention")}),u(Qa,{finalFocus:!1,children:i.length===0?u(zt,{disabled:!0,"aria-label":l("detail.mentionNoneLabel",{comment:oe}),children:l("detail.mentionNone")}):i.map(k=>{let G=F.some(W=>W.key===k.key);return u(zt,{closeOnClick:!1,"aria-label":l(G?"detail.mentionMemberSelected":"detail.mentionMember",{name:k.name,comment:oe}),onClick:()=>B(k),children:G?l("detail.mentionSelected",{name:k.name}):k.name},k.key)})})]}),F.length>0?u("div",{className:"flex flex-wrap gap-2",children:F.map(k=>I(q,{type:"button",size:"sm",variant:"outline",disabled:h||r.loadFailed,"aria-label":l("detail.mentionRemove",{name:k.name,comment:oe}),onClick:()=>{L.current=null,B(k)},children:["@",k.name,u(ln,{className:"size-3","aria-hidden":!0})]},k.key))}):null,o===void 0?u("p",{id:`${c}-hint`,className:"text-sm text-muted-foreground",children:l("detail.commentHint")}):null,g?u("p",{id:`${c}-error`,role:"alert",className:"text-sm text-destructive-foreground",children:l(g)}):null,u(q,{type:"submit",variant:"outline",className:"w-fit",disabled:!le,"aria-label":l(Q,{number:n}),onClick:k=>(k.preventDefault(),Ee()),children:l(h?"detail.sending":m===null?"detail.send":"detail.retry")})]})}var Fy=_r(ee(Oa)),By=_r(w({stateId:S}));function vm({detail:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n,states:i}){let{t:s}=J(),{actorName:l,assigneeNames:c,pluginName:d}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),f=ha(),m=x=>{let g=By(x),y=xr(g)?i.find(T=>T.stateId===g.value.stateId):void 0;return y===void 0?s("detail.history.deletedState"):f(y)},p=x=>{let g=Fy(x);return xr(g)?c(g.value):""},h=x=>{let g=l(x.actor);switch(x.verb){case"created":{let y=p(x.changes.find(T=>T.field==="assignees")?.new);return[y.length===0?s("detail.history.created",{author:g}):s("detail.history.createdAssigned",{author:g,names:y})]}case"updated":return x.changes.flatMap(y=>{switch(y.field){case"state":return[s("detail.history.stateChanged",{author:g,old:m(y.old),new:m(y.new)})];case"assignees":{let T=p(y.new);return[T.length===0?s("detail.history.unassigned",{author:g}):s("detail.history.assigned",{author:g,names:T})]}case"title":return[s("detail.history.titleChanged",{author:g})];case"description":return[s("detail.history.descriptionChanged",{author:g})];default:return[]}});case"claimed":return[s("detail.history.claimed",{author:g})];case"commented":return[s("detail.history.commented",{author:g})];case"relation-added":return[s("detail.history.relationAdded",{author:g})];case"relation-removed":return[s("detail.history.relationRemoved",{author:g})];default:return[]}};return I("section",{className:"flex flex-col gap-2","aria-label":s("detail.history.title"),children:[u("h3",{className:"text-sm font-medium",children:s("detail.history.title")}),e.history.length===0?u("p",{children:s("detail.history.empty")}):null,e.historyTruncated?u("p",{role:"status",children:s("detail.history.truncated")}):null,u("ol",{className:"flex flex-col gap-2",children:[...e.history].sort((x,g)=>g.at.localeCompare(x.at)||g.sequence-x.sequence).flatMap(x=>h(x).map((g,y)=>I("li",{"data-activity-sequence":x.sequence,children:[u("p",{className:"break-words text-sm",children:g}),I("p",{className:"flex flex-wrap gap-2 text-sm text-muted-foreground",children:[u("time",{dateTime:x.at,children:$r(x.at)}),x.viaPlugin===void 0?null:u("span",{children:s("detail.via",{source:d(x.viaPlugin)})})]})]},`${x.sequence}:${y}`)))})]})}Le();function Ft(e,t,a){let r=Y(()=>({active:!1,dirty:!1,running:null}),[e]),o=O(t);o.current=t;let[n,i]=v(void 0),[s,l]=v(!1),c=Se(()=>r.active?(r.dirty=!0,r.running!==null||(r.running=(async()=>{try{do{r.dirty=!1;try{let m=await o.current();if(!r.active)return;i(m),l(!1)}catch{if(!r.active)return;l(!0)}}while(r.active&&r.dirty)}finally{r.running=null}})()),r.running):Promise.resolve(),[r]),d=Se(()=>{r.active&&l(!1)},[r]);j(()=>(r.active=!0,i(void 0),l(!1),c(),()=>{r.active=!1}),[r,c]);let f=O(a);return j(()=>{Object.is(f.current,a)||(f.current=a,c())},[a,c]),{data:n,loadFailed:s,reload:c,clearFailure:d,source:r}}var Uy=Ke(Lm);function km(e,t,a,r){let o=K();return Ft(`${e}:${t}:${a}`,async()=>Uy(await o.commands.invoke("itemDetail",{projectId:t,workItemId:a},{environmentId:e})),r)}function Em({environmentId:e,projectId:t,workItemId:a,boardSnapshot:r,rosterMembers:o,revealRequest:n,onOpenItem:i,onClose:s}){let{t:l}=J(),c=km(e,t,a,r),d=c.data,f=r?.goal?.members??[],m=r?.people??[],p=r?.viewerKey,h=r?.remoteAgents??[],{assigneeNames:x}=jt({members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p}),g=xs(r?.states??[]),y=O(null),T=c.data!==void 0;return j(()=>{y.current?.scrollIntoView({block:"start"})},[T,n]),u("div",{ref:y,children:u(Ss,{"aria-label":l("detail.title"),"data-item-detail":a,children:I(Is,{className:"flex min-w-0 flex-col gap-4",children:[I("div",{className:"flex items-start justify-between gap-2",children:[u("h2",{className:"min-w-0 break-words text-base font-semibold",children:d?`#${d.item.sequenceId} ${d.item.title??l("board.untitled")}`:l("detail.title")}),u(q,{type:"button",variant:"ghost",size:"sm",onClick:s,children:l("detail.close")})]}),c.loadFailed?I("div",{className:"flex flex-col gap-2",children:[u("p",{role:"alert",children:l("detail.loadFailed")}),u(q,{variant:"outline",className:"w-fit",onClick:c.reload,children:l("detail.reload")})]}):null,d===void 0&&!c.loadFailed?u("p",{role:"status",children:l("detail.loading")}):null,d===null?u("p",{children:l("detail.notFound")}):null,d?I(nt,{children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(me,{children:g(d.item.state)}),a===r?.goalItem?.workItemId?u(me,{variant:"info",children:l("board.goalItem")}):null,u("p",{className:"text-sm text-muted-foreground",children:d.item.assignees.length===0?l("board.unassigned"):x(d.item.assignees)})]}),I("section",{className:"flex flex-col gap-2","aria-label":l("detail.description"),children:[u("h3",{className:"text-sm font-medium",children:l("detail.description")}),u("p",{className:"whitespace-pre-wrap break-words text-sm",children:d.item.description??l("detail.noDescription")})]}),["blockedBy","blocking"].map(E=>d[E].length===0?null:I("section",{className:"flex flex-col gap-2","aria-label":l(`detail.${E}`),children:[u("h3",{className:"text-sm font-medium",children:l(`detail.${E}`)}),d[E].map(A=>u(q,{type:"button",variant:"outline",className:"h-auto justify-start whitespace-normal text-left",onClick:()=>i(A.workItemId),children:l("detail.dependency",{number:A.sequenceId,title:A.title??l("board.untitled"),state:g({stateId:A.stateId,name:A.stateName})})},A.workItemId))]},E)),u(Tm,{environmentId:e,projectId:t,workItemId:a,detail:d,members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p,data:c}),u(vm,{detail:d,members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p,states:r?.states??[]})]}):null]})})})}var Ny=Ke(cm),_y=Ke(um),ir="__unassigned__",Rm=(e,t)=>e==="stale-version"?"board.staleVersion":e==="not-a-member"?"board.notAMember":e==="invalid-title"?"board.invalidTitle":t;function Us(e){let[t,a]=v(null),r=t?.source===e?t:null;return{workItemId:r?.workItemId??null,request:r?.request??0,open:o=>a(n=>({source:e,workItemId:o,request:(n?.request??0)+1})),close:()=>a(null)}}function Ns({environmentId:e,projectId:t,board:a,detail:r,readOnly:o=!1,layout:n="responsive"}){let i=K(),{t:s}=J(),{data:l,source:c,reload:d,loadFailed:f,watchFailed:m,retryWatch:p}=a,h=kt(),[x,g]=v(""),[y,T]=v(""),[E,A]=v(ir),[_,N]=v(null),[C,L]=v(!1),[R,b]=v(null),[P,F]=v(null),[B,te]=v(null),le=O(!1),oe=qp(_p(Kr,{activationConstraint:{distance:6}})),Q=o||l===null||C||f,Ee=l?.goal?.members??[],k=gs(Ee),G=l?.people??[],W=l?.remoteAgents??[],Z=l?.rosterMembers??[];j(()=>{le.current=!1,g(""),T(""),A(ir),N(null),L(!1),b(null),F(null),te(null)},[c]);let ye=()=>{N(null),b(null)},Te=async()=>{if(Q||le.current||x.trim().length===0)return;let M=_??{projectId:t,title:x.trim(),requestId:ca(),...y.length===0?{}:{description:y},...E===ir?{}:{assigneeThreadId:E}};le.current=!0,N(M),L(!0),b(null);try{let H=Ny(await i.commands.invoke("createItem",M,{environmentId:e}));if(!c.active)return;"code"in H?b(Rm(H.code,"board.createFailed")):(g(""),T(""),A(ir),N(null)),await d()}catch{if(!c.active)return;b("board.createFailed"),await d()}finally{c.active&&(le.current=!1,L(!1))}},Re=async(M,H)=>{if(!(Q||le.current)){le.current=!0,L(!0),b(null),F({item:M,patch:H});try{let ne=_y(await i.commands.invoke("updateItem",{projectId:t,workItemId:M.workItemId,expectedVersion:M.version,...H},{environmentId:e}));if(!c.active)return;"code"in ne&&(F(null),b(Rm(ne.code,"board.updateFailed")))}catch{if(!c.active)return;F(null),b("board.updateFailed")}finally{c.active&&(await d(),c.active&&(F(null),le.current=!1,L(!1)))}}},ce=M=>{let H=M.over?.data.current?.stateId;return typeof H=="string"?H:null},St=M=>{if(Q)return;let H=l?.items.find(ne=>ne.workItemId===String(M.active.id));H&&te({item:H,stateId:H.state.stateId})},De=M=>{let H=ce(M);H!==null&&te(ne=>ne===null?null:{...ne,stateId:H})},Bt=M=>{let H=ce(M);te(null),B!==null&&H!==null&&H!==B.item.state.stateId&&Re(B.item,{stateId:H})},ve=(l?.items??[]).map(M=>{let H=P?.item.workItemId===M.workItemId?P.patch:B?.item.workItemId===M.workItemId?{stateId:B.stateId}:null;if(H===null||H.stateId===M.state.stateId&&H.assigneeThreadId===void 0&&H.unassign!==!0)return M;let ne=l?.states.find(D=>D.stateId===H.stateId),$e={...M};return delete $e.assigneeSession,delete $e.queued,{...$e,state:ne??M.state,assignees:H.unassign===!0?[]:H.assigneeThreadId===void 0?M.assignees:[{kind:"agent",threadId:H.assigneeThreadId}]}});return I("section",{className:"flex min-w-0 flex-col gap-3","aria-label":s("board.title"),children:[u("h2",{className:"text-base font-semibold",children:s("board.title")}),o?null:I("form",{className:"flex flex-col gap-2",onSubmit:M=>{M.preventDefault(),Te()},children:[u("h3",{className:"text-sm font-medium",children:s("board.newItem")}),u(Ve,{htmlFor:`${h}-title`,children:s("board.itemTitle")}),u(er,{id:`${h}-title`,"aria-label":s("board.itemTitle"),value:x,required:!0,disabled:Q,onChange:M=>{g(M.target.value),ye()}}),u(Ve,{htmlFor:`${h}-description`,children:s("board.description")}),u(Ra,{id:`${h}-description`,"aria-label":s("board.description"),rows:2,value:y,disabled:Q,onChange:M=>{T(M.target.value),ye()}}),u(Ve,{htmlFor:`${h}-assignee`,children:s("board.assignee")}),I(ys,{value:E,disabled:Q||k.length===0,onValueChange:M=>{A(M??ir),ye()},children:[u(bs,{id:`${h}-assignee`,"aria-label":s("board.assignee"),children:u(Ls,{children:E===ir?s("board.unassigned"):k.find(M=>M.threadId===E)?.name??s("board.other")})}),I(Cs,{children:[u(Ho,{value:ir,children:s("board.unassigned")}),k.map(M=>u(Ho,{value:M.threadId,children:M.name??s("board.other")},M.memberId))]})]}),k.length===0?u("p",{className:"text-sm text-muted-foreground",children:s("board.goalRequired")}):null,u(q,{type:"submit",className:"w-fit",disabled:Q||x.trim().length===0,onClick:M=>(M.preventDefault(),Te()),children:s(C?"board.saving":_===null?"board.create":"board.retryCreate")})]}),R?u("p",{role:"alert",className:"text-sm text-destructive-foreground",children:s(R)}):null,f?u("p",{role:"alert",children:s("board.loadFailed")}):null,m?u("p",{role:"alert",children:s("board.watchFailed")}):null,f||m?u(q,{variant:"outline",onClick:()=>{m&&p(),d()},children:s("board.reload")}):null,l===null&&!f?u("p",{role:"status",children:s("board.loading")}):null,l?.truncated?u("p",{role:"status",className:"text-sm text-muted-foreground",children:s("board.truncated")}):null,I(qy,{readOnly:o,sensors:oe,collisionDetection:Hp,onDragStart:St,onDragOver:De,onDragEnd:Bt,onDragCancel:()=>te(null),children:[u("div",{className:n==="single-column"?"grid min-w-0 grid-cols-1 gap-3":"grid min-w-0 gap-3 grid-cols-[repeat(auto-fill,minmax(min(100%,15rem),1fr))]",style:{contain:"inline-size"},children:l?.states.map(M=>{let H=ve.filter(ne=>ne.state.stateId===M.stateId);return u(Hy,{state:M,count:H.length,readOnly:o,children:H.map(ne=>u(dm,{item:ne,states:l.states,members:Ee,rosterMembers:Z,remoteAgents:W,people:G,viewerKey:l.viewerKey,disabled:Q,readOnly:o,isGoalItem:ne.workItemId===l.goalItem?.workItemId,onUpdate:Re,onOpenDetail:r.open},ne.workItemId))},M.stateId)})}),o?null:u(sm,{dropAnimation:null,children:B!==null&&l!==null?I("div",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("span",{className:"font-mono",children:["#",B.item.sequenceId]}),u(Tc,{item:B.item,members:Ee,rosterMembers:Z,remoteAgents:W,people:G,viewerKey:l.viewerKey})]}):null})]}),r.workItemId!==null?u(Em,{environmentId:e,projectId:t,workItemId:r.workItemId,boardSnapshot:l,rosterMembers:Z,revealRequest:r.request,onOpenItem:r.open,onClose:r.close},`${e}:${t}:${r.workItemId}`):null]})}function qy({readOnly:e,...t}){return e?u(nt,{children:t.children}):u(rm,{...t})}function Hy({state:e,count:t,children:a,readOnly:r}){let o=ha(),n=nm({id:`column:${e.stateId}`,data:{stateId:e.stateId},disabled:r});return I("section",{ref:n.setNodeRef,"data-state-id":e.stateId,"aria-label":`${o(e)} (${t})`,className:`flex min-h-32 min-w-0 flex-col gap-3 rounded-xl border border-border bg-muted/30 p-2 ${n.isOver?"ring-2 ring-ring":""}`,children:[I("div",{className:"flex items-center justify-between gap-2",children:[u("h3",{className:"truncate text-sm font-medium",children:o(e)}),u(me,{children:t})]}),a]})}Le();Le();var Ec=xt.check(va(1)),ua=gt(["handbook_decisions","handbook_rules","handbook_progress"]),Gy=w({kind:ua,baseRevision:Fe(_o),title:$(S),body:S,changeSummary:$(S)}),Am={requestId:S,expectedRelease:_o,requireAck:$(Qe)},Pm=w({...Am,pages:ee(Gy),sourceExperience:$(w({experienceId:S,revision:_o}))}),Dm=w({...Am,toRelease:_o}),UO=w({release:Ec}),NO=w({projectId:S}),_O=w({version:se(1),projectId:S,memberId:S,requestId:S,op:gt(["publish","revert"]),requireAckChoice:$(Qe),requiresAck:$(Qe)}),qO=w({version:se(1),projectId:S,requestId:S,producedRelease:$(Qe),outcome:Me([w({status:se("succeeded"),release:Ec}),w({status:se("rejected")}),w({status:se("voided")})])}),$y=w({version:se(1),projectId:S,release:Ec,memberId:S}),HO=w({...$y.fields});var un={projectId:S},WO=w(un),jO=w({...un,cursor:$(S)}),zO=w({...un,pageId:S,revision:xt,textOffset:$(xt)}),KO=w({...un,...Pm.fields}),VO=w({...un,...Dm.fields}),Om=Me([w({status:se("succeeded"),release:xt}),w({status:se("rejected"),code:S,detail:S})]);async function Rc(e,t,a,r=0){return await e.commands.invoke("handbookPage",{projectId:t.projectId,pageId:a.pageId,revision:a.revision,textOffset:r},{environmentId:t.environmentId})}async function Mm(e,t,a){let r=await Promise.all(ua.literals.map(async o=>{let n=a?.current.pages.find(l=>l.kind===o),i=n===void 0?void 0:a?.pages.find(l=>l.pageId===n.pageId),s=i?.body??"";for(;i?.bodyState==="present"&&i.bodyWindow?.nextOffset!=null;){let l=await Rc(e,t,i,i.bodyWindow.nextOffset);s+=l.body??"",i=l}return[o,{title:i?.title===o?"":i?.title??"",body:s,changeSummary:i?.changeSummary??"",available:n===void 0||i?.bodyState==="present"}]}));return Object.fromEntries(r)}var Fm=(e,t)=>e.title!==t.title||e.body!==t.body||e.changeSummary!==t.changeSummary,Bm=(e,t)=>ua.literals.some(a=>Fm(e[a],t[a]));function Um(e,t,a){return ua.literals.flatMap(r=>{let o=e[r];if(!o.available||!Fm(o,t[r]))return[];let n=a?.current.pages.find(l=>l.kind===r),i=o.title.trim(),s=o.changeSummary.trim();return[{kind:r,baseRevision:n?.revision??null,...i===""?{}:{title:i},body:o.body,...s===""?{}:{changeSummary:s}}]})}Le();function Ac({value:e,disabled:t,onChange:a}){let{t:r}=J();return I("div",{className:"flex flex-col gap-1",children:[u(ws,{mode:"multiple","aria-label":r("handbookPanel.ackChoice"),options:[{value:"ack",label:r("handbookPanel.ackChoice")}],selected:e?["ack"]:[],disabled:t,onToggle:()=>a(!e)}),u("p",{className:"text-ui-sm text-pretty text-muted-foreground",children:r("handbookPanel.ackPolicy")})]})}function Nm({draft:e,disabled:t,cancelDisabled:a,requireAck:r,feedback:o,onChange:n,onAck:i,onSave:s,onCancel:l}){let{t:c}=J(),d=kt();return I("section",{"aria-label":c("handbookPanel.edit"),className:"flex flex-col gap-4",children:[ua.literals.map(f=>{let m=e[f],p=c(`handbookPanel.${f}`),h=(x,g)=>n({...e,[f]:{...m,[x]:g}});return I("fieldset",{disabled:t||!m.available,className:"flex min-w-0 flex-col gap-2",children:[u("legend",{className:"text-ui font-medium",children:p}),m.available?I(nt,{children:[u(Ve,{htmlFor:`${d}-${f}-title`,children:c("handbookPanel.fieldTitle")}),u(er,{id:`${d}-${f}-title`,"aria-label":c("handbookPanel.pageTitle",{page:p}),value:m.title,disabled:t,onChange:x=>h("title",x.target.value)}),u(Ve,{htmlFor:`${d}-${f}-body`,children:c("handbookPanel.fieldBody")}),u(Ra,{id:`${d}-${f}-body`,"aria-label":c("handbookPanel.pageBody",{page:p}),rows:8,value:m.body,disabled:t,onChange:x=>h("body",x.target.value)}),u(Ve,{htmlFor:`${d}-${f}-summary`,children:c("handbookPanel.fieldSummary")}),u(er,{id:`${d}-${f}-summary`,"aria-label":c("handbookPanel.pageSummary",{page:p}),value:m.changeSummary,disabled:t,onChange:x=>h("changeSummary",x.target.value)})]}):u("p",{className:"text-ui text-muted-foreground",children:c("handbookPanel.uneditable")})]},f)}),u(Ac,{value:r,disabled:t,onChange:i}),o,I("div",{className:"flex flex-wrap justify-end gap-2",children:[u(q,{variant:"outline",disabled:a,onClick:l,children:c("handbookPanel.cancel")}),u(q,{disabled:t,onClick:s,children:c("handbookPanel.publish")})]})]})}Le();function _m({location:e,kind:t,initial:a}){let r=K(),{t:o}=J(),[n,i]=v(a),[s,l]=v(!1),[c,d]=v(!1),f=O(!1),m=O(!1);j(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=async()=>{if(!(m.current||n?.bodyWindow?.nextOffset==null)){m.current=!0,l(!0),d(!1);try{let h=await Rc(r,e,n,n.bodyWindow.nextOffset);f.current&&i(h.bodyState==="present"?{...h,body:(n.body??"")+h.body}:h)}catch{f.current&&d(!0)}finally{m.current=!1,f.current&&l(!1)}}};return I("section",{className:"flex min-w-0 flex-col gap-2","aria-label":o(`handbookPanel.${t}`),children:[u("h3",{className:"text-ui font-medium",children:o(`handbookPanel.${t}`)}),n?.bodyState==="present"&&n.title&&n.title!==t?u("p",{className:"text-ui",children:n.title}):null,u("p",{className:n?.bodyState==="present"?"whitespace-pre-wrap break-words text-ui":"text-ui text-muted-foreground",children:n===void 0?o("handbookPanel.missingPage"):n.bodyState==="erased"?o("handbookPanel.erased"):n.bodyState==="unavailable"?o("handbookPanel.unavailable"):n.body}),c?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.moreBodyFailed")})}):null,n?.bodyState==="present"&&n.bodyWindow?.nextOffset!=null?u(q,{variant:"outline",className:"w-fit",disabled:s,onClick:p,children:o("handbookPanel.moreBody")}):null]})}function qm({items:e,currentRelease:t,board:a,canOperate:r,busy:o,onRevert:n}){let i=K(),{t:s}=J(),l=jt({members:a?.goal?.members??[],rosterMembers:a?.rosterMembers??[],remoteAgents:a?.remoteAgents??[],people:a?.people??[],viewerKey:a?.viewerKey}),c=i.useFormatTimestamp();return I("section",{"aria-label":s("handbookPanel.releases"),className:"flex flex-col gap-3",children:[u("h3",{className:"text-ui font-medium",children:s("handbookPanel.releases")}),e.length===0?u("p",{className:"text-muted-foreground",children:s("handbookPanel.noReleases")}):u("ol",{className:"flex flex-col gap-3",children:e.map(d=>{let m=(d.publisherMemberId===null?void 0:a?.rosterMembers.find(p=>p.memberId===d.publisherMemberId)?.name)??l.actorName(im(d.publishedBy));return I("li",{className:"flex flex-wrap items-center gap-2",children:[u("span",{className:"font-medium",children:s("handbookPanel.version",{version:d.release})}),d.release===t?u(me,{children:s("handbookPanel.currentBadge")}):null,u("span",{className:"text-ui-sm text-muted-foreground",children:s("handbookPanel.publishedBy",{author:m})}),u("time",{className:"text-ui-sm text-muted-foreground",dateTime:d.publishedAt,children:c(d.publishedAt)}),u(me,{variant:"outline",children:s(d.requiresAck?"handbookPanel.requiresAck":"handbookPanel.noAck")}),d.restoredFromRelease===null?null:u(me,{variant:"outline",children:s("handbookPanel.restoredFrom",{version:d.restoredFromRelease})}),r&&d.release<t?u(q,{variant:"outline",size:"sm",disabled:o,"aria-label":s("handbookPanel.revertVersion",{version:d.release}),onClick:()=>n(d.release),children:s("handbookPanel.revert")}):null]},d.release)})})]})}var Wy=Ke(Om);function Hm({location:e,board:t,handbookCursor:a}){let r=K(),{t:o}=J(),n=Y(()=>({environmentId:e.environmentId}),[e.environmentId]),i=`${e.environmentId}:${e.projectId}`,s=Ft(i,()=>r.commands.invoke("handbookPanel",{projectId:e.projectId},n),a),l=Ft(i,()=>r.commands.invoke("handbookReleases",{projectId:e.projectId},n),a),[c,d]=v(null),[f,m]=v(!1),[p,h]=v(null),[x,g]=v(0),[y,T]=v(!1),[E,A]=v(!1),[_,N]=v(!1),[C,L]=v(null),[R,b]=v(null),[P,F]=v(null),[B,te]=v(null),[le,oe]=v(null),[Q,Ee]=v(!1),[k,G]=v(!1),W=O(void 0),Z=O(!1),ye=O(!1),Te=s.source,Re=s.data,ce=Re?.head??null,St=ce?.current.release??0,De=l.data,Bt=JSON.stringify([e.environmentId,e.projectId,De?.items[0]?.release??0]),ve=C?.key===Bt?C:null,M=De===void 0?void 0:ve===null?De:{items:[...De.items,...ve.older],nextCursor:ve.nextCursor},H=Re?.canOperate===!0,ne=y||s.loadFailed||Q;j(()=>{!Q||s.data===void 0||s.data===W.current||s.loadFailed||(d(z=>z===null?null:{...z,head:s.data.head}),Ee(!1))},[s.data,s.loadFailed,Q]);let $e=async()=>{if(!(Z.current||!H)){Z.current=!0,T(!0),oe(null);try{let z=await Mm(r,e,ce);Te.active&&(d({draft:z,original:z,head:ce}),m(!1),F(null))}catch(z){Te.active&&oe(z instanceof Error?z.message:String(z))}finally{Z.current=!1,Te.active&&T(!1)}}},D=async z=>{if(!(Z.current||ne||!H)){Z.current=!0,T(!0),F(null),oe(null),b(z);try{let Ae=Wy(await r.commands.invoke(z.command,z.input,n));if(!Te.active)return;if(Ae.status==="rejected"){b(null),Ae.code==="version-conflict"?(F("conflict"),W.current=s.data,Ee(!0),h(null),l.reload(),await s.reload()):oe(Ae.detail);return}b(null),d(null),h(null),m(!1),F("saved"),te(Ae.release),l.reload(),await s.reload()}catch(Ae){Te.active&&(F("failed"),oe(Ae instanceof Error?Ae.message:String(Ae)))}finally{Z.current=!1,Te.active&&T(!1)}}},ue=()=>{c!==null&&D(R?.command==="publishHandbook"?R:{command:"publishHandbook",input:{projectId:e.projectId,requestId:ca(),expectedRelease:c.head?.current.release??0,pages:Um(c.draft,c.original,c.head),requireAck:f}})},Ue=()=>{p!==null&&D(R?.command==="revertHandbook"?R:{command:"revertHandbook",input:{projectId:e.projectId,requestId:ca(),expectedRelease:x,toRelease:p,requireAck:f}})},Ut=async()=>{let z=M?.nextCursor;if(M===void 0||z==null||ye.current)return;ye.current=!0,A(!0),N(!1);let Ae=Bt;try{let Jt=await r.commands.invoke("handbookReleases",{projectId:e.projectId,cursor:z},n);Te.active&&L(Zt=>({key:Ae,older:[...Zt?.key===Ae?Zt.older:[],...Jt.items],nextCursor:Jt.nextCursor}))}catch{Te.active&&N(!0)}finally{ye.current=!1,Te.active&&A(!1)}},It=()=>{d(null),b(null),F(null),G(!1)},Ze=P==="saved"&&B!==St?null:P,Tt=I(nt,{children:[Ze?u(ka,{layout:"inline",variant:Ze==="saved"?"success":"warning",role:Ze==="saved"?"status":"alert",children:u(Ea,{children:o(`handbookPanel.${Ze}`)})}):null,le===null?null:u(ka,{layout:"inline",variant:"error",children:u(Ea,{className:"whitespace-pre-wrap break-words",children:le})})]}),Vt=H&&c!==null;return I("div",{className:"flex min-w-0 flex-col gap-5",children:[s.loadFailed?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.loadFailed")})}):null,Vt?null:Tt,s.loadFailed||l.loadFailed?u(q,{variant:"outline",className:"w-fit",disabled:y,onClick:()=>{l.reload(),s.reload()},children:o("handbookPanel.reload")}):null,Re===void 0?u("p",{role:"status",children:o("handbookPanel.loading")}):I(nt,{children:[I("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[I("div",{children:[u("p",{className:"text-ui font-medium",children:ce===null?o("handbookPanel.noCurrent"):o("handbookPanel.current",{version:St})}),u("p",{className:"text-ui-sm text-muted-foreground",children:Re.status.requiredRelease===null?o("handbookPanel.noRequired"):o("handbookPanel.required",{version:Re.status.requiredRelease})})]}),H&&c===null?u(q,{variant:"outline",disabled:ne,onClick:$e,children:o("handbookPanel.edit")}):null]}),Vt?u(Nm,{draft:c.draft,disabled:ne,cancelDisabled:y,requireAck:f,feedback:Tt,onChange:z=>{d({...c,draft:z}),b(null)},onAck:z=>{m(z),b(null)},onSave:ue,onCancel:()=>{Bm(c.draft,c.original)?G(!0):It()}}):null,ce===null?u("p",{className:"text-ui text-muted-foreground",children:o("handbookPanel.emptyPages")}):I("div",{className:"flex flex-col gap-4",children:[Vt?u("p",{className:"text-ui-sm text-muted-foreground",children:o("handbookPanel.currentReadOnly")}):null,ua.literals.map(z=>{let Ae=ce.current.pages.find(Zt=>Zt.kind===z),Jt=ce.pages.find(Zt=>Zt.pageId===Ae?.pageId&&Zt.revision===Ae.revision);return u(_m,{location:e,kind:z,initial:Jt},`${z}:${St}:${Jt?.bodyState}`)})]}),I("section",{"aria-label":o("handbookPanel.members"),className:"flex flex-col gap-2",children:[u("h3",{className:"text-ui font-medium",children:o("handbookPanel.members")}),Re.status.members.length===0?u("p",{className:"text-muted-foreground",children:o("handbookPanel.noMembers")}):u("ul",{className:"flex flex-col gap-2",children:Re.status.members.map(z=>{let Ae=t?.rosterMembers.find(Jt=>Jt.memberId===z.memberId)?.name??o("handbookPanel.member",{id:z.memberId});return I("li",{className:"flex flex-wrap items-center gap-2",children:[u("span",{children:Ae}),u("span",{children:z.acknowledgedRelease===null?o("handbookPanel.neverAck"):o("handbookPanel.acked",{version:z.acknowledgedRelease})}),z.acknowledgedRequiredRelease?null:u(me,{variant:"outline",children:o("handbookPanel.pendingAck",{version:Re.status.requiredRelease})})]},z.memberId)})})]}),u(qm,{items:M?.items??[],currentRelease:St,board:t,canOperate:H&&c===null,busy:ne,onRevert:z=>{h(z),g(St),m(!1),b(null),oe(null),F(null)}}),_||l.loadFailed?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.historyFailed")})}):null,M?.nextCursor==null?null:u(q,{variant:"outline",className:"w-fit",disabled:E,onClick:Ut,children:o("handbookPanel.moreReleases")})]}),u(Go,{open:H&&p!==null,onOpenChange:z=>{!z&&!y&&(h(null),b(null))},children:I(jo,{className:"ycodium-team-ui",children:[u(zo,{children:o("handbookPanel.revertTitle",{version:p})}),u($o,{children:o("handbookPanel.revertDescription",{version:p})}),le===null?null:u(ka,{layout:"inline",variant:"error",children:u(Ea,{className:"whitespace-pre-wrap break-words",children:le})}),u(Ac,{value:f,disabled:y,onChange:z=>{m(z),b(null)}}),I(Wo,{children:[u(q,{variant:"outline",disabled:y,onClick:()=>{h(null),b(null)},children:o("handbookPanel.cancel")}),u(q,{disabled:ne,onClick:Ue,children:o("handbookPanel.confirmRevert")})]})]})}),u(Go,{open:Vt&&k,onOpenChange:z=>{z||G(!1)},children:I(jo,{className:"ycodium-team-ui",children:[u(zo,{children:o("handbookPanel.discardTitle")}),u($o,{children:o("handbookPanel.discardDescription")}),I(Wo,{children:[u(q,{variant:"outline",onClick:()=>G(!1),children:o("handbookPanel.keepEditing")}),u(q,{variant:"destructive",onClick:It,children:o("handbookPanel.discard")})]})]})})]})}function Gm({location:e,board:t,handbookCursor:a}){let{t:r}=J(),[o,n]=v(!1),[i,s]=v(!1);return u(Ss,{"aria-label":r("handbookPanel.title"),children:I(Is,{className:"flex min-w-0 flex-col gap-4",children:[I("div",{className:"flex items-center justify-between gap-2",children:[u("h2",{className:"text-ui-lg font-semibold",children:r("handbookPanel.title")}),u(q,{variant:"outline","aria-expanded":o,onClick:()=>{s(!0),n(!o)},children:r(o?"handbookPanel.close":"handbookPanel.open")})]}),i?u("div",{hidden:!o,children:u(Hm,{location:e,board:t,handbookCursor:a},`${e.environmentId}:${e.projectId}`)}):null]})})}function $m({rosterMembers:e,remoteAgents:t,remoteAgentsUnavailable:a,remoteWork:r,items:o}){let{t:n}=J(),i=e.flatMap(s=>s.principal===void 0?[]:[{...s,principalId:s.principal.principalId}]);return I("section",{className:"flex min-w-0 flex-col gap-3","aria-label":n("remoteStatus.title"),children:[u("h2",{className:"text-base font-semibold",children:n("remoteStatus.title")}),i.length===0?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.none")}):i.map(s=>{let l=t.find(m=>m.principalId===s.principalId),c=r.find(m=>m.principalId===s.principalId)?.pending??null,d=(c?.items??[]).flatMap(m=>{let p=o.find(h=>h.workItemId===m.workItemId);return p===void 0?[]:[{...m,item:p}]}),f=(c?.count??0)-d.length;return I("div",{"data-remote-member":s.principalId,className:"flex min-w-0 flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u("span",{className:"min-w-0 break-words text-sm font-medium",children:s.name}),l?.state==="disabled"?u(me,{variant:"muted",children:n("remoteStatus.disabled")}):l?.state==="revoked"?u(me,{variant:"warning",children:n("remoteStatus.revoked")}):null,u("span",{className:"text-xs text-muted-foreground",children:a||l===void 0?n("remoteStatus.lastSeenUnavailable"):l.lastUsedAt===void 0?n("remoteStatus.neverSeen"):n("remoteStatus.lastSeen",{time:$r(l.lastUsedAt)})})]}),c===null?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.workUnavailable")}):c.count===0?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.noWork")}):I("ul",{className:"flex flex-col gap-1",children:[d.map(({workItemId:m,blocked:p,item:h})=>I("li",{className:"flex flex-wrap items-center gap-2 text-sm",children:[u("span",{className:"min-w-0 break-words",children:n("remoteStatus.item",{number:h.sequenceId,title:h.title??n("board.untitled")})}),p?u(me,{variant:"warning",children:n("remoteStatus.blocked")}):null]},m)),f>0?u("li",{className:"text-xs text-muted-foreground",children:n("remoteStatus.more",{count:f})}):null]})]},s.memberId)})]})}Le();var jy=Ke(lm);function _s(e,t){let a=K(),r=Y(()=>({projectId:t}),[t]),o=Y(()=>({environmentId:e}),[e]),n=a.commands.useSubscription("watch",r,o),i=n.data,s=Ft(`${e}:${t}`,async()=>jy(await a.commands.invoke("board",r,o)),i?.cursor);return{data:s.data??null,source:s.source,reload:s.reload,loadFailed:s.loadFailed,watchFailed:n.error!==null||n.isUnavailable,retryWatch:n.refresh,cursor:i?.cursor,handbookCursor:i?.handbookCursor}}var zy={"invalid-payload":"roster.invalidPayload","member-count":"roster.memberCount","invalid-member-id":"roster.invalidMemberId","invalid-name":"roster.invalidName","duplicate-member-id":"roster.duplicateMemberId","duplicate-name":"roster.duplicateName","lead-not-member":"roster.leadNotMember","lead-remote":"roster.leadRemote","duplicate-principal":"roster.duplicatePrincipal","invalid-principal":"roster.invalidPrincipal","stale-revision":"roster.staleRevision"},Ky=Ke(Fe(lc)),Vy=Ke(Xf),Wm=(e,t,a)=>t===(a?.leadMemberId??"")&&e.length===(a?.members.length??0)&&e.every((r,o)=>{let n=a?.members[o];return r.memberId===n?.memberId&&r.name===n.name&&r.principal?.principalId===n.principal?.principalId});function jm({environmentId:e,projectId:t}){let a=K(),{t:r}=J(),o=kt(),[n,i]=v([]),[s,l]=v(""),[c,d]=v(null),[f,m]=v(null),[p,h]=v(!1),[x,g]=v(!1),[y,T]=v(null),[E,A]=v(null),[_,N]=v(null),C=O(!1),L=O(!1),R=O(1),b=_s(e,t),P=O(!1),F=`${e}:${t}`,B=Ft(F,async()=>({roster:Ky(await a.commands.invoke("roster",{projectId:t},{environmentId:e})),key:F}),b.cursor),te=B.loadFailed,le=te&&B.data===void 0,oe=B.data===void 0&&!te,Q=E??(te?"roster.loadFailed":null),Ee=!Wm(n,s,c),k=(f?.revision??0)>(c?.revision??0),G=k&&Ee?"roster.updatedElsewhere":y,W=O(void 0),Z=O(null),ye=D=>{Z.current=B.source,m(D),i(D?.members??[]),l(D?.leadMemberId??""),d(D)};j(()=>(C.current=!0,h(!1),P.current=!1,A(null),T(null),()=>{C.current=!1}),[a,e,t]),j(()=>{let D=B.data;if(!(D===void 0||D.key!==F||D===W.current||L.current)){if(W.current=D,P.current||Z.current!==B.source){ye(D.roster),P.current&&(P.current=!1,T("roster.staleRevision"));return}(D.roster?.revision??0)<=(f?.revision??0)||(N(ue=>ue??f===null),Wm(n,s,c)?(ye(D.roster),f!==null&&T("roster.staleRevision")):m(D.roster))}},[B.data,B.source,F,x]),j(()=>{!k||Ee||L.current||Z.current!==B.source||(ye(f),c!==null&&T("roster.staleRevision"))},[k,Ee,f,c,B.source,x]);let Te=async()=>{h(!0),A(null);try{await B.reload()}finally{C.current&&h(!1)}},Re=()=>{T(null),A(null)},ce=(D={name:""})=>{if(oe||x||n.length>=qo)return;N(!0);let ue;do ue=`member-${R.current++}`;while(n.some(Ue=>Ue.memberId===ue));i([...n,{...D,memberId:ue}]),Re()},St=async()=>{if(!L.current){L.current=!0,g(!0),A(null),T(null);try{let D=Vy(await a.commands.invoke("setRoster",{projectId:t,members:n,leadMemberId:s,expectedRevision:c?.revision??0},{environmentId:e}));if(!C.current)return;if("code"in D){D.code==="stale-revision"?(P.current=!0,await Te()):A(zy[D.code]);return}let ue=n.map(Ut=>({...Ut,name:Ut.name.trim()})),Ue={members:ue,leadMemberId:s,revision:D.revision};i(ue),d(Ue),m(Ue),B.clearFailure(),T("roster.saved")}catch{C.current&&A("roster.saveFailed")}finally{L.current=!1,C.current&&g(!1)}}},De=oe||p||x,Bt=a.ui.ProjectToolkitSwitch!==void 0,ve=Us(b.source),M=b.data?.remoteAgents??[],H=M.filter(D=>D.state==="active"&&!n.some(ue=>ue.principal?.principalId===D.principalId)),ne=D=>{let ue=M.find(Ue=>Ue.principalId===D.principal?.principalId)?.label;return D.principal===void 0||ue===void 0||ue===D.name.trim()?null:ue},$e=b.data?.remoteAgentsUnavailable?"roster.remoteAgentsUnavailable":M.some(D=>D.state==="active")?"roster.allRemoteAgentsAdded":"roster.noRemoteAgents";return I("section",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-4 p-3 sm:p-6",children:[Bt?I("div",{className:"flex flex-col gap-2",children:[u(dc,{environmentId:e,projectId:t,toolkit:"board"}),u(dc,{environmentId:e,projectId:t,toolkit:"memory"}),b.data===null?null:b.data.toolkits.board&&b.data.toolkits.memory?u("p",{role:"status",className:"text-sm text-muted-foreground",children:r("roster.toolkitsOn")}):u("p",{role:"alert",className:"text-sm font-medium text-warning-foreground",children:r("roster.toolkitsOff")})]}):null,Bt?null:u("p",{className:"text-sm text-muted-foreground",children:r("roster.toolsHint")}),I(np,{open:_??f===null,onOpenChange:N,children:[u(sp,{render:u(q,{variant:"outline"}),children:r("roster.title")}),I(ip,{className:"flex flex-col gap-3 pt-3",children:[u("h2",{className:"text-base font-semibold",children:r("roster.members")}),G?u("p",{role:"status",className:G==="roster.updatedElsewhere"?"text-sm text-warning-foreground":"text-sm",children:r(G)}):null,Q?I("div",{className:"flex flex-col items-start gap-2",children:[u("p",{role:"alert",className:"text-sm text-destructive-foreground",children:r(Q)}),Q==="roster.loadFailed"?u(q,{variant:"outline",onClick:()=>Te(),disabled:De,children:r("roster.retry")}):null]}):null,oe?u("p",{role:"status",children:r("roster.loading")}):le?null:n.length===0?u(cp,{children:I(up,{children:[u(dp,{children:r("roster.emptyTitle")}),u(fp,{children:r("roster.emptyDescription")})]})}):u("div",{className:"flex flex-col gap-3",children:n.map((D,ue)=>{let Ue=ue+1,Ut=`${o}-${D.memberId}`;return I("div",{className:"flex flex-wrap items-end gap-3",children:[I("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(Ve,{htmlFor:Ut,children:r("roster.memberName",{number:Ue})}),D.principal?u(me,{variant:"outline",children:r("roster.remote")}):null]}),u(er,{id:Ut,value:D.name,disabled:De,"aria-label":r("roster.memberName",{number:Ue}),onChange:It=>{let Ze=It.target.value;i(n.map(Tt=>Tt.memberId===D.memberId?{...Tt,name:Ze}:Tt)),Re()}}),ne(D)!==null?u("span",{className:"text-xs text-muted-foreground",children:r("roster.remoteSource",{label:ne(D)})}):null]}),D.principal===void 0?u(ws,{mode:"single","aria-label":r("roster.leadFor",{number:Ue}),options:[{value:D.memberId,label:r("roster.lead")}],selected:s===""?[]:[s],disabled:De,onToggle:It=>{l(It),Re()}}):null,u(q,{variant:"ghost",disabled:De,"aria-label":r("roster.remove",{number:Ue}),onClick:()=>{i(n.filter(It=>It.memberId!==D.memberId)),s===D.memberId&&l(""),Re()},children:r("roster.remove",{number:Ue})})]},D.memberId)})}),le?null:I("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(q,{variant:"outline",disabled:De||n.length>=qo,onClick:()=>ce(),children:r("roster.add")}),I(Xa,{children:[u(Ya,{disabled:De||b.data===null||n.length>=qo,render:u(q,{variant:"outline"}),children:r("roster.addRemoteAgent")}),u(Qa,{align:"start",children:H.length===0?u(zt,{disabled:!0,"aria-label":r($e),children:r($e)}):H.map(D=>u(zt,{"aria-label":D.label,className:"max-w-80",onClick:()=>ce({name:D.label.slice(0,ic),principal:{kind:"remote-agent",principalId:D.principalId}}),children:u("span",{className:"truncate",children:D.label})},D.principalId))})]})]}),n.length>0?u(q,{disabled:De,onClick:St,children:r(x?"roster.saving":"roster.save")}):null]})]})]}),u(Gm,{location:{environmentId:e,projectId:t},board:b.data,handbookCursor:b.handbookCursor}),u(pp,{environmentId:e,projectId:t,roster:f,current:b.data===null?void 0:b.data.goal,rosterMembers:b.data?.rosterMembers??[],remoteAgents:b.data?.remoteAgents??[],goalItem:b.data?.goalItem,onOpenGoalItem:ve.open,states:b.data?.states??[],loadFailed:b.loadFailed,reload:b.reload,disabled:De||te},`goal:${e}:${t}`),b.data!==null?u($m,{rosterMembers:b.data.rosterMembers,remoteAgents:b.data.remoteAgents,...b.data.remoteAgentsUnavailable?{remoteAgentsUnavailable:!0}:{},remoteWork:b.data.remoteWork,items:b.data.items}):null,u(Ns,{environmentId:e,projectId:t,board:b,detail:ve},`board:${e}:${t}`)]})}Le();function zm(e){return e.map(t=>({projectId:t.id,title:t.title,workspaceRoot:t.workspaceRoot}))}function Km(){let e=K().useEnvironmentId();return e===null?null:u(Jy,{environmentId:e},e)}function Jy({environmentId:e}){let t=K(),{t:a}=J(),[r,o]=v(null),n=Ft(e,async()=>zm(await t.data.read("projects.list",{repositoryIdentity:"skip"},{environmentId:e})),void 0),i=n.data,s=i?.length===1?i[0]?.projectId:r,l=i?.find(c=>c.projectId===s);return I("section",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-4 p-3",children:[n.loadFailed?I("div",{className:"flex flex-col gap-2",children:[u("p",{role:"alert",children:a("page.projectsFailed")}),u(q,{variant:"outline",onClick:n.reload,children:a("page.reloadProjects")})]}):null,i===void 0&&!n.loadFailed?u("p",{role:"status",children:a("page.loadingProjects")}):null,i?.length===0?u("p",{role:"status",children:a("page.noProjects")}):null,i!==void 0&&i.length>1?I("div",{className:"flex min-w-0 flex-col gap-2",children:[u(Ve,{htmlFor:"team-project",children:a("page.project")}),I(ys,{value:l?.projectId??null,onValueChange:o,children:[u(bs,{id:"team-project","aria-label":a("page.project"),className:"min-h-11 w-full",children:u(Ls,{children:l?.title??a("page.chooseProject")})}),u(Cs,{children:i.map(c=>u(Ho,{value:c.projectId,className:"min-h-11",children:I("span",{className:"flex min-w-0 flex-col",children:[u("span",{className:"truncate",children:c.title}),u("span",{className:"truncate text-sm text-muted-foreground",children:c.workspaceRoot})]})},c.projectId))})]})]}):null,l?u(Zy,{environmentId:e,projectId:l.projectId},l.projectId):null]})}function Zy({environmentId:e,projectId:t}){let a=_s(e,t),r=Us(a.source),o=a.data;return I(nt,{children:[o?u(fc,{current:o.goal,rosterMembers:o.rosterMembers,remoteAgents:o.remoteAgents,goalItem:o.goalItem,states:o.states,onOpenGoalItem:r.open}):null,u(Ns,{environmentId:e,projectId:t,board:a,detail:r,readOnly:!0,layout:"single-column"})]})}function Xy(e){return{slots:[{name:"project.workbench.tab",titleKey:"tab.title",icon:"users",component:function(r){return I(Ks,{value:e,children:[u("style",{children:Gs}),u(jm,{...r},`${r.environmentId}:${r.projectId}`)]})}}],pages:{team:function(){return I(Ks,{value:e,children:[u("style",{children:Gs}),u(Km,{})]})}}}}export{Xy as default};
|
|
297
|
+
`},nI={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:a}=e;return a?"Draggable item "+t.id+" was moved over droppable area "+a.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:a}=e;return a?"Draggable item "+t.id+" was dropped over droppable area "+a.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function sI(e){let{announcements:t=nI,container:a,hiddenTextDescribedById:r,screenReaderInstructions:o=oI}=e,{announce:n,announcement:i}=Tp(),s=Yo("DndLiveRegion"),[l,c]=v(!1);if(j(()=>{c(!0)},[]),aI(Y(()=>({onDragStart(f){let{active:m}=f;n(t.onDragStart({active:m}))},onDragMove(f){let{active:m,over:p}=f;t.onDragMove&&n(t.onDragMove({active:m,over:p}))},onDragOver(f){let{active:m,over:p}=f;n(t.onDragOver({active:m,over:p}))},onDragEnd(f){let{active:m,over:p}=f;n(t.onDragEnd({active:m,over:p}))},onDragCancel(f){let{active:m,over:p}=f;n(t.onDragCancel({active:m,over:p}))}}),[n,t])),!l)return null;let d=he.createElement(he.Fragment,null,he.createElement(Cp,{id:r,value:o.draggable}),he.createElement(wp,{id:s,announcement:i}));return a?(0,or.createPortal)(d,a):d}var Pe;(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"})(Pe||(Pe={}));function As(){}function _p(e,t){return Y(()=>({sensor:e,options:t??{}}),[e,t])}function qp(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return Y(()=>[...t].filter(r=>r!=null),[...t])}var Mt=Object.freeze({x:0,y:0});function iI(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function lI(e,t){let a=en(e);if(!a)return"0 0";let r={x:(a.x-t.left)/t.width*100,y:(a.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function cI(e,t){let{data:{value:a}}=e,{data:{value:r}}=t;return a-r}function uI(e,t){let{data:{value:a}}=e,{data:{value:r}}=t;return r-a}function vp(e){let{left:t,top:a,height:r,width:o}=e;return[{x:t,y:a},{x:t+o,y:a},{x:t,y:a+r},{x:t+o,y:a+r}]}function dI(e,t){if(!e||e.length===0)return null;let[a]=e;return t?a[t]:a}var Hp=e=>{let{collisionRect:t,droppableRects:a,droppableContainers:r}=e,o=vp(t),n=[];for(let i of r){let{id:s}=i,l=a.get(s);if(l){let c=vp(l),d=o.reduce((m,p,h)=>m+iI(c[h],p),0),f=Number((d/4).toFixed(4));n.push({id:s,data:{droppableContainer:i,value:f}})}}return n.sort(cI)};function fI(e,t){let a=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),n=Math.min(t.top+t.height,e.top+e.height),i=o-r,s=n-a;if(r<o&&a<n){let l=t.width*t.height,c=e.width*e.height,d=i*s,f=d/(l+c-d);return Number(f.toFixed(4))}return 0}var pI=e=>{let{collisionRect:t,droppableRects:a,droppableContainers:r}=e,o=[];for(let n of r){let{id:i}=n,s=a.get(i);if(s){let l=fI(s,t);l>0&&o.push({id:i,data:{droppableContainer:n,value:l}})}}return o.sort(uI)};function mI(e,t,a){return{...e,scaleX:t&&a?t.width/a.width:1,scaleY:t&&a?t.height/a.height:1}}function Gp(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Mt}function hI(e){return function(a){for(var r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];return o.reduce((i,s)=>({...i,top:i.top+e*s.y,bottom:i.bottom+e*s.y,left:i.left+e*s.x,right:i.right+e*s.x}),{...a})}}var gI=hI(1);function $p(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function xI(e,t,a){let r=$p(t);if(!r)return e;let{scaleX:o,scaleY:n,x:i,y:s}=r,l=e.left-i-(1-o)*parseFloat(a),c=e.top-s-(1-n)*parseFloat(a.slice(a.indexOf(" ")+1)),d=o?e.width/o:e.width,f=n?e.height/n:e.height;return{width:d,height:f,top:c,right:l+d,bottom:c+f,left:l}}var SI={ignoreTransform:!1};function nn(e,t){t===void 0&&(t=SI);let a=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:c,transformOrigin:d}=Je(e).getComputedStyle(e);c&&(a=xI(a,c,d))}let{top:r,left:o,width:n,height:i,bottom:s,right:l}=a;return{top:r,left:o,width:n,height:i,bottom:s,right:l}}function kp(e){return nn(e,{ignoreTransform:!0})}function II(e){let t=e.innerWidth,a=e.innerHeight;return{top:0,left:0,right:t,bottom:a,width:t,height:a}}function yI(e,t){return t===void 0&&(t=Je(e).getComputedStyle(e)),t.position==="fixed"}function bI(e,t){t===void 0&&(t=Je(e).getComputedStyle(e));let a=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{let n=t[o];return typeof n=="string"?a.test(n):!1})}function Cc(e,t){let a=[];function r(o){if(t!=null&&a.length>=t||!o)return a;if(ks(o)&&o.scrollingElement!=null&&!a.includes(o.scrollingElement))return a.push(o.scrollingElement),a;if(!Wr(o)||mc(o)||a.includes(o))return a;let n=Je(e).getComputedStyle(o);return o!==e&&bI(o,n)&&a.push(o),yI(o,n)?a:r(o.parentNode)}return e?r(e):a}function Wp(e){let[t]=Cc(e,1);return t??null}function hc(e){return!Vo||!e?null:tr(e)?e:vs(e)?ks(e)||e===ar(e).scrollingElement?window:Wr(e)?e:null:null}function jp(e){return tr(e)?e.scrollX:e.scrollLeft}function zp(e){return tr(e)?e.scrollY:e.scrollTop}function Sc(e){return{x:jp(e),y:zp(e)}}var Be;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(Be||(Be={}));function Kp(e){return!Vo||!e?!1:e===document.scrollingElement}function Vp(e){let t={x:0,y:0},a=Kp(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-a.width,y:e.scrollHeight-a.height},o=e.scrollTop<=t.y,n=e.scrollLeft<=t.x,i=e.scrollTop>=r.y,s=e.scrollLeft>=r.x;return{isTop:o,isLeft:n,isBottom:i,isRight:s,maxScroll:r,minScroll:t}}var LI={x:.2,y:.2};function CI(e,t,a,r,o){let{top:n,left:i,right:s,bottom:l}=a;r===void 0&&(r=10),o===void 0&&(o=LI);let{isTop:c,isBottom:d,isLeft:f,isRight:m}=Vp(e),p={x:0,y:0},h={x:0,y:0},x={height:t.height*o.y,width:t.width*o.x};return!c&&n<=t.top+x.height?(p.y=Be.Backward,h.y=r*Math.abs((t.top+x.height-n)/x.height)):!d&&l>=t.bottom-x.height&&(p.y=Be.Forward,h.y=r*Math.abs((t.bottom-x.height-l)/x.height)),!m&&s>=t.right-x.width?(p.x=Be.Forward,h.x=r*Math.abs((t.right-x.width-s)/x.width)):!f&&i<=t.left+x.width&&(p.x=Be.Backward,h.x=r*Math.abs((t.left+x.width-i)/x.width)),{direction:p,speed:h}}function wI(e){if(e===document.scrollingElement){let{innerWidth:n,innerHeight:i}=window;return{top:0,left:0,right:n,bottom:i,width:n,height:i}}let{top:t,left:a,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:a,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function Jp(e){return e.reduce((t,a)=>rr(t,Sc(a)),Mt)}function TI(e){return e.reduce((t,a)=>t+jp(a),0)}function vI(e){return e.reduce((t,a)=>t+zp(a),0)}function Zp(e,t){if(t===void 0&&(t=nn),!e)return;let{top:a,left:r,bottom:o,right:n}=t(e);Wp(e)&&(o<=0||n<=0||a>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}var kI=[["x",["left","right"],TI],["y",["top","bottom"],vI]],an=class{constructor(t,a){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let r=Cc(a),o=Jp(r);this.rect={...t},this.width=t.width,this.height=t.height;for(let[n,i,s]of kI)for(let l of i)Object.defineProperty(this,l,{get:()=>{let c=s(r),d=o[n]-c;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},nr=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...a)})},this.target=t}add(t,a,r){var o;(o=this.target)==null||o.addEventListener(t,a,r),this.listeners.push([t,a,r])}};function EI(e){let{EventTarget:t}=Je(e);return e instanceof t?e:ar(e)}function gc(e,t){let a=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(a**2+r**2)>t:"x"in t&&"y"in t?a>t.x&&r>t.y:"x"in t?a>t.x:"y"in t?r>t.y:!1}var wt;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(wt||(wt={}));function Ep(e){e.preventDefault()}function RI(e){e.stopPropagation()}var ie;(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"})(ie||(ie={}));var Xp={start:[ie.Space,ie.Enter],cancel:[ie.Esc],end:[ie.Space,ie.Enter,ie.Tab]},AI=(e,t)=>{let{currentCoordinates:a}=t;switch(e.code){case ie.Right:return{...a,x:a.x+25};case ie.Left:return{...a,x:a.x-25};case ie.Down:return{...a,y:a.y+25};case ie.Up:return{...a,y:a.y-25}}},Ps=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:a}}=t;this.props=t,this.listeners=new nr(ar(a)),this.windowListeners=new nr(Je(a)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(wt.Resize,this.handleCancel),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(wt.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:a}=this.props,r=t.node.current;r&&Zp(r),a(Mt)}handleKeyDown(t){if(Es(t)){let{active:a,context:r,options:o}=this.props,{keyboardCodes:n=Xp,coordinateGetter:i=AI,scrollBehavior:s="smooth"}=o,{code:l}=t;if(n.end.includes(l)){this.handleEnd(t);return}if(n.cancel.includes(l)){this.handleCancel(t);return}let{collisionRect:c}=r.current,d=c?{x:c.left,y:c.top}:Mt;this.referenceCoordinates||(this.referenceCoordinates=d);let f=i(t,{active:a,context:r.current,currentCoordinates:d});if(f){let m=Qo(f,d),p={x:0,y:0},{scrollableAncestors:h}=r.current;for(let x of h){let g=t.code,{isTop:y,isRight:T,isLeft:E,isBottom:A,maxScroll:_,minScroll:N}=Vp(x),C=wI(x),L={x:Math.min(g===ie.Right?C.right-C.width/2:C.right,Math.max(g===ie.Right?C.left:C.left+C.width/2,f.x)),y:Math.min(g===ie.Down?C.bottom-C.height/2:C.bottom,Math.max(g===ie.Down?C.top:C.top+C.height/2,f.y))},R=g===ie.Right&&!T||g===ie.Left&&!E,b=g===ie.Down&&!A||g===ie.Up&&!y;if(R&&L.x!==f.x){let P=x.scrollLeft+m.x,F=g===ie.Right&&P<=_.x||g===ie.Left&&P>=N.x;if(F&&!m.y){x.scrollTo({left:P,behavior:s});return}F?p.x=x.scrollLeft-P:p.x=g===ie.Right?x.scrollLeft-_.x:x.scrollLeft-N.x,p.x&&x.scrollBy({left:-p.x,behavior:s});break}else if(b&&L.y!==f.y){let P=x.scrollTop+m.y,F=g===ie.Down&&P<=_.y||g===ie.Up&&P>=N.y;if(F&&!m.x){x.scrollTo({top:P,behavior:s});return}F?p.y=x.scrollTop-P:p.y=g===ie.Down?x.scrollTop-_.y:x.scrollTop-N.y,p.y&&x.scrollBy({top:-p.y,behavior:s});break}}this.handleMove(t,rr(Qo(f,this.referenceCoordinates),p))}}}handleMove(t,a){let{onMove:r}=this.props;t.preventDefault(),r(a)}handleEnd(t){let{onEnd:a}=this.props;t.preventDefault(),this.detach(),a()}handleCancel(t){let{onCancel:a}=this.props;t.preventDefault(),this.detach(),a()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Ps.activators=[{eventName:"onKeyDown",handler:(e,t,a)=>{let{keyboardCodes:r=Xp,onActivation:o}=t,{active:n}=a,{code:i}=e.nativeEvent;if(r.start.includes(i)){let s=n.activatorNode.current;return s&&e.target!==s?!1:(e.preventDefault(),o?.({event:e.nativeEvent}),!0)}return!1}}];function Rp(e){return!!(e&&"distance"in e)}function Ap(e){return!!(e&&"delay"in e)}var rn=class{constructor(t,a,r){var o;r===void 0&&(r=EI(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=a;let{event:n}=t,{target:i}=n;this.props=t,this.events=a,this.document=ar(i),this.documentListeners=new nr(this.document),this.listeners=new nr(r),this.windowListeners=new nr(Je(i)),this.initialCoordinates=(o=en(n))!=null?o:Mt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:a,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(wt.Resize,this.handleCancel),this.windowListeners.add(wt.DragStart,Ep),this.windowListeners.add(wt.VisibilityChange,this.handleCancel),this.windowListeners.add(wt.ContextMenu,Ep),this.documentListeners.add(wt.Keydown,this.handleKeydown),a){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ap(a)){this.timeoutId=setTimeout(this.handleStart,a.delay),this.handlePending(a);return}if(Rp(a)){this.handlePending(a);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,a){let{active:r,onPending:o}=this.props;o(r,t,this.initialCoordinates,a)}handleStart(){let{initialCoordinates:t}=this,{onStart:a}=this.props;t&&(this.activated=!0,this.documentListeners.add(wt.Click,RI,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(wt.SelectionChange,this.removeTextSelection),a(t))}handleMove(t){var a;let{activated:r,initialCoordinates:o,props:n}=this,{onMove:i,options:{activationConstraint:s}}=n;if(!o)return;let l=(a=en(t))!=null?a:Mt,c=Qo(o,l);if(!r&&s){if(Rp(s)){if(s.tolerance!=null&&gc(c,s.tolerance))return this.handleCancel();if(gc(c,s.distance))return this.handleStart()}if(Ap(s)&&gc(c,s.tolerance))return this.handleCancel();this.handlePending(s,c);return}t.cancelable&&t.preventDefault(),i(l)}handleEnd(){let{onAbort:t,onEnd:a}=this.props;this.detach(),this.activated||t(this.props.active),a()}handleCancel(){let{onAbort:t,onCancel:a}=this.props;this.detach(),this.activated||t(this.props.active),a()}handleKeydown(t){t.code===ie.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},PI={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}},Kr=class extends rn{constructor(t){let{event:a}=t,r=ar(a.target);super(t,PI,r)}};Kr.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t;return!a.isPrimary||a.button!==0?!1:(r?.({event:a}),!0)}}];var DI={move:{name:"mousemove"},end:{name:"mouseup"}},Ic;(function(e){e[e.RightClick=2]="RightClick"})(Ic||(Ic={}));var yc=class extends rn{constructor(t){super(t,DI,ar(t.event.target))}};yc.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t;return a.button===Ic.RightClick?!1:(r?.({event:a}),!0)}}];var xc={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}},bc=class extends rn{constructor(t){super(t,xc)}static setup(){return window.addEventListener(xc.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xc.move.name,t)};function t(){}}};bc.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:a}=e,{onActivation:r}=t,{touches:o}=a;return o.length>1?!1:(r?.({event:a}),!0)}}];var tn;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(tn||(tn={}));var Ds;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Ds||(Ds={}));function OI(e){let{acceleration:t,activator:a=tn.Pointer,canScroll:r,draggingRect:o,enabled:n,interval:i=5,order:s=Ds.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:d,delta:f,threshold:m}=e,p=FI({delta:f,disabled:!n}),[h,x]=yp(),g=O({x:0,y:0}),y=O({x:0,y:0}),T=Y(()=>{switch(a){case tn.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case tn.DraggableRect:return o}},[a,o,l]),E=O(null),A=Se(()=>{let N=E.current;if(!N)return;let C=g.current.x*y.current.x,L=g.current.y*y.current.y;N.scrollBy(C,L)},[]),_=Y(()=>s===Ds.TreeOrder?[...c].reverse():c,[s,c]);j(()=>{if(!n||!c.length||!T){x();return}for(let N of _){if(r?.(N)===!1)continue;let C=c.indexOf(N),L=d[C];if(!L)continue;let{direction:R,speed:b}=CI(N,L,T,t,m);for(let P of["x","y"])p[P][R[P]]||(b[P]=0,R[P]=0);if(b.x>0||b.y>0){x(),E.current=N,h(A,i),g.current=b,y.current=R;return}}g.current={x:0,y:0},y.current={x:0,y:0},x()},[t,A,r,x,n,i,JSON.stringify(T),JSON.stringify(p),h,c,_,d,JSON.stringify(m)])}var MI={x:{[Be.Backward]:!1,[Be.Forward]:!1},y:{[Be.Backward]:!1,[Be.Forward]:!1}};function FI(e){let{delta:t,disabled:a}=e,r=Xo(t);return zr(o=>{if(a||!r||!o)return MI;let n={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Be.Backward]:o.x[Be.Backward]||n.x===-1,[Be.Forward]:o.x[Be.Forward]||n.x===1},y:{[Be.Backward]:o.y[Be.Backward]||n.y===-1,[Be.Forward]:o.y[Be.Forward]||n.y===1}}},[a,t,r])}function BI(e,t){let a=t!=null?e.get(t):void 0,r=a?a.node.current:null;return zr(o=>{var n;return t==null?null:(n=r??o)!=null?n:null},[r,t])}function UI(e,t){return Y(()=>e.reduce((a,r)=>{let{sensor:o}=r,n=o.activators.map(i=>({eventName:i.eventName,handler:t(i.handler,r)}));return[...a,...n]},[]),[e,t])}var on;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(on||(on={}));var Lc;(function(e){e.Optimized="optimized"})(Lc||(Lc={}));var Pp=new Map;function NI(e,t){let{dragging:a,dependencies:r,config:o}=t,[n,i]=v(null),{frequency:s,measure:l,strategy:c}=o,d=O(e),f=g(),m=jr(f),p=Se(function(y){y===void 0&&(y=[]),!m.current&&i(T=>T===null?y:T.concat(y.filter(E=>!T.includes(E))))},[m]),h=O(null),x=zr(y=>{if(f&&!a)return Pp;if(!y||y===Pp||d.current!==e||n!=null){let T=new Map;for(let E of e){if(!E)continue;if(n&&n.length>0&&!n.includes(E.id)&&E.rect.current){T.set(E.id,E.rect.current);continue}let A=E.node.current,_=A?new an(l(A),A):null;E.rect.current=_,_&&T.set(E.id,_)}return T}return y},[e,n,a,f,l]);return j(()=>{d.current=e},[e]),j(()=>{f||p()},[a,f]),j(()=>{n&&n.length>0&&i(null)},[JSON.stringify(n)]),j(()=>{f||typeof s!="number"||h.current!==null||(h.current=setTimeout(()=>{p(),h.current=null},s))},[s,f,p,...r]),{droppableRects:x,measureDroppableContainers:p,measuringScheduled:n!=null};function g(){switch(c){case on.Always:return!1;case on.BeforeDragging:return a;default:return!a}}}function wc(e,t){return zr(a=>e?a||(typeof t=="function"?t(e):e):null,[t,e])}function _I(e,t){return wc(e,t)}function qI(e){let{callback:t,disabled:a}=e,r=Jo(t),o=Y(()=>{if(a||typeof window>"u"||typeof window.MutationObserver>"u")return;let{MutationObserver:n}=window;return new n(r)},[r,a]);return j(()=>()=>o?.disconnect(),[o]),o}function Os(e){let{callback:t,disabled:a}=e,r=Jo(t),o=Y(()=>{if(a||typeof window>"u"||typeof window.ResizeObserver>"u")return;let{ResizeObserver:n}=window;return new n(r)},[a]);return j(()=>()=>o?.disconnect(),[o]),o}function HI(e){return new an(nn(e),e)}function Dp(e,t,a){t===void 0&&(t=HI);let[r,o]=v(null);function n(){o(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??a)!=null?c:null}let d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d})}let i=qI({callback(l){if(e)for(let c of l){let{type:d,target:f}=c;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){n();break}}}}),s=Os({callback:n});return Kt(()=>{n(),e?(s?.observe(e),i?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),i?.disconnect())},[e]),r}function GI(e){let t=wc(e);return Gp(e,t)}var Op=[];function $I(e){let t=O(e),a=zr(r=>e?r&&r!==Op&&e&&t.current&&e.parentNode===t.current.parentNode?r:Cc(e):Op,[e]);return j(()=>{t.current=e},[e]),a}function WI(e){let[t,a]=v(null),r=O(e),o=Se(n=>{let i=hc(n.target);i&&a(s=>s?(s.set(i,Sc(i)),new Map(s)):null)},[]);return j(()=>{let n=r.current;if(e!==n){i(n);let s=e.map(l=>{let c=hc(l);return c?(c.addEventListener("scroll",o,{passive:!0}),[c,Sc(c)]):null}).filter(l=>l!=null);a(s.length?new Map(s):null),r.current=e}return()=>{i(e),i(n)};function i(s){s.forEach(l=>{let c=hc(l);c?.removeEventListener("scroll",o)})}},[o,e]),Y(()=>e.length?t?Array.from(t.values()).reduce((n,i)=>rr(n,i),Mt):Jp(e):Mt,[e,t])}function Mp(e,t){t===void 0&&(t=[]);let a=O(null);return j(()=>{a.current=null},t),j(()=>{let r=e!==Mt;r&&!a.current&&(a.current=e),!r&&a.current&&(a.current=null)},[e]),a.current?Qo(e,a.current):Mt}function jI(e){j(()=>{if(!Vo)return;let t=e.map(a=>{let{sensor:r}=a;return r.setup==null?void 0:r.setup()});return()=>{for(let a of t)a?.()}},e.map(t=>{let{sensor:a}=t;return a}))}function zI(e,t){return Y(()=>e.reduce((a,r)=>{let{eventName:o,handler:n}=r;return a[o]=i=>{n(i,t)},a},{}),[e,t])}function Yp(e){return Y(()=>e?II(e):null,[e])}var Fp=[];function KI(e,t){t===void 0&&(t=nn);let[a]=e,r=Yp(a?Je(a):null),[o,n]=v(Fp);function i(){n(()=>e.length?e.map(l=>Kp(l)?r:new an(t(l),l)):Fp)}let s=Os({callback:i});return Kt(()=>{s?.disconnect(),i(),e.forEach(l=>s?.observe(l))},[e]),o}function Qp(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Wr(t)?t:e}function VI(e){let{measure:t}=e,[a,r]=v(null),o=Se(c=>{for(let{target:d}of c)if(Wr(d)){r(f=>{let m=t(d);return f?{...f,width:m.width,height:m.height}:m});break}},[t]),n=Os({callback:o}),i=Se(c=>{let d=Qp(c);n?.disconnect(),d&&n?.observe(d),r(d?t(d):null)},[t,n]),[s,l]=Zo(i);return Y(()=>({nodeRef:s,rect:a,setRef:l}),[a,s,l])}var JI=[{sensor:Kr,options:{}},{sensor:Ps,options:{}}],ZI={current:{}},Rs={draggable:{measure:kp},droppable:{measure:kp,strategy:on.WhileDragging,frequency:Lc.Optimized},dragOverlay:{measure:nn}},sr=class extends Map{get(t){var a;return t!=null&&(a=super.get(t))!=null?a:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:a}=t;return!a})}getNodeFor(t){var a,r;return(a=(r=this.get(t))==null?void 0:r.node.current)!=null?a:void 0}},XI={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new sr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:As},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Rs,measureDroppableContainers:As,windowRect:null,measuringScheduled:!1},em={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:As,draggableNodes:new Map,over:null,measureDroppableContainers:As},sn=Yt(em),tm=Yt(XI);function YI(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new sr}}}function QI(e,t){switch(t.type){case Pe.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Pe.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 Pe.DragEnd:case Pe.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Pe.RegisterDroppable:{let{element:a}=t,{id:r}=a,o=new sr(e.droppable.containers);return o.set(r,a),{...e,droppable:{...e.droppable,containers:o}}}case Pe.SetDroppableDisabled:{let{id:a,key:r,disabled:o}=t,n=e.droppable.containers.get(a);if(!n||r!==n.key)return e;let i=new sr(e.droppable.containers);return i.set(a,{...n,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case Pe.UnregisterDroppable:{let{id:a,key:r}=t,o=e.droppable.containers.get(a);if(!o||r!==o.key)return e;let n=new sr(e.droppable.containers);return n.delete(a),{...e,droppable:{...e.droppable,containers:n}}}default:return e}}function ey(e){let{disabled:t}=e,{active:a,activatorEvent:r,draggableNodes:o}=vt(sn),n=Xo(r),i=Xo(a?.id);return j(()=>{if(!t&&!r&&n&&i!=null){if(!Es(n)||document.activeElement===n.target)return;let s=o.get(i);if(!s)return;let{activatorNode:l,node:c}=s;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(let d of[l.current,c.current]){if(!d)continue;let f=Lp(d);if(f){f.focus();break}}})}},[r,t,o,i,n]),null}function am(e,t){let{transform:a,...r}=t;return e!=null&&e.length?e.reduce((o,n)=>n({transform:o,...r}),a):a}function ty(e){return Y(()=>({draggable:{...Rs.draggable,...e?.draggable},droppable:{...Rs.droppable,...e?.droppable},dragOverlay:{...Rs.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function ay(e){let{activeNode:t,measure:a,initialRect:r,config:o=!0}=e,n=O(!1),{x:i,y:s}=typeof o=="boolean"?{x:o,y:o}:o;Kt(()=>{if(!i&&!s||!t){n.current=!1;return}if(n.current||!r)return;let c=t?.node.current;if(!c||c.isConnected===!1)return;let d=a(c),f=Gp(d,r);if(i||(f.x=0),s||(f.y=0),n.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){let m=Wp(c);m&&m.scrollBy({top:f.y,left:f.x})}},[t,i,s,r,a])}var Ms=Yt({...Mt,scaleX:1,scaleY:1}),Da;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Da||(Da={}));var rm=Ws(function(t){var a,r,o,n;let{id:i,accessibility:s,autoScroll:l=!0,children:c,sensors:d=JI,collisionDetection:f=pI,measuring:m,modifiers:p,...h}=t,x=zs(QI,void 0,YI),[g,y]=x,[T,E]=rI(),[A,_]=v(Da.Uninitialized),N=A===Da.Initialized,{draggable:{active:C,nodes:L,translate:R},droppable:{containers:b}}=g,P=C!=null?L.get(C):null,F=O({initial:null,translated:null}),B=Y(()=>{var We;return C!=null?{id:C,data:(We=P?.data)!=null?We:ZI,rect:F}:null},[C,P]),te=O(null),[le,oe]=v(null),[Q,Ee]=v(null),k=jr(h,Object.values(h)),G=Yo("DndDescribedBy",i),W=Y(()=>b.getEnabled(),[b]),Z=ty(m),{droppableRects:ye,measureDroppableContainers:Te,measuringScheduled:Re}=NI(W,{dragging:N,dependencies:[R.x,R.y],config:Z.droppable}),ce=BI(L,C),St=Y(()=>Q?en(Q):null,[Q]),De=Qm(),Bt=_I(ce,Z.draggable.measure);ay({activeNode:C!=null?L.get(C):null,config:De.layoutShiftCompensation,initialRect:Bt,measure:Z.draggable.measure});let ve=Dp(ce,Z.draggable.measure,Bt),M=Dp(ce?ce.parentElement:null),H=O({activatorEvent:null,active:null,activeNode:ce,collisionRect:null,collisions:null,droppableRects:ye,draggableNodes:L,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ne=b.getNodeFor((a=H.current.over)==null?void 0:a.id),$e=VI({measure:Z.dragOverlay.measure}),D=(r=$e.nodeRef.current)!=null?r:ce,ue=N?(o=$e.rect)!=null?o:ve:null,Ue=!!($e.nodeRef.current&&$e.rect),Ut=GI(Ue?null:ve),It=Yp(D?Je(D):null),Ze=$I(N?ne??ce:null),Tt=KI(Ze),Vt=am(p,{transform:{x:R.x-Ut.x,y:R.y-Ut.y,scaleX:1,scaleY:1},activatorEvent:Q,active:B,activeNodeRect:ve,containerNodeRect:M,draggingNodeRect:ue,over:H.current.over,overlayNodeRect:$e.rect,scrollableAncestors:Ze,scrollableAncestorRects:Tt,windowRect:It}),z=St?rr(St,R):null,Ae=WI(Ze),Jt=Mp(Ae),Zt=Mp(Ae,[ve]),lr=rr(Vt,Jt),cr=ue?gI(ue,Vt):null,Vr=B&&cr?f({active:B,collisionRect:cr,droppableRects:ye,droppableContainers:W,pointerCoordinates:z}):null,Pc=dI(Vr,"id"),[da,Dc]=v(null),Vm=Ue?Vt:rr(Vt,Zt),Jm=mI(Vm,(n=da?.rect)!=null?n:null,ve),qs=O(null),Oc=Se((We,st)=>{let{sensor:it,options:fa}=st;if(te.current==null)return;let yt=L.get(te.current);if(!yt)return;let lt=We.nativeEvent,Nt=new it({active:te.current,activeNode:yt,event:lt,options:fa,context:H,onAbort(Ne){if(!L.get(Ne))return;let{onDragAbort:_t}=k.current,Xt={id:Ne};_t?.(Xt),T({type:"onDragAbort",event:Xt})},onPending(Ne,pa,_t,Xt){if(!L.get(Ne))return;let{onDragPending:Zr}=k.current,ma={id:Ne,constraint:pa,initialCoordinates:_t,offset:Xt};Zr?.(ma),T({type:"onDragPending",event:ma})},onStart(Ne){let pa=te.current;if(pa==null)return;let _t=L.get(pa);if(!_t)return;let{onDragStart:Xt}=k.current,Jr={activatorEvent:lt,active:{id:pa,data:_t.data,rect:F}};(0,or.unstable_batchedUpdates)(()=>{Xt?.(Jr),_(Da.Initializing),y({type:Pe.DragStart,initialCoordinates:Ne,active:pa}),T({type:"onDragStart",event:Jr}),oe(qs.current),Ee(lt)})},onMove(Ne){y({type:Pe.DragMove,coordinates:Ne})},onEnd:ur(Pe.DragEnd),onCancel:ur(Pe.DragCancel)});qs.current=Nt;function ur(Ne){return async function(){let{active:_t,collisions:Xt,over:Jr,scrollAdjustedTranslate:Zr}=H.current,ma=null;if(_t&&Zr){let{cancelDrop:Xr}=k.current;ma={activatorEvent:lt,active:_t,collisions:Xt,delta:Zr,over:Jr},Ne===Pe.DragEnd&&typeof Xr=="function"&&await Promise.resolve(Xr(ma))&&(Ne=Pe.DragCancel)}te.current=null,(0,or.unstable_batchedUpdates)(()=>{y({type:Ne}),_(Da.Uninitialized),Dc(null),oe(null),Ee(null),qs.current=null;let Xr=Ne===Pe.DragEnd?"onDragEnd":"onDragCancel";if(ma){let Hs=k.current[Xr];Hs?.(ma),T({type:Xr,event:ma})}})}}},[L]),Zm=Se((We,st)=>(it,fa)=>{let yt=it.nativeEvent,lt=L.get(fa);if(te.current!==null||!lt||yt.dndKit||yt.defaultPrevented)return;let Nt={active:lt};We(it,st.options,Nt)===!0&&(yt.dndKit={capturedBy:st.sensor},te.current=fa,Oc(it,st))},[L,Oc]),Mc=UI(d,Zm);jI(d),Kt(()=>{ve&&A===Da.Initializing&&_(Da.Initialized)},[ve,A]),j(()=>{let{onDragMove:We}=k.current,{active:st,activatorEvent:it,collisions:fa,over:yt}=H.current;if(!st||!it)return;let lt={active:st,activatorEvent:it,collisions:fa,delta:{x:lr.x,y:lr.y},over:yt};(0,or.unstable_batchedUpdates)(()=>{We?.(lt),T({type:"onDragMove",event:lt})})},[lr.x,lr.y]),j(()=>{let{active:We,activatorEvent:st,collisions:it,droppableContainers:fa,scrollAdjustedTranslate:yt}=H.current;if(!We||te.current==null||!st||!yt)return;let{onDragOver:lt}=k.current,Nt=fa.get(Pc),ur=Nt&&Nt.rect.current?{id:Nt.id,rect:Nt.rect.current,data:Nt.data,disabled:Nt.disabled}:null,Ne={active:We,activatorEvent:st,collisions:it,delta:{x:yt.x,y:yt.y},over:ur};(0,or.unstable_batchedUpdates)(()=>{Dc(ur),lt?.(Ne),T({type:"onDragOver",event:Ne})})},[Pc]),Kt(()=>{H.current={activatorEvent:Q,active:B,activeNode:ce,collisionRect:cr,collisions:Vr,droppableRects:ye,draggableNodes:L,draggingNode:D,draggingNodeRect:ue,droppableContainers:b,over:da,scrollableAncestors:Ze,scrollAdjustedTranslate:lr},F.current={initial:ue,translated:cr}},[B,ce,Vr,cr,L,D,ue,ye,b,da,Ze,lr]),OI({...De,delta:R,draggingRect:cr,pointerCoordinates:z,scrollableAncestors:Ze,scrollableAncestorRects:Tt});let Xm=Y(()=>({active:B,activeNode:ce,activeNodeRect:ve,activatorEvent:Q,collisions:Vr,containerNodeRect:M,dragOverlay:$e,draggableNodes:L,droppableContainers:b,droppableRects:ye,over:da,measureDroppableContainers:Te,scrollableAncestors:Ze,scrollableAncestorRects:Tt,measuringConfiguration:Z,measuringScheduled:Re,windowRect:It}),[B,ce,ve,Q,Vr,M,$e,L,b,ye,da,Te,Ze,Tt,Z,Re,It]),Ym=Y(()=>({activatorEvent:Q,activators:Mc,active:B,activeNodeRect:ve,ariaDescribedById:{draggable:G},dispatch:y,draggableNodes:L,over:da,measureDroppableContainers:Te}),[Q,Mc,B,ve,y,G,L,da,Te]);return he.createElement(Np.Provider,{value:E},he.createElement(sn.Provider,{value:Ym},he.createElement(tm.Provider,{value:Xm},he.createElement(Ms.Provider,{value:Jm},c)),he.createElement(ey,{disabled:s?.restoreFocus===!1})),he.createElement(sI,{...s,hiddenTextDescribedById:G}));function Qm(){let We=le?.autoScrollEnabled===!1,st=typeof l=="object"?l.enabled===!1:l===!1,it=N&&!We&&!st;return typeof l=="object"?{...l,enabled:it}:{enabled:it}}}),ry=Yt(null),Bp="button",oy="Draggable";function om(e){let{id:t,data:a,disabled:r=!1,attributes:o}=e,n=Yo(oy),{activators:i,activatorEvent:s,active:l,activeNodeRect:c,ariaDescribedById:d,draggableNodes:f,over:m}=vt(sn),{role:p=Bp,roleDescription:h="draggable",tabIndex:x=0}=o??{},g=l?.id===t,y=vt(g?Ms:ry),[T,E]=Zo(),[A,_]=Zo(),N=zI(i,t),C=jr(a);Kt(()=>(f.set(t,{id:t,key:n,node:T,activatorNode:A,data:C}),()=>{let R=f.get(t);R&&R.key===n&&f.delete(t)}),[f,t]);let L=Y(()=>({role:p,tabIndex:x,"aria-disabled":r,"aria-pressed":g&&p===Bp?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[r,p,x,g,h,d.draggable]);return{active:l,activatorEvent:s,activeNodeRect:c,attributes:L,isDragging:g,listeners:r?void 0:N,node:T,over:m,setNodeRef:E,setActivatorNodeRef:_,transform:y}}function ny(){return vt(tm)}var sy="Droppable",iy={timeout:25};function nm(e){let{data:t,disabled:a=!1,id:r,resizeObserverConfig:o}=e,n=Yo(sy),{active:i,dispatch:s,over:l,measureDroppableContainers:c}=vt(sn),d=O({disabled:a}),f=O(!1),m=O(null),p=O(null),{disabled:h,updateMeasurementsFor:x,timeout:g}={...iy,...o},y=jr(x??r),T=Se(()=>{if(!f.current){f.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),p.current=null},g)},[g]),E=Os({callback:T,disabled:h||!i}),A=Se((L,R)=>{E&&(R&&(E.unobserve(R),f.current=!1),L&&E.observe(L))},[E]),[_,N]=Zo(A),C=jr(t);return j(()=>{!E||!_.current||(E.disconnect(),f.current=!1,E.observe(_.current))},[_,E]),j(()=>(s({type:Pe.RegisterDroppable,element:{id:r,key:n,disabled:a,node:_,rect:m,data:C}}),()=>s({type:Pe.UnregisterDroppable,key:n,id:r})),[r]),j(()=>{a!==d.current.disabled&&(s({type:Pe.SetDroppableDisabled,id:r,key:n,disabled:a}),d.current.disabled=a)},[r,n,a,s]),{active:i,rect:m,isOver:l?.id===r,node:_,over:l,setNodeRef:N}}function ly(e){let{animation:t,children:a}=e,[r,o]=v(null),[n,i]=v(null),s=Xo(a);return!a&&!r&&s&&o(s),Kt(()=>{if(!n)return;let l=r?.key,c=r?.props.id;if(l==null||c==null){o(null);return}Promise.resolve(t(c,n)).then(()=>{o(null)})},[t,r,n]),he.createElement(he.Fragment,null,a,r?$s(r,{ref:i}):null)}var cy={x:0,y:0,scaleX:1,scaleY:1};function uy(e){let{children:t}=e;return he.createElement(sn.Provider,{value:em},he.createElement(Ms.Provider,{value:cy},t))}var dy={position:"fixed",touchAction:"none"},fy=e=>Es(e)?"transform 250ms ease":void 0,py=Ma((e,t)=>{let{as:a,activatorEvent:r,adjustScale:o,children:n,className:i,rect:s,style:l,transform:c,transition:d=fy}=e;if(!s)return null;let f=o?c:{...c,scaleX:1,scaleY:1},m={...dy,width:s.width,height:s.height,top:s.top,left:s.left,transform:Pa.Transform.toString(f),transformOrigin:o&&r?lI(r,s):void 0,transition:typeof d=="function"?d(r):d,...l};return he.createElement(a,{className:i,style:m,ref:t},n)}),my=e=>t=>{let{active:a,dragOverlay:r}=t,o={},{styles:n,className:i}=e;if(n!=null&&n.active)for(let[s,l]of Object.entries(n.active))l!==void 0&&(o[s]=a.node.style.getPropertyValue(s),a.node.style.setProperty(s,l));if(n!=null&&n.dragOverlay)for(let[s,l]of Object.entries(n.dragOverlay))l!==void 0&&r.node.style.setProperty(s,l);return i!=null&&i.active&&a.node.classList.add(i.active),i!=null&&i.dragOverlay&&r.node.classList.add(i.dragOverlay),function(){for(let[l,c]of Object.entries(o))a.node.style.setProperty(l,c);i!=null&&i.active&&a.node.classList.remove(i.active)}},hy=e=>{let{transform:{initial:t,final:a}}=e;return[{transform:Pa.Transform.toString(t)},{transform:Pa.Transform.toString(a)}]},gy={duration:250,easing:"ease",keyframes:hy,sideEffects:my({styles:{active:{opacity:"0"}}})};function xy(e){let{config:t,draggableNodes:a,droppableContainers:r,measuringConfiguration:o}=e;return Jo((n,i)=>{if(t===null)return;let s=a.get(n);if(!s)return;let l=s.node.current;if(!l)return;let c=Qp(i);if(!c)return;let{transform:d}=Je(i).getComputedStyle(i),f=$p(d);if(!f)return;let m=typeof t=="function"?t:Sy(t);return Zp(l,o.draggable.measure),m({active:{id:n,data:s.data,node:l,rect:o.draggable.measure(l)},draggableNodes:a,dragOverlay:{node:i,rect:o.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:o,transform:f})})}function Sy(e){let{duration:t,easing:a,sideEffects:r,keyframes:o}={...gy,...e};return n=>{let{active:i,dragOverlay:s,transform:l,...c}=n;if(!t)return;let d={x:s.rect.left-i.rect.left,y:s.rect.top-i.rect.top},f={scaleX:l.scaleX!==1?i.rect.width*l.scaleX/s.rect.width:1,scaleY:l.scaleY!==1?i.rect.height*l.scaleY/s.rect.height:1},m={x:l.x-d.x,y:l.y-d.y,...f},p=o({...c,active:i,dragOverlay:s,transform:{initial:l,final:m}}),[h]=p,x=p[p.length-1];if(JSON.stringify(h)===JSON.stringify(x))return;let g=r?.({active:i,dragOverlay:s,...c}),y=s.node.animate(p,{duration:t,easing:a,fill:"forwards"});return new Promise(T=>{y.onfinish=()=>{g?.(),T()}})}}var Up=0;function Iy(e){return Y(()=>{if(e!=null)return Up++,Up},[e])}var sm=he.memo(e=>{let{adjustScale:t=!1,children:a,dropAnimation:r,style:o,transition:n,modifiers:i,wrapperElement:s="div",className:l,zIndex:c=999}=e,{activatorEvent:d,active:f,activeNodeRect:m,containerNodeRect:p,draggableNodes:h,droppableContainers:x,dragOverlay:g,over:y,measuringConfiguration:T,scrollableAncestors:E,scrollableAncestorRects:A,windowRect:_}=ny(),N=vt(Ms),C=Iy(f?.id),L=am(i,{activatorEvent:d,active:f,activeNodeRect:m,containerNodeRect:p,draggingNodeRect:g.rect,over:y,overlayNodeRect:g.rect,scrollableAncestors:E,scrollableAncestorRects:A,transform:N,windowRect:_}),R=wc(m),b=xy({config:r,draggableNodes:h,droppableContainers:x,measuringConfiguration:T}),P=R?g.setRef:void 0;return he.createElement(uy,null,he.createElement(ly,{animation:b},f&&C?he.createElement(py,{key:C,id:f.id,ref:P,as:s,activatorEvent:d,adjustScale:t,className:l,transition:n,rect:R,style:{zIndex:c,...o},transform:L},a):null))});Le();var yy=w({stateId:S,name:S,sequence:rt,defaultKey:$(S)}),Oa=w({kind:S,principalId:$(S),threadId:$(S),pluginId:$(S),personKey:$(S)}),by=e=>e.kind==="account"?`account:${e.userId}`:`local-owner:${e.environmentId}`,im=e=>({kind:e.kind,...e.principalId===void 0?{}:{principalId:e.principalId},...e.threadId===void 0?{}:{threadId:e.threadId},...e.pluginId===void 0?{}:{pluginId:e.pluginId},...e.principal===void 0?{}:{personKey:by(e.principal)}}),Ly=w({key:S,displayName:S}),Cy=w({principalId:S,label:S,state:gt(["active","disabled","revoked"]),lastUsedAt:$(S)}),wy=w({principalId:S,pending:Fe(w({count:rt,items:ee(w({workItemId:S,blocked:Qe}))}))}),Ty=w({workItemId:S,sequenceId:rt,title:Fe(S),state:w({stateId:S,name:S}),assignees:ee(Oa),blockedByTotal:rt,version:rt,assigneeSession:$(w({threadId:S,status:gt(["running","failed","waiting","stopped"]),stoppedAt:$(S)})),queued:$(Qe)}),vy=w({workItemId:S,sequenceId:rt,state:w({stateId:S,name:S,group:S})}),lm=w({states:ee(yy),items:ee(Ty),goal:rp,goalItem:$(vy),people:ee(Ly),rosterMembers:ee(hs),remoteAgents:ee(Cy),remoteAgentsUnavailable:$(se(!0)),remoteWork:ee(wy),viewerKey:$(S),toolkits:w({board:Qe,memory:Qe}),truncated:Qe}),nD=w({projectId:S}),sD=w({projectId:S,title:S,description:$(S),assigneeThreadId:$(S),requestId:S}),iD=w({projectId:S,workItemId:S,expectedVersion:xt.check(va(1)),stateId:$(S),assigneeThreadId:$(S),unassign:$(Qe)}),Fs=w({_tag:se("TeamBoardRejection"),commandType:gt(["createItem","updateItem","postComment"]),code:S,details:$(No)}),cm=Me([w({workItemId:S}),Fs]),um=Me([w({workItemId:S,version:rt}),Fs]);function ky(e,t,a){let r=new Date(e),o=r.getFullYear()===t.getFullYear()&&r.getMonth()===t.getMonth()&&r.getDate()===t.getDate(),n=new Intl.DateTimeFormat(a,{hour:"numeric"}).resolvedOptions().hour12;return new Intl.DateTimeFormat(a,{...o?{}:{month:"short",day:"numeric"},hour:n===!0?"numeric":"2-digit",minute:"2-digit"}).format(r)}function dm({item:e,states:t,members:a,rosterMembers:r,remoteAgents:o,people:n,viewerKey:i,disabled:s,readOnly:l=!1,isGoalItem:c,onUpdate:d,onOpenDetail:f}){let m=ha(),{t:p}=J(),h=om({id:e.workItemId,disabled:s||l}),x=gs(a);return I("article",{ref:h.setNodeRef,"data-work-item-id":e.workItemId,style:{transform:Pa.Translate.toString(h.transform),opacity:h.isDragging?.35:1},className:"flex flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[l?I("span",{className:"font-mono",children:["#",e.sequenceId]}):I(q,{variant:"ghost",size:"sm",className:"w-fit cursor-grab touch-none font-mono",disabled:s,...h.attributes,...h.listeners,"aria-label":p("board.dragItem",{number:e.sequenceId}),children:["#",e.sequenceId]}),c?u(me,{variant:"info",children:p("board.goalItem")}):null]}),u(Tc,{item:e,members:a,rosterMembers:r,remoteAgents:o,people:n,viewerKey:i}),I("div",{className:"flex flex-wrap gap-1",children:[u(q,{type:"button",variant:"outline",size:"sm","aria-label":p("detail.openItem",{number:e.sequenceId}),onClick:()=>f(e.workItemId),children:p("detail.open")}),l?null:I(nt,{children:[I(Xa,{children:[u(Ya,{disabled:s,render:u(q,{variant:"outline",size:"sm"}),"aria-label":p("board.moveItem",{number:e.sequenceId}),children:p("board.moveTo")}),u(Qa,{align:"start",children:t.map(g=>u(zt,{disabled:s||g.stateId===e.state.stateId,"aria-label":p("board.moveItemTo",{number:e.sequenceId,state:m(g)}),onClick:()=>{d(e,{stateId:g.stateId})},children:m(g)},g.stateId))})]}),I(Xa,{children:[u(Ya,{disabled:s,render:u(q,{variant:"outline",size:"sm"}),"aria-label":p("board.assignItem",{number:e.sequenceId}),children:p("board.assignTo")}),I(Qa,{align:"start",children:[x.map(g=>u(zt,{disabled:s,"aria-label":p("board.assignItemTo",{number:e.sequenceId,name:g.name??p("board.other")}),onClick:()=>{d(e,{assigneeThreadId:g.threadId})},children:g.name??p("board.other")},g.memberId)),u(zt,{disabled:s||e.assignees.length===0,"aria-label":p("board.unassignItem",{number:e.sequenceId}),onClick:()=>{d(e,{unassign:!0})},children:p("board.unassign")})]})]})]})]})]})}function Tc({item:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}){let{t:i}=J(),{assigneeNames:s}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),l=e.assigneeSession,c=()=>{switch(l?.status){case"running":return i("board.sessionRunning");case"failed":return i("board.sessionFailed");case"waiting":return i("board.sessionWaiting");case"stopped":return l.stoppedAt===void 0?i("board.sessionStopped"):i("board.sessionStoppedAt",{time:ky(l.stoppedAt,new Date,i("board.dateLocale"))})}};return I(nt,{children:[u("p",{className:"line-clamp-2 break-words text-sm font-medium",children:e.title??i("board.untitled")}),I("div",{className:"flex flex-wrap items-center gap-1 text-sm text-muted-foreground",children:[u("span",{children:e.assignees.length===0?i("board.unassigned"):s(e.assignees)}),l===void 0?null:u(me,{shape:"pill",title:i("board.sessionStatusTitle"),variant:l.status==="running"?"success":l.status==="failed"?"error":l.status==="waiting"?"warning":"outline",children:c()}),e.queued===!0?u(me,{shape:"pill",variant:"info",title:i("board.queuedTitle"),children:i("board.queued")}):null]}),e.blockedByTotal>0?u(me,{variant:"warning",children:i("board.blockedBy",{count:e.blockedByTotal})}):null]})}Le();Le();Le();var Bs=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var fm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var pm=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var vc=e=>{let t=pm(e);return t.charAt(0).toUpperCase()+t.slice(1)};Le();var mm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var hm=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var gm=Ma(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:i,...s},l)=>ge("svg",{ref:l,...mm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Bs("lucide",o),...!n&&!hm(s)&&{"aria-hidden":"true"},...s},[...i.map(([c,d])=>ge(c,d)),...Array.isArray(n)?n:[n]]));var xm=(e,t)=>{let a=Ma(({className:r,...o},n)=>ge(gm,{ref:n,iconNode:t,className:Bs(`lucide-${fm(vc(e))}`,`lucide-${e}`,r),...o}));return a.displayName=vc(e),a};var Ey=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ln=xm("x",Ey);var HD=w({projectId:S,workItemId:S}),Im=e=>{let t=e.trim();return t.length>=1&&t.length<=8e3?t:null},GD=w({projectId:S,workItemId:S,body:S,parentId:$(S),mentions:$(ee(w({threadId:$(S),principalId:$(S)}))),requestId:S}),ym=e=>e.threadId!==void 0?e.principalId===void 0?{kind:"agent",threadId:e.threadId}:null:e.principalId!==void 0?{kind:"remote-agent",principalId:e.principalId}:null,bm=Me([w({commentId:S}),Fs]),Ry=w({commentId:S,author:Oa,mentions:$(ee(Oa)),body:Fe(S),parentId:Fe(S),createdAt:S}),Ay=w({sequence:rt,actor:Oa,viaPlugin:$(S),at:S,verb:S,changes:ee(w({field:S,old:No,new:No}))}),Sm=w({workItemId:S,sequenceId:rt,title:Fe(S),stateId:S,stateName:S}),Py=w({item:w({workItemId:S,sequenceId:rt,title:Fe(S),description:Fe(S),state:w({stateId:S,name:S}),assignees:ee(Oa),version:rt}),blockedBy:ee(Sm),blocking:ee(Sm),comments:ee(Ry),commentsTruncated:Qe,history:ee(Ay),historyTruncated:Qe}),Lm=Fe(Py);var kc=e=>e==="@"||e==="\uFF20",Dy=/[\s\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\u3000-\u303f\uff01-\uff0f\uff1a-\uff20\uff3b-\uff40\uff5b-\uff65]/u,Cm=(e,t)=>{if(!kc(e[t]))return!1;let a=Array.from(e.slice(Math.max(0,t-2),t)).at(-1);return a===void 0||Dy.test(a)};var Oy=Ke(bm),cn=e=>e.threadId===void 0?`remote:${e.principalId}`:`local:${e.threadId}`;function My(e){let t=new Map(e.map(r=>[r.commentId,r])),a=new Map;for(let r of e){let o=r,n=new Set([o.commentId]);for(;o.parentId!==null;){let s=t.get(o.parentId);if(s===void 0||n.has(s.commentId))break;n.add(s.commentId),o=s}let i=a.get(o.commentId)??{root:o,replies:[]};r.commentId!==o.commentId&&i.replies.push(r),a.set(o.commentId,i)}return[...a.values()].sort((r,o)=>r.root.createdAt.localeCompare(o.root.createdAt))}function Tm({detail:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n,...i}){let{t:s}=J(),{actorName:l}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),[c,d]=v(null),f=t.flatMap(p=>{let h=ym(p);if(h===null)return[];let{kind:x,...g}=h;return[{key:cn(g),mention:g,name:l(h)}]}),m=p=>I("article",{"data-comment-id":p.commentId,className:"flex flex-col gap-1",children:[I("p",{className:"flex flex-wrap gap-2 text-sm text-muted-foreground",children:[u("span",{children:l(p.author)}),u("time",{dateTime:p.createdAt,children:$r(p.createdAt)})]}),p.mentions?.length?u("p",{className:"text-sm text-muted-foreground",children:s("detail.mentioned",{names:p.mentions.map(l).join(s("detail.mentionSeparator"))})}):null,u("p",{className:"whitespace-pre-wrap break-words text-sm",children:p.body??s("detail.deletedComment")})]});return I("section",{className:"flex flex-col gap-3","aria-label":s("detail.comments"),children:[u("h3",{className:"text-sm font-medium",children:s("detail.comments")}),e.comments.length===0?u("p",{children:s("detail.noComments")}):null,e.commentsTruncated?u("p",{role:"status",children:s("detail.commentsTruncated")}):null,My(e.comments).map(({root:p,replies:h},x)=>I("div",{className:"flex flex-col gap-2","data-comment-thread":p.commentId,children:[m(p),h.length===0?null:u("div",{className:"ml-4 flex flex-col gap-2 border-l border-border pl-3","data-replies-to":p.commentId,children:h.map(g=>u("div",{children:m(g)},g.commentId))}),u(q,{type:"button",variant:"ghost",size:"sm",className:"w-fit","aria-label":s("detail.replyTo",{number:x+1}),"aria-expanded":c===p.commentId,onClick:()=>d(c===p.commentId?null:p.commentId),children:s("detail.reply")}),c===p.commentId?u(wm,{...i,candidates:f,parentId:p.commentId,number:x+1},p.commentId):null]},p.commentId)),u(wm,{...i,candidates:f})]})}function wm({environmentId:e,projectId:t,workItemId:a,data:r,parentId:o,number:n,candidates:i}){let s=K(),{t:l}=J(),c=kt(),[d,f]=v(""),[m,p]=v(null),[h,x]=v(!1),[g,y]=v(null),[T,E]=v([]),[A,_]=v(!1),N=O(null),C=O(!1),L=O(null),R=O(null),b=O(!1),P=O(!1);j(()=>{let k=P.current&&!A;P.current=A;let G=N.current,W=R.current;!k||G===null||W===null||(G.focus(),G.setSelectionRange(W.start,W.end))},[A]);let F=i.filter(k=>T.some(G=>cn(G)===k.key)),B=k=>{if(E(G=>G.some(W=>cn(W)===k.key)?G.filter(W=>cn(W)!==k.key):[...G,k.mention]),p(null),y(null),L.current!==null){let G=L.current;f(W=>kc(W[G])?W.slice(0,G)+W.slice(G+1):W),R.current={start:G,end:G},_(!1)}},te=Im(d),le=!h&&!r.loadFailed&&te!==null,oe=l(o===void 0?"detail.newComment":"detail.replyTo",{number:n}),Q=o===void 0?m===null?"detail.sendComment":"detail.retryComment":m===null?"detail.sendReply":"detail.retryReply",Ee=async()=>{if(!le||te===null||b.current||!r.source.active)return;let k=F.map(Z=>Z.mention),W=(m?.mentions?.every(Z=>i.some(ye=>ye.key===cn(Z)))??!0?m:null)??{projectId:t,workItemId:a,body:te,requestId:ca(),...o===void 0?{}:{parentId:o},...k.length===0?{}:{mentions:k}};b.current=!0,p(W),x(!0),y(null);try{let Z=Oy(await s.commands.invoke("postComment",W,{environmentId:e}));if(!r.source.active)return;if("code"in Z){y(Z.code==="invalid-body"?"detail.invalidBody":Z.code==="not-a-member"?"detail.notAMember":"detail.commentFailed");return}f(""),E([]),p(null),await r.reload()}catch{r.source.active&&y("detail.commentFailed")}finally{r.source.active&&(b.current=!1,x(!1))}};return I("form",{className:"flex flex-col gap-2",onSubmit:k=>{k.preventDefault(),Ee()},children:[u(Ve,{htmlFor:c,children:oe}),u(Ra,{ref:N,id:c,"aria-label":oe,"aria-describedby":[o===void 0?`${c}-hint`:null,g?`${c}-error`:null].filter(k=>k!==null).join(" ")||void 0,rows:3,value:d,disabled:h||r.loadFailed,onCompositionStart:()=>{C.current=!0},onCompositionEnd:()=>{C.current=!1},onChange:k=>{let G=k.target.value,W=k.target.selectionStart-1,Z=k.nativeEvent,ye=G[W];!C.current&&!Z.isComposing&&(!Z.inputType||Z.inputType==="insertText")&&Cm(G,W)&&(Z.data===ye||G.length===d.length+1&&G.slice(0,W)+G.slice(W+1)===d)&&(L.current=W,R.current={start:W+1,end:W+1},_(!0)),f(G),p(null),y(null)}}),I(Xa,{open:A,onOpenChange:(k,{reason:G})=>{if(k){L.current=null;let W=N.current;R.current=W===null?null:{start:W.selectionStart,end:W.selectionEnd}}!k&&G==="outside-press"&&(R.current=null),_(k)},children:[u(Ya,{disabled:h||r.loadFailed,render:u(q,{type:"button",variant:"outline",size:"sm",className:"w-fit"}),"aria-label":l("detail.mentionLabel",{comment:oe}),children:l("detail.mention")}),u(Qa,{finalFocus:!1,children:i.length===0?u(zt,{disabled:!0,"aria-label":l("detail.mentionNoneLabel",{comment:oe}),children:l("detail.mentionNone")}):i.map(k=>{let G=F.some(W=>W.key===k.key);return u(zt,{closeOnClick:!1,"aria-label":l(G?"detail.mentionMemberSelected":"detail.mentionMember",{name:k.name,comment:oe}),onClick:()=>B(k),children:G?l("detail.mentionSelected",{name:k.name}):k.name},k.key)})})]}),F.length>0?u("div",{className:"flex flex-wrap gap-2",children:F.map(k=>I(q,{type:"button",size:"sm",variant:"outline",disabled:h||r.loadFailed,"aria-label":l("detail.mentionRemove",{name:k.name,comment:oe}),onClick:()=>{L.current=null,B(k)},children:["@",k.name,u(ln,{className:"size-3","aria-hidden":!0})]},k.key))}):null,o===void 0?u("p",{id:`${c}-hint`,className:"text-sm text-muted-foreground",children:l("detail.commentHint")}):null,g?u("p",{id:`${c}-error`,role:"alert",className:"text-sm text-destructive-foreground",children:l(g)}):null,u(q,{type:"submit",variant:"outline",className:"w-fit",disabled:!le,"aria-label":l(Q,{number:n}),onClick:k=>(k.preventDefault(),Ee()),children:l(h?"detail.sending":m===null?"detail.send":"detail.retry")})]})}var Fy=_r(ee(Oa)),By=_r(w({stateId:S}));function vm({detail:e,members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n,states:i}){let{t:s}=J(),{actorName:l,assigneeNames:c,pluginName:d}=jt({members:t,rosterMembers:a,remoteAgents:r,people:o,viewerKey:n}),f=ha(),m=x=>{let g=By(x),y=xr(g)?i.find(T=>T.stateId===g.value.stateId):void 0;return y===void 0?s("detail.history.deletedState"):f(y)},p=x=>{let g=Fy(x);return xr(g)?c(g.value):""},h=x=>{let g=l(x.actor);switch(x.verb){case"created":{let y=p(x.changes.find(T=>T.field==="assignees")?.new);return[y.length===0?s("detail.history.created",{author:g}):s("detail.history.createdAssigned",{author:g,names:y})]}case"updated":return x.changes.flatMap(y=>{switch(y.field){case"state":return[s("detail.history.stateChanged",{author:g,old:m(y.old),new:m(y.new)})];case"assignees":{let T=p(y.new);return[T.length===0?s("detail.history.unassigned",{author:g}):s("detail.history.assigned",{author:g,names:T})]}case"title":return[s("detail.history.titleChanged",{author:g})];case"description":return[s("detail.history.descriptionChanged",{author:g})];default:return[]}});case"claimed":return[s("detail.history.claimed",{author:g})];case"commented":return[s("detail.history.commented",{author:g})];case"relation-added":return[s("detail.history.relationAdded",{author:g})];case"relation-removed":return[s("detail.history.relationRemoved",{author:g})];default:return[]}};return I("section",{className:"flex flex-col gap-2","aria-label":s("detail.history.title"),children:[u("h3",{className:"text-sm font-medium",children:s("detail.history.title")}),e.history.length===0?u("p",{children:s("detail.history.empty")}):null,e.historyTruncated?u("p",{role:"status",children:s("detail.history.truncated")}):null,u("ol",{className:"flex flex-col gap-2",children:[...e.history].sort((x,g)=>g.at.localeCompare(x.at)||g.sequence-x.sequence).flatMap(x=>h(x).map((g,y)=>I("li",{"data-activity-sequence":x.sequence,children:[u("p",{className:"break-words text-sm",children:g}),I("p",{className:"flex flex-wrap gap-2 text-sm text-muted-foreground",children:[u("time",{dateTime:x.at,children:$r(x.at)}),x.viaPlugin===void 0?null:u("span",{children:s("detail.via",{source:d(x.viaPlugin)})})]})]},`${x.sequence}:${y}`)))})]})}Le();function Ft(e,t,a){let r=Y(()=>({active:!1,dirty:!1,running:null}),[e]),o=O(t);o.current=t;let[n,i]=v(void 0),[s,l]=v(!1),c=Se(()=>r.active?(r.dirty=!0,r.running!==null||(r.running=(async()=>{try{do{r.dirty=!1;try{let m=await o.current();if(!r.active)return;i(m),l(!1)}catch{if(!r.active)return;l(!0)}}while(r.active&&r.dirty)}finally{r.running=null}})()),r.running):Promise.resolve(),[r]),d=Se(()=>{r.active&&l(!1)},[r]);j(()=>(r.active=!0,i(void 0),l(!1),c(),()=>{r.active=!1}),[r,c]);let f=O(a);return j(()=>{Object.is(f.current,a)||(f.current=a,c())},[a,c]),{data:n,loadFailed:s,reload:c,clearFailure:d,source:r}}var Uy=Ke(Lm);function km(e,t,a,r){let o=K();return Ft(`${e}:${t}:${a}`,async()=>Uy(await o.commands.invoke("itemDetail",{projectId:t,workItemId:a},{environmentId:e})),r)}function Em({environmentId:e,projectId:t,workItemId:a,boardSnapshot:r,rosterMembers:o,revealRequest:n,onOpenItem:i,onClose:s}){let{t:l}=J(),c=km(e,t,a,r),d=c.data,f=r?.goal?.members??[],m=r?.people??[],p=r?.viewerKey,h=r?.remoteAgents??[],{assigneeNames:x}=jt({members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p}),g=xs(r?.states??[]),y=O(null),T=c.data!==void 0;return j(()=>{y.current?.scrollIntoView({block:"start"})},[T,n]),u("div",{ref:y,children:u(Ss,{"aria-label":l("detail.title"),"data-item-detail":a,children:I(Is,{className:"flex min-w-0 flex-col gap-4",children:[I("div",{className:"flex items-start justify-between gap-2",children:[u("h2",{className:"min-w-0 break-words text-base font-semibold",children:d?`#${d.item.sequenceId} ${d.item.title??l("board.untitled")}`:l("detail.title")}),u(q,{type:"button",variant:"ghost",size:"sm",onClick:s,children:l("detail.close")})]}),c.loadFailed?I("div",{className:"flex flex-col gap-2",children:[u("p",{role:"alert",children:l("detail.loadFailed")}),u(q,{variant:"outline",className:"w-fit",onClick:c.reload,children:l("detail.reload")})]}):null,d===void 0&&!c.loadFailed?u("p",{role:"status",children:l("detail.loading")}):null,d===null?u("p",{children:l("detail.notFound")}):null,d?I(nt,{children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(me,{children:g(d.item.state)}),a===r?.goalItem?.workItemId?u(me,{variant:"info",children:l("board.goalItem")}):null,u("p",{className:"text-sm text-muted-foreground",children:d.item.assignees.length===0?l("board.unassigned"):x(d.item.assignees)})]}),I("section",{className:"flex flex-col gap-2","aria-label":l("detail.description"),children:[u("h3",{className:"text-sm font-medium",children:l("detail.description")}),u("p",{className:"whitespace-pre-wrap break-words text-sm",children:d.item.description??l("detail.noDescription")})]}),["blockedBy","blocking"].map(E=>d[E].length===0?null:I("section",{className:"flex flex-col gap-2","aria-label":l(`detail.${E}`),children:[u("h3",{className:"text-sm font-medium",children:l(`detail.${E}`)}),d[E].map(A=>u(q,{type:"button",variant:"outline",className:"h-auto justify-start whitespace-normal text-left",onClick:()=>i(A.workItemId),children:l("detail.dependency",{number:A.sequenceId,title:A.title??l("board.untitled"),state:g({stateId:A.stateId,name:A.stateName})})},A.workItemId))]},E)),u(Tm,{environmentId:e,projectId:t,workItemId:a,detail:d,members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p,data:c}),u(vm,{detail:d,members:f,rosterMembers:o,remoteAgents:h,people:m,viewerKey:p,states:r?.states??[]})]}):null]})})})}var Ny=Ke(cm),_y=Ke(um),ir="__unassigned__",Rm=(e,t)=>e==="stale-version"?"board.staleVersion":e==="not-a-member"?"board.notAMember":e==="invalid-title"?"board.invalidTitle":t;function Us(e){let[t,a]=v(null),r=t?.source===e?t:null;return{workItemId:r?.workItemId??null,request:r?.request??0,open:o=>a(n=>({source:e,workItemId:o,request:(n?.request??0)+1})),close:()=>a(null)}}function Ns({environmentId:e,projectId:t,board:a,detail:r,readOnly:o=!1,layout:n="responsive"}){let i=K(),{t:s}=J(),{data:l,source:c,reload:d,loadFailed:f,watchFailed:m,retryWatch:p}=a,h=kt(),[x,g]=v(""),[y,T]=v(""),[E,A]=v(ir),[_,N]=v(null),[C,L]=v(!1),[R,b]=v(null),[P,F]=v(null),[B,te]=v(null),le=O(!1),oe=qp(_p(Kr,{activationConstraint:{distance:6}})),Q=o||l===null||C||f,Ee=l?.goal?.members??[],k=gs(Ee),G=l?.people??[],W=l?.remoteAgents??[],Z=l?.rosterMembers??[];j(()=>{le.current=!1,g(""),T(""),A(ir),N(null),L(!1),b(null),F(null),te(null)},[c]);let ye=()=>{N(null),b(null)},Te=async()=>{if(Q||le.current||x.trim().length===0)return;let M=_??{projectId:t,title:x.trim(),requestId:ca(),...y.length===0?{}:{description:y},...E===ir?{}:{assigneeThreadId:E}};le.current=!0,N(M),L(!0),b(null);try{let H=Ny(await i.commands.invoke("createItem",M,{environmentId:e}));if(!c.active)return;"code"in H?b(Rm(H.code,"board.createFailed")):(g(""),T(""),A(ir),N(null)),await d()}catch{if(!c.active)return;b("board.createFailed"),await d()}finally{c.active&&(le.current=!1,L(!1))}},Re=async(M,H)=>{if(!(Q||le.current)){le.current=!0,L(!0),b(null),F({item:M,patch:H});try{let ne=_y(await i.commands.invoke("updateItem",{projectId:t,workItemId:M.workItemId,expectedVersion:M.version,...H},{environmentId:e}));if(!c.active)return;"code"in ne&&(F(null),b(Rm(ne.code,"board.updateFailed")))}catch{if(!c.active)return;F(null),b("board.updateFailed")}finally{c.active&&(await d(),c.active&&(F(null),le.current=!1,L(!1)))}}},ce=M=>{let H=M.over?.data.current?.stateId;return typeof H=="string"?H:null},St=M=>{if(Q)return;let H=l?.items.find(ne=>ne.workItemId===String(M.active.id));H&&te({item:H,stateId:H.state.stateId})},De=M=>{let H=ce(M);H!==null&&te(ne=>ne===null?null:{...ne,stateId:H})},Bt=M=>{let H=ce(M);te(null),B!==null&&H!==null&&H!==B.item.state.stateId&&Re(B.item,{stateId:H})},ve=(l?.items??[]).map(M=>{let H=P?.item.workItemId===M.workItemId?P.patch:B?.item.workItemId===M.workItemId?{stateId:B.stateId}:null;if(H===null||H.stateId===M.state.stateId&&H.assigneeThreadId===void 0&&H.unassign!==!0)return M;let ne=l?.states.find(D=>D.stateId===H.stateId),$e={...M};return delete $e.assigneeSession,delete $e.queued,{...$e,state:ne??M.state,assignees:H.unassign===!0?[]:H.assigneeThreadId===void 0?M.assignees:[{kind:"agent",threadId:H.assigneeThreadId}]}});return I("section",{className:"flex min-w-0 flex-col gap-3","aria-label":s("board.title"),children:[u("h2",{className:"text-base font-semibold",children:s("board.title")}),o?null:I("form",{className:"flex flex-col gap-2",onSubmit:M=>{M.preventDefault(),Te()},children:[u("h3",{className:"text-sm font-medium",children:s("board.newItem")}),u(Ve,{htmlFor:`${h}-title`,children:s("board.itemTitle")}),u(er,{id:`${h}-title`,"aria-label":s("board.itemTitle"),value:x,required:!0,disabled:Q,onChange:M=>{g(M.target.value),ye()}}),u(Ve,{htmlFor:`${h}-description`,children:s("board.description")}),u(Ra,{id:`${h}-description`,"aria-label":s("board.description"),rows:2,value:y,disabled:Q,onChange:M=>{T(M.target.value),ye()}}),u(Ve,{htmlFor:`${h}-assignee`,children:s("board.assignee")}),I(ys,{value:E,disabled:Q||k.length===0,onValueChange:M=>{A(M??ir),ye()},children:[u(bs,{id:`${h}-assignee`,"aria-label":s("board.assignee"),children:u(Ls,{children:E===ir?s("board.unassigned"):k.find(M=>M.threadId===E)?.name??s("board.other")})}),I(Cs,{children:[u(Ho,{value:ir,children:s("board.unassigned")}),k.map(M=>u(Ho,{value:M.threadId,children:M.name??s("board.other")},M.memberId))]})]}),k.length===0?u("p",{className:"text-sm text-muted-foreground",children:s("board.goalRequired")}):null,u(q,{type:"submit",className:"w-fit",disabled:Q||x.trim().length===0,onClick:M=>(M.preventDefault(),Te()),children:s(C?"board.saving":_===null?"board.create":"board.retryCreate")})]}),R?u("p",{role:"alert",className:"text-sm text-destructive-foreground",children:s(R)}):null,f?u("p",{role:"alert",children:s("board.loadFailed")}):null,m?u("p",{role:"alert",children:s("board.watchFailed")}):null,f||m?u(q,{variant:"outline",onClick:()=>{m&&p(),d()},children:s("board.reload")}):null,l===null&&!f?u("p",{role:"status",children:s("board.loading")}):null,l?.truncated?u("p",{role:"status",className:"text-sm text-muted-foreground",children:s("board.truncated")}):null,I(qy,{readOnly:o,sensors:oe,collisionDetection:Hp,onDragStart:St,onDragOver:De,onDragEnd:Bt,onDragCancel:()=>te(null),children:[u("div",{className:n==="single-column"?"grid min-w-0 grid-cols-1 gap-3":"grid min-w-0 gap-3 grid-cols-[repeat(auto-fill,minmax(min(100%,15rem),1fr))]",style:{contain:"inline-size"},children:l?.states.map(M=>{let H=ve.filter(ne=>ne.state.stateId===M.stateId);return u(Hy,{state:M,count:H.length,readOnly:o,children:H.map(ne=>u(dm,{item:ne,states:l.states,members:Ee,rosterMembers:Z,remoteAgents:W,people:G,viewerKey:l.viewerKey,disabled:Q,readOnly:o,isGoalItem:ne.workItemId===l.goalItem?.workItemId,onUpdate:Re,onOpenDetail:r.open},ne.workItemId))},M.stateId)})}),o?null:u(sm,{dropAnimation:null,children:B!==null&&l!==null?I("div",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("span",{className:"font-mono",children:["#",B.item.sequenceId]}),u(Tc,{item:B.item,members:Ee,rosterMembers:Z,remoteAgents:W,people:G,viewerKey:l.viewerKey})]}):null})]}),r.workItemId!==null?u(Em,{environmentId:e,projectId:t,workItemId:r.workItemId,boardSnapshot:l,rosterMembers:Z,revealRequest:r.request,onOpenItem:r.open,onClose:r.close},`${e}:${t}:${r.workItemId}`):null]})}function qy({readOnly:e,...t}){return e?u(nt,{children:t.children}):u(rm,{...t})}function Hy({state:e,count:t,children:a,readOnly:r}){let o=ha(),n=nm({id:`column:${e.stateId}`,data:{stateId:e.stateId},disabled:r});return I("section",{ref:n.setNodeRef,"data-state-id":e.stateId,"aria-label":`${o(e)} (${t})`,className:`flex min-h-32 min-w-0 flex-col gap-3 rounded-xl border border-border bg-muted/30 p-2 ${n.isOver?"ring-2 ring-ring":""}`,children:[I("div",{className:"flex items-center justify-between gap-2",children:[u("h3",{className:"truncate text-sm font-medium",children:o(e)}),u(me,{children:t})]}),a]})}Le();Le();var Ec=xt.check(va(1)),ua=gt(["handbook_decisions","handbook_rules","handbook_progress"]),Gy=w({kind:ua,baseRevision:Fe(_o),title:$(S),body:S,changeSummary:$(S)}),Am={requestId:S,expectedRelease:_o,requireAck:$(Qe)},Pm=w({...Am,pages:ee(Gy),sourceExperience:$(w({experienceId:S,revision:_o}))}),Dm=w({...Am,toRelease:_o}),UO=w({release:Ec}),NO=w({projectId:S}),_O=w({version:se(1),projectId:S,memberId:S,requestId:S,op:gt(["publish","revert"]),requireAckChoice:$(Qe),requiresAck:$(Qe)}),qO=w({version:se(1),projectId:S,requestId:S,producedRelease:$(Qe),outcome:Me([w({status:se("succeeded"),release:Ec}),w({status:se("rejected")}),w({status:se("voided")})])}),$y=w({version:se(1),projectId:S,release:Ec,memberId:S}),HO=w({...$y.fields});var un={projectId:S},WO=w(un),jO=w({...un,cursor:$(S)}),zO=w({...un,pageId:S,revision:xt,textOffset:$(xt)}),KO=w({...un,...Pm.fields}),VO=w({...un,...Dm.fields}),Om=Me([w({status:se("succeeded"),release:xt}),w({status:se("rejected"),code:S,detail:S})]);async function Rc(e,t,a,r=0){return await e.commands.invoke("handbookPage",{projectId:t.projectId,pageId:a.pageId,revision:a.revision,textOffset:r},{environmentId:t.environmentId})}async function Mm(e,t,a){let r=await Promise.all(ua.literals.map(async o=>{let n=a?.current.pages.find(l=>l.kind===o),i=n===void 0?void 0:a?.pages.find(l=>l.pageId===n.pageId),s=i?.body??"";for(;i?.bodyState==="present"&&i.bodyWindow?.nextOffset!=null;){let l=await Rc(e,t,i,i.bodyWindow.nextOffset);s+=l.body??"",i=l}return[o,{title:i?.title===o?"":i?.title??"",body:s,changeSummary:i?.changeSummary??"",available:n===void 0||i?.bodyState==="present"}]}));return Object.fromEntries(r)}var Fm=(e,t)=>e.title!==t.title||e.body!==t.body||e.changeSummary!==t.changeSummary,Bm=(e,t)=>ua.literals.some(a=>Fm(e[a],t[a]));function Um(e,t,a){return ua.literals.flatMap(r=>{let o=e[r];if(!o.available||!Fm(o,t[r]))return[];let n=a?.current.pages.find(l=>l.kind===r),i=o.title.trim(),s=o.changeSummary.trim();return[{kind:r,baseRevision:n?.revision??null,...i===""?{}:{title:i},body:o.body,...s===""?{}:{changeSummary:s}}]})}Le();function Ac({value:e,disabled:t,onChange:a}){let{t:r}=J();return I("div",{className:"flex flex-col gap-1",children:[u(ws,{mode:"multiple","aria-label":r("handbookPanel.ackChoice"),options:[{value:"ack",label:r("handbookPanel.ackChoice")}],selected:e?["ack"]:[],disabled:t,onToggle:()=>a(!e)}),u("p",{className:"text-ui-sm text-pretty text-muted-foreground",children:r("handbookPanel.ackPolicy")})]})}function Nm({draft:e,disabled:t,cancelDisabled:a,requireAck:r,feedback:o,onChange:n,onAck:i,onSave:s,onCancel:l}){let{t:c}=J(),d=kt();return I("section",{"aria-label":c("handbookPanel.edit"),className:"flex flex-col gap-4",children:[ua.literals.map(f=>{let m=e[f],p=c(`handbookPanel.${f}`),h=(x,g)=>n({...e,[f]:{...m,[x]:g}});return I("fieldset",{disabled:t||!m.available,className:"flex min-w-0 flex-col gap-2",children:[u("legend",{className:"text-ui font-medium",children:p}),m.available?I(nt,{children:[u(Ve,{htmlFor:`${d}-${f}-title`,children:c("handbookPanel.fieldTitle")}),u(er,{id:`${d}-${f}-title`,"aria-label":c("handbookPanel.pageTitle",{page:p}),value:m.title,disabled:t,onChange:x=>h("title",x.target.value)}),u(Ve,{htmlFor:`${d}-${f}-body`,children:c("handbookPanel.fieldBody")}),u(Ra,{id:`${d}-${f}-body`,"aria-label":c("handbookPanel.pageBody",{page:p}),rows:8,value:m.body,disabled:t,onChange:x=>h("body",x.target.value)}),u(Ve,{htmlFor:`${d}-${f}-summary`,children:c("handbookPanel.fieldSummary")}),u(er,{id:`${d}-${f}-summary`,"aria-label":c("handbookPanel.pageSummary",{page:p}),value:m.changeSummary,disabled:t,onChange:x=>h("changeSummary",x.target.value)})]}):u("p",{className:"text-ui text-muted-foreground",children:c("handbookPanel.uneditable")})]},f)}),u(Ac,{value:r,disabled:t,onChange:i}),o,I("div",{className:"flex flex-wrap justify-end gap-2",children:[u(q,{variant:"outline",disabled:a,onClick:l,children:c("handbookPanel.cancel")}),u(q,{disabled:t,onClick:s,children:c("handbookPanel.publish")})]})]})}Le();function _m({location:e,kind:t,initial:a}){let r=K(),{t:o}=J(),[n,i]=v(a),[s,l]=v(!1),[c,d]=v(!1),f=O(!1),m=O(!1);j(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=async()=>{if(!(m.current||n?.bodyWindow?.nextOffset==null)){m.current=!0,l(!0),d(!1);try{let h=await Rc(r,e,n,n.bodyWindow.nextOffset);f.current&&i(h.bodyState==="present"?{...h,body:(n.body??"")+h.body}:h)}catch{f.current&&d(!0)}finally{m.current=!1,f.current&&l(!1)}}};return I("section",{className:"flex min-w-0 flex-col gap-2","aria-label":o(`handbookPanel.${t}`),children:[u("h3",{className:"text-ui font-medium",children:o(`handbookPanel.${t}`)}),n?.bodyState==="present"&&n.title&&n.title!==t?u("p",{className:"text-ui",children:n.title}):null,u("p",{className:n?.bodyState==="present"?"whitespace-pre-wrap break-words text-ui":"text-ui text-muted-foreground",children:n===void 0?o("handbookPanel.missingPage"):n.bodyState==="erased"?o("handbookPanel.erased"):n.bodyState==="unavailable"?o("handbookPanel.unavailable"):n.body}),c?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.moreBodyFailed")})}):null,n?.bodyState==="present"&&n.bodyWindow?.nextOffset!=null?u(q,{variant:"outline",className:"w-fit",disabled:s,onClick:p,children:o("handbookPanel.moreBody")}):null]})}function qm({items:e,currentRelease:t,board:a,canOperate:r,busy:o,onRevert:n}){let i=K(),{t:s}=J(),l=jt({members:a?.goal?.members??[],rosterMembers:a?.rosterMembers??[],remoteAgents:a?.remoteAgents??[],people:a?.people??[],viewerKey:a?.viewerKey}),c=i.useFormatTimestamp();return I("section",{"aria-label":s("handbookPanel.releases"),className:"flex flex-col gap-3",children:[u("h3",{className:"text-ui font-medium",children:s("handbookPanel.releases")}),e.length===0?u("p",{className:"text-muted-foreground",children:s("handbookPanel.noReleases")}):u("ol",{className:"flex flex-col gap-3",children:e.map(d=>{let m=(d.publisherMemberId===null?void 0:a?.rosterMembers.find(p=>p.memberId===d.publisherMemberId)?.name)??l.actorName(im(d.publishedBy));return I("li",{className:"flex flex-wrap items-center gap-2",children:[u("span",{className:"font-medium",children:s("handbookPanel.version",{version:d.release})}),d.release===t?u(me,{children:s("handbookPanel.currentBadge")}):null,u("span",{className:"text-ui-sm text-muted-foreground",children:s("handbookPanel.publishedBy",{author:m})}),u("time",{className:"text-ui-sm text-muted-foreground",dateTime:d.publishedAt,children:c(d.publishedAt)}),u(me,{variant:"outline",children:s(d.requiresAck?"handbookPanel.requiresAck":"handbookPanel.noAck")}),d.restoredFromRelease===null?null:u(me,{variant:"outline",children:s("handbookPanel.restoredFrom",{version:d.restoredFromRelease})}),r&&d.release<t?u(q,{variant:"outline",size:"sm",disabled:o,"aria-label":s("handbookPanel.revertVersion",{version:d.release}),onClick:()=>n(d.release),children:s("handbookPanel.revert")}):null]},d.release)})})]})}var Wy=Ke(Om);function Hm({location:e,board:t,handbookCursor:a}){let r=K(),{t:o}=J(),n=Y(()=>({environmentId:e.environmentId}),[e.environmentId]),i=`${e.environmentId}:${e.projectId}`,s=Ft(i,()=>r.commands.invoke("handbookPanel",{projectId:e.projectId},n),a),l=Ft(i,()=>r.commands.invoke("handbookReleases",{projectId:e.projectId},n),a),[c,d]=v(null),[f,m]=v(!1),[p,h]=v(null),[x,g]=v(0),[y,T]=v(!1),[E,A]=v(!1),[_,N]=v(!1),[C,L]=v(null),[R,b]=v(null),[P,F]=v(null),[B,te]=v(null),[le,oe]=v(null),[Q,Ee]=v(!1),[k,G]=v(!1),W=O(void 0),Z=O(!1),ye=O(!1),Te=s.source,Re=s.data,ce=Re?.head??null,St=ce?.current.release??0,De=l.data,Bt=JSON.stringify([e.environmentId,e.projectId,De?.items[0]?.release??0]),ve=C?.key===Bt?C:null,M=De===void 0?void 0:ve===null?De:{items:[...De.items,...ve.older],nextCursor:ve.nextCursor},H=Re?.canOperate===!0,ne=y||s.loadFailed||Q;j(()=>{!Q||s.data===void 0||s.data===W.current||s.loadFailed||(d(z=>z===null?null:{...z,head:s.data.head}),Ee(!1))},[s.data,s.loadFailed,Q]);let $e=async()=>{if(!(Z.current||!H)){Z.current=!0,T(!0),oe(null);try{let z=await Mm(r,e,ce);Te.active&&(d({draft:z,original:z,head:ce}),m(!1),F(null))}catch(z){Te.active&&oe(z instanceof Error?z.message:String(z))}finally{Z.current=!1,Te.active&&T(!1)}}},D=async z=>{if(!(Z.current||ne||!H)){Z.current=!0,T(!0),F(null),oe(null),b(z);try{let Ae=Wy(await r.commands.invoke(z.command,z.input,n));if(!Te.active)return;if(Ae.status==="rejected"){b(null),Ae.code==="version-conflict"?(F("conflict"),W.current=s.data,Ee(!0),h(null),l.reload(),await s.reload()):oe(Ae.detail);return}b(null),d(null),h(null),m(!1),F("saved"),te(Ae.release),l.reload(),await s.reload()}catch(Ae){Te.active&&(F("failed"),oe(Ae instanceof Error?Ae.message:String(Ae)))}finally{Z.current=!1,Te.active&&T(!1)}}},ue=()=>{c!==null&&D(R?.command==="publishHandbook"?R:{command:"publishHandbook",input:{projectId:e.projectId,requestId:ca(),expectedRelease:c.head?.current.release??0,pages:Um(c.draft,c.original,c.head),requireAck:f}})},Ue=()=>{p!==null&&D(R?.command==="revertHandbook"?R:{command:"revertHandbook",input:{projectId:e.projectId,requestId:ca(),expectedRelease:x,toRelease:p,requireAck:f}})},Ut=async()=>{let z=M?.nextCursor;if(M===void 0||z==null||ye.current)return;ye.current=!0,A(!0),N(!1);let Ae=Bt;try{let Jt=await r.commands.invoke("handbookReleases",{projectId:e.projectId,cursor:z},n);Te.active&&L(Zt=>({key:Ae,older:[...Zt?.key===Ae?Zt.older:[],...Jt.items],nextCursor:Jt.nextCursor}))}catch{Te.active&&N(!0)}finally{ye.current=!1,Te.active&&A(!1)}},It=()=>{d(null),b(null),F(null),G(!1)},Ze=P==="saved"&&B!==St?null:P,Tt=I(nt,{children:[Ze?u(ka,{layout:"inline",variant:Ze==="saved"?"success":"warning",role:Ze==="saved"?"status":"alert",children:u(Ea,{children:o(`handbookPanel.${Ze}`)})}):null,le===null?null:u(ka,{layout:"inline",variant:"error",children:u(Ea,{className:"whitespace-pre-wrap break-words",children:le})})]}),Vt=H&&c!==null;return I("div",{className:"flex min-w-0 flex-col gap-5",children:[s.loadFailed?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.loadFailed")})}):null,Vt?null:Tt,s.loadFailed||l.loadFailed?u(q,{variant:"outline",className:"w-fit",disabled:y,onClick:()=>{l.reload(),s.reload()},children:o("handbookPanel.reload")}):null,Re===void 0?u("p",{role:"status",children:o("handbookPanel.loading")}):I(nt,{children:[I("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[I("div",{children:[u("p",{className:"text-ui font-medium",children:ce===null?o("handbookPanel.noCurrent"):o("handbookPanel.current",{version:St})}),u("p",{className:"text-ui-sm text-muted-foreground",children:Re.status.requiredRelease===null?o("handbookPanel.noRequired"):o("handbookPanel.required",{version:Re.status.requiredRelease})})]}),H&&c===null?u(q,{variant:"outline",disabled:ne,onClick:$e,children:o("handbookPanel.edit")}):null]}),Vt?u(Nm,{draft:c.draft,disabled:ne,cancelDisabled:y,requireAck:f,feedback:Tt,onChange:z=>{d({...c,draft:z}),b(null)},onAck:z=>{m(z),b(null)},onSave:ue,onCancel:()=>{Bm(c.draft,c.original)?G(!0):It()}}):null,ce===null?u("p",{className:"text-ui text-muted-foreground",children:o("handbookPanel.emptyPages")}):I("div",{className:"flex flex-col gap-4",children:[Vt?u("p",{className:"text-ui-sm text-muted-foreground",children:o("handbookPanel.currentReadOnly")}):null,ua.literals.map(z=>{let Ae=ce.current.pages.find(Zt=>Zt.kind===z),Jt=ce.pages.find(Zt=>Zt.pageId===Ae?.pageId&&Zt.revision===Ae.revision);return u(_m,{location:e,kind:z,initial:Jt},`${z}:${St}:${Jt?.bodyState}`)})]}),I("section",{"aria-label":o("handbookPanel.members"),className:"flex flex-col gap-2",children:[u("h3",{className:"text-ui font-medium",children:o("handbookPanel.members")}),Re.status.members.length===0?u("p",{className:"text-muted-foreground",children:o("handbookPanel.noMembers")}):u("ul",{className:"flex flex-col gap-2",children:Re.status.members.map(z=>{let Ae=t?.rosterMembers.find(Jt=>Jt.memberId===z.memberId)?.name??o("handbookPanel.member",{id:z.memberId});return I("li",{className:"flex flex-wrap items-center gap-2",children:[u("span",{children:Ae}),u("span",{children:z.acknowledgedRelease===null?o("handbookPanel.neverAck"):o("handbookPanel.acked",{version:z.acknowledgedRelease})}),z.acknowledgedRequiredRelease?null:u(me,{variant:"outline",children:o("handbookPanel.pendingAck",{version:Re.status.requiredRelease})})]},z.memberId)})})]}),u(qm,{items:M?.items??[],currentRelease:St,board:t,canOperate:H&&c===null,busy:ne,onRevert:z=>{h(z),g(St),m(!1),b(null),oe(null),F(null)}}),_||l.loadFailed?u(ka,{layout:"inline",variant:"error",children:u(Ea,{children:o("handbookPanel.historyFailed")})}):null,M?.nextCursor==null?null:u(q,{variant:"outline",className:"w-fit",disabled:E,onClick:Ut,children:o("handbookPanel.moreReleases")})]}),u(Go,{open:H&&p!==null,onOpenChange:z=>{!z&&!y&&(h(null),b(null))},children:I(jo,{className:"ycodium-team-ui",children:[u(zo,{children:o("handbookPanel.revertTitle",{version:p})}),u($o,{children:o("handbookPanel.revertDescription",{version:p})}),le===null?null:u(ka,{layout:"inline",variant:"error",children:u(Ea,{className:"whitespace-pre-wrap break-words",children:le})}),u(Ac,{value:f,disabled:y,onChange:z=>{m(z),b(null)}}),I(Wo,{children:[u(q,{variant:"outline",disabled:y,onClick:()=>{h(null),b(null)},children:o("handbookPanel.cancel")}),u(q,{disabled:ne,onClick:Ue,children:o("handbookPanel.confirmRevert")})]})]})}),u(Go,{open:Vt&&k,onOpenChange:z=>{z||G(!1)},children:I(jo,{className:"ycodium-team-ui",children:[u(zo,{children:o("handbookPanel.discardTitle")}),u($o,{children:o("handbookPanel.discardDescription")}),I(Wo,{children:[u(q,{variant:"outline",onClick:()=>G(!1),children:o("handbookPanel.keepEditing")}),u(q,{variant:"destructive",onClick:It,children:o("handbookPanel.discard")})]})]})})]})}function Gm({location:e,board:t,handbookCursor:a}){let{t:r}=J(),[o,n]=v(!1),[i,s]=v(!1);return u(Ss,{"aria-label":r("handbookPanel.title"),children:I(Is,{className:"flex min-w-0 flex-col gap-4",children:[I("div",{className:"flex items-center justify-between gap-2",children:[u("h2",{className:"text-ui-lg font-semibold",children:r("handbookPanel.title")}),u(q,{variant:"outline","aria-expanded":o,onClick:()=>{s(!0),n(!o)},children:r(o?"handbookPanel.close":"handbookPanel.open")})]}),i?u("div",{hidden:!o,children:u(Hm,{location:e,board:t,handbookCursor:a},`${e.environmentId}:${e.projectId}`)}):null]})})}function $m({rosterMembers:e,remoteAgents:t,remoteAgentsUnavailable:a,remoteWork:r,items:o}){let{t:n}=J(),i=e.flatMap(s=>s.principal===void 0?[]:[{...s,principalId:s.principal.principalId}]);return I("section",{className:"flex min-w-0 flex-col gap-3","aria-label":n("remoteStatus.title"),children:[u("h2",{className:"text-base font-semibold",children:n("remoteStatus.title")}),i.length===0?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.none")}):i.map(s=>{let l=t.find(m=>m.principalId===s.principalId),c=r.find(m=>m.principalId===s.principalId)?.pending??null,d=(c?.items??[]).flatMap(m=>{let p=o.find(h=>h.workItemId===m.workItemId);return p===void 0?[]:[{...m,item:p}]}),f=(c?.count??0)-d.length;return I("div",{"data-remote-member":s.principalId,className:"flex min-w-0 flex-col gap-2 rounded-lg border border-border bg-background p-3",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u("span",{className:"min-w-0 break-words text-sm font-medium",children:s.name}),l?.state==="disabled"?u(me,{variant:"muted",children:n("remoteStatus.disabled")}):l?.state==="revoked"?u(me,{variant:"warning",children:n("remoteStatus.revoked")}):null,u("span",{className:"text-xs text-muted-foreground",children:a||l===void 0?n("remoteStatus.lastSeenUnavailable"):l.lastUsedAt===void 0?n("remoteStatus.neverSeen"):n("remoteStatus.lastSeen",{time:$r(l.lastUsedAt)})})]}),c===null?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.workUnavailable")}):c.count===0?u("p",{className:"text-sm text-muted-foreground",children:n("remoteStatus.noWork")}):I("ul",{className:"flex flex-col gap-1",children:[d.map(({workItemId:m,blocked:p,item:h})=>I("li",{className:"flex flex-wrap items-center gap-2 text-sm",children:[u("span",{className:"min-w-0 break-words",children:n("remoteStatus.item",{number:h.sequenceId,title:h.title??n("board.untitled")})}),p?u(me,{variant:"warning",children:n("remoteStatus.blocked")}):null]},m)),f>0?u("li",{className:"text-xs text-muted-foreground",children:n("remoteStatus.more",{count:f})}):null]})]},s.memberId)})]})}Le();var jy=Ke(lm);function _s(e,t){let a=K(),r=Y(()=>({projectId:t}),[t]),o=Y(()=>({environmentId:e}),[e]),n=a.commands.useSubscription("watch",r,o),i=n.data,s=Ft(`${e}:${t}`,async()=>jy(await a.commands.invoke("board",r,o)),i?.cursor);return{data:s.data??null,source:s.source,reload:s.reload,loadFailed:s.loadFailed,watchFailed:n.error!==null||n.isUnavailable,retryWatch:n.refresh,cursor:i?.cursor,handbookCursor:i?.handbookCursor}}var zy={"invalid-payload":"roster.invalidPayload","member-count":"roster.memberCount","invalid-member-id":"roster.invalidMemberId","invalid-name":"roster.invalidName","duplicate-member-id":"roster.duplicateMemberId","duplicate-name":"roster.duplicateName","lead-not-member":"roster.leadNotMember","lead-remote":"roster.leadRemote","duplicate-principal":"roster.duplicatePrincipal","invalid-principal":"roster.invalidPrincipal","stale-revision":"roster.staleRevision"},Ky=Ke(Fe(lc)),Vy=Ke(Xf),Wm=(e,t,a)=>t===(a?.leadMemberId??"")&&e.length===(a?.members.length??0)&&e.every((r,o)=>{let n=a?.members[o];return r.memberId===n?.memberId&&r.name===n.name&&r.principal?.principalId===n.principal?.principalId});function jm({environmentId:e,projectId:t}){let a=K(),{t:r}=J(),o=kt(),[n,i]=v([]),[s,l]=v(""),[c,d]=v(null),[f,m]=v(null),[p,h]=v(!1),[x,g]=v(!1),[y,T]=v(null),[E,A]=v(null),[_,N]=v(null),C=O(!1),L=O(!1),R=O(1),b=_s(e,t),P=O(!1),F=`${e}:${t}`,B=Ft(F,async()=>({roster:Ky(await a.commands.invoke("roster",{projectId:t},{environmentId:e})),key:F}),b.cursor),te=B.loadFailed,le=te&&B.data===void 0,oe=B.data===void 0&&!te,Q=E??(te?"roster.loadFailed":null),Ee=!Wm(n,s,c),k=(f?.revision??0)>(c?.revision??0),G=k&&Ee?"roster.updatedElsewhere":y,W=O(void 0),Z=O(null),ye=D=>{Z.current=B.source,m(D),i(D?.members??[]),l(D?.leadMemberId??""),d(D)};j(()=>(C.current=!0,h(!1),P.current=!1,A(null),T(null),()=>{C.current=!1}),[a,e,t]),j(()=>{let D=B.data;if(!(D===void 0||D.key!==F||D===W.current||L.current)){if(W.current=D,P.current||Z.current!==B.source){ye(D.roster),P.current&&(P.current=!1,T("roster.staleRevision"));return}(D.roster?.revision??0)<=(f?.revision??0)||(N(ue=>ue??f===null),Wm(n,s,c)?(ye(D.roster),f!==null&&T("roster.staleRevision")):m(D.roster))}},[B.data,B.source,F,x]),j(()=>{!k||Ee||L.current||Z.current!==B.source||(ye(f),c!==null&&T("roster.staleRevision"))},[k,Ee,f,c,B.source,x]);let Te=async()=>{h(!0),A(null);try{await B.reload()}finally{C.current&&h(!1)}},Re=()=>{T(null),A(null)},ce=(D={name:""})=>{if(oe||x||n.length>=qo)return;N(!0);let ue;do ue=`member-${R.current++}`;while(n.some(Ue=>Ue.memberId===ue));i([...n,{...D,memberId:ue}]),Re()},St=async()=>{if(!L.current){L.current=!0,g(!0),A(null),T(null);try{let D=Vy(await a.commands.invoke("setRoster",{projectId:t,members:n,leadMemberId:s,expectedRevision:c?.revision??0},{environmentId:e}));if(!C.current)return;if("code"in D){D.code==="stale-revision"?(P.current=!0,await Te()):A(zy[D.code]);return}let ue=n.map(Ut=>({...Ut,name:Ut.name.trim()})),Ue={members:ue,leadMemberId:s,revision:D.revision};i(ue),d(Ue),m(Ue),B.clearFailure(),T("roster.saved")}catch{C.current&&A("roster.saveFailed")}finally{L.current=!1,C.current&&g(!1)}}},De=oe||p||x,Bt=a.ui.ProjectToolkitSwitch!==void 0,ve=Us(b.source),M=b.data?.remoteAgents??[],H=M.filter(D=>D.state==="active"&&!n.some(ue=>ue.principal?.principalId===D.principalId)),ne=D=>{let ue=M.find(Ue=>Ue.principalId===D.principal?.principalId)?.label;return D.principal===void 0||ue===void 0||ue===D.name.trim()?null:ue},$e=b.data?.remoteAgentsUnavailable?"roster.remoteAgentsUnavailable":M.some(D=>D.state==="active")?"roster.allRemoteAgentsAdded":"roster.noRemoteAgents";return I("section",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-4 p-3 sm:p-6",children:[Bt?I("div",{className:"flex flex-col gap-2",children:[u(dc,{environmentId:e,projectId:t,toolkit:"board"}),u(dc,{environmentId:e,projectId:t,toolkit:"memory"}),b.data===null?null:b.data.toolkits.board&&b.data.toolkits.memory?u("p",{role:"status",className:"text-sm text-muted-foreground",children:r("roster.toolkitsOn")}):u("p",{role:"alert",className:"text-sm font-medium text-warning-foreground",children:r("roster.toolkitsOff")})]}):null,Bt?null:u("p",{className:"text-sm text-muted-foreground",children:r("roster.toolsHint")}),I(np,{open:_??f===null,onOpenChange:N,children:[u(sp,{render:u(q,{variant:"outline"}),children:r("roster.title")}),I(ip,{className:"flex flex-col gap-3 pt-3",children:[u("h2",{className:"text-base font-semibold",children:r("roster.members")}),G?u("p",{role:"status",className:G==="roster.updatedElsewhere"?"text-sm text-warning-foreground":"text-sm",children:r(G)}):null,Q?I("div",{className:"flex flex-col items-start gap-2",children:[u("p",{role:"alert",className:"text-sm text-destructive-foreground",children:r(Q)}),Q==="roster.loadFailed"?u(q,{variant:"outline",onClick:()=>Te(),disabled:De,children:r("roster.retry")}):null]}):null,oe?u("p",{role:"status",children:r("roster.loading")}):le?null:n.length===0?u(cp,{children:I(up,{children:[u(dp,{children:r("roster.emptyTitle")}),u(fp,{children:r("roster.emptyDescription")})]})}):u("div",{className:"flex flex-col gap-3",children:n.map((D,ue)=>{let Ue=ue+1,Ut=`${o}-${D.memberId}`;return I("div",{className:"flex flex-wrap items-end gap-3",children:[I("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(Ve,{htmlFor:Ut,children:r("roster.memberName",{number:Ue})}),D.principal?u(me,{variant:"outline",children:r("roster.remote")}):null]}),u(er,{id:Ut,value:D.name,disabled:De,"aria-label":r("roster.memberName",{number:Ue}),onChange:It=>{let Ze=It.target.value;i(n.map(Tt=>Tt.memberId===D.memberId?{...Tt,name:Ze}:Tt)),Re()}}),ne(D)!==null?u("span",{className:"text-xs text-muted-foreground",children:r("roster.remoteSource",{label:ne(D)})}):null]}),D.principal===void 0?u(ws,{mode:"single","aria-label":r("roster.leadFor",{number:Ue}),options:[{value:D.memberId,label:r("roster.lead")}],selected:s===""?[]:[s],disabled:De,onToggle:It=>{l(It),Re()}}):null,u(q,{variant:"ghost",disabled:De,"aria-label":r("roster.remove",{number:Ue}),onClick:()=>{i(n.filter(It=>It.memberId!==D.memberId)),s===D.memberId&&l(""),Re()},children:r("roster.remove",{number:Ue})})]},D.memberId)})}),le?null:I("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[I("div",{className:"flex flex-wrap items-center gap-2",children:[u(q,{variant:"outline",disabled:De||n.length>=qo,onClick:()=>ce(),children:r("roster.add")}),I(Xa,{children:[u(Ya,{disabled:De||b.data===null||n.length>=qo,render:u(q,{variant:"outline"}),children:r("roster.addRemoteAgent")}),u(Qa,{align:"start",children:H.length===0?u(zt,{disabled:!0,"aria-label":r($e),children:r($e)}):H.map(D=>u(zt,{"aria-label":D.label,className:"max-w-80",onClick:()=>ce({name:D.label.slice(0,ic),principal:{kind:"remote-agent",principalId:D.principalId}}),children:u("span",{className:"truncate",children:D.label})},D.principalId))})]})]}),n.length>0?u(q,{disabled:De,onClick:St,children:r(x?"roster.saving":"roster.save")}):null]})]})]}),u(Gm,{location:{environmentId:e,projectId:t},board:b.data,handbookCursor:b.handbookCursor}),u(pp,{environmentId:e,projectId:t,roster:f,current:b.data===null?void 0:b.data.goal,rosterMembers:b.data?.rosterMembers??[],remoteAgents:b.data?.remoteAgents??[],goalItem:b.data?.goalItem,onOpenGoalItem:ve.open,states:b.data?.states??[],loadFailed:b.loadFailed,reload:b.reload,disabled:De||te},`goal:${e}:${t}`),b.data!==null?u($m,{rosterMembers:b.data.rosterMembers,remoteAgents:b.data.remoteAgents,...b.data.remoteAgentsUnavailable?{remoteAgentsUnavailable:!0}:{},remoteWork:b.data.remoteWork,items:b.data.items}):null,u(Ns,{environmentId:e,projectId:t,board:b,detail:ve},`board:${e}:${t}`)]})}Le();function zm(e){return e.map(t=>({projectId:t.id,title:t.title,workspaceRoot:t.workspaceRoot}))}function Km(){let e=K().useEnvironmentId();return e===null?null:u(Jy,{environmentId:e},e)}function Jy({environmentId:e}){let t=K(),{t:a}=J(),[r,o]=v(null),n=Ft(e,async()=>zm(await t.data.read("projects.list",{repositoryIdentity:"skip"},{environmentId:e})),void 0),i=n.data,s=i?.length===1?i[0]?.projectId:r,l=i?.find(c=>c.projectId===s);return I("section",{className:"ycodium-team-ui flex w-full min-w-0 flex-col gap-4 p-3",children:[n.loadFailed?I("div",{className:"flex flex-col gap-2",children:[u("p",{role:"alert",children:a("page.projectsFailed")}),u(q,{variant:"outline",onClick:n.reload,children:a("page.reloadProjects")})]}):null,i===void 0&&!n.loadFailed?u("p",{role:"status",children:a("page.loadingProjects")}):null,i?.length===0?u("p",{role:"status",children:a("page.noProjects")}):null,i!==void 0&&i.length>1?I("div",{className:"flex min-w-0 flex-col gap-2",children:[u(Ve,{htmlFor:"team-project",children:a("page.project")}),I(ys,{value:l?.projectId??null,onValueChange:o,children:[u(bs,{id:"team-project","aria-label":a("page.project"),className:"min-h-11 w-full",children:u(Ls,{children:l?.title??a("page.chooseProject")})}),u(Cs,{children:i.map(c=>u(Ho,{value:c.projectId,className:"min-h-11",children:I("span",{className:"flex min-w-0 flex-col",children:[u("span",{className:"truncate",children:c.title}),u("span",{className:"truncate text-sm text-muted-foreground",children:c.workspaceRoot})]})},c.projectId))})]})]}):null,l?u(Zy,{environmentId:e,projectId:l.projectId},l.projectId):null]})}function Zy({environmentId:e,projectId:t}){let a=_s(e,t),r=Us(a.source),o=a.data;return I(nt,{children:[o?u(fc,{current:o.goal,rosterMembers:o.rosterMembers,remoteAgents:o.remoteAgents,goalItem:o.goalItem,states:o.states,onOpenGoalItem:r.open}):null,u(Ns,{environmentId:e,projectId:t,board:a,detail:r,readOnly:!0,layout:"single-column"})]})}function Xy(e){return{slots:[{name:"project.workbench.tab",titleKey:"tab.title",icon:"./navigation.svg",component:function(r){return I(Ks,{value:e,children:[u("style",{children:Gs}),u(jm,{...r},`${r.environmentId}:${r.projectId}`)]})}}],pages:{team:function(){return I(Ks,{value:e,children:[u("style",{children:Gs}),u(Km,{})]})}}}}export{Xy as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ycodium-ai/plugin-team",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3425",
|
|
4
4
|
"description": "A project team roster with members, a lead, and goals.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"teams",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
"tailwindcss": "^4.0.0",
|
|
35
35
|
"typescript": "~6.0.3",
|
|
36
36
|
"vite-plus": "0.2.2",
|
|
37
|
-
"@ycodium-ai/plugin-api": "0.2.
|
|
37
|
+
"@ycodium-ai/plugin-api": "0.2.3425"
|
|
38
38
|
},
|
|
39
39
|
"ycodium": {
|
|
40
40
|
"plugin": "./dist/index.js",
|
|
41
41
|
"displayName": "Teams",
|
|
42
|
-
"icon": "
|
|
42
|
+
"icon": "./assets/icon.svg",
|
|
43
43
|
"permissions": [
|
|
44
44
|
{
|
|
45
45
|
"kind": "commands.dispatch",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
{
|
|
86
86
|
"id": "team",
|
|
87
87
|
"titleKey": "tab.title",
|
|
88
|
-
"icon": "
|
|
88
|
+
"icon": "./navigation.svg",
|
|
89
89
|
"chrome": "host",
|
|
90
90
|
"placements": [
|
|
91
91
|
"mobile-home"
|