@vireo-ai/trellis-ui 0.1.48 → 0.1.49

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 (103) hide show
  1. package/package.json +5 -5
  2. package/packages/client/src/styles/generated/theme-fonts.css +1 -1
  3. package/packages/client/src/styles/generated/theme-palette.css +1 -1
  4. package/packages/client/src/styles/generated/theme-runtime.css +13 -13
  5. package/packages/client/types/component-api.d.ts +3 -1
  6. package/packages/client/types/components/data-grid/contract.d.ts +1 -0
  7. package/packages/client/types/components/data-grid/index.d.ts +28 -4
  8. package/packages/client/types/components/runtime.d.ts +1 -1
  9. package/packages/client/types/components/virtualizer/contract.d.ts +1 -29
  10. package/packages/client/types/components/virtualizer/cursor.d.ts +1 -0
  11. package/packages/client/types/components/virtualizer/index.d.ts +2 -28
  12. package/packages/client/types/runtime/cursor-data-source.d.ts +45 -0
  13. package/packages/client/types/runtime/focus-handoff.d.ts +11 -0
  14. package/packages/client/types/runtime/virtualizer-schema.d.ts +29 -0
  15. package/packages/client/types/runtime/virtualizer.d.ts +41 -0
  16. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +12 -12
  17. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  18. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +306 -289
  19. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  20. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +1 -1
  21. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  22. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-C8JwDQHB.js → capability-motion-DoZROkFD.js} +2 -2
  23. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-C8JwDQHB.js.map → capability-motion-DoZROkFD.js.map} +1 -1
  24. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BoDF_wQX.js +2 -0
  25. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BoDF_wQX.js.map +1 -0
  26. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Ms02uATJ.js → capability-sortable-DtSghTO8.js} +2 -2
  27. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Ms02uATJ.js.map → capability-sortable-DtSghTO8.js.map} +1 -1
  28. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-BOf7dxV2.js → controller-qWtZCkAC.js} +2 -2
  29. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-BOf7dxV2.js.map → controller-qWtZCkAC.js.map} +1 -1
  30. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-D_APohl9.js → core-BgbZXaDN.js} +2 -2
  31. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-D_APohl9.js.map → core-BgbZXaDN.js.map} +1 -1
  32. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-1meMFJbq.js +2 -0
  33. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-1meMFJbq.js.map +1 -0
  34. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DckTWjSU.js → entry.generated-B-wVMxe6.js} +2 -2
  35. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DckTWjSU.js.map → entry.generated-B-wVMxe6.js.map} +1 -1
  36. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BNM7EWpC.js → entry.generated-BYDBzadH.js} +2 -2
  37. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BNM7EWpC.js.map → entry.generated-BYDBzadH.js.map} +1 -1
  38. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DRZyI4u3.js → entry.generated-B_q7LVNv.js} +2 -2
  39. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DRZyI4u3.js.map → entry.generated-B_q7LVNv.js.map} +1 -1
  40. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DcCdeWRk.js → entry.generated-BhtgeSTa.js} +2 -2
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DcCdeWRk.js.map → entry.generated-BhtgeSTa.js.map} +1 -1
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-6GztwKjx.js → entry.generated-CJuVLJw9.js} +2 -2
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-6GztwKjx.js.map → entry.generated-CJuVLJw9.js.map} +1 -1
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-jxSblEo7.js → entry.generated-CQGhCt9y.js} +2 -2
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CQGhCt9y.js.map +1 -0
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-RR5GZAgO.js → entry.generated-CRhvZ0DI.js} +2 -2
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-RR5GZAgO.js.map → entry.generated-CRhvZ0DI.js.map} +1 -1
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C5kjUnFe.js → entry.generated-CkBblBv9.js} +2 -2
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C5kjUnFe.js.map → entry.generated-CkBblBv9.js.map} +1 -1
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bl38ruYD.js → entry.generated-Des-gEaR.js} +2 -2
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Des-gEaR.js.map +1 -0
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ZcYuKSSI.js +2 -0
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ZcYuKSSI.js.map +1 -0
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BK8q8vxJ.js → entry.generated-u0Ueamvw.js} +2 -2
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BK8q8vxJ.js.map → entry.generated-u0Ueamvw.js.map} +1 -1
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CPbvsglm.js → entry2.generated-CPbvsglm.js} +1 -1
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CPbvsglm.js.map +1 -0
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js +2 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js.map +1 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-DzEyK-Fp.js +2 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-DzEyK-Fp.js.map +1 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-BlyJpJAE.js → motion-BQk-uLaI.js} +2 -2
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-BlyJpJAE.js.map → motion-BQk-uLaI.js.map} +1 -1
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-DuGUQhxd.js +4 -0
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{ui-CfByjNaO.js.map → ui-DuGUQhxd.js.map} +1 -1
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js +2 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js.map +1 -0
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +1 -1
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +112 -106
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Z-__iteD.js +0 -2
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Z-__iteD.js.map +0 -1
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B2rTvkxi.js +0 -2
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B2rTvkxi.js.map +0 -1
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bl38ruYD.js.map +0 -1
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C0kdsGqX.js +0 -2
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C0kdsGqX.js.map +0 -1
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CPbvsglm.js.map +0 -1
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DldFffYN.js +0 -2
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DldFffYN.js.map +0 -1
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-jxSblEo7.js.map +0 -1
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CfByjNaO.js +0 -4
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtual-window-BHdOw3Pi.js +0 -2
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtual-window-BHdOw3Pi.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunks/motion-BlyJpJAE.js";import{n as t,t as n}from"../chunks/capability-motion-C8JwDQHB.js";var r=n;export{r as default,e as motion,t as registerBoundsDirective,n as registerMotionCapability};
1
+ import{t as e}from"../chunks/motion-BQk-uLaI.js";import{n as t,t as n}from"../chunks/capability-motion-DoZROkFD.js";var r=n;export{r as default,e as motion,t as registerBoundsDirective,n as registerMotionCapability};
2
2
  //# sourceMappingURL=motion.js.map
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,n,o as r,r as i,t as a}from"../chunks/capability-shortcut-Z-__iteD.js";var o=r;export{a as createShortcutMatcher,o as default,n as formatShortcut,i as formatShortcutKeys,t as observePressedShortcutKeys,e as parseShortcut,r as registerShortcutCapability};
1
+ import{a as e,i as t,n,o as r,r as i,t as a}from"../chunks/capability-shortcut-BoDF_wQX.js";var o=r;export{a as createShortcutMatcher,o as default,n as formatShortcut,i as formatShortcutKeys,t as observePressedShortcutKeys,e as parseShortcut,r as registerShortcutCapability};
2
2
  //# sourceMappingURL=shortcut.js.map
@@ -1,2 +1,2 @@
1
- import{i as e,n as t,r as n,t as r}from"../chunks/capability-sortable-Ms02uATJ.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-DtSghTO8.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
@@ -1,2 +1,2 @@
1
- import{a as e,c as t,d as n,h as r,i,o as a,r as o,t as s}from"./motion-BlyJpJAE.js";import{g as c,n as l,u}from"./ui-CfByjNaO.js";var d=`data-ui-bounds`,f=(e,t)=>{if(!e||typeof t.evaluate!=`function`)return{};let n=t.evaluate(e);return typeof n==`string`?{role:n}:n??{}},p=e=>{e.directive(`ui-bounds`,(e,{expression:n},r)=>{if(!(e instanceof HTMLElement))return;e.setAttribute(d,``),c(e,d);let i=t(e,f(n,r)),a=!1,o=new MutationObserver(t=>{t.every(t=>t.type===`attributes`&&t.target===e&&(t.attributeName===`style`||t.attributeName===`data-ui-bounds`))||a||(a=!0,queueMicrotask(()=>{a=!1,i.refresh()}))});o.observe(e,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),r.cleanup?.(()=>{o.disconnect(),i.destroy(),e.removeAttribute(d)})})},m=t=>t.selector?t.selector:t.target?t.target.startsWith(`#`)?t.target:`#${e(t.target)}`:null,h=e=>{let t=getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>e&&e!==`visible`)},g=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){if(h(t))return t;t=t.parentElement}return null},_=e=>e.width===0&&e.height===0&&e.top===0&&e.left===0,v=e=>{let t=g(e);if(!t)return!0;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(_(n)&&_(r))return!0;let i=Math.min(n.height,160);return n.top>=r.top&&n.left<r.right&&n.right>r.left&&n.bottom+i<=r.bottom},y=e=>{let t=[];return e.forEach(e=>{let n=m(e),r=n?document.querySelector(n):null;if(!r)return;let i=[],o=r.getAttribute(`data-ui-motion-key`);if(r.querySelectorAll(`[data-ui-motion-key]`).forEach(e=>{let t=e.getAttribute(`data-ui-motion-key`);if(t&&v(e)){let e=a(t);i.push({from:{selector:e},to:{selector:e}})}}),(o||r.hasAttribute(`data-ui-motion-layout`))&&v(r)){let e=o?a(o):n;i.unshift({from:{selector:e},to:{selector:e}})}t.push(...i)}),t},b=(e,t,i={})=>{let a=i.update;if(!a)return n();let s=y(Array.isArray(t)?t:[t]);if(s.length===0||r(i.reducedMotion))return n(a);let c={...i,preset:`stream`};return i.scope&&i.scope!==`target`&&(c.scope=i.scope),o(a,s,c)},x=new WeakSet,S=e=>{x.has(e)||(x.add(e),p(e),i(()=>e.nextTick()),l(s),u((e,t,n)=>{b(e,t,{scope:`target`,update:n})}))};export{p as n,S as t};
2
- //# sourceMappingURL=capability-motion-C8JwDQHB.js.map
1
+ import{a as e,c as t,d as n,h as r,i,o as a,r as o,t as s}from"./motion-BQk-uLaI.js";import{g as c,n as l,u}from"./ui-DuGUQhxd.js";var d=`data-ui-bounds`,f=(e,t)=>{if(!e||typeof t.evaluate!=`function`)return{};let n=t.evaluate(e);return typeof n==`string`?{role:n}:n??{}},p=e=>{e.directive(`ui-bounds`,(e,{expression:n},r)=>{if(!(e instanceof HTMLElement))return;e.setAttribute(d,``),c(e,d);let i=t(e,f(n,r)),a=!1,o=new MutationObserver(t=>{t.every(t=>t.type===`attributes`&&t.target===e&&(t.attributeName===`style`||t.attributeName===`data-ui-bounds`))||a||(a=!0,queueMicrotask(()=>{a=!1,i.refresh()}))});o.observe(e,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),r.cleanup?.(()=>{o.disconnect(),i.destroy(),e.removeAttribute(d)})})},m=t=>t.selector?t.selector:t.target?t.target.startsWith(`#`)?t.target:`#${e(t.target)}`:null,h=e=>{let t=getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>e&&e!==`visible`)},g=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){if(h(t))return t;t=t.parentElement}return null},_=e=>e.width===0&&e.height===0&&e.top===0&&e.left===0,v=e=>{let t=g(e);if(!t)return!0;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(_(n)&&_(r))return!0;let i=Math.min(n.height,160);return n.top>=r.top&&n.left<r.right&&n.right>r.left&&n.bottom+i<=r.bottom},y=e=>{let t=[];return e.forEach(e=>{let n=m(e),r=n?document.querySelector(n):null;if(!r)return;let i=[],o=r.getAttribute(`data-ui-motion-key`);if(r.querySelectorAll(`[data-ui-motion-key]`).forEach(e=>{let t=e.getAttribute(`data-ui-motion-key`);if(t&&v(e)){let e=a(t);i.push({from:{selector:e},to:{selector:e}})}}),(o||r.hasAttribute(`data-ui-motion-layout`))&&v(r)){let e=o?a(o):n;i.unshift({from:{selector:e},to:{selector:e}})}t.push(...i)}),t},b=(e,t,i={})=>{let a=i.update;if(!a)return n();let s=y(Array.isArray(t)?t:[t]);if(s.length===0||r(i.reducedMotion))return n(a);let c={...i,preset:`stream`};return i.scope&&i.scope!==`target`&&(c.scope=i.scope),o(a,s,c)},x=new WeakSet,S=e=>{x.has(e)||(x.add(e),p(e),i(()=>e.nextTick()),l(s),u((e,t,n)=>{b(e,t,{scope:`target`,update:n})}))};export{p as n,S as t};
2
+ //# sourceMappingURL=capability-motion-DoZROkFD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability-motion-C8JwDQHB.js","names":[],"sources":["../../../../../../../../client/src/directives/bounds.ts","../../../../../../../../client/src/motion/stream.ts","../../../../../../../../client/src/capabilities/motion.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\nimport {createBoundsMotion, type BoundsMotionOptions} from '@client/motion/bounds';\nimport type {MotionRoleName} from '@client/motion/recipe';\nimport {declareMorphAttributes} from '@client/runtime/morph';\n\nconst BOUNDS_ATTR = 'data-ui-bounds';\n\nconst readOptions = (expression: string | undefined, utilities: Alpine.DirectiveUtilities): BoundsMotionOptions => {\n if (!expression || typeof utilities.evaluate !== 'function') return {};\n const value = utilities.evaluate(expression) as BoundsMotionOptions | string | undefined;\n return typeof value === 'string' ? {role: value as MotionRoleName} : value ?? {};\n};\n\nconst registerBoundsDirective = (Alpine: Alpine.Alpine): void => {\n Alpine.directive('ui-bounds', (el, {expression}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n\n el.setAttribute(BOUNDS_ATTR, '');\n declareMorphAttributes(el, BOUNDS_ATTR);\n const bounds = createBoundsMotion(el, readOptions(expression, utilities));\n let scheduled = false;\n const observer = new MutationObserver((records) => {\n if (records.every((record) => record.type === 'attributes'\n && record.target === el\n && (record.attributeName === 'style' || record.attributeName === BOUNDS_ATTR))) return;\n if (scheduled) return;\n scheduled = true;\n queueMicrotask(() => {\n scheduled = false;\n bounds.refresh();\n });\n });\n observer.observe(el, {attributes: true, characterData: true, childList: true, subtree: true});\n\n utilities.cleanup?.(() => {\n observer.disconnect();\n bounds.destroy();\n el.removeAttribute(BOUNDS_ATTR);\n });\n });\n};\n\nexport {BOUNDS_ATTR, registerBoundsDirective};\n","import {animateView, type AnimateViewOptions} from './view';\nimport {cssEscape, keySelector, type MotionTarget, type ViewScope} from './targets';\nimport {noopHandle, type MotionHandle} from './animate';\nimport {shouldReduceMotion, type MotionPreference} from './reduced-motion';\n\ntype StreamPatchLike = {\n html?: string | null;\n target?: string | null;\n selector?: string | null;\n};\n\ntype AnimateStreamPatchOptions = Omit<AnimateViewOptions, 'scope' | 'preset'> & {\n scope?: ViewScope | 'target';\n update?: () => void | Promise<void>;\n reducedMotion?: MotionPreference;\n};\n\nconst targetSelectorForPatch = (patch: StreamPatchLike): string | null => {\n if (patch.selector) return patch.selector;\n if (!patch.target) return null;\n return patch.target.startsWith('#') ? patch.target : `#${cssEscape(patch.target)}`;\n};\n\nconst clipsOverflow = (element: Element): boolean => {\n const style = getComputedStyle(element);\n return [style.overflow, style.overflowX, style.overflowY].some((value) => value && value !== 'visible');\n};\n\nconst nearestClippingAncestor = (element: Element): Element | null => {\n let current = element.parentElement;\n while (current && current !== document.body && current !== document.documentElement) {\n if (clipsOverflow(current)) return current;\n current = current.parentElement;\n }\n return null;\n};\n\nconst isZeroRect = (rect: DOMRect): boolean => (\n rect.width === 0 && rect.height === 0 && rect.top === 0 && rect.left === 0\n);\n\nconst isComfortablyInsideClip = (element: Element): boolean => {\n const clip = nearestClippingAncestor(element);\n if (!clip) return true;\n\n const rect = element.getBoundingClientRect();\n const clipRect = clip.getBoundingClientRect();\n if (isZeroRect(rect) && isZeroRect(clipRect)) return true;\n\n const movementGuard = Math.min(rect.height, 160);\n return (\n rect.top >= clipRect.top\n && rect.left < clipRect.right\n && rect.right > clipRect.left\n && rect.bottom + movementGuard <= clipRect.bottom\n );\n};\n\nconst streamTargetsFromPatches = (patches: StreamPatchLike[]): MotionTarget[] => {\n const targets: MotionTarget[] = [];\n\n patches.forEach((patch) => {\n const selector = targetSelectorForPatch(patch);\n const target = selector ? document.querySelector(selector) : null;\n if (!target) return;\n\n const patchTargets: MotionTarget[] = [];\n const rootKey = target.getAttribute('data-ui-motion-key');\n target.querySelectorAll('[data-ui-motion-key]').forEach((element) => {\n const key = element.getAttribute('data-ui-motion-key');\n if (key && isComfortablyInsideClip(element)) {\n const selector = keySelector(key);\n patchTargets.push({from: {selector}, to: {selector}});\n }\n });\n if ((rootKey || target.hasAttribute('data-ui-motion-layout')) && isComfortablyInsideClip(target)) {\n const rootSelector = rootKey ? keySelector(rootKey) : selector as string;\n patchTargets.unshift({from: {selector: rootSelector}, to: {selector: rootSelector}});\n }\n\n targets.push(...patchTargets);\n });\n\n return targets;\n};\n\nconst animateStreamPatch = <AlpineInstance>(\n _Alpine: AlpineInstance,\n patchOrPatches: StreamPatchLike | StreamPatchLike[],\n options: AnimateStreamPatchOptions = {},\n): MotionHandle => {\n const update = options.update;\n if (!update) return noopHandle();\n\n const patches = Array.isArray(patchOrPatches) ? patchOrPatches : [patchOrPatches];\n const targets = streamTargetsFromPatches(patches);\n if (targets.length === 0 || shouldReduceMotion(options.reducedMotion)) {\n return noopHandle(update);\n }\n\n const viewOptions: AnimateViewOptions = {\n ...options,\n preset: 'stream',\n };\n if (options.scope && options.scope !== 'target') viewOptions.scope = options.scope;\n\n return animateView(update, targets, viewOptions);\n};\n\nexport {animateStreamPatch, streamTargetsFromPatches};\nexport type {AnimateStreamPatchOptions, StreamPatchLike};\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerBoundsDirective} from '../directives/bounds';\nimport {motion} from '../motion';\nimport {animateStreamPatch} from '../motion/stream';\nimport {configureViewFlush} from '../motion/view';\nimport {registerStreamPatchAnimator} from '../runtime/engine/stream';\nimport {registerUiMotion} from '../runtime/ui';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerMotionCapability = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerBoundsDirective(AlpineInstance);\n configureViewFlush(() => AlpineInstance.nextTick());\n registerUiMotion(motion);\n registerStreamPatchAnimator((Alpine, patches, update) => {\n animateStreamPatch(Alpine, patches, {scope: 'target', update});\n });\n};\n\nexport {motion, registerBoundsDirective, registerMotionCapability};\nexport type * from '../motion';\n"],"mappings":"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"}
1
+ {"version":3,"file":"capability-motion-DoZROkFD.js","names":[],"sources":["../../../../../../../../client/src/directives/bounds.ts","../../../../../../../../client/src/motion/stream.ts","../../../../../../../../client/src/capabilities/motion.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\nimport {createBoundsMotion, type BoundsMotionOptions} from '@client/motion/bounds';\nimport type {MotionRoleName} from '@client/motion/recipe';\nimport {declareMorphAttributes} from '@client/runtime/morph';\n\nconst BOUNDS_ATTR = 'data-ui-bounds';\n\nconst readOptions = (expression: string | undefined, utilities: Alpine.DirectiveUtilities): BoundsMotionOptions => {\n if (!expression || typeof utilities.evaluate !== 'function') return {};\n const value = utilities.evaluate(expression) as BoundsMotionOptions | string | undefined;\n return typeof value === 'string' ? {role: value as MotionRoleName} : value ?? {};\n};\n\nconst registerBoundsDirective = (Alpine: Alpine.Alpine): void => {\n Alpine.directive('ui-bounds', (el, {expression}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n\n el.setAttribute(BOUNDS_ATTR, '');\n declareMorphAttributes(el, BOUNDS_ATTR);\n const bounds = createBoundsMotion(el, readOptions(expression, utilities));\n let scheduled = false;\n const observer = new MutationObserver((records) => {\n if (records.every((record) => record.type === 'attributes'\n && record.target === el\n && (record.attributeName === 'style' || record.attributeName === BOUNDS_ATTR))) return;\n if (scheduled) return;\n scheduled = true;\n queueMicrotask(() => {\n scheduled = false;\n bounds.refresh();\n });\n });\n observer.observe(el, {attributes: true, characterData: true, childList: true, subtree: true});\n\n utilities.cleanup?.(() => {\n observer.disconnect();\n bounds.destroy();\n el.removeAttribute(BOUNDS_ATTR);\n });\n });\n};\n\nexport {BOUNDS_ATTR, registerBoundsDirective};\n","import {animateView, type AnimateViewOptions} from './view';\nimport {cssEscape, keySelector, type MotionTarget, type ViewScope} from './targets';\nimport {noopHandle, type MotionHandle} from './animate';\nimport {shouldReduceMotion, type MotionPreference} from './reduced-motion';\n\ntype StreamPatchLike = {\n html?: string | null;\n target?: string | null;\n selector?: string | null;\n};\n\ntype AnimateStreamPatchOptions = Omit<AnimateViewOptions, 'scope' | 'preset'> & {\n scope?: ViewScope | 'target';\n update?: () => void | Promise<void>;\n reducedMotion?: MotionPreference;\n};\n\nconst targetSelectorForPatch = (patch: StreamPatchLike): string | null => {\n if (patch.selector) return patch.selector;\n if (!patch.target) return null;\n return patch.target.startsWith('#') ? patch.target : `#${cssEscape(patch.target)}`;\n};\n\nconst clipsOverflow = (element: Element): boolean => {\n const style = getComputedStyle(element);\n return [style.overflow, style.overflowX, style.overflowY].some((value) => value && value !== 'visible');\n};\n\nconst nearestClippingAncestor = (element: Element): Element | null => {\n let current = element.parentElement;\n while (current && current !== document.body && current !== document.documentElement) {\n if (clipsOverflow(current)) return current;\n current = current.parentElement;\n }\n return null;\n};\n\nconst isZeroRect = (rect: DOMRect): boolean => (\n rect.width === 0 && rect.height === 0 && rect.top === 0 && rect.left === 0\n);\n\nconst isComfortablyInsideClip = (element: Element): boolean => {\n const clip = nearestClippingAncestor(element);\n if (!clip) return true;\n\n const rect = element.getBoundingClientRect();\n const clipRect = clip.getBoundingClientRect();\n if (isZeroRect(rect) && isZeroRect(clipRect)) return true;\n\n const movementGuard = Math.min(rect.height, 160);\n return (\n rect.top >= clipRect.top\n && rect.left < clipRect.right\n && rect.right > clipRect.left\n && rect.bottom + movementGuard <= clipRect.bottom\n );\n};\n\nconst streamTargetsFromPatches = (patches: StreamPatchLike[]): MotionTarget[] => {\n const targets: MotionTarget[] = [];\n\n patches.forEach((patch) => {\n const selector = targetSelectorForPatch(patch);\n const target = selector ? document.querySelector(selector) : null;\n if (!target) return;\n\n const patchTargets: MotionTarget[] = [];\n const rootKey = target.getAttribute('data-ui-motion-key');\n target.querySelectorAll('[data-ui-motion-key]').forEach((element) => {\n const key = element.getAttribute('data-ui-motion-key');\n if (key && isComfortablyInsideClip(element)) {\n const selector = keySelector(key);\n patchTargets.push({from: {selector}, to: {selector}});\n }\n });\n if ((rootKey || target.hasAttribute('data-ui-motion-layout')) && isComfortablyInsideClip(target)) {\n const rootSelector = rootKey ? keySelector(rootKey) : selector as string;\n patchTargets.unshift({from: {selector: rootSelector}, to: {selector: rootSelector}});\n }\n\n targets.push(...patchTargets);\n });\n\n return targets;\n};\n\nconst animateStreamPatch = <AlpineInstance>(\n _Alpine: AlpineInstance,\n patchOrPatches: StreamPatchLike | StreamPatchLike[],\n options: AnimateStreamPatchOptions = {},\n): MotionHandle => {\n const update = options.update;\n if (!update) return noopHandle();\n\n const patches = Array.isArray(patchOrPatches) ? patchOrPatches : [patchOrPatches];\n const targets = streamTargetsFromPatches(patches);\n if (targets.length === 0 || shouldReduceMotion(options.reducedMotion)) {\n return noopHandle(update);\n }\n\n const viewOptions: AnimateViewOptions = {\n ...options,\n preset: 'stream',\n };\n if (options.scope && options.scope !== 'target') viewOptions.scope = options.scope;\n\n return animateView(update, targets, viewOptions);\n};\n\nexport {animateStreamPatch, streamTargetsFromPatches};\nexport type {AnimateStreamPatchOptions, StreamPatchLike};\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerBoundsDirective} from '../directives/bounds';\nimport {motion} from '../motion';\nimport {animateStreamPatch} from '../motion/stream';\nimport {configureViewFlush} from '../motion/view';\nimport {registerStreamPatchAnimator} from '../runtime/engine/stream';\nimport {registerUiMotion} from '../runtime/ui';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerMotionCapability = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerBoundsDirective(AlpineInstance);\n configureViewFlush(() => AlpineInstance.nextTick());\n registerUiMotion(motion);\n registerStreamPatchAnimator((Alpine, patches, update) => {\n animateStreamPatch(Alpine, patches, {scope: 'target', update});\n });\n};\n\nexport {motion, registerBoundsDirective, registerMotionCapability};\nexport type * from '../motion';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"./focus-handoff-DzEyK-Fp.js";var n=new Set([`alt`,`cmd`,`ctrl`,`meta`,`mod`,`shift`,`super`]),r=new Set([`arrow-down`,`arrow-left`,`arrow-right`,`arrow-up`,`backspace`,`caps-lock`,`delete`,`end`,`enter`,`escape`,`home`,`insert`,`page-down`,`page-up`,`pause`,`scroll-lock`,`space`,`tab`]),i={" ":`space`,"/":`slash`,"?":`slash`,Alt:`alt`,ArrowDown:`arrow-down`,ArrowLeft:`arrow-left`,ArrowRight:`arrow-right`,ArrowUp:`arrow-up`,CapsLock:`caps-lock`,Control:`ctrl`,Meta:`meta`,PageDown:`page-down`,PageUp:`page-up`,ScrollLock:`scroll-lock`,Shift:`shift`},a={alt:`Alt`,backspace:`Backspace`,cmd:`Command`,ctrl:`Ctrl`,delete:`Delete`,end:`End`,enter:`Enter`,escape:`Escape`,home:`Home`,insert:`Insert`,meta:`Meta`,"page-down":`Page Down`,"page-up":`Page Up`,pause:`Pause`,"scroll-lock":`Scroll Lock`,shift:`⇧`,slash:`/`,space:`Space`,super:`Super`,tab:`Tab`,"arrow-down":`↓`,"arrow-left":`←`,"arrow-right":`→`,"arrow-up":`↑`},o=[`document`,`window`,`keyup`,`repeat`,`editable`],s=()=>{if(typeof navigator>`u`)return!1;let e=navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)},c=e=>i[e]||e.replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/_/g,`-`).toLowerCase(),l=e=>e===`slash`||e.length===1||r.has(e)||/^f(?:[1-9]|1\d|2[0-4])$/.test(e),u=(e,t)=>{let n=e.some(e=>e===`meta`||e===`cmd`||e===`super`)||t&&e.includes(`mod`),r=e.includes(`ctrl`)||!t&&e.includes(`mod`);return{altKey:e.includes(`alt`),ctrlKey:r,metaKey:n,shiftKey:e.includes(`shift`)}},d=e=>e.trim().toLowerCase().split(`.`).map(e=>e.trim()).filter(Boolean),f=(e,t={})=>{let r=d(e);if(r.length===0)return null;let i=t.apple??s(),a=r.filter(e=>n.has(e)),o=r.filter(e=>!n.has(e));if(o.length===0||o.some(e=>!l(e))||o.length>1&&a.length>0)return null;let c=u(a,i),f=o.map((e,t)=>({key:e,...t===0?c:u([],i)}));return{normalized:r.join(`.`),steps:f}},p=e=>e.split(`-`).map(e=>e?`${e[0].toUpperCase()}${e.slice(1)}`:``).join(` `),m={alt:`⌥`,cmd:`⌘`,ctrl:`⌃`,meta:`⌘`,mod:`⌘`,shift:`⇧`,super:`⌘`},h=(e,t)=>t?m[e]??p(e):e===`mod`?`Ctrl`:a[e]??p(e),g=(e,t)=>e===`mod`?t?`meta`:`ctrl`:e===`cmd`||e===`super`?`meta`:e,_=(e,t)=>e===`slash`&&t.includes(`shift`)?`?`:a[e]??p(e),v=(e,t={})=>{let r=d(e);if(r.length===0)return[];let i=t.apple??s(),a=r.filter(e=>n.has(e)),o=r.filter(e=>!n.has(e)),c=a.map(e=>({label:h(e,i),token:g(e,i)}));return o.length===0?[c]:o.length>1&&a.length===0?o.map(e=>[{label:_(e,r),token:e}]):[[...c,...o.map(e=>({label:_(e,r),token:e}))]]},y=(e,t={})=>v(e,t).map(e=>e.map(({label:e})=>e)),b=new WeakMap,x=(e,t)=>{let n=b.get(e);if(!n){let t=new Set,r=new Set,i=()=>r.forEach(e=>e(new Set(t))),a=()=>{t.size!==0&&(t.clear(),i())},o=e=>{let n=[...t].sort().join(` `),r=c(e.key);e.type===`keydown`?t.add(r):t.delete(r),e.type===`keyup`&&r===`meta`&&t.clear(),[[`alt`,e.altKey],[`ctrl`,e.ctrlKey],[`meta`,e.metaKey],[`shift`,e.shiftKey]].forEach(([e,n])=>{n?t.add(e):t.delete(e)}),[...t].sort().join(` `)!==n&&i()},s=e=>{e instanceof KeyboardEvent&&o(e)},l=()=>{e.visibilityState===`hidden`&&a()};e.addEventListener(`keydown`,s,!0),e.addEventListener(`keyup`,s,!0),e.addEventListener(`visibilitychange`,l),e.defaultView?.addEventListener(`blur`,a),n={keys:t,listeners:r,destroy:()=>{e.removeEventListener(`keydown`,s,!0),e.removeEventListener(`keyup`,s,!0),e.removeEventListener(`visibilitychange`,l),e.defaultView?.removeEventListener(`blur`,a)}},b.set(e,n)}return n.listeners.add(t),t(new Set(n.keys)),()=>{n?.listeners.delete(t),n?.listeners.size===0&&(n.destroy(),b.delete(e))}},S=(e,t)=>c(e.key)===t.key&&e.altKey===t.altKey&&e.ctrlKey===t.ctrlKey&&e.metaKey===t.metaKey&&e.shiftKey===t.shiftKey,C=(e,t={})=>{let n=f(e,t);if(!n)return null;let r=Math.max(250,Math.min(5e3,t.timeout??1e3)),i=0,a=0,o=()=>{i=0,a=0};return{shortcut:n,reset:o,match(e,t=performance.now()){i>0&&t-a>r&&o();let s=n.steps[i];if(!s||!S(e,s)){o();let r=n.steps[0];return!r||!S(e,r)?`none`:n.steps.length===1?`complete`:(i=1,a=t,`partial`)}return i===n.steps.length-1?(o(),`complete`):(i+=1,a=t,`partial`)}}},w=e=>e instanceof Element?e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"])`)!==null:!1,T=e=>e.isConnected&&!e.closest(`[inert], [hidden]`)&&e.getAttribute(`aria-hidden`)!==`true`,E=()=>{let e=[`x-ui-shortcut`],t=(n,r)=>{r.forEach((i,a)=>{let o=[...n,i];e.push(`x-ui-shortcut.${o.join(`.`)}`),t(o,r.filter((e,t)=>t!==a))})};return t([],o),e.map(e=>`[${e.replaceAll(`.`,`\\.`)} ]`.replace(` ]`,`]`)).join(`, `)},D=new WeakSet,O=n=>{D.has(n)||(D.add(n),e(document),n.addInitSelector(()=>E()),n.directive(`ui-shortcut`,n.skipDuringClone((e,{expression:n,modifiers:r},i)=>{if(!(e instanceof HTMLElement))return;let a=i.evaluateLater(n),o=Number(e.dataset.uiShortcutTimeout),s=Number.isFinite(o)?o:void 0,c=null;i.effect(()=>a(e=>{c=typeof e==`string`&&e.trim()?C(e,s===void 0?{}:{timeout:s}):null}));let l=r.includes(`window`)?window:r.includes(`document`)?document:e,u=r.includes(`keyup`)?`keyup`:`keydown`,d=n=>{if(!(n instanceof KeyboardEvent)||!c||!T(e)||n.repeat&&!r.includes(`repeat`)||w(n.target)&&!r.includes(`editable`))return;let i=c.match(n);if(i===`none`||(t(e.ownerDocument),i===`partial`))return;let a=new CustomEvent(`ui:shortcut`,{bubbles:!0,cancelable:!0,composed:!0,detail:{shortcut:c.shortcut.normalized,keyboardEvent:n,owner:e,sequence:c.shortcut.steps.length>1}}),o=!1,s=a.stopPropagation.bind(a),l=a.stopImmediatePropagation.bind(a);a.stopPropagation=()=>{o=!0,s()},a.stopImmediatePropagation=()=>{o=!0,l()},e.dispatchEvent(a),a.defaultPrevented&&n.preventDefault(),o&&n.stopPropagation()};l.addEventListener(u,d),i.cleanup(()=>l.removeEventListener(u,d))})))};export{f as a,x as i,y as n,O as o,v as r,C as t};
2
+ //# sourceMappingURL=capability-shortcut-BoDF_wQX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-shortcut-BoDF_wQX.js","names":[],"sources":["../../../../../../../../client/src/capabilities/shortcut.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\nimport {beginShortcutFocusHandoff, ensureFocusHandoff} from '@client/runtime/focus-handoff';\n\ntype ShortcutPlatform = {apple?: boolean};\ntype ShortcutOptions = ShortcutPlatform & {timeout?: number};\ntype ShortcutMatch = 'none' | 'partial' | 'complete';\ntype ShortcutDisplayKey = {label: string; token: string};\ntype ShortcutPressedListener = (keys: ReadonlySet<string>) => void;\n\ntype ShortcutStep = {\n key: string;\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\n};\n\ntype ParsedShortcut = {\n normalized: string;\n steps: ShortcutStep[];\n};\n\ntype ShortcutEventDetail = {\n shortcut: string;\n keyboardEvent: KeyboardEvent;\n owner: HTMLElement;\n sequence: boolean;\n};\n\ntype ShortcutMatcher = {\n readonly shortcut: ParsedShortcut;\n match(event: KeyboardEvent, timestamp?: number): ShortcutMatch;\n reset(): void;\n};\n\nconst MODIFIER_TOKENS = new Set(['alt', 'cmd', 'ctrl', 'meta', 'mod', 'shift', 'super']);\nconst NAMED_KEYS = new Set([\n 'arrow-down', 'arrow-left', 'arrow-right', 'arrow-up',\n 'backspace', 'caps-lock', 'delete', 'end', 'enter', 'escape', 'home', 'insert',\n 'page-down', 'page-up', 'pause', 'scroll-lock', 'space', 'tab',\n]);\nconst KEY_ALIASES: Record<string, string> = {\n ' ': 'space',\n '/': 'slash',\n '?': 'slash',\n Alt: 'alt',\n ArrowDown: 'arrow-down',\n ArrowLeft: 'arrow-left',\n ArrowRight: 'arrow-right',\n ArrowUp: 'arrow-up',\n CapsLock: 'caps-lock',\n Control: 'ctrl',\n Meta: 'meta',\n PageDown: 'page-down',\n PageUp: 'page-up',\n ScrollLock: 'scroll-lock',\n Shift: 'shift',\n};\nconst KEY_LABELS: Record<string, string> = {\n alt: 'Alt',\n backspace: 'Backspace',\n cmd: 'Command',\n ctrl: 'Ctrl',\n delete: 'Delete',\n end: 'End',\n enter: 'Enter',\n escape: 'Escape',\n home: 'Home',\n insert: 'Insert',\n meta: 'Meta',\n 'page-down': 'Page Down',\n 'page-up': 'Page Up',\n pause: 'Pause',\n 'scroll-lock': 'Scroll Lock',\n shift: '⇧',\n slash: '/',\n space: 'Space',\n super: 'Super',\n tab: 'Tab',\n 'arrow-down': '↓',\n 'arrow-left': '←',\n 'arrow-right': '→',\n 'arrow-up': '↑',\n};\nconst DIRECTIVE_MODIFIERS = ['document', 'window', 'keyup', 'repeat', 'editable'] as const;\n\nconst isApplePlatform = (): boolean => {\n if (typeof navigator === 'undefined') return false;\n const platform = navigator.platform || navigator.userAgent;\n return /Mac|iPhone|iPad|iPod/i.test(platform);\n};\n\nconst normalizeKey = (key: string): string => {\n const alias = KEY_ALIASES[key];\n if (alias) return alias;\n return key\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/_/g, '-')\n .toLowerCase();\n};\n\nconst isKnownKey = (key: string): boolean => (\n key === 'slash'\n || key.length === 1\n || NAMED_KEYS.has(key)\n || /^f(?:[1-9]|1\\d|2[0-4])$/.test(key)\n);\n\nconst modifierStep = (tokens: string[], apple: boolean): Omit<ShortcutStep, 'key'> => {\n const metaKey = tokens.some((token) => token === 'meta' || token === 'cmd' || token === 'super')\n || (apple && tokens.includes('mod'));\n const ctrlKey = tokens.includes('ctrl') || (!apple && tokens.includes('mod'));\n return {\n altKey: tokens.includes('alt'),\n ctrlKey,\n metaKey,\n shiftKey: tokens.includes('shift'),\n };\n};\n\nconst tokenize = (value: string): string[] => value\n .trim()\n .toLowerCase()\n .split('.')\n .map((token) => token.trim())\n .filter(Boolean);\n\nconst parseShortcut = (value: string, options: ShortcutPlatform = {}): ParsedShortcut | null => {\n const tokens = tokenize(value);\n if (tokens.length === 0) return null;\n const apple = options.apple ?? isApplePlatform();\n const modifierTokens = tokens.filter((token) => MODIFIER_TOKENS.has(token));\n const keyTokens = tokens.filter((token) => !MODIFIER_TOKENS.has(token));\n if (keyTokens.length === 0 || keyTokens.some((token) => !isKnownKey(token))) return null;\n if (keyTokens.length > 1 && modifierTokens.length > 0) return null;\n\n const modifiers = modifierStep(modifierTokens, apple);\n const steps = keyTokens.map((key, index) => ({\n key,\n ...(index === 0 ? modifiers : modifierStep([], apple)),\n }));\n return {normalized: tokens.join('.'), steps};\n};\n\nconst titleCase = (token: string): string => token\n .split('-')\n .map((part) => part ? `${part[0]!.toUpperCase()}${part.slice(1)}` : '')\n .join(' ');\n\nconst APPLE_MODIFIER_LABELS: Readonly<Record<string, string>> = {\n alt: '⌥',\n cmd: '⌘',\n ctrl: '⌃',\n meta: '⌘',\n mod: '⌘',\n shift: '⇧',\n super: '⌘',\n};\n\nconst modifierLabel = (token: string, apple: boolean): string => {\n if (apple) return APPLE_MODIFIER_LABELS[token] ?? titleCase(token);\n if (token === 'mod') return 'Ctrl';\n return KEY_LABELS[token] ?? titleCase(token);\n};\n\nconst modifierKey = (token: string, apple: boolean): string => {\n if (token === 'mod') return apple ? 'meta' : 'ctrl';\n if (token === 'cmd' || token === 'super') return 'meta';\n return token;\n};\n\nconst keyLabel = (token: string, tokens: string[]): string => {\n if (token === 'slash' && tokens.includes('shift')) return '?';\n return KEY_LABELS[token] ?? titleCase(token);\n};\n\nconst formatShortcutKeys = (value: string, options: ShortcutPlatform = {}): ShortcutDisplayKey[][] => {\n const tokens = tokenize(value);\n if (tokens.length === 0) return [];\n const apple = options.apple ?? isApplePlatform();\n const modifiers = tokens.filter((token) => MODIFIER_TOKENS.has(token));\n const keys = tokens.filter((token) => !MODIFIER_TOKENS.has(token));\n const displayModifiers = modifiers.map((token) => ({\n label: modifierLabel(token, apple),\n token: modifierKey(token, apple),\n }));\n if (keys.length === 0) return [displayModifiers];\n if (keys.length > 1 && modifiers.length === 0) {\n return keys.map((token) => [{label: keyLabel(token, tokens), token}]);\n }\n return [[\n ...displayModifiers,\n ...keys.map((token) => ({label: keyLabel(token, tokens), token})),\n ]];\n};\n\nconst formatShortcut = (value: string, options: ShortcutPlatform = {}): string[][] => (\n formatShortcutKeys(value, options).map((step) => step.map(({label}) => label))\n);\n\ntype PressedShortcutStore = {\n keys: Set<string>;\n listeners: Set<ShortcutPressedListener>;\n destroy: () => void;\n};\n\nconst pressedShortcutStores = new WeakMap<Document, PressedShortcutStore>();\n\nconst observePressedShortcutKeys = (\n document: Document,\n listener: ShortcutPressedListener,\n): (() => void) => {\n let store = pressedShortcutStores.get(document);\n if (!store) {\n const keys = new Set<string>();\n const listeners = new Set<ShortcutPressedListener>();\n const notify = (): void => listeners.forEach((subscriber) => subscriber(new Set(keys)));\n const clear = (): void => {\n if (keys.size === 0) return;\n keys.clear();\n notify();\n };\n const sync = (event: KeyboardEvent): void => {\n const previous = [...keys].sort().join(' ');\n const token = normalizeKey(event.key);\n if (event.type === 'keydown') keys.add(token);\n else keys.delete(token);\n\n // macOS can suppress non-modifier keyup events while Command is held.\n if (event.type === 'keyup' && token === 'meta') keys.clear();\n ([\n ['alt', event.altKey],\n ['ctrl', event.ctrlKey],\n ['meta', event.metaKey],\n ['shift', event.shiftKey],\n ] as const).forEach(([modifier, pressed]) => {\n if (pressed) keys.add(modifier);\n else keys.delete(modifier);\n });\n if ([...keys].sort().join(' ') !== previous) notify();\n };\n const onKey = (event: Event): void => {\n if (event instanceof KeyboardEvent) sync(event);\n };\n const onVisibility = (): void => {\n if (document.visibilityState === 'hidden') clear();\n };\n document.addEventListener('keydown', onKey, true);\n document.addEventListener('keyup', onKey, true);\n document.addEventListener('visibilitychange', onVisibility);\n document.defaultView?.addEventListener('blur', clear);\n store = {\n keys,\n listeners,\n destroy: () => {\n document.removeEventListener('keydown', onKey, true);\n document.removeEventListener('keyup', onKey, true);\n document.removeEventListener('visibilitychange', onVisibility);\n document.defaultView?.removeEventListener('blur', clear);\n },\n };\n pressedShortcutStores.set(document, store);\n }\n store.listeners.add(listener);\n listener(new Set(store.keys));\n return () => {\n store?.listeners.delete(listener);\n if (store?.listeners.size === 0) {\n store.destroy();\n pressedShortcutStores.delete(document);\n }\n };\n};\n\nconst eventMatchesStep = (event: KeyboardEvent, step: ShortcutStep): boolean => (\n normalizeKey(event.key) === step.key\n && event.altKey === step.altKey\n && event.ctrlKey === step.ctrlKey\n && event.metaKey === step.metaKey\n && event.shiftKey === step.shiftKey\n);\n\nconst createShortcutMatcher = (value: string, options: ShortcutOptions = {}): ShortcutMatcher | null => {\n const shortcut = parseShortcut(value, options);\n if (!shortcut) return null;\n const timeout = Math.max(250, Math.min(5000, options.timeout ?? 1000));\n let index = 0;\n let previousAt = 0;\n\n const reset = (): void => {\n index = 0;\n previousAt = 0;\n };\n\n return {\n shortcut,\n reset,\n match(event, timestamp = performance.now()): ShortcutMatch {\n if (index > 0 && timestamp - previousAt > timeout) reset();\n const step = shortcut.steps[index];\n if (!step || !eventMatchesStep(event, step)) {\n reset();\n const first = shortcut.steps[0];\n if (!first || !eventMatchesStep(event, first)) return 'none';\n if (shortcut.steps.length === 1) return 'complete';\n index = 1;\n previousAt = timestamp;\n return 'partial';\n }\n if (index === shortcut.steps.length - 1) {\n reset();\n return 'complete';\n }\n index += 1;\n previousAt = timestamp;\n return 'partial';\n },\n };\n};\n\nconst isEditableTarget = (target: EventTarget | null): boolean => {\n if (!(target instanceof Element)) return false;\n return target.closest('input, textarea, select, [contenteditable]:not([contenteditable=\"false\"])') !== null;\n};\n\nconst isEligibleOwner = (owner: HTMLElement): boolean => (\n owner.isConnected\n && !owner.closest('[inert], [hidden]')\n && owner.getAttribute('aria-hidden') !== 'true'\n);\n\nconst directiveSelectors = (): string => {\n const names = ['x-ui-shortcut'];\n const visit = (prefix: string[], remaining: readonly string[]): void => {\n remaining.forEach((modifier, index) => {\n const next = [...prefix, modifier];\n names.push(`x-ui-shortcut.${next.join('.')}`);\n visit(next, remaining.filter((_, remainingIndex) => remainingIndex !== index));\n });\n };\n visit([], DIRECTIVE_MODIFIERS);\n return names.map((name) => `[${name.replaceAll('.', '\\\\.')} ]`.replace(' ]', ']')).join(', ');\n};\n\nconst registered = new WeakSet<Alpine.Alpine>();\n\nconst registerShortcutCapability = (AlpineInstance: Alpine.Alpine): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n ensureFocusHandoff(document);\n AlpineInstance.addInitSelector(() => directiveSelectors());\n AlpineInstance.directive('ui-shortcut', AlpineInstance.skipDuringClone((el, {expression, modifiers}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n const evaluator = utilities.evaluateLater(expression);\n const timeoutValue = Number(el.dataset.uiShortcutTimeout);\n const timeout = Number.isFinite(timeoutValue) ? timeoutValue : undefined;\n let matcher: ShortcutMatcher | null = null;\n\n utilities.effect(() => evaluator((value) => {\n matcher = typeof value === 'string' && value.trim()\n ? createShortcutMatcher(value, timeout === undefined ? {} : {timeout})\n : null;\n }));\n\n const target: EventTarget = modifiers.includes('window')\n ? window\n : modifiers.includes('document') ? document : el;\n const eventName = modifiers.includes('keyup') ? 'keyup' : 'keydown';\n const listener = (event: Event): void => {\n if (!(event instanceof KeyboardEvent) || !matcher || !isEligibleOwner(el)) return;\n if (event.repeat && !modifiers.includes('repeat')) return;\n if (isEditableTarget(event.target) && !modifiers.includes('editable')) return;\n const result = matcher.match(event);\n if (result === 'none') return;\n beginShortcutFocusHandoff(el.ownerDocument);\n if (result === 'partial') return;\n\n const shortcutEvent = new CustomEvent<ShortcutEventDetail>('ui:shortcut', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n shortcut: matcher.shortcut.normalized,\n keyboardEvent: event,\n owner: el,\n sequence: matcher.shortcut.steps.length > 1,\n },\n });\n let propagationStopped = false;\n const stopPropagation = shortcutEvent.stopPropagation.bind(shortcutEvent);\n const stopImmediatePropagation = shortcutEvent.stopImmediatePropagation.bind(shortcutEvent);\n shortcutEvent.stopPropagation = (): void => {\n propagationStopped = true;\n stopPropagation();\n };\n shortcutEvent.stopImmediatePropagation = (): void => {\n propagationStopped = true;\n stopImmediatePropagation();\n };\n el.dispatchEvent(shortcutEvent);\n if (shortcutEvent.defaultPrevented) event.preventDefault();\n if (propagationStopped) event.stopPropagation();\n };\n target.addEventListener(eventName, listener);\n utilities.cleanup(() => target.removeEventListener(eventName, listener));\n }));\n};\n\nexport {\n createShortcutMatcher,\n formatShortcut,\n formatShortcutKeys,\n observePressedShortcutKeys,\n parseShortcut,\n registerShortcutCapability,\n};\nexport type {\n ParsedShortcut,\n ShortcutEventDetail,\n ShortcutDisplayKey,\n ShortcutMatch,\n ShortcutMatcher,\n ShortcutOptions,\n ShortcutPlatform,\n ShortcutStep,\n};\n"],"mappings":"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"}
@@ -1,3 +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-BlyJpJAE.js";import{d as l,g as u,h as d,r as f}from"./ui-CfByjNaO.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 x}from"./alpine-machine-BS13dbK4.js";import{n as ee}from"./dom-invalidation-Dw6clnS4.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-DHq3udf7.js";import{L as le,y as ue}from"./common-Dfj6NCjU.js";var S=e=>e!==null&&Number.isInteger(e)&&e>0,C=4,de=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge),fe=({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))},pe=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)}],me=(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)))}]},he=({columns:e,direction:t,groupRect:n,items:r})=>{if(!S(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=>fe({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=>fe({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},ge=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),_e=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=ge(e.orientation===`horizontal`?me(e.items,e.direction):e.orientation===`grid`?he(e):pe(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},ve=e=>{if(e.items.length===0||e.orientation===`grid`)return _e(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}},ye=({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}},be=(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-C:n.left+C,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+C,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-C:s.rect.bottom+C;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`?C:-4):u(s)+(a===`rtl`?-4:C),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!S(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+C;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`?C:-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:C)}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 xe(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 w=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),T=({x:e,y:t})=>e!==0||t!==0,E=(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}),Se=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 E(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 E(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return E(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 E(a.rect,s,0)},Ce=e=>{let t=Se(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},we=({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:Ce(r)[i]??r.groupRect},Te=({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=xe({list:[...n.items],startIndex:t,finishIndex:i});return n.items.map(e=>w(n.groupId,e,n.items[r.findIndex(({id:t})=>t===e.id)].rect)).filter(T)}let a=Ce(r),o=r.items.map((e,t)=>w(r.groupId,e,a[t<i?t:t+1])).filter(T);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=w(n.groupId,c,a[i]??r.groupRect);return T(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(w(n.groupId,e,n.items[s+t].rect))}),o},Ee=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:px)?$/,De=(e,t,n,r,i)=>e===r?t:e===`center`?t-n/2:e===i?t-n:Ee.test(e)?t+Number.parseFloat(e):null,Oe=({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=De(o[0],t.clientX,i.width,`left`,`right`),c=De(o[1],t.clientY,i.height,`top`,`bottom`);return s===null||c===null?a:{x:s,y:c}},ke=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)})},Ae=(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)})},je=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),Me=({source:e,input:t,preview:n,previewPosition:r=`preserve`,opacity:i=.92,color:a=`neutral`,interaction:o=`edge`})=>{let s=e.getBoundingClientRect(),l=document.createElement(`div`),u=document.createElement(`div`),d=document.createElement(`div`),f=n?.content.firstElementChild?.cloneNode(!0),p=f instanceof HTMLElement,m=p?f:e.cloneNode(!0);p||Ae(e,m),ke(m),l.setAttribute(`data-ui-sortable-overlay`,``),u.setAttribute(`data-ui-sortable-ghost-positioner`,``),d.setAttribute(`data-ui-sortable-ghost`,``),d.setAttribute(`aria-hidden`,`true`),d.setAttribute(`inert`,``),p||(d.setAttribute(`data-ui-sortable-default-preview`,``),d.setAttribute(`data-ui-selection-color`,``),d.dataset.color=a,d.dataset.uiInteraction=o,d.dataset.selected=`true`,d.dataset.uiSurface=`+1`,d.dataset.uiElevation=`2`);let h=e.closest(`[data-theme], .dark, .light`);h?.classList.contains(`dark`)&&l.classList.add(`dark`),h?.classList.contains(`light`)&&l.classList.add(`light`),h?.dataset.theme&&(l.dataset.theme=h.dataset.theme),Object.assign(l.style,{position:`fixed`,inset:`0`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(u.style,{position:`absolute`,left:`0`,top:`0`,width:p?`max-content`:`${s.width}px`,height:p?`max-content`:`${s.height}px`,pointerEvents:`none`}),Object.assign(d.style,{width:p?`max-content`:`100%`,height:p?`max-content`:`100%`,opacity:`${i}`,pointerEvents:`none`,...p?{}:{overflow:`hidden`,borderRadius:`var(--radius-overlay-sm)`}}),d.append(m),u.append(d),l.append(u),document.body.append(l);let g=u.getBoundingClientRect(),_=p?{width:g.width,height:g.height}:{width:s.width,height:s.height},v=e=>Oe({value:r,input:e,initialInput:t,sourceRect:s,previewSize:_}),y=e=>Oe({value:`preserve`,input:e,initialInput:t,sourceRect:s,previewSize:{width:s.width,height:s.height}}),b=v(t),x=c.createController({values:{x:{initial:b.x,transition:c.roles.layout},y:{initial:b.y,transition:c.roles.layout}},style:({x:e,y:t})=>({transform:`translate3d(${e}px, ${t}px, 0)`})});return x.mount(u),{positioner:u,visual:d,frame:()=>({...x.current(),..._}),projectedFrame:e=>({...v(e),..._}),projectedSourceFrame:e=>({...y(e),width:s.width,height:s.height}),move(e){x.set(v(e))},async finish(e){e&&await x.animate({x:e.x,y:e.y}).finished},remove:()=>{x.destroy(),l.remove()}}},Ne=1e3,D=null,O=`1px`,Pe={width:O,height:O,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${O}, ${O}, ${O}, ${O})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${O}`,pointerEvents:`none`};function Fe(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,Pe),document.body.append(e),e}function Ie(){return D===null&&(D=Fe()),D}var k=null;function Le(){k!==null&&clearTimeout(k),k=null}function Re(e){Ie(),Le(),k=setTimeout(function(){k=null;var t=Ie();t.textContent=e},Ne)}var A=(e,t)=>`${e}\u0000${t}`,ze=(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})},Be=()=>{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(A(t,n))??null,i=(e,n)=>t.get(A(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`&&!S(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:ze(e,u)}),e.label&&c.label&&Re(`${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,A(r.scopeId,r.id),()=>{let e=t.getGroup();return A(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,A(r.scopeId,r.id),()=>{let t=e.getSource();return A(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)}},j=Be(),M=`--ui-sortable-drag-cursor`,N=`data-ui-sortable-dragging`,Ve=e=>{let t=document.documentElement,n=t.getAttribute(N),r=t.style.getPropertyValue(M);return t.setAttribute(N,``),t.style.setProperty(M,e.trim()||`default`),()=>{n===null?t.removeAttribute(N):t.setAttribute(N,n),r?t.style.setProperty(M,r):t.style.removeProperty(M)}},He=({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}),P=new Map,F=new Set;function Ue(e){We(e);var t=P.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return P.set(e,n),n}function We(e){F.add(e)}function Ge(e){F.clear(),e(),P.forEach(function(e,t){F.has(t)||P.delete(t)}),F.clear()}function Ke(){P.clear()}var qe=new Map;function Je(e){var t=qe.get(e);if(t)return t;var n=Ye(e);return qe.set(e,n),n}function Ye(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});Ge(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),Ke(),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 I=`data-auto-scrollable`,Xe=`[${I}="true"]`;function Ze(e){return e.setAttribute(I,`true`),function(){return e.removeAttribute(I)}}function Qe(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 $e(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?Qe(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},tt={standard:900,fast:1500};function nt(e){return $e($e({},et),{},{maxPixelScrollPerSecond:tt[e?.maxScrollSpeed??`standard`]})}var rt={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}},it=[`top`,`right`,`bottom`,`left`],at={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},ot={start:`top`,end:`bottom`,point:`y`,size:`height`},st={start:`left`,end:`right`,point:`x`,size:`width`},ct={vertical:{mainAxis:ot,crossAxis:st},horizontal:{mainAxis:st,crossAxis:ot}},L={top:`start`,right:`end`,bottom:`end`,left:`start`};function R(e){var t=e.edge,r=e.axis;return function(e){var i=e.clientRect,a=e.config,o=ct[r],s=o.mainAxis,c=o.crossAxis,l=L[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 lt={top:R({axis:`vertical`,edge:`top`}),right:R({axis:`horizontal`,edge:`right`}),bottom:R({axis:`vertical`,edge:`bottom`}),left:R({axis:`horizontal`,edge:`left`})};function z(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 ut(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 dt(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=ct[n].mainAxis,s=L[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?z({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-z({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function B(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=ut({timeSinceLastFrame:n,config:c}),u=(s?dt({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*z({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return L[o]===`end`?d:-1*d}function ft(e,t){return t===`all`||e===t}function pt(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 mt(e){return e.getBoundingClientRect()}function ht(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?mt:s,l={x:n.clientX,y:n.clientY},u=c(t),d=it.reduce(function(e,n){var r=lt[n]({clientRect:u,config:a}),i=at[n];return!ft(i,o)||!pt({client:l,clientRect:r})||!rt[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 B({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?B({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 B({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?B({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function gt(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=_t(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.
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-BQk-uLaI.js";import{d as l,g as u,h as d,r as f}from"./ui-DuGUQhxd.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 x}from"./alpine-machine-BS13dbK4.js";import{n as ee}from"./dom-invalidation-Dw6clnS4.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-DHq3udf7.js";import{L as le,y as ue}from"./common-Dfj6NCjU.js";var S=e=>e!==null&&Number.isInteger(e)&&e>0,C=4,de=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge),fe=({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))},pe=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)}],me=(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)))}]},he=({columns:e,direction:t,groupRect:n,items:r})=>{if(!S(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=>fe({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=>fe({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},ge=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),_e=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=ge(e.orientation===`horizontal`?me(e.items,e.direction):e.orientation===`grid`?he(e):pe(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},ve=e=>{if(e.items.length===0||e.orientation===`grid`)return _e(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}},ye=({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}},be=(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-C:n.left+C,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+C,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-C:s.rect.bottom+C;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`?C:-4):u(s)+(a===`rtl`?-4:C),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!S(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+C;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`?C:-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:C)}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 xe(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 w=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),T=({x:e,y:t})=>e!==0||t!==0,E=(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}),Se=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 E(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 E(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return E(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 E(a.rect,s,0)},Ce=e=>{let t=Se(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},we=({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:Ce(r)[i]??r.groupRect},Te=({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=xe({list:[...n.items],startIndex:t,finishIndex:i});return n.items.map(e=>w(n.groupId,e,n.items[r.findIndex(({id:t})=>t===e.id)].rect)).filter(T)}let a=Ce(r),o=r.items.map((e,t)=>w(r.groupId,e,a[t<i?t:t+1])).filter(T);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=w(n.groupId,c,a[i]??r.groupRect);return T(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(w(n.groupId,e,n.items[s+t].rect))}),o},Ee=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:px)?$/,De=(e,t,n,r,i)=>e===r?t:e===`center`?t-n/2:e===i?t-n:Ee.test(e)?t+Number.parseFloat(e):null,Oe=({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=De(o[0],t.clientX,i.width,`left`,`right`),c=De(o[1],t.clientY,i.height,`top`,`bottom`);return s===null||c===null?a:{x:s,y:c}},ke=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)})},Ae=(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)})},je=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),Me=({source:e,input:t,preview:n,previewPosition:r=`preserve`,opacity:i=.92,color:a=`neutral`,interaction:o=`edge`})=>{let s=e.getBoundingClientRect(),l=document.createElement(`div`),u=document.createElement(`div`),d=document.createElement(`div`),f=n?.content.firstElementChild?.cloneNode(!0),p=f instanceof HTMLElement,m=p?f:e.cloneNode(!0);p||Ae(e,m),ke(m),l.setAttribute(`data-ui-sortable-overlay`,``),u.setAttribute(`data-ui-sortable-ghost-positioner`,``),d.setAttribute(`data-ui-sortable-ghost`,``),d.setAttribute(`aria-hidden`,`true`),d.setAttribute(`inert`,``),p||(d.setAttribute(`data-ui-sortable-default-preview`,``),d.setAttribute(`data-ui-selection-color`,``),d.dataset.color=a,d.dataset.uiInteraction=o,d.dataset.selected=`true`,d.dataset.uiSurface=`+1`,d.dataset.uiElevation=`2`);let h=e.closest(`[data-theme], .dark, .light`);h?.classList.contains(`dark`)&&l.classList.add(`dark`),h?.classList.contains(`light`)&&l.classList.add(`light`),h?.dataset.theme&&(l.dataset.theme=h.dataset.theme),Object.assign(l.style,{position:`fixed`,inset:`0`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(u.style,{position:`absolute`,left:`0`,top:`0`,width:p?`max-content`:`${s.width}px`,height:p?`max-content`:`${s.height}px`,pointerEvents:`none`}),Object.assign(d.style,{width:p?`max-content`:`100%`,height:p?`max-content`:`100%`,opacity:`${i}`,pointerEvents:`none`,...p?{}:{overflow:`hidden`,borderRadius:`var(--radius-overlay-sm)`}}),d.append(m),u.append(d),l.append(u),document.body.append(l);let g=u.getBoundingClientRect(),_=p?{width:g.width,height:g.height}:{width:s.width,height:s.height},v=e=>Oe({value:r,input:e,initialInput:t,sourceRect:s,previewSize:_}),y=e=>Oe({value:`preserve`,input:e,initialInput:t,sourceRect:s,previewSize:{width:s.width,height:s.height}}),b=v(t),x=c.createController({values:{x:{initial:b.x,transition:c.roles.layout},y:{initial:b.y,transition:c.roles.layout}},style:({x:e,y:t})=>({transform:`translate3d(${e}px, ${t}px, 0)`})});return x.mount(u),{positioner:u,visual:d,frame:()=>({...x.current(),..._}),projectedFrame:e=>({...v(e),..._}),projectedSourceFrame:e=>({...y(e),width:s.width,height:s.height}),move(e){x.set(v(e))},async finish(e){e&&await x.animate({x:e.x,y:e.y}).finished},remove:()=>{x.destroy(),l.remove()}}},Ne=1e3,D=null,O=`1px`,Pe={width:O,height:O,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${O}, ${O}, ${O}, ${O})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${O}`,pointerEvents:`none`};function Fe(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,Pe),document.body.append(e),e}function Ie(){return D===null&&(D=Fe()),D}var k=null;function Le(){k!==null&&clearTimeout(k),k=null}function Re(e){Ie(),Le(),k=setTimeout(function(){k=null;var t=Ie();t.textContent=e},Ne)}var A=(e,t)=>`${e}\u0000${t}`,ze=(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})},Be=()=>{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(A(t,n))??null,i=(e,n)=>t.get(A(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`&&!S(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:ze(e,u)}),e.label&&c.label&&Re(`${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,A(r.scopeId,r.id),()=>{let e=t.getGroup();return A(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,A(r.scopeId,r.id),()=>{let t=e.getSource();return A(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)}},j=Be(),M=`--ui-sortable-drag-cursor`,N=`data-ui-sortable-dragging`,Ve=e=>{let t=document.documentElement,n=t.getAttribute(N),r=t.style.getPropertyValue(M);return t.setAttribute(N,``),t.style.setProperty(M,e.trim()||`default`),()=>{n===null?t.removeAttribute(N):t.setAttribute(N,n),r?t.style.setProperty(M,r):t.style.removeProperty(M)}},He=({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}),P=new Map,F=new Set;function Ue(e){We(e);var t=P.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return P.set(e,n),n}function We(e){F.add(e)}function Ge(e){F.clear(),e(),P.forEach(function(e,t){F.has(t)||P.delete(t)}),F.clear()}function Ke(){P.clear()}var qe=new Map;function Je(e){var t=qe.get(e);if(t)return t;var n=Ye(e);return qe.set(e,n),n}function Ye(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});Ge(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),Ke(),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 I=`data-auto-scrollable`,Xe=`[${I}="true"]`;function Ze(e){return e.setAttribute(I,`true`),function(){return e.removeAttribute(I)}}function Qe(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 $e(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?Qe(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},tt={standard:900,fast:1500};function nt(e){return $e($e({},et),{},{maxPixelScrollPerSecond:tt[e?.maxScrollSpeed??`standard`]})}var rt={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}},it=[`top`,`right`,`bottom`,`left`],at={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},ot={start:`top`,end:`bottom`,point:`y`,size:`height`},st={start:`left`,end:`right`,point:`x`,size:`width`},ct={vertical:{mainAxis:ot,crossAxis:st},horizontal:{mainAxis:st,crossAxis:ot}},L={top:`start`,right:`end`,bottom:`end`,left:`start`};function R(e){var t=e.edge,r=e.axis;return function(e){var i=e.clientRect,a=e.config,o=ct[r],s=o.mainAxis,c=o.crossAxis,l=L[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 lt={top:R({axis:`vertical`,edge:`top`}),right:R({axis:`horizontal`,edge:`right`}),bottom:R({axis:`vertical`,edge:`bottom`}),left:R({axis:`horizontal`,edge:`left`})};function z(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 ut(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 dt(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=ct[n].mainAxis,s=L[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?z({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-z({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function B(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=ut({timeSinceLastFrame:n,config:c}),u=(s?dt({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*z({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return L[o]===`end`?d:-1*d}function ft(e,t){return t===`all`||e===t}function pt(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 mt(e){return e.getBoundingClientRect()}function ht(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?mt:s,l={x:n.clientX,y:n.clientY},u=c(t),d=it.reduce(function(e,n){var r=lt[n]({clientRect:u,config:a}),i=at[n];return!ft(i,o)||!pt({client:l,clientRect:r})||!rt[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 B({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?B({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 B({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?B({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function gt(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=_t(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
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 _t(e,t){if(e){if(typeof e==`string`)return vt(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)?vt(e,t):void 0}}function vt(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 yt(e){return!!(e.top||e.left)}function bt(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(!yt(s)||!t)return s;var c=t.closest(Xe);if(!c)return s;var l=i(c);if(!l)return s;function u(){return bt({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=Ue(c),p=nt(l.getConfiguration?.call(l,d)),m=ht({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 xt(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=gt(a),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!(u.canScroll&&!u.canScroll(s))){var d=ht({element:o,engagement:Ue(o),input:t,config:nt(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 St(e){var t=e.input,n=e.findEntry,r=e.timeSinceLastFrame,i=e.source,a=e.getWindowScrollEntries,o=e.underUsersPointer,s=bt({target:o,timeSinceLastFrame:r,input:t,source:i,findEntry:n});yt(s)&&xt({input:t,source:i,entries:a(),timeSinceLastFrame:r,available:s})}function Ct(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 wt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?Ct(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ct(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Tt(e){var t=e.monitor,n=new Map,i=new Set;function a(e){return n.set(e.element,e),r(o(Ze(e.element),function(){return n.delete(e.element)}))}function s(){var e=wt({},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;St({input:t.location.current.input,source:t.source,findEntry:c,underUsersPointer:n,timeSinceLastFrame:r,getWindowScrollEntries:l})}return Je(t).onFrame(u),{autoScroll:a,autoScrollWindow:s}}var Et=Tt({monitor:ae}),Dt=Et.autoScroll,Ot=Et.autoScrollWindow,kt=s();function At(e){e.defaultPrevented||(e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.preventDefault())}var V=null;function jt(){H(),V=(0,kt.bindAll)(window,[{type:`dragover`,listener:At},{type:`dragenter`,listener:At},{type:`drop`,listener:function(e){e.preventDefault(),H()}},{type:`dragend`,listener:H}].concat(a(i({onDragEnd:H}))),{capture:!1})}function H(){var e;(e=V)==null||e(),V=null}function Mt(){if(window.event?.type===`drop`){var e;(e=window.event)==null||e.preventDefault()}H()}var Nt={start:jt,stop:Mt},U=`[data-ui-sortable]`,Pt=`[data-ui-sortable-item]`,Ft=`[data-ui-sortable-source]`,It=`[x-ui-sortable\\:handle], [data-ui-sortable-handle]`,Lt=`[x-ui-sortable\\:preview], [data-ui-sortable-preview]`,Rt=`[x-ui-sortable\\:indicator], [data-ui-sortable-indicator]`,zt=`ui-sortable`,W=2,Bt=`a, button, input, select, textarea, summary, [contenteditable], [role="button"], [role="link"]`,Vt={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`),previewPosition:m.trim.default(`preserve`),color:h(le,`neutral`),interaction:h(ue,`edge`),label:m.trim,sortableData:v.object({})},Ht={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`),previewPosition:m.trim.default(`12px 12px`),color:h(le,`neutral`),interaction:h(ue,`edge`)},Ut=[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,Wt=new WeakMap,q=null,J=(e,t)=>e.closest(t),Gt=e=>[...e.querySelectorAll(Pt)].filter(t=>J(t.parentElement??t,U)===e),Y=(e,t=e.dataset.sortableId)=>d(e,t)??``,Kt=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:Gt(e.el).map(e=>({id:Y(e),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)}))}},qt=(e,t,n)=>{if(t.target===n)return null;t.target=n;let r=c(e).animate({translate:n||`none`}).role(`layout`).play();return t.handle=r,r.finished.then(()=>{t.handle===r&&(t.handle=null,e.style.translate=t.target)}),r},Jt=()=>{let e=q;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())},Yt=(e=!1)=>{let t=q;if(!t)return[];let n=[];return t.projections.forEach((t,r)=>{if(e)t.handle?.stop(),r.style.translate=t.baseline;else{let e=qt(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},Z=(e=null)=>{K.forEach(({el:t})=>{t!==e&&t.removeAttribute(`data-drag-rejected`)})},Xt=e=>{let t=q;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&&Gt(o.controller.el).find(e=>Y(e)===n);s&&r.set(s,{x:i,y:a,group:o.controller})}),t.projections.forEach((e,t)=>{if(r.has(t))return;let i=qt(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=qt(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},Zt=(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.index=String(t.index??0),i.dataset.operation=n??``,i.dataset.indicatorKind=r.kind},Qt=()=>{q?.group&&(q.group.el.removeAttribute(`data-drag-over`),q.group.el.removeAttribute(`data-drop-edge`),q.group.el.removeAttribute(`data-drop-effect`),q.group.el.removeAttribute(`data-drop-noop`),q.group.el.removeAttribute(`data-placing`),Zt(q.group,null),q.group=null)},Q=(e=!1)=>{if(!q)return[];let t=Yt(e);return Qt(),q.placement=null,t},$=(e,t=`outside`)=>{let n=q;if(!n)return;Nt.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?we({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}:je(n.controller.el.getBoundingClientRect());Q(!0),q=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(),Z(),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}})},$t=(e,t)=>{if(!q)return;let n=q.placement,r=q.group!==e;r&&Qt();let i=e.group(),a=q.source.operation===`insert`?`indicator`:i.feedback,o=Kt(e).layout,s=o.items,c=s.map(({id:e})=>e),l=q.source.id,u=a===`reorder`&&i.id===q.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=q.ghost.projectedSourceFrame(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`?ve:_e)({...d,input:p}),h=a===`indicator`?be({...d,items:s},m):null,g=a===`reorder`?m:ye({placement:m,sourceId:q.source.id,sourceGroupId:q.source.groupId,itemIds:c});if(!r&&de(n,g))return;let _=q.source.groupId===null?null:q.layouts.get(q.source.groupId)??null,v=q.layouts.get(i.id),b=j.isNoop(q.source,g),x=a===`reorder`&&!b?Te({source:q.source,placement:g,sourceLayout:_?X(_):null,destinationLayout:v?X(v):null}):[];q.group=e,q.placement=g,e.el.setAttribute(`data-drag-over`,``),e.el.dataset.dropEdge=g.anchor?.edge??`empty`,e.el.dataset.dropEffect=q.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:q.source,previous:n,placement:g})}),q.controller.machine.send({type:`LAYOUT_PROPOSED`,data:{source:q.source,previous:n,placement:g,feedback:a,offsets:x,indicatorFrame:h,noop:b}})},en=e=>{let t=q;if(!t?.group||!de(t.placement,e.placement))return;t.controller.el.dataset.sortablePhase=`placing`,t.group.el.setAttribute(`data-placing`,``);let n=e.feedback===`reorder`&&!e.noop?Xt(e.offsets):Yt();e.feedback===`reorder`&&!e.noop?Zt(t.group,null):Zt(t.group,e.noop?null:e.placement,t.source.operation,e.indicatorFrame);let r=()=>{q===t&&Jt()};if(n.length===0){r();return}return Promise.allSettled(n.map(({finished:e})=>e)).then(r)},tn=(e,t)=>{e.setAttribute(`data-ui-sortable`,``),u(e,`data-ui-sortable`,`data-drop-target-for-element`,`data-auto-scrollable`);let n=()=>void 0,r=_({el:e,schema:Vt,onChange:()=>n()}),i={el:e,group:()=>Object.freeze({scopeId:r.sortableScope,id:Y(e,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,previewPosition:r.previewPosition,color:r.color,interaction:r.interaction,...Object.keys(r.sortableData).length?{data:Object.freeze({...r.sortableData})}:{}}),itemIds:()=>Gt(e).map(e=>Y(e)).filter(Boolean),indicator:()=>[...e.querySelectorAll(Rt)].find(t=>J(t.parentElement??t,U)===e)??null,refresh:()=>n()};(!r.sortableScope||!i.group().id||r.accepts.length===0)&&l(`Invalid sortable group props`,e),r.orientation===`grid`&&!S(r.columns)&&l(`Grid sortable groups require positive data-columns`,e),G.set(e,i),K.add(i);let a=j.registerGroup({element:e,getGroup:i.group,getItemIds:i.itemIds,canDrop:t=>Wt.get(e)?.(t)!==!1});n=()=>{q?.group===i&&$(`cancel`,`removed`),a.refresh()};let o=ee(e,{invalidateDom:i.refresh}),s=re({element:e,canDrop:({source:t,input:n})=>{let r=q,a=t.data.marker===zt&&r!==null,o=a&&j.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(!q||q.group!==i||!q.placement)return;let e=j.emitDrop(q.source,q.placement,q.input),t=i.group();$(e?`drop`:`cancel`,t.disabled||t.readOnly?`disabled`:`outside`)}}),c=Dt({element:e});t.cleanup(()=>{q?.group===i&&Q(!0),c(),s(),o(),a(),r.disconnect(),G.delete(e),K.delete(i),e.removeAttribute(`data-drag-rejected`)})},nn=(e,t,n)=>{let r=t===`item`?`data-ui-sortable-item`:`data-ui-sortable-source`;e.setAttribute(r,``),u(e,r,`draggable`);let i=()=>t===`item`?J(e.parentElement??e,U):null,a,o=x({schema:Ht,hooks:Ut,createMachine:({props:t})=>He({props:t,effects:{resolvePlacement:({context:e})=>{let t=q,n=e.pointer;if(!t||!n)return;let r=n.destinationId===null?null:t.layouts.get(n.destinationId)?.controller??null;r?$t(r,n.input):Q()},synced:()=>{e.removeAttribute(`data-sortable-phase`),q?.group?.el.removeAttribute(`data-placing`)},complete:()=>a.afterEnd?.(),reconcile:()=>a.refresh()}}),resolveTransitionElement:({name:e})=>e===`starting`?a.ghost?.visual:e===`placing`?q?.group?.el:a.ghost?.positioner});o.connect(e);let s=()=>o.getCommittedSnapshot().props;a={el:e,owner:i,source:()=>{let n=s(),r=i(),a=r?G.get(r)?.group():null,o={scopeId:t===`item`?a?.scopeId??``:n.sortableScope,id:Y(e,n.sortableId),type:n.sortableType,...n.label?{label:n.label}:{},...Object.keys(n.sortableData).length?{data:Object.freeze({...n.sortableData})}:{}};return Object.freeze(t===`item`?{operation:`move`,groupId:a?.id??``,...o}:{operation:`insert`,groupId:null,...o})},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,previewPosition:n?.previewPosition??e.previewPosition,color:n?.color??e.color,interaction:n?.interaction??e.interaction}},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=>en(e.data)),d=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)&&l(`Invalid sortable source props`,e);let p=j.registerSource({element:e,getSource:a.source,isDisabled:a.disabled});a.refresh=()=>{q?.controller===a&&$(`cancel`,`removed`),p.refresh()};let m=[...e.querySelectorAll(It)].find(t=>J(t,`${Pt}, ${Ft}`)===e),h=[...e.querySelectorAll(Lt)].find(t=>J(t,`${Pt}, ${Ft}`)===e),g=se(e,`move`),_=ce({element:e,...m?{dragHandle:m}:{},canDrag:({input:t})=>{let n=document.elementFromPoint(t.clientX,t.clientY)?.closest(Bt)??null;return!a.disabled()&&(!!m||n===null||n===e)},getInitialData:()=>{let e=a.source();return{marker:zt,scopeId:e.scopeId,sortableId:e.id,sortableType:e.type}},onGenerateDragPreview:oe,onDragStart:t=>{Nt.start();let n=a.source(),r=ie(t),i=a.appearance(),s=Me({source:e,input:ne(t),preview:h??null,previewPosition:h?.dataset.previewPosition||i.previewPosition,opacity:i.ghostOpacity,color:i.color,interaction:i.interaction});s.move(r),a.ghost=s,a.previousOpacity=e.style.opacity,e.style.opacity=`${i.sourceOpacity}`;let c=Ve(i.dragCursor);q={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,Kt(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:je(e.getBoundingClientRect()),ghostFrame:s.frame()}})},onDrag:t=>{if(q?.controller!==a)return;let n=ie(t),r=q.input,i=performance.now(),s=Math.max(i-q.timestamp,1);q.input=n,q.timestamp=i,q.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}}),Z(document.elementFromPoint(n.clientX,n.clientY)?.closest(U)??null),y({el:e,name:`ui:sortable-drag`,composed:!0,detail:Object.freeze({source:q.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({...q.ghost.frame()})})})},onDrop:()=>queueMicrotask(()=>{q?.controller===a&&$(`cancel`,a.disabled()?`disabled`:`outside`)})});n.cleanup(()=>{if(q?.controller===a){let t=q;Nt.stop(),Q(!0),q=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(),Z(),a.restoreAppearance(),a.ghost=null,a.afterEnd=null}_(),g(),c(),d(),p(),o.disconnect(),a.afterEnd?.(),a.ghost?.remove(),a.ghost=null,a.afterEnd=null})},rn=null,an=e=>{e.addInitSelector(()=>`[x-ui-sortable], [x-ui-sortable\\:item], [x-ui-sortable\\:source]`),rn??=Ot(),e.directive(`ui-sortable`,e.skipDuringClone((e,{value:t,expression:n},r)=>{e instanceof HTMLElement&&(t?t===`item`||t===`source`?nn(e,t,r):t===`handle`?(e.setAttribute(`data-ui-sortable-handle`,``),u(e,`data-ui-sortable-handle`)):t===`indicator`?(e.setAttribute(`data-ui-sortable-indicator`,``),u(e,`data-ui-sortable-indicator`,`aria-hidden`,`hidden`),e.setAttribute(`aria-hidden`,`true`),e.hidden=!0):t===`preview`?(e.setAttribute(`data-ui-sortable-preview`,``),u(e,`data-ui-sortable-preview`,`data-preview-position`)):t===`can-drop`&&n?.trim()&&(Wt.set(e,e=>r.evaluate(n,{scope:{$sortable:e}})!==!1),r.cleanup(()=>Wt.delete(e))):tn(e,r))}))},on=new WeakSet,sn=e=>{on.has(e)||(on.add(e),f(j),an(e))};export{j as i,an as n,Be as r,sn as t};
3
- //# sourceMappingURL=capability-sortable-Ms02uATJ.js.map
3
+ //# sourceMappingURL=capability-sortable-DtSghTO8.js.map