@vireo-ai/trellis-ui 0.1.43 → 0.1.46

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 (162) 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 +5 -5
  14. package/packages/client/types/components/box/contract.d.ts +2 -2
  15. package/packages/client/types/components/card/contract.d.ts +3 -3
  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 +1 -1
  19. package/packages/client/types/components/date-picker/contract.d.ts +1 -1
  20. package/packages/client/types/components/date-picker/machine.d.ts +2 -2
  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 +1 -1
  25. package/packages/client/types/components/file-upload/machine.d.ts +1 -1
  26. package/packages/client/types/components/flex/contract.d.ts +2 -2
  27. package/packages/client/types/components/frame/contract.d.ts +2 -2
  28. package/packages/client/types/components/grid/contract.d.ts +3 -3
  29. package/packages/client/types/components/layout.d.ts +2 -2
  30. package/packages/client/types/components/menu/contract.d.ts +10 -3
  31. package/packages/client/types/components/modal/contract.d.ts +1 -1
  32. package/packages/client/types/components/radio/contract.d.ts +4 -4
  33. package/packages/client/types/components/section/contract.d.ts +1 -1
  34. package/packages/client/types/components/select/contract.d.ts +2 -2
  35. package/packages/client/types/components/select/machine.d.ts +4 -4
  36. package/packages/client/types/components/sidebar/contract.d.ts +2 -2
  37. package/packages/client/types/components/stack/contract.d.ts +2 -2
  38. package/packages/client/types/components/tooltip/contract.d.ts +2 -2
  39. package/packages/client/types/directives/bounds.d.ts +4 -0
  40. package/packages/client/types/directives/index.d.ts +1 -0
  41. package/packages/client/types/motion/bounds.d.ts +20 -0
  42. package/packages/client/types/motion/index.d.ts +58 -4
  43. package/packages/client/types/motion/plan.d.ts +7 -1
  44. package/packages/client/types/motion/recipe.d.ts +64 -7
  45. package/packages/client/types/motion/resize.d.ts +3 -1
  46. package/packages/client/types/runtime/collection-navigation.d.ts +2 -1
  47. package/packages/client/types/runtime/identity.d.ts +2 -1
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +293 -179
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +347 -324
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js.map +1 -1
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-LgqzTNla.js +2 -0
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-LgqzTNla.js.map +1 -0
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DhIaUo4k.js +3 -0
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DhIaUo4k.js.map +1 -0
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js +2 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js.map +1 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-Dfj6NCjU.js +2 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{common-fH2NGblC.js.map → common-Dfj6NCjU.js.map} +1 -1
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js → core-DFCT8LQq.js} +2 -2
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js.map → core-DFCT8LQq.js.map} +1 -1
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B74OtpL2.js → entry.generated-B-PuCg-D.js} +2 -2
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B74OtpL2.js.map → entry.generated-B-PuCg-D.js.map} +1 -1
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js +2 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js.map +1 -0
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B956G6Cz.js +2 -0
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B956G6Cz.js.map +1 -0
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BTe_Q79G.js +2 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BTe_Q79G.js.map +1 -0
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CEGLKsEl.js → entry.generated-B_e0djHK.js} +2 -2
  73. 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
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js +2 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js.map +1 -0
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Gl6wz0Oh.js → entry.generated-Cekl4pYo.js} +2 -2
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Gl6wz0Oh.js.map → entry.generated-Cekl4pYo.js.map} +1 -1
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-e3bTOzUi.js → entry.generated-Cj1CmH13.js} +2 -2
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cj1CmH13.js.map +1 -0
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DVQC6yVd.js +2 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DVQC6yVd.js.map +1 -0
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DnQY2zaY.js +2 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DnQY2zaY.js.map +1 -0
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Ck7bhyzz.js → entry.generated-DpIBgUZ3.js} +2 -2
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Ck7bhyzz.js.map → entry.generated-DpIBgUZ3.js.map} +1 -1
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-RnJw-Qs4.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-RnJw-Qs4.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CYHiRVjx.js → entry.generated-XfwHguip.js} +2 -2
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CYHiRVjx.js.map → entry.generated-XfwHguip.js.map} +1 -1
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BwAge51I.js → entry.generated-f6HGqvQY.js} +2 -2
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BwAge51I.js.map → entry.generated-f6HGqvQY.js.map} +1 -1
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CtoSPDoI.js → entry.generated-ifMDOEy_.js} +2 -2
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ifMDOEy_.js.map +1 -0
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-pap9Z0I-.js +2 -0
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BbQ_TNRI.js.map → entry.generated-pap9Z0I-.js.map} +1 -1
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CB866C3K.js +2 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CB866C3K.js.map +1 -0
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-QspMEPHx.js → entry2.generated-QspMEPHx.js} +1 -1
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +1 -0
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-D2EM1olE.js +3 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-D2EM1olE.js.map +1 -0
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js +2 -0
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js.map +1 -0
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CV0dnUFY.js +4 -0
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CV0dnUFY.js.map +1 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +137 -130
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js +0 -2
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js.map +0 -1
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-aY5GWxrK.js +0 -3
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-aY5GWxrK.js.map +0 -1
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js +0 -2
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js.map +0 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-fH2NGblC.js +0 -2
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js +0 -2
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js.map +0 -1
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BbQ_TNRI.js +0 -2
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js +0 -2
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js.map +0 -1
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CtoSPDoI.js.map +0 -1
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D0Av2Aiw.js +0 -2
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D0Av2Aiw.js.map +0 -1
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js +0 -2
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js.map +0 -1
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSyiRko7.js +0 -2
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSyiRko7.js.map +0 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dd04OzRH.js +0 -2
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dd04OzRH.js.map +0 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +0 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js +0 -2
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js.map +0 -1
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjDWyE7q.js +0 -2
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjDWyE7q.js.map +0 -1
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-e3bTOzUi.js.map +0 -1
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js +0 -3
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js.map +0 -1
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js +0 -4
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{c as e,d as t,f as n,g as r,l as i,m as a,o,u as s}from"./motion-BhADgUVd.js";import{t as c}from"./capability-motion-C_8mc71v.js";import{a as l,f as u,l as d,n as f,u as ee}from"./codecs-Cb1ns_47.js";import{r as p,t as m}from"./dom-qAeVl7dc.js";import{i as h,t as te}from"./alpine-machine-BS13dbK4.js";import{t as g}from"./alpine-data-CytyCyfk.js";import{n as _,t as v}from"./styles-TfvwVPGw.js";import{t as y}from"./merge-bindings-C8ewA_FD.js";import{t as b}from"./machine-Dqut4h89.js";import{t as ne}from"./dismissable-layer-BROE-Ln2.js";import{o as re,r as ie}from"./focus-scope-DtaPVNl5.js";import{n as ae,t as oe}from"./scroll-lock-DOw7dmi1.js";import{D as x,O as S,u as C}from"./common-fH2NGblC.js";import{t as w}from"./capability-resizable-Bga8TngJ.js";var T=e=>{let t=getComputedStyle(e).getPropertyValue(`--ui-shell-sidebar-breakpoint`),n=Number.parseFloat(t);return Number.isFinite(n)?n:1/0},E=[`left`,`right`],D=[`side`,`top`],O=[`none`,`mobile`,`desktop`,`both`],k=[`toggle`,`open`,`close`,`stash`,`expand`],A=[`a`,`button`],j=[`ghost`,`surface`],M=[`neutral`,`accent`],N=x,P=C,F={id:u.default(`ui-sidebar`),placement:d(D,`side`),side:d(E,`left`),surface:d(N,`inherit`),elevation:d(P,`none`),drawerElevation:d(P,`2`),divider:f.default(!0),sticky:f.default(!0),collapse:d(O,`mobile`),open:f,stashed:f,persist:f.default(!0),edgeReveal:f.default(!0),resizable:f,class:u};d(A,`a`),d(j,`ghost`),d(M,`neutral`),f.default(!0);var I={target:u,icon:u.default(`side_panel`),label:u.default(`Toggle sidebar`),action:d(k,`toggle`),class:u},L=({context:e})=>({mode:e.responsive.mode,presentation:e.transition.presentation,width:e.layout.width,height:e.layout.height}),se=[h({name:`opening`,state:`opening`,project:L,onDone:`OPENING_DONE`,onError:`OPENING_ERROR`}),h({name:`closing`,state:`closing`,project:L,onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`})],R=(e,t)=>typeof e.target==`string`?e.target:t,z=e=>e.presentation===`layout`?`layout`:`drawer`,ce=({props:e,mode:t,desktopStashed:n,effects:r})=>{let i=t===`mobile`?e.open?`mobileOpen`:`mobileClosed`:e.placement===`top`?`desktopTop`:n?`desktopStashed`:`desktopExpanded`,a={target:`opening`,reduce:`beginOpen`,effects:`prepareOpen`},o={target:`closing`,reduce:`beginClose`,effects:`prepareClose`},s={reduce:`replaceProps`,effects:`syncProps`};return b({initial:i,on:{MODE:[{target:`desktopTop`,guard:`toTop`,reduce:`setMode`,effects:`sync`},{target:`desktopDrawer`,guard:`toDesktopDrawer`,reduce:`setMode`,effects:`sync`},{target:`desktopStashed`,guard:`toDesktopStashed`,reduce:`setMode`,effects:`sync`},{target:`desktopExpanded`,guard:`toDesktop`,reduce:`setMode`,effects:`sync`},{target:`mobileOpen`,guard:`toMobileOpen`,reduce:`setMode`,effects:`sync`},{target:`mobileClosed`,reduce:`setMode`,effects:`sync`}],RESIZE:{reduce:`resize`,effects:`sync`}},states:{mobileClosed:{tags:[`mobile`,`closed`],on:{OPEN:a,EXPAND:a,PROPS_CHANGED:s}},mobileOpen:{tags:[`mobile`,`visible`,`expanded`,`open`],on:{CLOSE:o,STASH:o,TOGGLE:o,PROPS_CHANGED:s}},desktopExpanded:{tags:[`desktop`,`visible`,`expanded`,`open`,`layout`],on:{CLOSE:o,STASH:o,TOGGLE:o,OPEN:{},EXPAND:{},PROPS_CHANGED:s}},desktopStashed:{tags:[`desktop`,`stashed`,`closed`],on:{OPEN:a,EXPAND:a,TOGGLE:a,PROPS_CHANGED:s}},desktopDrawer:{tags:[`desktop`,`stashed`,`visible`,`expanded`,`open`,`drawer`],on:{CLOSE:o,STASH:o,TOGGLE:o,EXPAND:a,PROPS_CHANGED:s}},desktopTop:{tags:[`desktop`,`top`,`visible`,`expanded`,`open`,`layout`],on:{PROPS_CHANGED:s}},opening:{tags:[`visible`,`expanded`,`transitioning`],on:{OPENING_DONE:[{target:`mobileOpen`,guard:`targetsMobileOpen`,effects:`finishOpen`},{target:`desktopDrawer`,guard:`targetsDesktopDrawer`,effects:`finishOpen`},{target:`desktopTop`,guard:`targetsDesktopTop`,effects:`finishOpen`},{target:`desktopExpanded`,effects:`finishOpen`}],OPENING_ERROR:[{target:`mobileOpen`,guard:`targetsMobileOpen`,effects:`finishOpen`},{target:`desktopDrawer`,guard:`targetsDesktopDrawer`,effects:`finishOpen`},{target:`desktopTop`,guard:`targetsDesktopTop`,effects:`finishOpen`},{target:`desktopExpanded`,effects:`finishOpen`}],CLOSE:o,STASH:o,TOGGLE:o,PROPS_CHANGED:s}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:[{target:`mobileClosed`,guard:`targetsMobileClosed`,effects:`finishClose`},{target:`desktopStashed`,effects:`finishClose`}],CLOSING_ERROR:[{target:`mobileClosed`,guard:`targetsMobileClosed`,effects:`finishClose`},{target:`desktopStashed`,effects:`finishClose`}],OPEN:a,EXPAND:a,TOGGLE:a,PROPS_CHANGED:s}}}},{props:e,context:{responsive:{mode:t},layout:{desktopStashed:n,desktopDrawerOpen:!1,width:`var(--spacing-sidebar-width)`,height:``},transition:{target:i,presentation:i===`desktopExpanded`||i===`desktopTop`?`layout`:`drawer`}},reducers:{beginOpen:({context:e,event:t})=>{let n=R(t,`mobileOpen`);return{context:{...e,layout:{...e.layout,desktopStashed:n===`desktopDrawer`?!0:n===`desktopExpanded`?!1:e.layout.desktopStashed,desktopDrawerOpen:n===`desktopDrawer`||n===`mobileOpen`&&e.layout.desktopStashed},transition:{target:n,presentation:z(t)}}}},beginClose:({context:e,event:t})=>{let n=R(t,`mobileClosed`),r=n===`desktopStashed`||n===`mobileClosed`&&e.layout.desktopStashed;return{context:{...e,layout:{...e.layout,desktopStashed:n===`desktopStashed`?!0:e.layout.desktopStashed,desktopDrawerOpen:r?!1:e.layout.desktopDrawerOpen},transition:{target:n,presentation:z(t)}}}},setMode:({context:e,event:t})=>({context:{...e,responsive:{mode:t.mode===`desktop`?`desktop`:`mobile`}}}),replaceProps:({context:e,event:t})=>({props:t.props,context:e}),resize:({context:e,event:t})=>({context:{...e,layout:{...e.layout,width:typeof t.width==`string`?t.width:e.layout.width,height:typeof t.height==`string`?t.height:e.layout.height}}})},guards:{toTop:({event:e})=>e.mode===`desktop`&&e.placement===`top`,toDesktopDrawer:({event:e})=>e.mode===`desktop`&&e.stashed===!0&&e.open===!0,toDesktopStashed:({event:e})=>e.mode===`desktop`&&e.stashed===!0,toDesktop:({event:e})=>e.mode===`desktop`,toMobileOpen:({event:e})=>e.mode===`mobile`&&e.open===!0,targetsMobileOpen:({context:e})=>e.transition.target===`mobileOpen`,targetsMobileClosed:({context:e})=>e.transition.target===`mobileClosed`,targetsDesktopDrawer:({context:e})=>e.transition.target===`desktopDrawer`,targetsDesktopTop:({context:e})=>e.transition.target===`desktopTop`},effects:{prepareOpen:r.prepareOpen,finishOpen:r.finishOpen,prepareClose:r.prepareClose,finishClose:r.finishClose,sync:r.sync,syncProps:r.syncProps}})},B=v({definition:{component:`ui.sidebar`,parts:{root:{base:[`fixed inset-y-2 z-dialog flex min-h-0 w-[var(--spacing-sidebar-drawer-width)] flex-col overflow-hidden rounded-overlay-md`,`border-separator outline-none`,`data-[drawer-state=open]:bg-surface`,`data-[mobile-state=closed]:-translate-x-full data-[mobile-state=open]:translate-x-0`,`data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0`,`data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed`,`data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto`,`[grid-area:sidebar]`,`data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto`,`data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center`],variants:{elevation:S(`--ui-sidebar-resting-elevation`),drawerElevation:S(`--ui-sidebar-drawer-elevation`),divider:{true:`data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider`,false:``},side:{left:`left-2 border-r-edge-divider data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto`,right:`right-2 border-l-edge-divider data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto`},sticky:{true:`data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:h-screen`,false:`data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:h-auto`}},defaults:{elevation:`none`,drawerElevation:`2`,divider:!0,side:`left`,sticky:!0}},header:{base:`flex min-h-control-xlg shrink-0 items-center gap-sidebar-header-gap px-sidebar-header-padding-inline py-sidebar-header-padding-block`},content:{base:[`min-h-0 flex-1 overflow-hidden`]},contentInner:{base:[`grid min-w-0 content-start gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block`,`[&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto`]},footer:{base:`grid shrink-0 gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block`},nav:{base:`grid gap-sidebar-content-gap`},item:{base:[`group/sidebar-item flex h-control-md w-full min-w-0 select-none items-center gap-2 rounded-control-md px-2`,`border border-transparent text-left text-sm font-medium outline-none`,`cursor-default`,`data-disabled:pointer-events-none`],variants:{variant:{ghost:``,surface:`data-current:border-transparent data-current:shadow-none`},color:{neutral:``,accent:``},withActions:{true:`pr-9`,false:``}},defaults:{variant:`ghost`,color:`neutral`,withActions:!1}},itemRow:{base:`group/sidebar-item-row relative min-w-0`},itemIcon:{base:`size-icon-xs shrink-0 fill-current text-icon`,variants:{position:{leading:``,trailing:`ml-auto`}},defaults:{position:`leading`}},itemLabel:{base:`min-w-0 flex-1`},itemBadge:{base:`ml-auto shrink-0 rounded-control-sm bg-interaction-hover px-1.5 py-0.5 text-xs text-surface-ink-muted`},itemActions:{base:`absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1`},group:{base:`relative grid gap-sidebar-content-gap`},groupSummary:{base:[`block h-control-md cursor-default select-none list-none rounded-control-md text-xs font-medium text-surface-ink-muted outline-none`,`hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring`,`[&::-webkit-details-marker]:hidden`],variants:{hasActions:{true:``,false:``}},defaults:{hasActions:!1}},groupSummaryInner:{base:`flex h-full min-w-0 items-center gap-2 px-2`},groupHeading:{base:`flex min-h-control-md min-w-0 select-none items-center gap-2 px-2 py-1 cursor-default`},groupIcon:{base:`size-icon-xs shrink-0 fill-current text-icon group-open/sidebar-group:rotate-90`},groupLabel:{base:`min-w-0 flex-1`},groupHeadingLabel:{base:`min-w-0 flex-1`},groupActions:{base:`ml-auto flex shrink-0 items-center gap-1`},groupContent:{base:`grid gap-sidebar-content-gap`},toggle:{base:[`inline-flex h-control-md w-control-md shrink-0 items-center justify-center rounded-control-md text-surface-ink-muted outline-none`,`hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring`]},toggleIcon:{base:`size-icon fill-current text-current`},edge:{base:[`fixed inset-y-0 z-30 hidden w-4 bg-transparent outline-none data-[state=visible]:block`,`focus-visible:ui-focus-ring-inset`,`data-[state=hidden]:hidden`],variants:{side:{left:`left-0`,right:`right-0`}},defaults:{side:`left`}},resizeHandle:{base:[`absolute inset-y-0 z-10 hidden w-3 cursor-col-resize touch-none border-transparent outline-none group-data-[responsive-mode=desktop]/sidebar:block`,`hover:border-intent-neutral-edge-hover`,`focus-visible:ui-focus-ring-inset`,`data-disabled:hidden`,`group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:w-auto group-data-[placement=top]/sidebar:cursor-row-resize group-data-[placement=top]/sidebar:border-b-edge-divider group-data-[placement=top]/sidebar:border-r-0 group-data-[placement=top]/sidebar:border-l-0`],variants:{side:{left:`right-0 border-r-edge-divider`,right:`left-0 border-l-edge-divider`}},defaults:{side:`left`}}}}}),V={target:I.target,action:I.action,class:I.class},H=new Set,U=e=>e instanceof CustomEvent&&e.detail&&typeof e.detail==`object`?e.detail:{},le=(()=>{let e=!1;return()=>{if(e||typeof document>`u`)return;let t=e=>t=>{if(t.target instanceof Element&&t.target.hasAttribute(`data-ui-sidebar`))return;let n=U(t);H.forEach(t=>{(!n.id||n.id===t.id)&&t.perform(n.action??e,n.trigger)})};document.addEventListener(`ui:sidebar-open`,t(`open`)),document.addEventListener(`ui:sidebar-close`,t(`close`)),document.addEventListener(`ui:sidebar-toggle`,t(`toggle`)),e=!0}})(),W=()=>{let c=null,u=[],d=null,f=`mobile`,h=null,g=!1,v=null,b=null,x=!1,S=()=>{if(!c)throw Error(`Sidebar has not been initialized.`);return c},C=()=>S().closest(`[data-ui-app]`),w=()=>C()?.querySelector(`[data-ui-app-backdrop]`)??null,E=()=>J.getSnapshot().props,D=()=>J.getSnapshot().context,O=()=>J.hasTag(`visible`)&&(J.hasTag(`drawer`)||f===`mobile`||J.hasTag(`transitioning`)&&D().transition.presentation===`drawer`),k=()=>O()&&f===`mobile`,A=()=>J.hasTag(`expanded`),j=()=>f===`mobile`&&J.matches(`closing`),M=()=>`trellis-ui-sidebar:${S().id||E().id}:stashed`,N=e=>{if(!e.persist)return null;try{let t=localStorage.getItem(`trellis-ui-sidebar:${S().id||e.id}:stashed`);return t===null?null:t===`true`}catch{return null}},P=()=>{let e=E();if(!(!e.persist||e.placement===`top`))try{localStorage.setItem(M(),D().layout.desktopStashed?`true`:`false`)}catch{}},I=()=>{let e=document.activeElement;if(!(e instanceof HTMLElement)||!S().contains(e))return;let t=h??Array.from(document.querySelectorAll(`[data-ui-sidebar-toggle]`)).find(e=>!S().contains(e)&&(!e.dataset.target||e.dataset.target===S().id));t&&document.contains(t)?t.focus({preventScroll:!0}):e.blur()},L=()=>{let e=A();document.querySelectorAll(`[data-ui-sidebar-toggle], [data-ui-sidebar-state-icon], [data-ui-sidebar-edge]`).forEach(t=>{t.dataset.target&&t.dataset.target!==S().id||(t.matches(`[data-ui-sidebar-edge]`)||(t.dataset.state=e?`open`:`closed`),t.matches(`[data-ui-sidebar-toggle], [data-ui-sidebar-edge]`)&&(t.setAttribute(`aria-controls`,S().id),t.setAttribute(`aria-expanded`,String(e))))})},R=({reflectControlled:e=!0}={})=>{let t=E(),n=J.hasTag(`visible`),r=A(),i=D().layout.desktopStashed,a=O(),o=S();e&&ee(f===`mobile`?{el:o,schema:F,key:`open`,value:r}:{el:o,schema:F,key:`stashed`,value:i}),o.dataset.state=r?`open`:`closed`,o.dataset.mobileState=f===`mobile`&&(r||j())?`open`:`closed`,o.dataset.desktopState=i?`stashed`:`expanded`,o.dataset.drawerState=a?`open`:`closed`,o.dataset.responsiveMode=f,o.dataset.placement=t.placement,o.dataset.side=t.side,o.hidden=!n&&!(f===`desktop`&&t.placement===`top`),o.toggleAttribute(`inert`,!r),r?o.removeAttribute(`aria-hidden`):o.setAttribute(`aria-hidden`,`true`);let c=!t.resizable||f!==`desktop`||a;o.toggleAttribute(`data-resize-disabled`,c);let l=o.querySelector(`[data-ui-sidebar-resize-handle]`);l?.toggleAttribute(`data-disabled`,c),l?.setAttribute(`aria-disabled`,String(c)),o.style.setProperty(`--ui-sidebar-width`,D().layout.width),D().layout.height&&o.style.setProperty(`--ui-sidebar-height`,D().layout.height);let u=C();u&&(u.style.setProperty(`--ui-app-sidebar-width`,D().layout.width),D().layout.height&&u.style.setProperty(`--ui-app-sidebar-height`,D().layout.height),u.dataset.sidebarState=i?`stashed`:`expanded`,u.dataset.sidebarSide=t.side,!x&&!J.hasTag(`transitioning`)&&(u.style.gridTemplateColumns=``));let d=w();if(d){let e=k();d.hidden=!e,d.dataset.state=e?`open`:`closed`}!a&&!J.hasTag(`transitioning`)&&(s(o),o.style.opacity=``,o.style.transform=``,d&&(s(d),d.style.opacity=``));let p=k();p&&!g&&(oe(),g=!0),!p&&g&&(ae(),g=!1),document.querySelectorAll(`[data-ui-sidebar-edge]`).forEach(e=>{if(e.dataset.target&&e.dataset.target!==S().id)return;let n=a&&h===e,r=t.edgeReveal&&f===`desktop`&&t.placement===`side`&&i&&(!a||n);e.dataset.state=r?`visible`:`hidden`,e.hidden=!r}),L(),P()},z=(e,t)=>{let n=C();if(t!==`layout`||!n){x=!1,v=null,b=null;return}let r=getComputedStyle(n).gridTemplateColumns;x=!0;let i=r.split(` `).map(Number.parseFloat);if(i.length!==3||i.some(e=>!Number.isFinite(e))){v=null,b=null;return}let[a=0,o=0]=i,s=Number.parseFloat(getComputedStyle(S()).width);v=E().side===`right`?o:a,b=e?0:Number.isFinite(s)?s:S().getBoundingClientRect().width;let c=`${v}px`;n.style.gridTemplateColumns=E().side===`right`?`minmax(0, 1fr) ${c} min-content`:`${c} minmax(0, 1fr) min-content`,n.offsetWidth},V=e=>{z(!1,e?.event?.presentation??(O()?`drawer`:`layout`)),S().hidden=!1,R(),k()&&queueMicrotask(()=>{k()&&ie(S())})},U=()=>{x=!1,R(),p({el:S(),name:`ui:sidebar-open`,detail:{id:S().id}})},W=e=>{z(!0,e?.event?.presentation??(O()?`drawer`:`layout`)),I(),R()},G=()=>{x=!1,R(),p({el:S(),name:`ui:sidebar-close`,detail:{id:S().id}}),h=null},K=()=>{R({reflectControlled:!1}),queueMicrotask(()=>{let e=E();f===`desktop`?e.placement===`top`?J.hasTag(`top`)||J.send({type:`MODE`,mode:`desktop`,placement:`top`,stashed:!1,open:!0}):e.stashed!==D().layout.desktopStashed&&(e.stashed?Q():Z()):e.open!==A()&&(e.open?Y():X())})},q=()=>l({el:S(),schema:F}),J=te({schema:F,hooks:se,createMachine:({props:e})=>ce({props:e,mode:f,desktopStashed:N(e)??e.stashed,effects:{prepareOpen:V,finishOpen:U,prepareClose:W,finishClose:G,sync:R,syncProps:K}})}),ue=()=>{let e=E();return f===`mobile`?{target:`mobileOpen`,presentation:`drawer`}:e.placement===`top`?null:D().layout.desktopStashed?{target:`desktopDrawer`,presentation:`drawer`}:{target:`desktopExpanded`,presentation:`layout`}},Y=e=>{e?.preventDefault(),e?.currentTarget instanceof HTMLElement&&(h=e.currentTarget);let t=ue();t&&J.send({type:`OPEN`,...t})},X=e=>{e?.preventDefault(),!(E().placement===`top`&&f===`desktop`)&&J.send({type:`CLOSE`,target:f===`mobile`?`mobileClosed`:`desktopStashed`,presentation:O()?`drawer`:`layout`})},Z=e=>{if(e?.preventDefault(),f===`mobile`){Y(e);return}E().placement===`side`&&J.send({type:`EXPAND`,target:`desktopExpanded`,presentation:`layout`})},Q=e=>{if(e?.preventDefault(),f===`mobile`){X(e);return}E().placement===`side`&&J.send({type:`STASH`,target:`desktopStashed`,presentation:O()?`drawer`:`layout`})},de=e=>{if(e?.preventDefault(),!(E().placement===`top`&&f===`desktop`)){if(f===`desktop`&&E().placement===`side`&&D().layout.desktopStashed&&!O()){Z(e);return}A()?X(e):Y(e)}},fe=e=>{let t=E(),n=e>=T(C()??S())?`desktop`:`mobile`;if(n===f)return;f=n;let r=D().layout.desktopStashed;J.send({type:`MODE`,mode:n,placement:t.placement,stashed:r,open:n===`desktop`&&r&&D().layout.desktopDrawerOpen})},pe=e=>{let t=e instanceof CustomEvent?e.detail:null;!t||f!==`desktop`||O()||(E().placement===`top`&&Number.isFinite(t.height)?(J.send({type:`RESIZE`,height:`${Math.round(t.height)}px`}),S().style.setProperty(`--ui-sidebar-height`,`${Math.round(t.height)}px`),C()?.style.setProperty(`--ui-app-sidebar-height`,`${Math.round(t.height)}px`)):Number.isFinite(t.width)&&(J.send({type:`RESIZE`,width:`${Math.round(t.width)}px`}),S().style.setProperty(`--ui-sidebar-width`,`${Math.round(t.width)}px`),C()?.style.setProperty(`--ui-app-sidebar-width`,`${Math.round(t.width)}px`)))},me=e=>{if(!(e instanceof PointerEvent)||f!==`desktop`||!O()||!h?.matches(`[data-ui-sidebar-edge]`))return;let t=e.relatedTarget;t instanceof Node&&(S().contains(t)||h.contains(t))||X(e)},$;return $={...J,get id(){return S().id||E().id},get isOpen(){return A()},get isDesktop(){return f===`desktop`},get isStashed(){return D().layout.desktopStashed},get width(){return D().layout.width},get height(){return D().layout.height},init(){c=this.$el;let e=C()??S();f=e.getBoundingClientRect().width>=T(e)?`desktop`:`mobile`,J.connect(this.$el,this.snapshot),S().id||=E().id,H.add($),le(),d=new ResizeObserver(t=>fe(t[0]?.contentRect.width??e.clientWidth)),d.observe(e),u.push(ne({isEnabled:O,roots:()=>[S()],onDismiss:X})),m({target:document,event:`keydown`,handler:e=>{!(e instanceof KeyboardEvent)||!O()||(e.key===`Escape`?X(e):k()&&re(e,S()))},cleanup:u}),m({target:S(),event:`ui:resize`,handler:pe,cleanup:u}),m({target:S(),event:`ui:resize-end`,handler:pe,cleanup:u}),m({target:S(),event:`pointerleave`,handler:me,cleanup:u}),S().querySelectorAll(`details[data-ui-sidebar-group]`).forEach(e=>m({target:e,event:`toggle`,handler:()=>{e.dataset.state=e.open?`open`:`closed`,p({el:e,name:`ui:sidebar-group-change`,detail:{open:e.open}})},cleanup:u})),R()},destroy(){H.delete($),d?.disconnect(),d=null,u.forEach(e=>e()),u=[],g&&ae(),g=!1,J.disconnect(),c=null},transitionSidebar(s){if(s.data.presentation===`layout`){let o=C(),c=v,l=b;if(v=null,b=null,!o||c===null||l===null)return n();if(t())return o.style.gridTemplateColumns=``,n();if(c===l)return n();let u=()=>{};return i(o,()=>{let t=r(c),n=e=>{let t=`${e}px`;o.style.gridTemplateColumns=E().side===`right`?`minmax(0, 1fr) ${t} min-content`:`${t} minmax(0, 1fr) min-content`};return u=t.on(`change`,n),n(c),a(t,l,{duration:e.moderate.duration,ease:[.77,0,.175,1]})},new Set([`layout`]),s.signal,()=>{u(),o.style.gridTemplateColumns=``})}let c=S().dataset.side===`right`?1:-1,l=s.to===`opening`,u=c===1?`translateX(calc(100% + 0.5rem))`:`translateX(calc(-100% - 0.5rem))`,d=o(s).animate({opacity:l?[0,1]:1,transform:l?[u,`none`]:u}).speed(`moderate`),f=w();return f&&s.data.mode===`mobile`&&(d=d.with(f,{opacity:l?[0,1]:0}).speed(`fast`)),d.play()},get root(){let e=this.snapshot.current?.props??q();return y({inputs:[_({part:B.parts.root,props:e,className:e.class}),{"data-ui-sidebar":``}]})},open:Y,close:X,toggle:de,stash:Q,expand:Z,isExpanded:A,perform(e,t){h=t??null,{open:Y,close:X,toggle:de,stash:Q,expand:Z}[e]?.()},syncToggles:L},$},G=()=>{let e={};return{get props(){return e},init(){e=l({el:this.$el,schema:V})},destroy(){},get root(){return y({inputs:[_({part:B.parts.toggle,props:{},className:e.class}),{"data-ui-sidebar-toggle":``,":data-target":()=>e.target,":data-action":()=>e.action,"@click":e=>this.trigger(e)}]})},trigger(t){t?.preventDefault(),document.dispatchEvent(new CustomEvent(`ui:sidebar-toggle`,{detail:{id:e.target||`ui-sidebar`,action:e.action,trigger:this.$el}}))}}},K=()=>{let e={};return{get props(){return e},init(){e=l({el:this.$el,schema:V})},destroy(){},get root(){return y({inputs:[_({part:B.parts.edge,props:{side:this.$el.dataset.side||`left`},className:e.class}),{"data-ui-sidebar-edge":``,":data-target":()=>e.target,"@pointerenter":e=>this.trigger(e),"@pointerleave":e=>this.leave(e),"@focus":e=>this.trigger(e),"@click":e=>this.trigger(e)}]})},trigger(t){t?.preventDefault(),document.dispatchEvent(new CustomEvent(`ui:sidebar-open`,{detail:{id:e.target||`ui-sidebar`,action:`open`,trigger:this.$el}}))},leave(t){let n=t instanceof PointerEvent?t.relatedTarget:null,r=document.getElementById(e.target||`ui-sidebar`);n instanceof Node&&r?.contains(n)||document.dispatchEvent(new CustomEvent(`ui:sidebar-close`,{detail:{id:e.target||`ui-sidebar`,action:`close`,trigger:this.$el}}))}}},q=e=>{g(`UiSidebar`,W)(e),g(`UiSidebarEdge`,K)(e),g(`UiSidebarToggle`,G)(e)},J=new WeakSet,ue=e=>{J.has(e)||(J.add(e),c(e),w(e),q(e))};export{G as i,W as n,K as r,ue as t};
2
- //# sourceMappingURL=entry.generated-Dd04OzRH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-Dd04OzRH.js","names":[],"sources":["../../../../../../../../client/src/runtime/shell-breakpoint.ts","../../../../../../../../client/src/components/sidebar/contract.ts","../../../../../../../../client/src/components/sidebar/machine.ts","../../../../../../../../client/src/components/sidebar/styles.ts","../../../../../../../../client/src/components/sidebar/index.ts","../../../../../../../../client/src/components/sidebar/entry.generated.ts"],"sourcesContent":["const shellBreakpointPixels = (reference: HTMLElement): number => {\n const value = getComputedStyle(reference).getPropertyValue('--ui-shell-sidebar-breakpoint');\n const pixels = Number.parseFloat(value);\n return Number.isFinite(pixels) ? pixels : Number.POSITIVE_INFINITY;\n};\n\nexport {shellBreakpointPixels};\n","import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n ELEVATION_REFERENCES,\n SURFACE_REFERENCES,\n type ElevationReference,\n type SurfaceReference,\n} from '../common';\n\nconst SIDEBAR_SIDES = ['left', 'right'] as const;\nconst SIDEBAR_PLACEMENTS = ['side', 'top'] as const;\nconst SIDEBAR_COLLAPSES = ['none', 'mobile', 'desktop', 'both'] as const;\nconst SIDEBAR_TOGGLE_ACTIONS = ['toggle', 'open', 'close', 'stash', 'expand'] as const;\nconst SIDEBAR_ITEM_AS = ['a', 'button'] as const;\nconst SIDEBAR_ITEM_VARIANTS = ['ghost', 'surface'] as const;\nconst SIDEBAR_ITEM_COLORS = ['neutral', 'accent'] as const;\nconst SIDEBAR_SURFACES = SURFACE_REFERENCES;\nconst SIDEBAR_ELEVATIONS = ELEVATION_REFERENCES;\n\nconst sidebarSchema = {\n id: string.default('ui-sidebar'),\n placement: oneOf(SIDEBAR_PLACEMENTS, 'side'),\n side: oneOf(SIDEBAR_SIDES, 'left'),\n surface: oneOf(SIDEBAR_SURFACES, 'inherit'),\n elevation: oneOf(SIDEBAR_ELEVATIONS, 'none'),\n drawerElevation: oneOf(SIDEBAR_ELEVATIONS, '2'),\n divider: bool.default(true),\n sticky: bool.default(true),\n collapse: oneOf(SIDEBAR_COLLAPSES, 'mobile'),\n open: bool,\n stashed: bool,\n persist: bool.default(true),\n edgeReveal: bool.default(true),\n resizable: bool,\n class: string,\n};\n\nconst sidebarItemSchema = {\n as: oneOf(SIDEBAR_ITEM_AS, 'a'),\n variant: oneOf(SIDEBAR_ITEM_VARIANTS, 'ghost'),\n color: oneOf(SIDEBAR_ITEM_COLORS, 'neutral'),\n href: string,\n current: bool,\n disabled: bool,\n icon: string,\n iconTrailing: string,\n badge: string,\n class: string,\n};\n\nconst sidebarGroupSchema = {\n heading: string,\n expandable: bool,\n expanded: bool.default(true),\n icon: string,\n class: string,\n};\n\nconst sidebarToggleSchema = {\n target: string,\n icon: string.default('side_panel'),\n label: string.default('Toggle sidebar'),\n action: oneOf(SIDEBAR_TOGGLE_ACTIONS, 'toggle'),\n class: string,\n};\n\nconst sidebarPanelSchema = {\n class: string,\n};\n\nconst sidebarNavSchema = {\n label: string,\n labelled: string,\n class: string,\n};\n\ntype SidebarProps = SchemaToProps<typeof sidebarSchema>;\ntype SidebarToggleAction = typeof SIDEBAR_TOGGLE_ACTIONS[number];\ntype SidebarCollapse = typeof SIDEBAR_COLLAPSES[number];\ntype SidebarItemColor = typeof SIDEBAR_ITEM_COLORS[number];\ntype SidebarItemVariant = typeof SIDEBAR_ITEM_VARIANTS[number];\ntype SidebarSide = typeof SIDEBAR_SIDES[number];\ntype SidebarPlacement = typeof SIDEBAR_PLACEMENTS[number];\ntype SidebarSurface = SurfaceReference;\ntype SidebarElevation = ElevationReference;\n\nexport {\n SIDEBAR_COLLAPSES,\n SIDEBAR_ITEM_AS,\n SIDEBAR_ITEM_COLORS,\n SIDEBAR_ITEM_VARIANTS,\n SIDEBAR_ELEVATIONS,\n SIDEBAR_SIDES,\n SIDEBAR_PLACEMENTS,\n SIDEBAR_TOGGLE_ACTIONS,\n SIDEBAR_SURFACES,\n sidebarGroupSchema,\n sidebarItemSchema,\n sidebarNavSchema,\n sidebarPanelSchema,\n sidebarSchema,\n sidebarToggleSchema,\n};\nexport type {\n SidebarCollapse,\n SidebarElevation,\n SidebarItemColor,\n SidebarItemVariant,\n SidebarPlacement,\n SidebarProps,\n SidebarSide,\n SidebarSurface,\n SidebarToggleAction,\n};\n","import {createMachine, type Machine, type MachineEventObject} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport type {SidebarPlacement, SidebarProps} from './contract';\n\ntype SidebarMode = 'mobile' | 'desktop';\ntype SidebarPresentation = 'drawer' | 'layout';\ntype SidebarTarget = 'mobileClosed' | 'mobileOpen' | 'desktopExpanded' | 'desktopStashed' | 'desktopDrawer' | 'desktopTop';\n\ntype SidebarContext = {\n responsive: {mode: SidebarMode};\n layout: {desktopStashed: boolean; desktopDrawerOpen: boolean; width: string; height: string};\n transition: {target: SidebarTarget; presentation: SidebarPresentation};\n};\n\ntype SidebarMachineEffects = {\n prepareOpen(): void;\n finishOpen(): void;\n prepareClose(): void;\n finishClose(): void;\n sync(): void;\n syncProps(): void;\n};\n\ntype CreateSidebarMachineOptions = {\n props: SidebarProps;\n mode: SidebarMode;\n desktopStashed: boolean;\n effects: SidebarMachineEffects;\n};\n\nconst projectTransition = ({context}: {context: Readonly<SidebarContext>}) => ({\n mode: context.responsive.mode,\n presentation: context.transition.presentation,\n width: context.layout.width,\n height: context.layout.height,\n});\n\ntype SidebarTransitionData = ReturnType<typeof projectTransition>;\n\nconst openingHook = defineHook({\n name: 'opening',\n state: 'opening',\n project: projectTransition,\n onDone: 'OPENING_DONE',\n onError: 'OPENING_ERROR',\n} satisfies TransitionHookDefinition<SidebarContext, SidebarProps, SidebarTransitionData, 'opening'>);\n\nconst closingHook = defineHook({\n name: 'closing',\n state: 'closing',\n project: projectTransition,\n onDone: 'CLOSING_DONE',\n onError: 'CLOSING_ERROR',\n} satisfies TransitionHookDefinition<SidebarContext, SidebarProps, SidebarTransitionData, 'closing'>);\n\nconst sidebarHooks = [openingHook, closingHook] as const;\n\nconst targetFrom = (event: MachineEventObject, fallback: SidebarTarget): SidebarTarget => (\n typeof event.target === 'string' ? event.target as SidebarTarget : fallback\n);\nconst presentationFrom = (event: MachineEventObject): SidebarPresentation => event.presentation === 'layout' ? 'layout' : 'drawer';\n\nconst createSidebarMachine = ({props, mode, desktopStashed, effects}: CreateSidebarMachineOptions): Machine<SidebarContext, SidebarProps> => {\n const initial: SidebarTarget = mode === 'mobile'\n ? props.open ? 'mobileOpen' : 'mobileClosed'\n : props.placement === 'top' ? 'desktopTop' : desktopStashed ? 'desktopStashed' : 'desktopExpanded';\n\n const beginOpen = {target: 'opening', reduce: 'beginOpen', effects: 'prepareOpen'} as const;\n const beginClose = {target: 'closing', reduce: 'beginClose', effects: 'prepareClose'} as const;\n const syncProps = {reduce: 'replaceProps', effects: 'syncProps'} as const;\n\n return createMachine<SidebarContext, SidebarProps>({\n initial,\n on: {\n MODE: [\n {target: 'desktopTop', guard: 'toTop', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopDrawer', guard: 'toDesktopDrawer', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopStashed', guard: 'toDesktopStashed', reduce: 'setMode', effects: 'sync'},\n {target: 'desktopExpanded', guard: 'toDesktop', reduce: 'setMode', effects: 'sync'},\n {target: 'mobileOpen', guard: 'toMobileOpen', reduce: 'setMode', effects: 'sync'},\n {target: 'mobileClosed', reduce: 'setMode', effects: 'sync'},\n ],\n RESIZE: {reduce: 'resize', effects: 'sync'},\n },\n states: {\n mobileClosed: {tags: ['mobile', 'closed'], on: {OPEN: beginOpen, EXPAND: beginOpen, PROPS_CHANGED: syncProps}},\n mobileOpen: {tags: ['mobile', 'visible', 'expanded', 'open'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, PROPS_CHANGED: syncProps}},\n desktopExpanded: {tags: ['desktop', 'visible', 'expanded', 'open', 'layout'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, OPEN: {}, EXPAND: {}, PROPS_CHANGED: syncProps}},\n desktopStashed: {tags: ['desktop', 'stashed', 'closed'], on: {OPEN: beginOpen, EXPAND: beginOpen, TOGGLE: beginOpen, PROPS_CHANGED: syncProps}},\n desktopDrawer: {tags: ['desktop', 'stashed', 'visible', 'expanded', 'open', 'drawer'], on: {CLOSE: beginClose, STASH: beginClose, TOGGLE: beginClose, EXPAND: beginOpen, PROPS_CHANGED: syncProps}},\n desktopTop: {tags: ['desktop', 'top', 'visible', 'expanded', 'open', 'layout'], on: {PROPS_CHANGED: syncProps}},\n opening: {\n tags: ['visible', 'expanded', 'transitioning'],\n on: {\n OPENING_DONE: [\n {target: 'mobileOpen', guard: 'targetsMobileOpen', effects: 'finishOpen'},\n {target: 'desktopDrawer', guard: 'targetsDesktopDrawer', effects: 'finishOpen'},\n {target: 'desktopTop', guard: 'targetsDesktopTop', effects: 'finishOpen'},\n {target: 'desktopExpanded', effects: 'finishOpen'},\n ],\n OPENING_ERROR: [\n {target: 'mobileOpen', guard: 'targetsMobileOpen', effects: 'finishOpen'},\n {target: 'desktopDrawer', guard: 'targetsDesktopDrawer', effects: 'finishOpen'},\n {target: 'desktopTop', guard: 'targetsDesktopTop', effects: 'finishOpen'},\n {target: 'desktopExpanded', effects: 'finishOpen'},\n ],\n CLOSE: beginClose,\n STASH: beginClose,\n TOGGLE: beginClose,\n PROPS_CHANGED: syncProps,\n },\n },\n closing: {\n tags: ['visible', 'transitioning'],\n on: {\n CLOSING_DONE: [\n {target: 'mobileClosed', guard: 'targetsMobileClosed', effects: 'finishClose'},\n {target: 'desktopStashed', effects: 'finishClose'},\n ],\n CLOSING_ERROR: [\n {target: 'mobileClosed', guard: 'targetsMobileClosed', effects: 'finishClose'},\n {target: 'desktopStashed', effects: 'finishClose'},\n ],\n OPEN: beginOpen,\n EXPAND: beginOpen,\n TOGGLE: beginOpen,\n PROPS_CHANGED: syncProps,\n },\n },\n },\n }, {\n props,\n context: {\n responsive: {mode},\n layout: {\n desktopStashed,\n desktopDrawerOpen: false,\n width: 'var(--spacing-sidebar-width)',\n height: '',\n },\n transition: {target: initial, presentation: initial === 'desktopExpanded' || initial === 'desktopTop' ? 'layout' : 'drawer'},\n },\n reducers: {\n beginOpen: ({context, event}) => {\n const target = targetFrom(event, 'mobileOpen');\n return {context: {\n ...context,\n layout: {\n ...context.layout,\n desktopStashed: target === 'desktopDrawer'\n ? true\n : target === 'desktopExpanded' ? false : context.layout.desktopStashed,\n desktopDrawerOpen: target === 'desktopDrawer'\n || (target === 'mobileOpen' && context.layout.desktopStashed),\n },\n transition: {target, presentation: presentationFrom(event)},\n }};\n },\n beginClose: ({context, event}) => {\n const target = targetFrom(event, 'mobileClosed');\n const closesDesktopDrawer = target === 'desktopStashed'\n || (target === 'mobileClosed' && context.layout.desktopStashed);\n return {context: {\n ...context,\n layout: {\n ...context.layout,\n desktopStashed: target === 'desktopStashed' ? true : context.layout.desktopStashed,\n desktopDrawerOpen: closesDesktopDrawer ? false : context.layout.desktopDrawerOpen,\n },\n transition: {target, presentation: presentationFrom(event)},\n }};\n },\n setMode: ({context, event}) => ({context: {...context, responsive: {mode: event.mode === 'desktop' ? 'desktop' : 'mobile'}}}),\n replaceProps: ({context, event}) => ({\n props: event.props as SidebarProps,\n context,\n }),\n resize: ({context, event}) => ({context: {\n ...context,\n layout: {\n ...context.layout,\n width: typeof event.width === 'string' ? event.width : context.layout.width,\n height: typeof event.height === 'string' ? event.height : context.layout.height,\n },\n }}),\n },\n guards: {\n toTop: ({event}) => event.mode === 'desktop' && event.placement === 'top',\n toDesktopDrawer: ({event}) => event.mode === 'desktop' && event.stashed === true && event.open === true,\n toDesktopStashed: ({event}) => event.mode === 'desktop' && event.stashed === true,\n toDesktop: ({event}) => event.mode === 'desktop',\n toMobileOpen: ({event}) => event.mode === 'mobile' && event.open === true,\n targetsMobileOpen: ({context}) => context.transition.target === 'mobileOpen',\n targetsMobileClosed: ({context}) => context.transition.target === 'mobileClosed',\n targetsDesktopDrawer: ({context}) => context.transition.target === 'desktopDrawer',\n targetsDesktopTop: ({context}) => context.transition.target === 'desktopTop',\n },\n effects: {\n prepareOpen: effects.prepareOpen,\n finishOpen: effects.finishOpen,\n prepareClose: effects.prepareClose,\n finishClose: effects.finishClose,\n sync: effects.sync,\n syncProps: effects.syncProps,\n },\n });\n};\n\nexport {createSidebarMachine, sidebarHooks};\nexport type {CreateSidebarMachineOptions, SidebarContext, SidebarMachineEffects, SidebarMode, SidebarPresentation, SidebarTarget};\n","import {defineStyles} from '../../runtime';\nimport {elevationReferenceClasses} from '../common';\n\nconst SIDEBAR_ELEVATION_CLASSES = elevationReferenceClasses('--ui-sidebar-resting-elevation');\nconst SIDEBAR_DRAWER_ELEVATION_CLASSES = elevationReferenceClasses('--ui-sidebar-drawer-elevation');\n\nconst sidebarStyles = defineStyles({definition: {\n component: 'ui.sidebar',\n parts: {\n root: {\n base: [\n 'fixed inset-y-2 z-dialog flex min-h-0 w-[var(--spacing-sidebar-drawer-width)] flex-col overflow-hidden rounded-overlay-md',\n 'border-separator outline-none',\n 'data-[drawer-state=open]:bg-surface',\n 'data-[mobile-state=closed]:-translate-x-full data-[mobile-state=open]:translate-x-0',\n 'data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0',\n 'data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed',\n 'data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto',\n '[grid-area:sidebar]',\n 'data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto',\n 'data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center',\n ],\n variants: {\n elevation: SIDEBAR_ELEVATION_CLASSES,\n drawerElevation: SIDEBAR_DRAWER_ELEVATION_CLASSES,\n divider: {\n true: 'data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider',\n false: '',\n },\n side: {\n left: 'left-2 border-r-edge-divider data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto',\n right: 'right-2 border-l-edge-divider data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto',\n },\n sticky: {\n true: 'data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:h-screen',\n false: 'data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:h-auto',\n },\n },\n defaults: {\n elevation: 'none',\n drawerElevation: '2',\n divider: true,\n side: 'left',\n sticky: true,\n },\n },\n header: {\n base: 'flex min-h-control-xlg shrink-0 items-center gap-sidebar-header-gap px-sidebar-header-padding-inline py-sidebar-header-padding-block',\n },\n content: {\n base: [\n 'min-h-0 flex-1 overflow-hidden',\n ],\n },\n contentInner: {\n base: [\n 'grid min-w-0 content-start gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block',\n '[&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto',\n ],\n },\n footer: {\n base: 'grid shrink-0 gap-sidebar-content-gap px-sidebar-content-padding-inline py-sidebar-content-padding-block',\n },\n nav: {\n base: 'grid gap-sidebar-content-gap',\n },\n item: {\n base: [\n 'group/sidebar-item flex h-control-md w-full min-w-0 select-none items-center gap-2 rounded-control-md px-2',\n 'border border-transparent text-left text-sm font-medium outline-none',\n 'cursor-default',\n 'data-disabled:pointer-events-none',\n ],\n variants: {\n variant: {\n ghost: '',\n surface: 'data-current:border-transparent data-current:shadow-none',\n },\n color: {\n neutral: '',\n accent: '',\n },\n withActions: {\n true: 'pr-9',\n false: '',\n },\n },\n defaults: {\n variant: 'ghost',\n color: 'neutral',\n withActions: false,\n },\n },\n itemRow: {\n base: 'group/sidebar-item-row relative min-w-0',\n },\n itemIcon: {\n base: 'size-icon-xs shrink-0 fill-current text-icon',\n variants: {\n position: {\n leading: '',\n trailing: 'ml-auto',\n },\n },\n defaults: {\n position: 'leading',\n },\n },\n itemLabel: {\n base: 'min-w-0 flex-1',\n },\n itemBadge: {\n base: 'ml-auto shrink-0 rounded-control-sm bg-interaction-hover px-1.5 py-0.5 text-xs text-surface-ink-muted',\n },\n itemActions: {\n base: 'absolute right-1 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1',\n },\n group: {\n base: 'relative grid gap-sidebar-content-gap',\n },\n groupSummary: {\n base: [\n 'block h-control-md cursor-default select-none list-none rounded-control-md text-xs font-medium text-surface-ink-muted outline-none',\n 'hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring',\n '[&::-webkit-details-marker]:hidden',\n ],\n variants: {\n hasActions: {\n true: '',\n false: '',\n },\n },\n defaults: {\n hasActions: false,\n },\n },\n groupSummaryInner: {\n base: 'flex h-full min-w-0 items-center gap-2 px-2',\n },\n groupHeading: {\n base: 'flex min-h-control-md min-w-0 select-none items-center gap-2 px-2 py-1 cursor-default',\n },\n groupIcon: {\n base: 'size-icon-xs shrink-0 fill-current text-icon group-open/sidebar-group:rotate-90',\n },\n groupLabel: {\n base: 'min-w-0 flex-1',\n },\n groupHeadingLabel: {\n base: 'min-w-0 flex-1',\n },\n groupActions: {\n base: 'ml-auto flex shrink-0 items-center gap-1',\n },\n groupContent: {\n base: 'grid gap-sidebar-content-gap',\n },\n toggle: {\n base: [\n 'inline-flex h-control-md w-control-md shrink-0 items-center justify-center rounded-control-md text-surface-ink-muted outline-none',\n 'hover:bg-interaction-hover hover:text-surface-ink focus-visible:ui-focus-ring',\n ],\n },\n toggleIcon: {\n base: 'size-icon fill-current text-current',\n },\n edge: {\n base: [\n 'fixed inset-y-0 z-30 hidden w-4 bg-transparent outline-none data-[state=visible]:block',\n 'focus-visible:ui-focus-ring-inset',\n 'data-[state=hidden]:hidden',\n ],\n variants: {\n side: {\n left: 'left-0',\n right: 'right-0',\n },\n },\n defaults: {\n side: 'left',\n },\n },\n resizeHandle: {\n base: [\n 'absolute inset-y-0 z-10 hidden w-3 cursor-col-resize touch-none border-transparent outline-none group-data-[responsive-mode=desktop]/sidebar:block',\n 'hover:border-intent-neutral-edge-hover',\n 'focus-visible:ui-focus-ring-inset',\n 'data-disabled:hidden',\n 'group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:w-auto group-data-[placement=top]/sidebar:cursor-row-resize group-data-[placement=top]/sidebar:border-b-edge-divider group-data-[placement=top]/sidebar:border-r-0 group-data-[placement=top]/sidebar:border-l-0',\n ],\n variants: {\n side: {\n left: 'right-0 border-r-edge-divider',\n right: 'left-0 border-l-edge-divider',\n },\n },\n defaults: {\n side: 'left',\n },\n },\n },\n}});\n\nexport {sidebarStyles};\n","import type Alpine from 'alpinejs';\nimport {animate, motionValue} from 'motion';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n defineAlpineData,\n reflectSchemaProp,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {decodeProps, type SchemaToProps} from '@client/runtime/codecs';\nimport {addDismissableLayer} from '@client/runtime/dismissable-layer';\nimport {type ResizeEvent} from '@client/runtime/drag-and-drop';\nimport {focusFirst, trapFocus} from '@client/runtime/focus-scope';\nimport {mergeBindings, type BindingObject} from '@client/runtime/merge-bindings';\nimport {lockDocumentScroll, unlockDocumentScroll} from '@client/runtime/scroll-lock';\nimport {shellBreakpointPixels} from '@client/runtime/shell-breakpoint';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {\n createMotionPlan,\n shouldReduceMotion,\n speeds,\n type MotionHandle,\n type MotionTransitionSubject,\n} from '@client/motion';\nimport {noopHandle} from '@client/motion/animate';\nimport {ownMotion} from '@client/motion/owned';\nimport {replaceMotion} from '@client/motion/registry';\nimport {addListener, dispatch, type CleanupStack} from '@client/utils';\nimport {sidebarSchema, sidebarToggleSchema, type SidebarProps, type SidebarToggleAction} from './contract';\nimport {createSidebarMachine, sidebarHooks, type SidebarContext, type SidebarMode, type SidebarTarget} from './machine';\nimport {sidebarStyles} from './styles';\n\ntype SidebarTransitionName = (typeof sidebarHooks)[number]['name'];\ntype SidebarTransition<TName extends SidebarTransitionName = SidebarTransitionName> = TransitionForHook<\n Extract<(typeof sidebarHooks)[number], {name: TName}>,\n HTMLElement\n>;\n\ntype SidebarController = {\n readonly id: string;\n isExpanded(): boolean;\n perform(action: SidebarToggleAction, trigger?: HTMLElement | null): void;\n syncToggles(): void;\n};\n\ntype SidebarEventDetail = {id?: string; action?: SidebarToggleAction; trigger?: HTMLElement | null};\nconst togglePropsSchema = {target: sidebarToggleSchema.target, action: sidebarToggleSchema.action, class: sidebarToggleSchema.class};\ntype SidebarToggleProps = SchemaToProps<typeof togglePropsSchema>;\ntype SidebarEdgeProps = SidebarToggleProps;\n\n/** Public Alpine API for `ui.sidebar`. @public */\ninterface UiSidebarApi {\n /** Sidebar id used by external controls. */\n readonly id: string;\n /** Whether the sidebar is fully open or currently opening. */\n readonly isOpen: boolean;\n /** Whether the observed shell is at or above the theme-generated shell breakpoint. */\n readonly isDesktop: boolean;\n /** Whether side placement is persistently stashed on desktop. */\n readonly isStashed: boolean;\n /** Current side-placement track width. */\n readonly width: string;\n /** Current top-placement track height. */\n readonly height: string;\n /** Opens the responsive drawer or temporarily reveals a stashed desktop sidebar. */\n open(event?: Event): void;\n /** Closes the responsive drawer or stashes an expanded desktop sidebar. */\n close(event?: Event): void;\n /** Reverses the current visibility intent, including an in-flight transition. */\n toggle(event?: Event): void;\n /** Permanently removes side placement from the desktop layout track. */\n stash(event?: Event): void;\n /** Permanently restores side placement to the desktop layout track. */\n expand(event?: Event): void;\n}\n\ntype SidebarData = AlpineMachine<SidebarContext, SidebarProps, typeof sidebarHooks> & UiSidebarApi & {\n readonly root: BindingObject;\n init(): void;\n destroy(): void;\n perform(action: SidebarToggleAction, trigger?: HTMLElement | null): void;\n syncToggles(): void;\n isExpanded(): boolean;\n transitionSidebar(transition: SidebarMotionTransition): MotionHandle;\n};\n\ntype SidebarMotionTransition = MotionTransitionSubject & Readonly<{\n data: {mode: SidebarMode; presentation: 'drawer' | 'layout'};\n to: string;\n}>;\n\nconst controllers = new Set<SidebarController>();\n\nconst eventDetail = (event: Event): SidebarEventDetail => event instanceof CustomEvent && event.detail && typeof event.detail === 'object'\n ? event.detail as SidebarEventDetail\n : {};\n\nconst registerDocumentListeners = (() => {\n let registered = false;\n return (): void => {\n if (registered || typeof document === 'undefined') return;\n const route = (action: SidebarToggleAction) => (event: Event): void => {\n if (event.target instanceof Element && event.target.hasAttribute('data-ui-sidebar')) return;\n const detail = eventDetail(event);\n controllers.forEach((controller) => {\n if (!detail.id || detail.id === controller.id) controller.perform(detail.action ?? action, detail.trigger);\n });\n };\n document.addEventListener('ui:sidebar-open', route('open'));\n document.addEventListener('ui:sidebar-close', route('close'));\n document.addEventListener('ui:sidebar-toggle', route('toggle'));\n registered = true;\n };\n})();\n\nconst UiSidebar = (): TrellisAlpineComponent<SidebarData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let cleanup: CleanupStack = [];\n let resizeObserver: ResizeObserver | null = null;\n let responsiveMode: SidebarMode = 'mobile';\n let activeTrigger: HTMLElement | null = null;\n let hasScrollLock = false;\n let layoutTrackFrom: number | null = null;\n let layoutTrackTo: number | null = null;\n let holdingLayout = false;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Sidebar has not been initialized.');\n return rootEl;\n };\n const appEl = (): HTMLElement | null => root().closest<HTMLElement>('[data-ui-app]');\n const backdropEl = (): HTMLElement | null => appEl()?.querySelector<HTMLElement>('[data-ui-app-backdrop]') ?? null;\n const currentProps = (): Readonly<SidebarProps> => bridge.getSnapshot().props;\n const context = (): Readonly<SidebarContext> => bridge.getSnapshot().context;\n const target = (): SidebarTarget => context().transition.target;\n const isDrawer = (): boolean => bridge.hasTag('visible') && (\n bridge.hasTag('drawer')\n || responsiveMode === 'mobile'\n || (bridge.hasTag('transitioning') && context().transition.presentation === 'drawer')\n );\n const isModalDrawer = (): boolean => isDrawer() && responsiveMode === 'mobile';\n const isExpanded = (): boolean => bridge.hasTag('expanded');\n const isMobileDrawerClosing = (): boolean => responsiveMode === 'mobile' && bridge.matches('closing');\n\n const storageKey = (): string => `trellis-ui-sidebar:${root().id || currentProps().id}:stashed`;\n const storedStashed = (props: SidebarProps): boolean | null => {\n if (!props.persist) return null;\n try {\n const value = localStorage.getItem(`trellis-ui-sidebar:${root().id || props.id}:stashed`);\n return value === null ? null : value === 'true';\n } catch { return null; }\n };\n const persist = (): void => {\n const props = currentProps();\n if (!props.persist || props.placement === 'top') return;\n try { localStorage.setItem(storageKey(), context().layout.desktopStashed ? 'true' : 'false'); } catch { /* storage is optional */ }\n };\n\n const restoreFocus = (): void => {\n const active = document.activeElement;\n if (!(active instanceof HTMLElement) || !root().contains(active)) return;\n const fallback = activeTrigger ?? Array.from(document.querySelectorAll<HTMLElement>('[data-ui-sidebar-toggle]'))\n .find((el) => !root().contains(el) && (!el.dataset.target || el.dataset.target === root().id));\n if (fallback && document.contains(fallback)) fallback.focus({preventScroll: true});\n else active.blur();\n };\n\n const syncToggles = (): void => {\n const expanded = isExpanded();\n document.querySelectorAll<HTMLElement>('[data-ui-sidebar-toggle], [data-ui-sidebar-state-icon], [data-ui-sidebar-edge]').forEach((el) => {\n if (el.dataset.target && el.dataset.target !== root().id) return;\n if (!el.matches('[data-ui-sidebar-edge]')) el.dataset.state = expanded ? 'open' : 'closed';\n if (el.matches('[data-ui-sidebar-toggle], [data-ui-sidebar-edge]')) {\n el.setAttribute('aria-controls', root().id);\n el.setAttribute('aria-expanded', String(expanded));\n }\n });\n };\n\n const sync = ({reflectControlled = true}: {reflectControlled?: boolean} = {}): void => {\n const props = currentProps();\n const visible = bridge.hasTag('visible');\n const expanded = isExpanded();\n const stashed = context().layout.desktopStashed;\n const drawer = isDrawer();\n const el = root();\n if (reflectControlled) {\n if (responsiveMode === 'mobile') {\n reflectSchemaProp({el, schema: sidebarSchema, key: 'open', value: expanded});\n } else {\n reflectSchemaProp({el, schema: sidebarSchema, key: 'stashed', value: stashed});\n }\n }\n el.dataset.state = expanded ? 'open' : 'closed';\n el.dataset.mobileState = responsiveMode === 'mobile' && (expanded || isMobileDrawerClosing()) ? 'open' : 'closed';\n el.dataset.desktopState = stashed ? 'stashed' : 'expanded';\n el.dataset.drawerState = drawer ? 'open' : 'closed';\n el.dataset.responsiveMode = responsiveMode;\n el.dataset.placement = props.placement;\n el.dataset.side = props.side;\n el.hidden = !visible && !(responsiveMode === 'desktop' && props.placement === 'top');\n el.toggleAttribute('inert', !expanded);\n if (expanded) el.removeAttribute('aria-hidden'); else el.setAttribute('aria-hidden', 'true');\n const resizeDisabled = !props.resizable || responsiveMode !== 'desktop' || drawer;\n el.toggleAttribute('data-resize-disabled', resizeDisabled);\n const resizeHandle = el.querySelector<HTMLElement>('[data-ui-sidebar-resize-handle]');\n resizeHandle?.toggleAttribute('data-disabled', resizeDisabled);\n resizeHandle?.setAttribute('aria-disabled', String(resizeDisabled));\n el.style.setProperty('--ui-sidebar-width', context().layout.width);\n if (context().layout.height) el.style.setProperty('--ui-sidebar-height', context().layout.height);\n\n const app = appEl();\n if (app) {\n app.style.setProperty('--ui-app-sidebar-width', context().layout.width);\n if (context().layout.height) app.style.setProperty('--ui-app-sidebar-height', context().layout.height);\n app.dataset.sidebarState = stashed ? 'stashed' : 'expanded';\n app.dataset.sidebarSide = props.side;\n if (!holdingLayout && !bridge.hasTag('transitioning')) app.style.gridTemplateColumns = '';\n }\n const backdrop = backdropEl();\n if (backdrop) {\n const modalDrawer = isModalDrawer();\n backdrop.hidden = !modalDrawer;\n backdrop.dataset.state = modalDrawer ? 'open' : 'closed';\n }\n if (!drawer && !bridge.hasTag('transitioning')) {\n replaceMotion(el);\n el.style.opacity = '';\n el.style.transform = '';\n if (backdrop) {\n replaceMotion(backdrop);\n backdrop.style.opacity = '';\n }\n }\n const modalDrawer = isModalDrawer();\n if (modalDrawer && !hasScrollLock) { lockDocumentScroll(); hasScrollLock = true; }\n if (!modalDrawer && hasScrollLock) { unlockDocumentScroll(); hasScrollLock = false; }\n document.querySelectorAll<HTMLElement>('[data-ui-sidebar-edge]').forEach((edge) => {\n if (edge.dataset.target && edge.dataset.target !== root().id) return;\n const ownsEdgeReveal = drawer && activeTrigger === edge;\n const show = props.edgeReveal && responsiveMode === 'desktop' && props.placement === 'side' && stashed && (!drawer || ownsEdgeReveal);\n edge.dataset.state = show ? 'visible' : 'hidden';\n edge.hidden = !show;\n });\n syncToggles();\n persist();\n };\n\n const captureLayout = (stashed: boolean, presentation?: unknown): void => {\n const app = appEl();\n if (presentation !== 'layout' || !app) {\n holdingLayout = false;\n layoutTrackFrom = null;\n layoutTrackTo = null;\n return;\n }\n const columns = getComputedStyle(app).gridTemplateColumns;\n holdingLayout = true;\n const tracks = columns.split(' ').map(Number.parseFloat);\n if (tracks.length !== 3 || tracks.some((track) => !Number.isFinite(track))) {\n layoutTrackFrom = null;\n layoutTrackTo = null;\n return;\n }\n const [first = 0, second = 0] = tracks;\n const width = Number.parseFloat(getComputedStyle(root()).width);\n layoutTrackFrom = currentProps().side === 'right' ? second : first;\n layoutTrackTo = stashed ? 0 : Number.isFinite(width) ? width : root().getBoundingClientRect().width;\n const track = `${layoutTrackFrom}px`;\n app.style.gridTemplateColumns = currentProps().side === 'right'\n ? `minmax(0, 1fr) ${track} min-content`\n : `${track} minmax(0, 1fr) min-content`;\n void app.offsetWidth;\n };\n const prepareOpen = (scope?: {event?: {presentation?: unknown}}): void => {\n captureLayout(false, scope?.event?.presentation ?? (isDrawer() ? 'drawer' : 'layout'));\n root().hidden = false;\n sync();\n if (isModalDrawer()) queueMicrotask(() => { if (isModalDrawer()) focusFirst(root()); });\n };\n const finishOpen = (): void => {\n holdingLayout = false;\n sync();\n dispatch({el: root(), name: 'ui:sidebar-open', detail: {id: root().id}});\n };\n const prepareClose = (scope?: {event?: {presentation?: unknown}}): void => {\n captureLayout(true, scope?.event?.presentation ?? (isDrawer() ? 'drawer' : 'layout'));\n restoreFocus();\n sync();\n };\n const finishClose = (): void => {\n holdingLayout = false;\n sync();\n dispatch({el: root(), name: 'ui:sidebar-close', detail: {id: root().id}});\n activeTrigger = null;\n };\n\n const syncProps = (): void => {\n sync({reflectControlled: false});\n queueMicrotask(() => {\n const next = currentProps();\n if (responsiveMode === 'desktop') {\n if (next.placement === 'top') {\n if (!bridge.hasTag('top')) bridge.send({type: 'MODE', mode: 'desktop', placement: 'top', stashed: false, open: true});\n } else if (next.stashed !== context().layout.desktopStashed) {\n if (next.stashed) stash(); else expand();\n }\n } else if (next.open !== isExpanded()) {\n if (next.open) open(); else close();\n }\n });\n };\n\n const initialProps = (): SidebarProps => decodeProps({el: root(), schema: sidebarSchema});\n const bridge = createAlpineMachine({\n schema: sidebarSchema,\n hooks: sidebarHooks,\n createMachine: ({props}) => createSidebarMachine({\n props,\n mode: responsiveMode,\n desktopStashed: storedStashed(props) ?? props.stashed,\n effects: {prepareOpen, finishOpen, prepareClose, finishClose, sync, syncProps},\n }),\n });\n\n const desiredOpenTarget = (): {target: SidebarTarget; presentation: 'drawer' | 'layout'} | null => {\n const props = currentProps();\n if (responsiveMode === 'mobile') return {target: 'mobileOpen', presentation: 'drawer'};\n if (props.placement === 'top') return null;\n return context().layout.desktopStashed\n ? {target: 'desktopDrawer', presentation: 'drawer'}\n : {target: 'desktopExpanded', presentation: 'layout'};\n };\n const open = (event?: Event): void => {\n event?.preventDefault();\n if (event?.currentTarget instanceof HTMLElement) activeTrigger = event.currentTarget;\n const desired = desiredOpenTarget();\n if (desired) bridge.send({type: 'OPEN', ...desired});\n };\n const close = (event?: Event): void => {\n event?.preventDefault();\n if (currentProps().placement === 'top' && responsiveMode === 'desktop') return;\n bridge.send({type: 'CLOSE', target: responsiveMode === 'mobile' ? 'mobileClosed' : 'desktopStashed', presentation: isDrawer() ? 'drawer' : 'layout'});\n };\n const expand = (event?: Event): void => {\n event?.preventDefault();\n if (responsiveMode === 'mobile') { open(event); return; }\n if (currentProps().placement === 'side') bridge.send({type: 'EXPAND', target: 'desktopExpanded', presentation: 'layout'});\n };\n const stash = (event?: Event): void => {\n event?.preventDefault();\n if (responsiveMode === 'mobile') { close(event); return; }\n if (currentProps().placement === 'side') bridge.send({type: 'STASH', target: 'desktopStashed', presentation: isDrawer() ? 'drawer' : 'layout'});\n };\n const toggle = (event?: Event): void => {\n event?.preventDefault();\n if (currentProps().placement === 'top' && responsiveMode === 'desktop') return;\n if (responsiveMode === 'desktop' && currentProps().placement === 'side' && context().layout.desktopStashed && !isDrawer()) { expand(event); return; }\n if (isExpanded()) close(event); else open(event);\n };\n\n const reconcileMode = (width: number): void => {\n const props = currentProps();\n const observed = appEl() ?? root();\n const next: SidebarMode = width >= shellBreakpointPixels(observed) ? 'desktop' : 'mobile';\n if (next === responsiveMode) return;\n responsiveMode = next;\n const desktopStashed = context().layout.desktopStashed;\n bridge.send({\n type: 'MODE',\n mode: next,\n placement: props.placement,\n stashed: desktopStashed,\n open: next === 'desktop' && desktopStashed && context().layout.desktopDrawerOpen,\n });\n };\n\n const handleResize = (event: Event): void => {\n const detail = event instanceof CustomEvent ? event.detail as ResizeEvent : null;\n if (!detail || responsiveMode !== 'desktop' || isDrawer()) return;\n const props = currentProps();\n if (props.placement === 'top' && Number.isFinite(detail.height)) {\n bridge.send({type: 'RESIZE', height: `${Math.round(detail.height)}px`});\n root().style.setProperty('--ui-sidebar-height', `${Math.round(detail.height)}px`);\n appEl()?.style.setProperty('--ui-app-sidebar-height', `${Math.round(detail.height)}px`);\n } else if (Number.isFinite(detail.width)) {\n bridge.send({type: 'RESIZE', width: `${Math.round(detail.width)}px`});\n root().style.setProperty('--ui-sidebar-width', `${Math.round(detail.width)}px`);\n appEl()?.style.setProperty('--ui-app-sidebar-width', `${Math.round(detail.width)}px`);\n }\n };\n\n const closeEdgeReveal = (event: Event): void => {\n if (!(event instanceof PointerEvent)) return;\n if (responsiveMode !== 'desktop' || !isDrawer()) return;\n if (!activeTrigger?.matches('[data-ui-sidebar-edge]')) return;\n const next = event.relatedTarget;\n if (next instanceof Node && (root().contains(next) || activeTrigger.contains(next))) return;\n close(event);\n };\n\n let component!: TrellisAlpineComponent<SidebarData>;\n component = {\n ...bridge,\n get id() { return root().id || currentProps().id; },\n get isOpen() { return isExpanded(); },\n get isDesktop() { return responsiveMode === 'desktop'; },\n get isStashed() { return context().layout.desktopStashed; },\n get width() { return context().layout.width; },\n get height() { return context().layout.height; },\n init(): void {\n rootEl = this.$el;\n const observed = appEl() ?? root();\n responsiveMode = observed.getBoundingClientRect().width >= shellBreakpointPixels(observed) ? 'desktop' : 'mobile';\n bridge.connect(this.$el, this.snapshot);\n root().id ||= currentProps().id;\n controllers.add(component);\n registerDocumentListeners();\n resizeObserver = new ResizeObserver((entries) => reconcileMode(entries[0]?.contentRect.width ?? observed.clientWidth));\n resizeObserver.observe(observed);\n cleanup.push(addDismissableLayer({isEnabled: isDrawer, roots: () => [root()], onDismiss: close}));\n addListener({target: document, event: 'keydown', handler: (event) => {\n if (!(event instanceof KeyboardEvent) || !isDrawer()) return;\n if (event.key === 'Escape') close(event);\n else if (isModalDrawer()) trapFocus(event, root());\n }, cleanup});\n addListener({target: root(), event: 'ui:resize', handler: handleResize, cleanup});\n addListener({target: root(), event: 'ui:resize-end', handler: handleResize, cleanup});\n addListener({target: root(), event: 'pointerleave', handler: closeEdgeReveal, cleanup});\n root().querySelectorAll<HTMLDetailsElement>('details[data-ui-sidebar-group]').forEach((group) => addListener({target: group, event: 'toggle', handler: () => {\n group.dataset.state = group.open ? 'open' : 'closed';\n dispatch({el: group, name: 'ui:sidebar-group-change', detail: {open: group.open}});\n }, cleanup}));\n sync();\n },\n destroy(): void {\n controllers.delete(component);\n resizeObserver?.disconnect();\n resizeObserver = null;\n cleanup.forEach((dispose) => dispose());\n cleanup = [];\n if (hasScrollLock) unlockDocumentScroll();\n hasScrollLock = false;\n bridge.disconnect();\n rootEl = null;\n },\n transitionSidebar(transition: SidebarMotionTransition): MotionHandle {\n if (transition.data.presentation === 'layout') {\n const app = appEl();\n const from = layoutTrackFrom;\n const to = layoutTrackTo;\n layoutTrackFrom = null;\n layoutTrackTo = null;\n if (!app || from === null || to === null) return noopHandle();\n if (shouldReduceMotion()) {\n app.style.gridTemplateColumns = '';\n return noopHandle();\n }\n if (from === to) return noopHandle();\n let unbind = (): void => {};\n return ownMotion(app, () => {\n const value = motionValue(from);\n const apply = (track: number): void => {\n const width = `${track}px`;\n app.style.gridTemplateColumns = currentProps().side === 'right'\n ? `minmax(0, 1fr) ${width} min-content`\n : `${width} minmax(0, 1fr) min-content`;\n };\n unbind = value.on('change', apply);\n apply(from);\n return animate(value, to, {\n duration: speeds.moderate.duration,\n ease: [0.77, 0, 0.175, 1],\n });\n }, new Set(['layout']), transition.signal, () => {\n unbind();\n app.style.gridTemplateColumns = '';\n });\n }\n\n const side = root().dataset.side === 'right' ? 1 : -1;\n const opening = transition.to === 'opening';\n const outside = side === 1\n ? 'translateX(calc(100% + 0.5rem))'\n : 'translateX(calc(-100% - 0.5rem))';\n let plan = createMotionPlan(transition).animate({\n opacity: opening ? [0, 1] : 1,\n transform: opening ? [outside, 'none'] : outside,\n }).speed('moderate');\n const backdrop = backdropEl();\n if (backdrop && transition.data.mode === 'mobile') plan = plan.with(backdrop, {\n opacity: opening ? [0, 1] : 0,\n }).speed('fast');\n return plan.play();\n },\n get root(): BindingObject {\n const props = this.snapshot.current?.props ?? initialProps();\n return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.root, props, className: props.class}), {'data-ui-sidebar': ''}]});\n },\n open, close, toggle, stash, expand,\n isExpanded,\n perform(action, trigger) {\n activeTrigger = trigger ?? null;\n ({open, close, toggle, stash, expand})[action]?.();\n },\n syncToggles,\n };\n return component;\n};\n\nconst UiSidebarToggle = (): TrellisAlpineComponent<{props: SidebarToggleProps; readonly root: BindingObject; trigger(event?: Event): void}> => {\n let props = {} as SidebarToggleProps;\n return {\n get props() { return props; },\n init() { props = decodeProps({el: this.$el, schema: togglePropsSchema}); },\n destroy() {},\n get root() { return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.toggle, props: {}, className: props.class}), {'data-ui-sidebar-toggle': '', ':data-target': () => props.target, ':data-action': () => props.action, '@click': (event: Event) => this.trigger(event)}]}); },\n trigger(event?: Event) {\n event?.preventDefault();\n document.dispatchEvent(new CustomEvent('ui:sidebar-toggle', {detail: {id: props.target || 'ui-sidebar', action: props.action, trigger: this.$el}}));\n },\n } as TrellisAlpineComponent<{props: SidebarToggleProps; readonly root: BindingObject; trigger(event?: Event): void}>;\n};\n\nconst UiSidebarEdge = (): TrellisAlpineComponent<{props: SidebarEdgeProps; readonly root: BindingObject; trigger(event?: Event): void; leave(event?: Event): void}> => {\n let props = {} as SidebarEdgeProps;\n return {\n get props() { return props; },\n init() { props = decodeProps({el: this.$el, schema: togglePropsSchema}); },\n destroy() {},\n get root() { return mergeBindings({inputs: [resolveStyle({part: sidebarStyles.parts.edge, props: {side: this.$el.dataset.side || 'left'}, className: props.class}), {'data-ui-sidebar-edge': '', ':data-target': () => props.target, '@pointerenter': (event: Event) => this.trigger(event), '@pointerleave': (event: Event) => this.leave(event), '@focus': (event: Event) => this.trigger(event), '@click': (event: Event) => this.trigger(event)}]}); },\n trigger(event?: Event) {\n event?.preventDefault();\n document.dispatchEvent(new CustomEvent('ui:sidebar-open', {detail: {id: props.target || 'ui-sidebar', action: 'open', trigger: this.$el}}));\n },\n leave(event?: Event) {\n const next = event instanceof PointerEvent ? event.relatedTarget : null;\n const sidebar = document.getElementById(props.target || 'ui-sidebar');\n if (next instanceof Node && sidebar?.contains(next)) return;\n document.dispatchEvent(new CustomEvent('ui:sidebar-close', {detail: {id: props.target || 'ui-sidebar', action: 'close', trigger: this.$el}}));\n },\n } as TrellisAlpineComponent<{props: SidebarEdgeProps; readonly root: BindingObject; trigger(event?: Event): void; leave(event?: Event): void}>;\n};\n\nconst registerSidebar = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiSidebar', UiSidebar)(AlpineInstance);\n defineAlpineData('UiSidebarEdge', UiSidebarEdge)(AlpineInstance);\n defineAlpineData('UiSidebarToggle', UiSidebarToggle)(AlpineInstance);\n};\n\nexport {registerSidebar, UiSidebar, UiSidebarEdge, UiSidebarToggle};\nexport type {SidebarController, SidebarData, SidebarTransition, UiSidebarApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerMotionCapability} from '../../capabilities/motion';\nimport {registerResizableCapability} from '../../capabilities/resizable';\nimport {registerSidebar as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerSidebar = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerResizableCapability(AlpineInstance);\n registerComponent(AlpineInstance);\n};\n\nexport {registerSidebar};\nexport default registerSidebar;\nexport * from './index';\n"],"mappings":"+vBAAA,IAAM,EAAyB,GAAmC,CAC9D,IAAM,EAAQ,iBAAiB,CAAS,EAAE,iBAAiB,+BAA+B,EACpF,EAAS,OAAO,WAAW,CAAK,EACtC,OAAO,OAAO,SAAS,CAAM,EAAI,EAAS,GAC9C,ECIM,EAAgB,CAAC,OAAQ,OAAO,EAChC,EAAqB,CAAC,OAAQ,KAAK,EACnC,EAAoB,CAAC,OAAQ,SAAU,UAAW,MAAM,EACxD,EAAyB,CAAC,SAAU,OAAQ,QAAS,QAAS,QAAQ,EACtE,EAAkB,CAAC,IAAK,QAAQ,EAChC,EAAwB,CAAC,QAAS,SAAS,EAC3C,EAAsB,CAAC,UAAW,QAAQ,EAC1C,EAAmB,EACnB,EAAqB,EAErB,EAAgB,CAClB,GAAI,EAAO,QAAQ,YAAY,EAC/B,UAAW,EAAM,EAAoB,MAAM,EAC3C,KAAM,EAAM,EAAe,MAAM,EACjC,QAAS,EAAM,EAAkB,SAAS,EAC1C,UAAW,EAAM,EAAoB,MAAM,EAC3C,gBAAiB,EAAM,EAAoB,GAAG,EAC9C,QAAS,EAAK,QAAQ,EAAI,EAC1B,OAAQ,EAAK,QAAQ,EAAI,EACzB,SAAU,EAAM,EAAmB,QAAQ,EAC3C,KAAM,EACN,QAAS,EACT,QAAS,EAAK,QAAQ,EAAI,EAC1B,WAAY,EAAK,QAAQ,EAAI,EAC7B,UAAW,EACX,MAAO,CACX,EAGQ,EAAM,EAAiB,GAAG,EACrB,EAAM,EAAuB,OAAO,EACtC,EAAM,EAAqB,SAAS,EAajC,EAAK,QAAQ,EAAI,EAK/B,IAAM,EAAsB,CACxB,OAAQ,EACR,KAAM,EAAO,QAAQ,YAAY,EACjC,MAAO,EAAO,QAAQ,gBAAgB,EACtC,OAAQ,EAAM,EAAwB,QAAQ,EAC9C,MAAO,CACX,ECjCM,GAAqB,CAAC,cAAmD,CAC3E,KAAM,EAAQ,WAAW,KACzB,aAAc,EAAQ,WAAW,aACjC,MAAO,EAAQ,OAAO,MACtB,OAAQ,EAAQ,OAAO,MAC3B,GAoBM,GAAe,CAhBD,EAAW,CAC3B,KAAM,UACN,MAAO,UACP,QAAS,EACT,OAAQ,eACR,QAAS,eACb,CAUsB,EARF,EAAW,CAC3B,KAAM,UACN,MAAO,UACP,QAAS,EACT,OAAQ,eACR,QAAS,eACb,CAEmC,CAAW,EAExC,GAAc,EAA2B,IAC3C,OAAO,EAAM,QAAW,SAAW,EAAM,OAA0B,EAEjE,EAAoB,GAAmD,EAAM,eAAiB,SAAW,SAAW,SAEpH,IAAwB,CAAC,QAAO,OAAM,iBAAgB,aAAiF,CACzI,IAAM,EAAyB,IAAS,SAClC,EAAM,KAAO,aAAe,eAC5B,EAAM,YAAc,MAAQ,aAAe,EAAiB,iBAAmB,kBAE/E,EAAY,CAAC,OAAQ,UAAW,OAAQ,YAAa,QAAS,aAAa,EAC3E,EAAa,CAAC,OAAQ,UAAW,OAAQ,aAAc,QAAS,cAAc,EAC9E,EAAY,CAAC,OAAQ,eAAgB,QAAS,WAAW,EAE/D,OAAO,EAA4C,CAC/C,UACA,GAAI,CACA,KAAM,CACF,CAAC,OAAQ,aAAc,MAAO,QAAS,OAAQ,UAAW,QAAS,MAAM,EACzE,CAAC,OAAQ,gBAAiB,MAAO,kBAAmB,OAAQ,UAAW,QAAS,MAAM,EACtF,CAAC,OAAQ,iBAAkB,MAAO,mBAAoB,OAAQ,UAAW,QAAS,MAAM,EACxF,CAAC,OAAQ,kBAAmB,MAAO,YAAa,OAAQ,UAAW,QAAS,MAAM,EAClF,CAAC,OAAQ,aAAc,MAAO,eAAgB,OAAQ,UAAW,QAAS,MAAM,EAChF,CAAC,OAAQ,eAAgB,OAAQ,UAAW,QAAS,MAAM,CAC/D,EACA,OAAQ,CAAC,OAAQ,SAAU,QAAS,MAAM,CAC9C,EACA,OAAQ,CACJ,aAAc,CAAC,KAAM,CAAC,SAAU,QAAQ,EAAG,GAAI,CAAC,KAAM,EAAW,OAAQ,EAAW,cAAe,CAAS,CAAC,EAC7G,WAAY,CAAC,KAAM,CAAC,SAAU,UAAW,WAAY,MAAM,EAAG,GAAI,CAAC,MAAO,EAAY,MAAO,EAAY,OAAQ,EAAY,cAAe,CAAS,CAAC,EACtJ,gBAAiB,CAAC,KAAM,CAAC,UAAW,UAAW,WAAY,OAAQ,QAAQ,EAAG,GAAI,CAAC,MAAO,EAAY,MAAO,EAAY,OAAQ,EAAY,KAAM,CAAC,EAAG,OAAQ,CAAC,EAAG,cAAe,CAAS,CAAC,EAC5L,eAAgB,CAAC,KAAM,CAAC,UAAW,UAAW,QAAQ,EAAG,GAAI,CAAC,KAAM,EAAW,OAAQ,EAAW,OAAQ,EAAW,cAAe,CAAS,CAAC,EAC9I,cAAe,CAAC,KAAM,CAAC,UAAW,UAAW,UAAW,WAAY,OAAQ,QAAQ,EAAG,GAAI,CAAC,MAAO,EAAY,MAAO,EAAY,OAAQ,EAAY,OAAQ,EAAW,cAAe,CAAS,CAAC,EAClM,WAAY,CAAC,KAAM,CAAC,UAAW,MAAO,UAAW,WAAY,OAAQ,QAAQ,EAAG,GAAI,CAAC,cAAe,CAAS,CAAC,EAC9G,QAAS,CACL,KAAM,CAAC,UAAW,WAAY,eAAe,EAC7C,GAAI,CACA,aAAc,CACV,CAAC,OAAQ,aAAc,MAAO,oBAAqB,QAAS,YAAY,EACxE,CAAC,OAAQ,gBAAiB,MAAO,uBAAwB,QAAS,YAAY,EAC9E,CAAC,OAAQ,aAAc,MAAO,oBAAqB,QAAS,YAAY,EACxE,CAAC,OAAQ,kBAAmB,QAAS,YAAY,CACrD,EACA,cAAe,CACX,CAAC,OAAQ,aAAc,MAAO,oBAAqB,QAAS,YAAY,EACxE,CAAC,OAAQ,gBAAiB,MAAO,uBAAwB,QAAS,YAAY,EAC9E,CAAC,OAAQ,aAAc,MAAO,oBAAqB,QAAS,YAAY,EACxE,CAAC,OAAQ,kBAAmB,QAAS,YAAY,CACrD,EACA,MAAO,EACP,MAAO,EACP,OAAQ,EACR,cAAe,CACnB,CACJ,EACA,QAAS,CACL,KAAM,CAAC,UAAW,eAAe,EACjC,GAAI,CACA,aAAc,CACV,CAAC,OAAQ,eAAgB,MAAO,sBAAuB,QAAS,aAAa,EAC7E,CAAC,OAAQ,iBAAkB,QAAS,aAAa,CACrD,EACA,cAAe,CACX,CAAC,OAAQ,eAAgB,MAAO,sBAAuB,QAAS,aAAa,EAC7E,CAAC,OAAQ,iBAAkB,QAAS,aAAa,CACrD,EACA,KAAM,EACN,OAAQ,EACR,OAAQ,EACR,cAAe,CACnB,CACJ,CACJ,CACJ,EAAG,CACC,QACA,QAAS,CACL,WAAY,CAAC,MAAI,EACjB,OAAQ,CACJ,iBACA,kBAAmB,GACnB,MAAO,+BACP,OAAQ,EACZ,EACA,WAAY,CAAC,OAAQ,EAAS,aAAc,IAAY,mBAAqB,IAAY,aAAe,SAAW,QAAQ,CAC/H,EACA,SAAU,CACN,WAAY,CAAC,UAAS,WAAW,CAC7B,IAAM,EAAS,EAAW,EAAO,YAAY,EAC7C,MAAO,CAAC,QAAS,CACb,GAAG,EACH,OAAQ,CACJ,GAAG,EAAQ,OACX,eAAgB,IAAW,gBACrB,GACA,IAAW,kBAAoB,GAAQ,EAAQ,OAAO,eAC5D,kBAAmB,IAAW,iBACtB,IAAW,cAAgB,EAAQ,OAAO,cACtD,EACA,WAAY,CAAC,SAAQ,aAAc,EAAiB,CAAK,CAAC,CAC9D,CAAC,CACL,EACA,YAAa,CAAC,UAAS,WAAW,CAC9B,IAAM,EAAS,EAAW,EAAO,cAAc,EACzC,EAAsB,IAAW,kBAC/B,IAAW,gBAAkB,EAAQ,OAAO,eACpD,MAAO,CAAC,QAAS,CACb,GAAG,EACH,OAAQ,CACJ,GAAG,EAAQ,OACX,eAAgB,IAAW,iBAAmB,GAAO,EAAQ,OAAO,eACpE,kBAAmB,EAAsB,GAAQ,EAAQ,OAAO,iBACpE,EACA,WAAY,CAAC,SAAQ,aAAc,EAAiB,CAAK,CAAC,CAC9D,CAAC,CACL,EACA,SAAU,CAAC,UAAS,YAAY,CAAC,QAAS,CAAC,GAAG,EAAS,WAAY,CAAC,KAAM,EAAM,OAAS,UAAY,UAAY,QAAQ,CAAC,CAAC,GAC3H,cAAe,CAAC,UAAS,YAAY,CACjC,MAAO,EAAM,MACb,SACJ,GACA,QAAS,CAAC,UAAS,YAAY,CAAC,QAAS,CACrC,GAAG,EACH,OAAQ,CACJ,GAAG,EAAQ,OACX,MAAO,OAAO,EAAM,OAAU,SAAW,EAAM,MAAQ,EAAQ,OAAO,MACtE,OAAQ,OAAO,EAAM,QAAW,SAAW,EAAM,OAAS,EAAQ,OAAO,MAC7E,CACJ,CAAC,EACL,EACA,OAAQ,CACJ,OAAQ,CAAC,WAAW,EAAM,OAAS,WAAa,EAAM,YAAc,MACpE,iBAAkB,CAAC,WAAW,EAAM,OAAS,WAAa,EAAM,UAAY,IAAQ,EAAM,OAAS,GACnG,kBAAmB,CAAC,WAAW,EAAM,OAAS,WAAa,EAAM,UAAY,GAC7E,WAAY,CAAC,WAAW,EAAM,OAAS,UACvC,cAAe,CAAC,WAAW,EAAM,OAAS,UAAY,EAAM,OAAS,GACrE,mBAAoB,CAAC,aAAa,EAAQ,WAAW,SAAW,aAChE,qBAAsB,CAAC,aAAa,EAAQ,WAAW,SAAW,eAClE,sBAAuB,CAAC,aAAa,EAAQ,WAAW,SAAW,gBACnE,mBAAoB,CAAC,aAAa,EAAQ,WAAW,SAAW,YACpE,EACA,QAAS,CACL,YAAa,EAAQ,YACrB,WAAY,EAAQ,WACpB,aAAc,EAAQ,aACtB,YAAa,EAAQ,YACrB,KAAM,EAAQ,KACd,UAAW,EAAQ,SACvB,CACJ,CAAC,CACL,ECxMM,EAAgB,EAAa,CAAC,WAAY,CAC5C,UAAW,aACX,MAAO,CACH,KAAM,CACF,KAAM,CACF,4HACA,gCACA,sCACA,sFACA,2TACA,uNACA,6HACA,6FACA,4LACA,sBACA,6kBACA,8LACA,6TACA,gLACA,wFACA,qLACJ,EACA,SAAU,CACN,UA1BkB,EAA0B,gCA0BjC,EACX,gBA1ByB,EAA0B,+BA0BlC,EACjB,QAAS,CACL,KAAM,sKACN,MAAO,EACX,EACA,KAAM,CACF,KAAM,sGACN,MAAO,0LACX,EACA,OAAQ,CACJ,KAAM,gFACN,MAAO,2TACX,CACJ,EACA,SAAU,CACN,UAAW,OACX,gBAAiB,IACjB,QAAS,GACT,KAAM,OACN,OAAQ,EACZ,CACJ,EACA,OAAQ,CACJ,KAAM,sIACV,EACA,QAAS,CACL,KAAM,CACF,gCACJ,CACJ,EACA,aAAc,CACV,KAAM,CACF,wHACA,2FACJ,CACJ,EACA,OAAQ,CACJ,KAAM,0GACV,EACA,IAAK,CACD,KAAM,8BACV,EACA,KAAM,CACF,KAAM,CACF,6GACA,uEACA,iBACA,mCACJ,EACA,SAAU,CACN,QAAS,CACL,MAAO,GACP,QAAS,0DACb,EACA,MAAO,CACH,QAAS,GACT,OAAQ,EACZ,EACA,YAAa,CACT,KAAM,OACN,MAAO,EACX,CACJ,EACA,SAAU,CACN,QAAS,QACT,MAAO,UACP,YAAa,EACjB,CACJ,EACA,QAAS,CACL,KAAM,yCACV,EACA,SAAU,CACN,KAAM,+CACN,SAAU,CACN,SAAU,CACN,QAAS,GACT,SAAU,SACd,CACJ,EACA,SAAU,CACN,SAAU,SACd,CACJ,EACA,UAAW,CACP,KAAM,gBACV,EACA,UAAW,CACP,KAAM,uGACV,EACA,YAAa,CACT,KAAM,wEACV,EACA,MAAO,CACH,KAAM,uCACV,EACA,aAAc,CACV,KAAM,CACF,qIACA,gFACA,oCACJ,EACA,SAAU,CACN,WAAY,CACR,KAAM,GACN,MAAO,EACX,CACJ,EACA,SAAU,CACN,WAAY,EAChB,CACJ,EACA,kBAAmB,CACf,KAAM,6CACV,EACA,aAAc,CACV,KAAM,uFACV,EACA,UAAW,CACP,KAAM,iFACV,EACA,WAAY,CACR,KAAM,gBACV,EACA,kBAAmB,CACf,KAAM,gBACV,EACA,aAAc,CACV,KAAM,0CACV,EACA,aAAc,CACV,KAAM,8BACV,EACA,OAAQ,CACJ,KAAM,CACF,oIACA,+EACJ,CACJ,EACA,WAAY,CACR,KAAM,qCACV,EACA,KAAM,CACF,KAAM,CACF,yFACA,oCACA,4BACJ,EACA,SAAU,CACN,KAAM,CACF,KAAM,SACN,MAAO,SACX,CACJ,EACA,SAAU,CACN,KAAM,MACV,CACJ,EACA,aAAc,CACV,KAAM,CACF,qJACA,yCACA,oCACA,uBACA,iaACJ,EACA,SAAU,CACN,KAAM,CACF,KAAM,gCACN,MAAO,8BACX,CACJ,EACA,SAAU,CACN,KAAM,MACV,CACJ,CACJ,CACJ,CAAC,CAAC,EC/JI,EAAoB,CAAC,OAAQ,EAAoB,OAAQ,OAAQ,EAAoB,OAAQ,MAAO,EAAoB,KAAK,EA6C7H,EAAc,IAAI,IAElB,EAAe,GAAqC,aAAiB,aAAe,EAAM,QAAU,OAAO,EAAM,QAAW,SAC5H,EAAM,OACN,CAAC,EAED,QAAmC,CACrC,IAAI,EAAa,GACjB,UAAmB,CACf,GAAI,GAAc,OAAO,SAAa,IAAa,OACnD,IAAM,EAAS,GAAiC,GAAuB,CACnE,GAAI,EAAM,kBAAkB,SAAW,EAAM,OAAO,aAAa,iBAAiB,EAAG,OACrF,IAAM,EAAS,EAAY,CAAK,EAChC,EAAY,QAAS,GAAe,EAC5B,CAAC,EAAO,IAAM,EAAO,KAAO,EAAW,KAAI,EAAW,QAAQ,EAAO,QAAU,EAAQ,EAAO,OAAO,CAC7G,CAAC,CACL,EACA,SAAS,iBAAiB,kBAAmB,EAAM,MAAM,CAAC,EAC1D,SAAS,iBAAiB,mBAAoB,EAAM,OAAO,CAAC,EAC5D,SAAS,iBAAiB,oBAAqB,EAAM,QAAQ,CAAC,EAC9D,EAAa,EACjB,CACJ,GAAG,EAEG,MAAuD,CACzD,IAAI,EAA+D,KAC/D,EAAwB,CAAC,EACzB,EAAwC,KACxC,EAA8B,SAC9B,EAAoC,KACpC,EAAgB,GAChB,EAAiC,KACjC,EAA+B,KAC/B,EAAgB,GAEd,MAA0B,CAC5B,GAAI,CAAC,EAAQ,MAAU,MAAM,mCAAmC,EAChE,OAAO,CACX,EACM,MAAkC,EAAK,EAAE,QAAqB,eAAe,EAC7E,MAAuC,EAAM,GAAG,cAA2B,wBAAwB,GAAK,KACxG,MAA6C,EAAO,YAAY,EAAE,MAClE,MAA0C,EAAO,YAAY,EAAE,QAE/D,MAA0B,EAAO,OAAO,SAAS,IACnD,EAAO,OAAO,QAAQ,GACnB,IAAmB,UAClB,EAAO,OAAO,eAAe,GAAK,EAAQ,EAAE,WAAW,eAAiB,UAE1E,MAA+B,EAAS,GAAK,IAAmB,SAChE,MAA4B,EAAO,OAAO,UAAU,EACpD,MAAuC,IAAmB,UAAY,EAAO,QAAQ,SAAS,EAE9F,MAA2B,sBAAsB,EAAK,EAAE,IAAM,EAAa,EAAE,GAAG,UAChF,EAAiB,GAAwC,CAC3D,GAAI,CAAC,EAAM,QAAS,OAAO,KAC3B,GAAI,CACA,IAAM,EAAQ,aAAa,QAAQ,sBAAsB,EAAK,EAAE,IAAM,EAAM,GAAG,SAAS,EACxF,OAAO,IAAU,KAAO,KAAO,IAAU,MAC7C,MAAQ,CAAE,OAAO,IAAM,CAC3B,EACM,MAAsB,CACxB,IAAM,EAAQ,EAAa,EACvB,MAAC,EAAM,SAAW,EAAM,YAAc,OAC1C,GAAI,CAAE,aAAa,QAAQ,EAAW,EAAG,EAAQ,EAAE,OAAO,eAAiB,OAAS,OAAO,CAAG,MAAQ,CAA4B,CACtI,EAEM,MAA2B,CAC7B,IAAM,EAAS,SAAS,cACxB,GAAI,EAAE,aAAkB,cAAgB,CAAC,EAAK,EAAE,SAAS,CAAM,EAAG,OAClE,IAAM,EAAW,GAAiB,MAAM,KAAK,SAAS,iBAA8B,0BAA0B,CAAC,EAC1G,KAAM,GAAO,CAAC,EAAK,EAAE,SAAS,CAAE,IAAM,CAAC,EAAG,QAAQ,QAAU,EAAG,QAAQ,SAAW,EAAK,EAAE,GAAG,EAC7F,GAAY,SAAS,SAAS,CAAQ,EAAG,EAAS,MAAM,CAAC,cAAe,EAAI,CAAC,EAC5E,EAAO,KAAK,CACrB,EAEM,MAA0B,CAC5B,IAAM,EAAW,EAAW,EAC5B,SAAS,iBAA8B,gFAAgF,EAAE,QAAS,GAAO,CACjI,EAAG,QAAQ,QAAU,EAAG,QAAQ,SAAW,EAAK,EAAE,KACjD,EAAG,QAAQ,wBAAwB,IAAG,EAAG,QAAQ,MAAQ,EAAW,OAAS,UAC9E,EAAG,QAAQ,kDAAkD,IAC7D,EAAG,aAAa,gBAAiB,EAAK,EAAE,EAAE,EAC1C,EAAG,aAAa,gBAAiB,OAAO,CAAQ,CAAC,GAEzD,CAAC,CACL,EAEM,GAAQ,CAAC,oBAAoB,IAAuC,CAAC,IAAY,CACnF,IAAM,EAAQ,EAAa,EACrB,EAAU,EAAO,OAAO,SAAS,EACjC,EAAW,EAAW,EACtB,EAAU,EAAQ,EAAE,OAAO,eAC3B,EAAS,EAAS,EAClB,EAAK,EAAK,EACZ,GAEI,GADA,IAAmB,SACD,CAAC,KAAI,OAAQ,EAAe,IAAK,OAAQ,MAAO,CAAQ,EAExD,CAAC,KAAI,OAAQ,EAAe,IAAK,UAAW,MAAO,CAAO,CAAC,EAGrF,EAAG,QAAQ,MAAQ,EAAW,OAAS,SACvC,EAAG,QAAQ,YAAc,IAAmB,WAAa,GAAY,EAAsB,GAAK,OAAS,SACzG,EAAG,QAAQ,aAAe,EAAU,UAAY,WAChD,EAAG,QAAQ,YAAc,EAAS,OAAS,SAC3C,EAAG,QAAQ,eAAiB,EAC5B,EAAG,QAAQ,UAAY,EAAM,UAC7B,EAAG,QAAQ,KAAO,EAAM,KACxB,EAAG,OAAS,CAAC,GAAW,EAAE,IAAmB,WAAa,EAAM,YAAc,OAC9E,EAAG,gBAAgB,QAAS,CAAC,CAAQ,EACjC,EAAU,EAAG,gBAAgB,aAAa,EAAQ,EAAG,aAAa,cAAe,MAAM,EAC3F,IAAM,EAAiB,CAAC,EAAM,WAAa,IAAmB,WAAa,EAC3E,EAAG,gBAAgB,uBAAwB,CAAc,EACzD,IAAM,EAAe,EAAG,cAA2B,iCAAiC,EACpF,GAAc,gBAAgB,gBAAiB,CAAc,EAC7D,GAAc,aAAa,gBAAiB,OAAO,CAAc,CAAC,EAClE,EAAG,MAAM,YAAY,qBAAsB,EAAQ,EAAE,OAAO,KAAK,EAC7D,EAAQ,EAAE,OAAO,QAAQ,EAAG,MAAM,YAAY,sBAAuB,EAAQ,EAAE,OAAO,MAAM,EAEhG,IAAM,EAAM,EAAM,EACd,IACA,EAAI,MAAM,YAAY,yBAA0B,EAAQ,EAAE,OAAO,KAAK,EAClE,EAAQ,EAAE,OAAO,QAAQ,EAAI,MAAM,YAAY,0BAA2B,EAAQ,EAAE,OAAO,MAAM,EACrG,EAAI,QAAQ,aAAe,EAAU,UAAY,WACjD,EAAI,QAAQ,YAAc,EAAM,KAC5B,CAAC,GAAiB,CAAC,EAAO,OAAO,eAAe,IAAG,EAAI,MAAM,oBAAsB,KAE3F,IAAM,EAAW,EAAW,EAC5B,GAAI,EAAU,CACV,IAAM,EAAc,EAAc,EAClC,EAAS,OAAS,CAAC,EACnB,EAAS,QAAQ,MAAQ,EAAc,OAAS,QACpD,CACI,CAAC,GAAU,CAAC,EAAO,OAAO,eAAe,IACzC,EAAc,CAAE,EAChB,EAAG,MAAM,QAAU,GACnB,EAAG,MAAM,UAAY,GACjB,IACA,EAAc,CAAQ,EACtB,EAAS,MAAM,QAAU,KAGjC,IAAM,EAAc,EAAc,EAC9B,GAAe,CAAC,IAAiB,GAAmB,EAAG,EAAgB,IACvE,CAAC,GAAe,IAAiB,GAAqB,EAAG,EAAgB,IAC7E,SAAS,iBAA8B,wBAAwB,EAAE,QAAS,GAAS,CAC/E,GAAI,EAAK,QAAQ,QAAU,EAAK,QAAQ,SAAW,EAAK,EAAE,GAAI,OAC9D,IAAM,EAAiB,GAAU,IAAkB,EAC7C,EAAO,EAAM,YAAc,IAAmB,WAAa,EAAM,YAAc,QAAU,IAAY,CAAC,GAAU,GACtH,EAAK,QAAQ,MAAQ,EAAO,UAAY,SACxC,EAAK,OAAS,CAAC,CACnB,CAAC,EACD,EAAY,EACZ,EAAQ,CACZ,EAEM,GAAiB,EAAkB,IAAiC,CACtE,IAAM,EAAM,EAAM,EAClB,GAAI,IAAiB,UAAY,CAAC,EAAK,CACnC,EAAgB,GAChB,EAAkB,KAClB,EAAgB,KAChB,MACJ,CACA,IAAM,EAAU,iBAAiB,CAAG,EAAE,oBACtC,EAAgB,GAChB,IAAM,EAAS,EAAQ,MAAM,GAAG,EAAE,IAAI,OAAO,UAAU,EACvD,GAAI,EAAO,SAAW,GAAK,EAAO,KAAM,GAAU,CAAC,OAAO,SAAS,CAAK,CAAC,EAAG,CACxE,EAAkB,KAClB,EAAgB,KAChB,MACJ,CACA,GAAM,CAAC,EAAQ,EAAG,EAAS,GAAK,EAC1B,EAAQ,OAAO,WAAW,iBAAiB,EAAK,CAAC,EAAE,KAAK,EAC9D,EAAkB,EAAa,EAAE,OAAS,QAAU,EAAS,EAC7D,EAAgB,EAAU,EAAI,OAAO,SAAS,CAAK,EAAI,EAAQ,EAAK,EAAE,sBAAsB,EAAE,MAC9F,IAAM,EAAQ,GAAG,EAAgB,IACjC,EAAI,MAAM,oBAAsB,EAAa,EAAE,OAAS,QAClD,kBAAkB,EAAM,cACxB,GAAG,EAAM,6BACf,EAAS,WACb,EACM,EAAe,GAAqD,CACtE,EAAc,GAAO,GAAO,OAAO,eAAiB,EAAS,EAAI,SAAW,SAAS,EACrF,EAAK,EAAE,OAAS,GAChB,EAAK,EACD,EAAc,GAAG,mBAAqB,CAAM,EAAc,GAAG,GAAW,EAAK,CAAC,CAAG,CAAC,CAC1F,EACM,MAAyB,CAC3B,EAAgB,GAChB,EAAK,EACL,EAAS,CAAC,GAAI,EAAK,EAAG,KAAM,kBAAmB,OAAQ,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,CAAC,CAC3E,EACM,EAAgB,GAAqD,CACvE,EAAc,GAAM,GAAO,OAAO,eAAiB,EAAS,EAAI,SAAW,SAAS,EACpF,EAAa,EACb,EAAK,CACT,EACM,MAA0B,CAC5B,EAAgB,GAChB,EAAK,EACL,EAAS,CAAC,GAAI,EAAK,EAAG,KAAM,mBAAoB,OAAQ,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,CAAC,EACxE,EAAgB,IACpB,EAEM,MAAwB,CAC1B,EAAK,CAAC,kBAAmB,EAAK,CAAC,EAC/B,mBAAqB,CACjB,IAAM,EAAO,EAAa,EACtB,IAAmB,UACf,EAAK,YAAc,MACd,EAAO,OAAO,KAAK,GAAG,EAAO,KAAK,CAAC,KAAM,OAAQ,KAAM,UAAW,UAAW,MAAO,QAAS,GAAO,KAAM,EAAI,CAAC,EAC7G,EAAK,UAAY,EAAQ,EAAE,OAAO,iBACrC,EAAK,QAAS,EAAM,EAAQ,EAAO,GAEpC,EAAK,OAAS,EAAW,IAC5B,EAAK,KAAM,EAAK,EAAQ,EAAM,EAE1C,CAAC,CACL,EAEM,MAAmC,EAAY,CAAC,GAAI,EAAK,EAAG,OAAQ,CAAa,CAAC,EAClF,EAAS,GAAoB,CAC/B,OAAQ,EACR,MAAO,GACP,eAAgB,CAAC,WAAW,GAAqB,CAC7C,QACA,KAAM,EACN,eAAgB,EAAc,CAAK,GAAK,EAAM,QAC9C,QAAS,CAAC,cAAa,aAAY,eAAc,cAAa,OAAM,WAAS,CACjF,CAAC,CACL,CAAC,EAEK,OAA6F,CAC/F,IAAM,EAAQ,EAAa,EAG3B,OAFI,IAAmB,SAAiB,CAAC,OAAQ,aAAc,aAAc,QAAQ,EACjF,EAAM,YAAc,MAAc,KAC/B,EAAQ,EAAE,OAAO,eAClB,CAAC,OAAQ,gBAAiB,aAAc,QAAQ,EAChD,CAAC,OAAQ,kBAAmB,aAAc,QAAQ,CAC5D,EACM,EAAQ,GAAwB,CAClC,GAAO,eAAe,EAClB,GAAO,yBAAyB,cAAa,EAAgB,EAAM,eACvE,IAAM,EAAU,GAAkB,EAC9B,GAAS,EAAO,KAAK,CAAC,KAAM,OAAQ,GAAG,CAAO,CAAC,CACvD,EACM,EAAS,GAAwB,CACnC,GAAO,eAAe,EAClB,IAAa,EAAE,YAAc,OAAS,IAAmB,YAC7D,EAAO,KAAK,CAAC,KAAM,QAAS,OAAQ,IAAmB,SAAW,eAAiB,iBAAkB,aAAc,EAAS,EAAI,SAAW,QAAQ,CAAC,CACxJ,EACM,EAAU,GAAwB,CAEpC,GADA,GAAO,eAAe,EAClB,IAAmB,SAAU,CAAE,EAAK,CAAK,EAAG,MAAQ,CACpD,EAAa,EAAE,YAAc,QAAQ,EAAO,KAAK,CAAC,KAAM,SAAU,OAAQ,kBAAmB,aAAc,QAAQ,CAAC,CAC5H,EACM,EAAS,GAAwB,CAEnC,GADA,GAAO,eAAe,EAClB,IAAmB,SAAU,CAAE,EAAM,CAAK,EAAG,MAAQ,CACrD,EAAa,EAAE,YAAc,QAAQ,EAAO,KAAK,CAAC,KAAM,QAAS,OAAQ,iBAAkB,aAAc,EAAS,EAAI,SAAW,QAAQ,CAAC,CAClJ,EACM,GAAU,GAAwB,CACpC,MAAO,eAAe,EAClB,IAAa,EAAE,YAAc,OAAS,IAAmB,WAC7D,IAAI,IAAmB,WAAa,EAAa,EAAE,YAAc,QAAU,EAAQ,EAAE,OAAO,gBAAkB,CAAC,EAAS,EAAG,CAAE,EAAO,CAAK,EAAG,MAAQ,CAChJ,EAAW,EAAG,EAAM,CAAK,EAAQ,EAAK,CAAK,CADqG,CAExJ,EAEM,GAAiB,GAAwB,CAC3C,IAAM,EAAQ,EAAa,EAErB,EAAoB,GAAS,EADlB,EAAM,GAAK,EAAK,CACgC,EAAI,UAAY,SACjF,GAAI,IAAS,EAAgB,OAC7B,EAAiB,EACjB,IAAM,EAAiB,EAAQ,EAAE,OAAO,eACxC,EAAO,KAAK,CACR,KAAM,OACN,KAAM,EACN,UAAW,EAAM,UACjB,QAAS,EACT,KAAM,IAAS,WAAa,GAAkB,EAAQ,EAAE,OAAO,iBACnE,CAAC,CACL,EAEM,GAAgB,GAAuB,CACzC,IAAM,EAAS,aAAiB,YAAc,EAAM,OAAwB,KACxE,CAAC,GAAU,IAAmB,WAAa,EAAS,IAC1C,EACV,EAAM,YAAc,OAAS,OAAO,SAAS,EAAO,MAAM,GAC1D,EAAO,KAAK,CAAC,KAAM,SAAU,OAAQ,GAAG,KAAK,MAAM,EAAO,MAAM,EAAE,GAAG,CAAC,EACtE,EAAK,EAAE,MAAM,YAAY,sBAAuB,GAAG,KAAK,MAAM,EAAO,MAAM,EAAE,GAAG,EAChF,EAAM,GAAG,MAAM,YAAY,0BAA2B,GAAG,KAAK,MAAM,EAAO,MAAM,EAAE,GAAG,GAC/E,OAAO,SAAS,EAAO,KAAK,IACnC,EAAO,KAAK,CAAC,KAAM,SAAU,MAAO,GAAG,KAAK,MAAM,EAAO,KAAK,EAAE,GAAG,CAAC,EACpE,EAAK,EAAE,MAAM,YAAY,qBAAsB,GAAG,KAAK,MAAM,EAAO,KAAK,EAAE,GAAG,EAC9E,EAAM,GAAG,MAAM,YAAY,yBAA0B,GAAG,KAAK,MAAM,EAAO,KAAK,EAAE,GAAG,GAE5F,EAEM,GAAmB,GAAuB,CAG5C,GAFI,EAAE,aAAiB,eACnB,IAAmB,WAAa,CAAC,EAAS,GAC1C,CAAC,GAAe,QAAQ,wBAAwB,EAAG,OACvD,IAAM,EAAO,EAAM,cACf,aAAgB,OAAS,EAAK,EAAE,SAAS,CAAI,GAAK,EAAc,SAAS,CAAI,IACjF,EAAM,CAAK,CACf,EAEI,EA0GJ,MAzGA,GAAY,CACR,GAAG,EACH,IAAI,IAAK,CAAE,OAAO,EAAK,EAAE,IAAM,EAAa,EAAE,EAAI,EAClD,IAAI,QAAS,CAAE,OAAO,EAAW,CAAG,EACpC,IAAI,WAAY,CAAE,OAAO,IAAmB,SAAW,EACvD,IAAI,WAAY,CAAE,OAAO,EAAQ,EAAE,OAAO,cAAgB,EAC1D,IAAI,OAAQ,CAAE,OAAO,EAAQ,EAAE,OAAO,KAAO,EAC7C,IAAI,QAAS,CAAE,OAAO,EAAQ,EAAE,OAAO,MAAQ,EAC/C,MAAa,CACT,EAAS,KAAK,IACd,IAAM,EAAW,EAAM,GAAK,EAAK,EACjC,EAAiB,EAAS,sBAAsB,EAAE,OAAS,EAAsB,CAAQ,EAAI,UAAY,SACzG,EAAO,QAAQ,KAAK,IAAK,KAAK,QAAQ,EACtC,EAAK,EAAE,KAAO,EAAa,EAAE,GAC7B,EAAY,IAAI,CAAS,EACzB,GAA0B,EAC1B,EAAiB,IAAI,eAAgB,GAAY,GAAc,EAAQ,IAAI,YAAY,OAAS,EAAS,WAAW,CAAC,EACrH,EAAe,QAAQ,CAAQ,EAC/B,EAAQ,KAAK,GAAoB,CAAC,UAAW,EAAU,UAAa,CAAC,EAAK,CAAC,EAAG,UAAW,CAAK,CAAC,CAAC,EAChG,EAAY,CAAC,OAAQ,SAAU,MAAO,UAAW,QAAU,GAAU,CAC7D,EAAE,aAAiB,gBAAkB,CAAC,EAAS,IAC/C,EAAM,MAAQ,SAAU,EAAM,CAAK,EAC9B,EAAc,GAAG,GAAU,EAAO,EAAK,CAAC,EACrD,EAAG,SAAO,CAAC,EACX,EAAY,CAAC,OAAQ,EAAK,EAAG,MAAO,YAAa,QAAS,GAAc,SAAO,CAAC,EAChF,EAAY,CAAC,OAAQ,EAAK,EAAG,MAAO,gBAAiB,QAAS,GAAc,SAAO,CAAC,EACpF,EAAY,CAAC,OAAQ,EAAK,EAAG,MAAO,eAAgB,QAAS,GAAiB,SAAO,CAAC,EACtF,EAAK,EAAE,iBAAqC,gCAAgC,EAAE,QAAS,GAAU,EAAY,CAAC,OAAQ,EAAO,MAAO,SAAU,YAAe,CACzJ,EAAM,QAAQ,MAAQ,EAAM,KAAO,OAAS,SAC5C,EAAS,CAAC,GAAI,EAAO,KAAM,0BAA2B,OAAQ,CAAC,KAAM,EAAM,IAAI,CAAC,CAAC,CACrF,EAAG,SAAO,CAAC,CAAC,EACZ,EAAK,CACT,EACA,SAAgB,CACZ,EAAY,OAAO,CAAS,EAC5B,GAAgB,WAAW,EAC3B,EAAiB,KACjB,EAAQ,QAAS,GAAY,EAAQ,CAAC,EACtC,EAAU,CAAC,EACP,GAAe,GAAqB,EACxC,EAAgB,GAChB,EAAO,WAAW,EAClB,EAAS,IACb,EACA,kBAAkB,EAAmD,CACjE,GAAI,EAAW,KAAK,eAAiB,SAAU,CAC3C,IAAM,EAAM,EAAM,EACZ,EAAO,EACP,EAAK,EAGX,GAFA,EAAkB,KAClB,EAAgB,KACZ,CAAC,GAAO,IAAS,MAAQ,IAAO,KAAM,OAAO,EAAW,EAC5D,GAAI,EAAmB,EAEnB,MADA,GAAI,MAAM,oBAAsB,GACzB,EAAW,EAEtB,GAAI,IAAS,EAAI,OAAO,EAAW,EACnC,IAAI,MAAqB,CAAC,EAC1B,OAAO,EAAU,MAAW,CACxB,IAAM,EAAQ,EAAY,CAAI,EACxB,EAAS,GAAwB,CACnC,IAAM,EAAQ,GAAG,EAAM,IACvB,EAAI,MAAM,oBAAsB,EAAa,EAAE,OAAS,QAClD,kBAAkB,EAAM,cACxB,GAAG,EAAM,4BACnB,EAGA,MAFA,GAAS,EAAM,GAAG,SAAU,CAAK,EACjC,EAAM,CAAI,EACH,EAAQ,EAAO,EAAI,CACtB,SAAU,EAAO,SAAS,SAC1B,KAAM,CAAC,IAAM,EAAG,KAAO,CAAC,CAC5B,CAAC,CACL,EAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAG,EAAW,WAAc,CAC7C,EAAO,EACP,EAAI,MAAM,oBAAsB,EACpC,CAAC,CACL,CAEA,IAAM,EAAO,EAAK,EAAE,QAAQ,OAAS,QAAU,EAAI,GAC7C,EAAU,EAAW,KAAO,UAC5B,EAAU,IAAS,EACnB,kCACA,mCACF,EAAO,EAAiB,CAAU,EAAE,QAAQ,CAC5C,QAAS,EAAU,CAAC,EAAG,CAAC,EAAI,EAC5B,UAAW,EAAU,CAAC,EAAS,MAAM,EAAI,CAC7C,CAAC,EAAE,MAAM,UAAU,EACb,EAAW,EAAW,EAI5B,OAHI,GAAY,EAAW,KAAK,OAAS,WAAU,EAAO,EAAK,KAAK,EAAU,CAC1E,QAAS,EAAU,CAAC,EAAG,CAAC,EAAI,CAChC,CAAC,EAAE,MAAM,MAAM,GACR,EAAK,KAAK,CACrB,EACA,IAAI,MAAsB,CACtB,IAAM,EAAQ,KAAK,SAAS,SAAS,OAAS,EAAa,EAC3D,OAAO,EAAc,CAAC,OAAQ,CAAC,EAAa,CAAC,KAAM,EAAc,MAAM,KAAM,QAAO,UAAW,EAAM,KAAK,CAAC,EAAG,CAAC,kBAAmB,EAAE,CAAC,CAAC,CAAC,CAC3I,EACA,OAAM,QAAO,UAAQ,QAAO,SAC5B,aACA,QAAQ,EAAQ,EAAS,CACrB,EAAgB,GAAW,KAC1B,CAAC,OAAM,QAAO,UAAQ,QAAO,QAAM,EAAG,KAAU,CACrD,EACA,aACJ,EACO,CACX,EAEM,MAAyI,CAC3I,IAAI,EAAQ,CAAC,EACb,MAAO,CACH,IAAI,OAAQ,CAAE,OAAO,CAAO,EAC5B,MAAO,CAAE,EAAQ,EAAY,CAAC,GAAI,KAAK,IAAK,OAAQ,CAAiB,CAAC,CAAG,EACzE,SAAU,CAAC,EACX,IAAI,MAAO,CAAE,OAAO,EAAc,CAAC,OAAQ,CAAC,EAAa,CAAC,KAAM,EAAc,MAAM,OAAQ,MAAO,CAAC,EAAG,UAAW,EAAM,KAAK,CAAC,EAAG,CAAC,yBAA0B,GAAI,mBAAsB,EAAM,OAAQ,mBAAsB,EAAM,OAAQ,SAAW,GAAiB,KAAK,QAAQ,CAAK,CAAC,CAAC,CAAC,CAAC,CAAG,EAC7R,QAAQ,EAAe,CACnB,GAAO,eAAe,EACtB,SAAS,cAAc,IAAI,YAAY,oBAAqB,CAAC,OAAQ,CAAC,GAAI,EAAM,QAAU,aAAc,OAAQ,EAAM,OAAQ,QAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CACtJ,CACJ,CACJ,EAEM,MAAiK,CACnK,IAAI,EAAQ,CAAC,EACb,MAAO,CACH,IAAI,OAAQ,CAAE,OAAO,CAAO,EAC5B,MAAO,CAAE,EAAQ,EAAY,CAAC,GAAI,KAAK,IAAK,OAAQ,CAAiB,CAAC,CAAG,EACzE,SAAU,CAAC,EACX,IAAI,MAAO,CAAE,OAAO,EAAc,CAAC,OAAQ,CAAC,EAAa,CAAC,KAAM,EAAc,MAAM,KAAM,MAAO,CAAC,KAAM,KAAK,IAAI,QAAQ,MAAQ,MAAM,EAAG,UAAW,EAAM,KAAK,CAAC,EAAG,CAAC,uBAAwB,GAAI,mBAAsB,EAAM,OAAQ,gBAAkB,GAAiB,KAAK,QAAQ,CAAK,EAAG,gBAAkB,GAAiB,KAAK,MAAM,CAAK,EAAG,SAAW,GAAiB,KAAK,QAAQ,CAAK,EAAG,SAAW,GAAiB,KAAK,QAAQ,CAAK,CAAC,CAAC,CAAC,CAAC,CAAG,EACzb,QAAQ,EAAe,CACnB,GAAO,eAAe,EACtB,SAAS,cAAc,IAAI,YAAY,kBAAmB,CAAC,OAAQ,CAAC,GAAI,EAAM,QAAU,aAAc,OAAQ,OAAQ,QAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAC9I,EACA,MAAM,EAAe,CACjB,IAAM,EAAO,aAAiB,aAAe,EAAM,cAAgB,KAC7D,EAAU,SAAS,eAAe,EAAM,QAAU,YAAY,EAChE,aAAgB,MAAQ,GAAS,SAAS,CAAI,GAClD,SAAS,cAAc,IAAI,YAAY,mBAAoB,CAAC,OAAQ,CAAC,GAAI,EAAM,QAAU,aAAc,OAAQ,QAAS,QAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAChJ,CACJ,CACJ,EAEM,EAAmB,GAAwC,CAC7D,EAAiB,YAAa,CAAS,EAAE,CAAc,EACvD,EAAiB,gBAAiB,CAAa,EAAE,CAAc,EAC/D,EAAiB,kBAAmB,CAAe,EAAE,CAAc,CACvE,EC/hBM,EAAa,IAAI,QAEjB,GAAmB,GAAqC,CACtD,EAAW,IAAI,CAAc,IACjC,EAAW,IAAI,CAAc,EAC7B,EAAyB,CAAc,EACvC,EAA4B,CAAc,EAC1C,EAAkB,CAAc,EACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.generated-QspMEPHx.js","names":[],"sources":["../../../../../../../../client/src/components/table/contract.ts","../../../../../../../../client/src/components/table/entry.generated.ts"],"sourcesContent":["import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\n\nconst TABLE_LAYOUTS = ['auto', 'fixed'] as const;\nconst TABLE_DENSITIES = ['compact', 'default', 'comfortable'] as const;\nconst TABLE_VARIANTS = ['ghost', 'surface'] as const;\nconst TABLE_BORDERS = ['none', 'row', 'grid'] as const;\nconst TABLE_WIDTHS = ['auto', 'full'] as const;\nconst TABLE_ALIGNS = ['start', 'center', 'end'] as const;\nconst TABLE_VALIGNS = ['top', 'middle', 'bottom', 'baseline'] as const;\nconst TABLE_SORTS = ['none', 'ascending', 'descending', 'other'] as const;\nconst TABLE_COLUMN_SCOPES = ['col', 'colgroup'] as const;\nconst TABLE_ROW_HEADER_SCOPES = ['row', 'rowgroup'] as const;\nconst TABLE_FILTER_AS_VALUES = ['div', 'form'] as const;\n\nconst tableSchema = {\n layout: oneOf(TABLE_LAYOUTS, 'auto'),\n density: oneOf(TABLE_DENSITIES, 'default'),\n variant: oneOf(TABLE_VARIANTS, 'ghost'),\n border: oneOf(TABLE_BORDERS, 'none'),\n flush: bool,\n zebra: bool,\n hover: bool.default(true),\n stickyHeader: bool,\n nowrap: bool.default(true),\n width: oneOf(TABLE_WIDTHS, 'full'),\n class: string,\n tableClass: string,\n};\n\nconst tableCaptionSchema = {\n side: oneOf(['top', 'bottom'] as const, 'bottom'),\n class: string,\n};\n\nconst tableSectionSchema = {\n class: string,\n};\n\nconst tableRowSchema = {\n selected: bool,\n current: bool,\n disabled: bool,\n interactive: bool,\n class: string,\n};\n\nconst tableColumnSchema = {\n align: oneOf(TABLE_ALIGNS, 'start'),\n valign: oneOf(TABLE_VALIGNS, 'middle'),\n key: string,\n target: string,\n width: string,\n resizable: bool,\n minWidth: string.default('4rem'),\n maxWidth: string,\n sortable: bool,\n sort: oneOf(TABLE_SORTS, 'none'),\n abbr: string,\n scope: oneOf(TABLE_COLUMN_SCOPES, 'col'),\n class: string,\n contentClass: string,\n resizeHandleClass: string,\n};\n\nconst tableColumnFilterSchema = {\n as: oneOf(TABLE_FILTER_AS_VALUES, 'div'),\n id: string,\n class: string,\n};\n\nconst tableRowHeaderSchema = {\n align: oneOf(TABLE_ALIGNS, 'start'),\n valign: oneOf(TABLE_VALIGNS, 'middle'),\n scope: oneOf(TABLE_ROW_HEADER_SCOPES, 'row'),\n class: string,\n};\n\nconst tableCellSchema = {\n align: oneOf(TABLE_ALIGNS, 'start'),\n valign: oneOf(TABLE_VALIGNS, 'middle'),\n class: string,\n};\n\nconst tableEmptySchema = {\n colspan: string.default('1'),\n class: string,\n cellClass: string,\n};\n\ntype TableLayout = typeof TABLE_LAYOUTS[number];\ntype TableDensity = typeof TABLE_DENSITIES[number];\ntype TableVariant = typeof TABLE_VARIANTS[number];\ntype TableBorder = typeof TABLE_BORDERS[number];\ntype TableWidth = typeof TABLE_WIDTHS[number];\ntype TableAlign = typeof TABLE_ALIGNS[number];\ntype TableValign = typeof TABLE_VALIGNS[number];\ntype TableSort = typeof TABLE_SORTS[number];\ntype TableColumnScope = typeof TABLE_COLUMN_SCOPES[number];\ntype TableRowHeaderScope = typeof TABLE_ROW_HEADER_SCOPES[number];\ntype TableFilterAs = typeof TABLE_FILTER_AS_VALUES[number];\ntype TableProps = SchemaToProps<typeof tableSchema>;\ntype TableCaptionProps = SchemaToProps<typeof tableCaptionSchema>;\ntype TableSectionProps = SchemaToProps<typeof tableSectionSchema>;\ntype TableRowProps = SchemaToProps<typeof tableRowSchema>;\ntype TableColumnProps = SchemaToProps<typeof tableColumnSchema>;\ntype TableColumnFilterProps = SchemaToProps<typeof tableColumnFilterSchema>;\ntype TableRowHeaderProps = SchemaToProps<typeof tableRowHeaderSchema>;\ntype TableCellProps = SchemaToProps<typeof tableCellSchema>;\ntype TableEmptyProps = SchemaToProps<typeof tableEmptySchema>;\n\nexport {\n TABLE_ALIGNS,\n TABLE_BORDERS,\n TABLE_COLUMN_SCOPES,\n TABLE_DENSITIES,\n TABLE_FILTER_AS_VALUES,\n TABLE_LAYOUTS,\n TABLE_ROW_HEADER_SCOPES,\n TABLE_SORTS,\n TABLE_VALIGNS,\n TABLE_VARIANTS,\n TABLE_WIDTHS,\n tableCaptionSchema,\n tableCellSchema,\n tableColumnFilterSchema,\n tableColumnSchema,\n tableEmptySchema,\n tableRowHeaderSchema,\n tableRowSchema,\n tableSchema,\n tableSectionSchema,\n};\nexport type {\n TableAlign,\n TableBorder,\n TableCaptionProps,\n TableCellProps,\n TableColumnFilterProps,\n TableColumnProps,\n TableColumnScope,\n TableDensity,\n TableEmptyProps,\n TableFilterAs,\n TableLayout,\n TableProps,\n TableRowHeaderProps,\n TableRowHeaderScope,\n TableRowProps,\n TableSectionProps,\n TableSort,\n TableValign,\n TableVariant,\n TableWidth,\n};\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 {registerResizableCapability} from '../../capabilities/resizable';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerTable = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerResizableCapability(AlpineInstance);\n\n};\n\nexport {registerTable};\nexport default registerTable;\nexport * from './index';\n"],"mappings":"yGAEA,IAAM,EAAgB,CAAC,OAAQ,OAAO,EAChC,EAAkB,CAAC,UAAW,UAAW,aAAa,EACtD,EAAiB,CAAC,QAAS,SAAS,EACpC,EAAgB,CAAC,OAAQ,MAAO,MAAM,EACtC,EAAe,CAAC,OAAQ,MAAM,EAC9B,EAAe,CAAC,QAAS,SAAU,KAAK,EACxC,EAAgB,CAAC,MAAO,SAAU,SAAU,UAAU,EACtD,EAAc,CAAC,OAAQ,YAAa,aAAc,OAAO,EACzD,EAAsB,CAAC,MAAO,UAAU,EACxC,EAA0B,CAAC,MAAO,UAAU,EAC5C,EAAyB,CAAC,MAAO,MAAM,EAEvC,EAAc,CAChB,OAAQ,EAAM,EAAe,MAAM,EACnC,QAAS,EAAM,EAAiB,SAAS,EACzC,QAAS,EAAM,EAAgB,OAAO,EACtC,OAAQ,EAAM,EAAe,MAAM,EACnC,MAAO,EACP,MAAO,EACP,MAAO,EAAK,QAAQ,EAAI,EACxB,aAAc,EACd,OAAQ,EAAK,QAAQ,EAAI,EACzB,MAAO,EAAM,EAAc,MAAM,EACjC,MAAO,EACP,WAAY,CAChB,EAEM,EAAqB,CACvB,KAAM,EAAM,CAAC,MAAO,QAAQ,EAAY,QAAQ,EAChD,MAAO,CACX,EAEM,EAAqB,CACvB,MAAO,CACX,EAEM,EAAiB,CACnB,SAAU,EACV,QAAS,EACT,SAAU,EACV,YAAa,EACb,MAAO,CACX,EAEM,EAAoB,CACtB,MAAO,EAAM,EAAc,OAAO,EAClC,OAAQ,EAAM,EAAe,QAAQ,EACrC,IAAK,EACL,OAAQ,EACR,MAAO,EACP,UAAW,EACX,SAAU,EAAO,QAAQ,MAAM,EAC/B,SAAU,EACV,SAAU,EACV,KAAM,EAAM,EAAa,MAAM,EAC/B,KAAM,EACN,MAAO,EAAM,EAAqB,KAAK,EACvC,MAAO,EACP,aAAc,EACd,kBAAmB,CACvB,EAEM,EAA0B,CAC5B,GAAI,EAAM,EAAwB,KAAK,EACvC,GAAI,EACJ,MAAO,CACX,EAEM,EAAuB,CACzB,MAAO,EAAM,EAAc,OAAO,EAClC,OAAQ,EAAM,EAAe,QAAQ,EACrC,MAAO,EAAM,EAAyB,KAAK,EAC3C,MAAO,CACX,EAEM,EAAkB,CACpB,MAAO,EAAM,EAAc,OAAO,EAClC,OAAQ,EAAM,EAAe,QAAQ,EACrC,MAAO,CACX,EAEM,EAAmB,CACrB,QAAS,EAAO,QAAQ,GAAG,EAC3B,MAAO,EACP,UAAW,CACf,EClFM,EAAa,IAAI,QAEjB,EAAiB,GAAqC,CACpD,EAAW,IAAI,CAAc,IACjC,EAAW,IAAI,CAAc,EAC7B,EAA4B,CAAc,EAE9C"}
@@ -1,2 +0,0 @@
1
- import{d as e}from"./ui-egQWc4ws.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 ee}from"./alpine-machine-BS13dbK4.js";import{t as p}from"./alpine-data-CytyCyfk.js";import{t as m}from"./anchored-popover-BXEMsLrA.js";import{n as h,t as g}from"./styles-TfvwVPGw.js";import{t as te}from"./merge-bindings-C8ewA_FD.js";import{t as ne}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 ie,n as ae,r as oe,t as se}from"./form-control-BkVb2Qed.js";import{o as ce}from"./focus-scope-DtaPVNl5.js";import{t as le}from"./semantic-observer-BUswpsNx.js";import{n as y,t as b}from"./scroll-lock-DOw7dmi1.js";import{D as x,S,T as C,a as w,b as T,d as ue,f as E,g as D,i as O,m as de,n as k,o as A,p as fe,r as j,s as pe,t as me,u as M,w as N,x as P}from"./common-fH2NGblC.js";var F=e=>e.trim().toLowerCase(),he=e=>{if(e)try{return JSON.parse(e)}catch{return}},ge=(e,t)=>{if(!(!t||e==null))return t.split(`.`).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)},_e=g({definition:{component:`ui.badge`,parts:{root:{base:[`inline-flex min-w-0 shrink-0 select-none items-center justify-center gap-1 whitespace-nowrap font-badge outline-none`,`data-disabled:pointer-events-none`],variants:{variant:{soft:``,surface:``,outline:``,solid:``},color:{neutral:``,accent:``,success:``,warning:``,danger:``},size:{xs:`min-h-control-xs px-badge-padding-xs text-badge-xs [font-weight:var(--font-weight-badge-xs)]`,sm:`min-h-control-sm px-badge-padding-sm text-badge-sm [font-weight:var(--font-weight-badge-sm)]`,md:`min-h-control-md px-badge-padding-md text-badge-md [font-weight:var(--font-weight-badge-md)]`,lg:`min-h-control-lg px-badge-padding-lg text-badge-lg [font-weight:var(--font-weight-badge-lg)]`,xlg:`min-h-control-xlg px-badge-padding-xlg text-badge-xlg [font-weight:var(--font-weight-badge-xlg)]`},radius:w,insetLeft:{true:``,false:``},insetRight:{true:``,false:``},insetTop:{true:`-mt-1`,false:``},insetBottom:{true:`-mb-1`,false:``}},compounds:[{when:{insetLeft:!0,size:`xs`},class:`-ml-1.5`},{when:{insetLeft:!0,size:`sm`},class:`-ml-2`},{when:{insetLeft:!0,size:`md`},class:`-ml-2.5`},{when:{insetRight:!0,size:`xs`},class:`-mr-1.5`},{when:{insetRight:!0,size:`sm`},class:`-mr-2`},{when:{insetRight:!0,size:`md`},class:`-mr-2.5`}],defaults:{variant:`soft`,color:`neutral`,size:`sm`,radius:`sm`,insetLeft:!1,insetRight:!1,insetTop:!1,insetBottom:!1}},label:{base:`contents`},icon:{base:`shrink-0 fill-current text-current`,variants:{size:{xs:`size-icon-xs`,sm:`size-icon-xs`,md:`size-icon-sm`,lg:`size-icon-sm`,xlg:`size-icon`},position:{leading:``,trailing:``}},defaults:{size:`sm`,position:`leading`}},close:{base:[`-mr-1 inline-flex shrink-0 items-center justify-center rounded-full text-current outline-none`,`data-disabled:pointer-events-none`],variants:{size:{xs:`size-badge-close-xs`,sm:`size-badge-close-sm`,md:`size-badge-close-md`,lg:`size-badge-close-lg`,xlg:`size-badge-close-xlg`}},defaults:{size:`sm`}},closeIcon:{base:`size-icon-xs shrink-0 fill-current text-current`}}}}),I=[`soft`,`surface`,`outline`,`solid`],L=[`neutral`,`accent`,`success`,`warning`,`danger`],ve=A,R=[`span`,`button`],z=k,B=D,V=j;i(I,`soft`),i(L,`neutral`),i(ve,`sm`),i(V,`sm`),i(R,`span`),i(z,`button`),i(B,`mini`),i(z,`button`),r.default(`close`),i(B,`mini`),i(ve,`sm`),r.default(`Remove`);var ye=[`listbox`,`combobox`,`pillbox`,`native`],be=pe,xe=A,Se=j,Ce=C,H=me,we=D,Te=[`stay`,`close`],Ee=[`check`,`checkbox`,`none`],De=x,Oe=M,U={name:r,optionsId:r,value:r,values:o.array([]),placeholder:r,mode:i(ye,`listbox`),multiple:a,searchable:a,virtualized:a,optionsFetchUrl:r,optionsTotalItems:n.min(0).default(0),optionItemSize:n.min(2**-52).default(36),optionBufferSize:n.min(1).default(50),optionOverscan:n.min(0).default(0),optionSearchParam:r.default(`q`),optionSearchDebounce:n.min(0).default(150),selectedLabelMap:o.object({}),creatable:a,filter:a.default(!0),clearable:a,clear:i(Te,`stay`),suffix:r.default(`selected`),mark:i(Ee,`check`),open:a,disabled:a,readonly:a,required:a,invalid:a,autoHighlight:a.default(!0),loop:a.default(!0),path:r,size:i(xe,`lg`),variant:i(be,`outline`),radius:i(Se,`md`),surface:i(De,`+2`),elevation:i(Oe,`3`),side:i(Ce,`bottom`),align:i(H,`start`),offset:n.clamp(-100,100).default(0),gap:n.clamp(0,50).default(4),empty:r.default(`No results found.`),icon:r,iconTrailing:r.default(`chevron__down`),iconVariant:i(we,`outline`),buttonClass:r,inputClass:r,listboxClass:r,optionClass:r,chipVariant:i(I,`soft`),chipColor:i(L,`neutral`),chipClass:r,class:r};i(we,`outline`),n.clamp(0,100).default(0);var ke=[f({name:`opening`,state:`disclosure.opening`,project:()=>({}),onDone:`OPENING_DONE`,onError:`OPENING_ERROR`,sends:{close:()=>({type:`CLOSE`})}}),f({name:`closing`,state:`disclosure.closing`,project:()=>({}),onDone:`CLOSING_DONE`,onError:`CLOSING_ERROR`,sends:{open:()=>({type:`OPEN`})}}),f({name:`searching`,state:`feature.searching`,project:e=>({query:e.context.search.query,optionsId:e.context.search.optionsId}),onDone:`SEARCHING_DONE`,onError:`SEARCHING_ERROR`,sends:{search:e=>({type:`SEARCH`,query:e}),close:()=>({type:`CLOSE`})}}),f({name:`creating`,state:`feature.creating`,project:e=>({query:e.context.search.query,value:e.context.creation.value}),onDone:`CREATING_DONE`,onError:`CREATING_ERROR`,sends:{close:()=>({type:`CLOSE`})}})],W=e=>_(e)?.props??null,Ae=e=>e.disabled||e.readonly,je=({event:e})=>{let t=W(e);return!t||Ae(t)||!t.open?!1:v(e,`open`,`disabled`,`readonly`)},G=({event:e})=>{let t=W(e);return t?v(e,`open`)&&!t.open||v(e,`disabled`)&&t.disabled||v(e,`readonly`)&&t.readonly:!1},Me=({event:e})=>{let t=W(e);return!!(t&&(v(e,`disabled`)&&t.disabled||v(e,`readonly`)&&t.readonly||v(e,`searchable`)&&!t.searchable))},Ne=e=>!Array.isArray(e.values)||!Array.isArray(e.labels)?null:{values:e.values.filter(e=>typeof e==`string`),labels:e.labels.filter(e=>typeof e==`string`)},Pe=({props:e,context:t,effects:n})=>ne({type:`parallel`,states:{disclosure:{initial:`closed`,states:{closed:{tags:[`closed`],on:{OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},SEARCH:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:{target:`opening`,guard:je,effects:`prepareOpen`}}},opening:{tags:[`visible`,`expanded`,`interactive`,`transitioning`],on:{OPENING_DONE:{target:`open`,effects:`finishOpen`},OPENING_ERROR:{target:`open`,effects:`finishOpen`},CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},CREATE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:`single`,effects:`prepareClose`},CLEAR:{target:`closing`,guard:`clearCloses`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:G,effects:`prepareClose`}}},open:{tags:[`visible`,`expanded`,`interactive`,`open`],on:{CLOSE:{target:`closing`,effects:`prepareClose`},TOGGLE:{target:`closing`,effects:`prepareClose`},CREATE:{target:`closing`,effects:`prepareClose`},SELECT:{target:`closing`,guard:`single`,effects:`prepareClose`},CLEAR:{target:`closing`,guard:`clearCloses`,effects:`prepareClose`},PROPS_CHANGED:{target:`closing`,guard:G,effects:`prepareClose`}}},closing:{tags:[`visible`,`transitioning`],on:{CLOSING_DONE:{target:`closed`,effects:`finishClose`},CLOSING_ERROR:{target:`closed`,effects:`finishClose`},OPEN:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},TOGGLE:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},SEARCH:{target:`opening`,guard:`canOpen`,effects:`prepareOpen`},PROPS_CHANGED:{target:`opening`,guard:je,effects:`prepareOpen`}}}}},feature:{initial:`idle`,on:{SELECT:{reduce:`replaceSelection`,effects:`commitSelection`},DESELECT:{reduce:`replaceSelection`,effects:`commitSelection`},SELECT_ALL:{reduce:`replaceSelection`,effects:`commitSelection`},RECONCILE_SELECTION:{reduce:`replaceSelection`,effects:`syncActive`},CLEAR:{reduce:`clear`,effects:`commitSelection`},ACTIVE:{reduce:`setActive`,effects:`syncActive`},OPTIONS_CHANGED:{effects:`syncOptions`},CLOSING_DONE:{reduce:`resetTransient`,effects:`syncActive`},CLOSING_ERROR:{reduce:`resetTransient`,effects:`syncActive`}},states:{idle:{on:{CLOSE:{},SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},PROPS_CHANGED:{reduce:`replaceProps`,effects:`syncProps`}}},searching:{tags:[`searching`],on:{SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},CLOSE:{target:`idle`},SEARCHING_DONE:`idle`,SEARCHING_ERROR:`idle`,PROPS_CHANGED:[{target:`idle`,guard:Me,reduce:`replaceProps`,effects:`syncProps`},{reduce:`replaceProps`,effects:`syncProps`}]}},creating:{tags:[`creating`],on:{SEARCH:{target:`searching`,reduce:`setSearch`,effects:`commitSearch`},CREATE:{target:`creating`,reduce:`setCreation`,effects:`prepareCreate`},CLOSE:{target:`idle`},CREATING_DONE:{target:`idle`},CREATING_ERROR:{target:`idle`},PROPS_CHANGED:[{target:`idle`,guard:Me,reduce:`replaceProps`,effects:`syncProps`},{reduce:`replaceProps`,effects:`syncProps`}]}}}}}},{context:t,props:e,reducers:{replaceProps:({event:e})=>{let t=W(e);return t?{props:t}:void 0},replaceSelection:({context:e,event:t})=>{let n=Ne(t);if(n)return{context:{...e,selection:n}}},clear:({context:e})=>({context:{...e,selection:{values:[],labels:[]},search:{...e.search,query:``},navigation:{activeValue:``}}}),setSearch:({context:e,event:t})=>({context:{...e,search:{query:typeof t.query==`string`?t.query:``,optionsId:typeof t.optionsId==`string`?t.optionsId:e.search.optionsId},navigation:{activeValue:typeof t.activeValue==`string`?t.activeValue:e.navigation.activeValue}}}),setActive:({context:e,event:t})=>({context:{...e,navigation:{activeValue:typeof t.value==`string`?t.value:``}}}),setCreation:({context:e,event:t})=>({context:{...e,creation:{value:typeof t.value==`string`?t.value:e.search.query}}}),resetTransient:({context:e})=>({context:{...e,search:{...e.search,query:``},navigation:{activeValue:``},creation:{value:``}}})},guards:{canOpen:({props:e})=>!Ae(e),single:({props:e})=>!e.multiple,clearCloses:({props:e})=>e.clear===`close`},effects:{prepareOpen:n.prepareOpen,finishOpen:n.finishOpen,prepareClose:n.prepareClose,finishClose:n.finishClose,commitSelection:n.commitSelection,commitSearch:n.commitSearch,prepareCreate:n.prepareCreate,syncProps:n.syncProps,syncOptions:n.syncOptions,syncActive:n.syncActive}}),Fe=640,Ie=256,Le=520,K=.72,q=12,J=16,Y=720,Re=720,X=({viewportWidth:e,viewportHeight:t,layoutViewportHeight:n,referenceTop:r,referenceBottom:i,touch:a})=>{if(e<=Fe)return`fullscreen`;let o=t<Le||t<n*K;if(a&&o)return`fullscreen`;if(a)return`dialog`;let s=Math.max(0,r),c=Math.max(0,t-i);return Math.max(s,c)<Ie?`dialog`:`anchored`},ze=()=>{let e=window.visualViewport;return e?{width:e.width,height:e.height,offsetTop:e.offsetTop,offsetLeft:e.offsetLeft}:{width:window.innerWidth,height:window.innerHeight,offsetTop:0,offsetLeft:0}},Be=()=>window.matchMedia?.(`(any-pointer: coarse)`).matches===!0||navigator.maxTouchPoints>0,Ve=e=>{let t=m(e),n=!1,r=`anchored`,i=!1,a=null,o=()=>e.floating(),s=e=>{e!==i&&(i=e,e?b():y())},c=e=>{e.style.removeProperty(`border-radius`),e.style.removeProperty(`height`),e.style.removeProperty(`inset`),e.style.removeProperty(`max-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`position`),e.style.removeProperty(`transform-origin`),e.style.removeProperty(`width`)},l=(e,t)=>{let n=ze(),r=t===`dialog`?J:q,i=t===`dialog`?Y:1/0,a=t===`dialog`?Re:1/0,o=Math.min(i,Math.max(0,n.width-r*2)),s=Math.min(a,Math.max(0,n.height-r*2)),c=n.offsetLeft+(n.width-o)/2,l=n.offsetTop+(n.height-s)/2;Object.assign(e.style,{borderRadius:`var(--radius-overlay-md)`,position:`fixed`,inset:`${l}px auto auto ${c}px`,width:`${o}px`,height:`${s}px`,maxWidth:`none`,maxHeight:`none`,transformOrigin:`center`})},u=()=>{let t=ze(),n=e.reference().getBoundingClientRect();return X({viewportWidth:t.width,viewportHeight:t.height,layoutViewportHeight:window.innerHeight,referenceTop:n.top-t.offsetTop,referenceBottom:n.bottom-t.offsetTop,touch:Be()})},d=()=>{if(!n)return;let i=o(),a=u();r=a,i.dataset.presentation=a;let d=i.querySelector(`[data-ui-select-sheet-heading]`);if(d&&(d.style.display=a===`anchored`?`none`:`flex`),a===`anchored`){i.removeAttribute(`aria-modal`),i.removeAttribute(`aria-labelledby`),i.removeAttribute(`role`),s(!1),c(i),t.mount();return}t.unmount(),i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-modal`,`true`),i.setAttribute(`aria-labelledby`,e.labelId()),s(!0),l(i,a)},f=()=>{let e=()=>d(),t=window.visualViewport,n=window.matchMedia?.(`(any-pointer: coarse)`);return window.addEventListener(`resize`,e),window.addEventListener(`orientationchange`,e),t?.addEventListener(`resize`,e),t?.addEventListener(`scroll`,e),n?.addEventListener(`change`,e),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`orientationchange`,e),t?.removeEventListener(`resize`,e),t?.removeEventListener(`scroll`,e),n?.removeEventListener(`change`,e)}},ee=()=>{if(!n){n=!0;try{o().showPopover()}catch{}d(),a=f()}},p=()=>{if(n){n=!1,a?.(),a=null,t.unmount(),s(!1);try{o().hidePopover()}catch{}}};return{opened:()=>n,open:ee,close:p,sync:d,destroy:p,presentation:()=>r}},Z=g({definition:{component:`ui.select`,parts:{root:{base:`relative inline-grid w-full min-w-0`},control:{base:de,variants:{size:O,radius:w,variant:{outline:``,filled:``,plain:``},mode:{listbox:``,combobox:``,pillbox:`flex-wrap gap-1 py-0.5`,native:``},empty:{true:``,false:``}},compounds:[{when:{mode:`pillbox`,empty:!1},class:`!pl-1.5`}],defaults:{size:`lg`,variant:`outline`,radius:`md`,mode:`listbox`,empty:!1}},button:{base:[`flex min-w-0 flex-1 items-center gap-2 border-0 bg-transparent p-0 text-left text-inherit outline-none`]},pillboxTrigger:{base:`min-w-16 self-stretch`},value:{base:`min-w-0 flex-1`},placeholder:{base:`min-w-0 flex-1 text-surface-ink-muted`},input:{base:[`w-full min-w-16 flex-1`,E]},search:{base:[`flex min-h-control-xlg shrink-0 items-center gap-2 px-3`,`text-sm`]},searchInput:{base:[`min-w-0 flex-1 text-sm`,E]},sheetHeader:{base:``},sheetHeading:{base:`min-w-0 items-center gap-3 px-4 pt-4`},sheetTitle:{base:`min-w-0 flex-1 truncate text-base font-medium`},sheetClose:{base:[`inline-flex size-control-md shrink-0 items-center justify-center rounded-control-sm border-0 bg-transparent`,`text-surface-ink-muted outline-none focus-visible:ui-focus-ring`]},chips:{base:`flex min-w-0 flex-wrap items-center gap-1`},chip:{base:[`max-w-64`]},chipLabel:{base:`block min-w-0 flex-1 truncate`},chipRemove:{base:``},icon:{base:`size-icon shrink-0 fill-current text-surface-ink-muted`,variants:{position:{leading:``,trailing:``}},defaults:{position:`leading`}},action:{base:ue},popover:{base:[N,`overflow-hidden rounded-overlay-sm`]},listbox:{base:`min-h-0 outline-none`},viewport:{base:`min-h-0`},options:{base:`grid auto-rows-min content-start gap-1 p-popover-padding`},virtualOptions:{base:`grid auto-rows-min content-start gap-1 px-popover-padding`},create:{base:`shrink-0 p-popover-padding`},option:{base:[S,`[&:has([data-ui-select-option-label]>*+*)]:h-auto`,`[&:has([data-ui-select-option-label]>*+*)]:items-start`,`[&:has([data-ui-select-option-label]>*+*)]:py-2`]},optionLabel:{base:`min-w-0 flex-1 truncate`},optionMeta:{base:`ml-auto text-current opacity-70`},optionIcon:{base:T,variants:{position:{leading:``,trailing:`ml-auto`}},defaults:{position:`leading`}},optionIndicator:{base:P},group:{base:`grid auto-rows-min content-start gap-1`},label:{base:`px-menu-item-padding-inline py-1`},empty:{base:`px-menu-item-padding-inline py-2 text-sm text-surface-ink-muted`},separatorRoot:{base:`-mx-popover my-popover h-[var(--border-width-edge-separator)]`},separatorRule:{base:`h-[var(--border-width-edge-separator)] w-full border-0`},nativeWrapper:{base:`relative w-full min-w-0`},native:{base:[fe,`appearance-none pe-10`],variants:{size:O,radius:w},defaults:{size:`lg`,radius:`md`}},nativeIcon:{base:`pointer-events-none absolute right-3 top-1/2 size-icon -translate-y-1/2 fill-current text-icon`}}}}),Q=`[data-ui-select-option], [data-ui-select-option-create]`,He=`template[data-ui-select-option-selected-template]`,$=e=>{if(!(e instanceof Element)){e.childNodes.forEach($);return}Array.from(e.attributes).forEach(t=>{let n=t.name;(n===`id`||n===`role`||n===`tabindex`||n.startsWith(`aria-selected`)||n.startsWith(`aria-disabled`)||n.startsWith(`data-ui-select-option`)||n.startsWith(`data-selected`)||n.startsWith(`data-highlighted`)||n.startsWith(`data-disabled`)||n.startsWith(`x-`)||n.startsWith(`@`)||n.startsWith(`:`)||n.startsWith(`on`))&&e.removeAttribute(n)}),e.childNodes.forEach($),e.setAttribute(`x-ignore`,`true`)},Ue=e=>{let t=document.createDocumentFragment();return Array.from(e).forEach(e=>{if(e instanceof HTMLTemplateElement&&e.matches(He))return;let n=e.cloneNode(!0);$(n),t.append(n)}),t},We=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),Ge=()=>{let t=null,n=!1,r=``,i=``,a=``,o=``,f=null,p=null,m=[],g=``,ne=``,_=!1,v=!1,y=null,b=``,x=0,S=0,C=0,w=new Map,T=()=>{if(!t)throw Error(`Select has not been initialized.`);return t},ue=()=>{let e=T().querySelector(`[data-ui-select-control]`);if(!e)throw Error(`Select requires a control element.`);return e},E=()=>{let e=T().querySelector(`[data-ui-select-trigger], [data-ui-select-button], [data-ui-select-input]`);if(!e)throw Error(`Select requires a trigger element.`);return e},D=()=>T().querySelector(`[data-ui-select-input]`),O=()=>T().querySelector(`[data-ui-select-search-input]`),de=()=>{let e=T().querySelector(`[data-ui-select-sheet-title]`);if(!e)throw Error(`Select requires an adaptive picker title.`);return e},k=()=>{let e=T().querySelector(`[data-ui-select-popover]`);if(!e)throw Error(`Select requires a popover element.`);return e},A=()=>{let e=T().querySelector(`[data-ui-select-listbox]`);if(!e)throw Error(`Select requires a listbox element.`);return e},fe=()=>{let e=T().querySelector(`[data-ui-select-options]`);if(!e)throw Error(`Select requires an options element.`);return e},j=()=>T().querySelector(`[data-ui-select-virtualizer]`),pe=()=>j()?._x_dataStack?.find(e=>typeof e.setUrl==`function`&&typeof e.setTotalItems==`function`)??null,me=()=>T().querySelector(`[data-ui-select-chips]`),M=()=>T().querySelector(`[data-ui-select-hidden-inputs]`),N=()=>K.getCommittedSnapshot().props,P=()=>K.getCommittedSnapshot().context,I=()=>K.hasTag(`expanded`),L=()=>K.hasTag(`visible`),ve=(e,t)=>{let n=e.dataset.label||e.getAttribute(`aria-label`)||``;if(n)return n;if(e.dataset.textValue)return e.dataset.textValue;let r=ge(he(e.dataset.item),t.path);return r==null?(e.querySelector(`[data-ui-select-option-label]`)?.textContent??e.textContent??``).trim():String(r)},R=({props:e,query:t,selectedValues:n})=>{let r=F(t),i=Array.from(T().querySelectorAll(Q)).map((i,o)=>{let s=ve(i,e),l=i.dataset.value||s,u=i.hasAttribute(`data-ui-select-option-create`),d=r!==``&&F(s)===r,f=!e.filter||r===``||F(`${s} ${i.dataset.suffix??``}`).includes(r),ee=Number(i.dataset.minLength??`0`);return{el:i,id:i.id||`${a}-option-${o}`,value:u?i.dataset.value||t:l,label:s,selectedLabel:i.dataset.selectedLabel||s,disabled:c({value:i.dataset.disabled}),selected:n.includes(l),visible:u?t.length>=ee&&!d:f,create:u}});return i.forEach(e=>{e.create||w.set(e.value,e.selectedLabel)}),i.some(e=>!e.create&&F(e.label)===r)?i.map(e=>e.create?{...e,visible:!1}:e):i},z=(e=P().search.query)=>R({props:N(),query:e,selectedValues:P().selection.values}),B=(e=P().search.query)=>z(e).filter(e=>e.visible&&!e.disabled&&!e.create),V=(e,t=N())=>{let n=Array.from(new Set(e.filter(Boolean))),r=t.multiple?n:n.slice(0,1),i=R({props:t,query:``,selectedValues:r});return{values:r,labels:r.map(e=>i.find(t=>t.value===e)?.selectedLabel??w.get(e)??(typeof t.selectedLabelMap[e]==`string`?t.selectedLabelMap[e]:void 0)??e)}},ye=e=>e.multiple?Array.from(new Set([...e.values,...e.value?[e.value]:[]])):e.value?[e.value]:e.values.slice(0,1),be=e=>{let t=ye(e),n=R({props:e,query:``,selectedValues:[]}).filter(e=>c({value:e.el.dataset.selected})).map(e=>e.value);return{selection:V(t.length>0?t:n,e),search:{query:``,optionsId:``},navigation:{activeValue:``},creation:{value:``}}},xe=()=>{let{selection:e}=P(),t=N();return e.values.length===0||t.mode===`pillbox`&&t.multiple?``:t.multiple&&e.values.length>1?`${e.values.length} ${t.suffix}`:e.labels[0]??e.values[0]??``},Se=e=>{let t=e.el.querySelector(He);if(t)return Ue(t.content.childNodes);let n=e.el.querySelector(`[data-ui-select-option-selected-content]`)??e.el.querySelector(`[data-ui-select-option-label]`);if(n)return Ue(n.childNodes);let r=document.createDocumentFragment();return r.append(document.createTextNode(e.selectedLabel)),r},Ce=()=>{let e=N();if(n){let t=P().selection.values;(I()||!e.open||!e.disabled&&!e.readonly)&&s({el:T(),schema:U,key:`open`,value:I()}),s({el:T(),schema:U,key:`value`,value:e.multiple?``:t[0]??``}),s({el:T(),schema:U,key:`values`,value:e.multiple?[...t]:[]})}T().dataset.state=I()?`open`:`closed`,T().dataset.mark=e.mark,ae({el:T(),state:{disabled:e.disabled,required:e.required,invalid:e.invalid},value:`true`})},H=()=>N().mode===`pillbox`&&N().multiple,we=()=>{let e=N(),t=H()&&P().selection.values.length===0,n=ue();n.className=h({part:Z.parts.control,props:{...e,mode:H()?`pillbox`:e.mode===`combobox`?`combobox`:`listbox`,empty:t}}),n.dataset.state=I()?`open`:`closed`,n.dataset.mode=H()?`pillbox`:e.mode,u({el:n,attr:`data-ui-select-pillbox-control`,present:H(),value:``}),u({el:n,attr:`data-empty`,present:t,value:`true`}),ae({el:n,state:{disabled:e.disabled,invalid:e.invalid},value:`true`})},Te=()=>{let e=N(),t=E();t.id||=r,t.dataset.state=I()?`open`:`closed`,t.setAttribute(`aria-haspopup`,`listbox`),t.setAttribute(`aria-expanded`,I()?`true`:`false`),t.setAttribute(`aria-controls`,a),u({el:t,attr:`aria-invalid`,present:e.invalid,value:`true`}),t instanceof HTMLButtonElement&&(t.disabled=e.disabled);let n=xe(),i=T().querySelector(`[data-ui-select-button-value]`),o=T().querySelector(`[data-ui-select-button-placeholder]`);if(i){i.replaceChildren();let e=P().selection.values.length===1&&n?z(``).find(e=>e.value===P().selection.values[0]):void 0;e?i.append(Se(e)):i.textContent=n,i.hidden=n===``}o&&(o.hidden=H()?P().selection.values.length>0:n!==``),T().querySelectorAll(`[data-ui-select-clear], [data-ui-select-button-clear]`).forEach(t=>{t.hidden=e.disabled||!e.clearable||P().selection.values.length===0,t instanceof HTMLButtonElement&&(t.disabled=e.disabled)}),T().querySelectorAll(`[data-ui-select-search-clear]`).forEach(t=>{t.hidden=e.disabled||!P().search.query,t instanceof HTMLButtonElement&&(t.disabled=e.disabled)})},Ee=()=>{let e=N(),t=P(),n=D();n&&(n.id||=i,n.className=h({part:Z.parts.input,className:e.inputClass}),n.value=H()||I()&&_?t.search.query:xe(),n.placeholder=H()&&t.selection.values.length>0?``:e.placeholder,n.setAttribute(`role`,`combobox`),n.setAttribute(`autocomplete`,`off`),n.setAttribute(`aria-autocomplete`,`list`),n.setAttribute(`aria-expanded`,I()?`true`:`false`),n.setAttribute(`aria-controls`,a),oe({input:n,state:{disabled:e.disabled,readonly:e.readonly,required:e.required,nativeRequired:!1,invalid:e.invalid,ariaRequired:e.required}}));let r=O();r&&(r.value=t.search.query,r.disabled=e.disabled,r.readOnly=e.readonly);let o=z().find(e=>e.value===t.navigation.activeValue);[E(),n,r,A()].forEach(e=>{o?.id?e?.setAttribute(`aria-activedescendant`,o.id):e?.removeAttribute(`aria-activedescendant`)})},De=()=>{let e=N(),t=k(),n=A();t.id=`${a}-popover`,t.className=h({part:Z.parts.popover,props:e,className:e.listboxClass}),t.dataset.uiSurface=e.surface,t.dataset.uiElevation=e.elevation,t.setAttribute(`popover`,`manual`),t.dataset.state=I()?`open`:`closed`,t.hidden=!L(),n.id=a,n.setAttribute(`role`,`listbox`),n.tabIndex=-1,n.setAttribute(`aria-labelledby`,E().id),u({el:n,attr:`aria-multiselectable`,present:e.multiple,value:`true`})},Oe=()=>{let e=N(),t=P();T().querySelectorAll(`[data-ui-select-create-query]`).forEach(e=>{e.textContent=t.search.query});let n=z();n.forEach(e=>{e.el.id=e.id,e.el.hidden=!e.visible,e.el.setAttribute(`role`,`option`),e.el.setAttribute(`aria-selected`,e.selected?`true`:`false`),e.create||(e.el.dataset.value=e.value),e.create||(e.el.dataset.label=e.label),u({el:e.el,attr:`data-selected`,present:e.selected,value:`true`}),u({el:e.el,attr:`data-highlighted`,present:e.value===t.navigation.activeValue,value:`true`}),u({el:e.el,attr:`data-disabled`,present:e.disabled,value:`true`}),u({el:e.el,attr:`aria-disabled`,present:e.disabled,value:`true`}),e.el.querySelectorAll(`[data-ui-select-option-indicator]`).forEach(t=>{u({el:t,attr:`data-selected`,present:e.selected,value:`true`})})});let r=T().querySelector(`[data-ui-select-option-empty]`);r&&(r.hidden=e.virtualized&&e.optionsFetchUrl?C!==0:n.some(e=>e.visible&&!e.create))},W=()=>JSON.stringify(Array.from(T().querySelectorAll(Q)).map(e=>({create:e.hasAttribute(`data-ui-select-option-create`),value:e.dataset.value??``,label:e.hasAttribute(`data-ui-select-option-create`)?e.textContent?.trim()??``:e.dataset.label??e.textContent?.trim()??``,disabled:e.dataset.disabled??``,selected:e.dataset.selected??``}))),Ae=()=>{let e=me();if(!e)return;let t=N(),n=P(),r=z(``),i=n.selection.values.map((e,t)=>({value:e,label:n.selection.labels[t]??e,disabled:r.find(t=>t.value===e)?.disabled??!1})),a=JSON.stringify({chips:i,pillbox:H(),disabled:t.disabled,readonly:t.readonly,variant:t.chipVariant,color:t.chipColor,className:t.chipClass});if(a===ne||(ne=a,e.replaceChildren(),e.hidden=!H()||i.length===0,e.hidden))return;let o=h({part:_e.parts.root,props:{variant:t.chipVariant,color:t.chipColor,size:`sm`,radius:`sm`},className:h({part:Z.parts.chip,props:{},className:t.chipClass})}),s=h({part:Z.parts.chipLabel}),c=h({part:_e.parts.close,props:{size:`sm`},className:h({part:Z.parts.chipRemove})});i.forEach(n=>{let r=document.createElement(`span`);r.className=o,r.setAttribute(`data-ui-badge`,``),r.setAttribute(`data-ui-action-recipe`,`badge`),r.setAttribute(`data-ui-select-chip`,``),r.dataset.value=n.value,r.dataset.variant=t.chipVariant,r.dataset.color=t.chipColor,r.dataset.size=`sm`,r.dataset.radius=`sm`;let i=document.createElement(`span`);i.className=s,i.setAttribute(`data-ui-select-chip-label`,``),i.textContent=n.label,r.append(i);let a=document.createElement(`button`);a.type=`button`,a.className=c,a.setAttribute(`data-ui-badge-close`,``),a.setAttribute(`data-ui-select-chip-remove`,``),a.dataset.value=n.value,a.setAttribute(`aria-label`,`Remove ${n.label}`),a.disabled=t.disabled||t.readonly||n.disabled;let l=T().querySelector(`[data-ui-select-chip-remove-icon]`);l?a.append(l.content.cloneNode(!0)):a.textContent=`x`,r.append(a),e.append(r)})},je=()=>{let e=M();if(!e)return;let t=N();g=ie({container:e,state:{name:t.name,required:t.required,values:t.disabled?[]:[...P().selection.values],form:T().dataset.form??``,marker:`data-ui-select-hidden-input`},currentKey:g})},G=()=>{Ce(),we(),Te(),Ee(),De(),Oe(),Ae(),je()},Me=()=>{if(!t||!K.hasTag(`interactive`))return;let e=N();f?.presentation()===`anchored`?e.mode===`combobox`?D()?.focus({preventScroll:!0}):(e.searchable||H())&&O()?O()?.focus({preventScroll:!0}):E().focus({preventScroll:!0}):(O()??T().querySelector(`[data-ui-select-sheet-close]`)??A()).focus({preventScroll:!0})},Ne=()=>{let e=P(),t=V(e.selection.values);We(t.labels,e.selection.labels)||K.send({type:`RECONCILE_SELECTION`,...t});let n=B();e.navigation.activeValue&&!n.some(t=>t.value===e.navigation.activeValue)&&K.send({type:`ACTIVE`,value:N().autoHighlight?n[0]?.value??``:``}),G()},Fe=e=>{let t=(Array.isArray(e.changes)?e.changes:[]).flatMap(e=>e&&typeof e==`object`&&`key`in e?[String(e.key)]:[]);if(t.some(e=>e===`value`||e===`values`||e===`multiple`||e===`selectedLabelMap`)){let e=V(ye(N()));K.send({type:`RECONCILE_SELECTION`,...e})}t.includes(`optionsTotalItems`)&&(C=N().optionsTotalItems,pe()?.setTotalItems(C)),G()},Ie=e=>{let t=N(),n=new URL(t.optionsFetchUrl,document.baseURI);return e?n.searchParams.set(t.optionSearchParam,e):n.searchParams.delete(t.optionSearchParam),/^[a-z][a-z\d+.-]*:/i.test(t.optionsFetchUrl)||t.optionsFetchUrl.startsWith(`//`)?n.href:`${n.pathname}${n.search}${n.hash}`},Le=()=>{window.clearTimeout(S);let e=N();!e.virtualized||!e.optionsFetchUrl||!e.searchable&&e.mode!==`combobox`||(S=window.setTimeout(()=>{let t=pe();t&&(t.setUrl(Ie(P().search.query),{reset:!0}),C===0&&e.optionsTotalItems>0&&(C=e.optionsTotalItems,t.setTotalItems(C)))},e.optionSearchDebounce))},K=ee({schema:U,hooks:ke,createMachine:({props:t})=>Pe({props:t,context:be(t),effects:{prepareOpen:()=>{v=!1,f?.open(),G(),queueMicrotask(Me)},finishOpen:()=>{G(),l({el:T(),name:`ui:open`})},prepareClose:({event:e})=>{_=!1,v=e.restoreFocus===!0||e.type===`SELECT`||e.type===`CREATE`,v&&E().focus({preventScroll:!0}),G()},finishClose:()=>{f?.close(),G(),v&&E().focus({preventScroll:!0}),v=!1,l({el:T(),name:`ui:close`})},commitSelection:({event:t})=>{G(),e(T(),`data-value`,`data-values`),se({container:M(),fallback:T(),marker:`data-ui-select-hidden-input`});let{selection:n}=P();t.type===`CLEAR`&&l({el:T(),name:`ui:clear`}),l({el:T(),name:`ui:change`,detail:{value:n.values[0]??``,values:[...n.values],label:n.labels[0]??``,labels:[...n.labels],option:y}}),y=null},commitSearch:()=>{G(),l({el:T(),name:`ui:search`,detail:{search:P().search.query}}),Le()},prepareCreate:({event:e})=>{G(),l({el:T(),name:`ui:create`,detail:{search:P().search.query,value:P().creation.value,modal:typeof e.modal==`string`?e.modal:``}})},syncProps:({event:e})=>Fe(e),syncOptions:Ne,syncActive:G}})}),q=(e,t)=>K.send({type:e,...t}),J=(e,t)=>{t?.preventDefault();let n=N();if(!(n.disabled||n.readonly||e.disabled)){if(e.create){K.send({type:`CREATE`,value:e.value||P().search.query,modal:e.el.dataset.modal??``});return}y=e.el,_=!1,q(`SELECT`,V(n.multiple?P().selection.values.includes(e.value)?P().selection.values.filter(t=>t!==e.value):[...P().selection.values,e.value]:[e.value]))}},Y=e=>{if(e===P().navigation.activeValue)return;K.send({type:`ACTIVE`,value:e});let t=z().find(t=>t.value===e);l({el:T(),name:`ui:highlight`,detail:{value:e,option:t?.el??null}})},Re=e=>{let t=B();if(t.length===0)return;let n=t.findIndex(e=>e.value===P().navigation.activeValue),r=n<0?e>0?0:t.length-1:n+e;r>=t.length&&(r=N().loop?0:t.length-1),r<0&&(r=N().loop?t.length-1:0),Y(t[r]?.value??``)},X=e=>{let t=N();if(t.disabled||t.readonly)return;_=!0;let n=t.autoHighlight?B(e)[0]?.value??``:``;K.send({type:`SEARCH`,query:e,optionsId:o,activeValue:n})},ze=e=>{if(e.key===`Tab`&&f?.presentation()!==`anchored`){ce(e,k());return}let t=e.target instanceof HTMLInputElement;if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),I()||K.send({type:`OPEN`}),Re(e.key===`ArrowDown`?1:-1);return}if(!t&&I()&&(e.key===`Home`||e.key===`End`)){e.preventDefault();let t=B();Y(e.key===`Home`?t[0]?.value??``:t.at(-1)?.value??``);return}if(I()&&(e.key===`Enter`||!t&&e.key===` `)){let t=z().find(e=>e.value===P().navigation.activeValue);t&&J(t,e);return}if((e.key===`Backspace`||e.key===`Delete`)&&H()&&!P().search.query){let t=D();if(t&&(t.selectionStart!==0||t.selectionEnd!==0))return;let n=[...P().selection.values].reverse().find(e=>!z(``).find(t=>t.value===e)?.disabled);n&&(e.preventDefault(),$.deselect(n,e));return}if(e.key===`Escape`&&L()){e.preventDefault(),e.stopPropagation(),K.send({type:`CLOSE`,restoreFocus:!0});return}if(!t&&!N().searchable&&e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey){b+=e.key.toLowerCase(),window.clearTimeout(x),x=window.setTimeout(()=>{b=``},500);let t=B().find(e=>F(e.label).startsWith(b));t&&Y(t.value)}},Be=()=>{let e=T(),t=(e,t)=>t.closest(`[data-ui-select-trigger], [data-ui-select-icon="trailing"], [data-ui-select-control]`)?(e.preventDefault(),E().focus({preventScroll:!0}),E()instanceof HTMLInputElement?I()||K.send({type:`OPEN`}):$.toggle(e),!0):!1;d({target:e,event:`click`,cleanup:m,handler:e=>{let n=e.target;if(!(n instanceof Element))return;if(n.closest(`[data-ui-select-sheet-close]`)){$.close(e);return}if(n.closest(`[data-ui-select-search-clear]`)){e.preventDefault(),X(``);return}if(n.closest(`[data-ui-select-clear], [data-ui-select-button-clear]`)){$.clear(e);return}let r=n.closest(`[data-ui-select-chip-remove]`);if(r){$.deselect(r.dataset.value??``,e);return}let i=n.closest(Q);if(i){let t=z().find(e=>e.el===i);t&&J(t,e);return}(!(e instanceof MouseEvent)||e.detail===0)&&t(e,n)}}),d({target:e,event:`input`,cleanup:m,handler:e=>{let t=e.target;t instanceof HTMLInputElement&&t.matches(`[data-ui-select-input], [data-ui-select-search-input]`)&&X(t.value)}}),d({target:e,event:`keydown`,cleanup:m,handler:e=>{e instanceof KeyboardEvent&&ze(e)}}),d({target:e,event:`pointerdown`,cleanup:m,handler:e=>{let n=e.target;if(n instanceof Element){if(n.closest(Q)||n.closest(`[data-ui-select-search-clear]`)||n.closest(`[data-ui-select-clear], [data-ui-select-button-clear], [data-ui-select-chip-remove]`)){e.preventDefault();return}t(e,n)}}}),d({target:e,event:`pointerover`,cleanup:m,handler:e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Q),r=n?z().find(e=>e.el===n):void 0;r&&r.visible&&!r.disabled&&Y(r.value)}}),d({target:e,event:`focusout`,cleanup:m,handler:t=>{if(!(t instanceof FocusEvent))return;let n=t.relatedTarget;n instanceof Node&&e.contains(n)||L()&&K.send({type:`CLOSE`})}}),d({target:e,event:`ui:virtualizer-total-change`,cleanup:m,handler:e=>{if(!(e instanceof CustomEvent)||!j()?.contains(e.target))return;let t=Number(e.detail?.totalItems);Number.isFinite(t)&&t>=0&&(C=Math.floor(t)),K.send({type:`OPTIONS_CHANGED`})}}),d({target:e,event:`ui:virtualizer-load`,cleanup:m,handler:e=>{j()?.contains(e.target)&&K.send({type:`OPTIONS_CHANGED`})}}),d({target:k(),event:`toggle`,cleanup:m,handler:e=>{!(`newState`in e)||e.newState!==`closed`||!L()||K.send({type:`CLOSE`})}}),m.push(re({isEnabled:()=>K.hasTag(`interactive`),roots:()=>[T(),k()],onDismiss:()=>K.send({type:`CLOSE`})})),p=le({targets:A(),read:W,onChange:()=>K.send({type:`OPTIONS_CHANGED`}),observer:{childList:!0,subtree:!0}})},$;return $={...K,get isOpen(){return this.snapshot.current?.tags.includes(`expanded`)??!1},get isSearching(){return this.snapshot.current?.tags.includes(`searching`)??!1},get value(){return this.snapshot.current?.context.selection.values[0]??``},get values(){return[...this.snapshot.current?.context.selection.values??[]]},get selectedLabels(){return[...this.snapshot.current?.context.selection.labels??[]]},get search(){return this.snapshot.current?.context.search.query??``},get activeValue(){return this.snapshot.current?.context.navigation.activeValue??``},init(){t=this.$el,r=this.$id(`select-button`),i=this.$id(`select-input`),a=this.$id(`select-listbox`),o=fe().id||T().dataset.optionsId||this.$id(`select-options`),fe().id=o,K.connect(this.$el,this.snapshot),C=N().optionsTotalItems,de().id||=`${a}-title`,f=Ve({reference:ue,floating:k,labelId:()=>de().id,position:()=>N().side,align:()=>N().align,gap:()=>N().gap,offset:()=>N().offset,matchReferenceWidth:!0}),Be(),G(),n=!0,N().open&&!N().disabled&&!N().readonly&&queueMicrotask(()=>K.send({type:`OPEN`}))},destroy(){window.clearTimeout(x),window.clearTimeout(S),p?.(),p=null,m.forEach(e=>e()),m=[],f?.destroy(),f=null,K.disconnect(),t=null},get root(){let e=this.snapshot.current?.props??N();return te({inputs:[h({part:Z.parts.root,props:e,className:e.class}),{"data-ui-select":``,":data-state":()=>K.hasTag(`expanded`)?`open`:`closed`}]})},open(e){e?.preventDefault(),!(N().disabled||N().readonly)&&K.send({type:`OPEN`})},close(e){e?.preventDefault(),K.send({type:`CLOSE`,restoreFocus:e instanceof KeyboardEvent})},toggle(e){e?.preventDefault(),!(N().disabled||N().readonly)&&K.send({type:`TOGGLE`})},select(e,t){let n=z(``).find(t=>!t.create&&t.value===e);n&&J(n,t)},deselect(e,t){t?.preventDefault(),!(N().disabled||N().readonly)&&(z(``).find(t=>t.value===e)?.disabled||q(`DESELECT`,V(P().selection.values.filter(t=>t!==e))))},selectAll(e){if(e?.preventDefault(),!N().multiple||N().disabled||N().readonly)return;let t=B();q(`SELECT_ALL`,{values:t.map(e=>e.value),labels:t.map(e=>e.selectedLabel)})},clear(e){if(e?.preventDefault(),e?.stopPropagation(),N().disabled||N().readonly)return;_=!1;let t=P().search.query!==``;K.send({type:`CLEAR`}),t&&Le()},setSearch:X},$},Ke=p(`UiSelect`,Ge),qe=new WeakSet,Je=e=>{qe.has(e)||(qe.add(e),t(e),Ke(e))};export{Ge as n,Je as t};
2
- //# sourceMappingURL=entry.generated-vM-5KVaL.js.map