@vireo-ai/trellis-ui 0.1.61 → 0.1.62

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 (531) hide show
  1. package/THIRD_PARTY_NOTICES.md +9 -0
  2. package/package.json +14 -35
  3. package/packages/client/src/components/accordion/styles.css +21 -9
  4. package/packages/client/src/components/badge/styles.css +12 -0
  5. package/packages/client/src/components/button/styles.css +31 -5
  6. package/packages/client/src/components/card/styles.css +16 -0
  7. package/packages/client/src/components/checkbox/styles.css +29 -5
  8. package/packages/client/src/components/date-picker/styles.css +22 -17
  9. package/packages/client/src/components/field/styles.css +16 -16
  10. package/packages/client/src/components/input/styles.css +1 -0
  11. package/packages/client/src/components/keybinding/styles.css +9 -2
  12. package/packages/client/src/components/menu/styles.css +13 -0
  13. package/packages/client/src/components/panels/styles.css +12 -2
  14. package/packages/client/src/components/scroll-area/styles.css +169 -2
  15. package/packages/client/src/components/select/styles.css +28 -8
  16. package/packages/client/src/components/sidebar/styles.css +218 -0
  17. package/packages/client/src/components/slider/styles.css +57 -0
  18. package/packages/client/src/components/tabs/styles.css +26 -24
  19. package/packages/client/src/components/toast/styles.css +31 -0
  20. package/packages/client/src/directives/sortable.css +5 -0
  21. package/packages/client/src/runtime/drag-and-drop/resize-handle.css +2 -2
  22. package/packages/client/src/styles/components.css +8 -4
  23. package/packages/client/src/styles/fonts/fira-code/5.3.0/LICENSE +93 -0
  24. package/packages/client/src/styles/fonts/fira-code/5.3.0/download.json +47 -0
  25. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
  26. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
  27. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
  28. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
  29. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
  30. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
  31. package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
  32. package/packages/client/src/styles/fonts/fira-code/5.3.0/font.css +62 -0
  33. package/packages/client/src/styles/fonts/fira-code/5.3.0/resource.json +82 -0
  34. package/packages/client/src/styles/fonts/inter/5.3.0/LICENSE +93 -0
  35. package/packages/client/src/styles/fonts/inter/5.3.0/download.json +47 -0
  36. package/packages/client/src/styles/fonts/inter/5.3.0/font.css +62 -0
  37. package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
  38. package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
  39. package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
  40. package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
  41. package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
  42. package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
  43. package/packages/client/src/styles/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
  44. package/packages/client/src/styles/fonts/inter/5.3.0/resource.json +82 -0
  45. package/packages/client/src/styles/generated/theme-fonts.css +3 -3
  46. package/packages/client/src/styles/generated/theme-palette.css +1001 -634
  47. package/packages/client/src/styles/generated/theme-runtime.css +905 -580
  48. package/packages/client/src/styles/generated-sources.css +1 -1
  49. package/packages/client/src/styles/layout.css +88 -0
  50. package/packages/client/src/styles/recipes/action.css +4 -16
  51. package/packages/client/src/styles/recipes/disabled.css +8 -0
  52. package/packages/client/src/styles/recipes/option.css +0 -44
  53. package/packages/client/src/styles/recipes/selection.css +28 -39
  54. package/packages/client/src/styles/theme-support.css +19 -42
  55. package/packages/client/src/styles/typography.css +26 -0
  56. package/packages/client/types/assets/bridge.d.ts +1 -2
  57. package/packages/client/types/capabilities/collection.d.ts +7 -0
  58. package/packages/client/types/capabilities/collection.entry.generated.d.ts +3 -0
  59. package/packages/client/types/capabilities/shortcut.d.ts +4 -3
  60. package/packages/client/types/components/accordion/machine.d.ts +4 -4
  61. package/packages/client/types/components/app/contract.d.ts +5 -5
  62. package/packages/client/types/components/badge/contract.d.ts +1 -0
  63. package/packages/client/types/components/box/contract.d.ts +17 -12
  64. package/packages/client/types/components/box/index.d.ts +1 -1
  65. package/packages/client/types/components/button/contract.d.ts +3 -2
  66. package/packages/client/types/components/card/contract.d.ts +27 -16
  67. package/packages/client/types/components/checkbox/contract.d.ts +13 -13
  68. package/packages/client/types/components/common.d.ts +13 -11
  69. package/packages/client/types/components/container/contract.d.ts +4 -3
  70. package/packages/client/types/components/data-grid/contract.d.ts +3 -2
  71. package/packages/client/types/components/date-picker/contract.d.ts +2 -2
  72. package/packages/client/types/components/date-picker/machine.d.ts +11 -11
  73. package/packages/client/types/components/dropdown/contract.d.ts +1 -1
  74. package/packages/client/types/components/dropdown/machine.d.ts +5 -3
  75. package/packages/client/types/components/field/contract.d.ts +4 -4
  76. package/packages/client/types/components/file-upload/contract.d.ts +3 -3
  77. package/packages/client/types/components/file-upload/machine.d.ts +4 -4
  78. package/packages/client/types/components/flex/contract.d.ts +10 -8
  79. package/packages/client/types/components/frame/contract.d.ts +14 -11
  80. package/packages/client/types/components/grid/contract.d.ts +8 -7
  81. package/packages/client/types/components/image/contract.d.ts +1 -0
  82. package/packages/client/types/components/input/contract.d.ts +1 -0
  83. package/packages/client/types/components/input/machine.d.ts +2 -2
  84. package/packages/client/types/components/layout.d.ts +91 -35
  85. package/packages/client/types/components/menu/contract.d.ts +27 -10
  86. package/packages/client/types/components/modal/contract.d.ts +22 -5
  87. package/packages/client/types/components/panels/contract.d.ts +2 -2
  88. package/packages/client/types/components/panels/index.d.ts +2 -1
  89. package/packages/client/types/components/panels/machine.d.ts +9 -8
  90. package/packages/client/types/components/radio/contract.d.ts +8 -8
  91. package/packages/client/types/components/scroll-area/contract.d.ts +1 -20
  92. package/packages/client/types/components/section/contract.d.ts +4 -3
  93. package/packages/client/types/components/select/contract.d.ts +3 -3
  94. package/packages/client/types/components/select/machine.d.ts +13 -13
  95. package/packages/client/types/components/select/presentation.d.ts +1 -0
  96. package/packages/client/types/components/sidebar/contract.d.ts +26 -8
  97. package/packages/client/types/components/sidebar/groups.d.ts +4 -0
  98. package/packages/client/types/components/sidebar/index.d.ts +5 -4
  99. package/packages/client/types/components/slider/contract.d.ts +1 -0
  100. package/packages/client/types/components/slider/machine.d.ts +10 -5
  101. package/packages/client/types/components/stack/contract.d.ts +10 -8
  102. package/packages/client/types/components/switch/contract.d.ts +8 -8
  103. package/packages/client/types/components/table/contract.d.ts +6 -5
  104. package/packages/client/types/components/tabs/index.d.ts +2 -1
  105. package/packages/client/types/components/tabs/machine.d.ts +2 -2
  106. package/packages/client/types/components/textarea/contract.d.ts +1 -1
  107. package/packages/client/types/components/toast/machine.d.ts +2 -2
  108. package/packages/client/types/components/tooltip/contract.d.ts +13 -13
  109. package/packages/client/types/components/tooltip/machine.d.ts +3 -7
  110. package/packages/client/types/core.d.ts +2 -0
  111. package/packages/client/types/directives/anchor.d.ts +1 -0
  112. package/packages/client/types/directives/animate.d.ts +3 -0
  113. package/packages/client/types/directives/collection.d.ts +9 -0
  114. package/packages/client/types/directives/index.d.ts +2 -2
  115. package/packages/client/types/docs/transition-docs.d.ts +0 -2
  116. package/packages/client/types/motion/animate.d.ts +7 -2
  117. package/packages/client/types/motion/config.d.ts +118 -0
  118. package/packages/client/types/motion/feedback.d.ts +3 -0
  119. package/packages/client/types/motion/index.d.ts +8 -107
  120. package/packages/client/types/motion/layout.d.ts +25 -0
  121. package/packages/client/types/motion/lifecycle.d.ts +10 -0
  122. package/packages/client/types/motion/owned.d.ts +15 -4
  123. package/packages/client/types/motion/properties.d.ts +17 -0
  124. package/packages/client/types/motion/recipe.d.ts +8 -75
  125. package/packages/client/types/motion/reduced-motion.d.ts +7 -8
  126. package/packages/client/types/motion/registry.d.ts +37 -0
  127. package/packages/client/types/motion/resize-preview.d.ts +26 -0
  128. package/packages/client/types/motion/resize.d.ts +3 -1
  129. package/packages/client/types/motion/size.d.ts +7 -4
  130. package/packages/client/types/runtime/anchored-popover.d.ts +11 -2
  131. package/packages/client/types/runtime/collection-navigation.d.ts +12 -4
  132. package/packages/client/types/runtime/control-size.d.ts +4 -0
  133. package/packages/client/types/runtime/drag-and-drop/index.d.ts +10 -3
  134. package/packages/client/types/runtime/drag-and-drop/sortable/ghost.d.ts +2 -1
  135. package/packages/client/types/runtime/engine/fragment.d.ts +2 -1
  136. package/packages/client/types/runtime/engine/stream.d.ts +5 -9
  137. package/packages/client/types/runtime/focus.d.ts +3 -1
  138. package/packages/client/types/runtime/index.d.ts +1 -1
  139. package/packages/client/types/runtime/layout-participant.d.ts +10 -9
  140. package/packages/client/types/runtime/layout-task.d.ts +9 -0
  141. package/packages/client/types/runtime/morph-engine.d.ts +1 -0
  142. package/packages/client/types/runtime/option-data.d.ts +2 -1
  143. package/packages/client/types/runtime/preferences.d.ts +14 -0
  144. package/packages/client/types/runtime/scroll-area-schema.d.ts +23 -0
  145. package/packages/client/types/runtime/ui.d.ts +3 -5
  146. package/packages/client/types/runtime/virtualizer-schema.d.ts +3 -1
  147. package/packages/client/types/runtime/virtualizer-size.d.ts +7 -0
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js +2 -0
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js.map +1 -0
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +984 -1132
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js → anchor-DXCLxWw-.js} +2 -2
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js.map → anchor-DXCLxWw-.js.map} +1 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor.js +2 -2
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js +2 -0
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js.map +1 -0
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection.js +2 -0
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-DlgeSL0c.js +2 -0
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{resizable-Ctqx_OoS.js.map → resizable-DlgeSL0c.js.map} +1 -1
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +2 -2
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-Qa2EByIB.js +2 -0
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{shortcut-D2NgvMgw.js.map → shortcut-Qa2EByIB.js.map} +1 -1
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +2 -2
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-CbIOS4Lm.js → sortable-Do3a0LA9.js} +2 -2
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-CbIOS4Lm.js.map → sortable-Do3a0LA9.js.map} +1 -1
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js +2 -0
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js.map +1 -0
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js +2 -0
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js.map +1 -0
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js +2 -0
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js.map +1 -0
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bm1phXnj.js +5 -0
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bm1phXnj.js.map +1 -0
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js +2 -0
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js.map +1 -0
  177. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js +2 -0
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js.map +1 -0
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js +2 -0
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js.map +1 -0
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js +2 -0
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js.map +1 -0
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js +2 -0
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js.map +1 -0
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js +2 -0
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js.map +1 -0
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-zFOeeob-.js +6 -0
  188. 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
  189. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js +2 -0
  190. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js.map +1 -0
  191. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js +2 -0
  192. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js.map +1 -0
  193. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js → focus-BvBkrIcj.js} +2 -2
  194. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js.map → focus-BvBkrIcj.js.map} +1 -1
  195. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DYfME-Rk.js +2 -0
  196. 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
  197. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js +2 -0
  198. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js.map +1 -0
  199. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js +2 -0
  200. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js.map +1 -0
  201. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js +2 -0
  202. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js.map +1 -0
  203. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js +2 -0
  204. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js.map +1 -0
  205. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js +2 -0
  206. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js.map +1 -0
  207. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js +2 -0
  208. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js.map +1 -0
  209. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js +2 -0
  210. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js.map +1 -0
  211. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js +2 -0
  212. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js.map +1 -0
  213. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js +2 -0
  214. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js.map +1 -0
  215. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js +2 -0
  216. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js.map +1 -0
  217. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preload-helper-BZ1Pz5am.js +1 -0
  218. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js +2 -0
  219. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js.map +1 -0
  220. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js +2 -0
  221. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js.map +1 -0
  222. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js +2 -0
  223. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js.map +1 -0
  224. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js +2 -0
  225. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js.map +1 -0
  226. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js +2 -0
  227. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js.map +1 -0
  228. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-CQDZhwd_.js → styles-BvLCjUXV.js} +2 -2
  229. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-BvLCjUXV.js.map +1 -0
  230. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CZ7fEQL2.js +4 -0
  231. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CZ7fEQL2.js.map +1 -0
  232. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js +2 -0
  233. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js.map +1 -0
  234. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js +2 -0
  235. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js.map +1 -0
  236. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +2 -2
  237. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js +2 -0
  238. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js.map +1 -0
  239. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -2
  240. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js +2 -0
  241. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js.map +1 -0
  242. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -2
  243. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Dm3rQfQ_.js +2 -0
  244. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Dm3rQfQ_.js.map +1 -0
  245. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -2
  246. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js +2 -0
  247. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js.map +1 -0
  248. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +2 -2
  249. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js +2 -0
  250. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js.map +1 -0
  251. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -2
  252. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js +2 -0
  253. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js.map +1 -0
  254. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +2 -2
  255. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js +2 -0
  256. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js.map +1 -0
  257. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -2
  258. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js +2 -0
  259. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js.map +1 -0
  260. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -2
  261. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js +2 -0
  262. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js.map +1 -0
  263. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -2
  264. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js +2 -0
  265. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js.map +1 -0
  266. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -2
  267. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js +2 -0
  268. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js.map +1 -0
  269. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -2
  270. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js +2 -0
  271. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js.map +1 -0
  272. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -2
  273. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js +2 -0
  274. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js.map +1 -0
  275. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +2 -2
  276. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js +2 -0
  277. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js.map +1 -0
  278. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +2 -2
  279. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js +2 -0
  280. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js.map +1 -0
  281. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -2
  282. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js +2 -0
  283. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js.map +1 -0
  284. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -2
  285. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js +2 -0
  286. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js.map +1 -0
  287. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +2 -2
  288. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js +2 -0
  289. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js.map +1 -0
  290. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +2 -2
  291. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js +2 -0
  292. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js.map +1 -0
  293. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -2
  294. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js +2 -0
  295. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js.map +1 -0
  296. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -2
  297. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js +2 -0
  298. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js.map +1 -0
  299. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -2
  300. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js +2 -0
  301. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js.map +1 -0
  302. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +2 -2
  303. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js +2 -0
  304. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js.map +1 -0
  305. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +2 -2
  306. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js +2 -0
  307. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js.map +1 -0
  308. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +2 -2
  309. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js +2 -0
  310. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js.map +1 -0
  311. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -2
  312. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CX4J7tsN.js +2 -0
  313. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CX4J7tsN.js.map +1 -0
  314. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -2
  315. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +297 -441
  316. package/packages/theme-engine/README.md +70 -18
  317. package/packages/theme-engine/THEME_AUTHORING.md +34 -0
  318. package/packages/theme-engine/dist/trellis.js +544 -279
  319. package/packages/theme-engine/fonts/fira-code/5.3.0/LICENSE +93 -0
  320. package/packages/theme-engine/fonts/fira-code/5.3.0/download.json +47 -0
  321. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
  322. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
  323. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
  324. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
  325. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
  326. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
  327. package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
  328. package/packages/theme-engine/fonts/fira-code/5.3.0/font.css +62 -0
  329. package/packages/theme-engine/fonts/fira-code/5.3.0/resource.json +82 -0
  330. package/packages/theme-engine/fonts/inter/5.3.0/LICENSE +93 -0
  331. package/packages/theme-engine/fonts/inter/5.3.0/download.json +47 -0
  332. package/packages/theme-engine/fonts/inter/5.3.0/font.css +62 -0
  333. package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
  334. package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
  335. package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
  336. package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
  337. package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
  338. package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
  339. package/packages/theme-engine/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
  340. package/packages/theme-engine/fonts/inter/5.3.0/resource.json +82 -0
  341. package/packages/theme-engine/generated/knobs/v1/color-alpha.json +1 -1
  342. package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1 -1
  343. package/packages/theme-engine/generated/knobs/v1/color-ink.json +1 -1
  344. package/packages/theme-engine/generated/knobs/v1/color-lighting.json +1 -1
  345. package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1 -1
  346. package/packages/theme-engine/generated/knobs/v1/color-ramps.json +1 -1
  347. package/packages/theme-engine/generated/knobs/v1/composition.json +1 -1
  348. package/packages/theme-engine/generated/knobs/v1/depth.json +1 -1
  349. package/packages/theme-engine/generated/knobs/v1/edges.json +1 -1
  350. package/packages/theme-engine/generated/knobs/v1/index.json +398 -85
  351. package/packages/theme-engine/generated/knobs/v1/manifest.json +16 -52
  352. package/packages/theme-engine/generated/knobs/v1/radii.json +50 -1
  353. package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1 -1
  354. package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +1 -1
  355. package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +1 -1
  356. package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +856 -37
  357. package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +1 -1
  358. package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +1 -1
  359. package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +1 -1
  360. package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +4 -4
  361. package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +1 -1
  362. package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1 -1
  363. package/packages/theme-engine/generated/knobs/v1/spacing.json +2 -2
  364. package/packages/theme-engine/generated/knobs/v1/substrates.json +1 -1
  365. package/packages/theme-engine/generated/knobs/v1/surfaces.json +1 -1
  366. package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1 -1
  367. package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +158 -40
  368. package/packages/theme-engine/generated/knobs/v1/typography-scale.json +1 -1
  369. package/packages/theme-engine/generated/schemas/theme-config-v1.json +57 -36
  370. package/packages/theme-engine/generated/schemas/theme-manifest-v1.json +10 -37
  371. package/packages/theme-engine/skills/create-trellis-theme/SKILL.md +4 -5
  372. package/packages/client/src/components/app/styles.css +0 -1
  373. package/packages/client/src/components/brand/styles.css +0 -8
  374. package/packages/client/src/styles/motion.css +0 -26
  375. package/packages/client/src/styles/static.css +0 -3
  376. package/packages/client/types/assets/full-runtime.generated.d.ts +0 -2
  377. package/packages/client/types/capabilities/motion.d.ts +0 -6
  378. package/packages/client/types/capabilities/motion.entry.generated.d.ts +0 -3
  379. package/packages/client/types/cdn.d.ts +0 -2
  380. package/packages/client/types/components/entry.generated.d.ts +0 -37
  381. package/packages/client/types/directives/bounds.d.ts +0 -4
  382. package/packages/client/types/directives/layout.d.ts +0 -3
  383. package/packages/client/types/index.d.ts +0 -8
  384. package/packages/client/types/motion/bounds.d.ts +0 -20
  385. package/packages/client/types/motion/controller.d.ts +0 -33
  386. package/packages/client/types/motion/flip.d.ts +0 -14
  387. package/packages/client/types/motion/plan.d.ts +0 -52
  388. package/packages/client/types/motion/stream.d.ts +0 -18
  389. package/packages/client/types/motion/targets.d.ts +0 -23
  390. package/packages/client/types/motion/view.d.ts +0 -27
  391. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-103fb43eb5e1.css +0 -14030
  392. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +0 -14030
  393. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-584dec82495c.css +0 -2
  394. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +0 -2
  395. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-COxhbtRZ.js +0 -1
  396. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js +0 -2
  397. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js.map +0 -1
  398. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +0 -2
  399. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js +0 -2
  400. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js +0 -2
  401. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js +0 -2
  402. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js.map +0 -1
  403. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js +0 -2
  404. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js.map +0 -1
  405. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js +0 -2
  406. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js.map +0 -1
  407. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js +0 -2
  408. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js.map +0 -1
  409. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js +0 -2
  410. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js.map +0 -1
  411. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js +0 -2
  412. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js.map +0 -1
  413. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js +0 -5
  414. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js.map +0 -1
  415. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js +0 -2
  416. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js.map +0 -1
  417. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js +0 -2
  418. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js.map +0 -1
  419. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js +0 -2
  420. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js.map +0 -1
  421. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js +0 -2
  422. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js.map +0 -1
  423. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js +0 -2
  424. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js.map +0 -1
  425. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js +0 -2
  426. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js.map +0 -1
  427. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-DrqJDAVH.js +0 -6
  428. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js +0 -2
  429. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js.map +0 -1
  430. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js +0 -2
  431. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js.map +0 -1
  432. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js +0 -2
  433. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js.map +0 -1
  434. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js +0 -2
  435. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js.map +0 -1
  436. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js +0 -2
  437. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js.map +0 -1
  438. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js +0 -2
  439. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js.map +0 -1
  440. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js +0 -2
  441. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js.map +0 -1
  442. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js +0 -2
  443. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js.map +0 -1
  444. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js +0 -2
  445. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js.map +0 -1
  446. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js +0 -2
  447. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js.map +0 -1
  448. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js +0 -2
  449. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js.map +0 -1
  450. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js +0 -2
  451. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js.map +0 -1
  452. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js +0 -2
  453. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js.map +0 -1
  454. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js +0 -2
  455. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js.map +0 -1
  456. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js +0 -2
  457. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js.map +0 -1
  458. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js +0 -2
  459. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js.map +0 -1
  460. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js +0 -2
  461. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js.map +0 -1
  462. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js +0 -2
  463. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js.map +0 -1
  464. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js +0 -2
  465. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +0 -1
  466. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js +0 -2
  467. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js.map +0 -1
  468. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js +0 -2
  469. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js.map +0 -1
  470. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js +0 -2
  471. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js.map +0 -1
  472. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js +0 -2
  473. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js.map +0 -1
  474. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js +0 -2
  475. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js.map +0 -1
  476. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js +0 -2
  477. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js.map +0 -1
  478. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js +0 -2
  479. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js.map +0 -1
  480. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js +0 -2
  481. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js.map +0 -1
  482. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-BrYxsrhc.js +0 -2
  483. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js +0 -2
  484. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js.map +0 -1
  485. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js +0 -2
  486. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js.map +0 -1
  487. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js +0 -3
  488. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js.map +0 -1
  489. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js +0 -2
  490. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js.map +0 -1
  491. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CQDZhwd_.js.map +0 -1
  492. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js +0 -4
  493. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js.map +0 -1
  494. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DpoqsP_I.js +0 -1
  495. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +0 -1
  496. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +0 -1
  497. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-CCPYnOuT.js +0 -1
  498. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-BCkP5gtC.js +0 -1
  499. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +0 -1
  500. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-Cc84envj.js +0 -1
  501. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +0 -1
  502. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +0 -1
  503. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +0 -1
  504. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +0 -1
  505. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js +0 -2
  506. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js.map +0 -1
  507. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +0 -2
  508. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-BKEbDkKa.js +0 -1
  509. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +0 -1
  510. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-MUHGUsup.js +0 -1
  511. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-DNAroAhk.js +0 -1
  512. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +0 -1
  513. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +0 -1
  514. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-BjLF548F.js +0 -1
  515. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-GpvEBW3K.js +0 -1
  516. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +0 -1
  517. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +0 -1
  518. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +0 -1
  519. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-bq7j1uwx.js +0 -1
  520. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DkP0-rBO.js +0 -1
  521. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-OITEWczP.js +0 -1
  522. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +0 -1
  523. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-Z4zMCScs.js +0 -1
  524. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js +0 -2
  525. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js.map +0 -1
  526. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +0 -2
  527. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-ecb43dfd3b7b.js +0 -11
  528. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +0 -11
  529. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-ecb43dfd3b7b.js +0 -11
  530. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +0 -11
  531. package/packages/theme-engine/generated/knobs/v1/motion.json +0 -128
@@ -1,2 +0,0 @@
1
- import{r as e,t}from"./dom-DiTFTWeR.js";import{d as n,o as r}from"./motion-RwlK04Cy.js";import{t as i}from"./capability-motion-B32HePGn.js";import{t as a}from"./flip-BKThFI4L.js";import{a as o,f as s,l as c,n as l,u as ee}from"./codecs-CQ7olTJL.js";import{i as u,t as d}from"./alpine-machine-CE2UN4Qu.js";import{t as f}from"./focus-pk_lz9sg.js";import{n as p,t as m}from"./alpine-data-Dvc_bXq6.js";import{n as h,t as g}from"./styles-CX2j92ex.js";import{t as _}from"./merge-bindings-BtqW3UgP.js";import{t as v}from"./machine-CNnHDbyo.js";import{t as te}from"./dismissable-layer-BROE-Ln2.js";import{i as y,n as ne}from"./focus-scope-BrYxsrhc.js";import{t as b}from"./capability-resizable-ByUbMIHF.js";import{t as re}from"./scroll-lock-C5dQtr4Y.js";import{B as x,d as S,z as C}from"./common-CBK89mIt.js";var w=e=>{let t=getComputedStyle(e).getPropertyValue(`--ui-shell-sidebar-breakpoint`),n=Number.parseFloat(t);return Number.isFinite(n)?n:1/0},T=[`left`,`right`],E=[`side`,`top`],D=[`drawer`,`fullscreen`],O=[`div`,`aside`,`header`],k=[`none`,`mobile`,`desktop`,`both`],A=[`toggle`,`open`,`close`,`stash`,`expand`],j=[`a`,`button`],M=[`ghost`,`surface`],N=[`neutral`,`accent`],P=C,F=S,I={as:c(O,`div`),id:s.default(`ui-sidebar`),placement:c(E,`side`),mobilePresentation:c(D,`drawer`),side:c(T,`left`),surface:c(P,`inherit`),elevation:c(F,`none`),drawerElevation:c(F,`2`),divider:l.default(!0),sticky:l.default(!0),collapse:c(k,`mobile`),open:l,stashed:l,persist:l.default(!0),edgeReveal:l.default(!0),resizable:l,class:s};c(j,`a`),c(M,`ghost`),c(N,`neutral`),l.default(!0);var L={target:s,icon:s.default(`side_panel`),label:s.default(`Toggle sidebar`),action:c(A,`toggle`),class:s},R=({context:e})=>({mode:e.responsive.mode,presentation:e.transition.presentation,width:e.layout.width,height:e.layout.height}),ie=[u({name:`opening`,state:`opening`,project:R,onDone:`OPENING_DONE`,onError:`OPENING_ERROR`}),u({name:`closing`,state:`closing`,project:R,onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`})],z=(e,t)=>typeof e.target==`string`?e.target:t,B=e=>e.presentation===`layout`?`layout`:`drawer`,ae=({props:e,mode:t,desktopStashed:n,effects:r})=>{let i=t===`mobile`?e.open?`mobileOpen`:`mobileClosed`:e.placement===`top`?`desktopTop`:n?`desktopStashed`:`desktopExpanded`,a={target:`opening`,reduce:`beginOpen`,effects:`prepareOpen`},o={target:`closing`,reduce:`beginClose`,effects:`prepareClose`},s={reduce:`replaceProps`,effects:`syncProps`};return v({initial:i,on:{MODE:[{target:`desktopTop`,guard:`toTop`,reduce:`setMode`,effects:`sync`},{target:`desktopDrawer`,guard:`toDesktopDrawer`,reduce:`setMode`,effects:`sync`},{target:`desktopStashed`,guard:`toDesktopStashed`,reduce:`setMode`,effects:`sync`},{target:`desktopExpanded`,guard:`toDesktop`,reduce:`setMode`,effects:`sync`},{target:`mobileOpen`,guard:`toMobileOpen`,reduce:`setMode`,effects:`sync`},{target:`mobileClosed`,reduce:`setMode`,effects:`sync`}],RESIZE:{reduce:`resize`,effects:`sync`}},states:{mobileClosed:{tags:[`mobile`,`closed`],on:{OPEN:a,EXPAND:a,PROPS_CHANGED:s}},mobileOpen:{tags:[`mobile`,`visible`,`expanded`,`open`],on:{CLOSE:o,STASH:o,TOGGLE:o,PROPS_CHANGED:s}},desktopExpanded:{tags:[`desktop`,`visible`,`expanded`,`open`,`layout`],on:{CLOSE:o,STASH:o,TOGGLE:o,OPEN:{},EXPAND:{},PROPS_CHANGED:s}},desktopStashed:{tags:[`desktop`,`stashed`,`closed`],on:{OPEN:a,EXPAND:a,TOGGLE:a,PROPS_CHANGED:s}},desktopDrawer:{tags:[`desktop`,`stashed`,`visible`,`expanded`,`open`,`drawer`],on:{CLOSE:o,STASH:o,TOGGLE:o,EXPAND:a,PROPS_CHANGED:s}},desktopTop:{tags:[`desktop`,`top`,`visible`,`expanded`,`open`,`layout`],on:{PROPS_CHANGED:s}},opening:{tags:[`visible`,`expanded`,`transitioning`],on:{OPENING_DONE:[{target:`mobileOpen`,guard:`targetsMobileOpen`,effects:`finishOpen`},{target:`desktopDrawer`,guard:`targetsDesktopDrawer`,effects:`finishOpen`},{target:`desktopTop`,guard:`targetsDesktopTop`,effects:`finishOpen`},{target:`desktopExpanded`,effects:`finishOpen`}],OPENING_ERROR:[{target:`mobileOpen`,guard:`targetsMobileOpen`,effects:`finishOpen`},{target:`desktopDrawer`,guard:`targetsDesktopDrawer`,effects:`finishOpen`},{target:`desktopTop`,guard:`targetsDesktopTop`,effects:`finishOpen`},{target:`desktopExpanded`,effects:`finishOpen`}],CLOSE:o,STASH:o,TOGGLE:o,PROPS_CHANGED:s}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:[{target:`mobileClosed`,guard:`targetsMobileClosed`,effects:`finishClose`},{target:`desktopStashed`,effects:`finishClose`}],CLOSING_ERROR:[{target:`mobileClosed`,guard:`targetsMobileClosed`,effects:`finishClose`},{target:`desktopStashed`,effects:`finishClose`}],OPEN:a,EXPAND:a,TOGGLE:a,PROPS_CHANGED:s}}}},{props:e,context:{responsive:{mode:t},layout:{desktopStashed:n,desktopDrawerOpen:!1,width:`var(--spacing-sidebar-width)`,height:``},transition:{target:i,presentation:i===`desktopExpanded`||i===`desktopTop`?`layout`:`drawer`}},reducers:{beginOpen:({context:e,event:t})=>{let n=z(t,`mobileOpen`);return{context:{...e,layout:{...e.layout,desktopStashed:n===`desktopDrawer`||n!==`desktopExpanded`&&e.layout.desktopStashed,desktopDrawerOpen:n===`desktopDrawer`||n===`mobileOpen`&&e.layout.desktopStashed},transition:{target:n,presentation:B(t)}}}},beginClose:({context:e,event:t})=>{let n=z(t,`mobileClosed`),r=n===`desktopStashed`||n===`mobileClosed`&&e.layout.desktopStashed;return{context:{...e,layout:{...e.layout,desktopStashed:n===`desktopStashed`||e.layout.desktopStashed,desktopDrawerOpen:!r&&e.layout.desktopDrawerOpen},transition:{target:n,presentation:B(t)}}}},setMode:({context:e,event:t})=>({context:{...e,responsive:{mode:t.mode===`desktop`?`desktop`:`mobile`}}}),replaceProps:({context:e,event:t})=>({props:t.props,context:e}),resize:({context:e,event:t})=>({context:{...e,layout:{...e.layout,width:typeof t.width==`string`?t.width:e.layout.width,height:typeof t.height==`string`?t.height:e.layout.height}}})},guards:{toTop:({event:e})=>e.mode===`desktop`&&e.placement===`top`,toDesktopDrawer:({event:e})=>e.mode===`desktop`&&e.stashed===!0&&e.open===!0,toDesktopStashed:({event:e})=>e.mode===`desktop`&&e.stashed===!0,toDesktop:({event:e})=>e.mode===`desktop`,toMobileOpen:({event:e})=>e.mode===`mobile`&&e.open===!0,targetsMobileOpen:({context:e})=>e.transition.target===`mobileOpen`,targetsMobileClosed:({context:e})=>e.transition.target===`mobileClosed`,targetsDesktopDrawer:({context:e})=>e.transition.target===`desktopDrawer`,targetsDesktopTop:({context:e})=>e.transition.target===`desktopTop`},effects:{prepareOpen:r.prepareOpen,finishOpen:r.finishOpen,prepareClose:r.prepareClose,finishClose:r.finishClose,sync:r.sync,syncProps:r.syncProps}})},V=x(`--ui-sidebar-resting-elevation`),H=x(`--ui-sidebar-drawer-elevation`),U=g({definition:{component:`ui.sidebar`,parts:{root:{base:[`fixed inset-y-2 z-dialog flex min-h-0 w-[var(--spacing-sidebar-drawer-width)] flex-col overflow-hidden rounded-overlay-md`,`border-separator outline-none`,`data-[drawer-state=open]:bg-surface`,`data-[mobile-state=closed]:-translate-x-full data-[mobile-state=open]:translate-x-0`,`data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0`,`data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto`,`[grid-area:sidebar]`,`data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center`],variants:{elevation:V,drawerElevation:H,mobilePresentation:{drawer:``,fullscreen:[`[&:not([data-responsive-mode=desktop])]:inset-0`,`[&:not([data-responsive-mode=desktop])]:h-dvh`,`[&:not([data-responsive-mode=desktop])]:w-full`,`[&:not([data-responsive-mode=desktop])]:max-w-none`,`[&:not([data-responsive-mode=desktop])]:rounded-none`,`[&:not([data-responsive-mode=desktop])]:border-0`].join(` `)},divider:{true:`data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider`,false:``},side:{left:`left-2 border-r-edge-divider data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto`,right:`right-2 border-l-edge-divider data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto`},sticky:{true:`data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:h-screen`,false:`data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:h-auto`}},defaults:{elevation:`none`,drawerElevation:`2`,mobilePresentation:`drawer`,divider:!0,side:`left`,sticky:!0}},header:{base:`flex min-h-control-xlg shrink-0 items-center gap-sidebar-header-gap px-sidebar-header-padding-inline py-sidebar-header-padding-block`},content:{base:[`min-h-0 flex-1 overflow-hidden`]},contentInner:{base:[`grid min-w-0 content-start gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block`,`[&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto`]},footer:{base:`grid shrink-0 gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block`},nav:{base:`grid gap-sidebar-content-gap`},item:{base:[`group/sidebar-item flex h-control-md w-full min-w-0 select-none items-center gap-2 rounded-control-md px-2`,`border border-transparent text-left text-sm font-medium outline-none`,`cursor-default`,`data-disabled:pointer-events-none`],variants:{variant:{ghost:``,surface:`data-current:border-transparent data-current:shadow-none`},color:{neutral:``,accent:``},withActions:{true:`pr-9`,false:``}},defaults:{variant:`ghost`,color:`neutral`,withActions:!1}},itemRow:{base:`group/sidebar-item-row relative min-w-0`},itemIcon:{base:`size-icon-xs shrink-0 fill-current text-icon`,variants:{position:{leading:``,trailing:`ml-auto`}},defaults:{position:`leading`}},itemLabel:{base:`min-w-0 flex-1`},itemBadge:{base:`ml-auto shrink-0 rounded-control-sm bg-interaction-hover px-1.5 py-0.5 text-xs text-surface-ink-muted`},itemActions:{base:`absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1`},group:{base:`relative grid gap-sidebar-content-gap`},groupSummary:{base:[`block h-control-md cursor-default select-none list-none rounded-control-md text-xs font-medium text-surface-ink-muted outline-none`,`hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring`,`[&::-webkit-details-marker]:hidden`],variants:{hasActions:{true:``,false:``}},defaults:{hasActions:!1}},groupSummaryInner:{base:`flex h-full min-w-0 items-center gap-2 px-2`},groupHeading:{base:`flex min-h-control-md min-w-0 select-none items-center gap-2 px-2 py-1 cursor-default`},groupIcon:{base:`size-icon-xs shrink-0 fill-current text-icon group-open/sidebar-group:rotate-90`},groupLabel:{base:`min-w-0 flex-1`},groupHeadingLabel:{base:`min-w-0 flex-1`},groupActions:{base:`ml-auto flex shrink-0 items-center gap-1`},groupContent:{base:`grid gap-sidebar-content-gap`},toggle:{base:[`inline-flex h-control-md w-control-md shrink-0 items-center justify-center rounded-control-md text-surface-ink-muted outline-none`,`hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring`]},toggleIcon:{base:`size-icon fill-current text-current`},edge:{base:[`fixed inset-y-0 z-30 hidden w-4 bg-transparent outline-none data-[state=visible]:block`,`focus-visible:ui-focus-ring-inset`,`data-[state=hidden]:hidden`],variants:{side:{left:`left-0`,right:`right-0`}},defaults:{side:`left`}},resizeHandle:{base:[`absolute inset-y-0 z-10 hidden w-3 cursor-col-resize touch-none outline-none group-data-[responsive-mode=desktop]/sidebar:block`,`data-disabled:hidden`,`group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:w-auto group-data-[placement=top]/sidebar:cursor-row-resize`],variants:{side:{left:`right-0`,right:`left-0`}},defaults:{side:`left`}}}}}),W={target:L.target,action:L.action,class:L.class},G=new Set,K=e=>e instanceof CustomEvent&&e.detail&&typeof e.detail==`object`?e.detail:{},oe=(()=>{let e=!1;return()=>{if(e||typeof document>`u`)return;let t=e=>t=>{if(t.target instanceof Element&&t.target.hasAttribute(`data-ui-sidebar`))return;let n=K(t);G.forEach(t=>{(!n.id||n.id===t.id)&&t.perform(n.action??e,n.trigger)})};document.addEventListener(`ui:sidebar-open`,t(`open`)),document.addEventListener(`ui:sidebar-close`,t(`close`)),document.addEventListener(`ui:sidebar-toggle`,t(`toggle`)),e=!0}})(),q=()=>{let i=null,s,c=null,l=`mobile`,u=null,p=null,g=()=>{if(!i)throw Error(`Sidebar has not been initialized.`);return i},v=()=>g().closest(`[data-ui-app]`),b=()=>v()?.querySelector(`[data-ui-app-backdrop]`)??null,x=()=>H.getSnapshot().props,S=()=>H.getSnapshot().context,C=()=>H.hasTag(`visible`)&&(H.hasTag(`drawer`)||l===`mobile`||H.hasTag(`transitioning`)&&S().transition.presentation===`drawer`),T=()=>C()&&l===`mobile`,E=()=>H.hasTag(`expanded`),D=()=>l===`mobile`&&H.matches(`closing`),O=()=>`trellis-ui-sidebar:${g().id||x().id}:stashed`,k=e=>{if(!e.persist)return null;try{let t=localStorage.getItem(`trellis-ui-sidebar:${g().id||e.id}:stashed`);return t===null?null:t===`true`}catch{return null}},A=()=>{let e=x();if(e.persist&&e.placement!==`top`)try{localStorage.setItem(O(),S().layout.desktopStashed?`true`:`false`)}catch{}},j=e=>{let t=v();e?t?.setAttribute(`data-sidebar-transitioning`,`true`):t?.removeAttribute(`data-sidebar-transitioning`)},M=()=>{let e=document.activeElement;if(!(e instanceof HTMLElement)||!g().contains(e))return;let t=u??Array.from(document.querySelectorAll(`[data-ui-sidebar-toggle]`)).find(e=>!g().contains(e)&&(!e.dataset.target||e.dataset.target===g().id));t&&document.contains(t)?f(t,{showIndicator:!1}):e.blur()},N=()=>{let e=E();document.querySelectorAll(`[data-ui-sidebar-toggle], [data-ui-sidebar-state-icon], [data-ui-sidebar-edge]`).forEach(t=>{t.dataset.target&&t.dataset.target!==g().id||(t.matches(`[data-ui-sidebar-edge]`)||(t.dataset.state=e?`open`:`closed`),t.matches(`[data-ui-sidebar-toggle], [data-ui-sidebar-edge]`)&&(t.setAttribute(`aria-controls`,g().id),t.setAttribute(`aria-expanded`,String(e))))})},P=({reflectControlled:e=!0}={})=>{let t=x(),r=H.hasTag(`visible`),i=E(),a=S().layout.desktopStashed,o=C(),s=g();e&&ee(l===`mobile`?{el:s,schema:I,key:`open`,value:i}:{el:s,schema:I,key:`stashed`,value:a}),s.dataset.state=i?`open`:`closed`,s.dataset.mobileState=l===`mobile`&&(i||D())?`open`:`closed`,s.dataset.desktopState=a?`stashed`:`expanded`,s.dataset.drawerState=o?`open`:`closed`,s.dataset.responsiveMode=l,s.dataset.placement=t.placement,s.dataset.mobilePresentation=t.mobilePresentation,s.dataset.side=t.side,s.hidden=!r&&(l!==`desktop`||t.placement!==`top`),s.toggleAttribute(`inert`,!i),i?s.removeAttribute(`aria-hidden`):s.setAttribute(`aria-hidden`,`true`);let c=!t.resizable||l!==`desktop`||o;s.toggleAttribute(`data-resize-disabled`,c);let d=s.querySelector(`[data-ui-sidebar-resize-handle]`);d?.toggleAttribute(`data-disabled`,c),d?.setAttribute(`aria-disabled`,String(c)),s.style.setProperty(`--ui-sidebar-width`,S().layout.width),S().layout.height&&s.style.setProperty(`--ui-sidebar-height`,S().layout.height);let f=v();f&&(f.style.setProperty(`--ui-app-sidebar-width`,S().layout.width),S().layout.height&&f.style.setProperty(`--ui-app-sidebar-height`,S().layout.height),f.dataset.sidebarState=a?`stashed`:`expanded`,f.dataset.sidebarSide=t.side,H.hasTag(`transitioning`)||(f.style.gridTemplateColumns=``));let m=b();if(m){let e=T();m.hidden=!e,m.dataset.state=e?`open`:`closed`}!o&&!H.hasTag(`transitioning`)&&(n(s),s.style.opacity=``,s.style.transform=``,m&&(n(m),m.style.opacity=``)),T()?p??=re(s.ownerDocument):(p?.(),p=null),document.querySelectorAll(`[data-ui-sidebar-edge]`).forEach(e=>{if(e.dataset.target&&e.dataset.target!==g().id)return;let n=o&&u===e,r=t.edgeReveal&&l===`desktop`&&t.placement===`side`&&a&&(!o||n);e.dataset.state=r?`visible`:`hidden`,e.hidden=!r}),N(),A()},F=({context:e})=>{let{presentation:t}=e.transition;j(t===`layout`),g().hidden=!1,t!==`layout`&&P(),T()&&queueMicrotask(()=>{T()&&ne(g(),{showIndicator:!1})})},L=()=>{j(!1),g().dataset.sidebarExiting=`false`,P(),e({el:g(),name:`ui:sidebar-open`,detail:{id:g().id}})},R=({context:e})=>{let{presentation:t}=e.transition;j(t===`layout`),M(),t===`layout`&&(g().dataset.sidebarExiting=`true`),t!==`layout`&&P()},z=()=>{j(!1),g().dataset.sidebarExiting=`false`,P(),e({el:g(),name:`ui:sidebar-close`,detail:{id:g().id}}),u=null},B=()=>{P({reflectControlled:!1}),queueMicrotask(()=>{let e=x();l===`desktop`?e.placement===`top`?H.hasTag(`top`)||H.send({type:`MODE`,mode:`desktop`,placement:`top`,stashed:!1,open:!0}):e.stashed!==S().layout.desktopStashed&&(e.stashed?Y():J()):e.open!==E()&&(e.open?K():q())})},V=()=>o({el:g(),schema:I}),H=d({schema:I,hooks:ie,createMachine:({props:e})=>ae({props:e,mode:l,desktopStashed:k(e)??e.stashed,effects:{prepareOpen:F,finishOpen:L,prepareClose:R,finishClose:z,sync:P,syncProps:B}})}),W=()=>{let e=x();return l===`mobile`?{target:`mobileOpen`,presentation:`drawer`}:e.placement===`top`?null:S().layout.desktopStashed?{target:`desktopDrawer`,presentation:`drawer`}:{target:`desktopExpanded`,presentation:`layout`}},K=e=>{e?.preventDefault(),e?.currentTarget instanceof HTMLElement&&(u=e.currentTarget);let t=W();t&&H.send({type:`OPEN`,...t})},q=e=>{e?.preventDefault(),(x().placement!==`top`||l!==`desktop`)&&H.send({type:`CLOSE`,target:l===`mobile`?`mobileClosed`:`desktopStashed`,presentation:C()?`drawer`:`layout`})},J=e=>{if(e?.preventDefault(),l===`mobile`){K(e);return}x().placement===`side`&&H.send({type:`EXPAND`,target:`desktopExpanded`,presentation:`layout`})},Y=e=>{if(e?.preventDefault(),l===`mobile`){q(e);return}x().placement===`side`&&H.send({type:`STASH`,target:`desktopStashed`,presentation:C()?`drawer`:`layout`})},X=e=>{if(e?.preventDefault(),x().placement!==`top`||l!==`desktop`){if(l===`desktop`&&x().placement===`side`&&S().layout.desktopStashed&&!C()){J(e);return}E()?q(e):K(e)}},Z=e=>{let t=x(),n=e>=w(v()??g())?`desktop`:`mobile`;if(n===l)return;l=n;let r=S().layout.desktopStashed;H.send({type:`MODE`,mode:n,placement:t.placement,stashed:r,open:n===`desktop`&&r&&S().layout.desktopDrawerOpen})},Q=e=>{let t=e instanceof CustomEvent?e.detail:null;t&&l===`desktop`&&!C()&&(x().placement===`top`&&Number.isFinite(t.height)?(H.send({type:`RESIZE`,height:`${Math.round(t.height)}px`}),g().style.setProperty(`--ui-sidebar-height`,`${Math.round(t.height)}px`),v()?.style.setProperty(`--ui-app-sidebar-height`,`${Math.round(t.height)}px`)):Number.isFinite(t.width)&&(H.send({type:`RESIZE`,width:`${Math.round(t.width)}px`}),g().style.setProperty(`--ui-sidebar-width`,`${Math.round(t.width)}px`),v()?.style.setProperty(`--ui-app-sidebar-width`,`${Math.round(t.width)}px`)))},se=e=>{if(!(e instanceof PointerEvent)||l!==`desktop`||!C()||!u?.matches(`[data-ui-sidebar-edge]`))return;let t=e.relatedTarget;t instanceof Node&&(g().contains(t)||u.contains(t))||q(e)},ce=e=>{if(!(e instanceof MouseEvent)||l!==`mobile`||!E()||e.defaultPrevented||e.button!==0||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let t=e.target instanceof Element?e.target.closest(`a[data-ui-sidebar-item]`):null;t&&g().contains(t)&&t.getAttribute(`aria-disabled`)!==`true`&&(t.hasAttribute(`download`)||t.hasAttribute(`target`)||q())},$;return $={...H,get id(){return g().id||x().id},get isOpen(){return E()},get isDesktop(){return l===`desktop`},get isStashed(){return S().layout.desktopStashed},get width(){return S().layout.width},get height(){return S().layout.height},init(){s=m(this),i=this.$el;let n=v()??g();l=n.getBoundingClientRect().width>=w(n)?`desktop`:`mobile`,H.connect(this.$el,this.snapshot),g().id||=x().id,G.add($),oe(),c=new ResizeObserver(e=>Z(e[0]?.contentRect.width??n.clientWidth)),c.observe(n),s.add(te({isEnabled:C,roots:()=>[g()],onDismiss:q})),t({target:document,event:`keydown`,handler:e=>{e instanceof KeyboardEvent&&C()&&(e.key===`Escape`?q(e):T()&&y(e,g()))},cleanup:s}),t({target:g(),event:`ui:resize`,handler:Q,cleanup:s}),t({target:g(),event:`ui:resize-end`,handler:Q,cleanup:s}),t({target:g(),event:`pointerleave`,handler:se,cleanup:s}),t({target:g(),event:`click`,handler:ce,cleanup:s}),g().querySelectorAll(`details[data-ui-sidebar-group]`).forEach(n=>t({target:n,event:`toggle`,handler:()=>{n.dataset.state=n.open?`open`:`closed`,e({el:n,name:`ui:sidebar-group-change`,detail:{open:n.open}})},cleanup:s})),P()},destroy(){j(!1),G.delete($),c?.disconnect(),c=null,p?.(),p=null,H.disconnect(),i=null},transitionSidebar(e){if(e.data.presentation===`layout`){let t=Array.from(v()?.querySelectorAll(`:scope > [data-ui-app-header], :scope > [data-ui-app-main], :scope > [data-ui-app-footer]`)??[]);return a(e,{target:t,update:P,role:`layoutSpring`})}let t=g().dataset.side===`right`?1:-1,n=e.to===`opening`,i=t===1?`translateX(calc(100% + 0.5rem))`:`translateX(calc(-100% - 0.5rem))`,o=r(e).animate({opacity:n?[0,1]:1,transform:n?[i,`none`]:i}).role(`presence`),s=b();return s&&e.data.mode===`mobile`&&(o=o.with(s,{opacity:n?[0,1]:0}).role(`feedback`)),o.play()},get root(){let e=this.snapshot.current?.props??V();return _({inputs:[h({part:U.parts.root,props:e,className:e.class}),{"data-ui-sidebar":``}]})},open:K,close:q,toggle:X,stash:Y,expand:J,isExpanded:E,perform(e,t){(e===`open`||e===`toggle`&&!E())&&(u=t??null),{open:K,close:q,toggle:X,stash:Y,expand:J}[e]?.()},syncToggles:N},$},J=()=>{let e={};return{get props(){return e},init(){e=o({el:this.$el,schema:W})},destroy(){},get root(){return _({inputs:[h({part:U.parts.toggle,props:{},className:e.class}),{"data-ui-sidebar-toggle":``,":data-target":()=>e.target,":data-action":()=>e.action,"@click":e=>this.trigger(e)}]})},trigger(t){t?.preventDefault(),document.dispatchEvent(new CustomEvent(`ui:sidebar-toggle`,{detail:{id:e.target||`ui-sidebar`,action:e.action,trigger:this.$el}}))}}},Y=()=>{let e={};return{get props(){return e},init(){e=o({el:this.$el,schema:W})},destroy(){},get root(){return _({inputs:[h({part:U.parts.edge,props:{side:this.$el.dataset.side||`left`},className:e.class}),{"data-ui-sidebar-edge":``,":data-target":()=>e.target,"@pointerenter":e=>this.trigger(e),"@pointerleave":e=>this.leave(e),"@focus":e=>this.trigger(e),"@click":e=>this.trigger(e)}]})},trigger(t){t?.preventDefault(),document.dispatchEvent(new CustomEvent(`ui:sidebar-open`,{detail:{id:e.target||`ui-sidebar`,action:`open`,trigger:this.$el}}))},leave(t){let n=t instanceof PointerEvent?t.relatedTarget:null,r=document.getElementById(e.target||`ui-sidebar`);n instanceof Node&&r?.contains(n)||document.dispatchEvent(new CustomEvent(`ui:sidebar-close`,{detail:{id:e.target||`ui-sidebar`,action:`close`,trigger:this.$el}}))}}},X=e=>{p(`UiSidebar`,q)(e),p(`UiSidebarEdge`,Y)(e),p(`UiSidebarToggle`,J)(e)},Z=new WeakSet,Q=e=>{Z.has(e)||(Z.add(e),i(e),b(e),X(e))};export{J as i,q as n,Y as r,Q as t};
2
- //# sourceMappingURL=entry.generated-BzLNUDzF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-BzLNUDzF.js","names":[],"sources":["../../../../../../../../client/src/runtime/shell-breakpoint.ts","../../../../../../../../client/src/components/sidebar/contract.ts","../../../../../../../../client/src/components/sidebar/machine.ts","../../../../../../../../client/src/components/sidebar/styles.ts","../../../../../../../../client/src/components/sidebar/index.ts","../../../../../../../../client/src/components/sidebar/entry.generated.ts"],"sourcesContent":["const shellBreakpointPixels = (reference: HTMLElement): number => {\n const value = getComputedStyle(reference).getPropertyValue('--ui-shell-sidebar-breakpoint');\n const pixels = Number.parseFloat(value);\n return Number.isFinite(pixels) ? pixels : Number.POSITIVE_INFINITY;\n};\n\nexport {shellBreakpointPixels};\n","import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n ELEVATION_REFERENCES,\n SURFACE_REFERENCES,\n type ElevationReference,\n type SurfaceReference,\n} from '../common';\n\nconst SIDEBAR_SIDES = ['left', 'right'] as const;\nconst SIDEBAR_PLACEMENTS = ['side', 'top'] as const;\nconst SIDEBAR_MOBILE_PRESENTATIONS = ['drawer', 'fullscreen'] as const;\nconst SIDEBAR_AS = ['div', 'aside', 'header'] as const;\nconst SIDEBAR_COLLAPSES = ['none', 'mobile', 'desktop', 'both'] as const;\nconst SIDEBAR_TOGGLE_ACTIONS = ['toggle', 'open', 'close', 'stash', 'expand'] as const;\nconst SIDEBAR_ITEM_AS = ['a', 'button'] as const;\nconst SIDEBAR_ITEM_VARIANTS = ['ghost', 'surface'] as const;\nconst SIDEBAR_ITEM_COLORS = ['neutral', 'accent'] as const;\nconst SIDEBAR_SURFACES = SURFACE_REFERENCES;\nconst SIDEBAR_ELEVATIONS = ELEVATION_REFERENCES;\n\nconst sidebarSchema = {\n as: oneOf(SIDEBAR_AS, 'div'),\n id: string.default('ui-sidebar'),\n placement: oneOf(SIDEBAR_PLACEMENTS, 'side'),\n mobilePresentation: oneOf(SIDEBAR_MOBILE_PRESENTATIONS, 'drawer'),\n side: oneOf(SIDEBAR_SIDES, 'left'),\n surface: oneOf(SIDEBAR_SURFACES, 'inherit'),\n elevation: oneOf(SIDEBAR_ELEVATIONS, 'none'),\n drawerElevation: oneOf(SIDEBAR_ELEVATIONS, '2'),\n divider: bool.default(true),\n sticky: bool.default(true),\n collapse: oneOf(SIDEBAR_COLLAPSES, 'mobile'),\n open: bool,\n stashed: bool,\n persist: bool.default(true),\n edgeReveal: bool.default(true),\n resizable: bool,\n class: string,\n};\n\nconst sidebarItemSchema = {\n as: oneOf(SIDEBAR_ITEM_AS, 'a'),\n variant: oneOf(SIDEBAR_ITEM_VARIANTS, 'ghost'),\n color: oneOf(SIDEBAR_ITEM_COLORS, 'neutral'),\n href: string,\n current: bool,\n disabled: bool,\n icon: string,\n iconTrailing: string,\n badge: string,\n class: string,\n};\n\nconst sidebarGroupSchema = {\n heading: string,\n expandable: bool,\n expanded: bool.default(true),\n icon: string,\n class: string,\n};\n\nconst sidebarToggleSchema = {\n target: string,\n icon: string.default('side_panel'),\n label: string.default('Toggle sidebar'),\n action: oneOf(SIDEBAR_TOGGLE_ACTIONS, 'toggle'),\n class: string,\n};\n\nconst sidebarPanelSchema = {\n class: string,\n};\n\nconst sidebarNavSchema = {\n label: string,\n labelled: string,\n class: string,\n};\n\ntype SidebarProps = SchemaToProps<typeof sidebarSchema>;\ntype SidebarAs = typeof SIDEBAR_AS[number];\ntype SidebarToggleAction = typeof SIDEBAR_TOGGLE_ACTIONS[number];\ntype SidebarCollapse = typeof SIDEBAR_COLLAPSES[number];\ntype SidebarItemColor = typeof SIDEBAR_ITEM_COLORS[number];\ntype SidebarItemVariant = typeof SIDEBAR_ITEM_VARIANTS[number];\ntype SidebarSide = typeof SIDEBAR_SIDES[number];\ntype SidebarPlacement = typeof SIDEBAR_PLACEMENTS[number];\ntype SidebarMobilePresentation = typeof SIDEBAR_MOBILE_PRESENTATIONS[number];\ntype SidebarSurface = SurfaceReference;\ntype SidebarElevation = ElevationReference;\n\nexport {\n SIDEBAR_AS,\n SIDEBAR_COLLAPSES,\n SIDEBAR_ITEM_AS,\n SIDEBAR_ITEM_COLORS,\n SIDEBAR_ITEM_VARIANTS,\n SIDEBAR_ELEVATIONS,\n SIDEBAR_SIDES,\n SIDEBAR_PLACEMENTS,\n SIDEBAR_MOBILE_PRESENTATIONS,\n SIDEBAR_TOGGLE_ACTIONS,\n SIDEBAR_SURFACES,\n sidebarGroupSchema,\n sidebarItemSchema,\n sidebarNavSchema,\n sidebarPanelSchema,\n sidebarSchema,\n sidebarToggleSchema,\n};\nexport type {\n SidebarAs,\n SidebarCollapse,\n SidebarElevation,\n SidebarItemColor,\n SidebarItemVariant,\n SidebarMobilePresentation,\n SidebarPlacement,\n SidebarProps,\n SidebarSide,\n SidebarSurface,\n SidebarToggleAction,\n};\n","import {createMachine, type Machine, type MachineEventObject, type MachineScope} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport type {SidebarPlacement, SidebarProps} from './contract';\n\ntype SidebarMode = 'mobile' | 'desktop';\ntype SidebarPresentation = 'drawer' | 'layout';\ntype SidebarTarget = 'mobileClosed' | 'mobileOpen' | 'desktopExpanded' | 'desktopStashed' | 'desktopDrawer' | 'desktopTop';\n\ntype SidebarContext = {\n responsive: {mode: SidebarMode};\n layout: {desktopStashed: boolean; desktopDrawerOpen: boolean; width: string; height: string};\n transition: {target: SidebarTarget; presentation: SidebarPresentation};\n};\n\ntype SidebarMachineEffects = {\n prepareOpen(scope: MachineScope<SidebarContext, SidebarProps>): void;\n finishOpen(): void;\n prepareClose(scope: MachineScope<SidebarContext, SidebarProps>): void;\n finishClose(): void;\n sync(): void;\n syncProps(): void;\n};\n\ntype CreateSidebarMachineOptions = {\n props: SidebarProps;\n mode: SidebarMode;\n desktopStashed: boolean;\n effects: SidebarMachineEffects;\n};\n\nconst projectTransition = ({context}: {context: Readonly<SidebarContext>}) => ({\n mode: context.responsive.mode,\n presentation: context.transition.presentation,\n width: context.layout.width,\n height: context.layout.height,\n});\n\ntype SidebarTransitionData = ReturnType<typeof projectTransition>;\n\nconst openingHook = defineHook({\n name: 'opening',\n state: 'opening',\n project: projectTransition,\n onDone: 'OPENING_DONE',\n onError: 'OPENING_ERROR',\n} satisfies TransitionHookDefinition<SidebarContext, SidebarProps, SidebarTransitionData, 'opening'>);\n\nconst closingHook = defineHook({\n name: 'closing',\n state: 'closing',\n project: projectTransition,\n onDone: 'CLOSING_DONE',\n onError: 'CLOSING_ERROR',\n} satisfies TransitionHookDefinition<SidebarContext, SidebarProps, SidebarTransitionData, 'closing'>);\n\nconst sidebarHooks = [openingHook, closingHook] as const;\n\nconst targetFrom = (event: MachineEventObject, fallback: SidebarTarget): SidebarTarget => (\n typeof event.target === 'string' ? event.target as SidebarTarget : fallback\n);\nconst presentationFrom = (event: MachineEventObject): SidebarPresentation => event.presentation === 'layout' ? 'layout' : 'drawer';\n\nconst createSidebarMachine = ({props, mode, desktopStashed, effects}: CreateSidebarMachineOptions): Machine<SidebarContext, SidebarProps> => {\n const initial: SidebarTarget = mode === 'mobile'\n ? props.open ? 'mobileOpen' : 'mobileClosed'\n : props.placement === 'top' ? 'desktopTop' : desktopStashed ? 'desktopStashed' : 'desktopExpanded';\n\n const beginOpen = {target: 'opening', reduce: 'beginOpen', effects: 'prepareOpen'} as const;\n const beginClose = {target: 'closing', reduce: 'beginClose', effects: 'prepareClose'} as const;\n const syncProps = {reduce: 'replaceProps', effects: 'syncProps'} as const;\n\n return createMachine<SidebarContext, SidebarProps>({\n initial,\n on: {\n MODE: [\n {target: 'desktopTop', guard: 'toTop', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopDrawer', guard: 'toDesktopDrawer', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopStashed', guard: 'toDesktopStashed', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopExpanded', guard: 'toDesktop', reduce: 'setMode', effects: 'sync'},\n {target: 'mobileOpen', guard: 'toMobileOpen', reduce: 'setMode', effects: 'sync'},\n {target: 'mobileClosed', reduce: 'setMode', effects: 'sync'},\n ],\n RESIZE: {reduce: 'resize', effects: 'sync'},\n },\n states: {\n mobileClosed: {tags: ['mobile', 'closed'], on: {OPEN: beginOpen, EXPAND: beginOpen, PROPS_CHANGED: syncProps}},\n mobileOpen: {tags: ['mobile', 'visible', 'expanded', 'open'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, PROPS_CHANGED: syncProps}},\n desktopExpanded: {tags: ['desktop', 'visible', 'expanded', 'open', 'layout'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, OPEN: {}, EXPAND: {}, PROPS_CHANGED: syncProps}},\n desktopStashed: {tags: ['desktop', 'stashed', 'closed'], on: {OPEN: beginOpen, EXPAND: beginOpen, TOGGLE: beginOpen, PROPS_CHANGED: syncProps}},\n desktopDrawer: {tags: ['desktop', 'stashed', 'visible', 'expanded', 'open', 'drawer'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, EXPAND: beginOpen, PROPS_CHANGED: syncProps}},\n desktopTop: {tags: ['desktop', 'top', 'visible', 'expanded', 'open', 'layout'], on: {PROPS_CHANGED: syncProps}},\n opening: {\n tags: ['visible', 'expanded', 'transitioning'],\n on: {\n OPENING_DONE: [\n {target: 'mobileOpen', guard: 'targetsMobileOpen', effects: 'finishOpen'},\n {target: 'desktopDrawer', guard: 'targetsDesktopDrawer', effects: 'finishOpen'},\n {target: 'desktopTop', guard: 'targetsDesktopTop', effects: 'finishOpen'},\n {target: 'desktopExpanded', effects: 'finishOpen'},\n ],\n OPENING_ERROR: [\n {target: 'mobileOpen', guard: 'targetsMobileOpen', effects: 'finishOpen'},\n {target: 'desktopDrawer', guard: 'targetsDesktopDrawer', effects: 'finishOpen'},\n {target: 'desktopTop', guard: 'targetsDesktopTop', effects: 'finishOpen'},\n {target: 'desktopExpanded', effects: 'finishOpen'},\n ],\n CLOSE: beginClose,\n STASH: beginClose,\n TOGGLE: beginClose,\n PROPS_CHANGED: syncProps,\n },\n },\n closing: {\n tags: ['visible', 'transitioning'],\n on: {\n CLOSING_DONE: [\n {target: 'mobileClosed', guard: 'targetsMobileClosed', effects: 'finishClose'},\n {target: 'desktopStashed', effects: 'finishClose'},\n ],\n CLOSING_ERROR: [\n {target: 'mobileClosed', guard: 'targetsMobileClosed', effects: 'finishClose'},\n {target: 'desktopStashed', effects: 'finishClose'},\n ],\n OPEN: beginOpen,\n EXPAND: beginOpen,\n TOGGLE: beginOpen,\n PROPS_CHANGED: syncProps,\n },\n },\n },\n }, {\n props,\n context: {\n responsive: {mode},\n layout: {\n desktopStashed,\n desktopDrawerOpen: false,\n width: 'var(--spacing-sidebar-width)',\n height: '',\n },\n transition: {target: initial, presentation: initial === 'desktopExpanded' || initial === 'desktopTop' ? 'layout' : 'drawer'},\n },\n reducers: {\n beginOpen: ({context, event}) => {\n const target = targetFrom(event, 'mobileOpen');\n return {context: {\n ...context,\n layout: {\n ...context.layout,\n desktopStashed: target === 'desktopDrawer'\n ? true\n : target === 'desktopExpanded' ? false : context.layout.desktopStashed,\n desktopDrawerOpen: target === 'desktopDrawer'\n || (target === 'mobileOpen' && context.layout.desktopStashed),\n },\n transition: {target, presentation: presentationFrom(event)},\n }};\n },\n beginClose: ({context, event}) => {\n const target = targetFrom(event, 'mobileClosed');\n const closesDesktopDrawer = target === 'desktopStashed'\n || (target === 'mobileClosed' && context.layout.desktopStashed);\n return {context: {\n ...context,\n layout: {\n ...context.layout,\n desktopStashed: target === 'desktopStashed' ? true : context.layout.desktopStashed,\n desktopDrawerOpen: closesDesktopDrawer ? false : context.layout.desktopDrawerOpen,\n },\n transition: {target, presentation: presentationFrom(event)},\n }};\n },\n setMode: ({context, event}) => ({context: {...context, responsive: {mode: event.mode === 'desktop' ? 'desktop' : 'mobile'}}}),\n replaceProps: ({context, event}) => ({\n props: event.props as SidebarProps,\n context,\n }),\n resize: ({context, event}) => ({context: {\n ...context,\n layout: {\n ...context.layout,\n width: typeof event.width === 'string' ? event.width : context.layout.width,\n height: typeof event.height === 'string' ? event.height : context.layout.height,\n },\n }}),\n },\n guards: {\n toTop: ({event}) => event.mode === 'desktop' && event.placement === 'top',\n toDesktopDrawer: ({event}) => event.mode === 'desktop' && event.stashed === true && event.open === true,\n toDesktopStashed: ({event}) => event.mode === 'desktop' && event.stashed === true,\n toDesktop: ({event}) => event.mode === 'desktop',\n toMobileOpen: ({event}) => event.mode === 'mobile' && event.open === true,\n targetsMobileOpen: ({context}) => context.transition.target === 'mobileOpen',\n targetsMobileClosed: ({context}) => context.transition.target === 'mobileClosed',\n targetsDesktopDrawer: ({context}) => context.transition.target === 'desktopDrawer',\n targetsDesktopTop: ({context}) => context.transition.target === 'desktopTop',\n },\n effects: {\n prepareOpen: effects.prepareOpen,\n finishOpen: effects.finishOpen,\n prepareClose: effects.prepareClose,\n finishClose: effects.finishClose,\n sync: effects.sync,\n syncProps: effects.syncProps,\n },\n });\n};\n\nexport {createSidebarMachine, sidebarHooks};\nexport type {CreateSidebarMachineOptions, SidebarContext, SidebarMachineEffects, SidebarMode, SidebarPresentation, SidebarTarget};\n","import {defineStyles} from '../../runtime';\nimport {elevationReferenceClasses} from '../common';\n\nconst SIDEBAR_ELEVATION_CLASSES = elevationReferenceClasses('--ui-sidebar-resting-elevation');\nconst SIDEBAR_DRAWER_ELEVATION_CLASSES = elevationReferenceClasses('--ui-sidebar-drawer-elevation');\n\nconst sidebarStyles = defineStyles({definition: {\n component: 'ui.sidebar',\n parts: {\n root: {\n base: [\n 'fixed inset-y-2 z-dialog flex min-h-0 w-[var(--spacing-sidebar-drawer-width)] flex-col overflow-hidden rounded-overlay-md',\n 'border-separator outline-none',\n 'data-[drawer-state=open]:bg-surface',\n 'data-[mobile-state=closed]:-translate-x-full data-[mobile-state=open]:translate-x-0',\n 'data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0',\n 'data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto',\n '[grid-area:sidebar]',\n 'data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center',\n ],\n variants: {\n elevation: SIDEBAR_ELEVATION_CLASSES,\n drawerElevation: SIDEBAR_DRAWER_ELEVATION_CLASSES,\n mobilePresentation: {\n drawer: '',\n fullscreen: [\n '[&:not([data-responsive-mode=desktop])]:inset-0',\n '[&:not([data-responsive-mode=desktop])]:h-dvh',\n '[&:not([data-responsive-mode=desktop])]:w-full',\n '[&:not([data-responsive-mode=desktop])]:max-w-none',\n '[&:not([data-responsive-mode=desktop])]:rounded-none',\n '[&:not([data-responsive-mode=desktop])]:border-0',\n ].join(' '),\n },\n divider: {\n true: 'data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider',\n false: '',\n },\n side: {\n left: 'left-2 border-r-edge-divider data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto',\n right: 'right-2 border-l-edge-divider data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto',\n },\n sticky: {\n true: 'data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:h-screen',\n false: 'data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:h-auto',\n },\n },\n defaults: {\n elevation: 'none',\n drawerElevation: '2',\n mobilePresentation: 'drawer',\n divider: true,\n side: 'left',\n sticky: true,\n },\n },\n header: {\n base: 'flex min-h-control-xlg shrink-0 items-center gap-sidebar-header-gap px-sidebar-header-padding-inline py-sidebar-header-padding-block',\n },\n content: {\n base: [\n 'min-h-0 flex-1 overflow-hidden',\n ],\n },\n contentInner: {\n base: [\n 'grid min-w-0 content-start gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block',\n '[&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto',\n ],\n },\n footer: {\n base: 'grid shrink-0 gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block',\n },\n nav: {\n base: 'grid gap-sidebar-content-gap',\n },\n item: {\n base: [\n 'group/sidebar-item flex h-control-md w-full min-w-0 select-none items-center gap-2 rounded-control-md px-2',\n 'border border-transparent text-left text-sm font-medium outline-none',\n 'cursor-default',\n 'data-disabled:pointer-events-none',\n ],\n variants: {\n variant: {\n ghost: '',\n surface: 'data-current:border-transparent data-current:shadow-none',\n },\n color: {\n neutral: '',\n accent: '',\n },\n withActions: {\n true: 'pr-9',\n false: '',\n },\n },\n defaults: {\n variant: 'ghost',\n color: 'neutral',\n withActions: false,\n },\n },\n itemRow: {\n base: 'group/sidebar-item-row relative min-w-0',\n },\n itemIcon: {\n base: 'size-icon-xs shrink-0 fill-current text-icon',\n variants: {\n position: {\n leading: '',\n trailing: 'ml-auto',\n },\n },\n defaults: {\n position: 'leading',\n },\n },\n itemLabel: {\n base: 'min-w-0 flex-1',\n },\n itemBadge: {\n base: 'ml-auto shrink-0 rounded-control-sm bg-interaction-hover px-1.5 py-0.5 text-xs text-surface-ink-muted',\n },\n itemActions: {\n base: 'absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1',\n },\n group: {\n base: 'relative grid gap-sidebar-content-gap',\n },\n groupSummary: {\n base: [\n 'block h-control-md cursor-default select-none list-none rounded-control-md text-xs font-medium text-surface-ink-muted outline-none',\n 'hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring',\n '[&::-webkit-details-marker]:hidden',\n ],\n variants: {\n hasActions: {\n true: '',\n false: '',\n },\n },\n defaults: {\n hasActions: false,\n },\n },\n groupSummaryInner: {\n base: 'flex h-full min-w-0 items-center gap-2 px-2',\n },\n groupHeading: {\n base: 'flex min-h-control-md min-w-0 select-none items-center gap-2 px-2 py-1 cursor-default',\n },\n groupIcon: {\n base: 'size-icon-xs shrink-0 fill-current text-icon group-open/sidebar-group:rotate-90',\n },\n groupLabel: {\n base: 'min-w-0 flex-1',\n },\n groupHeadingLabel: {\n base: 'min-w-0 flex-1',\n },\n groupActions: {\n base: 'ml-auto flex shrink-0 items-center gap-1',\n },\n groupContent: {\n base: 'grid gap-sidebar-content-gap',\n },\n toggle: {\n base: [\n 'inline-flex h-control-md w-control-md shrink-0 items-center justify-center rounded-control-md text-surface-ink-muted outline-none',\n 'hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring',\n ],\n },\n toggleIcon: {\n base: 'size-icon fill-current text-current',\n },\n edge: {\n base: [\n 'fixed inset-y-0 z-30 hidden w-4 bg-transparent outline-none data-[state=visible]:block',\n 'focus-visible:ui-focus-ring-inset',\n 'data-[state=hidden]:hidden',\n ],\n variants: {\n side: {\n left: 'left-0',\n right: 'right-0',\n },\n },\n defaults: {\n side: 'left',\n },\n },\n resizeHandle: {\n base: [\n 'absolute inset-y-0 z-10 hidden w-3 cursor-col-resize touch-none outline-none group-data-[responsive-mode=desktop]/sidebar:block',\n 'data-disabled:hidden',\n 'group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:w-auto group-data-[placement=top]/sidebar:cursor-row-resize',\n ],\n variants: {\n side: {\n left: 'right-0',\n right: 'left-0',\n },\n },\n defaults: {\n side: 'left',\n },\n },\n },\n}});\n\nexport {sidebarStyles};\n\nexport const styles = [sidebarStyles] as const;\n","import type Alpine from 'alpinejs';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n defineAlpineData,\n focusElement,\n type MachineScope,\n reflectSchemaProp,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {cleanupManagerFor} from '@client/runtime/alpine-data';\nimport type {CleanupManager} from '@client/runtime/cleanup-manager';\nimport {decodeProps, type SchemaToProps} from '@client/runtime/codecs';\nimport {addDismissableLayer} from '@client/runtime/dismissable-layer';\nimport {type ResizeEvent} from '@client/runtime/drag-and-drop';\nimport {focusFirst, trapFocus} from '@client/runtime/focus-scope';\nimport {mergeBindings, type BindingObject} from '@client/runtime/merge-bindings';\nimport {acquireDocumentScrollLock} from '@client/runtime/scroll-lock';\nimport {shellBreakpointPixels} from '@client/runtime/shell-breakpoint';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {\n createMotionPlan,\n flip,\n type MotionHandle,\n type MotionTransitionSubject,\n} from '@client/motion';\nimport {stopOwnedMotion} from '@client/motion/owned';\nimport {addListener, dispatch} from '@client/utils';\nimport {sidebarSchema, sidebarToggleSchema, type SidebarProps, type SidebarToggleAction} from './contract';\nimport {\n createSidebarMachine,\n sidebarHooks,\n type SidebarContext,\n type SidebarMode,\n type SidebarTarget,\n} from './machine';\nimport {sidebarStyles} from './styles';\n\ntype SidebarTransitionName = (typeof sidebarHooks)[number]['name'];\ntype SidebarTransition<TName extends SidebarTransitionName = SidebarTransitionName> = TransitionForHook<\n Extract<(typeof sidebarHooks)[number], {name: TName}>,\n HTMLElement\n>;\n\ntype SidebarController = {\n readonly id: string;\n isExpanded(): boolean;\n perform(action: SidebarToggleAction, trigger?: HTMLElement | null): void;\n syncToggles(): void;\n};\n\ntype SidebarEventDetail = {id?: string; action?: SidebarToggleAction; trigger?: HTMLElement | null};\nconst togglePropsSchema = {target: sidebarToggleSchema.target, action: sidebarToggleSchema.action, class: sidebarToggleSchema.class};\ntype SidebarToggleProps = SchemaToProps<typeof togglePropsSchema>;\ntype SidebarEdgeProps = SidebarToggleProps;\n\n/** Public Alpine API for `ui.sidebar`. @public */\ninterface UiSidebarApi {\n /** Sidebar id used by external controls. */\n readonly id: string;\n /** Whether the sidebar is fully open or currently opening. */\n readonly isOpen: boolean;\n /** Whether the observed shell is at or above the theme-generated shell breakpoint. */\n readonly isDesktop: boolean;\n /** Whether side placement is persistently stashed on desktop. */\n readonly isStashed: boolean;\n /** Current side-placement track width. */\n readonly width: string;\n /** Current top-placement track height. */\n readonly height: string;\n /** Opens the responsive drawer or temporarily reveals a stashed desktop sidebar. */\n open(event?: Event): void;\n /** Closes the responsive drawer or stashes an expanded desktop sidebar. */\n close(event?: Event): void;\n /** Reverses the current visibility intent, including an in-flight transition. */\n toggle(event?: Event): void;\n /** Permanently removes side placement from the desktop layout track. */\n stash(event?: Event): void;\n /** Permanently restores side placement to the desktop layout track. */\n expand(event?: Event): void;\n}\n\ntype SidebarData = AlpineMachine<SidebarContext, SidebarProps, typeof sidebarHooks> & UiSidebarApi & {\n readonly root: BindingObject;\n init(): void;\n destroy(): void;\n perform(action: SidebarToggleAction, trigger?: HTMLElement | null): void;\n syncToggles(): void;\n isExpanded(): boolean;\n transitionSidebar(transition: SidebarMotionTransition): MotionHandle;\n};\n\ntype SidebarMotionTransition = MotionTransitionSubject & Readonly<{\n data: {mode: SidebarMode; presentation: 'drawer' | 'layout'};\n to: string;\n}>;\n\nconst controllers = new Set<SidebarController>();\n\nconst eventDetail = (event: Event): SidebarEventDetail => event instanceof CustomEvent && event.detail && typeof event.detail === 'object'\n ? event.detail as SidebarEventDetail\n : {};\n\nconst registerDocumentListeners = (() => {\n let registered = false;\n return (): void => {\n if (registered || typeof document === 'undefined') return;\n const route = (action: SidebarToggleAction) => (event: Event): void => {\n if (event.target instanceof Element && event.target.hasAttribute('data-ui-sidebar')) return;\n const detail = eventDetail(event);\n controllers.forEach((controller) => {\n if (!detail.id || detail.id === controller.id) controller.perform(detail.action ?? action, detail.trigger);\n });\n };\n document.addEventListener('ui:sidebar-open', route('open'));\n document.addEventListener('ui:sidebar-close', route('close'));\n document.addEventListener('ui:sidebar-toggle', route('toggle'));\n registered = true;\n };\n})();\n\nconst UiSidebar = (): TrellisAlpineComponent<SidebarData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let cleanup: CleanupManager;\n let resizeObserver: ResizeObserver | null = null;\n let responsiveMode: SidebarMode = 'mobile';\n let activeTrigger: HTMLElement | null = null;\n let releaseScrollLock: (() => void) | null = null;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Sidebar has not been initialized.');\n return rootEl;\n };\n const appEl = (): HTMLElement | null => root().closest<HTMLElement>('[data-ui-app]');\n const backdropEl = (): HTMLElement | null => appEl()?.querySelector<HTMLElement>('[data-ui-app-backdrop]') ?? null;\n const currentProps = (): Readonly<SidebarProps> => bridge.getSnapshot().props;\n const context = (): Readonly<SidebarContext> => bridge.getSnapshot().context;\n const target = (): SidebarTarget => context().transition.target;\n const isDrawer = (): boolean => bridge.hasTag('visible') && (\n bridge.hasTag('drawer')\n || responsiveMode === 'mobile'\n || (bridge.hasTag('transitioning') && context().transition.presentation === 'drawer')\n );\n const isModalDrawer = (): boolean => isDrawer() && responsiveMode === 'mobile';\n const isExpanded = (): boolean => bridge.hasTag('expanded');\n const isMobileDrawerClosing = (): boolean => responsiveMode === 'mobile' && bridge.matches('closing');\n\n const storageKey = (): string => `trellis-ui-sidebar:${root().id || currentProps().id}:stashed`;\n const storedStashed = (props: SidebarProps): boolean | null => {\n if (!props.persist) return null;\n try {\n const value = localStorage.getItem(`trellis-ui-sidebar:${root().id || props.id}:stashed`);\n return value === null ? null : value === 'true';\n } catch { return null; }\n };\n const persist = (): void => {\n const props = currentProps();\n if (!props.persist || props.placement === 'top') return;\n try { localStorage.setItem(storageKey(), context().layout.desktopStashed ? 'true' : 'false'); } catch { /* storage is optional */ }\n };\n const setCanvasTransitioning = (active: boolean): void => {\n const app = appEl();\n if (active) app?.setAttribute('data-sidebar-transitioning', 'true');\n else app?.removeAttribute('data-sidebar-transitioning');\n };\n\n const restoreFocus = (): void => {\n const active = document.activeElement;\n if (!(active instanceof HTMLElement) || !root().contains(active)) return;\n const fallback = activeTrigger ?? Array.from(document.querySelectorAll<HTMLElement>('[data-ui-sidebar-toggle]'))\n .find((el) => !root().contains(el) && (!el.dataset.target || el.dataset.target === root().id));\n if (fallback && document.contains(fallback)) focusElement(fallback, {showIndicator: false});\n else active.blur();\n };\n\n const syncToggles = (): void => {\n const expanded = isExpanded();\n document.querySelectorAll<HTMLElement>('[data-ui-sidebar-toggle], [data-ui-sidebar-state-icon], [data-ui-sidebar-edge]').forEach((el) => {\n if (el.dataset.target && el.dataset.target !== root().id) return;\n if (!el.matches('[data-ui-sidebar-edge]')) el.dataset.state = expanded ? 'open' : 'closed';\n if (el.matches('[data-ui-sidebar-toggle], [data-ui-sidebar-edge]')) {\n el.setAttribute('aria-controls', root().id);\n el.setAttribute('aria-expanded', String(expanded));\n }\n });\n };\n\n const sync = ({reflectControlled = true}: {reflectControlled?: boolean} = {}): void => {\n const props = currentProps();\n const visible = bridge.hasTag('visible');\n const expanded = isExpanded();\n const stashed = context().layout.desktopStashed;\n const drawer = isDrawer();\n const el = root();\n if (reflectControlled) {\n if (responsiveMode === 'mobile') {\n reflectSchemaProp({el, schema: sidebarSchema, key: 'open', value: expanded});\n } else {\n reflectSchemaProp({el, schema: sidebarSchema, key: 'stashed', value: stashed});\n }\n }\n el.dataset.state = expanded ? 'open' : 'closed';\n el.dataset.mobileState = responsiveMode === 'mobile' && (expanded || isMobileDrawerClosing()) ? 'open' : 'closed';\n el.dataset.desktopState = stashed ? 'stashed' : 'expanded';\n el.dataset.drawerState = drawer ? 'open' : 'closed';\n el.dataset.responsiveMode = responsiveMode;\n el.dataset.placement = props.placement;\n el.dataset.mobilePresentation = props.mobilePresentation;\n el.dataset.side = props.side;\n el.hidden = !visible && !(responsiveMode === 'desktop' && props.placement === 'top');\n el.toggleAttribute('inert', !expanded);\n if (expanded) el.removeAttribute('aria-hidden'); else el.setAttribute('aria-hidden', 'true');\n const resizeDisabled = !props.resizable || responsiveMode !== 'desktop' || drawer;\n el.toggleAttribute('data-resize-disabled', resizeDisabled);\n const resizeHandle = el.querySelector<HTMLElement>('[data-ui-sidebar-resize-handle]');\n resizeHandle?.toggleAttribute('data-disabled', resizeDisabled);\n resizeHandle?.setAttribute('aria-disabled', String(resizeDisabled));\n el.style.setProperty('--ui-sidebar-width', context().layout.width);\n if (context().layout.height) el.style.setProperty('--ui-sidebar-height', context().layout.height);\n\n const app = appEl();\n if (app) {\n app.style.setProperty('--ui-app-sidebar-width', context().layout.width);\n if (context().layout.height) app.style.setProperty('--ui-app-sidebar-height', context().layout.height);\n app.dataset.sidebarState = stashed ? 'stashed' : 'expanded';\n app.dataset.sidebarSide = props.side;\n if (!bridge.hasTag('transitioning')) app.style.gridTemplateColumns = '';\n }\n const backdrop = backdropEl();\n if (backdrop) {\n const modalDrawer = isModalDrawer();\n backdrop.hidden = !modalDrawer;\n backdrop.dataset.state = modalDrawer ? 'open' : 'closed';\n }\n if (!drawer && !bridge.hasTag('transitioning')) {\n stopOwnedMotion(el);\n el.style.opacity = '';\n el.style.transform = '';\n if (backdrop) {\n stopOwnedMotion(backdrop);\n backdrop.style.opacity = '';\n }\n }\n const modalDrawer = isModalDrawer();\n if (modalDrawer) releaseScrollLock ??= acquireDocumentScrollLock(el.ownerDocument);\n else {\n releaseScrollLock?.();\n releaseScrollLock = null;\n }\n document.querySelectorAll<HTMLElement>('[data-ui-sidebar-edge]').forEach((edge) => {\n if (edge.dataset.target && edge.dataset.target !== root().id) return;\n const ownsEdgeReveal = drawer && activeTrigger === edge;\n const show = props.edgeReveal && responsiveMode === 'desktop' && props.placement === 'side' && stashed && (!drawer || ownsEdgeReveal);\n edge.dataset.state = show ? 'visible' : 'hidden';\n edge.hidden = !show;\n });\n syncToggles();\n persist();\n };\n\n const prepareOpen = ({context: next}: MachineScope<SidebarContext, SidebarProps>): void => {\n const {presentation} = next.transition;\n setCanvasTransitioning(presentation === 'layout');\n root().hidden = false;\n if (presentation !== 'layout') sync();\n if (isModalDrawer()) queueMicrotask(() => {\n if (isModalDrawer()) focusFirst(root(), {showIndicator: false});\n });\n };\n const finishOpen = (): void => {\n setCanvasTransitioning(false);\n root().dataset.sidebarExiting = 'false';\n sync();\n dispatch({el: root(), name: 'ui:sidebar-open', detail: {id: root().id}});\n };\n const prepareClose = ({context: next}: MachineScope<SidebarContext, SidebarProps>): void => {\n const {presentation} = next.transition;\n setCanvasTransitioning(presentation === 'layout');\n restoreFocus();\n if (presentation === 'layout') root().dataset.sidebarExiting = 'true';\n if (presentation !== 'layout') sync();\n };\n const finishClose = (): void => {\n setCanvasTransitioning(false);\n root().dataset.sidebarExiting = 'false';\n sync();\n dispatch({el: root(), name: 'ui:sidebar-close', detail: {id: root().id}});\n activeTrigger = null;\n };\n\n const syncProps = (): void => {\n sync({reflectControlled: false});\n queueMicrotask(() => {\n const next = currentProps();\n if (responsiveMode === 'desktop') {\n if (next.placement === 'top') {\n if (!bridge.hasTag('top')) bridge.send({type: 'MODE', mode: 'desktop', placement: 'top', stashed: false, open: true});\n } else if (next.stashed !== context().layout.desktopStashed) {\n if (next.stashed) stash(); else expand();\n }\n } else if (next.open !== isExpanded()) {\n if (next.open) open(); else close();\n }\n });\n };\n\n const initialProps = (): SidebarProps => decodeProps({el: root(), schema: sidebarSchema});\n const bridge = createAlpineMachine({\n schema: sidebarSchema,\n hooks: sidebarHooks,\n createMachine: ({props}) => createSidebarMachine({\n props,\n mode: responsiveMode,\n desktopStashed: storedStashed(props) ?? props.stashed,\n effects: {prepareOpen, finishOpen, prepareClose, finishClose, sync, syncProps},\n }),\n });\n\n const desiredOpenTarget = (): {target: SidebarTarget; presentation: 'drawer' | 'layout'} | null => {\n const props = currentProps();\n if (responsiveMode === 'mobile') return {target: 'mobileOpen', presentation: 'drawer'};\n if (props.placement === 'top') return null;\n return context().layout.desktopStashed\n ? {target: 'desktopDrawer', presentation: 'drawer'}\n : {target: 'desktopExpanded', presentation: 'layout'};\n };\n const open = (event?: Event): void => {\n event?.preventDefault();\n if (event?.currentTarget instanceof HTMLElement) activeTrigger = event.currentTarget;\n const desired = desiredOpenTarget();\n if (desired) bridge.send({type: 'OPEN', ...desired});\n };\n const close = (event?: Event): void => {\n event?.preventDefault();\n if (currentProps().placement === 'top' && responsiveMode === 'desktop') return;\n bridge.send({type: 'CLOSE', target: responsiveMode === 'mobile' ? 'mobileClosed' : 'desktopStashed', presentation: isDrawer() ? 'drawer' : 'layout'});\n };\n const expand = (event?: Event): void => {\n event?.preventDefault();\n if (responsiveMode === 'mobile') { open(event); return; }\n if (currentProps().placement === 'side') bridge.send({type: 'EXPAND', target: 'desktopExpanded', presentation: 'layout'});\n };\n const stash = (event?: Event): void => {\n event?.preventDefault();\n if (responsiveMode === 'mobile') { close(event); return; }\n if (currentProps().placement === 'side') bridge.send({type: 'STASH', target: 'desktopStashed', presentation: isDrawer() ? 'drawer' : 'layout'});\n };\n const toggle = (event?: Event): void => {\n event?.preventDefault();\n if (currentProps().placement === 'top' && responsiveMode === 'desktop') return;\n if (responsiveMode === 'desktop' && currentProps().placement === 'side' && context().layout.desktopStashed && !isDrawer()) { expand(event); return; }\n if (isExpanded()) close(event); else open(event);\n };\n\n const reconcileMode = (width: number): void => {\n const props = currentProps();\n const observed = appEl() ?? root();\n const next: SidebarMode = width >= shellBreakpointPixels(observed) ? 'desktop' : 'mobile';\n if (next === responsiveMode) return;\n responsiveMode = next;\n const desktopStashed = context().layout.desktopStashed;\n bridge.send({\n type: 'MODE',\n mode: next,\n placement: props.placement,\n stashed: desktopStashed,\n open: next === 'desktop' && desktopStashed && context().layout.desktopDrawerOpen,\n });\n };\n\n const handleResize = (event: Event): void => {\n const detail = event instanceof CustomEvent ? event.detail as ResizeEvent : null;\n if (!detail || responsiveMode !== 'desktop' || isDrawer()) return;\n const props = currentProps();\n if (props.placement === 'top' && Number.isFinite(detail.height)) {\n bridge.send({type: 'RESIZE', height: `${Math.round(detail.height)}px`});\n root().style.setProperty('--ui-sidebar-height', `${Math.round(detail.height)}px`);\n appEl()?.style.setProperty('--ui-app-sidebar-height', `${Math.round(detail.height)}px`);\n } else if (Number.isFinite(detail.width)) {\n bridge.send({type: 'RESIZE', width: `${Math.round(detail.width)}px`});\n root().style.setProperty('--ui-sidebar-width', `${Math.round(detail.width)}px`);\n appEl()?.style.setProperty('--ui-app-sidebar-width', `${Math.round(detail.width)}px`);\n }\n };\n\n const closeEdgeReveal = (event: Event): void => {\n if (!(event instanceof PointerEvent)) return;\n if (responsiveMode !== 'desktop' || !isDrawer()) return;\n if (!activeTrigger?.matches('[data-ui-sidebar-edge]')) return;\n const next = event.relatedTarget;\n if (next instanceof Node && (root().contains(next) || activeTrigger.contains(next))) return;\n close(event);\n };\n\n const closeAfterMobileNavigation = (event: Event): void => {\n if (!(event instanceof MouseEvent) || responsiveMode !== 'mobile' || !isExpanded()) return;\n if (event.defaultPrevented || event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n const item = event.target instanceof Element ? event.target.closest<HTMLAnchorElement>('a[data-ui-sidebar-item]') : null;\n if (!item || !root().contains(item) || item.getAttribute('aria-disabled') === 'true') return;\n if (item.hasAttribute('download') || item.hasAttribute('target')) return;\n close();\n };\n\n let component!: TrellisAlpineComponent<SidebarData>;\n component = {\n ...bridge,\n get id() { return root().id || currentProps().id; },\n get isOpen() { return isExpanded(); },\n get isDesktop() { return responsiveMode === 'desktop'; },\n get isStashed() { return context().layout.desktopStashed; },\n get width() { return context().layout.width; },\n get height() { return context().layout.height; },\n init(): void {\n cleanup = cleanupManagerFor(this);\n rootEl = this.$el;\n const observed = appEl() ?? root();\n responsiveMode = observed.getBoundingClientRect().width >= shellBreakpointPixels(observed) ? 'desktop' : 'mobile';\n bridge.connect(this.$el, this.snapshot);\n root().id ||= currentProps().id;\n controllers.add(component);\n registerDocumentListeners();\n resizeObserver = new ResizeObserver((entries) => reconcileMode(entries[0]?.contentRect.width ?? observed.clientWidth));\n resizeObserver.observe(observed);\n cleanup.add(addDismissableLayer({isEnabled: isDrawer, roots: () => [root()], onDismiss: close}));\n addListener({target: document, event: 'keydown', handler: (event) => {\n if (!(event instanceof KeyboardEvent) || !isDrawer()) return;\n if (event.key === 'Escape') close(event);\n else if (isModalDrawer()) trapFocus(event, root());\n }, cleanup});\n addListener({target: root(), event: 'ui:resize', handler: handleResize, cleanup});\n addListener({target: root(), event: 'ui:resize-end', handler: handleResize, cleanup});\n addListener({target: root(), event: 'pointerleave', handler: closeEdgeReveal, cleanup});\n addListener({target: root(), event: 'click', handler: closeAfterMobileNavigation, cleanup});\n root().querySelectorAll<HTMLDetailsElement>('details[data-ui-sidebar-group]').forEach((group) => addListener({target: group, event: 'toggle', handler: () => {\n group.dataset.state = group.open ? 'open' : 'closed';\n dispatch({el: group, name: 'ui:sidebar-group-change', detail: {open: group.open}});\n }, cleanup}));\n sync();\n },\n destroy(): void {\n setCanvasTransitioning(false);\n controllers.delete(component);\n resizeObserver?.disconnect();\n resizeObserver = null;\n releaseScrollLock?.();\n releaseScrollLock = null;\n bridge.disconnect();\n rootEl = null;\n },\n transitionSidebar(transition: SidebarMotionTransition): MotionHandle {\n if (transition.data.presentation === 'layout') {\n const canvas = Array.from(appEl()?.querySelectorAll<HTMLElement>(\n ':scope > [data-ui-app-header], :scope > [data-ui-app-main], :scope > [data-ui-app-footer]',\n ) ?? []);\n return flip(transition, {\n target: canvas,\n update: sync,\n role: 'layoutSpring',\n });\n }\n const side = root().dataset.side === 'right' ? 1 : -1;\n const opening = transition.to === 'opening';\n const outside = side === 1\n ? 'translateX(calc(100% + 0.5rem))'\n : 'translateX(calc(-100% - 0.5rem))';\n let plan = createMotionPlan(transition).animate({\n opacity: opening ? [0, 1] : 1,\n transform: opening ? [outside, 'none'] : outside,\n }).role('presence');\n const backdrop = backdropEl();\n if (backdrop && transition.data.mode === 'mobile') plan = plan.with(backdrop, {\n opacity: opening ? [0, 1] : 0,\n }).role('feedback');\n return plan.play();\n },\n get root(): BindingObject {\n const props = this.snapshot.current?.props ?? initialProps();\n return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.root, props, className: props.class}), {'data-ui-sidebar': ''}]});\n },\n open, close, toggle, stash, expand,\n isExpanded,\n perform(action, trigger) {\n if (action === 'open' || (action === 'toggle' && !isExpanded())) activeTrigger = trigger ?? null;\n ({open, close, toggle, stash, expand})[action]?.();\n },\n syncToggles,\n };\n return component;\n};\n\nconst UiSidebarToggle = (): TrellisAlpineComponent<{props: SidebarToggleProps; readonly root: BindingObject; trigger(event?: Event): void}> => {\n let props = {} as SidebarToggleProps;\n return {\n get props() { return props; },\n init() { props = decodeProps({el: this.$el, schema: togglePropsSchema}); },\n destroy() {},\n get root() { return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.toggle, props: {}, className: props.class}), {'data-ui-sidebar-toggle': '', ':data-target': () => props.target, ':data-action': () => props.action, '@click': (event: Event) => this.trigger(event)}]}); },\n trigger(event?: Event) {\n event?.preventDefault();\n document.dispatchEvent(new CustomEvent('ui:sidebar-toggle', {detail: {id: props.target || 'ui-sidebar', action: props.action, trigger: this.$el}}));\n },\n } as TrellisAlpineComponent<{props: SidebarToggleProps; readonly root: BindingObject; trigger(event?: Event): void}>;\n};\n\nconst UiSidebarEdge = (): TrellisAlpineComponent<{props: SidebarEdgeProps; readonly root: BindingObject; trigger(event?: Event): void; leave(event?: Event): void}> => {\n let props = {} as SidebarEdgeProps;\n return {\n get props() { return props; },\n init() { props = decodeProps({el: this.$el, schema: togglePropsSchema}); },\n destroy() {},\n get root() { return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.edge, props: {side: this.$el.dataset.side || 'left'}, className: props.class}), {'data-ui-sidebar-edge': '', ':data-target': () => props.target, '@pointerenter': (event: Event) => this.trigger(event), '@pointerleave': (event: Event) => this.leave(event), '@focus': (event: Event) => this.trigger(event), '@click': (event: Event) => this.trigger(event)}]}); },\n trigger(event?: Event) {\n event?.preventDefault();\n document.dispatchEvent(new CustomEvent('ui:sidebar-open', {detail: {id: props.target || 'ui-sidebar', action: 'open', trigger: this.$el}}));\n },\n leave(event?: Event) {\n const next = event instanceof PointerEvent ? event.relatedTarget : null;\n const sidebar = document.getElementById(props.target || 'ui-sidebar');\n if (next instanceof Node && sidebar?.contains(next)) return;\n document.dispatchEvent(new CustomEvent('ui:sidebar-close', {detail: {id: props.target || 'ui-sidebar', action: 'close', trigger: this.$el}}));\n },\n } as TrellisAlpineComponent<{props: SidebarEdgeProps; readonly root: BindingObject; trigger(event?: Event): void; leave(event?: Event): void}>;\n};\n\nconst registerSidebar = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiSidebar', UiSidebar)(AlpineInstance);\n defineAlpineData('UiSidebarEdge', UiSidebarEdge)(AlpineInstance);\n defineAlpineData('UiSidebarToggle', UiSidebarToggle)(AlpineInstance);\n};\n\nexport {registerSidebar, UiSidebar, UiSidebarEdge, UiSidebarToggle};\nexport type {SidebarController, SidebarData, SidebarTransition, UiSidebarApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerMotionCapability} from '../../capabilities/motion';\nimport {registerResizableCapability} from '../../capabilities/resizable';\nimport {registerSidebar as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerSidebar = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerResizableCapability(AlpineInstance);\n registerComponent(AlpineInstance);\n};\n\nexport {registerSidebar};\nexport default registerSidebar;\nexport * from './index';\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e}from"./dom-DiTFTWeR.js";import{f as t}from"./codecs-CQ7olTJL.js";import{t as n}from"./alpine-machine-CE2UN4Qu.js";import{n as r}from"./alpine-data-Dvc_bXq6.js";import{t as i}from"./machine-CNnHDbyo.js";var a={startUrl:t,completeUrl:t,purpose:t},o=[],s=(e,t)=>({status:e,uploadId:typeof t.event.uploadId==`string`?t.event.uploadId:t.context.uploadId,error:typeof t.event.error==`string`?t.event.error:``}),c=e=>t=>({context:s(e,t)}),l=({props:e,effects:t})=>i({initial:`idle`,states:{idle:{on:{START:{target:`starting`,reduce:`starting`,effects:`sync`}}},starting:{on:{TRANSFER:{target:`transferring`,reduce:`transferring`,effects:`sync`},FAIL:{target:`failed`,reduce:`failed`,effects:`sync`},CANCEL:{target:`canceled`,reduce:`canceled`,effects:`sync`}}},transferring:{on:{COMPLETE:{target:`completing`,reduce:`completing`,effects:`sync`},FAIL:{target:`failed`,reduce:`failed`,effects:`sync`},CANCEL:{target:`canceled`,reduce:`canceled`,effects:`sync`}}},completing:{on:{SUCCEED:{target:`complete`,reduce:`complete`,effects:`sync`},FAIL:{target:`failed`,reduce:`failed`,effects:`sync`},CANCEL:{target:`canceled`,reduce:`canceled`,effects:`sync`}}},complete:{on:{START:{target:`starting`,reduce:`starting`,effects:`sync`},CLEAR:{target:`idle`,reduce:`idle`,effects:`sync`}}},failed:{on:{START:{target:`starting`,reduce:`starting`,effects:`sync`},CLEAR:{target:`idle`,reduce:`idle`,effects:`sync`}}},canceled:{on:{START:{target:`starting`,reduce:`starting`,effects:`sync`},CLEAR:{target:`idle`,reduce:`idle`,effects:`sync`}}}}},{context:{status:`idle`,uploadId:``,error:``},props:e,reducers:{idle:c(`idle`),starting:c(`starting`),transferring:c(`transferring`),completing:c(`completing`),complete:c(`complete`),failed:c(`failed`),canceled:c(`canceled`)},effects:t}),u=()=>document.querySelector(`meta[name="csrf-token"]`)?.content??``,d=(e,t)=>{if(!e||typeof e!=`object`)return t;let n=Reflect.get(e,`errors`);if(!n||typeof n!=`object`)return t;let r=Object.values(n)[0];if(typeof r==`string`)return r;if(Array.isArray(r)&&r.length>0){let e=r[0];if(typeof e==`string`)return e;if(e&&typeof e==`object`&&typeof Reflect.get(e,`message`)==`string`)return Reflect.get(e,`message`)}return t},f=async(e,t,n={})=>{let r=new FormData;Object.entries(t).forEach(([e,t])=>r.append(e,String(t)));let i=new Headers,a=u();a&&i.set(`X-CSRFToken`,a);let o=await fetch(e,{method:`POST`,body:r,headers:i,credentials:`same-origin`,...n.signal?{signal:n.signal}:{}}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(d(s,`Upload request failed (${o.status}).`));if(s===null)throw Error(`Upload request returned no data.`);return s},p=(e,t,n={})=>new Promise((r,i)=>{let a=new XMLHttpRequest,o=new FormData;Object.entries(e.fields).forEach(([e,t])=>o.append(e,t));let s=new URL(e.url,document.baseURI);if(s.origin===window.location.origin){let e=u();if(e&&o.append(`csrfmiddlewaretoken`,e),!n.capability){i(Error(`A same-origin direct upload requires its upload capability.`));return}o.append(`capability`,n.capability)}o.append(e.file_field,t);let c=()=>n.signal?.removeEventListener(`abort`,l),l=()=>a.abort();if(a.upload.addEventListener(`progress`,e=>{e.lengthComputable&&n.onProgress?.(e.loaded,e.total)}),a.addEventListener(`load`,()=>{if(c(),a.status>=200&&a.status<300){r();return}let e=null;try{e=JSON.parse(a.responseText)}catch{}i(Error(d(e,`Object transfer failed (${a.status}).`)))}),a.addEventListener(`error`,()=>{c(),i(Error(`Object transfer failed.`))}),a.addEventListener(`abort`,()=>{c(),i(new DOMException(`Upload canceled.`,`AbortError`))}),n.signal?.addEventListener(`abort`,l,{once:!0}),n.signal?.aborted){l();return}a.open(e.method,s.toString()),a.send(o)}),m=()=>{let t=null,r=null,i=null,s=new Set,c=!1,u=new Map,d=()=>{if(!t)throw Error(`Direct upload has not been initialized.`);return t},m=()=>{let e=d().querySelector(`[data-ui-direct-upload-values]`);if(!e)throw Error(`Direct upload requires a hidden values container.`);return e},h=()=>{let e=m(),t=[...e.querySelectorAll(`[data-ui-direct-upload-value]`)].map(e=>e.value).filter(Boolean),n=[...u.values()];if(t.length===n.length&&t.every((e,t)=>e===n[t]))return!1;let r=[...u.entries()].map(([e,t])=>{let n=document.createElement(`input`);return n.type=`hidden`,n.name=d().dataset.name??``,n.value=t,n.dataset.uiDirectUploadValue=``,n.dataset.uploadKey=e,n});if(r.length===0){let e=document.createElement(`input`);e.type=`hidden`,e.name=d().dataset.name??``,e.dataset.uiDirectUploadValue=``,r.push(e)}e.replaceChildren(...r);let i=r[0];return i&&(i.dispatchEvent(new Event(`input`,{bubbles:!0})),i.dispatchEvent(new Event(`change`,{bubbles:!0}))),!0},g=()=>{let e=v.getCommittedSnapshot();d().dataset.uploadState=e.context.status,e.context.error?d().dataset.uploadError=e.context.error:delete d().dataset.uploadError},_=()=>{r?.abort(),r=null,u.clear(),s.clear(),c=!1;let t=h(),n=d().querySelector(`[data-ui-file-upload-root]`);n?.querySelector(`[data-ui-file-upload-item][data-existing-file]:not([hidden])`)&&n.dispatchEvent(new CustomEvent(`trellis:file-upload-clear-existing`)),v.send(`CLEAR`),t&&e({el:d(),name:`ui:direct-upload-clear`})},v=n({schema:a,hooks:o,createMachine:({props:e})=>l({props:e,effects:{sync:g}})});return{...v,init(){t=this.$el,v.connect(t,this.snapshot),t.querySelectorAll(`[data-ui-direct-upload-value]`).forEach((e,t)=>{e.value&&u.set(e.dataset.uploadKey??`existing-${t}`,e.value)});let e=e=>{if(!(e instanceof CustomEvent))return;let t=e.detail,n=new Set((t?.files??[]).flatMap(({id:e})=>typeof e==`string`?[e]:[])),r=Array.isArray(t?.removedExistingIds)?t.removedExistingIds.filter(e=>typeof e==`string`):[];if(r.length>0){r.forEach(e=>u.delete(e)),s=n,h(),u.size===0&&n.size===0&&v.send(`CLEAR`);return}if(t?.source===`picker`||t?.source===`drop`){if(n.size===0){s.clear(),c=!1;return}let e=[...u.keys()].some(e=>e.startsWith(`existing-`));c=t.source===`picker`||Number(d().dataset.maxItems??`1`)===1||e,s=n;return}[...s].filter(e=>!n.has(e)).forEach(e=>u.delete(e)),s=n,h(),u.size===0&&n.size===0&&v.send(`CLEAR`)};t.addEventListener(`ui:file-upload-change`,e),i=()=>t?.removeEventListener(`ui:file-upload-change`,e),g()},destroy(){r?.abort(),r=null,i?.(),i=null,u.clear(),s.clear(),c=!1,v.disconnect(),t=null},clear(){_()},async upload(t,n){let i=t.data.files;if(i.length===0)return;r?.abort();let a=new AbortController;r=a;let o=()=>a.abort();t.signal.addEventListener(`abort`,o,{once:!0});try{let r=v.getCommittedSnapshot().props,o=[];for(let e of i){let i=n(e.id);if(!i)throw Error(`The selected file is no longer available.`);v.send(`START`);let s=await f(r.startUrl,{purpose:r.purpose,original_name:i.name,content_type:i.type||`application/octet-stream`,size:i.size},{signal:a.signal});v.send({type:`TRANSFER`,uploadId:s.upload_id}),await p(s.instructions,i,{signal:a.signal,capability:s.capability,onProgress:(n,r)=>t.send.progress(e.id,n,r)}),v.send(`COMPLETE`);let c=await f(r.completeUrl,{capability:s.capability},{signal:a.signal});t.send.progress(e.id,e.bytes,e.bytes),v.send({type:`SUCCEED`,uploadId:c.upload_id}),o.push({recordId:e.id,capability:s.capability,completed:c})}c&&u.clear(),o.forEach(({recordId:e,capability:t})=>u.set(e,t)),c=!1,h(),e({el:d(),name:`ui:direct-upload-complete`,detail:{uploads:o.map(({completed:e})=>e)}})}catch(n){if(a.signal.aborted)v.send(`CANCEL`);else{let r=n instanceof Error?n.message:String(n);v.send({type:`FAIL`,error:r}),t.send.fail(n),e({el:d(),name:`ui:direct-upload-error`,detail:{error:r}})}throw n}finally{t.signal.removeEventListener(`abort`,o),r===a&&(r=null)}}}},h=r(`UiDirectUpload`,m),g=new WeakSet,_=e=>{g.has(e)||(g.add(e),h(e))};export{m as n,_ as t};
2
- //# sourceMappingURL=entry.generated-CC6pQ0nu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-CC6pQ0nu.js","names":[],"sources":["../../../../../../../../client/src/components/direct-upload/contract.ts","../../../../../../../../client/src/components/direct-upload/machine.ts","../../../../../../../../client/src/components/direct-upload/transport.ts","../../../../../../../../client/src/components/direct-upload/index.ts","../../../../../../../../client/src/components/direct-upload/entry.generated.ts"],"sourcesContent":["import {string, type SchemaToProps} from '../../runtime';\n\nconst directUploadSchema = {\n startUrl: string,\n completeUrl: string,\n purpose: string,\n};\n\ntype DirectUploadProps = SchemaToProps<typeof directUploadSchema>;\n\nexport {directUploadSchema};\nexport type {DirectUploadProps};\n","import {createMachine, type Machine, type MachineScope} from '../../runtime/state-machine';\nimport type {DirectUploadProps} from './contract';\n\ntype DirectUploadStatus = 'idle' | 'starting' | 'transferring' | 'completing' | 'complete' | 'failed' | 'canceled';\ntype DirectUploadContext = {status: DirectUploadStatus; uploadId: string; error: string};\ntype DirectUploadEffects = {sync(scope: MachineScope<DirectUploadContext, DirectUploadProps>): void};\n\nconst directUploadHooks = [] as const;\nconst contextFor = (\n status: DirectUploadStatus,\n scope: MachineScope<DirectUploadContext, DirectUploadProps>,\n): DirectUploadContext => ({\n status,\n uploadId: typeof scope.event.uploadId === 'string' ? scope.event.uploadId : scope.context.uploadId,\n error: typeof scope.event.error === 'string' ? scope.event.error : '',\n});\nconst reducerFor = (status: DirectUploadStatus) => (\n scope: MachineScope<DirectUploadContext, DirectUploadProps>,\n) => ({context: contextFor(status, scope)});\n\nconst createDirectUploadMachine = ({\n props,\n effects,\n}: {\n props: DirectUploadProps;\n effects: DirectUploadEffects;\n}): Machine<DirectUploadContext, DirectUploadProps> => createMachine<DirectUploadContext, DirectUploadProps>({\n initial: 'idle',\n states: {\n idle: {on: {START: {target: 'starting', reduce: 'starting', effects: 'sync'}}},\n starting: {\n on: {\n TRANSFER: {target: 'transferring', reduce: 'transferring', effects: 'sync'},\n FAIL: {target: 'failed', reduce: 'failed', effects: 'sync'},\n CANCEL: {target: 'canceled', reduce: 'canceled', effects: 'sync'},\n },\n },\n transferring: {\n on: {\n COMPLETE: {target: 'completing', reduce: 'completing', effects: 'sync'},\n FAIL: {target: 'failed', reduce: 'failed', effects: 'sync'},\n CANCEL: {target: 'canceled', reduce: 'canceled', effects: 'sync'},\n },\n },\n completing: {\n on: {\n SUCCEED: {target: 'complete', reduce: 'complete', effects: 'sync'},\n FAIL: {target: 'failed', reduce: 'failed', effects: 'sync'},\n CANCEL: {target: 'canceled', reduce: 'canceled', effects: 'sync'},\n },\n },\n complete: {on: {START: {target: 'starting', reduce: 'starting', effects: 'sync'}, CLEAR: {target: 'idle', reduce: 'idle', effects: 'sync'}}},\n failed: {on: {START: {target: 'starting', reduce: 'starting', effects: 'sync'}, CLEAR: {target: 'idle', reduce: 'idle', effects: 'sync'}}},\n canceled: {on: {START: {target: 'starting', reduce: 'starting', effects: 'sync'}, CLEAR: {target: 'idle', reduce: 'idle', effects: 'sync'}}},\n },\n}, {\n context: {status: 'idle', uploadId: '', error: ''},\n props,\n reducers: {\n idle: reducerFor('idle'),\n starting: reducerFor('starting'),\n transferring: reducerFor('transferring'),\n completing: reducerFor('completing'),\n complete: reducerFor('complete'),\n failed: reducerFor('failed'),\n canceled: reducerFor('canceled'),\n },\n effects,\n});\n\nexport {createDirectUploadMachine, directUploadHooks};\nexport type {DirectUploadContext, DirectUploadEffects, DirectUploadStatus};\n","type DirectUploadInstructions = {\n transport: string;\n method: 'POST';\n url: string;\n fields: Record<string, string>;\n file_field: string;\n};\n\ntype TransferOptions = {\n signal?: AbortSignal;\n onProgress?: (loaded: number, total: number) => void;\n capability?: string;\n};\n\nconst csrfToken = (): string => document.querySelector<HTMLMetaElement>('meta[name=\"csrf-token\"]')?.content ?? '';\nconst errorMessage = (payload: unknown, fallback: string): string => {\n if (!payload || typeof payload !== 'object') return fallback;\n const errors = Reflect.get(payload, 'errors');\n if (!errors || typeof errors !== 'object') return fallback;\n const first = Object.values(errors)[0];\n if (typeof first === 'string') return first;\n if (Array.isArray(first) && first.length > 0) {\n const value = first[0];\n if (typeof value === 'string') return value;\n if (value && typeof value === 'object' && typeof Reflect.get(value, 'message') === 'string') {\n return Reflect.get(value, 'message') as string;\n }\n }\n return fallback;\n};\n\nconst postDirectUpload = async <T>(\n url: string,\n data: Record<string, string | number>,\n options: {signal?: AbortSignal} = {},\n): Promise<T> => {\n const body = new FormData();\n Object.entries(data).forEach(([key, value]) => body.append(key, String(value)));\n const headers = new Headers();\n const csrf = csrfToken();\n if (csrf) headers.set('X-CSRFToken', csrf);\n const response = await fetch(url, {\n method: 'POST',\n body,\n headers,\n credentials: 'same-origin',\n ...(options.signal ? {signal: options.signal} : {}),\n });\n const payload = await response.json().catch(() => null) as T | null;\n if (!response.ok) throw new Error(errorMessage(payload, `Upload request failed (${response.status}).`));\n if (payload === null) throw new Error('Upload request returned no data.');\n return payload;\n};\n\nconst transferDirectUpload = (\n instructions: DirectUploadInstructions,\n file: File,\n options: TransferOptions = {},\n): Promise<void> => new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n const body = new FormData();\n Object.entries(instructions.fields).forEach(([key, value]) => body.append(key, value));\n const target = new URL(instructions.url, document.baseURI);\n const sameOrigin = target.origin === window.location.origin;\n if (sameOrigin) {\n const csrf = csrfToken();\n if (csrf) body.append('csrfmiddlewaretoken', csrf);\n if (!options.capability) {\n reject(new Error('A same-origin direct upload requires its upload capability.'));\n return;\n }\n body.append('capability', options.capability);\n }\n body.append(instructions.file_field, file);\n\n const cleanup = (): void => options.signal?.removeEventListener('abort', abort);\n const abort = (): void => request.abort();\n request.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable) options.onProgress?.(event.loaded, event.total);\n });\n request.addEventListener('load', () => {\n cleanup();\n if (request.status >= 200 && request.status < 300) {\n resolve();\n return;\n }\n let payload: unknown = null;\n try { payload = JSON.parse(request.responseText); } catch { /* response may be XML or empty */ }\n reject(new Error(errorMessage(payload, `Object transfer failed (${request.status}).`)));\n });\n request.addEventListener('error', () => { cleanup(); reject(new Error('Object transfer failed.')); });\n request.addEventListener('abort', () => { cleanup(); reject(new DOMException('Upload canceled.', 'AbortError')); });\n options.signal?.addEventListener('abort', abort, {once: true});\n if (options.signal?.aborted) {\n abort();\n return;\n }\n request.open(instructions.method, target.toString());\n request.send(body);\n});\n\nexport {postDirectUpload, transferDirectUpload};\nexport type {DirectUploadInstructions, TransferOptions};\n","import type Alpine from 'alpinejs';\n\nimport {\n createAlpineMachine,\n defineAlpineData,\n dispatch,\n type AlpineMachine,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport type {FileUploadTransition} from '../file-upload';\nimport {directUploadSchema, type DirectUploadProps} from './contract';\nimport {\n createDirectUploadMachine,\n directUploadHooks,\n type DirectUploadContext,\n} from './machine';\nimport {\n postDirectUpload,\n transferDirectUpload,\n type DirectUploadInstructions,\n} from './transport';\n\ntype ResolveFile = (id: string) => File | null;\ntype StartResponse = {upload_id: string; capability: string; instructions: DirectUploadInstructions};\ntype CompleteResponse = {upload_id: string; key: string};\n\ninterface UiDirectUploadApi {\n clear(): void;\n upload(transition: FileUploadTransition<'uploading'>, resolveFile: ResolveFile): Promise<void>;\n}\n\ntype DirectUploadData = AlpineMachine<DirectUploadContext, DirectUploadProps, typeof directUploadHooks>\n & UiDirectUploadApi\n & {init(): void; destroy(): void};\n\nconst UiDirectUpload = (): TrellisAlpineComponent<DirectUploadData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let activeController: AbortController | null = null;\n let disconnectFileUpload: (() => void) | null = null;\n let selectedFileIds = new Set<string>();\n let replaceOnCommit = false;\n const capabilities = new Map<string, string>();\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Direct upload has not been initialized.');\n return rootEl;\n };\n const valuesRoot = (): HTMLElement => {\n const container = root().querySelector<HTMLElement>('[data-ui-direct-upload-values]');\n if (!container) throw new Error('Direct upload requires a hidden values container.');\n return container;\n };\n const syncValues = (): boolean => {\n const container = valuesRoot();\n const current = [...container.querySelectorAll<HTMLInputElement>('[data-ui-direct-upload-value]')]\n .map((input) => input.value)\n .filter(Boolean);\n const next = [...capabilities.values()];\n if (current.length === next.length && current.every((value, index) => value === next[index])) return false;\n const inputs = [...capabilities.entries()].map(([key, capability]) => {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = root().dataset.name ?? '';\n input.value = capability;\n input.dataset.uiDirectUploadValue = '';\n input.dataset.uploadKey = key;\n return input;\n });\n if (inputs.length === 0) {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = root().dataset.name ?? '';\n input.dataset.uiDirectUploadValue = '';\n inputs.push(input);\n }\n container.replaceChildren(...inputs);\n const changed = inputs[0];\n if (changed) {\n changed.dispatchEvent(new Event('input', {bubbles: true}));\n changed.dispatchEvent(new Event('change', {bubbles: true}));\n }\n return true;\n };\n const syncDom = (): void => {\n const snapshot = bridge.getCommittedSnapshot();\n root().dataset.uploadState = snapshot.context.status;\n if (snapshot.context.error) root().dataset.uploadError = snapshot.context.error;\n else delete root().dataset.uploadError;\n };\n const clearUpload = (): void => {\n activeController?.abort();\n activeController = null;\n capabilities.clear();\n selectedFileIds.clear();\n replaceOnCommit = false;\n const changed = syncValues();\n const fileUpload = root().querySelector<HTMLElement>('[data-ui-file-upload-root]');\n if (fileUpload?.querySelector('[data-ui-file-upload-item][data-existing-file]:not([hidden])')) {\n fileUpload.dispatchEvent(new CustomEvent('trellis:file-upload-clear-existing'));\n }\n bridge.send('CLEAR');\n if (changed) dispatch({el: root(), name: 'ui:direct-upload-clear'});\n };\n const bridge = createAlpineMachine({\n schema: directUploadSchema,\n hooks: directUploadHooks,\n createMachine: ({props}) => createDirectUploadMachine({props, effects: {sync: syncDom}}),\n });\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n bridge.connect(rootEl, this.snapshot);\n rootEl.querySelectorAll<HTMLInputElement>('[data-ui-direct-upload-value]')\n .forEach((input, index) => {\n if (input.value) capabilities.set(input.dataset.uploadKey ?? `existing-${index}`, input.value);\n });\n const handleFileChange = (event: Event): void => {\n if (!(event instanceof CustomEvent)) return;\n const detail = event.detail as {\n files?: Array<{id?: unknown}>;\n removedExistingIds?: unknown;\n source?: unknown;\n } | undefined;\n const fileIds = new Set(\n (detail?.files ?? []).flatMap(({id}) => typeof id === 'string' ? [id] : []),\n );\n const removedExistingIds = Array.isArray(detail?.removedExistingIds)\n ? detail.removedExistingIds.filter((id): id is string => typeof id === 'string')\n : [];\n if (removedExistingIds.length > 0) {\n removedExistingIds.forEach((id) => capabilities.delete(id));\n selectedFileIds = fileIds;\n syncValues();\n if (capabilities.size === 0 && fileIds.size === 0) bridge.send('CLEAR');\n return;\n }\n if (detail?.source === 'picker' || detail?.source === 'drop') {\n if (fileIds.size === 0) {\n selectedFileIds.clear();\n replaceOnCommit = false;\n return;\n }\n const replacesExisting = [...capabilities.keys()].some((key) => key.startsWith('existing-'));\n replaceOnCommit = detail.source === 'picker'\n || Number(root().dataset.maxItems ?? '1') === 1\n || replacesExisting;\n selectedFileIds = fileIds;\n return;\n }\n const removedIds = [...selectedFileIds].filter((id) => !fileIds.has(id));\n removedIds.forEach((id) => capabilities.delete(id));\n selectedFileIds = fileIds;\n syncValues();\n if (capabilities.size === 0 && fileIds.size === 0) bridge.send('CLEAR');\n };\n rootEl.addEventListener('ui:file-upload-change', handleFileChange);\n disconnectFileUpload = () => rootEl?.removeEventListener('ui:file-upload-change', handleFileChange);\n syncDom();\n },\n destroy(): void {\n activeController?.abort();\n activeController = null;\n disconnectFileUpload?.();\n disconnectFileUpload = null;\n capabilities.clear();\n selectedFileIds.clear();\n replaceOnCommit = false;\n bridge.disconnect();\n rootEl = null;\n },\n clear(): void {\n clearUpload();\n },\n async upload(transition, resolveFile): Promise<void> {\n const records = transition.data.files;\n if (records.length === 0) return;\n\n activeController?.abort();\n const controller = new AbortController();\n activeController = controller;\n const cancel = (): void => controller.abort();\n transition.signal.addEventListener('abort', cancel, {once: true});\n try {\n const props = bridge.getCommittedSnapshot().props;\n const completedBatch: Array<{recordId: string; capability: string; completed: CompleteResponse}> = [];\n for (const record of records) {\n const file = resolveFile(record.id);\n if (!file) throw new Error('The selected file is no longer available.');\n bridge.send('START');\n const started = await postDirectUpload<StartResponse>(props.startUrl, {\n purpose: props.purpose,\n original_name: file.name,\n content_type: file.type || 'application/octet-stream',\n size: file.size,\n }, {signal: controller.signal});\n bridge.send({type: 'TRANSFER', uploadId: started.upload_id});\n await transferDirectUpload(started.instructions, file, {\n signal: controller.signal,\n capability: started.capability,\n onProgress: (loaded, total) => transition.send.progress(record.id, loaded, total),\n });\n bridge.send('COMPLETE');\n const completed = await postDirectUpload<CompleteResponse>(props.completeUrl, {\n capability: started.capability,\n }, {signal: controller.signal});\n transition.send.progress(record.id, record.bytes, record.bytes);\n bridge.send({type: 'SUCCEED', uploadId: completed.upload_id});\n completedBatch.push({recordId: record.id, capability: started.capability, completed});\n }\n if (replaceOnCommit) capabilities.clear();\n completedBatch.forEach(({recordId, capability}) => capabilities.set(recordId, capability));\n replaceOnCommit = false;\n syncValues();\n dispatch({\n el: root(),\n name: 'ui:direct-upload-complete',\n detail: {uploads: completedBatch.map(({completed}) => completed)},\n });\n } catch (error) {\n if (controller.signal.aborted) {\n bridge.send('CANCEL');\n } else {\n const reason = error instanceof Error ? error.message : String(error);\n bridge.send({type: 'FAIL', error: reason});\n transition.send.fail(error);\n dispatch({el: root(), name: 'ui:direct-upload-error', detail: {error: reason}});\n }\n throw error;\n } finally {\n transition.signal.removeEventListener('abort', cancel);\n if (activeController === controller) activeController = null;\n }\n },\n };\n};\n\nconst registerDirectUpload = defineAlpineData('UiDirectUpload', UiDirectUpload);\n\nexport {registerDirectUpload, UiDirectUpload};\nexport type {DirectUploadData, UiDirectUploadApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerDirectUpload as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerDirectUpload = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerDirectUpload};\nexport default registerDirectUpload;\nexport * from './index';\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{n as e,r as t,s as n,t as r}from"./dom-DiTFTWeR.js";import{t as i}from"./capability-motion-B32HePGn.js";import{n as a}from"./morph-Cq3V_23_.js";import{c as o,f as s,l as c,n as l,s as u,u as d}from"./codecs-CQ7olTJL.js";import{i as f,t as ee}from"./alpine-machine-CE2UN4Qu.js";import{t as p}from"./focus-pk_lz9sg.js";import{n as m,t as te}from"./alpine-data-Dvc_bXq6.js";import{r as ne,t as h}from"./capability-anchor-lhqk7hfo.js";import{n as g,t as _}from"./styles-CX2j92ex.js";import{t as re}from"./merge-bindings-BtqW3UgP.js";import{t as ie}from"./machine-CNnHDbyo.js";import{n as v,t as y}from"./props-change-2xfsIAEN.js";import{t as ae}from"./dismissable-layer-BROE-Ln2.js";import{i as oe,n as se,r as ce,t as le}from"./form-control-DL1Hkox3.js";import{i as ue}from"./focus-scope-BrYxsrhc.js";import{t as de}from"./semantic-observer-CIoriWtV.js";import{t as b}from"./scroll-lock-C5dQtr4Y.js";import{I as fe,L as pe,M as me,N as he,P as x,_ as S,a as C,c as w,d as ge,f as T,h as _e,i as E,j as D,m as O,n as ve,o as k,p as A,r as ye,t as j,z as be}from"./common-CBK89mIt.js";import{a as xe}from"./styles-CQDZhwd_.js";import{n as Se,t as Ce}from"./item-template-DSfME41Q.js";var we=e=>e.trim().toLowerCase(),Te=e=>{if(e)try{return JSON.parse(e)}catch{return}},Ee=(e,t)=>{if(t&&e!=null)return t.split(`.`).reduce((e,t)=>{if(typeof e==`object`&&e)return e[t]},e)},De=[`soft`,`surface`,`outline`,`solid`],Oe=[`neutral`,`accent`,`success`,`warning`,`danger`],M=k,N=[`span`,`button`],P=ve,F=S,ke=ye;c(De,`soft`),c(Oe,`neutral`),c(M,`sm`),c(ke,`sm`),c(N,`span`),c(P,`button`),c(F,`mini`),c(P,`button`),s.default(`close`),c(F,`mini`),c(M,`sm`),s.default(`Remove`);var Ae=[`listbox`,`combobox`,`pillbox`,`native`],I=w,L=k,je=ye,R=pe,z=j,B=S,Me=[`stay`,`close`],Ne=[`check`,`checkbox`,`none`],Pe=be,Fe=ge,Ie={name:s,optionsId:s,value:s,values:u.array([]),placeholder:s,mode:c(Ae,`listbox`),multiple:l,searchable:l,searchMinItems:o.min(0).default(5),virtualized:l,optionsFetchUrl:s,optionsTotalItems:o.min(0).default(0),optionItemSize:o.min(2**-52).default(36),optionBufferSize:o.min(1).default(50),optionOverscan:o.min(0).default(0),optionSearchParam:s.default(`q`),optionSearchDebounce:o.min(0).default(150),selectedLabelMap:u.object({}),creatable:l,filter:l.default(!0),clearable:l,clear:c(Me,`stay`),suffix:s.default(`selected`),mark:c(Ne,`check`),open:l,disabled:l,readonly:l,required:l,invalid:l,autoHighlight:l.default(!0),loop:l.default(!0),path:s,size:c(L,`lg`),variant:c(I,`outline`),radius:c(je,`md`),surface:c(Pe,`+2`),elevation:c(Fe,`3`),side:c(R,`bottom`),align:c(z,`start`),offset:o.clamp(-100,100).default(0),gap:o.clamp(0,50).default(4),empty:s.default(`No results found.`),icon:s,iconTrailing:s.default(`chevron__down`),iconVariant:c(B,`outline`),buttonClass:s,inputClass:s,listboxClass:s,optionClass:s,chipVariant:c(De,`soft`),chipColor:c(Oe,`neutral`),chipClass:s,class:s};c(B,`outline`),o.clamp(0,100).default(0);var Le=[f({name:`opening`,state:`disclosure.opening`,project:()=>({}),onDone:`OPENING_DONE`,onError:`OPENING_ERROR`,sends:{close:()=>({type:`CLOSE`})}}),f({name:`closing`,state:`disclosure.closing`,project:()=>({}),onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`,sends:{open:()=>({type:`OPEN`})}}),f({name:`searching`,state:`feature.searching`,project:e=>({query:e.context.search.query,optionsId:e.context.search.optionsId}),onDone:`SEARCHING_DONE`,onError:`SEARCHING_ERROR`,sends:{search:e=>({type:`SEARCH`,query:e}),close:()=>({type:`CLOSE`})}}),f({name:`creating`,state:`feature.creating`,project:e=>({query:e.context.search.query,value:e.context.creation.value}),onDone:`CREATING_DONE`,onError:`CREATING_ERROR`,sends:{close:()=>({type:`CLOSE`})}})],V=e=>v(e)?.props??null,Re=e=>e.disabled||e.readonly,H=({event:e})=>{let t=V(e);return!t||Re(t)||!t.open?!1:y(e,`open`,`disabled`,`readonly`)},ze=({event:e})=>{let t=V(e);return t?y(e,`open`)&&!t.open||y(e,`disabled`)&&t.disabled||y(e,`readonly`)&&t.readonly:!1},Be=({event:e})=>{let t=V(e);return!!(t&&(y(e,`disabled`)&&t.disabled||y(e,`readonly`)&&t.readonly||y(e,`searchable`)&&!t.searchable))},Ve=e=>!Array.isArray(e.selection)||!e.selection.every(e=>typeof e==`object`&&!!e&&typeof e.value==`string`&&typeof e.label==`string`)?null:e.selection.map(({value:e,label:t})=>({value:e,label:t})),He=({props:e,context:t,effects:n})=>ie({type:`parallel`,on:{DOM_INVALIDATED:{effects:`syncDom`}},states:{disclosure:{initial:`closed`,states:{closed:{tags:[`closed`],on:{OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},SEARCH:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:{target:`opening`,guard:H,effects:`prepareOpen`}}},opening:{tags:[`visible`,`expanded`,`interactive`,`transitioning`],on:{OPENING_DONE:{target:`open`,effects:`finishOpen`},OPENING_ERROR:{target:`open`,effects:`finishOpen`},CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},CREATE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:`single`,effects:`prepareClose`},CLEAR:{target:`closing`,guard:`clearCloses`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:ze,effects:`prepareClose`}}},open:{tags:[`visible`,`expanded`,`interactive`,`open`],on:{CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},CREATE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:`single`,effects:`prepareClose`},CLEAR:{target:`closing`,guard:`clearCloses`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:ze,effects:`prepareClose`}}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:{target:`closed`,effects:`finishClose`},CLOSING_ERROR:{target:`closed`,effects:`finishClose`},OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},SEARCH:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:{target:`opening`,guard:H,effects:`prepareOpen`}}}}},feature:{initial:`idle`,on:{SELECT:{reduce:`replaceSelection`,effects:`commitSelection`},DESELECT:{reduce:`replaceSelection`,effects:`commitSelection`},SELECT_ALL:{reduce:`replaceSelection`,effects:`commitSelection`},RECONCILE_SELECTION:{reduce:`replaceSelection`,effects:`syncActive`},CLEAR:{reduce:`clear`,effects:`commitSelection`},ACTIVE:{reduce:`setActive`,effects:`syncActive`},OPTIONS_CHANGED:{effects:`syncOptions`},CLOSING_DONE:{reduce:`resetTransient`,effects:`syncActive`},CLOSING_ERROR:{reduce:`resetTransient`,effects:`syncActive`}},states:{idle:{on:{CLOSE:{},SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`syncProps`}}},searching:{tags:[`searching`],on:{SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},CLOSE:{target:`idle`},SEARCHING_DONE:`idle`,SEARCHING_ERROR:`idle`,PROPS_CHANGED:[{target:`idle`,guard:Be,reduce:`replaceProps`,effects:`syncProps`},{reduce:`replaceProps`,effects:`syncProps`}]}},creating:{tags:[`creating`],on:{SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},CLOSE:{target:`idle`},CREATING_DONE:{target:`idle`},CREATING_ERROR:{target:`idle`},PROPS_CHANGED:[{target:`idle`,guard:Be,reduce:`replaceProps`,effects:`syncProps`},{reduce:`replaceProps`,effects:`syncProps`}]}}}}}},{context:t,props:e,reducers:{replaceProps:({event:e})=>{let t=V(e);return t?{props:t}:void 0},replaceSelection:({context:e,event:t})=>{let n=Ve(t);if(n)return{context:{...e,selection:n}}},clear:({context:e})=>({context:{...e,selection:[],search:{...e.search,query:``},navigation:{activeValue:``}}}),setSearch:({context:e,event:t})=>({context:{...e,search:{query:typeof t.query==`string`?t.query:``,optionsId:typeof t.optionsId==`string`?t.optionsId:e.search.optionsId},navigation:{activeValue:typeof t.activeValue==`string`?t.activeValue:e.navigation.activeValue}}}),setActive:({context:e,event:t})=>({context:{...e,navigation:{activeValue:typeof t.value==`string`?t.value:``}}}),setCreation:({context:e,event:t})=>({context:{...e,creation:{value:typeof t.value==`string`?t.value:e.search.query}}}),resetTransient:({context:e})=>({context:{...e,search:{...e.search,query:``},navigation:{activeValue:``},creation:{value:``}}})},guards:{canOpen:({props:e})=>!Re(e),single:({props:e})=>!e.multiple,clearCloses:({props:e})=>e.clear===`close`},effects:{prepareOpen:n.prepareOpen,finishOpen:n.finishOpen,prepareClose:n.prepareClose,finishClose:n.finishClose,commitSelection:n.commitSelection,commitSearch:n.commitSearch,prepareCreate:n.prepareCreate,syncProps:n.syncProps,syncOptions:n.syncOptions,syncActive:n.syncActive,syncDom:n.syncDom}}),Ue=640,We=256,Ge=520,Ke=.72,qe=12,U=16,Je=720,Ye=720,Xe=({viewportWidth:e,viewportHeight:t,layoutViewportHeight:n,referenceTop:r,referenceBottom:i,touch:a})=>{if(e<=Ue)return`fullscreen`;let o=t<Ge||t<n*Ke;if(a&&o)return`fullscreen`;if(a)return`dialog`;let s=Math.max(0,r),c=Math.max(0,t-i);return Math.max(s,c)<We?`dialog`:`anchored`},Ze=()=>{let e=window.visualViewport;return e?{width:e.width,height:e.height,offsetTop:e.offsetTop,offsetLeft:e.offsetLeft}:{width:window.innerWidth,height:window.innerHeight,offsetTop:0,offsetLeft:0}},Qe=()=>window.matchMedia?.(`(any-pointer: coarse)`).matches===!0||navigator.maxTouchPoints>0,$e=e=>{let t=ne(e),n=!1,r=`anchored`,i=null,a=null,o=()=>e.floating(),s=e=>{e?i??=b(o().ownerDocument):(i?.(),i=null)},c=e=>{e.style.removeProperty(`border-radius`),e.style.removeProperty(`height`),e.style.removeProperty(`inset`),e.style.removeProperty(`max-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`position`),e.style.removeProperty(`transform-origin`),e.style.removeProperty(`width`)},l=(e,t)=>{let n=Ze(),r=t===`dialog`?U:qe,i=t===`dialog`?Je:1/0,a=t===`dialog`?Ye:1/0,o=Math.min(i,Math.max(0,n.width-r*2)),s=Math.min(a,Math.max(0,n.height-r*2)),c=n.offsetLeft+(n.width-o)/2,l=n.offsetTop+(n.height-s)/2;Object.assign(e.style,{borderRadius:`var(--radius-overlay-md)`,position:`fixed`,inset:`${l}px auto auto ${c}px`,width:`${o}px`,height:`${s}px`,maxWidth:`none`,maxHeight:`none`,transformOrigin:`center`})},u=()=>{let t=Ze(),n=e.reference().getBoundingClientRect();return Xe({viewportWidth:t.width,viewportHeight:t.height,layoutViewportHeight:window.innerHeight,referenceTop:n.top-t.offsetTop,referenceBottom:n.bottom-t.offsetTop,touch:Qe()})},d=()=>{if(!n)return;let i=o(),a=u();r=a,i.dataset.presentation=a;let d=i.querySelector(`[data-ui-select-sheet-heading]`);if(d&&(d.style.display=a===`anchored`?`none`:`flex`),a===`anchored`){i.removeAttribute(`aria-modal`),i.removeAttribute(`aria-labelledby`),i.removeAttribute(`role`),s(!1),c(i),t.mount();return}t.unmount(),i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-modal`,`true`),i.setAttribute(`aria-labelledby`,e.labelId()),s(!0),l(i,a)},f=()=>{let e=()=>d(),t=window.visualViewport,n=window.matchMedia?.(`(any-pointer: coarse)`);return window.addEventListener(`resize`,e),window.addEventListener(`orientationchange`,e),t?.addEventListener(`resize`,e),t?.addEventListener(`scroll`,e),n?.addEventListener(`change`,e),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`orientationchange`,e),t?.removeEventListener(`resize`,e),t?.removeEventListener(`scroll`,e),n?.removeEventListener(`change`,e)}},ee=()=>{if(!n){n=!0;try{o().showPopover()}catch{}d(),a=f()}},p=()=>{if(n){n=!1,a?.(),a=null,t.unmount(),s(!1);try{o().hidePopover()}catch{}}};return{opened:()=>n,open:ee,close:p,sync:d,destroy:p,presentation:()=>r}},W=_({definition:{component:`ui.select`,parts:{root:{base:`relative inline-grid w-full min-w-0`},control:{base:_e,variants:{size:E,radius:C,variant:{outline:``,filled:``,plain:``},mode:{listbox:``,combobox:``,pillbox:`flex-wrap gap-1 py-0.5`,native:``},empty:{true:``,false:``}},compounds:[{when:{mode:`pillbox`,empty:!1},class:`!pl-1.5`}],defaults:{size:`lg`,variant:`outline`,radius:`md`,mode:`listbox`,empty:!1}},button:{base:[`flex min-w-0 flex-1 items-center gap-2 border-0 bg-transparent p-0 text-left text-inherit outline-none`]},pillboxTrigger:{base:`min-w-16 self-stretch`},value:{base:`min-w-0 flex-1 truncate`},placeholder:{base:`min-w-0 flex-1 truncate text-surface-ink-muted`},input:{base:[`w-full min-w-16 flex-1`,A]},search:{base:[`flex min-h-control-xlg shrink-0 items-center gap-2 px-3`,`text-sm`]},searchInput:{base:[`min-w-0 flex-1 text-sm`,A]},sheetHeader:{base:``},sheetHeading:{base:`min-w-0 items-center gap-3 px-4 pt-4`},sheetTitle:{base:`min-w-0 flex-1 truncate text-base font-medium`},sheetClose:{base:[`inline-flex size-control-md shrink-0 items-center justify-center rounded-control-sm border-0 bg-transparent`,`text-surface-ink-muted outline-none focus-visible:ui-focus-ring`]},chips:{base:`flex min-w-0 flex-wrap items-center gap-1`},chip:{base:[`max-w-64`]},chipLabel:{base:`flex min-w-0 flex-1 items-center`},chipPlainLabel:{base:`block min-w-0 flex-1 truncate`},chipRemove:{base:``},icon:{base:`size-icon shrink-0 fill-current text-surface-ink-muted`,variants:{position:{leading:``,trailing:``}},defaults:{position:`leading`}},action:{base:T},popover:{base:[fe,`overflow-hidden rounded-overlay-sm`]},listbox:{base:`min-h-0 min-w-0 max-w-full overflow-hidden outline-none`},viewport:{base:`min-h-0 min-w-0 max-w-full`},options:{base:`grid w-full min-w-0 max-w-full auto-rows-min content-start gap-1 p-popover-padding`},virtualOptions:{base:`grid w-full min-w-0 max-w-full auto-rows-min content-start gap-1 px-popover-padding`},create:{base:`shrink-0 p-popover-padding`},option:{base:[he,`min-w-0 max-w-full overflow-hidden`,`[&:has([data-ui-select-option-label]>*+*)]:h-auto`,`[&:has([data-ui-select-option-label]>*+*)]:items-start`,`[&:has([data-ui-select-option-label]>*+*)]:py-2`]},optionLabel:{base:`min-w-0 flex-1 truncate`},optionMeta:{base:x},optionIcon:{base:D,variants:{position:{leading:``,trailing:`ml-auto`}},defaults:{position:`leading`}},optionIndicator:{base:me},group:{base:`grid auto-rows-min content-start gap-1`},label:{base:`px-menu-item-padding-inline py-1`},empty:{base:`px-menu-item-padding-inline py-2 text-sm text-surface-ink-muted`},separatorRoot:{base:`-mx-popover my-popover h-[var(--border-width-edge-separator)]`},separatorRule:{base:`h-[var(--border-width-edge-separator)] w-full border-0`},nativeWrapper:{base:`relative w-full min-w-0`},native:{base:[O,`appearance-none pe-10`],variants:{size:E,radius:C},defaults:{size:`lg`,radius:`md`}},nativeIcon:{base:`pointer-events-none absolute right-3 top-1/2 size-icon -translate-y-1/2 fill-current text-icon`}}}}),et=class{ordinaryCount;filter;records;projections=new Map;constructor({root:t,listboxId:n,props:r,resolveLabel:i,rememberLabel:a}){this.filter=r.filter,this.records=Array.from(t.querySelectorAll(G)).map((t,a)=>{let o=i(t,r),s=t.dataset.value||o,c=t.hasAttribute(`data-ui-select-option-create`);return{el:t,id:t.id||`${n}-option-${a}`,value:s,label:o,selectedLabel:t.dataset.selectedLabel||o,disabled:e({value:t.dataset.disabled}),create:c,minLength:Number(t.dataset.minLength??`0`),suffix:t.dataset.suffix??``}});let o=new Set;this.records.forEach(e=>{e.create||o.has(e.value)||(o.add(e.value),a(e.value,e.selectedLabel))}),this.ordinaryCount=this.records.filter(e=>!e.create).length}project(e,t){let n=t.map(({value:e})=>e),r=JSON.stringify([e,n]),i=this.projections.get(r);if(i)return i;let a=we(e),o=a!==``&&this.records.some(e=>!e.create&&we(e.label)===a),s=this.records.map(t=>{let r=!a||we(`${t.label} ${t.suffix}`).includes(a);return{...t,value:t.create?t.el.dataset.value||e:t.value,selected:n.includes(t.value),visible:t.create?!o&&e.length>=t.minLength:!this.filter||a===``||r}}),c=new Map,l=new Map;s.forEach(e=>{c.has(e.value)||c.set(e.value,e),l.set(e.el,e)});let u={options:s,enabled:s.filter(e=>e.visible&&!e.disabled&&!e.create),firstByValue:c,byElement:l};return this.projections.set(r,u),u}},G=`[data-ui-select-option], [data-ui-select-option-create]`,K=`template[data-ui-select-option-selected-template]`,q=new Set([`A`,`AREA`,`BUTTON`,`DETAILS`,`EMBED`,`IFRAME`,`INPUT`,`OBJECT`,`OPTION`,`SELECT`,`SUMMARY`,`TEXTAREA`]),tt=new Set([`SCRIPT`,`STYLE`]),J=new Set([`autofocus`,`contenteditable`,`controls`,`download`,`draggable`,`form`,`formaction`,`formenctype`,`formmethod`,`formnovalidate`,`formtarget`,`href`,`id`,`name`,`popover`,`popovertarget`,`popovertargetaction`,`role`,`tabindex`,`target`]),Y=e=>J.has(e)||e.startsWith(`aria-`)&&e!==`aria-hidden`||e.startsWith(`data-ui-select`)||e===`data-ui-interactive`||e.startsWith(`data-ui-action`)||e.startsWith(`data-selected`)||e.startsWith(`data-highlighted`)||e.startsWith(`data-disabled`)||e.startsWith(`x-`)||e.startsWith(`hx-`)||e.startsWith(`v-`)||e.startsWith(`wire:`)||e.startsWith(`@`)||e.startsWith(`:`)||e.startsWith(`on`),X=e=>{if(!(e instanceof Element))return e;let t=e.localName.toUpperCase();if(tt.has(t))return null;let n=e;return(q.has(t)||e.hasAttribute(`contenteditable`))&&(n=document.createElement(`span`),Array.from(e.attributes).forEach(e=>{Y(e.name)||n.setAttribute(e.name,e.value)}),n.append(...Array.from(e.childNodes))),Array.from(n.attributes).forEach(e=>{Y(e.name)&&n.removeAttribute(e.name)}),Array.from(n.childNodes).forEach(e=>{let t=X(e);t?t!==e&&e.replaceWith(t):e.remove()}),n.setAttribute(`x-ignore`,`true`),n},nt=e=>{let t=document.createDocumentFragment();return Array.from(e).forEach(e=>{if(e instanceof HTMLTemplateElement&&e.matches(K))return;let n=X(e.cloneNode(!0));n&&t.append(n)}),t},rt=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),Z=i=>{let o=null,s=!1,c=``,l=``,u=``,f=``,m=null,ne=null,h=null,_,ie=``,v=new Map,y=!1,b=!1,fe=null,pe=``,me=0,he=0,x=0,S=0,C=null,w=null,ge=new Map,T=()=>{if(!o)throw Error(`Select has not been initialized.`);return o},_e=()=>{let e=T().querySelector(`[data-ui-select-control]`);if(!e)throw Error(`Select requires a control element.`);return e},E=()=>{let e=T().querySelector(`[data-ui-select-trigger], [data-ui-select-button], [data-ui-select-input]`);if(!e)throw Error(`Select requires a trigger element.`);return e},D=()=>T().querySelector(`[data-ui-select-input]`),O=()=>T().querySelector(`[data-ui-select-search-input]`),ve=()=>{let e=T().querySelector(`[data-ui-select-sheet-title]`);if(!e)throw Error(`Select requires an adaptive picker title.`);return e},k=()=>{let e=T().querySelector(`[data-ui-select-popover]`);if(!e)throw Error(`Select requires a popover element.`);return e},A=()=>{let e=T().querySelector(`[data-ui-select-listbox]`);if(!e)throw Error(`Select requires a listbox element.`);return e},ye=()=>{let e=T().querySelector(`[data-ui-select-options]`);if(!e)throw Error(`Select requires an options element.`);return e},j=()=>T().querySelector(`[data-ui-select-virtualizer]`),be=()=>j()?._x_dataStack?.find(e=>typeof e.setUrl==`function`&&typeof e.setTotalItems==`function`)??null,De=()=>T().querySelector(`[data-ui-select-chips]`),Oe=()=>T().querySelector(`[data-ui-select-hidden-inputs]`),M=()=>J.getCommittedSnapshot().props,N=()=>J.getCommittedSnapshot().context,P=()=>J.hasTag(`expanded`),F=()=>J.hasTag(`visible`),ke=(e,t)=>{let n=e.dataset.label||e.getAttribute(`aria-label`)||``;if(n)return n;if(e.dataset.textValue)return e.dataset.textValue;let r=Ee(Te(e.dataset.item),t.path);return r==null?(e.querySelector(`[data-ui-select-option-label]`)?.textContent??e.textContent??``).trim():String(r)},Ae=(e=M())=>new et({root:T(),listboxId:u,props:e,resolveLabel:ke,rememberLabel:(e,t)=>ge.set(e,t)}),I=(e,t)=>{if(w)return e(w);w=Ae(t);try{return e(w)}finally{w=null}},L=(e=N().selection)=>e.map(({value:e})=>e),je=(e=N().selection)=>e.map(({label:e})=>e),R=(e,t=N().search.query,n=N().selection)=>e.project(t,n),z=e=>{let t=M();if(!O())return!1;if(t.mode===`combobox`)return!0;let n=e.ordinaryCount;return(t.virtualized?Math.max(n,t.optionsTotalItems,S):n)>=t.searchMinItems},B=(e,t,n=M())=>{let r=Array.from(new Set(e.filter(Boolean))),i=n.multiple?r:r.slice(0,1),a=t.project(``,[]);return i.map(e=>({value:e,label:a.firstByValue.get(e)?.selectedLabel??ge.get(e)??(typeof n.selectedLabelMap[e]==`string`?n.selectedLabelMap[e]:void 0)??e}))},Me=e=>e.multiple?Array.from(new Set([...e.values,...e.value?[e.value]:[]])):e.value?[e.value]:e.values.slice(0,1),Ne=t=>I(n=>{let r=Me(t),i=n.project(``,[]).options.filter(t=>e({value:t.el.dataset.selected})).map(e=>e.value);return{selection:B(r.length>0?r:i,n,t),search:{query:``,optionsId:``},navigation:{activeValue:``},creation:{value:``}}},t),Pe=()=>{let{selection:e}=N(),t=M();return e.length===0||t.mode===`pillbox`&&t.multiple?``:t.multiple&&e.length>1?`${e.length} ${t.suffix}`:e[0]?.label??e[0]?.value??``},Fe=e=>{let t=e.el.querySelector(K);return t?nt(t.content.childNodes):null},V=e=>{let t=Fe(e);if(t)return t;let n=e.el.querySelector(`[data-ui-select-option-selected-content]`)??e.el.querySelector(`[data-ui-select-option-label]`);if(n)return nt(n.childNodes);let r=document.createDocumentFragment();return r.append(document.createTextNode(e.selectedLabel)),r},Re=()=>{let e=M();if(s){let t=L();(P()||!e.open||!e.disabled&&!e.readonly)&&d({el:T(),schema:Ie,key:`open`,value:P()}),d({el:T(),schema:Ie,key:`value`,value:e.multiple?``:t[0]??``}),d({el:T(),schema:Ie,key:`values`,value:e.multiple?[...t]:[]})}T().dataset.state=P()?`open`:`closed`,T().dataset.mark=e.mark,se({el:T(),state:{disabled:e.disabled,required:e.required,invalid:e.invalid},value:`true`})},H=()=>M().mode===`pillbox`&&M().multiple,ze=()=>{let e=M(),t=H()&&N().selection.length===0,r=_e();r.className=g({part:W.parts.control,props:{...e,mode:H()?`pillbox`:e.mode===`combobox`?`combobox`:`listbox`,empty:t}}),r.dataset.state=P()?`open`:`closed`,r.dataset.mode=H()?`pillbox`:e.mode,n({el:r,attr:`data-ui-select-pillbox-control`,present:H(),value:``}),n({el:r,attr:`data-empty`,present:t,value:`true`}),se({el:r,state:{disabled:e.disabled,invalid:e.invalid},value:`true`})},Be=e=>{let t=M(),r=E();r.id||=c,r.dataset.state=P()?`open`:`closed`,r.setAttribute(`aria-haspopup`,`listbox`),r.setAttribute(`aria-expanded`,P()?`true`:`false`),r.setAttribute(`aria-controls`,u),n({el:r,attr:`aria-invalid`,present:t.invalid,value:`true`}),r instanceof HTMLButtonElement&&(r.disabled=t.disabled);let i=Pe(),a=T().querySelector(`[data-ui-select-button-value]`),o=T().querySelector(`[data-ui-select-button-placeholder]`);if(a){a.replaceChildren();let t=N().selection.length===1&&i?e.project(``,N().selection).firstByValue.get(N().selection[0]?.value??``):void 0;t?a.append(V(t)):a.textContent=i,a.hidden=i===``}o&&(o.hidden=H()?N().selection.length>0:i!==``),T().querySelectorAll(`[data-ui-select-clear], [data-ui-select-button-clear]`).forEach(e=>{e.hidden=t.disabled||!t.clearable||N().selection.length===0,e instanceof HTMLButtonElement&&(e.disabled=t.disabled)}),T().querySelectorAll(`[data-ui-select-search-clear]`).forEach(e=>{e.hidden=t.disabled||!N().search.query,e instanceof HTMLButtonElement&&(e.disabled=t.disabled)})},Ve=e=>{let t=M(),n=N(),r=D();r&&(r.id||=l,r.className=g({part:W.parts.input,className:t.inputClass}),r.value=H()||P()&&y?n.search.query:Pe(),r.placeholder=H()&&n.selection.length>0?``:t.placeholder,r.setAttribute(`role`,`combobox`),r.setAttribute(`autocomplete`,`off`),r.setAttribute(`aria-autocomplete`,`list`),r.setAttribute(`aria-expanded`,P()?`true`:`false`),r.setAttribute(`aria-controls`,u),ce({input:r,state:{disabled:t.disabled,readonly:t.readonly,required:t.required,nativeRequired:!1,invalid:t.invalid,ariaRequired:t.required}}));let i=O();if(i){let r=i.closest(`[data-ui-select-search]`);r&&(r.hidden=!z(e)),i.value=n.search.query,i.disabled=t.disabled,i.readOnly=t.readonly}let a=R(e).firstByValue.get(n.navigation.activeValue);[E(),r,i,A()].forEach(e=>{a?.id?e?.setAttribute(`aria-activedescendant`,a.id):e?.removeAttribute(`aria-activedescendant`)})},Ue=()=>{let e=M(),t=k(),r=A();t.id=`${u}-popover`,t.className=g({part:W.parts.popover,props:e,className:e.listboxClass}),t.dataset.uiSurface=e.surface,t.dataset.uiElevation=e.elevation,t.setAttribute(`popover`,`manual`),t.dataset.state=P()?`open`:`closed`,t.hidden=!F(),r.id=u,r.setAttribute(`role`,`listbox`),r.tabIndex=-1,r.setAttribute(`aria-labelledby`,E().id),n({el:r,attr:`aria-multiselectable`,present:e.multiple,value:`true`})},We=e=>{let t=M(),r=N();T().querySelectorAll(`[data-ui-select-create-query]`).forEach(e=>{e.textContent=r.search.query});let i=R(e).options;i.forEach(e=>{e.el.id=e.id,e.el.hidden=!e.visible,e.el.setAttribute(`role`,`option`),e.el.setAttribute(`aria-selected`,e.selected?`true`:`false`),e.create||(e.el.dataset.value=e.value),e.create||(e.el.dataset.label=e.label),n({el:e.el,attr:`data-selected`,present:e.selected,value:`true`}),n({el:e.el,attr:`data-highlighted`,present:e.value===r.navigation.activeValue,value:`true`}),n({el:e.el,attr:`data-disabled`,present:e.disabled,value:`true`}),n({el:e.el,attr:`aria-disabled`,present:e.disabled,value:`true`}),e.el.querySelectorAll(`[data-ui-select-option-indicator]`).forEach(t=>{n({el:t,attr:`data-selected`,present:e.selected,value:`true`})})});let a=T().querySelector(`[data-ui-select-option-empty]`);a&&(a.hidden=t.virtualized&&t.optionsFetchUrl?x!==0:i.some(e=>e.visible&&!e.create))},Ge=()=>JSON.stringify(Array.from(T().querySelectorAll(G)).map(e=>({create:e.hasAttribute(`data-ui-select-option-create`),value:e.dataset.value??``,label:e.hasAttribute(`data-ui-select-option-create`)?e.textContent?.trim()??``:e.dataset.label??e.textContent?.trim()??``,disabled:e.dataset.disabled??``,selected:e.dataset.selected??``,selectedContent:e.querySelector(K)?.innerHTML??null}))),Ke=e=>{let t=De();if(!t)return;let n=M(),r=N(),a=e.project(``,r.selection),o=r.selection.map(({value:e,label:t})=>({value:e,label:t,disabled:a.firstByValue.get(e)?.disabled??!1,option:a.firstByValue.get(e)})),s=n.size===`xs`||n.size===`sm`?`xs`:`sm`,c=Se(T(),`x-ui-select:chip`);t.hidden=!H()||o.length===0;let l=new Set(t.hidden?[]:o.map(({value:e})=>e));if(v.forEach(({instance:e},n)=>{(!l.has(n)||e.template!==c||e.element.parentElement!==t)&&(e.destroy(),v.delete(n))}),t.hidden)return;if(!c)throw Error(`A pillbox select requires a chip template.`);let u={chip:g({part:xe.parts.root,props:{variant:n.chipVariant,color:n.chipColor,size:s,radius:`sm`},className:g({part:W.parts.chip,className:n.chipClass})}),label:g({part:W.parts.chipLabel}),plainLabel:g({part:W.parts.chipPlainLabel}),remove:g({part:xe.parts.close,props:{size:s},className:g({part:W.parts.chipRemove})})};o.forEach((e,r)=>{let a=e.option?.el.querySelector(K),o=a?.innerHTML??``,l={$chip:{value:e.value,label:e.label||e.value,disabled:n.disabled||n.readonly||e.disabled,hasSelectedContent:!!a},$styles:u,$chipAppearance:{variant:n.chipVariant,color:n.chipColor,size:s}},d=v.get(e.value);if(d)d.instance.update(l);else{let t=Ce(i,c,l);t.element.dataset.uiSelectChip=``,t.element.dataset.value=e.value,d={instance:t,content:``},v.set(e.value,d)}if(d.content!==o){let t=d.instance.element.querySelector(`[data-ui-select-chip-selected-content]`);t&&t.replaceChildren(...e.option?[Fe(e.option)??``]:[]),d.content=o}let f=d.instance.element,ee=t.children[r]??null;f!==ee&&d.instance.mount(t,ee)})},qe=()=>{let e=Oe();if(!e)return;let t=M();ie=oe({container:e,state:{name:t.name,required:t.required,values:t.disabled?[]:L(),form:T().dataset.form??``,marker:`data-ui-select-hidden-input`},currentKey:ie})},U=()=>I(e=>{Re(),ze(),Be(e),Ve(e),Ue(),We(e),Ke(e),qe()}),Je=()=>{o&&I(e=>{if(!J.hasTag(`interactive`))return;let t=M(),n=e=>{let t=e!==null&&e.ownerDocument.activeElement===e&&e.matches(`:focus-visible`);p(e,{showIndicator:t})};m?.presentation()===`anchored`?t.mode===`combobox`?n(D()):z(e)?n(O()):n(E()):n((z(e)?O():null)??T().querySelector(`[data-ui-select-sheet-close]`)??A())})},Ye=()=>I(e=>{if(N().navigation.activeValue)return;let t=R(e).enabled,n=L().map(e=>t.find(t=>t.value===e)).find(e=>e!==void 0);n&&Z(n.value)}),Xe=()=>I(e=>{let t=N(),n=B(L(t.selection),e);rt(je(n),je(t.selection))||J.send({type:`RECONCILE_SELECTION`,selection:n});let r=R(e).enabled;t.navigation.activeValue&&!r.some(e=>e.value===t.navigation.activeValue)&&J.send({type:`ACTIVE`,value:M().autoHighlight?r[0]?.value??``:``}),U()}),Ze=e=>I(t=>{let n=(Array.isArray(e.changes)?e.changes:[]).flatMap(e=>e&&typeof e==`object`&&`key`in e?[String(e.key)]:[]);if(n.some(e=>e===`value`||e===`values`||e===`multiple`||e===`selectedLabelMap`)){let e=B(Me(M()),t);J.send({type:`RECONCILE_SELECTION`,selection:e})}n.includes(`optionsTotalItems`)&&(x=M().optionsTotalItems,S=x,be()?.setTotalItems(x)),n.includes(`optionsFetchUrl`)&&(q(),queueMicrotask(q)),U()}),Qe=e=>{let t=M(),n=new URL(t.optionsFetchUrl,document.baseURI);return e?n.searchParams.set(t.optionSearchParam,e):n.searchParams.delete(t.optionSearchParam),/^[a-z][a-z\d+.-]*:/i.test(t.optionsFetchUrl)||t.optionsFetchUrl.startsWith(`//`)?n.href:`${n.pathname}${n.search}${n.hash}`},q=()=>{if(!o)return;let e=M();if(!e.virtualized)return;let t=e.optionsFetchUrl?Qe(N().search.query):``,n=j();if(!n)return;if(n.dataset.fetchUrl===t){C=t;return}if(C===t)return;let r=be();r&&(C=t,r.setUrl(t,{reset:!0}))},tt=()=>{window.clearTimeout(he);let e=M();e.virtualized&&e.optionsFetchUrl&&(e.searchable||e.mode===`combobox`)&&(he=window.setTimeout(()=>{q();let t=be();t&&x===0&&e.optionsTotalItems>0&&(x=e.optionsTotalItems,t.setTotalItems(x))},e.optionSearchDebounce))},J=ee({schema:Ie,hooks:Le,createMachine:({props:e})=>He({props:e,context:Ne(e),effects:{prepareOpen:()=>I(()=>{b=!1,m?.open(),Ye(),U(),queueMicrotask(Je)}),finishOpen:()=>{U(),t({el:T(),name:`ui:open`})},prepareClose:({event:e})=>{y=!1,b=e.restoreFocus===!0||e.type===`SELECT`||e.type===`CREATE`,b&&p(E(),{showIndicator:!1}),U()},finishClose:()=>{m?.close(),U(),b&&p(E(),{showIndicator:!1}),b=!1,t({el:T(),name:`ui:close`})},commitSelection:({event:e})=>{U(),a(T(),`data-value`,`data-values`),le({container:Oe(),fallback:T(),marker:`data-ui-select-hidden-input`});let{selection:n}=N();e.type===`CLEAR`&&t({el:T(),name:`ui:clear`}),t({el:T(),name:`ui:change`,detail:{value:n[0]?.value??``,values:L(n),label:n[0]?.label??``,labels:je(n),option:fe}}),fe=null},commitSearch:()=>{U(),t({el:T(),name:`ui:search`,detail:{search:N().search.query}}),tt()},prepareCreate:({event:e})=>{U(),t({el:T(),name:`ui:create`,detail:{search:N().search.query,value:N().creation.value,modal:typeof e.modal==`string`?e.modal:``}})},syncProps:({event:e})=>Ze(e),syncOptions:Xe,syncActive:U,syncDom:U}})}),Y=(e,t)=>J.send({type:e,selection:t}),X=(e,t,n)=>{n?.preventDefault();let r=M();if(r.disabled||r.readonly||e.disabled)return;if(e.create){J.send({type:`CREATE`,value:e.value||N().search.query,modal:e.el.dataset.modal??``});return}fe=e.el,y=!1;let i=L(),a=r.multiple?i.includes(e.value)?i.filter(t=>t!==e.value):[...i,e.value]:[e.value];Y(`SELECT`,B(a,t))},Z=e=>I(n=>{if(e===N().navigation.activeValue)return;J.send({type:`ACTIVE`,value:e});let r=R(n).firstByValue.get(e);t({el:T(),name:`ui:highlight`,detail:{value:e,option:r?.el??null}})}),it=e=>I(t=>{let n=R(t).enabled;if(n.length===0)return;let r=n.findIndex(e=>e.value===N().navigation.activeValue),i=r<0?e>0?0:n.length-1:r+e;i>=n.length&&(i=M().loop?0:n.length-1),i<0&&(i=M().loop?n.length-1:0),Z(n[i]?.value??``)}),Q=e=>I(t=>{let n=M();if(n.disabled||n.readonly)return;y=!0;let r=n.autoHighlight?R(t,e).enabled[0]?.value??``:``;J.send({type:`SEARCH`,query:e,optionsId:f,activeValue:r})}),at=e=>I(t=>{if(e.key===`Tab`&&m?.presentation()!==`anchored`){ue(e,k());return}let n=e.target instanceof HTMLInputElement;if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),P()||J.send({type:`OPEN`}),it(e.key===`ArrowDown`?1:-1);return}if(!n&&P()&&(e.key===`Home`||e.key===`End`)){e.preventDefault();let n=R(t).enabled;Z(e.key===`Home`?n[0]?.value??``:n.at(-1)?.value??``);return}if(P()&&(e.key===`Enter`||!n&&e.key===` `)){let n=R(t).firstByValue.get(N().navigation.activeValue);n&&X(n,t,e);return}if((e.key===`Backspace`||e.key===`Delete`)&&H()&&!N().search.query){let n=D();if(n&&(n.selectionStart!==0||n.selectionEnd!==0))return;let r=t.project(``,N().selection),i=[...L()].reverse().find(e=>!r.firstByValue.get(e)?.disabled);i&&(e.preventDefault(),$.deselect(i,e));return}if(e.key===`Escape`&&F()){e.preventDefault(),e.stopPropagation(),J.send({type:`CLOSE`,restoreFocus:!0});return}if(!n&&!z(t)&&e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey){pe+=e.key.toLowerCase(),window.clearTimeout(me),me=window.setTimeout(()=>{pe=``},500);let n=R(t).enabled.find(e=>we(e.label).startsWith(pe));n&&Z(n.value)}}),ot=()=>{let e=T(),t=(e,t)=>t.closest(`[data-ui-select-trigger], [data-ui-select-icon="trailing"], [data-ui-select-control]`)?(e.preventDefault(),e instanceof PointerEvent||e instanceof MouseEvent&&e.detail>0?p(E(),{showIndicator:!1}):p(E()),E()instanceof HTMLInputElement?P()||J.send({type:`OPEN`}):$.toggle(e),!0):!1;r({target:e,event:`click`,cleanup:_,handler:e=>{let n=e.target;if(!(n instanceof Element))return;if(n.closest(`[data-ui-select-sheet-close]`)){$.close(e);return}if(n.closest(`[data-ui-select-search-clear]`)){e.preventDefault(),Q(``);return}if(n.closest(`[data-ui-select-clear], [data-ui-select-button-clear]`)){$.clear(e);return}let r=n.closest(`[data-ui-select-chip-remove]`);if(r){$.deselect(r.dataset.value??``,e);return}let i=n.closest(G);if(i){I(t=>{let n=R(t).byElement.get(i);n&&X(n,t,e)});return}(!(e instanceof MouseEvent)||e.detail===0)&&t(e,n)}}),r({target:e,event:`input`,cleanup:_,handler:e=>{let t=e.target;t instanceof HTMLInputElement&&t.matches(`[data-ui-select-input], [data-ui-select-search-input]`)&&Q(t.value)}}),r({target:e,event:`keydown`,cleanup:_,handler:e=>{e instanceof KeyboardEvent&&at(e)}}),r({target:e,event:`pointerdown`,cleanup:_,handler:e=>{let n=e.target;if(n instanceof Element){if(n.closest(G)||n.closest(`[data-ui-select-search-clear]`)||n.closest(`[data-ui-select-clear], [data-ui-select-button-clear], [data-ui-select-chip-remove]`)){e.preventDefault();return}t(e,n)}}}),r({target:e,event:`pointerover`,cleanup:_,handler:e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(G);n&&I(e=>{let t=R(e).byElement.get(n);t&&t.visible&&!t.disabled&&Z(t.value)})}}),r({target:e,event:`focusout`,cleanup:_,handler:t=>{if(!(t instanceof FocusEvent))return;let n=t.relatedTarget;n instanceof Node&&e.contains(n)||F()&&J.send({type:`CLOSE`})}}),r({target:e,event:`ui:virtualizer-total-change`,cleanup:_,handler:e=>{if(!(e instanceof CustomEvent)||!j()?.contains(e.target))return;let t=Number(e.detail?.totalItems);Number.isFinite(t)&&t>=0&&(x=Math.floor(t),S=Math.max(S,x)),J.send({type:`OPTIONS_CHANGED`})}}),r({target:e,event:`ui:virtualizer-load`,cleanup:_,handler:e=>{j()?.contains(e.target)&&J.send({type:`OPTIONS_CHANGED`})}}),r({target:k(),event:`toggle`,cleanup:_,handler:e=>{`newState`in e&&e.newState===`closed`&&F()&&J.send({type:`CLOSE`})}}),_.add(ae({isEnabled:()=>J.hasTag(`interactive`),roots:()=>[T(),k()],onDismiss:()=>J.send({type:`CLOSE`})}));let n=()=>{h?.();let e=Array.from(T().querySelectorAll(K)).map(e=>{let t=new MutationObserver(()=>{J.send({type:`OPTIONS_CHANGED`})});return t.observe(e.content,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),t});h=()=>e.forEach(e=>e.disconnect())};ne=de({targets:A(),read:Ge,onChange:()=>{n(),J.send({type:`OPTIONS_CHANGED`})},observer:{attributes:!0,attributeFilter:[`data-disabled`,`data-item`,`data-label`,`data-selected`,`data-selected-label`,`data-text-value`,`data-ui-select-option-selected-template`,`data-value`],characterData:!0,childList:!0,subtree:!0}}),n()},$;return $={...J,get isOpen(){return this.snapshot.current?.tags.includes(`expanded`)??!1},get isSearching(){return this.snapshot.current?.tags.includes(`searching`)??!1},get value(){return this.snapshot.current?.context.selection[0]?.value??``},get values(){return this.snapshot.current?.context.selection.map(({value:e})=>e)??[]},get selectedLabels(){return this.snapshot.current?.context.selection.map(({label:e})=>e)??[]},get search(){return this.snapshot.current?.context.search.query??``},get activeValue(){return this.snapshot.current?.context.navigation.activeValue??``},init(){_=te(this),o=this.$el,c=this.$id(`select-button`),l=this.$id(`select-input`),u=this.$id(`select-listbox`),f=ye().id||T().dataset.optionsId||this.$id(`select-options`),ye().id=f,J.connect(this.$el,this.snapshot),x=M().optionsTotalItems,S=x,ve().id||=`${u}-title`,m=$e({reference:_e,floating:k,labelId:()=>ve().id,position:()=>M().side,align:()=>M().align,gap:()=>M().gap,offset:()=>M().offset,matchReferenceWidth:!0}),ot(),U(),queueMicrotask(q),s=!0,M().open&&!M().disabled&&!M().readonly&&queueMicrotask(()=>J.send({type:`OPEN`}))},destroy(){v.forEach(({instance:e})=>e.destroy()),v.clear(),window.clearTimeout(me),window.clearTimeout(he),ne?.(),ne=null,h?.(),h=null,m?.destroy(),m=null,J.disconnect(),o=null},get root(){let e=this.snapshot.current?.props??M();return re({inputs:[g({part:W.parts.root,props:e,className:e.class}),{"data-ui-select":``,":data-state":()=>J.hasTag(`expanded`)?`open`:`closed`}]})},open(e){e?.preventDefault(),!(M().disabled||M().readonly)&&J.send({type:`OPEN`})},close(e){e?.preventDefault(),J.send({type:`CLOSE`,restoreFocus:e instanceof KeyboardEvent})},toggle(e){e?.preventDefault(),!(M().disabled||M().readonly)&&J.send({type:`TOGGLE`})},select(e,t){I(n=>{let r=n.project(``,N().selection).firstByValue.get(e);r&&!r.create&&X(r,n,t)})},deselect(e,t){I(n=>{t?.preventDefault(),!(M().disabled||M().readonly)&&(n.project(``,N().selection).firstByValue.get(e)?.disabled||Y(`DESELECT`,B(L().filter(t=>t!==e),n)))})},selectAll(e){I(t=>{if(e?.preventDefault(),!M().multiple||M().disabled||M().readonly)return;let n=R(t).enabled;Y(`SELECT_ALL`,n.map(e=>({value:e.value,label:e.selectedLabel})))})},clear(e){if(e?.preventDefault(),e?.stopPropagation(),M().disabled||M().readonly)return;y=!1;let t=N().search.query!==``;J.send({type:`CLEAR`}),t&&tt()},setSearch:Q},$},it=e=>{e.directive(`ui-select`,()=>{}),m(`UiSelect`,()=>Z(e))(e)},Q=new WeakSet,at=e=>{Q.has(e)||(Q.add(e),i(e),h(e),it(e))};export{Z as n,at as t};
2
- //# sourceMappingURL=entry.generated-CEfr2bmw.js.map