pipe-kan 0.20.4 → 0.20.5
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/dist/pipe-kan.js
CHANGED
|
@@ -324,6 +324,9 @@ function resolveJiraBin(bin = process.env.JIRA_BIN ?? "jira", pathVar = process.
|
|
|
324
324
|
function createJiraCli(opts = {}) {
|
|
325
325
|
const bin = opts.bin ?? "jira";
|
|
326
326
|
const retryDelayMs = opts.retryDelayMs ?? 1000;
|
|
327
|
+
function fmt(args) {
|
|
328
|
+
return args.filter((arg) => arg !== "--raw").map((arg, i, all) => all[i - 1] === "-q" && arg.length > 48 ? `${arg.slice(0, 48)}…` : arg).join(" ");
|
|
329
|
+
}
|
|
327
330
|
function run(args) {
|
|
328
331
|
return new Promise((resolveRun, reject) => {
|
|
329
332
|
const env = { ...process.env };
|
|
@@ -349,23 +352,31 @@ function createJiraCli(opts = {}) {
|
|
|
349
352
|
for (let attempt = 0;attempt < RETRY_LIMIT; attempt++) {
|
|
350
353
|
if (result.code === 0 || !rateLimited(result.stderr || result.stdout))
|
|
351
354
|
return result;
|
|
355
|
+
const delay = retryDelayMs * 2 ** attempt;
|
|
356
|
+
console.log(`jira 429 retry ${delay}ms ${fmt(args)}`);
|
|
352
357
|
if (retryDelayMs) {
|
|
353
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
358
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
354
359
|
}
|
|
355
360
|
result = await run(args);
|
|
356
361
|
}
|
|
357
362
|
return result;
|
|
358
363
|
}
|
|
359
364
|
async function listOnce(args) {
|
|
365
|
+
const started = Date.now();
|
|
360
366
|
const result = await runRetry(args);
|
|
361
367
|
if (result.code !== 0) {
|
|
362
368
|
const text = result.stderr || result.stdout || "jira issue list failed";
|
|
363
|
-
if (emptyList(text))
|
|
369
|
+
if (emptyList(text)) {
|
|
370
|
+
console.log(`jira ${fmt(args)} -> 0 (${Date.now() - started}ms)`);
|
|
364
371
|
return [];
|
|
372
|
+
}
|
|
373
|
+
console.log(`jira ${fmt(args)} fail (${Date.now() - started}ms)`);
|
|
365
374
|
throw new Error(text);
|
|
366
375
|
}
|
|
367
376
|
const parsed = JSON.parse(result.stdout);
|
|
368
|
-
|
|
377
|
+
const page = Array.isArray(parsed) ? parsed : [];
|
|
378
|
+
console.log(`jira ${fmt(args)} -> ${page.length} (${Date.now() - started}ms)`);
|
|
379
|
+
return page;
|
|
369
380
|
}
|
|
370
381
|
async function listAll(args) {
|
|
371
382
|
if (hasPaginate(args)) {
|
|
@@ -394,6 +405,7 @@ function createJiraCli(opts = {}) {
|
|
|
394
405
|
if (page.length < LIST_PAGE)
|
|
395
406
|
break;
|
|
396
407
|
}
|
|
408
|
+
console.log(`jira ${fmt(args)} ${issues.length} total`);
|
|
397
409
|
return JSON.stringify(issues);
|
|
398
410
|
}
|
|
399
411
|
return {
|
|
@@ -598,19 +610,6 @@ function stampMissingEpic(board, epic) {
|
|
|
598
610
|
}
|
|
599
611
|
return board;
|
|
600
612
|
}
|
|
601
|
-
function stampRawParent(raw, epic) {
|
|
602
|
-
if (!Array.isArray(raw))
|
|
603
|
-
return [];
|
|
604
|
-
return raw.map((issue) => {
|
|
605
|
-
if (!issue || typeof issue !== "object")
|
|
606
|
-
return issue;
|
|
607
|
-
const current = issue;
|
|
608
|
-
const fields = current.fields;
|
|
609
|
-
if (!fields || typeof fields !== "object" || fields.parent)
|
|
610
|
-
return issue;
|
|
611
|
-
return { ...current, fields: { ...fields, parent: { key: epic } } };
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
613
|
function cardsOf(raw) {
|
|
615
614
|
if (!Array.isArray(raw))
|
|
616
615
|
return [];
|
|
@@ -659,38 +658,46 @@ function createApp(opts) {
|
|
|
659
658
|
async refresh(next) {
|
|
660
659
|
if (next !== undefined)
|
|
661
660
|
flags = next;
|
|
662
|
-
|
|
663
|
-
cli.list(flags),
|
|
664
|
-
cli.listEpics()
|
|
665
|
-
]);
|
|
666
|
-
const nextPayload = JSON.parse(issues);
|
|
667
|
-
const nextEpics = JSON.parse(epics);
|
|
668
|
-
const keys = issuesToBoard(nextEpics).epics.map((epic) => epic.key);
|
|
669
|
-
let nextChildren = [];
|
|
670
|
-
let nextHasCache = false;
|
|
671
|
-
let nextError;
|
|
661
|
+
console.log("Refresh");
|
|
672
662
|
try {
|
|
673
|
-
|
|
674
|
-
const
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
663
|
+
const issues = await cli.list(flags);
|
|
664
|
+
const epics = await cli.listEpics();
|
|
665
|
+
const nextPayload = JSON.parse(issues);
|
|
666
|
+
const nextEpics = JSON.parse(epics);
|
|
667
|
+
const keys = issuesToBoard(nextEpics).epics.map((epic) => epic.key);
|
|
668
|
+
const issueCount = Array.isArray(nextPayload) ? nextPayload.length : 0;
|
|
669
|
+
console.log(`Refresh listed ${issueCount} issues, ${keys.length} epics`);
|
|
670
|
+
let nextChildren = [];
|
|
671
|
+
let nextHasCache = false;
|
|
672
|
+
let nextError;
|
|
673
|
+
try {
|
|
674
|
+
nextChildren = JSON.parse(await cli.listChildren(keys));
|
|
675
|
+
const cards = cardsOf(nextChildren);
|
|
676
|
+
if (cards.length > 0 && !cards.some((card) => card.epic)) {
|
|
677
|
+
console.log(`Refresh children missing Epic keys; skip ${keys.length} per-Epic lists`);
|
|
678
|
+
nextChildren = [];
|
|
679
|
+
nextHasCache = false;
|
|
680
|
+
} else {
|
|
681
|
+
nextHasCache = true;
|
|
682
|
+
console.log(`Refresh children ${cards.length}`);
|
|
679
683
|
}
|
|
680
|
-
|
|
684
|
+
} catch (err) {
|
|
685
|
+
nextHasCache = false;
|
|
686
|
+
nextChildren = [];
|
|
687
|
+
nextError = err instanceof Error ? err.message : "Epic children list failed";
|
|
688
|
+
console.log("Refresh children failed", nextError);
|
|
681
689
|
}
|
|
682
|
-
|
|
690
|
+
payload = nextPayload;
|
|
691
|
+
epicsPayload = nextEpics;
|
|
692
|
+
childrenRaw = nextChildren;
|
|
693
|
+
hasChildrenCache = nextHasCache;
|
|
694
|
+
childrenError = nextError;
|
|
695
|
+
return app.board();
|
|
683
696
|
} catch (err) {
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
}
|
|
688
|
-
payload = nextPayload;
|
|
689
|
-
epicsPayload = nextEpics;
|
|
690
|
-
childrenRaw = nextChildren;
|
|
691
|
-
hasChildrenCache = nextHasCache;
|
|
692
|
-
childrenError = nextError;
|
|
693
|
-
return app.board();
|
|
697
|
+
const message = err instanceof Error ? err.message : "Refresh failed";
|
|
698
|
+
console.error("Refresh failed", message);
|
|
699
|
+
return { ...app.board(), error: message };
|
|
700
|
+
}
|
|
694
701
|
},
|
|
695
702
|
async children(epic) {
|
|
696
703
|
if (hasChildrenCache) {
|
|
@@ -904,6 +911,14 @@ function readBody(req) {
|
|
|
904
911
|
function pathOf(req) {
|
|
905
912
|
return new URL(req.url ?? "/", "http://127.0.0.1");
|
|
906
913
|
}
|
|
914
|
+
function reply(req, res, work) {
|
|
915
|
+
readBody(req).then(work).catch((err) => {
|
|
916
|
+
const message = err instanceof Error ? err.message : "request failed";
|
|
917
|
+
console.error(message);
|
|
918
|
+
if (!res.headersSent)
|
|
919
|
+
json(res, 500, { error: message });
|
|
920
|
+
});
|
|
921
|
+
}
|
|
907
922
|
function handleAppApi(req, res, app) {
|
|
908
923
|
const url = pathOf(req);
|
|
909
924
|
const method = (req.method ?? "GET").toUpperCase();
|
|
@@ -912,15 +927,14 @@ function handleAppApi(req, res, app) {
|
|
|
912
927
|
return true;
|
|
913
928
|
}
|
|
914
929
|
if (url.pathname === "/api/refresh" && method === "POST") {
|
|
915
|
-
|
|
930
|
+
reply(req, res, async (text) => {
|
|
916
931
|
const body = text ? JSON.parse(text) : {};
|
|
917
|
-
|
|
918
|
-
json(res, 200, board);
|
|
932
|
+
json(res, 200, await app.refresh(body.flags));
|
|
919
933
|
});
|
|
920
934
|
return true;
|
|
921
935
|
}
|
|
922
936
|
if (url.pathname === "/api/move" && method === "POST") {
|
|
923
|
-
|
|
937
|
+
reply(req, res, async (text) => {
|
|
924
938
|
const body = text ? JSON.parse(text) : {};
|
|
925
939
|
const result = await app.move(String(body.key ?? ""), String(body.status ?? ""));
|
|
926
940
|
json(res, result.ok ? 200 : 409, result);
|
|
@@ -928,14 +942,14 @@ function handleAppApi(req, res, app) {
|
|
|
928
942
|
return true;
|
|
929
943
|
}
|
|
930
944
|
if (url.pathname === "/api/epic" && method === "POST") {
|
|
931
|
-
|
|
945
|
+
reply(req, res, async (text) => {
|
|
932
946
|
const body = text ? JSON.parse(text) : {};
|
|
933
947
|
json(res, 200, await app.children(String(body.key ?? "")));
|
|
934
948
|
});
|
|
935
949
|
return true;
|
|
936
950
|
}
|
|
937
951
|
if (url.pathname === "/api/open" && method === "POST") {
|
|
938
|
-
|
|
952
|
+
reply(req, res, async (text) => {
|
|
939
953
|
const body = text ? JSON.parse(text) : {};
|
|
940
954
|
json(res, 200, await app.open(String(body.key ?? "")));
|
|
941
955
|
});
|
|
@@ -53,4 +53,4 @@ Error generating stack: `+e.message+`
|
|
|
53
53
|
To pick up a draggable item, press the space bar.
|
|
54
54
|
While dragging, use the arrow keys to move the item.
|
|
55
55
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
56
|
-
`},cg={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 lg(e){let{announcements:t=cg,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=sg}=e,{announce:a,announcement:o}=rg(),s=Uh(`DndLiveRegion`),[c,l]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{l(!0)},[]),ag((0,C.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=C.createElement(C.Fragment,null,C.createElement(tg,{id:r,value:i.draggable}),C.createElement(ng,{id:s,announcement:o}));return n?(0,de.createPortal)(u,n):u}var ug;(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`})(ug||={});function dg(){}function fg(e,t){return(0,C.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function pg(){var e=[...arguments];return(0,C.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var mg=Object.freeze({x:0,y:0});function hg(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function gg(e,t){let n=Xh(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function _g(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function vg(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function yg(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function bg(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var xg=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=yg(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=yg(r),o=i.reduce((e,t,r)=>e+hg(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(_g)};function Sg(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 Cg=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=Sg(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(vg)};function wg(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Tg(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:mg}function Eg(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 Dg=Eg(1);function Og(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]}}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 kg(e,t,n){let r=Og(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 Ag={ignoreTransform:!1};function jg(e,t){t===void 0&&(t=Ag);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ah(e).getComputedStyle(e);t&&(n=kg(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 Mg(e){return jg(e,{ignoreTransform:!0})}function Ng(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Pg(e,t){return t===void 0&&(t=Ah(e).getComputedStyle(e)),t.position===`fixed`}function Fg(e,t){t===void 0&&(t=Ah(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 Ig(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(jh(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Mh(i)||Nh(i)||n.includes(i))return n;let a=Ah(e).getComputedStyle(i);return i!==e&&Fg(i,a)&&n.push(i),Pg(i,a)?n:r(i.parentNode)}return e?r(e):n}function Lg(e){let[t]=Ig(e,1);return t??null}function Rg(e){return!Dh||!e?null:Oh(e)?e:kh(e)?jh(e)||e===Ph(e).scrollingElement?window:Mh(e)?e:null:null}function zg(e){return Oh(e)?e.scrollX:e.scrollLeft}function Bg(e){return Oh(e)?e.scrollY:e.scrollTop}function Vg(e){return{x:zg(e),y:Bg(e)}}var Hg;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Hg||={});function Ug(e){return!Dh||!e?!1:e===document.scrollingElement}function Wg(e){let t={x:0,y:0},n=Ug(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 Gg={x:.2,y:.2};function Kg(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Gg);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Wg(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=Hg.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Hg.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Hg.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Hg.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function qg(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 Jg(e){return e.reduce((e,t)=>Gh(e,Vg(t)),mg)}function Yg(e){return e.reduce((e,t)=>e+zg(t),0)}function Xg(e){return e.reduce((e,t)=>e+Bg(t),0)}function Zg(e,t){if(t===void 0&&(t=jg),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Lg(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Qg=[[`x`,[`left`,`right`],Yg],[`y`,[`top`,`bottom`],Xg]],$g=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=Ig(t),r=Jg(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Qg)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})}},e_=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 t_(e){let{EventTarget:t}=Ah(e);return e instanceof t?e:Ph(e)}function n_(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 r_;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(r_||={});function i_(e){e.preventDefault()}function a_(e){e.stopPropagation()}var o_;(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`})(o_||={});var s_={start:[o_.Space,o_.Enter],cancel:[o_.Esc],end:[o_.Space,o_.Enter,o_.Tab]},c_=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case o_.Right:return{...n,x:n.x+25};case o_.Left:return{...n,x:n.x-25};case o_.Down:return{...n,y:n.y+25};case o_.Up:return{...n,y:n.y-25}}},l_=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 e_(Ph(t)),this.windowListeners=new e_(Ah(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(r_.Resize,this.handleCancel),this.windowListeners.add(r_.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(r_.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Zg(n),t(mg)}handleKeyDown(e){if(Jh(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=s_,coordinateGetter:a=c_,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}:mg;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Kh(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}=Wg(n),p=qg(n),m={x:Math.min(i===o_.Right?p.right-p.width/2:p.right,Math.max(i===o_.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===o_.Down?p.bottom-p.height/2:p.bottom,Math.max(i===o_.Down?p.top:p.top+p.height/2,u.y))},h=i===o_.Right&&!s||i===o_.Left&&!c,g=i===o_.Down&&!l||i===o_.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===o_.Right&&e<=d.x||i===o_.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===o_.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===o_.Down&&e<=d.y||i===o_.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===o_.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Gh(Kh(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()}};l_.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=s_,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 u_(e){return!!(e&&`distance`in e)}function d_(e){return!!(e&&`delay`in e)}var f_=class{constructor(e,t,n){n===void 0&&(n=t_(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=Ph(i),this.documentListeners=new e_(this.document),this.listeners=new e_(n),this.windowListeners=new e_(Ah(i)),this.initialCoordinates=Xh(r)??mg,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(r_.Resize,this.handleCancel),this.windowListeners.add(r_.DragStart,i_),this.windowListeners.add(r_.VisibilityChange,this.handleCancel),this.windowListeners.add(r_.ContextMenu,i_),this.documentListeners.add(r_.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(d_(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(u_(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(r_.Click,a_,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(r_.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=Xh(e)??mg,s=Kh(n,o);if(!t&&a){if(u_(a)){if(a.tolerance!=null&&n_(s,a.tolerance))return this.handleCancel();if(n_(s,a.distance))return this.handleStart()}if(d_(a)&&n_(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===o_.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},p_={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},m_=class extends f_{constructor(e){let{event:t}=e,n=Ph(t.target);super(e,p_,n)}};m_.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 h_={move:{name:`mousemove`},end:{name:`mouseup`}},g_;(function(e){e[e.RightClick=2]=`RightClick`})(g_||={});var __=class extends f_{constructor(e){super(e,h_,Ph(e.event.target))}};__.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==g_.RightClick&&(r?.({event:n}),!0)}}];var v_={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},y_=class extends f_{constructor(e){super(e,v_)}static setup(){return window.addEventListener(v_.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(v_.move.name,e)};function e(){}}};y_.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 b_;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(b_||={});var x_;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(x_||={});function S_(e){let{acceleration:t,activator:n=b_.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=x_.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=w_({delta:d,disabled:!a}),[m,h]=Lh(),g=(0,C.useRef)({x:0,y:0}),_=(0,C.useRef)({x:0,y:0}),v=(0,C.useMemo)(()=>{switch(n){case b_.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case b_.DraggableRect:return i}},[n,i,c]),y=(0,C.useRef)(null),b=(0,C.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,C.useMemo)(()=>s===x_.TreeOrder?[...l].reverse():l,[s,l]);(0,C.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}=Kg(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 C_={x:{[Hg.Backward]:!1,[Hg.Forward]:!1},y:{[Hg.Backward]:!1,[Hg.Forward]:!1}};function w_(e){let{delta:t,disabled:n}=e,r=Vh(t);return zh(e=>{if(n||!r||!e)return C_;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Hg.Backward]:e.x[Hg.Backward]||i.x===-1,[Hg.Forward]:e.x[Hg.Forward]||i.x===1},y:{[Hg.Backward]:e.y[Hg.Backward]||i.y===-1,[Hg.Forward]:e.y[Hg.Forward]||i.y===1}}},[n,t,r])}function T_(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return zh(e=>t==null?null:r??e??null,[r,t])}function E_(e,t){return(0,C.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 D_;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(D_||={});var O_;(function(e){e.Optimized=`optimized`})(O_||={});var k_=new Map;function A_(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,C.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,C.useRef)(e),d=g(),f=Rh(d),p=(0,C.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,C.useRef)(null),h=zh(t=>{if(d&&!n)return k_;if(!t||t===k_||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 $g(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,C.useEffect)(()=>{u.current=e},[e]),(0,C.useEffect)(()=>{d||p()},[n,d]),(0,C.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,C.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 D_.Always:return!1;case D_.BeforeDragging:return n;default:return!n}}}function j_(e,t){return zh(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function M_(e,t){return j_(e,t)}function N_(e){let{callback:t,disabled:n}=e,r=Ih(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function P_(e){let{callback:t,disabled:n}=e,r=Ih(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function F_(e){return new $g(jg(e),e)}function I_(e,t,n){t===void 0&&(t=F_);let[r,i]=(0,C.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=N_({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=P_({callback:a});return Fh(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function L_(e){return Tg(e,j_(e))}var R_=[];function z_(e){let t=(0,C.useRef)(e),n=zh(n=>e?n&&n!==R_&&e&&t.current&&e.parentNode===t.current.parentNode?n:Ig(e):R_,[e]);return(0,C.useEffect)(()=>{t.current=e},[e]),n}function B_(e){let[t,n]=(0,C.useState)(null),r=(0,C.useRef)(e),i=(0,C.useCallback)(e=>{let t=Rg(e.target);t&&n(e=>e?(e.set(t,Vg(t)),new Map(e)):null)},[]);return(0,C.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Rg(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Vg(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=>{Rg(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,C.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Gh(e,t),mg):Jg(e):mg,[e,t])}function V_(e,t){t===void 0&&(t=[]);let n=(0,C.useRef)(null);return(0,C.useEffect)(()=>{n.current=null},t),(0,C.useEffect)(()=>{let t=e!==mg;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Kh(e,n.current):mg}function H_(e){(0,C.useEffect)(()=>{if(!Dh)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 U_(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function W_(e){return(0,C.useMemo)(()=>e?Ng(e):null,[e])}var G_=[];function K_(e,t){t===void 0&&(t=jg);let[n]=e,r=W_(n?Ah(n):null),[i,a]=(0,C.useState)(G_);function o(){a(()=>e.length?e.map(e=>Ug(e)?r:new $g(t(e),e)):G_)}let s=P_({callback:o});return Fh(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function q_(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Mh(t)?t:e}function J_(e){let{measure:t}=e,[n,r]=(0,C.useState)(null),i=P_({callback:(0,C.useCallback)(e=>{for(let{target:n}of e)if(Mh(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Bh((0,C.useCallback)(e=>{let n=q_(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,C.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Y_=[{sensor:m_,options:{}},{sensor:l_,options:{}}],X_={current:{}},Z_={draggable:{measure:Mg},droppable:{measure:Mg,strategy:D_.WhileDragging,frequency:O_.Optimized},dragOverlay:{measure:jg}},Q_=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}},$_={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Q_,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:dg},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Z_,measureDroppableContainers:dg,windowRect:null,measuringScheduled:!1},ev={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:dg,draggableNodes:new Map,over:null,measureDroppableContainers:dg},tv=(0,C.createContext)(ev),nv=(0,C.createContext)($_);function rv(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Q_}}}function iv(e,t){switch(t.type){case ug.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case ug.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 ug.DragEnd:case ug.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ug.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Q_(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case ug.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 Q_(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case ug.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Q_(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function av(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,C.useContext)(tv),a=Vh(r),o=Vh(n?.id);return(0,C.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Jh(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=$h(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function ov(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function sv(e){return(0,C.useMemo)(()=>({draggable:{...Z_.draggable,...e?.draggable},droppable:{...Z_.droppable,...e?.droppable},dragOverlay:{...Z_.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function cv(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,C.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Fh(()=>{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=Tg(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=Lg(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var lv=(0,C.createContext)({...mg,scaleX:1,scaleY:1}),uv;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(uv||={});var dv=(0,C.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Y_,collisionDetection:o=Cg,measuring:s,modifiers:c,...l}=e,[u,d]=(0,C.useReducer)(iv,void 0,rv),[f,p]=og(),[m,h]=(0,C.useState)(uv.Uninitialized),g=m===uv.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,C.useRef)({initial:null,translated:null}),w=(0,C.useMemo)(()=>_==null?null:{id:_,data:x?.data??X_,rect:S},[_,x]),T=(0,C.useRef)(null),[E,D]=(0,C.useState)(null),[O,ee]=(0,C.useState)(null),k=Rh(l,Object.values(l)),A=Uh(`DndDescribedBy`,t),j=(0,C.useMemo)(()=>b.getEnabled(),[b]),M=sv(s),{droppableRects:N,measureDroppableContainers:te,measuringScheduled:P}=A_(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),F=T_(v,_),ne=(0,C.useMemo)(()=>O?Xh(O):null,[O]),re=je(),ie=M_(F,M.draggable.measure);cv({activeNode:_==null?null:v.get(_),config:re.layoutShiftCompensation,initialRect:ie,measure:M.draggable.measure});let I=I_(F,M.draggable.measure,ie),L=I_(F?F.parentElement:null),R=(0,C.useRef)({activatorEvent:null,active:null,activeNode:F,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ae=b.getNodeFor(R.current.over?.id),z=J_({measure:M.dragOverlay.measure}),oe=z.nodeRef.current??F,se=g?z.rect??I:null,ce=!!(z.nodeRef.current&&z.rect),le=L_(ce?null:I),ue=W_(oe?Ah(oe):null),fe=z_(g?ae??F:null),pe=K_(fe),me=ov(c,{transform:{x:y.x-le.x,y:y.y-le.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:I,containerNodeRect:L,draggingNodeRect:se,over:R.current.over,overlayNodeRect:z.rect,scrollableAncestors:fe,scrollableAncestorRects:pe,windowRect:ue}),he=ne?Gh(ne,y):null,ge=B_(fe),_e=V_(ge),ve=V_(ge,[I]),ye=Gh(me,_e),be=se?Dg(se,me):null,xe=w&&be?o({active:w,collisionRect:be,droppableRects:N,droppableContainers:j,pointerCoordinates:he}):null,Se=bg(xe,`id`),[Ce,we]=(0,C.useState)(null),Te=wg(ce?me:Gh(me,ve),Ce?.rect??null,I),Ee=(0,C.useRef)(null),De=(0,C.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=v.get(T.current);if(!i)return;let a=e.nativeEvent,o=new n({active:T.current,activeNode:i,event:a,options:r,context:R,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,de.unstable_batchedUpdates)(()=>{r?.(i),h(uv.Initializing),d({type:ug.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),D(Ee.current),ee(a)})},onMove(e){d({type:ug.DragMove,coordinates:e})},onEnd:s(ug.DragEnd),onCancel:s(ug.DragCancel)});Ee.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=R.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===ug.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=ug.DragCancel)}T.current=null,(0,de.unstable_batchedUpdates)(()=>{d({type:e}),h(uv.Uninitialized),we(null),D(null),ee(null),Ee.current=null;let t=e===ug.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Oe=E_(a,(0,C.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,De(n,t))},[v,De]));H_(a),Fh(()=>{I&&m===uv.Initializing&&h(uv.Initialized)},[I,m]),(0,C.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=R.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:ye.x,y:ye.y},over:i};(0,de.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[ye.x,ye.y]),(0,C.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=R.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=k.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,de.unstable_batchedUpdates)(()=>{we(s),a?.(c),f({type:`onDragOver`,event:c})})},[Se]),Fh(()=>{R.current={activatorEvent:O,active:w,activeNode:F,collisionRect:be,collisions:xe,droppableRects:N,draggableNodes:v,draggingNode:oe,draggingNodeRect:se,droppableContainers:b,over:Ce,scrollableAncestors:fe,scrollAdjustedTranslate:ye},S.current={initial:se,translated:be}},[w,F,xe,be,v,oe,se,N,b,Ce,fe,ye]),S_({...re,delta:y,draggingRect:be,pointerCoordinates:he,scrollableAncestors:fe,scrollableAncestorRects:pe});let ke=(0,C.useMemo)(()=>({active:w,activeNode:F,activeNodeRect:I,activatorEvent:O,collisions:xe,containerNodeRect:L,dragOverlay:z,draggableNodes:v,droppableContainers:b,droppableRects:N,over:Ce,measureDroppableContainers:te,scrollableAncestors:fe,scrollableAncestorRects:pe,measuringConfiguration:M,measuringScheduled:P,windowRect:ue}),[w,F,I,O,xe,L,z,v,b,N,Ce,te,fe,pe,M,P,ue]),Ae=(0,C.useMemo)(()=>({activatorEvent:O,activators:Oe,active:w,activeNodeRect:I,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:Ce,measureDroppableContainers:te}),[O,Oe,w,I,d,A,v,Ce,te]);return C.createElement(ig.Provider,{value:p},C.createElement(tv.Provider,{value:Ae},C.createElement(nv.Provider,{value:ke},C.createElement(lv.Provider,{value:Te},i)),C.createElement(av,{disabled:n?.restoreFocus===!1})),C.createElement(lg,{...n,hiddenTextDescribedById:A}));function je(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),fv=(0,C.createContext)(null),pv=`button`,mv=`Draggable`;function hv(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Uh(mv),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,C.useContext)(tv),{role:p=pv,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,C.useContext)(g?lv:fv),[v,y]=Bh(),[b,x]=Bh(),S=U_(o,t),w=Rh(n);return Fh(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,C.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===pv?!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 gv(){return(0,C.useContext)(nv)}var _v=`Droppable`,vv={timeout:25};function yv(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Uh(_v),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,C.useContext)(tv),u=(0,C.useRef)({disabled:n}),d=(0,C.useRef)(!1),f=(0,C.useRef)(null),p=(0,C.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...vv,...i},_=Rh(h??r),v=P_({callback:(0,C.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]=Bh((0,C.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Rh(t);return(0,C.useEffect)(()=>{v&&y.current&&(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,C.useEffect)(()=>(s({type:ug.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:ug.UnregisterDroppable,key:a,id:r})),[r]),(0,C.useEffect)(()=>{n!==u.current.disabled&&(s({type:ug.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 bv(e){let{animation:t,children:n}=e,[r,i]=(0,C.useState)(null),[a,o]=(0,C.useState)(null),s=Vh(n);return!n&&!r&&s&&i(s),Fh(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),C.createElement(C.Fragment,null,n,r?(0,C.cloneElement)(r,{ref:o}):null)}var xv={x:0,y:0,scaleX:1,scaleY:1};function Sv(e){let{children:t}=e;return C.createElement(tv.Provider,{value:ev},C.createElement(lv.Provider,{value:xv},t))}var Cv={position:`fixed`,touchAction:`none`},wv=e=>Jh(e)?`transform 250ms ease`:void 0,Tv=(0,C.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=wv}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...Cv,width:s.width,height:s.height,top:s.top,left:s.left,transform:Zh.Transform.toString(d),transformOrigin:i&&r?gg(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return C.createElement(n,{className:o,style:f,ref:t},a)}),Ev=e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}},Dv={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Zh.Transform.toString(t)},{transform:Zh.Transform.toString(n)}]},sideEffects:Ev({styles:{active:{opacity:`0`}}})};function Ov(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return Ih((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=q_(a);if(!c)return;let{transform:l}=Ah(a).getComputedStyle(a),u=Og(l);if(!u)return;let d=typeof t==`function`?t:kv(t);return Zg(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function kv(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...Dv,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var Av=0;function jv(e){return(0,C.useMemo)(()=>{if(e!=null)return Av++,Av},[e])}var Mv=C.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=gv(),S=(0,C.useContext)(lv),w=jv(d?.id),T=ov(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:S,windowRect:x}),E=j_(f),D=Ov({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),O=E?g.setRef:void 0;return C.createElement(Sv,null,C.createElement(bv,{animation:D},d&&w?C.createElement(Tv,{key:w,id:d.id,ref:O,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:E,style:{zIndex:l,...i},transform:T},n):null))});function Nv(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Pv(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Fv(e){return e!==null&&e>=0}function Iv(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 Lv(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Rv=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Nv(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}},zv={scaleX:1,scaleY:1},Bv=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];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...zv}:null}let s=Vv(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...zv}:r<t&&r>=a?{x:0,y:o.height+s,...zv}:{x:0,y:0,...zv}};function Vv(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 Hv=`Sortable`,Uv=C.createContext({activeIndex:-1,containerId:Hv,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Rv,disabled:{draggable:!1,droppable:!1}});function Wv(e){let{children:t,id:n,items:r,strategy:i=Rv,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=gv(),d=Uh(Hv,n),f=s.rect!==null,p=(0,C.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,C.useRef)(p),v=!Iv(p,_.current),y=g!==-1&&h===-1||v,b=Lv(a);Fh(()=>{v&&m&&u(p)},[v,p,m,u]),(0,C.useEffect)(()=>{_.current=p},[p]);let x=(0,C.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Pv(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return C.createElement(Uv.Provider,{value:x},t)}var Gv=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Nv(n,r,i).indexOf(t)},Kv=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},qv={duration:200,easing:`ease`},Jv=`transform`,Yv=Zh.Transition.toString({property:Jv,duration:0,easing:`linear`}),Xv={roleDescription:`sortable`};function Zv(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,C.useState)(null),s=(0,C.useRef)(n);return Fh(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=jg(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,C.useEffect)(()=>{a&&o(null)},[a]),a}function Qv(e){let{animateLayoutChanges:t=Kv,attributes:n,disabled:r,data:i,getNewIndex:a=Gv,id:o,strategy:s,resizeObserverConfig:c,transition:l=qv}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,C.useContext)(Uv),y=$v(r,p),b=u.indexOf(o),x=(0,C.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,C.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:E,setNodeRef:D}=yv({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:O,activatorEvent:ee,activeNodeRect:k,attributes:A,setNodeRef:j,listeners:M,isDragging:N,over:te,setActivatorNodeRef:P,transform:F}=hv({id:o,data:x,attributes:{...Xv,...n},disabled:y.draggable}),ne=Eh(D,j),re=!!O,ie=re&&!m&&Fv(f)&&Fv(g),I=!_&&N,L=ie?(I&&ie?F:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,R=Fv(f)&&Fv(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ae=O?.id,z=(0,C.useRef)({activeId:ae,items:u,newIndex:R,containerId:d}),oe=u!==z.current.items,se=t({active:O,containerId:d,isDragging:N,isSorting:re,id:o,index:b,items:u,newIndex:z.current.newIndex,previousItems:z.current.items,previousContainerId:z.current.containerId,transition:l,wasDragging:z.current.activeId!=null}),ce=Zv({disabled:!se,index:b,node:T,rect:w});return(0,C.useEffect)(()=>{re&&z.current.newIndex!==R&&(z.current.newIndex=R),d!==z.current.containerId&&(z.current.containerId=d),u!==z.current.items&&(z.current.items=u)},[re,R,d,u]),(0,C.useEffect)(()=>{if(ae===z.current.activeId)return;if(ae!=null&&z.current.activeId==null){z.current.activeId=ae;return}let e=setTimeout(()=>{z.current.activeId=ae},50);return()=>clearTimeout(e)},[ae]),{active:O,activeIndex:f,attributes:A,data:x,rect:w,index:b,newIndex:R,items:u,isOver:E,isSorting:re,isDragging:N,listeners:M,node:T,overIndex:g,over:te,setNodeRef:ne,setActivatorNodeRef:P,setDroppableNodeRef:D,setDraggableNodeRef:j,transform:ce??L,transition:le()};function le(){if(ce||oe&&z.current.newIndex===b)return Yv;if(!(I&&!Jh(ee)||!l)&&(re||se))return Zh.Transition.toString({...l,property:Jv})}}function $v(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function ey(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var ty=[o_.Down,o_.Right,o_.Up,o_.Left],ny=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(ty.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case o_.Down:r.top<a.top&&t.push(n);break;case o_.Up:r.top>a.top&&t.push(n);break;case o_.Left:r.left>a.left&&t.push(n);break;case o_.Right:r.left<a.left&&t.push(n)}});let c=xg({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=bg(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Ig(c).some((e,t)=>s[t]!==e),i=ry(e,t),a=iy(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Kh(u,l)}}}};function ry(e,t){return!ey(e)||!ey(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function iy(e,t){return!ey(e)||!ey(t)||!ry(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var ay=(0,C.createContext)({columns:{},setColumns:()=>{},getItemId:()=>``,columnIds:[],activeId:null,setActiveId:()=>{},findContainer:()=>void 0,isColumn:()=>!1,modifiers:void 0}),oy=(0,C.createContext)({attributes:{},listeners:void 0,isDragging:!1,disabled:!1}),sy=(0,C.createContext)({listeners:void 0,isDragging:!1,disabled:!1}),cy=(0,C.createContext)(!1),ly=e=>Kv({...e,wasDragging:!0}),uy={sideEffects:Ev({styles:{active:{opacity:`0.4`}}})},dy=()=>()=>{},fy=()=>!0,py=()=>!1,my={activationConstraint:{distance:10}},hy={activationConstraint:{delay:250,tolerance:5}},gy={coordinateGetter:ny},_y={droppable:{strategy:D_.Always}};function vy({value:e,onValueChange:t,getItemValue:n,children:r,className:i,asChild:a=!1,onMove:o,onValueCommit:s,restoreOnCancel:c=!1,onDragStart:l,onDragEnd:u,onDragCancel:d,accessibility:f,modifiers:p,...m}){let h=e,g=t,[_,v]=(0,C.useState)(null),y=(0,C.useRef)(e),b=(0,C.useRef)(n);(0,C.useLayoutEffect)(()=>{y.current=e,b.current=n});let x=(0,C.useRef)(null),S=pg(fg(__,my),fg(y_,hy),fg(l_,gy)),w=(0,C.useMemo)(()=>Object.keys(h),[h,n]),T=(0,C.useCallback)(e=>w.includes(e),[w]),E=(0,C.useCallback)(e=>T(e)?e:w.find(t=>h[t].some(t=>n(t)===e)),[h,w,n,T]),D=(0,C.useCallback)((e,t,n)=>{if(!s)return;let r=x.current;if(!r)return;let i=t.active.id;if(n===`column`){let n=Object.keys(e).indexOf(i);if(n===-1||n===r.index)return;s(e,{kind:`column`,event:t,activeContainer:i,activeIndex:r.index,overContainer:String(t.over?.id??i),overIndex:n,previousValue:r.value});return}let a=b.current,o,c=-1;for(let t of Object.keys(e)){let n=e[t].findIndex(e=>a(e)===i);if(n!==-1){o=t,c=n;break}}o!==void 0&&(o!==r.container||c!==r.index)&&s(e,{kind:`item`,event:t,activeContainer:r.container??o,activeIndex:r.index,overContainer:o,overIndex:c,previousValue:r.value})},[s]),O=(0,C.useCallback)(e=>{if(v(e.active.id),l?.(e),s||c){let t=y.current,n=e.active.id,r=Object.keys(t);if(r.includes(n))x.current={value:t,container:n,index:r.indexOf(n)};else{let e=b.current,i,a=-1;for(let o of r){let r=t[o].findIndex(t=>e(t)===n);if(r!==-1){i=o,a=r;break}}x.current={value:t,container:i,index:a}}}},[l,s,c]),ee=(0,C.useCallback)(e=>{if(o)return;let{active:t,over:r}=e;if(!r||T(t.id))return;let i=E(t.id),a=E(r.id);if(i&&a){if(i!==a){let e=h[i],o=h[a],s=e.findIndex(e=>n(e)===t.id),c=o.findIndex(e=>n(e)===r.id);T(r.id)&&(c=o.length);let l=[...e],u=[...o],[d]=l.splice(s,1);u.splice(c,0,d),g({...h,[i]:l,[a]:u})}else{let e=i,a=h[e].findIndex(e=>n(e)===t.id),o=h[e].findIndex(e=>n(e)===r.id);a!==o&&g({...h,[e]:Nv(h[e],a,o)})}}},[E,n,T,g,h,o]),k=(0,C.useCallback)(e=>{let t=x.current;c&&t&&!o?g(t.value):s&&t&&!o&&D(y.current,e,`item`),x.current=null,v(null),d?.(e)},[c,o,s,g,d,D]),A=(0,C.useCallback)(e=>{let{active:t,over:r}=e;if(v(null),u?.(e),!r){D(y.current,e,`item`),x.current=null;return}if(o&&!T(t.id)){let i=E(t.id),a=E(r.id);i&&a&&o({event:e,activeContainer:i,activeIndex:h[i].findIndex(e=>n(e)===t.id),overContainer:a,overIndex:T(r.id)?h[a].length:h[a].findIndex(e=>n(e)===r.id)}),x.current=null;return}if(T(t.id)&&T(r.id)){let n=w.indexOf(t.id),i=w.indexOf(r.id);if(n!==i){let t=Nv(Object.keys(h),n,i),r={};t.forEach(e=>{r[e]=h[e]}),g(r),D(r,e,`column`)}x.current=null;return}if(T(t.id)){x.current=null;return}let i=E(t.id),a=E(r.id);if(i&&a&&i===a){let a=i,o=h[a].findIndex(e=>n(e)===t.id),s=h[a].findIndex(e=>n(e)===r.id);if(o!==s){let t={...h,[a]:Nv(h[a],o,s)};g(t),D(t,e,`item`)}else D(h,e,`item`)}else D(h,e,`item`);x.current=null},[w,h,E,n,T,g,o,u,D]),j=(0,C.useMemo)(()=>({columns:h,setColumns:g,getItemId:n,columnIds:w,activeId:_,setActiveId:v,findContainer:E,isColumn:T,modifiers:p}),[h,g,n,w,_,E,T,p]),M=a?Rr:`div`;return(0,W.jsx)(ay.Provider,{value:j,children:(0,W.jsx)(dv,{sensors:S,modifiers:p,accessibility:f,measuring:_y,onDragStart:O,onDragOver:ee,onDragEnd:A,onDragCancel:k,children:(0,W.jsx)(M,{"data-slot":`kanban`,"data-dragging":_!==null,className:U(_!==null&&`cursor-grabbing!`,i),...m,children:r})})})}function yy({className:e,asChild:t=!1,children:n,...r}){let{columnIds:i}=(0,C.useContext)(ay);return(0,W.jsx)(Wv,{items:i,strategy:Rv,children:(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-board`,className:U(`grid auto-rows-fr gap-4`,e),...r,children:n})})}function by({value:e,className:t,asChild:n=!1,disabled:r,children:i,...a}){let o=(0,C.useContext)(cy),{setNodeRef:s,transform:c,transition:l,attributes:u,listeners:d,isDragging:f}=Qv({id:e,disabled:r||o,animateLayoutChanges:ly}),{activeId:p,isColumn:m}=(0,C.useContext)(ay),h=p?m(p):!1,g={transition:l,transform:Zh.Transform.toString(c)},_=n?Rr:`div`;return o?(0,W.jsx)(oy.Provider,{value:{attributes:{},listeners:void 0,isDragging:!0,disabled:!1},children:(0,W.jsx)(_,{"data-slot":`kanban-column`,"data-value":e,"data-dragging":!0,className:U(`group/kanban-column flex flex-col`,t),...a,children:i})}):(0,W.jsx)(oy.Provider,{value:{attributes:u,listeners:d,isDragging:h,disabled:r},children:(0,W.jsx)(_,{"data-slot":`kanban-column`,"data-value":e,"data-dragging":f,"data-disabled":r,ref:s,style:g,className:U(`group/kanban-column flex flex-col`,f&&`z-50 opacity-50`,r&&`opacity-50`,t),...a,children:i})})}function xy({className:e,asChild:t=!1,cursor:n=!0,children:r,...i}){let{attributes:a,listeners:o,isDragging:s,disabled:c}=(0,C.useContext)(oy);return(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-column-handle`,"data-dragging":s,"data-disabled":c,...a,...o,className:U(`opacity-0 transition-opacity group-hover/kanban-column:opacity-100`,n&&(s?`cursor-grabbing!`:`cursor-grab!`),e),...i,children:r})}function Sy({value:e,className:t,asChild:n=!1,disabled:r,children:i,...a}){let o=(0,C.useContext)(cy),{setNodeRef:s,transform:c,transition:l,attributes:u,listeners:d,isDragging:f}=Qv({id:e,disabled:r||o,animateLayoutChanges:ly}),{activeId:p,isColumn:m}=(0,C.useContext)(ay),h=p?!m(p):!1,g={transition:l,transform:Zh.Transform.toString(c)},_=n?Rr:`div`;return o?(0,W.jsx)(sy.Provider,{value:{listeners:void 0,isDragging:!0,disabled:!1},children:(0,W.jsx)(_,{"data-slot":`kanban-item`,"data-value":e,"data-dragging":!0,className:U(t),...a,children:i})}):(0,W.jsx)(sy.Provider,{value:{listeners:d,isDragging:h,disabled:r},children:(0,W.jsx)(_,{"data-slot":`kanban-item`,"data-value":e,"data-dragging":f,"data-disabled":r,ref:s,style:g,...u,className:U(f&&`z-50 opacity-50`,r&&`opacity-50`,t),...a,children:i})})}function Cy({className:e,asChild:t=!1,cursor:n=!0,children:r,...i}){let{listeners:a,isDragging:o,disabled:s}=(0,C.useContext)(sy);return(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-item-handle`,"data-dragging":o,"data-disabled":s,...a,className:U(n&&(o?`cursor-grabbing!`:`cursor-grab!`),e),...i,children:r})}function wy({value:e,className:t,asChild:n=!1,children:r,...i}){let{columns:a,getItemId:o}=(0,C.useContext)(ay),s=(0,C.useMemo)(()=>{let t=a[e];if(!t)throw Error(`KanbanColumnContent: column "${e}" was not found in the Kanban value. Available columns: ${Object.keys(a).join(`, `)||`(none)`}.`);return t.map(o)},[a,o,e]);return(0,W.jsx)(Wv,{items:s,strategy:Bv,children:(0,W.jsx)(n?Rr:`div`,{"data-slot":`kanban-column-content`,className:U(`flex flex-col gap-2`,t),...i,children:r})})}function Ty({children:e,className:t,...n}){let{activeId:r,isColumn:i,modifiers:a}=(0,C.useContext)(ay),o=(0,C.useSyncExternalStore)(dy,fy,py),s=r&&i(r)?`column`:`item`,c=r&&e?typeof e==`function`?e({value:r,variant:s}):e:null;return o?(0,de.createPortal)((0,W.jsx)(Mv,{dropAnimation:uy,modifiers:a,className:U(`z-50`,r&&`cursor-grabbing`,t),...n,children:(0,W.jsx)(cy.Provider,{value:!0,children:c})}),document.body):null}function Ey({className:e,type:t,...n}){return(0,W.jsx)(`input`,{type:t,"data-slot":`input`,className:U(`border-input focus-visible:border-ring focus-visible:ring-ring/50 h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`placeholder:text-muted-foreground`,e),...n})}function Dy({className:e,...t}){return(0,W.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:U(`group/input-group border-input dark:bg-input/30 relative flex h-9 w-full min-w-0 items-center rounded-md border shadow-xs outline-none`,`has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]`,e),...t})}var Oy=wr(`text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm select-none [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-3`,"inline-end":`order-last pr-3`}},defaultVariants:{align:`inline-start`}});function ky({className:e,align:t=`inline-start`,...n}){return(0,W.jsx)(`div`,{"data-slot":`input-group-addon`,className:U(Oy({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function Ay({className:e,...t}){return(0,W.jsx)(Ey,{"data-slot":`input-group-control`,className:U(`flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent`,e),...t})}var jy=`collapsed-columns`,My=`collapsed-epic-statuses`,Ny=`collapsed-favourite-folders`,Py=`board-chrome`,Fy=`board-opener`,Iy=`favourite-epics`,Ly=`board-presets`,Ry=[`In Progress`,`Completed`,`Cancelled`,`Canceled`],zy={filter:{},sort:`payload`,hide:[]},By={keys:[],folders:[]};function Vy(e=jy,t=[]){try{let n=localStorage.getItem(e);if(n===null)return new Set(t);let r=JSON.parse(n);return new Set(Array.isArray(r)?r.filter(e=>typeof e==`string`):t)}catch{return new Set(t)}}function Hy(e,t=jy){localStorage.setItem(t,JSON.stringify([...e]))}function Uy(e,t){let n=t.toLowerCase();return[...e].some(e=>e.toLowerCase()===n)}function Wy(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))n!==`priorities`&&n!==`assignees`&&Array.isArray(r)&&(t[n]=r.filter(e=>typeof e==`string`));return Array.isArray(e.priorities)&&!t.priority&&(t.priority=e.priorities.filter(e=>typeof e==`string`)),Array.isArray(e.assignees)&&!t.assignee&&(t.assignee=e.assignees.filter(e=>typeof e==`string`)),t}function Gy(){try{let e=localStorage.getItem(Py);if(e===null)return zy;let t=JSON.parse(e);return{filter:Wy(t.filter),sort:t.sort===`priority`||t.sort===`age`||t.sort===`due`||t.sort===`key`?t.sort:`payload`,hide:Array.isArray(t.hide)?t.hide.filter(e=>typeof e==`string`):[]}}catch{return zy}}function Ky(e){localStorage.setItem(Py,JSON.stringify(e))}function qy(){try{let e=localStorage.getItem(Iy);if(e===null)return By;let t=JSON.parse(e);if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return{keys:t,folders:[]};if(t&&typeof t==`object`){let e=t;return{keys:Array.isArray(e.keys)?e.keys.filter(e=>typeof e==`string`):[],folders:Array.isArray(e.folders)?e.folders.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.name!=`string`||!t.name.trim()?[]:[{name:t.name,keys:Array.isArray(t.keys)?t.keys.filter(e=>typeof e==`string`):[]}]}):[]}}return By}catch{return By}}function Jy(e){localStorage.setItem(Iy,JSON.stringify(e))}function Yy(){try{let e=localStorage.getItem(Ly);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.name!=`string`||!t.name.trim()?[]:[{name:t.name,filter:Wy(t.filter),sort:t.sort===`priority`||t.sort===`age`||t.sort===`due`||t.sort===`key`?t.sort:`payload`,hide:Array.isArray(t.hide)?t.hide.filter(e=>typeof e==`string`):[]}]}):[]}catch{return[]}}function Xy(e){localStorage.setItem(Ly,JSON.stringify(e))}function Zy(){try{return localStorage.getItem(Fy)===`epics`?`epics`:`stories`}catch{return`stories`}}function Qy(e){localStorage.setItem(Fy,e)}function $y(e,t){let n=[{label:`Key`,value:e.key},{label:`Summary`,value:e.summary}];return t&&n.push({label:`Jira URL`,value:t}),e.priority&&n.push({label:`Priority`,value:e.priority}),e.assignee&&n.push({label:`Assignee`,value:e.assignee}),e.dueDate&&n.push({label:`Due date`,value:e.dueDate}),e.labels?.length&&n.push({label:`Labels`,value:e.labels.join(`, `),pills:e.labels}),n}async function eb(e,t){return(await fetch(e,{headers:{"content-type":`application/json`},...t})).json()}function tb(e){return Object.fromEntries(e.map(e=>[e.title,e.cards]))}function nb(){return typeof document>`u`?`light`:document.documentElement.classList.contains(`dark`)?`dark`:`light`}function rb(e){document.documentElement.classList.toggle(`dark`,e===`dark`),localStorage.setItem(`theme`,e)}var ib={done:`green`,complete:`green`,completed:`green`,closed:`green`,resolved:`green`,progress:`yellow`,review:`yellow`,doing:`yellow`,cancelled:`gray`,canceled:`gray`};function ab(e){if(!e)return`var(--primary)`;let t=e.toLowerCase(),n=Object.keys(ib).find(e=>t.includes(e));return`var(--kanban-board-circle-${n?ib[n]:`gray`})`}function ob(e){let t=(e??``).toLowerCase();return t===`high`||t===`highest`||t===`critical`?`text-red-500`:t===`medium`?`text-orange-400`:`text-yellow-500`}function sb(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function cb(e){let t=[];for(let n of e){let e=t.at(-1);n.group&&e?.group===n.group?e.facets.push(n):t.push({group:n.group,facets:[n]})}return t}function lb({facet:e,selected:t,onToggle:n}){return(0,W.jsxs)(W.Fragment,{children:[e.label===e.group?null:(0,W.jsx)(Mf,{children:e.label}),e.values.map(e=>(0,W.jsx)(Pf,{checked:t.includes(e),onCheckedChange:()=>n(e),children:e},e))]})}function ub({facets:e,filter:t,onToggle:n,onClear:r}){let[i,a]=(0,C.useState)({});return(0,W.jsxs)(jf,{align:`end`,className:`w-56`,children:[cb(e).map((e,r)=>{let o=e.facets.map(e=>(0,W.jsx)(lb,{facet:e,selected:t[e.key]??[],onToggle:t=>n(e.key,t)},e.key));return(0,W.jsxs)(C.Fragment,{children:[r>0?(0,W.jsx)(Lf,{}):null,e.group?(0,W.jsxs)(ph,{open:i[e.group]!==!1,onOpenChange:t=>a(n=>({...n,[e.group]:t})),className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex w-full items-center gap-1.5 px-2 py-1.5 text-left text-[11px] font-medium`,onPointerDown:e=>e.preventDefault(),children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,i[e.group]===!1&&`-rotate-90`)}),e.group]})}),(0,W.jsx)(hh,{className:`flex flex-col`,children:o})]}):o]},e.group??e.facets[0]?.key)}),e.length?(0,W.jsx)(Lf,{}):null,(0,W.jsx)(Nf,{onClick:r,children:`Clear Filter, Sort, and Hide`})]})}function db({card:e,asHandle:t,isOverlay:n,disabled:r,onOpen:i}){let a=We(e.created),o=(0,W.jsxs)(`div`,{className:`bg-card hover:bg-foreground/5 rounded-[9px] border px-3 pt-2 pb-3`,children:[(0,W.jsxs)(`div`,{className:`flex h-[22px] items-center justify-between gap-2`,children:[(0,W.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] font-medium tabular-nums`,children:e.key}),(e.type??``).toLowerCase()===`epic`?(0,W.jsx)(`span`,{className:`text-muted-foreground/60 text-[11px] font-normal`,children:`Epic`}):null]}),a?(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] tabular-nums`,children:a}):null]}),(0,W.jsx)(`p`,{className:`mt-0.5 truncate text-[13px] leading-[18px]`,children:e.summary}),e.priority||e.labels?.length||e.assignee||e.dueDate?(0,W.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-2 pt-2`,children:[e.priority?(0,W.jsx)(`span`,{className:U(`inline-flex h-6 shrink-0 items-center rounded-full border px-2 text-[12px] font-medium capitalize`,ob(e.priority)),children:e.priority}):null,e.labels?.map(e=>(0,W.jsx)(`span`,{className:`text-muted-foreground inline-flex h-6 shrink-0 items-center rounded-full border px-2 text-[12px]`,children:e},e)),(0,W.jsx)(`span`,{className:`flex-1`}),e.dueDate?(0,W.jsx)(`time`,{className:`text-muted-foreground shrink-0 text-[11px] tabular-nums`,children:e.dueDate}):null,e.assignee?(0,W.jsx)(br,{title:e.assignee,children:(0,W.jsx)(xr,{children:e.assignee.charAt(0)})}):null]}):null]});return(0,W.jsx)(Sy,{value:e.key,disabled:r,children:t&&!n?(0,W.jsx)(Cy,{onClick:i,children:o}):o})}function fb({title:e,cards:t,isOverlay:n,disabled:r,onOpen:i,onHide:a}){let[o,s]=(0,C.useState)(()=>n||!Vy().has(e));function c(t){if(s(t),n)return;let r=Vy();t?r.delete(e):r.add(e),Hy(r)}return(0,W.jsx)(by,{value:e,className:`group h-full min-h-0`,children:(0,W.jsx)(ph,{open:o,onOpenChange:c,className:U(`flex h-full min-h-0 flex-col`,!o&&`h-auto`),children:(0,W.jsxs)(`div`,{className:U(`flex flex-col`,o?`h-full min-h-0`:`h-auto`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pt-[13px] pb-5`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,W.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full`,style:{backgroundColor:ab(e)}}),(0,W.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] tabular-nums`,children:t.length}),(0,W.jsx)(j,{className:U(`text-muted-foreground size-3.5 shrink-0 transition-transform`,!o&&`-rotate-90`)})]})}),a?(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Hide ${e}`,onClick:a,children:(0,W.jsx)(F,{})}):null,(0,W.jsx)(xy,{className:`opacity-0 transition-opacity group-hover:opacity-60`,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,tabIndex:-1,type:`button`,children:(0,W.jsx)(ne,{})})})]}),(0,W.jsx)(hh,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,W.jsx)(wy,{value:e,className:`flex h-full flex-col gap-2 overflow-auto px-2 pb-2`,children:t.map(e=>(0,W.jsx)(db,{card:e,asHandle:!n,isOverlay:n,disabled:r,onOpen:()=>i?.(e.key)},e.key))})})]})})})}function pb(e,t){return[...new Set(e.map(e=>e.status?.trim()).filter(e=>!!e))].filter(e=>e!==t)}function mb({epic:e,selected:t,count:n,favourited:r,folders:i,moveTo:a,onSelect:o,onToggleFavourite:s,onFile:c,onMove:l,onOpen:u}){let d=a??[],f=!!(c&&r),p=!!u||f||d.length>0;return(0,W.jsxs)(`div`,{className:U(`flex h-14 w-full items-center gap-1 rounded-lg pr-1`,t?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),children:[(0,W.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-3 px-3 text-left`,onClick:()=>void o(e.key),children:[(0,W.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{backgroundColor:ab(e.status)}}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] leading-[18px]`,children:e.summary}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] font-medium tabular-nums`,children:e.key}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] tabular-nums`,children:n})]}),p?(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":f?`File ${e.key}`:d.length?`Move ${e.key}`:`Open ${e.key}`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`end`,children:[u?(0,W.jsx)(Nf,{onClick:()=>u(e.key),children:`Open`}):null,f?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Nf,{onClick:()=>c?.(e.key,null),children:`Unfiled`}),i?.map(t=>(0,W.jsx)(Nf,{onClick:()=>c?.(e.key,t),children:t},t))]}):null,f&&d.length?(0,W.jsxs)(Rf,{children:[(0,W.jsx)(zf,{children:`Move`}),(0,W.jsx)(Bf,{children:d.map(t=>(0,W.jsx)(Nf,{onClick:()=>l?.(e.key,t),children:t},t))})]}):null,f?null:d.map(t=>(0,W.jsx)(Nf,{onClick:()=>l?.(e.key,t),children:t},t))]})]}):null,(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":r?`Unfavourite ${e.key}`:`Favourite ${e.key}`,onClick:t=>{t.stopPropagation(),s(e.key)},children:(0,W.jsx)(oe,{className:U(r&&`fill-current`)})})]})}function hb({status:e,epics:t,selectedEpic:n,childCount:r,favourites:i,listedEpics:a,onSelect:o,onToggleFavourite:s,onMove:c,onOpen:l}){let[u,d]=(0,C.useState)(()=>!Uy(Vy(My,Ry),e));function f(t){d(t);let n=Vy(My,Ry);if(t)for(let t of[...n])t.toLowerCase()===e.toLowerCase()&&n.delete(t);else n.add(e);Hy(n,My)}return(0,W.jsxs)(ph,{open:u,onOpenChange:f,className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 items-center gap-1.5 px-3 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!u&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:e}),(0,W.jsx)(`span`,{className:`text-[11px] tabular-nums`,children:t.length})]})}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:t.map(e=>(0,W.jsx)(mb,{epic:e,selected:n===e.key,count:r(e.key),favourited:i.keys.includes(e.key),onSelect:o,onToggleFavourite:s,moveTo:pb(a,e.status),onMove:c,onOpen:l},e.key))})]})}function gb({fields:e}){return(0,W.jsx)(`dl`,{className:`flex flex-col gap-3 p-4 text-[13px]`,children:e.map(e=>(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`dt`,{className:`text-muted-foreground text-[11px] font-medium`,children:e.label}),(0,W.jsx)(`dd`,{className:`whitespace-pre-wrap`,children:e.label===`Jira URL`?(0,W.jsx)(`a`,{className:`text-foreground font-medium underline-offset-4 hover:underline`,href:e.value,target:`_blank`,rel:`noreferrer`,children:e.value}):e.pills?.length?(0,W.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:e.pills.map(e=>(0,W.jsx)(`span`,{className:`text-muted-foreground inline-flex h-6 items-center rounded-full border px-2 text-[12px]`,children:e},e))}):e.value})]},e.label))})}function _b(){let[e,t]=(0,C.useState)({}),[n,r]=(0,C.useState)([]),[i,a]=(0,C.useState)(null),[o,s]=(0,C.useState)(!1),[c,l]=(0,C.useState)(null),[u,d]=(0,C.useState)(null),[f,p]=(0,C.useState)(null),[m,h]=(0,C.useState)([]),[g,_]=(0,C.useState)(``),[v,y]=(0,C.useState)(``),[b,x]=(0,C.useState)(``),[S,w]=(0,C.useState)(``),[T,E]=(0,C.useState)(!1),[D,ee]=(0,C.useState)(nb),[A,j]=(0,C.useState)(Gy),[M,te]=(0,C.useState)(qy),[P,F]=(0,C.useState)(Yy),[ne,ie]=(0,C.useState)(``),[R,ae]=(0,C.useState)(``),[z,oe]=(0,C.useState)(``),[ce,ue]=(0,C.useState)(``),[de,fe]=(0,C.useState)(Zy),pe=(0,C.useRef)(null),[me,he]=(0,C.useState)(null),[ge,_e]=(0,C.useState)(!1),ve=(0,C.useRef)(!1),ye=(0,C.useRef)(null),be={...A,epics:n},xe=de===`epics`,Se=(0,C.useMemo)(()=>pt(xe?e:ft(e,me?.children,b),xe?null:c,b,be),[e,c,b,A,n,xe,me]),Ce=(0,C.useMemo)(()=>Object.values(e).flat(),[e]),we=i??Ce,Te=(0,C.useMemo)(()=>{let e=new Map;for(let t of me?.columns.flatMap(e=>e.cards)??[])e.set(t.key,t);for(let t of we)e.has(t.key)||e.set(t.key,t);return[...e.values()]},[me,we]),Ee=(0,C.useMemo)(()=>yt(n,we,b,A.filter),[n,we,b,A.filter]),De=(0,C.useMemo)(()=>bt(Ee),[Ee]),ke=(0,C.useMemo)(()=>Tt(n,M,b,we,A.filter),[n,M,b,we,A.filter]),Ae=Object.keys(Se),je=u?[`cards`,`open`]:[`cards`],Me=Bm({id:`shell`,panelIds:[`epics`,`board`],onlySaveAfterUserInteractions:!0}),Ne=Bm({id:`board-open`,panelIds:je,onlySaveAfterUserInteractions:!0}),Pe=Bm({id:`columns`,panelIds:Ae,onlySaveAfterUserInteractions:!0}),Fe=f?Ke(f,window.location.origin):null,Ie=ot(Ce,n),Le=Object.keys(e),Re=ke.unfiled.length>0||ke.folders.length>0;function ze(e){j(e),Ky(e)}function Be(e){te(e),Jy(e)}function Ve(e){F(e),Xy(e)}function He(e,n){pe.current=e,he(e);let i=e.epics??[];t(tb(n===`epics`?Ge(i):e.columns)),r(i),a(e.children?Object.values(e.children).flat():null),e.error&&w(e.error)}function Ue(e){pe.current=e,he(e);let n=e.epics??[];t(tb(de===`epics`?Ge(n):e.columns)),r(n),a(e.children?Object.values(e.children).flat():null),l(t=>t&&(e.epics??[]).some(e=>e.key===t)?t:null),e.error&&w(e.error)}async function We(){let e=await eb(`/api/board`);Ue(e),e.flags&&y(e.flags)}(0,C.useEffect)(()=>{We()},[]),(0,C.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey&&e.key.toLowerCase()===`k`){if(e.preventDefault(),ve.current){ve.current=!1,_e(!1),ye.current?.focus();return}ye.current=document.activeElement instanceof HTMLElement?document.activeElement:null,ve.current=!0,_e(!0);return}e.key===`Escape`&&ve.current&&(e.preventDefault(),ve.current=!1,_e(!1),ye.current?.focus())}return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);async function qe(){E(!0),w(``);let e=Oe.loading(`Refreshing…`,{description:`Listing Issues and Epics`});try{let t=await eb(`/api/refresh`,{method:`POST`,body:JSON.stringify({flags:v})});Ue(t),Oe.success(`Refreshed`,{id:e,description:`${t.epics.length} epics`})}catch(t){let n=t instanceof Error?t.message:`Refresh failed`;w(n),Oe.error(`Refresh failed`,{id:e,description:n})}finally{E(!1)}}async function Je(e,t){E(!0),w(``);let n=Oe.loading(`Moving…`);try{let r=await eb(`/api/move`,{method:`POST`,body:JSON.stringify({key:e,status:t})});if(Ue(r.board),r.ok)Oe.success(`Moved`,{id:n});else{let e=r.error??`Move failed`;w(e),Oe.error(`Move failed`,{id:n,description:e})}}catch(e){let t=e instanceof Error?e.message:`Move failed`;w(t),Oe.error(`Move failed`,{id:n,description:t})}finally{E(!1)}}async function Ye(e){let t=pe.current?.columns.flatMap(e=>e.cards)??[],r=Ce.find(t=>t.key===e)??t.find(t=>t.key===e),i=n.find(t=>t.key===e),a=r??(i?{key:i.key,summary:i.summary,priority:i.priority,assignee:i.assignee,dueDate:i.dueDate,labels:i.labels}:void 0),o=`/browse/${e}`;d(e),p(o),_(``),h(a?$y(a,o):[{label:`Jira URL`,value:o}]);let s=await eb(`/api/open`,{method:`POST`,body:JSON.stringify({key:e})});if(p(s.url),s.error){_(s.error),h(a?$y(a,s.url):[{label:`Jira URL`,value:s.url}]);return}h(s.fields)}function Ze(e,n){if(n.kind===`column`||n.activeContainer===n.overContainer||A.hide.includes(n.overContainer)){t(e=>St(n.previousValue,e,c,b,be));return}Je(String(n.event.active.id),n.overContainer)}function Qe(){let e=D===`dark`?`light`:`dark`;rb(e),ee(e)}function $e(e){return vt(we,e,b,A.filter,n)}function et(){Qy(`stories`),fe(`stories`),l(null),pe.current&&He(pe.current,`stories`)}function tt(){Qy(`epics`),fe(`epics`),l(null),pe.current&&He(pe.current,`epics`)}async function nt(e){let n=de===`epics`;if(n&&et(),l(e),!e||(n&&pe.current?pe.current.columns.flatMap(e=>e.cards):Ce).filter(t=>t.epic===e&&Xe(t,b)).length>0)return;E(!0),w(``);let r=Oe.loading(`Listing children…`);try{let n=await eb(`/api/epic`,{method:`POST`,body:JSON.stringify({key:e})});t(t=>Ct(t,tb(n.columns),e)),Oe.success(`Listed children`,{id:r})}catch(e){let t=e instanceof Error?e.message:`Epic list failed`;w(t),Oe.error(`Epic list failed`,{id:r,description:t})}finally{E(!1)}}function rt(){let e=Dt(M,ne);if(!e.ok){ae(`Folder names must be unique`);return}ie(``),ae(``),Be(e.state)}function it(){let e=Nt(P,z,A);if(!e.ok){ue(`Preset names must be unique`);return}oe(``),ue(``),Ve(e.presets)}function at(e){let t=Pt(P,e);t.ok&&(ze(t.chrome),de===`epics`&&et())}function st(e){ve.current=!1,_e(!1),x(``),e.kind===`all-stories`?et():e.kind===`all-epics`?tt():e.kind===`refresh`?qe():e.kind===`agent`?s(!0):e.kind===`preset`?at(e.name):e.kind===`epic`?(d(null),p(null),h([]),_(``),nt(e.key)):(e.epic?nt(e.epic):et(),Ye(e.key))}function ct(e){let t=Ft(P,e,A);t.ok&&Ve(t.presets)}function lt(e,t){let n=It(P,e,t);if(!n.ok){ue(`Preset names must be unique`);return}ue(``),Ve(n.presets)}return(0,W.jsxs)(`div`,{className:`bg-sidebar flex h-screen`,children:[(0,W.jsxs)(Jm,{id:`shell`,orientation:`horizontal`,className:`min-h-0 flex-1`,defaultLayout:Me.defaultLayout,onLayoutChanged:Me.onLayoutChanged,children:[(0,W.jsx)(Ym,{id:`epics`,defaultSize:`244px`,minSize:`12rem`,maxSize:`40%`,className:`min-h-0`,children:(0,W.jsxs)(`aside`,{className:`text-sidebar-foreground flex h-full min-h-0 flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex h-10 items-center justify-between px-4`,children:[(0,W.jsx)(`span`,{className:`text-[13px] font-medium`,children:`pipe-kan`}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] tabular-nums`,children:Ee.length})]}),(0,W.jsxs)(`nav`,{className:`flex flex-1 flex-col gap-0.5 overflow-auto px-2 pb-2`,children:[(0,W.jsx)(`button`,{type:`button`,className:U(`h-8 rounded-lg px-3 text-left text-[13px]`,de===`stories`&&c===null?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),onClick:et,children:`All stories`}),(0,W.jsx)(`button`,{type:`button`,className:U(`h-8 rounded-lg px-3 text-left text-[13px]`,de===`epics`?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),onClick:tt,children:`All epics`}),Re?(0,W.jsx)(vb,{pane:ke,selectedEpic:c,childCount:$e,favourites:M,folderName:ne,folderError:R,onFolderName:ie,onCreateFolder:rt,onRenameFolder:(e,t)=>{let n=Ot(M,e,t);if(!n.ok){ae(`Folder names must be unique`);return}ae(``),Be(n.state)},onDeleteFolder:e=>Be(kt(M,e)),listedEpics:n,onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onFile:(e,t)=>Be(At(M,e,t)),onMove:Je,onOpen:Ye}):null,(0,W.jsx)(bb,{presets:P,presetName:z,presetError:ce,onPresetName:oe,onCreatePreset:it,onApplyPreset:at,onOverwritePreset:ct,onRenamePreset:lt,onDeletePreset:e=>Ve(Lt(P,e))}),(0,W.jsx)(`div`,{className:`text-muted-foreground px-3 pt-3 pb-1 text-[11px] font-medium`,children:`Epics`}),De.map(e=>e.status?(0,W.jsx)(hb,{status:e.status,epics:e.epics,selectedEpic:c,childCount:$e,favourites:M,listedEpics:n,onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onMove:Je,onOpen:Ye},e.status):e.epics.map(e=>(0,W.jsx)(mb,{epic:e,selected:c===e.key,count:$e(e.key),favourited:M.keys.includes(e.key),moveTo:pb(n,e.status),onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onMove:Je,onOpen:Ye},e.key)))]})]})}),(0,W.jsx)(Xm,{}),(0,W.jsx)(Ym,{id:`board`,defaultSize:`80%`,minSize:`24rem`,className:`min-h-0`,children:(0,W.jsx)(`div`,{className:`flex h-full min-h-0 flex-col p-2 pl-0`,children:(0,W.jsxs)(`div`,{className:`bg-background flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border`,children:[(0,W.jsxs)(`header`,{className:`flex min-h-11 shrink-0 flex-wrap items-center gap-2 px-3`,children:[(0,W.jsx)(`strong`,{className:`text-[13px] font-medium`,children:`Board`}),(0,W.jsxs)(Dy,{className:`h-7 max-w-72 min-w-40 flex-1 border-transparent bg-muted shadow-none`,children:[(0,W.jsx)(ky,{children:(0,W.jsx)(L,{className:`size-3.5`})}),(0,W.jsx)(Ay,{value:b,onChange:e=>x(e.target.value),placeholder:`Search Epics and Cards`,"aria-label":`Search`,className:`h-7 text-[13px]`}),b?(0,W.jsx)(ky,{align:`inline-end`,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,onClick:()=>x(``),children:(0,W.jsx)(le,{className:`size-3.5`})})}):null]}),(0,W.jsx)(`input`,{className:`placeholder:text-muted-foreground h-7 min-w-40 flex-1 rounded-md bg-muted px-2.5 text-[13px] outline-none`,value:v,onChange:e=>y(e.target.value),placeholder:`Scope flags`,spellCheck:!1,"aria-label":`Scope flags`}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(re,{}),`Filter`]})}),(0,W.jsx)(ub,{facets:Ie,filter:A.filter,onToggle:(e,t)=>ze({...A,filter:{...A.filter,[e]:sb(A.filter[e]??[],t)}}),onClear:()=>ze(zy)})]}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(O,{}),`Sort`]})}),(0,W.jsx)(jf,{align:`end`,children:(0,W.jsxs)(Ff,{value:A.sort,onValueChange:e=>ze({...A,sort:e}),children:[(0,W.jsx)(If,{value:`payload`,children:`Payload order`}),(0,W.jsx)(If,{value:`priority`,children:`Priority`}),(0,W.jsx)(If,{value:`age`,children:`Age`}),(0,W.jsx)(If,{value:`due`,children:`Due date`}),(0,W.jsx)(If,{value:`key`,children:`Key`})]})})]}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(N,{}),`Columns`]})}),(0,W.jsx)(jf,{align:`end`,children:Le.map(e=>(0,W.jsx)(Pf,{checked:!A.hide.includes(e),onCheckedChange:t=>ze({...A,hide:t?A.hide.filter(t=>t!==e):[...A.hide,e]}),children:e},e))})]}),(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,onClick:()=>void qe(),disabled:T,"aria-busy":T,children:[T?(0,W.jsx)(Th,{className:`size-3.5`}):null,`Refresh`]}),(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,onClick:()=>s(e=>!e),"aria-pressed":o,children:[(0,W.jsx)(k,{className:`mr-1 size-4`}),`Agent`]}),(0,W.jsx)(Qr,{variant:`ghost`,size:`icon-xs`,onClick:Qe,"aria-label":D===`dark`?`Switch to light mode`:`Switch to dark mode`,children:D===`dark`?(0,W.jsx)(se,{}):(0,W.jsx)(I,{})}),S?(0,W.jsx)(`p`,{className:`text-destructive w-full text-[13px] whitespace-pre-wrap`,children:S}):null]}),(0,W.jsxs)(Jm,{id:`board-open`,orientation:`horizontal`,className:`min-h-0 flex-1`,defaultLayout:Ne.defaultLayout,onLayoutChanged:Ne.onLayoutChanged,children:[(0,W.jsx)(Ym,{id:`cards`,defaultSize:u?`70%`:`100%`,minSize:`16rem`,className:`min-h-0`,children:(0,W.jsx)(`main`,{className:`h-full min-h-0 min-w-0 overflow-auto px-2 pb-2`,children:(0,W.jsxs)(vy,{className:`h-full min-h-0`,value:Se,onValueChange:e=>t(t=>xt(e,t,c,b,be)),getItemValue:e=>e.key,restoreOnCancel:!0,onValueCommit:Ze,children:[(0,W.jsx)(yy,{className:`grid h-full min-h-0 grid-cols-1 auto-rows-fr gap-3`,children:Ae.length?(0,W.jsx)(Jm,{id:`columns`,orientation:`horizontal`,className:`min-h-0`,defaultLayout:Pe.defaultLayout,onLayoutChanged:Pe.onLayoutChanged,children:Object.entries(Se).map(([e,t],n,r)=>(0,W.jsxs)(C.Fragment,{children:[n>0?(0,W.jsx)(Xm,{}):null,(0,W.jsx)(Ym,{id:e,defaultSize:`${100/Math.max(r.length,1)}%`,minSize:`16rem`,className:`min-h-0 min-w-0`,children:(0,W.jsx)(fb,{title:e,cards:t,disabled:T,onOpen:e=>void Ye(e),onHide:()=>ze({...A,hide:[...A.hide,e]})})})]},e))}):null}),(0,W.jsx)(Ty,{children:({value:e,variant:t})=>{if(t===`column`)return(0,W.jsx)(fb,{title:String(e),cards:Se[String(e)]??[],isOverlay:!0});let n=Object.values(Se).flat().find(t=>t.key===e);return n?(0,W.jsx)(db,{card:n,isOverlay:!0}):null}})]})})}),u?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Xm,{}),(0,W.jsx)(Ym,{id:`open`,defaultSize:`30%`,minSize:`16rem`,className:`min-h-0`,children:(0,W.jsxs)(`aside`,{className:`flex h-full min-h-0 flex-col border-l`,children:[(0,W.jsxs)(`div`,{className:`flex h-10 items-center gap-2 px-3`,children:[(0,W.jsx)(`a`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium underline-offset-4 hover:underline`,href:f??void 0,target:`_blank`,rel:`noreferrer`,children:u}),(0,W.jsx)(Qr,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close issue`,onClick:()=>{d(null),p(null),h([]),_(``)},children:(0,W.jsx)(le,{})})]}),(0,W.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:[g?(0,W.jsx)(`p`,{className:`text-destructive px-4 pt-3 text-[13px] whitespace-pre-wrap`,children:g}):null,(0,W.jsx)(gb,{fields:m}),Fe?(0,W.jsx)(`iframe`,{title:u??`Issue`,src:Fe,className:`min-h-64 w-full border-0 bg-background`}):f?(0,W.jsx)(`div`,{className:`text-muted-foreground px-4 pb-6 text-[13px]`,children:`Jira refuses to embed this page.`}):null]})]})})]}):null]})]})})}),o?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Xm,{}),(0,W.jsx)(yh,{open:o,onClose:()=>s(!1),selectedIssueKey:u??c??void 0,boardView:{scope:`view`,kind:de,selectedEpic:xe?null:c,search:b,filter:A.filter,sort:A.sort,hide:A.hide,columns:Object.entries(Se).map(([e,t])=>({title:e,cards:t.map(e=>({key:e.key,summary:e.summary,epic:e.epic,assignee:e.assignee,priority:e.priority,labels:e.labels,dueDate:e.dueDate}))})),epics:Ee.map(e=>({key:e.key,summary:e.summary,status:e.status}))},pipeView:me?{scope:`pipe`,kind:`stories`,selectedEpic:null,search:``,filter:{},sort:`payload`,hide:[],columns:me.columns.map(e=>({title:e.title,cards:e.cards.map(e=>({key:e.key,summary:e.summary,epic:e.epic,assignee:e.assignee,priority:e.priority,labels:e.labels,dueDate:e.dueDate}))})),epics:me.epics.map(e=>({key:e.key,summary:e.summary,status:e.status}))}:void 0,onApplyPreset:at,onSetFilter:e=>ze({...A,filter:e})})]}):null]}),(0,W.jsx)(wh,{theme:D}),ge?(0,W.jsx)(Ch,{presets:P.map(e=>e.name),epics:me?.epics??n,cards:Te,favouriteKeys:M.keys,onPick:st,onClose:()=>{ve.current=!1,_e(!1),ye.current?.focus()}}):null]})}function vb({pane:e,selectedEpic:t,childCount:n,favourites:r,folderName:i,folderError:a,onFolderName:o,onCreateFolder:s,onRenameFolder:c,onDeleteFolder:l,listedEpics:u,onSelect:d,onToggleFavourite:f,onFile:p,onMove:m,onOpen:h}){let[g,_]=(0,C.useState)(()=>!Uy(Vy(My,Ry),`Favourites`));function v(e){_(e);let t=Vy(My,Ry);if(e)for(let e of[...t])e.toLowerCase()===`favourites`&&t.delete(e);else t.add(`Favourites`);Hy(t,My)}let y=r.folders.map(e=>e.name);return(0,W.jsxs)(ph,{open:g,onOpenChange:v,className:`flex flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1 px-1`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 min-w-0 flex-1 items-center gap-1.5 px-2 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!g&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:`Favourites`})]})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Favourite Folders`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`start`,className:`w-56`,children:[(0,W.jsx)(Mf,{children:`Create Folder`}),(0,W.jsxs)(`div`,{className:`px-2 pb-2`,children:[(0,W.jsx)(`input`,{className:`border-input h-7 w-full rounded-md border bg-transparent px-2 text-[13px] outline-none`,value:i,onChange:e=>o(e.target.value),placeholder:`Name`,"aria-label":`Folder name`,onKeyDown:e=>{e.key===`Enter`&&s()}}),a?(0,W.jsx)(`p`,{className:`text-destructive pt-1 text-[11px]`,children:a}):null]}),(0,W.jsx)(Nf,{onClick:s,children:`Create`}),y.length?(0,W.jsx)(Lf,{}):null,y.map(e=>(0,W.jsxs)(Nf,{onClick:()=>{let t=window.prompt(`Rename Folder`,e);t!=null&&c(e,t)},children:[`Rename `,e]},`rename-${e}`)),y.map(e=>(0,W.jsxs)(Nf,{onClick:()=>l(e),children:[`Delete `,e]},`delete-${e}`))]})]})]}),(0,W.jsxs)(hh,{className:`flex flex-col gap-0.5`,children:[e.unfiled.map(e=>(0,W.jsx)(mb,{epic:e,selected:t===e.key,count:n(e.key),favourited:!0,folders:y,onSelect:d,onToggleFavourite:f,onFile:p,moveTo:pb(u,e.status),onMove:m,onOpen:h},e.key)),e.folders.map(e=>(0,W.jsx)(yb,{folder:e,selectedEpic:t,childCount:n,folderNames:y,listedEpics:u,onSelect:d,onToggleFavourite:f,onFile:p,onMove:m,onOpen:h},e.name))]})]})}function yb({folder:e,selectedEpic:t,childCount:n,folderNames:r,listedEpics:i,onSelect:a,onToggleFavourite:o,onFile:s,onMove:c,onOpen:l}){let[u,d]=(0,C.useState)(()=>!Uy(Vy(Ny),e.name));function f(t){d(t);let n=Vy(Ny);if(t)for(let t of[...n])t.toLowerCase()===e.name.toLowerCase()&&n.delete(t);else n.add(e.name);Hy(n,Ny)}return(0,W.jsxs)(ph,{open:u,onOpenChange:f,className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 items-center gap-1.5 px-3 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!u&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:e.name}),(0,W.jsx)(`span`,{className:`text-[11px] tabular-nums`,children:e.epics.length})]})}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:e.epics.map(e=>(0,W.jsx)(mb,{epic:e,selected:t===e.key,count:n(e.key),favourited:!0,folders:r,onSelect:a,onToggleFavourite:o,onFile:s,moveTo:pb(i,e.status),onMove:c,onOpen:l},e.key))})]})}function bb({presets:e,presetName:t,presetError:n,onPresetName:r,onCreatePreset:i,onApplyPreset:a,onOverwritePreset:o,onRenamePreset:s,onDeletePreset:c}){let[l,u]=(0,C.useState)(()=>!Uy(Vy(My,Ry),`Presets`));function d(e){u(e);let t=Vy(My,Ry);if(e)for(let e of[...t])e.toLowerCase()===`presets`&&t.delete(e);else t.add(`Presets`);Hy(t,My)}return(0,W.jsxs)(ph,{open:l,onOpenChange:d,className:`flex flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1 px-1`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 min-w-0 flex-1 items-center gap-1.5 px-2 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!l&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:`Presets`})]})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Presets`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`start`,className:`w-56`,children:[(0,W.jsx)(Mf,{children:`Save Preset`}),(0,W.jsxs)(`div`,{className:`px-2 pb-2`,children:[(0,W.jsx)(`input`,{className:`border-input h-7 w-full rounded-md border bg-transparent px-2 text-[13px] outline-none`,value:t,onChange:e=>r(e.target.value),placeholder:`Name`,"aria-label":`Preset name`,onKeyDown:e=>{e.key===`Enter`&&i()}}),n?(0,W.jsx)(`p`,{className:`text-destructive pt-1 text-[11px]`,children:n}):null]}),(0,W.jsx)(Nf,{onClick:i,children:`Save`})]})]})]}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(`button`,{type:`button`,className:`hover:bg-foreground/5 flex h-7 min-w-0 flex-1 items-center rounded-lg px-[7px] text-left text-[13px] font-medium`,onClick:()=>a(e.name),children:(0,W.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Preset ${e.name}`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`end`,children:[(0,W.jsx)(Nf,{onClick:()=>o(e.name),children:`Save over`}),(0,W.jsx)(Nf,{onClick:()=>{let t=window.prompt(`Rename Preset`,e.name);t!=null&&s(e.name,t)},children:`Rename`}),(0,W.jsx)(Nf,{onClick:()=>c(e.name),children:`Delete`})]})]})]},e.name))})]})}(0,ue.createRoot)(document.getElementById(`root`)).render((0,W.jsx)(C.StrictMode,{children:(0,W.jsx)(_b,{})}));
|
|
56
|
+
`},cg={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 lg(e){let{announcements:t=cg,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=sg}=e,{announce:a,announcement:o}=rg(),s=Uh(`DndLiveRegion`),[c,l]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{l(!0)},[]),ag((0,C.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=C.createElement(C.Fragment,null,C.createElement(tg,{id:r,value:i.draggable}),C.createElement(ng,{id:s,announcement:o}));return n?(0,de.createPortal)(u,n):u}var ug;(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`})(ug||={});function dg(){}function fg(e,t){return(0,C.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function pg(){var e=[...arguments];return(0,C.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var mg=Object.freeze({x:0,y:0});function hg(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function gg(e,t){let n=Xh(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function _g(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function vg(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function yg(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function bg(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var xg=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=yg(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=yg(r),o=i.reduce((e,t,r)=>e+hg(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(_g)};function Sg(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 Cg=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=Sg(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(vg)};function wg(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Tg(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:mg}function Eg(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 Dg=Eg(1);function Og(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]}}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 kg(e,t,n){let r=Og(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 Ag={ignoreTransform:!1};function jg(e,t){t===void 0&&(t=Ag);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ah(e).getComputedStyle(e);t&&(n=kg(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 Mg(e){return jg(e,{ignoreTransform:!0})}function Ng(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Pg(e,t){return t===void 0&&(t=Ah(e).getComputedStyle(e)),t.position===`fixed`}function Fg(e,t){t===void 0&&(t=Ah(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 Ig(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(jh(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Mh(i)||Nh(i)||n.includes(i))return n;let a=Ah(e).getComputedStyle(i);return i!==e&&Fg(i,a)&&n.push(i),Pg(i,a)?n:r(i.parentNode)}return e?r(e):n}function Lg(e){let[t]=Ig(e,1);return t??null}function Rg(e){return!Dh||!e?null:Oh(e)?e:kh(e)?jh(e)||e===Ph(e).scrollingElement?window:Mh(e)?e:null:null}function zg(e){return Oh(e)?e.scrollX:e.scrollLeft}function Bg(e){return Oh(e)?e.scrollY:e.scrollTop}function Vg(e){return{x:zg(e),y:Bg(e)}}var Hg;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Hg||={});function Ug(e){return!Dh||!e?!1:e===document.scrollingElement}function Wg(e){let t={x:0,y:0},n=Ug(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 Gg={x:.2,y:.2};function Kg(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Gg);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Wg(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=Hg.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Hg.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Hg.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Hg.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function qg(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 Jg(e){return e.reduce((e,t)=>Gh(e,Vg(t)),mg)}function Yg(e){return e.reduce((e,t)=>e+zg(t),0)}function Xg(e){return e.reduce((e,t)=>e+Bg(t),0)}function Zg(e,t){if(t===void 0&&(t=jg),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Lg(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Qg=[[`x`,[`left`,`right`],Yg],[`y`,[`top`,`bottom`],Xg]],$g=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=Ig(t),r=Jg(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Qg)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})}},e_=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 t_(e){let{EventTarget:t}=Ah(e);return e instanceof t?e:Ph(e)}function n_(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 r_;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(r_||={});function i_(e){e.preventDefault()}function a_(e){e.stopPropagation()}var o_;(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`})(o_||={});var s_={start:[o_.Space,o_.Enter],cancel:[o_.Esc],end:[o_.Space,o_.Enter,o_.Tab]},c_=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case o_.Right:return{...n,x:n.x+25};case o_.Left:return{...n,x:n.x-25};case o_.Down:return{...n,y:n.y+25};case o_.Up:return{...n,y:n.y-25}}},l_=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 e_(Ph(t)),this.windowListeners=new e_(Ah(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(r_.Resize,this.handleCancel),this.windowListeners.add(r_.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(r_.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Zg(n),t(mg)}handleKeyDown(e){if(Jh(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=s_,coordinateGetter:a=c_,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}:mg;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Kh(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}=Wg(n),p=qg(n),m={x:Math.min(i===o_.Right?p.right-p.width/2:p.right,Math.max(i===o_.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===o_.Down?p.bottom-p.height/2:p.bottom,Math.max(i===o_.Down?p.top:p.top+p.height/2,u.y))},h=i===o_.Right&&!s||i===o_.Left&&!c,g=i===o_.Down&&!l||i===o_.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===o_.Right&&e<=d.x||i===o_.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===o_.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===o_.Down&&e<=d.y||i===o_.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===o_.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Gh(Kh(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()}};l_.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=s_,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 u_(e){return!!(e&&`distance`in e)}function d_(e){return!!(e&&`delay`in e)}var f_=class{constructor(e,t,n){n===void 0&&(n=t_(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=Ph(i),this.documentListeners=new e_(this.document),this.listeners=new e_(n),this.windowListeners=new e_(Ah(i)),this.initialCoordinates=Xh(r)??mg,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(r_.Resize,this.handleCancel),this.windowListeners.add(r_.DragStart,i_),this.windowListeners.add(r_.VisibilityChange,this.handleCancel),this.windowListeners.add(r_.ContextMenu,i_),this.documentListeners.add(r_.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(d_(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(u_(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(r_.Click,a_,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(r_.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=Xh(e)??mg,s=Kh(n,o);if(!t&&a){if(u_(a)){if(a.tolerance!=null&&n_(s,a.tolerance))return this.handleCancel();if(n_(s,a.distance))return this.handleStart()}if(d_(a)&&n_(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===o_.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},p_={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},m_=class extends f_{constructor(e){let{event:t}=e,n=Ph(t.target);super(e,p_,n)}};m_.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 h_={move:{name:`mousemove`},end:{name:`mouseup`}},g_;(function(e){e[e.RightClick=2]=`RightClick`})(g_||={});var __=class extends f_{constructor(e){super(e,h_,Ph(e.event.target))}};__.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==g_.RightClick&&(r?.({event:n}),!0)}}];var v_={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},y_=class extends f_{constructor(e){super(e,v_)}static setup(){return window.addEventListener(v_.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(v_.move.name,e)};function e(){}}};y_.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 b_;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(b_||={});var x_;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(x_||={});function S_(e){let{acceleration:t,activator:n=b_.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=x_.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=w_({delta:d,disabled:!a}),[m,h]=Lh(),g=(0,C.useRef)({x:0,y:0}),_=(0,C.useRef)({x:0,y:0}),v=(0,C.useMemo)(()=>{switch(n){case b_.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case b_.DraggableRect:return i}},[n,i,c]),y=(0,C.useRef)(null),b=(0,C.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,C.useMemo)(()=>s===x_.TreeOrder?[...l].reverse():l,[s,l]);(0,C.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}=Kg(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 C_={x:{[Hg.Backward]:!1,[Hg.Forward]:!1},y:{[Hg.Backward]:!1,[Hg.Forward]:!1}};function w_(e){let{delta:t,disabled:n}=e,r=Vh(t);return zh(e=>{if(n||!r||!e)return C_;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Hg.Backward]:e.x[Hg.Backward]||i.x===-1,[Hg.Forward]:e.x[Hg.Forward]||i.x===1},y:{[Hg.Backward]:e.y[Hg.Backward]||i.y===-1,[Hg.Forward]:e.y[Hg.Forward]||i.y===1}}},[n,t,r])}function T_(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return zh(e=>t==null?null:r??e??null,[r,t])}function E_(e,t){return(0,C.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 D_;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(D_||={});var O_;(function(e){e.Optimized=`optimized`})(O_||={});var k_=new Map;function A_(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,C.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,C.useRef)(e),d=g(),f=Rh(d),p=(0,C.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,C.useRef)(null),h=zh(t=>{if(d&&!n)return k_;if(!t||t===k_||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 $g(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,C.useEffect)(()=>{u.current=e},[e]),(0,C.useEffect)(()=>{d||p()},[n,d]),(0,C.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,C.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 D_.Always:return!1;case D_.BeforeDragging:return n;default:return!n}}}function j_(e,t){return zh(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function M_(e,t){return j_(e,t)}function N_(e){let{callback:t,disabled:n}=e,r=Ih(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function P_(e){let{callback:t,disabled:n}=e,r=Ih(t),i=(0,C.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,C.useEffect)(()=>()=>i?.disconnect(),[i]),i}function F_(e){return new $g(jg(e),e)}function I_(e,t,n){t===void 0&&(t=F_);let[r,i]=(0,C.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=N_({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=P_({callback:a});return Fh(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function L_(e){return Tg(e,j_(e))}var R_=[];function z_(e){let t=(0,C.useRef)(e),n=zh(n=>e?n&&n!==R_&&e&&t.current&&e.parentNode===t.current.parentNode?n:Ig(e):R_,[e]);return(0,C.useEffect)(()=>{t.current=e},[e]),n}function B_(e){let[t,n]=(0,C.useState)(null),r=(0,C.useRef)(e),i=(0,C.useCallback)(e=>{let t=Rg(e.target);t&&n(e=>e?(e.set(t,Vg(t)),new Map(e)):null)},[]);return(0,C.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Rg(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Vg(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=>{Rg(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,C.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Gh(e,t),mg):Jg(e):mg,[e,t])}function V_(e,t){t===void 0&&(t=[]);let n=(0,C.useRef)(null);return(0,C.useEffect)(()=>{n.current=null},t),(0,C.useEffect)(()=>{let t=e!==mg;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Kh(e,n.current):mg}function H_(e){(0,C.useEffect)(()=>{if(!Dh)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 U_(e,t){return(0,C.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function W_(e){return(0,C.useMemo)(()=>e?Ng(e):null,[e])}var G_=[];function K_(e,t){t===void 0&&(t=jg);let[n]=e,r=W_(n?Ah(n):null),[i,a]=(0,C.useState)(G_);function o(){a(()=>e.length?e.map(e=>Ug(e)?r:new $g(t(e),e)):G_)}let s=P_({callback:o});return Fh(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function q_(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Mh(t)?t:e}function J_(e){let{measure:t}=e,[n,r]=(0,C.useState)(null),i=P_({callback:(0,C.useCallback)(e=>{for(let{target:n}of e)if(Mh(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Bh((0,C.useCallback)(e=>{let n=q_(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,C.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Y_=[{sensor:m_,options:{}},{sensor:l_,options:{}}],X_={current:{}},Z_={draggable:{measure:Mg},droppable:{measure:Mg,strategy:D_.WhileDragging,frequency:O_.Optimized},dragOverlay:{measure:jg}},Q_=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}},$_={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Q_,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:dg},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Z_,measureDroppableContainers:dg,windowRect:null,measuringScheduled:!1},ev={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:dg,draggableNodes:new Map,over:null,measureDroppableContainers:dg},tv=(0,C.createContext)(ev),nv=(0,C.createContext)($_);function rv(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Q_}}}function iv(e,t){switch(t.type){case ug.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case ug.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 ug.DragEnd:case ug.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ug.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Q_(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case ug.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 Q_(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case ug.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Q_(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function av(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,C.useContext)(tv),a=Vh(r),o=Vh(n?.id);return(0,C.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Jh(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=$h(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function ov(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function sv(e){return(0,C.useMemo)(()=>({draggable:{...Z_.draggable,...e?.draggable},droppable:{...Z_.droppable,...e?.droppable},dragOverlay:{...Z_.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function cv(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,C.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Fh(()=>{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=Tg(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=Lg(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var lv=(0,C.createContext)({...mg,scaleX:1,scaleY:1}),uv;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(uv||={});var dv=(0,C.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Y_,collisionDetection:o=Cg,measuring:s,modifiers:c,...l}=e,[u,d]=(0,C.useReducer)(iv,void 0,rv),[f,p]=og(),[m,h]=(0,C.useState)(uv.Uninitialized),g=m===uv.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,C.useRef)({initial:null,translated:null}),w=(0,C.useMemo)(()=>_==null?null:{id:_,data:x?.data??X_,rect:S},[_,x]),T=(0,C.useRef)(null),[E,D]=(0,C.useState)(null),[O,ee]=(0,C.useState)(null),k=Rh(l,Object.values(l)),A=Uh(`DndDescribedBy`,t),j=(0,C.useMemo)(()=>b.getEnabled(),[b]),M=sv(s),{droppableRects:N,measureDroppableContainers:te,measuringScheduled:P}=A_(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),F=T_(v,_),ne=(0,C.useMemo)(()=>O?Xh(O):null,[O]),re=je(),ie=M_(F,M.draggable.measure);cv({activeNode:_==null?null:v.get(_),config:re.layoutShiftCompensation,initialRect:ie,measure:M.draggable.measure});let I=I_(F,M.draggable.measure,ie),L=I_(F?F.parentElement:null),R=(0,C.useRef)({activatorEvent:null,active:null,activeNode:F,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ae=b.getNodeFor(R.current.over?.id),z=J_({measure:M.dragOverlay.measure}),oe=z.nodeRef.current??F,se=g?z.rect??I:null,ce=!!(z.nodeRef.current&&z.rect),le=L_(ce?null:I),ue=W_(oe?Ah(oe):null),fe=z_(g?ae??F:null),pe=K_(fe),me=ov(c,{transform:{x:y.x-le.x,y:y.y-le.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:I,containerNodeRect:L,draggingNodeRect:se,over:R.current.over,overlayNodeRect:z.rect,scrollableAncestors:fe,scrollableAncestorRects:pe,windowRect:ue}),he=ne?Gh(ne,y):null,ge=B_(fe),_e=V_(ge),ve=V_(ge,[I]),ye=Gh(me,_e),be=se?Dg(se,me):null,xe=w&&be?o({active:w,collisionRect:be,droppableRects:N,droppableContainers:j,pointerCoordinates:he}):null,Se=bg(xe,`id`),[Ce,we]=(0,C.useState)(null),Te=wg(ce?me:Gh(me,ve),Ce?.rect??null,I),Ee=(0,C.useRef)(null),De=(0,C.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=v.get(T.current);if(!i)return;let a=e.nativeEvent,o=new n({active:T.current,activeNode:i,event:a,options:r,context:R,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,de.unstable_batchedUpdates)(()=>{r?.(i),h(uv.Initializing),d({type:ug.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),D(Ee.current),ee(a)})},onMove(e){d({type:ug.DragMove,coordinates:e})},onEnd:s(ug.DragEnd),onCancel:s(ug.DragCancel)});Ee.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=R.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===ug.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=ug.DragCancel)}T.current=null,(0,de.unstable_batchedUpdates)(()=>{d({type:e}),h(uv.Uninitialized),we(null),D(null),ee(null),Ee.current=null;let t=e===ug.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Oe=E_(a,(0,C.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,De(n,t))},[v,De]));H_(a),Fh(()=>{I&&m===uv.Initializing&&h(uv.Initialized)},[I,m]),(0,C.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=R.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:ye.x,y:ye.y},over:i};(0,de.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[ye.x,ye.y]),(0,C.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=R.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=k.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,de.unstable_batchedUpdates)(()=>{we(s),a?.(c),f({type:`onDragOver`,event:c})})},[Se]),Fh(()=>{R.current={activatorEvent:O,active:w,activeNode:F,collisionRect:be,collisions:xe,droppableRects:N,draggableNodes:v,draggingNode:oe,draggingNodeRect:se,droppableContainers:b,over:Ce,scrollableAncestors:fe,scrollAdjustedTranslate:ye},S.current={initial:se,translated:be}},[w,F,xe,be,v,oe,se,N,b,Ce,fe,ye]),S_({...re,delta:y,draggingRect:be,pointerCoordinates:he,scrollableAncestors:fe,scrollableAncestorRects:pe});let ke=(0,C.useMemo)(()=>({active:w,activeNode:F,activeNodeRect:I,activatorEvent:O,collisions:xe,containerNodeRect:L,dragOverlay:z,draggableNodes:v,droppableContainers:b,droppableRects:N,over:Ce,measureDroppableContainers:te,scrollableAncestors:fe,scrollableAncestorRects:pe,measuringConfiguration:M,measuringScheduled:P,windowRect:ue}),[w,F,I,O,xe,L,z,v,b,N,Ce,te,fe,pe,M,P,ue]),Ae=(0,C.useMemo)(()=>({activatorEvent:O,activators:Oe,active:w,activeNodeRect:I,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:Ce,measureDroppableContainers:te}),[O,Oe,w,I,d,A,v,Ce,te]);return C.createElement(ig.Provider,{value:p},C.createElement(tv.Provider,{value:Ae},C.createElement(nv.Provider,{value:ke},C.createElement(lv.Provider,{value:Te},i)),C.createElement(av,{disabled:n?.restoreFocus===!1})),C.createElement(lg,{...n,hiddenTextDescribedById:A}));function je(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),fv=(0,C.createContext)(null),pv=`button`,mv=`Draggable`;function hv(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Uh(mv),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,C.useContext)(tv),{role:p=pv,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,C.useContext)(g?lv:fv),[v,y]=Bh(),[b,x]=Bh(),S=U_(o,t),w=Rh(n);return Fh(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,C.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===pv?!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 gv(){return(0,C.useContext)(nv)}var _v=`Droppable`,vv={timeout:25};function yv(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Uh(_v),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,C.useContext)(tv),u=(0,C.useRef)({disabled:n}),d=(0,C.useRef)(!1),f=(0,C.useRef)(null),p=(0,C.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...vv,...i},_=Rh(h??r),v=P_({callback:(0,C.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]=Bh((0,C.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Rh(t);return(0,C.useEffect)(()=>{v&&y.current&&(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,C.useEffect)(()=>(s({type:ug.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:ug.UnregisterDroppable,key:a,id:r})),[r]),(0,C.useEffect)(()=>{n!==u.current.disabled&&(s({type:ug.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 bv(e){let{animation:t,children:n}=e,[r,i]=(0,C.useState)(null),[a,o]=(0,C.useState)(null),s=Vh(n);return!n&&!r&&s&&i(s),Fh(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),C.createElement(C.Fragment,null,n,r?(0,C.cloneElement)(r,{ref:o}):null)}var xv={x:0,y:0,scaleX:1,scaleY:1};function Sv(e){let{children:t}=e;return C.createElement(tv.Provider,{value:ev},C.createElement(lv.Provider,{value:xv},t))}var Cv={position:`fixed`,touchAction:`none`},wv=e=>Jh(e)?`transform 250ms ease`:void 0,Tv=(0,C.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=wv}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...Cv,width:s.width,height:s.height,top:s.top,left:s.left,transform:Zh.Transform.toString(d),transformOrigin:i&&r?gg(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return C.createElement(n,{className:o,style:f,ref:t},a)}),Ev=e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}},Dv={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Zh.Transform.toString(t)},{transform:Zh.Transform.toString(n)}]},sideEffects:Ev({styles:{active:{opacity:`0`}}})};function Ov(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return Ih((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=q_(a);if(!c)return;let{transform:l}=Ah(a).getComputedStyle(a),u=Og(l);if(!u)return;let d=typeof t==`function`?t:kv(t);return Zg(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function kv(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...Dv,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var Av=0;function jv(e){return(0,C.useMemo)(()=>{if(e!=null)return Av++,Av},[e])}var Mv=C.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=gv(),S=(0,C.useContext)(lv),w=jv(d?.id),T=ov(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:S,windowRect:x}),E=j_(f),D=Ov({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),O=E?g.setRef:void 0;return C.createElement(Sv,null,C.createElement(bv,{animation:D},d&&w?C.createElement(Tv,{key:w,id:d.id,ref:O,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:E,style:{zIndex:l,...i},transform:T},n):null))});function Nv(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Pv(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Fv(e){return e!==null&&e>=0}function Iv(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 Lv(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Rv=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Nv(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}},zv={scaleX:1,scaleY:1},Bv=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];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...zv}:null}let s=Vv(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...zv}:r<t&&r>=a?{x:0,y:o.height+s,...zv}:{x:0,y:0,...zv}};function Vv(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 Hv=`Sortable`,Uv=C.createContext({activeIndex:-1,containerId:Hv,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Rv,disabled:{draggable:!1,droppable:!1}});function Wv(e){let{children:t,id:n,items:r,strategy:i=Rv,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=gv(),d=Uh(Hv,n),f=s.rect!==null,p=(0,C.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,C.useRef)(p),v=!Iv(p,_.current),y=g!==-1&&h===-1||v,b=Lv(a);Fh(()=>{v&&m&&u(p)},[v,p,m,u]),(0,C.useEffect)(()=>{_.current=p},[p]);let x=(0,C.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Pv(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return C.createElement(Uv.Provider,{value:x},t)}var Gv=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Nv(n,r,i).indexOf(t)},Kv=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},qv={duration:200,easing:`ease`},Jv=`transform`,Yv=Zh.Transition.toString({property:Jv,duration:0,easing:`linear`}),Xv={roleDescription:`sortable`};function Zv(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,C.useState)(null),s=(0,C.useRef)(n);return Fh(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=jg(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,C.useEffect)(()=>{a&&o(null)},[a]),a}function Qv(e){let{animateLayoutChanges:t=Kv,attributes:n,disabled:r,data:i,getNewIndex:a=Gv,id:o,strategy:s,resizeObserverConfig:c,transition:l=qv}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,C.useContext)(Uv),y=$v(r,p),b=u.indexOf(o),x=(0,C.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,C.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:E,setNodeRef:D}=yv({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:O,activatorEvent:ee,activeNodeRect:k,attributes:A,setNodeRef:j,listeners:M,isDragging:N,over:te,setActivatorNodeRef:P,transform:F}=hv({id:o,data:x,attributes:{...Xv,...n},disabled:y.draggable}),ne=Eh(D,j),re=!!O,ie=re&&!m&&Fv(f)&&Fv(g),I=!_&&N,L=ie?(I&&ie?F:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,R=Fv(f)&&Fv(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ae=O?.id,z=(0,C.useRef)({activeId:ae,items:u,newIndex:R,containerId:d}),oe=u!==z.current.items,se=t({active:O,containerId:d,isDragging:N,isSorting:re,id:o,index:b,items:u,newIndex:z.current.newIndex,previousItems:z.current.items,previousContainerId:z.current.containerId,transition:l,wasDragging:z.current.activeId!=null}),ce=Zv({disabled:!se,index:b,node:T,rect:w});return(0,C.useEffect)(()=>{re&&z.current.newIndex!==R&&(z.current.newIndex=R),d!==z.current.containerId&&(z.current.containerId=d),u!==z.current.items&&(z.current.items=u)},[re,R,d,u]),(0,C.useEffect)(()=>{if(ae===z.current.activeId)return;if(ae!=null&&z.current.activeId==null){z.current.activeId=ae;return}let e=setTimeout(()=>{z.current.activeId=ae},50);return()=>clearTimeout(e)},[ae]),{active:O,activeIndex:f,attributes:A,data:x,rect:w,index:b,newIndex:R,items:u,isOver:E,isSorting:re,isDragging:N,listeners:M,node:T,overIndex:g,over:te,setNodeRef:ne,setActivatorNodeRef:P,setDroppableNodeRef:D,setDraggableNodeRef:j,transform:ce??L,transition:le()};function le(){if(ce||oe&&z.current.newIndex===b)return Yv;if(!(I&&!Jh(ee)||!l)&&(re||se))return Zh.Transition.toString({...l,property:Jv})}}function $v(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function ey(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var ty=[o_.Down,o_.Right,o_.Up,o_.Left],ny=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(ty.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case o_.Down:r.top<a.top&&t.push(n);break;case o_.Up:r.top>a.top&&t.push(n);break;case o_.Left:r.left>a.left&&t.push(n);break;case o_.Right:r.left<a.left&&t.push(n)}});let c=xg({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=bg(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Ig(c).some((e,t)=>s[t]!==e),i=ry(e,t),a=iy(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Kh(u,l)}}}};function ry(e,t){return!ey(e)||!ey(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function iy(e,t){return!ey(e)||!ey(t)||!ry(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var ay=(0,C.createContext)({columns:{},setColumns:()=>{},getItemId:()=>``,columnIds:[],activeId:null,setActiveId:()=>{},findContainer:()=>void 0,isColumn:()=>!1,modifiers:void 0}),oy=(0,C.createContext)({attributes:{},listeners:void 0,isDragging:!1,disabled:!1}),sy=(0,C.createContext)({listeners:void 0,isDragging:!1,disabled:!1}),cy=(0,C.createContext)(!1),ly=e=>Kv({...e,wasDragging:!0}),uy={sideEffects:Ev({styles:{active:{opacity:`0.4`}}})},dy=()=>()=>{},fy=()=>!0,py=()=>!1,my={activationConstraint:{distance:10}},hy={activationConstraint:{delay:250,tolerance:5}},gy={coordinateGetter:ny},_y={droppable:{strategy:D_.Always}};function vy({value:e,onValueChange:t,getItemValue:n,children:r,className:i,asChild:a=!1,onMove:o,onValueCommit:s,restoreOnCancel:c=!1,onDragStart:l,onDragEnd:u,onDragCancel:d,accessibility:f,modifiers:p,...m}){let h=e,g=t,[_,v]=(0,C.useState)(null),y=(0,C.useRef)(e),b=(0,C.useRef)(n);(0,C.useLayoutEffect)(()=>{y.current=e,b.current=n});let x=(0,C.useRef)(null),S=pg(fg(__,my),fg(y_,hy),fg(l_,gy)),w=(0,C.useMemo)(()=>Object.keys(h),[h,n]),T=(0,C.useCallback)(e=>w.includes(e),[w]),E=(0,C.useCallback)(e=>T(e)?e:w.find(t=>h[t].some(t=>n(t)===e)),[h,w,n,T]),D=(0,C.useCallback)((e,t,n)=>{if(!s)return;let r=x.current;if(!r)return;let i=t.active.id;if(n===`column`){let n=Object.keys(e).indexOf(i);if(n===-1||n===r.index)return;s(e,{kind:`column`,event:t,activeContainer:i,activeIndex:r.index,overContainer:String(t.over?.id??i),overIndex:n,previousValue:r.value});return}let a=b.current,o,c=-1;for(let t of Object.keys(e)){let n=e[t].findIndex(e=>a(e)===i);if(n!==-1){o=t,c=n;break}}o!==void 0&&(o!==r.container||c!==r.index)&&s(e,{kind:`item`,event:t,activeContainer:r.container??o,activeIndex:r.index,overContainer:o,overIndex:c,previousValue:r.value})},[s]),O=(0,C.useCallback)(e=>{if(v(e.active.id),l?.(e),s||c){let t=y.current,n=e.active.id,r=Object.keys(t);if(r.includes(n))x.current={value:t,container:n,index:r.indexOf(n)};else{let e=b.current,i,a=-1;for(let o of r){let r=t[o].findIndex(t=>e(t)===n);if(r!==-1){i=o,a=r;break}}x.current={value:t,container:i,index:a}}}},[l,s,c]),ee=(0,C.useCallback)(e=>{if(o)return;let{active:t,over:r}=e;if(!r||T(t.id))return;let i=E(t.id),a=E(r.id);if(i&&a){if(i!==a){let e=h[i],o=h[a],s=e.findIndex(e=>n(e)===t.id),c=o.findIndex(e=>n(e)===r.id);T(r.id)&&(c=o.length);let l=[...e],u=[...o],[d]=l.splice(s,1);u.splice(c,0,d),g({...h,[i]:l,[a]:u})}else{let e=i,a=h[e].findIndex(e=>n(e)===t.id),o=h[e].findIndex(e=>n(e)===r.id);a!==o&&g({...h,[e]:Nv(h[e],a,o)})}}},[E,n,T,g,h,o]),k=(0,C.useCallback)(e=>{let t=x.current;c&&t&&!o?g(t.value):s&&t&&!o&&D(y.current,e,`item`),x.current=null,v(null),d?.(e)},[c,o,s,g,d,D]),A=(0,C.useCallback)(e=>{let{active:t,over:r}=e;if(v(null),u?.(e),!r){D(y.current,e,`item`),x.current=null;return}if(o&&!T(t.id)){let i=E(t.id),a=E(r.id);i&&a&&o({event:e,activeContainer:i,activeIndex:h[i].findIndex(e=>n(e)===t.id),overContainer:a,overIndex:T(r.id)?h[a].length:h[a].findIndex(e=>n(e)===r.id)}),x.current=null;return}if(T(t.id)&&T(r.id)){let n=w.indexOf(t.id),i=w.indexOf(r.id);if(n!==i){let t=Nv(Object.keys(h),n,i),r={};t.forEach(e=>{r[e]=h[e]}),g(r),D(r,e,`column`)}x.current=null;return}if(T(t.id)){x.current=null;return}let i=E(t.id),a=E(r.id);if(i&&a&&i===a){let a=i,o=h[a].findIndex(e=>n(e)===t.id),s=h[a].findIndex(e=>n(e)===r.id);if(o!==s){let t={...h,[a]:Nv(h[a],o,s)};g(t),D(t,e,`item`)}else D(h,e,`item`)}else D(h,e,`item`);x.current=null},[w,h,E,n,T,g,o,u,D]),j=(0,C.useMemo)(()=>({columns:h,setColumns:g,getItemId:n,columnIds:w,activeId:_,setActiveId:v,findContainer:E,isColumn:T,modifiers:p}),[h,g,n,w,_,E,T,p]),M=a?Rr:`div`;return(0,W.jsx)(ay.Provider,{value:j,children:(0,W.jsx)(dv,{sensors:S,modifiers:p,accessibility:f,measuring:_y,onDragStart:O,onDragOver:ee,onDragEnd:A,onDragCancel:k,children:(0,W.jsx)(M,{"data-slot":`kanban`,"data-dragging":_!==null,className:U(_!==null&&`cursor-grabbing!`,i),...m,children:r})})})}function yy({className:e,asChild:t=!1,children:n,...r}){let{columnIds:i}=(0,C.useContext)(ay);return(0,W.jsx)(Wv,{items:i,strategy:Rv,children:(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-board`,className:U(`grid auto-rows-fr gap-4`,e),...r,children:n})})}function by({value:e,className:t,asChild:n=!1,disabled:r,children:i,...a}){let o=(0,C.useContext)(cy),{setNodeRef:s,transform:c,transition:l,attributes:u,listeners:d,isDragging:f}=Qv({id:e,disabled:r||o,animateLayoutChanges:ly}),{activeId:p,isColumn:m}=(0,C.useContext)(ay),h=p?m(p):!1,g={transition:l,transform:Zh.Transform.toString(c)},_=n?Rr:`div`;return o?(0,W.jsx)(oy.Provider,{value:{attributes:{},listeners:void 0,isDragging:!0,disabled:!1},children:(0,W.jsx)(_,{"data-slot":`kanban-column`,"data-value":e,"data-dragging":!0,className:U(`group/kanban-column flex flex-col`,t),...a,children:i})}):(0,W.jsx)(oy.Provider,{value:{attributes:u,listeners:d,isDragging:h,disabled:r},children:(0,W.jsx)(_,{"data-slot":`kanban-column`,"data-value":e,"data-dragging":f,"data-disabled":r,ref:s,style:g,className:U(`group/kanban-column flex flex-col`,f&&`z-50 opacity-50`,r&&`opacity-50`,t),...a,children:i})})}function xy({className:e,asChild:t=!1,cursor:n=!0,children:r,...i}){let{attributes:a,listeners:o,isDragging:s,disabled:c}=(0,C.useContext)(oy);return(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-column-handle`,"data-dragging":s,"data-disabled":c,...a,...o,className:U(`opacity-0 transition-opacity group-hover/kanban-column:opacity-100`,n&&(s?`cursor-grabbing!`:`cursor-grab!`),e),...i,children:r})}function Sy({value:e,className:t,asChild:n=!1,disabled:r,children:i,...a}){let o=(0,C.useContext)(cy),{setNodeRef:s,transform:c,transition:l,attributes:u,listeners:d,isDragging:f}=Qv({id:e,disabled:r||o,animateLayoutChanges:ly}),{activeId:p,isColumn:m}=(0,C.useContext)(ay),h=p?!m(p):!1,g={transition:l,transform:Zh.Transform.toString(c)},_=n?Rr:`div`;return o?(0,W.jsx)(sy.Provider,{value:{listeners:void 0,isDragging:!0,disabled:!1},children:(0,W.jsx)(_,{"data-slot":`kanban-item`,"data-value":e,"data-dragging":!0,className:U(t),...a,children:i})}):(0,W.jsx)(sy.Provider,{value:{listeners:d,isDragging:h,disabled:r},children:(0,W.jsx)(_,{"data-slot":`kanban-item`,"data-value":e,"data-dragging":f,"data-disabled":r,ref:s,style:g,...u,className:U(f&&`z-50 opacity-50`,r&&`opacity-50`,t),...a,children:i})})}function Cy({className:e,asChild:t=!1,cursor:n=!0,children:r,...i}){let{listeners:a,isDragging:o,disabled:s}=(0,C.useContext)(sy);return(0,W.jsx)(t?Rr:`div`,{"data-slot":`kanban-item-handle`,"data-dragging":o,"data-disabled":s,...a,className:U(n&&(o?`cursor-grabbing!`:`cursor-grab!`),e),...i,children:r})}function wy({value:e,className:t,asChild:n=!1,children:r,...i}){let{columns:a,getItemId:o}=(0,C.useContext)(ay),s=(0,C.useMemo)(()=>{let t=a[e];if(!t)throw Error(`KanbanColumnContent: column "${e}" was not found in the Kanban value. Available columns: ${Object.keys(a).join(`, `)||`(none)`}.`);return t.map(o)},[a,o,e]);return(0,W.jsx)(Wv,{items:s,strategy:Bv,children:(0,W.jsx)(n?Rr:`div`,{"data-slot":`kanban-column-content`,className:U(`flex flex-col gap-2`,t),...i,children:r})})}function Ty({children:e,className:t,...n}){let{activeId:r,isColumn:i,modifiers:a}=(0,C.useContext)(ay),o=(0,C.useSyncExternalStore)(dy,fy,py),s=r&&i(r)?`column`:`item`,c=r&&e?typeof e==`function`?e({value:r,variant:s}):e:null;return o?(0,de.createPortal)((0,W.jsx)(Mv,{dropAnimation:uy,modifiers:a,className:U(`z-50`,r&&`cursor-grabbing`,t),...n,children:(0,W.jsx)(cy.Provider,{value:!0,children:c})}),document.body):null}function Ey({className:e,type:t,...n}){return(0,W.jsx)(`input`,{type:t,"data-slot":`input`,className:U(`border-input focus-visible:border-ring focus-visible:ring-ring/50 h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`placeholder:text-muted-foreground`,e),...n})}function Dy({className:e,...t}){return(0,W.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:U(`group/input-group border-input dark:bg-input/30 relative flex h-9 w-full min-w-0 items-center rounded-md border shadow-xs outline-none`,`has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]`,e),...t})}var Oy=wr(`text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm select-none [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-3`,"inline-end":`order-last pr-3`}},defaultVariants:{align:`inline-start`}});function ky({className:e,align:t=`inline-start`,...n}){return(0,W.jsx)(`div`,{"data-slot":`input-group-addon`,className:U(Oy({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function Ay({className:e,...t}){return(0,W.jsx)(Ey,{"data-slot":`input-group-control`,className:U(`flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent`,e),...t})}var jy=`collapsed-columns`,My=`collapsed-epic-statuses`,Ny=`collapsed-favourite-folders`,Py=`board-chrome`,Fy=`board-opener`,Iy=`favourite-epics`,Ly=`board-presets`,Ry=[`In Progress`,`Completed`,`Cancelled`,`Canceled`],zy={filter:{},sort:`payload`,hide:[]},By={keys:[],folders:[]};function Vy(e=jy,t=[]){try{let n=localStorage.getItem(e);if(n===null)return new Set(t);let r=JSON.parse(n);return new Set(Array.isArray(r)?r.filter(e=>typeof e==`string`):t)}catch{return new Set(t)}}function Hy(e,t=jy){localStorage.setItem(t,JSON.stringify([...e]))}function Uy(e,t){let n=t.toLowerCase();return[...e].some(e=>e.toLowerCase()===n)}function Wy(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))n!==`priorities`&&n!==`assignees`&&Array.isArray(r)&&(t[n]=r.filter(e=>typeof e==`string`));return Array.isArray(e.priorities)&&!t.priority&&(t.priority=e.priorities.filter(e=>typeof e==`string`)),Array.isArray(e.assignees)&&!t.assignee&&(t.assignee=e.assignees.filter(e=>typeof e==`string`)),t}function Gy(){try{let e=localStorage.getItem(Py);if(e===null)return zy;let t=JSON.parse(e);return{filter:Wy(t.filter),sort:t.sort===`priority`||t.sort===`age`||t.sort===`due`||t.sort===`key`?t.sort:`payload`,hide:Array.isArray(t.hide)?t.hide.filter(e=>typeof e==`string`):[]}}catch{return zy}}function Ky(e){localStorage.setItem(Py,JSON.stringify(e))}function qy(){try{let e=localStorage.getItem(Iy);if(e===null)return By;let t=JSON.parse(e);if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return{keys:t,folders:[]};if(t&&typeof t==`object`){let e=t;return{keys:Array.isArray(e.keys)?e.keys.filter(e=>typeof e==`string`):[],folders:Array.isArray(e.folders)?e.folders.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.name!=`string`||!t.name.trim()?[]:[{name:t.name,keys:Array.isArray(t.keys)?t.keys.filter(e=>typeof e==`string`):[]}]}):[]}}return By}catch{return By}}function Jy(e){localStorage.setItem(Iy,JSON.stringify(e))}function Yy(){try{let e=localStorage.getItem(Ly);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.name!=`string`||!t.name.trim()?[]:[{name:t.name,filter:Wy(t.filter),sort:t.sort===`priority`||t.sort===`age`||t.sort===`due`||t.sort===`key`?t.sort:`payload`,hide:Array.isArray(t.hide)?t.hide.filter(e=>typeof e==`string`):[]}]}):[]}catch{return[]}}function Xy(e){localStorage.setItem(Ly,JSON.stringify(e))}function Zy(){try{return localStorage.getItem(Fy)===`epics`?`epics`:`stories`}catch{return`stories`}}function Qy(e){localStorage.setItem(Fy,e)}function $y(e,t){let n=[{label:`Key`,value:e.key},{label:`Summary`,value:e.summary}];return t&&n.push({label:`Jira URL`,value:t}),e.priority&&n.push({label:`Priority`,value:e.priority}),e.assignee&&n.push({label:`Assignee`,value:e.assignee}),e.dueDate&&n.push({label:`Due date`,value:e.dueDate}),e.labels?.length&&n.push({label:`Labels`,value:e.labels.join(`, `),pills:e.labels}),n}async function eb(e,t){return(await fetch(e,{headers:{"content-type":`application/json`},...t})).json()}function tb(e){return Object.fromEntries(e.map(e=>[e.title,e.cards]))}function nb(){return typeof document>`u`?`light`:document.documentElement.classList.contains(`dark`)?`dark`:`light`}function rb(e){document.documentElement.classList.toggle(`dark`,e===`dark`),localStorage.setItem(`theme`,e)}var ib={done:`green`,complete:`green`,completed:`green`,closed:`green`,resolved:`green`,progress:`yellow`,review:`yellow`,doing:`yellow`,cancelled:`gray`,canceled:`gray`};function ab(e){if(!e)return`var(--primary)`;let t=e.toLowerCase(),n=Object.keys(ib).find(e=>t.includes(e));return`var(--kanban-board-circle-${n?ib[n]:`gray`})`}function ob(e){let t=(e??``).toLowerCase();return t===`high`||t===`highest`||t===`critical`?`text-red-500`:t===`medium`?`text-orange-400`:`text-yellow-500`}function sb(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function cb(e){let t=[];for(let n of e){let e=t.at(-1);n.group&&e?.group===n.group?e.facets.push(n):t.push({group:n.group,facets:[n]})}return t}function lb({facet:e,selected:t,onToggle:n}){return(0,W.jsxs)(W.Fragment,{children:[e.label===e.group?null:(0,W.jsx)(Mf,{children:e.label}),e.values.map(e=>(0,W.jsx)(Pf,{checked:t.includes(e),onCheckedChange:()=>n(e),children:e},e))]})}function ub({facets:e,filter:t,onToggle:n,onClear:r}){let[i,a]=(0,C.useState)({});return(0,W.jsxs)(jf,{align:`end`,className:`w-56`,children:[cb(e).map((e,r)=>{let o=e.facets.map(e=>(0,W.jsx)(lb,{facet:e,selected:t[e.key]??[],onToggle:t=>n(e.key,t)},e.key));return(0,W.jsxs)(C.Fragment,{children:[r>0?(0,W.jsx)(Lf,{}):null,e.group?(0,W.jsxs)(ph,{open:i[e.group]!==!1,onOpenChange:t=>a(n=>({...n,[e.group]:t})),className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex w-full items-center gap-1.5 px-2 py-1.5 text-left text-[11px] font-medium`,onPointerDown:e=>e.preventDefault(),children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,i[e.group]===!1&&`-rotate-90`)}),e.group]})}),(0,W.jsx)(hh,{className:`flex flex-col`,children:o})]}):o]},e.group??e.facets[0]?.key)}),e.length?(0,W.jsx)(Lf,{}):null,(0,W.jsx)(Nf,{onClick:r,children:`Clear Filter, Sort, and Hide`})]})}function db({card:e,asHandle:t,isOverlay:n,disabled:r,onOpen:i}){let a=We(e.created),o=(0,W.jsxs)(`div`,{className:`bg-card hover:bg-foreground/5 rounded-[9px] border px-3 pt-2 pb-3`,children:[(0,W.jsxs)(`div`,{className:`flex h-[22px] items-center justify-between gap-2`,children:[(0,W.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] font-medium tabular-nums`,children:e.key}),(e.type??``).toLowerCase()===`epic`?(0,W.jsx)(`span`,{className:`text-muted-foreground/60 text-[11px] font-normal`,children:`Epic`}):null]}),a?(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] tabular-nums`,children:a}):null]}),(0,W.jsx)(`p`,{className:`mt-0.5 truncate text-[13px] leading-[18px]`,children:e.summary}),e.priority||e.labels?.length||e.assignee||e.dueDate?(0,W.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-2 pt-2`,children:[e.priority?(0,W.jsx)(`span`,{className:U(`inline-flex h-6 shrink-0 items-center rounded-full border px-2 text-[12px] font-medium capitalize`,ob(e.priority)),children:e.priority}):null,e.labels?.map(e=>(0,W.jsx)(`span`,{className:`text-muted-foreground inline-flex h-6 shrink-0 items-center rounded-full border px-2 text-[12px]`,children:e},e)),(0,W.jsx)(`span`,{className:`flex-1`}),e.dueDate?(0,W.jsx)(`time`,{className:`text-muted-foreground shrink-0 text-[11px] tabular-nums`,children:e.dueDate}):null,e.assignee?(0,W.jsx)(br,{title:e.assignee,children:(0,W.jsx)(xr,{children:e.assignee.charAt(0)})}):null]}):null]});return(0,W.jsx)(Sy,{value:e.key,disabled:r,children:t&&!n?(0,W.jsx)(Cy,{onClick:i,children:o}):o})}function fb({title:e,cards:t,isOverlay:n,disabled:r,onOpen:i,onHide:a}){let[o,s]=(0,C.useState)(()=>n||!Vy().has(e));function c(t){if(s(t),n)return;let r=Vy();t?r.delete(e):r.add(e),Hy(r)}return(0,W.jsx)(by,{value:e,className:`group h-full min-h-0`,children:(0,W.jsx)(ph,{open:o,onOpenChange:c,className:U(`flex h-full min-h-0 flex-col`,!o&&`h-auto`),children:(0,W.jsxs)(`div`,{className:U(`flex flex-col`,o?`h-full min-h-0`:`h-auto`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pt-[13px] pb-5`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,W.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full`,style:{backgroundColor:ab(e)}}),(0,W.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] tabular-nums`,children:t.length}),(0,W.jsx)(j,{className:U(`text-muted-foreground size-3.5 shrink-0 transition-transform`,!o&&`-rotate-90`)})]})}),a?(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Hide ${e}`,onClick:a,children:(0,W.jsx)(F,{})}):null,(0,W.jsx)(xy,{className:`opacity-0 transition-opacity group-hover:opacity-60`,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,tabIndex:-1,type:`button`,children:(0,W.jsx)(ne,{})})})]}),(0,W.jsx)(hh,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,W.jsx)(wy,{value:e,className:`flex h-full flex-col gap-2 overflow-auto px-2 pb-2`,children:t.map(e=>(0,W.jsx)(db,{card:e,asHandle:!n,isOverlay:n,disabled:r,onOpen:()=>i?.(e.key)},e.key))})})]})})})}function pb(e,t){return[...new Set(e.map(e=>e.status?.trim()).filter(e=>!!e))].filter(e=>e!==t)}function mb({epic:e,selected:t,count:n,favourited:r,folders:i,moveTo:a,onSelect:o,onToggleFavourite:s,onFile:c,onMove:l,onOpen:u}){let d=a??[],f=!!(c&&r),p=!!u||f||d.length>0;return(0,W.jsxs)(`div`,{className:U(`flex h-14 w-full items-center gap-1 rounded-lg pr-1`,t?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),children:[(0,W.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-3 px-3 text-left`,onClick:()=>void o(e.key),children:[(0,W.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{backgroundColor:ab(e.status)}}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] leading-[18px]`,children:e.summary}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] font-medium tabular-nums`,children:e.key}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[11px] tabular-nums`,children:n})]}),p?(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":f?`File ${e.key}`:d.length?`Move ${e.key}`:`Open ${e.key}`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`end`,children:[u?(0,W.jsx)(Nf,{onClick:()=>u(e.key),children:`Open`}):null,f?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Nf,{onClick:()=>c?.(e.key,null),children:`Unfiled`}),i?.map(t=>(0,W.jsx)(Nf,{onClick:()=>c?.(e.key,t),children:t},t))]}):null,f&&d.length?(0,W.jsxs)(Rf,{children:[(0,W.jsx)(zf,{children:`Move`}),(0,W.jsx)(Bf,{children:d.map(t=>(0,W.jsx)(Nf,{onClick:()=>l?.(e.key,t),children:t},t))})]}):null,f?null:d.map(t=>(0,W.jsx)(Nf,{onClick:()=>l?.(e.key,t),children:t},t))]})]}):null,(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":r?`Unfavourite ${e.key}`:`Favourite ${e.key}`,onClick:t=>{t.stopPropagation(),s(e.key)},children:(0,W.jsx)(oe,{className:U(r&&`fill-current`)})})]})}function hb({status:e,epics:t,selectedEpic:n,childCount:r,favourites:i,listedEpics:a,onSelect:o,onToggleFavourite:s,onMove:c,onOpen:l}){let[u,d]=(0,C.useState)(()=>!Uy(Vy(My,Ry),e));function f(t){d(t);let n=Vy(My,Ry);if(t)for(let t of[...n])t.toLowerCase()===e.toLowerCase()&&n.delete(t);else n.add(e);Hy(n,My)}return(0,W.jsxs)(ph,{open:u,onOpenChange:f,className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 items-center gap-1.5 px-3 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!u&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:e}),(0,W.jsx)(`span`,{className:`text-[11px] tabular-nums`,children:t.length})]})}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:t.map(e=>(0,W.jsx)(mb,{epic:e,selected:n===e.key,count:r(e.key),favourited:i.keys.includes(e.key),onSelect:o,onToggleFavourite:s,moveTo:pb(a,e.status),onMove:c,onOpen:l},e.key))})]})}function gb({fields:e}){return(0,W.jsx)(`dl`,{className:`flex flex-col gap-3 p-4 text-[13px]`,children:e.map(e=>(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`dt`,{className:`text-muted-foreground text-[11px] font-medium`,children:e.label}),(0,W.jsx)(`dd`,{className:`whitespace-pre-wrap`,children:e.label===`Jira URL`?(0,W.jsx)(`a`,{className:`text-foreground font-medium underline-offset-4 hover:underline`,href:e.value,target:`_blank`,rel:`noreferrer`,children:e.value}):e.pills?.length?(0,W.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:e.pills.map(e=>(0,W.jsx)(`span`,{className:`text-muted-foreground inline-flex h-6 items-center rounded-full border px-2 text-[12px]`,children:e},e))}):e.value})]},e.label))})}function _b(){let[e,t]=(0,C.useState)({}),[n,r]=(0,C.useState)([]),[i,a]=(0,C.useState)(null),[o,s]=(0,C.useState)(!1),[c,l]=(0,C.useState)(null),[u,d]=(0,C.useState)(null),[f,p]=(0,C.useState)(null),[m,h]=(0,C.useState)([]),[g,_]=(0,C.useState)(``),[v,y]=(0,C.useState)(``),[b,x]=(0,C.useState)(``),[S,w]=(0,C.useState)(``),[T,E]=(0,C.useState)(!1),[D,ee]=(0,C.useState)(nb),[A,j]=(0,C.useState)(Gy),[M,te]=(0,C.useState)(qy),[P,F]=(0,C.useState)(Yy),[ne,ie]=(0,C.useState)(``),[R,ae]=(0,C.useState)(``),[z,oe]=(0,C.useState)(``),[ce,ue]=(0,C.useState)(``),[de,fe]=(0,C.useState)(Zy),pe=(0,C.useRef)(null),[me,he]=(0,C.useState)(null),[ge,_e]=(0,C.useState)(!1),ve=(0,C.useRef)(!1),ye=(0,C.useRef)(null),be={...A,epics:n},xe=de===`epics`,Se=(0,C.useMemo)(()=>pt(xe?e:ft(e,me?.children,b),xe?null:c,b,be),[e,c,b,A,n,xe,me]),Ce=(0,C.useMemo)(()=>Object.values(e).flat(),[e]),we=i??Ce,Te=(0,C.useMemo)(()=>{let e=new Map;for(let t of me?.columns.flatMap(e=>e.cards)??[])e.set(t.key,t);for(let t of we)e.has(t.key)||e.set(t.key,t);return[...e.values()]},[me,we]),Ee=(0,C.useMemo)(()=>yt(n,we,b,A.filter),[n,we,b,A.filter]),De=(0,C.useMemo)(()=>bt(Ee),[Ee]),ke=(0,C.useMemo)(()=>Tt(n,M,b,we,A.filter),[n,M,b,we,A.filter]),Ae=Object.keys(Se),je=u?[`cards`,`open`]:[`cards`],Me=Bm({id:`shell`,panelIds:[`epics`,`board`],onlySaveAfterUserInteractions:!0}),Ne=Bm({id:`board-open`,panelIds:je,onlySaveAfterUserInteractions:!0}),Pe=Bm({id:`columns`,panelIds:Ae,onlySaveAfterUserInteractions:!0}),Fe=f?Ke(f,window.location.origin):null,Ie=ot(Ce,n),Le=Object.keys(e),Re=ke.unfiled.length>0||ke.folders.length>0;function ze(e){j(e),Ky(e)}function Be(e){te(e),Jy(e)}function Ve(e){F(e),Xy(e)}function He(e,n){pe.current=e,he(e);let i=e.epics??[];t(tb(n===`epics`?Ge(i):e.columns)),r(i),a(e.children?Object.values(e.children).flat():null),e.error&&w(e.error)}function Ue(e){pe.current=e,he(e);let n=e.epics??[];t(tb(de===`epics`?Ge(n):e.columns)),r(n),a(e.children?Object.values(e.children).flat():null),l(t=>t&&(e.epics??[]).some(e=>e.key===t)?t:null),e.error&&w(e.error)}async function We(){let e=await eb(`/api/board`);Ue(e),e.flags&&y(e.flags)}(0,C.useEffect)(()=>{We()},[]),(0,C.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey&&e.key.toLowerCase()===`k`){if(e.preventDefault(),ve.current){ve.current=!1,_e(!1),ye.current?.focus();return}ye.current=document.activeElement instanceof HTMLElement?document.activeElement:null,ve.current=!0,_e(!0);return}e.key===`Escape`&&ve.current&&(e.preventDefault(),ve.current=!1,_e(!1),ye.current?.focus())}return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);async function qe(){E(!0),w(``),console.info(`[pipe-kan] Refresh`,v);let e=Oe.loading(`Refreshing…`,{description:`Listing Issues and Epics`});try{let t=await eb(`/api/refresh`,{method:`POST`,body:JSON.stringify({flags:v})});Ue(t),t.error?(console.info(`[pipe-kan] Refresh error`,t.error),Oe.error(`Refresh failed`,{id:e,description:t.error})):(console.info(`[pipe-kan] Refreshed`,t.epics.length,`epics`),Oe.success(`Refreshed`,{id:e,description:`${t.epics.length} epics`}))}catch(t){let n=t instanceof Error?t.message:`Refresh failed`;console.info(`[pipe-kan] Refresh failed`,n),w(n),Oe.error(`Refresh failed`,{id:e,description:n})}finally{E(!1)}}async function Je(e,t){E(!0),w(``);let n=Oe.loading(`Moving…`);try{let r=await eb(`/api/move`,{method:`POST`,body:JSON.stringify({key:e,status:t})});if(Ue(r.board),r.ok)Oe.success(`Moved`,{id:n});else{let e=r.error??`Move failed`;w(e),Oe.error(`Move failed`,{id:n,description:e})}}catch(e){let t=e instanceof Error?e.message:`Move failed`;w(t),Oe.error(`Move failed`,{id:n,description:t})}finally{E(!1)}}async function Ye(e){let t=pe.current?.columns.flatMap(e=>e.cards)??[],r=Ce.find(t=>t.key===e)??t.find(t=>t.key===e),i=n.find(t=>t.key===e),a=r??(i?{key:i.key,summary:i.summary,priority:i.priority,assignee:i.assignee,dueDate:i.dueDate,labels:i.labels}:void 0),o=`/browse/${e}`;d(e),p(o),_(``),h(a?$y(a,o):[{label:`Jira URL`,value:o}]);let s=await eb(`/api/open`,{method:`POST`,body:JSON.stringify({key:e})});if(p(s.url),s.error){_(s.error),h(a?$y(a,s.url):[{label:`Jira URL`,value:s.url}]);return}h(s.fields)}function Ze(e,n){if(n.kind===`column`||n.activeContainer===n.overContainer||A.hide.includes(n.overContainer)){t(e=>St(n.previousValue,e,c,b,be));return}Je(String(n.event.active.id),n.overContainer)}function Qe(){let e=D===`dark`?`light`:`dark`;rb(e),ee(e)}function $e(e){return vt(we,e,b,A.filter,n)}function et(){Qy(`stories`),fe(`stories`),l(null),pe.current&&He(pe.current,`stories`)}function tt(){Qy(`epics`),fe(`epics`),l(null),pe.current&&He(pe.current,`epics`)}async function nt(e){let n=de===`epics`;if(n&&et(),l(e),!e||(n&&pe.current?pe.current.columns.flatMap(e=>e.cards):Ce).filter(t=>t.epic===e&&Xe(t,b)).length>0)return;E(!0),w(``);let r=Oe.loading(`Listing children…`);try{let n=await eb(`/api/epic`,{method:`POST`,body:JSON.stringify({key:e})});t(t=>Ct(t,tb(n.columns),e)),Oe.success(`Listed children`,{id:r})}catch(e){let t=e instanceof Error?e.message:`Epic list failed`;w(t),Oe.error(`Epic list failed`,{id:r,description:t})}finally{E(!1)}}function rt(){let e=Dt(M,ne);if(!e.ok){ae(`Folder names must be unique`);return}ie(``),ae(``),Be(e.state)}function it(){let e=Nt(P,z,A);if(!e.ok){ue(`Preset names must be unique`);return}oe(``),ue(``),Ve(e.presets)}function at(e){let t=Pt(P,e);t.ok&&(ze(t.chrome),de===`epics`&&et())}function st(e){ve.current=!1,_e(!1),x(``),e.kind===`all-stories`?et():e.kind===`all-epics`?tt():e.kind===`refresh`?qe():e.kind===`agent`?s(!0):e.kind===`preset`?at(e.name):e.kind===`epic`?(d(null),p(null),h([]),_(``),nt(e.key)):(e.epic?nt(e.epic):et(),Ye(e.key))}function ct(e){let t=Ft(P,e,A);t.ok&&Ve(t.presets)}function lt(e,t){let n=It(P,e,t);if(!n.ok){ue(`Preset names must be unique`);return}ue(``),Ve(n.presets)}return(0,W.jsxs)(`div`,{className:`bg-sidebar flex h-screen`,children:[(0,W.jsxs)(Jm,{id:`shell`,orientation:`horizontal`,className:`min-h-0 flex-1`,defaultLayout:Me.defaultLayout,onLayoutChanged:Me.onLayoutChanged,children:[(0,W.jsx)(Ym,{id:`epics`,defaultSize:`244px`,minSize:`12rem`,maxSize:`40%`,className:`min-h-0`,children:(0,W.jsxs)(`aside`,{className:`text-sidebar-foreground flex h-full min-h-0 flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex h-10 items-center justify-between px-4`,children:[(0,W.jsx)(`span`,{className:`text-[13px] font-medium`,children:`pipe-kan`}),(0,W.jsx)(`span`,{className:`text-muted-foreground text-[12px] tabular-nums`,children:Ee.length})]}),(0,W.jsxs)(`nav`,{className:`flex flex-1 flex-col gap-0.5 overflow-auto px-2 pb-2`,children:[(0,W.jsx)(`button`,{type:`button`,className:U(`h-8 rounded-lg px-3 text-left text-[13px]`,de===`stories`&&c===null?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),onClick:et,children:`All stories`}),(0,W.jsx)(`button`,{type:`button`,className:U(`h-8 rounded-lg px-3 text-left text-[13px]`,de===`epics`?`bg-sidebar-accent text-sidebar-accent-foreground`:`hover:bg-foreground/5`),onClick:tt,children:`All epics`}),Re?(0,W.jsx)(vb,{pane:ke,selectedEpic:c,childCount:$e,favourites:M,folderName:ne,folderError:R,onFolderName:ie,onCreateFolder:rt,onRenameFolder:(e,t)=>{let n=Ot(M,e,t);if(!n.ok){ae(`Folder names must be unique`);return}ae(``),Be(n.state)},onDeleteFolder:e=>Be(kt(M,e)),listedEpics:n,onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onFile:(e,t)=>Be(At(M,e,t)),onMove:Je,onOpen:Ye}):null,(0,W.jsx)(bb,{presets:P,presetName:z,presetError:ce,onPresetName:oe,onCreatePreset:it,onApplyPreset:at,onOverwritePreset:ct,onRenamePreset:lt,onDeletePreset:e=>Ve(Lt(P,e))}),(0,W.jsx)(`div`,{className:`text-muted-foreground px-3 pt-3 pb-1 text-[11px] font-medium`,children:`Epics`}),De.map(e=>e.status?(0,W.jsx)(hb,{status:e.status,epics:e.epics,selectedEpic:c,childCount:$e,favourites:M,listedEpics:n,onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onMove:Je,onOpen:Ye},e.status):e.epics.map(e=>(0,W.jsx)(mb,{epic:e,selected:c===e.key,count:$e(e.key),favourited:M.keys.includes(e.key),moveTo:pb(n,e.status),onSelect:nt,onToggleFavourite:e=>Be(Et(M,e)),onMove:Je,onOpen:Ye},e.key)))]})]})}),(0,W.jsx)(Xm,{}),(0,W.jsx)(Ym,{id:`board`,defaultSize:`80%`,minSize:`24rem`,className:`min-h-0`,children:(0,W.jsx)(`div`,{className:`flex h-full min-h-0 flex-col p-2 pl-0`,children:(0,W.jsxs)(`div`,{className:`bg-background flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border`,children:[(0,W.jsxs)(`header`,{className:`flex min-h-11 shrink-0 flex-wrap items-center gap-2 px-3`,children:[(0,W.jsx)(`strong`,{className:`text-[13px] font-medium`,children:`Board`}),(0,W.jsxs)(Dy,{className:`h-7 max-w-72 min-w-40 flex-1 border-transparent bg-muted shadow-none`,children:[(0,W.jsx)(ky,{children:(0,W.jsx)(L,{className:`size-3.5`})}),(0,W.jsx)(Ay,{value:b,onChange:e=>x(e.target.value),placeholder:`Search Epics and Cards`,"aria-label":`Search`,className:`h-7 text-[13px]`}),b?(0,W.jsx)(ky,{align:`inline-end`,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,onClick:()=>x(``),children:(0,W.jsx)(le,{className:`size-3.5`})})}):null]}),(0,W.jsx)(`input`,{className:`placeholder:text-muted-foreground h-7 min-w-40 flex-1 rounded-md bg-muted px-2.5 text-[13px] outline-none`,value:v,onChange:e=>y(e.target.value),placeholder:`Scope flags`,spellCheck:!1,"aria-label":`Scope flags`}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(re,{}),`Filter`]})}),(0,W.jsx)(ub,{facets:Ie,filter:A.filter,onToggle:(e,t)=>ze({...A,filter:{...A.filter,[e]:sb(A.filter[e]??[],t)}}),onClear:()=>ze(zy)})]}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(O,{}),`Sort`]})}),(0,W.jsx)(jf,{align:`end`,children:(0,W.jsxs)(Ff,{value:A.sort,onValueChange:e=>ze({...A,sort:e}),children:[(0,W.jsx)(If,{value:`payload`,children:`Payload order`}),(0,W.jsx)(If,{value:`priority`,children:`Priority`}),(0,W.jsx)(If,{value:`age`,children:`Age`}),(0,W.jsx)(If,{value:`due`,children:`Due date`}),(0,W.jsx)(If,{value:`key`,children:`Key`})]})})]}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,children:[(0,W.jsx)(N,{}),`Columns`]})}),(0,W.jsx)(jf,{align:`end`,children:Le.map(e=>(0,W.jsx)(Pf,{checked:!A.hide.includes(e),onCheckedChange:t=>ze({...A,hide:t?A.hide.filter(t=>t!==e):[...A.hide,e]}),children:e},e))})]}),(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,onClick:()=>void qe(),disabled:T,"aria-busy":T,children:[T?(0,W.jsx)(Th,{className:`size-3.5`}):null,`Refresh`]}),(0,W.jsxs)(Qr,{variant:`ghost`,size:`sm`,onClick:()=>s(e=>!e),"aria-pressed":o,children:[(0,W.jsx)(k,{className:`mr-1 size-4`}),`Agent`]}),(0,W.jsx)(Qr,{variant:`ghost`,size:`icon-xs`,onClick:Qe,"aria-label":D===`dark`?`Switch to light mode`:`Switch to dark mode`,children:D===`dark`?(0,W.jsx)(se,{}):(0,W.jsx)(I,{})}),S?(0,W.jsx)(`p`,{className:`text-destructive w-full text-[13px] whitespace-pre-wrap`,children:S}):null]}),(0,W.jsxs)(Jm,{id:`board-open`,orientation:`horizontal`,className:`min-h-0 flex-1`,defaultLayout:Ne.defaultLayout,onLayoutChanged:Ne.onLayoutChanged,children:[(0,W.jsx)(Ym,{id:`cards`,defaultSize:u?`70%`:`100%`,minSize:`16rem`,className:`min-h-0`,children:(0,W.jsx)(`main`,{className:`h-full min-h-0 min-w-0 overflow-auto px-2 pb-2`,children:(0,W.jsxs)(vy,{className:`h-full min-h-0`,value:Se,onValueChange:e=>t(t=>xt(e,t,c,b,be)),getItemValue:e=>e.key,restoreOnCancel:!0,onValueCommit:Ze,children:[(0,W.jsx)(yy,{className:`grid h-full min-h-0 grid-cols-1 auto-rows-fr gap-3`,children:Ae.length?(0,W.jsx)(Jm,{id:`columns`,orientation:`horizontal`,className:`min-h-0`,defaultLayout:Pe.defaultLayout,onLayoutChanged:Pe.onLayoutChanged,children:Object.entries(Se).map(([e,t],n,r)=>(0,W.jsxs)(C.Fragment,{children:[n>0?(0,W.jsx)(Xm,{}):null,(0,W.jsx)(Ym,{id:e,defaultSize:`${100/Math.max(r.length,1)}%`,minSize:`16rem`,className:`min-h-0 min-w-0`,children:(0,W.jsx)(fb,{title:e,cards:t,disabled:T,onOpen:e=>void Ye(e),onHide:()=>ze({...A,hide:[...A.hide,e]})})})]},e))}):null}),(0,W.jsx)(Ty,{children:({value:e,variant:t})=>{if(t===`column`)return(0,W.jsx)(fb,{title:String(e),cards:Se[String(e)]??[],isOverlay:!0});let n=Object.values(Se).flat().find(t=>t.key===e);return n?(0,W.jsx)(db,{card:n,isOverlay:!0}):null}})]})})}),u?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Xm,{}),(0,W.jsx)(Ym,{id:`open`,defaultSize:`30%`,minSize:`16rem`,className:`min-h-0`,children:(0,W.jsxs)(`aside`,{className:`flex h-full min-h-0 flex-col border-l`,children:[(0,W.jsxs)(`div`,{className:`flex h-10 items-center gap-2 px-3`,children:[(0,W.jsx)(`a`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium underline-offset-4 hover:underline`,href:f??void 0,target:`_blank`,rel:`noreferrer`,children:u}),(0,W.jsx)(Qr,{variant:`ghost`,size:`icon-xs`,"aria-label":`Close issue`,onClick:()=>{d(null),p(null),h([]),_(``)},children:(0,W.jsx)(le,{})})]}),(0,W.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:[g?(0,W.jsx)(`p`,{className:`text-destructive px-4 pt-3 text-[13px] whitespace-pre-wrap`,children:g}):null,(0,W.jsx)(gb,{fields:m}),Fe?(0,W.jsx)(`iframe`,{title:u??`Issue`,src:Fe,className:`min-h-64 w-full border-0 bg-background`}):f?(0,W.jsx)(`div`,{className:`text-muted-foreground px-4 pb-6 text-[13px]`,children:`Jira refuses to embed this page.`}):null]})]})})]}):null]})]})})}),o?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Xm,{}),(0,W.jsx)(yh,{open:o,onClose:()=>s(!1),selectedIssueKey:u??c??void 0,boardView:{scope:`view`,kind:de,selectedEpic:xe?null:c,search:b,filter:A.filter,sort:A.sort,hide:A.hide,columns:Object.entries(Se).map(([e,t])=>({title:e,cards:t.map(e=>({key:e.key,summary:e.summary,epic:e.epic,assignee:e.assignee,priority:e.priority,labels:e.labels,dueDate:e.dueDate}))})),epics:Ee.map(e=>({key:e.key,summary:e.summary,status:e.status}))},pipeView:me?{scope:`pipe`,kind:`stories`,selectedEpic:null,search:``,filter:{},sort:`payload`,hide:[],columns:me.columns.map(e=>({title:e.title,cards:e.cards.map(e=>({key:e.key,summary:e.summary,epic:e.epic,assignee:e.assignee,priority:e.priority,labels:e.labels,dueDate:e.dueDate}))})),epics:me.epics.map(e=>({key:e.key,summary:e.summary,status:e.status}))}:void 0,onApplyPreset:at,onSetFilter:e=>ze({...A,filter:e})})]}):null]}),(0,W.jsx)(wh,{theme:D}),ge?(0,W.jsx)(Ch,{presets:P.map(e=>e.name),epics:me?.epics??n,cards:Te,favouriteKeys:M.keys,onPick:st,onClose:()=>{ve.current=!1,_e(!1),ye.current?.focus()}}):null]})}function vb({pane:e,selectedEpic:t,childCount:n,favourites:r,folderName:i,folderError:a,onFolderName:o,onCreateFolder:s,onRenameFolder:c,onDeleteFolder:l,listedEpics:u,onSelect:d,onToggleFavourite:f,onFile:p,onMove:m,onOpen:h}){let[g,_]=(0,C.useState)(()=>!Uy(Vy(My,Ry),`Favourites`));function v(e){_(e);let t=Vy(My,Ry);if(e)for(let e of[...t])e.toLowerCase()===`favourites`&&t.delete(e);else t.add(`Favourites`);Hy(t,My)}let y=r.folders.map(e=>e.name);return(0,W.jsxs)(ph,{open:g,onOpenChange:v,className:`flex flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1 px-1`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 min-w-0 flex-1 items-center gap-1.5 px-2 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!g&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:`Favourites`})]})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Favourite Folders`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`start`,className:`w-56`,children:[(0,W.jsx)(Mf,{children:`Create Folder`}),(0,W.jsxs)(`div`,{className:`px-2 pb-2`,children:[(0,W.jsx)(`input`,{className:`border-input h-7 w-full rounded-md border bg-transparent px-2 text-[13px] outline-none`,value:i,onChange:e=>o(e.target.value),placeholder:`Name`,"aria-label":`Folder name`,onKeyDown:e=>{e.key===`Enter`&&s()}}),a?(0,W.jsx)(`p`,{className:`text-destructive pt-1 text-[11px]`,children:a}):null]}),(0,W.jsx)(Nf,{onClick:s,children:`Create`}),y.length?(0,W.jsx)(Lf,{}):null,y.map(e=>(0,W.jsxs)(Nf,{onClick:()=>{let t=window.prompt(`Rename Folder`,e);t!=null&&c(e,t)},children:[`Rename `,e]},`rename-${e}`)),y.map(e=>(0,W.jsxs)(Nf,{onClick:()=>l(e),children:[`Delete `,e]},`delete-${e}`))]})]})]}),(0,W.jsxs)(hh,{className:`flex flex-col gap-0.5`,children:[e.unfiled.map(e=>(0,W.jsx)(mb,{epic:e,selected:t===e.key,count:n(e.key),favourited:!0,folders:y,onSelect:d,onToggleFavourite:f,onFile:p,moveTo:pb(u,e.status),onMove:m,onOpen:h},e.key)),e.folders.map(e=>(0,W.jsx)(yb,{folder:e,selectedEpic:t,childCount:n,folderNames:y,listedEpics:u,onSelect:d,onToggleFavourite:f,onFile:p,onMove:m,onOpen:h},e.name))]})]})}function yb({folder:e,selectedEpic:t,childCount:n,folderNames:r,listedEpics:i,onSelect:a,onToggleFavourite:o,onFile:s,onMove:c,onOpen:l}){let[u,d]=(0,C.useState)(()=>!Uy(Vy(Ny),e.name));function f(t){d(t);let n=Vy(Ny);if(t)for(let t of[...n])t.toLowerCase()===e.name.toLowerCase()&&n.delete(t);else n.add(e.name);Hy(n,Ny)}return(0,W.jsxs)(ph,{open:u,onOpenChange:f,className:`flex flex-col`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 items-center gap-1.5 px-3 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!u&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:e.name}),(0,W.jsx)(`span`,{className:`text-[11px] tabular-nums`,children:e.epics.length})]})}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:e.epics.map(e=>(0,W.jsx)(mb,{epic:e,selected:t===e.key,count:n(e.key),favourited:!0,folders:r,onSelect:a,onToggleFavourite:o,onFile:s,moveTo:pb(i,e.status),onMove:c,onOpen:l},e.key))})]})}function bb({presets:e,presetName:t,presetError:n,onPresetName:r,onCreatePreset:i,onApplyPreset:a,onOverwritePreset:o,onRenamePreset:s,onDeletePreset:c}){let[l,u]=(0,C.useState)(()=>!Uy(Vy(My,Ry),`Presets`));function d(e){u(e);let t=Vy(My,Ry);if(e)for(let e of[...t])e.toLowerCase()===`presets`&&t.delete(e);else t.add(`Presets`);Hy(t,My)}return(0,W.jsxs)(ph,{open:l,onOpenChange:d,className:`flex flex-col`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1 px-1`,children:[(0,W.jsx)(mh,{asChild:!0,children:(0,W.jsxs)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground flex h-7 min-w-0 flex-1 items-center gap-1.5 px-2 text-left`,children:[(0,W.jsx)(j,{className:U(`size-3.5 shrink-0 transition-transform`,!l&&`-rotate-90`)}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] font-medium`,children:`Presets`})]})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Presets`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`start`,className:`w-56`,children:[(0,W.jsx)(Mf,{children:`Save Preset`}),(0,W.jsxs)(`div`,{className:`px-2 pb-2`,children:[(0,W.jsx)(`input`,{className:`border-input h-7 w-full rounded-md border bg-transparent px-2 text-[13px] outline-none`,value:t,onChange:e=>r(e.target.value),placeholder:`Name`,"aria-label":`Preset name`,onKeyDown:e=>{e.key===`Enter`&&i()}}),n?(0,W.jsx)(`p`,{className:`text-destructive pt-1 text-[11px]`,children:n}):null]}),(0,W.jsx)(Nf,{onClick:i,children:`Save`})]})]})]}),(0,W.jsx)(hh,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(`button`,{type:`button`,className:`hover:bg-foreground/5 flex h-7 min-w-0 flex-1 items-center rounded-lg px-[7px] text-left text-[13px] font-medium`,onClick:()=>a(e.name),children:(0,W.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})}),(0,W.jsxs)(kf,{children:[(0,W.jsx)(Af,{asChild:!0,children:(0,W.jsx)(Qr,{size:`icon-xs`,variant:`ghost`,type:`button`,"aria-label":`Preset ${e.name}`,children:(0,W.jsx)(P,{})})}),(0,W.jsxs)(jf,{align:`end`,children:[(0,W.jsx)(Nf,{onClick:()=>o(e.name),children:`Save over`}),(0,W.jsx)(Nf,{onClick:()=>{let t=window.prompt(`Rename Preset`,e.name);t!=null&&s(e.name,t)},children:`Rename`}),(0,W.jsx)(Nf,{onClick:()=>c(e.name),children:`Delete`})]})]})]},e.name))})]})}(0,ue.createRoot)(document.getElementById(`root`)).render((0,W.jsx)(C.StrictMode,{children:(0,W.jsx)(_b,{})}));
|
package/dist/ui/index.html
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
(!theme && matchMedia("(prefers-color-scheme: dark)").matches);
|
|
18
18
|
document.documentElement.classList.toggle("dark", dark);
|
|
19
19
|
</script>
|
|
20
|
-
<script type="module" crossorigin src="/assets/index-
|
|
20
|
+
<script type="module" crossorigin src="/assets/index-iHkcdIak.js"></script>
|
|
21
21
|
<link rel="stylesheet" crossorigin href="/assets/index-BpD_rOS_.css">
|
|
22
22
|
</head>
|
|
23
23
|
<body>
|