@vireo-ai/trellis-ui 0.1.43 → 0.1.47

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 (187) hide show
  1. package/package.json +2 -2
  2. package/packages/client/src/components/toast/styles.css +0 -1
  3. package/packages/client/src/styles/generated/theme-fonts.css +1 -1
  4. package/packages/client/src/styles/generated/theme-palette.css +99 -99
  5. package/packages/client/src/styles/generated/theme-runtime.css +229 -128
  6. package/packages/client/src/styles/generated-sources.css +1 -1
  7. package/packages/client/src/styles/motion.css +26 -0
  8. package/packages/client/src/styles/recipes/option.css +4 -2
  9. package/packages/client/src/styles/recipes/selection.css +4 -0
  10. package/packages/client/src/styles/static.css +1 -0
  11. package/packages/client/src/styles/theme.css +0 -4
  12. package/packages/client/types/capabilities/motion.d.ts +2 -1
  13. package/packages/client/types/components/app/contract.d.ts +8 -8
  14. package/packages/client/types/components/box/contract.d.ts +3 -3
  15. package/packages/client/types/components/card/contract.d.ts +4 -4
  16. package/packages/client/types/components/checkbox/contract.d.ts +5 -5
  17. package/packages/client/types/components/checkbox/machine.d.ts +1 -0
  18. package/packages/client/types/components/container/contract.d.ts +2 -2
  19. package/packages/client/types/components/date-picker/contract.d.ts +2 -2
  20. package/packages/client/types/components/date-picker/machine.d.ts +4 -4
  21. package/packages/client/types/components/dropdown/machine.d.ts +4 -1
  22. package/packages/client/types/components/dropdown/safe-area.d.ts +19 -0
  23. package/packages/client/types/components/field/contract.d.ts +1 -1
  24. package/packages/client/types/components/file-upload/contract.d.ts +2 -2
  25. package/packages/client/types/components/file-upload/index.d.ts +2 -0
  26. package/packages/client/types/components/file-upload/machine.d.ts +3 -2
  27. package/packages/client/types/components/flex/contract.d.ts +3 -3
  28. package/packages/client/types/components/frame/contract.d.ts +3 -3
  29. package/packages/client/types/components/grid/contract.d.ts +4 -4
  30. package/packages/client/types/components/layout.d.ts +3 -3
  31. package/packages/client/types/components/menu/contract.d.ts +11 -4
  32. package/packages/client/types/components/modal/contract.d.ts +2 -2
  33. package/packages/client/types/components/radio/contract.d.ts +4 -4
  34. package/packages/client/types/components/section/contract.d.ts +2 -2
  35. package/packages/client/types/components/select/contract.d.ts +3 -3
  36. package/packages/client/types/components/select/machine.d.ts +6 -6
  37. package/packages/client/types/components/sidebar/contract.d.ts +3 -3
  38. package/packages/client/types/components/stack/contract.d.ts +3 -3
  39. package/packages/client/types/components/tooltip/contract.d.ts +4 -4
  40. package/packages/client/types/directives/bounds.d.ts +4 -0
  41. package/packages/client/types/directives/index.d.ts +1 -0
  42. package/packages/client/types/motion/bounds.d.ts +20 -0
  43. package/packages/client/types/motion/flip.d.ts +14 -0
  44. package/packages/client/types/motion/index.d.ts +60 -4
  45. package/packages/client/types/motion/plan.d.ts +7 -1
  46. package/packages/client/types/motion/recipe.d.ts +64 -7
  47. package/packages/client/types/motion/resize.d.ts +3 -1
  48. package/packages/client/types/motion/size.d.ts +25 -0
  49. package/packages/client/types/runtime/collection-navigation.d.ts +2 -1
  50. package/packages/client/types/runtime/identity.d.ts +2 -1
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +293 -179
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +365 -328
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js.map +1 -1
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +1 -1
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DCacA4wj.js +2 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DCacA4wj.js.map +1 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Z-__iteD.js +2 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Z-__iteD.js.map +1 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BnB9Wz0E.js +3 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BnB9Wz0E.js.map +1 -0
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js +2 -0
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js.map +1 -0
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-Dfj6NCjU.js +2 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{common-fH2NGblC.js.map → common-Dfj6NCjU.js.map} +1 -1
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-DsXbNzqk.js → controller-BOf7dxV2.js} +2 -2
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-DsXbNzqk.js.map → controller-BOf7dxV2.js.map} +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js → core-DBX5qDXb.js} +2 -2
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js.map → core-DBX5qDXb.js.map} +1 -1
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dom-invalidation-Dw6clnS4.js +2 -0
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dom-invalidation-Dw6clnS4.js.map +1 -0
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js +2 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js.map +1 -0
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BEjAV5NT.js +2 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BEjAV5NT.js.map +1 -0
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Ck7bhyzz.js → entry.generated-BUbxiHwA.js} +2 -2
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Ck7bhyzz.js.map → entry.generated-BUbxiHwA.js.map} +1 -1
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BV49EHah.js +2 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BV49EHah.js.map +1 -0
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CEGLKsEl.js → entry.generated-B_e0djHK.js} +2 -2
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CEGLKsEl.js.map → entry.generated-B_e0djHK.js.map} +1 -1
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BdiyPh0p.js +2 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BdiyPh0p.js.map +1 -0
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By9j8PrV.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By9j8PrV.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C0S3uZrm.js +2 -0
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C0S3uZrm.js.map +1 -0
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C5kjUnFe.js +2 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C5kjUnFe.js.map +1 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js +2 -0
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js.map +1 -0
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Gl6wz0Oh.js → entry.generated-Cekl4pYo.js} +2 -2
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Gl6wz0Oh.js.map → entry.generated-Cekl4pYo.js.map} +1 -1
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-e3bTOzUi.js → entry.generated-Cj1CmH13.js} +2 -2
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cj1CmH13.js.map +1 -0
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DcXzHGIV.js +2 -0
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DcXzHGIV.js.map +1 -0
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DeXEkXMW.js +2 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DeXEkXMW.js.map +1 -0
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dqyot6vM.js +2 -0
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BbQ_TNRI.js.map → entry.generated-Dqyot6vM.js.map} +1 -1
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CYHiRVjx.js → entry.generated-EAAmcnsg.js} +2 -2
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CYHiRVjx.js.map → entry.generated-EAAmcnsg.js.map} +1 -1
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-F2czAXCg.js +2 -0
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-F2czAXCg.js.map +1 -0
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BwAge51I.js → entry.generated-f6HGqvQY.js} +2 -2
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BwAge51I.js.map → entry.generated-f6HGqvQY.js.map} +1 -1
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-QspMEPHx.js → entry2.generated-QspMEPHx.js} +1 -1
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +1 -0
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-a2NebZsn.js +2 -0
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-a2NebZsn.js.map +1 -0
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-DT-Hq9qe.js +3 -0
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-DT-Hq9qe.js.map +1 -0
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js +2 -0
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js.map +1 -0
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CfByjNaO.js +4 -0
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CfByjNaO.js.map +1 -0
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +1 -1
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +169 -145
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js +0 -2
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js.map +0 -1
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Br_XBf7u.js +0 -2
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-Br_XBf7u.js.map +0 -1
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-aY5GWxrK.js +0 -3
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-aY5GWxrK.js.map +0 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js +0 -2
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js.map +0 -1
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-fH2NGblC.js +0 -2
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B74OtpL2.js +0 -2
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B74OtpL2.js.map +0 -1
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js +0 -2
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js.map +0 -1
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BbQ_TNRI.js +0 -2
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js +0 -2
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js.map +0 -1
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CtoSPDoI.js +0 -2
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CtoSPDoI.js.map +0 -1
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D0Av2Aiw.js +0 -2
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D0Av2Aiw.js.map +0 -1
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js +0 -2
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js.map +0 -1
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DNtvOM3X.js +0 -2
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DNtvOM3X.js.map +0 -1
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSyiRko7.js +0 -2
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSyiRko7.js.map +0 -1
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dd04OzRH.js +0 -2
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dd04OzRH.js.map +0 -1
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +0 -1
  177. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-jP0UEZIS.js +0 -2
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-jP0UEZIS.js.map +0 -1
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js +0 -2
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js.map +0 -1
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjDWyE7q.js +0 -2
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjDWyE7q.js.map +0 -1
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-e3bTOzUi.js.map +0 -1
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js +0 -3
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js.map +0 -1
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js +0 -4
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-B74OtpL2.js","names":[],"sources":["../../../../../../../../client/src/components/tooltip/contract.ts","../../../../../../../../client/src/components/tooltip/machine.ts","../../../../../../../../client/src/components/tooltip/styles.ts","../../../../../../../../client/src/components/tooltip/index.ts","../../../../../../../../client/src/components/tooltip/entry.generated.ts"],"sourcesContent":["import {attribute, bool, number, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n ALIGNMENTS,\n ELEVATION_REFERENCES,\n POSITIONS,\n SURFACE_REFERENCES,\n type Alignment,\n type ElevationReference,\n type Position,\n type SurfaceReference,\n} from '../common';\n\nconst TOOLTIP_COLORS = ['neutral', 'accent', 'success', 'warning', 'danger'] as const;\nconst TOOLTIP_VARIANTS = ['surface', 'soft', 'solid'] as const;\n\nconst tooltipSchema = {\n side: oneOf(POSITIONS, 'bottom' as Position),\n align: oneOf(ALIGNMENTS, 'center' as Alignment),\n offset: number.clamp(-100, 100).default(0),\n gap: number.clamp(0, 50).default(8),\n openDelay: number.clamp(0, 5000).default(400),\n closeDelay: number.clamp(0, 5000).default(150),\n color: oneOf(TOOLTIP_COLORS, 'neutral'),\n variant: oneOf(TOOLTIP_VARIANTS, 'surface'),\n surface: oneOf(SURFACE_REFERENCES, '2' as SurfaceReference),\n elevation: oneOf(ELEVATION_REFERENCES, '4' as ElevationReference),\n disabled: bool,\n class: string,\n};\n\nconst tooltipDirectiveSchema = {\n side: attribute(tooltipSchema.side, 'ui-tooltip-side'),\n align: attribute(tooltipSchema.align, 'ui-tooltip-align'),\n offset: attribute(tooltipSchema.offset, 'ui-tooltip-offset'),\n gap: attribute(tooltipSchema.gap, 'ui-tooltip-gap'),\n openDelay: attribute(tooltipSchema.openDelay, 'ui-tooltip-open-delay'),\n closeDelay: attribute(tooltipSchema.closeDelay, 'ui-tooltip-close-delay'),\n color: attribute(tooltipSchema.color, 'ui-tooltip-color'),\n variant: attribute(tooltipSchema.variant, 'ui-tooltip-variant'),\n surface: attribute(tooltipSchema.surface, 'ui-tooltip-surface'),\n elevation: attribute(tooltipSchema.elevation, 'ui-tooltip-elevation'),\n disabled: attribute(tooltipSchema.disabled, 'ui-tooltip-disabled'),\n};\n\ntype TooltipProps = SchemaToProps<typeof tooltipSchema>;\ntype TooltipDirectiveProps = SchemaToProps<typeof tooltipDirectiveSchema>;\ntype TooltipColor = typeof TOOLTIP_COLORS[number];\ntype TooltipVariant = typeof TOOLTIP_VARIANTS[number];\n\nexport {\n TOOLTIP_COLORS,\n TOOLTIP_VARIANTS,\n tooltipDirectiveSchema,\n tooltipSchema,\n};\nexport type {TooltipColor, TooltipDirectiveProps, TooltipProps, TooltipVariant};\n","import {createMachine, type Machine, type MachineEventObject} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport type {TooltipProps} from './contract';\n\ntype TooltipReason = 'pointer' | 'focus' | 'escape' | 'activation' | 'scroll' | 'blur' | 'disabled' | 'replacement';\ntype TooltipContext = {transition: {reason: TooltipReason; instant: boolean}};\ntype TooltipTransitionData = {reason: TooltipReason; instant: boolean};\ntype TooltipMachineEffects = {\n prepareOpen(): void;\n finishOpen(): void;\n prepareClose(): void;\n finishClose(): void;\n syncProps(): void;\n};\n\nconst transitionData = ({context}: {context: TooltipContext}): TooltipTransitionData => context.transition;\nconst openingHook = defineHook({\n name: 'opening', state: 'opening', project: transitionData, onDone: 'OPENING_DONE', onError: 'OPENING_ERROR',\n} satisfies TransitionHookDefinition<TooltipContext, TooltipProps, TooltipTransitionData, 'opening'>);\nconst closingHook = defineHook({\n name: 'closing', state: 'closing', project: transitionData, onDone: 'CLOSING_DONE', onError: 'CLOSING_ERROR',\n} satisfies TransitionHookDefinition<TooltipContext, TooltipProps, TooltipTransitionData, 'closing'>);\nconst tooltipHooks = [openingHook, closingHook] as const;\n\nconst reasonFrom = (event: MachineEventObject): TooltipReason => {\n const reason = event.reason;\n return reason === 'focus' || reason === 'escape' || reason === 'activation' || reason === 'scroll'\n || reason === 'blur' || reason === 'disabled' || reason === 'replacement' ? reason : 'pointer';\n};\n\nconst createTooltipMachine = (\n props: TooltipProps,\n effects: TooltipMachineEffects,\n): Machine<TooltipContext, TooltipProps> => createMachine<TooltipContext, TooltipProps>({\n initial: 'closed',\n states: {\n closed: {tags: ['closed'], on: {\n OPEN: {target: 'opening', guard: 'canOpen', reduce: 'transition', effects: 'prepareOpen'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'syncProps'},\n }},\n opening: {tags: ['visible', 'expanded', 'transitioning'], on: {\n OPENING_DONE: {target: 'open', effects: 'finishOpen'},\n OPENING_ERROR: {target: 'open', effects: 'finishOpen'},\n CLOSE: {target: 'closing', reduce: 'transition', effects: 'prepareClose'},\n PROPS_CHANGED: [\n {target: 'closing', guard: 'becomesDisabled', reduce: 'replacePropsDisabled', effects: ['syncProps', 'prepareClose']},\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n }},\n open: {tags: ['visible', 'expanded', 'open'], on: {\n CLOSE: {target: 'closing', reduce: 'transition', effects: 'prepareClose'},\n PROPS_CHANGED: [\n {target: 'closing', guard: 'becomesDisabled', reduce: 'replacePropsDisabled', effects: ['syncProps', 'prepareClose']},\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n }},\n closing: {tags: ['visible', 'transitioning'], on: {\n CLOSING_DONE: {target: 'closed', effects: 'finishClose'},\n CLOSING_ERROR: {target: 'closed', effects: 'finishClose'},\n OPEN: {target: 'opening', guard: 'canOpen', reduce: 'transition', effects: 'prepareOpen'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'syncProps'},\n }},\n },\n}, {\n context: {transition: {reason: 'pointer', instant: false}},\n props,\n reducers: {\n transition: ({context, props: currentProps, event}) => ({\n context: {transition: {reason: reasonFrom(event), instant: event.instant === true}},\n props: currentProps,\n }),\n replaceProps: ({context, props: currentProps, event}) => ({\n context,\n props: (event.props as TooltipProps | undefined) ?? currentProps,\n }),\n replacePropsDisabled: ({context, props: currentProps, event}) => ({\n context: {transition: {reason: 'disabled', instant: true}},\n props: (event.props as TooltipProps | undefined) ?? currentProps,\n }),\n },\n guards: {\n canOpen: ({props: currentProps}) => !currentProps.disabled,\n becomesDisabled: ({event}) => (event.props as TooltipProps | undefined)?.disabled === true,\n },\n effects,\n});\n\nexport {createTooltipMachine, tooltipHooks};\nexport type {TooltipContext, TooltipMachineEffects, TooltipReason, TooltipTransitionData};\n","import {defineStyles} from '../../runtime';\nimport {POPOVER_GEOMETRY_CLASSES} from '../common';\n\nconst tooltipStyles = defineStyles({definition: {\n component: 'ui.tooltip',\n parts: {\n root: {base: 'contents'},\n content: {\n base: [\n POPOVER_GEOMETRY_CLASSES,\n 'pointer-events-auto min-h-control-md max-w-72 auto-cols-max grid-flow-col items-center gap-2 rounded-overlay-sm px-2 py-1',\n 'font-body text-1 [font-weight:var(--font-weight-normal)]',\n 'data-[state=closed]:pointer-events-none data-[state=closed]:opacity-0',\n ],\n variants: {\n color: {neutral: '', accent: '', success: '', warning: '', danger: ''},\n variant: {surface: '', soft: '', solid: ''},\n },\n defaults: {color: 'neutral', variant: 'surface'},\n },\n shortcut: {base: 'ml-1 inline-flex items-center gap-1 text-[var(--ui-semantic-surface-ink-muted)]'},\n },\n}});\n\nexport {tooltipStyles};\n","import type Alpine from 'alpinejs';\n\nimport {\n createAlpineMachine,\n defineAlpineData,\n type SchemaToProps,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {createAnchoredPopoverSurface, type AnchoredPopoverSurface} from '@client/runtime/anchored-popover';\nimport type {CodecFn} from '@client/runtime/codecs';\nimport {mergeBindings, type BindingObject} from '@client/runtime/merge-bindings';\nimport {observeSemanticChanges} from '@client/runtime/semantic-observer';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {addListener, dispatch, type CleanupStack} from '@client/utils';\nimport {createKeybindingController} from '../keybinding/controller';\nimport {keybindingStyles} from '../keybinding/styles';\nimport {\n tooltipDirectiveSchema,\n type TooltipDirectiveProps,\n type TooltipProps,\n tooltipSchema,\n} from './contract';\nimport {\n createTooltipMachine,\n tooltipHooks,\n type TooltipContext,\n type TooltipReason,\n} from './machine';\nimport {tooltipStyles} from './styles';\n\ntype TooltipTransitionName = (typeof tooltipHooks)[number]['name'];\ntype TooltipTransition<TName extends TooltipTransitionName = TooltipTransitionName> = TransitionForHook<\n Extract<(typeof tooltipHooks)[number], {name: TName}>,\n HTMLElement\n>;\ntype PopoverElement = HTMLElement & {showPopover(): void; hidePopover(): void};\ntype TooltipSchema = Record<string, CodecFn<unknown>>;\ntype TooltipBridge = ReturnType<typeof createAlpineMachine<TooltipContext, typeof tooltipSchema, typeof tooltipHooks>>;\n\ntype TooltipController = {\n bridge: TooltipBridge;\n connect(snapshot?: {current: TooltipBridge['snapshot']['current']}): void;\n destroy(): void;\n sync(): void;\n close(reason: TooltipReason, instant?: boolean): void;\n};\n\ntype TooltipWarmStore = {active: TooltipController | null};\nconst warmStores = new WeakMap<Document, TooltipWarmStore>();\nconst warmStore = (document: Document): TooltipWarmStore => {\n let store = warmStores.get(document);\n if (!store) {\n store = {active: null};\n warmStores.set(document, store);\n }\n return store;\n};\n\nconst appendDescription = (trigger: HTMLElement, id: string): void => {\n const tokens = new Set((trigger.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean));\n tokens.add(id);\n trigger.setAttribute('aria-describedby', [...tokens].join(' '));\n};\n\nconst removeDescription = (trigger: HTMLElement, id: string): void => {\n const tokens = (trigger.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter((token) => token && token !== id);\n if (tokens.length) trigger.setAttribute('aria-describedby', tokens.join(' '));\n else trigger.removeAttribute('aria-describedby');\n};\n\nconst createTooltipController = <TSchema extends TooltipSchema>({\n owner,\n trigger,\n content,\n schema,\n syncShortcut,\n}: {\n owner: () => HTMLElement & Alpine.ElementWithXAttributes;\n trigger: () => HTMLElement;\n content: () => PopoverElement;\n schema: TSchema;\n syncShortcut?: (value: string) => void;\n}): TooltipController => {\n let cleanup: CleanupStack = [];\n let popover: AnchoredPopoverSurface | null = null;\n let openTimer: ReturnType<typeof setTimeout> | null = null;\n let closeTimer: ReturnType<typeof setTimeout> | null = null;\n let describedById = '';\n let pointerOnTrigger = false;\n let pointerOnContent = false;\n\n const clearTimer = (timer: 'open' | 'close'): void => {\n const current = timer === 'open' ? openTimer : closeTimer;\n if (current !== null) clearTimeout(current);\n if (timer === 'open') openTimer = null;\n else closeTimer = null;\n };\n const props = (): Readonly<TooltipProps> => bridge.getSnapshot().props as TooltipProps;\n const visible = (): boolean => bridge.hasTag('visible');\n const syncSurface = (): void => {\n const value = props();\n const surface = content();\n surface.dataset.state = bridge.hasTag('expanded') ? 'open' : 'closed';\n surface.setAttribute('data-ui-semantic-surface', '');\n surface.dataset.color = value.color;\n surface.dataset.variant = value.variant;\n surface.dataset.uiSurface = value.surface;\n surface.dataset.uiElevation = value.elevation;\n surface.className = resolveStyle({\n part: tooltipStyles.parts.content,\n props: value,\n className: surface.dataset.class,\n });\n syncShortcut?.(trigger().dataset.uiTooltipShortcut ?? '');\n popover?.sync();\n };\n const finishClose = (): void => {\n popover?.close();\n content().hidden = true;\n syncSurface();\n const store = warmStore(owner().ownerDocument);\n if (store.active === controller) store.active = null;\n dispatch({el: owner(), name: 'ui:close'});\n };\n const effects = {\n prepareOpen(): void {\n content().hidden = false;\n popover?.open();\n syncSurface();\n },\n finishOpen(): void {\n syncSurface();\n dispatch({el: owner(), name: 'ui:open'});\n },\n prepareClose(): void { syncSurface(); },\n finishClose,\n syncProps(): void {\n syncSurface();\n if (props().disabled && visible()) controller.close('disabled', true);\n },\n };\n const machineBridge = createAlpineMachine({\n schema,\n hooks: tooltipHooks,\n createMachine: ({props: machineProps}) => createTooltipMachine(machineProps as TooltipProps, effects) as never,\n });\n const bridge = machineBridge as unknown as TooltipBridge;\n\n const open = (reason: TooltipReason, instant = false): void => {\n clearTimer('open');\n clearTimer('close');\n if (props().disabled || bridge.hasTag('expanded')) return;\n const store = warmStore(owner().ownerDocument);\n const warm = store.active !== null && store.active !== controller;\n if (store.active && store.active !== controller) store.active.close('replacement', true);\n store.active = controller;\n bridge.send({type: 'OPEN', reason, instant: instant || warm});\n };\n const close = (reason: TooltipReason, instant = false): void => {\n clearTimer('open');\n clearTimer('close');\n if (!visible()) return;\n bridge.send({type: 'CLOSE', reason, instant});\n };\n const scheduleOpen = (): void => {\n clearTimer('close');\n if (visible() || props().disabled) return;\n const delay = warmStore(owner().ownerDocument).active ? 0 : props().openDelay;\n clearTimer('open');\n openTimer = setTimeout(() => open('pointer', delay === 0), delay);\n };\n const scheduleClose = (): void => {\n clearTimer('open');\n if (!visible()) return;\n clearTimer('close');\n closeTimer = setTimeout(() => close('pointer'), props().closeDelay);\n };\n\n const controller: TooltipController = {\n bridge,\n connect(snapshot): void {\n bridge.connect(owner(), snapshot);\n describedById = content().id || `ui-tooltip-${crypto.randomUUID()}`;\n content().id = describedById;\n content().setAttribute('role', 'tooltip');\n content().setAttribute('popover', 'hint');\n content().setAttribute('data-ui-tooltip-content', '');\n content().hidden = true;\n trigger().setAttribute('data-ui-tooltip-trigger', '');\n appendDescription(trigger(), describedById);\n if ('interestForElement' in trigger()) trigger().setAttribute('interestfor', describedById);\n popover = createAnchoredPopoverSurface({\n reference: trigger,\n floating: content,\n position: () => props().side,\n align: () => props().align,\n gap: () => props().gap,\n offset: () => props().offset,\n });\n syncSurface();\n cleanup = [\n addListener({target: trigger(), event: 'pointerenter', handler: () => {\n pointerOnTrigger = true;\n scheduleOpen();\n }}),\n addListener({target: trigger(), event: 'pointerleave', handler: () => {\n pointerOnTrigger = false;\n if (!pointerOnContent) scheduleClose();\n }}),\n addListener({target: content(), event: 'pointerenter', handler: () => {\n pointerOnContent = true;\n clearTimer('close');\n }}),\n addListener({target: content(), event: 'pointerleave', handler: () => {\n pointerOnContent = false;\n if (!pointerOnTrigger) scheduleClose();\n }}),\n addListener({target: trigger(), event: 'focusin', handler: () => open('focus', true)}),\n addListener({target: trigger(), event: 'focusout', handler: () => {\n if (!pointerOnTrigger && !pointerOnContent) close('blur', true);\n }}),\n addListener({target: trigger(), event: 'pointerdown', handler: () => close('activation', true)}),\n addListener({target: trigger(), event: 'click', handler: () => close('activation', true)}),\n addListener({target: trigger(), event: 'interest', handler: scheduleOpen}),\n addListener({target: trigger(), event: 'loseinterest', handler: scheduleClose}),\n addListener({target: owner().ownerDocument, event: 'keydown', handler: (event) => {\n if (event instanceof KeyboardEvent && event.key === 'Escape' && visible()) close('escape', true);\n }}),\n addListener({target: owner().ownerDocument, event: 'scroll', options: {capture: true}, handler: () => {\n if (visible()) close('scroll', true);\n }}),\n observeSemanticChanges({\n targets: trigger(),\n read: () => trigger().dataset.uiTooltipShortcut ?? '',\n onChange: syncSurface,\n observer: {attributes: true, attributeFilter: ['data-ui-tooltip-shortcut']},\n }),\n ];\n },\n close,\n sync: syncSurface,\n destroy(): void {\n clearTimer('open');\n clearTimer('close');\n cleanup.forEach((dispose) => dispose());\n cleanup = [];\n const store = warmStore(owner().ownerDocument);\n if (store.active === controller) store.active = null;\n popover?.destroy();\n popover = null;\n removeDescription(trigger(), describedById);\n trigger().removeAttribute('data-ui-tooltip-trigger');\n trigger().removeAttribute('interestfor');\n bridge.disconnect();\n },\n };\n return controller;\n};\n\ntype TooltipData = TooltipBridge & {\n readonly root: BindingObject;\n readonly content: BindingObject;\n init(): void;\n destroy(): void;\n};\n\nconst UiTooltip = (): TrellisAlpineComponent<TooltipData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let controller: TooltipController | null = null;\n const root = (): HTMLElement & Alpine.ElementWithXAttributes => {\n if (!rootEl) throw new Error('Tooltip has not been initialized.');\n return rootEl;\n };\n const content = (): PopoverElement => {\n const el = root().querySelector<HTMLElement>(':scope > [data-ui-tooltip-content]');\n if (!(el instanceof HTMLElement)) throw new Error('Tooltip requires ui.tooltip.content.');\n return el as PopoverElement;\n };\n const trigger = (): HTMLElement => {\n const el = Array.from(root().children).find((child) => child instanceof HTMLElement && child !== content());\n if (!(el instanceof HTMLElement)) throw new Error('Tooltip requires an interactive trigger before its content.');\n return el;\n };\n const bridge = createAlpineMachine({\n schema: tooltipSchema,\n hooks: tooltipHooks,\n createMachine: ({props}) => createTooltipMachine(props, {\n prepareOpen() {}, finishOpen() {}, prepareClose() {}, finishClose() {}, syncProps() {},\n }),\n }) as TooltipBridge;\n const component: TrellisAlpineComponent<TooltipData> = {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n controller = createTooltipController({owner: root, trigger, content, schema: tooltipSchema});\n controller.connect(this.snapshot);\n },\n destroy(): void {\n controller?.destroy();\n controller = null;\n rootEl = null;\n },\n get root(): BindingObject {\n return mergeBindings({inputs: [\n resolveStyle({part: tooltipStyles.parts.root, props: this.snapshot.current?.props ?? {}}),\n {'data-ui-tooltip-root': ''},\n ]});\n },\n get content(): BindingObject {\n return {'data-ui-tooltip-content': ''};\n },\n };\n return component;\n};\n\nconst registerTooltipDirective = (AlpineInstance: Alpine.Alpine): void => {\n AlpineInstance.addInitSelector(() => '[x-ui-tooltip]');\n AlpineInstance.directive('ui-tooltip', AlpineInstance.skipDuringClone((el, {expression}, utilities) => {\n if (!(el instanceof HTMLElement)) return;\n const content = el.ownerDocument.createElement('div') as PopoverElement;\n const label = el.ownerDocument.createElement('span');\n label.setAttribute('data-ui-tooltip-label', '');\n content.append(label);\n const shortcut = el.ownerDocument.createElement('span');\n shortcut.setAttribute('data-ui-keybinding', '');\n shortcut.setAttribute('aria-hidden', 'true');\n shortcut.className = resolveStyle({\n part: keybindingStyles.parts.root,\n className: resolveStyle({part: tooltipStyles.parts.shortcut}),\n });\n content.append(shortcut);\n const keybinding = createKeybindingController(shortcut);\n el.insertAdjacentElement('afterend', content);\n const owner = () => el as HTMLElement & Alpine.ElementWithXAttributes;\n const controller = createTooltipController({\n owner,\n trigger: () => el,\n content: () => content,\n schema: tooltipDirectiveSchema,\n syncShortcut: (value) => keybinding.setValue(value),\n });\n controller.connect();\n const evaluator = utilities.evaluateLater(expression);\n utilities.effect(() => evaluator((value) => {\n const text = typeof value === 'string' ? value.trim() : '';\n label.textContent = text;\n el.toggleAttribute('data-ui-tooltip-disabled', !text);\n controller.sync();\n }));\n utilities.cleanup(() => {\n controller.destroy();\n keybinding.destroy();\n content.remove();\n });\n })).before('ui-transition');\n};\n\nconst registerTooltip = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiTooltip', UiTooltip)(AlpineInstance);\n registerTooltipDirective(AlpineInstance);\n};\n\nexport {registerTooltip, registerTooltipDirective, UiTooltip};\nexport type {TooltipData, TooltipDirectiveProps, TooltipTransition};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerMotionCapability} from '../../capabilities/motion';\nimport {registerShortcutCapability} from '../../capabilities/shortcut';\nimport {registerTooltip as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerTooltip = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerShortcutCapability(AlpineInstance);\n registerComponent(AlpineInstance);\n};\n\nexport {registerTooltip};\nexport default registerTooltip;\nexport * from './index';\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{d as e}from"./ui-egQWc4ws.js";import{t}from"./capability-motion-C_8mc71v.js";import{f as n,l as r,n as i,o as a,u as o}from"./codecs-Cb1ns_47.js";import{r as s,t as c}from"./dom-qAeVl7dc.js";import{i as l,t as u}from"./alpine-machine-BS13dbK4.js";import{t as d}from"./alpine-data-CytyCyfk.js";import{n as f,t as p}from"./styles-TfvwVPGw.js";import{t as m}from"./merge-bindings-C8ewA_FD.js";import{t as h}from"./machine-Dqut4h89.js";import{t as ee}from"./dismissable-layer-BROE-Ln2.js";import{a as te,i as g,n as _,o as ne,t as v}from"./focus-scope-DtaPVNl5.js";import{n as y,t as re}from"./scroll-lock-DOw7dmi1.js";import{D as b,h as x,l as S,u as C}from"./common-fH2NGblC.js";import{t as w}from"./controlled-open-Hy4-OT-6.js";var T=[`modal`,`sheet`],E=S,D=[`sm`,`md`,`lg`,`xl`,`full`],O=b,k=C,A=x,j={name:n,open:i,mode:r(T,`modal`),side:r(E,`right`),size:r(D,`md`),surface:r(O,`1`),elevation:r(k,`5`),dismissible:i.default(!0),closable:i.default(!0),disabled:i,autofocusTitle:i,label:n,descriptionId:n,panelClass:n,overlayClass:n,class:n},M={name:n,disabled:i,class:n};n.default(`ui-modal-root`),r(A,`h2`),n.default(`Close`);var ie=[l({name:`opening`,state:`opening`,project:()=>({}),onDone:`OPENING_DONE`,onError:`OPENING_ERROR`}),l({name:`closing`,state:`closing`,project:()=>({}),onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`})],N=w(),P=({props:e,effects:t})=>h({initial:`closed`,states:{closed:{tags:[`closed`],on:{OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:[{target:`opening`,guard:N.shouldOpen,reduce:`replaceProps`,effects:[`syncProps`,`prepareOpen`]},{reduce:`replaceProps`,effects:`syncProps`}]}},opening:{tags:[`visible`,`interactive`,`transitioning`],on:{OPENING_DONE:{target:`open`,effects:`finishOpen`},OPENING_ERROR:{target:`open`,effects:`finishOpen`},CLOSE:{target:`closing`,effects:`prepareClose`},CANCEL:{target:`closing`,guard:`canDismiss`,effects:[`emitCancel`,`prepareClose`]},PROPS_CHANGED:[{target:`closing`,guard:N.shouldClose,reduce:`replaceProps`,effects:[`syncProps`,`prepareClose`]},{reduce:`replaceProps`,effects:`syncProps`}]}},open:{tags:[`visible`,`interactive`,`open`],on:{CLOSE:{target:`closing`,effects:`prepareClose`},CANCEL:{target:`closing`,guard:`canDismiss`,effects:[`emitCancel`,`prepareClose`]},PROPS_CHANGED:[{target:`closing`,guard:N.shouldClose,reduce:`replaceProps`,effects:[`syncProps`,`prepareClose`]},{reduce:`replaceProps`,effects:`syncProps`}]}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:{target:`closed`,effects:`finishClose`},CLOSING_ERROR:{target:`closed`,effects:`finishClose`},OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:[{target:`opening`,guard:N.shouldOpen,reduce:`replaceProps`,effects:[`syncProps`,`prepareOpen`]},{reduce:`replaceProps`,effects:`syncProps`}]}}}},{context:{},props:e,reducers:{replaceProps:N.replace},guards:{canOpen:({props:e})=>!e.disabled,canDismiss:({props:e})=>e.dismissible},effects:{prepareOpen:t.prepareOpen,finishOpen:t.finishOpen,prepareClose:t.prepareClose,finishClose:t.finishClose,syncProps:t.syncProps,emitCancel:({event:e})=>{(e.reason===`escape`||e.reason===`outside`)&&t.emitCancel(e.reason)}}}),F=[`grid-rows-[auto_auto_minmax(0,1fr)_auto]`,`[&>[data-ui-modal-body]]:-mx-1 [&>[data-ui-modal-body]]:min-h-0 [&>[data-ui-modal-body]]:content-start`,`[&>[data-ui-modal-body]]:overflow-x-hidden [&>[data-ui-modal-body]]:overflow-y-auto [&>[data-ui-modal-body]]:px-1`,`[&>[data-ui-modal-footer]]:self-end`],I=p({definition:{component:`ui.modal`,parts:{instance:{base:`contents`},root:{base:[`fixed inset-0 z-dialog m-0 h-auto max-h-none w-auto max-w-none overflow-visible border-0 bg-transparent p-0 text-surface-ink`,`backdrop:bg-transparent`]},viewport:{base:`fixed inset-0 z-dialog flex min-h-dvh`,variants:{mode:{modal:`items-center justify-center overflow-y-auto p-4`,sheet:``},side:{top:``,right:``,bottom:``,left:``}},compounds:[{when:{mode:`sheet`,side:`top`},class:`items-start justify-center`},{when:{mode:`sheet`,side:`right`},class:`items-center justify-end overflow-hidden`},{when:{mode:`sheet`,side:`bottom`},class:`items-end justify-center`},{when:{mode:`sheet`,side:`left`},class:`items-center justify-start overflow-hidden`}],defaults:{mode:`modal`,side:`right`}},overlay:{base:`fixed inset-0 bg-scrim`},panel:{base:[`relative z-dialog grid w-full min-w-0 gap-4 overflow-auto p-5 outline-none`,`max-h-full`],variants:{mode:{modal:`rounded-overlay-md`,sheet:``},side:{top:``,right:``,bottom:``,left:``},size:{sm:`max-w-modal-sm`,md:`max-w-modal-md`,lg:`max-w-modal-lg`,xl:`max-w-modal-xl`,full:`max-w-full`}},compounds:[{when:{mode:`sheet`,side:`right`},class:[`min-h-dvh max-w-modal-md rounded-l-overlay-md`,F]},{when:{mode:`sheet`,side:`left`},class:[`min-h-dvh max-w-modal-md rounded-r-overlay-md`,F]},{when:{mode:`sheet`,side:`top`},class:`max-w-full rounded-b-overlay-md`},{when:{mode:`sheet`,side:`bottom`},class:`max-w-full rounded-t-overlay-md`}],defaults:{mode:`modal`,side:`right`,size:`md`}},trigger:{base:`contents`},outlet:{base:``},title:{base:`pr-8`},description:{base:`-mt-3 pr-8 text-surface-ink-muted`},body:{base:`grid min-w-0 gap-3 text-sm`},footer:{base:`flex min-w-0 items-center justify-end gap-2 pt-1`},close:{base:[`absolute right-3 top-3 inline-flex size-control-md items-center justify-center rounded-control-sm border border-transparent text-surface-ink-muted outline-none`,`hover:bg-interaction-hover focus-visible:ui-focus-ring`]},closeIcon:{base:`size-icon fill-current`}}}}),L=new Set,R=new Set,z=e=>e?`open`:`closed`,B=e=>e===`opening`||e===`open`,V=e=>Array.from(L).find(t=>t.name===e)??null,H=(e,t)=>{e.setAttribute(`data-state`,z(t)),e.setAttribute(`aria-expanded`,t?`true`:`false`)},U=()=>{let t=null,n=``,r=null,i=!1,a=!1,l=!1,d=[],p=[],h=()=>{if(!t)throw Error(`Modal has not been initialized.`);return t},b=()=>{let e=h().querySelector(`[data-ui-modal]`);if(!(e instanceof HTMLDialogElement))throw Error(`Modal requires a dialog element.`);return e},x=()=>{let e=h().querySelector(`[data-ui-modal-viewport]`);if(!e)throw Error(`Modal requires a viewport element.`);return e},S=()=>{let e=h().querySelector(`[data-ui-modal-overlay]`);if(!e)throw Error(`Modal requires an overlay element.`);return e},C=()=>{let e=h().querySelector(`[data-ui-modal-panel]`);if(!e)throw Error(`Modal requires a panel element.`);return e},w=()=>h().querySelector(`[data-ui-modal-title]`),T=()=>h().querySelector(`[data-ui-modal-description]`),E=()=>Array.from(h().children).find(e=>e instanceof HTMLElement&&e.matches(`[data-ui-modal-trigger]`))??null,D=()=>g(C()),O=()=>J.getSnapshot().props,k=()=>J.matches(`opening`)||J.matches(`open`),A=(e,t)=>{if(H(e,k()),e.setAttribute(`aria-controls`,n),e.setAttribute(`data-ui-modal-trigger-target`,n),t||O().disabled){e.setAttribute(`aria-disabled`,`true`),e.setAttribute(`data-disabled`,``),e instanceof HTMLButtonElement&&(e.disabled=!0),e.matches(v)||(e.tabIndex=-1);return}e.removeAttribute(`aria-disabled`),e.removeAttribute(`data-disabled`),e instanceof HTMLButtonElement&&(e.disabled=!1),e.matches(v)||(e.tabIndex=0)},M=()=>{let e=E();e&&A(_(e),O().disabled),R.forEach(e=>e.sync())},N=()=>{let e=O(),t=b(),r=C(),i=w(),a=T();t.id=n,t.setAttribute(`role`,`dialog`),t.setAttribute(`aria-modal`,`true`),r.id||=`${n}-panel`,r.tabIndex=-1,i?(i.id||=`${n}-title`,t.setAttribute(`aria-labelledby`,i.id),t.removeAttribute(`aria-label`),e.autofocusTitle?i.tabIndex=-1:i.removeAttribute(`tabindex`)):(t.removeAttribute(`aria-labelledby`),e.label?t.setAttribute(`aria-label`,e.label):t.removeAttribute(`aria-label`)),a&&(a.id||=`${n}-description`),e.descriptionId===`none`?t.removeAttribute(`aria-describedby`):e.descriptionId?t.setAttribute(`aria-describedby`,e.descriptionId):a?t.setAttribute(`aria-describedby`,a.id):t.removeAttribute(`aria-describedby`)},F=({syncOpen:e=!0}={})=>{let t=k(),n=z(t);e&&o({el:h(),schema:j,key:`open`,value:t}),[b(),x(),S(),C()].forEach(e=>{e.setAttribute(`data-state`,n)}),M()},V=()=>{let e=C().querySelector(`[autofocus]`);if(e&&te(e)){e.focus({preventScroll:!0});return}let t=w();if(O().autofocusTitle&&t){t.focus({preventScroll:!0});return}let n=D()[0];if(n){n.focus({preventScroll:!0});return}C().focus({preventScroll:!0})},U=()=>{!r||!document.contains(r)||r.focus({preventScroll:!0})},W=e=>{J.hasTag(`interactive`)&&ne(e,C())},G=()=>{let e=b();typeof e.showModal==`function`&&!i?(e.open&&e.removeAttribute(`open`),e.showModal(),i=!0):e.open||e.setAttribute(`open`,``),a||=(re(),!0),N(),F(),queueMicrotask(V)},K=()=>{F(),s({el:b(),name:`ui:open`})},q=()=>{F()},ae=()=>{let e=b();e.open&&e.close(),i=!1,a&&=(y(),!1),F(),U(),s({el:e,name:`ui:close`})},oe=()=>{N(),M()},J=u({schema:j,hooks:ie,createMachine:({props:e})=>P({props:e,effects:{prepareOpen:G,finishOpen:K,prepareClose:q,finishClose:ae,syncProps:oe,emitCancel:e=>{s({el:b(),name:`ui:cancel`,detail:{reason:e}})}}})}),Y=e=>{O().disabled||(r=e,J.send(`OPEN`))},X=(e,t)=>{t?.preventDefault(),J.send({type:`CANCEL`,reason:e})},Z=()=>{p.forEach(e=>e()),p=[]},se=e=>{let t=_(e);Z(),A(t,O().disabled),c({target:t,event:`click`,handler:()=>Y(t),cleanup:p}),c({target:t,event:`keydown`,handler:e=>{e instanceof KeyboardEvent&&(t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),Y(t)))},cleanup:p})},ce=()=>{let e=b(),t=e.querySelector(`[data-ui-modal-trigger]`);!t||t.dataset.name||(h().insertBefore(t,e),se(t))},le=()=>{let e=b();c({target:e,event:`cancel`,handler:t=>{t.target===e&&X(`escape`,t)},cleanup:d}),c({target:e,event:`close`,handler:()=>{J.hasTag(`visible`)&&J.send(`CLOSE`)},cleanup:d}),c({target:e,event:`keydown`,handler:e=>{e instanceof KeyboardEvent&&W(e)},cleanup:d}),c({target:e,event:`click`,handler:e=>{let t=e.target;!(t instanceof Element)||!t.closest(`[data-ui-modal-close]`)||(e.preventDefault(),J.send(`CLOSE`))},cleanup:d}),c({target:document,event:`ui:modal-close`,handler:e=>{let t=e.detail;!t?.name||t.name!==O().name||J.send(`CLOSE`)},cleanup:d}),d.push(ee({isEnabled:()=>J.hasTag(`interactive`),roots:()=>[C(),r,E()],onDismiss:e=>X(`outside`,e)}))},Q,$={get name(){return O().name},get isOpen(){return J.matches(`open`)},get dialogId(){return n},openFrom:Y,close(e){e?.preventDefault(),J.send(`CLOSE`)},syncExternalTrigger:A};return Q={...J,get name(){return this.snapshot.current?.props.name??``},get isOpen(){return this.snapshot.current?.value===`open`},get isVisible(){return this.snapshot.current?.tags.includes(`visible`)??!1},get dialogId(){return n},init(){t=this.$el,J.connect(this.$el,this.snapshot);let r=O();n=b().id||this.$id(`modal${r.name?`-${r.name}`:``}`),e(b(),`open`),N(),L.add($),l=!0,ce(),le(),F({syncOpen:!1}),r.open&&queueMicrotask(()=>J.send(`OPEN`))},destroy(){d.forEach(e=>e()),d=[],Z(),l&&=(L.delete($),!1),J.disconnect();let e=t?.querySelector(`[data-ui-modal]`);e?.open&&e.close(),a&&=(y(),!1),R.forEach(e=>e.sync()),t=null},get root(){return m({inputs:[f({part:I.parts.instance,props:{},className:``}),{"data-ui-modal-instance":``}]})},get dialog(){let e=this.snapshot,t=e.current?.props??O();return m({inputs:[f({part:I.parts.root,props:t,className:t.class}),{id:n,role:`dialog`,"aria-modal":`true`,":data-state":()=>z(B(e.current?.value)),":data-mode":()=>e.current?.props.mode,":data-side":()=>e.current?.props.side,":data-size":()=>e.current?.props.size}]})},get viewport(){let e=this.snapshot,t=e.current?.props??O();return m({inputs:[f({part:I.parts.viewport,props:t}),{":data-state":()=>z(B(e.current?.value)),":data-mode":()=>e.current?.props.mode,":data-side":()=>e.current?.props.side}]})},get overlay(){let e=this.snapshot,t=e.current?.props??O();return m({inputs:[f({part:I.parts.overlay,props:t,className:t.overlayClass}),{":data-state":()=>z(B(e.current?.value))}]})},get panel(){let e=this.snapshot,t=e.current?.props??O();return m({inputs:[f({part:I.parts.panel,props:t,className:t.panelClass}),{tabindex:-1,":data-state":()=>z(B(e.current?.value)),":data-mode":()=>e.current?.props.mode,":data-side":()=>e.current?.props.side,":data-size":()=>e.current?.props.size,":data-ui-surface":()=>e.current?.props.surface,":data-ui-elevation":()=>e.current?.props.elevation}]})},open(e){if(e?.preventDefault(),O().disabled)return;let t=E();t&&(r=_(t)),J.send(`OPEN`)},close(e){e?.preventDefault(),J.send(`CLOSE`)}},Q},W=()=>{let e=null,t=null,n=[],r=!1,i=()=>{if(!e)throw Error(`Modal trigger has not been initialized.`);return e},o=()=>{if(!t)throw Error(`Modal trigger has not been initialized.`);return t},s=()=>{let e=i().name;return e?V(e):null},l=()=>{let e=i(),t=o(),n=s();if(n){n.syncExternalTrigger(t,e.disabled);return}H(t,!1),e.disabled?(t.setAttribute(`aria-disabled`,`true`),t.setAttribute(`data-disabled`,``)):(t.removeAttribute(`aria-disabled`),t.removeAttribute(`data-disabled`))},u={get name(){return i().name},get target(){return o()},sync:l};return{init(){e=a({el:this.$el,schema:M,onChange:()=>{e?.name&&l()}}),t=_(this.$el),e.name&&(R.add(u),r=!0,l(),c({target:t,event:`click`,handler:e=>this.open(e),cleanup:n}),c({target:t,event:`keydown`,handler:e=>{e instanceof KeyboardEvent&&(t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||e.key!==`Enter`&&e.key!==` `||this.open(e))},cleanup:n}))},destroy(){e?.disconnect(),r&&R.delete(u),n.forEach(e=>e()),n=[],r=!1,e=null,t=null},get root(){let t=i();return m({inputs:[f({part:I.parts.trigger,props:{},className:t.class}),{"data-ui-modal-trigger":``,":data-name":()=>e?.name||void 0,":data-disabled":()=>e?.disabled?``:void 0}]})},open(e){e?.preventDefault(),!i().disabled&&s()?.openFrom(o())}}},G=e=>{d(`UiModal`,U)(e),d(`UiModalTrigger`,W)(e)},K=new WeakSet,q=e=>{K.has(e)||(K.add(e),t(e),G(e))};export{U as n,W as r,q as t};
2
- //# sourceMappingURL=entry.generated-BZXp8Edl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-BZXp8Edl.js","names":[],"sources":["../../../../../../../../client/src/components/modal/contract.ts","../../../../../../../../client/src/components/modal/machine.ts","../../../../../../../../client/src/components/modal/styles.ts","../../../../../../../../client/src/components/modal/index.ts","../../../../../../../../client/src/components/modal/entry.generated.ts"],"sourcesContent":["import {bool, oneOf, string, type PropState, type SchemaToProps} from '../../runtime';\nimport {\n EDGE_POSITIONS,\n ELEVATION_REFERENCES,\n HEADING_LEVELS,\n SURFACE_REFERENCES,\n type EdgePosition,\n type ElevationReference,\n type HeadingLevel,\n type SurfaceReference,\n} from '../common';\n\nconst MODAL_MODES = ['modal', 'sheet'] as const;\nconst MODAL_SIDES = EDGE_POSITIONS;\nconst MODAL_SIZES = ['sm', 'md', 'lg', 'xl', 'full'] as const;\nconst MODAL_SURFACES = SURFACE_REFERENCES;\nconst MODAL_ELEVATIONS = ELEVATION_REFERENCES;\nconst MODAL_TITLE_AS_VALUES = HEADING_LEVELS;\n\ntype ModalMode = typeof MODAL_MODES[number];\ntype ModalSide = EdgePosition;\ntype ModalSize = typeof MODAL_SIZES[number];\ntype ModalSurface = SurfaceReference;\ntype ModalElevation = ElevationReference;\ntype ModalTitleAs = HeadingLevel;\n\nconst modalSchema = {\n name: string,\n open: bool,\n mode: oneOf(MODAL_MODES, 'modal'),\n side: oneOf(MODAL_SIDES, 'right'),\n size: oneOf(MODAL_SIZES, 'md'),\n surface: oneOf(MODAL_SURFACES, '1' as ModalSurface),\n elevation: oneOf(MODAL_ELEVATIONS, '5' as ModalElevation),\n dismissible: bool.default(true),\n closable: bool.default(true),\n disabled: bool,\n autofocusTitle: bool,\n label: string,\n descriptionId: string,\n panelClass: string,\n overlayClass: string,\n class: string,\n};\n\nconst modalTriggerSchema = {\n name: string,\n disabled: bool,\n class: string,\n};\n\nconst modalOutletSchema = {\n id: string.default('ui-modal-root'),\n class: string,\n};\n\nconst modalTitleSchema = {\n as: oneOf(MODAL_TITLE_AS_VALUES, 'h2'),\n class: string,\n};\n\nconst modalDescriptionSchema = {\n class: string,\n};\n\nconst modalBodySchema = {\n class: string,\n};\n\nconst modalFooterSchema = {\n class: string,\n};\n\nconst modalCloseSchema = {\n label: string.default('Close'),\n class: string,\n};\n\ntype ModalProps = SchemaToProps<typeof modalSchema>;\ntype ModalTriggerProps = PropState<typeof modalTriggerSchema>;\n\nexport {\n MODAL_SIDES,\n MODAL_SIZES,\n MODAL_ELEVATIONS,\n MODAL_SURFACES,\n MODAL_TITLE_AS_VALUES,\n MODAL_MODES,\n modalBodySchema,\n modalCloseSchema,\n modalDescriptionSchema,\n modalFooterSchema,\n modalOutletSchema,\n modalSchema,\n modalTitleSchema,\n modalTriggerSchema,\n};\nexport type {\n ModalSide,\n ModalProps,\n ModalSize,\n ModalSurface,\n ModalElevation,\n ModalTitleAs,\n ModalTriggerProps,\n ModalMode,\n};\n","import {\n createMachine,\n type Machine,\n} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport {defineControlledOpenProps} from '../shared/controlled-open';\nimport type {ModalProps} from './contract';\n\ntype ModalContext = Record<string, never>;\n\ntype ModalMachineEffects = {\n prepareOpen(): void;\n finishOpen(): void;\n prepareClose(): void;\n finishClose(): void;\n syncProps(): void;\n emitCancel(reason: 'escape' | 'outside'): void;\n};\n\ntype CreateModalMachineOptions = {\n props: ModalProps;\n effects: ModalMachineEffects;\n};\n\nconst openingHook = defineHook({\n name: 'opening',\n state: 'opening',\n project: () => ({}),\n onDone: 'OPENING_DONE',\n onError: 'OPENING_ERROR',\n} satisfies TransitionHookDefinition<ModalContext, ModalProps, Record<string, never>, 'opening'>);\n\nconst closingHook = defineHook({\n name: 'closing',\n state: 'closing',\n project: () => ({}),\n onDone: 'CLOSING_DONE',\n onError: 'CLOSING_ERROR',\n} satisfies TransitionHookDefinition<ModalContext, ModalProps, Record<string, never>, 'closing'>);\n\nconst modalHooks = [openingHook, closingHook] as const;\nconst controlledOpenProps = defineControlledOpenProps<ModalContext, ModalProps>();\n\nconst createModalMachine = ({\n props,\n effects,\n}: CreateModalMachineOptions): Machine<ModalContext, ModalProps> => createMachine<ModalContext, ModalProps>({\n initial: 'closed',\n states: {\n closed: {\n tags: ['closed'],\n on: {\n OPEN: {target: 'opening', guard: 'canOpen', effects: 'prepareOpen'},\n PROPS_CHANGED: [\n {\n target: 'opening',\n guard: controlledOpenProps.shouldOpen,\n reduce: 'replaceProps',\n effects: ['syncProps', 'prepareOpen'],\n },\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n },\n },\n opening: {\n tags: ['visible', 'interactive', 'transitioning'],\n on: {\n OPENING_DONE: {target: 'open', effects: 'finishOpen'},\n OPENING_ERROR: {target: 'open', effects: 'finishOpen'},\n CLOSE: {target: 'closing', effects: 'prepareClose'},\n CANCEL: {target: 'closing', guard: 'canDismiss', effects: ['emitCancel', 'prepareClose']},\n PROPS_CHANGED: [\n {\n target: 'closing',\n guard: controlledOpenProps.shouldClose,\n reduce: 'replaceProps',\n effects: ['syncProps', 'prepareClose'],\n },\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n },\n },\n open: {\n tags: ['visible', 'interactive', 'open'],\n on: {\n CLOSE: {target: 'closing', effects: 'prepareClose'},\n CANCEL: {target: 'closing', guard: 'canDismiss', effects: ['emitCancel', 'prepareClose']},\n PROPS_CHANGED: [\n {\n target: 'closing',\n guard: controlledOpenProps.shouldClose,\n reduce: 'replaceProps',\n effects: ['syncProps', 'prepareClose'],\n },\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n },\n },\n closing: {\n tags: ['visible', 'transitioning'],\n on: {\n CLOSING_DONE: {target: 'closed', effects: 'finishClose'},\n CLOSING_ERROR: {target: 'closed', effects: 'finishClose'},\n OPEN: {target: 'opening', guard: 'canOpen', effects: 'prepareOpen'},\n PROPS_CHANGED: [\n {\n target: 'opening',\n guard: controlledOpenProps.shouldOpen,\n reduce: 'replaceProps',\n effects: ['syncProps', 'prepareOpen'],\n },\n {reduce: 'replaceProps', effects: 'syncProps'},\n ],\n },\n },\n },\n}, {\n context: {},\n props,\n reducers: {\n replaceProps: controlledOpenProps.replace,\n },\n guards: {\n canOpen: ({props: currentProps}) => !currentProps.disabled,\n canDismiss: ({props: currentProps}) => currentProps.dismissible,\n },\n effects: {\n prepareOpen: effects.prepareOpen,\n finishOpen: effects.finishOpen,\n prepareClose: effects.prepareClose,\n finishClose: effects.finishClose,\n syncProps: effects.syncProps,\n emitCancel: ({event}) => {\n if (event.reason === 'escape' || event.reason === 'outside') effects.emitCancel(event.reason);\n },\n },\n});\n\nexport {createModalMachine, modalHooks};\nexport type {CreateModalMachineOptions, ModalContext, ModalMachineEffects};\n","import {defineStyles} from '../../runtime';\n\nconst EDGE_PANEL_LAYOUT_CLASSES = [\n 'grid-rows-[auto_auto_minmax(0,1fr)_auto]',\n '[&>[data-ui-modal-body]]:-mx-1 [&>[data-ui-modal-body]]:min-h-0 [&>[data-ui-modal-body]]:content-start',\n '[&>[data-ui-modal-body]]:overflow-x-hidden [&>[data-ui-modal-body]]:overflow-y-auto [&>[data-ui-modal-body]]:px-1',\n '[&>[data-ui-modal-footer]]:self-end',\n] as const;\n\nconst modalStyles = defineStyles({definition: {\n component: 'ui.modal',\n parts: {\n instance: {\n base: 'contents',\n },\n root: {\n base: [\n 'fixed inset-0 z-dialog m-0 h-auto max-h-none w-auto max-w-none overflow-visible border-0 bg-transparent p-0 text-surface-ink',\n 'backdrop:bg-transparent',\n ],\n },\n viewport: {\n base: 'fixed inset-0 z-dialog flex min-h-dvh',\n variants: {\n mode: {\n modal: 'items-center justify-center overflow-y-auto p-4',\n sheet: '',\n },\n side: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n },\n compounds: [\n {when: {mode: 'sheet', side: 'top'}, class: 'items-start justify-center'},\n {when: {mode: 'sheet', side: 'right'}, class: 'items-center justify-end overflow-hidden'},\n {when: {mode: 'sheet', side: 'bottom'}, class: 'items-end justify-center'},\n {when: {mode: 'sheet', side: 'left'}, class: 'items-center justify-start overflow-hidden'},\n ],\n defaults: {\n mode: 'modal',\n side: 'right',\n },\n },\n overlay: {\n base: 'fixed inset-0 bg-scrim',\n },\n panel: {\n base: [\n 'relative z-dialog grid w-full min-w-0 gap-4 overflow-auto p-5 outline-none',\n 'max-h-full',\n ],\n variants: {\n mode: {\n modal: 'rounded-overlay-md',\n sheet: '',\n },\n side: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n size: {\n sm: 'max-w-modal-sm',\n md: 'max-w-modal-md',\n lg: 'max-w-modal-lg',\n xl: 'max-w-modal-xl',\n full: 'max-w-full',\n },\n },\n compounds: [\n {when: {mode: 'sheet', side: 'right'}, class: ['min-h-dvh max-w-modal-md rounded-l-overlay-md', EDGE_PANEL_LAYOUT_CLASSES]},\n {when: {mode: 'sheet', side: 'left'}, class: ['min-h-dvh max-w-modal-md rounded-r-overlay-md', EDGE_PANEL_LAYOUT_CLASSES]},\n {when: {mode: 'sheet', side: 'top'}, class: 'max-w-full rounded-b-overlay-md'},\n {when: {mode: 'sheet', side: 'bottom'}, class: 'max-w-full rounded-t-overlay-md'},\n ],\n defaults: {\n mode: 'modal',\n side: 'right',\n size: 'md',\n },\n },\n trigger: {\n base: 'contents',\n },\n outlet: {\n base: '',\n },\n title: {\n base: 'pr-8',\n },\n description: {\n base: '-mt-3 pr-8 text-surface-ink-muted',\n },\n body: {\n base: 'grid min-w-0 gap-3 text-sm',\n },\n footer: {\n base: 'flex min-w-0 items-center justify-end gap-2 pt-1',\n },\n close: {\n base: [\n 'absolute right-3 top-3 inline-flex size-control-md items-center justify-center rounded-control-sm border border-transparent text-surface-ink-muted outline-none',\n 'hover:bg-interaction-hover focus-visible:ui-focus-ring',\n ],\n },\n closeIcon: {\n base: 'size-icon fill-current',\n },\n },\n}});\n\nexport {modalStyles};\n","import type Alpine from 'alpinejs';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n defineAlpineData,\n reflectSchemaProp,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {defineProps} from '@client/runtime/codecs';\nimport {addDismissableLayer} from '@client/runtime/dismissable-layer';\nimport {FOCUSABLE_SELECTOR, closestFocusable, focusableElements, isFocusable, trapFocus as trapFocusWithin} from '@client/runtime/focus-scope';\nimport {mergeBindings, type BindingObject} from '@client/runtime/merge-bindings';\nimport {declareMorphAttributes} from '@client/runtime/morph';\nimport {lockDocumentScroll, unlockDocumentScroll} from '@client/runtime/scroll-lock';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {addListener, dispatch, type CleanupStack} from '@client/utils';\nimport {\n modalSchema,\n modalTriggerSchema,\n type ModalProps,\n type ModalTriggerProps,\n} from './contract';\nimport {createModalMachine, modalHooks, type ModalContext} from './machine';\nimport {modalStyles} from './styles';\n\ntype ModalTransitionName = (typeof modalHooks)[number]['name'];\ntype ModalTransition<TName extends ModalTransitionName = ModalTransitionName> = TransitionForHook<\n Extract<(typeof modalHooks)[number], {name: TName}>,\n HTMLElement\n>;\n\ntype CancelReason = 'escape' | 'outside';\n\ntype ModalCancelDetail = {\n reason: CancelReason;\n};\n\ntype ModalCloseEventDetail = {\n name?: string;\n};\n\ntype ModalController = {\n readonly name: string;\n readonly isOpen: boolean;\n readonly dialogId: string;\n openFrom(trigger: HTMLElement): void;\n close(event?: Event): void;\n syncExternalTrigger(trigger: HTMLElement, disabled: boolean): void;\n};\n\ntype ModalTriggerController = {\n readonly name: string;\n readonly target: HTMLElement;\n sync(): void;\n};\n\n/**\n * Public Alpine API for `ui.modal`.\n *\n * @public\n */\ninterface UiModalApi {\n /** Whether the modal has completed its opening transition. */\n readonly isOpen: boolean;\n\n /** Whether the modal is opening, open, or closing. */\n readonly isVisible: boolean;\n\n /** Opens the modal unless it is disabled. */\n open(event?: Event): void;\n\n /** Closes the modal. */\n close(event?: Event): void;\n}\n\n/**\n * Public Alpine API for `ui.modal.trigger`.\n *\n * @public\n */\ninterface UiModalTriggerApi {\n /** Opens the named modal unless the trigger or modal is disabled. */\n open(event?: Event): void;\n}\n\ntype ModalData = AlpineMachine<ModalContext, ModalProps, typeof modalHooks> & UiModalApi & {\n readonly name: string;\n readonly dialogId: string;\n readonly root: BindingObject;\n readonly dialog: BindingObject;\n readonly viewport: BindingObject;\n readonly overlay: BindingObject;\n readonly panel: BindingObject;\n init(): void;\n destroy(): void;\n};\n\ntype ModalTriggerData = UiModalTriggerApi & {\n readonly root: BindingObject;\n init(): void;\n destroy(): void;\n};\n\nconst modalControllers = new Set<ModalController>();\nconst modalTriggerControllers = new Set<ModalTriggerController>();\n\nconst stateFor = (open: boolean): 'open' | 'closed' => (open ? 'open' : 'closed');\nconst isExpandedState = (state: unknown): boolean => state === 'opening' || state === 'open';\n\nconst findNamedModal = (name: string): ModalController | null => (\n Array.from(modalControllers).find((controller) => controller.name === name) ?? null\n);\n\nconst setOpenAttributes = (el: HTMLElement, open: boolean): void => {\n el.setAttribute('data-state', stateFor(open));\n el.setAttribute('aria-expanded', open ? 'true' : 'false');\n};\n\nconst UiModal = (): TrellisAlpineComponent<ModalData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let dialogId = '';\n let activeTrigger: HTMLElement | null = null;\n let didShowModal = false;\n let hasScrollLock = false;\n let isRegistered = false;\n let cleanup: CleanupStack = [];\n let localTriggerCleanup: CleanupStack = [];\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Modal has not been initialized.');\n return rootEl;\n };\n\n const dialogEl = (): HTMLDialogElement => {\n const dialog = root().querySelector<HTMLDialogElement>('[data-ui-modal]');\n if (!(dialog instanceof HTMLDialogElement)) throw new Error('Modal requires a dialog element.');\n return dialog;\n };\n\n const viewportEl = (): HTMLElement => {\n const viewport = root().querySelector<HTMLElement>('[data-ui-modal-viewport]');\n if (!viewport) throw new Error('Modal requires a viewport element.');\n return viewport;\n };\n\n const overlayEl = (): HTMLElement => {\n const overlay = root().querySelector<HTMLElement>('[data-ui-modal-overlay]');\n if (!overlay) throw new Error('Modal requires an overlay element.');\n return overlay;\n };\n\n const panelEl = (): HTMLElement => {\n const panel = root().querySelector<HTMLElement>('[data-ui-modal-panel]');\n if (!panel) throw new Error('Modal requires a panel element.');\n return panel;\n };\n\n const titleEl = (): HTMLElement | null => root().querySelector<HTMLElement>('[data-ui-modal-title]');\n const descriptionEl = (): HTMLElement | null => root().querySelector<HTMLElement>('[data-ui-modal-description]');\n\n const localTriggerEl = (): HTMLElement | null => (\n Array.from(root().children)\n .find((child) => child instanceof HTMLElement && child.matches('[data-ui-modal-trigger]')) as HTMLElement | undefined\n ?? null\n );\n\n const focusableEls = (): HTMLElement[] => focusableElements(panelEl());\n\n const currentProps = (): Readonly<ModalProps> => bridge.getSnapshot().props;\n const isExpanded = (): boolean => bridge.matches('opening') || bridge.matches('open');\n\n const syncExternalTrigger = (trigger: HTMLElement, disabled: boolean): void => {\n const expanded = isExpanded();\n setOpenAttributes(trigger, expanded);\n trigger.setAttribute('aria-controls', dialogId);\n trigger.setAttribute('data-ui-modal-trigger-target', dialogId);\n\n if (disabled || currentProps().disabled) {\n trigger.setAttribute('aria-disabled', 'true');\n trigger.setAttribute('data-disabled', '');\n if (trigger instanceof HTMLButtonElement) trigger.disabled = true;\n if (!trigger.matches(FOCUSABLE_SELECTOR)) trigger.tabIndex = -1;\n return;\n }\n\n trigger.removeAttribute('aria-disabled');\n trigger.removeAttribute('data-disabled');\n if (trigger instanceof HTMLButtonElement) trigger.disabled = false;\n if (!trigger.matches(FOCUSABLE_SELECTOR)) trigger.tabIndex = 0;\n };\n\n const syncTriggers = (): void => {\n const local = localTriggerEl();\n if (local) syncExternalTrigger(closestFocusable(local), currentProps().disabled);\n modalTriggerControllers.forEach((trigger) => trigger.sync());\n };\n\n const syncAccessibility = (): void => {\n const props = currentProps();\n const dialog = dialogEl();\n const panel = panelEl();\n const title = titleEl();\n const description = descriptionEl();\n\n dialog.id = dialogId;\n dialog.setAttribute('role', 'dialog');\n dialog.setAttribute('aria-modal', 'true');\n panel.id ||= `${dialogId}-panel`;\n panel.tabIndex = -1;\n\n if (title) {\n title.id ||= `${dialogId}-title`;\n dialog.setAttribute('aria-labelledby', title.id);\n dialog.removeAttribute('aria-label');\n if (props.autofocusTitle) title.tabIndex = -1;\n else title.removeAttribute('tabindex');\n } else {\n dialog.removeAttribute('aria-labelledby');\n if (props.label) dialog.setAttribute('aria-label', props.label);\n else dialog.removeAttribute('aria-label');\n }\n\n if (description) description.id ||= `${dialogId}-description`;\n if (props.descriptionId === 'none') dialog.removeAttribute('aria-describedby');\n else if (props.descriptionId) dialog.setAttribute('aria-describedby', props.descriptionId);\n else if (description) dialog.setAttribute('aria-describedby', description.id);\n else dialog.removeAttribute('aria-describedby');\n };\n\n const syncStateAttributes = ({syncOpen = true}: {syncOpen?: boolean} = {}): void => {\n const expanded = isExpanded();\n const state = stateFor(expanded);\n if (syncOpen) {\n reflectSchemaProp({el: root(), schema: modalSchema, key: 'open', value: expanded});\n }\n [dialogEl(), viewportEl(), overlayEl(), panelEl()].forEach((element) => {\n element.setAttribute('data-state', state);\n });\n syncTriggers();\n };\n\n const focusInitial = (): void => {\n const autofocus = panelEl().querySelector<HTMLElement>('[autofocus]');\n if (autofocus && isFocusable(autofocus)) {\n autofocus.focus({preventScroll: true});\n return;\n }\n\n const title = titleEl();\n if (currentProps().autofocusTitle && title) {\n title.focus({preventScroll: true});\n return;\n }\n\n const firstFocusable = focusableEls()[0];\n if (firstFocusable) {\n firstFocusable.focus({preventScroll: true});\n return;\n }\n\n panelEl().focus({preventScroll: true});\n };\n\n const restoreFocus = (): void => {\n if (!activeTrigger || !document.contains(activeTrigger)) return;\n activeTrigger.focus({preventScroll: true});\n };\n\n const trapFocus = (event: KeyboardEvent): void => {\n if (!bridge.hasTag('interactive')) return;\n trapFocusWithin(event, panelEl());\n };\n\n const prepareOpen = (): void => {\n const dialog = dialogEl();\n if (typeof dialog.showModal === 'function' && !didShowModal) {\n if (dialog.open) dialog.removeAttribute('open');\n dialog.showModal();\n didShowModal = true;\n } else if (!dialog.open) {\n dialog.setAttribute('open', '');\n }\n\n if (!hasScrollLock) {\n lockDocumentScroll();\n hasScrollLock = true;\n }\n syncAccessibility();\n syncStateAttributes();\n queueMicrotask(focusInitial);\n };\n\n const finishOpen = (): void => {\n syncStateAttributes();\n dispatch({el: dialogEl(), name: 'ui:open'});\n };\n\n const prepareClose = (): void => {\n syncStateAttributes();\n };\n\n const finishClose = (): void => {\n const dialog = dialogEl();\n if (dialog.open) dialog.close();\n didShowModal = false;\n if (hasScrollLock) {\n unlockDocumentScroll();\n hasScrollLock = false;\n }\n syncStateAttributes();\n restoreFocus();\n dispatch({el: dialog, name: 'ui:close'});\n };\n\n const syncProps = (): void => {\n syncAccessibility();\n syncTriggers();\n };\n\n const bridge = createAlpineMachine({\n schema: modalSchema,\n hooks: modalHooks,\n createMachine: ({props}) => createModalMachine({\n props,\n effects: {\n prepareOpen,\n finishOpen,\n prepareClose,\n finishClose,\n syncProps,\n emitCancel: (reason) => {\n dispatch<ModalCancelDetail>({el: dialogEl(), name: 'ui:cancel', detail: {reason}});\n },\n },\n }),\n });\n\n const openFrom = (trigger: HTMLElement): void => {\n if (currentProps().disabled) return;\n activeTrigger = trigger;\n bridge.send('OPEN');\n };\n\n const cancel = (reason: CancelReason, event?: Event): void => {\n event?.preventDefault();\n bridge.send({type: 'CANCEL', reason});\n };\n\n const teardownLocalTrigger = (): void => {\n localTriggerCleanup.forEach((dispose) => dispose());\n localTriggerCleanup = [];\n };\n\n const setupLocalTrigger = (trigger: HTMLElement): void => {\n const target = closestFocusable(trigger);\n teardownLocalTrigger();\n syncExternalTrigger(target, currentProps().disabled);\n addListener({target, event: 'click', handler: () => openFrom(target), cleanup: localTriggerCleanup});\n addListener({target, event: 'keydown', handler: (event) => {\n if (!(event instanceof KeyboardEvent)) return;\n if (target instanceof HTMLButtonElement || target instanceof HTMLAnchorElement) return;\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n openFrom(target);\n }, cleanup: localTriggerCleanup});\n };\n\n const mountLocalTrigger = (): void => {\n const dialog = dialogEl();\n const inlineTrigger = dialog.querySelector<HTMLElement>('[data-ui-modal-trigger]');\n if (!inlineTrigger || inlineTrigger.dataset.name) return;\n root().insertBefore(inlineTrigger, dialog);\n setupLocalTrigger(inlineTrigger);\n };\n\n const setupEvents = (): void => {\n const dialog = dialogEl();\n addListener({target: dialog, event: 'cancel', handler: (event) => {\n if (event.target !== dialog) return;\n cancel('escape', event);\n }, cleanup});\n addListener({target: dialog, event: 'close', handler: () => {\n if (bridge.hasTag('visible')) bridge.send('CLOSE');\n }, cleanup});\n addListener({target: dialog, event: 'keydown', handler: (event) => {\n if (event instanceof KeyboardEvent) trapFocus(event);\n }, cleanup});\n addListener({target: dialog, event: 'click', handler: (event) => {\n const target = event.target;\n if (!(target instanceof Element) || !target.closest('[data-ui-modal-close]')) return;\n event.preventDefault();\n bridge.send('CLOSE');\n }, cleanup});\n addListener({target: document, event: 'ui:modal-close', handler: (event) => {\n const detail = (event as CustomEvent<ModalCloseEventDetail>).detail;\n if (!detail?.name || detail.name !== currentProps().name) return;\n bridge.send('CLOSE');\n }, cleanup});\n cleanup.push(addDismissableLayer({\n isEnabled: () => bridge.hasTag('interactive'),\n roots: () => [panelEl(), activeTrigger, localTriggerEl()],\n onDismiss: (event) => cancel('outside', event),\n }));\n };\n\n let component!: TrellisAlpineComponent<ModalData>;\n const controller: ModalController = {\n get name() {\n return currentProps().name;\n },\n get isOpen() {\n return bridge.matches('open');\n },\n get dialogId() {\n return dialogId;\n },\n openFrom,\n close(event?: Event) {\n event?.preventDefault();\n bridge.send('CLOSE');\n },\n syncExternalTrigger,\n };\n\n component = {\n ...bridge,\n get name(): string {\n return this.snapshot.current?.props.name ?? '';\n },\n get isOpen(): boolean {\n return this.snapshot.current?.value === 'open';\n },\n get isVisible(): boolean {\n return this.snapshot.current?.tags.includes('visible') ?? false;\n },\n get dialogId(): string {\n return dialogId;\n },\n init(): void {\n rootEl = this.$el;\n bridge.connect(this.$el, this.snapshot);\n const props = currentProps();\n dialogId = dialogEl().id || this.$id(`modal${props.name ? `-${props.name}` : ''}`);\n declareMorphAttributes(dialogEl(), 'open');\n syncAccessibility();\n modalControllers.add(controller);\n isRegistered = true;\n mountLocalTrigger();\n setupEvents();\n syncStateAttributes({syncOpen: false});\n if (props.open) queueMicrotask(() => bridge.send('OPEN'));\n },\n destroy(): void {\n cleanup.forEach((dispose) => dispose());\n cleanup = [];\n teardownLocalTrigger();\n if (isRegistered) {\n modalControllers.delete(controller);\n isRegistered = false;\n }\n bridge.disconnect();\n const dialog = rootEl?.querySelector<HTMLDialogElement>('[data-ui-modal]');\n if (dialog?.open) dialog.close();\n if (hasScrollLock) {\n unlockDocumentScroll();\n hasScrollLock = false;\n }\n modalTriggerControllers.forEach((trigger) => trigger.sync());\n rootEl = null;\n },\n get root(): BindingObject {\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.instance, props: {}, className: ''}),\n {'data-ui-modal-instance': ''},\n ]});\n },\n get dialog(): BindingObject {\n const snapshot = this.snapshot;\n const props = snapshot.current?.props ?? currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.root, props, className: props.class}),\n {\n id: dialogId,\n role: 'dialog',\n 'aria-modal': 'true',\n ':data-state': () => stateFor(isExpandedState(snapshot.current?.value)),\n ':data-mode': () => snapshot.current?.props.mode,\n ':data-side': () => snapshot.current?.props.side,\n ':data-size': () => snapshot.current?.props.size,\n },\n ]});\n },\n get viewport(): BindingObject {\n const snapshot = this.snapshot;\n const props = snapshot.current?.props ?? currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.viewport, props}),\n {\n ':data-state': () => stateFor(isExpandedState(snapshot.current?.value)),\n ':data-mode': () => snapshot.current?.props.mode,\n ':data-side': () => snapshot.current?.props.side,\n },\n ]});\n },\n get overlay(): BindingObject {\n const snapshot = this.snapshot;\n const props = snapshot.current?.props ?? currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.overlay, props, className: props.overlayClass}),\n {':data-state': () => stateFor(isExpandedState(snapshot.current?.value))},\n ]});\n },\n get panel(): BindingObject {\n const snapshot = this.snapshot;\n const props = snapshot.current?.props ?? currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.panel, props, className: props.panelClass}),\n {\n tabindex: -1,\n ':data-state': () => stateFor(isExpandedState(snapshot.current?.value)),\n ':data-mode': () => snapshot.current?.props.mode,\n ':data-side': () => snapshot.current?.props.side,\n ':data-size': () => snapshot.current?.props.size,\n ':data-ui-surface': () => snapshot.current?.props.surface,\n ':data-ui-elevation': () => snapshot.current?.props.elevation,\n },\n ]});\n },\n open(event?: Event): void {\n event?.preventDefault();\n if (currentProps().disabled) return;\n const local = localTriggerEl();\n if (local) activeTrigger = closestFocusable(local);\n bridge.send('OPEN');\n },\n close(event?: Event): void {\n event?.preventDefault();\n bridge.send('CLOSE');\n },\n };\n\n return component;\n};\n\nconst UiModalTrigger = (): TrellisAlpineComponent<ModalTriggerData> => {\n let props: ModalTriggerProps | null = null;\n let target: HTMLElement | null = null;\n let cleanup: CleanupStack = [];\n let isRegistered = false;\n\n const currentProps = (): ModalTriggerProps => {\n if (!props) throw new Error('Modal trigger has not been initialized.');\n return props;\n };\n\n const targetEl = (): HTMLElement => {\n if (!target) throw new Error('Modal trigger has not been initialized.');\n return target;\n };\n\n const modal = (): ModalController | null => {\n const name = currentProps().name;\n return name ? findNamedModal(name) : null;\n };\n\n const sync = (): void => {\n const triggerProps = currentProps();\n const trigger = targetEl();\n const modalController = modal();\n if (modalController) {\n modalController.syncExternalTrigger(trigger, triggerProps.disabled);\n return;\n }\n\n setOpenAttributes(trigger, false);\n if (triggerProps.disabled) {\n trigger.setAttribute('aria-disabled', 'true');\n trigger.setAttribute('data-disabled', '');\n } else {\n trigger.removeAttribute('aria-disabled');\n trigger.removeAttribute('data-disabled');\n }\n };\n\n const controller: ModalTriggerController = {\n get name() {\n return currentProps().name;\n },\n get target() {\n return targetEl();\n },\n sync,\n };\n\n return {\n init(): void {\n props = defineProps({\n el: this.$el,\n schema: modalTriggerSchema,\n onChange: () => {\n if (props?.name) sync();\n },\n });\n target = closestFocusable(this.$el);\n if (!props.name) return;\n modalTriggerControllers.add(controller);\n isRegistered = true;\n sync();\n\n addListener({target, event: 'click', handler: (event) => this.open(event), cleanup});\n addListener({target, event: 'keydown', handler: (event) => {\n if (!(event instanceof KeyboardEvent)) return;\n if (target instanceof HTMLButtonElement || target instanceof HTMLAnchorElement) return;\n if (event.key !== 'Enter' && event.key !== ' ') return;\n this.open(event);\n }, cleanup});\n },\n destroy(): void {\n props?.disconnect();\n if (isRegistered) modalTriggerControllers.delete(controller);\n cleanup.forEach((dispose) => dispose());\n cleanup = [];\n isRegistered = false;\n props = null;\n target = null;\n },\n get root(): BindingObject {\n const triggerProps = currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: modalStyles.parts.trigger, props: {}, className: triggerProps.class}),\n {\n 'data-ui-modal-trigger': '',\n ':data-name': () => props?.name || undefined,\n ':data-disabled': () => (props?.disabled ? '' : undefined),\n },\n ]});\n },\n open(event?: Event): void {\n event?.preventDefault();\n if (currentProps().disabled) return;\n modal()?.openFrom(targetEl());\n },\n };\n};\n\nconst registerModal = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiModal', UiModal)(AlpineInstance);\n defineAlpineData('UiModalTrigger', UiModalTrigger)(AlpineInstance);\n};\n\nexport {registerModal, UiModal, UiModalTrigger};\nexport type {ModalCancelDetail, ModalTransition, UiModalApi, UiModalTriggerApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerMotionCapability} from '../../capabilities/motion';\nimport {registerModal as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerModal = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerComponent(AlpineInstance);\n};\n\nexport {registerModal};\nexport default registerModal;\nexport * from './index';\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{o as e}from"./bridge-B4S_D6hV.js";import{t}from"./capability-motion-C_8mc71v.js";import{c as n,f as r,l as i,n as a,s as o,u as s}from"./codecs-Cb1ns_47.js";import{n as c,r as l,s as u,t as d}from"./dom-qAeVl7dc.js";import{i as f,t as p}from"./alpine-machine-BS13dbK4.js";import{t as m}from"./alpine-data-CytyCyfk.js";import{n as ee}from"./anchored-popover-BXEMsLrA.js";import{n as te,t as h}from"./styles-TfvwVPGw.js";import{t as ne}from"./merge-bindings-C8ewA_FD.js";import{t as g}from"./machine-Dqut4h89.js";import{n as _,t as v}from"./props-change-2xfsIAEN.js";import{t as re}from"./dismissable-layer-BROE-Ln2.js";import{i as y,n as ie,r as ae,t as oe}from"./form-control-BkVb2Qed.js";import{D as b,S as x,T as S,a as C,d as w,f as T,i as E,m as D,p as O,r as se,t as k,u as A,w as j}from"./common-fH2NGblC.js";var M=null,ce=t=>{typeof customElements>`u`||customElements.get(`calendar-date`)||(M??=e(()=>import(`./cally-Z6G-rzr-.js`),[]))},N=[`single`,`range`],P=[`enhanced`,`native`],le=[`auto`,`confirm`],ue=[`neutral`,`accent`],F=se,I=[`left`,`right`,`top`,`bottom`],L=b,R=A,z={name:r,value:r,startName:r,endName:r,mode:i(N,`single`),placeholder:r,min:r,max:r,today:r,openTo:r,forceOpenTo:a,months:n.clamp(0,12).default(0),firstDayOfWeek:n.clamp(-1,6).default(0),locale:r,format:r.default(`%Y-%m-%d`),rangeSeparator:r.default(`/`),showOutsideDays:a,showWeekNumbers:a,fixedWeeks:a.default(!0),selectableHeader:a,withToday:a,clearable:a,disabled:a,readonly:a,required:a,invalid:a,side:i(S,`bottom`),align:i(k,`start`),offset:n.clamp(-100,100).default(0),gap:n.clamp(0,50).default(4),variant:i(P,`enhanced`),color:i(ue,`neutral`),radius:i(F,`md`),surface:i(L,`+2`),elevation:i(R,`3`),close:i(le,`auto`),presets:o.array([]),presetsPosition:i(I,`left`),preset:r,presetName:r,triggerClass:r,inputClass:r,popoverClass:r,calendarClass:r,presetsClass:r,presetClass:r,class:r,form:r};i(I,`left`);var de=[f({name:`opening`,state:`disclosure.opening`,project:()=>({}),onDone:`OPENING_DONE`,onError:`OPENING_ERROR`,sends:{close:()=>({type:`CLOSE`})}}),f({name:`closing`,state:`disclosure.closing`,project:()=>({}),onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`,sends:{open:()=>({type:`OPEN`})}}),f({name:`parsing`,state:`feature.parsing`,project:e=>({input:e.context.input.value}),onDone:`PARSING_DONE`,onError:`PARSING_ERROR`,sends:{select:e=>({type:`SELECT`,value:e,source:`input`}),clear:()=>({type:`CLEAR`})}}),f({name:`selecting`,state:`feature.selecting`,project:e=>({value:e.context.selection.value,previousValue:e.context.selection.previousValue,source:e.context.selection.source,preset:e.context.preset.value}),onDone:`SELECTING_DONE`,onError:`SELECTING_ERROR`,sends:{select:e=>({type:`SELECT`,value:e,source:`input`}),clear:()=>({type:`CLEAR`}),close:()=>({type:`CLOSE`})}})],B=e=>_(e)?.props??null,V=e=>e.disabled||e.readonly,H=(e,t)=>typeof e[t]==`string`?e[t]:``,U=e=>{let t=H(e,`source`);return t===`calendar`||t===`input`||t===`preset`||t===`today`||t===`props`?t:`clear`},W=({event:e})=>{let t=B(e);return!!(t&&(v(e,`disabled`)&&t.disabled||v(e,`readonly`)&&t.readonly))},G=({props:e})=>e.close===`auto`,K=(e,t,n)=>({...e,selection:{value:n,pendingValue:n,previousValue:e.selection.value,source:U(t)},input:{value:H(t,`input`),valid:!0},preset:{value:H(t,`preset`)}}),fe=({props:e,context:t,effects:n})=>g({type:`parallel`,states:{disclosure:{initial:`closed`,states:{closed:{tags:[`closed`],on:{OPEN:{target:`opening`,guard:`canOpen`,reduce:`beginOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,reduce:`beginOpen`,effects:`prepareOpen`}}},opening:{tags:[`visible`,`expanded`,`interactive`,`transitioning`],on:{OPENING_DONE:{target:`open`,effects:`finishOpen`},OPENING_ERROR:{target:`open`,effects:`finishOpen`},CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:G,effects:`prepareClose`},APPLY:{target:`closing`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:W,effects:`prepareClose`}}},open:{tags:[`visible`,`expanded`,`interactive`,`open`],on:{CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:G,effects:`prepareClose`},APPLY:{target:`closing`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:W,effects:`prepareClose`}}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:{target:`closed`,effects:`finishClose`},CLOSING_ERROR:{target:`closed`,effects:`finishClose`},OPEN:{target:`opening`,guard:`canOpen`,reduce:`beginOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,reduce:`beginOpen`,effects:`prepareOpen`}}}}},feature:{initial:`idle`,states:{idle:{on:{INPUT:{target:`editing`,reduce:`setInput`,effects:`syncInput`},PENDING:{target:`editing`,reduce:`setPending`,effects:`syncPending`},PARSE:{target:`parsing`,reduce:`setInvalidInput`,effects:`markInvalid`},SELECT:{target:`selecting`,reduce:`select`,effects:`commitSelection`},CLEAR:{target:`selecting`,reduce:`clear`,effects:`commitSelection`},APPLY:{target:`selecting`,reduce:`apply`,effects:`commitSelection`},PROPS_CHANGED:[{target:`selecting`,guard:`valueChanged`,reduce:`replaceProps`,effects:`commitSelection`},{reduce:`replaceProps`,effects:`syncProps`}],PRESETS_CHANGED:{effects:`syncPresets`}}},editing:{tags:[`editing`],on:{INPUT:{target:`editing`,reduce:`setInput`,effects:`syncInput`},PENDING:{target:`editing`,reduce:`setPending`,effects:`syncPending`},PARSE:{target:`parsing`,reduce:`setInvalidInput`,effects:`markInvalid`},SELECT:{target:`selecting`,reduce:`select`,effects:`commitSelection`},CLEAR:{target:`selecting`,reduce:`clear`,effects:`commitSelection`},APPLY:{target:`selecting`,reduce:`apply`,effects:`commitSelection`},CANCEL:{target:`idle`,reduce:`resetDraft`,effects:`syncPending`},CLOSE:{target:`idle`,reduce:`resetDraft`,effects:`syncPending`},PROPS_CHANGED:[{target:`selecting`,guard:`valueChanged`,reduce:`replaceProps`,effects:`commitSelection`},{reduce:`replaceProps`,effects:`syncProps`}],PRESETS_CHANGED:{effects:`syncPresets`}}},parsing:{tags:[`editing`,`parsing`],on:{SELECT:{target:`selecting`,reduce:`select`,effects:`commitSelection`},CLEAR:{target:`selecting`,reduce:`clear`,effects:`commitSelection`},APPLY:{target:`selecting`,reduce:`apply`,effects:`commitSelection`},INPUT:{target:`editing`,reduce:`setInput`,effects:`syncInput`},PARSING_DONE:`editing`,PARSING_ERROR:`editing`,CLOSE:{target:`idle`,reduce:`resetDraft`,effects:`syncPending`},PROPS_CHANGED:[{target:`selecting`,guard:`valueChanged`,reduce:`replaceProps`,effects:`commitSelection`},{target:`editing`,reduce:`replaceProps`,effects:`syncProps`}]}},selecting:{tags:[`selecting`],on:{SELECT:{target:`selecting`,reduce:`select`,effects:`commitSelection`},CLEAR:{target:`selecting`,reduce:`clear`,effects:`commitSelection`},APPLY:{target:`selecting`,reduce:`apply`,effects:`commitSelection`},SELECTING_DONE:`idle`,SELECTING_ERROR:`idle`,PROPS_CHANGED:[{target:`selecting`,guard:`valueChanged`,reduce:`replaceProps`,effects:`commitSelection`},{reduce:`replaceProps`,effects:`syncProps`}],PRESETS_CHANGED:{effects:`syncPresets`}}}}}}},{context:t,props:e,reducers:{beginOpen:({context:e})=>({context:{...e,selection:{...e.selection,pendingValue:e.selection.value}}}),setInput:({context:e,event:t})=>({context:{...e,input:{value:H(t,`input`),valid:!0}}}),setInvalidInput:({context:e,event:t})=>({context:{...e,input:{value:H(t,`input`),valid:!1}}}),setPending:({context:e,event:t})=>({context:{...e,selection:{...e.selection,pendingValue:H(t,`value`),source:U(t)},preset:{value:H(t,`preset`)}}}),select:({context:e,event:t})=>({context:K(e,t,H(t,`value`))}),clear:({context:e})=>({context:K(e,{type:`CLEAR`},``)}),apply:({context:e})=>({context:K(e,{type:`SELECT`,source:e.selection.source},e.selection.pendingValue)}),resetDraft:({context:e})=>({context:{...e,selection:{...e.selection,pendingValue:e.selection.value},input:{value:``,valid:!0}}}),replaceProps:({context:e,event:t})=>{let n=B(t);if(n)return v(t,`value`)?{props:n,context:K(e,{type:`PROPS_CHANGED`,source:`props`},n.value)}:{props:n}}},guards:{canOpen:({props:e})=>!V(e),valueChanged:({event:e})=>v(e,`value`)},effects:{prepareOpen:n.prepareOpen,finishOpen:n.finishOpen,prepareClose:n.prepareClose,finishClose:n.finishClose,syncInput:n.syncInput,syncPending:n.syncPending,markInvalid:n.markInvalid,commitSelection:n.commitSelection,syncProps:n.syncProps,syncPresets:n.syncPresets}}),pe=h({definition:{component:`ui.date-picker`,parts:{root:{base:`relative inline-grid w-full min-w-0`},trigger:{base:[D,E.lg,`text-left`],variants:{radius:C},defaults:{radius:`md`}},customTrigger:{base:[`inline-flex min-h-control-lg min-w-control-lg shrink-0 items-center justify-center gap-control-gap px-2 text-sm outline-none`],variants:{radius:C},defaults:{radius:`md`}},input:{base:[`min-w-0 flex-1 text-sm`,T]},icon:{base:`size-icon shrink-0 fill-current text-surface-ink-muted`},action:{base:w},popover:{base:[j,`max-h-lg overflow-hidden rounded-overlay-sm`]},panel:{base:`grid min-w-72 max-w-[calc(100vw-2rem)] gap-0 overflow-hidden`,variants:{hasPresets:{true:``,false:``},presetsPosition:{left:``,right:``,top:``,bottom:``}},compounds:[{when:{hasPresets:!0,presetsPosition:`left`},class:`sm:grid-cols-[minmax(9rem,11rem)_auto]`},{when:{hasPresets:!0,presetsPosition:`right`},class:`sm:grid-cols-[auto_minmax(9rem,11rem)]`}],defaults:{hasPresets:!1,presetsPosition:`left`}},calendarWrap:{base:`relative grid size-full place-items-center overflow-x-auto overflow-y-auto p-popover-padding`},calendar:{base:`grid max-w-full gap-2 text-sm`},presets:{base:[`grid content-start gap-1 p-popover-padding`]},preset:{base:x},footer:{base:`flex items-center justify-end gap-2 p-popover-padding`},nativeWrapper:{base:`relative w-full min-w-0`},native:{base:[O,E.lg],variants:{radius:C},defaults:{radius:`md`}}}}}),q=/^\d{4}-\d{2}-\d{2}$/,J=/^\d{4}-\d{2}-\d{2}\/\d{4}-\d{2}-\d{2}$/,me=/%[Ymd]/g,he=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Y=e=>{let t=0,n=``;for(let r of e.matchAll(/[\s/-]+/g))n+=he(e.slice(t,r.index)),n+=`(?:\\s|[/-])+`,t=(r.index??0)+r[0].length;return n+he(e.slice(t))},ge=e=>{let t=[],n=0,r=``;for(let i of e.matchAll(me)){r+=Y(e.slice(n,i.index));let a=i[0];t.push(a),r+=a===`%Y`?`(\\d{4})`:`(\\d{2})`,n=(i.index??0)+a.length}return r+=Y(e.slice(n)),{source:r,tokens:t}},X=(e,t)=>{let n=Object.fromEntries(t.map((t,n)=>[t,e[n]??``])),r=Number(n[`%Y`]),i=Number(n[`%m`]),a=Number(n[`%d`]);if(!r||!i||!a||new Set(t).size!==3)return null;let o=new Date(Date.UTC(r,i-1,a));return o.getUTCFullYear()!==r||o.getUTCMonth()!==i-1||o.getUTCDate()!==a?null:`${String(r).padStart(4,`0`)}-${String(i).padStart(2,`0`)}-${String(a).padStart(2,`0`)}`},_e=({input:e,format:t,range:n,separator:r})=>{let i=ge(t);if(!n){let t=e.trim().match(RegExp(`^${i.source}$`));return t?X(t.slice(1),i.tokens):null}let a=e.trim().match(RegExp(`^${i.source}${Y(r)}${i.source}$`));if(!a)return null;let o=i.tokens.length,s=X(a.slice(1,o+1),i.tokens),c=X(a.slice(o+1),i.tokens);return s&&c&&s<=c?`${s}/${c}`:null},Z=(e,t)=>{if(!q.test(e))return e;let[n=``,r=``,i=``]=e.split(`-`);return t.replaceAll(`%Y`,n).replaceAll(`%m`,r).replaceAll(`%d`,i)},ve=e=>e.replaceAll(`%Y`,`YYYY`).replaceAll(`%m`,`MM`).replaceAll(`%d`,`DD`),ye=({input:e,format:t,separator:n})=>{let r=new Set(`${t.replace(me,``)}${n}`);return Array.from(e).filter(e=>/[0-9]/.test(e)||/[\s/-]/.test(e)||r.has(e)).join(``)},be=({input:e,format:t,range:n,separator:r})=>{let i=t.replaceAll(`%Y`,`9999`).replaceAll(`%m`,`99`).replaceAll(`%d`,`99`),a=n?`${i}${r}${i}`:i,o=e.match(/[0-9]/g)??[],s=0,c=``;for(let e=0;e<a.length;e+=1){let t=a[e]??``;if(t===`9`){let e=o[s];if(e===void 0)break;c+=e,s+=1;continue}s>0&&a.slice(e+1).includes(`9`)&&(c+=t)}return c},xe=({value:e,format:t,range:n,separator:r})=>{if(!e)return``;if(!n)return Z(e,t);if(!J.test(e))return e;let[i=``,a=``]=e.split(`/`);return`${Z(i,t)}${r}${Z(a,t)}`},Se=(e,t,n)=>(J.test(e)?e.split(`/`):[e]).every(e=>q.test(e)&&(!t||e>=t)&&(!n||e<=n)),Ce=100,we=10,Q=e=>{let[t=``,n=``]=e.split(`/`);return[t,n]},Te=()=>new Date().getFullYear(),Ee=()=>`${Te()-Ce}-01-01`,De=()=>`${Te()+we}-12-31`,$=()=>new Date().toISOString().slice(0,10),Oe=(e,t)=>q.test(e)?new Intl.DateTimeFormat(t||void 0,{month:`long`,timeZone:`UTC`,year:`numeric`}).format(new Date(`${e}T00:00:00.000Z`)):``,ke=e=>({value:e.dataset.value??``,label:e.dataset.label??e.textContent?.trim()??``,start:e.dataset.start??``,end:e.dataset.end??``,disabled:c({value:e.dataset.disabled})}),Ae=()=>{let e=null,t=``,n=``,r=null,i=[],a=``,o=``,c=``,f=``,m=!1,h=()=>{if(!e)throw Error(`Date picker has not been initialized.`);return e},g=()=>B.getCommittedSnapshot().props,_=()=>B.getCommittedSnapshot().context,v=()=>{let e=h().querySelector(`[data-ui-date-picker-trigger]`);if(!e)throw Error(`Date picker requires a trigger.`);return e},b=()=>{let e=h().querySelector(`[data-ui-date-picker-input]`);if(!e)throw Error(`Date picker requires an input.`);return e},x=()=>h().querySelector(`[data-ui-date-picker-toggle]`),S=()=>{let e=h().querySelector(`[data-ui-date-picker-popover]`);if(!e)throw Error(`Date picker requires a popover.`);return e},C=()=>h().querySelector(`[data-ui-date-picker-calendar]`),w=()=>h().querySelector(`[data-ui-date-picker-hidden-inputs]`),T=()=>h().querySelector(`[data-ui-date-picker-preset-inputs]`),E=()=>g().mode===`range`,D=()=>g().months||(E()?2:1),O=()=>{let e=Array.from(h().querySelectorAll(`[data-ui-date-picker-preset]`)).map(ke).filter(e=>e.value&&e.start&&e.end);return e.length?e:g().presets},se=e=>xe({value:e,format:g().format,range:E(),separator:g().rangeSeparator}),k=e=>{let t=O().find(t=>(E()?`${t.start}/${t.end}`:t.start)===e),n=O().find(e=>e.value===`custom`);return t?.value??(e&&n?`custom`:``)},A=e=>{let t=h().querySelector(`[data-ui-date-picker-calendar-heading]`);if(!t)return;let n=g();t.textContent=Oe(e||Q(_().selection.value||n.openTo||n.today||$())[0],n.locale)},j=()=>{let e=C();if(!e)return;let t=g(),n=_(),r=n.selection.pendingValue;customElements.get(`calendar-date`)&&(e.value=r),e.setAttribute(`value`,r),u({el:e,attr:`tentative`,present:E()&&!!r&&!J.test(r)}),e.setAttribute(`months`,String(D())),e.style.setProperty(`--ui-date-picker-month-columns`,String(D())),e.setAttribute(`min`,t.min||Ee()),e.setAttribute(`max`,t.max||De()),t.today?e.setAttribute(`today`,t.today):e.removeAttribute(`today`);let i=t.forceOpenTo?t.openTo:n.selection.value||t.openTo||t.today||$();e.setAttribute(`focused-date`,Q(i)[0]),t.locale?e.setAttribute(`locale`,t.locale):e.removeAttribute(`locale`),t.firstDayOfWeek>=0&&e.setAttribute(`first-day-of-week`,String(t.firstDayOfWeek));let a=!t.selectableHeader&&D()===1;u({el:e,attr:`data-inline-heading`,present:a,value:`true`}),u({el:e,attr:`data-hide-month-heading`,present:t.selectableHeader&&!E()||a,value:`true`}),u({el:e,attr:`data-fixed-weeks`,present:t.fixedWeeks,value:`true`}),u({el:e,attr:`show-outside-days`,present:t.showOutsideDays||t.fixedWeeks}),u({el:e,attr:`show-week-numbers`,present:t.showWeekNumbers})},M=()=>{let e=_().selection.pendingValue||_().selection.value;h().querySelectorAll(`[data-ui-date-picker-preset]`).forEach(t=>{let n=ke(t);u({el:t,attr:`data-selected`,present:(E()?`${n.start}/${n.end}`:n.start)===e,value:`true`}),u({el:t,attr:`data-disabled`,present:n.disabled??!1,value:`true`})})},ce=()=>{let e=w();if(!e)return;let t=g(),n=_().selection.value;if(!E()){a=y({container:e,currentKey:a,state:{name:t.name,values:n?[n]:[],required:t.required,form:t.form,marker:`data-ui-date-picker-hidden-input`}});return}let[r,i]=Q(n);if(t.startName||t.endName){let n=JSON.stringify({startName:t.startName,endName:t.endName,start:r,end:i,form:t.form});if(n===a)return;e.replaceChildren(),[[t.startName,r],[t.endName,i]].forEach(([n,r])=>{if(!n)return;let i=document.createElement(`input`);i.type=`hidden`,i.name=n,i.value=r??``,i.setAttribute(`data-ui-date-picker-hidden-input`,``),t.form&&i.setAttribute(`form`,t.form),e.append(i)}),a=n;return}a=y({container:e,currentKey:a,state:{name:t.name,values:n?[n]:[],required:t.required,form:t.form,marker:`data-ui-date-picker-hidden-input`}})},N=()=>{let e=T();if(!e)return;let t=g(),n=k(_().selection.value);o=y({container:e,currentKey:o,state:{name:t.presetName,values:n?[n]:[],form:t.form,marker:`data-ui-date-picker-preset-input`}})},P=()=>{let e=g(),r=_(),i=B.hasTag(`visible`),a=B.hasTag(`expanded`),o=v(),s=b(),l=S();o.id=t,l.id=n,l.dataset.state=a?`open`:`closed`,l.hidden=!i,o.dataset.state=a?`open`:`closed`,ie({el:o,state:e,value:`true`});let u=x()??o;u.setAttribute(`aria-haspopup`,`dialog`),u.setAttribute(`aria-expanded`,a?`true`:`false`),u.setAttribute(`aria-controls`,n),o instanceof HTMLButtonElement&&(o.disabled=e.disabled);let d=B.hasTag(`editing`)?r.input.value:se(r.selection.value);ae({input:s,state:{name:``,value:d,disabled:e.disabled,readonly:e.readonly,required:e.required&&e.mode===`single`,invalid:e.invalid||!r.input.valid}}),s.placeholder=V.effectivePlaceholder(),h().querySelectorAll(`[data-ui-date-picker-clear], [data-ui-date-picker-toggle]`).forEach(t=>{t.disabled=e.disabled}),f=d;let p=h().querySelector(`[data-ui-date-picker-live]`);p&&(p.textContent=c)},le=()=>{let e=h().querySelector(`[data-ui-date-picker-calendar-today]`),t=h().querySelector(`[data-ui-date-picker-today-day]`);if(!e||!t)return;let n=g().today||$(),r=q.test(n)?String(Number(n.slice(-2))):``;t.textContent=r,e.setAttribute(`aria-label`,r?`Go to today, ${n}`:`Go to today`)},ue=()=>{let e=g(),t=S();t.dataset.uiSurface=e.surface,t.dataset.uiElevation=e.elevation},F=()=>{s({el:h(),schema:z,key:`value`,value:_().selection.value}),P(),j(),A(),le(),ue(),ce(),N(),M(),B.hasTag(`visible`)&&r?.sync()},I=()=>{oe({container:w(),fallback:h(),marker:`data-ui-date-picker-hidden-input`}),l({el:h(),name:`ui:change`})},L=(e,t,n=``)=>{g().disabled||g().readonly||B.send({type:`SELECT`,value:e,source:t,preset:n})},R=e=>{let t=g(),n=_e({input:e,format:t.format,range:E(),separator:t.rangeSeparator});return n&&Se(n,t.min,t.max)?n:null},B=p({schema:z,hooks:de,createMachine:({props:e})=>fe({props:e,context:{selection:{value:e.value,pendingValue:e.value,previousValue:e.value,source:`props`},input:{value:``,valid:!0},preset:{value:e.preset}},effects:{prepareOpen:()=>{let e=S();e.hidden=!1,r?.open(),F()},finishOpen:()=>{m&&C()?.focus({preventScroll:!0}),m=!1,l({el:h(),name:`ui:open`})},prepareClose:F,finishClose:()=>{let e=S();r?.close(),e.hidden=!0,m&&v().focus({preventScroll:!0}),m=!1,F(),l({el:h(),name:`ui:close`})},syncInput:P,syncPending:()=>{P(),j(),M()},markInvalid:()=>{b().setCustomValidity(`Enter a date in ${g().format}`),P(),l({el:h(),name:`ui:invalid`})},commitSelection:()=>{b().setCustomValidity(``);let e=_();c=e.selection.value?E()?`Range selected`:`Date selected`:`Date cleared`,F(),I(),l({el:h(),name:e.selection.value?`ui:select`:`ui:clear`})},syncProps:F,syncPresets:()=>{M(),N()}}}),resolveTransitionElement:({name:e,root:t})=>e===`opening`||e===`closing`?t.querySelector(`[data-ui-date-picker-popover]`):e===`parsing`?t.querySelector(`[data-ui-date-picker-input]`):t}),V;return V={...B,get isOpen(){return B.hasTag(`expanded`)},get isEditing(){return B.hasTag(`editing`)},get value(){return B.getCommittedSnapshot().context.selection.value},get pendingValue(){return B.getCommittedSnapshot().context.selection.pendingValue},get preset(){return k(B.getCommittedSnapshot().context.selection.value)},get root(){return ne({inputs:[te({part:pe.parts.root,props:B.getCommittedSnapshot().props,className:B.getCommittedSnapshot().props.class}),{"data-ui-date-picker":``,":data-state":()=>V.isOpen?`open`:`closed`}]})},effectivePlaceholder(){let e=B.getCommittedSnapshot().props;if(e.placeholder)return e.placeholder;let t=ve(e.format);return e.mode===`range`?`${t}${e.rangeSeparator}${t}`:t},open(e){e?.preventDefault(),e instanceof KeyboardEvent&&(m=!0),B.send(`OPEN`)},close(e){e?.preventDefault(),e instanceof KeyboardEvent&&(m=!0),B.send(`CLOSE`)},toggle(e){e?.preventDefault(),B.send(`TOGGLE`)},select(e,t){t?.preventDefault(),Se(e,g().min,g().max)&&(E()?J.test(e):q.test(e))&&L(e,`input`)},selectPreset(e,t){if(t?.preventDefault(),g().disabled||g().readonly)return;let n=O().find(t=>t.value===e);if(!n||n.disabled)return;let r=E()?`${n.start}/${n.end}`:n.start;g().close===`confirm`?B.send({type:`PENDING`,value:r,source:`preset`,preset:e}):L(r,`preset`,e)},selectToday(e){if(e?.preventDefault(),g().disabled||g().readonly)return;let t=g().today||$(),n=E()?`${t}/${t}`:t;g().close===`confirm`?B.send({type:`PENDING`,value:n,source:`today`}):L(n,`today`)},clear(e){e?.preventDefault(),!(g().disabled||g().readonly)&&B.send(`CLEAR`)},cancel(e){e?.preventDefault(),B.send(`CANCEL`),B.send(`CLOSE`)},init(){e=this.$el,t=this.$id(`date-picker-trigger`),n=this.$id(`date-picker-popover`),B.connect(this.$el,this.snapshot),r=ee({reference:v,floating:S,position:()=>g().side,align:()=>g().align,gap:()=>g().gap,offset:()=>g().offset,matchReferenceWidth:!1});let a=v(),o=b(),s=S();d({target:a,event:`click`,cleanup:i,handler:e=>{let t=e.target;t instanceof Element&&t.closest(`[data-ui-date-picker-clear]`)?V.clear(e):V.toggle(e)}}),d({target:a,event:`keydown`,cleanup:i,handler:e=>{let t=e;(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&!V.isOpen?V.open(t):t.key===`Escape`&&V.isOpen&&V.close(t)}}),d({target:h(),event:`keydown`,cleanup:i,handler:e=>{let t=e;t.key===`Escape`&&V.isOpen&&V.close(t)}}),d({target:o,event:`input`,cleanup:i,handler:()=>{let e=o.selectionStart??o.value.length,t=(o.value.slice(0,e).match(/[0-9]/g)??[]).length,n=ye({input:o.value,format:g().format,separator:g().rangeSeparator});if(f.length-n.length!==1&&(n=be({input:n,format:g().format,range:E(),separator:g().rangeSeparator})),o.value!==n){o.value=n;let e=0,r=n.length;for(let i=0;i<n.length;i+=1)if(/[0-9]/.test(n[i]??``)&&(e+=1),e===t){for(r=i+1;r<n.length&&!/[0-9]/.test(n[r]??``);)r+=1;break}o.setSelectionRange(r,r)}f=n,B.send({type:`INPUT`,input:n});let r=R(n);r&&L(r,`input`)}}),d({target:o,event:`change`,cleanup:i,handler:()=>{let e=R(o.value);e?L(e,`input`):o.value.trim()?B.send({type:`PARSE`,input:o.value}):B.send(`CLEAR`)}}),d({target:s,event:`pointerdown`,cleanup:i,handler:e=>e.stopPropagation()}),d({target:s,event:`click`,cleanup:i,handler:e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-ui-date-picker-preset]`);n?V.selectPreset(n.dataset.value??``,e):t.closest(`[data-ui-date-picker-clear]`)?V.clear(e):t.closest(`[data-ui-date-picker-cancel]`)?V.cancel(e):t.closest(`[data-ui-date-picker-apply]`)?B.send(`APPLY`):t.closest(`[data-ui-date-picker-today]`)&&V.selectToday(e)}});let l=C();l&&(customElements.whenDefined(`calendar-date`).then(()=>{e&&j()}),d({target:l,event:`change`,cleanup:i,handler:()=>{let e=l.value;E()&&!J.test(e)?(c=`Start date selected`,B.send({type:`PENDING`,value:e,source:`calendar`})):g().close===`confirm`?B.send({type:`PENDING`,value:e,source:`calendar`}):L(e,`calendar`)}}),d({target:l,event:`focusday`,cleanup:i,handler:e=>{let t=e.detail;t instanceof Date&&A(t.toISOString().slice(0,10))}})),i.push(re({isEnabled:()=>V.isOpen,roots:()=>[h(),s],onDismiss:()=>V.close()}));let u=new MutationObserver(()=>B.send(`PRESETS_CHANGED`));u.observe(h(),{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-value`,`data-start`,`data-end`,`data-disabled`]}),i.push(()=>u.disconnect()),F()},destroy(){i.forEach(e=>e()),i=[],r?.destroy(),r=null,B.disconnect(),e=null}},V},je=m(`UiDatePicker`,Ae),Me=new WeakSet,Ne=e=>{Me.has(e)||(Me.add(e),t(e),ce(e),je(e))};export{Ae as n,Ne as t};
2
- //# sourceMappingURL=entry.generated-BbQ_TNRI.js.map
@@ -1,2 +0,0 @@
1
- import{c as e,d as t,f as n,g as r,l as i,m as a,s as o}from"./motion-BhADgUVd.js";import{t as s}from"./capability-motion-C_8mc71v.js";import{a as c,f as l,l as u,n as d}from"./codecs-Cb1ns_47.js";import{i as f,r as ee,s as p,t as te}from"./dom-qAeVl7dc.js";import{i as m,t as ne}from"./alpine-machine-BS13dbK4.js";import{t as h}from"./alpine-data-CytyCyfk.js";import{n as g,t as _}from"./styles-TfvwVPGw.js";import{t as re}from"./merge-bindings-C8ewA_FD.js";import{t as v}from"./machine-Dqut4h89.js";import{i as ie}from"./focus-scope-DtaPVNl5.js";import{t as ae}from"./semantic-observer-BUswpsNx.js";import{t as oe}from"./drag-and-drop-DHq3udf7.js";import{t as y}from"./capability-resizable-Bga8TngJ.js";var se=(e,t)=>{let n=getComputedStyle(e).getPropertyValue(`--breakpoint-${t}`),r=Number.parseFloat(n);return Number.isFinite(r)?r:1/0},b=[`horizontal`,`vertical`],x=[`div`,`section`,`aside`,`main`,`nav`],S=[`1`,`2`,`3`,`4`,`5`,`6`,`fill`],ce=[`none`,`start`,`end`],C=[`toggle`,`expand`,`collapse`],le={id:l.default(`ui-panels`),orientation:u(b,`horizontal`),persist:d,divider:d.default(!0),class:l},ue={id:l,as:u(x,`section`),size:u(S,`fill`),resize:u(ce,`none`),collapsible:d,defaultCollapsed:d,class:l},w={target:l,action:u(C,`toggle`),icon:l.default(`menu`),label:l.default(`Expand`),class:l},de=[m({name:`opening`,state:`changing`,projectEach:e=>e.context.change.openingIds.map(e=>({panelId:e})),onDone:`CHANGE_DONE`,onError:`CHANGE_ERROR`,sends:{expand:e=>({type:`EXPAND`,panelId:e}),collapse:e=>({type:`COLLAPSE`,panelId:e}),toggle:e=>({type:`TOGGLE`,panelId:e})}}),m({name:`closing`,state:`changing`,projectEach:e=>e.context.change.closingIds.map(e=>({panelId:e})),onDone:`CHANGE_DONE`,onError:`CHANGE_ERROR`,sends:{expand:e=>({type:`EXPAND`,panelId:e}),collapse:e=>({type:`COLLAPSE`,panelId:e}),toggle:e=>({type:`TOGGLE`,panelId:e})}}),m({name:`sizing`,state:`sizing`,projectEach:e=>e.context.sizing.changes,onDone:`SIZE_DONE`,onError:`SIZE_ERROR`}),m({name:`persisting`,state:`persisting`,project:e=>({groupId:e.props.id,collapsed:[...e.context.layout.collapsedIds],sizes:{...e.context.layout.committedSizes}}),onDone:`PERSIST_DONE`,onError:`PERSIST_ERROR`})],T=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[],E=e=>typeof e.panelId==`string`?e.panelId:``,D=e=>typeof e==`number`&&Number.isFinite(e)?e:null,O=e=>(Array.isArray(e.changes)?e.changes:[e]).flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=e,n=typeof t.panelId==`string`?t.panelId:``,r=D(t.from),i=D(t.to),a=t.reset===!0;return n&&r!==null&&i!==null&&(r!==i||a)?[{panelId:n,from:r,to:i,...a?{reset:!0}:{}}]:[]}),k=(e,t)=>typeof e.props==`object`&&e.props!==null?e.props:t,A=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),j=e=>{let t=E(e.event),n=e.context.layout.collapsedIds;switch(e.event.type){case`COLLAPSE`:return e.context.collection.collapsibleIds.includes(t)&&!n.includes(t)?e.context.collection.ids.filter(e=>n.includes(e)||e===t):n;case`EXPAND`:return n.filter(e=>e!==t);case`TOGGLE`:return e.context.collection.collapsibleIds.includes(t)?n.includes(t)?n.filter(e=>e!==t):e.context.collection.ids.filter(e=>n.includes(e)||e===t):n;default:return n}},M=e=>{let t=E(e.event);return e.context.collection.ids.includes(t)&&!A(e.context.layout.collapsedIds,j(e))},N=e=>{let t=E(e.event);return e.context.collection.resizableIds.includes(t)&&!e.context.layout.collapsedIds.includes(t)&&D(e.event.size)!==null},P=e=>{let t=O(e.event);return t.length>0&&t.every(({panelId:t})=>e.context.collection.sizableIds.includes(t)&&!e.context.layout.collapsedIds.includes(t))},F=e=>{let t=O(e.event);return t.length>0&&t.every(({panelId:t})=>e.context.collection.sizableIds.includes(t)&&e.context.layout.collapsedIds.includes(t))},fe=e=>{let t=T(e.event.ids);return t.length>0&&t.every(t=>e.context.collection.sizableIds.includes(t)&&e.context.layout.collapsedIds.includes(t)&&Object.hasOwn(e.context.layout.committedSizes,t))},I=e=>{let t=O(e.event),n={...e.context.layout.committedSizes};return t.forEach(({panelId:e,to:t,reset:r})=>{r?delete n[e]:n[e]=t}),{context:{...e.context,layout:{...e.context.layout,committedSizes:n},sizing:{changes:t}}}},L=e=>{let t=O(e.event);return{context:{...e.context,layout:{...e.context.layout,committedSizes:{...e.context.layout.committedSizes,...Object.fromEntries(t.map(({panelId:e,to:t})=>[e,t]))}}}}},R=e=>{let t={...e.context.layout.committedSizes};return T(e.event.ids).forEach(e=>delete t[e]),{context:{...e.context,layout:{...e.context.layout,committedSizes:t}}}},z=e=>{let t=j(e),n=e.context.layout.collapsedIds;return{context:{...e.context,layout:{...e.context.layout,collapsedIds:t},change:{openingIds:n.filter(e=>!t.includes(e)),closingIds:t.filter(e=>!n.includes(e))}}}},B=e=>{let t=T(e.event.ids),n=T(e.event.collapsibleIds).filter(e=>t.includes(e)),r=T(e.event.sizableIds).filter(e=>t.includes(e)),i=T(e.event.resizableIds).filter(e=>t.includes(e)),a=T(e.event.authoredCollapsedIds).filter(e=>n.includes(e)),o=new Set(e.context.collection.ids),s=t.filter(t=>(e.context.layout.collapsedIds.includes(t)||!o.has(t)&&a.includes(t))&&n.includes(t)),c=Object.fromEntries(Object.entries(e.context.layout.committedSizes).filter(([e])=>t.includes(e)&&r.includes(e))),l=t.includes(e.context.resize.activeId)&&i.includes(e.context.resize.activeId);return{context:{...e.context,collection:{ids:t,collapsibleIds:n,sizableIds:r,resizableIds:i},layout:{collapsedIds:s,committedSizes:c},authored:{collapsedIds:a},resize:l?e.context.resize:{activeId:``,initialSize:null,previewSize:null}}}},pe=e=>{let t=T(e.event.ids),n=T(e.event.resizableIds);return!t.includes(e.context.resize.activeId)||!n.includes(e.context.resize.activeId)},me=({props:e,context:t,effects:n})=>v({initial:`stable`,on:{DOM_INVALIDATED:{effects:`sync`}},states:{stable:{tags:[`stable`],on:{COLLAPSE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},EXPAND:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},TOGGLE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},SIZE:{target:`sizing`,guard:P,reduce:I,effects:`prepareSizing`},RESTORE_HIDDEN_SIZES:{guard:F,reduce:L},RESET_HIDDEN_SIZES:{target:`persisting`,guard:fe,reduce:R,effects:[`sync`,`persist`]},RESIZE_START:{target:`resizing`,guard:N,reduce:`startResize`,effects:`beginResize`},PANELS_CHANGED:{reduce:B,effects:`sync`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`sync`}}},changing:{tags:[`changing`,`transitioning`],on:{CHANGE_DONE:{target:`persisting`,effects:[`finishChange`,`persist`]},CHANGE_ERROR:{target:`persisting`,effects:[`finishChange`,`persist`]},COLLAPSE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},EXPAND:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},TOGGLE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},PANELS_CHANGED:{reduce:B,effects:`sync`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`sync`}}},sizing:{tags:[`sizing`,`transitioning`],on:{SIZE_DONE:{target:`persisting`,effects:[`finishSizing`,`persist`]},SIZE_ERROR:{target:`persisting`,effects:[`finishSizing`,`persist`]},SIZE:{target:`sizing`,guard:P,reduce:I,effects:`prepareSizing`},RESIZE_START:{target:`resizing`,guard:N,reduce:`startResize`,effects:`beginResize`},PANELS_CHANGED:{reduce:B,effects:`sync`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`sync`}}},resizing:{tags:[`resizing`],on:{RESIZE:{guard:`activeResize`,reduce:`previewResize`,effects:`previewResize`},RESIZE_END:{target:`persisting`,guard:`activeResize`,reduce:`commitResize`,effects:[`commitResize`,`persist`]},RESIZE_CANCEL:{target:`stable`,reduce:`clearResize`,effects:`cancelResize`},PANELS_CHANGED:[{target:`stable`,guard:pe,reduce:B,effects:[`cancelResize`,`sync`]},{reduce:B,effects:`sync`}],PROPS_CHANGED:{reduce:`replaceProps`,effects:`sync`}}},persisting:{tags:[`persisting`],on:{PERSIST_DONE:`stable`,PERSIST_ERROR:`stable`,COLLAPSE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},EXPAND:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},TOGGLE:{target:`changing`,guard:M,reduce:z,effects:`prepareChange`},SIZE:{target:`sizing`,guard:P,reduce:I,effects:`prepareSizing`},PANELS_CHANGED:{reduce:B,effects:`sync`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`sync`}}}}},{props:e,context:t,reducers:{replaceProps:e=>({props:k(e.event,e.props)}),startResize:e=>{let t=D(e.event.size);return{context:{...e.context,resize:{activeId:E(e.event),initialSize:t,previewSize:t}}}},previewResize:e=>({context:{...e.context,resize:{...e.context.resize,previewSize:D(e.event.size)}}}),commitResize:e=>{let t=E(e.event),n=D(e.event.size);if(n!==null)return{context:{...e.context,layout:{...e.context.layout,committedSizes:{...e.context.layout.committedSizes,[t]:n}},resize:{activeId:``,initialSize:null,previewSize:null}}}},clearResize:e=>({context:{...e.context,resize:{activeId:``,initialSize:null,previewSize:null}}})},guards:{activeResize:e=>E(e.event)===e.context.resize.activeId&&D(e.event.size)!==null},effects:{prepareChange:n.prepareChange,finishChange:n.finishChange,sync:n.sync,beginResize:n.beginResize,previewResize:n.previewResize,commitResize:n.commitResize,cancelResize:n.cancelResize,prepareSizing:n.prepareSizing,finishSizing:n.finishSizing,persist:n.persist}}),V=_({definition:{component:`ui.panels`,parts:{root:{base:`relative flex h-full min-h-0 w-full min-w-0`,variants:{orientation:{horizontal:`flex-row`,vertical:`flex-col`}},defaults:{orientation:`horizontal`}},panel:{base:`relative min-w-0 overflow-hidden`,variants:{orientation:{horizontal:`h-full`,vertical:`w-full`},divider:{true:``,false:``},resize:{none:``,start:``,end:``}},defaults:{orientation:`horizontal`,divider:!0,resize:`none`}},expanded:{base:`h-full min-h-0 w-full min-w-0`},collapsed:{base:`flex h-full min-h-0 w-full min-w-0 items-center justify-center overflow-hidden`},resizeHandle:{base:[`absolute z-20 touch-none border-transparent outline-none`,`hover:border-intent-neutral-edge-hover focus-visible:ui-focus-ring-inset`,`data-resizing:border-intent-neutral-edge-strong`],variants:{orientation:{horizontal:`inset-y-0 w-panel-resize-handle cursor-col-resize`,vertical:`inset-x-0 h-panel-resize-handle cursor-row-resize`},edge:{start:``,end:``}},defaults:{orientation:`horizontal`,edge:`end`}},toggle:{base:`inline-flex size-control-md items-center justify-center outline-none focus-visible:ui-focus-ring-inset`},toggleIcon:{base:`size-icon-md shrink-0`}}}}),H=new Set,U=e=>e instanceof CustomEvent&&e.detail&&typeof e.detail==`object`?e.detail:{},he=(()=>{let e=!1;return()=>{if(e||typeof document>`u`)return;let t=e=>t=>{let n=U(t);n.__panelsNotification||!n.panelId||H.forEach(t=>{n.groupId&&n.groupId!==t.id||t.hasPanel(n.panelId)&&t.perform(n.action??e,n.panelId,n.trigger)})};document.addEventListener(`ui:panel-collapse`,t(`collapse`)),document.addEventListener(`ui:panel-expand`,t(`expand`)),document.addEventListener(`ui:panel-toggle`,t(`toggle`)),document.addEventListener(`ui:panel-size`,e=>{let t=U(e);t.__panelsNotification||!t.panelId||!Number.isFinite(t.size)||H.forEach(e=>{t.groupId&&t.groupId!==e.id||e.hasPanel(t.panelId)&&e.resize(t.panelId,t.size)})}),document.addEventListener(`ui:panels-reset`,e=>{let t=U(e);t.__panelsNotification||H.forEach(e=>{t.groupId&&t.groupId!==e.id||t.panelId&&!e.hasPanel(t.panelId)||e.reset(t.panelId)})}),e=!0}})(),ge=e=>`trellis-ui:panels:${e}:v1`,_e=e=>typeof e!=`object`||!e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`number`&&Number.isFinite(e[1]))),W=()=>{let s=null,l=null,u=null,d=`wide`,m=[],h=new Set,_=new Set,v=new Map,y=new Map,b=new Map,x=new Map,S=()=>{if(!s)throw Error(`Panels has not been initialized.`);return s},ce=e=>e.closest(`[data-ui-panels]`)===S(),C=()=>Array.from(S().children).flatMap(e=>{if(!(e instanceof HTMLElement)||!e.hasAttribute(`data-ui-panel`))return[];let t=e.querySelector(`:scope > [data-ui-panel-expanded]`);return!t||!ce(t)?[]:[{panel:e,expanded:t,collapsed:e.querySelector(`:scope > [data-ui-panel-collapsed]`),handle:e.querySelector(`:scope > [data-ui-panel-resize-handle]`),props:c({el:e,schema:ue})}]}),w=e=>C().find(t=>t.props.id===e)??null,T=()=>Q.getCommittedSnapshot().context,E=()=>Q.getCommittedSnapshot().props,D=e=>T().layout.collapsedIds.includes(e),O=()=>E().orientation===`horizontal`&&d===`stacked`,k=()=>O()?`vertical`:E().orientation,A=()=>S().dataset.orientation===`vertical`?`vertical`:`horizontal`,j=e=>{let t=e.getBoundingClientRect();return A()===`horizontal`?t.width:t.height},M=()=>{let e=C(),t=e.map(({props:e})=>e.id);if(t.some(e=>!e))throw Error(`Every Panel requires a stable id.`);if(new Set(t).size!==t.length)throw Error(`Panel ids must be unique within a Panels group.`);if(e.length>0&&!e.some(({props:e})=>e.size===`fill`))throw Error(`A Panels group requires at least one size="fill" Panel.`);if(e.some(({props:e})=>e.size===`fill`&&e.resize!==`none`))throw Error(`A size="fill" Panel cannot own a resize handle.`);return{ids:e.map(({props:e})=>e.id).filter(Boolean),collapsibleIds:e.filter(({props:e})=>e.id&&e.collapsible).map(({props:e})=>e.id),sizableIds:e.filter(({props:e})=>e.id&&e.size!==`fill`).map(({props:e})=>e.id),resizableIds:e.filter(({props:e})=>e.id&&e.size!==`fill`&&e.resize!==`none`).map(({props:e})=>e.id),authoredCollapsedIds:e.filter(({props:e})=>e.id&&e.collapsible&&e.defaultCollapsed).map(({props:e})=>e.id)}},N=e=>{let t=document.createElement(`div`);t.style.cssText=`position:absolute;visibility:hidden;pointer-events:none;inset:0 auto auto 0;`,A()===`horizontal`?t.style.width=`var(${e})`:t.style.height=`var(${e})`,S().append(t);let n=j(t);return t.remove(),n},P=e=>e.props.size===`fill`?{minimum:0,maximum:1/0}:{minimum:N(`--spacing-panel-${e.props.size}-min`),maximum:N(`--spacing-panel-${e.props.size}-max`)},F=(e,t)=>{let{minimum:n,maximum:r}=P(e);return Math.min(r,Math.max(n,t))},fe=()=>{let e=M();return{collection:{ids:e.ids,collapsibleIds:e.collapsibleIds,sizableIds:e.sizableIds,resizableIds:e.resizableIds},layout:{collapsedIds:[...e.authoredCollapsedIds],committedSizes:{}},authored:{collapsedIds:e.authoredCollapsedIds},change:{openingIds:[],closingIds:[]},resize:{activeId:``,initialSize:null,previewSize:null},sizing:{changes:[]}}},I=(e,t,n)=>{A()===`horizontal`?(e.style.minWidth=t,e.style.maxWidth=n,e.style.minHeight=``,e.style.maxHeight=``):(e.style.minHeight=t,e.style.maxHeight=n,e.style.minWidth=``,e.style.maxWidth=``)},L=e=>{e.style.flex=``,e.style.minWidth=``,e.style.maxWidth=``,e.style.minHeight=``,e.style.maxHeight=``},R=(e,t)=>{if(O()){L(e.panel);return}if(t!==void 0){e.panel.style.flex=`0 0 ${t}px`,I(e.panel,`0px`,`none`);return}if(D(e.props.id)){if(T().authored.collapsedIds.includes(e.props.id)){L(e.panel);return}let t=e.collapsed?`var(--spacing-panel-collapsed)`:`0px`;e.panel.style.flex=`0 0 ${t}`,I(e.panel,t,t);return}if(e.props.size===`fill`){L(e.panel);return}let n=T().resize.activeId===e.props.id?T().resize.previewSize:T().layout.committedSizes[e.props.id];if(n==null){L(e.panel);return}let r=`${F(e,n)}px`;e.panel.style.flex=`0 1 ${r}`,I(e.panel,`var(--spacing-panel-${e.props.size}-min)`,`var(--spacing-panel-${e.props.size}-max)`)},z=(e,t)=>{e.toggleAttribute(`inert`,t),e.setAttribute(`aria-hidden`,t?`true`:`false`)},B=e=>{let t=E(),n=k(),r=D(e.props.id),i=Q.hasTag(`changing`)&&T().change.openingIds.includes(e.props.id),a=Q.hasTag(`changing`)&&T().change.closingIds.includes(e.props.id),o=!(r&&!a),s=r&&!a&&!i&&e.collapsed!==null;if(e.panel.dataset.state=r?`collapsed`:`expanded`,e.panel.dataset.orientation=n,e.panel.dataset.size=e.props.size,e.panel.dataset.resize=e.props.resize,e.panel.className=g({part:V.parts.panel,props:{orientation:n,divider:t.divider,resize:e.props.resize},className:e.props.class}),p({el:e.panel,attr:`data-collapsible`,present:e.props.collapsible}),p({el:e.panel,attr:`data-resizing`,present:T().resize.activeId===e.props.id}),R(e),e.expanded.hidden=!o,z(e.expanded,!o),e.collapsed&&(e.collapsed.hidden=!s,z(e.collapsed,!s)),e.handle){let t=O()||r||e.props.size===`fill`||e.props.resize===`none`;e.handle.dataset.orientation=n,e.handle.dataset.resizeEdge=e.props.resize,e.handle.setAttribute(`aria-label`,`Resize ${e.props.id} panel`),e.handle.toggleAttribute(`data-resize-disabled`,t),e.handle.hidden=O(),e.handle.className=g({part:V.parts.resizeHandle,props:{orientation:n,edge:e.props.resize},className:e.handle.dataset.class??``})}},pe=e=>{e.forEach((t,n)=>{let r=e[n+1],i=t.props.resize===`end`||r?.props.resize===`start`;p({el:t.panel,attr:`data-divider`,present:E().divider&&r!==void 0&&!i})})},U=e=>{let t=e.dataset.target||``;if(!t){let t=e.closest(`[data-ui-panel]`),n=t?.closest(`[data-ui-panels]`),r=[...H].find(e=>e.id===n?.id),i=t&&r===$?w(t.id):null;return i&&r?{record:i,controller:r}:null}let n=e.dataset.groupId||e.closest(`[data-ui-panels]`)?.id,r=[...H].filter(e=>!n||e.id===n).find(e=>e.hasPanel(t)),i=r===$?w(t):null;return i&&r?{record:i,controller:r}:null},W=()=>{document.querySelectorAll(`[data-ui-panel-toggle]`).forEach(e=>{let t=U(e);if(!t||t.controller!==$)return;let n=D(t.record.props.id);e.dataset.target=t.record.props.id,e.dataset.groupId=E().id,e.dataset.state=n?`collapsed`:`expanded`,e.setAttribute(`aria-controls`,t.record.panel.id),e.setAttribute(`aria-expanded`,n?`false`:`true`),e.toggleAttribute(`disabled`,!t.record.props.collapsible)})},G=()=>{let e=E(),t=k();S().dataset.responsiveMode=d,S().dataset.layoutOrientation=t,S().style.flexDirection=t===`horizontal`?`row`:`column`,S().className=g({part:V.parts.root,props:{...e,orientation:t},className:e.class}),p({el:S(),attr:`data-resizing`,present:Q.hasTag(`resizing`)}),p({el:S(),attr:`data-transitioning`,present:Q.hasTag(`transitioning`)});let n=C();n.forEach(B),pe(n),W()},ve=(e,t=!1)=>{let n=document.activeElement;if(!t&&(!(n instanceof HTMLElement)||!e.collapsed?.contains(n)))return;let r=b.get(e.props.id);r?.isConnected&&e.expanded.contains(r)?r.focus({preventScroll:!0}):(e.expanded.tabIndex=-1,e.expanded.focus({preventScroll:!0}))},K=(e,t=!1)=>{let n=document.activeElement;if(!t&&(!(n instanceof HTMLElement)||!e.expanded.contains(n)))return;let r=e.collapsed?ie(e.collapsed)[0]:void 0,i=x.get(e.props.id),a=i?.isConnected&&!e.panel.contains(i)?i:void 0;r?r.focus({preventScroll:!0}):a?a.focus({preventScroll:!0}):(S().tabIndex=-1,S().focus({preventScroll:!0}))},ye=()=>{let e=[...T().change.openingIds,...T().change.closingIds],t=new Set(T().change.openingIds.filter(e=>{let t=w(e),n=document.activeElement;return t!==null&&t.collapsed!==null&&n instanceof HTMLElement&&t.collapsed.contains(n)})),n=new Map(e.flatMap(e=>{let t=w(e);if(!t)return[];if(T().change.closingIds.includes(e)){let n=document.activeElement;n instanceof HTMLElement&&t.expanded.contains(n)&&b.set(e,n)}return[[e,j(t.panel)]]}));G(),T().change.openingIds.forEach(e=>{let n=w(e);n&&ve(n,t.has(e))}),e.forEach(e=>{let t=w(e),r=n.get(e);if(!t||r===void 0)return;let i=j(t.panel);y.set(e,{from:r,to:i}),R(t,r)})},be=()=>{let e=[...T().change.openingIds],t=[...T().change.closingIds],n=new Set(t.filter(e=>{let t=w(e),n=document.activeElement;return t!==null&&n instanceof HTMLElement&&t.expanded.contains(n)}));C().forEach(e=>R(e)),G(),t.forEach(e=>{let t=w(e);t&&K(t,n.has(e))}),e.forEach(e=>q(`ui:panel-expand`,e)),t.forEach(e=>q(`ui:panel-collapse`,e)),[...e,...t].forEach(e=>y.delete(e))},q=(e,t,n={})=>{ee({el:S(),name:e,detail:{groupId:E().id,panelId:t,__panelsNotification:!0,...n}})},xe=()=>{let e=T().layout;if(E().persist)try{localStorage.setItem(ge(E().id),JSON.stringify({collapsed:e.collapsedIds,sizes:e.committedSizes}))}catch{}ee({el:S(),name:`ui:panels-layout-change`,detail:{groupId:E().id,collapsed:[...e.collapsedIds],sizes:{...e.committedSizes},__panelsNotification:!0}})},J=e=>{if(!s)return;if(Q.hasTag(`stable`)){e();return}let t=window.setTimeout(()=>{h.delete(t),J(e)},16);h.add(t)},Y=(e,t)=>{let n=e.find(e=>t(e)!==D(e));n&&(Q.send({type:t(n)?`COLLAPSE`:`EXPAND`,panelId:n}),J(()=>Y(e,t)))},Se=()=>{if(!E().persist)return;let e;try{e=JSON.parse(localStorage.getItem(ge(E().id))??`null`)}catch{return}if(typeof e!=`object`||!e)return;let t=M(),n=new Set((Array.isArray(e.collapsed)?e.collapsed:[]).filter(e=>typeof e==`string`&&t.collapsibleIds.includes(e))),r=_e(e.sizes),i=()=>{Y(t.collapsibleIds,e=>n.has(e))},a=()=>{let e=t.sizableIds.flatMap(e=>{let t=w(e),n=r[e];if(!t||n===void 0)return[];let i=j(t.panel),a=F(t,n);return Math.abs(i-a)<.5?[]:[{panelId:e,from:i,to:a}]});if(O()){e.length>0&&Q.send({type:`RESTORE_HIDDEN_SIZES`,changes:e}),i();return}let n=e.filter(({panelId:e})=>D(e)),a=e.filter(({panelId:e})=>!D(e));if(n.length>0&&Q.send({type:`RESTORE_HIDDEN_SIZES`,changes:n}),a.length>0){Q.send({type:`SIZE`,changes:a}),J(i);return}i()},o=t.collapsibleIds.filter(e=>D(e)&&!n.has(e));o.length>0?(Y(o,()=>!1),J(a)):a()},Ce=()=>{let e=requestAnimationFrame(()=>{_.delete(e);let t=requestAnimationFrame(()=>{_.delete(t),Se()});_.add(t)});_.add(e)},we=e=>{let t=M(),n=e?t.ids.filter(t=>t===e):t.ids;if(n.length===0)return;let r=()=>{Y(n.filter(e=>t.collapsibleIds.includes(e)),e=>T().authored.collapsedIds.includes(e))},i=n.filter(e=>t.sizableIds.includes(e)&&Object.hasOwn(T().layout.committedSizes,e));if(O()){i.length>0?(Q.send({type:`RESET_HIDDEN_SIZES`,ids:i}),J(r)):r();return}let a=i.filter(D);a.length>0&&Q.send({type:`RESET_HIDDEN_SIZES`,ids:a});let o=i.filter(e=>!D(e)).flatMap(e=>{let t=w(e);return!t||t.props.size===`fill`?[]:[{panelId:e,from:j(t.panel),to:N(`--spacing-panel-${t.props.size}`),reset:!0}]});if(o.length>0){Q.send({type:`SIZE`,changes:o}),J(r);return}r()},Te=()=>{T().sizing.changes.forEach(({panelId:e,from:t})=>{let n=w(e);n&&R(n,t)})},Ee=()=>{T().sizing.changes.forEach(({panelId:e,to:t})=>{let n=w(e);n&&(R(n),q(`ui:panel-resize-end`,e,{size:t}))}),G()},De=e=>{if(k()===`vertical`)return e===`start`?`negative`:`positive`;let t=f({el:S()});return e===`start`?t?`positive`:`negative`:t?`negative`:`positive`},X=()=>{let e=new Set(C().map(({panel:e})=>e));v.forEach((t,n)=>{e.has(n)||(t(),v.delete(n))}),C().forEach(e=>{if(v.has(e.panel)||!e.handle||e.props.size===`fill`||e.props.resize===`none`)return;let t=P(e),n=N(`--spacing-panel-resize-handle`),r=N(`--spacing-panel-resize-handle-coarse`);v.set(e.panel,oe({element:e.panel,handle:e.handle,axis:k()===`horizontal`?`x`:`y`,direction:De(e.props.resize),min:t.minimum,max:t.maximum,mode:`onChange`,hitArea:n,coarseHitArea:r,disabled:()=>O()||D(e.props.id),onStart:t=>Q.send({type:`RESIZE_START`,panelId:e.props.id,size:Z(t)}),onResize:t=>Q.send({type:`RESIZE`,panelId:e.props.id,size:Z(t)}),onEnd:t=>Q.send({type:`RESIZE_END`,panelId:e.props.id,size:Z(t)})}))})},Oe=()=>{v.forEach(e=>e()),v.clear(),X()},Z=e=>k()===`horizontal`?e.previewWidth:e.previewHeight,ke=e=>{let t=E().orientation===`horizontal`&&e<se(S(),`sm`)?`stacked`:`wide`;t!==d&&(d=t,G(),Oe())},Q=ne({schema:le,hooks:de,resolveTransitionElement:({data:e})=>{let t=e?.panelId;return t?w(t)?.panel??null:S()},createMachine:({props:e})=>me({props:e,context:fe(),effects:{prepareChange:ye,finishChange:be,sync:()=>{G(),Oe()},beginResize:()=>{G()},previewResize:()=>{let e=T().resize.activeId,t=w(e);t&&R(t);let n=T().resize.previewSize;n!==null&&q(`ui:panel-resize`,e,{size:n})},commitResize:e=>{G();let t=typeof e.event.panelId==`string`?e.event.panelId:``,n=T().layout.committedSizes[t];t&&n!==void 0&&q(`ui:panel-resize-end`,t,{size:n})},cancelResize:G,prepareSizing:Te,finishSizing:Ee,persist:xe}})}),Ae=()=>{let e=M();Q.send({type:`PANELS_CHANGED`,...e}),X()},je=()=>{l=ae({targets:S(),read:M,onChange:Ae,observer:{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`data-size`,`data-resize`,`data-collapsible`,`data-default-collapsed`]}})},$;return $={...Q,get id(){return S().id||E().id},get orientation(){return k()},get collapsed(){return[...T().layout.collapsedIds]},get sizes(){return{...T().layout.committedSizes}},get root(){let e=this.snapshot.current?.props??E();return re({inputs:[g({part:V.parts.root,props:e,className:e.class}),{"data-ui-panels":``}]})},init(){s=this.$el,Q.connect(this.$el,this.snapshot),S().id||=E().id,d=E().orientation===`horizontal`&&S().getBoundingClientRect().width<se(S(),`sm`)?`stacked`:`wide`,H.add($),he(),G(),X(),u=new ResizeObserver(e=>{ke(e[0]?.contentRect.width??S().clientWidth)}),u.observe(S()),je(),E().persist&&Ce(),m.push(te({target:S(),event:`keydown`,handler:()=>W()}))},destroy(){H.delete($),l?.(),l=null,u?.disconnect(),u=null,v.forEach(e=>e()),v.clear(),m.forEach(e=>e()),m=[],h.forEach(e=>window.clearTimeout(e)),h.clear(),_.forEach(e=>cancelAnimationFrame(e)),_.clear(),Q.disconnect(),s=null},transitionPanel(o){let s=o.data.panelId,c=w(s),l=y.get(s);if(!c||!l||l.from===l.to||t())return c&&R(c,l?.to),n();let u=()=>{};return i(c.panel,()=>{let t=r(l.from);return u=t.on(`change`,e=>R(c,e)),R(c,l.from),a(t,l.to,{duration:e.moderate.duration,ease:[.77,0,.175,1]})},new Set([`layout`]),o.signal,()=>{u(),R(c)})},transitionPanelSize(s){let{panelId:c,from:l,to:u}=s.data,d=w(c);if(!d||l===u||t())return d&&R(d),n();let f=()=>{};return i(d.panel,()=>{let t=r(l);return f=t.on(`change`,e=>R(d,e)),R(d,l),a(t,u,{duration:e.fast.duration,ease:o.inOut})},new Set([`layout`]),s.signal,()=>{f(),R(d)})},hasPanel(e){return w(e)!==null},isCollapsed:D,collapse(e){Q.send({type:`COLLAPSE`,panelId:e})},expand(e){Q.send({type:`EXPAND`,panelId:e})},toggle(e){Q.send({type:`TOGGLE`,panelId:e})},resize(e,t){let n=w(e);if(O()||!n||n.props.size===`fill`||D(e)||!Number.isFinite(t))return;let r=j(n.panel),i=F(n,t);Math.abs(r-i)<.5||Q.send({type:`SIZE`,panelId:e,from:r,to:i})},reset(e){we(e)},perform(e,t,n){n&&x.set(t,n),{collapse:this.collapse,expand:this.expand,toggle:this.toggle}[e](t)},syncToggles:W},$},G=()=>{let e={};return{get props(){return e},init(){e=c({el:this.$el,schema:w})},destroy(){},get root(){return re({inputs:[g({part:V.parts.toggle,props:{},className:e.class}),{"data-ui-panel-toggle":``,":data-target":()=>e.target||void 0,":data-action":()=>e.action,"@click":e=>this.trigger(e)}]})},trigger(t){t?.preventDefault();let n=this.$el,r=n.closest(`[data-ui-panel]`),i=r?.closest(`[data-ui-panels]`),a=e.target||r?.id||``;a&&document.dispatchEvent(new CustomEvent(`ui:panel-toggle`,{detail:{panelId:a,groupId:i?.id,action:e.action,trigger:n}}))}}},ve=e=>{h(`UiPanels`,W)(e),h(`UiPanelToggle`,G)(e)},K=new WeakSet,ye=e=>{K.has(e)||(K.add(e),s(e),y(e),ve(e))};export{G as n,W as r,ye as t};
2
- //# sourceMappingURL=entry.generated-C1JdfrdC.js.map