@vireo-ai/trellis-ui 0.1.54 → 0.1.56

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 (239) hide show
  1. package/README.md +1 -23
  2. package/package.json +23 -22
  3. package/packages/client/types/components/badge/contract.d.ts +1 -1
  4. package/packages/client/types/components/box/contract.d.ts +3 -3
  5. package/packages/client/types/components/button/contract.d.ts +1 -1
  6. package/packages/client/types/components/container/contract.d.ts +3 -3
  7. package/packages/client/types/components/date-picker/contract.d.ts +2 -2
  8. package/packages/client/types/components/date-picker/machine.d.ts +2 -2
  9. package/packages/client/types/components/flex/contract.d.ts +3 -3
  10. package/packages/client/types/components/frame/contract.d.ts +3 -3
  11. package/packages/client/types/components/grid/contract.d.ts +3 -3
  12. package/packages/client/types/components/input/contract.d.ts +2 -2
  13. package/packages/client/types/components/layout.d.ts +3 -3
  14. package/packages/client/types/components/modal/contract.d.ts +3 -2
  15. package/packages/client/types/components/modal/index.d.ts +1 -1
  16. package/packages/client/types/components/section/contract.d.ts +3 -3
  17. package/packages/client/types/components/select/contract.d.ts +1 -1
  18. package/packages/client/types/components/select/machine.d.ts +2 -2
  19. package/packages/client/types/components/stack/contract.d.ts +3 -3
  20. package/packages/client/types/components/table/contract.d.ts +1 -1
  21. package/packages/client/types/components/textarea/contract.d.ts +1 -1
  22. package/packages/client/types/runtime/focus-scope.d.ts +5 -6
  23. package/packages/client/types/runtime/focus.d.ts +9 -0
  24. package/packages/client/types/runtime/index.d.ts +2 -1
  25. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +413 -1077
  26. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +2 -2
  27. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
  28. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +828 -783
  29. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  30. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +1 -1
  31. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js.map +1 -1
  32. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +1 -1
  33. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  34. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-data-Dvc_bXq6.js.map +1 -1
  35. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-9HwatUrm.js → alpine-machine-CE2UN4Qu.js} +2 -2
  36. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-9HwatUrm.js.map → alpine-machine-CE2UN4Qu.js.map} +1 -1
  37. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js +2 -0
  38. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js.map +1 -0
  39. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js +2 -0
  40. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{bridge-TcE7HSvq.js.map → bridge-DMrvM3JE.js.map} +1 -1
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-B-msaaMx.js +2 -0
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-B-msaaMx.js.map +1 -0
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B7n3PcSH.js +2 -0
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B7n3PcSH.js.map +1 -0
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js +2 -0
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js.map +1 -0
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js +2 -0
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js.map +1 -0
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BgPVyFfh.js +5 -0
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BgPVyFfh.js.map +1 -0
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cleanup-manager-D9QiZF_Q.js.map +1 -1
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{codecs-Cb1ns_47.js → codecs-CQ7olTJL.js} +2 -2
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{codecs-Cb1ns_47.js.map → codecs-CQ7olTJL.js.map} +1 -1
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js +2 -0
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js.map +1 -0
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controlled-open-Hy4-OT-6.js.map +1 -1
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-CzqwFGEd.js → controller-CalXJ5hB.js} +2 -2
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-CzqwFGEd.js.map → controller-CalXJ5hB.js.map} +1 -1
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-CYvnO__o.js +2 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-CogF8tNb.js.map → core-CYvnO__o.js.map} +1 -1
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js +2 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js.map +1 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js.map +1 -1
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dom-DiTFTWeR.js.map +1 -1
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-DrqJDAVH.js +6 -0
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-DrqJDAVH.js.map +1 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B4lDxzh9.js +2 -0
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CfkH92RS.js.map → entry.generated-B4lDxzh9.js.map} +1 -1
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js.map +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CmvKWs0J.js → entry.generated-BLduYCHm.js} +2 -2
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CmvKWs0J.js.map → entry.generated-BLduYCHm.js.map} +1 -1
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-dkzHCN26.js → entry.generated-BQNpmLZO.js} +2 -2
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js.map +1 -0
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BXvp4vUv.js +2 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BXvp4vUv.js.map +1 -0
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BlsLkwW8.js +2 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BlsLkwW8.js.map +1 -0
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js +2 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DTRN8-Ks.js.map → entry.generated-BnqcHAaF.js.map} +1 -1
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CnY5J5bD.js → entry.generated-C3y5qBcc.js} +2 -2
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CnY5J5bD.js.map → entry.generated-C3y5qBcc.js.map} +1 -1
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-QV-az1in.js → entry.generated-CC-C5gQn.js} +2 -2
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-QV-az1in.js.map → entry.generated-CC-C5gQn.js.map} +1 -1
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3hMqvMn.js → entry.generated-CC6pQ0nu.js} +2 -2
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3hMqvMn.js.map → entry.generated-CC6pQ0nu.js.map} +1 -1
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CheA8dXD.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CheA8dXD.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CwuIK_Zx.js +2 -0
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CwuIK_Zx.js.map +1 -0
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D-2vjhTV.js +2 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D-2vjhTV.js.map +1 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C-4OkQdv.js → entry.generated-DDJEGHq-.js} +2 -2
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js.map +1 -0
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSWnCzSX.js +2 -0
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DSWnCzSX.js.map +1 -0
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DaC7gw-h.js +2 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DaC7gw-h.js.map +1 -0
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bqy0wCWo.js → entry.generated-DaXIKPN9.js} +2 -2
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bqy0wCWo.js.map → entry.generated-DaXIKPN9.js.map} +1 -1
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dcm3s3ey.js +2 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CuZffmX3.js.map → entry.generated-Dcm3s3ey.js.map} +1 -1
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dfm1775-.js +2 -0
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BOk2j8j3.js.map → entry.generated-Dfm1775-.js.map} +1 -1
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DuY9bHje.js +2 -0
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DuY9bHje.js.map +1 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Da6pELhK.js → entry.generated-O0hEhk-2.js} +2 -2
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Da6pELhK.js.map → entry.generated-O0hEhk-2.js.map} +1 -1
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QFVPoffg.js +2 -0
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QFVPoffg.js.map +1 -0
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-d1MxpnFh.js +2 -0
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-d1MxpnFh.js.map +1 -0
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C-lyYGbo.js → entry.generated-oJwO9fIY.js} +2 -2
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C-lyYGbo.js.map → entry.generated-oJwO9fIY.js.map} +1 -1
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-pfUkaGe1.js +2 -0
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-pfUkaGe1.js.map +1 -0
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js +2 -0
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js.map +1 -0
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BGTjVnQy.js +2 -0
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BGTjVnQy.js.map +1 -0
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-pk_lz9sg.js +2 -0
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-pk_lz9sg.js.map +1 -0
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-BrYxsrhc.js +2 -0
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-BrYxsrhc.js.map +1 -0
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{fragment-BzHC-hAJ.js → fragment-9OT0mn7F.js} +2 -2
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{fragment-BzHC-hAJ.js.map → fragment-9OT0mn7F.js.map} +1 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js +2 -0
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{machine-DQfpKM3w.js.map → machine-CNnHDbyo.js.map} +1 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{merge-bindings-C8ewA_FD.js → merge-bindings-BtqW3UgP.js} +2 -2
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{merge-bindings-C8ewA_FD.js.map → merge-bindings-BtqW3UgP.js.map} +1 -1
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js.map +1 -1
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-fU4E5Q4w.js +3 -0
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-fU4E5Q4w.js.map +1 -0
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/object-SRW-YaCA.js.map +1 -1
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js +2 -0
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js.map +1 -0
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/props-change-2xfsIAEN.js.map +1 -1
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/semantic-observer-CIoriWtV.js.map +1 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-BstOueoe.js → styles-C9PrQrca.js} +2 -2
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-BstOueoe.js.map → styles-C9PrQrca.js.map} +1 -1
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CX2j92ex.js +2 -0
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-TfvwVPGw.js.map → styles-CX2j92ex.js.map} +1 -1
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-B3f-Nt9P.js +4 -0
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-B3f-Nt9P.js.map +1 -0
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +1 -1
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +1 -1
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +1 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +1 -1
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +355 -338
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +11 -9
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +11 -9
  177. package/packages/client/types/runtime/focus-handoff.d.ts +0 -12
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-CSBqS_MK.js +0 -2
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-CSBqS_MK.js.map +0 -1
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-TcE7HSvq.js +0 -2
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-Z6G-rzr-.js +0 -2
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-Z6G-rzr-.js.map +0 -1
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DAUyPPWa.js +0 -2
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DAUyPPWa.js.map +0 -1
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-BQgJCSHn.js +0 -2
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-BQgJCSHn.js.map +0 -1
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-CGpfLNL-.js +0 -2
  188. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-CGpfLNL-.js.map +0 -1
  189. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BLyIVEh9.js +0 -3
  190. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BLyIVEh9.js.map +0 -1
  191. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js +0 -2
  192. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js.map +0 -1
  193. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-CogF8tNb.js +0 -2
  194. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-B2mQNyzN.js +0 -2
  195. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-B2mQNyzN.js.map +0 -1
  196. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/drag-and-drop-cns3DNcf.js +0 -2
  197. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/drag-and-drop-cns3DNcf.js.map +0 -1
  198. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-CW8suC9A.js +0 -6
  199. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-CW8suC9A.js.map +0 -1
  200. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B1wGmQth.js +0 -2
  201. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B1wGmQth.js.map +0 -1
  202. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BBuJrkhp.js +0 -2
  203. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BBuJrkhp.js.map +0 -1
  204. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BMLdOzZs.js +0 -2
  205. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BMLdOzZs.js.map +0 -1
  206. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BMeqWpPy.js +0 -2
  207. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BMeqWpPy.js.map +0 -1
  208. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BOk2j8j3.js +0 -2
  209. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BhINWOfZ.js +0 -2
  210. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BhINWOfZ.js.map +0 -1
  211. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C-4OkQdv.js.map +0 -1
  212. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfkH92RS.js +0 -2
  213. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CnFggOc8.js +0 -2
  214. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CnFggOc8.js.map +0 -1
  215. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CuZffmX3.js +0 -2
  216. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DTRN8-Ks.js +0 -2
  217. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-De9SwKec.js +0 -2
  218. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-De9SwKec.js.map +0 -1
  219. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-sKnD2JaT.js +0 -2
  220. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-sKnD2JaT.js.map +0 -1
  221. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-x0moHcUM.js +0 -2
  222. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-x0moHcUM.js.map +0 -1
  223. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Bu7BMlbI.js +0 -2
  224. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Bu7BMlbI.js.map +0 -1
  225. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Bxu-sgBm.js +0 -2
  226. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Bxu-sgBm.js.map +0 -1
  227. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-dkzHCN26.js.map +0 -1
  228. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-g1AVE90L.js +0 -2
  229. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-g1AVE90L.js.map +0 -1
  230. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-BE3g0swK.js +0 -2
  231. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-BE3g0swK.js.map +0 -1
  232. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DtaPVNl5.js +0 -2
  233. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DtaPVNl5.js.map +0 -1
  234. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-DQfpKM3w.js +0 -2
  235. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-mw9QhBgu.js +0 -3
  236. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-mw9QhBgu.js.map +0 -1
  237. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-TfvwVPGw.js +0 -2
  238. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BGfrCghL.js +0 -4
  239. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BGfrCghL.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry2.generated-g1AVE90L.js","names":[],"sources":["../../../../../../../../client/src/runtime/composition-breakpoint.ts","../../../../../../../../client/src/components/panels/contract.ts","../../../../../../../../client/src/components/panels/machine.ts","../../../../../../../../client/src/components/panels/styles.ts","../../../../../../../../client/src/components/panels/index.ts","../../../../../../../../client/src/components/panels/entry.generated.ts"],"sourcesContent":["type CompositionBreakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nconst compositionBreakpointPixels = (\n reference: HTMLElement,\n breakpoint: CompositionBreakpoint,\n): number => {\n const value = getComputedStyle(reference).getPropertyValue(`--breakpoint-${breakpoint}`);\n const pixels = Number.parseFloat(value);\n return Number.isFinite(pixels) ? pixels : Number.POSITIVE_INFINITY;\n};\n\nexport {compositionBreakpointPixels};\nexport type {CompositionBreakpoint};\n","import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\n\nconst PANELS_ORIENTATIONS = ['horizontal', 'vertical'] as const;\nconst PANEL_AS_VALUES = ['div', 'section', 'aside', 'main', 'nav'] as const;\nconst PANEL_SIZES = ['1', '2', '3', '4', '5', '6', 'fill'] as const;\nconst PANEL_RESIZE_EDGES = ['none', 'start', 'end'] as const;\nconst PANEL_TOGGLE_ACTIONS = ['toggle', 'expand', 'collapse'] as const;\n\nconst panelsSchema = {\n id: string.default('ui-panels'),\n orientation: oneOf(PANELS_ORIENTATIONS, 'horizontal'),\n persist: bool,\n divider: bool.default(true),\n class: string,\n};\n\nconst panelSchema = {\n id: string,\n as: oneOf(PANEL_AS_VALUES, 'section'),\n size: oneOf(PANEL_SIZES, 'fill'),\n resize: oneOf(PANEL_RESIZE_EDGES, 'none'),\n collapsible: bool,\n defaultCollapsed: bool,\n class: string,\n};\n\nconst panelToggleSchema = {\n target: string,\n action: oneOf(PANEL_TOGGLE_ACTIONS, 'toggle'),\n icon: string.default('menu'),\n label: string.default('Expand'),\n class: string,\n};\n\ntype PanelsOrientation = typeof PANELS_ORIENTATIONS[number];\ntype PanelAs = typeof PANEL_AS_VALUES[number];\ntype PanelSize = typeof PANEL_SIZES[number];\ntype PanelResizeEdge = typeof PANEL_RESIZE_EDGES[number];\ntype PanelToggleAction = typeof PANEL_TOGGLE_ACTIONS[number];\ntype PanelsProps = SchemaToProps<typeof panelsSchema>;\ntype PanelProps = SchemaToProps<typeof panelSchema>;\ntype PanelToggleProps = SchemaToProps<typeof panelToggleSchema>;\n\nexport {\n PANEL_AS_VALUES,\n PANEL_RESIZE_EDGES,\n PANEL_SIZES,\n PANEL_TOGGLE_ACTIONS,\n PANELS_ORIENTATIONS,\n panelSchema,\n panelToggleSchema,\n panelsSchema,\n};\nexport type {\n PanelAs,\n PanelProps,\n PanelResizeEdge,\n PanelSize,\n PanelToggleAction,\n PanelToggleProps,\n PanelsOrientation,\n PanelsProps,\n};\n","import {createMachine, type Machine, type MachineEventObject, type MachineScope} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport type {PanelsProps} from './contract';\n\ntype PanelCollapseCapability =\n | {collapsible: false; defaultCollapsed: false}\n | {collapsible: true; defaultCollapsed: boolean};\n\ntype PanelDescriptor = PanelCollapseCapability & (\n | {id: string; kind: 'fill'}\n | {id: string; kind: 'bounded'; resizable: boolean}\n);\n\ntype PanelsContext = {\n collection: PanelDescriptor[];\n layout: {\n collapsedIds: string[];\n committedSizes: Record<string, number>;\n };\n change: {\n openingIds: string[];\n closingIds: string[];\n };\n resize: {\n activeId: string;\n initialSize: number | null;\n previewSize: number | null;\n };\n sizing: {\n changes: PanelSizingTransitionData[];\n };\n};\n\ntype PanelTransitionData = {panelId: string};\ntype PanelSizingTransitionData = {panelId: string; from: number; to: number; reset?: boolean};\ntype PanelsPersistTransitionData = {\n groupId: string;\n collapsed: string[];\n sizes: Record<string, number>;\n};\n\ntype PanelsMachineEffects = {\n prepareChange(scope: MachineScope<PanelsContext, PanelsProps>): void;\n finishChange(scope: MachineScope<PanelsContext, PanelsProps>): void;\n sync(scope: MachineScope<PanelsContext, PanelsProps>): void;\n beginResize(scope: MachineScope<PanelsContext, PanelsProps>): void;\n previewResize(scope: MachineScope<PanelsContext, PanelsProps>): void;\n commitResize(scope: MachineScope<PanelsContext, PanelsProps>): void;\n cancelResize(scope: MachineScope<PanelsContext, PanelsProps>): void;\n prepareSizing(scope: MachineScope<PanelsContext, PanelsProps>): void;\n finishSizing(scope: MachineScope<PanelsContext, PanelsProps>): void;\n persist(scope: MachineScope<PanelsContext, PanelsProps>): void;\n};\n\ntype CreatePanelsMachineOptions = {\n props: PanelsProps;\n context: PanelsContext;\n effects: PanelsMachineEffects;\n};\n\nconst openingHook = defineHook({\n name: 'opening',\n state: 'changing',\n projectEach: (snapshot) => snapshot.context.change.openingIds.map((panelId) => ({panelId})),\n onDone: 'CHANGE_DONE',\n onError: 'CHANGE_ERROR',\n sends: {\n expand: (panelId: string) => ({type: 'EXPAND', panelId}),\n collapse: (panelId: string) => ({type: 'COLLAPSE', panelId}),\n toggle: (panelId: string) => ({type: 'TOGGLE', panelId}),\n },\n} satisfies TransitionHookDefinition<PanelsContext, PanelsProps, PanelTransitionData, 'opening'>);\n\nconst closingHook = defineHook({\n name: 'closing',\n state: 'changing',\n projectEach: (snapshot) => snapshot.context.change.closingIds.map((panelId) => ({panelId})),\n onDone: 'CHANGE_DONE',\n onError: 'CHANGE_ERROR',\n sends: {\n expand: (panelId: string) => ({type: 'EXPAND', panelId}),\n collapse: (panelId: string) => ({type: 'COLLAPSE', panelId}),\n toggle: (panelId: string) => ({type: 'TOGGLE', panelId}),\n },\n} satisfies TransitionHookDefinition<PanelsContext, PanelsProps, PanelTransitionData, 'closing'>);\n\nconst sizingHook = defineHook({\n name: 'sizing',\n state: 'sizing',\n projectEach: (snapshot) => snapshot.context.sizing.changes,\n onDone: 'SIZE_DONE',\n onError: 'SIZE_ERROR',\n} satisfies TransitionHookDefinition<PanelsContext, PanelsProps, PanelSizingTransitionData, 'sizing'>);\n\nconst persistingHook = defineHook({\n name: 'persisting',\n state: 'persisting',\n project: (snapshot) => ({\n groupId: snapshot.props.id,\n collapsed: [...snapshot.context.layout.collapsedIds],\n sizes: {...snapshot.context.layout.committedSizes},\n }),\n onDone: 'PERSIST_DONE',\n onError: 'PERSIST_ERROR',\n} satisfies TransitionHookDefinition<PanelsContext, PanelsProps, PanelsPersistTransitionData, 'persisting'>);\n\nconst panelsHooks = [openingHook, closingHook, sizingHook, persistingHook] as const;\n\nconst strings = (value: unknown): string[] => Array.isArray(value)\n ? value.filter((item): item is string => typeof item === 'string')\n : [];\nconst panelId = (event: MachineEventObject): string => typeof event.panelId === 'string' ? event.panelId : '';\nconst finiteSize = (value: unknown): number | null => typeof value === 'number' && Number.isFinite(value) ? value : null;\nconst sizingChanges = (event: MachineEventObject): PanelSizingTransitionData[] => {\n const candidates = Array.isArray(event.changes) ? event.changes : [event];\n return candidates.flatMap((candidate) => {\n if (typeof candidate !== 'object' || candidate === null) return [];\n const change = candidate as Record<string, unknown>;\n const id = typeof change.panelId === 'string' ? change.panelId : '';\n const from = finiteSize(change.from);\n const to = finiteSize(change.to);\n const reset = change.reset === true;\n return id && from !== null && to !== null && (from !== to || reset)\n ? [{panelId: id, from, to, ...(reset ? {reset: true} : {})}]\n : [];\n });\n};\nconst propsFrom = (event: MachineEventObject, fallback: PanelsProps): PanelsProps => (\n typeof event.props === 'object' && event.props !== null ? event.props as PanelsProps : fallback\n);\nconst sameStrings = (left: readonly string[], right: readonly string[]): boolean => (\n left.length === right.length && left.every((value, index) => value === right[index])\n);\nconst descriptors = (value: unknown): PanelDescriptor[] => {\n if (!Array.isArray(value)) return [];\n const result: PanelDescriptor[] = [];\n value.forEach((candidate) => {\n if (typeof candidate !== 'object' || candidate === null) return;\n const descriptor = candidate as Record<string, unknown>;\n if (typeof descriptor.id !== 'string' || !descriptor.id) return;\n const collapse: PanelCollapseCapability = descriptor.collapsible === true\n ? {collapsible: true, defaultCollapsed: descriptor.defaultCollapsed === true}\n : {collapsible: false, defaultCollapsed: false};\n if (descriptor.kind === 'fill') result.push({id: descriptor.id, kind: 'fill', ...collapse});\n if (descriptor.kind === 'bounded') {\n result.push({\n id: descriptor.id,\n kind: 'bounded',\n resizable: descriptor.resizable === true,\n ...collapse,\n });\n }\n });\n return result;\n};\nconst descriptorMap = (collection: readonly PanelDescriptor[]): Map<string, PanelDescriptor> => (\n new Map(collection.map((descriptor) => [descriptor.id, descriptor]))\n);\nconst orderedSizes = (\n collection: readonly PanelDescriptor[],\n sizes: Readonly<Record<string, number>>,\n): Record<string, number> => Object.fromEntries(collection.flatMap((descriptor) => (\n descriptor.kind === 'bounded' && Object.hasOwn(sizes, descriptor.id)\n ? [[descriptor.id, sizes[descriptor.id]!]]\n : []\n)));\n\nconst requestedCollapsed = (scope: MachineScope<PanelsContext, PanelsProps>): string[] => {\n const id = panelId(scope.event);\n const current = scope.context.layout.collapsedIds;\n const collection = scope.context.collection;\n const descriptor = descriptorMap(collection).get(id);\n switch (scope.event.type) {\n case 'COLLAPSE':\n return descriptor?.collapsible && !current.includes(id)\n ? collection.map((item) => item.id).filter((item) => current.includes(item) || item === id)\n : current;\n case 'EXPAND':\n return current.filter((item) => item !== id);\n case 'TOGGLE':\n if (!descriptor?.collapsible) return current;\n return current.includes(id)\n ? current.filter((item) => item !== id)\n : collection.map((item) => item.id).filter((item) => current.includes(item) || item === id);\n default:\n return current;\n }\n};\n\nconst changeAllowed = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const id = panelId(scope.event);\n return descriptorMap(scope.context.collection).has(id)\n && !sameStrings(scope.context.layout.collapsedIds, requestedCollapsed(scope));\n};\n\nconst resizeAllowed = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const id = panelId(scope.event);\n const descriptor = descriptorMap(scope.context.collection).get(id);\n return descriptor?.kind === 'bounded'\n && descriptor.resizable\n && !scope.context.layout.collapsedIds.includes(id)\n && finiteSize(scope.event.size) !== null;\n};\n\nconst sizingAllowed = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const changes = sizingChanges(scope.event);\n const collection = descriptorMap(scope.context.collection);\n return changes.length > 0 && changes.every(({panelId: id}) => (\n collection.get(id)?.kind === 'bounded'\n && !scope.context.layout.collapsedIds.includes(id)\n ));\n};\n\nconst hiddenSizingAllowed = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const changes = sizingChanges(scope.event);\n const collection = descriptorMap(scope.context.collection);\n return changes.length > 0 && changes.every(({panelId: id}) => (\n collection.get(id)?.kind === 'bounded'\n && scope.context.layout.collapsedIds.includes(id)\n ));\n};\n\nconst hiddenResetAllowed = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const ids = strings(scope.event.ids);\n const collection = descriptorMap(scope.context.collection);\n return ids.length > 0 && ids.every((id) => (\n collection.get(id)?.kind === 'bounded'\n && scope.context.layout.collapsedIds.includes(id)\n && Object.hasOwn(scope.context.layout.committedSizes, id)\n ));\n};\n\nconst applySizing = (scope: MachineScope<PanelsContext, PanelsProps>) => {\n const changes = sizingChanges(scope.event);\n const committedSizes = {...scope.context.layout.committedSizes};\n changes.forEach(({panelId: id, to, reset}) => {\n if (reset) delete committedSizes[id];\n else committedSizes[id] = to;\n });\n return {context: {\n ...scope.context,\n layout: {\n ...scope.context.layout,\n committedSizes: orderedSizes(scope.context.collection, committedSizes),\n },\n sizing: {changes},\n }};\n};\n\nconst commitHiddenSizes = (scope: MachineScope<PanelsContext, PanelsProps>) => {\n const changes = sizingChanges(scope.event);\n const committedSizes = {\n ...scope.context.layout.committedSizes,\n ...Object.fromEntries(changes.map(({panelId: id, to}) => [id, to])),\n };\n return {context: {\n ...scope.context,\n layout: {\n ...scope.context.layout,\n committedSizes: orderedSizes(scope.context.collection, committedSizes),\n },\n }};\n};\n\nconst resetHiddenSizes = (scope: MachineScope<PanelsContext, PanelsProps>) => {\n const committedSizes = {...scope.context.layout.committedSizes};\n strings(scope.event.ids).forEach((id) => delete committedSizes[id]);\n return {context: {\n ...scope.context,\n layout: {\n ...scope.context.layout,\n committedSizes: orderedSizes(scope.context.collection, committedSizes),\n },\n }};\n};\n\nconst applyChange = (scope: MachineScope<PanelsContext, PanelsProps>) => {\n const collapsedIds = requestedCollapsed(scope);\n const previous = scope.context.layout.collapsedIds;\n return {context: {\n ...scope.context,\n layout: {...scope.context.layout, collapsedIds},\n change: {\n openingIds: previous.filter((id) => !collapsedIds.includes(id)),\n closingIds: collapsedIds.filter((id) => !previous.includes(id)),\n },\n }};\n};\n\nconst reconcile = (scope: MachineScope<PanelsContext, PanelsProps>) => {\n const collection = descriptors(scope.event.collection);\n const known = descriptorMap(scope.context.collection);\n const collapsedIds = collection.filter((descriptor) => (\n scope.context.layout.collapsedIds.includes(descriptor.id)\n || (!known.has(descriptor.id) && descriptor.defaultCollapsed)\n ) && descriptor.collapsible).map((descriptor) => descriptor.id);\n const committedSizes = orderedSizes(collection, scope.context.layout.committedSizes);\n const active = descriptorMap(collection).get(scope.context.resize.activeId);\n const activeExists = active?.kind === 'bounded' && active.resizable;\n return {context: {\n ...scope.context,\n collection,\n layout: {collapsedIds, committedSizes},\n resize: activeExists\n ? scope.context.resize\n : {activeId: '', initialSize: null, previewSize: null},\n }};\n};\n\nconst activeRemoved = (scope: MachineScope<PanelsContext, PanelsProps>): boolean => {\n const active = descriptorMap(descriptors(scope.event.collection)).get(scope.context.resize.activeId);\n return active?.kind !== 'bounded' || !active.resizable;\n};\n\nconst createPanelsMachine = ({\n props,\n context,\n effects,\n}: CreatePanelsMachineOptions): Machine<PanelsContext, PanelsProps> => createMachine<PanelsContext, PanelsProps>({\n initial: 'stable',\n on: {\n DOM_INVALIDATED: {effects: 'sync'},\n },\n states: {\n stable: {\n tags: ['stable'],\n on: {\n COLLAPSE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n EXPAND: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n TOGGLE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n SIZE: {target: 'sizing', guard: sizingAllowed, reduce: applySizing, effects: 'prepareSizing'},\n RESTORE_HIDDEN_SIZES: {guard: hiddenSizingAllowed, reduce: commitHiddenSizes},\n RESET_HIDDEN_SIZES: {\n target: 'persisting',\n guard: hiddenResetAllowed,\n reduce: resetHiddenSizes,\n effects: ['sync', 'persist'],\n },\n RESIZE_START: {target: 'resizing', guard: resizeAllowed, reduce: 'startResize', effects: 'beginResize'},\n PANELS_CHANGED: {reduce: reconcile, effects: 'sync'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'sync'},\n },\n },\n changing: {\n tags: ['changing', 'transitioning'],\n on: {\n CHANGE_DONE: {target: 'persisting', effects: ['finishChange', 'persist']},\n CHANGE_ERROR: {target: 'persisting', effects: ['finishChange', 'persist']},\n COLLAPSE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n EXPAND: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n TOGGLE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n PANELS_CHANGED: {reduce: reconcile, effects: 'sync'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'sync'},\n },\n },\n sizing: {\n tags: ['sizing', 'transitioning'],\n on: {\n SIZE_DONE: {target: 'persisting', effects: ['finishSizing', 'persist']},\n SIZE_ERROR: {target: 'persisting', effects: ['finishSizing', 'persist']},\n SIZE: {target: 'sizing', guard: sizingAllowed, reduce: applySizing, effects: 'prepareSizing'},\n RESIZE_START: {target: 'resizing', guard: resizeAllowed, reduce: 'startResize', effects: 'beginResize'},\n PANELS_CHANGED: {reduce: reconcile, effects: 'sync'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'sync'},\n },\n },\n resizing: {\n tags: ['resizing'],\n on: {\n RESIZE: {guard: 'activeResize', reduce: 'previewResize', effects: 'previewResize'},\n RESIZE_END: {target: 'persisting', guard: 'activeResize', reduce: 'commitResize', effects: ['commitResize', 'persist']},\n RESIZE_CANCEL: {target: 'stable', reduce: 'clearResize', effects: 'cancelResize'},\n PANELS_CHANGED: [\n {target: 'stable', guard: activeRemoved, reduce: reconcile, effects: ['cancelResize', 'sync']},\n {reduce: reconcile, effects: 'sync'},\n ],\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'sync'},\n },\n },\n persisting: {\n tags: ['persisting'],\n on: {\n PERSIST_DONE: 'stable',\n PERSIST_ERROR: 'stable',\n COLLAPSE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n EXPAND: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n TOGGLE: {target: 'changing', guard: changeAllowed, reduce: applyChange, effects: 'prepareChange'},\n SIZE: {target: 'sizing', guard: sizingAllowed, reduce: applySizing, effects: 'prepareSizing'},\n PANELS_CHANGED: {reduce: reconcile, effects: 'sync'},\n PROPS_CHANGED: {reduce: 'replaceProps', effects: 'sync'},\n },\n },\n },\n}, {\n props,\n context,\n reducers: {\n replaceProps: (scope) => ({props: propsFrom(scope.event, scope.props)}),\n startResize: (scope) => {\n const size = finiteSize(scope.event.size);\n return {context: {\n ...scope.context,\n resize: {activeId: panelId(scope.event), initialSize: size, previewSize: size},\n }};\n },\n previewResize: (scope) => ({context: {\n ...scope.context,\n resize: {...scope.context.resize, previewSize: finiteSize(scope.event.size)},\n }}),\n commitResize: (scope) => {\n const id = panelId(scope.event);\n const size = finiteSize(scope.event.size);\n if (size === null) return;\n return {context: {\n ...scope.context,\n layout: {\n ...scope.context.layout,\n committedSizes: orderedSizes(scope.context.collection, {\n ...scope.context.layout.committedSizes,\n [id]: size,\n }),\n },\n resize: {activeId: '', initialSize: null, previewSize: null},\n }};\n },\n clearResize: (scope) => ({context: {\n ...scope.context,\n resize: {activeId: '', initialSize: null, previewSize: null},\n }}),\n },\n guards: {\n activeResize: (scope) => panelId(scope.event) === scope.context.resize.activeId\n && finiteSize(scope.event.size) !== null,\n },\n effects: {\n prepareChange: effects.prepareChange,\n finishChange: effects.finishChange,\n sync: effects.sync,\n beginResize: effects.beginResize,\n previewResize: effects.previewResize,\n commitResize: effects.commitResize,\n cancelResize: effects.cancelResize,\n prepareSizing: effects.prepareSizing,\n finishSizing: effects.finishSizing,\n persist: effects.persist,\n },\n});\n\nexport {createPanelsMachine, panelsHooks};\nexport type {\n CreatePanelsMachineOptions,\n PanelDescriptor,\n PanelsContext,\n PanelsMachineEffects,\n PanelsPersistTransitionData,\n PanelSizingTransitionData,\n PanelTransitionData,\n};\n","import {defineStyles} from '../../runtime';\n\nconst panelsStyles = defineStyles({definition: {\n component: 'ui.panels',\n parts: {\n root: {\n base: 'relative flex h-full min-h-0 w-full min-w-0',\n variants: {\n orientation: {\n horizontal: 'flex-row',\n vertical: 'flex-col',\n },\n },\n defaults: {orientation: 'horizontal'},\n },\n panel: {\n base: 'relative min-w-0 overflow-hidden',\n variants: {\n orientation: {\n horizontal: 'h-full',\n vertical: 'w-full',\n },\n divider: {\n true: '',\n false: '',\n },\n resize: {\n none: '',\n start: '',\n end: '',\n },\n },\n defaults: {orientation: 'horizontal', divider: true, resize: 'none'},\n },\n expanded: {base: 'h-full min-h-0 w-full min-w-0'},\n collapsed: {base: 'flex h-full min-h-0 w-full min-w-0 items-center justify-center overflow-hidden'},\n resizeHandle: {\n base: [\n 'absolute z-20 touch-none border-transparent outline-none',\n 'hover:border-intent-neutral-edge-hover focus-visible:ui-focus-ring-inset',\n 'data-resizing:border-intent-neutral-edge-strong',\n ],\n variants: {\n orientation: {\n horizontal: 'inset-y-0 w-panel-resize-handle cursor-col-resize',\n vertical: 'inset-x-0 h-panel-resize-handle cursor-row-resize',\n },\n edge: {\n start: '',\n end: '',\n },\n },\n defaults: {orientation: 'horizontal', edge: 'end'},\n },\n toggle: {base: 'inline-flex size-control-md items-center justify-center outline-none focus-visible:ui-focus-ring-inset'},\n toggleIcon: {base: 'size-icon-md shrink-0'},\n },\n}});\n\nexport {panelsStyles};\n","import type Alpine from 'alpinejs';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n createResizable,\n decodeProps,\n defineAlpineData,\n focusableElements,\n isRtl,\n mergeBindings,\n observeSemanticChanges,\n resolveStyle,\n type BindingObject,\n type ResizeDirection,\n type ResizeEvent,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {cleanupManagerFor} from '@client/runtime/alpine-data';\nimport {CleanupManager} from '@client/runtime/cleanup-manager';\nimport {animateSize, type MotionHandle, type MotionTransitionSubject} from '@client/motion';\nimport {noopHandle} from '@client/motion/animate';\nimport {compositionBreakpointPixels} from '@client/runtime/composition-breakpoint';\nimport {declareMorphAttributes} from '@client/runtime/morph';\nimport {addListener, asBool, dispatch, setPresence} from '@client/utils';\nimport {\n panelSchema,\n panelToggleSchema,\n panelsSchema,\n type PanelProps,\n type PanelResizeEdge,\n type PanelToggleAction,\n type PanelToggleProps,\n type PanelsOrientation,\n type PanelsProps,\n} from './contract';\nimport {\n createPanelsMachine,\n panelsHooks,\n type PanelDescriptor,\n type PanelsContext,\n type PanelsPersistTransitionData,\n type PanelSizingTransitionData,\n type PanelTransitionData,\n} from './machine';\nimport {panelsStyles} from './styles';\n\ntype PanelsTransitionName = (typeof panelsHooks)[number]['name'];\ntype PanelsTransition<TName extends PanelsTransitionName = PanelsTransitionName> = TransitionForHook<\n Extract<(typeof panelsHooks)[number], {name: TName}>,\n HTMLElement\n>;\n\ntype PanelRecord = {\n panel: HTMLElement;\n expanded: HTMLElement;\n collapsed: HTMLElement | null;\n handle: HTMLElement | null;\n props: PanelProps;\n};\n\ntype PanelEventDetail = {\n panelId?: string;\n groupId?: string;\n size?: number;\n action?: PanelToggleAction;\n trigger?: HTMLElement | null;\n __panelsNotification?: boolean;\n};\n\ntype PanelTransitionGeometry = {from: number; to: number};\ntype PanelsResponsiveMode = 'stacked' | 'wide';\ntype PanelMotionTransition = MotionTransitionSubject & Readonly<{\n data: PanelTransitionData;\n}>;\ntype PanelSizingMotionTransition = MotionTransitionSubject & Readonly<{\n data: PanelSizingTransitionData;\n}>;\n\ntype PanelsController = {\n readonly id: string;\n hasPanel(panelId: string): boolean;\n perform(action: PanelToggleAction, panelId: string, trigger?: HTMLElement | null): void;\n resize(panelId: string, size: number): void;\n reset(panelId?: string): void;\n syncToggles(): void;\n};\n\n/** Public Alpine API for `ui.panels`. @public */\ninterface UiPanelsApi {\n /** Stable group id used by explicit controls, named events, and persistence. */\n readonly id: string;\n /** Current main axis along which direct panels negotiate space. */\n readonly orientation: 'horizontal' | 'vertical';\n /** Stable ids of panels whose collapsed representation is active. */\n readonly collapsed: readonly string[];\n /** User-committed pixel measures keyed by stable panel id. */\n readonly sizes: Readonly<Record<string, number>>;\n /** Returns whether a named panel is currently collapsed. */\n isCollapsed(id: string): boolean;\n /** Collapses a named collapsible panel. */\n collapse(id: string): void;\n /** Expands a named collapsed panel. */\n expand(id: string): void;\n /** Reverses the collapsed state of a named collapsible panel. */\n toggle(id: string): void;\n /** Moves an expanded bounded panel to a clamped pixel size through the sizing transition. */\n resize(id: string, size: number): void;\n /** Restores one panel or the whole group to its authored layout. */\n reset(id?: string): void;\n}\n\ntype PanelsData = AlpineMachine<PanelsContext, PanelsProps, typeof panelsHooks> & UiPanelsApi & {\n readonly root: BindingObject;\n init(): void;\n destroy(): void;\n perform(action: PanelToggleAction, panelId: string, trigger?: HTMLElement | null): void;\n syncToggles(): void;\n hasPanel(panelId: string): boolean;\n transitionPanel(transition: PanelMotionTransition): MotionHandle;\n transitionPanelSize(transition: PanelSizingMotionTransition): MotionHandle;\n};\n\nconst controllers = new Set<PanelsController>();\n\nconst eventDetail = (event: Event): PanelEventDetail => (\n event instanceof CustomEvent && event.detail && typeof event.detail === 'object'\n ? event.detail as PanelEventDetail\n : {}\n);\n\nconst registerDocumentListeners = (() => {\n let registered = false;\n return (): void => {\n if (registered || typeof document === 'undefined') return;\n const route = (action: PanelToggleAction) => (event: Event): void => {\n const detail = eventDetail(event);\n if (detail.__panelsNotification || !detail.panelId) return;\n controllers.forEach((controller) => {\n if (detail.groupId && detail.groupId !== controller.id) return;\n if (!controller.hasPanel(detail.panelId!)) return;\n controller.perform(detail.action ?? action, detail.panelId!, detail.trigger);\n });\n };\n document.addEventListener('ui:panel-collapse', route('collapse'));\n document.addEventListener('ui:panel-expand', route('expand'));\n document.addEventListener('ui:panel-toggle', route('toggle'));\n document.addEventListener('ui:panel-size', (event) => {\n const detail = eventDetail(event);\n if (detail.__panelsNotification || !detail.panelId || !Number.isFinite(detail.size)) return;\n controllers.forEach((controller) => {\n if (detail.groupId && detail.groupId !== controller.id) return;\n if (!controller.hasPanel(detail.panelId!)) return;\n controller.resize(detail.panelId!, detail.size!);\n });\n });\n document.addEventListener('ui:panels-reset', (event) => {\n const detail = eventDetail(event);\n if (detail.__panelsNotification) return;\n controllers.forEach((controller) => {\n if (detail.groupId && detail.groupId !== controller.id) return;\n if (detail.panelId && !controller.hasPanel(detail.panelId)) return;\n controller.reset(detail.panelId);\n });\n });\n registered = true;\n };\n})();\n\nconst storageKey = (id: string): string => `trellis-ui:panels:${id}:v1`;\nconst numericRecord = (value: unknown): Record<string, number> => {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return {};\n return Object.fromEntries(Object.entries(value).filter((entry): entry is [string, number] => (\n typeof entry[1] === 'number' && Number.isFinite(entry[1])\n )));\n};\n\nconst UiPanels = (): TrellisAlpineComponent<PanelsData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let disconnectObserver: (() => void) | null = null;\n let resizeObserver: ResizeObserver | null = null;\n let responsiveMode: PanelsResponsiveMode = 'wide';\n let cleanup: CleanupManager;\n let resizeCleanup: CleanupManager | null = null;\n const deferredTimers = new Set<number>();\n const restoreFrames = new Set<number>();\n const resizeCleanups = new Map<HTMLElement, CleanupManager>();\n const transitionGeometry = new Map<string, PanelTransitionGeometry>();\n const rememberedFocus = new Map<string, HTMLElement>();\n const activeTriggers = new Map<string, HTMLElement>();\n\n const root = (): HTMLElement & Alpine.ElementWithXAttributes => {\n if (!rootEl) throw new Error('Panels has not been initialized.');\n return rootEl;\n };\n const owns = (element: Element): boolean => element.closest('[data-ui-panels]') === root();\n const records = (): PanelRecord[] => Array.from(root().children).flatMap((child) => {\n if (!(child instanceof HTMLElement) || !child.hasAttribute('data-ui-panel')) return [];\n const expanded = child.querySelector<HTMLElement>(':scope > [data-ui-panel-expanded]');\n if (!expanded || !owns(expanded)) return [];\n return [{\n panel: child,\n expanded,\n collapsed: child.querySelector<HTMLElement>(':scope > [data-ui-panel-collapsed]'),\n handle: child.querySelector<HTMLElement>(':scope > [data-ui-panel-resize-handle]'),\n props: decodeProps({el: child, schema: panelSchema}),\n }];\n });\n const recordFor = (id: string): PanelRecord | null => records().find((record) => record.props.id === id) ?? null;\n const context = (): Readonly<PanelsContext> => bridge.getCommittedSnapshot().context;\n const currentProps = (): Readonly<PanelsProps> => bridge.getCommittedSnapshot().props;\n const isCollapsed = (id: string): boolean => context().layout.collapsedIds.includes(id);\n const isResponsiveStacked = (): boolean => (\n currentProps().orientation === 'horizontal' && responsiveMode === 'stacked'\n );\n const effectiveOrientation = (): PanelsOrientation => (\n isResponsiveStacked() ? 'vertical' : currentProps().orientation\n );\n const renderedOrientation = (): PanelsOrientation => root().dataset.orientation === 'vertical' ? 'vertical' : 'horizontal';\n const mainSize = (element: Element): number => {\n const rect = element.getBoundingClientRect();\n return renderedOrientation() === 'horizontal' ? rect.width : rect.height;\n };\n\n const collectionState = (): PanelDescriptor[] => {\n const items = records();\n const ids = items.map(({props}) => props.id);\n if (ids.some((id) => !id)) throw new Error('Every Panel requires a stable id.');\n if (new Set(ids).size !== ids.length) throw new Error('Panel ids must be unique within a Panels group.');\n if (items.length > 0 && !items.some(({props}) => props.size === 'fill')) {\n throw new Error('A Panels group requires at least one size=\"fill\" Panel.');\n }\n if (items.some(({props}) => props.size === 'fill' && props.resize !== 'none')) {\n throw new Error('A size=\"fill\" Panel cannot own a resize handle.');\n }\n return items.map(({props}): PanelDescriptor => {\n const collapse = props.collapsible\n ? {collapsible: true as const, defaultCollapsed: props.defaultCollapsed}\n : {collapsible: false as const, defaultCollapsed: false as const};\n return props.size === 'fill'\n ? {id: props.id, kind: 'fill', ...collapse}\n : {id: props.id, kind: 'bounded', resizable: props.resize !== 'none', ...collapse};\n });\n };\n\n const cssLength = (token: string): number => {\n const probe = document.createElement('div');\n probe.style.cssText = 'position:absolute;visibility:hidden;pointer-events:none;inset:0 auto auto 0;';\n if (renderedOrientation() === 'horizontal') probe.style.width = `var(${token})`;\n else probe.style.height = `var(${token})`;\n root().append(probe);\n const value = mainSize(probe);\n probe.remove();\n return value;\n };\n\n const boundsFor = (record: PanelRecord): {minimum: number; maximum: number} => {\n if (record.props.size === 'fill') return {minimum: 0, maximum: Number.POSITIVE_INFINITY};\n return {\n minimum: cssLength(`--spacing-panel-${record.props.size}-min`),\n maximum: cssLength(`--spacing-panel-${record.props.size}-max`),\n };\n };\n\n const clampPanelSize = (record: PanelRecord, value: number): number => {\n const {minimum, maximum} = boundsFor(record);\n return Math.min(maximum, Math.max(minimum, value));\n };\n\n const initialContext = (): PanelsContext => {\n const collection = collectionState();\n return {\n collection,\n layout: {\n collapsedIds: collection.filter((descriptor) => descriptor.defaultCollapsed).map(({id}) => id),\n committedSizes: {},\n },\n change: {openingIds: [], closingIds: []},\n resize: {activeId: '', initialSize: null, previewSize: null},\n sizing: {changes: []},\n };\n };\n\n const setMainConstraints = (element: HTMLElement, minimum: string, maximum: string): void => {\n if (renderedOrientation() === 'horizontal') {\n element.style.minWidth = minimum;\n element.style.maxWidth = maximum;\n element.style.minHeight = '';\n element.style.maxHeight = '';\n } else {\n element.style.minHeight = minimum;\n element.style.maxHeight = maximum;\n element.style.minWidth = '';\n element.style.maxWidth = '';\n }\n };\n\n const clearGeometry = (element: HTMLElement): void => {\n element.style.flex = '';\n element.style.minWidth = '';\n element.style.maxWidth = '';\n element.style.minHeight = '';\n element.style.maxHeight = '';\n };\n\n const applyGeometry = (record: PanelRecord, transitionSize?: number): void => {\n if (isResponsiveStacked()) {\n clearGeometry(record.panel);\n return;\n }\n if (transitionSize !== undefined) {\n record.panel.style.flex = `0 0 ${transitionSize}px`;\n setMainConstraints(record.panel, '0px', 'none');\n return;\n }\n if (isCollapsed(record.props.id)) {\n if (context().collection.find(({id}) => id === record.props.id)?.defaultCollapsed) {\n clearGeometry(record.panel);\n return;\n }\n const collapsedSize = record.collapsed ? 'var(--spacing-panel-collapsed)' : '0px';\n record.panel.style.flex = `0 0 ${collapsedSize}`;\n setMainConstraints(record.panel, collapsedSize, collapsedSize);\n return;\n }\n if (record.props.size === 'fill') {\n clearGeometry(record.panel);\n return;\n }\n const committed = context().resize.activeId === record.props.id\n ? context().resize.previewSize\n : context().layout.committedSizes[record.props.id];\n if (committed === undefined || committed === null) {\n clearGeometry(record.panel);\n return;\n }\n const basis = `${clampPanelSize(record, committed)}px`;\n record.panel.style.flex = `0 1 ${basis}`;\n setMainConstraints(\n record.panel,\n `var(--spacing-panel-${record.props.size}-min)`,\n `var(--spacing-panel-${record.props.size}-max)`,\n );\n };\n\n const setInert = (element: HTMLElement, inert: boolean): void => {\n element.toggleAttribute('inert', inert);\n element.setAttribute('aria-hidden', inert ? 'true' : 'false');\n };\n\n const syncPanel = (record: PanelRecord): void => {\n const props = currentProps();\n const orientation = effectiveOrientation();\n const collapsed = isCollapsed(record.props.id);\n const opening = bridge.hasTag('changing') && context().change.openingIds.includes(record.props.id);\n const closing = bridge.hasTag('changing') && context().change.closingIds.includes(record.props.id);\n const finalCollapsed = collapsed && !closing;\n const showExpanded = !finalCollapsed;\n const showCollapsed = collapsed && !closing && !opening && record.collapsed !== null;\n\n record.panel.dataset.state = collapsed ? 'collapsed' : 'expanded';\n record.panel.dataset.orientation = orientation;\n record.panel.dataset.size = record.props.size;\n record.panel.dataset.resize = record.props.resize;\n record.panel.className = resolveStyle({\n part: panelsStyles.parts.panel,\n props: {orientation, divider: props.divider, resize: record.props.resize},\n className: record.props.class,\n });\n setPresence({el: record.panel, attr: 'data-collapsible', present: record.props.collapsible});\n setPresence({el: record.panel, attr: 'data-resizing', present: context().resize.activeId === record.props.id});\n applyGeometry(record);\n\n record.expanded.hidden = !showExpanded;\n setInert(record.expanded, !showExpanded);\n if (record.collapsed) {\n record.collapsed.hidden = !showCollapsed;\n setInert(record.collapsed, !showCollapsed);\n }\n if (record.handle) {\n const disabled = isResponsiveStacked()\n || collapsed\n || record.props.size === 'fill'\n || record.props.resize === 'none';\n record.handle.dataset.orientation = orientation;\n record.handle.dataset.resizeEdge = record.props.resize;\n record.handle.setAttribute('aria-label', `Resize ${record.props.id} panel`);\n record.handle.toggleAttribute('data-resize-disabled', disabled);\n record.handle.hidden = isResponsiveStacked();\n record.handle.className = resolveStyle({\n part: panelsStyles.parts.resizeHandle,\n props: {orientation, edge: record.props.resize},\n className: record.handle.dataset.class ?? '',\n });\n }\n };\n\n const syncDividers = (items: PanelRecord[]): void => {\n items.forEach((record, index) => {\n const next = items[index + 1];\n const interactive = record.props.resize === 'end' || next?.props.resize === 'start';\n declareMorphAttributes(record.panel, 'data-divider');\n setPresence({\n el: record.panel,\n attr: 'data-divider',\n present: currentProps().divider && next !== undefined && !interactive,\n });\n });\n };\n\n const targetForToggle = (toggle: HTMLElement): {record: PanelRecord; controller: PanelsController} | null => {\n const explicit = toggle.dataset.target || '';\n if (!explicit) {\n const panel = toggle.closest<HTMLElement>('[data-ui-panel]');\n const group = panel?.closest<HTMLElement>('[data-ui-panels]');\n const controller = [...controllers].find((item) => item.id === group?.id);\n const record = panel && controller === component ? recordFor(panel.id) : null;\n return record && controller ? {record, controller} : null;\n }\n const groupId = toggle.dataset.groupId || toggle.closest<HTMLElement>('[data-ui-panels]')?.id;\n const candidates = [...controllers].filter((item) => !groupId || item.id === groupId);\n const controller = candidates.find((item) => item.hasPanel(explicit));\n const record = controller === component ? recordFor(explicit) : null;\n return record && controller ? {record, controller} : null;\n };\n\n const syncToggles = (): void => {\n document.querySelectorAll<HTMLElement>('[data-ui-panel-toggle]').forEach((toggle) => {\n const target = targetForToggle(toggle);\n if (!target || target.controller !== component) return;\n const collapsed = isCollapsed(target.record.props.id);\n toggle.dataset.target = target.record.props.id;\n toggle.dataset.groupId = currentProps().id;\n toggle.dataset.state = collapsed ? 'collapsed' : 'expanded';\n toggle.setAttribute('aria-controls', target.record.panel.id);\n toggle.setAttribute('aria-expanded', collapsed ? 'false' : 'true');\n toggle.toggleAttribute('disabled', !target.record.props.collapsible);\n });\n };\n\n const syncAll = (): void => {\n const props = currentProps();\n const orientation = effectiveOrientation();\n root().dataset.responsiveMode = responsiveMode;\n root().dataset.layoutOrientation = orientation;\n root().style.flexDirection = orientation === 'horizontal' ? 'row' : 'column';\n root().className = resolveStyle({\n part: panelsStyles.parts.root,\n props: {...props, orientation},\n className: props.class,\n });\n setPresence({el: root(), attr: 'data-resizing', present: bridge.hasTag('resizing')});\n setPresence({el: root(), attr: 'data-transitioning', present: bridge.hasTag('transitioning')});\n const items = records();\n items.forEach(syncPanel);\n syncDividers(items);\n syncToggles();\n };\n\n const focusExpanded = (record: PanelRecord, force = false): void => {\n const active = document.activeElement;\n if (!force && (!(active instanceof HTMLElement) || !record.collapsed?.contains(active))) return;\n const remembered = rememberedFocus.get(record.props.id);\n if (remembered?.isConnected && record.expanded.contains(remembered)) remembered.focus({preventScroll: true});\n else {\n record.expanded.tabIndex = -1;\n record.expanded.focus({preventScroll: true});\n }\n };\n\n const focusCollapsed = (record: PanelRecord, force = false): void => {\n const active = document.activeElement;\n if (!force && (!(active instanceof HTMLElement) || !record.expanded.contains(active))) return;\n const collapsedTarget = record.collapsed ? focusableElements(record.collapsed)[0] : undefined;\n const external = activeTriggers.get(record.props.id);\n const fallback = external?.isConnected && !record.panel.contains(external) ? external : undefined;\n if (collapsedTarget) collapsedTarget.focus({preventScroll: true});\n else if (fallback) fallback.focus({preventScroll: true});\n else {\n root().tabIndex = -1;\n root().focus({preventScroll: true});\n }\n };\n\n const prepareChange = (): void => {\n const changed = [...context().change.openingIds, ...context().change.closingIds];\n const openingNeedsFocus = new Set(context().change.openingIds.filter((id) => {\n const record = recordFor(id);\n const active = document.activeElement;\n return record !== null\n && record.collapsed !== null\n && active instanceof HTMLElement\n && record.collapsed.contains(active);\n }));\n const from = new Map(changed.flatMap((id) => {\n const record = recordFor(id);\n if (!record) return [];\n if (context().change.closingIds.includes(id)) {\n const active = document.activeElement;\n if (active instanceof HTMLElement && record.expanded.contains(active)) rememberedFocus.set(id, active);\n }\n return [[id, mainSize(record.panel)] as const];\n }));\n syncAll();\n context().change.openingIds.forEach((id) => {\n const record = recordFor(id);\n if (record) focusExpanded(record, openingNeedsFocus.has(id));\n });\n changed.forEach((id) => {\n const record = recordFor(id);\n const start = from.get(id);\n if (!record || start === undefined) return;\n const target = mainSize(record.panel);\n transitionGeometry.set(id, {from: start, to: target});\n applyGeometry(record, start);\n });\n };\n\n const finishChange = (): void => {\n const opening = [...context().change.openingIds];\n const closing = [...context().change.closingIds];\n const closingNeedsFocus = new Set(closing.filter((id) => {\n const record = recordFor(id);\n const active = document.activeElement;\n return record !== null && active instanceof HTMLElement && record.expanded.contains(active);\n }));\n records().forEach((record) => applyGeometry(record));\n syncAll();\n closing.forEach((id) => {\n const record = recordFor(id);\n if (record) focusCollapsed(record, closingNeedsFocus.has(id));\n });\n opening.forEach((panelId) => emitPanelEvent('ui:panel-expand', panelId));\n closing.forEach((panelId) => emitPanelEvent('ui:panel-collapse', panelId));\n [...opening, ...closing].forEach((id) => transitionGeometry.delete(id));\n };\n\n const emitPanelEvent = (name: string, panelId: string, detail: Record<string, unknown> = {}): void => {\n dispatch({el: root(), name, detail: {\n groupId: currentProps().id,\n panelId,\n __panelsNotification: true,\n ...detail,\n }});\n };\n\n const persist = (): void => {\n const layout = context().layout;\n if (currentProps().persist) {\n try {\n localStorage.setItem(storageKey(currentProps().id), JSON.stringify({\n collapsed: layout.collapsedIds,\n sizes: layout.committedSizes,\n }));\n } catch {\n // Persistence is optional; layout state remains committed in memory.\n }\n }\n dispatch({el: root(), name: 'ui:panels-layout-change', detail: {\n groupId: currentProps().id,\n collapsed: [...layout.collapsedIds],\n sizes: {...layout.committedSizes},\n __panelsNotification: true,\n }});\n };\n\n const runWhenStable = (callback: () => void): void => {\n if (!rootEl) return;\n if (bridge.hasTag('stable')) {\n callback();\n return;\n }\n const timer = window.setTimeout(() => {\n deferredTimers.delete(timer);\n runWhenStable(callback);\n }, 16);\n deferredTimers.add(timer);\n };\n\n const reconcileCollapsedState = (\n ids: readonly string[],\n wantsCollapsed: (id: string) => boolean,\n ): void => {\n const next = ids.find((id) => wantsCollapsed(id) !== isCollapsed(id));\n if (!next) return;\n bridge.send({type: wantsCollapsed(next) ? 'COLLAPSE' : 'EXPAND', panelId: next});\n runWhenStable(() => reconcileCollapsedState(ids, wantsCollapsed));\n };\n\n const restorePersistedLayout = (): void => {\n if (!currentProps().persist) return;\n let stored: {collapsed?: unknown; sizes?: unknown};\n try {\n stored = JSON.parse(localStorage.getItem(storageKey(currentProps().id)) ?? 'null') as {\n collapsed?: unknown;\n sizes?: unknown;\n };\n } catch {\n return;\n }\n if (typeof stored !== 'object' || stored === null) return;\n\n const collection = collectionState();\n const collapsible = collection.filter((descriptor) => descriptor.collapsible);\n const desiredCollapsed = new Set(\n (Array.isArray(stored.collapsed) ? stored.collapsed : [])\n .filter((id): id is string => (\n typeof id === 'string' && collapsible.some((descriptor) => descriptor.id === id)\n )),\n );\n const desiredSizes = numericRecord(stored.sizes);\n\n const restoreCollapsedState = (): void => {\n reconcileCollapsedState(collapsible.map(({id}) => id), (id) => desiredCollapsed.has(id));\n };\n\n const restoreSizes = (): void => {\n const changes = collection.filter((descriptor) => descriptor.kind === 'bounded')\n .flatMap(({id}): PanelSizingTransitionData[] => {\n const record = recordFor(id);\n const storedSize = desiredSizes[id];\n if (!record || storedSize === undefined) return [];\n const from = mainSize(record.panel);\n const to = clampPanelSize(record, storedSize);\n return Math.abs(from - to) < 0.5 ? [] : [{panelId: id, from, to}];\n });\n if (isResponsiveStacked()) {\n if (changes.length > 0) bridge.send({type: 'RESTORE_HIDDEN_SIZES', changes});\n restoreCollapsedState();\n return;\n }\n const hidden = changes.filter(({panelId: id}) => isCollapsed(id));\n const visible = changes.filter(({panelId: id}) => !isCollapsed(id));\n if (hidden.length > 0) bridge.send({type: 'RESTORE_HIDDEN_SIZES', changes: hidden});\n if (visible.length > 0) {\n bridge.send({type: 'SIZE', changes: visible});\n runWhenStable(restoreCollapsedState);\n return;\n }\n restoreCollapsedState();\n };\n\n const opening = collapsible.map(({id}) => id)\n .filter((id) => isCollapsed(id) && !desiredCollapsed.has(id));\n if (opening.length > 0) {\n reconcileCollapsedState(opening, () => false);\n runWhenStable(restoreSizes);\n } else restoreSizes();\n };\n\n const schedulePersistedRestore = (): void => {\n const first = requestAnimationFrame(() => {\n restoreFrames.delete(first);\n const second = requestAnimationFrame(() => {\n restoreFrames.delete(second);\n restorePersistedLayout();\n });\n restoreFrames.add(second);\n });\n restoreFrames.add(first);\n };\n\n const resetLayout = (panelId?: string): void => {\n const collection = collectionState();\n const targets = panelId ? collection.filter(({id}) => id === panelId) : collection;\n if (targets.length === 0) return;\n\n const restoreCollapsedState = (): void => {\n reconcileCollapsedState(\n targets.filter((descriptor) => descriptor.collapsible).map(({id}) => id),\n (id) => collection.find((descriptor) => descriptor.id === id)?.defaultCollapsed === true,\n );\n };\n\n const sizedIds = targets.filter((descriptor) => descriptor.kind === 'bounded')\n .map(({id}) => id)\n .filter((id) => Object.hasOwn(context().layout.committedSizes, id));\n if (isResponsiveStacked()) {\n if (sizedIds.length > 0) {\n bridge.send({type: 'RESET_HIDDEN_SIZES', ids: sizedIds});\n runWhenStable(restoreCollapsedState);\n } else restoreCollapsedState();\n return;\n }\n const hiddenIds = sizedIds.filter(isCollapsed);\n if (hiddenIds.length > 0) bridge.send({type: 'RESET_HIDDEN_SIZES', ids: hiddenIds});\n\n const visible = sizedIds.filter((id) => !isCollapsed(id)).flatMap((id): PanelSizingTransitionData[] => {\n const record = recordFor(id);\n if (!record || record.props.size === 'fill') return [];\n return [{\n panelId: id,\n from: mainSize(record.panel),\n to: cssLength(`--spacing-panel-${record.props.size}`),\n reset: true,\n }];\n });\n if (visible.length > 0) {\n bridge.send({type: 'SIZE', changes: visible});\n runWhenStable(restoreCollapsedState);\n return;\n }\n restoreCollapsedState();\n };\n\n const prepareSizing = (): void => {\n context().sizing.changes.forEach(({panelId: id, from}) => {\n const record = recordFor(id);\n if (record) applyGeometry(record, from);\n });\n };\n\n const finishSizing = (): void => {\n context().sizing.changes.forEach(({panelId: id, to}) => {\n const record = recordFor(id);\n if (!record) return;\n applyGeometry(record);\n emitPanelEvent('ui:panel-resize-end', id, {size: to});\n });\n syncAll();\n };\n\n const resizeDirection = (edge: PanelResizeEdge): ResizeDirection => {\n if (effectiveOrientation() === 'vertical') return edge === 'start' ? 'negative' : 'positive';\n const rtl = isRtl({el: root()});\n return edge === 'start' ? rtl ? 'positive' : 'negative' : rtl ? 'negative' : 'positive';\n };\n\n const initializeResizeHandles = (): void => {\n const group = resizeCleanup;\n if (!group) return;\n const currentPanels = new Set(records().map(({panel}) => panel));\n resizeCleanups.forEach((owner, panel) => {\n if (currentPanels.has(panel)) return;\n owner.run();\n resizeCleanups.delete(panel);\n });\n records().forEach((record) => {\n if (resizeCleanups.has(record.panel) || !record.handle || record.props.size === 'fill' || record.props.resize === 'none') return;\n const bounds = boundsFor(record);\n const handleSize = cssLength('--spacing-panel-resize-handle');\n const coarseHandleSize = cssLength('--spacing-panel-resize-handle-coarse');\n const owner = new CleanupManager();\n group.addChild(owner);\n owner.add(createResizable({\n element: record.panel,\n handle: record.handle,\n axis: effectiveOrientation() === 'horizontal' ? 'x' : 'y',\n direction: resizeDirection(record.props.resize),\n min: bounds.minimum,\n max: bounds.maximum,\n mode: 'onChange',\n hitArea: handleSize,\n coarseHitArea: coarseHandleSize,\n disabled: () => isResponsiveStacked() || isCollapsed(record.props.id),\n onStart: (event) => bridge.send({type: 'RESIZE_START', panelId: record.props.id, size: resizeValue(event)}),\n onResize: (event) => bridge.send({type: 'RESIZE', panelId: record.props.id, size: resizeValue(event)}),\n onEnd: (event) => bridge.send({type: 'RESIZE_END', panelId: record.props.id, size: resizeValue(event)}),\n }));\n resizeCleanups.set(record.panel, owner);\n });\n };\n\n const reinitializeResizeHandles = (): void => {\n resizeCleanup?.run();\n resizeCleanups.clear();\n resizeCleanup = new CleanupManager();\n cleanup.addChild(resizeCleanup);\n initializeResizeHandles();\n };\n\n const resizeValue = (event: ResizeEvent): number => effectiveOrientation() === 'horizontal'\n ? event.previewWidth\n : event.previewHeight;\n\n const reconcileResponsiveMode = (width: number): void => {\n const next: PanelsResponsiveMode = currentProps().orientation === 'horizontal'\n && width < compositionBreakpointPixels(root(), 'sm')\n ? 'stacked'\n : 'wide';\n if (next === responsiveMode) return;\n responsiveMode = next;\n syncAll();\n reinitializeResizeHandles();\n };\n\n const bridge = createAlpineMachine({\n schema: panelsSchema,\n hooks: panelsHooks,\n resolveTransitionElement: ({data}) => {\n const panelId = (data as PanelTransitionData | undefined)?.panelId;\n return panelId ? recordFor(panelId)?.panel ?? null : root();\n },\n createMachine: ({props}) => createPanelsMachine({\n props,\n context: initialContext(),\n effects: {\n prepareChange,\n finishChange,\n sync: () => {\n syncAll();\n reinitializeResizeHandles();\n },\n beginResize: () => {\n syncAll();\n },\n previewResize: () => {\n const id = context().resize.activeId;\n const record = recordFor(id);\n if (record) applyGeometry(record);\n const size = context().resize.previewSize;\n if (size !== null) emitPanelEvent('ui:panel-resize', id, {size});\n },\n commitResize: (scope) => {\n syncAll();\n const id = typeof scope.event.panelId === 'string' ? scope.event.panelId : '';\n const size = context().layout.committedSizes[id];\n if (id && size !== undefined) emitPanelEvent('ui:panel-resize-end', id, {size});\n },\n cancelResize: syncAll,\n prepareSizing,\n finishSizing,\n persist,\n },\n }),\n });\n\n const sendPanelsChanged = (): void => {\n const collection = collectionState();\n bridge.send({type: 'PANELS_CHANGED', collection});\n initializeResizeHandles();\n };\n\n const setupObserver = (): void => {\n disconnectObserver = observeSemanticChanges({\n targets: root(),\n read: collectionState,\n onChange: sendPanelsChanged,\n observer: {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: [\n 'id', 'data-size', 'data-resize', 'data-collapsible', 'data-default-collapsed',\n ],\n },\n });\n };\n\n let component!: TrellisAlpineComponent<PanelsData>;\n component = {\n ...bridge,\n get id() { return root().id || currentProps().id; },\n get orientation() { return effectiveOrientation(); },\n get collapsed() { return [...context().layout.collapsedIds]; },\n get sizes() { return {...context().layout.committedSizes}; },\n get root(): BindingObject {\n const props = this.snapshot.current?.props ?? currentProps();\n return mergeBindings({inputs: [\n resolveStyle({part: panelsStyles.parts.root, props, className: props.class}),\n {'data-ui-panels': ''},\n ]});\n },\n init(): void {\n cleanup = cleanupManagerFor(this);\n resizeCleanup = new CleanupManager();\n cleanup.addChild(resizeCleanup);\n rootEl = this.$el;\n bridge.connect(this.$el, this.snapshot);\n root().id ||= currentProps().id;\n responsiveMode = currentProps().orientation === 'horizontal'\n && root().getBoundingClientRect().width < compositionBreakpointPixels(root(), 'sm')\n ? 'stacked'\n : 'wide';\n controllers.add(component);\n registerDocumentListeners();\n syncAll();\n initializeResizeHandles();\n resizeObserver = new ResizeObserver((entries) => {\n reconcileResponsiveMode(entries[0]?.contentRect.width ?? root().clientWidth);\n });\n resizeObserver.observe(root());\n setupObserver();\n if (currentProps().persist) schedulePersistedRestore();\n addListener({target: root(), event: 'keydown', handler: () => syncToggles(), cleanup});\n },\n destroy(): void {\n controllers.delete(component);\n disconnectObserver?.();\n disconnectObserver = null;\n resizeObserver?.disconnect();\n resizeObserver = null;\n resizeCleanups.clear();\n resizeCleanup = null;\n deferredTimers.forEach((timer) => window.clearTimeout(timer));\n deferredTimers.clear();\n restoreFrames.forEach((frame) => cancelAnimationFrame(frame));\n restoreFrames.clear();\n bridge.disconnect();\n rootEl = null;\n },\n transitionPanel(transition: PanelMotionTransition): MotionHandle {\n const id = transition.data.panelId;\n const record = recordFor(id);\n const geometry = transitionGeometry.get(id);\n if (!record || !geometry || geometry.from === geometry.to) {\n if (record) applyGeometry(record, geometry?.to);\n return noopHandle();\n }\n return animateSize(transition, {\n target: record.panel,\n keyframes: {flexBasis: [`${geometry.from}px`, `${geometry.to}px`]},\n role: 'layout',\n cleanup: () => applyGeometry(record),\n });\n },\n transitionPanelSize(transition: PanelSizingMotionTransition): MotionHandle {\n const {panelId: id, from, to} = transition.data;\n const record = recordFor(id);\n if (!record || from === to) {\n if (record) applyGeometry(record);\n return noopHandle();\n }\n return animateSize(transition, {\n target: record.panel,\n keyframes: {flexBasis: [`${from}px`, `${to}px`]},\n role: 'layoutQuick',\n cleanup: () => applyGeometry(record),\n });\n },\n hasPanel(id: string): boolean { return recordFor(id) !== null; },\n isCollapsed,\n collapse(id: string): void { bridge.send({type: 'COLLAPSE', panelId: id}); },\n expand(id: string): void { bridge.send({type: 'EXPAND', panelId: id}); },\n toggle(id: string): void { bridge.send({type: 'TOGGLE', panelId: id}); },\n resize(id: string, size: number): void {\n const record = recordFor(id);\n if (\n isResponsiveStacked()\n || !record\n || record.props.size === 'fill'\n || isCollapsed(id)\n || !Number.isFinite(size)\n ) return;\n const from = mainSize(record.panel);\n const to = clampPanelSize(record, size);\n if (Math.abs(from - to) < 0.5) return;\n bridge.send({type: 'SIZE', panelId: id, from, to});\n },\n reset(id?: string): void { resetLayout(id); },\n perform(action: PanelToggleAction, id: string, trigger?: HTMLElement | null): void {\n if (trigger) activeTriggers.set(id, trigger);\n ({collapse: this.collapse, expand: this.expand, toggle: this.toggle})[action](id);\n },\n syncToggles,\n };\n\n return component;\n};\n\nconst UiPanelToggle = (): TrellisAlpineComponent<{\n props: PanelToggleProps;\n readonly root: BindingObject;\n trigger(event?: Event): void;\n}> => {\n let props = {} as PanelToggleProps;\n return {\n get props() { return props; },\n init() { props = decodeProps({el: this.$el, schema: panelToggleSchema}); },\n destroy() {},\n get root() {\n return mergeBindings({inputs: [\n resolveStyle({part: panelsStyles.parts.toggle, props: {}, className: props.class}),\n {\n 'data-ui-panel-toggle': '',\n ':data-target': () => props.target || undefined,\n ':data-action': () => props.action,\n '@click': (event: Event) => this.trigger(event),\n },\n ]});\n },\n trigger(event?: Event) {\n event?.preventDefault();\n const button = this.$el as HTMLElement;\n const closestPanel = button.closest<HTMLElement>('[data-ui-panel]');\n const closestGroup = closestPanel?.closest<HTMLElement>('[data-ui-panels]');\n const target = props.target || closestPanel?.id || '';\n if (!target) return;\n document.dispatchEvent(new CustomEvent('ui:panel-toggle', {detail: {\n panelId: target,\n groupId: closestGroup?.id,\n action: props.action,\n trigger: button,\n }}));\n },\n };\n};\n\nconst registerPanels = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiPanels', UiPanels)(AlpineInstance);\n defineAlpineData('UiPanelToggle', UiPanelToggle)(AlpineInstance);\n};\n\nexport {registerPanels, UiPanels, UiPanelToggle};\nexport type {\n PanelEventDetail,\n PanelsData,\n PanelsPersistTransitionData,\n PanelSizingTransitionData,\n PanelsTransition,\n UiPanelsApi,\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 {registerMotionCapability} from '../../capabilities/motion';\nimport {registerResizableCapability} from '../../capabilities/resizable';\nimport {registerPanels as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerPanels = (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 {registerPanels};\nexport default registerPanels;\nexport * from './index';\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var e=new Set([`Tab`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`Home`,`End`,`PageDown`,`PageUp`]),t=new WeakMap,n=n=>{let r=t.get(n);if(r)return r;let i={pointerDown:!1,pointerFocused:null,indicatorSuppressed:null,shortcut:!1,shortcutReset:void 0};t.set(n,i);let a=()=>{i.indicatorSuppressed?.removeAttribute(`data-ui-focus-indicator`),i.indicatorSuppressed=null};return n.addEventListener(`pointerdown`,()=>{i.pointerDown=!0},!0),n.addEventListener(`focusin`,e=>{i.pointerFocused=i.pointerDown&&e.target instanceof HTMLElement?e.target:null},!0),n.addEventListener(`pointerup`,e=>{let t=n.activeElement;i.pointerFocused=t instanceof HTMLElement&&t!==n.body&&e.composedPath().some(e=>e===t)?t:null,i.pointerDown=!1},!0),n.addEventListener(`pointercancel`,()=>{i.pointerDown=!1},!0),n.addEventListener(`keydown`,t=>{a(),e.has(t.key)&&(i.pointerFocused=null)},!0),n.addEventListener(`focusout`,e=>{e.target===i.indicatorSuppressed&&a()},!0),n.defaultView?.addEventListener(`blur`,()=>{i.pointerDown=!1,i.pointerFocused=null,a()}),i},r=e=>{let t=n(e),r=e.activeElement;r instanceof HTMLElement&&r===t.pointerFocused&&r.blur(),t.pointerFocused=null,t.shortcut=!0,t.shortcutReset!==void 0&&e.defaultView?.clearTimeout(t.shortcutReset),t.shortcutReset=e.defaultView?.setTimeout(()=>{t.shortcut=!1,t.shortcutReset=void 0})},i=e=>n(e).shortcut,a=e=>{let t=n(e.ownerDocument);t.indicatorSuppressed?.removeAttribute(`data-ui-focus-indicator`),e.focus({preventScroll:!0,focusVisible:!1}),e.setAttribute(`data-ui-focus-indicator`,`suppressed`),t.indicatorSuppressed=e};export{i,n,a as r,r as t};
2
- //# sourceMappingURL=focus-handoff-BE3g0swK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focus-handoff-BE3g0swK.js","names":[],"sources":["../../../../../../../../client/src/runtime/focus-handoff.ts"],"sourcesContent":["type FocusHandoffState = {\n pointerDown: boolean;\n pointerFocused: HTMLElement | null;\n indicatorSuppressed: HTMLElement | null;\n shortcut: boolean;\n shortcutReset: number | undefined;\n};\n\nconst NAVIGATION_KEYS = new Set([\n 'Tab',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Home',\n 'End',\n 'PageDown',\n 'PageUp',\n]);\n\nconst states = new WeakMap<Document, FocusHandoffState>();\n\nconst ensureFocusHandoff = (document: Document): FocusHandoffState => {\n const existing = states.get(document);\n if (existing) return existing;\n\n const state: FocusHandoffState = {\n pointerDown: false,\n pointerFocused: null,\n indicatorSuppressed: null,\n shortcut: false,\n shortcutReset: undefined,\n };\n states.set(document, state);\n\n const clearSuppressedIndicator = (): void => {\n state.indicatorSuppressed?.removeAttribute('data-ui-focus-indicator');\n state.indicatorSuppressed = null;\n };\n\n document.addEventListener('pointerdown', () => {\n state.pointerDown = true;\n }, true);\n document.addEventListener('focusin', (event) => {\n state.pointerFocused = state.pointerDown && event.target instanceof HTMLElement\n ? event.target\n : null;\n }, true);\n document.addEventListener('pointerup', (event) => {\n const active = document.activeElement;\n state.pointerFocused = active instanceof HTMLElement\n && active !== document.body\n && event.composedPath().some((entry) => entry === active)\n ? active\n : null;\n state.pointerDown = false;\n }, true);\n document.addEventListener('pointercancel', () => {\n state.pointerDown = false;\n }, true);\n document.addEventListener('keydown', (event) => {\n clearSuppressedIndicator();\n if (NAVIGATION_KEYS.has(event.key)) {\n state.pointerFocused = null;\n }\n }, true);\n document.addEventListener('focusout', (event) => {\n if (event.target === state.indicatorSuppressed) clearSuppressedIndicator();\n }, true);\n document.defaultView?.addEventListener('blur', () => {\n state.pointerDown = false;\n state.pointerFocused = null;\n clearSuppressedIndicator();\n });\n return state;\n};\n\nconst beginShortcutFocusHandoff = (document: Document): void => {\n const state = ensureFocusHandoff(document);\n const active = document.activeElement;\n if (active instanceof HTMLElement && active === state.pointerFocused) active.blur();\n state.pointerFocused = null;\n state.shortcut = true;\n if (state.shortcutReset !== undefined) document.defaultView?.clearTimeout(state.shortcutReset);\n state.shortcutReset = document.defaultView?.setTimeout(() => {\n state.shortcut = false;\n state.shortcutReset = undefined;\n });\n};\n\nconst isShortcutFocusHandoff = (document: Document): boolean => ensureFocusHandoff(document).shortcut;\n\nconst focusWithoutIndicator = (element: HTMLElement): void => {\n const state = ensureFocusHandoff(element.ownerDocument);\n state.indicatorSuppressed?.removeAttribute('data-ui-focus-indicator');\n element.focus({preventScroll: true, focusVisible: false});\n element.setAttribute('data-ui-focus-indicator', 'suppressed');\n state.indicatorSuppressed = element;\n};\n\nexport {\n beginShortcutFocusHandoff,\n ensureFocusHandoff,\n focusWithoutIndicator,\n isShortcutFocusHandoff,\n};\n"],"mappings":"AAQA,IAAM,EAAkB,IAAI,IAAI,CAC5B,MACA,YACA,YACA,aACA,UACA,OACA,MACA,WACA,QACJ,CAAC,EAEK,EAAS,IAAI,QAEb,EAAsB,GAA0C,CAClE,IAAM,EAAW,EAAO,IAAI,CAAQ,EACpC,GAAI,EAAU,OAAO,EAErB,IAAM,EAA2B,CAC7B,YAAa,GACb,eAAgB,KAChB,oBAAqB,KACrB,SAAU,GACV,cAAe,IAAA,EACnB,EACA,EAAO,IAAI,EAAU,CAAK,EAE1B,IAAM,MAAuC,CACzC,EAAM,qBAAqB,gBAAgB,yBAAyB,EACpE,EAAM,oBAAsB,IAChC,EAoCA,OAlCA,EAAS,iBAAiB,kBAAqB,CAC3C,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,UAAY,GAAU,CAC5C,EAAM,eAAiB,EAAM,aAAe,EAAM,kBAAkB,YAC9D,EAAM,OACN,IACV,EAAG,EAAI,EACP,EAAS,iBAAiB,YAAc,GAAU,CAC9C,IAAM,EAAS,EAAS,cACxB,EAAM,eAAiB,aAAkB,aAClC,IAAW,EAAS,MACpB,EAAM,aAAa,EAAE,KAAM,GAAU,IAAU,CAAM,EACtD,EACA,KACN,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,oBAAuB,CAC7C,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,UAAY,GAAU,CAC5C,EAAyB,EACrB,EAAgB,IAAI,EAAM,GAAG,IAC7B,EAAM,eAAiB,KAE/B,EAAG,EAAI,EACP,EAAS,iBAAiB,WAAa,GAAU,CACzC,EAAM,SAAW,EAAM,qBAAqB,EAAyB,CAC7E,EAAG,EAAI,EACP,EAAS,aAAa,iBAAiB,WAAc,CACjD,EAAM,YAAc,GACpB,EAAM,eAAiB,KACvB,EAAyB,CAC7B,CAAC,EACM,CACX,EAEM,EAA6B,GAA6B,CAC5D,IAAM,EAAQ,EAAmB,CAAQ,EACnC,EAAS,EAAS,cACpB,aAAkB,aAAe,IAAW,EAAM,gBAAgB,EAAO,KAAK,EAClF,EAAM,eAAiB,KACvB,EAAM,SAAW,GACb,EAAM,gBAAkB,IAAA,IAAW,EAAS,aAAa,aAAa,EAAM,aAAa,EAC7F,EAAM,cAAgB,EAAS,aAAa,eAAiB,CACzD,EAAM,SAAW,GACjB,EAAM,cAAgB,IAAA,EAC1B,CAAC,CACL,EAEM,EAA0B,GAAgC,EAAmB,CAAQ,EAAE,SAEvF,EAAyB,GAA+B,CAC1D,IAAM,EAAQ,EAAmB,EAAQ,aAAa,EACtD,EAAM,qBAAqB,gBAAgB,yBAAyB,EACpE,EAAQ,MAAM,CAAC,cAAe,GAAM,aAAc,EAAK,CAAC,EACxD,EAAQ,aAAa,0BAA2B,YAAY,EAC5D,EAAM,oBAAsB,CAChC"}
@@ -1,2 +0,0 @@
1
- var e=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`,`[contenteditable="true"]`].join(`,`),t=e=>!e.hasAttribute(`disabled`)&&e.getAttribute(`aria-disabled`)!==`true`&&!e.hidden&&e.tabIndex!==-1,n=n=>n.matches(e)&&t(n)?n:n.querySelector(e)??n,r=n=>Array.from(n.querySelectorAll(e)).filter(t),i=e=>{(r(e)[0]??e).focus({preventScroll:!0})},a=(e,t)=>{if(e.key!==`Tab`)return;let n=r(t);if(n.length===0){e.preventDefault(),t.focus({preventScroll:!0});return}let i=n[0],a=n.at(-1);e.shiftKey&&document.activeElement===i?(e.preventDefault(),a.focus({preventScroll:!0})):!e.shiftKey&&document.activeElement===a&&(e.preventDefault(),i.focus({preventScroll:!0}))};export{t as a,r as i,n,a as o,i as r,e as t};
2
- //# sourceMappingURL=focus-scope-DtaPVNl5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focus-scope-DtaPVNl5.js","names":[],"sources":["../../../../../../../../client/src/runtime/focus-scope.ts"],"sourcesContent":["const FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n '[contenteditable=\"true\"]',\n].join(',');\n\nconst isFocusable = (el: HTMLElement): boolean => (\n !el.hasAttribute('disabled')\n && el.getAttribute('aria-disabled') !== 'true'\n && !el.hidden\n && el.tabIndex !== -1\n);\n\nconst closestFocusable = (el: HTMLElement): HTMLElement => {\n if (el.matches(FOCUSABLE_SELECTOR) && isFocusable(el)) return el;\n return el.querySelector<HTMLElement>(FOCUSABLE_SELECTOR) ?? el;\n};\n\nconst focusableElements = (scope: HTMLElement): HTMLElement[] => (\n Array.from(scope.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)).filter(isFocusable)\n);\n\nconst focusFirst = (scope: HTMLElement): void => {\n (focusableElements(scope)[0] ?? scope).focus({preventScroll: true});\n};\n\nconst trapFocus = (event: KeyboardEvent, scope: HTMLElement): void => {\n if (event.key !== 'Tab') return;\n const focusable = focusableElements(scope);\n if (focusable.length === 0) {\n event.preventDefault();\n scope.focus({preventScroll: true});\n return;\n }\n const first = focusable[0] as HTMLElement;\n const last = focusable.at(-1) as HTMLElement;\n if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n last.focus({preventScroll: true});\n } else if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n first.focus({preventScroll: true});\n }\n};\n\nexport {FOCUSABLE_SELECTOR, closestFocusable, focusFirst, focusableElements, isFocusable, trapFocus};\n"],"mappings":"AAAA,IAAM,EAAqB,CACvB,UACA,aACA,yBACA,wBACA,yBACA,2BACA,kCACA,0BACJ,EAAE,KAAK,GAAG,EAEJ,EAAe,GACjB,CAAC,EAAG,aAAa,UAAU,GACxB,EAAG,aAAa,eAAe,IAAM,QACrC,CAAC,EAAG,QACJ,EAAG,WAAa,GAGjB,EAAoB,GAClB,EAAG,QAAQ,CAAkB,GAAK,EAAY,CAAE,EAAU,EACvD,EAAG,cAA2B,CAAkB,GAAK,EAG1D,EAAqB,GACvB,MAAM,KAAK,EAAM,iBAA8B,CAAkB,CAAC,EAAE,OAAO,CAAW,EAGpF,EAAc,GAA6B,EAC5C,EAAkB,CAAK,EAAE,IAAM,GAAO,MAAM,CAAC,cAAe,EAAI,CAAC,CACtE,EAEM,GAAa,EAAsB,IAA6B,CAClE,GAAI,EAAM,MAAQ,MAAO,OACzB,IAAM,EAAY,EAAkB,CAAK,EACzC,GAAI,EAAU,SAAW,EAAG,CACxB,EAAM,eAAe,EACrB,EAAM,MAAM,CAAC,cAAe,EAAI,CAAC,EACjC,MACJ,CACA,IAAM,EAAQ,EAAU,GAClB,EAAO,EAAU,GAAG,EAAE,EACxB,EAAM,UAAY,SAAS,gBAAkB,GAC7C,EAAM,eAAe,EACrB,EAAK,MAAM,CAAC,cAAe,EAAI,CAAC,GACzB,CAAC,EAAM,UAAY,SAAS,gBAAkB,IACrD,EAAM,eAAe,EACrB,EAAM,MAAM,CAAC,cAAe,EAAI,CAAC,EAEzC"}
@@ -1,2 +0,0 @@
1
- var e=`$`,t={type:`@@init`},n=e=>typeof e==`string`?{type:e}:e,r=e=>e===void 0?[]:Array.isArray(e)?e:[e],i=e=>typeof e==`string`?{target:e}:e,a=(t,n)=>n===e||t===n||t.startsWith(`${n}.`),o=t=>{let n=new Map,a=new Map,o=new Map,s=0,c=(e,t)=>{if(e.length===0)throw Error(`Invalid empty machine state id at "${t}"`);let n=a.get(e);if(n)throw Error(`Duplicate machine state id "${e}" at "${n}" and "${t}"`);a.set(e,t)},l=(e,t,n,i,a=!1)=>{let o={key:e,path:t,order:a?-1:0,type:n.type??(n.states&&Object.keys(n.states).length>0?`compound`:`final`),initialLeaves:[],children:[],tags:n.tags??[],reduce:r(n.reduce),entry:r(n.entry),exit:r(n.exit),on:{}};return n.id!==void 0&&(o.id=n.id),n.initial!==void 0&&(o.initial=n.initial),i!==void 0&&(o.parent=i),o},u=l(e,e,t,void 0,!0);n.set(e,u),o.set(e,t),u.id!==void 0&&c(u.id,e);let d=(t,r)=>Object.entries(t).map(([t,i])=>{if(t.length===0||t===e||t.includes(`.`)||t.startsWith(`#`))throw Error(`Invalid machine state key "${t}" under "${r}"`);let a=r===e?t:`${r}.${t}`;if(n.has(a))throw Error(`Duplicate derived machine state path "${a}"`);let u=l(t,a,i,r);return n.set(a,u),o.set(a,i),u.id!==void 0&&c(u.id,a),u.children=i.states?d(i.states,a):[],u.order=s++,a});u.children=d(t.states,e),n.forEach(t=>{if(t.type===`final`){if(t.children.length>0)throw Error(`Final machine state "${t.path}" cannot define children`);if(t.initial!==void 0)throw Error(`Final machine state "${t.path}" cannot define an initial child`);return}if(t.children.length===0){let e=t.type===`parallel`?`Parallel`:`Compound`;throw Error(`${e} machine state "${t.path}" requires children`)}if(t.type===`parallel`){if(t.initial!==void 0)throw Error(`Parallel machine state "${t.path}" cannot define an initial child`);return}if(t.initial===void 0)throw Error(`Machine state "${t.path}" requires an initial child`);let n=t.path===e?t.initial:`${t.path}.${t.initial}`;if(!t.children.includes(n))throw Error(`Invalid initial child "${t.initial}" for machine state "${t.path}"`);t.initial=n});let f=t=>{let r=n.get(t);return r.type===`final`?t===e?[]:[t]:r.type===`parallel`?r.children.flatMap(f):f(r.initial)};n.forEach(e=>{e.initialLeaves=f(e.path)});let p=(t,r)=>{if(t.startsWith(`#`))return a.get(t.slice(1));if(t===e||n.has(t))return t;if(r.parent){let e=`${r.parent}.${t}`;if(n.has(e))return e}};return n.forEach(e=>{let t=o.get(e.path)?.on??{};Object.entries(t).forEach(([t,n])=>{let a=r(n);e.on[t]=a.map((n,r)=>{let o=i(n);if(o.target===void 0)return{...o};let s=p(o.target,e);if(s===void 0){let n=a.length>1?` at index ${r}`:``;throw Error(`Invalid transition target "${o.target}" from state "${e.path}" for event "${t}"${n}`)}return{...o,target:s}})})}),{nodes:n}},s=(i,s)=>{let{nodes:c}=o(i),l=new Set,u=new Set,d=new Map,f=new Map,p=new Map,m=[],h=!1,g=!1,_=e=>{let t=c.get(e);if(!t)throw Error(`Unknown machine state: ${e}`);return t},v=t=>{let n=[],r=t;for(;r;){let t=_(r);n.push(t),r=t.parent??(r===e?void 0:e)}return n},y=e=>{let t=new Set;return e.forEach(e=>v(e).forEach(e=>t.add(e.path))),Array.from(t).map(_).sort((e,t)=>e.order-t.order)},b=e=>[..._(e).initialLeaves],x=e=>e.length===1?e[0]:Object.freeze([...e]),S=e=>Object.freeze(Array.from(new Set(y(e).flatMap(e=>e.tags)))),C=()=>Object.freeze(Object.fromEntries(f)),w=b(e),T=Object.freeze({value:x(w),tags:S(w),context:Object.freeze({...s.context}),props:Object.freeze({...s.props??{}}),generations:Object.freeze({})}),E=(e,t=T)=>({snapshot:t,context:t.context,props:t.props,event:e,state:t.value}),D=e=>`${e}:${f.get(e)??0}`,O=(e,t)=>{if(typeof t!=`function`)return;let n=D(e),r=p.get(n)??[];r.push(t),p.set(n,r)},k=e=>{let t=D(e),n=p.get(t);n&&(n.splice(0).reverse().forEach(e=>e()),p.delete(t))},A=e=>typeof e==`function`?e:s.effects?.[e],j=(e,t,n,r=!0)=>{e.forEach(e=>{let i=A(e);if(!i)throw Error(`Unknown machine effect: ${String(e)}`);let a=i(E(t));r&&O(n,a)})},M=e=>typeof e==`function`?e:s.reducers?.[e],N=(e,t,n)=>{let r={},i={},a=new Set,o=new Set;return e.forEach(e=>{let s=M(e);if(!s)throw Error(`Unknown machine reducer: ${String(e)}`);let c=s(E(t,n));c&&(Reflect.ownKeys(c.context??{}).forEach(e=>{if(a.has(e))throw Error(`Conflicting machine context update: ${String(e)}`);a.add(e),Reflect.set(r,e,Reflect.get(c.context,e))}),Reflect.ownKeys(c.props??{}).forEach(e=>{if(o.has(e))throw Error(`Conflicting machine prop update: ${String(e)}`);o.add(e),Reflect.set(i,e,Reflect.get(c.props,e))}))}),{context:Object.freeze({...n.context,...r}),props:Object.freeze({...n.props,...i})}},P=(e,t,n)=>{if(!e)return!0;let r=typeof e==`function`?e:s.guards?.[e];if(!r)throw Error(`Unknown machine guard: ${String(e)}`);return r(E(t,n))},F=(e,t)=>{let n=new Map;w.forEach(i=>{for(let a of v(i)){let i=r(a.on[e.type]).find(n=>P(n.guard,e,t));i&&n.set(a.path,{source:a,definition:i})}});let i=Array.from(n.values());return i.filter(e=>!i.some(t=>t!==e&&a(e.source.path,t.source.path))).sort((e,t)=>e.source.order-t.source.order)},I=(t,n)=>{let r=new Set(v(n).map(e=>e.path));return v(t).find(e=>r.has(e.path))?.path??e},L=(e,t)=>{let n=I(e,t);if(e===t||n===e)return e;let r=v(e),i=r.findIndex(e=>e.path===n);return r[Math.max(0,i-1)]?.path??e},R=e=>{let t=[...w];return e.forEach(({source:e,definition:n})=>{if(n.target===void 0)return;let r=n.target,i=L(e.path,r);t=t.filter(e=>!a(e,i)),t.push(...b(r))}),Array.from(new Set(t)).sort((e,t)=>_(e).order-_(t).order)},z=e=>{if(typeof e.__state==`string`&&typeof e.__generation==`number`&&f.get(e.__state)!==e.__generation)return;let t=T,n=F(e,t);if(n.length===0)return;let i=R(n),o=y(w),s=y(i),c=new Set(o.map(e=>e.path)),p=new Set(s.map(e=>e.path)),m=n.flatMap(({source:e,definition:t})=>t.target===void 0?[]:t.target===e.path?o.filter(t=>a(t.path,e.path)).map(e=>e.path):[]),h=new Set(m),g=o.filter(e=>!p.has(e.path)||h.has(e.path)).sort((e,t)=>t.path.split(`.`).length-e.path.split(`.`).length||t.order-e.order),_=s.filter(e=>!c.has(e.path)||h.has(e.path)).sort((e,t)=>e.path.split(`.`).length-t.path.split(`.`).length||e.order-t.order);g.forEach(t=>{k(t.path),j(t.exit,e,t.path,!1),f.delete(t.path)});let v=N([...n.flatMap(({definition:e})=>r(e.reduce)),..._.flatMap(e=>e.reduce)],e,t);_.forEach(e=>{let t=(d.get(e.path)??0)+1;d.set(e.path,t),f.set(e.path,t)}),w=i,T=Object.freeze({value:x(w),tags:S(w),context:v.context,props:v.props,generations:C()}),n.forEach(({source:t,definition:n})=>j(r(n.effects),e,t.path)),_.forEach(t=>j(t.entry,e,t.path)),l.forEach(e=>e(T)),_.forEach(n=>{let r=f.get(n.path);if(r===void 0)return;let i=Object.freeze({path:n.path,generation:r,from:t.value,to:T.value,event:e,snapshot:T});u.forEach(e=>e(i))})},B={get state(){return T.value},get context(){return T.context},get props(){return T.props},getSnapshot(){return T},send(e){if(!g&&(m.push(n(e)),!h)){h=!0;try{for(;m.length>0&&!g;)z(m.shift())}finally{h=!1}}},subscribe(e){return g?()=>{}:(l.add(e),()=>l.delete(e))},subscribeEntries(e){return g?()=>{}:(u.add(e),()=>u.delete(e))},matches(e){return w.some(t=>t===e||t.split(`.`).at(-1)===e||a(t,e))},hasTag(e){return T.tags.includes(e)},stop(){g||=(y(w).sort((e,t)=>t.path.split(`.`).length-e.path.split(`.`).length||t.order-e.order).forEach(e=>k(e.path)),l.clear(),u.clear(),m.splice(0),f.clear(),!0)}};y(w).forEach(e=>{let t=(d.get(e.path)??0)+1;d.set(e.path,t),f.set(e.path,t)});let V=N(y(w).flatMap(e=>e.reduce),t,T);return T=Object.freeze({value:x(w),tags:S(w),context:V.context,props:V.props,generations:C()}),y(w).forEach(e=>j(e.entry,t,e.path)),B};export{s as t};
2
- //# sourceMappingURL=machine-DQfpKM3w.js.map
@@ -1,3 +0,0 @@
1
- import{f as e,p as t}from"./ui-BGfrCghL.js";var n=Object.freeze({fast:Object.freeze({duration:.08}),moderate:Object.freeze({duration:.16}),slow:Object.freeze({duration:.24})}),r={out:[.23,1,.32,1],inOut:[.77,0,.175,1]},i=Object.freeze({feedback:Object.freeze({duration:n.fast.duration,ease:r.out}),presence:Object.freeze({duration:n.moderate.duration,ease:r.out}),presenceEmphasized:Object.freeze({duration:n.slow.duration,ease:r.out}),layout:Object.freeze({duration:n.moderate.duration,ease:r.inOut}),layoutQuick:Object.freeze({duration:n.fast.duration,ease:r.inOut}),layoutSpring:Object.freeze({visualDuration:n.moderate.duration,bounce:0}),resize:Object.freeze({visualDuration:n.moderate.duration,bounce:0}),gestureExit:Object.freeze({duration:n.moderate.duration,ease:r.out}),gestureSettle:Object.freeze({visualDuration:n.slow.duration,bounce:0})}),a=new Set([`layoutSpring`,`resize`,`gestureSettle`]),o=new Set([`feedback`,`presence`,`presenceEmphasized`,`layout`,`layoutQuick`,`layoutSpring`,`resize`,`gestureSettle`]),s={feedback:`feedback`,presence:`presence`,presenceEmphasized:`presence-emphasized`,layout:`layout`,layoutQuick:`layout-quick`,layoutSpring:`layout-spring`,resize:`resize`,gestureExit:`gesture-exit`,gestureSettle:`gesture-settle`},c={feedback:`fast`,presence:`moderate`,presenceEmphasized:`slow`,layout:`moderate`,layoutQuick:`fast`,layoutSpring:`moderate`,resize:`moderate`,gestureExit:`moderate`,gestureSettle:`slow`},l=(e,t)=>{let n=Number.parseFloat(e.getPropertyValue(t));return Number.isFinite(n)?n:void 0},u=(e,t)=>{let n=e.getPropertyValue(t).trim().toLowerCase(),r=Number.parseFloat(n);if(Number.isFinite(r))return n.endsWith(`ms`)?r:n.endsWith(`s`)?r*1e3:r},d=(e,t)=>{let n=getComputedStyle(e),r=u(n,`--motion-duration-${c[t]}`),d=l(n,`--motion-bounce-${s[t]}`),f=i[t];return a.has(t)||o.has(t)&&(d??0)>0?{visualDuration:r===void 0?`visualDuration`in f?f.visualDuration:f.duration:r/1e3,bounce:d??(`bounce`in f?f.bounce:0)}:{duration:r===void 0?`duration`in f?f.duration:f.visualDuration:r/1e3,...`ease`in f?{ease:f.ease}:{}}},f=(e,t)=>a.has(e)||t!==void 0&&o.has(e)&&(l(getComputedStyle(t),`--motion-bounce-${s[e]}`)??0)>0,p=(e,t)=>d(e,t),m=Object.freeze({opacity:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1])}),out:Object.freeze({opacity:Object.freeze([1,0])})}),popover:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),scale:Object.freeze([.97,1])}),out:Object.freeze({opacity:Object.freeze([1,0]),scale:Object.freeze([1,.97])})}),modal:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),y:Object.freeze([`calc(8px * var(--motion-displacement-scale, 1))`,`0px`]),scale:Object.freeze([.98,1])}),out:Object.freeze({opacity:Object.freeze([1,0]),y:Object.freeze([`0px`,`calc(8px * var(--motion-displacement-scale, 1))`]),scale:Object.freeze([1,.98])})}),toast:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(calc(var(--ui-toast-stack-offset, 0px) + var(--ui-toast-outside, -100%))) scale(var(--ui-toast-stack-scale, 1))`,`translateY(var(--ui-toast-stack-offset, 0px)) scale(var(--ui-toast-stack-scale, 1))`])}),out:Object.freeze({opacity:0,transform:`translateY(calc(var(--ui-toast-stack-offset, 0px) + var(--ui-toast-outside, -100%))) scale(var(--ui-toast-stack-scale, 1))`})}),sheet:Object.freeze({left:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateX(-100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateX(-100%)`})}),right:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateX(100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateX(100%)`})}),top:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(-100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateY(-100%)`})}),bottom:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateY(100%)`})})})}),h=(e=`moderate`,t)=>{if(typeof e!=`string`)return e;if(t===void 0)return n[e];let r=u(getComputedStyle(t),`--motion-duration-${e}`);return r===void 0?n[e]:{duration:r/1e3}},g=e=>Array.isArray(e)?e[e.length-1]:e,_=`(prefers-reduced-motion: reduce)`,v=()=>typeof window>`u`||typeof window.matchMedia!=`function`?!1:window.matchMedia(_).matches,y=(e=`user`)=>e===`always`?!0:e===`never`?!1:v(),b=(e,t={},n=`user`)=>y(n)?{...e,duration:0,...t}:e;function x(e,t){e.indexOf(t)===-1&&e.push(t)}function S(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var C=(e,t,n)=>n>t?t:n<e?e:n;function w(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}var T={},ee=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),te=e=>typeof e==`object`&&!!e,ne=e=>/^0[^.\s]+$/u.test(e);function re(e){let t;return()=>(t===void 0&&(t=e()),t)}var E=e=>e,ie=(...e)=>e.reduce((e,t)=>n=>t(e(n))),ae=(e,t,n)=>{let r=t-e;return r?(n-e)/r:1},oe=class{constructor(){this.subscriptions=[]}add(e){return x(this.subscriptions,e),()=>S(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},D=e=>e*1e3,O=e=>e/1e3,se=(e,t)=>t?1e3/t*e:0,ce=new Set;function le(e,t,n){e||ce.has(t)||(console.warn(w(t,n)),ce.add(t))}var ue=(e,t,n)=>{let r=t-e;return((n-e)%r+r)%r+e},de=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,fe=1e-7,pe=12;function me(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=de(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>fe&&++s<pe);return o}function he(e,t,n,r){if(e===t&&n===r)return E;let i=t=>me(t,0,1,e,n);return e=>e===0||e===1?e:de(i(e),t,r)}var ge=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,_e=e=>t=>1-e(1-t),ve=he(.33,1.53,.69,.99),ye=_e(ve),be=ge(ye),xe=e=>e>=1?1:(e*=2)<1?.5*ye(e):.5*(2-2**(-10*(e-1))),Se=e=>1-Math.sin(Math.acos(e)),Ce=_e(Se),we=ge(Se),Te=he(.42,0,1,1),Ee=he(0,0,.58,1),De=he(.42,0,.58,1),Oe=e=>Array.isArray(e)&&typeof e[0]!=`number`;function ke(e,t){return Oe(e)?e[ue(0,e.length,t)]:e}var Ae=e=>Array.isArray(e)&&typeof e[0]==`number`,je={linear:E,easeIn:Te,easeInOut:De,easeOut:Ee,circIn:Se,circInOut:we,circOut:Ce,backIn:ye,backInOut:be,backOut:ve,anticipate:xe},Me=e=>typeof e==`string`,Ne=e=>{if(Ae(e)){e.length;let[t,n,r,i]=e;return he(t,n,r,i)}else if(Me(e))return je[e],`${e}`,je[e];return e},Pe=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`];function Fe(e){let t=new Set,n=new Set,r=!1,i=!1,a=new WeakSet,o={delta:0,timestamp:0,isProcessing:!1};function s(t){a.has(t)&&(c.schedule(t),e()),t(o)}let c={schedule:(e,i=!1,o=!1)=>{let s=o&&r?t:n;return i&&a.add(e),s.add(e),e},cancel:e=>{n.delete(e),a.delete(e)},process:e=>{if(o=e,r){i=!0;return}r=!0;let a=t;t=n,n=a,t.forEach(s),t.clear(),r=!1,i&&(i=!1,c.process(e))}};return c}var Ie=40;function Le(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=Pe.reduce((e,t)=>(e[t]=Fe(a),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=T.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,Ie),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:Pe.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<Pe.length;t++)o[Pe[t]].cancel(e)},state:i,steps:o}}var{schedule:k,cancel:Re,state:ze,steps:Be}=Le(typeof requestAnimationFrame<`u`?requestAnimationFrame:E,!0),Ve;function He(){Ve=void 0}var A={now:()=>(Ve===void 0&&A.set(ze.isProcessing||T.useManualTiming?ze.timestamp:performance.now()),Ve),set:e=>{Ve=e,queueMicrotask(He)}},Ue=e=>t=>typeof t==`string`&&t.startsWith(e),We=Ue(`--`),Ge=Ue(`var(--`),Ke=e=>Ge(e)?qe.test(e.split(`/*`)[0].trim()):!1,qe=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Je(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var j={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Ye={...j,transform:e=>C(0,1,e)},Xe={...j,default:1},Ze=e=>Math.round(e*1e5)/1e5,Qe=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function $e(e){return e==null}var et=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,tt=(e,t)=>n=>!!(typeof n==`string`&&et.test(n)&&n.startsWith(e)||t&&!$e(n)&&Object.prototype.hasOwnProperty.call(n,t)),nt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Qe);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},rt=e=>C(0,255,e),it={...j,transform:e=>Math.round(rt(e))},M={test:tt(`rgb`,`red`),parse:nt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+it.transform(e)+`, `+it.transform(t)+`, `+it.transform(n)+`, `+Ze(Ye.transform(r))+`)`};function at(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var ot={test:tt(`#`),parse:at,transform:M.transform},st=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),N=st(`deg`),ct=st(`%`),P=st(`px`),lt=st(`vh`),ut=st(`vw`),dt={...ct,parse:e=>ct.parse(e)/100,transform:e=>ct.transform(e*100)},F={test:tt(`hsl`,`hue`),parse:nt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+ct.transform(Ze(t))+`, `+ct.transform(Ze(n))+`, `+Ze(Ye.transform(r))+`)`},I={test:e=>M.test(e)||ot.test(e)||F.test(e),parse:e=>M.test(e)?M.parse(e):F.test(e)?F.parse(e):ot.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?M.transform(e):F.transform(e),getAnimatableNone:e=>{let t=I.parse(e);return t.alpha=0,I.transform(t)}},ft=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function pt(e){return isNaN(e)&&typeof e==`string`&&(e.match(Qe)?.length||0)+(e.match(ft)?.length||0)>0}var mt=`number`,ht=`color`,gt=`var`,_t=`var(`,vt="${}",yt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function L(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(yt,e=>(I.test(e)?(r.color.push(a),i.push(ht),n.push(I.parse(e))):e.startsWith(_t)?(r.var.push(a),i.push(gt),n.push(e)):(r.number.push(a),i.push(mt),n.push(parseFloat(e))),++a,vt)).split(vt),indexes:r,types:i}}function bt(e){return L(e).values}function xt({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===mt?i+=Ze(r[a]):e===ht?i+=I.transform(r[a]):i+=r[a]}return i}}function St(e){return xt(L(e))}var Ct=e=>typeof e==`number`?0:I.test(e)?I.getAnimatableNone(e):e,wt=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:Ct(e);function Tt(e){let t=L(e);return xt(t)(t.values.map((e,n)=>wt(e,t.split[n])))}var R={test:pt,parse:bt,createTransformer:St,getAnimatableNone:Tt};function Et(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Dt({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=Et(s,r,e+1/3),a=Et(s,r,e),o=Et(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Ot(e,t){return n=>n>0?t:e}var z=(e,t,n)=>e+(t-e)*n,kt=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},At=[ot,M,F],jt=e=>At.find(t=>t.test(e));function Mt(e){let t=jt(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===F&&(n=Dt(n)),n}var Nt=(e,t)=>{let n=Mt(e),r=Mt(t);if(!n||!r)return Ot(e,t);let i={...n};return e=>(i.red=kt(n.red,r.red,e),i.green=kt(n.green,r.green,e),i.blue=kt(n.blue,r.blue,e),i.alpha=z(n.alpha,r.alpha,e),M.transform(i))},Pt=new Set([`none`,`hidden`]);function Ft(e,t){return Pt.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function It(e,t){return n=>z(e,t,n)}function Lt(e){return typeof e==`number`?It:typeof e==`string`?Ke(e)?Ot:I.test(e)?Nt:Vt:Array.isArray(e)?Rt:typeof e==`object`?I.test(e)?Nt:zt:Ot}function Rt(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Lt(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function zt(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Lt(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function Bt(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var Vt=(e,t)=>{let n=R.createTransformer(t),r=L(e),i=L(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Pt.has(e)&&!i.values.length||Pt.has(t)&&!r.values.length?Ft(e,t):ie(Rt(Bt(r,i),i.values),n):(`${e}${t}`,Ot(e,t))};function Ht(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?z(e,t,n):Lt(e)(e,t)}var Ut=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>k.update(t,e),stop:()=>Re(t),now:()=>ze.isProcessing?ze.timestamp:A.now()}},Wt=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Gt=2e4;function Kt(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function qt(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Kt(r),Gt);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:O(i)}}var B={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Jt(e,t){return e*Math.sqrt(1-t*t)}var Yt=12;function Xt(e,t,n){let r=n;for(let n=1;n<Yt;n++)r-=e(r)/t(r);return r}var Zt=.001;function Qt({duration:e=B.duration,bounce:t=B.bounce,velocity:n=B.velocity,mass:r=B.mass}){let i,a;B.maxDuration;let o=1-t;o=C(B.minDamping,B.maxDamping,o),e=C(B.minDuration,B.maxDuration,O(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=Jt(t,o),c=Math.exp(-i);return Zt-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=Jt(t**2,o);return(-i(t)+Zt>0?-1:1)*((a-s)*c)/l}):(i=t=>-.001+Math.exp(-t*e)*((t-n)*e+1),a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Xt(i,a,s);if(e=D(e),isNaN(c))return{stiffness:B.stiffness,damping:B.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var $t=[`duration`,`bounce`],en=[`stiffness`,`damping`,`mass`];function tn(e,t){return t.some(t=>e[t]!==void 0)}function nn(e){let t={velocity:B.velocity,stiffness:B.stiffness,damping:B.damping,mass:B.mass,isResolvedFromDuration:!1,...e};if(!tn(e,en)&&tn(e,$t))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*C(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:B.mass,stiffness:i,damping:a}}else{let n=Qt({...e,velocity:0});t={...t,...n,mass:B.mass},t.isResolvedFromDuration=!0}return t}function V(e=B.visualDuration,t=B.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=nn({...n,velocity:-O(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=O(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?B.restSpeed.granular:B.restSpeed.default,i||=v?B.restDelta.granular:B.restDelta.default;let y,b,x,S,C,w;if(h<1)x=Jt(_,h),S=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(S*Math.sin(x*e)+g*Math.cos(x*e)),C=h*_*S+g*x,w=h*_*g-S*x,b=e=>Math.exp(-h*_*e)*(C*Math.sin(x*e)+w*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let T={calculatedDuration:p&&d||null,velocity:e=>D(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(S*n+g*a),l=D(t*(C*n+w*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=D(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Kt(T),Gt),t=Wt(t=>T.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return T}V.applyToOptions=e=>{let t=qt(e,100,V);return e.ease=t.ease,e.duration=D(t.duration),e.type=`keyframes`,e};var rn=5;function an(e,t,n){let r=Math.max(t-rn,0);return se(n-e(r),t-r)}function on({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=V({keyframes:[f.value,m(f.value)],velocity:an(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function sn(e,t,n){let r=[],i=n||T.mix||Ht,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=ie(Array.isArray(t)?t[n]||E:t,a)),r.push(a)}return r}function cn(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(t.length,a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=sn(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=ae(e[r],e[r+1],n);return s[r](i)};return n?t=>l(C(e[0],e[a-1],t)):l}function ln(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=ae(0,t,r);e.push(z(n,1,i))}}function un(e){let t=[0];return ln(t,e.length-1),t}function dn(e,t){return e.map(e=>e*t)}function fn(e,t){return e.map(()=>t||De).splice(0,e.length-1)}function pn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Oe(r)?r.map(Ne):Ne(r),a={done:!1,value:t[0]},o=cn(dn(n&&n.length===t.length?n:un(t),e),t,{ease:Array.isArray(i)?i:fn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var mn=e=>e!==null;function hn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(mn),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var gn={decay:on,inertia:on,tween:pn,keyframes:pn,spring:V};function _n(e){typeof e.type==`string`&&(e.type=gn[e.type])}var vn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},yn=e=>e/100,bn=class extends vn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==A.now()&&this.tick(A.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;_n(e);let{type:t=pn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||pn;s!==pn&&typeof o[0]!=`number`&&(this.mixKeyframes=ie(yn,Ht(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Kt(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=C(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==on&&(b.value=hn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return O(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+O(e)}get time(){return O(this.currentTime)}set time(e){e=D(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return an(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(A.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=O(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Ut,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(A.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function xn(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var H=e=>e*180/Math.PI,Sn=e=>wn(H(Math.atan2(e[1],e[0]))),Cn={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Sn,rotateZ:Sn,skewX:e=>H(Math.atan(e[1])),skewY:e=>H(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},wn=e=>(e%=360,e<0&&(e+=360),e),Tn=Sn,En=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Dn=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),On={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:En,scaleY:Dn,scale:e=>(En(e)+Dn(e))/2,rotateX:e=>wn(H(Math.atan2(e[6],e[5]))),rotateY:e=>wn(H(Math.atan2(-e[2],e[0]))),rotateZ:Tn,rotate:Tn,skewX:e=>H(Math.atan(e[4])),skewY:e=>H(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function kn(e){return+!!e.includes(`scale`)}function An(e,t){if(!e||e===`none`)return kn(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=On,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Cn,i=t}if(!i)return kn(t);let a=r[t],o=i[1].split(`,`).map(Mn);return typeof a==`function`?a(o):o[a]}var jn=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return An(n,t)};function Mn(e){return parseFloat(e.trim())}var Nn=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],Pn=new Set([...Nn,`pathRotation`]),Fn=e=>e===j||e===P,In=new Set([`x`,`y`,`z`]),Ln=Nn.filter(e=>!In.has(e));function Rn(e){let t=[];return Ln.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var U={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>An(t,`x`),y:(e,{transform:t})=>An(t,`y`)};U.translateX=U.x,U.translateY=U.y;var W=new Set,zn=!1,Bn=!1,Vn=!1;function Hn(){if(Bn){let e=Array.from(W).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=Rn(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}Bn=!1,zn=!1,W.forEach(e=>e.complete(Vn)),W.clear()}function Un(){W.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Bn=!0)})}function Wn(){Vn=!0,Un(),Hn(),Vn=!1}var Gn=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(W.add(this),zn||(zn=!0,k.read(Un),k.resolveKeyframes(Hn))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),W.delete(this)}cancel(){this.state===`scheduled`&&(W.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},Kn=e=>e.startsWith(`--`);function qn(e,t,n){Kn(t)?e.style.setProperty(t,n):e.style[t]=n}var Jn={};function Yn(e,t){let n=re(e);return()=>Jn[t]??n()}var Xn=Yn(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),Zn=Yn(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Qn=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,$n={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Qn([0,.65,.55,1]),circOut:Qn([.55,0,1,.45]),backIn:Qn([.31,.01,.66,-.59]),backOut:Qn([.33,1.53,.69,.99])};function er(e,t){if(e)return typeof e==`function`?Zn()?Wt(e,t):`ease-out`:Ae(e)?Qn(e):Array.isArray(e)?e.map(e=>er(e,t)||$n.easeOut):$n[e]}function tr(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=er(s,i);Array.isArray(d)&&(u.easing=d);let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};return l&&(f.pseudoElement=l),e.animate(u,f)}function nr(e){return typeof e==`function`&&`applyToOptions`in e}function rr({type:e,...t}){return nr(e)&&Zn()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var ir=class extends vn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=rr(e);this.animation=tr(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=hn(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),qn(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return O(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+O(e)}get time(){return O(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=D(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Xn()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),E):r(this)}},ar={anticipate:xe,backInOut:be,circInOut:we};function or(e){return e in ar}function sr(e){typeof e.ease==`string`&&or(e.ease)&&(e.ease=ar[e.ease])}var cr=10,lr=class extends ir{constructor(e){sr(e),_n(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new bn({...a,autoplay:!1}),s=Math.max(cr,A.now()-this.startTime),c=C(0,cr,s-cr),l=o.sample(s).value,{name:u}=this.options;i&&u&&qn(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},ur=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(R.test(e)||e===`0`)&&!e.startsWith(`url(`));function dr(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function fr(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=ur(i,t),s=ur(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:dr(e)||(n===`spring`||nr(n))&&r}function pr(e){e.duration=0,e.type=`keyframes`}var mr=new Set([`opacity`,`clipPath`,`filter`,`transform`]),hr=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function gr(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&hr.test(e[t]))return!0;return!1}var _r=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),vr=re(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function yr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return vr()&&n&&(mr.has(n)||_r.has(n)&&gr(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var br=40,xr=class extends vn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=A.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u},f=l?.KeyframeResolver||Gn;this.keyframeResolver=new f(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=A.now();let u=!0;fr(e,i,a,o)||(u=!1,(T.instantAnimations||!s)&&l?.(hn(e,n,t)),e[0]=e[e.length-1],pr(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>br?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&yr(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new lr({...d,element:p})}catch{m=new bn(d)}else m=new bn(d);m.finished.then(()=>{this.notifyFinished()}).catch(E),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Wn()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}},Sr=class{constructor(e){this.stop=()=>this.runAll(`stop`),this.animations=e.filter(Boolean)}get finished(){return Promise.all(this.animations.map(e=>e.finished))}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n<this.animations.length;n++)this.animations[n][e]=t}attachTimeline(e){let t=this.animations.map(t=>t.attachTimeline(e));return()=>{t.forEach((e,t)=>{e&&e(),this.animations[t].stop()})}}get time(){return this.getAll(`time`)}set time(e){this.setAll(`time`,e)}get speed(){return this.getAll(`speed`)}set speed(e){this.setAll(`speed`,e)}get state(){return this.getAll(`state`)}get startTime(){return this.getAll(`startTime`)}get duration(){return Cr(this.animations,`duration`)}get iterationDuration(){return Cr(this.animations,`iterationDuration`)}runAll(e){this.animations.forEach(t=>t[e]())}play(){this.runAll(`play`)}pause(){this.runAll(`pause`)}cancel(){this.runAll(`cancel`)}complete(){this.runAll(`complete`)}};function Cr(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r][t];i!==null&&i>n&&(n=i)}return n}var wr=class extends Sr{then(e,t){return this.finished.finally(e).then(()=>{})}},Tr=class extends ir{constructor(e){super(),this.animation=e,e.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}},Er=new WeakMap,Dr=(e,t=``)=>`${e}:${t}`;function Or(e){let t=Er.get(e);return t||(t=new Map,Er.set(e,t)),t}var kr=30,Ar=e=>!isNaN(parseFloat(e)),jr={current:void 0},Mr=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=A.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=A.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ar(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new oe);let n=this.events[e].add(t);return e===`change`?()=>{n(),k.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return jr.current&&jr.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=A.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>kr)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,kr);return se(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function G(e,t){return new Mr(e,t)}function Nr(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function K(e,t){let n=e?.[t]??e?.default??e;return n===e?n:Nr(n,e)}var Pr={type:`spring`,stiffness:500,damping:25,restSpeed:10},Fr=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Ir={type:`keyframes`,duration:.8},Lr={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},Rr=(e,{keyframes:t})=>t.length>2?Ir:Pn.has(e)?e.startsWith(`scale`)?Fr(t[1]):Pr:Lr,zr=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function Br(e){for(let t in e)if(!zr.has(t))return!0;return!1}var Vr=(e,t,n,r={},i,a)=>o=>{let s=K(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=D(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};Br(s)||Object.assign(u,Rr(e,u)),u.duration&&=D(u.duration),u.repeatDelay&&=D(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(pr(u),u.delay===0&&(d=!0)),(T.instantAnimations||T.skipAnimations||i?.shouldSkipAnimations||s.skipAnimations)&&(d=!0,pr(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=hn(u.keyframes,s);if(e!==void 0){k.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new bn(u):new xr(u)},Hr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Ur(e){let t=Hr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function Wr(e,t,n=1){`${e}`;let[r,i]=Ur(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return ee(e)?parseFloat(e):e}return Ke(i)?Wr(i,t,n+1):i}function Gr(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function Kr(e,t,n,r){if(typeof t==`function`){let[i,a]=Gr(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=Gr(r);t=t(n===void 0?e.custom:n,i,a)}return t}function qr(e,t,n){let r=e.getProps();return Kr(r,t,n===void 0?r.custom:n,e)}var Jr=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...Nn]),Yr=e=>Array.isArray(e);function Xr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,G(n))}function Zr(e){return Yr(e)?e[e.length-1]||0:e}function Qr(e,t){let{transitionEnd:n={},transition:r={},...i}=qr(e,t)||{};i={...i,...n};for(let t in i)Xr(e,t,Zr(i[t]))}var q=e=>!!(e&&e.getVelocity);function $r(e){return!!(q(e)&&e.add)}function ei(e,t){let n=e.getValue(`willChange`);if($r(n))return n.add(t);if(!n&&T.WillChange){let n=new T.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function ti(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var ni=`data-`+ti(`framerAppearId`);function ri(e){return e.props[ni]}function ii({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function ai(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?Nr(a,c):c;let l=a?.reduceMotion,u=a?.skipAnimations;r&&(a=r);let d=[],f=i&&e.animationState&&e.animationState.getState()[i],p=a?.path;p&&p.animateVisualElement(e,s,a,n,d);for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||f&&ii(f,t))continue;let o={delay:n,...K(a||{},t)};u&&(o.skipAnimations=!0);let c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){k.update(()=>r.set(i));continue}let p=!1;if(window.MotionHandoffAnimation){let n=ri(e);if(n){let e=window.MotionHandoffAnimation(n,t,k);e!==null&&(o.startTime=e,p=!0)}}ei(e,t);let m=l??e.shouldReduceMotion;r.start(Vr(t,r,i,m&&Jr.has(t)?{type:!1}:o,e,p));let h=r.animation;h&&d.push(h)}if(o){let t=()=>k.update(()=>{o&&Qr(e,o)});d.length?Promise.all(d).then(t):t()}return d}var oi={test:e=>e===`auto`,parse:e=>e},si=e=>t=>t.test(e),ci=[j,P,ct,N,ut,lt,oi],li=e=>ci.find(si(e));function ui(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||ne(e)}var di=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function fi(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Qe)||[];if(!r)return e;let i=n.replace(r,``),a=+!!di.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var pi=/\b([a-z-]*)\(.*?\)/gu,mi={...R,getAnimatableNone:e=>{let t=e.match(pi);return t?t.map(fi).join(` `):e}},hi={...R,getAnimatableNone:e=>{let t=R.parse(e);return R.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},gi={...j,transform:Math.round},_i={borderWidth:P,borderTopWidth:P,borderRightWidth:P,borderBottomWidth:P,borderLeftWidth:P,borderRadius:P,borderTopLeftRadius:P,borderTopRightRadius:P,borderBottomRightRadius:P,borderBottomLeftRadius:P,width:P,maxWidth:P,height:P,maxHeight:P,top:P,right:P,bottom:P,left:P,inset:P,insetBlock:P,insetBlockStart:P,insetBlockEnd:P,insetInline:P,insetInlineStart:P,insetInlineEnd:P,padding:P,paddingTop:P,paddingRight:P,paddingBottom:P,paddingLeft:P,paddingBlock:P,paddingBlockStart:P,paddingBlockEnd:P,paddingInline:P,paddingInlineStart:P,paddingInlineEnd:P,margin:P,marginTop:P,marginRight:P,marginBottom:P,marginLeft:P,marginBlock:P,marginBlockStart:P,marginBlockEnd:P,marginInline:P,marginInlineStart:P,marginInlineEnd:P,fontSize:P,backgroundPositionX:P,backgroundPositionY:P,rotate:N,pathRotation:N,rotateX:N,rotateY:N,rotateZ:N,scale:Xe,scaleX:Xe,scaleY:Xe,scaleZ:Xe,skew:N,skewX:N,skewY:N,distance:P,translateX:P,translateY:P,translateZ:P,x:P,y:P,z:P,perspective:P,transformPerspective:P,opacity:Ye,originX:dt,originY:dt,originZ:P,zIndex:gi,fillOpacity:Ye,strokeOpacity:Ye,numOctaves:gi},vi={..._i,color:I,backgroundColor:I,outlineColor:I,fill:I,stroke:I,borderColor:I,borderTopColor:I,borderRightColor:I,borderBottomColor:I,borderLeftColor:I,filter:mi,WebkitFilter:mi,mask:hi,WebkitMask:hi},yi=e=>vi[e],bi=new Set([mi,hi]);function xi(e,t){let n=yi(e);return bi.has(n)||(n=R),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var Si=new Set([`auto`,`none`,`0`]);function Ci(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!Si.has(t)&&L(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=xi(n,i)}var wi=class extends Gn{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),Ke(r))){let i=Wr(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!Jr.has(n)||e.length!==2)return;let[r,i]=e,a=li(r),o=li(i);if(Je(r)!==Je(i)&&U[n]){this.needsMeasurement=!0;return}if(a!==o)if(Fn(a)&&Fn(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else U[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||ui(e[t]))&&n.push(t);n.length&&Ci(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=U[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=U[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}},Ti=new Set(`borderWidth.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderRadius.borderTopLeftRadius.borderTopRightRadius.borderBottomRightRadius.borderBottomLeftRadius.width.maxWidth.height.maxHeight.top.right.bottom.left.inset.insetBlock.insetBlockStart.insetBlockEnd.insetInline.insetInlineStart.insetInlineEnd.padding.paddingTop.paddingRight.paddingBottom.paddingLeft.paddingBlock.paddingBlockStart.paddingBlockEnd.paddingInline.paddingInlineStart.paddingInlineEnd.margin.marginTop.marginRight.marginBottom.marginLeft.marginBlock.marginBlockStart.marginBlockEnd.marginInline.marginInlineStart.marginInlineEnd.fontSize.backgroundPositionX.backgroundPositionY`.split(`.`));function Ei(e,t){for(let n=0;n<e.length;n++)typeof e[n]==`number`&&Ti.has(t)&&(e[n]=e[n]+`px`)}function Di(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var Oi=(e,t)=>t&&typeof e==`number`?t.transform(e):e,{schedule:ki,cancel:Ai}=Le(queueMicrotask,!1);function ji(e,t){let n=window.getComputedStyle(e);return Kn(t)?n.getPropertyValue(t):n[t]}function Mi(e){return te(e)&&`ownerSVGElement`in e}function Ni(e){return Mi(e)&&e.tagName===`svg`}var Pi=[...ci,I,R],Fi=e=>Pi.find(si(e)),Ii=0,Li=()=>`motion-view-${Ii++}`,Ri=e=>e.startsWith(`motion-view-`);function zi(e,t,n){t&&(e.style?.setProperty(`view-transition-class`,t),n.push(e))}function Bi(e,t,n,r,i){if(n&&(e.style?.setProperty(`view-transition-group`,n),r.push(e),n!==`none`&&i)){let n=getComputedStyle(e);(n.overflowX!==`visible`||n.overflowY!==`visible`)&&i.add(t)}}function Vi(e,t,n,r,i,a=[],o,s=[],c){let l=Di(e);if(r)return l.map((e,l)=>{let u=t.get(e);if(u)return u;let d=r[l]??Li();return e.style?.setProperty(`view-transition-name`,d),n.push(e),t.set(e,d),zi(e,i,a),Bi(e,d,o,s,c),d});let u=l.map(e=>t.has(e)?void 0:getComputedStyle(e).getPropertyValue(`view-transition-name`));return l.map((e,r)=>{let l=t.get(e);if(l)return l;let d=u[r],f;return d&&d!==`none`&&d!==`auto`&&d!==`match-element`&&!Ri(d)?f=d:(f=Li(),e.style?.setProperty(`view-transition-name`,f),n.push(e)),t.set(e,f),zi(e,i,a),Bi(e,f,o,s,c),f})}function Hi(e,t=[],n=[]){for(let t of e)t.style?.removeProperty(`view-transition-name`);for(let e of t)e.style?.removeProperty(`view-transition-class`);for(let e of n)e.style?.removeProperty(`view-transition-group`)}function Ui(e){return e===`layout`?`group`:e===`enter`||e===`new`?`new`:`old`}var Wi={},J=null,Y={set:(e,t)=>{Wi[e]=t},commit:()=>{J||(J=document.createElement(`style`),J.id=`motion-view`);let e=``;for(let t in Wi){let n=Wi[t];e+=`${t} {\n`;for(let[t,r]of Object.entries(n))e+=` ${t}: ${r};\n`;e+=`}
2
- `}J.textContent=e,document.head.appendChild(J),Wi={}},remove:()=>{J&&J.parentElement&&J.parentElement.removeChild(J)}};function Gi(e){let t=e.match(/::view-transition-(old|new|group-children|group|image-pair)\((.*?)\)/);return t?{layer:t[2],type:t[1]}:null}function Ki(){return document.getAnimations().filter(e=>{let{effect:t}=e;return!!t&&t.target===document.documentElement&&t.pseudoElement?.startsWith(`::view-transition`)})}function qi(e,t){return t.has(e)&&Object.keys(t.get(e)).length>0}var Ji=[`layout`,`enter`,`exit`,`new`,`old`],Yi={group:[`layout`],new:[`new`,`enter`],old:[`old`,`exit`]},Xi={new:{opacity:0,scale:.85},old:{opacity:1,scale:1}},Zi=.2;function Qi(e){let{update:t,targets:n,resolveDefs:r,cropOverride:i,pairs:a,classNames:o,flatGroups:s,options:c}=e;if(!document.startViewTransition)return(async()=>(await t(),new Sr([])))();let l=new Map,u=[],d=[],f=[],p=new Set,m=new Map,h=new Set,g=new Map,_=new Map,v=new Map,y=new Map,b=e=>{n.forEach((t,n)=>{let c=o.get(n),h=n===`root`||!r.has(n)?void 0:s.has(n)?`none`:`contain`,b;if(n===`root`||!r.has(n))b=[n];else if(a.has(n))if(e===`old`)y.set(n,Di(n)),b=Vi(n,l,u,void 0,c,d,h,f,p),v.set(n,b);else{for(let e of y.get(n)??[])e.style?.removeProperty(`view-transition-name`),l.delete(e);b=Vi(a.get(n),l,u,v.get(n),c,d,h,f,p)}else b=Vi(n,l,u,void 0,c,d,h,f,p);let x=i.get(n);b.forEach((n,r)=>{let i=m.get(n);m.set(n,i&&i!==t?{...i,...t}:t),x!==void 0&&g.set(n,x);let a=_.get(n)??{};a[e]=[r,b.length],_.set(n,a)})})},x=(e,t)=>{let n=_.get(e);return(t===`old`?n?.old:t===`new`?n?.new:n?.new??n?.old)??[-1,1]},S=(e,t,n,r,i)=>{let a=ea(K(c,n),K($i(e,t)??{},n));return typeof a.delay==`function`&&(a.delay=a.delay(r,i)),a},C=new Map,w=e=>l.forEach((t,n)=>{let r=n.getBoundingClientRect?.();if(r&&r.height){let n=C.get(t)??{};n[e]={width:r.width,height:r.height},C.set(t,n)}}),T=()=>{h.clear();for(let e of _.keys())e!==`root`&&(g.get(e)??ee(e))&&h.add(e)},ee=e=>{let t=C.get(e);return!t?.old||!t?.new||!t.old.height||!t.new.height?!1:Math.abs(t.old.width/t.old.height-t.new.width/t.new.height)>Zi},te=()=>{qi(`root`,n)||Y.set(`:root`,{"view-transition-name":`none`}),Y.set(`::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)`,{"animation-timing-function":`linear !important`}),h.forEach(e=>{Y.set(`::view-transition-group(${e})`,{overflow:`clip`}),Y.set(`::view-transition-old(${e}), ::view-transition-new(${e})`,{width:`100%`,height:`100%`,"object-fit":`cover`})}),p.forEach(e=>{Y.set(`::view-transition-group-children(${e})`,{overflow:`clip`})}),Y.commit()},ne=()=>{Hi(u,d,f),Y.remove()},re=async()=>{await t(),b(`new`),w(`new`),T(),te()},E;try{b(`old`),w(`old`),te(),E=document.startViewTransition(re)}catch(e){return ne(),Promise.reject(e)}return E.finished.finally(ne),new Promise((e,t)=>{E.ready.then(()=>{let t=Ki(),n=[],r=new Set,i=new Set;m.forEach((e,t)=>{let a=_.get(t),o=!!a?.new&&!a?.old,s=!!a?.old&&!a?.new;for(let a of Ji){if(!e[a]||a===`enter`&&!o||a===`exit`&&!s)continue;let l=Ui(a),[u,d]=x(t,l);if(u===-1)continue;let{keyframes:f,options:p}=e[a];for(let[m,h]of Object.entries(f)){if(h==null)continue;if(m===`x`||m===`y`){le(!1,`animateView() animates view-transition layers with CSS properties; the "${m}" shorthand has no effect - use transform, e.g. { transform: "translateX(40px)" }.`);continue}if(a===`new`&&o&&e.enter?.keyframes[m]!=null||a===`old`&&s&&e.exit?.keyframes[m]!=null)continue;let f=ea(K(c,m),K(p,m));if(!Array.isArray(h)){let t=a===`enter`?e.exit?.keyframes[m]:void 0,n=t==null?m===`opacity`||(l===`new`?o:s)?Xi[l]?.[m]:void 0:Array.isArray(t)?t[t.length-1]:t;n!==void 0&&(h=[n,h])}typeof f.delay==`function`&&(f.delay=f.delay(u,d)),f.duration&&=D(f.duration),f.delay&&=D(f.delay),n.push(new ir({...f,element:document.documentElement,name:m,pseudoElement:`::view-transition-${l}(${t})`,keyframes:h})),r.add(`${t}:${l}`),m===`opacity`&&i.add(`${t}:${l}`)}}});for(let e of t){if(e.playState===`finished`)continue;let{effect:t}=e;if(!t||!(t instanceof KeyframeEffect))continue;let{pseudoElement:a}=t;if(!a)continue;let o=Gi(a);if(!o)continue;let s=m.get(o.layer);if(r.has(`${o.layer}:${o.type}`)){i.has(`${o.layer}:new`)&&i.has(`${o.layer}:old`)&&t.getKeyframes().some(e=>e.mixBlendMode)?n.push(new Tr(e)):e.cancel();continue}let c=_.get(o.layer),l=(o.type===`old`||o.type===`new`)&&!!c?.old&&!!c?.new,u=o.type.startsWith(`group`)||l?`group`:o.type,[d,f]=x(o.layer,u),p=S(s,u,u===`group`?`layout`:``,d===-1?0:d,f),h=p.visualDuration;p.duration&&=D(p.duration),p=rr(p);let g=l&&h!==void 0?D(h):p.duration,v=l?`linear`:er(p.ease,p.duration);t.updateTiming({delay:D(p.delay??0),duration:g,easing:v}),n.push(new Tr(e))}e(new Sr(n))}).catch(()=>E.updateCallbackDone.then(()=>e(new Sr([])),t))})}function $i(e,t){for(let n of Yi[t]??[]){let t=e?.[n]?.options;if(t)return t}}function ea(e,t){let n={...e,...t};return t.duration!==void 0&&(t.visualDuration===void 0&&delete n.visualDuration,t.type===void 0&&delete n.type),n}var X=[],ta=null;function na(){ta=null;let[e]=X;e&&ra(e)}function ra(e){S(X,e),ta=e,Qi(e).then(t=>(e.notifyReady(t),t.finished)).catch(t=>e.notifyReject(t)).finally(na)}function ia(){for(let e=X.length-1;e>=0;e--){let t=X[e],{interrupt:n}=t.options;if(n===`immediate`){let n=X.slice(0,e+1).map(e=>e.update),r=X.slice(e+1);t.update=()=>{n.forEach(e=>e())},X=[t,...r];break}}(!ta||X[0]?.options.interrupt===`immediate`)&&na()}function aa(e){X.push(e),ki.render(ia)}var oa=class{constructor(e,t={}){this.currentSubject=`root`,this.targets=new Map,this.resolveDefs=new Set,this.cropOverride=new Map,this.pairs=new Map,this.classNames=new Map,this.flatGroups=new Set,this.notifyReady=E,this.notifyReject=E,this.readyPromise=new Promise((e,t)=>{this.notifyReady=e,this.notifyReject=t}),this.update=e,this.options={interrupt:`wait`,...t},this.readyPromise.catch(E),aa(this)}add(e,t){return this.currentSubject=e,this.resolveDefs.add(e),t!==void 0&&this.pairs.set(e,t),this.targets.has(e)||this.targets.set(e,{}),this}crop(e=!0){return this.cropOverride.set(this.currentSubject,e),this}group(e=!0){return e?this.flatGroups.delete(this.currentSubject):this.flatGroups.add(this.currentSubject),this}class(e){return this.classNames.set(this.currentSubject,e),this}layout(e={}){return this.updateTarget(`layout`,{},e),this}enter(e,t){return this.updateTarget(`enter`,e,t),this}exit(e,t){return this.updateTarget(`exit`,e,t),this}new(e,t){return this.updateTarget(`new`,e,t),this}old(e,t){return this.updateTarget(`old`,e,t),this}updateTarget(e,t,n={}){let{currentSubject:r,targets:i}=this;i.has(r)||i.set(r,{});let a=i.get(r);a[e]={keyframes:t,options:n}}then(e,t){return this.readyPromise.then(e,t)}};function sa(e,t={}){return new oa(e,t)}var ca=()=>({min:0,max:0}),la=()=>({x:ca(),y:ca()}),ua=new WeakMap;function da(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function fa(e){return typeof e==`string`||Array.isArray(e)}var pa=[`initial`,`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`];function ma(e){return da(e.animate)||pa.some(t=>fa(e[t]))}function ha(e){return!!(ma(e)||e.variants)}function ga(e,t,n){for(let r in t){let i=t[r],a=n[r];if(q(i))e.addValue(r,i);else if(q(a))e.addValue(r,G(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,G(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var _a={current:null},va={current:!1},ya=typeof window<`u`;function ba(){if(va.current=!0,ya)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>_a.current=e.matches;e.addEventListener(`change`,t),t()}else _a.current=!1}var xa=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],Sa={},Ca=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Gn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=A.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,k.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=ma(t),this.isVariantNode=ha(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&q(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,ua.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(va.current||ba(),this.shouldReduceMotion=_a.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Re(this.notifyUpdate),Re(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&mr.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new ir({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:D(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=Pn.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&k.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in Sa){let t=Sa[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):la()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<xa.length;t++){let n=xa[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=ga(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=G(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(ee(n)||ne(n))?n=parseFloat(n):!Fi(n)&&R.test(t)&&(n=xi(e,t)),this.setBaseTarget(e,q(n)?n.get():n)),q(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=Kr(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!q(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new oe),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){ki.render(this.render)}},wa=class extends Ca{constructor(){super(...arguments),this.KeyframeResolver=wi}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;q(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}};function Ta({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Ea(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Da(e,t){return Ta(Ea(e.getBoundingClientRect(),t))}var Oa={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},ka=Nn.length;function Aa(e,t,n){let r=``,i=!0;for(let a=0;a<ka;a++){let o=Nn[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===+!!o.startsWith(`scale`);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=Oi(s,_i[o]);if(!c){i=!1;let t=Oa[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}let a=e.pathRotation;return a&&(i=!1,r+=`rotate(${Oi(a,_i.pathRotation)}) `),r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function ja(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(Pn.has(e)){o=!0;continue}else if(We(e)){i[e]=n;continue}else{let t=Oi(n,_i[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=Aa(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function Ma(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function Na(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var Pa={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(P.test(e))e=parseFloat(e);else return e;return`${Na(e,t.target.x)}% ${Na(e,t.target.y)}%`}},Fa={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=R.parse(e);if(i.length>5)return r;let a=R.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=z(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},Ia={borderRadius:{...Pa,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:Pa,borderTopRightRadius:Pa,borderBottomLeftRadius:Pa,borderBottomRightRadius:Pa,boxShadow:Fa};function La(e,{layout:t,layoutId:n}){return Pn.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!Ia[e]||e===`opacity`)}function Ra(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(q(r[t])||i&&q(i[t])||La(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function za(e){return window.getComputedStyle(e)}var Ba=class extends wa{constructor(){super(...arguments),this.type=`html`,this.renderInstance=Ma}readValueFromInstance(e,t){if(Pn.has(t))return this.projection?.isProjecting?kn(t):jn(e,t);{let n=za(e),r=(We(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Da(e,t)}build(e,t,n){ja(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Ra(e,t,n)}};function Va(e,t){return e in t}var Ha=class extends Ca{constructor(){super(...arguments),this.type=`object`}readValueFromInstance(e,t){if(Va(t,e)){let n=e[t];if(typeof n==`string`||typeof n==`number`)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(e,t){delete t.output[e]}measureInstanceViewportBox(){return la()}build(e,t){Object.assign(e.output,t)}renderInstance(e,{output:t}){Object.assign(e,t)}sortInstanceNodePosition(){return 0}},Ua={offset:`stroke-dashoffset`,array:`stroke-dasharray`},Wa={offset:`strokeDashoffset`,array:`strokeDasharray`};function Ga(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?Ua:Wa;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var Ka=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function qa(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(ja(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of Ka)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&Ga(d,i,a,o,!1)}var Ja=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),Ya=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function Xa(e,t,n,r){Ma(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Ja.has(n)?n:ti(n),t.attrs[n])}function Za(e,t,n){let r=Ra(e,t,n);for(let n in e)if(q(e[n])||q(t[n])){let t=Nn.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var Qa=class extends wa{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=la}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(Pn.has(t)){let e=yi(t);return e&&e.default||0}return t=Ja.has(t)?t:ti(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Za(e,t,n)}build(e,t,n){qa(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){Xa(e,t,n,r)}mount(e){this.isSVGTag=Ya(e.tagName),super.mount(e)}};function $a(e,t,n){let r=q(e)?e:G(e);return r.start(Vr(``,r,t,n)),r.animation}function eo(e){return typeof e==`object`&&!Array.isArray(e)}function to(e,t,n,r){return e==null?[]:typeof e==`string`&&eo(t)?Di(e,n,r):e instanceof NodeList?Array.from(e):Array.isArray(e)?e.filter(e=>e!=null):[e]}function no(e,t,n){return e*(t+1)+n*t}function ro(e,t,n,r){return typeof t==`number`?t:t.startsWith(`-`)||t.startsWith(`+`)?Math.max(0,e+parseFloat(t)):t===`<`?n:t.startsWith(`<`)?Math.max(0,n+parseFloat(t.slice(1))):r.get(t)??e}function io(e,t,n){for(let r=0;r<e.length;r++){let i=e[r];i.at>t&&i.at<n&&(S(e,i),r--)}}function ao(e,t,n,r,i,a){io(e,i,a);for(let o=0;o<t.length;o++)e.push({value:t[o],at:z(i,a,r[o]),easing:ke(n,o)})}function oo(e,t,n=0){let r=t+1+t*n;for(let t=0;t<e.length;t++)e[t]=e[t]/r}function so(e,t){return e.at===t.at?e.value===null?1:t.value===null?-1:0:e.at-t.at}var co=`easeInOut`,lo=20;function uo(e,{defaultTransition:t={},...n}={},r,i){let a=t.duration||.3,o=new Map,s=new Map,c={},l=new Map,u=0,d=0,f=0;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o==`string`){l.set(o,d);continue}else if(!Array.isArray(o)){l.set(o.name,ro(d,o.at,u,l));continue}let[p,m,h={}]=o;h.at!==void 0&&(d=ro(d,h.at,u,l));let g=0,_=(e,n,r,o=0,s=0)=>{let c=mo(e),{delay:l=0,times:u=un(c),type:p=t.type||`keyframes`,repeat:m,repeatType:h,repeatDelay:_=0,...v}=n,{ease:y=t.ease||`easeOut`,duration:b}=n,x=typeof l==`function`?l(o,s):l,S=c.length,C=nr(p)?p:i?.[p||`keyframes`];if(S<=2&&C){let e=100;if(S===2&&_o(c)){let t=c[1]-c[0];e=Math.abs(t)}let n={...t,...v};b!==void 0&&(n.duration=D(b));let r=qt(n,e,C);y=r.ease,b=r.duration}b??=a;let w=d+x;u.length===1&&u[0]===0&&(u[1]=1);let T=u.length-c.length;if(T>0&&ln(u,T),c.length===1&&c.unshift(null),m&&`${m}${lo}`,m&&m<lo){let e=b>0?_/b:0;b=no(b,m,_);let t=[...c],n=[...u];y=Array.isArray(y)?[...y]:[y];let r=[...y],i=h===`reverse`||h===`mirror`,a=t,o=r;i&&(a=[...t].reverse(),h===`reverse`&&(o=[...r].reverse().map(e=>typeof e==`function`?_e(e):e)));for(let s=0;s<m;s++){let l=i&&s%2==0,d=l?a:t,f=l?o:r,p=(s+1)*(1+e);e>0&&(c.push(c[c.length-1]),u.push(p),y.push(`linear`)),c.push(...d);for(let e=0;e<d.length;e++)u.push(n[e]+p),y.push(e===0?`linear`:ke(f,e-1))}oo(u,m,e)}let ee=w+b;ao(r,c,y,u,w,ee),g=Math.max(x+b,g),f=Math.max(ee,f)};if(q(p)){let e=fo(p,s);_(m,h,po(`default`,e))}else{let e=to(p,m,r,c),t=e.length;for(let n=0;n<t;n++){m=m,h=h;let r=e[n],i=fo(r,s);for(let e in m)_(m[e],ho(h,e),po(e,i),n,t)}}u=d,d+=g}return s.forEach((e,r)=>{for(let i in e){let a=e[i];a.sort(so);let s=[],c=[],l=[];for(let e=0;e<a.length;e++){let{at:t,value:n,easing:r}=a[e];s.push(n),c.push(ae(0,f,t)),l.push(r||`easeOut`)}c[0]!==0&&(c.unshift(0),s.unshift(s[0]),l.unshift(co)),c[c.length-1]!==1&&(c.push(1),s.push(null)),o.has(r)||o.set(r,{keyframes:{},transition:{}});let u=o.get(r);u.keyframes[i]=s;let{type:d,...p}=t;u.transition[i]={...p,duration:f,ease:l,times:c,...n}}}),o}function fo(e,t){return!t.has(e)&&t.set(e,{}),t.get(e)}function po(e,t){return t[e]||(t[e]=[]),t[e]}function mo(e){return Array.isArray(e)?e:[e]}function ho(e,t){return e&&e[t]?{...e,...e[t]}:{...e}}var go=e=>typeof e==`number`,_o=e=>e.every(go);function vo(e){let t={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=Mi(e)&&!Ni(e)?new Qa(t):new Ba(t);n.mount(e),ua.set(e,n)}function yo(e){let t=new Ha({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});t.mount(e),ua.set(e,t)}function bo(e,t){return q(e)||typeof e==`number`||typeof e==`string`&&!eo(t)}function xo(e,t,n,r){let i=[];if(bo(e,t))i.push($a(e,eo(t)&&t.default||t,n&&(n.default||n)));else{if(e==null)return i;let a=to(e,t,r),o=a.length;for(let e=0;e<o;e++){let r=a[e],s=r instanceof Element?vo:yo;ua.has(r)||s(r);let c=ua.get(r),l={...n};`delay`in l&&typeof l.delay==`function`&&(l.delay=l.delay(e,o)),i.push(...ai(c,{...t,transition:l},{}))}}return i}function So(e,t,n){let r=[];return uo(e.map(e=>{if(Array.isArray(e)&&typeof e[0]==`function`){let t=e[0],n=G(0);return n.on(`change`,t),e.length===1?[n,[0,1]]:e.length===2?[n,[0,1],e[1]]:[n,e[1],e[2]]}return e}),t,n,{spring:V}).forEach(({keyframes:e,transition:t},n)=>{r.push(...xo(n,e,t))}),r}function Co(e){return Array.isArray(e)&&e.some(Array.isArray)}function wo(e={}){let{scope:t,reduceMotion:n,skipAnimations:r}=e;function i(e,i,a){let o=[],s,c={};if(n!==void 0&&(c.reduceMotion=n),r!==void 0&&(c.skipAnimations=r),Co(e)){let{onComplete:n,...r}=i||{};typeof n==`function`&&(s=n),o=So(e,{...c,...r},t)}else{let{onComplete:n,...r}=a||{};typeof n==`function`&&(s=n),o=xo(e,i,{...c,...r},t)}let l=new wr(o);return s&&l.finished.then(s),t&&(t.animations.push(l),l.finished.then(()=>{S(t.animations,l)})),l}return i}var To=wo();function Eo(e,t,n,r){if(e==null)return[];let i=Di(e,r),a=i.length,o=[];for(let e=0;e<a;e++){let r=i[e],s={...n};typeof s.delay==`function`&&(s.delay=s.delay(e,a));for(let e in t){let n=t[e];Array.isArray(n)||(n=[n]);let i={...K(s,e)};i.duration&&=D(i.duration),i.delay&&=D(i.delay);let a=Or(r),c=Dr(e,i.pseudoElement||``),l=a.get(c);l&&l.stop(),o.push({map:a,key:c,unresolvedKeyframes:n,options:{...i,element:r,name:e,allowFlatten:!s.type&&!s.ease}})}}for(let e=0;e<o.length;e++){let{unresolvedKeyframes:t,options:n}=o[e],{element:r,name:i,pseudoElement:a}=n;!a&&t[0]===null&&(t[0]=ji(r,i)),xn(t),Ei(t,i),!a&&t.length<2&&t.unshift(ji(r,i)),n.keyframes=t}let s=[];for(let e=0;e<o.length;e++){let{map:t,key:n,options:r}=o[e],i=new ir(r);t.set(n,i),i.finished.finally(()=>t.delete(n)),s.push(i)}return s}var Do=(e=>{function t(t,n,r){return new wr(Eo(t,n,r,e))}return t})(),Z=(e,t)=>({finished:e,then:e.then.bind(e),...t}),Q=e=>Z((async()=>{await e?.()})(),{cancel(){},stop(){},complete(){}}),Oo=(e,t)=>{let n=!1,r=()=>{n||(n=!0,t?.())},i=()=>{},a=new Promise(e=>{i=e}),o=e.finished.then(()=>{},()=>{}),s=Promise.race([o,a]).finally(r),c=e=>{try{e()}finally{i(),r()}};return Z(s,{cancel(){c(()=>e.cancel())},stop(){c(()=>e.stop())},complete(){c(()=>e.complete())}})},ko=(...e)=>Z(Promise.allSettled(e.map(e=>e.finished)).then(()=>{}),{cancel(){e.forEach(e=>e.cancel())},stop(){e.forEach(e=>e.stop())},complete(){e.forEach(e=>e.complete())}}),Ao=(...e)=>{let t=!1,n=!1,r=null;return Z((async()=>{for(let i of e){if(t)break;r=i(),n&&r.complete(),await r.finished.catch(()=>{})}})(),{cancel(){t=!0,r?.cancel()},stop(){t=!0,r?.stop()},complete(){n=!0,r?.complete()}})},$=new WeakMap,jo=e=>{let t=$.get(e);if(t)return t.handle.stop(),$.get(e)===t&&$.delete(e),t.properties},Mo=(e,t,n,r,i)=>{let a=Oo(t(jo(e))),o,s=()=>o.stop(),c=()=>{r?.removeEventListener(`abort`,s),$.get(e)?.handle===o&&(i?.(),$.get(e)?.handle===o&&$.delete(e))};return o=Z(a.finished.finally(c),{cancel(){a.cancel(),c()},stop(){a.stop(),c()},complete(){a.complete()}}),$.set(e,{handle:o,properties:n}),r?.addEventListener(`abort`,s,{once:!0}),o},No=e=>!(e instanceof Element)&&typeof e==`object`&&!!e&&`signal`in e,Po=e=>{let t=e instanceof Element?e:e.el;if(!(t instanceof Element))throw TypeError(`Motion subject requires an Element target.`);return t},Fo=(e,t)=>{let n=Po(e);if(!t)return n;if(t instanceof Element)return t;let r=No(e)?e.root:n;if(!(r instanceof Element))throw TypeError(`Motion transition subject requires an Element root.`);let i=r.matches(t)?r:r.querySelector(t);if(!i)throw Error(`Motion target not found: ${t}`);return i},Io=e=>No(e)?e.signal:null,Lo=e=>Array.isArray(e)?e.at(-1):e,Ro=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t])),zo=(e,t)=>t===`height`?`${e.getBoundingClientRect().height}px`:t===`width`?`${e.getBoundingClientRect().width}px`:getComputedStyle(e)[t],Bo=(e,t)=>Array.isArray(e)?[t,...e.slice(1)]:[t,e],Vo=(e,t)=>{let n=Fo(e,t.target);if(!(n instanceof HTMLElement))throw TypeError(`Size motion requires an HTMLElement target.`);let r=t.signal??Io(e);if(r?.aborted)return t.cleanup?.(),Q();let a=Ro(t.keyframes),o=new Set(Object.keys(a));if(o.size===0)return t.cleanup?.(),Q();if(y()){jo(n);let e=Object.fromEntries(Object.entries(t.keyframes).flatMap(([e,t])=>e===`opacity`?[]:[[e,Lo(t)]]));Object.entries(e).forEach(([e,t])=>{n.style[e]=typeof t==`number`?`${t}px`:String(t)}),Object.keys(e).length>0&&Do(n,e,{duration:0}).complete();let a=t.keyframes.opacity;return a===void 0?(t.cleanup?.(),Q()):Mo(n,()=>Do(n,{opacity:typeof a==`number`?a:[...a]},{...i.feedback,type:`tween`}),new Set([`opacity`]),r,t.cleanup)}let s=new Map([...o].map(e=>[e,zo(n,e)])),c=t.role??`layout`;return Mo(n,e=>{for(let t of o)e?.has(t)&&(a[t]=Bo(a[t],s.get(t)));return Do(n,a,{...p(n,c),...f(c,n)?{type:V}:{type:`tween`},...t.transition})},o,r,t.cleanup)},Ho=e=>{let{height:t,width:n}=e.getBoundingClientRect();return{height:t,width:n}},Uo=(e,t,n)=>n.some(n=>Math.abs(n===`height`||n===`maxHeight`?e.height-t.height:e.width-t.width)>=1),Wo=(e,t={})=>{let n=[...new Set(t.properties??[`height`,`width`])],r=t.role??`layout`,i=Ho(e),a=null,o=0,s=!1,c=[...new Set([...n,...n.includes(`maxHeight`)?[`height`]:[],...n.includes(`maxWidth`)?[`width`]:[]])],l=Object.fromEntries(c.map(t=>[t,e.style.getPropertyValue(t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`))])),u={overflow:e.style.overflow,willChange:e.style.willChange},d=()=>{for(let[t,n]of Object.entries(l))e.style.setProperty(t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),n);Object.assign(e.style,u)},f=()=>{let t=Ho(e);return a?.handle.stop(),a=null,d(),t},p=(t=()=>{},c={})=>{if(s)return null;if(a&&c.animate!==!1&&c.key!==void 0&&a.key===c.key)return t(),a.handle;let l=a?f():i;t();let u=Ho(e);if(i=u,c.animate===!1||!Uo(l,u,n)||y())return null;let p={...n.some(e=>e===`height`||e===`maxHeight`)?{height:[`${l.height}px`,`${u.height}px`]}:{},...n.some(e=>e===`width`||e===`maxWidth`)?{width:[`${l.width}px`,`${u.width}px`]}:{}};e.style.overflow=`hidden`,e.style.willChange=n.map(e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)).join(`, `),`height`in p&&(e.style.height=`${l.height}px`),`width`in p&&(e.style.width=`${l.width}px`),n.includes(`maxHeight`)&&(e.style.maxHeight=`${Math.max(l.height,u.height)}px`),n.includes(`maxWidth`)&&(e.style.maxWidth=`${Math.max(l.width,u.width)}px`),e.getBoundingClientRect();let m=Vo(e,{keyframes:p,role:r,cleanup:d}),h={handle:m,generation:++o,key:c.key};return a=h,m.finished.finally(()=>{a?.generation===h.generation&&(a=null)}),m};return{update:p,refresh:e=>p(void 0,e),destroy(){s||(s=!0,a&&f(),d())}}},Go=e=>typeof e==`object`&&!!e&&`initial`in e,Ko=e=>{let t={},n=new Map,r=new Map,i;Object.keys(e.values).forEach(r=>{let i=e.values[r];t[r]=G(Go(i)?i.initial:i),Go(i)&&i.transition&&n.set(r,i.transition)});let a=()=>Object.fromEntries(Object.keys(t).map(e=>[e,t[e].get()])),o=e=>{r.get(e)?.stop(),r.delete(e)},s=e=>{Object.keys(e).forEach(n=>{let r=e[n];r===void 0||!t[n]||(o(n),t[n].set(r))})};return{mount:n=>{i?.();let r=new Map,o=()=>{Object.entries(e.style(a())).forEach(([e,t])=>{r.has(e)||r.set(e,e.startsWith(`--`)?n.style.getPropertyValue(e):String(n.style[e]??``)),e.startsWith(`--`)?n.style.setProperty(e,String(t)):n.style[e]=String(t)})},s=Object.values(t).map(e=>e.on(`change`,o));o();let c=!0,l=()=>{c&&(c=!1,s.forEach(e=>e()),r.forEach((e,t)=>{t.startsWith(`--`)?n.style.setProperty(t,e):n.style[t]=e}),i===l&&(i=void 0))};return i=l,l},set:s,animate:(i,a)=>{if(y(e.reducedMotion))return s(i),Q();let c=Object.keys(i).flatMap(e=>{let s=i[e];if(s===void 0||!t[e])return[];o(e);let c=Oo(To(t[e],s,{...n.get(e),...a}));return r.set(e,c),c.finished.finally(()=>{r.get(e)===c&&r.delete(e)}),[c]});return c.length?ko(...c):Q()},current:a,destroy:()=>{i?.(),r.forEach(e=>e.cancel()),r.clear()}}},qo=new WeakMap,Jo=(e,t)=>{let n=Fo(e,t.target);if(!(n instanceof HTMLElement))throw TypeError(`Motion resize requires an HTMLElement target.`);let r=Fo(e,t.measure??n);if(r===n)throw Error(`Motion resize requires a separate measurement element.`);if(!(r instanceof HTMLElement))throw TypeError(`Motion resize measurement requires an HTMLElement.`);let i=Io(e);if(i?.aborted)return Q();let a=Math.max(r.scrollHeight,r.getBoundingClientRect().height),o=n.getBoundingClientRect().height,s=jo(n),c=s?.has(`height`)?o:t.from===`content`?a:0,l=t.to===`content`?a:0;qo.has(n)||qo.set(n,{height:n.style.height,opacity:n.style.opacity,overflow:n.style.overflow,willChange:n.style.willChange});let u=y(),d=t.speed===void 0?void 0:h(t.speed,n),p={height:[c,l]};n.style.overflow=`hidden`,n.style.willChange=u?`opacity`:`height, opacity`,t.opacity!==void 0&&(p.opacity=s?.has(`opacity`)?Array.isArray(t.opacity)?t.opacity.at(-1):t.opacity:Array.isArray(t.opacity)?[...t.opacity]:t.opacity);let m=t.role??`resize`,g=d===void 0?{}:`stiffness`in d?d:f(m)?{visualDuration:d.duration}:d,_=()=>{let e=qo.get(n);e&&Object.assign(n.style,e),qo.delete(n)};return Vo(e,{target:n,keyframes:p,role:m,transition:{...g,...t.transition},signal:i,cleanup:_})},Yo=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t])),Xo=(e,t=new Set)=>Object.fromEntries(Object.entries(Yo(e)).map(([e,n])=>[e,t.has(e)&&Array.isArray(n)?g(n):n])),Zo=new Set(`bottom.filter.height.maxHeight.maxWidth.inset.insetBlock.insetInline.left.right.top.transform.width.translate.x.y.z.scale.scaleX.scaleY.rotate.rotateX.rotateY.skew.skewX.skewY`.split(`.`)),Qo=e=>Object.fromEntries(Object.entries(Yo(e)).flatMap(([e,t])=>Zo.has(e)?[]:[[e,t]])),$o=e=>Object.fromEntries(Object.entries(Yo(e)).flatMap(([e,t])=>Zo.has(e)?[[e,Array.isArray(t)?g(t):t]]:[])),es=(e,t,i,a,o)=>{let s=o?`feedback`:t,c=s===void 0?{type:`tween`,ease:r.out}:{...d(e,s),type:f(s,e)?V:`tween`},l=i===void 0?void 0:h(o?`fast`:i,e),u=l===void 0?c:`stiffness`in l?{...c,type:V,...l}:{...c,duration:l.duration};return{...u.duration===void 0&&u.type===void 0?{duration:n.moderate.duration}:{},...u,...a}},ts=(e,t,n)=>{let r=Fo(e,t.target),i=Io(e);if(i?.aborted)return Q();let a=y();if(a){let e=$o(t.keyframes);Object.keys(e).length>0&&To(r,e,{duration:0}).complete()}let o=a?Qo(t.keyframes):Yo(t.keyframes);return Object.keys(o).length===0?(To(r,Object.fromEntries(Object.entries(Yo(t.keyframes)).map(([e,t])=>[e,Array.isArray(t)?g(t):t])),{duration:0}).complete(),Q()):Mo(r,e=>To(r,Xo(o,e),es(r,t.role??n.role,t.speed??n.speed,{...n.transition,...t.transition},a)),new Set(Object.keys(o)),i)},ns=(e,t,n)=>{if(t.kind===`animate`)return ts(e,t,n);let r=t.speed??n.speed??t.options.speed,i=t.role??n.role??t.options.role,a={...n.transition,...t.options.transition,...t.transition};return Jo(e,{...t.options,...r===void 0?{}:{speed:r},...i===void 0?{}:{role:i},...Object.keys(a).length===0?{}:{transition:a}})},rs=(e,t)=>t===void 0?{keyframes:e}:{target:e,keyframes:t},is=class e{#e;#t;#n;constructor(e,t=[],n={}){this.#e=e,this.#t=t,this.#n=n}#r(t,n){if(!n||this.#t.length===0)return new e(this.#e,[...this.#t,[t]],this.#n);let r=this.#t.slice(0,-1),i=this.#t.at(-1)??[];return new e(this.#e,[...r,[...i,t]],this.#n)}#i(t){let n=this.#t.at(-1);if(!n?.length)throw Error(`Declare a motion segment before configuring it.`);let r=this.#t.slice(0,-1);return new e(this.#e,[...r,[...n.slice(0,-1),t(n.at(-1))]],this.#n)}animate(e,t){return this.#r({kind:`animate`,...rs(e,t)},!1)}with(e,t){return this.#r({kind:`animate`,...rs(e,t)},!0)}then(e,t){return this.animate(e,t)}resize(e){return this.#r({kind:`resize`,options:e},!1)}speed(e){return this.#i(t=>({...t,speed:e}))}role(e){return this.#i(t=>({...t,role:e}))}transition(e){return this.#i(t=>({...t,transition:{...t.transition,...e}}))}defaults(t){let n=t.speed??this.#n.speed,r=t.role??this.#n.role,i={...this.#n.transition,...t.transition};return new e(this.#e,this.#t,{...n===void 0?{}:{speed:n},...r===void 0?{}:{role:r},...Object.keys(i).length===0?{}:{transition:i}})}play(){return this.#t.length===0?Q():Ao(...this.#t.map(e=>()=>ko(...e.map(e=>ns(this.#e,e,this.#n)))))}},as=e=>new is(e),os=e=>{let t=globalThis.CSS;return typeof t?.escape==`function`?t.escape(e):e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)},ss=t=>`[${e}="${os(t)}"]`,cs=e=>`[data-ui-${os(e)}]`,ls=e=>e instanceof Element?null:typeof e==`string`?e:`selector`in e?e.selector:`part`in e?cs(e.part):`key`in e?ss(e.key):null,us=e=>{if(e instanceof Element)return[e];let t=ls(e);return t?[t]:[]},ds=(e=document,t)=>t?(Array.isArray(t)?t:[t]).flatMap(e=>{if(e instanceof Element)return[{subject:e}];if(typeof e==`object`&&`from`in e){let t=us(e.from),n=us(e.to);return t.flatMap((e,t)=>{let r=n[t]??n[0];return r?[{subject:e,newSubject:r}]:[]})}let t=ls(e);return t?[{subject:t}]:[]}):[],fs=async()=>{},ps=e=>{fs=async()=>{await e()}},ms=i.layout,hs={transform:[`none`,`none`]},gs=`[${e}], [${t}]`,_s=(e,t,n={})=>{if(typeof document.startViewTransition!=`function`||y(n.reducedMotion))return Q(e);let r=t??(n.layout||n.preset===`layout`?gs:null),a=ds(n.scope??document,r),o=sa(e,{...i.layout,interrupt:`immediate`,...n.transition});return a.forEach(({subject:e,newSubject:t})=>{o.add(e,t),n.className&&o.class(n.className),typeof n.crop==`boolean`&&o.crop(n.crop),typeof n.group==`boolean`&&o.group(n.group),n.layout!==!1&&n.preset!==`none`&&o.layout(typeof n.layout==`object`?n.layout:ms);let r=n.newView??(n.preset===`stream`?hs:void 0),a=n.oldView??(n.preset===`stream`?hs:void 0),s=n.enter,c=n.exit;r&&o.new(r,i.feedback),a&&o.old(a,i.feedback),s&&o.enter(s,i.feedback),c&&o.exit(c,i.feedback)}),Z(Promise.resolve(o.then(()=>{},()=>{})),{cancel(){Ki().forEach(e=>e.cancel())},stop(){Ki().forEach(e=>e.pause())},complete(){Ki().forEach(e=>{try{e.finish()}catch{e.cancel()}})}})},vs=(e,t={})=>{let{targets:n,...r}=t;return _s(async()=>{await e(),await fs()},n,{preset:`layout`,...r})},ys=(e,t)=>Math.abs(e.left-t.left)>=.5||Math.abs(e.top-t.top)>=.5||Math.abs(e.width-t.width)>=.5||Math.abs(e.height-t.height)>=.5,bs=(e,t)=>{let n=Array.isArray(t)?t:[t];return Array.from(new Set(n.map(t=>Fo(e,t)))).map(e=>{if(!(e instanceof HTMLElement))throw TypeError(`FLIP motion requires an HTMLElement target.`);return e})},xs=(e,t)=>{let n=bs(e,t.target),r=t.signal??Io(e);n.forEach(e=>jo(e));let i=n.map(e=>e.getBoundingClientRect()),a=n.map(e=>({transform:e.style.transform,transformOrigin:e.style.transformOrigin,willChange:e.style.willChange}));t.update();let o=n.map(e=>e.getBoundingClientRect());if(r?.aborted||y())return Q();let s=t.role??`layout`,c=[];return n.forEach((e,n)=>{let l=i[n],u=o[n],d=a[n];if(!ys(l,u)||u.width===0||u.height===0)return;let m=`translate(${l.left-u.left}px, ${l.top-u.top}px) scale(${l.width/u.width}, ${l.height/u.height})`,h=d.transform||`none`;e.style.transformOrigin=`top left`,e.style.willChange=`transform`,c.push(Mo(e,()=>Do(e,{transform:[m,h]},{...p(e,s),...f(s,e)?{type:V}:{type:`tween`},...t.transition}),new Set([`transform`]),r,()=>{e.style.transform=d.transform,e.style.transformOrigin=d.transformOrigin,e.style.willChange=d.willChange}))}),ko(...c)},Ss=Object.assign(as,{presets:m,roles:i,speeds:n,easings:r,createController:Ko,stop(e){jo(e)},withReducedMotion:b,view:vs});export{os as a,Wo as c,Q as d,To as f,i as g,y as h,ps as i,Vo as l,G as m,xs as n,ss as o,Di as p,_s as r,as as s,Ss as t,jo as u};
3
- //# sourceMappingURL=motion-mw9QhBgu.js.map