@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment-DVphuQVV.js","names":[],"sources":["../../../../../../../../client/src/motion/registry.ts","../../../../../../../../client/src/motion/lifecycle.ts","../../../../../../../../client/src/runtime/engine/fragment.ts"],"sourcesContent":["import {createScopedAnimate, GroupAnimationWithThen, isMotionValue, resolveElements, transformProps, type AnimationPlaybackControls, type AnimationScope, type DOMKeyframesDefinition, type AnimationOptions, type ElementOrSelector} from 'motion';\nimport {withMotionDefaults, releaseTransformEffect} from './properties';\nimport {motionDisplacement, resolveMotionRole, type MotionRoleName} from './config';\nimport {shouldReduceMotion, trackSpatialMotion} from './reduced-motion';\nimport {releaseOwnedMotion, trackTransformMotion} from './owned';\n\ntype AnimationContext = Readonly<{\n element: Element;\n signal: AbortSignal;\n animate: ReturnType<typeof createScopedAnimate>;\n cleanup(disposer: () => void): void;\n}>;\ntype AnimationPhase = Readonly<DOMKeyframesDefinition> | ((context: AnimationContext) => AnimationPlaybackControls | (() => void) | void);\ninterface AnimationRecipe {\n enter?: AnimationPhase;\n exit?: AnimationPhase;\n active?: AnimationPhase;\n options?: AnimationOptions;\n}\n\nconst recipes = new Map<string, AnimationRecipe>([\n ['fade', {enter: {opacity: [0, 1]}, exit: {opacity: [1, 0]}}],\n ['slide-up', {\n enter: ({element, animate}) => animate(element, {opacity: [0, 1], y: [8 * motionDisplacement(), 0]}),\n exit: ({element, animate}) => animate(element, {opacity: [1, 0], y: 8 * motionDisplacement()}),\n }],\n ['spinner', {active: ({element, animate}) => shouldReduceMotion()\n ? animate(element, {rotate: 0, opacity: [1, 0.5, 1]}, {...resolveMotionRole('continuous', 'opacity'), repeat: Infinity, ease: 'linear'})\n : animate(element, {rotate: [0, 360], opacity: 1}, {...resolveMotionRole('continuous'), repeat: Infinity, ease: 'linear', opacity: {duration: 0, repeat: 0}})}],\n]);\n\nconst registerAnimations = (definitions: Readonly<Record<string, AnimationRecipe>>): void => {\n // Validate the whole batch before changing the registry.\n for (const [name, recipe] of Object.entries(definitions)) {\n if (!name.trim() || name === 'none' || recipes.has(name)) throw new Error(`Animation name is reserved or registered: ${name}`);\n if (!recipe || typeof recipe !== 'object') throw new TypeError(`Invalid animation recipe: ${name}`);\n for (const phase of ['enter', 'exit', 'active'] as const) {\n const value = recipe[phase];\n if (value !== undefined && typeof value !== 'function' && (typeof value !== 'object' || value === null)) {\n throw new TypeError(`Invalid ${phase} animation: ${name}`);\n }\n }\n }\n for (const [name, recipe] of Object.entries(definitions)) recipes.set(name, recipe);\n};\n\nconst recipeName = (element: Element, phase: 'enter' | 'exit' | 'active'): string => {\n const base = element.getAttribute('data-ui-animate') ?? '';\n if (base === 'none') return '';\n const name = phase === 'active' ? base : element.getAttribute(`data-ui-${phase}`) ?? base;\n return name === 'none' ? '' : name;\n};\n\nconst hasAnimation = (element: Element, phase: 'enter' | 'exit' | 'active'): boolean =>\n recipes.get(recipeName(element, phase))?.[phase] !== undefined;\n\n/** One scoped connection to Motion for recipes and reactive bindings. */\nconst createAnimationScope = (\n element: Element,\n options: AnimationOptions = {},\n signal?: AbortSignal,\n role: MotionRoleName = 'presence',\n) => {\n const scope: AnimationScope<Element> = {current: element, animations: []};\n const nativeAnimate = createScopedAnimate({scope, reduceMotion: shouldReduceMotion()});\n const disposers = new Set<() => void>();\n const playback = new Set<AnimationPlaybackControls>();\n const transformSubjects = new Set<Element>();\n const animatedSubjects = new Set<Element>();\n let disposed = false;\n const cleanup = (disposer: () => void): void => {\n if (disposed) disposer();\n else disposers.add(disposer);\n };\n const stop = (controls: AnimationPlaybackControls): void => {\n try { controls.stop(); } catch (error) {\n if (!(error instanceof DOMException && error.name === 'InvalidStateError')) throw error;\n controls.cancel();\n }\n };\n const dispose = (): void => {\n if (disposed) return;\n disposed = true;\n signal?.removeEventListener('abort', dispose);\n const errors: unknown[] = [];\n const attempt = (operation: () => void): void => {\n try { operation(); } catch (error) { errors.push(error); }\n };\n for (const controls of playback) attempt(() => stop(controls));\n playback.clear();\n for (const disposer of disposers) attempt(disposer);\n disposers.clear();\n const detached = new Set([element, ...element.querySelectorAll('*'), ...animatedSubjects]);\n for (const subject of detached) {\n if (!subject.isConnected) attempt(() => releaseOwnedMotion(subject));\n }\n transformSubjects.clear();\n animatedSubjects.clear();\n if (errors.length === 1) throw errors[0];\n if (errors.length) throw new AggregateError(errors, 'Animation cleanup failed');\n };\n const ownPlayback = (controls: AnimationPlaybackControls): void => {\n if (playback.has(controls)) return;\n if (disposed) { stop(controls); return; }\n playback.add(controls);\n const untrack = trackSpatialMotion(controls);\n cleanup(untrack);\n const release = (): void => {\n playback.delete(controls);\n disposers.delete(untrack);\n };\n void controls.finished.then(release, release);\n };\n const ownTargets = (subject: unknown, keyframes: unknown): Element[] => {\n if (!keyframes || typeof keyframes !== 'object' || Array.isArray(keyframes)) return [];\n if (!(subject instanceof Element) && typeof subject !== 'string'\n && !(subject instanceof NodeList) && !(Array.isArray(subject) && subject.every((item) => item instanceof Element))) return [];\n const targets = resolveElements(subject as ElementOrSelector, scope);\n const transformed = Object.keys(keyframes).some((property) => property === 'transform' || transformProps.has(property));\n for (const target of targets) {\n animatedSubjects.add(target);\n if ('transform' in keyframes) releaseTransformEffect(target);\n if (!transformed || transformSubjects.has(target)) continue;\n transformSubjects.add(target);\n cleanup(trackTransformMotion(target));\n }\n return targets;\n };\n const animate = new Proxy(nativeAnimate, {\n apply(target, thisArg, args: unknown[]) {\n const sequence = Array.isArray(args[0]) && args[0].some(Array.isArray);\n const index = sequence ? 1 : 2;\n const authored = (args[index] ?? {}) as AnimationOptions;\n const defaults = withMotionDefaults(resolveMotionRole(role), {...options, ...authored});\n const numeric = typeof args[0] === 'number'\n || (isMotionValue(args[0]) && typeof args[0].get() === 'number');\n if (numeric && shouldReduceMotion()) Object.assign(defaults, {duration: 0, visualDuration: undefined, bounce: undefined, repeat: 0});\n args[index] = sequence\n ? {...options, ...authored, defaultTransition: {...defaults, ...(authored as {defaultTransition?: AnimationOptions}).defaultTransition}}\n : defaults;\n if (sequence) {\n for (const segment of args[0] as unknown[]) {\n if (Array.isArray(segment)) ownTargets(segment[0], segment[1]);\n }\n } else ownTargets(args[0], args[1]);\n const controls = Reflect.apply(target, thisArg, args) as ReturnType<typeof nativeAnimate>;\n ownPlayback(controls);\n return controls;\n },\n });\n if (signal?.aborted) dispose();\n else signal?.addEventListener('abort', dispose, {once: true});\n return {animate, cleanup, dispose, ownPlayback, scope};\n};\n\nconst getAnimationOptions = (element: Element): AnimationOptions | undefined =>\n recipes.get(recipeName(element, 'active'))?.options;\n\nconst runAnimation = (element: Element, phase: 'enter' | 'exit' | 'active', signal: AbortSignal): AnimationPlaybackControls | (() => void) | undefined => {\n const name = recipeName(element, phase);\n if (!name || signal.aborted) return;\n const recipe = recipes.get(name);\n if (!recipe) {\n console.warn(`Trellis animation is not registered: ${name}`);\n return;\n }\n const definition = recipe[phase];\n if (!definition) return;\n const owner = createAnimationScope(element, recipe.options, signal,\n phase === 'exit' ? 'presenceExit' : phase === 'active' ? 'continuous' : 'presence');\n try {\n const result = typeof definition === 'function'\n ? definition({element, signal, animate: owner.animate, cleanup: owner.cleanup})\n : owner.animate(element, {...definition});\n if (typeof result === 'function') {\n owner.cleanup(result);\n return owner.dispose;\n }\n if (result) owner.ownPlayback(result);\n // Native scope also retains animations started later by gesture callbacks.\n // Only the initial calls determine finite phase completion.\n return result ?? (owner.scope.animations.length\n ? new GroupAnimationWithThen([...owner.scope.animations])\n : owner.dispose);\n } catch (error) {\n try { owner.dispose(); } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Animation setup and cleanup failed');\n }\n throw error;\n }\n};\n\nexport {registerAnimations, recipeName, hasAnimation, runAnimation, createAnimationScope, getAnimationOptions};\nexport type {AnimationRecipe, AnimationPhase, AnimationContext};\n","import {stableIdentity, STABLE_KEY_ATTR} from '../runtime/identity';\nimport type {AnimationPlaybackControls} from 'motion';\nimport {animateLayoutTargets} from './layout';\nimport {markLayoutParticipant, unmarkLayoutParticipant} from '../runtime/layout-participant';\nimport {subscribeMotionConfiguration} from './config';\nimport {releaseOwnedMotion} from './owned';\nimport {hasAnimation, recipeName, runAnimation} from './registry';\nimport {reducedMotionQuery} from './reduced-motion';\n\nconst selector = '[data-ui-animate]:not([data-ui-animate=\"none\"])';\nconst participants = (root: Element): Element[] => [\n ...(root.matches(selector) ? [root] : []), ...root.querySelectorAll(selector),\n].filter((element) => !element.closest('[data-ui-exiting]'));\nconst active = new Map<Element, {name: string; controller: AbortController; dispose?: () => void; controls?: AnimationPlaybackControls}>();\nconst paused = new WeakMap<Element, boolean>();\nconst setAnimationPaused = (element: Element, value: boolean): void => {\n paused.set(element, value);\n const controls = active.get(element)?.controls;\n if (value) controls?.pause();\n else controls?.play();\n};\nconst exiting = new Set<Element>();\ntype ExitPresentation = {bounds: DOMRect; paint: Record<string, string>; variables: Record<string, string>};\ntype Transaction = {root: Element; before: Map<Element, {id: string; key: string | null; presentation?: ExitPresentation}>};\nconst transactions = new Set<Transaction>();\nconst paintProperties = ['display', 'color', 'font', 'background', 'boxSizing', 'padding', 'border', 'borderRadius', 'boxShadow', 'overflow', 'zIndex', 'opacity'];\nconst captureExit = (element: Element, variables: Record<string, string>): ExitPresentation => {\n const style = getComputedStyle(element);\n return {bounds: element.getBoundingClientRect(), variables,\n paint: Object.fromEntries(paintProperties.map((property) => [property, (style as unknown as Record<string, string>)[property] ?? '']))};\n};\nconst entering = new Map<Element, AbortController>();\nlet flush: () => Promise<void> = () => Promise.resolve();\nlet observer: MutationObserver | undefined;\n\nconst stopActive = (element: Element): void => {\n const current = active.get(element);\n if (!current) return;\n active.delete(element);\n current.controller.abort();\n try { current.dispose?.(); } catch (error) { console.error('Trellis active animation cleanup failed', error); }\n finally { if (!element.isConnected) releaseOwnedMotion(element); }\n};\nconst enroll = (element: Element): void => {\n if (!element.isConnected || exiting.has(element) || entering.has(element)\n || [...transactions].some(({root}) => root.contains(element))) return;\n const name = recipeName(element, 'active');\n if (active.get(element)?.name === name) return;\n stopActive(element);\n if (!hasAnimation(element, 'active')) return;\n const controller = new AbortController();\n const owner: {name: string; controller: AbortController; dispose?: () => void; controls?: AnimationPlaybackControls} = {name, controller};\n active.set(element, owner);\n try {\n const effect = runAnimation(element, 'active', controller.signal);\n if (effect && typeof effect !== 'function') {\n owner.controls = effect;\n if (paused.get(element)) effect.pause();\n }\n if (typeof effect === 'function') {\n if (active.get(element) === owner) owner.dispose = effect;\n else effect();\n }\n } catch (error) {\n stopActive(element);\n console.error('Trellis active animation failed', error);\n }\n};\nconst sweep = (): void => {\n for (const [element, controller] of entering) if (!element.isConnected) {\n entering.delete(element);\n controller.abort();\n }\n for (const element of active.keys()) if (!element.isConnected || !element.matches(selector)) stopActive(element);\n};\nconst refresh = (): void => {\n sweep();\n participants(document.documentElement).forEach(enroll);\n};\n\n/** One root lifecycle for static effects; it never tries to infer pre-mutation layout. */\nconst registerAnimationLifecycle = (nextTick = flush): void => {\n flush = nextTick;\n if (observer) return;\n observer = new MutationObserver((records) => {\n sweep();\n const changed = new Set<Element>();\n for (const record of records) {\n if (record.type === 'attributes' && record.target instanceof Element) changed.add(record.target);\n for (const node of record.addedNodes) if (node instanceof Element) changed.add(node);\n }\n for (const root of changed) participants(root).forEach(enroll);\n });\n observer.observe(document.documentElement, {childList: true, subtree: true, attributes: true,\n attributeFilter: ['data-ui-animate', 'data-ui-enter', 'data-ui-exit']});\n const restart = (): void => {\n for (const element of active.keys()) stopActive(element);\n refresh();\n };\n window.matchMedia?.(reducedMotionQuery).addEventListener('change', restart);\n subscribeMotionConfiguration(restart);\n refresh();\n};\n\n/** Retire logical ownership immediately; keep only inert outgoing presentation. */\nconst retainExit = (node: Element, retire: () => void): boolean => {\n const transaction = [...transactions].find(({root, before}) => root === node || root.contains(node) || before.has(node));\n if (!transaction) return false;\n const candidates = participants(node).filter((element) => hasAnimation(element, 'exit')\n && !exiting.has(element));\n const roots = candidates.filter((element) => !candidates.some((ancestor) => ancestor !== element && ancestor.contains(element)));\n if (!roots.length) return false;\n const captures = roots.filter((element): element is HTMLElement | SVGElement => element instanceof HTMLElement || element instanceof SVGElement)\n .map((element) => ({element, inline: element.getAttribute('style'),\n presentation: transaction.before.get(element)?.presentation ?? captureExit(element, {})}));\n for (const element of [node, ...node.querySelectorAll('*')]) {\n stopActive(element);\n entering.get(element)?.abort();\n entering.delete(element);\n }\n const controls = roots.flatMap((element) => [element, ...element.querySelectorAll('input, select, textarea, button, fieldset, option, optgroup')])\n .filter((element): element is HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | HTMLButtonElement | HTMLFieldSetElement | HTMLOptionElement | HTMLOptGroupElement =>\n element instanceof HTMLInputElement || element instanceof HTMLSelectElement || element instanceof HTMLTextAreaElement\n || element instanceof HTMLButtonElement || element instanceof HTMLFieldSetElement || element instanceof HTMLOptionElement || element instanceof HTMLOptGroupElement)\n .map((element) => ({element, paint: captureExit(element, {}).paint}));\n retire();\n // Inertness prevents interaction, but does not remove controls from constraint\n // validation or an explicit external form. Retire native participation as well.\n for (const {element, paint} of controls) {\n element.disabled = true;\n element.removeAttribute('form');\n Object.assign(element.style, paint);\n }\n for (const {element, presentation: {bounds, paint, variables}, inline} of captures) {\n exiting.add(element);\n // Retained presentation cannot participate in morph matching, forms or focus.\n for (const descendant of [element, ...element.querySelectorAll('*')]) {\n descendant.removeAttribute('id');\n descendant.removeAttribute(STABLE_KEY_ATTR);\n descendant.removeAttribute('name');\n descendant.removeAttribute('data-layout');\n descendant.removeAttribute('data-layout-id');\n if (descendant instanceof HTMLElement) descendant.inert = true;\n }\n element.removeAttribute('hidden');\n element.setAttribute('aria-hidden', 'true');\n element.setAttribute('data-ui-exiting', '');\n element.setAttribute('style', inline ?? '');\n Object.assign(element.style, paint);\n const host = document.createElement('div');\n host.style.display = 'contents';\n host.inert = true;\n // An inheritance host preserves theme context without overriding variables\n // declared by the retained element's own classes. The subtree stays real DOM.\n for (const [property, value] of Object.entries(variables)) host.style.setProperty(property, value);\n Object.assign(element.style, {position: 'fixed', left: `${bounds.left}px`, top: `${bounds.top}px`,\n width: `${bounds.width}px`, height: `${bounds.height}px`, boxSizing: 'border-box', margin: '0', pointerEvents: 'none',\n display: paint.display === 'none' ? 'block' : paint.display, visibility: 'visible'});\n element.setAttribute('x-ignore', '');\n host.append(element);\n document.body.append(host);\n const controller = new AbortController();\n const finish = (): void => {\n controller.abort();\n host.remove();\n exiting.delete(element);\n };\n try {\n const result = runAnimation(element, 'exit', controller.signal);\n if (result && typeof result !== 'function') void result.finished.finally(finish);\n else { if (typeof result === 'function') result(); finish(); }\n } catch (error) {\n finish();\n console.error('Trellis exit animation failed', error);\n }\n }\n if (!exiting.has(node)) node.remove();\n return true;\n};\n\nconst identityWithin = (element: Element, scope: Element): string => {\n const key = stableIdentity(element);\n if (!key) return '';\n const path = [key];\n for (let parent = element.parentElement; parent && parent !== scope; parent = parent.parentElement) {\n path.unshift(stableIdentity(parent) ?? `@${Array.from(parent.parentElement?.children ?? []).indexOf(parent)}`);\n }\n return JSON.stringify(path);\n};\n\n/** Whether a managed mutation affects declared layout, including containing panels. */\nconst hasAnimationParticipants = (root: Element, html?: string | null): boolean =>\n !!root.closest(selector) || participants(root.parentElement ?? root).length > 0\n || !!html?.includes('data-ui-animate');\n\n/** Resolves after mutation/readiness, never after finite or continuous playback. */\nconst animateMutation = (root: Element, update: () => void | Promise<void>): Promise<void> => {\n registerAnimationLifecycle();\n let affected = root;\n for (let ancestor = root.parentElement; ancestor; ancestor = ancestor.parentElement) {\n if (ancestor.matches(selector)) affected = ancestor;\n }\n const scope = affected.parentElement ?? affected;\n const before = participants(scope);\n // Siblings share inherited theme variables. Snapshot each parent once, rather\n // than serializing every computed property on every descendant.\n const parents = new Map<Element, Record<string, string>>();\n const transaction: Transaction = {root: scope, before: new Map(before.map((element) => {\n if (!hasAnimation(element, 'exit')) return [element, {id: identityWithin(element, scope), key: stableIdentity(element)}];\n const parent = element.parentElement ?? scope;\n let variables = parents.get(parent);\n if (!variables) {\n const style = getComputedStyle(parent);\n variables = Object.fromEntries(Array.from(style).filter((property) => property.startsWith('--'))\n .map((property) => [property, style.getPropertyValue(property)]));\n parents.set(parent, variables);\n }\n return [element, {id: identityWithin(element, scope), key: stableIdentity(element), presentation: captureExit(element, variables)}];\n }))};\n const destinations = new Map<string, Element>();\n let live = new Set<Element>();\n let didCommit = false;\n let resolve!: () => void;\n let reject!: (reason: unknown) => void;\n const committed = new Promise<void>((yes, no) => { resolve = yes; reject = no; });\n const mutate = async (): Promise<void> => {\n transactions.add(transaction);\n try {\n await update();\n await flush();\n // Frontend callbacks can remove nodes directly; their captured presentation\n // remains available even though only engine removals have a pre-removal hook.\n for (const element of before) if (!element.isConnected && !exiting.has(element)) retainExit(element, () => {});\n for (const element of before) if (element.isConnected && !element.matches(selector)) unmarkLayoutParticipant(element);\n const after = participants(scope);\n live = new Set(after);\n const beforeCounts = new Map<string, number>();\n for (const {key} of transaction.before.values()) {\n if (key) beforeCounts.set(key, (beforeCounts.get(key) ?? 0) + 1);\n }\n const uniqueDestinations = new Map<string, Element | null>();\n for (const element of after) {\n const scopedKey = identityWithin(element, scope);\n if (scopedKey) destinations.set(scopedKey, element);\n const key = stableIdentity(element);\n if (key) uniqueDestinations.set(key, uniqueDestinations.has(key) ? null : element);\n }\n const matched = new Set<Element>();\n for (const [original, previous] of transaction.before) {\n let destination = live.has(original) ? original : destinations.get(previous.id);\n if (!destination && previous.key) {\n // A business key can move between collections. Repeated local\n // keys retain their exact region match instead of crossing scopes.\n if (beforeCounts.get(previous.key) === 1) destination = uniqueDestinations.get(previous.key) ?? undefined;\n }\n if (destination) {\n destinations.set(previous.id, destination);\n matched.add(destination);\n }\n }\n after.forEach((element) => {\n if (element instanceof HTMLElement) markLayoutParticipant(element);\n if (matched.has(element)) return;\n const controller = new AbortController();\n stopActive(element);\n entering.set(element, controller);\n try {\n const result = runAnimation(element, 'enter', controller.signal);\n if (result && typeof result !== 'function') {\n void result.finished.finally(() => {\n if (entering.get(element) !== controller) return;\n entering.delete(element);\n controller.abort();\n enroll(element);\n });\n } else { if (typeof result === 'function') result(); entering.delete(element); enroll(element); }\n } catch (error) {\n entering.delete(element);\n controller.abort();\n console.error('Trellis enter animation failed', error);\n }\n });\n transactions.delete(transaction);\n sweep();\n after.forEach(enroll);\n didCommit = true;\n resolve();\n } catch (error) { reject(error); }\n finally { transactions.delete(transaction); }\n };\n try {\n const projection = animateLayoutTargets(mutate, before.filter((element): element is HTMLElement => element instanceof HTMLElement)\n .map((subject) => {\n const id = transaction.before.get(subject)!.id;\n return {subject, destination: () => {\n const element = live.has(subject) ? subject : id ? destinations.get(id) : subject;\n return element instanceof HTMLElement && element.isConnected && live.has(element) ? element : undefined;\n }};\n }), {scope});\n void projection.finished.catch((error) => {\n if (!didCommit) reject(error);\n else console.error('Trellis layout animation failed', error);\n });\n } catch (error) { reject(error); }\n return committed;\n};\n\nexport {animateMutation, retainExit, registerAnimationLifecycle, hasAnimationParticipants, setAnimationPaused};\n","import type Alpine from 'alpinejs';\n\nimport {loadAssets, type AssetDescriptor} from '../../assets/bridge';\nimport {retainExit} from '../../motion';\n\ntype FragmentAlpine = Pick<Alpine.Alpine, 'initTree'> & Partial<Pick<Alpine.Alpine, 'destroyTree'>>;\n\ntype ReplaceFragmentOptions = {\n assets?: AssetDescriptor[];\n shouldReplace?: () => boolean;\n};\n\n// Every Trellis removal retires logical ownership before presentation is released.\nconst removeFragmentNode = (AlpineInstance: FragmentAlpine, node: Node): void => {\n const retire = (): void => {\n if (node instanceof Element) AlpineInstance.destroyTree?.(node as HTMLElement);\n };\n if (node instanceof Element && retainExit(node, retire)) return;\n retire();\n node.parentNode?.removeChild(node);\n};\n\nconst replaceFragmentChildrenNow = (\n AlpineInstance: FragmentAlpine,\n target: Element,\n html: string,\n): void => {\n const template = document.createElement('template');\n template.innerHTML = html;\n const inserted = Array.from(template.content.children)\n .filter((element): element is HTMLElement => element instanceof HTMLElement);\n Array.from(target.childNodes).forEach((node) => removeFragmentNode(AlpineInstance, node));\n target.append(template.content);\n inserted.forEach((element) => AlpineInstance.initTree(element));\n if (inserted.length === 0 && html.trim()) AlpineInstance.initTree(target as HTMLElement);\n};\n\nconst replaceFragmentChildren = async (\n AlpineInstance: FragmentAlpine,\n target: Element,\n html: string,\n options: ReplaceFragmentOptions = {},\n): Promise<boolean> => {\n if (options.assets?.length) {\n await loadAssets(options.assets, AlpineInstance as Alpine.Alpine);\n }\n if (options.shouldReplace && !options.shouldReplace()) return false;\n replaceFragmentChildrenNow(AlpineInstance, target, html);\n return true;\n};\n\nexport {\n removeFragmentNode,\n replaceFragmentChildren,\n replaceFragmentChildrenNow,\n};\nexport type {\n FragmentAlpine,\n ReplaceFragmentOptions,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e={},t=e=>e,n={delta:0,timestamp:0,isProcessing:!1},r=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`];function i(e){let t=new Set,n=new Set,r=!1,i=!1,a=new Set,o={delta:0,timestamp:0,isProcessing:!1};function s(t){a.has(t)&&(n.add(t),e()),t(o)}let c={schedule:(e,i=!1,o=!1)=>{let s=o&&r?t:n;return i&&a.add(e),s.add(e),e},cancel:e=>{n.delete(e),a.delete(e)},process:e=>{if(o=e,r){i=!0;return}r=!0;let a=t;t=n,n=a,t.forEach(s),t.clear(),r=!1,i&&(i=!1,c.process(e))}};return c}var a=40;function o(t,n,o={delta:0,timestamp:0,isProcessing:!1}){let s=!1,c=!0,l=()=>s=!0,u=r.reduce((e,t)=>(e[t]=i(l),e),{}),{setup:d,read:f,resolveKeyframes:p,preUpdate:m,update:h,preRender:g,render:_,postRender:v}=u,y=()=>{let r=e.useManualTiming,i=r?o.timestamp:performance.now();s=!1,r||(o.delta=c?1e3/60:Math.max(Math.min(i-o.timestamp,a),1)),o.timestamp=i,o.isProcessing=!0,d.process(o),f.process(o),p.process(o),m.process(o),h.process(o),g.process(o),_.process(o),v.process(o),o.isProcessing=!1,s&&n&&(c=!1,t(y))},b=()=>{s=!0,c=!0,o.isProcessing||t(y)};return{schedule:r.reduce((e,t)=>{let n=u[t];return e[t]=(e,t=!1,r=!1)=>(s||b(),n.schedule(e,t,r)),e},{}),cancel:e=>{for(let t=0;t<r.length;t++)u[r[t]].cancel(e)},state:o,steps:u}}var{schedule:s,cancel:c,steps:l}=o(typeof requestAnimationFrame<`u`?requestAnimationFrame:t,!0,n);export{n as a,o as i,s as n,t as o,l as r,e as s,c as t};
2
+ //# sourceMappingURL=frame-DsKHMcuL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-DsKHMcuL.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/motion-utils@14.1.1/node_modules/motion-utils/dist/es/global-config.mjs","../../../../../../../../../node_modules/.pnpm/motion-utils@14.1.1/node_modules/motion-utils/dist/es/noop.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/frameloop/order.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs"],"sourcesContent":["const MotionGlobalConfig = {};\n\nexport { MotionGlobalConfig };\n//# sourceMappingURL=global-config.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst noop = (any) => any;\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","/**\n * The frameloop's state, kept apart from the frameloop itself so that\n * reading it doesn't bundle the scheduler.\n */\nconst frameData = {\n delta: 0.0,\n timestamp: 0.0,\n isProcessing: false,\n};\n\nexport { frameData };\n//# sourceMappingURL=frame-data.mjs.map\n","const stepsOrder = [\n \"setup\", // Compute\n \"read\", // Read\n \"resolveKeyframes\", // Write/Read/Write/Read\n \"preUpdate\", // Compute\n \"update\", // Compute\n \"preRender\", // Compute\n \"render\", // Write\n \"postRender\", // Compute\n];\n\nexport { stepsOrder };\n//# sourceMappingURL=order.mjs.map\n","function createRenderStep(runNextFrame) {\n /**\n * We create and reuse two queues, one to queue jobs for the current frame\n * and one for the next. We reuse to avoid triggering GC after x frames.\n */\n let thisFrame = new Set();\n let nextFrame = new Set();\n /**\n * Track whether we're currently processing jobs in this step. This way\n * we can decide whether to schedule new jobs for this frame or next.\n */\n let isProcessing = false;\n let flushNextFrame = false;\n /**\n * A set of processes which were marked keepAlive when scheduled.\n * A keepAlive process is always also held by a frame queue until\n * it's cancelled, so a Set has the same lifetime semantics as a\n * WeakSet here while being considerably faster to query every frame.\n */\n const toKeepAlive = new Set();\n let latestFrameData = {\n delta: 0.0,\n timestamp: 0.0,\n isProcessing: false,\n };\n function triggerCallback(callback) {\n if (toKeepAlive.has(callback)) {\n nextFrame.add(callback);\n runNextFrame();\n }\n callback(latestFrameData);\n }\n const step = {\n /**\n * Schedule a process to run on the next frame.\n */\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const queue = addToCurrentFrame ? thisFrame : nextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n queue.add(callback);\n return callback;\n },\n /**\n * Cancel the provided callback from running on the next frame.\n */\n cancel: (callback) => {\n nextFrame.delete(callback);\n toKeepAlive.delete(callback);\n },\n /**\n * Execute all schedule callbacks.\n */\n process: (frameData) => {\n latestFrameData = frameData;\n /**\n * If we're already processing we've probably been triggered by a flushSync\n * inside an existing process. Instead of executing, mark flushNextFrame\n * as true and ensure we flush the following frame at the end of this one.\n */\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n // Swap this frame and the next to avoid GC\n const prevFrame = thisFrame;\n thisFrame = nextFrame;\n nextFrame = prevFrame;\n // Execute this frame\n thisFrame.forEach(triggerCallback);\n // Clear the frame so no callbacks remain. This is to avoid\n // memory leaks should this render step not run for a while.\n thisFrame.clear();\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n//# sourceMappingURL=render-step.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { stepsOrder } from './order.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive, state = {\n delta: 0.0,\n timestamp: 0.0,\n isProcessing: false,\n}) {\n let runNextFrame = false;\n let useDefaultElapsed = true;\n const flagRunNextFrame = () => (runNextFrame = true);\n const steps = stepsOrder.reduce((acc, key) => {\n acc[key] = createRenderStep(flagRunNextFrame);\n return acc;\n }, {});\n const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;\n const processBatch = () => {\n const useManualTiming = MotionGlobalConfig.useManualTiming;\n const timestamp = useManualTiming\n ? state.timestamp\n : performance.now();\n runNextFrame = false;\n if (!useManualTiming) {\n state.delta = useDefaultElapsed\n ? 1000 / 60\n : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n }\n state.timestamp = timestamp;\n state.isProcessing = true;\n // Unrolled render loop for better per-frame performance\n setup.process(state);\n read.process(state);\n resolveKeyframes.process(state);\n preUpdate.process(state);\n update.process(state);\n preRender.process(state);\n render.process(state);\n postRender.process(state);\n state.isProcessing = false;\n if (runNextFrame && allowKeepAlive) {\n useDefaultElapsed = false;\n scheduleNextBatch(processBatch);\n }\n };\n const wake = () => {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!state.isProcessing) {\n scheduleNextBatch(processBatch);\n }\n };\n const schedule = stepsOrder.reduce((acc, key) => {\n const step = steps[key];\n acc[key] = (process, keepAlive = false, immediate = false) => {\n if (!runNextFrame)\n wake();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n }, {});\n const cancel = (process) => {\n for (let i = 0; i < stepsOrder.length; i++) {\n steps[stepsOrder[i]].cancel(process);\n }\n };\n return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher };\n//# sourceMappingURL=batcher.mjs.map\n","import { noop } from 'motion-utils';\nimport { createRenderBatcher } from './batcher.mjs';\nimport { frameData } from './frame-data.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true, frameData);\n\nexport { cancelFrame, frame, frameSteps };\n//# sourceMappingURL=frame.mjs.map\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"AAAA,IAAM,EAAqB,CAAC,ECCtB,EAAQ,GAAQ,ECGhB,EAAY,CACd,MAAO,EACP,UAAW,EACX,aAAc,EAClB,ECRM,EAAa,CACf,QACA,OACA,mBACA,YACA,SACA,YACA,SACA,YACJ,ECTA,SAAS,EAAiB,EAAc,CAKpC,IAAI,EAAY,IAAI,IAChB,EAAY,IAAI,IAKhB,EAAe,GACf,EAAiB,GAOf,EAAc,IAAI,IACpB,EAAkB,CAClB,MAAO,EACP,UAAW,EACX,aAAc,EAClB,EACA,SAAS,EAAgB,EAAU,CAC3B,EAAY,IAAI,CAAQ,IACxB,EAAU,IAAI,CAAQ,EACtB,EAAa,GAEjB,EAAS,CAAe,CAC5B,CACA,IAAM,EAAO,CAIT,UAAW,EAAU,EAAY,GAAO,EAAY,KAAU,CAE1D,IAAM,EADoB,GAAa,EACL,EAAY,EAI9C,OAHI,GACA,EAAY,IAAI,CAAQ,EAC5B,EAAM,IAAI,CAAQ,EACX,CACX,EAIA,OAAS,GAAa,CAClB,EAAU,OAAO,CAAQ,EACzB,EAAY,OAAO,CAAQ,CAC/B,EAIA,QAAU,GAAc,CAOpB,GANA,EAAkB,EAMd,EAAc,CACd,EAAiB,GACjB,MACJ,CACA,EAAe,GAEf,IAAM,EAAY,EAClB,EAAY,EACZ,EAAY,EAEZ,EAAU,QAAQ,CAAe,EAGjC,EAAU,MAAM,EAChB,EAAe,GACX,IACA,EAAiB,GACjB,EAAK,QAAQ,CAAS,EAE9B,CACJ,EACA,OAAO,CACX,CC/EA,IAAM,EAAa,GACnB,SAAS,EAAoB,EAAmB,EAAgB,EAAQ,CACpE,MAAO,EACP,UAAW,EACX,aAAc,EAClB,EAAG,CACC,IAAI,EAAe,GACf,EAAoB,GAClB,MAA0B,EAAe,GACzC,EAAQ,EAAW,QAAQ,EAAK,KAClC,EAAI,GAAO,EAAiB,CAAgB,EACrC,GACR,CAAC,CAAC,EACC,CAAE,QAAO,OAAM,mBAAkB,YAAW,SAAQ,YAAW,SAAQ,cAAgB,EACvF,MAAqB,CACvB,IAAM,EAAkB,EAAmB,gBACrC,EAAY,EACZ,EAAM,UACN,YAAY,IAAI,EACtB,EAAe,GACV,IACD,EAAM,MAAQ,EACR,IAAO,GACP,KAAK,IAAI,KAAK,IAAI,EAAY,EAAM,UAAW,CAAU,EAAG,CAAC,GAEvE,EAAM,UAAY,EAClB,EAAM,aAAe,GAErB,EAAM,QAAQ,CAAK,EACnB,EAAK,QAAQ,CAAK,EAClB,EAAiB,QAAQ,CAAK,EAC9B,EAAU,QAAQ,CAAK,EACvB,EAAO,QAAQ,CAAK,EACpB,EAAU,QAAQ,CAAK,EACvB,EAAO,QAAQ,CAAK,EACpB,EAAW,QAAQ,CAAK,EACxB,EAAM,aAAe,GACjB,GAAgB,IAChB,EAAoB,GACpB,EAAkB,CAAY,EAEtC,EACM,MAAa,CACf,EAAe,GACf,EAAoB,GACf,EAAM,cACP,EAAkB,CAAY,CAEtC,EAeA,MAAO,CAAE,SAdQ,EAAW,QAAQ,EAAK,IAAQ,CAC7C,IAAM,EAAO,EAAM,GAMnB,MALA,GAAI,IAAQ,EAAS,EAAY,GAAO,EAAY,MAC3C,GACD,EAAK,EACF,EAAK,SAAS,EAAS,EAAW,CAAS,GAE/C,CACX,EAAG,CAAC,CAMK,EAAU,OALH,GAAY,CACxB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,OAAQ,IACnC,EAAM,EAAW,GAAG,CAAC,OAAO,CAAO,CAE3C,EAC2B,QAAO,OAAM,CAC5C,CChEA,GAAM,CAAE,SAAU,EAAO,OAAQ,EAAa,MAAO,GAAgC,EAAoB,OAAO,sBAA0B,IAAc,sBAAwB,EAAM,GAAM,CAAS"}
@@ -0,0 +1,2 @@
1
+ import{R as e}from"./properties-D8pFWF8g.js";var t={x:!1,y:!1};function n(){return t.x||t.y}function r(t,n){let r=e(t),i=new AbortController;return[r,{passive:!0,...n,signal:i.signal},()=>i.abort()]}function i(e){return!(e.pointerType===`touch`||n())}function a(e,t,n={}){let[a,o,s]=r(e,n);return a.forEach(e=>{let n=!1,r=!1,a,s=()=>{e.removeEventListener(`pointerleave`,d)},c=e=>{a&&=(a(e),void 0),s()},l=e=>{n=!1,window.removeEventListener(`pointerup`,l),window.removeEventListener(`pointercancel`,l),r&&(r=!1,c(e))},u=()=>{n=!0,window.addEventListener(`pointerup`,l,o),window.addEventListener(`pointercancel`,l,o)},d=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}c(e)}};e.addEventListener(`pointerenter`,n=>{if(!i(n))return;r=!1;let s=t(e,n);typeof s==`function`&&(a=s,e.addEventListener(`pointerleave`,d,o))},o),e.addEventListener(`pointerdown`,u,o)}),s}export{r as n,n as r,a as t};
2
+ //# sourceMappingURL=hover-CqeHOHpJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-CqeHOHpJ.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs","../../../../../../../../../node_modules/.pnpm/motion-dom@14.3.0/node_modules/motion-dom/dist/es/gestures/hover.mjs"],"sourcesContent":["const isDragging = {\n x: false,\n y: false,\n};\nfunction isDragActive() {\n return isDragging.x || isDragging.y;\n}\n\nexport { isDragActive, isDragging };\n//# sourceMappingURL=is-active.mjs.map\n","import { resolveElements } from '../../utils/resolve-elements.mjs';\n\nfunction setupGesture(elementOrSelector, options) {\n const elements = resolveElements(elementOrSelector);\n const gestureAbortController = new AbortController();\n const eventOptions = {\n passive: true,\n ...options,\n signal: gestureAbortController.signal,\n };\n const cancel = () => gestureAbortController.abort();\n return [elements, eventOptions, cancel];\n}\n\nexport { setupGesture };\n//# sourceMappingURL=setup.mjs.map\n","import { isDragActive } from './drag/state/is-active.mjs';\nimport { setupGesture } from './utils/setup.mjs';\n\nfunction isValidHover(event) {\n return !(event.pointerType === \"touch\" || isDragActive());\n}\n/**\n * Create a hover gesture. hover() is different to .addEventListener(\"pointerenter\")\n * in that it has an easier syntax, filters out polyfilled touch events, interoperates\n * with drag gestures, and automatically removes the \"pointerleave\" event listener when the hover ends.\n *\n * @public\n */\nfunction hover(elementOrSelector, onHoverStart, options = {}) {\n const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);\n elements.forEach((element) => {\n let isPressed = false;\n let deferredHoverEnd = false;\n let hoverEndCallback;\n const removePointerLeave = () => {\n element.removeEventListener(\"pointerleave\", onPointerLeave);\n };\n const endHover = (event) => {\n if (hoverEndCallback) {\n hoverEndCallback(event);\n hoverEndCallback = undefined;\n }\n removePointerLeave();\n };\n const onPointerUp = (event) => {\n isPressed = false;\n window.removeEventListener(\"pointerup\", onPointerUp);\n window.removeEventListener(\"pointercancel\", onPointerUp);\n if (deferredHoverEnd) {\n deferredHoverEnd = false;\n endHover(event);\n }\n };\n const onPointerDown = () => {\n isPressed = true;\n window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n window.addEventListener(\"pointercancel\", onPointerUp, eventOptions);\n };\n const onPointerLeave = (leaveEvent) => {\n if (leaveEvent.pointerType === \"touch\")\n return;\n if (isPressed) {\n deferredHoverEnd = true;\n return;\n }\n endHover(leaveEvent);\n };\n const onPointerEnter = (enterEvent) => {\n if (!isValidHover(enterEvent))\n return;\n deferredHoverEnd = false;\n const onHoverEnd = onHoverStart(element, enterEvent);\n if (typeof onHoverEnd !== \"function\")\n return;\n hoverEndCallback = onHoverEnd;\n element.addEventListener(\"pointerleave\", onPointerLeave, eventOptions);\n };\n element.addEventListener(\"pointerenter\", onPointerEnter, eventOptions);\n element.addEventListener(\"pointerdown\", onPointerDown, eventOptions);\n });\n return cancel;\n}\n\nexport { hover };\n//# sourceMappingURL=hover.mjs.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"6CAAA,IAAM,EAAa,CACf,EAAG,GACH,EAAG,EACP,EACA,SAAS,GAAe,CACpB,OAAO,EAAW,GAAK,EAAW,CACtC,CCJA,SAAS,EAAa,EAAmB,EAAS,CAC9C,IAAM,EAAW,EAAgB,CAAiB,EAC5C,EAAyB,IAAI,gBAOnC,MAAO,CAAC,EAAU,CALd,QAAS,GACT,GAAG,EACH,OAAQ,EAAuB,MAGjB,MADG,EAAuB,MAAM,CACZ,CAC1C,CCTA,SAAS,EAAa,EAAO,CACzB,MAAO,EAAE,EAAM,cAAgB,SAAW,EAAa,EAC3D,CAQA,SAAS,EAAM,EAAmB,EAAc,EAAU,CAAC,EAAG,CAC1D,GAAM,CAAC,EAAU,EAAc,GAAU,EAAa,EAAmB,CAAO,EAmDhF,OAlDA,EAAS,QAAS,GAAY,CAC1B,IAAI,EAAY,GACZ,EAAmB,GACnB,EACE,MAA2B,CAC7B,EAAQ,oBAAoB,eAAgB,CAAc,CAC9D,EACM,EAAY,GAAU,CACxB,AAEI,KADA,EAAiB,CAAK,EACH,IAAA,IAEvB,EAAmB,CACvB,EACM,EAAe,GAAU,CAC3B,EAAY,GACZ,OAAO,oBAAoB,YAAa,CAAW,EACnD,OAAO,oBAAoB,gBAAiB,CAAW,EACnD,IACA,EAAmB,GACnB,EAAS,CAAK,EAEtB,EACM,MAAsB,CACxB,EAAY,GACZ,OAAO,iBAAiB,YAAa,EAAa,CAAY,EAC9D,OAAO,iBAAiB,gBAAiB,EAAa,CAAY,CACtE,EACM,EAAkB,GAAe,CAC/B,KAAW,cAAgB,QAE/B,IAAI,EAAW,CACX,EAAmB,GACnB,MACJ,CACA,EAAS,CAAU,CADnB,CAEJ,EAWA,EAAQ,iBAAiB,eAVD,GAAe,CACnC,GAAI,CAAC,EAAa,CAAU,EACxB,OACJ,EAAmB,GACnB,IAAM,EAAa,EAAa,EAAS,CAAU,EAC/C,OAAO,GAAe,aAE1B,EAAmB,EACnB,EAAQ,iBAAiB,eAAgB,EAAgB,CAAY,EACzE,EACyD,CAAY,EACrE,EAAQ,iBAAiB,cAAe,EAAe,CAAY,CACvE,CAAC,EACM,CACX"}
@@ -0,0 +1,2 @@
1
+ var e=`data-ui-key`,t=(e,t)=>{if(typeof t==`string`&&t)return t;let n=e.getAttribute(`data-ui-key`)||e.id;if(n)return n;let r=e.parentElement;if(r?.getAttribute(`data-ui-key-scope`)!==`single-child`)return null;let i=r.getAttribute(`data-ui-key`)||r.id;return i?`${i}:single-child`:null};export{t as n,e as t};
2
+ //# sourceMappingURL=identity-BMTQyLbq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-BMTQyLbq.js","names":[],"sources":["../../../../../../../../client/src/runtime/identity.ts"],"sourcesContent":["const STABLE_KEY_ATTR = 'data-ui-key';\nconst STABLE_KEY_SCOPE_ATTR = 'data-ui-key-scope';\nconst SINGLE_CHILD_SCOPE = 'single-child';\n\nconst stableIdentity = (element: Element, explicit?: unknown): string | null => {\n if (typeof explicit === 'string' && explicit) return explicit;\n const authored = element.getAttribute(STABLE_KEY_ATTR) || element.id;\n if (authored) return authored;\n\n const parent = element.parentElement;\n if (parent?.getAttribute(STABLE_KEY_SCOPE_ATTR) !== SINGLE_CHILD_SCOPE) return null;\n const parentIdentity = parent.getAttribute(STABLE_KEY_ATTR) || parent.id;\n return parentIdentity ? `${parentIdentity}:single-child` : null;\n};\n\nexport {STABLE_KEY_ATTR, STABLE_KEY_SCOPE_ATTR, stableIdentity};\n"],"mappings":"AAAA,IAAM,EAAkB,cAIlB,GAAkB,EAAkB,IAAsC,CAC5E,GAAI,OAAO,GAAa,UAAY,EAAU,OAAO,EACrD,IAAM,EAAW,EAAQ,aAAA,aAA4B,GAAK,EAAQ,GAClE,GAAI,EAAU,OAAO,EAErB,IAAM,EAAS,EAAQ,cACvB,GAAI,GAAQ,aAAA,mBAAkC,IAAM,eAAoB,OAAO,KAC/E,IAAM,EAAiB,EAAO,aAAA,aAA4B,GAAK,EAAO,GACtE,OAAO,EAAiB,GAAG,EAAe,eAAiB,IAC/D"}
@@ -0,0 +1,2 @@
1
+ import{l as e,n as t}from"./codecs-CQ7olTJL.js";import{B as n,C as r,D as i,E as a,O as o,R as s,S as c,T as l,b as u,k as d,u as f,w as p,x as m,z as h}from"./common-DnEHZCqy.js";var g=[`3xs`,`2xs`,`xs`,`sm`,`md`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`,`6xl`,`7xl`],_=[`auto`,`full`,`3xs`,`2xs`,`xs`,`sm`,`md`,`lg`,`xl`,`prose`],v=[`auto`,`full`,...g],y=[`none`,`full`,...g],b=[`start`,`center`,`end`,`stretch`,`baseline`],x=[`start`,`center`,`end`,`between`],S=Object.fromEntries([[`auto`,``],[`full`,`h-full`],...g.map(e=>[e,`h-[var(--container-${e})]`])]),C=Object.fromEntries([[`none`,``],[`full`,`max-h-full`],...g.map(e=>[e,`max-h-[var(--container-${e})]`])]),w={schema:{bleed:t},details:{bleed:{description:`Extend to the nearest container's horizontal content edges.`}},variants:{bleed:{true:`ui-bleed`,false:``}},defaults:{bleed:!1}},T={start:`items-start`,center:`items-center`,end:`items-end`,stretch:`items-stretch`,baseline:`items-baseline`},E={schema:{gap:e(d,`0`),gapX:e(d,`0`),gapY:e(d,`0`)},details:{gap:{description:`Generated numeric gap shared with the matching Tailwind step.`},gapX:{description:`Generated numeric horizontal gap shared with the matching Tailwind step.`},gapY:{description:`Generated numeric vertical gap shared with the matching Tailwind step.`}},variants:{gap:u,gapX:m,gapY:c},defaults:{gap:`0`,gapX:`0`,gapY:`0`}},D=[`default`,`reading`],O=[`auto`,...d];e(D,`default`),e(O,`auto`),{...Object.fromEntries(d.map(e=>[e,`${u[e]} ui-flow-gap-${e}`.trim()]))};var k={schema:{padding:e(d,`0`),paddingX:e(d,`0`),paddingY:e(d,`0`)},details:{padding:{description:`Generated numeric inner spacing shared with the matching Tailwind step.`},paddingX:{description:`Generated numeric horizontal inset shared with the matching Tailwind step.`},paddingY:{description:`Generated numeric vertical inset shared with the matching Tailwind step.`}},variants:{padding:Object.fromEntries(d.map(e=>[e,e===`0`?``:`${a[e]} ui-content-edge ui-content-padding-${e}`])),paddingX:Object.fromEntries(d.map(e=>[e,e===`0`?``:`${i[e]} ui-content-edge ui-content-padding-x-${e}`])),paddingY:Object.fromEntries(d.map(e=>[e,e===`0`?``:`${o[e]} ui-content-edge ui-content-padding-y-${e}`]))},defaults:{padding:`0`,paddingX:`0`,paddingY:`0`}},A={schema:{margin:e(d,`0`),marginX:e(d,`0`),marginY:e(d,`0`)},details:{margin:{description:`Generated numeric outer spacing shared with the matching Tailwind step.`},marginX:{description:`Generated numeric horizontal margin shared with the matching Tailwind step.`},marginY:{description:`Generated numeric vertical margin shared with the matching Tailwind step.`}},variants:{margin:r,marginX:p,marginY:l},defaults:{margin:`0`,marginX:`0`,marginY:`0`}};({...k}),{...A},e(n,`inherit`);var j={schema:{radius:e(s,`none`)},details:{radius:{description:`Surface corner radius. Concentric derives corners from the nearest visual parent radius and padding for a shared inset shell.`}},variants:{radius:h},defaults:{radius:`none`}};e(f,`none`),e(_,`auto`);var M={schema:{height:e(v,`auto`),maxHeight:e(y,`none`)},details:{height:{description:`Requested height using generated container measures.`},maxHeight:{description:`Maximum height using generated container measures.`}},variants:{height:S,maxHeight:C},defaults:{height:`auto`,maxHeight:`none`}};e(b,`stretch`),e(x,`start`);export{M as a,j as c,E as i,y as n,A as o,w as r,k as s,T as t};
2
+ //# sourceMappingURL=layout-mHPk9rxi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-mHPk9rxi.js","names":[],"sources":["../../../../../../../../client/src/components/layout.ts"],"sourcesContent":["import {bool, oneOf, string} from '../runtime';\nimport {\n ELEVATION_REFERENCES,\n LAYOUT_GAP_CLASSES,\n LAYOUT_GAP_X_CLASSES,\n LAYOUT_GAP_Y_CLASSES,\n LAYOUT_MARGIN_CLASSES,\n LAYOUT_MARGIN_X_CLASSES,\n LAYOUT_MARGIN_Y_CLASSES,\n LAYOUT_PADDING_CLASSES,\n LAYOUT_PADDING_X_CLASSES,\n LAYOUT_PADDING_Y_CLASSES,\n LAYOUT_SPACES,\n SURFACE_RADIUS_CLASSES,\n SURFACE_REFERENCES,\n SURFACE_RADII,\n type SurfaceRadius,\n type ElevationReference,\n type LayoutSpace,\n type SurfaceReference,\n} from './common';\n\nconst LAYOUT_AS_VALUES = ['div', 'section', 'article', 'aside', 'header', 'footer', 'main', 'nav', 'form', 'ul', 'ol', 'li', 'span'] as const;\nconst CONTAINER_MEASURES = ['3xs', '2xs', 'xs', 'sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl', '7xl'] as const;\nconst LAYOUT_WIDTHS = ['auto', 'full', '3xs', '2xs', 'xs', 'sm', 'md', 'lg', 'xl', 'prose'] as const;\nconst LAYOUT_HEIGHTS = ['auto', 'full', ...CONTAINER_MEASURES] as const;\nconst LAYOUT_MAX_HEIGHTS = ['none', 'full', ...CONTAINER_MEASURES] as const;\nconst LAYOUT_ALIGNS = ['start', 'center', 'end', 'stretch', 'baseline'] as const;\nconst LAYOUT_JUSTIFIES = ['start', 'center', 'end', 'between'] as const;\nconst LAYOUT_COLUMNS = ['none', '1', '2', '3', '4', '5', '6'] as const;\nconst LAYOUT_ROWS = LAYOUT_COLUMNS;\n\nconst LAYOUT_WIDTH_CLASSES = {\n auto: '',\n full: 'w-full',\n '3xs': 'mx-auto w-full max-w-3xs',\n '2xs': 'mx-auto w-full max-w-2xs',\n xs: 'mx-auto w-full max-w-xs',\n sm: 'mx-auto w-full max-w-sm',\n md: 'mx-auto w-full max-w-md',\n lg: 'mx-auto w-full max-w-lg',\n xl: 'mx-auto w-full max-w-xl',\n prose: 'mx-auto w-full max-w-prose',\n} as const satisfies Record<typeof LAYOUT_WIDTHS[number], string>;\n\nconst LAYOUT_HEIGHT_CLASSES = Object.fromEntries([\n ['auto', ''], ['full', 'h-full'],\n ...CONTAINER_MEASURES.map((size) => [size, `h-[var(--container-${size})]`]),\n]) as Record<typeof LAYOUT_HEIGHTS[number], string>;\nconst LAYOUT_MAX_HEIGHT_CLASSES = Object.fromEntries([\n ['none', ''], ['full', 'max-h-full'],\n ...CONTAINER_MEASURES.map((size) => [size, `max-h-[var(--container-${size})]`]),\n]) as Record<typeof LAYOUT_MAX_HEIGHTS[number], string>;\n\nconst layoutBleed = {\n schema: {bleed: bool},\n details: {bleed: {description: \"Extend to the nearest container's horizontal content edges.\"}},\n variants: {bleed: {true: 'ui-bleed', false: ''}},\n defaults: {bleed: false},\n} as const;\n\n\nconst LAYOUT_ALIGN_CLASSES = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n} as const satisfies Record<typeof LAYOUT_ALIGNS[number], string>;\n\nconst LAYOUT_JUSTIFY_CLASSES = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n} as const satisfies Record<typeof LAYOUT_JUSTIFIES[number], string>;\n\nconst LAYOUT_COLUMN_CLASSES = {\n none: '',\n '1': '',\n '2': '',\n '3': '',\n '4': '',\n '5': '',\n '6': '',\n} as const satisfies Record<typeof LAYOUT_COLUMNS[number], string>;\n\nconst LAYOUT_ROW_CLASSES = {\n none: '',\n '1': 'grid-rows-1',\n '2': 'grid-rows-2',\n '3': 'grid-rows-3',\n '4': 'grid-rows-4',\n '5': 'grid-rows-5',\n '6': 'grid-rows-6',\n} as const satisfies Record<typeof LAYOUT_ROWS[number], string>;\n\nconst layoutGap = {\n schema: {\n gap: oneOf(LAYOUT_SPACES, '0'),\n gapX: oneOf(LAYOUT_SPACES, '0'),\n gapY: oneOf(LAYOUT_SPACES, '0'),\n },\n details: {\n gap: {description: 'Generated numeric gap shared with the matching Tailwind step.'},\n gapX: {description: 'Generated numeric horizontal gap shared with the matching Tailwind step.'},\n gapY: {description: 'Generated numeric vertical gap shared with the matching Tailwind step.'},\n },\n variants: {\n gap: LAYOUT_GAP_CLASSES,\n gapX: LAYOUT_GAP_X_CLASSES,\n gapY: LAYOUT_GAP_Y_CLASSES,\n },\n defaults: {\n gap: '0',\n gapX: '0',\n gapY: '0',\n },\n} as const;\n\n// Flow owns contextual gap defaults; ordinary layouts retain their numeric gap contract.\nconst LAYOUT_FLOWS = ['default', 'reading'] as const;\nconst FLOW_SPACES = ['auto', ...LAYOUT_SPACES] as const;\ntype LayoutFlow = typeof LAYOUT_FLOWS[number];\ntype FlowSpace = typeof FLOW_SPACES[number];\nconst layoutFlow = {\n schema: {\n flow: oneOf(LAYOUT_FLOWS, 'default'),\n gap: oneOf(FLOW_SPACES, 'auto'),\n },\n details: {\n flow: {description: 'Reading applies relational block spacing in Stack, stacked Box, or non-wrapping column Flex. Default preserves ordinary layout gaps.'},\n gap: {description: 'Numeric theme spacing step. Auto leaves ordinary layouts ungapped and supplies body-block spacing in reading flow. Reading owns vertical spacing; gapX and gapY do not apply.'},\n },\n variants: {\n flow: {default: '', reading: ''},\n gap: {\n auto: '',\n ...Object.fromEntries(LAYOUT_SPACES.map((step) => [step,\n `${LAYOUT_GAP_CLASSES[step]} ui-flow-gap-${step}`.trim(),\n ])),\n },\n },\n defaults: {flow: 'default', gap: 'auto'},\n} as const;\n\nconst layoutPadding = {\n schema: {\n padding: oneOf(LAYOUT_SPACES, '0'),\n paddingX: oneOf(LAYOUT_SPACES, '0'),\n paddingY: oneOf(LAYOUT_SPACES, '0'),\n },\n details: {\n padding: {description: 'Generated numeric inner spacing shared with the matching Tailwind step.'},\n paddingX: {description: 'Generated numeric horizontal inset shared with the matching Tailwind step.'},\n paddingY: {description: 'Generated numeric vertical inset shared with the matching Tailwind step.'},\n },\n variants: {\n padding: Object.fromEntries(LAYOUT_SPACES.map((step) => [step, step === '0' ? '' : `${LAYOUT_PADDING_CLASSES[step]} ui-content-edge ui-content-padding-${step}`])),\n paddingX: Object.fromEntries(LAYOUT_SPACES.map((step) => [step, step === '0' ? '' : `${LAYOUT_PADDING_X_CLASSES[step]} ui-content-edge ui-content-padding-x-${step}`])),\n paddingY: Object.fromEntries(LAYOUT_SPACES.map((step) => [step, step === '0' ? '' : `${LAYOUT_PADDING_Y_CLASSES[step]} ui-content-edge ui-content-padding-y-${step}`])),\n },\n defaults: {\n padding: '0',\n paddingX: '0',\n paddingY: '0',\n },\n} as const;\n\nconst layoutMargin = {\n schema: {\n margin: oneOf(LAYOUT_SPACES, '0'),\n marginX: oneOf(LAYOUT_SPACES, '0'),\n marginY: oneOf(LAYOUT_SPACES, '0'),\n },\n details: {\n margin: {description: 'Generated numeric outer spacing shared with the matching Tailwind step.'},\n marginX: {description: 'Generated numeric horizontal margin shared with the matching Tailwind step.'},\n marginY: {description: 'Generated numeric vertical margin shared with the matching Tailwind step.'},\n },\n variants: {\n margin: LAYOUT_MARGIN_CLASSES,\n marginX: LAYOUT_MARGIN_X_CLASSES,\n marginY: LAYOUT_MARGIN_Y_CLASSES,\n },\n defaults: {\n margin: '0',\n marginX: '0',\n marginY: '0',\n },\n} as const;\n\nconst framePadding = {\n ...layoutPadding,\n details: {\n padding: {description: 'Tokenized inner spacing.'},\n paddingX: {description: 'Tokenized horizontal inner spacing.'},\n paddingY: {description: 'Tokenized vertical inner spacing.'},\n },\n} as const;\n\nconst frameMargin = {\n ...layoutMargin,\n details: {\n margin: {description: 'Tokenized outer spacing.'},\n marginX: {description: 'Tokenized horizontal outer spacing.'},\n marginY: {description: 'Tokenized vertical outer spacing.'},\n },\n} as const;\n\nconst surfaceSchema = {\n surface: oneOf(SURFACE_REFERENCES, 'inherit'),\n} as const;\n\nconst layoutSurface = {\n schema: surfaceSchema,\n details: {\n surface: {description: 'Inherited, absolute, or substrate-relative generated surface.'},\n },\n} as const;\n\nconst explicitLayoutSurface = {\n schema: surfaceSchema,\n details: {\n surface: {description: 'Generated surface reference: inherit, unsigned absolute level, or signed substrate-relative lift.'},\n },\n} as const;\n\nconst layoutRadius = {\n schema: {\n radius: oneOf(SURFACE_RADII, 'none'),\n },\n details: {\n radius: {description: 'Surface corner radius. Concentric derives corners from the nearest visual parent radius and padding for a shared inset shell.'},\n },\n variants: {\n radius: SURFACE_RADIUS_CLASSES,\n },\n defaults: {\n radius: 'none',\n },\n} as const;\n\nconst elevationSchema = {\n elevation: oneOf(ELEVATION_REFERENCES, 'none'),\n} as const;\n\nconst layoutElevation = {\n schema: elevationSchema,\n details: {\n elevation: {description: 'Generated elevation recipe, or match the resolved surface level.'},\n },\n} as const;\n\nconst explicitLayoutElevation = {\n schema: elevationSchema,\n details: {\n elevation: {description: 'No depth, depth matched to the resolved surface, or an explicit elevation recipe.'},\n },\n} as const;\n\nconst layoutWidth = {\n schema: {\n width: oneOf(LAYOUT_WIDTHS, 'auto'),\n },\n details: {\n width: {description: 'Optional width constraint.'},\n },\n variants: {\n width: LAYOUT_WIDTH_CLASSES,\n },\n defaults: {\n width: 'auto',\n },\n} as const;\n\nconst layoutHeight = {\n schema: {\n height: oneOf(LAYOUT_HEIGHTS, 'auto'),\n maxHeight: oneOf(LAYOUT_MAX_HEIGHTS, 'none'),\n },\n details: {\n height: {description: 'Requested height using generated container measures.'},\n maxHeight: {description: 'Maximum height using generated container measures.'},\n },\n variants: {\n height: LAYOUT_HEIGHT_CLASSES,\n maxHeight: LAYOUT_MAX_HEIGHT_CLASSES,\n },\n defaults: {\n height: 'auto',\n maxHeight: 'none',\n },\n} as const;\n\nconst layoutAlignment = {\n schema: {\n align: oneOf(LAYOUT_ALIGNS, 'stretch'),\n justify: oneOf(LAYOUT_JUSTIFIES, 'start'),\n },\n details: {\n align: {description: 'Cross-axis child alignment.'},\n justify: {description: 'Main-axis child distribution.'},\n },\n variants: {\n align: LAYOUT_ALIGN_CLASSES,\n justify: LAYOUT_JUSTIFY_CLASSES,\n },\n defaults: {\n align: 'stretch',\n justify: 'start',\n },\n} as const;\n\nconst layoutClass = {\n schema: {\n class: string,\n },\n details: {\n class: {description: 'Root class extension.'},\n },\n} as const;\n\nconst layoutTokens = [\n {name: '--ui-surface-color', description: 'Resolved generated surface background.'},\n {name: '--ui-surface-ink', description: 'Primary ink paired with the resolved surface.'},\n {name: '--ui-surface-ink-muted', description: 'Muted ink paired with the resolved surface.'},\n {name: '--ui-active-elevation-shadow-layers', description: 'Resolved generated elevation composition.'},\n] as const;\n\ntype LayoutAs = typeof LAYOUT_AS_VALUES[number];\ntype ContainerMeasure = typeof CONTAINER_MEASURES[number];\ntype LayoutWidth = typeof LAYOUT_WIDTHS[number];\ntype LayoutHeight = typeof LAYOUT_HEIGHTS[number];\ntype LayoutAlign = typeof LAYOUT_ALIGNS[number];\ntype LayoutJustify = typeof LAYOUT_JUSTIFIES[number];\ntype LayoutColumns = typeof LAYOUT_COLUMNS[number];\ntype LayoutRows = typeof LAYOUT_ROWS[number];\n\nexport {\n CONTAINER_MEASURES,\n LAYOUT_ALIGNS,\n LAYOUT_ALIGN_CLASSES,\n LAYOUT_AS_VALUES,\n LAYOUT_COLUMN_CLASSES,\n LAYOUT_COLUMNS,\n LAYOUT_HEIGHTS,\n LAYOUT_MAX_HEIGHTS,\n LAYOUT_HEIGHT_CLASSES,\n LAYOUT_JUSTIFIES,\n LAYOUT_JUSTIFY_CLASSES,\n LAYOUT_ROWS,\n LAYOUT_ROW_CLASSES,\n LAYOUT_WIDTHS,\n LAYOUT_WIDTH_CLASSES,\n explicitLayoutElevation,\n explicitLayoutSurface,\n frameMargin,\n framePadding,\n layoutAlignment,\n layoutBleed,\n layoutClass,\n layoutElevation,\n layoutGap,\n layoutFlow,\n layoutHeight,\n layoutMargin,\n layoutPadding,\n layoutRadius,\n layoutSurface,\n layoutTokens,\n layoutWidth,\n};\nexport type {\n SurfaceRadius,\n ContainerMeasure,\n ElevationReference as Elevation,\n LayoutAlign,\n LayoutAs,\n LayoutColumns,\n LayoutHeight,\n LayoutJustify,\n LayoutRows,\n LayoutSpace,\n LayoutWidth,\n SurfaceReference as Surface,\n};\n\nexport {LAYOUT_FLOWS, FLOW_SPACES};\nexport type {LayoutFlow, FlowSpace};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"./frame-DsKHMcuL.js";var n=e=>{queueMicrotask(()=>{throw e})},r=({measure:r,apply:i})=>{let a=0,o=null,s=()=>{let e=o;if(o=null,e?.generation===a)try{i(e.value)}catch(e){n(e)}},c=()=>{let t=a;try{let n=r();if(t!==a)return;o={generation:t,value:n},e.render(s)}catch(e){o=null,n(e)}};return{schedule(){a++,e.read(c)},cancel(){a++,o=null,t(c),t(s)}}};export{r as t};
2
+ //# sourceMappingURL=layout-task-B6P8q7BH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-task-B6P8q7BH.js","names":[],"sources":["../../../../../../../../client/src/runtime/layout-task.ts"],"sourcesContent":["import {cancelFrame, frame} from 'motion';\n\n// Motion does not isolate callback failures; report after its shared loop exits.\nconst reportTaskError = (error: unknown): void => { queueMicrotask(() => { throw error; }); };\n\n/** A coalesced measurement and presentation update on Motion's shared frame loop. */\nconst createLayoutTask = <T>({measure, apply}: {\n measure(): T;\n apply(measurement: T): void;\n}): {schedule(): void; cancel(): void} => {\n let generation = 0;\n let measured: {generation: number; value: T} | null = null;\n const write = (): void => {\n const snapshot = measured;\n measured = null;\n if (snapshot?.generation !== generation) return;\n try { apply(snapshot.value); }\n catch (error) { reportTaskError(error); }\n };\n const read = (): void => {\n const version = generation;\n try {\n const value = measure();\n if (version !== generation) return;\n measured = {generation: version, value};\n frame.render(write);\n } catch (error) {\n measured = null;\n reportTaskError(error);\n }\n };\n return {\n schedule(): void {\n generation++;\n frame.read(read);\n },\n cancel(): void {\n generation++;\n measured = null;\n cancelFrame(read);\n cancelFrame(write);\n },\n };\n};\n\nexport {createLayoutTask};\n"],"mappings":"0CAGA,IAAM,EAAmB,GAAyB,CAAE,mBAAqB,CAAE,MAAM,CAAO,CAAC,CAAG,EAGtF,GAAuB,CAAC,UAAS,WAGG,CACtC,IAAI,EAAa,EACb,EAAkD,KAChD,MAAoB,CACtB,IAAM,EAAW,EACjB,KAAW,KACP,GAAU,aAAe,EAC7B,GAAI,CAAE,EAAM,EAAS,KAAK,CAAG,OACtB,EAAO,CAAE,EAAgB,CAAK,CAAG,CAC5C,EACM,MAAmB,CACrB,IAAM,EAAU,EAChB,GAAI,CACA,IAAM,EAAQ,EAAQ,EACtB,GAAI,IAAY,EAAY,OAC5B,EAAW,CAAC,WAAY,EAAS,OAAK,EACtC,EAAM,OAAO,CAAK,CACtB,OAAS,EAAO,CACZ,EAAW,KACX,EAAgB,CAAK,CACzB,CACJ,EACA,MAAO,CACH,UAAiB,CACb,IACA,EAAM,KAAK,CAAI,CACnB,EACA,QAAe,CACX,IACA,EAAW,KACX,EAAY,CAAI,EAChB,EAAY,CAAK,CACrB,CACJ,CACJ"}
@@ -0,0 +1,2 @@
1
+ import{$ as e,Ct as t,D as n,F as r,G as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,R as p,St as m,T as ee,Tt as h,U as te,V as g,W as _,X as ne,Y as v,Z as re,_t as ie,a as ae,at as oe,bt as se,ct as ce,dt as le,ft as ue,g as de,ht as fe,i as pe,it as me,lt as y,m as he,mt as b,nt as ge,ot as _e,pt as ve,rt as x,st as ye,ut as S,vt as be,w as xe,wt as Se,xt as Ce,yt as we,z as Te}from"./properties-D8pFWF8g.js";import{a as C,i as Ee,n as w,o as De,r as T,t as E}from"./frame-DsKHMcuL.js";import{n as Oe}from"./identity-BMTQyLbq.js";import{n as ke,t as Ae}from"./morph-Cq3V_23_.js";var je=`data-`+te(`framerAppearId`);function Me(e){return e.props[je]}function Ne(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(x.has(e)){o=!0;continue}if(ve(e)){i[e]=n;continue}{let t=re(n,ye[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=ne(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function D(e){return e===void 0||e===1}function Pe({scale:e,scaleX:t,scaleY:n}){return!D(e)||!D(t)||!D(n)}function O(e){return Pe(e)||Fe(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Fe(e){return Ie(e.x)||Ie(e.y)}function Ie(e){return e&&e!==`0%`}function k(e,t,n){return n+t*(e-n)}function Le(e,t,n,r,i){return i!==void 0&&(e=k(e,i,r)),k(e,n,r)+t}function A(e,t=0,n=1,r,i){e.min=Le(e.min,t,n,r,i),e.max=Le(e.max,t,n,r,i)}function Re(e,{x:t,y:n}){A(e.x,t.translate,t.scale,t.originPoint),A(e.y,n.translate,n.scale,n.originPoint)}var ze=.999999999999,Be=1.0000000000001;function Ve(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&(j(e.x,-a.scroll.offset.x),j(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Re(e,o)),r&&O(a.latestValues)&&M(e,a.latestValues,a.layout?.layoutBox))}t.x<Be&&t.x>ze&&(t.x=1),t.y<Be&&t.y>ze&&(t.y=1)}function j(e,t){e.min+=t,e.max+=t}function He(e,t,n,r,i=.5){A(e,t,n,y(e.min,e.max,i),r)}function Ue(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function M(e,t,n){let r=n??e;He(e.x,Ue(t.x,r.x),t.scaleX,t.scale,t.originX),He(e.y,Ue(t.y,r.y),t.scaleY,t.scale,t.originY)}var{schedule:We,cancel:Ge}=Ee(queueMicrotask,!1),N={value:null,addProjectionMetrics:null};function Ke(e){return Te(e)&&e.tagName===`svg`}var qe=e=>typeof e==`number`?e:parseFloat(e),Je=()=>({translate:0,scale:1,origin:0,originPoint:0}),P=()=>({x:Je(),y:Je()}),Ye=()=>({min:0,max:0}),F=()=>({x:Ye(),y:Ye()});function Xe(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function Ze(e){return typeof e==`string`||Array.isArray(e)}var Qe=[`initial`,`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`];function $e(e){if(Xe(e.animate))return!0;for(let t=0;t<Qe.length;t++)if(Ze(e[Qe[t]]))return!0;return!1}function et(e){return!!($e(e)||e.variants)}function tt(e,t,n){for(let r in t){let i=t[r],a=n[r];if(_(i))e.addValue(r,i);else if(_(a))e.addValue(r,c(i,{owner:e}));else if(a!==i){if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,c(t===void 0?i:t,{owner:e}))}}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var I={current:null},nt={current:!1},rt=typeof window<`u`;function it(){if(nt.current=!0,rt){if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>I.current=e.matches;e.addEventListener(`change`,t),t()}else I.current=!1}}var at=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],ot={},st=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=ge,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=b.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,w.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=$e(t),this.isVariantNode=et(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&_(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];if(this.current=e,d.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.isVariantNode&&!this.isControllingVariants){let e=this;do e=e.props.inherit!==!1&&e.parent;while(e&&!e.isVariantNode);if(e){let{variantChildren:t}=e;t.add(this),this.removeFromVariantTree=()=>t.delete(this)}}this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(nt.current||it(),this.shouldReduceMotion=I.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),E(this.notifyUpdate),E(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(t,n){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),n.accelerate&&f.has(t)&&this.current instanceof HTMLElement){let{factory:r,keyframes:i,times:a,ease:o,duration:s}=n.accelerate,c=new e({element:this.current,name:t,keyframes:i,times:a,ease:o,duration:ie(s)}),l=r(c);this.valueSubscriptions.set(t,()=>{l(),c.cancel()});return}let r=x.has(t);r&&this.onBindTransform&&this.onBindTransform();let i=n.on(`change`,e=>{this.latestValues[t]=e,this.props.onUpdate&&w.preRender(this.notifyUpdate),r&&(this.projection&&(this.projection.isTransformDirty=!0),v.get(this.current)?.check()),this.scheduleRender()}),a;typeof window<`u`&&window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),a&&a()})}sortNodePosition(e){return!this.current||!e.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in ot){let t=ot[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):F()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){let{transformTemplate:n,onUpdate:r}=this.props;(e.transformTemplate||n)&&this.scheduleRender(),(e.transformTemplate&&!n||e.onUpdate&&!r)&&v.get(this.current)?.demote(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<at.length;t++){let n=at[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=tt(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}addValue(e,t){let n=this.values.get(e);if(t!==n){n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t);let r=t.get();r!==void 0&&(this.latestValues[e]=r)}}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=c(t??this.getDefaultValue?.(e),{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(Ce(n)||se(n))?n=parseFloat(n):typeof n!=`number`&&!S.test(n)&&S.test(t)&&(n=_e(e,t)),this.setBaseTarget(e,_(n)?n.get():n)),_(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}on(e,t){return this.events[e]||(this.events[e]=new be),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){We.render(this.render)}},ct=class extends st{constructor(){super(...arguments),this.KeyframeResolver=a}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;_(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}};function lt(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}var L={};function ut(e,{layout:t,layoutId:n}){return x.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!L[e]||e===`opacity`)}function dt(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(_(r[t])||i&&_(i[t])||ut(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function ft(e){return window.getComputedStyle(e)}var pt=class extends ct{constructor(){super(...arguments),this.type=`html`,this.renderInstance=lt}mount(e){m(!!e.style,`motion.create() components must forward their ref to a HTML or SVG element`,`custom-component-ref`),super.mount(e)}readValueFromInstance(e,t){if(x.has(t))return this.projection?.isProjecting?me(t):oe(e,t);{let n=ft(e),r=(ve(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return o(e,t)}build(e,t,n){Ne(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return dt(e,t,n)}};function mt(e,t){e.min=t.min,e.max=t.max}function R(e,t){mt(e.x,t.x),mt(e.y,t.y)}function ht(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var gt=.9999,_t=1.0001,vt=-.01,yt=.01;function z(e){return e.max-e.min}function bt(e,t,n){return Math.abs(e-t)<=n}function xt(e,t,n,r=.5){e.origin=r,e.originPoint=y(t.min,t.max,e.origin),e.scale=z(n)/z(t),e.translate=y(n.min,n.max,e.origin)-e.originPoint,(e.scale>=gt&&e.scale<=_t||isNaN(e.scale))&&(e.scale=1),(e.translate>=vt&&e.translate<=yt||isNaN(e.translate))&&(e.translate=0)}function B(e,t,n,r){xt(e.x,t.x,n.x,r?r.originX:void 0),xt(e.y,t.y,n.y,r?r.originY:void 0)}function St(e,t,n,r=0){e.min=(r?y(n.min,n.max,r):n.min)+t.min,e.max=e.min+z(t)}function Ct(e,t,n,r){St(e.x,t.x,n.x,r?.x),St(e.y,t.y,n.y,r?.y)}function wt(e,t,n,r=0){let i=r?y(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+z(t)}function V(e,t,n,r){wt(e.x,t.x,n.x,r?.x),wt(e.y,t.y,n.y,r?.y)}function Tt(e,t,n,r,i){return e-=t,e=k(e,1/n,r),i!==void 0&&(e=k(e,1/i,r)),e}function Et(e,t=0,n=1,r=.5,i,a=e,o=e){if(le.test(t)&&(t=parseFloat(t),t=y(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=y(a.min,a.max,r);e===a&&(s-=t),e.min=Tt(e.min,t,n,s,i),e.max=Tt(e.max,t,n,s,i)}function Dt(e,t,[n,r,i],a,o){Et(e,t[n],t[r],t[i],t.scale,a,o)}var Ot=[`x`,`scaleX`,`originX`],kt=[`y`,`scaleY`,`originY`];function At(e,t,n,r){Dt(e.x,t,Ot,n?n.x:void 0,r?r.x:void 0),Dt(e.y,t,kt,n?n.y:void 0,r?r.y:void 0)}function jt(e){return e.translate===0&&e.scale===1}function Mt(e){return jt(e.x)&&jt(e.y)}function Nt(e,t){return e.min===t.min&&e.max===t.max}function Pt(e,t){return Nt(e.x,t.x)&&Nt(e.y,t.y)}function Ft(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function It(e,t){return Ft(e.x,t.x)&&Ft(e.y,t.y)}function Lt(e){return z(e.x)/z(e.y)}function Rt(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function zt(e){return[e(`x`),e(`y`)]}function Bt(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var H={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`){if(ue.test(e))e=parseFloat(e);else return e}return`${Bt(e,t.target.x)}% ${Bt(e,t.target.y)}%`}},Vt={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=S.parse(e);if(i.length>5)return r;let a=S.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=y(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}};function Ht(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,pathRotation:i,rotateX:a,rotateY:o,skewX:s,skewY:c}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotate(${i}deg) `),a&&(r+=`rotateX(${a}deg) `),o&&(r+=`rotateY(${o}deg) `),s&&(r+=`skewX(${s}deg) `),c&&(r+=`skewY(${c}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var Ut=g.length,Wt=e=>typeof e==`number`||ue.test(e);function Gt(e,t,n,r,i,a){i?(e.opacity=y(0,n.opacity??1,qt(r)),e.opacityExit=y(t.opacity??1,0,Jt(r))):a&&(e.opacity=y(t.opacity??1,n.opacity??1,r));for(let i=0;i<Ut;i++){let a=g[i],o=Kt(t,a),s=Kt(n,a);(o!==void 0||s!==void 0)&&(o||=0,s||=0,o===0||s===0||Wt(o)===Wt(s)?(e[a]=Math.max(y(qe(o),qe(s),r),0),(le.test(s)||le.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=y(t.rotate||0,n.rotate||0,r))}function Kt(e,t){return e[t]===void 0?e.borderRadius:e[t]}var qt=Yt(0,.5,fe),Jt=Yt(.5,.95,De);function Yt(e,t,n){return r=>r<e?0:r>t?1:n(we(e,t,r))}function Xt(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}var Zt=(e,t)=>e.depth-t.depth,Qt=class{constructor(){this.children=[],this.isDirty=!1}add(e){Se(this.children,e),this.isDirty=!0}remove(e){h(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Zt),this.isDirty=!1,this.children.forEach(e)}};function $t(e,t){let n=b.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(E(r),e(a-t))};return w.setup(r,!0),()=>E(r)}function U(e){return _(e)?e.get():e}var en=class{constructor(){this.members=[]}add(e){Se(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(h(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(h(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},tn={borderRadius:{...H,applyTo:[...g]},borderTopLeftRadius:H,borderTopRightRadius:H,borderBottomLeftRadius:H,borderBottomRightRadius:H,boxShadow:Vt},W={hasAnimatedSinceResize:!0,hasEverUpdated:!1};Object.assign(L,{...tn,...L});var G={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},K=[``,`X`,`Y`,`Z`],nn=1e3,rn=0;function q(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}var J=({instance:e})=>e&&v.get(e)?.demote();function an(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=Me(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,w,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&an(r)}function on({attachResizeListener:e,defaultParent:n,measureScroll:r,checkIsScrollRoot:a,resetTransform:o}){return class{constructor(e={},t=n?.()){this.id=rn++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,N.value&&(G.nodes=G.calculatedTargetDeltas=G.calculatedProjections=0),this.nodes.forEach(ln),this.nodes.forEach(bn),this.nodes.forEach(xn),this.nodes.forEach(un),N.addProjectionMetrics&&N.addProjectionMetrics(G)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=t?t.root||t:this,this.path=t?[...t.path,t]:[],this.parent=t,this.depth=t?t.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Qt)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new be),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=Te(t)&&!Ke(t),this.instance=t;let{layoutId:n,layout:r,visualElement:a}=this.options;if(a&&!a.current&&a.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;w.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=$t(i,250),W.hasAnimatedSinceResize&&(W.hasAnimatedSinceResize=!1,this.nodes.forEach(yn)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&a&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isAnimationBlocked){this.target=void 0,this.relativeTarget=void 0;return}let o=this.options.transition||a.getDefaultTransition()||On,{onLayoutAnimationStart:s,onLayoutAnimationComplete:c}=a.getProps(),l=!this.targetLayout||!It(this.targetLayout,r),u=!t&&n;if(this.options.layoutRoot||this.resumeFrom||u||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...i(o,`layout`),onPlay:s,onComplete:c};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,u,t.path)}else t||yn(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),E(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Sn),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&an(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;J(this),this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,J(t),(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1),t.isAnimationBlocked&&(t.dragSnapshot||=t.measure(),this.dragAncestor=t)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(pn),this.nodes.forEach(fn);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(mn);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(gn),this.nodes.forEach(_n),this.nodes.forEach(vn),this.nodes.forEach(sn),this.nodes.forEach(cn)):this.nodes.forEach(mn),this.clearAllSnapshots();let e=b.now();C.delta=t(0,1e3/60,e-C.timestamp),C.timestamp=e,C.isProcessing=!0,T.update.process(C),T.preRender.process(C),T.render.process(C),C.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,We.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(dn),this.sharedNodes.forEach(Cn)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,w.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){w.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),this.snapshot&&!z(this.snapshot.measuredBox.x)&&!z(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutCorrected||=F(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=a(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!o)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout;e&&J(this);let t=this.projectionDelta&&!Mt(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,i=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||O(this.latestValues)||i)&&(o(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),Mn(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return F();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Pn))){let{scroll:e}=this.root;e&&(j(t.x,e.offset.x),j(t.y,e.offset.y))}return t}removeElementScroll(e){let t=F();if(R(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&R(t,e),j(t.x,i.offset.x),j(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||F();R(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(j(r.x,-n.scroll.offset.x),j(r.y,-n.scroll.offset.y)),O(n.latestValues)&&M(r,n.latestValues,n.layout?.layoutBox)}return O(this.latestValues)&&M(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=F();R(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!O(n.latestValues))continue;let r;n.instance&&(Pe(n.latestValues)&&n.updateSnapshot(),r=F(),R(r,n.measurePageBox())),At(t,n.latestValues,n.snapshot?.layoutBox,r)}return O(this.latestValues)&&At(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0||e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==C.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=C.timestamp;let a=this.getClosestProjectingParent();!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),(this.relativeTarget||this.targetDelta)&&(this.target||(this.target=F(),this.targetWithTransforms=F()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Ct(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):R(this.target,this.layout.layoutBox),Re(this.target,this.targetDelta)):R(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),N.value&&G.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||Pe(this.parent.latestValues)||Fe(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.forceRelativeParentToResolveTarget(),this.relativeTarget=F(),this.relativeTargetOrigin=F(),V(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),R(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===C.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;R(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Ve(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=F());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(ht(this.prevProjectionDelta.x,this.projectionDelta.x),ht(this.prevProjectionDelta.y,this.projectionDelta.y)),B(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!Rt(this.projectionDelta.x,this.prevProjectionDelta.x)||!Rt(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),N.value&&G.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=P(),this.projectionDelta=P(),this.projectionDeltaWithTransform=P()}setAnimationOrigin(e,t=!1,n){let r=this.snapshot,i=r?r.latestValues:{},a={...this.latestValues},o=P();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let s=F(),c=(r?r.source:void 0)!==(this.layout?this.layout.source:void 0),l=this.getStack(),u=!l||l.members.length<=1,d=!(!c||u||this.options.crossfade!==!0||this.path.some(Dn));this.animationProgress=0;let f,p=n?.interpolateProjection(e);this.mixTargetDelta=t=>{let n=t/1e3,r=p?.(n);r?(o.x.translate=r.x,o.x.scale=y(e.x.scale,1,n),o.x.origin=e.x.origin,o.x.originPoint=e.x.originPoint,o.y.translate=r.y,o.y.scale=y(e.y.scale,1,n),o.y.origin=e.y.origin,o.y.originPoint=e.y.originPoint):(wn(o.x,e.x,n),wn(o.y,e.y,n)),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(V(s,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),En(this.relativeTarget,this.relativeTargetOrigin,s,n),f&&Pt(this.relativeTarget,f)&&(this.isProjectionDirty=!1),f||=F(),R(f,this.relativeTarget)),c&&(this.animationValues=a,Gt(a,i,this.latestValues,n,d,u)),r&&r.rotate!==void 0&&(this.animationValues||=a,this.animationValues.pathRotation=r.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(E(this.pendingAnimation),void 0),this.pendingAnimation=w.update(()=>{W.hasAnimatedSinceResize=!0,this.motionValue||=c(0),this.motionValue.jump(0,!1),this.currentAnimation=l(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),ce(this.currentAnimation,this),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(nn),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,layout:n,latestValues:r}=e,{target:i}=e;if(t&&i&&n){if(this!==e&&this.layout&&n&&Nn(this.options.animationType,this.layout.layoutBox,n.layoutBox)){i=this.target||F();let t=z(this.layout.layoutBox.x);i.x.min=e.target.x.min,i.x.max=i.x.min+t;let n=z(this.layout.layoutBox.y);i.y.min=e.target.y.min,i.y.max=i.y.min+n}R(t,i),M(t,r),B(this.projectionDeltaWithTransform,this.layoutCorrected,t,r)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new en),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return!e||e.lead===this}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&q(`z`,e,r,this.animationValues);for(let t=0;t<K.length;t++)q(`rotate${K[t]}`,e,r,this.animationValues),q(`skew${K[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=U(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=U(t?.pointerEvents)||``),this.hasProjected&&!O(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=Ht(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,e.opacity=r.animationValues?r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in L){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=L[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?U(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=this.dragSnapshot=this.dragAncestor=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(fn),this.root.sharedNodes.clear()}}}function sn(e){e.updateLayout(),hn(e)}function cn(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)zt(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=z(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;mt(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else Nn(i,t.layoutBox,n)&&zt(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=z(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=P();B(o,n,t.layoutBox);let s=P();a?B(s,e.applyTransform(r,!0),t.measuredBox):B(s,n,t.layoutBox);let c=!Mt(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=F();V(s,t.layoutBox,i.layoutBox,o);let c=F();V(c,n,a.layoutBox,o),It(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function ln(e){N.value&&G.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function un(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function dn(e){e.clearSnapshot()}function fn(e){e.clearMeasurements()}function pn(e){e.isLayoutDirty=!0,e.updateLayout()}function mn(e){e.isLayoutDirty=!1}function hn(e){let{snapshot:t,dragAncestor:n}=e,r=n?.layout;if(!t||!r||e.resumeFrom||e.isAnimationBlocked)return;let i=n.dragSnapshot;zt(e=>j(t.layoutBox[e],r.layoutBox[e].min-i.layoutBox[e].min))}function gn(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.dragSnapshot||e.layout,e.isLayoutDirty=!0)}function _n(e){e.relativeTarget&&e.relativeParent?.isLayoutDirty&&(e.currentAnimation?e.isLayoutDirty=!0:(e.targetDelta=void 0,e.removeRelativeTarget()))}function vn(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function yn(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function bn(e){e.resolveTargetDelta()}function xn(e){e.calcProjection()}function Sn(e){e.resetSkewAndRotation()}function Cn(e){e.removeLeadSnapshot()}function wn(e,t,n){e.translate=y(t.translate,0,n),e.scale=y(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Tn(e,t,n,r){e.min=y(t.min,n.min,r),e.max=y(t.max,n.max,r)}function En(e,t,n,r){Tn(e.x,t.x,n.x,r),Tn(e.y,t.y,n.y,r)}function Dn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var On={duration:.45,ease:[.4,0,.1,1]},kn=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),An=kn(`applewebkit/`)&&!kn(`chrome/`)?Math.round:De;function jn(e){e.min=An(e.min),e.max=An(e.max)}function Mn(e){jn(e.x),jn(e.y)}function Nn(e,t,n){return e===`position`||e===`preserve-aspect`&&!bt(Lt(t),Lt(n),.2)}function Pn(e){return e!==e.root&&e.scroll?.wasRoot}var Fn=on({attachResizeListener:(e,t)=>Xt(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),In={current:void 0},Ln=on({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!In.current){let e=new Fn({});e.mount(window),e.setOptions({layoutScroll:!0}),In.current=e}return In.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),Rn=`[data-layout],[data-layout-id]`,Y=new WeakMap,X;function zn(e){let t=[];return e instanceof HTMLElement&&e.matches(Rn)&&t.push(e),e.querySelectorAll(Rn).forEach(e=>{e instanceof HTMLElement&&t.push(e)}),t}function Bn(){if(C.isProcessing)return;let e=b.now();C.delta=t(0,1e3/60,e-C.timestamp),C.timestamp=e,C.isProcessing=!0,T.update.process(C),T.preRender.process(C),T.render.process(C),C.isProcessing=!1}function Vn(e){let t=e.parentElement;for(;t;){let e=Y.get(t);if(e&&e.instance)return e;t=t.parentElement}}function Hn(){return new pt({props:{},presenceContext:null,visualState:{latestValues:{},renderState:{transform:{},transformOrigin:{},style:{},vars:{}}}},{allowProjection:!0})}function Un(e,t){let n=e.getAttribute(`data-layout`);return{layoutId:e.getAttribute(`data-layout-id`)??void 0,layout:n!==null||void 0,animationType:!n||n===`true`?`both`:n,transition:t}}function Wn(e,t){let n=Y.get(e);if(n)n.setOptions(Un(e,t));else{let i=d.get(e);i||(i=Hn(),r(e,i)),e.style.transform&&!O(i.latestValues)&&(e.style.transform=``),n=new Ln(i.latestValues,Vn(e)),i.projection=n,n.setOptions({...Un(e,t),visualElement:i}),n.mount(e),Y.set(e,n)}return n.isPresent=!0,n.options.onExitComplete&&n.setOptions({onExitComplete:void 0}),n}function Gn(e){return[...e].sort((e,t)=>e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}function Kn(e,t){t.setOptions({onExitComplete:void 0}),(!t.getStack()||t.isLead())&&t.currentAnimation?.stop(),t.unmount(),Y.delete(e)}function qn(){let e=X;X=void 0,Bn();let t=new Map;for(let n of e)for(let e of n.collectTargets()){let r=t.get(e);r?r.push(n):t.set(e,[n])}let n=new Map;for(let e of Gn(t.keys())){let r=t.get(e),i=Wn(e,r[r.length-1].transitionFor(e));for(let t of r)t.adopt(e,i);n.set(e,i)}n.forEach(e=>{e.isLayoutDirty=!1,e.willUpdate()});let r=[];for(let t of e){let e=t.runUpdate();e&&r.push(e)}let i=()=>{let t=new Set;for(let n of e)n.reconcileAdditions(t);for(let n of e)n.reconcileRemovals(t);let r;n.forEach(e=>r||=e.root);for(let t of e)r||=t.getRoot();r?.didUpdate(),We.render(()=>{for(let t of e)t.finalize()})};r.length?Promise.all(r).then(i):i()}var Jn=class{constructor(e,t,n){this.scope=e,this.updateDom=t,this.defaultOptions=n,this.sharedTransitions=new Map,this.notifyReady=()=>{},this.rejectReady=()=>{},this.tracked=new Map,this.restorePoints=new Map,this.readyPromise=new Promise((e,t)=>{this.notifyReady=e,this.rejectReady=t}),X||(X=[],queueMicrotask(qn)),X.push(this)}shared(e,t){return this.sharedTransitions.set(e,t),this}then(e,t){return this.readyPromise.then(e,t)}transitionFor(e){let t=e.getAttribute(`data-layout-id`);return t&&this.sharedTransitions.get(t)||this.defaultOptions}adopt(e,t){this.tracked.set(e,t),this.restorePoints.set(e,{parent:e.parentElement,next:e.nextSibling})}collectTargets(){return zn(this.scope)}runUpdate(){try{let e=this.updateDom();if(e&&typeof e.then==`function`)return e.then(void 0,e=>{this.updateError=e})}catch(e){this.updateError=e}}reconcileAdditions(e){for(let t of zn(this.scope)){if(this.tracked.has(t))continue;let n=Wn(t,this.transitionFor(t));this.adopt(t,n),n.options.layoutId&&e.add(n.options.layoutId)}}reconcileRemovals(e){this.tracked.forEach((t,n)=>{if(n.isConnected)return;let r=this.restorePoints.get(n);this.restorePoints.delete(n);let{layoutId:i}=t.options,a=t.getStack(),o=a&&a.members.some(e=>e!==t&&e.instance?.isConnected);if(i&&t.isLead()&&o&&!e.has(i)&&r&&r.parent.isConnected){if(r.parent.insertBefore(n,r.next&&r.next.parentNode===r.parent?r.next:null),t.isPresent=!1,t.setOptions({onExitComplete:()=>{n.remove(),Kn(n,t)}}),t.relegate())return;n.remove()}Kn(n,t),this.tracked.delete(n)})}getRoot(){let e;return this.tracked.forEach(t=>e||=t.root),e}finalize(){if(this.updateError){this.rejectReady(this.updateError);return}let e=new Set;this.tracked.forEach(t=>{t.instance&&t.currentAnimation&&e.add(t.currentAnimation)}),this.notifyReady(new s([...e]))}};function Yn(e,t,n){return typeof e==`function`?{scope:document,updateDom:e,defaultOptions:t}:{scope:e instanceof Document?e:p(e)[0]??document,updateDom:t,defaultOptions:n}}function Xn(e,t,n){let{scope:r,updateDom:i,defaultOptions:a}=Yn(e,t,n);return new Jn(r,i,a)}var Z=`data-layout`,Q=`data-layout-id`,Zn=0,Qn=new WeakMap,$n=e=>{let t=Qn.get(e);return t||(t=++Zn,Qn.set(e,t)),t},er=(e,t={})=>{let n=Oe(e),r=t.id??e.getAttribute(`data-layout-id`)??(n?`trellis:${$n(e.parentElement??e)}:${n}`:`trellis-local:${++Zn}`);t.animationType!==void 0&&e.getAttribute(`data-layout`)!==t.animationType?e.setAttribute(Z,t.animationType):e.hasAttribute(`data-layout`)||e.setAttribute(Z,``),e.getAttribute(`data-layout-id`)!==r&&e.setAttribute(Q,r),ke(e,Z,Q)},tr=e=>{e.removeAttribute(Z),e.removeAttribute(Q);let t=(e.getAttribute(`data-ui-preserve-attr`)??``).split(/\s+/).filter(e=>e&&e!==`data-layout`&&e!==`data-layout-id`);t.length?e.setAttribute(Ae,t.join(` `)):e.removeAttribute(Ae)},$=new WeakMap,nr=new Set,rr=(e,t,r={})=>{if(!t.length||r.signal?.aborted||xe())return t.forEach(({subject:e})=>$.get(e)?.()),u(e);let i=new Set;for(let{subject:n}of t)for(let r=n;r&&!i.has(r);r=r.parentElement){if(i.add(r),$.has(r)||de(r))continue;let n=getComputedStyle(r);if([n.transform,n.scale,n.rotate,n.translate].some(e=>e&&e!==`none`))return t.forEach(({subject:e})=>$.get(e)?.()),u(e)}let a,o=new Promise(e=>{a=e}),s=()=>g(`stop`),c=new Set(t.map(({subject:e})=>e)),l=()=>[...c].every(e=>$.get(e)===s);t.forEach(({subject:e})=>{let t=$.get(e);t!==s&&t?.(),$.set(e,s)});let d=t.map(e=>(er(e.subject),{...e,id:e.subject.getAttribute(Q),transition:{...he(r.role??`layout`),...r.transition}})),f=r.scope??d[0].subject.parentElement??document.documentElement;if(!r.scope)for(;f.parentElement&&!d.every(({subject:e})=>f.contains(e));)f=f.parentElement;let p=Xn(f,async()=>{nr.add(f);try{await e()}finally{nr.delete(f)}l()&&d.forEach(({subject:e,destination:t,id:n})=>{let r=t();if(!r||r===e||!r.isConnected)return;let i=$.get(r);i&&i!==s||(er(r,{id:n}),$.set(r,s),c.add(r))})},d[0].transition);d.forEach(({id:e,transition:t})=>p.shared(e,t));let m,h,te=Promise.resolve(p).then(e=>(m=e,h&&l()&&e.complete(),e.finished)),g=e=>{h=e,e===`complete`?l()&&m?.complete():(a(),queueMicrotask(()=>{l()?m?.complete():_()}))};r.signal?.addEventListener(`abort`,s,{once:!0});let _=()=>{c.forEach(e=>{$.get(e)===s&&$.delete(e)})};te.then(_,_);let ne=Promise.race([te.then(()=>{}),o]).finally(()=>{r.signal?.removeEventListener(`abort`,s)}),v=n(ne,{cancel:()=>g(`cancel`),stop:()=>g(`stop`),complete:()=>g(`complete`)});return ee(v),v},ir=(e,t)=>{let n=Array.isArray(t.target)?t.target:[t.target],r=[...new Set(n.map(t=>ae(e,t)))];return[...nr].some(e=>r.every(t=>e===t||e.contains(t)))?u(t.update):rr(t.update,r.map(e=>({subject:e,destination:()=>e})),{...t,signal:t.signal??pe(e)})};export{tr as i,ir as n,er as r,rr as t};
2
+ //# sourceMappingURL=layout-wLgk8rAu.js.map