@vireo-ai/trellis-ui 0.1.32 → 0.1.34

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.
Files changed (17) hide show
  1. package/package.json +1 -1
  2. package/packages/client/types/runtime/drag-and-drop/sortable/ghost.d.ts +21 -3
  3. package/packages/client/types/runtime/drag-and-drop/sortable/index.d.ts +2 -2
  4. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +7 -7
  5. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  6. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-2JKu59uA.js +3 -0
  7. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-2JKu59uA.js.map +1 -0
  8. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-DsBVeiBn.js → core-Cedv-Tv-.js} +2 -2
  9. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-DsBVeiBn.js.map → core-Cedv-Tv-.js.map} +1 -1
  10. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  11. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  12. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  13. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +5 -5
  14. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +2 -2
  15. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +2 -2
  16. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-_n-Bn6OZ.js +0 -3
  17. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-_n-Bn6OZ.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vireo-ai/trellis-ui",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "type": "module",
5
5
  "description": "Django-native UI toolkit for building realtime and interactive web apps.",
6
6
  "license": "MIT",
@@ -5,6 +5,23 @@ type ManagedGhostFrame = Readonly<{
5
5
  width: number;
6
6
  height: number;
7
7
  }>;
8
+ type SortablePreviewPositionOptions = Readonly<{
9
+ value: string;
10
+ input: SortableInput;
11
+ initialInput: SortableInput;
12
+ sourceRect: Readonly<{
13
+ left: number;
14
+ top: number;
15
+ }>;
16
+ previewSize: Readonly<{
17
+ width: number;
18
+ height: number;
19
+ }>;
20
+ }>;
21
+ declare const resolveSortablePreviewPosition: ({ value, input, initialInput, sourceRect, previewSize, }: SortablePreviewPositionOptions) => Readonly<{
22
+ x: number;
23
+ y: number;
24
+ }>;
8
25
  type SortableGhost = Readonly<{
9
26
  positioner: HTMLElement;
10
27
  visual: HTMLElement;
@@ -16,11 +33,12 @@ type SortableGhost = Readonly<{
16
33
  }>;
17
34
  declare const sanitizeClone: (root: HTMLElement) => void;
18
35
  declare const frameFromRect: (rect: DOMRect | DOMRectReadOnly) => ManagedGhostFrame;
19
- declare const createSortableGhost: ({ source, input, preview, opacity }: {
36
+ declare const createSortableGhost: ({ source, input, preview, previewPosition, opacity }: {
20
37
  source: HTMLElement;
21
38
  input: SortableInput;
22
39
  preview?: HTMLTemplateElement | null;
40
+ previewPosition?: string;
23
41
  opacity?: number;
24
42
  }) => SortableGhost;
25
- export { createSortableGhost, frameFromRect, sanitizeClone };
26
- export type { ManagedGhostFrame, SortableGhost };
43
+ export { createSortableGhost, frameFromRect, resolveSortablePreviewPosition, sanitizeClone };
44
+ export type { ManagedGhostFrame, SortableGhost, SortablePreviewPositionOptions };
@@ -3,8 +3,8 @@ export { isValidGridColumns } from './contract';
3
3
  export { projectSortableReorderLayout, resolveSortableDropFrame, resolveSortableReorderOffsets, } from './feedback';
4
4
  export type { SortableReorderLayout, SortableReorderOffset } from './feedback';
5
5
  export type { SortableIndicatorFrame } from './placement';
6
- export { createSortableGhost, frameFromRect, sanitizeClone } from './ghost';
7
- export type { ManagedGhostFrame, SortableGhost } from './ghost';
6
+ export { createSortableGhost, frameFromRect, resolveSortablePreviewPosition, sanitizeClone } from './ghost';
7
+ export type { ManagedGhostFrame, SortableGhost, SortablePreviewPositionOptions } from './ghost';
8
8
  export { createSortableRegistry, sortable } from './registry';
9
9
  export { activateSortableCursor } from './cursor';
10
10
  export { createSortableSourceMachine } from './source-machine';
@@ -38,7 +38,7 @@
38
38
  "entry": true,
39
39
  "facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/capabilities/sortable.entry.generated.ts",
40
40
  "imports": [
41
- "chunks/capability-sortable-_n-Bn6OZ.js"
41
+ "chunks/capability-sortable-2JKu59uA.js"
42
42
  ],
43
43
  "dynamicImports": [],
44
44
  "modules": [
@@ -112,7 +112,7 @@
112
112
  "entry": true,
113
113
  "facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/components/entry.generated.ts",
114
114
  "imports": [
115
- "chunks/capability-sortable-_n-Bn6OZ.js",
115
+ "chunks/capability-sortable-2JKu59uA.js",
116
116
  "chunks/drag-and-drop-BV6kB47L.js",
117
117
  "chunks/entry.generated-DhtIfdSe.js",
118
118
  "chunks/motion-D8nzvbpd.js",
@@ -255,7 +255,7 @@
255
255
  "facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/core.ts",
256
256
  "imports": [
257
257
  "chunks/styles-TfvwVPGw.js",
258
- "chunks/core-DsBVeiBn.js",
258
+ "chunks/core-Cedv-Tv-.js",
259
259
  "chunks/alpine-data-CytyCyfk.js",
260
260
  "chunks/alpine-machine-BS13dbK4.js",
261
261
  "chunks/codecs-Cb1ns_47.js",
@@ -271,7 +271,7 @@
271
271
  "facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/index.ts",
272
272
  "imports": [
273
273
  "chunks/bridge-B4S_D6hV.js",
274
- "chunks/capability-sortable-_n-Bn6OZ.js",
274
+ "chunks/capability-sortable-2JKu59uA.js",
275
275
  "chunks/drag-and-drop-BV6kB47L.js",
276
276
  "chunks/entry.generated-DhtIfdSe.js",
277
277
  "chunks/styles-TfvwVPGw.js",
@@ -298,7 +298,7 @@
298
298
  "chunks/entry.generated-DIPrCNjK.js",
299
299
  "chunks/entry.generated-BhPEF6oz.js",
300
300
  "chunks/entry.generated-CaBUZe9u.js",
301
- "chunks/core-DsBVeiBn.js",
301
+ "chunks/core-Cedv-Tv-.js",
302
302
  "chunks/alpine-data-CytyCyfk.js",
303
303
  "chunks/alpine-machine-BS13dbK4.js",
304
304
  "chunks/codecs-Cb1ns_47.js",
@@ -392,7 +392,7 @@
392
392
  "packages/client/src/capabilities/resizable.ts"
393
393
  ]
394
394
  },
395
- "chunks/capability-sortable-_n-Bn6OZ.js": {
395
+ "chunks/capability-sortable-2JKu59uA.js": {
396
396
  "entry": false,
397
397
  "facade": null,
398
398
  "imports": [
@@ -482,7 +482,7 @@
482
482
  "packages/client/src/components/shared/controlled-open.ts"
483
483
  ]
484
484
  },
485
- "chunks/core-DsBVeiBn.js": {
485
+ "chunks/core-Cedv-Tv-.js": {
486
486
  "entry": false,
487
487
  "facade": null,
488
488
  "imports": [
@@ -1,2 +1,2 @@
1
- import{i as e,n as t,r as n,t as r}from"../chunks/capability-sortable-_n-Bn6OZ.js";var i=r;export{n as createSortableRegistry,i as default,r as registerSortableCapability,t as registerSortableDirective,e as sortable};
1
+ import{i as e,n as t,r as n,t as r}from"../chunks/capability-sortable-2JKu59uA.js";var i=r;export{n as createSortableRegistry,i as default,r as registerSortableCapability,t as registerSortableDirective,e as sortable};
2
2
  //# sourceMappingURL=sortable.js.map
@@ -0,0 +1,3 @@
1
+ import{_ as e,b as t,g as n,h as r,l as i,m as a,s as o,y as s}from"./element-adapter-native-data-key-CW8suC9A.js";import{t as c}from"./motion-D8nzvbpd.js";import{c as l,d as u,f as d,r as f}from"./ui-ZuNy_Awl.js";import{c as p,f as m,l as h,n as g,o as _,s as v}from"./codecs-Cb1ns_47.js";import{r as y}from"./dom-qAeVl7dc.js";import{i as b,t as ee}from"./alpine-machine-BS13dbK4.js";import{t as te}from"./machine-Dqut4h89.js";import{a as ne,c as re,i as ie,l as ae,o as oe,r as se,s as ce}from"./drag-and-drop-BV6kB47L.js";var x=e=>e!==null&&Number.isInteger(e)&&e>0,S=4,le=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge),ue=({point:e,start:t,end:n})=>{let r=n.x-t.x,i=n.y-t.y,a=r*r+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y);let o=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/a));return Math.hypot(e.x-(t.x+o*r),e.y-(t.y+o*i))},de=e=>e.length===0?[]:[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientY-e[0].rect.top)},...e.slice(1).map((t,n)=>{let r=(e[n].rect.bottom+t.rect.top)/2;return{anchor:{id:t.id,edge:`before`},index:n+1,distance:e=>Math.abs(e.clientY-r)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientY-e.at(-1).rect.bottom)}],fe=(e,t)=>{if(e.length===0)return[];let n=e=>t===`rtl`?e.rect.right:e.rect.left,r=e=>t===`rtl`?e.rect.left:e.rect.right;return[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientX-n(e[0]))},...e.slice(1).map((t,i)=>{let a=e[i],o=(r(a)+n(t))/2;return{anchor:{id:t.id,edge:`before`},index:i+1,distance:e=>Math.abs(e.clientX-o)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientX-r(e.at(-1)))}]},pe=({columns:e,direction:t,groupRect:n,items:r})=>{if(!x(e))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(r.length===0)return[];let i=e=>t===`rtl`?e.rect.right:e.rect.left,a=e=>t===`rtl`?e.rect.left:e.rect.right,o=t=>r.slice(t*e,(t+1)*e),s=e=>Math.min(...o(e).map(e=>e.rect.top)),c=e=>Math.max(...o(e).map(e=>e.rect.bottom)),l=(e,t,n,r)=>({anchor:n,index:r,distance:n=>ue({point:{x:n.clientX,y:n.clientY},start:{x:e,y:s(t)},end:{x:e,y:c(t)}})}),u=(e,t,r)=>({anchor:t,index:r,distance:t=>ue({point:{x:t.clientX,y:t.clientY},start:{x:n.left,y:e},end:{x:n.right,y:e}})}),d=[l(i(r[0]),0,{id:r[0].id,edge:`before`},0)];for(let t=1;t<r.length;t+=1){let n=r[t],o=r[t-1];if(t%e===0){let r=t/e;d.push(u((c(r-1)+s(r))/2,{id:n.id,edge:`before`},t))}else{let r=Math.floor(t/e);d.push(l((a(o)+i(n))/2,r,{id:n.id,edge:`before`},t))}}let f=r.length-1,p=r[f],m=Math.floor(f/e),h=r.length%e;if(h===0)d.push(u(c(m),{id:p.id,edge:`after`},r.length));else{let e=r[h],t=e===void 0?a(p):(a(p)+i(e))/2;d.push(l(t,m,{id:p.id,edge:`after`},r.length))}return d},me=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),he=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=me(e.orientation===`horizontal`?fe(e.items,e.direction):e.orientation===`grid`?pe(e):de(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},ge=e=>{if(e.items.length===0||e.orientation===`grid`)return he(e);let t=e.orientation===`vertical`?e.input.clientY:e.input.clientX*(e.direction===`rtl`?-1:1),n=e.items.findIndex(({rect:n})=>t<(e.orientation===`vertical`?n.top+n.height/2:(n.left+n.width/2)*(e.direction===`rtl`?-1:1))),r=n<0?e.items.length:n,i=r===e.items.length?{id:e.items.at(-1).id,edge:`after`}:{id:e.items[r].id,edge:`before`};return{destination:{groupId:e.groupId},anchor:i,index:r}},_e=({placement:e,sourceId:t,sourceGroupId:n,itemIds:r})=>{if(n!==e.destination.groupId)return e;let i=r.indexOf(t);if(i<0)return e;let a=r.filter(e=>e!==t),o=e.index??0,s=Math.max(0,Math.min(a.length,o>i?o-1:o)),c=a.length===0?null:s===a.length?{id:a.at(-1),edge:`after`}:{id:a[s],edge:`before`};return{destination:e.destination,anchor:c,index:s}},ve=(e,t)=>{let{groupRect:n,items:r,orientation:i,direction:a}=e;if(r.length===0||t.anchor===null)return i===`horizontal`?{x:a===`rtl`?n.right-S:n.left+S,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+S,width:n.width,height:0,kind:`block-boundary`};let o=t.index??0,s=o>0?r[o-1]:void 0,c=o<r.length?r[o]:void 0;if(i===`vertical`){let e=s&&c?(s.rect.bottom+c.rect.top)/2:c?c.rect.top-S:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let l=e=>a===`rtl`?e.rect.right:e.rect.left,u=e=>a===`rtl`?e.rect.left:e.rect.right;if(i===`horizontal`)return{x:s&&c?(u(s)+l(c))/2:c?l(c)+(a===`rtl`?S:-4):u(s)+(a===`rtl`?-4:S),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!x(d))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(o>0&&o%d===0){let e=c?(s.rect.bottom+c.rect.top)/2:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let f;if(s&&c)f=(u(s)+l(c))/2;else if(c)f=l(c)+(a===`rtl`?S:-4);else{let e=r.length%d,t=e===0?void 0:r[e];f=t?(u(s)+l(t))/2:u(s)+(a===`rtl`?-4:S)}let p=Math.floor(Math.min(o,r.length-1)/d)*d,m=r.slice(p,p+d);return{x:f,y:Math.min(...m.map(e=>e.rect.top)),width:0,height:Math.max(...m.map(e=>e.rect.bottom))-Math.min(...m.map(e=>e.rect.top)),kind:`inline-boundary`}};function ye(e){var n=e.list,r=e.startIndex,i=e.finishIndex;if(r===-1||i===-1)return Array.from(n);var a=Array.from(n),o=t(a.splice(r,1),1)[0];return a.splice(i,0,o),a}var C=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),w=({x:e,y:t})=>e!==0||t!==0,T=(e,t,n)=>({left:e.left+t,top:e.top+n,right:e.right+t,bottom:e.bottom+n,width:e.width,height:e.height}),be=e=>{let{items:t,orientation:n,direction:r,columns:i}=e,a=t.at(-1);if(!a)return null;let o=t.at(-2);if(n===`vertical`){let e=o?a.rect.top-o.rect.top:a.rect.height+8;return T(a.rect,0,e)}if(n===`horizontal`){let e=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return T(e.rect,0,a.rect.top-e.rect.top||a.rect.height+8)}let s=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,s,0)},xe=e=>{let t=be(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},Se=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return null;let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));return e.groupId===r.groupId&&n?n.items[Math.min(i,n.items.length-1)]?.rect??r.groupRect:xe(r)[i]??r.groupRect},Ce=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return[];let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));if(e.groupId===r.groupId&&n){let t=n.items.findIndex(({id:t})=>t===e.id);if(t<0)return[];let r=ye({list:[...n.items],startIndex:t,finishIndex:i});return n.items.map(e=>C(n.groupId,e,n.items[r.findIndex(({id:t})=>t===e.id)].rect)).filter(w)}let a=xe(r),o=r.items.map((e,t)=>C(r.groupId,e,a[t<i?t:t+1])).filter(w);if(!n||e.groupId===null)return o;let s=n.items.findIndex(({id:t})=>t===e.id);if(s<0)return o;let c=n.items[s],l=C(n.groupId,c,a[i]??r.groupRect);return w(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(C(n.groupId,e,n.items[s+t].rect))}),o},we=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:px)?$/,Te=(e,t,n,r,i)=>e===r?t:e===`center`?t-n/2:e===i?t-n:we.test(e)?t+Number.parseFloat(e):null,Ee=({value:e,input:t,initialInput:n,sourceRect:r,previewSize:i})=>{let a={x:t.clientX-(n.clientX-r.left),y:t.clientY-(n.clientY-r.top)},o=e.trim().toLowerCase().split(/\s+/).filter(Boolean);if(o.length===0||o.length===1&&o[0]===`preserve`||o.length!==2)return a;let s=Te(o[0],t.clientX,i.width,`left`,`right`),c=Te(o[1],t.clientY,i.height,`top`,`bottom`);return s===null||c===null?a:{x:s,y:c}},De=e=>{e.setAttribute(`x-ignore`,``),[e,...e.querySelectorAll(`*`)].forEach(e=>{e.removeAttribute(`id`),(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),(e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(e.disabled=!0)})},Oe=(e,t)=>{let n=[e,...e.querySelectorAll(`input, textarea, select`)],r=[t,...t.querySelectorAll(`input, textarea, select`)];n.forEach((e,t)=>{let n=r[t];e instanceof HTMLInputElement&&n instanceof HTMLInputElement?(n.value=e.value,n.checked=e.checked):e instanceof HTMLTextAreaElement&&n instanceof HTMLTextAreaElement?n.value=e.value:e instanceof HTMLSelectElement&&n instanceof HTMLSelectElement&&(n.selectedIndex=e.selectedIndex)})},ke=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),Ae=({source:e,input:t,preview:n,previewPosition:r,opacity:i=.92})=>{let a=e.getBoundingClientRect(),o=document.createElement(`div`),s=document.createElement(`div`),l=document.createElement(`div`),u=n?.content.firstElementChild?.cloneNode(!0),d=u instanceof HTMLElement,f=d?u:e.cloneNode(!0);d||Oe(e,f),De(f),o.setAttribute(`data-ui-sortable-overlay`,``),s.setAttribute(`data-ui-sortable-ghost-positioner`,``),l.setAttribute(`data-ui-sortable-ghost`,``),l.setAttribute(`aria-hidden`,`true`),l.setAttribute(`inert`,``);let p=e.closest(`[data-theme], .dark, .light`);p?.classList.contains(`dark`)&&o.classList.add(`dark`),p?.classList.contains(`light`)&&o.classList.add(`light`),p?.dataset.theme&&(o.dataset.theme=p.dataset.theme),Object.assign(o.style,{position:`fixed`,inset:`0`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(s.style,{position:`absolute`,left:`0`,top:`0`,width:d?`max-content`:`${a.width}px`,height:d?`max-content`:`${a.height}px`,pointerEvents:`none`}),Object.assign(l.style,{width:d?`max-content`:`100%`,height:d?`max-content`:`100%`,opacity:`${i}`,pointerEvents:`none`,filter:`drop-shadow(0 10px 18px rgb(0 0 0 / 0.16))`}),l.append(f),s.append(l),o.append(s),document.body.append(o);let m=s.getBoundingClientRect(),h=d?{width:m.width,height:m.height}:{width:a.width,height:a.height},g=e=>Ee({value:d?r??``:`preserve`,input:e,initialInput:t,sourceRect:a,previewSize:h}),_=g(t),v=c.createController({values:{x:{initial:_.x,transition:{...c.speeds.moderate,ease:c.easings.out}},y:{initial:_.y,transition:{...c.speeds.moderate,ease:c.easings.out}}},style:({x:e,y:t})=>({transform:`translate3d(${e}px, ${t}px, 0)`})});return v.mount(s),{positioner:s,visual:l,frame:()=>({...v.current(),...h}),projectedFrame:e=>({...g(e),...h}),move(e){v.set(g(e))},async finish(e){e&&await v.animate({x:e.x,y:e.y}).finished},remove:()=>{v.destroy(),o.remove()}}},je=1e3,E=null,D=`1px`,Me={width:D,height:D,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${D}, ${D}, ${D}, ${D})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${D}`,pointerEvents:`none`};function Ne(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,Me),document.body.append(e),e}function Pe(){return E===null&&(E=Ne()),E}var O=null;function Fe(){O!==null&&clearTimeout(O),O=null}function Ie(e){Pe(),Fe(),O=setTimeout(function(){O=null;var t=Pe();t.textContent=e},je)}var k=(e,t)=>`${e}\u0000${t}`,Le=(e,t)=>{let n={destination:Object.freeze({...t.destination}),anchor:t.anchor===null?null:Object.freeze({...t.anchor}),...t.index===void 0?{}:{index:t.index}};return e.operation===`insert`?Object.freeze({operation:`insert`,source:Object.freeze({...e}),...n}):Object.freeze({operation:`move`,source:Object.freeze({...e}),...n})},Re=()=>{let e=new Map,t=new Map,n=(e,t,n,r,i)=>{let a=t,o=!0,s=e.get(a);if(s&&(s.element.isConnected||!r.element.isConnected))throw Error(`Duplicate sortable ${i} identity: ${a.replace(`\0`,`/`)}`);return e.set(a,r),Object.assign(()=>{o&&(o=!1,e.get(a)===r&&e.delete(a))},{refresh:()=>{if(!o)return;let t=n();if(t===a)return;let s=e.get(t);if(s&&s!==r&&(s.element.isConnected||!r.element.isConnected))throw Error(`Duplicate sortable ${i} identity: ${t.replace(`\0`,`/`)}`);e.get(a)===r&&e.delete(a),e.set(t,r),a=t}})},r=(t,n)=>e.get(k(t,n))??null,i=(e,n)=>t.get(k(e,n))??null,a=(e,t,n=null)=>{let a=r(e.scopeId,t),o=i(e.scopeId,e.id);if(!a||!o||o.isDisabled())return!1;let s=a.getGroup();if(s.disabled||s.readOnly||s.orientation===`grid`&&!x(s.columns)||!s.accepts.includes(e.type))return!1;let c=a.getItemIds().filter(n=>e.operation!==`move`||e.groupId!==t||n!==e.id),l=Object.freeze({source:e,destination:s,itemIds:Object.freeze(c),input:n===null?null:Object.freeze({...n})});return a.canDrop?.(l)!==!1},o=(e,t)=>{let n=r(e.scopeId,t.destination.groupId);if(!n)return null;let i=n.getItemIds(),a=e.operation===`move`&&e.groupId===t.destination.groupId?i.filter(t=>t!==e.id):[...i];return t.anchor!==null&&!a.includes(t.anchor.id)?null:{originalIds:i,insertionIndex:t.anchor===null?0:a.indexOf(t.anchor.id)+ +(t.anchor.edge===`after`)}},s=(e,t)=>{if(e.operation!==`move`||e.groupId!==t.destination.groupId)return!1;let n=o(e,t);return n!==null&&n.originalIds.indexOf(e.id)===n.insertionIndex},c=(e,t,n=null)=>{let i=r(e.scopeId,t.destination.groupId);if(!i||!a(e,t.destination.groupId,n))return!1;let c=i.getGroup(),l=o(e,t);if(!l||s(e,t))return!1;let u={...t,index:l.insertionIndex};return y({el:i.element,name:`ui:sortable-drop`,composed:!0,detail:Le(e,u)}),e.label&&c.label&&Ie(`${e.label} moved to ${c.label}.`),!0},l=(e,t)=>{let n=i(t.scope,t.sourceId);if(!n)return!1;let r=n.getSource(),a=t.destinationGroupId??r.groupId;return!a||t.anchorId===t.sourceId?!1:c(r,{destination:{groupId:a},anchor:{id:t.anchorId,edge:e}})},u=(e,t)=>{let n=i(t.scope,t.sourceId),a=r(t.scope,t.destinationGroupId);if(!n||!a)return!1;let o=n.getSource(),s=a.getItemIds().filter(e=>o.groupId!==t.destinationGroupId||e!==o.id),l=s.length===0?null:e===`start`?{id:s[0],edge:`before`}:{id:s.at(-1),edge:`after`};return c(o,{destination:{groupId:t.destinationGroupId},anchor:l})};return{registerGroup:t=>{let r=t.getGroup();return n(e,k(r.scopeId,r.id),()=>{let e=t.getGroup();return k(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,k(r.scopeId,r.id),()=>{let t=e.getSource();return k(t.scopeId,t.id)},e,`source`)},group:r,source:i,canDrop:a,isNoop:s,emitDrop:c,moveBefore:e=>l(`before`,e),moveAfter:e=>l(`after`,e),moveToStart:e=>u(`start`,e),moveToEnd:e=>u(`end`,e)}},A=Re(),j=`--ui-sortable-drag-cursor`,M=`data-ui-sortable-dragging`,ze=e=>{let t=document.documentElement,n=t.getAttribute(M),r=t.style.getPropertyValue(j);return t.setAttribute(M,``),t.style.setProperty(j,e.trim()||`default`),()=>{n===null?t.removeAttribute(M):t.setAttribute(M,n),r?t.style.setProperty(j,r):t.style.removeProperty(j)}},Be=({props:e,effects:t})=>te({type:`parallel`,on:{PROPS_CHANGED:{reduce:`props`,effects:`reconcile`},DOM_INVALIDATED:{effects:`reconcile`}},states:{interaction:{initial:`idle`,on:{POINTER_MOVED:{reduce:`pointer`}},states:{idle:{on:{START:{target:`starting`,reduce:`start`}}},starting:{on:{STARTING_DONE:{target:`dragging`},END:{target:`ending`,reduce:`data`}}},dragging:{on:{END:{target:`ending`,reduce:`data`}}},ending:{on:{ENDING_DONE:{target:`idle`,effects:`complete`}}}}},layout:{initial:`inactive`,states:{inactive:{on:{START:{target:`calculating`}}},calculating:{entry:`resolvePlacement`,on:{POINTER_MOVED:{effects:`resolvePlacement`},LAYOUT_PROPOSED:{target:`syncing`,reduce:`data`},END:{target:`inactive`}}},syncing:{on:{RECTS_SYNCED:{target:`calculating`,effects:`synced`},END:{target:`inactive`,effects:`synced`}}}}}}},{props:e,context:{data:{},pointer:null},reducers:{start:({event:e})=>({context:{data:e.data,pointer:null}}),data:({context:e,event:t})=>({context:{...e,data:t.data}}),pointer:({context:e,event:t})=>({context:{...e,pointer:t.pointer}}),props:({context:e,event:t})=>({context:e,props:t.props})},effects:t}),N=new Map,P=new Set;function Ve(e){He(e);var t=N.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return N.set(e,n),n}function He(e){P.add(e)}function Ue(e){P.clear(),e(),N.forEach(function(e,t){P.has(t)||N.delete(t)}),P.clear()}function We(){N.clear()}var Ge=new Map;function Ke(e){var t=Ge.get(e);if(t)return t;var n=qe(e);return Ge.set(e,n),n}function qe(t){var n={type:`idle`},r=[];function i(t){if(n.type===`running`){var a=t-n.timeLastFrameFinished,o=n.latestArgs,s=e({x:o.location.current.input.clientX,y:o.location.current.input.clientY});Ue(function(){r.forEach(function(e){return e({underUsersPointer:s,latestArgs:o,timeSinceLastFrame:a})})}),n.timeLastFrameFinished=t,n.frameId=requestAnimationFrame(i)}}function a(){n.type!==`idle`&&(cancelAnimationFrame(n.frameId),We(),n={type:`idle`})}function o(e){n.type===`idle`&&(n={type:`initializing`,latestArgs:e,frameId:requestAnimationFrame(function(e){n.type===`initializing`&&(n={type:`running`,timeLastFrameFinished:e,latestArgs:n.latestArgs,frameId:requestAnimationFrame(i)})})})}function s(e){if(n.type===`idle`){o(e);return}n.latestArgs=e}return t({onDragStart:o,onDropTargetChange:s,onDrag:s,onDrop:a}),{onFrame:function(e){r.push(e)}}}var F=`data-auto-scrollable`,Je=`[${F}="true"]`;function Ye(e){return e.setAttribute(F,`true`),function(){return e.removeAttribute(F)}}function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?Xe(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xe(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Qe={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},$e={standard:900,fast:1500};function et(e){return Ze(Ze({},Qe),{},{maxPixelScrollPerSecond:$e[e?.maxScrollSpeed??`standard`]})}var tt={top:function(e){return e.scrollTop>0},right:function(e){return Math.ceil(e.scrollLeft)+e.clientWidth<e.scrollWidth},bottom:function(e){return Math.ceil(e.scrollTop)+e.clientHeight<e.scrollHeight},left:function(e){return e.scrollLeft>0}},nt=[`top`,`right`,`bottom`,`left`],rt={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},it={start:`top`,end:`bottom`,point:`y`,size:`height`},at={start:`left`,end:`right`,point:`x`,size:`width`},ot={vertical:{mainAxis:it,crossAxis:at},horizontal:{mainAxis:at,crossAxis:it}},I={top:`start`,right:`end`,bottom:`end`,left:`start`};function L(e){var t=e.edge,r=e.axis;return function(e){var i=e.clientRect,a=e.config,o=ot[r],s=o.mainAxis,c=o.crossAxis,l=I[t],u=Math.min(a.startHitboxAtPercentageRemainingOfElement[t]*i[s.size],a.maxMainAxisHitboxSize);return DOMRect.fromRect(n(n(n(n({},s.point,l===`start`?i[s.point]:i[s.point]+i[s.size]-u),c.point,i[c.point]),s.size,u),c.size,i[c.size]))}}var st={top:L({axis:`vertical`,edge:`top`}),right:L({axis:`horizontal`,edge:`right`}),bottom:L({axis:`vertical`,edge:`bottom`}),left:L({axis:`horizontal`,edge:`left`})};function ct(e){var t=e.startOfRange,n=e.endOfRange,r=e.value;if(!(t<n)||r<t)return 0;if(r>n)return 1;var i=n-t;return(r-t)/i}function lt(e){var t=e.timeSinceLastFrame,n=e.config,r=n.maxPixelScrollPerSecond/1e3,i=Math.ceil(r*t),a=n.maxPixelScrollPerSecond/60;return Math.min(i,a)}function ut(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=ot[n].mainAxis,s=I[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?ct({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-ct({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function R(e){var t=e.client,n=e.timeSinceLastFrame,r=e.engagement,i=e.axis,a=e.hitbox,o=e.edge,s=e.isDistanceDampeningEnabled,c=e.config,l=lt({timeSinceLastFrame:n,config:c}),u=(s?ut({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*ct({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return I[o]===`end`?d:-1*d}function dt(e,t){return t===`all`||e===t}function ft(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function pt(e){return e.getBoundingClientRect()}function mt(e){var t=e.element,n=e.input,r=e.timeSinceLastFrame,i=e.engagement,a=e.config,o=e.allowedAxis,s=e.getRect,c=s===void 0?pt:s,l={x:n.clientX,y:n.clientY},u=c(t),d=nt.reduce(function(e,n){var r=st[n]({clientRect:u,config:a}),i=rt[n];return!dt(i,o)||!ft({client:l,clientRect:r})||!tt[n](t)||e.set(n,{edge:n,hitbox:r}),e},new Map);return{left:function(){var e=`horizontal`,t=d.get(`left`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`right`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}(),top:function(){var e=`vertical`,t=d.get(`bottom`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`top`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function ht(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=gt(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function gt(e,t){if(e){if(typeof e==`string`)return _t(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_t(e,t):void 0}}function _t(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function vt(e){return!!(e.top||e.left)}function yt(e){var t=e.target,n=e.input,r=e.source,i=e.findEntry,a=e.timeSinceLastFrame,o=e.available,s=o===void 0?{top:!0,left:!0}:o;if(!vt(s)||!t)return s;var c=t.closest(Je);if(!c)return s;var l=i(c);if(!l)return s;function u(){return yt({target:c?.parentElement??null,findEntry:i,source:r,timeSinceLastFrame:a,input:n,available:s})}var d={input:n,source:r,element:c};if(l.canScroll&&!l.canScroll(d))return u();var f=Ve(c),p=et(l.getConfiguration?.call(l,d)),m=mt({element:c,engagement:f,input:n,timeSinceLastFrame:a,allowedAxis:l.getAllowedAxis?.call(l,d)??`all`,config:p}),h={top:0,left:0};return s.top&&m.top!==0&&(h.top=m.top,s.top=!1),s.left&&m.left!==0&&(h.left=m.left,s.left=!1),(h.top!==0||h.left!==0)&&c.scrollBy(h),u()}function bt(e){var t=e.input,n=e.timeSinceLastFrame,r=e.available,i=e.source,a=e.entries,o=document.documentElement,s={input:t,source:i,element:o},c=ht(a),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!(u.canScroll&&!u.canScroll(s))){var d=mt({element:o,engagement:Ve(o),input:t,config:et(u.getConfiguration?.call(u,s)),allowedAxis:u.getAllowedAxis?.call(u,s)??`all`,getRect:function(e){return DOMRect.fromRect({y:0,x:0,width:e.clientWidth,height:e.clientHeight})},timeSinceLastFrame:n}),f={top:r.top?d.top:0,left:r.left?d.left:0};(f.top!==0||f.left!==0)&&o.scrollBy(f);break}}}catch(e){c.e(e)}finally{c.f()}}function xt(e){var t=e.input,n=e.findEntry,r=e.timeSinceLastFrame,i=e.source,a=e.getWindowScrollEntries,o=e.underUsersPointer,s=yt({target:o,timeSinceLastFrame:r,input:t,source:i,findEntry:n});vt(s)&&bt({input:t,source:i,entries:a(),timeSinceLastFrame:r,available:s})}function St(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ct(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?St(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):St(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function wt(e){var t=e.monitor,n=new Map,i=new Set;function a(e){return n.set(e.element,e),r(o(Ye(e.element),function(){return n.delete(e.element)}))}function s(){var e=Ct({},arguments.length>0&&arguments[0]!==void 0?arguments[0]:{});i.add(e);function t(){i.delete(e)}return r(t)}function c(e){return n.get(e)??null}function l(){return Array.from(i)}function u(e){var t=e.latestArgs,n=e.underUsersPointer,r=e.timeSinceLastFrame;xt({input:t.location.current.input,source:t.source,findEntry:c,underUsersPointer:n,timeSinceLastFrame:r,getWindowScrollEntries:l})}return Ke(t).onFrame(u),{autoScroll:a,autoScrollWindow:s}}var Tt=wt({monitor:ae}),Et=Tt.autoScroll,Dt=Tt.autoScrollWindow,Ot=s();function kt(e){e.defaultPrevented||(e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.preventDefault())}var z=null;function At(){B(),z=(0,Ot.bindAll)(window,[{type:`dragover`,listener:kt},{type:`dragenter`,listener:kt},{type:`drop`,listener:function(e){e.preventDefault(),B()}},{type:`dragend`,listener:B}].concat(a(i({onDragEnd:B}))),{capture:!1})}function B(){var e;(e=z)==null||e(),z=null}function jt(){if(window.event?.type===`drop`){var e;(e=window.event)==null||e.preventDefault()}B()}var V={start:At,stop:jt},H=`[data-ui-sortable]`,U=`[data-ui-sortable-item]`,Mt=`[data-ui-sortable-source]`,Nt=`[x-ui-sortable\\:handle], [data-ui-sortable-handle]`,Pt=`[x-ui-sortable\\:preview], [data-ui-sortable-preview]`,Ft=`[x-ui-sortable\\:indicator], [data-ui-sortable-indicator]`,It=`ui-sortable`,W=2,Lt=`a, button, input, select, textarea, summary, [contenteditable], [role="button"], [role="link"]`,Rt={sortableScope:m.trim,sortableId:m.trim,orientation:h([`vertical`,`horizontal`,`grid`],`vertical`),columns:p.default(0),accepts:v.array([]),disabled:g,readonly:g,feedback:h([`indicator`,`reorder`],`indicator`),sourceOpacity:p.clamp(0,1).default(.4),ghostOpacity:p.clamp(0,1).default(.92),dragCursor:m.trim.default(`default`),label:m.trim,sortableData:v.object({})},zt={sortableScope:m.trim,sortableId:m.trim,sortableType:m.trim,label:m.trim,disabled:g,sortableData:v.object({}),sourceOpacity:p.clamp(0,1).default(.4),ghostOpacity:p.clamp(0,1).default(.92),dragCursor:m.trim.default(`default`)},Bt=[b({name:`starting`,state:`interaction.starting`,project:({context:e})=>e.data,onDone:`STARTING_DONE`,onError:`STARTING_DONE`}),b({name:`placing`,state:`layout.syncing`,project:({context:e})=>e.data,onDone:`RECTS_SYNCED`,onError:`RECTS_SYNCED`}),b({name:`ending`,state:`interaction.ending`,project:({context:e})=>e.data,onDone:`ENDING_DONE`,onError:`ENDING_DONE`})],G=new WeakMap,K=new Set,q=new WeakMap,J=null,Y=(e,t)=>e.closest(t),Vt=e=>[...e.querySelectorAll(U)].filter(t=>Y(t.parentElement??t,H)===e),Ht=e=>{let t=e.group();return{controller:e,layout:{groupId:t.id,orientation:t.orientation,direction:getComputedStyle(e.el).direction===`rtl`?`rtl`:`ltr`,columns:t.columns,groupRect:e.el.getBoundingClientRect(),items:Vt(e.el).map(e=>({id:e.dataset.sortableId??``,rect:e.getBoundingClientRect()}))}}},X=e=>{let t=e.controller.group(),n=e.controller.el.getBoundingClientRect(),r=n.left-e.layout.groupRect.left,i=n.top-e.layout.groupRect.top,a=e=>({left:e.left+r,right:e.right+r,top:e.top+i,bottom:e.bottom+i,width:e.width,height:e.height});return{...e.layout,orientation:t.orientation,columns:t.columns,groupRect:n,items:e.layout.items.map(e=>({...e,rect:a(e.rect)}))}},Z=(e,t,n)=>{if(t.target===n)return null;t.target=n;let r=c(e).animate({translate:n||`none`}).speed(`moderate`).transition({ease:c.easings.inOut}).play();return t.handle=r,r.finished.then(()=>{t.handle===r&&(t.handle=null,e.style.translate=t.target)}),r},Ut=()=>{let e=J;if(!e)return;let t=[...e.projections.keys()];e.projections.forEach((t,n)=>{t.handle=null,n.style.translate=t.target,t.target===t.baseline&&(n.removeAttribute(`data-reordering`),e.projections.delete(n))}),t.forEach(e=>e.getBoundingClientRect())},Wt=(e=!1)=>{let t=J;if(!t)return[];let n=[];return t.projections.forEach((t,r)=>{if(e)t.handle?.stop(),r.style.translate=t.baseline;else{let e=Z(r,t,t.baseline);e&&n.push(e)}r.removeAttribute(`data-reordering`)}),e&&t.projections.clear(),K.forEach(({el:e})=>e.removeAttribute(`data-reordering`)),n},Gt=(e=null)=>{K.forEach(({el:t})=>{t!==e&&t.removeAttribute(`data-drag-rejected`)})},Kt=e=>{let t=J;if(!t)return[];let n=[],r=new Map;e.forEach(({groupId:e,id:n,x:i,y:a})=>{let o=t.layouts.get(e),s=o&&Vt(o.controller.el).find(e=>e.dataset.sortableId===n);s&&r.set(s,{x:i,y:a,group:o.controller})}),t.projections.forEach((e,t)=>{if(r.has(t))return;let i=Z(t,e,e.baseline);i&&n.push(i),t.removeAttribute(`data-reordering`)});let i=new Set;return r.forEach(({x:e,y:r,group:a},o)=>{let s=t.projections.get(o);s||(s={baseline:o.style.translate,target:o.style.translate,handle:null},t.projections.set(o,s));let c=`${e}px ${r}px`,l=Z(o,s,c);l&&n.push(l),o.setAttribute(`data-reordering`,``),i.add(a)}),K.forEach(e=>e.el.toggleAttribute(`data-reordering`,i.has(e))),n},qt=(e,t,n,r=null)=>{let i=e.indicator();if(!i)return;if(!t||!r){i.hidden=!0;return}Object.assign(i.style,{position:`absolute`,left:`0`,top:`0`}),i.hidden=!1;let a=t.anchor?.edge??`empty`,o=i.offsetParent,s=o instanceof Element?o.getBoundingClientRect():{left:-window.scrollX,top:-window.scrollY},c=o instanceof HTMLElement?o.scrollLeft:0,l=o instanceof HTMLElement?o.scrollTop:0,u=r.kind===`inline-boundary`,d=r.kind===`block-boundary`,f=r.x-s.left+c-(u?W/2:0),p=r.y-s.top+l-(d?W/2:0);Object.assign(i.style,{transform:`translate3d(${f}px, ${p}px, 0)`,width:`${u?W:r.width}px`,height:`${d?W:r.height}px`,pointerEvents:`none`,zIndex:`2147483646`}),i.dataset.orientation=e.group().orientation,i.dataset.edge=a,i.dataset.operation=n??``,i.dataset.indicatorKind=r.kind},Jt=()=>{J?.group&&(J.group.el.removeAttribute(`data-drag-over`),J.group.el.removeAttribute(`data-drop-edge`),J.group.el.removeAttribute(`data-drop-effect`),J.group.el.removeAttribute(`data-drop-noop`),J.group.el.removeAttribute(`data-placing`),qt(J.group,null),J.group=null)},Q=(e=!1)=>{if(!J)return[];let t=Wt(e);return Jt(),J.placement=null,t},$=(e,t=`outside`)=>{let n=J;if(!n)return;V.stop();let r=n.placement,i=n.source.groupId===null?null:n.layouts.get(n.source.groupId)??null,a=r?n.layouts.get(r.destination.groupId)??null:null,o=e===`drop`&&r&&a?Se({source:n.source,placement:r,sourceLayout:i?X(i):null,destinationLayout:X(a)}):null,s=o?{x:o.left,y:o.top,width:o.width,height:o.height}:ke(n.controller.el.getBoundingClientRect());Q(!0),J=null,n.controller.el.removeAttribute(`data-dragging`),n.controller.el.removeAttribute(`data-drag-operation`),n.controller.el.removeAttribute(`data-sortable-phase`),n.controller.restoreAppearance(),n.restoreCursor(),Gt(),e===`cancel`&&y({el:n.controller.el,name:`ui:sortable-cancel`,composed:!0,detail:Object.freeze({source:n.source,reason:t})});let c=n.ghost.frame();n.controller.afterEnd=()=>{n.ghost.remove(),n.controller.ghost=null,n.controller.afterEnd=null},n.controller.machine.send({type:`END`,data:{outcome:e,source:n.source,placement:e===`drop`?r:null,...e===`cancel`?{reason:t}:{},fromFrame:c,toFrame:s??c,fromTransform:n.ghost.positioner.style.transform,toTransform:s?`translate3d(${s.x}px, ${s.y}px, 0)`:n.ghost.positioner.style.transform}})},Yt=(e,t)=>{if(!J)return;let n=J.placement,r=J.group!==e;r&&Jt();let i=e.group(),a=J.source.operation===`insert`?`indicator`:i.feedback,o=Ht(e).layout,s=o.items,c=s.map(({id:e})=>e),l=J.source.id,u=a===`reorder`&&i.id===J.source.groupId?s.filter(({id:e})=>e!==l):s,d={groupId:i.id,orientation:i.orientation,direction:o.direction,columns:i.columns,groupRect:o.groupRect,items:u},f=J.ghost.projectedFrame(t),p=a===`reorder`?{clientX:i.orientation===`vertical`?t.clientX:f.x+f.width/2,clientY:i.orientation===`horizontal`?t.clientY:f.y+f.height/2}:t,m=(a===`reorder`?ge:he)({...d,input:p}),h=a===`indicator`?ve({...d,items:s},m):null,g=a===`reorder`?m:_e({placement:m,sourceId:J.source.id,sourceGroupId:J.source.groupId,itemIds:c});if(!r&&le(n,g))return;let _=J.source.groupId===null?null:J.layouts.get(J.source.groupId)??null,v=J.layouts.get(i.id),b=A.isNoop(J.source,g),ee=a===`reorder`&&!b?Ce({source:J.source,placement:g,sourceLayout:_?X(_):null,destinationLayout:v?X(v):null}):[];J.group=e,J.placement=g,e.el.setAttribute(`data-drag-over`,``),e.el.dataset.dropEdge=g.anchor?.edge??`empty`,e.el.dataset.dropEffect=J.source.operation===`insert`?`copy`:`move`,e.el.toggleAttribute(`data-drop-noop`,b),y({el:e.el,name:`ui:sortable-placement-change`,composed:!0,detail:Object.freeze({source:J.source,previous:n,placement:g})}),J.controller.machine.send({type:`LAYOUT_PROPOSED`,data:{source:J.source,previous:n,placement:g,feedback:a,offsets:ee,indicatorFrame:h,noop:b}})},Xt=e=>{let t=J;if(!t?.group||!le(t.placement,e.placement))return;t.controller.el.dataset.sortablePhase=`placing`,t.group.el.setAttribute(`data-placing`,``);let n=e.feedback===`reorder`&&!e.noop?Kt(e.offsets):Wt();e.feedback===`reorder`&&!e.noop?qt(t.group,null):qt(t.group,e.noop?null:e.placement,t.source.operation,e.indicatorFrame);let r=()=>{J===t&&Ut()};if(n.length===0){r();return}return Promise.allSettled(n.map(({finished:e})=>e)).then(r)},Zt=(e,t)=>{e.setAttribute(`data-ui-sortable`,``),l(e,`data-ui-sortable`,`data-drop-target-for-element`,`data-auto-scrollable`);let n=()=>void 0,r=_({el:e,schema:Rt,onChange:()=>n()}),i={el:e,group:()=>Object.freeze({scopeId:r.sortableScope,id:r.sortableId,orientation:r.orientation,columns:r.orientation===`grid`?r.columns:null,accepts:r.accepts,disabled:r.disabled,readOnly:r.readonly,...r.label?{label:r.label}:{},feedback:r.feedback,sourceOpacity:r.sourceOpacity,ghostOpacity:r.ghostOpacity,dragCursor:r.dragCursor,...Object.keys(r.sortableData).length?{data:Object.freeze({...r.sortableData})}:{}}),itemIds:()=>Vt(e).map(e=>e.dataset.sortableId??``).filter(Boolean),indicator:()=>[...e.querySelectorAll(Ft)].find(t=>Y(t.parentElement??t,H)===e)??null,refresh:()=>n()};(!r.sortableScope||!r.sortableId||r.accepts.length===0)&&d(`Invalid sortable group props`,e),r.orientation===`grid`&&!x(r.columns)&&d(`Grid sortable groups require positive data-columns`,e),G.set(e,i),K.add(i);let a=A.registerGroup({element:e,getGroup:i.group,getItemIds:i.itemIds,canDrop:t=>q.get(e)?.(t)!==!1});n=()=>{J?.group===i&&$(`cancel`,`removed`),a.refresh()};let o=u(e,{invalidateDom:i.refresh}),s=re({element:e,canDrop:({source:t,input:n})=>{let r=J,a=t.data.marker===It&&r!==null,o=a&&A.canDrop(r.source,i.group().id,{clientX:n.clientX,clientY:n.clientY});return e.toggleAttribute(`data-drag-rejected`,a&&!o),o},getDropEffect:()=>`move`,onDrop:()=>{if(!J||J.group!==i||!J.placement)return;let e=A.emitDrop(J.source,J.placement,J.input),t=i.group();$(e?`drop`:`cancel`,t.disabled||t.readOnly?`disabled`:`outside`)}}),c=Et({element:e});t.cleanup(()=>{J?.group===i&&Q(!0),c(),s(),o(),a(),r.disconnect(),G.delete(e),K.delete(i),e.removeAttribute(`data-drag-rejected`)})},Qt=(e,t,n)=>{let r=t===`item`?`data-ui-sortable-item`:`data-ui-sortable-source`;e.setAttribute(r,``),l(e,r,`draggable`);let i=()=>t===`item`?Y(e.parentElement??e,H):null,a,o=ee({schema:zt,hooks:Bt,createMachine:({props:t})=>Be({props:t,effects:{resolvePlacement:({context:e})=>{let t=J,n=e.pointer;if(!t||!n)return;let r=n.destinationId===null?null:t.layouts.get(n.destinationId)?.controller??null;r?Yt(r,n.input):Q()},synced:()=>{e.removeAttribute(`data-sortable-phase`),J?.group?.el.removeAttribute(`data-placing`)},complete:()=>a.afterEnd?.(),reconcile:()=>a.refresh()}}),resolveTransitionElement:({name:e})=>e===`starting`?a.ghost?.visual:e===`placing`?J?.group?.el:a.ghost?.positioner});o.connect(e);let s=()=>o.getCommittedSnapshot().props;a={el:e,owner:i,source:()=>{let e=s(),n=i(),r=n?G.get(n)?.group():null,a={scopeId:t===`item`?r?.scopeId??``:e.sortableScope,id:e.sortableId,type:e.sortableType,...e.label?{label:e.label}:{},...Object.keys(e.sortableData).length?{data:Object.freeze({...e.sortableData})}:{}};return Object.freeze(t===`item`?{operation:`move`,groupId:r?.id??``,...a}:{operation:`insert`,groupId:null,...a})},disabled:()=>{let e=i(),t=e?G.get(e)?.group():null;return s().disabled||t?.disabled===!0||t?.readOnly===!0},appearance:()=>{let e=s(),t=i(),n=t?G.get(t)?.group():null;return{sourceOpacity:n?.sourceOpacity??e.sourceOpacity,ghostOpacity:n?.ghostOpacity??e.ghostOpacity,dragCursor:n?.dragCursor??e.dragCursor}},refresh:()=>void 0,restoreAppearance:()=>{a.previousOpacity!==null&&(e.style.opacity=a.previousOpacity,a.previousOpacity=null)},machine:o,ghost:null,afterEnd:null,previousOpacity:null};let c=o.onTransition(`placing`,e=>Xt(e.data)),u=e.getAttributeNames().some(e=>e===`x-ui-transition:ending`)?()=>void 0:o.onTransition(`ending`,e=>{let t=e.data.toFrame??null;return a.ghost?.finish(t)}),f=a.source();(!f.scopeId||!f.id||!f.type)&&d(`Invalid sortable source props`,e);let p=A.registerSource({element:e,getSource:a.source,isDisabled:a.disabled});a.refresh=()=>{J?.controller===a&&$(`cancel`,`removed`),p.refresh()};let m=[...e.querySelectorAll(Nt)].find(t=>Y(t,`${U}, ${Mt}`)===e),h=[...e.querySelectorAll(Pt)].find(t=>Y(t,`${U}, ${Mt}`)===e),g=se(e,`move`),_=ce({element:e,...m?{dragHandle:m}:{},canDrag:({input:t})=>{let n=document.elementFromPoint(t.clientX,t.clientY)?.closest(Lt)??null;return!a.disabled()&&(!!m||n===null||n===e)},getInitialData:()=>{let e=a.source();return{marker:It,scopeId:e.scopeId,sortableId:e.id,sortableType:e.type}},onGenerateDragPreview:oe,onDragStart:t=>{V.start();let n=a.source(),r=ie(t),i=a.appearance(),s=Ae({source:e,input:ne(t),preview:h??null,...h?.dataset.previewPosition?{previewPosition:h.dataset.previewPosition}:{},opacity:i.ghostOpacity});s.move(r),a.ghost=s,a.previousOpacity=e.style.opacity,e.style.opacity=`${i.sourceOpacity}`;let c=ze(i.dragCursor);J={controller:a,source:n,ghost:s,placement:null,group:null,layouts:new Map([...K].flatMap(e=>{let t=e.group();return t.scopeId===n.scopeId?[[t.id,Ht(e)]]:[]})),projections:new Map,input:r,timestamp:performance.now(),restoreCursor:c},e.setAttribute(`data-dragging`,``),e.dataset.dragOperation=n.operation,y({el:e,name:`ui:sortable-start`,composed:!0,detail:Object.freeze({source:n})}),o.send({type:`START`,data:{source:n,sourceFrame:ke(e.getBoundingClientRect()),ghostFrame:s.frame()}})},onDrag:t=>{if(J?.controller!==a)return;let n=ie(t),r=J.input,i=performance.now(),s=Math.max(i-J.timestamp,1);J.input=n,J.timestamp=i,J.ghost.move(n);let c=t.location.current.dropTargets.map(({element:e})=>e instanceof HTMLElement?G.get(e):void 0).find(e=>e!==void 0);o.send({type:`POINTER_MOVED`,pointer:{destinationId:c?.group().id??null,input:n}}),Gt(document.elementFromPoint(n.clientX,n.clientY)?.closest(H)??null),y({el:e,name:`ui:sortable-drag`,composed:!0,detail:Object.freeze({source:J.source,input:Object.freeze(n),previousInput:Object.freeze(r),delta:Object.freeze({x:n.clientX-r.clientX,y:n.clientY-r.clientY}),velocity:Object.freeze({x:(n.clientX-r.clientX)/s,y:(n.clientY-r.clientY)/s}),ghostFrame:Object.freeze({...J.ghost.frame()})})})},onDrop:()=>queueMicrotask(()=>{J?.controller===a&&$(`cancel`,a.disabled()?`disabled`:`outside`)})});n.cleanup(()=>{if(J?.controller===a){let t=J;V.stop(),Q(!0),J=null,e.removeAttribute(`data-dragging`),e.removeAttribute(`data-drag-operation`),e.removeAttribute(`data-sortable-phase`),y({el:e,name:`ui:sortable-cancel`,composed:!0,detail:Object.freeze({source:t.source,reason:`removed`})}),t.ghost.remove(),t.restoreCursor(),Gt(),a.restoreAppearance(),a.ghost=null,a.afterEnd=null}_(),g(),c(),u(),p(),o.disconnect(),a.afterEnd?.(),a.ghost?.remove(),a.ghost=null,a.afterEnd=null})},$t=null,en=e=>{e.addInitSelector(()=>`[x-ui-sortable], [x-ui-sortable\\:item], [x-ui-sortable\\:source]`),$t??=Dt(),e.directive(`ui-sortable`,e.skipDuringClone((e,{value:t,expression:n},r)=>{e instanceof HTMLElement&&(t?t===`item`||t===`source`?Qt(e,t,r):t===`handle`?(e.setAttribute(`data-ui-sortable-handle`,``),l(e,`data-ui-sortable-handle`)):t===`indicator`?(e.setAttribute(`data-ui-sortable-indicator`,``),l(e,`data-ui-sortable-indicator`,`aria-hidden`,`hidden`),e.setAttribute(`aria-hidden`,`true`),e.hidden=!0):t===`preview`?(e.setAttribute(`data-ui-sortable-preview`,``),l(e,`data-ui-sortable-preview`,`data-preview-position`)):t===`can-drop`&&n?.trim()&&(q.set(e,e=>r.evaluate(n,{scope:{$sortable:e}})!==!1),r.cleanup(()=>q.delete(e))):Zt(e,r))}))},tn=new WeakSet,nn=e=>{tn.has(e)||(tn.add(e),f(A),en(e))};export{A as i,en as n,Re as r,nn as t};
3
+ //# sourceMappingURL=capability-sortable-2JKu59uA.js.map