vendor: 39,007 bytes, lines 1-5
1import{r as e}from"./rolldown-runtime-B-9mzPXz.js";import{m as t,mt as n,pt as r}from"./app-shell-CyeaWhCe.js";import{C as i,P as a,W as o,at as s,d as c,f as l,g as u,n as d,v as f,x as p,z as m}from"./icons-CMkDLUz8.js";import{H as h,T as g,V as _,b as v,d as y,g as b,v as x,x as S,z as C}from"./vendor-kumo-DRSQEfBj.js";import{T as w}from"./app-shared-DM5PeS1K.js";import{u as ee}from"./page-D61tfE-C.js";import{t as te}from"./surface-gc2gblserrxcb1eg-CG0JUdOk.js";import{t as T}from"./empty-k83r53jh5utqvv7w-BYZ9mqhn.js";import{D as ne,E,b as re,c as ie,g as ae,h as D,n as oe,r as se,t as O,x as ce}from"./AdminPageHeader-D_BIhiAB.js";import{n as k,t as A}from"./useAdminMutation-4A72cMhJ.js";import{t as j}from"./ConfirmDialog-BxBFmarX.js";import{n as le,t as M}from"./componentStatusOptions-CDiH3li8.js";var N=e(h()),P=e(s());function ue(){var e=[...arguments];return(0,P.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var F=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function I(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function L(e){return`nodeType`in e}function R(e){return e?I(e)?e:L(e)?e.ownerDocument?.defaultView??window:window:window}function de(e){let{Document:t}=R(e);return e instanceof t}function fe(e){return!I(e)&&e instanceof R(e).HTMLElement}function pe(e){return e instanceof R(e).SVGElement}function z(e){return e?I(e)?e.document:L(e)?de(e)?e:fe(e)||pe(e)?e.ownerDocument:document:document:document}var B=F?P.useLayoutEffect:P.useEffect;function me(e){let t=(0,P.useRef)(e);return B(()=>{t.current=e}),(0,P.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function he(){let e=(0,P.useRef)(null);return[(0,P.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,P.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function V(e,t){t===void 0&&(t=[e]);let n=(0,P.useRef)(e);return B(()=>{n.current!==e&&(n.current=e)},t),n}function H(e,t){let n=(0,P.useRef)();return(0,P.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function ge(e){let t=me(e),n=(0,P.useRef)(null);return[n,(0,P.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function _e(e){let t=(0,P.useRef)();return(0,P.useEffect)(()=>{t.current=e},[e]),t.current}var ve={};function ye(e,t){return(0,P.useMemo)(()=>{if(t)return t;let n=ve[e]==null?0:ve[e]+1;return ve[e]=n,e+`-`+n},[e,t])}function U(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var be=U(1),W=U(-1);function xe(e){return`clientX`in e&&`clientY`in e}function Se(e){if(!e)return!1;let{KeyboardEvent:t}=R(e.target);return t&&e instanceof t}function G(e){if(!e)return!1;let{TouchEvent:t}=R(e.target);return t&&e instanceof t}function Ce(e){if(G(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return xe(e)?{x:e.clientX,y:e.clientY}:null}var we=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[we.Translate.toString(e),we.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Te=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Ee(e){return e.matches(Te)?e:e.querySelector(Te)}var De={display:`none`};function Oe(e){let{id:t,value:n}=e;return P.createElement(`div`,{id:t,style:De},n)}function K(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return P.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function ke(){let[e,t]=(0,P.useState)(``);return{announce:(0,P.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Ae=(0,P.createContext)(null);function je(e){let t=(0,P.useContext)(Ae);(0,P.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Me(){let[e]=(0,P.useState)(()=>new Set),t=(0,P.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,P.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Ne={draggable:` 2 To pick up a draggable item, press the space bar. 3 While dragging, use the arrow keys to move the item. 4 Press space again to drop the item in its new position, or press escape to cancel. 5 `},Pe={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function Fe(e){let{announcements:t=Pe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Ne}=e,{announce:a,announcement:o}=ke(),s=ye(`DndLiveRegion`),[c,l]=(0,P.useState)(!1);if((0,P.useEffect)(()=>{l(!0)},[]),je((0,P.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=P.createElement(P.Fragment,null,P.createElement(Oe,{id:r,value:i.draggable}),P.createElement(K,{id:s,announcement:o}));return n?(0,N.createPortal)(u,n):u}var q;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(q||={});function Ie(){}function Le(e,t){return(0,P.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Re(){var e=[...arguments];return(0,P.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var J=Object.freeze({x:0,y:0});function ze(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Be(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Ve(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function He(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ue(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var We=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Ue(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=ze(Ue(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(Be)};function Ge(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Ke=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Ge(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Ve)};function qe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Je(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:J}function Ye(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Xe=Ye(1);function Ze(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 Qe(e,t,n){let r=Ze(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var $e={ignoreTransform:!1};function et(e,t){t===void 0&&(t=$e);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=R(e).getComputedStyle(e);t&&(n=Qe(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function tt(e){return et(e,{ignoreTransform:!0})}function nt(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function rt(e,t){return t===void 0&&(t=R(e).getComputedStyle(e)),t.position===`fixed`}function it(e,t){t===void 0&&(t=R(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function at(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(de(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!fe(i)||pe(i)||n.includes(i))return n;let a=R(e).getComputedStyle(i);return i!==e&&it(i,a)&&n.push(i),rt(i,a)?n:r(i.parentNode)}return e?r(e):n}function ot(e){let[t]=at(e,1);return t??null}function st(e){return!F||!e?null:I(e)?e:L(e)?de(e)||e===z(e).scrollingElement?window:fe(e)?e:null:null}function ct(e){return I(e)?e.scrollX:e.scrollLeft}function lt(e){return I(e)?e.scrollY:e.scrollTop}function ut(e){return{x:ct(e),y:lt(e)}}var Y;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Y||={});function dt(e){return!F||!e?!1:e===document.scrollingElement}function ft(e){let t={x:0,y:0},n=dt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var pt={x:.2,y:.2};function mt(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=pt);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=ft(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Y.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Y.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Y.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Y.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function ht(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function gt(e){return e.reduce((e,t)=>be(e,ut(t)),J)}function _t(e){return e.reduce((e,t)=>e+ct(t),0)}function vt(e){return e.reduce((e,t)=>e+lt(t),0)}function yt(e,t){if(t===void 0&&(t=et),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);ot(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var bt=[[`x`,[`left`,`right`],_t],[`y`,[`top`,`bottom`],vt]],xt=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=at(t),r=gt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of bt)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},St=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Ct(e){let{EventTarget:t}=R(e);return e instanceof t?e:z(e)}function wt(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var X;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(X||={});function Tt(e){e.preventDefault()}function Et(e){e.stopPropagation()}var Z;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(Z||={});var Dt={start:[Z.Space,Z.Enter],cancel:[Z.Esc],end:[Z.Space,Z.Enter,Z.Tab]},Ot=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Z.Right:return{...n,x:n.x+25};case Z.Left:return{...n,x:n.x-25};case Z.Down:return{...n,y:n.y+25};case Z.Up:return{...n,y:n.y-25}}},kt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new St(z(t)),this.windowListeners=new St(R(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(X.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&yt(n),t(J)}handleKeyDown(e){if(Se(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Dt,coordinateGetter:a=Ot,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:J;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=W(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=ft(n),p=ht(n),m={x:Math.min(i===Z.Right?p.right-p.width/2:p.right,Math.max(i===Z.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Z.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Z.Down?p.top:p.top+p.height/2,u.y))},h=i===Z.Right&&!s||i===Z.Left&&!c,g=i===Z.Down&&!l||i===Z.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Z.Right&&e<=d.x||i===Z.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===Z.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===Z.Down&&e<=d.y||i===Z.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===Z.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,be(W(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};kt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Dt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function At(e){return!!(e&&`distance`in e)}function jt(e){return!!(e&&`delay`in e)}var Mt=class{constructor(e,t,n){n===void 0&&(n=Ct(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=z(i),this.documentListeners=new St(this.document),this.listeners=new St(n),this.windowListeners=new St(R(i)),this.initialCoordinates=Ce(r)??J,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.DragStart,Tt),this.windowListeners.add(X.VisibilityChange,this.handleCancel),this.windowListeners.add(X.ContextMenu,Tt),this.documentListeners.add(X.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(jt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(At(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(X.Click,Et,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(X.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ce(e)??J,s=W(n,o);if(!t&&a){if(At(a)){if(a.tolerance!=null&&wt(s,a.tolerance))return this.handleCancel();if(wt(s,a.distance))return this.handleStart()}if(jt(a)&&wt(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Z.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},Nt={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},Pt=class extends Mt{constructor(e){let{event:t}=e,n=z(t.target);super(e,Nt,n)}};Pt.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Ft={move:{name:`mousemove`},end:{name:`mouseup`}},It;(function(e){e[e.RightClick=2]=`RightClick`})(It||={});var Lt=class extends Mt{constructor(e){super(e,Ft,z(e.event.target))}};Lt.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===It.RightClick?!1:(r?.({event:n}),!0)}}];var Rt={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},zt=class extends Mt{constructor(e){super(e,Rt)}static setup(){return window.addEventListener(Rt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Rt.move.name,e)};function e(){}}};zt.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Bt;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Bt||={});var Vt;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Vt||={});function Ht(e){let{acceleration:t,activator:n=Bt.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Vt.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Wt({delta:d,disabled:!a}),[m,h]=he(),g=(0,P.useRef)({x:0,y:0}),_=(0,P.useRef)({x:0,y:0}),v=(0,P.useMemo)(()=>{switch(n){case Bt.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Bt.DraggableRect:return i}},[n,i,c]),y=(0,P.useRef)(null),b=(0,P.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,P.useMemo)(()=>s===Vt.TreeOrder?[...l].reverse():l,[s,l]);(0,P.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=mt(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Ut={x:{[Y.Backward]:!1,[Y.Forward]:!1},y:{[Y.Backward]:!1,[Y.Forward]:!1}};function Wt(e){let{delta:t,disabled:n}=e,r=_e(t);return H(e=>{if(n||!r||!e)return Ut;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Y.Backward]:e.x[Y.Backward]||i.x===-1,[Y.Forward]:e.x[Y.Forward]||i.x===1},y:{[Y.Backward]:e.y[Y.Backward]||i.y===-1,[Y.Forward]:e.y[Y.Forward]||i.y===1}}},[n,t,r])}function Gt(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return H(e=>t==null?null:r??e??null,[r,t])}function Kt(e,t){return(0,P.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var qt;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(qt||={});var Jt;(function(e){e.Optimized=`optimized`})(Jt||={});var Yt=new Map;function Xt(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,P.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,P.useRef)(e),d=g(),f=V(d),p=(0,P.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,P.useRef)(null),h=H(t=>{if(d&&!n)return Yt;if(!t||t===Yt||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new xt(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,P.useEffect)(()=>{u.current=e},[e]),(0,P.useEffect)(()=>{d||p()},[n,d]),(0,P.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,P.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case qt.Always:return!1;case qt.BeforeDragging:return n;default:return!n}}}function Zt(e,t){return H(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Qt(e,t){return Zt(e,t)}function $t(e){let{callback:t,disabled:n}=e,r=me(t),i=(0,P.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,P.useEffect)(()=>()=>i?.disconnect(),[i]),i}function en(e){let{callback:t,disabled:n}=e,r=me(t),i=(0,P.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,P.useEffect)(()=>()=>i?.disconnect(),[i]),i}function tn(e){return new xt(et(e),e)}function nn(e,t,n){t===void 0&&(t=tn);let[r,i]=(0,P.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=$t({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=en({callback:a});return B(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function rn(e){return Je(e,Zt(e))}var an=[];function on(e){let t=(0,P.useRef)(e),n=H(n=>e?n&&n!==an&&e&&t.current&&e.parentNode===t.current.parentNode?n:at(e):an,[e]);return(0,P.useEffect)(()=>{t.current=e},[e]),n}function sn(e){let[t,n]=(0,P.useState)(null),r=(0,P.useRef)(e),i=(0,P.useCallback)(e=>{let t=st(e.target);t&&n(e=>e?(e.set(t,ut(t)),new Map(e)):null)},[]);return(0,P.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=st(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,ut(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{st(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,P.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>be(e,t),J):gt(e):J,[e,t])}function cn(e,t){t===void 0&&(t=[]);let n=(0,P.useRef)(null);return(0,P.useEffect)(()=>{n.current=null},t),(0,P.useEffect)(()=>{let t=e!==J;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?W(e,n.current):J}function ln(e){(0,P.useEffect)(()=>{if(!F)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function un(e,t){return(0,P.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function dn(e){return(0,P.useMemo)(()=>e?nt(e):null,[e])}var fn=[];function pn(e,t){t===void 0&&(t=et);let[n]=e,r=dn(n?R(n):null),[i,a]=(0,P.useState)(fn);function o(){a(()=>e.length?e.map(e=>dt(e)?r:new xt(t(e),e)):fn)}let s=en({callback:o});return B(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function mn(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return fe(t)?t:e}function hn(e){let{measure:t}=e,[n,r]=(0,P.useState)(null),i=en({callback:(0,P.useCallback)(e=>{for(let{target:n}of e)if(fe(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=ge((0,P.useCallback)(e=>{let n=mn(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,P.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var gn=[{sensor:Pt,options:{}},{sensor:kt,options:{}}],_n={current:{}},vn={draggable:{measure:tt},droppable:{measure:tt,strategy:qt.WhileDragging,frequency:Jt.Optimized},dragOverlay:{measure:et}},yn=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},bn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new yn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Ie},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:vn,measureDroppableContainers:Ie,windowRect:null,measuringScheduled:!1},xn={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Ie,draggableNodes:new Map,over:null,measureDroppableContainers:Ie},Sn=(0,P.createContext)(xn),Cn=(0,P.createContext)(bn);function wn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new yn}}}function Tn(e,t){switch(t.type){case q.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case q.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case q.DragEnd:case q.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case q.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new yn(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case q.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new yn(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case q.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new yn(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function En(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,P.useContext)(Sn),a=_e(r),o=_e(n?.id);return(0,P.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Se(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=Ee(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Dn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function On(e){return(0,P.useMemo)(()=>({draggable:{...vn.draggable,...e?.draggable},droppable:{...vn.droppable,...e?.droppable},dragOverlay:{...vn.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function kn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,P.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;B(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Je(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=ot(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var An=(0,P.createContext)({...J,scaleX:1,scaleY:1}),jn;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(jn||={});var Mn=(0,P.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=gn,collisionDetection:o=Ke,measuring:s,modifiers:c,...l}=e,[u,d]=(0,P.useReducer)(Tn,void 0,wn),[f,p]=Me(),[m,h]=(0,P.useState)(jn.Uninitialized),g=m===jn.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,P.useRef)({initial:null,translated:null}),C=(0,P.useMemo)(()=>_==null?null:{id:_,data:x?.data??_n,rect:S},[_,x]),w=(0,P.useRef)(null),[ee,te]=(0,P.useState)(null),[T,ne]=(0,P.useState)(null),E=V(l,Object.values(l)),re=ye(`DndDescribedBy`,t),ie=(0,P.useMemo)(()=>b.getEnabled(),[b]),ae=On(s),{droppableRects:D,measureDroppableContainers:oe,measuringScheduled:se}=Xt(ie,{dragging:g,dependencies:[y.x,y.y],config:ae.droppable}),O=Gt(v,_),ce=(0,P.useMemo)(()=>T?Ce(T):null,[T]),k=je(),A=Qt(O,ae.draggable.measure);kn({activeNode:_==null?null:v.get(_),config:k.layoutShiftCompensation,initialRect:A,measure:ae.draggable.measure});let j=nn(O,ae.draggable.measure,A),le=nn(O?O.parentElement:null),M=(0,P.useRef)({activatorEvent:null,active:null,activeNode:O,collisionRect:null,collisions:null,droppableRects:D,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ue=b.getNodeFor(M.current.over?.id),F=hn({measure:ae.dragOverlay.measure}),I=F.nodeRef.current??O,L=g?F.rect??j:null,de=!!(F.nodeRef.current&&F.rect),fe=rn(de?null:j),pe=dn(I?R(I):null),z=on(g?ue??O:null),me=pn(z),he=Dn(c,{transform:{x:y.x-fe.x,y:y.y-fe.y,scaleX:1,scaleY:1},activatorEvent:T,active:C,activeNodeRect:j,containerNodeRect:le,draggingNodeRect:L,over:M.current.over,overlayNodeRect:F.rect,scrollableAncestors:z,scrollableAncestorRects:me,windowRect:pe}),H=ce?be(ce,y):null,ge=sn(z),_e=cn(ge),ve=cn(ge,[j]),U=be(he,_e),W=L?Xe(L,he):null,xe=C&&W?o({active:C,collisionRect:W,droppableRects:D,droppableContainers:ie,pointerCoordinates:H}):null,Se=He(xe,`id`),[G,we]=(0,P.useState)(null),Te=qe(de?he:be(he,ve),G?.rect??null,j),Ee=(0,P.useRef)(null),De=(0,P.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:M,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=E.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=E.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=E.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,N.unstable_batchedUpdates)(()=>{r?.(i),h(jn.Initializing),d({type:q.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),te(Ee.current),ne(a)})},onMove(e){d({type:q.DragMove,coordinates:e})},onEnd:s(q.DragEnd),onCancel:s(q.DragCancel)});Ee.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=M.current,o=null;if(t&&i){let{cancelDrop:s}=E.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===q.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=q.DragCancel)}w.current=null,(0,N.unstable_batchedUpdates)(()=>{d({type:e}),h(jn.Uninitialized),we(null),te(null),ne(null),Ee.current=null;let t=e===q.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=E.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Oe=Kt(a,(0,P.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,De(n,t))},[v,De]));ln(a),B(()=>{j&&m===jn.Initializing&&h(jn.Initialized)},[j,m]),(0,P.useEffect)(()=>{let{onDragMove:e}=E.current,{active:t,activatorEvent:n,collisions:r,over:i}=M.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:U.x,y:U.y},over:i};(0,N.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[U.x,U.y]),(0,P.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=M.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=E.current,o=r.get(Se),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,N.unstable_batchedUpdates)(()=>{we(s),a?.(c),f({type:`onDragOver`,event:c})})},[Se]),B(()=>{M.current={activatorEvent:T,active:C,activeNode:O,collisionRect:W,collisions:xe,droppableRects:D,draggableNodes:v,draggingNode:I,draggingNodeRect:L,droppableContainers:b,over:G,scrollableAncestors:z,scrollAdjustedTranslate:U},S.current={initial:L,translated:W}},[C,O,xe,W,v,I,L,D,b,G,z,U]),Ht({...k,delta:y,draggingRect:W,pointerCoordinates:H,scrollableAncestors:z,scrollableAncestorRects:me});let K=(0,P.useMemo)(()=>({active:C,activeNode:O,activeNodeRect:j,activatorEvent:T,collisions:xe,containerNodeRect:le,dragOverlay:F,draggableNodes:v,droppableContainers:b,droppableRects:D,over:G,measureDroppableContainers:oe,scrollableAncestors:z,scrollableAncestorRects:me,measuringConfiguration:ae,measuringScheduled:se,windowRect:pe}),[C,O,j,T,xe,le,F,v,b,D,G,oe,z,me,ae,se,pe]),ke=(0,P.useMemo)(()=>({activatorEvent:T,activators:Oe,active:C,activeNodeRect:j,ariaDescribedById:{draggable:re},dispatch:d,draggableNodes:v,over:G,measureDroppableContainers:oe}),[T,Oe,C,j,d,re,v,G,oe]);return P.createElement(Ae.Provider,{value:p},P.createElement(Sn.Provider,{value:ke},P.createElement(Cn.Provider,{value:K},P.createElement(An.Provider,{value:Te},i)),P.createElement(En,{disabled:n?.restoreFocus===!1})),P.createElement(Fe,{...n,hiddenTextDescribedById:re}));function je(){let e=ee?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),Nn=(0,P.createContext)(null),Pn=`button`,Fn=`Draggable`;function In(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=ye(Fn),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,P.useContext)(Sn),{role:p=Pn,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,P.useContext)(g?An:Nn),[v,y]=ge(),[b,x]=ge(),S=un(o,t),C=V(n);return B(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,P.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===Pn?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function Ln(){return(0,P.useContext)(Cn)}var Rn=`Droppable`,zn={timeout:25};function Bn(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=ye(Rn),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,P.useContext)(Sn),u=(0,P.useRef)({disabled:n}),d=(0,P.useRef)(!1),f=(0,P.useRef)(null),p=(0,P.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...zn,...i},_=V(h??r),v=en({callback:(0,P.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=ge((0,P.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=V(t);return(0,P.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,P.useEffect)(()=>(s({type:q.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:q.UnregisterDroppable,key:a,id:r})),[r]),(0,P.useEffect)(()=>{n!==u.current.disabled&&(s({type:q.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Vn(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Hn(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Un(e){return e!==null&&e>=0}function Wn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Gn(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Kn=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Vn(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},qn={scaleX:1,scaleY:1},Jn=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];
5return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...qn}:null}let s=Yn(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...qn}:r<t&&r>=a?{x:0,y:o.height+s,...qn}:{x:0,y:0,...qn}};function Yn(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Xn=`Sortable`,Zn=P.createContext({activeIndex:-1,containerId:Xn,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Kn,disabled:{draggable:!1,droppable:!1}});function Qn(e){let{children:t,id:n,items:r,strategy:i=Kn,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=Ln(),d=ye(Xn,n),f=s.rect!==null,p=(0,P.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,P.useRef)(p),v=!Wn(p,_.current),y=g!==-1&&h===-1||v,b=Gn(a);B(()=>{v&&m&&u(p)},[v,p,m,u]),(0,P.useEffect)(()=>{_.current=p},[p]);let x=(0,P.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Hn(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return P.createElement(Zn.Provider,{value:x},t)}var $n=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Vn(n,r,i).indexOf(t)},er=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},tr={duration:200,easing:`ease`},nr=`transform`,rr=we.Transition.toString({property:nr,duration:0,easing:`linear`}),ir={roleDescription:`sortable`};function ar(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,P.useState)(null),s=(0,P.useRef)(n);return B(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=et(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,P.useEffect)(()=>{a&&o(null)},[a]),a}function or(e){let{animateLayoutChanges:t=er,attributes:n,disabled:r,data:i,getNewIndex:a=$n,id:o,strategy:s,resizeObserverConfig:c,transition:l=tr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,P.useContext)(Zn),y=sr(r,p),b=u.indexOf(o),x=(0,P.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,P.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:ee,setNodeRef:te}=Bn({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:T,activatorEvent:ne,activeNodeRect:E,attributes:re,setNodeRef:ie,listeners:ae,isDragging:D,over:oe,setActivatorNodeRef:se,transform:O}=In({id:o,data:x,attributes:{...ir,...n},disabled:y.draggable}),ce=ue(te,ie),k=!!T,A=k&&!m&&Un(f)&&Un(g),j=!_&&D,le=A?(j&&A?O:null)??(s??v)({rects:h,activeNodeRect:E,activeIndex:f,overIndex:g,index:b}):null,M=Un(f)&&Un(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,N=T?.id,F=(0,P.useRef)({activeId:N,items:u,newIndex:M,containerId:d}),I=u!==F.current.items,L=t({active:T,containerId:d,isDragging:D,isSorting:k,id:o,index:b,items:u,newIndex:F.current.newIndex,previousItems:F.current.items,previousContainerId:F.current.containerId,transition:l,wasDragging:F.current.activeId!=null}),R=ar({disabled:!L,index:b,node:w,rect:C});return(0,P.useEffect)(()=>{k&&F.current.newIndex!==M&&(F.current.newIndex=M),d!==F.current.containerId&&(F.current.containerId=d),u!==F.current.items&&(F.current.items=u)},[k,M,d,u]),(0,P.useEffect)(()=>{if(N===F.current.activeId)return;if(N!=null&&F.current.activeId==null){F.current.activeId=N;return}let e=setTimeout(()=>{F.current.activeId=N},50);return()=>clearTimeout(e)},[N]),{active:T,activeIndex:f,attributes:re,data:x,rect:C,index:b,newIndex:M,items:u,isOver:ee,isSorting:k,isDragging:D,listeners:ae,node:w,overIndex:g,over:oe,setNodeRef:ce,setActivatorNodeRef:se,setDroppableNodeRef:te,setDraggableNodeRef:ie,transform:R??le,transition:de()};function de(){if(R||I&&F.current.newIndex===b)return rr;if(!(j&&!Se(ne)||!l)&&(k||L))return we.Transition.toString({...l,property:nr})}}function sr(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}Z.Down,Z.Right,Z.Up,Z.Left;var Q=_();function cr({component:e,isDragging:t,attributes:n,listeners:i,onStartEdit:o,onStatusChange:s,onDelete:l}){let u=M[e.status];return(0,Q.jsxs)(`div`,{className:r(`flex flex-col gap-2 px-5 py-3.5 transition-colors duration-100 hover:bg-kumo-tint sm:flex-row sm:items-center sm:gap-4`,t&&`z-10 bg-kumo-tint opacity-80 shadow-lg`),children:[(0,Q.jsxs)(`div`,{className:`flex flex-1 items-center gap-3 min-w-0 sm:gap-4`,children:[(0,Q.jsx)(`button`,{type:`button`,className:`hidden cursor-grab touch-none text-kumo-subtle transition-colors hover:text-kumo-default active:cursor-grabbing sm:block`,"aria-label":`Drag to reorder ${e.name}`,...n,...i,children:(0,Q.jsx)(a,{size:20,"aria-hidden":`true`})}),u&&(0,Q.jsx)(u.Icon,{size:20,className:r(`shrink-0`,u.className),"aria-hidden":`true`}),(0,Q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-1 min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-base font-medium truncate text-kumo-default`,children:e.name}),e.type===`location`&&(0,Q.jsx)(p,{size:16,className:`shrink-0 text-kumo-subtle`,"aria-label":`Location component`}),e.source===`zinc`&&(0,Q.jsx)(x,{variant:`secondary`,children:`Zinc managed`})]}),e.description&&(0,Q.jsx)(`span`,{className:`text-sm text-kumo-subtle truncate max-w-md`,children:e.description})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:()=>o(e),"aria-label":`Edit ${e.name}`,children:(0,Q.jsx)(f,{size:20,"aria-hidden":`true`})}),(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:()=>l(e),"aria-label":`Delete ${e.name}`,children:(0,Q.jsx)(c,{size:20,"aria-hidden":`true`})})]})]}),(0,Q.jsx)(`div`,{className:`w-full sm:w-48 sm:shrink-0`,children:(0,Q.jsx)(v,{"aria-label":`Status`,value:e.status,items:le,onValueChange:t=>{t&&s(e.id,t)},children:Object.entries(le).map(([e,t])=>(0,Q.jsx)(v.Option,{value:e,children:t},e))})})]})}var $={value:`__none__`,label:`Ungrouped`};function lr(e,t){let n=new Map;for(let e of t){let t=e.group_id??null,r=n.get(t)??[];r.push(e),n.set(t,r)}let r=e.slice().sort((e,t)=>
5e.position-t.position).map(e=>{let t=n.get(e.id)??[];return n.delete(e.id),{group:e,components:t.sort((e,t)=>e.position-t.position)}}),i=n.get(null)??[];n.delete(null);for(let[,e]of n)i.push(...e);return i.length>0&&r.push({group:null,components:i.sort((e,t)=>e.position-t.position)}),r}function ur({allGroups:e,showUngrouped:t,keepId:n}){return(0,Q.jsxs)(Q.Fragment,{children:[t&&(0,Q.jsx)(v.Option,{value:$.value,children:$.label}),e.filter(e=>!e.deletion_source||e.id===n).map(e=>(0,Q.jsx)(v.Option,{value:e.id,children:e.deletion_source?`${e.name} (deleted)`:e.name},e.id))]})}function dr({component:e,allGroups:t,onSave:n,onCancel:r}){let[i,a]=(0,P.useState)(e.name),[o,s]=(0,P.useState)(e.description??``),[c,l]=(0,P.useState)(e.group_id??$.value),[u,d]=(0,P.useState)(!1),f=(0,P.useMemo)(()=>{let n={[$.value]:$.label};for(let r of t)(!r.deletion_source||r.id===e.group_id)&&(n[r.id]=r.deletion_source?`${r.name} (deleted)`:r.name);return n},[t,e.group_id]),p=(0,P.useMemo)(()=>e.group_id!=null&&t.some(t=>t.id===e.group_id&&t.deletion_source!=null),[t,e.group_id])&&c===e.group_id,m=i.trim().length>0&&!u&&!p,h=async()=>{if(m){d(!0);try{await n({name:i.trim(),description:o.trim(),group_id:c===$.value?void 0:c,ungroup:e.group_id!=null&&c===$.value})}finally{d(!1)}}};return(0,Q.jsxs)(`div`,{className:`space-y-3 bg-kumo-tint px-5 py-3.5`,children:[(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[e.source===`zinc`&&(0,Q.jsx)(`p`,{className:`text-sm text-kumo-subtle`,children:`Location metadata is synced from Zinc and may overwrite edits. Status may also be over
5written by Three when its sync is enabled.`}),(0,Q.jsx)(S,{label:`Name`,type:`text`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`?h():e.key===`Escape`&&r()},autoFocus:!0}),(0,Q.jsx)(S,{label:`Description`,type:`text`,value:o,onChange:e=>s(e.target.value),placeholder:`Optional description`}),(0,Q.jsx)(v,{label:`Group`,hideLabel:!1,value:c,items:f,onValueChange:e=>{e&&l(e)},children:(0,Q.jsx)(ur,{allGroups:t,showUngrouped:!0,...e.group_id?{keepId:e.group_id}:{}})}),p&&(0,Q.jsx)(`p`,{className:`text-sm text-kumo-danger`,role:`alert`,children:`This component is attached to a deleted group. Reassign it to a different group before saving.`})]}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(g,{variant:`ghost`,size:`sm`,onClick:r,disabled:u,children:`Cancel`}),(0,Q.jsx)(g,{size:`sm`,onClick:h,loading:u,disabled:!m,children:`Save`})]})]})}function fr({component:e,isEditing:t,allGroups:n,onStartEdit:r,onCancelEdit:i,onSave:a,onStatusChange:o,onDelete:s}){let{attributes:c,listeners:l,setNodeRef:u,transform:d,transition:f,isDragging:p}=or({id:e.id});return(0,Q.jsx)(`div`,{ref:u,style:{transform:we.Transform.toString(d),transition:f},children:t?(0,Q.jsx)(dr,{component:e,allGroups:n,onSave:t=>a(e.id,t),onCancel:i}):(0,Q.jsx)(cr,{component:e,isDragging:p,attributes:c,listeners:l,onStartEdit:r,onStatusChange:o,onDelete:s})})}var pr=(0,P.memo)(fr);function mr({initialName:e,onSave:t,onCancel:n}){let[r,i]=(0,P.useState)(e),[a,o]=(0,P.useState)(!1),s=r.trim().length>0&&!a,c=async()=>{if(s){o(!0);try{await t(r.trim())}finally{o(!1)}}};return(0,Q.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[(0,Q.jsx)(S,{type:`text`,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`?c():e.key===`Escape`&&n()},"aria-label":`Rename group`,className:`flex-1`,autoFocus:!0}),(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:c,loading:a,disabled:!s,"aria-label":`Save group name`,children:(0,Q.jsx)(m,{size:20,"aria-hidden":`true`})}),(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:n,disabled:a,"aria-label":`Cancel rename`,children:(0,Q.jsx)(d,{size:20,"aria-hidden":`true`})})]})}function hr({id:e,children:t}){let{attributes:n,listeners:i,setNodeRef:o,setActivatorNodeRef:s,transform:c,transition:l,isDragging:u}=or({id:e});return(0,Q.jsx)(te,{ref:o,style:{transform:we.Transform.toString(c),transition:l},className:r(`overflow-hidden rounded-lg`,u&&`z-10 opacity-80 shadow-lg`),children:(0,Q.jsxs)(`div`,{className:`flex items-start`,children:[(0,Q.jsx)(`button`,{type:`button`,ref:s,className:`hidden cursor-grab touch-none self-start items-center px-2 py-3 text-kumo-subtle transition-colors hover:text-kumo-default active:cursor-grabbing sm:flex`,"aria-label":`Drag to reorder group`,...i,...n,children:(0,Q.jsx)(a,{size:20,"aria-hidden":`true`})}),(0,Q.jsx)(`div`,{className:`flex-1`,children:t})]})})}function gr(){t(`Components`);let{pageID:e}=ee(),{data:a,isLoading:s,error:d,mutate:p}=ie(),{mutate:m}=w(),h=(0,P.useMemo)(()=>a?.components??[],[a?.components]),_=(0,P.useMemo)(()=>a?.component_groups??[],[a?.component_groups]),[x,le]=(0,P.useState)(``),[M,N]=(0,P.useState)(new Map),[ue,F]=(0,P.useState)(null),[I,L]=(0,P.useState)(!1),[R,de]=(0,P.useState)(``),[fe,pe]=(0,P.useState)(``),[z,B]=(0,P.useState)($.value),[me,he]=(0,P.useState)(!1),[V,H]=(0,P.useState)(``),[ge,_e]=(0,P.useState)(null),[ve,ye]=(0,P.useState)(null),[U,be]=(0,P.useState)(null),[W,xe]=(0,P.useState)(null),[Se,G]=(0,P.useState)(new Set),Ce=(0,P.useCallback)(e=>{G(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),we=x.trim().length>0,Te=e=>!we&&!Se.has(e),Ee=(0,P.useMemo)(()=>lr(_,h),[_,h]),De=(0,P.useMemo)(()=>{let e=x.toLowerCase().trim();return e?Ee.map(t=>{if(t.group?.name.toLowerCase().includes(e)??!1)return t;let n=t.components.filter(t=>t.name.toLowerCase().includes(e));return{...t,components:n}}).filter(e=>e.components.length>0):Ee},[Ee,x]),Oe=(0,P.useMemo)(()=>{let e={[$.value]:$.label};for(let t of _)t.deletion_source||(e[t.id]=t.name);return e},[_]),K=(0,P.useCallback)(async()=>
5{await Promise.all([oe(m),se(m)])},[m]),ke=A(async t=>k(await D(e,{body:t})),{errorMessage:`Failed to create component.`}),Ae=async()=>{if(!R.trim())return;let e=z===$.value?null:z,t=h.filter(t=>(t.group_id??null)===e&&!t.deletion_source).reduce((e,t)=>Math.max(e,t.position),-1),r=fe.trim()||void 0;await ke.execute(n({name:R.trim(),position:t+1,description:r,group_id:e??void 0}))!==void 0&&(await K(),L(!1),de(``),pe(``),B($.value))},je=(0,P.useCallback)(e=>{_e(e.id)},[]),Me=(0,P.useCallback)(()=>{_e(null)},[]),Ne=A(async(t,r)=>k(await E(e,{path:{component_id:t},body:n({name:r.name,description:r.description,group_id:r.group_id,...r.ungroup?{ungroup:!0}:{}})})),{errorMessage:`Failed to update component.`}),Pe=(0,P.useCallback)(async(e,t)=>{await Ne.execute(e,t)!==void 0&&(await K(),_e(null))},[K,Ne]),Fe=A(async(t,n)=>k(await E(e,{path:{component_id:t},body:{status:n}})),{errorMessage:`Failed to update status.`}),q=(0,P.useCallback)(async(e,t)=>{await Fe.execute(e,t)!==void 0&&await K()},[K,Fe]),Ie=A(async t=>k(await re(e,{path:{component_id:t}})),{errorMessage:`Failed to delete component.`}),J=async()=>{U&&await Ie.execute(U.id)!==void 0&&(await K(),be(null))},ze=A(async t=>k(await ae(e,{body:{name:t}})),{errorMessage:`Failed to create group.`}),Be=async()=>{V.trim()&&await ze.execute(V.trim())!==void 0&&(await K(),he(!1),H(``))},Ve=(0,P.useCallback)(e=>{ye(e.id)},[]),He=(0,P.useCallback)(()=>{ye(null)},[]),Ue=A(async(t,n)=>k(await ne(e,{path:{group_id:t},body:{name:n}})),{errorMessage:`Failed to rename group.`}),Ge=(0,P.useCallback)(async(e,t)=>{await Ue.execute(e,t)!==void 0&&(await K(),ye(null))},[K,Ue]),Ke=A(async t=>k(await ce(e,{path:{group_id:t}})),{errorMessage:`Failed to delete group.`}),qe=async()=>{W&&await Ke.execute(W.id)!==void 0&&(await K(),xe(null))},Je=x.trim().length>0,Ye=Re(Le(Pt,{activationConstraint:{distance:5}}),Le(kt)),[Xe,Ze]=(0,P.useState)(!1),Qe=Je||Xe?[]:Ye,$e=A(async(t,n)=>k(await E(e,{path:{component_id:t},body:{position:n}})),{errorMessage:`Failed to reorder components.`}),et=(0,P.useCallback)(async e=>{let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=Ee.find(e=>e.components.some(e=>e.id===t.id));if(!r)return;let i=r.group?.id??`__ungrouped__`,a=r.components,o=a.findIndex(e=>e.id===t.id),s=a.findIndex(e=>e.id===n.id),c=a[s];if(o===-1||s===-1||!c)return;let l=c.position,u=Vn(a,o,s);Ze(!0),N(e=>new Map(e).set(i,u));try{await $e.execute(String(t.id),l)!==void 0&&await K()}finally{N(e=>{let t=new Map(e);return t.delete(i),t}),Ze(!1)}},[Ee,K,$e]),tt=A(async(t,n)=>k(await ne(e,{path:{group_id:t},body:{position:n}})),{errorMessage:`Failed to reorder groups.`}),nt=(0,P.useCallback)(async e=>{if(Je)return;let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=De.filter(e=>e.group!==null),i=r.findIndex(e=>e.group.id===t.id),a=r.findIndex(e=>e.group.id===n.id),o=r[a];if(i===-1||a===-1||!o)return;let s=o.group.position,c=Vn(r,i,a),l=De.find(e=>e.group===null),u=l?[...c,l]:c;Ze(!0),F(u);try{await tt.execute(String(t.id),s)!==void 0&&await K()}finally{F(null),Ze(!1)}},[Je,De,K,tt]),rt=e=>{let t=e.group?.id??`__ungrouped__`,n=!Te(t),i=e.group&&ve===e.group.id,a=M.get(t)??e.components;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:r(`flex items-stretch`,i&&`items-center gap-3 px-5 py-3`),children:i&&e.group?(0,Q.jsx)(mr,{initialName:e.group.name,onSave:t=>Ge(e.group.id,t),onCancel:He}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>Ce(t),className:`flex min-w-0 flex-1 cursor-pointer items-center gap-3 px-5 py-3 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-kumo-ring`,"aria-label":`Toggle ${e.group?.name??`Ungrouped`} group`,"aria-expanded":n,"aria-controls":`group-content-${t}`,children:[(0,Q.jsx)(o,{size:20,className:r(`shrink-0 text-kumo-subtle transition-transform duration-100`,n&&`rotate-90`),"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`text-base font-semibold text-kumo-default`,children:e.group?.name??`Ungrouped`}),(0,Q.jsxs)(`span`,{className:`text-sm text-kumo-subtle`,children:[`(`,a.length,`)`]})]}),e.group&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 pr-4`,children:[(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:t=>{t.stopPropagation(),Ve(e.group)},"aria-label":`Rename ${e.group.name}`,children:(0,Q.jsx)(f,{size:20,"aria-hidden":`true`})}),(0,Q.jsx)(g,{variant:`ghost`,shape:`square`,size:`sm`,onClick:t=>{t.stopPropagation(),xe(e.group)},"aria-label":`Delete ${e.group.name}`,children:(0,Q.jsx)(c,{size:20,"aria-hidden":`true`})})]})]})}),n&&(0,Q.jsx)(`div`,{id:`group-content-${t}`,children:(0,Q.jsx)(Mn,{sensors:Qe,collisionDetection:We,onDragEnd:et,children:(0,Q.jsx)(Qn,{items:a.map(e=>
5e.id),strategy:Jn,children:(0,Q.jsx)(`div`,{className:`divide-y divide-kumo-line border-t border-kumo-line`,children:a.map(e=>(0,Q.jsx)(pr,{component:e,isEditing:ge===e.id,allGroups:_,onStartEdit:je,onCancelEdit:Me,onSave:Pe,onStatusChange:q,onDelete:be},e.id))})})})})]})},it=ue??De,at=it.filter(e=>e.group!==null),ot=it.find(e=>e.group===null),st=(0,Q.jsx)(Mn,{sensors:Qe,collisionDetection:We,onDragEnd:nt,children:(0,Q.jsx)(Qn,{items:at.map(e=>e.group.id),strategy:Jn,children:(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[at.map(e=>(0,Q.jsx)(hr,{id:e.group.id,children:rt(e)},e.group.id)),ot&&(0,Q.jsx)(te,{className:`overflow-hidden rounded-lg`,children:rt(ot)})]})})}),ct=h.length;return s?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,Q.jsx)(C,{size:32})}):d&&!a?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(O,{title:`Components`}),(0,Q.jsxs)(b,{variant:`error`,children:[`Failed to load components.`,` `,(0,Q.jsx)(`button`,{type:`button`,onClick:()=>void p(),className:`underline hover:no-underline`,children:`Retry`})]})]}):(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(O,{title:`Components`,actions:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(g,{variant:`ghost`,onClick:()=>he(!0),children:[(0,Q.jsx)(u,{size:16,"aria-hidden":`true`}),`Group`]}),(0,Q.jsxs)(g,{onClick:()=>L(!0),children:[(0,Q.jsx)(u,{size:16,"aria-hidden":`true`}),`Component`]})]})}),(0,Q.jsx)(b,{variant:`alert`,className:`mb-4`,children:`Component statuses are normally managed through incidents or integrations. Changing component statuses manually may cause forgotten non-operational states or be overridden by integrations or incidents.`}),(0,Q.jsxs)(`div`,{className:`relative mb-4`,children:[(0,Q.jsx)(i,{"aria-hidden":`true`,className:`pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-kumo-subtle`}),(0,Q.jsx)(S,{type:`text`,value:x,onChange:e=>le(e.target.value),placeholder:`Search components...`,"aria-label":`Search components`,className:`w-full pl-10`})]}),De.length===0?(0,Q.jsx)(te,{className:`rounded-lg px-6 py-8`,children:(0,Q.jsx)(T,{size:`sm`,icon:(0,Q.jsx)(l,{size:40,className:`text-kumo-inactive`,"aria-hidden":`true`}),title:x?`No components match your search`:`No components`,...x?{}:{description:`Add a component to start tracking service status.`}})}):st,ct>0&&(0,Q.jsxs)(`p`,{className:`mt-3 text-xs text-kumo-subtle`,children:[ct,` component`,ct===1?``:`s`,` in`,` `,_.length,` group`,_.length===1?``:`s`]}),(0,Q.jsx)(y.Root,{open:I,onOpenChange:e=>{L(e),e||(de(``),pe(``),B($.value))},children:(0,Q.jsxs)(y,{size:`sm`,className:`p-6`,children:[(0,Q.jsx)(y.Title,{children:`Add Component`}),(0,Q.jsx)(y.Description,{className:`mt-2 text-sm text-kumo-subtle`,children:`Create a new component to track on the status page.`}),(0,Q.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,Q.jsx)(S,{label:`Name`,type:`text`,value:R,onChange:e=>de(e.target.value),placeholder:`e.g., API Gateway`,onKeyDown:e=>{e.key===`Enter`&&R.trim()&&Ae()}}),(0,Q.jsx)(S,{label:`Description`,type:`text`,value:fe,onChange:e=>pe(e.target.value),placeholder:`Optional description`}),(0,Q.jsx)(v,{label:`Group`,hideLabel:!1,value:z,items:Oe,onValueChange:e=>{e&&B(e)},children:(0,Q.jsx)(ur,{allGroups:_,showUngrouped:!0})})]}),(0,Q.jsxs)(`div`,{className:`mt-6 flex justify-end gap-3`,children:[(0,Q.jsx)(y.Close,{render:({className:e,...t})=>(0,Q.jsx)(g,{...t,...e===void 0?{}:{className:e},variant:`ghost`,disabled:ke.loading,children:`Cancel`})}),(0,Q.jsx)(g,{onClick:Ae,loading:ke.loading,disabled:!R.trim(),children:`Create`})]})]})}),(0,Q.jsx)(y.Root,{open:me,onOpenChange:e=>{he(e),e||H(``)},children:(0,Q.jsxs)(y,{size:`sm`,className:`p-6`,children:[(0,Q.jsx)(y.Title,{children:`Add Component Group`}),(0,Q.jsx)(y.Description,{className:`mt-2 text-sm text-kumo-subtle`,children:`Groups organize related components together on the status page.`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:(0,Q.jsx)(S,{label:`Name`,type:`text`,value:V,onChange:e=>H(e.target.value),placeholder:`e.g., Core Infrastructure`,onKeyDown:e=>{e.key===`Enter`&&V.trim()&&Be()}})}),(0,Q.jsxs)(`div`,{className:`mt-6 flex justify-end gap-3`,children:[(0,Q.jsx)(y.Close,{render:({className:e,...t})=>(0,Q.jsx)(g,{...t,...e===void 0?{}:{className:e},variant:`ghost`,disabled:ze.loading,children:`Cancel`})}),(0,Q.jsx)(g,{onClick:Be,loading:ze.loading,disabled:!V.trim(),children:`Create`})]})]})}),(0,Q.jsx)(j,{open:U!==null,onOpenChange:e=>{e||be(null)},title:`Delete component`,description:`Are you sure you want to delete "${U?.n
5ame??``}"? This cannot be undone from the admin UI.`,confirmLabel:`Delete`,onConfirm:J,loading:Ie.loading}),(0,Q.jsx)(j,{open:W!==null,onOpenChange:e=>{e||xe(null)},title:`Delete component group`,description:`Are you sure you want to delete "${W?.name??``}"? The group must have no components. Reassign or delete its components first.`,confirmLabel:`Delete`,onConfirm:qe,loading:Ke.loading})]})}export{gr as Components};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.