@vireo-ai/trellis-ui 0.1.61 → 0.1.63

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 (537) hide show
  1. package/THIRD_PARTY_NOTICES.md +9 -0
  2. package/package.json +15 -35
  3. package/packages/client/skills/compose-trellis-ui/SKILL.md +84 -0
  4. package/packages/client/skills/compose-trellis-ui/references/project-ui.md +40 -0
  5. package/packages/client/src/components/accordion/styles.css +21 -9
  6. package/packages/client/src/components/badge/styles.css +12 -0
  7. package/packages/client/src/components/button/styles.css +31 -5
  8. package/packages/client/src/components/card/styles.css +16 -0
  9. package/packages/client/src/components/checkbox/styles.css +29 -5
  10. package/packages/client/src/components/date-picker/styles.css +22 -17
  11. package/packages/client/src/components/field/styles.css +16 -16
  12. package/packages/client/src/components/input/styles.css +1 -0
  13. package/packages/client/src/components/keybinding/styles.css +9 -2
  14. package/packages/client/src/components/menu/styles.css +13 -0
  15. package/packages/client/src/components/panels/styles.css +12 -2
  16. package/packages/client/src/components/scroll-area/styles.css +169 -2
  17. package/packages/client/src/components/select/styles.css +28 -8
  18. package/packages/client/src/components/sidebar/styles.css +218 -0
  19. package/packages/client/src/components/slider/styles.css +57 -0
  20. package/packages/client/src/components/tabs/styles.css +26 -24
  21. package/packages/client/src/components/toast/styles.css +31 -0
  22. package/packages/client/src/directives/sortable.css +5 -0
  23. package/packages/client/src/runtime/drag-and-drop/resize-handle.css +2 -2
  24. package/packages/client/src/styles/components.css +8 -4
  25. package/packages/client/src/styles/fonts/fira-code/5.3.0/LICENSE +93 -0
  26. package/packages/client/src/styles/fonts/fira-code/5.3.0/download.json +47 -0
  27. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
  28. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
  29. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
  30. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
  31. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
  32. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
  33. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
  34. package/packages/client/src/styles/fonts/fira-code/5.3.0/font.css +62 -0
  35. package/packages/client/src/styles/fonts/fira-code/5.3.0/resource.json +82 -0
  36. package/packages/client/src/styles/fonts/inter/5.3.0/LICENSE +93 -0
  37. package/packages/client/src/styles/fonts/inter/5.3.0/download.json +47 -0
  38. package/packages/client/src/styles/fonts/inter/5.3.0/font.css +62 -0
  39. package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
  40. package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
  41. package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
  42. package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
  43. package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
  44. package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
  45. package/packages/client/src/styles/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
  46. package/packages/client/src/styles/fonts/inter/5.3.0/resource.json +82 -0
  47. package/packages/client/src/styles/generated/theme-fonts.css +3 -3
  48. package/packages/client/src/styles/generated/theme-palette.css +1001 -634
  49. package/packages/client/src/styles/generated/theme-runtime.css +938 -607
  50. package/packages/client/src/styles/generated-sources.css +1 -1
  51. package/packages/client/src/styles/layout.css +88 -0
  52. package/packages/client/src/styles/recipes/action.css +4 -16
  53. package/packages/client/src/styles/recipes/disabled.css +8 -0
  54. package/packages/client/src/styles/recipes/option.css +0 -44
  55. package/packages/client/src/styles/recipes/selection.css +28 -39
  56. package/packages/client/src/styles/theme-support.css +26 -42
  57. package/packages/client/src/styles/typography.css +26 -0
  58. package/packages/client/types/assets/bridge.d.ts +1 -2
  59. package/packages/client/types/capabilities/collection.d.ts +7 -0
  60. package/packages/client/types/capabilities/collection.entry.generated.d.ts +3 -0
  61. package/packages/client/types/capabilities/shortcut.d.ts +4 -3
  62. package/packages/client/types/components/accordion/machine.d.ts +4 -4
  63. package/packages/client/types/components/app/contract.d.ts +5 -5
  64. package/packages/client/types/components/badge/contract.d.ts +1 -0
  65. package/packages/client/types/components/box/contract.d.ts +17 -12
  66. package/packages/client/types/components/box/index.d.ts +1 -1
  67. package/packages/client/types/components/button/contract.d.ts +3 -2
  68. package/packages/client/types/components/card/contract.d.ts +27 -16
  69. package/packages/client/types/components/checkbox/contract.d.ts +13 -13
  70. package/packages/client/types/components/common.d.ts +13 -11
  71. package/packages/client/types/components/container/contract.d.ts +4 -3
  72. package/packages/client/types/components/data-grid/contract.d.ts +3 -2
  73. package/packages/client/types/components/date-picker/contract.d.ts +2 -2
  74. package/packages/client/types/components/date-picker/machine.d.ts +11 -11
  75. package/packages/client/types/components/dropdown/contract.d.ts +1 -1
  76. package/packages/client/types/components/dropdown/machine.d.ts +5 -3
  77. package/packages/client/types/components/field/contract.d.ts +4 -4
  78. package/packages/client/types/components/file-upload/contract.d.ts +3 -3
  79. package/packages/client/types/components/file-upload/machine.d.ts +4 -4
  80. package/packages/client/types/components/flex/contract.d.ts +10 -8
  81. package/packages/client/types/components/frame/contract.d.ts +14 -11
  82. package/packages/client/types/components/grid/contract.d.ts +8 -7
  83. package/packages/client/types/components/image/contract.d.ts +1 -0
  84. package/packages/client/types/components/import-flow/contract.d.ts +1 -0
  85. package/packages/client/types/components/input/contract.d.ts +1 -0
  86. package/packages/client/types/components/input/machine.d.ts +2 -2
  87. package/packages/client/types/components/layout.d.ts +91 -35
  88. package/packages/client/types/components/menu/contract.d.ts +27 -10
  89. package/packages/client/types/components/modal/contract.d.ts +22 -5
  90. package/packages/client/types/components/panels/contract.d.ts +2 -2
  91. package/packages/client/types/components/panels/index.d.ts +2 -1
  92. package/packages/client/types/components/panels/machine.d.ts +9 -8
  93. package/packages/client/types/components/radio/contract.d.ts +8 -8
  94. package/packages/client/types/components/scroll-area/contract.d.ts +1 -20
  95. package/packages/client/types/components/section/contract.d.ts +4 -3
  96. package/packages/client/types/components/select/contract.d.ts +3 -3
  97. package/packages/client/types/components/select/machine.d.ts +13 -13
  98. package/packages/client/types/components/select/presentation.d.ts +1 -0
  99. package/packages/client/types/components/sidebar/contract.d.ts +26 -8
  100. package/packages/client/types/components/sidebar/groups.d.ts +4 -0
  101. package/packages/client/types/components/sidebar/index.d.ts +5 -4
  102. package/packages/client/types/components/slider/contract.d.ts +1 -0
  103. package/packages/client/types/components/slider/machine.d.ts +10 -5
  104. package/packages/client/types/components/stack/contract.d.ts +10 -8
  105. package/packages/client/types/components/switch/contract.d.ts +8 -8
  106. package/packages/client/types/components/table/contract.d.ts +6 -5
  107. package/packages/client/types/components/tabs/index.d.ts +2 -1
  108. package/packages/client/types/components/tabs/machine.d.ts +2 -2
  109. package/packages/client/types/components/textarea/contract.d.ts +1 -1
  110. package/packages/client/types/components/toast/machine.d.ts +2 -2
  111. package/packages/client/types/components/tooltip/contract.d.ts +13 -13
  112. package/packages/client/types/components/tooltip/machine.d.ts +3 -7
  113. package/packages/client/types/core.d.ts +3 -1
  114. package/packages/client/types/directives/anchor.d.ts +1 -0
  115. package/packages/client/types/directives/animate.d.ts +3 -0
  116. package/packages/client/types/directives/collection.d.ts +9 -0
  117. package/packages/client/types/directives/index.d.ts +2 -2
  118. package/packages/client/types/docs/transition-docs.d.ts +0 -2
  119. package/packages/client/types/motion/animate.d.ts +7 -2
  120. package/packages/client/types/motion/config.d.ts +118 -0
  121. package/packages/client/types/motion/feedback.d.ts +3 -0
  122. package/packages/client/types/motion/index.d.ts +8 -107
  123. package/packages/client/types/motion/layout.d.ts +25 -0
  124. package/packages/client/types/motion/lifecycle.d.ts +10 -0
  125. package/packages/client/types/motion/owned.d.ts +15 -4
  126. package/packages/client/types/motion/properties.d.ts +17 -0
  127. package/packages/client/types/motion/recipe.d.ts +8 -75
  128. package/packages/client/types/motion/reduced-motion.d.ts +7 -8
  129. package/packages/client/types/motion/registry.d.ts +37 -0
  130. package/packages/client/types/motion/resize-preview.d.ts +26 -0
  131. package/packages/client/types/motion/resize.d.ts +3 -1
  132. package/packages/client/types/motion/size.d.ts +7 -4
  133. package/packages/client/types/runtime/anchored-popover.d.ts +11 -2
  134. package/packages/client/types/runtime/collection-navigation.d.ts +12 -4
  135. package/packages/client/types/runtime/control-size.d.ts +4 -0
  136. package/packages/client/types/runtime/drag-and-drop/index.d.ts +10 -3
  137. package/packages/client/types/runtime/drag-and-drop/sortable/ghost.d.ts +2 -1
  138. package/packages/client/types/runtime/engine/fragment.d.ts +2 -1
  139. package/packages/client/types/runtime/engine/stream.d.ts +5 -9
  140. package/packages/client/types/runtime/focus.d.ts +3 -1
  141. package/packages/client/types/runtime/index.d.ts +2 -2
  142. package/packages/client/types/runtime/layout-participant.d.ts +10 -9
  143. package/packages/client/types/runtime/layout-task.d.ts +9 -0
  144. package/packages/client/types/runtime/morph-engine.d.ts +1 -0
  145. package/packages/client/types/runtime/option-data.d.ts +2 -1
  146. package/packages/client/types/runtime/preferences.d.ts +14 -0
  147. package/packages/client/types/runtime/scroll-area-schema.d.ts +23 -0
  148. package/packages/client/types/runtime/theme.d.ts +6 -4
  149. package/packages/client/types/runtime/ui.d.ts +5 -5
  150. package/packages/client/types/runtime/virtualizer-schema.d.ts +3 -1
  151. package/packages/client/types/runtime/virtualizer-size.d.ts +7 -0
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js +2 -0
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js.map +1 -0
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +984 -1132
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js → anchor-DXCLxWw-.js} +2 -2
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js.map → anchor-DXCLxWw-.js.map} +1 -1
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor.js +2 -2
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js +2 -0
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js.map +1 -0
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection.js +2 -0
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-DlgeSL0c.js +2 -0
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{resizable-Ctqx_OoS.js.map → resizable-DlgeSL0c.js.map} +1 -1
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +2 -2
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-Qa2EByIB.js +2 -0
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{shortcut-D2NgvMgw.js.map → shortcut-Qa2EByIB.js.map} +1 -1
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +2 -2
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CgP1efhO.js +2 -0
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-CbIOS4Lm.js.map → sortable-CgP1efhO.js.map} +1 -1
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js +2 -0
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js.map +1 -0
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js +2 -0
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js.map +1 -0
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js +2 -0
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js.map +1 -0
  177. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpUAUTdh.js +5 -0
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpUAUTdh.js.map +1 -0
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js +2 -0
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js.map +1 -0
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js +2 -0
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js.map +1 -0
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js +2 -0
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js.map +1 -0
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js +2 -0
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js.map +1 -0
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js +2 -0
  188. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js.map +1 -0
  189. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js +2 -0
  190. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js.map +1 -0
  191. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-zFOeeob-.js +6 -0
  192. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{element-adapter-native-data-key-DrqJDAVH.js.map → element-adapter-native-data-key-zFOeeob-.js.map} +1 -1
  193. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js +2 -0
  194. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js.map +1 -0
  195. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js +2 -0
  196. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js.map +1 -0
  197. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js → focus-BvBkrIcj.js} +2 -2
  198. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js.map → focus-BvBkrIcj.js.map} +1 -1
  199. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DYfME-Rk.js +2 -0
  200. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-scope-BrYxsrhc.js.map → focus-scope-DYfME-Rk.js.map} +1 -1
  201. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js +2 -0
  202. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js.map +1 -0
  203. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js +2 -0
  204. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js.map +1 -0
  205. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js +2 -0
  206. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js.map +1 -0
  207. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js +2 -0
  208. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js.map +1 -0
  209. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js +2 -0
  210. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js.map +1 -0
  211. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js +2 -0
  212. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js.map +1 -0
  213. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js +2 -0
  214. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js.map +1 -0
  215. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js +2 -0
  216. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js.map +1 -0
  217. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js +2 -0
  218. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js.map +1 -0
  219. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js +2 -0
  220. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js.map +1 -0
  221. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preload-helper-BZ1Pz5am.js +1 -0
  222. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js +2 -0
  223. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js.map +1 -0
  224. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js +2 -0
  225. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js.map +1 -0
  226. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js +2 -0
  227. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js.map +1 -0
  228. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js +2 -0
  229. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js.map +1 -0
  230. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js +2 -0
  231. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js.map +1 -0
  232. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-CQDZhwd_.js → styles-BvLCjUXV.js} +2 -2
  233. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-BvLCjUXV.js.map +1 -0
  234. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js +4 -0
  235. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js.map +1 -0
  236. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js +2 -0
  237. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js.map +1 -0
  238. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js +2 -0
  239. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js.map +1 -0
  240. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +2 -2
  241. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js +2 -0
  242. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js.map +1 -0
  243. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -2
  244. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js +2 -0
  245. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js.map +1 -0
  246. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -2
  247. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Cr9kEoo9.js +2 -0
  248. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Cr9kEoo9.js.map +1 -0
  249. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -2
  250. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js +2 -0
  251. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js.map +1 -0
  252. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +2 -2
  253. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js +2 -0
  254. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js.map +1 -0
  255. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -2
  256. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js +2 -0
  257. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js.map +1 -0
  258. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +2 -2
  259. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js +2 -0
  260. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js.map +1 -0
  261. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -2
  262. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js +2 -0
  263. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js.map +1 -0
  264. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -2
  265. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js +2 -0
  266. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js.map +1 -0
  267. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -2
  268. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js +2 -0
  269. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js.map +1 -0
  270. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -2
  271. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js +2 -0
  272. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js.map +1 -0
  273. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -2
  274. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js +2 -0
  275. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js.map +1 -0
  276. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -2
  277. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js +2 -0
  278. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js.map +1 -0
  279. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +2 -2
  280. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js +2 -0
  281. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js.map +1 -0
  282. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +2 -2
  283. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js +2 -0
  284. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js.map +1 -0
  285. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -2
  286. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js +2 -0
  287. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js.map +1 -0
  288. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -2
  289. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js +2 -0
  290. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js.map +1 -0
  291. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +2 -2
  292. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js +2 -0
  293. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js.map +1 -0
  294. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +2 -2
  295. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js +2 -0
  296. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js.map +1 -0
  297. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -2
  298. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js +2 -0
  299. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js.map +1 -0
  300. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -2
  301. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js +2 -0
  302. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js.map +1 -0
  303. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -2
  304. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js +2 -0
  305. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js.map +1 -0
  306. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +2 -2
  307. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js +2 -0
  308. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js.map +1 -0
  309. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +2 -2
  310. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js +2 -0
  311. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js.map +1 -0
  312. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +2 -2
  313. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js +2 -0
  314. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js.map +1 -0
  315. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -2
  316. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js +2 -0
  317. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js.map +1 -0
  318. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -2
  319. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +299 -441
  320. package/packages/theme-engine/README.md +98 -18
  321. package/packages/theme-engine/THEME_AUTHORING.md +34 -0
  322. package/packages/theme-engine/dist/trellis.js +613 -285
  323. package/packages/theme-engine/fonts/fira-code/5.3.0/LICENSE +93 -0
  324. package/packages/theme-engine/fonts/fira-code/5.3.0/download.json +47 -0
  325. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
  326. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
  327. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
  328. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
  329. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
  330. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
  331. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
  332. package/packages/theme-engine/fonts/fira-code/5.3.0/font.css +62 -0
  333. package/packages/theme-engine/fonts/fira-code/5.3.0/resource.json +82 -0
  334. package/packages/theme-engine/fonts/inter/5.3.0/LICENSE +93 -0
  335. package/packages/theme-engine/fonts/inter/5.3.0/download.json +47 -0
  336. package/packages/theme-engine/fonts/inter/5.3.0/font.css +62 -0
  337. package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
  338. package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
  339. package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
  340. package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
  341. package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
  342. package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
  343. package/packages/theme-engine/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
  344. package/packages/theme-engine/fonts/inter/5.3.0/resource.json +82 -0
  345. package/packages/theme-engine/generated/knobs/v1/color-alpha.json +1 -1
  346. package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1 -1
  347. package/packages/theme-engine/generated/knobs/v1/color-ink.json +1 -1
  348. package/packages/theme-engine/generated/knobs/v1/color-lighting.json +1 -1
  349. package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1 -1
  350. package/packages/theme-engine/generated/knobs/v1/color-ramps.json +1 -1
  351. package/packages/theme-engine/generated/knobs/v1/composition.json +1 -1
  352. package/packages/theme-engine/generated/knobs/v1/depth.json +1 -1
  353. package/packages/theme-engine/generated/knobs/v1/edges.json +1 -1
  354. package/packages/theme-engine/generated/knobs/v1/index.json +572 -85
  355. package/packages/theme-engine/generated/knobs/v1/manifest.json +25 -46
  356. package/packages/theme-engine/generated/knobs/v1/radii.json +50 -1
  357. package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1 -1
  358. package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +1 -1
  359. package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +1 -1
  360. package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +856 -37
  361. package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +1 -1
  362. package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +1 -1
  363. package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +1 -1
  364. package/packages/theme-engine/generated/knobs/v1/semantic-text-selection.json +372 -0
  365. package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +4 -4
  366. package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +1 -1
  367. package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1 -1
  368. package/packages/theme-engine/generated/knobs/v1/spacing.json +2 -2
  369. package/packages/theme-engine/generated/knobs/v1/substrates.json +1 -1
  370. package/packages/theme-engine/generated/knobs/v1/surfaces.json +1 -1
  371. package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1 -1
  372. package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +158 -40
  373. package/packages/theme-engine/generated/knobs/v1/typography-scale.json +1 -1
  374. package/packages/theme-engine/generated/schemas/theme-config-v1.json +108 -36
  375. package/packages/theme-engine/generated/schemas/theme-manifest-v1.json +10 -37
  376. package/packages/theme-engine/skills/create-trellis-theme/SKILL.md +4 -5
  377. package/packages/client/src/components/app/styles.css +0 -1
  378. package/packages/client/src/components/brand/styles.css +0 -8
  379. package/packages/client/src/styles/motion.css +0 -26
  380. package/packages/client/src/styles/static.css +0 -3
  381. package/packages/client/types/assets/full-runtime.generated.d.ts +0 -2
  382. package/packages/client/types/capabilities/motion.d.ts +0 -6
  383. package/packages/client/types/capabilities/motion.entry.generated.d.ts +0 -3
  384. package/packages/client/types/cdn.d.ts +0 -2
  385. package/packages/client/types/components/entry.generated.d.ts +0 -37
  386. package/packages/client/types/directives/bounds.d.ts +0 -4
  387. package/packages/client/types/directives/layout.d.ts +0 -3
  388. package/packages/client/types/index.d.ts +0 -8
  389. package/packages/client/types/motion/bounds.d.ts +0 -20
  390. package/packages/client/types/motion/controller.d.ts +0 -33
  391. package/packages/client/types/motion/flip.d.ts +0 -14
  392. package/packages/client/types/motion/plan.d.ts +0 -52
  393. package/packages/client/types/motion/stream.d.ts +0 -18
  394. package/packages/client/types/motion/targets.d.ts +0 -23
  395. package/packages/client/types/motion/view.d.ts +0 -27
  396. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-103fb43eb5e1.css +0 -14030
  397. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +0 -14030
  398. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-584dec82495c.css +0 -2
  399. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +0 -2
  400. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-COxhbtRZ.js +0 -1
  401. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js +0 -2
  402. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js.map +0 -1
  403. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +0 -2
  404. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js +0 -2
  405. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js +0 -2
  406. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CbIOS4Lm.js +0 -2
  407. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js +0 -2
  408. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js.map +0 -1
  409. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js +0 -2
  410. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js.map +0 -1
  411. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js +0 -2
  412. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js.map +0 -1
  413. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js +0 -2
  414. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js.map +0 -1
  415. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js +0 -2
  416. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js.map +0 -1
  417. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js +0 -2
  418. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js.map +0 -1
  419. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js +0 -5
  420. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js.map +0 -1
  421. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js +0 -2
  422. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js.map +0 -1
  423. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js +0 -2
  424. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js.map +0 -1
  425. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js +0 -2
  426. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js.map +0 -1
  427. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js +0 -2
  428. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js.map +0 -1
  429. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js +0 -2
  430. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js.map +0 -1
  431. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js +0 -2
  432. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js.map +0 -1
  433. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-DrqJDAVH.js +0 -6
  434. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js +0 -2
  435. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js.map +0 -1
  436. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js +0 -2
  437. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js.map +0 -1
  438. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js +0 -2
  439. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js.map +0 -1
  440. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js +0 -2
  441. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js.map +0 -1
  442. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js +0 -2
  443. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js.map +0 -1
  444. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js +0 -2
  445. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js.map +0 -1
  446. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js +0 -2
  447. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js.map +0 -1
  448. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js +0 -2
  449. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js.map +0 -1
  450. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js +0 -2
  451. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js.map +0 -1
  452. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js +0 -2
  453. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js.map +0 -1
  454. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js +0 -2
  455. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js.map +0 -1
  456. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js +0 -2
  457. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js.map +0 -1
  458. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js +0 -2
  459. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js.map +0 -1
  460. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js +0 -2
  461. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js.map +0 -1
  462. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js +0 -2
  463. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js.map +0 -1
  464. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js +0 -2
  465. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js.map +0 -1
  466. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js +0 -2
  467. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js.map +0 -1
  468. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js +0 -2
  469. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js.map +0 -1
  470. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js +0 -2
  471. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +0 -1
  472. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js +0 -2
  473. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js.map +0 -1
  474. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js +0 -2
  475. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js.map +0 -1
  476. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js +0 -2
  477. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js.map +0 -1
  478. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js +0 -2
  479. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js.map +0 -1
  480. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js +0 -2
  481. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js.map +0 -1
  482. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js +0 -2
  483. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js.map +0 -1
  484. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js +0 -2
  485. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js.map +0 -1
  486. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js +0 -2
  487. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js.map +0 -1
  488. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-BrYxsrhc.js +0 -2
  489. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js +0 -2
  490. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js.map +0 -1
  491. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js +0 -2
  492. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js.map +0 -1
  493. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js +0 -3
  494. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js.map +0 -1
  495. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js +0 -2
  496. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js.map +0 -1
  497. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CQDZhwd_.js.map +0 -1
  498. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js +0 -4
  499. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js.map +0 -1
  500. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DpoqsP_I.js +0 -1
  501. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +0 -1
  502. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +0 -1
  503. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-CCPYnOuT.js +0 -1
  504. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-BCkP5gtC.js +0 -1
  505. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +0 -1
  506. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-Cc84envj.js +0 -1
  507. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +0 -1
  508. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +0 -1
  509. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +0 -1
  510. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +0 -1
  511. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js +0 -2
  512. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js.map +0 -1
  513. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +0 -2
  514. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-BKEbDkKa.js +0 -1
  515. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +0 -1
  516. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-MUHGUsup.js +0 -1
  517. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-DNAroAhk.js +0 -1
  518. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +0 -1
  519. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +0 -1
  520. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-BjLF548F.js +0 -1
  521. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-GpvEBW3K.js +0 -1
  522. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +0 -1
  523. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +0 -1
  524. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +0 -1
  525. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-bq7j1uwx.js +0 -1
  526. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DkP0-rBO.js +0 -1
  527. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-OITEWczP.js +0 -1
  528. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +0 -1
  529. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-Z4zMCScs.js +0 -1
  530. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js +0 -2
  531. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js.map +0 -1
  532. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +0 -2
  533. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-ecb43dfd3b7b.js +0 -11
  534. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +0 -11
  535. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-ecb43dfd3b7b.js +0 -11
  536. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +0 -11
  537. package/packages/theme-engine/generated/knobs/v1/motion.json +0 -128
@@ -1,2 +1,2 @@
1
- import{i as e,n as t,r as n,t as r}from"../chunks/capability-anchor-lhqk7hfo.js";var i=r;export{n as createAnchoredPopover,e as createAnchoredPopoverSurface,i as default,r as registerAnchorCapability,t as registerAnchorDirective};
2
- //# sourceMappingURL=anchor-B-CbpFFU.js.map
1
+ import{i as e,n as t,r as n,t as r}from"../chunks/capability-anchor-BqejlBjS.js";var i=r;export{n as createAnchoredPopover,e as createAnchoredPopoverSurface,i as default,r as registerAnchorCapability,t as registerAnchorDirective};
2
+ //# sourceMappingURL=anchor-DXCLxWw-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-B-CbpFFU.js","names":[],"sources":["../../../../../../../../client/src/capabilities/anchor.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerAnchorCapability} from './anchor';\n\nexport default registerAnchorCapability;\nexport * from './anchor';\n"],"mappings":"iFAIA,IAAA,EAAe"}
1
+ {"version":3,"file":"anchor-DXCLxWw-.js","names":[],"sources":["../../../../../../../../client/src/capabilities/anchor.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerAnchorCapability} from './anchor';\n\nexport default registerAnchorCapability;\nexport * from './anchor';\n"],"mappings":"iFAIA,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- export * from "./anchor-B-CbpFFU.js";
2
- export {default} from "./anchor-B-CbpFFU.js";
1
+ export * from "./anchor-DXCLxWw-.js";
2
+ export {default} from "./anchor-DXCLxWw-.js";
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../chunks/identity-BMTQyLbq.js";import{n as t}from"../chunks/morph-Cq3V_23_.js";import{n}from"../chunks/dom-invalidation-Dw6clnS4.js";import{n as r}from"../chunks/collection-navigation-et2se66r.js";var i=`[data-ui-collection]`,a=new WeakMap,o=o=>{o.magic(`collection`,e=>{let t=e.closest(i),n=t?a.get(t):void 0;if(!n)throw Error(`$collection requires an owning x-collection.`);return{get active(){return n.state.key},get isActive(){return n.state.item!==null&&n.navigation.resolveItem(e)===n.state.item},setActive(e){if(e.closest(i)!==t)return;let r=n.navigation.resolveItem(e);r&&n.navigation.activateItem({el:r})}}}),o.directive(`collection`,o.skipDuringClone((s,{value:c,modifiers:l,expression:u},d)=>{if(!(s instanceof HTMLElement))return;if(!c){s.setAttribute(`data-ui-collection`,``),t(s,`data-ui-collection`);let e=s.getAttribute(`tabindex`),c=o.reactive({key:null,item:null}),u={tabStopAdded:e===null,input:null,state:c,navigation:r({root:()=>s,input:()=>u.input,loop:!l.includes(`no-loop`),onActiveChange:(e,t)=>{c.item=e,c.key=t}})};a.set(s,u);let f=n(s,{invalidateDom:()=>u.navigation.refresh()});e===null&&(s.tabIndex=0);let p=e=>{e.target?.closest(i)!==s||e.defaultPrevented||e.target instanceof HTMLInputElement&&e.target!==u.input||u.navigation.handleKeydown({event:e})&&e.stopPropagation()};s.addEventListener(`keydown`,p),d.cleanup(()=>{f(),s.removeEventListener(`keydown`,p),e===null&&s.removeAttribute(`tabindex`),u.navigation.destroy(),a.delete(s)});return}let f=s.parentElement?.closest(i),p=f?a.get(f):void 0;if(!p)throw Error(`x-collection:${c} requires an owning x-collection.`);if(c===`item`){t(s,`data-active`,`tabindex`);let n=s.getAttribute(`tabindex`);s.tabIndex=-1;let r=u?o.evaluate(s,u):void 0;if(r!==void 0&&(typeof r!=`string`||!r))throw Error(`x-collection:item identity must be a nonempty string.`);r&&s.setAttribute(e,r);let i=s.hasAttribute(`id`),a=p.navigation.registerItem(s,r);i||t(s,`id`);let c=()=>p.navigation.activateItem({el:s});s.addEventListener(`pointerenter`,c),s.addEventListener(`focus`,c),d.cleanup(()=>{a(),s.removeEventListener(`pointerenter`,c),s.removeEventListener(`focus`,c),n===null?s.removeAttribute(`tabindex`):s.setAttribute(`tabindex`,n)})}else if(c===`input`&&s instanceof HTMLInputElement){if(p.input)throw Error(`A collection can register only one input.`);p.input=s,p.tabStopAdded&&f?.removeAttribute(`tabindex`),t(s,`aria-activedescendant`);let e=()=>p.navigation.clearActiveItem();s.addEventListener(`input`,e),d.cleanup(()=>{e(),p.input=null,s.removeEventListener(`input`,e)})}})).before(`bind`)},s=new WeakSet,c=e=>{s.has(e)||(s.add(e),o(e))},l=c;export{r as createCollectionNavigation,l as default,c as registerCollectionCapability,o as registerCollectionDirective};
2
+ //# sourceMappingURL=collection-CSrnChwy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-CSrnChwy.js","names":[],"sources":["../../../../../../../../client/src/directives/collection.ts","../../../../../../../../client/src/capabilities/collection.ts","../../../../../../../../client/src/capabilities/collection.entry.generated.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\nimport {createCollectionNavigation, type CollectionNavigation} from '../runtime/collection-navigation';\nimport {registerDomInvalidationOwner} from '../runtime/dom-invalidation';\nimport {declareMorphAttributes} from '../runtime/morph';\nimport {STABLE_KEY_ATTR} from '../runtime/identity';\n\ntype UiCollectionApi = {\n readonly active: string | null;\n readonly isActive: boolean;\n setActive(element: Element): void;\n};\n\ntype CollectionScope = {\n navigation: CollectionNavigation;\n input: HTMLInputElement | null;\n tabStopAdded: boolean;\n state: {key: string | null; item: HTMLElement | null};\n};\n\nconst ROOT = '[data-ui-collection]';\nconst collections = new WeakMap<HTMLElement, CollectionScope>();\n\nconst registerCollectionDirective = (AlpineInstance: Alpine.Alpine): void => {\n AlpineInstance.magic('collection', (element): UiCollectionApi => {\n const owner = element.closest<HTMLElement>(ROOT);\n const scope = owner ? collections.get(owner) : undefined;\n if (!scope) throw new Error('$collection requires an owning x-collection.');\n return {\n get active() {return scope.state.key;},\n get isActive() {\n return scope.state.item !== null && scope.navigation.resolveItem(element) === scope.state.item;\n },\n setActive(target) {\n if (target.closest(ROOT) !== owner) return;\n const item = scope.navigation.resolveItem(target);\n if (item) scope.navigation.activateItem({el: item});\n },\n };\n });\n AlpineInstance.directive('collection', AlpineInstance.skipDuringClone((el, {value, modifiers, expression}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n if (!value) {\n el.setAttribute('data-ui-collection', '');\n declareMorphAttributes(el, 'data-ui-collection');\n const initialTabIndex = el.getAttribute('tabindex');\n const state = AlpineInstance.reactive({key: null as string | null, item: null as HTMLElement | null});\n const scope: CollectionScope = {\n tabStopAdded: initialTabIndex === null,\n input: null,\n state,\n navigation: createCollectionNavigation({\n root: () => el,\n input: () => scope.input,\n loop: !modifiers.includes('no-loop'),\n onActiveChange: (item, key) => {state.item = item; state.key = key;},\n }),\n };\n collections.set(el, scope);\n const invalidate = registerDomInvalidationOwner(el, {invalidateDom: () => scope.navigation.refresh()});\n if (initialTabIndex === null) el.tabIndex = 0;\n const keydown = (event: KeyboardEvent): void => {\n if ((event.target as Element)?.closest(ROOT) !== el || event.defaultPrevented) return;\n if (event.target instanceof HTMLInputElement && event.target !== scope.input) return;\n if (scope.navigation.handleKeydown({event})) event.stopPropagation();\n };\n el.addEventListener('keydown', keydown);\n utilities.cleanup(() => {\n invalidate();\n el.removeEventListener('keydown', keydown);\n if (initialTabIndex === null) el.removeAttribute('tabindex');\n scope.navigation.destroy();\n collections.delete(el);\n });\n return;\n }\n const owner = el.parentElement?.closest<HTMLElement>(ROOT);\n const scope = owner ? collections.get(owner) : undefined;\n if (!scope) throw new Error(`x-collection:${value} requires an owning x-collection.`);\n if (value === 'item') {\n declareMorphAttributes(el, 'data-active', 'tabindex');\n const originalTabIndex = el.getAttribute('tabindex');\n el.tabIndex = -1;\n const key: unknown = expression ? AlpineInstance.evaluate(el, expression) : undefined;\n if (key !== undefined && (typeof key !== 'string' || !key)) {\n throw new Error('x-collection:item identity must be a nonempty string.');\n }\n if (key) el.setAttribute(STABLE_KEY_ATTR, key);\n const hadId = el.hasAttribute('id');\n const unregister = scope.navigation.registerItem(el, key);\n if (!hadId) declareMorphAttributes(el, 'id');\n const activate = (): void => scope.navigation.activateItem({el});\n el.addEventListener('pointerenter', activate);\n el.addEventListener('focus', activate);\n utilities.cleanup(() => {\n unregister();\n el.removeEventListener('pointerenter', activate);\n el.removeEventListener('focus', activate);\n if (originalTabIndex === null) el.removeAttribute('tabindex');\n else el.setAttribute('tabindex', originalTabIndex);\n });\n } else if (value === 'input' && el instanceof HTMLInputElement) {\n if (scope.input) throw new Error('A collection can register only one input.');\n scope.input = el;\n if (scope.tabStopAdded) owner?.removeAttribute('tabindex');\n declareMorphAttributes(el, 'aria-activedescendant');\n const clear = (): void => scope.navigation.clearActiveItem();\n el.addEventListener('input', clear);\n utilities.cleanup(() => {\n clear();\n scope.input = null;\n el.removeEventListener('input', clear);\n });\n }\n })).before('bind');\n};\n\nexport {registerCollectionDirective};\nexport type {UiCollectionApi};\n","import type {Alpine as AlpineType} from 'alpinejs';\nimport {registerCollectionDirective} from '../directives/collection';\nconst registered = new WeakSet<AlpineType>();\nconst registerCollectionCapability = (alpine: AlpineType): void => {\n if (registered.has(alpine)) return;\n registered.add(alpine);\n registerCollectionDirective(alpine);\n};\nexport {registerCollectionCapability, registerCollectionDirective};\nexport {createCollectionNavigation} from '../runtime/collection-navigation';\nexport type {CollectionNavigation, CollectionNavigationOptions} from '../runtime/collection-navigation';\n\nexport type {UiCollectionApi} from '../directives/collection';\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerCollectionCapability} from './collection';\n\nexport default registerCollectionCapability;\nexport * from './collection';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./collection-CSrnChwy.js";
2
+ export {default} from "./collection-CSrnChwy.js";
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"../chunks/capability-resizable-DPMSJ1AR.js";var n=t;export{e as createResizable,n as default,t as registerResizableCapability};
2
+ //# sourceMappingURL=resizable-DlgeSL0c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-Ctqx_OoS.js","names":[],"sources":["../../../../../../../../client/src/capabilities/resizable.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerResizableCapability} from './resizable';\n\nexport default registerResizableCapability;\nexport * from './resizable';\n"],"mappings":"iEAIA,IAAA,EAAe"}
1
+ {"version":3,"file":"resizable-DlgeSL0c.js","names":[],"sources":["../../../../../../../../client/src/capabilities/resizable.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerResizableCapability} from './resizable';\n\nexport default registerResizableCapability;\nexport * from './resizable';\n"],"mappings":"iEAIA,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- export * from "./resizable-Ctqx_OoS.js";
2
- export {default} from "./resizable-Ctqx_OoS.js";
1
+ export * from "./resizable-DlgeSL0c.js";
2
+ export {default} from "./resizable-DlgeSL0c.js";
@@ -0,0 +1,2 @@
1
+ import{a as e,i as t,n,o as r,r as i,t as a}from"../chunks/capability-shortcut-BFvGIAs8.js";var o=r;export{a as createShortcutMatcher,o as default,n as formatShortcut,i as formatShortcutKeys,t as observeShortcutFeedback,e as parseShortcut,r as registerShortcutCapability};
2
+ //# sourceMappingURL=shortcut-Qa2EByIB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shortcut-D2NgvMgw.js","names":[],"sources":["../../../../../../../../client/src/capabilities/shortcut.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerShortcutCapability} from './shortcut';\n\nexport default registerShortcutCapability;\nexport * from './shortcut';\n"],"mappings":"4FAIA,IAAA,EAAe"}
1
+ {"version":3,"file":"shortcut-Qa2EByIB.js","names":[],"sources":["../../../../../../../../client/src/capabilities/shortcut.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerShortcutCapability} from './shortcut';\n\nexport default registerShortcutCapability;\nexport * from './shortcut';\n"],"mappings":"4FAIA,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- export * from "./shortcut-D2NgvMgw.js";
2
- export {default} from "./shortcut-D2NgvMgw.js";
1
+ export * from "./shortcut-Qa2EByIB.js";
2
+ export {default} from "./shortcut-Qa2EByIB.js";
@@ -0,0 +1,2 @@
1
+ import{n as e,r as t,t as n}from"../chunks/capability-sortable-CpUAUTdh.js";var r=n;export{t as createSortableRegistry,r as default,n as registerSortableCapability,e as registerSortableDirective};
2
+ //# sourceMappingURL=sortable-CgP1efhO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortable-CbIOS4Lm.js","names":[],"sources":["../../../../../../../../client/src/capabilities/sortable.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerSortableCapability} from './sortable';\n\nexport default registerSortableCapability;\nexport * from './sortable';\n"],"mappings":"4EAIA,IAAA,EAAe"}
1
+ {"version":3,"file":"sortable-CgP1efhO.js","names":[],"sources":["../../../../../../../../client/src/capabilities/sortable.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerSortableCapability} from './sortable';\n\nexport default registerSortableCapability;\nexport * from './sortable';\n"],"mappings":"4EAIA,IAAA,EAAe"}
@@ -1,2 +1,2 @@
1
- export * from "./sortable-CbIOS4Lm.js";
2
- export {default} from "./sortable-CbIOS4Lm.js";
1
+ export * from "./sortable-CgP1efhO.js";
2
+ export {default} from "./sortable-CgP1efhO.js";
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./warn-BbGtqbh1.js";import{n as t,t as n}from"./frame-DsKHMcuL.js";import{a as r,i,n as a,o,r as s,t as c}from"./floating-ui.dom-B05VsV_p.js";var l=e=>{let t=null;return{pending:()=>t!==null,defer(){if(t)return;let n=e();t={element:n,visibility:n.style.visibility},n.style.visibility=`hidden`},reveal(){return t?(t.element.style.visibility=t.visibility,t=null,!0):!1}}},u=(e,t)=>t===`center`?e:`${e}-${t}`,d=(e,t)=>`${e===`left`?`right`:e===`right`?`left`:t===`end`?`right`:t===`start`?`left`:`center`} ${e===`top`?`bottom`:e===`bottom`?`top`:`center`}`,f=({reference:e,floating:t,position:n,align:l,gap:f,offset:p,shiftAxes:m=`alignment`,matchReferenceWidth:h=!1,strategy:g=`absolute`})=>{let _=null,v=!1,y=0,b=0,x=null,S=null,C=null,w=()=>{x=null,S?.(),S=null,C=null},T=()=>{v=!1,y+=1,_?.(),_=null},E=()=>{let c=e(),_=t(),x=y,S=++b;a(c,_,{strategy:g,placement:u(n(),l()),middleware:[i({mainAxis:f(),crossAxis:p()}),s(),r({padding:5,crossAxis:m===`both`}),o({padding:5,apply({availableHeight:e,availableWidth:t,elements:n,rects:r}){if(!v||y!==x||b!==S)return;let i=n.floating.style,a=`${r.reference.width}px`,o=`${Math.max(0,e)}px`,s=`${Math.max(0,t)}px`;i.getPropertyValue(`--ui-popover-anchor-width`)!==a&&i.setProperty(`--ui-popover-anchor-width`,a),h&&i.width!==a&&(i.width=a),i.maxHeight!==o&&(i.maxHeight=o),i.getPropertyValue(`--ui-popover-available-height`)!==o&&i.setProperty(`--ui-popover-available-height`,o),i.getPropertyValue(`--ui-popover-available-width`)!==s&&i.setProperty(`--ui-popover-available-width`,s)}})]}).then(({x:e,y:t,strategy:n,placement:r})=>{if(!v||y!==x||b!==S)return;let[i=`bottom`,a=`center`]=r.split(`-`);Object.assign(_.style,{position:n,inset:`${t}px auto auto ${e}px`,transformOrigin:d(i,a)}),_.dataset.side=i,_.dataset.align=a,w()}).catch(e=>{v&&y===x&&b===S&&(C?.(e),w())})};return{mounted(){return _!==null},mount(){if(x||(x=new Promise((e,t)=>{S=e,C=t}),x.catch(()=>{})),_){E();return}v=!0,y+=1,_=c(e(),t(),E)},unmount(){T(),w()},sync(){T(),this.mount()},positioned:()=>x}},p=e=>{let t=f(e),n=!1,r=()=>{if(!n){n=!0;try{e.floating().showPopover()}catch{}t.mount()}},i=()=>{if(n){n=!1;try{e.floating().hidePopover()}catch{}t.unmount()}};return{opened:()=>n,positioned:t.positioned,open:r,close:i,sync(){n&&t.sync()},destroy:i}},m=e=>{if(e===null)return null;if(e instanceof Element)return e;if(typeof e!=`object`||!e)throw TypeError(`Expected an element, rectangle, or null`);let{x:t,y:n,width:r,height:i}=e;if(![t,n,r,i].every(e=>typeof e==`number`&&Number.isFinite(e))||r<0||i<0)throw TypeError(`Expected finite viewport coordinates and non-negative dimensions`);return{getBoundingClientRect:()=>new DOMRect(t,n,r,i)}},h=r=>{r.directive(`anchor`,r.skipDuringClone((r,{expression:i,modifiers:a},o)=>{if(!(r instanceof HTMLElement))return;let s=a.find(e=>[`top`,`bottom`,`left`,`right`].includes(e)),c=a.find(e=>[`start`,`center`,`end`].includes(e)),u=(e,t)=>{let n=a.indexOf(e);if(n===-1)return t;let r=Number(a[n+1]);if(!Number.isFinite(r))throw TypeError(`x-anchor.${e} requires a numeric CSS pixel value`);return r},d,p;try{d=u(`gap`,8),p=u(`offset`,0)}catch(t){e(`Invalid x-anchor modifiers`,t,r);return}let h=null,g=!1,_=0,v=l(()=>r),y=f({reference:()=>h,floating:()=>r,position:()=>s??`bottom`,align:()=>c??`center`,gap:()=>d,offset:()=>p,strategy:`fixed`}),b=()=>{if(!g){if(!(h!==null&&(!r.hasAttribute(`popover`)||r.matches(`:popover-open`))&&r.getClientRects().length>0))_+=1,y.unmount();else if(!y.mounted()){v.defer();let t=++_;y.mount(),y.positioned()?.then(()=>{!g&&t===_&&y.mounted()&&v.reveal()},t=>e(`Unable to position x-anchor surface`,t,r))}}},x=()=>{h&&!y.mounted()&&v.defer(),t.read(b)},S=o.evaluateLater(i);o.effect(()=>S(t=>{if(!g){_+=1,y.unmount();try{h=m(t)}catch(t){h=null,e(`Invalid x-anchor target`,t,r)}h||v.reveal(),x()}}));let C=new MutationObserver(()=>{(!r.hasAttribute(`popover`)||r.matches(`:popover-open`))&&x()});for(let e=r;e;e=e.parentElement)C.observe(e,{attributes:!0,attributeFilter:[`style`,`class`,`hidden`,`popover`]});let w=e=>{e.newState===`open`&&h&&(_+=1,y.unmount(),v.defer(),x())};r.addEventListener(`beforetoggle`,w),r.addEventListener(`toggle`,x);let T=()=>{h&&!(h instanceof Element)&&y.mounted()&&y.mount()};r.ownerDocument.addEventListener(`scroll`,T,!0),o.cleanup(()=>{g=!0,_+=1,n(b),C.disconnect(),r.removeEventListener(`beforetoggle`,w),r.removeEventListener(`toggle`,x),r.ownerDocument.removeEventListener(`scroll`,T,!0),y.unmount(),v.reveal(),h=null})}))},g=new WeakSet,_=e=>{g.has(e)||(g.add(e),h(e))};export{l as a,p as i,h as n,f as r,_ as t};
2
+ //# sourceMappingURL=capability-anchor-BqejlBjS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-anchor-BqejlBjS.js","names":[],"sources":["../../../../../../../../client/src/runtime/anchored-popover.ts","../../../../../../../../client/src/directives/anchor.ts","../../../../../../../../client/src/capabilities/anchor.ts"],"sourcesContent":["import {\n autoUpdate,\n computePosition,\n flip,\n offset as floatingOffset,\n shift,\n size,\n type Placement,\n type ReferenceElement,\n type Strategy,\n} from '@floating-ui/dom';\n\ntype PopoverSide = 'top' | 'bottom' | 'left' | 'right';\ntype PopoverAlign = 'start' | 'center' | 'end';\n\ntype AnchoredPopoverOptions = {\n reference: () => ReferenceElement;\n floating: () => HTMLElement;\n position: () => PopoverSide;\n align: () => PopoverAlign;\n gap: () => number;\n offset: () => number;\n shiftAxes?: 'alignment' | 'both';\n matchReferenceWidth?: boolean;\n strategy?: Strategy;\n};\n\ntype AnchoredPopover = {\n mounted(): boolean;\n mount(): void;\n unmount(): void;\n sync(): void;\n positioned(): Promise<void> | null;\n};\n\ntype AnchoredPopoverSurface = {\n opened(): boolean;\n open(): void;\n close(): void;\n sync(): void;\n positioned(): Promise<void> | null;\n destroy(): void;\n};\n\n/** Keep an unpositioned surface hidden without taking over its transition lifecycle. */\nconst createPopoverVisibility = (floating: () => HTMLElement) => {\n let deferred: {element: HTMLElement; visibility: string} | null = null;\n return {\n pending: (): boolean => deferred !== null,\n defer(): void {\n if (deferred) return;\n const element = floating();\n deferred = {element, visibility: element.style.visibility};\n element.style.visibility = 'hidden';\n },\n reveal(): boolean {\n if (!deferred) return false;\n deferred.element.style.visibility = deferred.visibility;\n deferred = null;\n return true;\n },\n };\n};\n\nconst placementFrom = (position: PopoverSide, align: PopoverAlign): Placement => (\n align === 'center' ? position : `${position}-${align}`\n) as Placement;\n\nconst transformOrigin = (side: string, align: string): string => {\n const block = side === 'top' ? 'bottom' : side === 'bottom' ? 'top' : 'center';\n const inline = side === 'left'\n ? 'right'\n : side === 'right'\n ? 'left'\n : align === 'end'\n ? 'right'\n : align === 'start' ? 'left' : 'center';\n return `${inline} ${block}`;\n};\n\nconst createAnchoredPopover = ({\n reference,\n floating,\n position: getPosition,\n align: getAlign,\n gap,\n offset,\n shiftAxes = 'alignment',\n matchReferenceWidth = false,\n strategy = 'absolute',\n}: AnchoredPopoverOptions): AnchoredPopover => {\n let cleanup: (() => void) | null = null;\n let active = false;\n let generation = 0;\n let positionRequest = 0;\n let pendingPosition: Promise<void> | null = null;\n let finishPosition: (() => void) | null = null;\n let failPosition: ((error: unknown) => void) | null = null;\n\n const settlePosition = (): void => {\n pendingPosition = null;\n finishPosition?.();\n finishPosition = null;\n failPosition = null;\n };\n\n const detach = (): void => {\n active = false;\n generation += 1;\n cleanup?.();\n cleanup = null;\n };\n\n const position = (): void => {\n const referenceEl = reference();\n const floatingEl = floating();\n const requestedGeneration = generation;\n const request = ++positionRequest;\n\n void computePosition(referenceEl, floatingEl, {\n strategy,\n placement: placementFrom(getPosition(), getAlign()),\n middleware: [\n floatingOffset({\n mainAxis: gap(),\n crossAxis: offset(),\n }),\n flip(),\n shift({padding: 5, crossAxis: shiftAxes === 'both'}),\n size({\n padding: 5,\n apply({availableHeight, availableWidth, elements, rects}) {\n if (!active || generation !== requestedGeneration || positionRequest !== request) return;\n const style = elements.floating.style;\n const anchorWidth = `${rects.reference.width}px`;\n const height = `${Math.max(0, availableHeight)}px`;\n const width = `${Math.max(0, availableWidth)}px`;\n if (style.getPropertyValue('--ui-popover-anchor-width') !== anchorWidth) style.setProperty('--ui-popover-anchor-width', anchorWidth);\n if (matchReferenceWidth && style.width !== anchorWidth) style.width = anchorWidth;\n if (style.maxHeight !== height) style.maxHeight = height;\n if (style.getPropertyValue('--ui-popover-available-height') !== height) style.setProperty('--ui-popover-available-height', height);\n if (style.getPropertyValue('--ui-popover-available-width') !== width) style.setProperty('--ui-popover-available-width', width);\n },\n }),\n ],\n }).then(({x, y, strategy, placement}) => {\n if (!active || generation !== requestedGeneration || positionRequest !== request) return;\n const [side = 'bottom', align = 'center'] = placement.split('-');\n Object.assign(floatingEl.style, {\n position: strategy,\n inset: `${y}px auto auto ${x}px`,\n transformOrigin: transformOrigin(side, align),\n });\n floatingEl.dataset.side = side;\n floatingEl.dataset.align = align;\n settlePosition();\n }).catch((error: unknown) => {\n if (!active || generation !== requestedGeneration || positionRequest !== request) return;\n failPosition?.(error);\n settlePosition();\n });\n };\n\n return {\n mounted(): boolean {\n return cleanup !== null;\n },\n\n mount(): void {\n if (!pendingPosition) {\n pendingPosition = new Promise((resolve, reject) => {\n finishPosition = resolve;\n failPosition = reject;\n });\n void pendingPosition.catch(() => {});\n }\n if (cleanup) {\n position();\n return;\n }\n active = true;\n generation += 1;\n cleanup = autoUpdate(reference(), floating(), position);\n },\n\n unmount(): void {\n detach();\n settlePosition();\n },\n\n sync(): void {\n // Rebind observers after morph without releasing an initial-placement waiter.\n detach();\n this.mount();\n },\n positioned: () => pendingPosition,\n };\n};\n\nconst createAnchoredPopoverSurface = (options: AnchoredPopoverOptions): AnchoredPopoverSurface => {\n const anchored = createAnchoredPopover(options);\n let open = false;\n\n const show = (): void => {\n if (open) return;\n open = true;\n try {\n options.floating().showPopover();\n } catch {\n // Reversal may find the native surface already in the top layer.\n }\n anchored.mount();\n };\n const hide = (): void => {\n if (!open) return;\n open = false;\n try {\n options.floating().hidePopover();\n } catch {\n // Native teardown may already have removed the surface from the top layer.\n }\n anchored.unmount();\n };\n\n return {\n opened: () => open,\n positioned: anchored.positioned,\n open: show,\n close: hide,\n sync(): void {\n if (open) anchored.sync();\n },\n destroy: hide,\n };\n};\n\nexport {createAnchoredPopover, createAnchoredPopoverSurface, createPopoverVisibility};\nexport type {AnchoredPopover, AnchoredPopoverOptions, AnchoredPopoverSurface, PopoverAlign, PopoverSide};\n","import {cancelFrame, frame} from 'motion';\nimport type Alpine from 'alpinejs';\nimport type {ReferenceElement} from '@floating-ui/dom';\nimport {\n createAnchoredPopover,\n createPopoverVisibility,\n type PopoverAlign,\n type PopoverSide,\n} from '@client/runtime/anchored-popover';\nimport {warn} from '@client/utils';\n\n/** Viewport-relative CSS pixels. Zero-sized rectangles can anchor a caret. */\ntype AnchorRectangle = {x: number; y: number; width: number; height: number};\ntype AnchorTarget = Element | AnchorRectangle | null;\n\nconst readReference = (value: unknown): ReferenceElement | null => {\n if (value === null) return null;\n if (value instanceof Element) return value;\n if (typeof value !== 'object' || !value) throw new TypeError('Expected an element, rectangle, or null');\n const {x, y, width, height} = value as AnchorRectangle;\n if (![x, y, width, height].every((part) => typeof part === 'number' && Number.isFinite(part))\n || width < 0 || height < 0) {\n throw new TypeError('Expected finite viewport coordinates and non-negative dimensions');\n }\n // Read every field inside the Alpine effect, including in-place rectangle edits.\n return {getBoundingClientRect: () => new DOMRect(x, y, width, height)};\n};\n\n/**\n * Registers x-anchor=\"element | {x, y, width, height} | null\" in Alpine.\n *\n * Modifiers: .top/.bottom/.left/.right, .start/.center/.end, .gap.N, .offset.N.\n * Defaults: bottom-center, 8px gap, 0px cross-axis offset. Uses fixed positioning\n * and Trellis's shared flip, shift (5px padding), size, and placement metadata.\n *\n * Initial placement temporarily holds visibility until the surface is positioned.\n * x-show, hidden, and native popover visibility remain application-owned. Hidden\n * surfaces pause positioning; null detaches without hiding or clearing the last\n * position. Rectangle replacements and field edits are reactive. Scroll/resize\n * refresh positioning, but applications must supply updated viewport rectangles\n * when their source moves. Element references use Floating UI's autoUpdate.\n * Teardown removes observers/listeners and invalidates pending position writes.\n */\nconst registerAnchorDirective = (AlpineInstance: Alpine.Alpine): void => {\n AlpineInstance.directive('anchor', AlpineInstance.skipDuringClone((el, {expression, modifiers}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n const side = modifiers.find((part) => ['top', 'bottom', 'left', 'right'].includes(part)) as PopoverSide | undefined;\n const align = modifiers.find((part) => ['start', 'center', 'end'].includes(part)) as PopoverAlign | undefined;\n const distance = (name: string, fallback: number): number => {\n const index = modifiers.indexOf(name);\n if (index === -1) return fallback;\n const result = Number(modifiers[index + 1]);\n if (!Number.isFinite(result)) throw new TypeError(`x-anchor.${name} requires a numeric CSS pixel value`);\n return result;\n };\n let gap: number;\n let offset: number;\n try {\n gap = distance('gap', 8);\n offset = distance('offset', 0);\n } catch (error) {\n warn('Invalid x-anchor modifiers', error, el);\n return;\n }\n let reference: ReferenceElement | null = null;\n let destroyed = false;\n let placement = 0;\n const visibility = createPopoverVisibility(() => el);\n const anchored = createAnchoredPopover({\n reference: () => reference!,\n floating: () => el,\n position: () => side ?? 'bottom',\n align: () => align ?? 'center',\n gap: () => gap,\n offset: () => offset,\n strategy: 'fixed',\n });\n const refreshVisibility = (): void => {\n if (destroyed) return;\n const visible = reference !== null && (!el.hasAttribute('popover') || el.matches(':popover-open'))\n && el.getClientRects().length > 0;\n if (!visible) {\n placement += 1;\n anchored.unmount();\n } else if (!anchored.mounted()) {\n visibility.defer();\n const current = ++placement;\n anchored.mount();\n void anchored.positioned()?.then(() => {\n if (!destroyed && current === placement && anchored.mounted()) visibility.reveal();\n }, error => warn('Unable to position x-anchor surface', error, el));\n }\n };\n const scheduleVisibility = (): void => {\n if (reference && !anchored.mounted()) visibility.defer();\n frame.read(refreshVisibility);\n };\n const evaluate = utilities.evaluateLater<AnchorTarget>(expression);\n utilities.effect(() => evaluate((value) => {\n if (destroyed) return;\n placement += 1;\n anchored.unmount();\n try {\n reference = readReference(value);\n } catch (error) {\n reference = null;\n warn('Invalid x-anchor target', error, el);\n }\n if (!reference) visibility.reveal();\n scheduleVisibility();\n }));\n\n // x-show and ancestor visibility can change without changing the target.\n const observer = new MutationObserver(() => {\n // Native toggle events own closed-popover readiness; ancestor animations\n // must not repeatedly queue visibility/layout work for an idle surface.\n if (el.hasAttribute('popover') && !el.matches(':popover-open')) return;\n scheduleVisibility();\n });\n for (let parent: HTMLElement | null = el; parent; parent = parent.parentElement) {\n observer.observe(parent, {attributes: true, attributeFilter: ['style', 'class', 'hidden', 'popover']});\n }\n // Native opening can paint before its asynchronous toggle event is delivered.\n const beforeToggle = (event: ToggleEvent): void => {\n if (event.newState !== 'open' || !reference) return;\n placement += 1;\n anchored.unmount();\n visibility.defer();\n scheduleVisibility();\n };\n el.addEventListener('beforetoggle', beforeToggle);\n el.addEventListener('toggle', scheduleVisibility);\n // Virtual rectangles have no reference element whose scroll ancestors can be observed.\n const refreshRectangle = (): void => {\n if (reference && !(reference instanceof Element) && anchored.mounted()) anchored.mount();\n };\n el.ownerDocument.addEventListener('scroll', refreshRectangle, true);\n utilities.cleanup(() => {\n destroyed = true;\n placement += 1;\n cancelFrame(refreshVisibility);\n observer.disconnect();\n el.removeEventListener('beforetoggle', beforeToggle);\n el.removeEventListener('toggle', scheduleVisibility);\n el.ownerDocument.removeEventListener('scroll', refreshRectangle, true);\n anchored.unmount();\n visibility.reveal();\n reference = null;\n });\n }));\n};\n\nexport {registerAnchorDirective};\nexport type {AnchorRectangle, AnchorTarget};\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerAnchorDirective} from '../directives/anchor';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerAnchorCapability = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerAnchorDirective(AlpineInstance);\n};\n\nexport {registerAnchorDirective, registerAnchorCapability};\nexport type {AnchorRectangle, AnchorTarget} from '../directives/anchor';\nexport {\n createAnchoredPopover,\n createAnchoredPopoverSurface,\n} from '../runtime/anchored-popover';\nexport type {\n AnchoredPopover,\n AnchoredPopoverOptions,\n AnchoredPopoverSurface,\n PopoverAlign,\n PopoverSide,\n} from '../runtime/anchored-popover';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{o as e,r as t,s as n}from"./dom-DiTFTWeR.js";import{t as r}from"./layout-task-B6P8q7BH.js";import{a as i,c as a,f as o,l as s,r as c}from"./codecs-CQ7olTJL.js";import{n as l}from"./focus-BvBkrIcj.js";import{t as u}from"./cleanup-manager-D9QiZF_Q.js";var d=60,f=1,p=8,m=24,h=`[x-ui-resizable\\:handle], [data-ui-resize-handle]`,g=`data-ui-resizable-managed-disabled`,_={resizeAxis:s([`x`,`y`],`x`),resizeMode:s([`onChange`,`onEnd`],`onChange`),resizeMin:o.default(String(d)),resizeMax:o,resizeStep:a.default(f).min(f),resizeHitArea:a.default(p).min(0),resizeCoarseHitArea:a.default(m).min(0),resizeDirection:s([`positive`,`negative`],`positive`)},v=e=>({$width:e.width,$height:e.height,$delta:e.delta,$axis:e.axis,$phase:e.phase,$previewWidth:e.previewWidth,$previewHeight:e.previewHeight}),y=({element:t,handle:i,axis:a=`x`,min:o=d,max:s=null,step:h=f,mode:_=`onChange`,hitArea:v=p,coarseHitArea:y=m,direction:b=`positive`,collapseThreshold:x,disabled:S=()=>!1,onStart:C,onResize:w,onEnd:T,onCancel:E})=>{let D=null,O=null,k=new u,A=b===`negative`?-1:1,j=()=>{let n=S();return n?(t.setAttribute(`data-disabled`,``),t.setAttribute(g,``),i.setAttribute(`data-disabled`,``),i.setAttribute(g,``)):(t.hasAttribute(g)&&(t.removeAttribute(`data-disabled`),t.removeAttribute(g)),i.hasAttribute(g)&&(i.removeAttribute(`data-disabled`),i.removeAttribute(g))),e({el:i,attr:`aria-disabled`,value:n?`true`:`false`}),n},M=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(pointer: coarse)`).matches?y:v,N=()=>{t.setAttribute(`data-ui-resizable`,``),t.dataset.resizeAxis=a,t.dataset.resizeMode=_,t.dataset.resizeDirection=b,i.setAttribute(`data-ui-resize-handle`,``),i.setAttribute(`role`,`separator`),i.setAttribute(`tabindex`,i.getAttribute(`tabindex`)??`0`),i.setAttribute(`aria-orientation`,a===`x`?`vertical`:`horizontal`),i.style.touchAction=`none`,i.removeAttribute(`draggable`),a===`x`?i.style.minWidth=`${M()}px`:i.style.minHeight=`${M()}px`},P=e=>{n({el:t,attr:`data-resizing`,present:e}),n({el:i,attr:`data-resizing`,present:e})};k.add(()=>P(!1));let F=({phase:e,delta:t,input:n,previewOnly:r=!1})=>{let i=D,l=a===`x`?c(i.startWidth+t,o,s??1/0,h):i.startWidth,u=a===`y`?c(i.startHeight+t,o,s??1/0,h):i.startHeight;return{width:r?i.width:l,height:r?i.height:u,previewWidth:l,previewHeight:u,delta:t,collapsed:O!==null&&x!==void 0&&(a===`x`?i.startWidth:i.startHeight)+t<=o-x,axis:a,phase:e,input:{clientX:n.clientX,clientY:n.clientY}}},I=t=>{let n=a===`x`?t.previewWidth:t.previewHeight;e({el:i,attr:`aria-valuenow`,value:String(Math.round(n))}),e({el:i,attr:`aria-valuemin`,value:String(Math.round(o))}),s===null?i.removeAttribute(`aria-valuemax`):e({el:i,attr:`aria-valuemax`,value:String(Math.round(s))})},L=(e,n=t.getBoundingClientRect())=>{B.cancel(),D={width:n.width,height:n.height,startWidth:n.width,startHeight:n.height,startClientX:e.clientX,startClientY:e.clientY};let r=F({phase:`start`,delta:0,input:e});return I(r),P(!0),C?.(r),r},R=e=>{if(!D)return null;let t=(a===`x`?e.clientX-D.startClientX:e.clientY-D.startClientY)*A,n=F({phase:`resize`,delta:t,input:e,previewOnly:_===`onEnd`});return I(n),w?.(n),_===`onChange`&&D&&(D.width=n.width,D.height=n.height),n},z=(e,t=!1)=>{if(!D)return;let n=a===`x`?e.clientX-D.startClientX:e.clientY-D.startClientY,r=F({phase:t?`cancel`:`end`,delta:t?0:n*A,input:e}),o=O;D=null,O=null,window.removeEventListener(`keydown`,q,!0),window.removeEventListener(`blur`,K),P(!1),I(r),o!==null&&i.hasPointerCapture(o)&&i.releasePointerCapture(o),t?E?.(r):T?.(r)},B=r({measure:()=>D?null:t.getBoundingClientRect(),apply:e=>{e&&!D&&I({previewWidth:e.width,previewHeight:e.height})}});k.add(B.cancel);let V=()=>{D||(j(),B.schedule())};N(),V();let H=e=>{if(e.button!==0||O!==null||S()){j();return}let n=t.getBoundingClientRect();j(),e.preventDefault(),O=e.pointerId,i.setPointerCapture(e.pointerId),l(i,{showIndicator:!1}),window.addEventListener(`keydown`,q,!0),window.addEventListener(`blur`,K),L(e,n)},U=e=>{e.pointerId===O&&(j()?z(e,!0):R(e))},W=e=>{e.pointerId===O&&(l(i,{showIndicator:!1}),z(e,j()))},G=e=>{e.pointerId===O&&z(e,!0)},K=()=>{O!==null&&z({clientX:0,clientY:0},!0)},q=e=>{e.key===`Escape`&&O!==null&&(e.preventDefault(),e.stopPropagation(),K())};i.addEventListener(`pointerdown`,H),i.addEventListener(`pointermove`,U),i.addEventListener(`pointerup`,W),i.addEventListener(`pointercancel`,G),i.addEventListener(`lostpointercapture`,G),k.add(()=>{K(),i.removeEventListener(`pointerdown`,H),i.removeEventListener(`pointermove`,U),i.removeEventListener(`pointerup`,W),i.removeEventListener(`pointercancel`,G),i.removeEventListener(`lostpointercapture`,G),window.removeEventListener(`keydown`,q,!0),window.removeEventListener(`blur`,K)});let J=e=>{if(O!==null||S()){j();return}let n=h*(e.shiftKey?10:1),r=null;if(a===`x`&&e.key===`ArrowRight`&&(r=n),a===`x`&&e.key===`ArrowLeft`&&(r=-n),a===`y`&&e.key===`ArrowDown`&&(r=n),a===`y`&&e.key===`ArrowUp`&&(r=-n),e.key===`Home`&&(r=0),e.key===`End`&&s!==null&&(r=0),r===null)return;e.preventDefault();let i=t.getBoundingClientRect();j();let c=L({clientX:0,clientY:0},i);if(e.key===`Home`&&(r=(o-c[a===`x`?`width`:`height`])*A),e.key===`End`&&s!==null&&(r=(s-c[a===`x`?`width`:`height`])*A),D){let e=a===`x`?{clientX:r,clientY:0}:{clientX:0,clientY:r};R(e),z(e)}};return i.addEventListener(`keydown`,J),k.add(()=>i.removeEventListener(`keydown`,J)),Object.assign(()=>k.run(),{cancel:K,refresh:V})},b=e=>{typeof e.directive==`function`&&e.directive(`ui-resizable`,(n,{value:a,expression:o},{cleanup:s})=>{if(!(n instanceof HTMLElement)||a===`handle`)return;let c=n,l=c.querySelector(h);if(!l)return;let u=i({el:c,schema:_}),f=u.resizeAxis,p=[],m=[[u.resizeMin,d],[u.resizeMax,1/0]].map(([e,t])=>{let n=e.trim();if(!n)return()=>t;let r=Number(n.endsWith(`px`)?n.slice(0,-2):n);if(Number.isFinite(r))return()=>r;let i=document.createElement(`div`);return i.style.cssText=`position:absolute;visibility:hidden;pointer-events:none;padding:0;border:0;`,i.style.width=f===`x`?n:`0`,i.style.height=f===`y`?n:`0`,c.append(i),p.push(i),()=>{let e=Number.parseFloat(getComputedStyle(i)[f===`x`?`width`:`height`]);return Number.isFinite(e)&&e>0?e:t}}),b=u.resizeMode,x=o?e.evaluateLater(c,o):null,S=e=>{let n=e.phase===`start`?`ui:resize-start`:e.phase===`cancel`?`ui:resize-cancel`:e.phase===`end`?`ui:resize-end`:`ui:resize`;t({el:c,name:n,detail:e}),x&&(b!==`onEnd`||e.phase!==`resize`)&&x(void 0,{scope:v(e)})},C=null,w=({min:e,max:t})=>{p.forEach(e=>e.remove()),C=y({element:c,handle:l,axis:f,min:e,max:t===1/0?null:t,step:u.resizeStep,mode:b,hitArea:u.resizeHitArea,coarseHitArea:u.resizeCoarseHitArea,direction:u.resizeDirection,disabled:()=>c.hasAttribute(`data-disabled`)&&!c.hasAttribute(g)||c.hasAttribute(`data-resize-disabled`)||c.dataset.disabled===`true`&&!c.hasAttribute(g),onStart:S,onResize:S,onEnd:S,onCancel:S})},T=r({measure:()=>({min:m[0](),max:m[1]()}),apply:w});s(()=>{T.cancel(),p.forEach(e=>e.remove()),C?.()}),p.length?T.schedule():w({min:m[0](),max:m[1]()})})},x=new WeakSet,S=e=>{x.has(e)||(x.add(e),b(e))};export{y as n,S as t};
2
+ //# sourceMappingURL=capability-resizable-DPMSJ1AR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-resizable-DPMSJ1AR.js","names":[],"sources":["../../../../../../../../client/src/runtime/drag-and-drop/index.ts","../../../../../../../../client/src/capabilities/resizable.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\n\nimport {boundNumber, decodeProps, number, oneOf, string} from '../codecs';\nimport {CleanupManager} from '../cleanup-manager';\nimport {createLayoutTask} from '../layout-task';\nimport {focusElement} from '../focus';\nimport {dispatch, setAttribute, setPresence} from '../../utils';\n\ntype ResizeAxis = 'x' | 'y';\ntype ResizeMode = 'onChange' | 'onEnd';\ntype ResizePhase = 'start' | 'resize' | 'end' | 'cancel';\ntype ResizeDirection = 'positive' | 'negative';\n\ntype ResizeEvent = {\n width: number;\n height: number;\n previewWidth: number;\n previewHeight: number;\n delta: number;\n collapsed: boolean;\n axis: ResizeAxis;\n phase: ResizePhase;\n input: { clientX: number; clientY: number };\n};\n\ntype ResizableOptions = {\n element: HTMLElement;\n handle: HTMLElement;\n axis?: ResizeAxis;\n min?: number;\n max?: number | null;\n step?: number;\n mode?: ResizeMode;\n hitArea?: number;\n coarseHitArea?: number;\n direction?: ResizeDirection;\n collapseThreshold?: number | undefined;\n disabled?: () => boolean;\n onStart?: (event: ResizeEvent) => void;\n onResize?: (event: ResizeEvent) => void;\n onEnd?: (event: ResizeEvent) => void;\n onCancel?: (event: ResizeEvent) => void;\n};\n\ntype ResizeState = {\n width: number;\n height: number;\n startWidth: number;\n startHeight: number;\n startClientX: number;\n startClientY: number;\n};\n\nconst RESIZE_COLLAPSE_THRESHOLD = 56;\nconst DEFAULT_MIN = 60;\nconst DEFAULT_STEP = 1;\nconst DEFAULT_HIT_AREA = 8;\nconst DEFAULT_COARSE_HIT_AREA = 24;\nconst HANDLE_SELECTOR = '[x-ui-resizable\\\\:handle], [data-ui-resize-handle]';\nconst MANAGED_DISABLED_ATTR = 'data-ui-resizable-managed-disabled';\nconst RESIZE_AXES = ['x', 'y'] as const;\nconst RESIZE_MODES = ['onChange', 'onEnd'] as const;\nconst RESIZE_DIRECTIONS = ['positive', 'negative'] as const;\n\nconst resizableSchema = {\n resizeAxis: oneOf(RESIZE_AXES, 'x'),\n resizeMode: oneOf(RESIZE_MODES, 'onChange'),\n resizeMin: string.default(String(DEFAULT_MIN)),\n resizeMax: string,\n resizeStep: number.default(DEFAULT_STEP).min(DEFAULT_STEP),\n resizeHitArea: number.default(DEFAULT_HIT_AREA).min(0),\n resizeCoarseHitArea: number.default(DEFAULT_COARSE_HIT_AREA).min(0),\n resizeDirection: oneOf(RESIZE_DIRECTIONS, 'positive'),\n};\n\n\nconst detailFromResize = (event: ResizeEvent): Record<string, unknown> => ({\n $width: event.width,\n $height: event.height,\n $delta: event.delta,\n $axis: event.axis,\n $phase: event.phase,\n $previewWidth: event.previewWidth,\n $previewHeight: event.previewHeight,\n});\n\nconst createResizable = ({\n element,\n handle,\n axis = 'x',\n min = DEFAULT_MIN,\n max = null,\n step = DEFAULT_STEP,\n mode = 'onChange',\n hitArea = DEFAULT_HIT_AREA,\n coarseHitArea = DEFAULT_COARSE_HIT_AREA,\n direction = 'positive',\n collapseThreshold,\n disabled = () => false,\n onStart,\n onResize,\n onEnd,\n onCancel,\n }: ResizableOptions): (() => void) & {cancel(): void; refresh(): void} => {\n let state: ResizeState | null = null;\n let pointerId: number | null = null;\n const cleanup = new CleanupManager();\n const directionFactor = direction === 'negative' ? -1 : 1;\n\n const syncDisabled = (): boolean => {\n const isDisabled = disabled();\n if (isDisabled) {\n element.setAttribute('data-disabled', '');\n element.setAttribute(MANAGED_DISABLED_ATTR, '');\n handle.setAttribute('data-disabled', '');\n handle.setAttribute(MANAGED_DISABLED_ATTR, '');\n } else {\n if (element.hasAttribute(MANAGED_DISABLED_ATTR)) {\n element.removeAttribute('data-disabled');\n element.removeAttribute(MANAGED_DISABLED_ATTR);\n }\n if (handle.hasAttribute(MANAGED_DISABLED_ATTR)) {\n handle.removeAttribute('data-disabled');\n handle.removeAttribute(MANAGED_DISABLED_ATTR);\n }\n }\n setAttribute({el: handle, attr: 'aria-disabled', value: isDisabled ? 'true' : 'false'});\n return isDisabled;\n };\n\n const hitTarget = (): number => {\n const coarse = typeof window !== 'undefined'\n && typeof window.matchMedia === 'function'\n && window.matchMedia('(pointer: coarse)').matches;\n return coarse ? coarseHitArea : hitArea;\n };\n\n const applyHandleBase = (): void => {\n element.setAttribute('data-ui-resizable', '');\n element.dataset.resizeAxis = axis;\n element.dataset.resizeMode = mode;\n element.dataset.resizeDirection = direction;\n handle.setAttribute('data-ui-resize-handle', '');\n handle.setAttribute('role', 'separator');\n handle.setAttribute('tabindex', handle.getAttribute('tabindex') ?? '0');\n handle.setAttribute('aria-orientation', axis === 'x' ? 'vertical' : 'horizontal');\n handle.style.touchAction = 'none';\n handle.removeAttribute('draggable');\n if (axis === 'x') handle.style.minWidth = `${hitTarget()}px`;\n else handle.style.minHeight = `${hitTarget()}px`;\n };\n\n const setResizing = (resizing: boolean): void => {\n setPresence({el: element, attr: 'data-resizing', present: resizing});\n setPresence({el: handle, attr: 'data-resizing', present: resizing});\n };\n cleanup.add(() => setResizing(false));\n\n const eventFor = ({phase, delta, input, previewOnly = false}: {\n phase: ResizePhase;\n delta: number;\n input: { clientX: number; clientY: number };\n previewOnly?: boolean;\n }): ResizeEvent => {\n // Geometry belongs to the gesture snapshot. Re-reading it after every\n // consumer update forces layout and does not contribute to these values.\n const current = state!;\n const previewWidth = axis === 'x'\n ? boundNumber(current.startWidth + delta, min, max ?? Number.POSITIVE_INFINITY, step)\n : current.startWidth;\n const previewHeight = axis === 'y'\n ? boundNumber(current.startHeight + delta, min, max ?? Number.POSITIVE_INFINITY, step)\n : current.startHeight;\n const width = previewOnly ? current.width : previewWidth;\n const height = previewOnly ? current.height : previewHeight;\n\n const collapsed = pointerId !== null && collapseThreshold !== undefined\n && (axis === 'x' ? current.startWidth : current.startHeight) + delta <= min - collapseThreshold;\n return {width, height, previewWidth, previewHeight, delta, collapsed, axis, phase,\n input: {clientX: input.clientX, clientY: input.clientY}};\n };\n\n const updateAriaValue = (event: Pick<ResizeEvent, 'previewWidth' | 'previewHeight'>): void => {\n const value = axis === 'x' ? event.previewWidth : event.previewHeight;\n setAttribute({el: handle, attr: 'aria-valuenow', value: String(Math.round(value))});\n setAttribute({el: handle, attr: 'aria-valuemin', value: String(Math.round(min))});\n if (max !== null) setAttribute({el: handle, attr: 'aria-valuemax', value: String(Math.round(max))});\n else handle.removeAttribute('aria-valuemax');\n };\n\n const emitStart = (input: { clientX: number; clientY: number }, rect = element.getBoundingClientRect()): ResizeEvent => {\n idleGeometry.cancel();\n state = {\n width: rect.width,\n height: rect.height,\n startWidth: rect.width,\n startHeight: rect.height,\n startClientX: input.clientX,\n startClientY: input.clientY,\n };\n const event = eventFor({phase: 'start', delta: 0, input});\n updateAriaValue(event);\n setResizing(true);\n onStart?.(event);\n return event;\n };\n\n const emitResize = (input: { clientX: number; clientY: number }): ResizeEvent | null => {\n if (!state) return null;\n const physicalDelta = axis === 'x' ? input.clientX - state.startClientX : input.clientY - state.startClientY;\n const delta = physicalDelta * directionFactor;\n const event = eventFor({phase: 'resize', delta, input, previewOnly: mode === 'onEnd'});\n updateAriaValue(event);\n onResize?.(event);\n if (mode === 'onChange' && state) {\n state.width = event.width;\n state.height = event.height;\n }\n return event;\n };\n\n const finish = (input: {clientX: number; clientY: number}, cancelled = false): void => {\n if (!state) return;\n const physicalDelta = axis === 'x' ? input.clientX - state.startClientX : input.clientY - state.startClientY;\n const event = eventFor({phase: cancelled ? 'cancel' : 'end', delta: cancelled ? 0 : physicalDelta * directionFactor, input});\n const captured = pointerId;\n state = null;\n pointerId = null;\n window.removeEventListener('keydown', onEscape, true);\n window.removeEventListener('blur', cancel);\n setResizing(false);\n updateAriaValue(event);\n if (captured !== null && handle.hasPointerCapture(captured)) handle.releasePointerCapture(captured);\n if (cancelled) onCancel?.(event);\n else onEnd?.(event);\n };\n\n const idleGeometry = createLayoutTask({\n measure: () => state ? null : element.getBoundingClientRect(),\n apply: (rect) => {\n if (!rect || state) return;\n updateAriaValue({previewWidth: rect.width, previewHeight: rect.height});\n },\n });\n cleanup.add(idleGeometry.cancel);\n const refresh = (): void => {\n if (state) return;\n syncDisabled();\n idleGeometry.schedule();\n };\n applyHandleBase();\n refresh();\n\n const onPointerDown = (event: PointerEvent): void => {\n if (event.button !== 0 || pointerId !== null || disabled()) { syncDisabled(); return; }\n const rect = element.getBoundingClientRect();\n syncDisabled();\n event.preventDefault();\n pointerId = event.pointerId;\n handle.setPointerCapture(event.pointerId);\n focusElement(handle, {showIndicator: false});\n window.addEventListener('keydown', onEscape, true);\n window.addEventListener('blur', cancel);\n emitStart(event, rect);\n };\n const onPointerMove = (event: PointerEvent): void => {\n if (event.pointerId !== pointerId) return;\n if (syncDisabled()) finish(event, true);\n else emitResize(event);\n };\n const onPointerUp = (event: PointerEvent): void => {\n if (event.pointerId !== pointerId) return;\n focusElement(handle, {showIndicator: false});\n finish(event, syncDisabled());\n };\n const onPointerCancel = (event: PointerEvent): void => {\n if (event.pointerId === pointerId) finish(event, true);\n };\n const cancel = (): void => {\n if (pointerId !== null) finish({clientX: 0, clientY: 0}, true);\n };\n const onEscape = (event: KeyboardEvent): void => {\n if (event.key !== 'Escape' || pointerId === null) return;\n event.preventDefault();\n event.stopPropagation();\n cancel();\n };\n handle.addEventListener('pointerdown', onPointerDown);\n handle.addEventListener('pointermove', onPointerMove);\n handle.addEventListener('pointerup', onPointerUp);\n handle.addEventListener('pointercancel', onPointerCancel);\n handle.addEventListener('lostpointercapture', onPointerCancel);\n cleanup.add(() => {\n cancel();\n handle.removeEventListener('pointerdown', onPointerDown);\n handle.removeEventListener('pointermove', onPointerMove);\n handle.removeEventListener('pointerup', onPointerUp);\n handle.removeEventListener('pointercancel', onPointerCancel);\n handle.removeEventListener('lostpointercapture', onPointerCancel);\n window.removeEventListener('keydown', onEscape, true);\n window.removeEventListener('blur', cancel);\n });\n\n const onKeydown = (event: KeyboardEvent): void => {\n if (pointerId !== null || disabled()) { syncDisabled(); return; }\n\n const multiplier = event.shiftKey ? 10 : 1;\n const amount = step * multiplier;\n let delta: number | null = null;\n\n if (axis === 'x' && event.key === 'ArrowRight') delta = amount;\n if (axis === 'x' && event.key === 'ArrowLeft') delta = -amount;\n if (axis === 'y' && event.key === 'ArrowDown') delta = amount;\n if (axis === 'y' && event.key === 'ArrowUp') delta = -amount;\n if (event.key === 'Home') {\n delta = 0;\n }\n if (event.key === 'End' && max !== null) {\n delta = 0;\n }\n\n if (delta === null) return;\n event.preventDefault();\n\n const rect = element.getBoundingClientRect();\n syncDisabled();\n const input = {clientX: 0, clientY: 0};\n const initial = emitStart(input, rect);\n if (event.key === 'Home') delta = (min - initial[axis === 'x' ? 'width' : 'height']) * directionFactor;\n if (event.key === 'End' && max !== null) delta = (max - initial[axis === 'x' ? 'width' : 'height']) * directionFactor;\n if (state) {\n const resizeInput = axis === 'x' ? {clientX: delta, clientY: 0} : {clientX: 0, clientY: delta};\n emitResize(resizeInput);\n finish(resizeInput);\n }\n };\n\n handle.addEventListener('keydown', onKeydown);\n cleanup.add(() => handle.removeEventListener('keydown', onKeydown));\n\n return Object.assign(() => cleanup.run(), {cancel, refresh});\n};\n\nconst registerResizable = (AlpineInstance: Alpine.Alpine): void => {\n if (typeof AlpineInstance.directive !== 'function') return;\n\n AlpineInstance.directive('ui-resizable', (el, {value, expression}, {cleanup}) => {\n if (!(el instanceof HTMLElement) || value === 'handle') return;\n\n const root = el;\n const handle = root.querySelector<HTMLElement>(HANDLE_SELECTOR);\n if (!handle) return;\n\n const props = decodeProps({el: root, schema: resizableSchema});\n const axis = props.resizeAxis;\n const probes: HTMLElement[] = [];\n const dimensions = [\n [props.resizeMin, DEFAULT_MIN],\n [props.resizeMax, Number.POSITIVE_INFINITY],\n ] as const;\n const lengths = dimensions.map(([value, fallback]) => {\n const length = value.trim();\n if (!length) return () => fallback;\n const literal = Number(length.endsWith('px') ? length.slice(0, -2) : length);\n if (Number.isFinite(literal)) return () => literal;\n const probe = document.createElement('div');\n probe.style.cssText = 'position:absolute;visibility:hidden;pointer-events:none;padding:0;border:0;';\n probe.style.width = axis === 'x' ? length : '0';\n probe.style.height = axis === 'y' ? length : '0';\n root.append(probe);\n probes.push(probe);\n return () => {\n const pixels = Number.parseFloat(getComputedStyle(probe)[axis === 'x' ? 'width' : 'height']);\n return Number.isFinite(pixels) && pixels > 0 ? pixels : fallback;\n };\n });\n const mode = props.resizeMode;\n const evaluator = expression\n ? AlpineInstance.evaluateLater(root, expression)\n : null;\n\n const notify = (event: ResizeEvent): void => {\n const eventName = event.phase === 'start'\n ? 'ui:resize-start'\n : event.phase === 'cancel'\n ? 'ui:resize-cancel'\n : event.phase === 'end'\n ? 'ui:resize-end'\n : 'ui:resize';\n\n dispatch({el: root, name: eventName, detail: event});\n if (!evaluator) return;\n if (mode === 'onEnd' && event.phase === 'resize') return;\n evaluator(undefined, {scope: detailFromResize(event)});\n };\n\n let dispose: (() => void) | null = null;\n const bind = ({min, max}: {min: number; max: number}): void => {\n probes.forEach(probe => probe.remove());\n dispose = createResizable({\n element: root,\n handle,\n axis,\n min,\n max: max === Number.POSITIVE_INFINITY ? null : max,\n step: props.resizeStep,\n mode,\n hitArea: props.resizeHitArea,\n coarseHitArea: props.resizeCoarseHitArea,\n direction: props.resizeDirection,\n disabled: () => root.hasAttribute('data-disabled')\n && !root.hasAttribute(MANAGED_DISABLED_ATTR)\n || root.hasAttribute('data-resize-disabled')\n || (root.dataset.disabled === 'true' && !root.hasAttribute(MANAGED_DISABLED_ATTR)),\n onStart: notify,\n onResize: notify,\n onEnd: notify,\n onCancel: notify,\n });\n };\n const bounds = createLayoutTask({\n measure: () => ({min: lengths[0]!(), max: lengths[1]!()}),\n apply: bind,\n });\n cleanup(() => {\n bounds.cancel();\n probes.forEach(probe => probe.remove());\n dispose?.();\n });\n if (probes.length) bounds.schedule();\n else bind({min: lengths[0]!(), max: lengths[1]!()});\n });\n};\n\nexport {createResizable, registerResizable, RESIZE_COLLAPSE_THRESHOLD};\nexport type {ResizableOptions, ResizeAxis, ResizeDirection, ResizeEvent, ResizeMode, ResizePhase};\nexport {createSortableRegistry} from './sortable';\nexport type {\n SortableAnchor,\n SortableCancelReason,\n SortableCanDropContext,\n SortableDirection,\n SortableDragDetail,\n SortableDropDetail,\n SortableDropIntent,\n SortableEdge,\n SortableFeedback,\n SortableGroup,\n SortableIndicatorFrame,\n SortableInsertSource,\n SortableMoveSource,\n SortableOperation,\n SortableOrientation,\n SortableResolvedPlacement,\n SortableReorderOffset,\n SortableSource,\n UiSortableService,\n} from './sortable';\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {createResizable, registerResizable} from '../runtime/drag-and-drop';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerResizableCapability = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerResizable(AlpineInstance);\n};\n\nexport {createResizable, registerResizableCapability};\nexport type {\n ResizableOptions,\n ResizeAxis,\n ResizeDirection,\n ResizeEvent,\n ResizeMode,\n ResizePhase,\n} from '../runtime/drag-and-drop';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./focus-BvBkrIcj.js";var t=new Set([`alt`,`cmd`,`ctrl`,`meta`,`mod`,`shift`,`super`]),n=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`]),r={" ":`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`},i={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":`↑`},a=()=>{if(typeof navigator>`u`)return!1;let e=navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)},o=e=>r[e]||e.replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/_/g,`-`).toLowerCase(),s=e=>e===`slash`||e.length===1||n.has(e)||/^f(?:[1-9]|1\d|2[0-4])$/.test(e),c=(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`)}},l=e=>e.trim().toLowerCase().split(`.`).map(e=>e.trim()).filter(Boolean),u=(e,n={})=>{let r=l(e);if(r.length===0)return null;let i=n.apple??a(),o=r.filter(e=>t.has(e)),u=r.filter(e=>!t.has(e));if(u.length===0||u.some(e=>!s(e))||u.length>1&&o.length>0)return null;let d=c(o,i),f=u.map((e,t)=>({key:e,...t===0?d:c([],i)}));return{normalized:r.join(`.`),steps:f}},d=e=>e.split(`-`).map(e=>e?`${e[0].toUpperCase()}${e.slice(1)}`:``).join(` `),f={alt:`⌥`,cmd:`⌘`,ctrl:`⌃`,meta:`⌘`,mod:`⌘`,shift:`⇧`,super:`⌘`},p=(e,t)=>t?f[e]??d(e):e===`mod`?`Ctrl`:i[e]??d(e),m=(e,t)=>e===`mod`?t?`meta`:`ctrl`:e===`cmd`||e===`super`?`meta`:e,h=(e,t)=>e===`slash`&&t.includes(`shift`)?`?`:i[e]??d(e),g=(e,n={})=>{let r=l(e);if(r.length===0)return[];let i=n.apple??a(),o=r.filter(e=>t.has(e)),s=r.filter(e=>!t.has(e)),c=o.map(e=>({label:p(e,i),token:m(e,i)}));return s.length===0?[c]:s.length>1&&o.length===0?s.map(e=>[{label:h(e,r),token:e}]):[[...c,...s.map(e=>({label:h(e,r),token:e}))]]},_=(e,t={})=>g(e,t).map(e=>e.map(({label:e})=>e)),v=new WeakMap,y=(e,t,n)=>{let r=g(t),i=r.length>1?x(t):null,a=-1,s,c=(e,t)=>{if(i){if(!t)i.reset(),a=-1;else if(t.type===`keydown`&&!t.repeat){let e=i.match(t);a=e===`none`?-1:e===`complete`?r.length-1:i.nextStepIndex-1}}if(s?.size===0&&(i?a<0||!e.has(r[a]?.[0]?.token??``):!e.has(r[0]?.[0]?.token??``)))return;let o=new Set;if(i)a>=0&&e.has(r[a]?.[0]?.token??``)&&o.add(a);else for(let[t,{token:n}]of(r[0]??[]).entries()){if(!e.has(n))break;o.add(t)}let c=s;c&&c.size===o.size&&[...o].every(e=>c.has(e))||(s=o,n(o))},l=v.get(e);if(!l){let t=new Set,n=new Set,r=e=>n.forEach(n=>n(t,e)),i=()=>{t.clear(),r()},a=e=>{let n=[...t].sort().join(` `),i=o(e.key);e.type===`keydown`?t.add(i):t.delete(i),e.type===`keyup`&&i===`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&&r(e)},s=e=>{e instanceof KeyboardEvent&&a(e)},c=()=>{e.visibilityState===`hidden`&&i()};e.addEventListener(`keydown`,s,!0),e.addEventListener(`keyup`,s,!0),e.addEventListener(`visibilitychange`,c),e.defaultView?.addEventListener(`blur`,i),l={keys:t,listeners:n,destroy:()=>{e.removeEventListener(`keydown`,s,!0),e.removeEventListener(`keyup`,s,!0),e.removeEventListener(`visibilitychange`,c),e.defaultView?.removeEventListener(`blur`,i)}},v.set(e,l)}return l.listeners.add(c),c(l.keys),()=>{l?.listeners.delete(c),l?.listeners.size===0&&(l.destroy(),v.delete(e))}},b=(e,t)=>o(e.key)===t.key&&e.altKey===t.altKey&&e.ctrlKey===t.ctrlKey&&e.metaKey===t.metaKey&&e.shiftKey===t.shiftKey,x=(e,t={})=>{let n=u(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,get nextStepIndex(){return i},reset:o,match(e,t=performance.now()){i>0&&t-a>r&&o();let s=n.steps[i];if(!s||!b(e,s)){o();let r=n.steps[0];return!r||!b(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`)}}},S=e=>e instanceof Element&&e.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"])`)!==null,C=e=>e.isConnected&&!e.closest(`[inert], [hidden]`)&&e.getAttribute(`aria-hidden`)!==`true`,w=new WeakSet,T=t=>{if(w.has(t))return;w.add(t);let n=e(document);t.directive(`ui-shortcut`,t.skipDuringClone((e,{expression:t,modifiers:r},i)=>{if(!(e instanceof HTMLElement))return;let a=i.evaluateLater(t),o=Number(e.dataset.uiShortcutTimeout),s=Number.isFinite(o)?o:void 0,c=null;i.effect(()=>a(e=>{c=typeof e==`string`&&e.trim()?x(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=t=>{if(!(t instanceof KeyboardEvent)||!c||!C(e)||t.repeat&&!r.includes(`repeat`)||S(t.target)&&!r.includes(`editable`))return;let i=c.match(t);if(i===`none`||(n(t),i===`partial`))return;let a=new CustomEvent(`ui:shortcut`,{bubbles:!0,cancelable:!0,composed:!0,detail:{shortcut:c.shortcut.normalized,keyboardEvent:t,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&&t.preventDefault(),o&&t.stopPropagation()};l.addEventListener(u,d),i.cleanup(()=>l.removeEventListener(u,d))}))};export{u as a,y as i,_ as n,T as o,g as r,x as t};
2
+ //# sourceMappingURL=capability-shortcut-BFvGIAs8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-shortcut-BFvGIAs8.js","names":[],"sources":["../../../../../../../../client/src/capabilities/shortcut.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\nimport {createFocusIndicatorPreserver} from '../runtime/focus';\n\ntype ShortcutPlatform = {apple?: boolean};\ntype ShortcutOptions = ShortcutPlatform & {timeout?: number};\ntype ShortcutMatch = 'none' | 'partial' | 'complete';\ntype ShortcutDisplayKey = {label: string; token: string};\ntype ShortcutFeedbackListener = (pressed: ReadonlySet<number>) => void;\ntype HeldShortcutListener = (keys: ReadonlySet<string>, event?: KeyboardEvent) => 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 readonly nextStepIndex: number;\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};\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<HeldShortcutListener>;\n destroy: () => void;\n};\n\nconst pressedShortcutStores = new WeakMap<Document, PressedShortcutStore>();\n\nconst observeShortcutFeedback = (\n document: Document,\n value: string,\n listener: ShortcutFeedbackListener,\n): (() => void) => {\n const steps = formatShortcutKeys(value);\n const sequence = steps.length > 1 ? createShortcutMatcher(value) : null;\n let activeStep = -1;\n let previous: ReadonlySet<number> | undefined;\n const publish: HeldShortcutListener = (keys, event) => {\n if (sequence) {\n if (!event) {\n sequence.reset();\n activeStep = -1;\n } else if (event.type === 'keydown' && !event.repeat) {\n const match = sequence.match(event);\n activeStep = match === 'none' ? -1\n : match === 'complete' ? steps.length - 1 : sequence.nextStepIndex - 1;\n }\n }\n if (previous?.size === 0 && (sequence\n ? activeStep < 0 || !keys.has(steps[activeStep]?.[0]?.token ?? '')\n : !keys.has(steps[0]?.[0]?.token ?? ''))) return;\n const pressed = new Set<number>();\n if (sequence) {\n if (activeStep >= 0 && keys.has(steps[activeStep]?.[0]?.token ?? '')) pressed.add(activeStep);\n } else {\n for (const [index, {token}] of (steps[0] ?? []).entries()) {\n if (!keys.has(token)) break;\n pressed.add(index);\n }\n }\n const last = previous;\n if (last && last.size === pressed.size && [...pressed].every(key => last.has(key))) return;\n previous = pressed;\n listener(pressed);\n };\n let store = pressedShortcutStores.get(document);\n if (!store) {\n const keys = new Set<string>();\n const listeners = new Set<HeldShortcutListener>();\n const notify = (event?: KeyboardEvent): void => listeners.forEach((subscriber) => subscriber(keys, event));\n const clear = (): void => {\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(event);\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(publish);\n publish(store.keys);\n return () => {\n store?.listeners.delete(publish);\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 get nextStepIndex(): number { return index; },\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 registered = new WeakSet<Alpine.Alpine>();\n\nconst registerShortcutCapability = (AlpineInstance: Alpine.Alpine): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n const preserveFocusIndicator = createFocusIndicatorPreserver(document);\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\n // Preserve the existing indicator before a handler can move focus.\n preserveFocusIndicator(event);\n if (result === 'partial') return;\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 observeShortcutFeedback,\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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"}
@@ -0,0 +1,5 @@
1
+ import{_ as e,a as t,b as n,c as r,g as i,h as a,i as o,l as s,m as c,n as l,o as u,r as d,s as f,t as p,v as m,x as h,y as g}from"./element-adapter-native-data-key-zFOeeob-.js";import{r as _}from"./dom-DiTFTWeR.js";import{t as v}from"./warn-BbGtqbh1.js";import{K as y,L as b,t as x,x as S,y as C}from"./properties-D8pFWF8g.js";import{n as w}from"./identity-BMTQyLbq.js";import{n as T}from"./morph-Cq3V_23_.js";import{n as E}from"./dom-invalidation-Dw6clnS4.js";import{c as D,f as O,l as k,n as A,o as ee,s as j}from"./codecs-CQ7olTJL.js";import{a as M,n as te,t as ne}from"./machine-Do4tL7nc.js";import{n as re}from"./focus-BvBkrIcj.js";import{n as N}from"./ui-CVVSxrtG.js";import{n as ie}from"./floating-ui.dom-B05VsV_p.js";import{L as P,v as ae}from"./common-DnEHZCqy.js";var F=e=>e!==null&&Number.isInteger(e)&&e>0,I=4,oe=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge&&e.index===t.index),se=({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))},ce=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)}],le=(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)))}]},ue=({columns:e,direction:t,groupRect:n,items:r})=>{if(!F(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=>se({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=>se({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},de=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),fe=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=de(e.orientation===`horizontal`?le(e.items,e.direction):e.orientation===`grid`?ue(e):ce(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},pe=e=>{if(e.items.length===0||e.orientation===`grid`)return fe(e);let t=e.orientation===`vertical`?e.input.clientY:e.input.clientX*(e.direction===`rtl`?-1:1),n=e.items.findIndex(({rect:n})=>{let r=e.orientation===`vertical`?n.top+n.height/2:(n.left+n.width/2)*(e.direction===`rtl`?-1:1);return t<r}),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}},me=({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=Math.max(0,Math.min(a.length,e.index>i?e.index-1:e.index)),s=a.length===0?null:o===a.length?{id:a.at(-1),edge:`after`}:{id:a[o],edge:`before`};return{destination:e.destination,anchor:s,index:o}},he=(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-I:n.left+I,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+I,width:n.width,height:0,kind:`block-boundary`};let o=t.index,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-I:s.rect.bottom+I;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`?I:-4):u(s)+(a===`rtl`?-4:I),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!F(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+I;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`?I:-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:I)}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 ge(e){var t=e.list,n=e.startIndex,r=e.finishIndex;if(n===-1||r===-1)return Array.from(t);var i=Array.from(t),a=i.splice(n,1),o=h(a,1)[0];return i.splice(r,0,o),i}var L=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),_e=({x:e,y:t})=>e!==0||t!==0,R=(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}),ve=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 R(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 R(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return R(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 R(a.rect,s,0)},ye=e=>{let t=ve(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},be=(e,t)=>{let n=new Map(t.filter(({groupId:t})=>t===e.groupId).map(e=>[e.id,e]));return{...e,items:e.items.map(e=>{let t=n.get(e.id);return t?{...e,rect:R(e.rect,t.x,t.y)}:e})}},xe=({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));return e.groupId===r.groupId&&n?n.items[Math.min(i,n.items.length-1)]?.rect??r.groupRect:ye(r)[i]??r.groupRect},Se=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return[];let i=Math.max(0,Math.min(r.items.length,t.index));if(e.groupId===r.groupId&&n){let t=n.items.findIndex(({id:t})=>t===e.id);if(t<0)return[];let r=ge({list:[...n.items],startIndex:t,finishIndex:i}),a=new Map;return r.forEach((e,t)=>{let r=e.id,i=n.items[t]?.rect;i&&!a.has(r)&&a.set(r,i)}),n.items.map(e=>{let t=a.get(e.id);return t?L(n.groupId,e,t):null}).filter(e=>e!==null).filter(_e)}let a=ye(r),o=r.items.map((e,t)=>L(r.groupId,e,a[t<i?t:t+1])).filter(_e);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=L(n.groupId,c,a[i]??r.groupRect);return _e(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(L(n.groupId,e,n.items[s+t].rect))}),o},Ce=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:px)?$/,we=(e,t,n,r,i)=>e===r?t:e===`center`?t-n/2:e===i?t-n:Ce.test(e)?t+Number.parseFloat(e):null,Te=({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=we(o[0],t.clientX,i.width,`left`,`right`),c=we(o[1],t.clientY,i.height,`top`,`bottom`);return s===null||c===null?a:{x:s,y:c}},Ee=e=>{e.setAttribute(`x-ignore`,``),[e,...e.querySelectorAll(`*`)].forEach(e=>{e.removeAttribute(`id`),e.removeAttribute(`data-ui-animate`),e.removeAttribute(`data-layout`),e.removeAttribute(`data-layout-id`),(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),(e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(e.disabled=!0)})},De=(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)})},Oe=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),ke=({source:e,input:t,sourceRect:n=e.getBoundingClientRect(),preview:r,previewPosition:i=`preserve`,opacity:a=.92,color:o=`neutral`,interaction:s=`edge`})=>{let c=document.createElement(`div`),l=document.createElement(`div`),u=document.createElement(`div`),d=r?.content.firstElementChild?.cloneNode(!0),f=d instanceof HTMLElement,p=f?d:e.cloneNode(!0);f||De(e,p),Ee(p),c.setAttribute(`data-ui-sortable-overlay`,``),c.setAttribute(`popover`,`manual`),l.setAttribute(`data-ui-sortable-ghost-positioner`,``),u.setAttribute(`data-ui-sortable-ghost`,``),u.setAttribute(`aria-hidden`,`true`),u.setAttribute(`inert`,``),f||(u.setAttribute(`data-ui-sortable-default-preview`,``),u.setAttribute(`data-ui-selection-color`,``),u.dataset.color=o,u.dataset.uiInteraction=s,u.dataset.selected=`true`,u.dataset.uiSurface=`+1`,u.dataset.uiElevation=`2`);let m=e.closest(`[data-theme], .dark, .light`);m?.classList.contains(`dark`)&&c.classList.add(`dark`),m?.classList.contains(`light`)&&c.classList.add(`light`),m?.dataset.theme&&(c.dataset.theme=m.dataset.theme),Object.assign(c.style,{position:`fixed`,inset:`0`,width:`100vw`,height:`100vh`,maxWidth:`none`,maxHeight:`none`,margin:`0`,padding:`0`,border:`0`,background:`transparent`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(l.style,{position:`absolute`,left:`0`,top:`0`,width:f?`max-content`:`${n.width}px`,height:f?`max-content`:`${n.height}px`,pointerEvents:`none`}),Object.assign(u.style,{width:f?`max-content`:`100%`,height:f?`max-content`:`100%`,opacity:`${a}`,pointerEvents:`none`,...f?{}:{overflow:`hidden`,borderRadius:`var(--radius-overlay-sm)`}}),u.append(p),l.append(u),c.append(l),document.body.append(c),c.showPopover?.();let h={width:n.width,height:n.height},g=t,_=e=>Te({value:i,input:e,initialInput:t,sourceRect:n,previewSize:h}),v=e=>Te({value:`preserve`,input:e,initialInput:t,sourceRect:n,previewSize:{width:n.width,height:n.height}}),C=_(t),w=y(`translate3d(${C.x}px, ${C.y}px, 0)`),T=b(l,{transform:w});b.state(l)?.flush();let E=f&&typeof ResizeObserver<`u`?new ResizeObserver(([e])=>{e&&(h.width=e.contentRect.width,h.height=e.contentRect.height,C=_(g),w.set(`translate3d(${C.x}px, ${C.y}px, 0)`),b.state(l)?.flush())}):null;return E?.observe(l),{positioner:l,visual:u,frame:()=>({...C,...h}),projectedFrame:e=>({..._(e),...h}),projectedSourceFrame:e=>({...v(e),width:n.width,height:n.height}),move(e){g=e,S(l),C=_(e),w.set(`translate3d(${C.x}px, ${C.y}px, 0)`)},async finish(e){E?.disconnect();let t=w.get();T(),e&&(await x(l,{transform:[t,`translate3d(${e.x}px, ${e.y}px, 0)`]},{role:`layout`}),C={x:e.x,y:e.y})},remove:()=>{E?.disconnect(),T(),w.destroy(),S(l),c.remove()}}},Ae=1e3,je=null,z=`1px`,Me={width:z,height:z,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${z}, ${z}, ${z}, ${z})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${z}`,pointerEvents:`none`};function Ne(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,Me),document.body.append(e),e}function Pe(){return je===null&&(je=Ne()),je}var B=null;function Fe(){B!==null&&clearTimeout(B),B=null}function Ie(e){Pe(),Fe(),B=setTimeout(function(){B=null;var t=Pe();t.textContent=e},Ae)}var Le=new WeakMap,V=(e,t)=>`${e}\u0000${t}`,Re=(e,t)=>{let n={destination:Object.freeze({...t.destination}),anchor:t.anchor===null?null:Object.freeze({...t.anchor}),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})},ze=()=>{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(V(t,n))??null,i=(e,n)=>t.get(V(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`&&!F(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];if(t.anchor!==null&&!a.includes(t.anchor.id))return null;let o=t.anchor===null?0:a.indexOf(t.anchor.id)+ +(t.anchor.edge===`after`);return{originalIds:i,placement:{destination:t.destination,anchor:t.anchor,index:o}}},s=(e,t,n)=>e.operation===`move`&&e.groupId===n.destination.groupId&&t.indexOf(e.id)===n.index,c=(e,t)=>{let n=o(e,t);return n!==null&&s(e,n.originalIds,n.placement)},l=(e,t,n=null)=>{let i=r(e.scopeId,t.destination.groupId);if(!i||!a(e,t.destination.groupId,n))return null;let c=i.getGroup(),l=o(e,t);if(!l||s(e,l.originalIds,l.placement))return null;let u=Re(e,l.placement),d=!1;return Object.freeze({placement:l.placement,commit:()=>{d||(d=!0,_({el:i.element,name:`ui:sortable-drop`,composed:!0,detail:u}),e.label&&c.label&&Ie(`${e.label} moved to ${c.label}.`))}})},u=(e,t,n=null)=>{let r=l(e,t,n);return r?(r.commit(),!0):!1},d=(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:u(r,{destination:{groupId:a},anchor:{id:t.anchorId,edge:e}})},f=(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),c=s.length===0?null:e===`start`?{id:s[0],edge:`before`}:{id:s.at(-1),edge:`after`};return u(o,{destination:{groupId:t.destinationGroupId},anchor:c})},p={registerGroup:t=>{let r=t.getGroup();return n(e,V(r.scopeId,r.id),()=>{let e=t.getGroup();return V(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,V(r.scopeId,r.id),()=>{let t=e.getSource();return V(t.scopeId,t.id)},e,`source`)},group:r,source:i,canDrop:a,isNoop:c,emitDrop:u,moveBefore:e=>d(`before`,e),moveAfter:e=>d(`after`,e),moveToStart:e=>f(`start`,e),moveToEnd:e=>f(`end`,e)};return Le.set(p,l),p},Be=(e,t,n,r=null)=>Le.get(e)?.(t,n,r)??null,H=`--ui-sortable-drag-cursor`,U=`data-ui-sortable-dragging`,Ve=e=>{let t=document.documentElement,n=t.getAttribute(U),r=t.style.getPropertyValue(H);return t.setAttribute(U,``),t.style.setProperty(H,e.trim()||`default`),()=>{n===null?t.removeAttribute(U):t.setAttribute(U,n),r?t.style.setProperty(H,r):t.style.removeProperty(H)}},He=({props:e,effects:t})=>ne({type:`parallel`,on:{PROPS_CHANGED:{reduce:`props`,effects:`reconcile`},DOM_INVALIDATED:{effects:`reconcile`},POINTER_MOVED:{reduce:`pointer`,effects:`resolvePlacement`}},states:{interaction:{initial:`idle`,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:`ready`}}},ready:{on:{LAYOUT_PROPOSED:{target:`placing`,reduce:`data`},END:{target:`inactive`}}},placing:{on:{LAYOUT_PROPOSED:{target:`placing`,reduce:`data`},PLACING_DONE:{target:`ready`,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}),W=n(),Ue=`data-pdnd-honey-pot`;function We(e){return e instanceof Element&&e.hasAttribute(`data-pdnd-honey-pot`)}function Ge(e){var t=document.elementsFromPoint(e.x,e.y),n=h(t,2),r=n[0],i=n[1];return r?We(r)?i??null:r:null}var Ke=2147483647,qe={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`,width:`auto`,height:`auto`};function G(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var Je=G(function(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`});function Ye(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 Xe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Ye(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ye(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var K=2,Ze=K/2;function Qe(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function $e(e){return{x:e.x-Ze,y:e.y-Ze}}function et(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function tt(e){return{x:Math.min(e.x,window.innerWidth-K),y:Math.min(e.y,window.innerHeight-K)}}function nt(e){var t=e.client,n=tt(et($e(Qe(t))));return DOMRect.fromRect({x:n.x,y:n.y,width:K,height:K})}function rt(e){var t=e.clientRect;return{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}}function it(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 at(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(Ue,`true`),Je()&&n.setAttribute(`popover`,`manual`);var r=nt({client:t});Object.assign(n.style,Xe(Xe({position:`fixed`},Je()?qe:{zIndex:Ke}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},rt({clientRect:r}))),document.body.appendChild(n),Je()&&n.showPopover();var i=(0,W.bind)(window,{type:`pointermove`,listener:function(e){r=nt({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,rt({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(i(),it({client:t,clientRect:r})){n.remove();return}function a(){o(),n.remove()}var o=(0,W.bindAll)(window,[{type:`pointerdown`,listener:a},{type:`pointermove`,listener:a},{type:`focusin`,listener:a},{type:`focusout`,listener:a},{type:`dragstart`,listener:a},{type:`dragenter`,listener:a},{type:`dragover`,listener:a}],{capture:!0})}}function ot(){var e=null;function t(){return e=null,(0,W.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=at({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}var st=G(function(){return navigator.userAgent.includes(`Firefox`)}),ct=G(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)});function lt(e){return`nodeName`in e}function ut(e){return lt(e)&&e.ownerDocument!==document}var dt={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};(function(){if(typeof window>`u`||!ct())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,W.bindAll)(window,[{type:`dragstart`,listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:`drop`,listener:n},{type:`dragend`,listener:n},{type:`dragenter`,listener:function(e){!t.isOverWindow&&t.enterCount===0&&(e[dt.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[dt.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function ft(e){var t=e.dragLeave;return ct()?t.hasOwnProperty(dt.isLeavingWindow):!1}function pt(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?ct()?ft({dragLeave:t}):r==null?!0:st()?ut(r):r instanceof HTMLIFrameElement:!1}function mt(e){var t=e.onDragEnd;return[{type:`pointermove`,listener:function(){var e=0;return function(){if(e<20){e++;return}t()}}()},{type:`pointerdown`,listener:t}]}function q(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var ht=e(function(e){return e()}),J=function(){var e=null;function t(t){e={frameId:requestAnimationFrame(function(){e=null,t()}),fn:t}}function n(){e&&=(cancelAnimationFrame(e.frameId),e.fn(),null)}return{schedule:t,flush:n}}();function gt(e){var t=e.source,n=e.initial,r=e.dispatchEvent,i={dropTargets:[]};function a(e){r(e),i={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var r=e.nativeSetDragImage,o={current:n,previous:i,initial:n};a({eventName:`onGenerateDragPreview`,payload:{source:t,location:o,nativeSetDragImage:r}}),J.schedule(function(){a({eventName:`onDragStart`,payload:{source:t,location:o}})})},dragUpdate:function(e){var r=e.current;J.flush(),ht.cancel(),a({eventName:`onDropTargetChange`,payload:{source:t,location:{initial:n,previous:i,current:r}}})},drag:function(e){var r=e.current;ht(function(){J.flush(),a({eventName:`onDrag`,payload:{source:t,location:{initial:n,previous:i,current:r}}})})},drop:function(e){var r=e.current,o=e.updatedSourcePayload;J.flush(),ht.cancel(),a({eventName:`onDrop`,payload:{source:o??t,location:{current:r,previous:i,initial:n}}})}}}var _t={isActive:!1};function vt(){return!_t.isActive}function yt(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function bt(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var r=0;r<t.length;r++)if(t[r].element!==n[r].element)return!0;return!1}function xt(e){var t=e.event,n=e.dragType,r=e.getDropTargetsOver,i=e.dispatchEvent;if(!vt())return;var a=Ct({event:t,dragType:n,getDropTargetsOver:r});_t.isActive=!0;var o={current:a};St({event:t,current:a.dropTargets});var s=gt({source:n.payload,dispatchEvent:i,initial:a});function c(e){var t=bt({current:o.current.dropTargets,next:e.dropTargets});o.current=e,t&&s.dragUpdate({current:o.current})}function l(e){var t=q(e),i=r({target:We(e.target)?Ge({x:t.clientX,y:t.clientY}):e.target,input:t,source:n.payload,current:o.current.dropTargets});i.length&&(e.preventDefault(),St({event:e,current:i})),c({dropTargets:i,input:t})}function u(){o.current.dropTargets.length&&c({dropTargets:[],input:o.current.input}),s.drop({current:o.current,updatedSourcePayload:null}),d()}function d(){_t.isActive=!1,f()}var f=(0,W.bindAll)(window,[{type:`dragover`,listener:function(e){l(e),s.drag({current:o.current})}},{type:`dragenter`,listener:l},{type:`dragleave`,listener:function(e){pt({dragLeave:e})&&(c({input:o.current.input,dropTargets:[]}),n.startedFrom===`external`&&u())}},{type:`drop`,listener:function(e){if(o.current={dropTargets:o.current.dropTargets,input:q(e)},!o.current.dropTargets.length){u();return}e.preventDefault(),St({event:e,current:o.current.dropTargets}),s.drop({current:o.current,updatedSourcePayload:n.type===`external`?n.getDropPayload(e):null}),d()}},{type:`dragend`,listener:function(e){o.current={dropTargets:o.current.dropTargets,input:q(e)},u()}}].concat(m(mt({onDragEnd:u}))),{capture:!0});s.start({nativeSetDragImage:yt(t)})}function St(e){var t=e.event,n=e.current[0]?.dropEffect;n!=null&&t.dataTransfer&&(t.dataTransfer.dropEffect=n)}function Ct(e){var t=e.event,n=e.dragType,r=e.getDropTargetsOver,i=q(t);return n.startedFrom===`external`?{input:i,dropTargets:[]}:{input:i,dropTargets:r({input:i,source:n.payload,target:t.target,current:[]})}}var wt={canStart:vt,start:xt},Tt=new Map;function Et(e){var t=e.typeKey,n=e.mount,r=Tt.get(t);if(r)return r.usageCount++,r;var i={typeKey:t,unmount:n(),usageCount:1};return Tt.set(t,i),i}function Dt(e){var t=Et(e);return function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),Tt.delete(e.typeKey))}}function Ot(){var e=[...arguments];return function(){e.forEach(function(e){return e()})}}function kt(e,t){var n=t.attribute,r=t.value;return e.setAttribute(n,r),function(){return e.removeAttribute(n)}}function At(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 Y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?At(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jt(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=Mt(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function Mt(e,t){if(e){if(typeof e==`string`)return Nt(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)?Nt(e,t):void 0}}function Nt(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 Pt(e){return e.slice(0).reverse()}function Ft(e){var t=e.typeKey,n=e.defaultDropEffect,r=new WeakMap,i=`data-drop-target-for-${t}`,a=`[${i}]`;function o(e){return r.set(e.element,e),function(){return r.delete(e.element)}}function s(e){return G(Ot(kt(e.element,{attribute:i,value:`true`}),o(e)))}function c(e){var t=e.source,i=e.target,o=e.input,s=e.result,l=s===void 0?[]:s;if(i==null)return l;if(!(i instanceof Element))return i instanceof Node?c({source:t,target:i.parentElement,input:o,result:l}):l;var u=i.closest(a);if(u==null)return l;var d=r.get(u);if(d==null)return l;var f={input:o,source:t,element:d.element};if(d.canDrop&&!d.canDrop(f))return c({source:t,target:d.element.parentElement,input:o,result:l});var p=d.getData?.call(d,f)??{},h=d.getDropEffect?.call(d,f)??n,g={data:p,element:d.element,dropEffect:h,isActiveDueToStickiness:!1};return c({source:t,target:d.element.parentElement,input:o,result:[].concat(m(l),[g])})}function l(e){var t=e.eventName,n=e.payload,i=jt(n.location.current.dropTargets),a;try{for(i.s();!(a=i.n()).done;){var o,s=a.value,c=r.get(s.element),l=Y(Y({},n),{},{self:s});c==null||(o=c[t])==null||o.call(c,l)}}catch(e){i.e(e)}finally{i.f()}}var u={onGenerateDragPreview:l,onDrag:l,onDragStart:l,onDrop:l,onDropTargetChange:function(e){var t=e.payload,n=new Set(t.location.current.dropTargets.map(function(e){return e.element})),i=new Set,a=jt(t.location.previous.dropTargets),o;try{for(a.s();!(o=a.n()).done;){var s,c=o.value;i.add(c.element);var l=r.get(c.element),u=n.has(c.element),d=Y(Y({},t),{},{self:c});if(l==null||(s=l.onDropTargetChange)==null||s.call(l,d),!u){var f;l==null||(f=l.onDragLeave)==null||f.call(l,d)}}}catch(e){a.e(e)}finally{a.f()}var p=jt(t.location.current.dropTargets),m;try{for(p.s();!(m=p.n()).done;){var h,g,_=m.value;if(!i.has(_.element)){var v=Y(Y({},t),{},{self:_}),y=r.get(_.element);y==null||(h=y.onDropTargetChange)==null||h.call(y,v),y==null||(g=y.onDragEnter)==null||g.call(y,v)}}}catch(e){p.e(e)}finally{p.f()}}};function d(e){u[e.eventName](e)}function f(e){var t=e.source,n=e.target,i=e.input,a=e.current,o=c({source:t,target:n,input:i});if(o.length>=a.length)return o;for(var s=Pt(a),l=Pt(o),u=[],d=0;d<s.length;d++){var f,p=s[d],m=l[d];if(m!=null){u.push(m);continue}var h=u[d-1],g=s[d-1];if(h?.element!==g?.element)break;var _=r.get(p.element);if(!_)break;var v={input:i,source:t,element:_.element};if(_.canDrop&&!_.canDrop(v)||!((f=_.getIsSticky)!=null&&f.call(_,v)))break;u.push(Y(Y({},p),{},{isActiveDueToStickiness:!0}))}return Pt(u)}return{dropTargetForConsumers:s,getIsOver:f,dispatchEvent:d}}function It(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=Lt(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.
3
+ 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 Lt(e,t){if(e){if(typeof e==`string`)return Rt(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)?Rt(e,t):void 0}}function Rt(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 zt(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 Bt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?zt(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Vt(){var e=new Set,t=null;function n(e){t&&(!e.canMonitor||e.canMonitor(t.canMonitorArgs))&&t.active.add(e)}function r(r){var i=Bt({},r);e.add(i),n(i);function a(){e.delete(i),t&&t.active.delete(i)}return G(a)}function i(r){var i=r.eventName,a=r.payload;if(i===`onGenerateDragPreview`){t={canMonitorArgs:{initial:a.location.initial,source:a.source},active:new Set};var o=It(e),s;try{for(o.s();!(s=o.n()).done;){var c=s.value;n(c)}}catch(e){o.e(e)}finally{o.f()}}if(t){for(var l=Array.from(t.active),u=0,d=l;u<d.length;u++){var f=d[u];if(t.active.has(f)){var p;(p=f[i])==null||p.call(f,a)}}i===`onDrop`&&(t.active.clear(),t=null)}}return{dispatchEvent:i,monitorForConsumers:r}}function Ht(e){var t=e.typeKey,n=e.mount,r=e.dispatchEventToSource,i=e.onPostDispatch,a=e.defaultDropEffect,o=Vt(),s=Ft({typeKey:t,defaultDropEffect:a});function c(e){r?.(e),s.dispatchEvent(e),o.dispatchEvent(e),i?.(e)}function l(e){var t=e.event,n=e.dragType;wt.start({event:t,dragType:n,getDropTargetsOver:s.getIsOver,dispatchEvent:c})}function u(){function e(){return n({canStart:wt.canStart,start:l})}return Dt({typeKey:t,mount:e})}return{registerUsage:u,dropTarget:s.dropTargetForConsumers,monitor:o.monitorForConsumers}}var Ut=G(function(){return navigator.userAgent.toLocaleLowerCase().includes(`android`)}),Wt=`pdnd:android-fallback`,Gt=`text/plain`,Kt=`application/vnd.pdnd`,qt=new WeakMap,Jt=ot(),Yt=Ht({typeKey:`element`,defaultDropEffect:`move`,mount:function(e){return Ot(Jt.bindEvents(),(0,W.bind)(document,{type:`dragstart`,listener:function(t){if(e.canStart(t)&&!t.defaultPrevented&&t.dataTransfer){var n=t.target;if(n instanceof HTMLElement){var r=qt.get(n);if(r){var i=q(t),a={element:r.element,dragHandle:r.dragHandle??null,input:i};if(r.canDrag&&!r.canDrag(a)){t.preventDefault();return}if(r.dragHandle){var o=Ge({x:i.clientX,y:i.clientY});if(!r.dragHandle.contains(o)){t.preventDefault();return}}var s=r.getInitialDataForExternal?.call(r,a)??null;if(s)for(var c=0,l=Object.entries(s);c<l.length;c++){var u=h(l[c],2),d=u[0],f=u[1];t.dataTransfer.setData(d,f??``)}Ut()&&!t.dataTransfer.types.includes(`text/plain`)&&!t.dataTransfer.types.includes(`text/uri-list`)&&t.dataTransfer.setData(Gt,Wt),t.dataTransfer.setData(Kt,``);var p={type:`element`,payload:{element:r.element,dragHandle:r.dragHandle??null,data:r.getInitialData?.call(r,a)??{}},startedFrom:`internal`};e.start({event:t,dragType:p})}}}}}))},dispatchEventToSource:function(e){var t,n,r=e.eventName,i=e.payload;(t=qt.get(i.source.element))==null||(n=t[r])==null||n.call(t,i)},onPostDispatch:Jt.getOnPostDispatch()});Yt.dropTarget;var Xt=Yt.monitor,X=new Map,Z=new Set;function Zt(e){Qt(e);var t=X.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return X.set(e,n),n}function Qt(e){Z.add(e)}function $t(e){Z.clear(),e(),X.forEach(function(e,t){Z.has(t)||X.delete(t)}),Z.clear()}function en(){X.clear()}var tn=new Map;function nn(e){var t=tn.get(e);if(t)return t;var n=rn(e);return tn.set(e,n),n}function rn(e){var t={type:`idle`},n=[];function r(e){if(t.type===`running`){var i=e-t.timeLastFrameFinished,a=t.latestArgs,o=Ge({x:a.location.current.input.clientX,y:a.location.current.input.clientY});$t(function(){n.forEach(function(e){return e({underUsersPointer:o,latestArgs:a,timeSinceLastFrame:i})})}),t.timeLastFrameFinished=e,t.frameId=requestAnimationFrame(r)}}function i(){t.type!==`idle`&&(cancelAnimationFrame(t.frameId),en(),t={type:`idle`})}function a(e){t.type===`idle`&&(t={type:`initializing`,latestArgs:e,frameId:requestAnimationFrame(function(e){t.type===`initializing`&&(t={type:`running`,timeLastFrameFinished:e,latestArgs:t.latestArgs,frameId:requestAnimationFrame(r)})})})}function o(e){if(t.type===`idle`){a(e);return}t.latestArgs=e}return e({onDragStart:a,onDropTargetChange:o,onDrag:o,onDrop:i}),{onFrame:function(e){n.push(e)}}}var an=`data-auto-scrollable`,on=`[${an}="true"]`;function sn(e){return e.setAttribute(an,`true`),function(){return e.removeAttribute(an)}}function cn(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 ln(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cn(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var un={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},dn={standard:900,fast:1500};function fn(e){return ln(ln({},un),{},{maxPixelScrollPerSecond:dn[e?.maxScrollSpeed??`standard`]})}var pn={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}},mn=[`top`,`right`,`bottom`,`left`],hn={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},gn={start:`top`,end:`bottom`,point:`y`,size:`height`},_n={start:`left`,end:`right`,point:`x`,size:`width`},vn={vertical:{mainAxis:gn,crossAxis:_n},horizontal:{mainAxis:_n,crossAxis:gn}},yn={top:`start`,right:`end`,bottom:`end`,left:`start`};function bn(e){var t=e.edge,n=e.axis;return function(e){var r=e.clientRect,i=e.config,a=vn[n],o=a.mainAxis,s=a.crossAxis,c=yn[t],l=Math.min(i.startHitboxAtPercentageRemainingOfElement[t]*r[o.size],i.maxMainAxisHitboxSize);return DOMRect.fromRect(g(g(g(g({},o.point,c===`start`?r[o.point]:r[o.point]+r[o.size]-l),s.point,r[s.point]),o.size,l),s.size,r[s.size]))}}var xn={top:bn({axis:`vertical`,edge:`top`}),right:bn({axis:`horizontal`,edge:`right`}),bottom:bn({axis:`vertical`,edge:`bottom`}),left:bn({axis:`horizontal`,edge:`left`})};function Sn(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 Cn(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 wn(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=vn[n].mainAxis,s=yn[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?Sn({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-Sn({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function Tn(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=Cn({timeSinceLastFrame:n,config:c}),u=(s?wn({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*Sn({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return yn[o]===`end`?d:-1*d}function En(e,t){return t===`all`||e===t}function Dn(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 On(e){return e.getBoundingClientRect()}function kn(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?On:s,l={x:n.clientX,y:n.clientY},u=c(t),d=mn.reduce(function(e,n){var r=xn[n]({clientRect:u,config:a}),i=hn[n];return!En(i,o)||!Dn({client:l,clientRect:r})||!pn[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 Tn({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?Tn({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 Tn({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?Tn({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function An(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=jn(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.
4
+ 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 jn(e,t){if(e){if(typeof e==`string`)return Mn(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)?Mn(e,t):void 0}}function Mn(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 Nn(e){return!!(e.top||e.left)}function Pn(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(!Nn(s)||!t)return s;var c=t.closest(on);if(!c)return s;var l=i(c);if(!l)return s;function u(){return Pn({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=Zt(c),p=fn(l.getConfiguration?.call(l,d)),m=kn({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 Fn(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=An(a),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!u.canScroll||u.canScroll(s)){var d=kn({element:o,engagement:Zt(o),input:t,config:fn(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 In(e){var t=e.input,n=e.findEntry,r=e.timeSinceLastFrame,i=e.source,a=e.getWindowScrollEntries,o=e.underUsersPointer,s=Pn({target:o,timeSinceLastFrame:r,input:t,source:i,findEntry:n});Nn(s)&&Fn({input:t,source:i,entries:a(),timeSinceLastFrame:r,available:s})}function Ln(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 Rn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Ln(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ln(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zn(e){var t=e.monitor,n=new Map,r=new Set;function i(e){return n.set(e.element,e),G(Ot(sn(e.element),function(){return n.delete(e.element)}))}function a(){var e=Rn({},arguments.length>0&&arguments[0]!==void 0?arguments[0]:{});r.add(e);function t(){r.delete(e)}return G(t)}function o(e){return n.get(e)??null}function s(){return Array.from(r)}function c(e){var t=e.latestArgs,n=e.underUsersPointer,r=e.timeSinceLastFrame;In({input:t.location.current.input,source:t.source,findEntry:o,underUsersPointer:n,timeSinceLastFrame:r,getWindowScrollEntries:s})}return nn(t).onFrame(c),{autoScroll:i,autoScrollWindow:a}}var Bn=zn({monitor:Xt}),Vn=Bn.autoScroll,Hn=Bn.autoScrollWindow,Un=2147483647,Wn={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`,width:`auto`,height:`auto`},Gn=c(function(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`});function Kn(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 qn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Kn(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Q=2,Jn=Q/2;function Yn(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function Xn(e){return{x:e.x-Jn,y:e.y-Jn}}function Zn(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function Qn(e){return{x:Math.min(e.x,window.innerWidth-Q),y:Math.min(e.y,window.innerHeight-Q)}}function $n(e){var t=e.client,n=Qn(Zn(Xn(Yn(t))));return DOMRect.fromRect({x:n.x,y:n.y,width:Q,height:Q})}function er(e){var t=e.clientRect;return{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}}function tr(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 nr(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(i,`true`),Gn()&&n.setAttribute(`popover`,`manual`);var r=$n({client:t});Object.assign(n.style,qn(qn({position:`fixed`},Gn()?Wn:{zIndex:Un}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},er({clientRect:r}))),document.body.appendChild(n),Gn()&&n.showPopover();var a=(0,W.bind)(window,{type:`pointermove`,listener:function(e){r=$n({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,er({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(a(),tr({client:t,clientRect:r})){n.remove();return}function i(){o(),n.remove()}var o=(0,W.bindAll)(window,[{type:`pointerdown`,listener:i},{type:`pointermove`,listener:i},{type:`focusin`,listener:i},{type:`focusout`,listener:i},{type:`dragstart`,listener:i},{type:`dragenter`,listener:i},{type:`dragover`,listener:i}],{capture:!0})}}function rr(){var e=null;function t(){return e=null,(0,W.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=nr({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}var ir=new WeakMap;function ar(e){return ir.set(e.element,e),function(){ir.delete(e.element)}}var or=rr(),sr=t({typeKey:`element`,defaultDropEffect:`move`,mount:function(e){return f(or.bindEvents(),(0,W.bind)(document,{type:`dragstart`,listener:function(t){if(e.canStart(t)&&!t.defaultPrevented&&t.dataTransfer){var n=t.target;if(n instanceof HTMLElement){var i=ir.get(n);if(i){var s=r(t),c={element:i.element,dragHandle:i.dragHandle??null,input:s};if(i.canDrag&&!i.canDrag(c)){t.preventDefault();return}if(i.dragHandle){var u=a({x:s.clientX,y:s.clientY});if(!i.dragHandle.contains(u)){t.preventDefault();return}}var f=i.getInitialDataForExternal?.call(i,c)??null;if(f)for(var m=0,g=Object.entries(f);m<g.length;m++){var _=h(g[m],2),v=_[0],y=_[1];t.dataTransfer.setData(v,y??``)}o()&&!t.dataTransfer.types.includes(`text/plain`)&&!t.dataTransfer.types.includes(`text/uri-list`)&&t.dataTransfer.setData(l,d),t.dataTransfer.setData(p,``);var b={type:`element`,payload:{element:i.element,dragHandle:i.dragHandle??null,data:i.getInitialData?.call(i,c)??{}},startedFrom:`internal`};e.start({event:t,dragType:b})}}}}}))},dispatchEventToSource:function(e){var t,n,r=e.eventName,i=e.payload;(t=ir.get(i.source.element))==null||(n=t[r])==null||n.call(t,i)},onPostDispatch:or.getOnPostDispatch()}),cr=sr.dropTarget;sr.monitor;function lr(e){var t=f(sr.registerUsage(),ar(e),u(e.element,{attribute:`draggable`,value:`true`}));return c(t)}var ur=function(){if(typeof window>`u`)return null;var e=new Image;return e.src=`data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==`,e}();function dr(e){var t=e.nativeSetDragImage;t&&ur&&t(ur,0,0)}function fr(e){e.defaultPrevented||(e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.preventDefault())}var pr=null;function mr(){$(),pr=(0,W.bindAll)(window,[{type:`dragover`,listener:fr},{type:`dragenter`,listener:fr},{type:`drop`,listener:function(e){e.preventDefault(),$()}},{type:`dragend`,listener:$}].concat(m(s({onDragEnd:$}))),{capture:!1})}function $(){var e;(e=pr)==null||e(),pr=null}function hr(){if(window.event?.type===`drop`){var e;(e=window.event)==null||e.preventDefault()}$()}var gr={start:mr,stop:hr},_r=(e,t)=>{let n=e=>{e.dataTransfer&&(e.dataTransfer.effectAllowed=t)};return e.addEventListener(`dragstart`,n),()=>e.removeEventListener(`dragstart`,n)},vr=e=>({clientX:e.location.current.input.clientX,clientY:e.location.current.input.clientY}),yr=e=>({clientX:e.location.initial.input.clientX,clientY:e.location.initial.input.clientY}),br=`[data-ui-sortable]`,xr=`[data-ui-sortable-item]`,Sr=`[data-ui-sortable-source]`,Cr=`[x-ui-sortable\\:handle], [data-ui-sortable-handle]`,wr=`[x-ui-sortable\\:preview], [data-ui-sortable-preview]`,Tr=`[x-ui-sortable\\:indicator], [data-ui-sortable-indicator]`,Er=`ui-sortable`,Dr=2,Or=`a, button, input, select, textarea, summary, [contenteditable], [role="button"], [role="link"]`,kr={sortableScope:O.trim,sortableId:O.trim,orientation:k([`vertical`,`horizontal`,`grid`],`vertical`),columns:D.default(0),accepts:j.array([`item`]),disabled:A,readonly:A,feedback:k([`indicator`,`reorder`],`indicator`),sourceOpacity:D.clamp(0,1).default(.4),ghostOpacity:D.clamp(0,1).default(.92),dragCursor:O.trim.default(`default`),previewPosition:O.trim.default(`preserve`),color:k(P,`neutral`),interaction:k(ae,`edge`),label:O.trim,sortableData:j.object({})},Ar={sortableScope:O.trim,sortableId:O.trim,sortableType:O.trim.default(`item`),label:O.trim,disabled:A,sortableData:j.object({}),sourceOpacity:D.clamp(0,1).default(.4),ghostOpacity:D.clamp(0,1).default(.92),dragCursor:O.trim.default(`default`),previewPosition:O.trim.default(`12px 12px`),color:k(P,`neutral`),interaction:k(ae,`edge`)},jr=[M({name:`starting`,state:`interaction.starting`,project:({context:e})=>e.data,onDone:`STARTING_DONE`,onError:`STARTING_DONE`}),M({name:`placing`,state:`layout.placing`,project:({context:e})=>e.data,onDone:`PLACING_DONE`,onError:`PLACING_DONE`}),M({name:`ending`,state:`interaction.ending`,project:({context:e})=>e.data,onDone:`ENDING_DONE`,onError:`ENDING_DONE`})],Mr=(e,t)=>{let n=0,r=new WeakMap,i=new Set,a=new WeakMap,o=null,s=0,c=null,l=()=>(s+=1,c??=Hn(),()=>{--s,s===0&&(c?.(),c=null)}),u=(e,t)=>e.closest(t),d=e=>[...e.querySelectorAll(xr)].filter(t=>u(t.parentElement??t,br)===e),f=(e,t=e.dataset.sortableId)=>w(e,t)??``,p=(e,t)=>t||e.getAttribute(`aria-label`)?.trim()||``,m=e=>{let t=e.group(),n=d(e.el);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:n.map(e=>({id:f(e),rect:e.getBoundingClientRect()}))}}},h=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)}))}},g=(e,t,n)=>{t.target!==n&&(t.target=n,x(e,{translate:n},{role:`layout`}))},y=(e=null)=>{i.forEach(({el:t})=>{t!==e&&t.removeAttribute(`data-drag-rejected`)})},b=e=>{let t=o;if(!t)return;let n=new Map;e.forEach(({groupId:e,id:r,x:i,y:a})=>{let o=t.layouts.get(e),s=o&&d(o.controller.el).find(e=>f(e)===r);s&&n.set(s,{x:i,y:a,group:o.controller})}),t.projections.forEach((e,t)=>{n.has(t)||(g(t,e,e.baseline&&e.baseline!==`none`?e.baseline:`0px 0px`),t.removeAttribute(`data-reordering`))});let r=new Set;n.forEach(({x:e,y:n,group:i},a)=>{let o=t.projections.get(a);if(!o){let e=a.style.translate&&a.style.translate!==`none`?a.style.translate:`0px 0px`;a.setAttribute(`data-ui-sortable-projection`,``),o={baseline:a.style.translate,target:e},t.projections.set(a,o)}let s=`${e}px ${n}px`;g(a,o,s),a.setAttribute(`data-reordering`,``),r.add(i)}),i.forEach(e=>e.el.toggleAttribute(`data-reordering`,r.has(e)))},S=new WeakMap,D=(e,t,n,r=null)=>{let i=e.indicator();if(!i)return;let a=(S.get(i)??0)+1;if(S.set(i,a),!t||!r){i.hidden=!0;return}let o=r.kind===`inline-boundary`,s=r.kind===`block-boundary`,c=o?Dr:r.width,l=s?Dr:r.height,u=r.x-(o?Dr/2:0),d=r.y-(s?Dr/2:0);Object.assign(i.style,{position:`fixed`,left:`0`,top:`0`,width:`${c}px`,height:`${l}px`,pointerEvents:`none`,zIndex:`2147483646`}),i.hidden=!1,i.dataset.orientation=e.group().orientation,i.dataset.edge=t.anchor?.edge??`empty`,i.dataset.index=String(t.index),i.dataset.operation=n??``,i.dataset.indicatorKind=r.kind,ie({getBoundingClientRect:()=>new DOMRect(u,d,c,0),contextElement:e.el},i,{strategy:`fixed`,placement:`bottom-start`}).then(e=>{i.isConnected&&S.get(i)===a&&(i.style.transform=`translate3d(${e.x}px, ${e.y}px, 0)`)}).catch(e=>v(`Sortable indicator positioning failed`,e))},O=()=>{o?.group&&(o.group.el.removeAttribute(`data-drag-over`),o.group.el.removeAttribute(`data-drop-edge`),o.group.el.removeAttribute(`data-drop-effect`),o.group.el.removeAttribute(`data-drop-noop`),o.group.el.removeAttribute(`data-placing`),D(o.group,null),o.group=null)},k=()=>{o&&(o.projections.forEach((e,t)=>{C(t),t.style.translate=e.baseline,t.removeAttribute(`data-ui-sortable-projection`),t.removeAttribute(`data-reordering`)}),o.projections.clear(),i.forEach(({el:e})=>e.removeAttribute(`data-reordering`)),O(),o.placement=null)},A=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),j=()=>{let e=o,r=e?.placement,i=e?.group,a=e?.controller.el,s=e?.source.groupId===null?null:e?.layouts.get(e.source.groupId)??null,c=r?e?.layouts.get(r.destination.groupId)??null:null;if(!e||!r||!i||!a?.isConnected||!c||e.source.operation!==`move`||i.group().feedback!==`reorder`)return;let l=new Set([...e.layouts.values()].flatMap(({controller:e})=>d(e.el).filter(e=>e.getAttribute(`data-active`)===`true`).map(e=>f(e)))),u=document.activeElement,p=[...e.layouts.values()].flatMap(({controller:e})=>d(e.el)).find(e=>e===u||e.contains(u)),m=p?f(p):null,h=()=>{if(e.layouts.forEach(({controller:e})=>{d(e.el).forEach(e=>{l.has(f(e))?e.setAttribute(`data-active`,`true`):e.removeAttribute(`data-active`)})}),!m)return;let t=[...e.layouts.values()].flatMap(({controller:e})=>d(e.el)).find(e=>f(e)===m),n=u instanceof HTMLElement&&u.isConnected&&t?.contains(u)?u:null,r=t?.matches(Cr)?t:t?.querySelector(Cr),i=n??r??t??null;i!==document.activeElement&&re(i,{showIndicator:!1})},g=s?.layout.items.map(({id:e})=>e)??[],_=c.layout.items.map(({id:e})=>e);queueMicrotask(()=>{if(n!==e.id||o!==null&&o!==e||!a.isConnected||!i.el.isConnected)return;let c=s?!A(s.controller.itemIds(),g):!1,l=!A(i.itemIds(),_);!c&&!l&&t(()=>{let e=r.anchor?.id,t=e?d(i.el).find(t=>f(t)===e):null;if(e&&!t?.parentElement)return;let n=i.indicator(),o=t?.parentElement??n?.parentElement??i.el,s=t?r.anchor?.edge===`after`?t.nextSibling:t:n;typeof o.moveBefore==`function`?o.moveBefore(a,s):o.insertBefore(a,s)}),h()})},M=e=>{e.settled||(e.settled=!0,e.ghost.remove(),e.controller.el.removeAttribute(`data-ui-sortable-settling`),o===e&&(o=null))},ne=e=>{o!==e||e.settled||e.endSent||!e.terminalData||(e.endSent=!0,e.controller.machine.send({type:`END`,data:e.terminalData}))},N=(e,t=`outside`,n=o,r={})=>{let i=n;if(!i||o!==i||i.phase!==`dragging`)return;i.phase=`ending`,gr.stop();let a=r.placement??i.placement,s=i.source.groupId===null?null:i.layouts.get(i.source.groupId)??null,c=a?i.layouts.get(a.destination.groupId)??null:null,l=e===`drop`&&a&&c?xe({source:i.source,placement:a,sourceLayout:s?h(s):null,destinationLayout:h(c)}):null,u=l?{x:l.left,y:l.top,width:l.width,height:l.height}:Oe(i.controller.el.getBoundingClientRect());e===`drop`&&j(),k(),i.controller.el.removeAttribute(`data-dragging`),i.controller.el.removeAttribute(`data-drag-operation`),i.controller.el.removeAttribute(`data-sortable-phase`),i.controller.el.style.opacity=i.previousOpacity,i.controller.el.toggleAttribute(`data-ui-sortable-settling`,e===`drop`&&i.source.operation===`move`),i.restoreCursor(),y();let d=i.ghost.frame();i.terminalData={operationId:i.id,outcome:e,source:i.source,placement:e===`drop`?a:null,...e===`cancel`?{reason:t}:{},fromFrame:d,toFrame:u??d,fromTransform:i.ghost.positioner.style.transform,toTransform:u?`translate3d(${u.x}px, ${u.y}px, 0)`:i.ghost.positioner.style.transform},e===`cancel`&&_({el:i.controller.el,name:`ui:sortable-cancel`,composed:!0,detail:Object.freeze({source:i.source,reason:t})}),r.dispatchTerminalEvent?.(),!(o!==i||i.settled)&&ne(i)},P=e=>{o===e&&(e.phase===`dragging`&&N(`cancel`,`outside`,e),!(o!==e||e.settled)&&(ne(e),!(o!==e||e.settled)&&(e.controller.machine.send(`ENDING_DONE`),M(e))))},ae=(t,n)=>{if(!o)return;let r=o.placement,i=o.group!==t,a=t.group(),s=o.source.operation===`insert`?`indicator`:a.feedback,c=o.layouts.get(a.id),l=c?h(c):m(t).layout,u=(s===`reorder`&&a.id===o.source.groupId&&r?.destination.groupId===a.id?be(l,Se({source:o.source,placement:r,sourceLayout:l})):l).items,d=u.map(({id:e})=>e),f=o.source.id,p=s===`reorder`&&a.id===o.source.groupId?u.filter(({id:e})=>e!==f):u,g={groupId:a.id,orientation:a.orientation,direction:l.direction,columns:a.columns,groupRect:l.groupRect,items:p},v=o.ghost.projectedSourceFrame(n),y=s===`reorder`?{clientX:a.orientation===`vertical`?n.clientX:v.x+v.width/2,clientY:a.orientation===`horizontal`?n.clientY:v.y+v.height/2}:n,x=(s===`reorder`?pe:fe)({...g,input:y}),S=s===`indicator`?he({...g,items:u},x):null,C=s===`reorder`?x:me({placement:x,sourceId:o.source.id,sourceGroupId:o.source.groupId,itemIds:d});if(!i&&oe(r,C))return;let w=o.source.groupId===null?null:o.layouts.get(o.source.groupId)??null,T=o.layouts.get(a.id),E=e.isNoop(o.source,{destination:C.destination,anchor:C.anchor}),k=s===`reorder`&&!E?Se({source:o.source,placement:C,sourceLayout:w?w.controller===t?l:h(w):null,destinationLayout:T?T.controller===t?l:h(T):null}):[];i&&O(),t.el.setAttribute(`data-drag-over`,``),o.group=t,o.placement=C,t.el.dataset.dropEdge=C.anchor?.edge??`empty`,t.el.dataset.dropEffect=o.source.operation===`insert`?`copy`:`move`,t.el.toggleAttribute(`data-drop-noop`,E),o.controller.el.dataset.sortablePhase=`placing`,t.el.setAttribute(`data-placing`,``),s===`reorder`&&!E?(b(k),D(t,null)):(b([]),D(t,E?null:C,o.source.operation,S)),_({el:t.el,name:`ui:sortable-placement-change`,composed:!0,detail:Object.freeze({source:o.source,previous:r,placement:C})}),o.controller.machine.send({type:`LAYOUT_PROPOSED`,data:{operationId:o.id,source:o.source,previous:r,placement:C,feedback:s,offsets:k,indicatorFrame:S,noop:E}})};return{registerGroup:(t,n)=>{let s=l();t.setAttribute(`data-ui-sortable`,``),T(t,`data-ui-sortable`,`data-drop-target-for-element`,`data-auto-scrollable`);let c=()=>void 0,m=ee({el:t,schema:kr,onChange:()=>c()}),h={el:t,group:()=>{let e=f(t,m.sortableId),n=p(t,m.label);return Object.freeze({scopeId:m.sortableScope||e,id:e,orientation:m.orientation,columns:m.orientation===`grid`?m.columns:null,accepts:m.accepts,disabled:m.disabled,readOnly:m.readonly,...n?{label:n}:{},feedback:m.feedback,sourceOpacity:m.sourceOpacity,ghostOpacity:m.ghostOpacity,dragCursor:m.dragCursor,previewPosition:m.previewPosition,color:m.color,interaction:m.interaction,...Object.keys(m.sortableData).length?{data:Object.freeze({...m.sortableData})}:{}})},itemIds:()=>d(t).map(e=>f(e)).filter(Boolean),indicator:()=>[...t.querySelectorAll(Tr)].find(e=>u(e.parentElement??e,br)===t)??null,refresh:()=>c()};(!h.group().scopeId||!h.group().id)&&v(`Invalid sortable group props`,t),m.orientation===`grid`&&!F(m.columns)&&v(`Grid sortable groups require positive data-columns`,t),r.set(t,h),i.add(h);let g=e.registerGroup({element:t,getGroup:h.group,getItemIds:h.itemIds,canDrop:e=>a.get(t)?.(e)!==!1});c=()=>{o?.group===h&&N(`cancel`,`removed`),g.refresh()};let _=E(t,{invalidateDom:h.refresh}),y=cr({element:t,canDrop:({source:n,input:r})=>{let i=o,a=n.data.marker===Er&&i!==null,s=a&&e.canDrop(i.source,h.group().id,{clientX:r.clientX,clientY:r.clientY});return t.toggleAttribute(`data-drag-rejected`,a&&!s),s},getDropEffect:()=>`move`,onDrop:()=>{let t=o,n=t?.placement;if(!t||t.group!==h||!n)return;let r=h.group(),i=Be(e,t.source,{destination:n.destination,anchor:n.anchor},t.input);if(!i){N(`cancel`,r.disabled||r.readOnly?`disabled`:`outside`,t);return}N(`drop`,`outside`,t,{placement:i.placement,dispatchTerminalEvent:i.commit})}}),b=Vn({element:t});n.cleanup(()=>{let e=o;e?.phase===`dragging`&&(e.group===h||e.layouts.get(h.group().id)?.controller===h)&&N(`cancel`,`removed`,e),b(),y(),_(),g(),m.disconnect(),r.delete(t),i.delete(h),t.removeAttribute(`data-drag-rejected`),s()})},registerSource:(t,a,s)=>{let c=l(),d=a===`item`?`data-ui-sortable-item`:`data-ui-sortable-source`;t.setAttribute(d,``),T(t,d,`draggable`,`data-ui-sortable-settling`);let h=()=>a===`item`?u(t.parentElement??t,br):null,g,b=te({schema:Ar,hooks:jr,createMachine:({props:e})=>He({props:e,effects:{resolvePlacement:({context:e})=>{let t=o,n=e.pointer;if(!t||t.controller!==g||t.phase!==`dragging`||!n)return;let r=n.destinationId===null?null:t.layouts.get(n.destinationId)?.controller??null;r?ae(r,n.input):t.group?.group().feedback===`reorder`?t.group.el.removeAttribute(`data-drag-over`):k()},synced:()=>{o?.controller===g&&o.phase===`dragging`&&(t.removeAttribute(`data-sortable-phase`),o.group?.el.removeAttribute(`data-placing`))},complete:({context:e})=>{let t=e.data.operationId,n=o;n&&n.id===t&&n.controller===g&&M(n)},reconcile:()=>g.refresh()}}),resolveTransitionElement:({name:e,data:t})=>{let n=t.operationId,r=o?.controller===g&&(n===void 0||o.id===n)?o:null;return e===`starting`?r?.ghost.visual:e===`placing`?r?.group?.el:r?.ghost.positioner}});b.connect(t);let x=()=>b.getCommittedSnapshot().props;g={el:t,owner:h,source:()=>{let e=x(),n=h(),i=n?r.get(n)?.group():null,o=p(t,e.label),s={scopeId:a===`item`?i?.scopeId??``:e.sortableScope,id:f(t,e.sortableId),type:e.sortableType,...o?{label:o}:{},...Object.keys(e.sortableData).length?{data:Object.freeze({...e.sortableData})}:{}};return Object.freeze(a===`item`?{operation:`move`,groupId:i?.id??``,...s}:{operation:`insert`,groupId:null,...s})},disabled:()=>{let e=h(),t=e?r.get(e)?.group():null;return x().disabled||t?.disabled===!0||t?.readOnly===!0},appearance:()=>{let e=x(),t=h(),n=t?r.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,machine:b};let S=t.getAttributeNames().some(e=>e===`x-ui-transition:ending`)?()=>void 0:b.onTransition(`ending`,e=>{let t=e.data.toFrame??null,n=e.data.operationId,r=o;if(r&&r.id===n&&r.controller===g)return r.ghost.finish(t)}),C=g.source();(!C.scopeId||!C.id||!C.type)&&v(`Invalid sortable source props`,t);let w=e.registerSource({element:t,getSource:g.source,isDisabled:g.disabled});g.refresh=()=>{o?.controller===g&&N(`cancel`,`removed`),w.refresh()};let E=[...t.querySelectorAll(Cr)].find(e=>u(e,`${xr}, ${Sr}`)===t),D=[...t.querySelectorAll(wr)].find(e=>u(e,`${xr}, ${Sr}`)===t),O=e=>{if(o?.controller!==g||o.phase!==`dragging`)return;let t=vr(e),n=e.location.current.dropTargets.map(({element:e})=>e instanceof HTMLElement?r.get(e):void 0).find(e=>e!==void 0),i=document.elementFromPoint(t.clientX,t.clientY)?.closest(br)??null;b.send({type:`POINTER_MOVED`,pointer:{destinationId:n?.group().id??null,input:t}}),y(i)},A=_r(t,`move`),ee=lr({element:t,...E?{dragHandle:E}:{},canDrag:({input:e})=>{let n=document.elementFromPoint(e.clientX,e.clientY)?.closest(Or)??null;return!g.disabled()&&(!!E||n===null||n===t)},getInitialData:()=>{let e=g.source();return{marker:Er,scopeId:e.scopeId,sortableId:e.id,sortableType:e.type}},onGenerateDragPreview:dr,onDragStart:e=>{o&&P(o),gr.start();let r=g.source(),a=vr(e),s=g.appearance(),c=t.getBoundingClientRect(),l=new Map([...i].flatMap(e=>{let t=e.group();return t.scopeId===r.scopeId?[[t.id,m(e)]]:[]})),u=ke({source:t,sourceRect:c,input:yr(e),preview:D??null,previewPosition:D?.dataset.previewPosition||s.previewPosition,opacity:s.ghostOpacity,color:s.color,interaction:s.interaction});u.move(a);let d=t.style.opacity;t.style.opacity=`${s.sourceOpacity}`;let f=Ve(s.dragCursor);o={id:++n,phase:`dragging`,controller:g,source:r,ghost:u,placement:null,group:null,layouts:l,projections:new Map,input:a,timestamp:performance.now(),restoreCursor:f,previousOpacity:d,settled:!1,endSent:!1,terminalData:null},t.setAttribute(`data-dragging`,``),t.dataset.dragOperation=r.operation,_({el:t,name:`ui:sortable-start`,composed:!0,detail:Object.freeze({source:r})}),b.send({type:`START`,data:{operationId:o.id,source:r,sourceFrame:Oe(c),ghostFrame:u.frame()}})},onDropTargetChange:O,onDrag:e=>{if(o?.controller!==g)return;let n=vr(e),r=o.input,i=performance.now(),a=Math.max(i-o.timestamp,1);o.input=n,o.timestamp=i,o.ghost.move(n),O(e),_({el:t,name:`ui:sortable-drag`,composed:!0,detail:Object.freeze({source:o.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)/a,y:(n.clientY-r.clientY)/a}),ghostFrame:Object.freeze({...o.ghost.frame()})})})},onDrop:e=>{o?.controller===g&&(o.input=vr(e)),O(e);let t=o?.controller===g?o:null;queueMicrotask(()=>{o===t&&t?.phase===`dragging`&&N(`cancel`,g.disabled()?`disabled`:`outside`,t)})}});s.cleanup(()=>{if(o?.controller===g){let e=o;e.phase===`dragging`&&N(`cancel`,`removed`,e),P(e)}ee(),A(),S(),w(),b.disconnect(),c()})},canDropPolicies:a}},Nr=e=>{let t=ze(),n=Mr(t,t=>e.mutateDom(t));return e.directive(`ui-sortable`,e.skipDuringClone((e,{value:t,expression:r},i)=>{e instanceof HTMLElement&&(t?t===`item`||t===`source`?n.registerSource(e,t,i):t===`handle`?(e.setAttribute(`data-ui-sortable-handle`,``),T(e,`data-ui-sortable-handle`)):t===`indicator`?(e.setAttribute(`data-ui-sortable-indicator`,``),T(e,`data-ui-sortable-indicator`,`aria-hidden`,`hidden`),e.setAttribute(`aria-hidden`,`true`),e.hidden=!0):t===`preview`?(e.setAttribute(`data-ui-sortable-preview`,``),T(e,`data-ui-sortable-preview`,`data-preview-position`)):t===`can-drop`&&r?.trim()&&(n.canDropPolicies.set(e,e=>i.evaluate(r,{scope:{$sortable:e}})!==!1),i.cleanup(()=>n.canDropPolicies.delete(e))):n.registerGroup(e,i))})),t},Pr=new WeakSet,Fr=e=>{if(Pr.has(e))return;Pr.add(e);let t=Nr(e);N(e,t)};export{Nr as n,ze as r,Fr as t};
5
+ //# sourceMappingURL=capability-sortable-CpUAUTdh.js.map