@vireo-ai/trellis-ui 0.1.21 → 0.1.23

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 (189) hide show
  1. package/package.json +37 -11
  2. package/packages/client/types/assets/bridge.d.ts +27 -0
  3. package/packages/client/types/assets/full-runtime.generated.d.ts +2 -0
  4. package/packages/client/types/capabilities/calendar.d.ts +3 -0
  5. package/packages/client/types/capabilities/motion.d.ts +5 -0
  6. package/packages/client/types/capabilities/resizable.d.ts +5 -0
  7. package/packages/client/types/capabilities/sortable.d.ts +6 -0
  8. package/packages/client/types/components/accordion/entry.generated.d.ts +5 -0
  9. package/packages/client/types/components/app/contract.d.ts +8 -8
  10. package/packages/client/types/components/badge/contract.d.ts +2 -2
  11. package/packages/client/types/components/box/contract.d.ts +9 -9
  12. package/packages/client/types/components/button/contract.d.ts +3 -3
  13. package/packages/client/types/components/button/entry.generated.d.ts +4 -0
  14. package/packages/client/types/components/card/contract.d.ts +3 -3
  15. package/packages/client/types/components/checkbox/entry.generated.d.ts +5 -0
  16. package/packages/client/types/components/container/contract.d.ts +5 -5
  17. package/packages/client/types/components/date-picker/contract.d.ts +6 -6
  18. package/packages/client/types/components/date-picker/entry.generated.d.ts +5 -0
  19. package/packages/client/types/components/date-picker/index.d.ts +0 -1
  20. package/packages/client/types/components/date-picker/machine.d.ts +40 -40
  21. package/packages/client/types/components/dropdown/contract.d.ts +2 -2
  22. package/packages/client/types/components/dropdown/entry.generated.d.ts +5 -0
  23. package/packages/client/types/components/dropdown/machine.d.ts +8 -8
  24. package/packages/client/types/components/entry.generated.d.ts +28 -0
  25. package/packages/client/types/components/field/entry.generated.d.ts +5 -0
  26. package/packages/client/types/components/file-upload/contract.d.ts +1 -1
  27. package/packages/client/types/components/file-upload/entry.generated.d.ts +5 -0
  28. package/packages/client/types/components/file-upload/machine.d.ts +2 -2
  29. package/packages/client/types/components/flex/contract.d.ts +7 -7
  30. package/packages/client/types/components/frame/contract.d.ts +6 -6
  31. package/packages/client/types/components/grid/contract.d.ts +11 -11
  32. package/packages/client/types/components/image/contract.d.ts +2 -2
  33. package/packages/client/types/components/input/entry.generated.d.ts +5 -0
  34. package/packages/client/types/components/layout.d.ts +6 -6
  35. package/packages/client/types/components/menu/contract.d.ts +3 -3
  36. package/packages/client/types/components/modal/contract.d.ts +3 -3
  37. package/packages/client/types/components/modal/entry.generated.d.ts +5 -0
  38. package/packages/client/types/components/modal/machine.d.ts +12 -12
  39. package/packages/client/types/components/panels/contract.d.ts +1 -1
  40. package/packages/client/types/components/panels/entry.generated.d.ts +5 -0
  41. package/packages/client/types/components/radio/entry.generated.d.ts +5 -0
  42. package/packages/client/types/components/scroll-area/entry.generated.d.ts +5 -0
  43. package/packages/client/types/components/section/contract.d.ts +4 -4
  44. package/packages/client/types/components/select/contract.d.ts +4 -4
  45. package/packages/client/types/components/select/entry.generated.d.ts +5 -0
  46. package/packages/client/types/components/select/machine.d.ts +32 -32
  47. package/packages/client/types/components/sidebar/contract.d.ts +5 -5
  48. package/packages/client/types/components/sidebar/entry.generated.d.ts +5 -0
  49. package/packages/client/types/components/sidebar/index.d.ts +1 -1
  50. package/packages/client/types/components/slider/entry.generated.d.ts +5 -0
  51. package/packages/client/types/components/stack/contract.d.ts +7 -7
  52. package/packages/client/types/components/switch/entry.generated.d.ts +5 -0
  53. package/packages/client/types/components/table/contract.d.ts +9 -9
  54. package/packages/client/types/components/table/entry.generated.d.ts +5 -0
  55. package/packages/client/types/components/tabs/contract.d.ts +1 -1
  56. package/packages/client/types/components/tabs/entry.generated.d.ts +5 -0
  57. package/packages/client/types/components/tabs/machine.d.ts +2 -2
  58. package/packages/client/types/components/toast/contract.d.ts +2 -2
  59. package/packages/client/types/components/toast/entry.generated.d.ts +5 -0
  60. package/packages/client/types/components/toast/machine.d.ts +8 -8
  61. package/packages/client/types/core.d.ts +10 -0
  62. package/packages/client/types/directives/sortable.d.ts +1 -1
  63. package/packages/client/types/index.d.ts +3 -11
  64. package/packages/client/types/motion/animate.d.ts +1 -1
  65. package/packages/client/types/motion/controller.d.ts +1 -1
  66. package/packages/client/types/motion/index.d.ts +1 -1
  67. package/packages/client/types/motion/owned.d.ts +1 -1
  68. package/packages/client/types/motion/plan.d.ts +1 -1
  69. package/packages/client/types/motion/recipe.d.ts +1 -1
  70. package/packages/client/types/motion/reduced-motion.d.ts +1 -1
  71. package/packages/client/types/motion/targets.d.ts +1 -6
  72. package/packages/client/types/motion/view.d.ts +1 -1
  73. package/packages/client/types/runtime/engine/stream.d.ts +9 -3
  74. package/packages/client/types/runtime/layout-participant.d.ts +9 -0
  75. package/packages/client/types/runtime/ui.d.ts +10 -4
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +1268 -0
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BXEMsLrA.js +2 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BXEMsLrA.js.map +1 -0
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-B4S_D6hV.js +2 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-B4S_D6hV.js.map +1 -0
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-Z6G-rzr-.js +2 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-Z6G-rzr-.js.map +1 -0
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/codecs-Cb1ns_47.js +2 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/codecs-Cb1ns_47.js.map +1 -0
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DAxHCzB-.js +2 -0
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DAxHCzB-.js.map +1 -0
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controlled-open-Hy4-OT-6.js +2 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controlled-open-Hy4-OT-6.js.map +1 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DjoX4J-6.js +2 -0
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DjoX4J-6.js.map +1 -0
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js +2 -0
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js.map +1 -0
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dom-qAeVl7dc.js +2 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dom-qAeVl7dc.js.map +1 -0
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-CW8suC9A.js +6 -0
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-CW8suC9A.js.map +1 -0
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-5kNpQFGr.js +2 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-5kNpQFGr.js.map +1 -0
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B85L90Qp.js +2 -0
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B85L90Qp.js.map +1 -0
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BGCM6LAW.js +2 -0
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BGCM6LAW.js.map +1 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bc-uE56r.js +2 -0
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bc-uE56r.js.map +1 -0
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C-lyYGbo.js +2 -0
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C-lyYGbo.js.map +1 -0
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C6ldtrmy.js +2 -0
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C6ldtrmy.js.map +1 -0
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CPWoMIwn.js +2 -0
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CPWoMIwn.js.map +1 -0
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Co0bLLZE.js +2 -0
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Co0bLLZE.js.map +1 -0
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CtyXH8zf.js +2 -0
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CtyXH8zf.js.map +1 -0
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DGrOItIx.js +2 -0
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DGrOItIx.js.map +1 -0
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DHMRhcYF.js +2 -0
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DHMRhcYF.js.map +1 -0
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-De12QrT5.js +3 -0
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-De12QrT5.js.map +1 -0
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DgmqZx_W.js +2 -0
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DgmqZx_W.js.map +1 -0
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dn6MRCe0.js +2 -0
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Dn6MRCe0.js.map +1 -0
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DoOgk6l4.js +2 -0
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DoOgk6l4.js.map +1 -0
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DxUOcPkU.js +2 -0
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DxUOcPkU.js.map +1 -0
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DyIjCOhT.js +2 -0
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DyIjCOhT.js.map +1 -0
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-K6qKowpw.js +2 -0
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-K6qKowpw.js.map +1 -0
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oAIExc1V.js +2 -0
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oAIExc1V.js.map +1 -0
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xcXw-cEl.js +2 -0
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xcXw-cEl.js.map +1 -0
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DtaPVNl5.js +2 -0
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DtaPVNl5.js.map +1 -0
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js +2 -0
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js.map +1 -0
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CX3wFSoV.js +2 -0
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CX3wFSoV.js.map +1 -0
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/merge-bindings-C8ewA_FD.js +2 -0
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/merge-bindings-C8ewA_FD.js.map +1 -0
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-Bpttk6iZ.js +3 -0
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-Bpttk6iZ.js.map +1 -0
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/number-BCZdoG0B.js +2 -0
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/number-BCZdoG0B.js.map +1 -0
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/props-change-2xfsIAEN.js +2 -0
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/props-change-2xfsIAEN.js.map +1 -0
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resizable-BixtYF9M.js +2 -0
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resizable-BixtYF9M.js.map +1 -0
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-lock-DOw7dmi1.js +2 -0
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-lock-DOw7dmi1.js.map +1 -0
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/semantic-observer-9VxzbQBi.js +2 -0
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/semantic-observer-9VxzbQBi.js.map +1 -0
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-TfvwVPGw.js +2 -0
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-TfvwVPGw.js.map +1 -0
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-xTjuF3uC.js +4 -0
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-xTjuF3uC.js.map +1 -0
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -0
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +1 -0
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -0
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -0
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -0
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -0
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -0
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -0
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -0
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -0
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -0
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -0
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -0
  177. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -0
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -0
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -0
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -0
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -0
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -0
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -0
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -0
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -22146
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +395 -0
  188. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  189. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-CX3wFSoV.js","names":[],"sources":["../../../../../../../../client/src/utils/object.ts","../../../../../../../../client/src/runtime/transition-coordinator.ts","../../../../../../../../client/src/runtime/alpine-machine.ts","../../../../../../../../client/src/runtime/state-machine/machine.ts"],"sourcesContent":["const isRecord = (value: unknown): value is Record<string, unknown> => (\n typeof value === 'object'\n && value !== null\n && !(value instanceof FormData)\n && !(value instanceof URLSearchParams)\n && !(value instanceof HTMLFormElement)\n && !(value instanceof Blob)\n && !(value instanceof ArrayBuffer)\n);\n\nconst cloneSerializable = <T>(value: T): T => structuredClone(value);\n\nconst isSerializableEqual = (left: unknown, right: unknown): boolean => {\n if (Object.is(left, right)) return true;\n if (Array.isArray(left) || Array.isArray(right)) {\n return Array.isArray(left)\n && Array.isArray(right)\n && left.length === right.length\n && left.every((value, index) => isSerializableEqual(value, right[index]));\n }\n if (!isRecord(left) || !isRecord(right)) return false;\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n return leftKeys.length === rightKeys.length\n && leftKeys.every((key) => Object.hasOwn(right, key) && isSerializableEqual(left[key], right[key]));\n};\n\nconst isPromiseLike = (value: unknown): value is PromiseLike<unknown> => (\n value !== null\n && (typeof value === 'object' || typeof value === 'function')\n && 'then' in value\n && typeof value.then === 'function'\n);\n\nexport {cloneSerializable, isPromiseLike, isRecord, isSerializableEqual};\n","import type {\n Machine,\n MachineEntry,\n MachineEvent,\n MachineEventObject,\n MachineSnapshot,\n MachineStateValue,\n} from './state-machine';\nimport {cloneSerializable, isPromiseLike} from '../utils';\n\ntype TransitionEventCreator = (...args: never[]) => MachineEvent;\ntype TransitionSend = ((event: MachineEvent) => void) & {[name: string]: ((...args: unknown[]) => void) | undefined};\n\ntype TransitionHookDefinition<\n TContext,\n TProps,\n TData,\n TName extends string = string,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = Readonly<{\n name: TName;\n state: string;\n onDone: string;\n onError: string;\n required?: boolean;\n sends?: TSends;\n project?: (snapshot: MachineSnapshot<TContext, TProps>) => TData;\n projectEach?: (snapshot: MachineSnapshot<TContext, TProps>) => readonly TData[];\n}>;\n\ntype AnyTransitionHook<TContext, TProps> = TransitionHookDefinition<TContext, TProps, unknown>;\n\ntype TransitionContext<TProps, TData, TElement = unknown> = Readonly<{\n el: TElement;\n root: TElement;\n from: string;\n to: string;\n event: MachineEventObject;\n props: TProps;\n data: TData;\n send: TransitionSend;\n signal: AbortSignal;\n}>;\n\ntype TransitionCallback<TProps, TData, TElement = unknown> = (\n transition: TransitionContext<TProps, TData, TElement>,\n) => unknown | Promise<unknown>;\n\ntype TransitionRegistration<TProps, TElement> = {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, unknown, TElement>;\n};\n\ntype TransitionCoordinatorOptions<TContext, TProps, TElement> = {\n machine: Machine<TContext, TProps>;\n hooks: readonly AnyTransitionHook<TContext, TProps>[];\n root?: TElement;\n resolveElement?: TransitionElementResolver<TElement>;\n};\n\ntype TransitionElementResolver<TElement> = (scope: Readonly<{\n name: string;\n data: unknown;\n root: TElement;\n registrationEl: TElement;\n}>) => TElement | null | undefined;\n\ntype TransitionCoordinator<TProps, TElement = unknown> = {\n register<TData>(registration: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void;\n destroy(): void;\n};\n\nconst defineHook = <\n TContext,\n TProps,\n TData,\n const TName extends string,\n const TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n>(definition: TransitionHookDefinition<TContext, TProps, TData, TName, TSends>): typeof definition => {\n if ((definition.project === undefined) === (definition.projectEach === undefined)) {\n throw new Error(`Transition hook ${definition.name} requires exactly one projection.`);\n }\n return Object.freeze(definition);\n};\n\nconst statePaths = (value: MachineStateValue): readonly string[] => (\n typeof value === 'string' ? [value] : value\n);\n\nconst commonPrefixLength = (left: string, right: string): number => {\n const leftParts = left.split('.');\n const rightParts = right.split('.');\n let index = 0;\n while (leftParts[index] !== undefined && leftParts[index] === rightParts[index]) index += 1;\n return index;\n};\n\nconst closestStatePath = (value: MachineStateValue, enteredPath: string): string => {\n const paths = statePaths(value);\n return [...paths].sort((left, right) => (\n commonPrefixLength(right, enteredPath) - commonPrefixLength(left, enteredPath)\n ))[0] ?? enteredPath;\n};\n\nconst createTransitionCoordinator = <TContext, TProps, TElement = unknown>({\n machine,\n hooks,\n root: ownerRoot,\n resolveElement,\n}: TransitionCoordinatorOptions<TContext, TProps, TElement>): TransitionCoordinator<TProps, TElement> => {\n const hooksByName = new Map(hooks.map((hook) => [hook.name, hook]));\n const hooksByState = new Map<string, AnyTransitionHook<TContext, TProps>[]>();\n const registrations = new Map<string, TransitionRegistration<TProps, TElement>[]>();\n const activeRuns = new Set<{entry: MachineEntry<TContext, TProps>; controller: AbortController}>();\n let destroyed = false;\n\n if (hooksByName.size !== hooks.length) throw new Error('Transition hook names must be unique.');\n hooks.forEach((hook) => {\n const grouped = hooksByState.get(hook.state) ?? [];\n const first = grouped[0];\n if (first && (first.onDone !== hook.onDone || first.onError !== hook.onError)) {\n throw new Error(`Transition hooks sharing ${hook.state} must use the same continuations.`);\n }\n grouped.push(hook);\n hooksByState.set(hook.state, grouped);\n });\n\n const isActive = (entry: MachineEntry<TContext, TProps>): boolean => (\n !destroyed && machine.getSnapshot().generations[entry.path] === entry.generation\n );\n\n const continuation = (\n entry: MachineEntry<TContext, TProps>,\n type: string,\n detail: Record<string, unknown> = {},\n ): void => {\n machine.send({\n type,\n ...detail,\n __state: entry.path,\n __generation: entry.generation,\n });\n };\n\n const projections = (\n hook: AnyTransitionHook<TContext, TProps>,\n snapshot: MachineSnapshot<TContext, TProps>,\n ): readonly unknown[] => hook.projectEach?.(snapshot) ?? [hook.project?.(snapshot)];\n\n const runQueue = (\n entry: MachineEntry<TContext, TProps>,\n hook: AnyTransitionHook<TContext, TProps>,\n data: unknown,\n queue: TransitionRegistration<TProps, TElement>[],\n signal: AbortSignal,\n index = 0,\n ): void | Promise<void> => {\n for (let cursor = index; cursor < queue.length; cursor += 1) {\n if (!isActive(entry)) return;\n const registration = queue[cursor] as TransitionRegistration<TProps, TElement>;\n const root = ownerRoot ?? registration.el;\n const resolved = resolveElement?.({\n name: hook.name,\n data,\n root,\n registrationEl: registration.el,\n });\n if (resolved === null) return;\n const el = resolved ?? registration.el;\n const send = machine.send.bind(machine) as TransitionSend;\n Object.entries(hook.sends ?? {}).forEach(([name, createEvent]) => {\n send[name] = (...args: unknown[]) => machine.send(createEvent(...args as never[]));\n });\n const transition = Object.freeze({\n el,\n root,\n from: closestStatePath(entry.from, entry.path),\n to: entry.path,\n event: Object.freeze({...entry.event}),\n props: cloneSerializable(entry.snapshot.props),\n data: cloneSerializable(data),\n send,\n signal,\n }) as TransitionContext<TProps, unknown, TElement>;\n const result = registration.callback(transition);\n if (isPromiseLike(result)) {\n return Promise.resolve(result).then(() => runQueue(entry, hook, data, queue, signal, cursor + 1));\n }\n }\n };\n\n const runEntry = (entry: MachineEntry<TContext, TProps>): void => {\n const groupedHooks = hooksByState.get(entry.path);\n if (!groupedHooks) return;\n const results: Array<void | Promise<void>> = [];\n const errors: unknown[] = [];\n const controller = new AbortController();\n const activeRun = {entry, controller};\n activeRuns.add(activeRun);\n\n groupedHooks.forEach((hook) => {\n const queue = [...registrations.get(hook.name) ?? []];\n if (queue.length === 0) {\n if (hook.required) errors.push(new Error(`Transition hook ${hook.name} requires a registered callback.`));\n return;\n }\n projections(hook, entry.snapshot).forEach((data) => {\n try {\n results.push(runQueue(entry, hook, data, queue, controller.signal));\n } catch (error) {\n errors.push(error);\n }\n });\n });\n\n const first = groupedHooks[0] as AnyTransitionHook<TContext, TProps>;\n const finish = (asyncErrors: unknown[] = []): void => {\n activeRuns.delete(activeRun);\n if (!isActive(entry)) return;\n const failure = [...errors, ...asyncErrors][0];\n if (failure !== undefined) {\n continuation(entry, first.onError, {error: failure});\n } else {\n continuation(entry, first.onDone);\n }\n };\n const pending = results.filter(isPromiseLike);\n if (pending.length === 0) {\n finish();\n return;\n }\n void Promise.allSettled(pending).then((settled) => finish(settled.flatMap((result) => (\n result.status === 'rejected' ? [result.reason] : []\n ))));\n };\n\n const unsubscribe = machine.subscribeEntries((entry) => {\n runEntry(entry);\n });\n const unsubscribeSnapshot = machine.subscribe(() => {\n activeRuns.forEach((run) => {\n if (isActive(run.entry)) return;\n run.controller.abort();\n activeRuns.delete(run);\n });\n });\n\n return {\n register<TData>({name, el, callback}: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void {\n if (destroyed) throw new Error('Transition coordinator has been destroyed.');\n if (!hooksByName.has(name)) throw new Error(`Unknown transition hook: ${name}`);\n\n const registration: TransitionRegistration<TProps, TElement> = {\n name,\n el,\n callback: callback as TransitionCallback<TProps, unknown, TElement>,\n };\n const queue = registrations.get(name) ?? [];\n queue.push(registration);\n registrations.set(name, queue);\n\n return () => {\n const current = registrations.get(name);\n if (!current) return;\n const index = current.indexOf(registration);\n if (index >= 0) current.splice(index, 1);\n if (current.length === 0) registrations.delete(name);\n };\n },\n destroy(): void {\n if (destroyed) return;\n destroyed = true;\n unsubscribe();\n unsubscribeSnapshot();\n activeRuns.forEach((run) => run.controller.abort());\n activeRuns.clear();\n registrations.clear();\n },\n };\n};\n\nexport {createTransitionCoordinator, defineHook};\nexport type {\n AnyTransitionHook,\n TransitionCallback,\n TransitionContext,\n TransitionCoordinator,\n TransitionCoordinatorOptions,\n TransitionEventCreator,\n TransitionSend,\n TransitionElementResolver,\n TransitionHookDefinition,\n};\n","import type Alpine from 'alpinejs';\n\nimport {\n decodeProps,\n dataAttributeForSchemaProp,\n type CodecFn,\n type PropChange,\n type SchemaToProps,\n} from './codecs';\nimport {\n createTransitionCoordinator,\n type AnyTransitionHook,\n type TransitionCallback,\n type TransitionCoordinator,\n} from './transition-coordinator';\nimport type {Machine, MachineEvent, MachineSnapshot} from './state-machine';\nimport {isSerializableEqual} from '../utils';\n\ntype MachineElement = HTMLElement & Alpine.ElementWithXAttributes;\ntype MachineSchema = Record<string, CodecFn<unknown>>;\ntype MachineProps<TSchema extends MachineSchema> = SchemaToProps<TSchema>;\ntype TransitionHookLike = {\n name: string;\n state: string;\n project?: (...args: never[]) => unknown;\n projectEach?: (...args: never[]) => readonly unknown[];\n onDone: string;\n onError: string;\n};\ntype HookName<THooks extends readonly {name: string}[]> = THooks[number]['name'];\ntype HookData<THook> = THook extends {project: (...args: never[]) => infer TData}\n ? TData\n : THook extends {projectEach: (...args: never[]) => readonly (infer TData)[]}\n ? TData\n : never;\ntype HookForName<THooks, TName> = Extract<THooks extends readonly unknown[] ? THooks[number] : never, {name: TName}>;\n\ntype AlpinePropsChangedEvent<TSchema extends MachineSchema> = {\n type: 'PROPS_CHANGED';\n props: MachineProps<TSchema>;\n changes: Array<PropChange<TSchema>>;\n};\n\ntype MachineFactoryScope<TSchema extends MachineSchema> = {\n el: MachineElement;\n props: MachineProps<TSchema>;\n};\n\ntype CreateAlpineMachineOptions<\n TContext,\n TSchema extends MachineSchema,\n THooks extends readonly TransitionHookLike[],\n> = {\n schema: TSchema;\n hooks: THooks;\n createMachine(scope: MachineFactoryScope<TSchema>): Machine<TContext, MachineProps<TSchema>>;\n resolveTransitionElement?(scope: Readonly<{\n name: string;\n data: unknown;\n root: MachineElement;\n registrationEl: MachineElement;\n }>): MachineElement | null | undefined;\n};\n\ntype AlpineMachineOwner<TProps = unknown> = {\n invalidateDom(): void;\n onTransition<TData>(\n name: string,\n callback: TransitionCallback<TProps, TData, MachineElement>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype AlpineMachine<\n TContext,\n TProps,\n THooks extends readonly TransitionHookLike[],\n> = AlpineMachineOwner<TProps> & {\n snapshot: {current: MachineSnapshot<TContext, TProps> | null};\n connect(\n el: MachineElement,\n snapshot?: {current: MachineSnapshot<TContext, TProps> | null},\n ): void;\n disconnect(): void;\n getSnapshot(): MachineSnapshot<TContext, TProps>;\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps>;\n send(event: MachineEvent): void;\n matches(state: string): boolean;\n hasTag(tag: string): boolean;\n onTransition<\n TName extends HookName<THooks>,\n TData = HookData<HookForName<THooks, TName>>,\n >(\n name: TName,\n callback: TransitionCallback<TProps, TData, MachineElement>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype PendingTransition<TProps> = {\n name: string;\n callback: TransitionCallback<TProps, unknown, MachineElement>;\n el?: MachineElement;\n unregister?: () => void;\n active: boolean;\n};\n\nconst owners = new WeakMap<Element, AlpineMachineOwner>();\n\nconst findAlpineMachineOwner = (\n AlpineInstance: Alpine.Alpine,\n el: Element,\n): AlpineMachineOwner | undefined => {\n const owner = AlpineInstance.findClosest(el, (candidate) => owners.has(candidate));\n return owner ? owners.get(owner) : undefined;\n};\n\nconst createAlpineMachine = <\n TContext,\n TSchema extends MachineSchema,\n const THooks extends readonly TransitionHookLike[],\n>({\n schema,\n hooks,\n createMachine: machineFactory,\n resolveTransitionElement,\n}: CreateAlpineMachineOptions<TContext, TSchema, THooks>): AlpineMachine<TContext, MachineProps<TSchema>, THooks> => {\n type TProps = MachineProps<TSchema>;\n\n const snapshot: {current: MachineSnapshot<TContext, TProps> | null} = {current: null};\n let snapshotMirror = snapshot;\n const pending: PendingTransition<TProps>[] = [];\n let root: MachineElement | null = null;\n let machine: Machine<TContext, TProps> | null = null;\n let coordinator: TransitionCoordinator<TProps, MachineElement> | null = null;\n let observer: MutationObserver | null = null;\n let unsubscribeSnapshot: (() => void) | null = null;\n let destroyed = false;\n\n const requireMachine = (): Machine<TContext, TProps> => {\n if (!machine) throw new Error('Alpine machine has not been initialized.');\n return machine;\n };\n\n const registerPending = (registration: PendingTransition<TProps>): void => {\n if (!coordinator || !root || !registration.active) return;\n registration.unregister = coordinator.register({\n name: registration.name,\n el: registration.el ?? root,\n callback: registration.callback,\n });\n };\n\n const component: AlpineMachine<TContext, TProps, THooks> = {\n snapshot,\n invalidateDom(): void {\n if (destroyed || !machine) return;\n machine.send('DOM_INVALIDATED');\n },\n connect(el, reactiveSnapshot = snapshot): void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n if (machine) return;\n\n root = el;\n snapshotMirror = reactiveSnapshot;\n let props = decodeProps({el: root, schema});\n const createdMachine = machineFactory({el: root, props});\n let createdCoordinator: TransitionCoordinator<TProps, MachineElement>;\n try {\n createdCoordinator = createTransitionCoordinator<TContext, TProps, MachineElement>({\n machine: createdMachine,\n hooks: hooks as unknown as readonly AnyTransitionHook<TContext, TProps>[],\n root,\n ...(resolveTransitionElement ? {resolveElement: resolveTransitionElement} : {}),\n });\n } catch (error) {\n createdMachine.stop();\n root = null;\n throw error;\n }\n machine = createdMachine;\n coordinator = createdCoordinator;\n snapshotMirror.current = machine.getSnapshot();\n unsubscribeSnapshot = machine.subscribe((nextSnapshot) => {\n snapshotMirror.current = nextSnapshot;\n });\n owners.set(root, component);\n pending.forEach(registerPending);\n\n const authoritativePropByAttribute = new Map(Object.entries(schema).flatMap(([key, codec]) => codec.meta.attribute ? [[\n dataAttributeForSchemaProp(key, codec),\n key as keyof TProps & string,\n ] as const] : []));\n observer = new MutationObserver((mutations) => {\n if (!root || !machine) return;\n const touched = new Set(mutations.flatMap(({attributeName}) => {\n const key = attributeName ? authoritativePropByAttribute.get(attributeName) : undefined;\n return key ? [key] : [];\n }));\n const nextProps = decodeProps({el: root, schema});\n const changes = Object.keys(nextProps).flatMap((key) => {\n const typedKey = key as keyof TProps & string;\n if (!touched.has(typedKey) && isSerializableEqual(props[typedKey], nextProps[typedKey])) return [];\n return [{\n key: typedKey,\n previous: props[typedKey],\n value: nextProps[typedKey],\n source: 'attribute' as const,\n } as PropChange<TSchema>];\n });\n if (changes.length === 0) return;\n props = nextProps;\n machine.send({type: 'PROPS_CHANGED', props: nextProps, changes});\n });\n observer.observe(root, {\n attributes: true,\n attributeFilter: Object.entries(schema).map(([key, codec]) => dataAttributeForSchemaProp(key, codec)),\n });\n },\n disconnect(): void {\n if (destroyed) return;\n destroyed = true;\n observer?.disconnect();\n observer = null;\n unsubscribeSnapshot?.();\n unsubscribeSnapshot = null;\n coordinator?.destroy();\n coordinator = null;\n machine?.stop();\n machine = null;\n if (root) owners.delete(root);\n root = null;\n pending.splice(0).forEach((registration) => registration.unregister?.());\n snapshotMirror.current = null;\n snapshotMirror = snapshot;\n },\n getSnapshot(): MachineSnapshot<TContext, TProps> {\n const current = snapshotMirror.current;\n if (!current) throw new Error('Alpine machine has not been initialized.');\n return current;\n },\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps> {\n return requireMachine().getSnapshot();\n },\n send(event): void {\n requireMachine().send(event);\n },\n matches(state): boolean {\n return requireMachine().matches(state);\n },\n hasTag(tag): boolean {\n return requireMachine().hasTag(tag);\n },\n onTransition<TData>(\n name: HookName<THooks>,\n callback: TransitionCallback<TProps, TData, MachineElement>,\n el?: MachineElement,\n ): () => void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n const registration: PendingTransition<TProps> = {\n name,\n callback: callback as TransitionCallback<TProps, unknown, MachineElement>,\n active: true,\n };\n if (el) registration.el = el;\n pending.push(registration);\n registerPending(registration);\n\n return () => {\n if (!registration.active) return;\n registration.active = false;\n registration.unregister?.();\n delete registration.unregister;\n const index = pending.indexOf(registration);\n if (index >= 0) pending.splice(index, 1);\n };\n },\n };\n\n return component;\n};\n\nexport {createAlpineMachine, findAlpineMachineOwner};\nexport type {\n AlpineMachine,\n AlpineMachineOwner,\n AlpinePropsChangedEvent,\n CreateAlpineMachineOptions,\n MachineFactoryScope,\n};\n","type MachineEventObject = {\n type: string;\n [key: string]: unknown;\n};\n\ntype MachineEvent = string | MachineEventObject;\ntype MachineStateValue = string | readonly string[];\n\ntype MachineSnapshot<TContext, TProps> = Readonly<{\n value: MachineStateValue;\n tags: readonly string[];\n context: Readonly<TContext>;\n props: Readonly<TProps>;\n generations: Readonly<Record<string, number>>;\n}>;\n\ntype MachineEntry<TContext, TProps> = Readonly<{\n path: string;\n generation: number;\n from: MachineStateValue;\n to: MachineStateValue;\n event: MachineEventObject;\n snapshot: MachineSnapshot<TContext, TProps>;\n}>;\n\ntype MachineScope<TContext, TProps> = {\n snapshot: MachineSnapshot<TContext, TProps>;\n context: Readonly<TContext>;\n props: Readonly<TProps>;\n event: MachineEventObject;\n state: MachineStateValue;\n};\n\ntype MachineGuard<TContext = unknown, TProps = Record<string, never>> = (\n scope: MachineScope<TContext, TProps>,\n) => boolean;\n\ntype MachineUpdate<TContext, TProps> = {\n context?: Partial<TContext>;\n props?: Partial<TProps>;\n};\n\ntype MachineReducer<TContext = unknown, TProps = Record<string, never>> = (\n scope: MachineScope<TContext, TProps>,\n) => MachineUpdate<TContext, TProps> | void;\n\ntype MachineEffect<TContext = unknown, TProps = Record<string, never>> = (\n scope: MachineScope<TContext, TProps>,\n) => void | (() => void);\n\ntype MachineReducerRef<TContext, TProps> = string | MachineReducer<TContext, TProps>;\ntype MachineEffectRef<TContext, TProps> = string | MachineEffect<TContext, TProps>;\ntype MachineReducerList<TContext, TProps> = MachineReducerRef<TContext, TProps> | MachineReducerRef<TContext, TProps>[];\ntype MachineEffectList<TContext, TProps> = MachineEffectRef<TContext, TProps> | MachineEffectRef<TContext, TProps>[];\n\ntype MachineTransitionDefinition<TContext, TProps> = {\n target?: string;\n guard?: string | MachineGuard<TContext, TProps>;\n reduce?: MachineReducerList<TContext, TProps>;\n effects?: MachineEffectList<TContext, TProps>;\n};\n\ntype MachineTransition<TContext, TProps = Record<string, never>> = string | MachineTransitionDefinition<TContext, TProps>;\n\ntype MachineStateConfig<TContext, TProps = Record<string, never>> = {\n id?: string;\n type?: 'compound' | 'parallel' | 'final';\n initial?: string;\n tags?: string[];\n reduce?: MachineReducerList<TContext, TProps>;\n entry?: MachineEffectList<TContext, TProps>;\n exit?: MachineEffectList<TContext, TProps>;\n on?: Record<string, MachineTransition<TContext, TProps> | Array<MachineTransition<TContext, TProps>>>;\n states?: Record<string, MachineStateConfig<TContext, TProps>>;\n};\n\ntype MachineConfig<TContext, TProps = Record<string, never>> = MachineStateConfig<TContext, TProps> & {\n initial?: string;\n states: Record<string, MachineStateConfig<TContext, TProps>>;\n};\n\ntype MachineOptions<TContext, TProps = Record<string, never>> = {\n context: TContext;\n props?: TProps;\n reducers?: Record<string, MachineReducer<TContext, TProps>>;\n guards?: Record<string, MachineGuard<TContext, TProps>>;\n effects?: Record<string, MachineEffect<TContext, TProps>>;\n};\n\ntype Machine<TContext, TProps = Record<string, never>> = {\n readonly state: MachineStateValue;\n readonly context: Readonly<TContext>;\n readonly props: Readonly<TProps>;\n getSnapshot(): MachineSnapshot<TContext, TProps>;\n send(event: MachineEvent): void;\n subscribe(listener: (snapshot: MachineSnapshot<TContext, TProps>) => void): () => void;\n subscribeEntries(listener: (entry: MachineEntry<TContext, TProps>) => void): () => void;\n matches(state: string): boolean;\n hasTag(tag: string): boolean;\n stop(): void;\n};\n\ntype RuntimeNode<TContext, TProps> = {\n key: string;\n path: string;\n order: number;\n id?: string;\n parent?: string;\n type: 'compound' | 'parallel' | 'final';\n initial?: string;\n children: string[];\n tags: string[];\n reduce: MachineReducerRef<TContext, TProps>[];\n entry: MachineEffectRef<TContext, TProps>[];\n exit: MachineEffectRef<TContext, TProps>[];\n on: Record<string, MachineTransition<TContext, TProps> | Array<MachineTransition<TContext, TProps>>>;\n};\n\ntype SelectedTransition<TContext, TProps> = {\n source: RuntimeNode<TContext, TProps>;\n definition: MachineTransitionDefinition<TContext, TProps>;\n};\n\nconst ROOT_PATH = '$';\nconst INIT_EVENT: MachineEventObject = {type: '@@init'};\n\nconst toEventObject = (event: MachineEvent): MachineEventObject => (\n typeof event === 'string' ? {type: event} : event\n);\n\nconst toArray = <T>(value: T | T[] | undefined): T[] => {\n if (value === undefined) return [];\n return Array.isArray(value) ? value : [value];\n};\n\nconst asDefinition = <TContext, TProps>(\n transition: MachineTransition<TContext, TProps>,\n): MachineTransitionDefinition<TContext, TProps> => (\n typeof transition === 'string' ? {target: transition} : transition\n);\n\nconst isDescendant = (path: string, ancestor: string): boolean => (\n ancestor === ROOT_PATH || path === ancestor || path.startsWith(`${ancestor}.`)\n);\n\nconst createMachine = <TContext, TProps = Record<string, never>>(\n config: MachineConfig<TContext, TProps>,\n options: MachineOptions<TContext, TProps>,\n): Machine<TContext, TProps> => {\n const nodes = new Map<string, RuntimeNode<TContext, TProps>>();\n const ids = new Map<string, string>();\n const listeners = new Set<(snapshot: MachineSnapshot<TContext, TProps>) => void>();\n const entryListeners = new Set<(entry: MachineEntry<TContext, TProps>) => void>();\n const generationCounters = new Map<string, number>();\n const activeGenerations = new Map<string, number>();\n const cleanups = new Map<string, Array<() => void>>();\n const queue: MachineEventObject[] = [];\n let processing = false;\n let stopped = false;\n let order = 0;\n\n const visit = (\n states: Record<string, MachineStateConfig<TContext, TProps>>,\n parent: string,\n ): string[] => Object.entries(states).map(([key, stateConfig]) => {\n const path = parent === ROOT_PATH ? key : `${parent}.${key}`;\n const children = stateConfig.states ? visit(stateConfig.states, path) : [];\n const type = stateConfig.type ?? (children.length > 0 ? 'compound' : 'final');\n const node: RuntimeNode<TContext, TProps> = {\n key,\n path,\n order: order++,\n type,\n children,\n tags: stateConfig.tags ?? [],\n reduce: toArray(stateConfig.reduce),\n entry: toArray(stateConfig.entry),\n exit: toArray(stateConfig.exit),\n on: stateConfig.on ?? {},\n };\n if (stateConfig.id) node.id = stateConfig.id;\n if (parent !== ROOT_PATH) node.parent = parent;\n if (stateConfig.initial) node.initial = stateConfig.initial;\n nodes.set(path, node);\n if (node.id) ids.set(node.id, path);\n return path;\n });\n\n const rootChildren = visit(config.states, ROOT_PATH);\n const root: RuntimeNode<TContext, TProps> = {\n key: ROOT_PATH,\n path: ROOT_PATH,\n order: -1,\n type: config.type ?? 'compound',\n children: rootChildren,\n tags: config.tags ?? [],\n reduce: toArray(config.reduce),\n entry: toArray(config.entry),\n exit: toArray(config.exit),\n on: config.on ?? {},\n };\n if (config.id) root.id = config.id;\n if (config.initial) root.initial = config.initial;\n nodes.set(ROOT_PATH, root);\n if (root.id) ids.set(root.id, ROOT_PATH);\n\n const nodeFor = (path: string): RuntimeNode<TContext, TProps> => {\n const node = nodes.get(path);\n if (!node) throw new Error(`Unknown machine state: ${path}`);\n return node;\n };\n\n const ancestry = (path: string): RuntimeNode<TContext, TProps>[] => {\n const result: RuntimeNode<TContext, TProps>[] = [];\n let cursor: string | undefined = path;\n while (cursor) {\n const node = nodeFor(cursor);\n result.push(node);\n cursor = node.parent ?? (cursor === ROOT_PATH ? undefined : ROOT_PATH);\n }\n return result;\n };\n\n const activeNodesFor = (leaves: readonly string[]): RuntimeNode<TContext, TProps>[] => {\n const paths = new Set<string>();\n leaves.forEach((leaf) => ancestry(leaf).forEach((node) => paths.add(node.path)));\n return Array.from(paths).map(nodeFor).sort((left, right) => left.order - right.order);\n };\n\n const resolveInitialLeaves = (path: string): string[] => {\n const node = nodeFor(path);\n if (node.children.length === 0 || node.type === 'final') return path === ROOT_PATH ? [] : [path];\n if (node.type === 'parallel') return node.children.flatMap(resolveInitialLeaves);\n\n if (!node.initial) throw new Error(`Machine state requires an initial child: ${path}`);\n const explicitPath = path === ROOT_PATH ? node.initial : `${path}.${node.initial}`;\n const initialPath = nodes.has(explicitPath) ? explicitPath : node.initial;\n return resolveInitialLeaves(initialPath);\n };\n\n const resolveTargetPath = (target: string, source: RuntimeNode<TContext, TProps>): string => {\n if (target.startsWith('#')) {\n const byId = ids.get(target.slice(1));\n if (!byId) throw new Error(`Unknown machine state id: ${target}`);\n return byId;\n }\n if (target === ROOT_PATH || nodes.has(target)) return target;\n if (source.parent) {\n const sibling = `${source.parent}.${target}`;\n if (nodes.has(sibling)) return sibling;\n }\n if (nodes.has(target)) return target;\n throw new Error(`Unknown machine state: ${target}`);\n };\n\n const stateValueFor = (leaves: readonly string[]): MachineStateValue => (\n leaves.length === 1 ? leaves[0] as string : Object.freeze([...leaves])\n );\n\n const tagsFor = (leaves: readonly string[]): readonly string[] => Object.freeze(Array.from(new Set(\n activeNodesFor(leaves).flatMap((node) => node.tags),\n )));\n\n const generationsFor = (): Readonly<Record<string, number>> => Object.freeze(Object.fromEntries(activeGenerations));\n\n let activeLeaves = resolveInitialLeaves(ROOT_PATH);\n let snapshot: MachineSnapshot<TContext, TProps> = Object.freeze({\n value: stateValueFor(activeLeaves),\n tags: tagsFor(activeLeaves),\n context: Object.freeze({...options.context}) as Readonly<TContext>,\n props: Object.freeze({...options.props ?? {}}) as Readonly<TProps>,\n generations: Object.freeze({}),\n });\n\n const makeScope = (\n event: MachineEventObject,\n currentSnapshot: MachineSnapshot<TContext, TProps> = snapshot,\n ): MachineScope<TContext, TProps> => ({\n snapshot: currentSnapshot,\n context: currentSnapshot.context,\n props: currentSnapshot.props,\n event,\n state: currentSnapshot.value,\n });\n\n const cleanupKey = (path: string): string => `${path}:${activeGenerations.get(path) ?? 0}`;\n\n const rememberCleanup = (path: string, cleanup: void | (() => void)): void => {\n if (typeof cleanup !== 'function') return;\n const key = cleanupKey(path);\n const stack = cleanups.get(key) ?? [];\n stack.push(cleanup);\n cleanups.set(key, stack);\n };\n\n const runCleanups = (path: string): void => {\n const key = cleanupKey(path);\n const stack = cleanups.get(key);\n if (!stack) return;\n stack.splice(0).reverse().forEach((cleanup) => cleanup());\n cleanups.delete(key);\n };\n\n const effectFor = (ref: MachineEffectRef<TContext, TProps>): MachineEffect<TContext, TProps> | undefined => (\n typeof ref === 'function' ? ref : options.effects?.[ref]\n );\n\n const runEffects = (\n refs: MachineEffectRef<TContext, TProps>[],\n event: MachineEventObject,\n path: string,\n remember = true,\n ): void => {\n refs.forEach((ref) => {\n const effect = effectFor(ref);\n if (!effect) throw new Error(`Unknown machine effect: ${String(ref)}`);\n const cleanup = effect(makeScope(event));\n if (remember) rememberCleanup(path, cleanup);\n });\n };\n\n const reducerFor = (ref: MachineReducerRef<TContext, TProps>): MachineReducer<TContext, TProps> | undefined => (\n typeof ref === 'function' ? ref : options.reducers?.[ref]\n );\n\n const applyReducers = (\n refs: MachineReducerRef<TContext, TProps>[],\n event: MachineEventObject,\n base: MachineSnapshot<TContext, TProps>,\n ): Pick<MachineSnapshot<TContext, TProps>, 'context' | 'props'> => {\n const contextUpdates: Partial<TContext> = {};\n const propUpdates: Partial<TProps> = {};\n const contextKeys = new Set<PropertyKey>();\n const propKeys = new Set<PropertyKey>();\n\n refs.forEach((ref) => {\n const reducer = reducerFor(ref);\n if (!reducer) throw new Error(`Unknown machine reducer: ${String(ref)}`);\n const update = reducer(makeScope(event, base));\n if (!update) return;\n\n Reflect.ownKeys(update.context ?? {}).forEach((key) => {\n if (contextKeys.has(key)) throw new Error(`Conflicting machine context update: ${String(key)}`);\n contextKeys.add(key);\n Reflect.set(contextUpdates as object, key, Reflect.get(update.context as object, key));\n });\n Reflect.ownKeys(update.props ?? {}).forEach((key) => {\n if (propKeys.has(key)) throw new Error(`Conflicting machine prop update: ${String(key)}`);\n propKeys.add(key);\n Reflect.set(propUpdates as object, key, Reflect.get(update.props as object, key));\n });\n });\n\n return {\n context: Object.freeze({...base.context, ...contextUpdates}) as Readonly<TContext>,\n props: Object.freeze({...base.props, ...propUpdates}) as Readonly<TProps>,\n };\n };\n\n const guardAllows = (\n guard: MachineTransitionDefinition<TContext, TProps>['guard'],\n event: MachineEventObject,\n base: MachineSnapshot<TContext, TProps>,\n ): boolean => {\n if (!guard) return true;\n const resolved = typeof guard === 'function' ? guard : options.guards?.[guard];\n if (!resolved) throw new Error(`Unknown machine guard: ${String(guard)}`);\n return resolved(makeScope(event, base));\n };\n\n const selectTransitions = (\n event: MachineEventObject,\n base: MachineSnapshot<TContext, TProps>,\n ): SelectedTransition<TContext, TProps>[] => {\n const selectedBySource = new Map<string, SelectedTransition<TContext, TProps>>();\n\n activeLeaves.forEach((leaf) => {\n for (const source of ancestry(leaf)) {\n const candidate = toArray(source.on[event.type])\n .map(asDefinition<TContext, TProps>)\n .find((definition) => guardAllows(definition.guard, event, base));\n if (candidate) selectedBySource.set(source.path, {source, definition: candidate});\n }\n });\n\n const selected = Array.from(selectedBySource.values());\n return selected.filter((candidate) => !selected.some((other) => (\n other !== candidate && isDescendant(candidate.source.path, other.source.path)\n ))).sort((left, right) => left.source.order - right.source.order);\n };\n\n const commonAncestor = (left: string, right: string): string => {\n const rightPaths = new Set(ancestry(right).map((node) => node.path));\n return ancestry(left).find((node) => rightPaths.has(node.path))?.path ?? ROOT_PATH;\n };\n\n const transitionBoundary = (source: string, target: string): string => {\n const lca = commonAncestor(source, target);\n if (source === target || lca === source) return source;\n const sourceAncestry = ancestry(source);\n const lcaIndex = sourceAncestry.findIndex((node) => node.path === lca);\n return sourceAncestry[Math.max(0, lcaIndex - 1)]?.path ?? source;\n };\n\n const nextLeavesFor = (selected: SelectedTransition<TContext, TProps>[]): string[] => {\n let next = [...activeLeaves];\n selected.forEach(({source, definition}) => {\n if (!definition.target) return;\n const targetPath = resolveTargetPath(definition.target, source);\n const boundary = transitionBoundary(source.path, targetPath);\n next = next.filter((leaf) => !isDescendant(leaf, boundary));\n next.push(...resolveInitialLeaves(targetPath));\n });\n return Array.from(new Set(next)).sort((left, right) => nodeFor(left).order - nodeFor(right).order);\n };\n\n const processEvent = (event: MachineEventObject): void => {\n if (\n typeof event.__state === 'string'\n && typeof event.__generation === 'number'\n && activeGenerations.get(event.__state) !== event.__generation\n ) return;\n\n const previous = snapshot;\n const selected = selectTransitions(event, previous);\n if (selected.length === 0) return;\n\n const nextLeaves = nextLeavesFor(selected);\n const previousNodes = activeNodesFor(activeLeaves);\n const nextNodes = activeNodesFor(nextLeaves);\n const previousPaths = new Set(previousNodes.map((node) => node.path));\n const nextPaths = new Set(nextNodes.map((node) => node.path));\n const reentryPaths = selected.flatMap(({source, definition}) => {\n if (!definition.target) return [];\n const target = resolveTargetPath(definition.target, source);\n return target === source.path ? previousNodes.filter((node) => isDescendant(node.path, source.path)).map((node) => node.path) : [];\n });\n const forcedReentry = new Set(reentryPaths);\n const exitNodes = previousNodes\n .filter((node) => !nextPaths.has(node.path) || forcedReentry.has(node.path))\n .sort((left, right) => right.path.split('.').length - left.path.split('.').length || right.order - left.order);\n const entryNodes = nextNodes\n .filter((node) => !previousPaths.has(node.path) || forcedReentry.has(node.path))\n .sort((left, right) => left.path.split('.').length - right.path.split('.').length || left.order - right.order);\n\n exitNodes.forEach((node) => {\n runCleanups(node.path);\n runEffects(node.exit, event, node.path, false);\n activeGenerations.delete(node.path);\n });\n\n const reducerRefs = [\n ...selected.flatMap(({definition}) => toArray(definition.reduce)),\n ...entryNodes.flatMap((node) => node.reduce),\n ];\n const reduced = applyReducers(reducerRefs, event, previous);\n\n entryNodes.forEach((node) => {\n const generation = (generationCounters.get(node.path) ?? 0) + 1;\n generationCounters.set(node.path, generation);\n activeGenerations.set(node.path, generation);\n });\n\n activeLeaves = nextLeaves;\n snapshot = Object.freeze({\n value: stateValueFor(activeLeaves),\n tags: tagsFor(activeLeaves),\n context: reduced.context,\n props: reduced.props,\n generations: generationsFor(),\n });\n\n selected.forEach(({source, definition}) => runEffects(\n toArray(definition.effects),\n event,\n source.path,\n ));\n entryNodes.forEach((node) => runEffects(node.entry, event, node.path));\n listeners.forEach((listener) => listener(snapshot));\n entryNodes.forEach((node) => {\n const generation = activeGenerations.get(node.path);\n if (generation === undefined) return;\n const entry: MachineEntry<TContext, TProps> = Object.freeze({\n path: node.path,\n generation,\n from: previous.value,\n to: snapshot.value,\n event,\n snapshot,\n });\n entryListeners.forEach((listener) => listener(entry));\n });\n };\n\n const machine: Machine<TContext, TProps> = {\n get state() {\n return snapshot.value;\n },\n get context() {\n return snapshot.context;\n },\n get props() {\n return snapshot.props;\n },\n getSnapshot() {\n return snapshot;\n },\n send(event) {\n if (stopped) return;\n queue.push(toEventObject(event));\n if (processing) return;\n\n processing = true;\n try {\n while (queue.length > 0 && !stopped) processEvent(queue.shift() as MachineEventObject);\n } finally {\n processing = false;\n }\n },\n subscribe(listener) {\n if (stopped) return () => {};\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n subscribeEntries(listener) {\n if (stopped) return () => {};\n entryListeners.add(listener);\n return () => entryListeners.delete(listener);\n },\n matches(state) {\n return activeLeaves.some((leaf) => leaf === state || leaf.split('.').at(-1) === state || isDescendant(leaf, state));\n },\n hasTag(tag) {\n return snapshot.tags.includes(tag);\n },\n stop() {\n if (stopped) return;\n activeNodesFor(activeLeaves)\n .sort((left, right) => right.path.split('.').length - left.path.split('.').length || right.order - left.order)\n .forEach((node) => runCleanups(node.path));\n listeners.clear();\n entryListeners.clear();\n queue.splice(0);\n activeGenerations.clear();\n stopped = true;\n },\n };\n\n activeNodesFor(activeLeaves).forEach((node) => {\n const generation = (generationCounters.get(node.path) ?? 0) + 1;\n generationCounters.set(node.path, generation);\n activeGenerations.set(node.path, generation);\n });\n const initialReducers = activeNodesFor(activeLeaves).flatMap((node) => node.reduce);\n const initialReduced = applyReducers(initialReducers, INIT_EVENT, snapshot);\n snapshot = Object.freeze({\n value: stateValueFor(activeLeaves),\n tags: tagsFor(activeLeaves),\n context: initialReduced.context,\n props: initialReduced.props,\n generations: generationsFor(),\n });\n activeNodesFor(activeLeaves).forEach((node) => runEffects(node.entry, INIT_EVENT, node.path));\n\n return machine;\n};\n\nexport {createMachine};\nexport type {\n Machine,\n MachineConfig,\n MachineEffect,\n MachineEffectList,\n MachineEffectRef,\n MachineEntry,\n MachineEvent,\n MachineEventObject,\n MachineGuard,\n MachineOptions,\n MachineReducer,\n MachineReducerList,\n MachineReducerRef,\n MachineScope,\n MachineSnapshot,\n MachineStateConfig,\n MachineStateValue,\n MachineTransition,\n MachineTransitionDefinition,\n MachineUpdate,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./styles-TfvwVPGw.js";var t=[`:`,`@`,`x-`,`data-`,`aria-`],n=e=>typeof e==`object`&&!!e&&!Array.isArray(e),r=e=>Object.keys(e).some(e=>e===`class`||e===`style`||e===`id`||e===`role`||e===`type`||e===`tabindex`||t.some(t=>e.startsWith(t))),i=(e,t,n)=>{Object.entries(t).forEach(([t,r])=>{if(t===`class`){n.push(r);return}if(r==null||r===!1){delete e[t];return}e[t]=r})},a=({inputs:t})=>{let a={},o=[];t.forEach(e=>{if(e){if(n(e)&&r(e)){i(a,e,o);return}o.push(e)}});let s=e(o);return s&&(a.class=s),a};export{a as t};
2
+ //# sourceMappingURL=merge-bindings-C8ewA_FD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-bindings-C8ewA_FD.js","names":[],"sources":["../../../../../../../../client/src/runtime/merge-bindings.ts"],"sourcesContent":["import {clsx, type ClassValue} from 'clsx';\n\ntype AttributeValue = unknown;\nexport type BindingObject = Record<string, AttributeValue>;\nexport type BindingInput = ClassValue | BindingObject;\nexport type MergeBindingsOptions = {\n inputs: readonly BindingInput[];\n};\n\nconst BINDING_PREFIXES = [':', '@', 'x-', 'data-', 'aria-'];\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => (\n value !== null\n && typeof value === 'object'\n && !Array.isArray(value)\n);\n\n// Distinguish DOM/Alpine binding objects from className dictionary inputs.\n// Example:\n// mergeBindings({inputs: ['p-2', {rounded: true}, {':data-state': () => 'open'}]})\n// returns {class: 'p-2 rounded', ':data-state': () => 'open'}.\nconst isBindingObject = (value: Record<string, unknown>): boolean => (\n Object.keys(value).some((key) => (\n key === 'class'\n || key === 'style'\n || key === 'id'\n || key === 'role'\n || key === 'type'\n || key === 'tabindex'\n || BINDING_PREFIXES.some((prefix) => key.startsWith(prefix))\n ))\n);\n\nconst mergeBinding = (target: BindingObject, input: BindingObject, classes: ClassValue[]): void => {\n Object.entries(input).forEach(([key, value]) => {\n if (key === 'class') {\n classes.push(value as ClassValue);\n return;\n }\n\n if (value === undefined || value === null || value === false) {\n delete target[key];\n return;\n }\n\n target[key] = value;\n });\n};\n\nexport const mergeBindings = ({inputs}: MergeBindingsOptions): BindingObject => {\n const output: BindingObject = {};\n const classes: ClassValue[] = [];\n\n inputs.forEach((input) => {\n if (!input) return;\n\n if (isPlainObject(input) && isBindingObject(input)) {\n mergeBinding(output, input, classes);\n return;\n }\n\n classes.push(input as ClassValue);\n });\n\n const mergedClass = clsx(classes);\n if (mergedClass) output.class = mergedClass;\n\n return output;\n};\n"],"mappings":"yCASA,IAAM,EAAmB,CAAC,IAAK,IAAK,KAAM,QAAS,OAAO,EAEpD,EAAiB,GAEhB,OAAO,GAAU,YADpB,GAEG,CAAC,MAAM,QAAQ,CAAK,EAOrB,EAAmB,GACrB,OAAO,KAAK,CAAK,EAAE,KAAM,GACrB,IAAQ,SACL,IAAQ,SACR,IAAQ,MACR,IAAQ,QACR,IAAQ,QACR,IAAQ,YACR,EAAiB,KAAM,GAAW,EAAI,WAAW,CAAM,CAAC,CAC9D,EAGC,GAAgB,EAAuB,EAAsB,IAAgC,CAC/F,OAAO,QAAQ,CAAK,EAAE,SAAS,CAAC,EAAK,KAAW,CAC5C,GAAI,IAAQ,QAAS,CACjB,EAAQ,KAAK,CAAmB,EAChC,MACJ,CAEA,GAAI,GAAiC,MAAQ,IAAU,GAAO,CAC1D,OAAO,EAAO,GACd,MACJ,CAEA,EAAO,GAAO,CAClB,CAAC,CACL,EAEa,GAAiB,CAAC,YAAiD,CAC5E,IAAM,EAAwB,CAAC,EACzB,EAAwB,CAAC,EAE/B,EAAO,QAAS,GAAU,CACjB,KAEL,IAAI,EAAc,CAAK,GAAK,EAAgB,CAAK,EAAG,CAChD,EAAa,EAAQ,EAAO,CAAO,EACnC,MACJ,CAEA,EAAQ,KAAK,CAAmB,CAFhC,CAGJ,CAAC,EAED,IAAM,EAAc,EAAK,CAAO,EAGhC,OAFI,IAAa,EAAO,MAAQ,GAEzB,CACX"}
@@ -0,0 +1,3 @@
1
+ import{c as e,g as t,h as n,n as r}from"./ui-xTjuF3uC.js";function i(e,t){e.indexOf(t)===-1&&e.push(t)}function a(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var o=(e,t,n)=>n>t?t:n<e?e:n;function s(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}var c={},l=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),u=e=>typeof e==`object`&&!!e,d=e=>/^0[^.\s]+$/u.test(e);function f(e){let t;return()=>(t===void 0&&(t=e()),t)}var p=e=>e,m=(...e)=>e.reduce((e,t)=>n=>t(e(n))),h=(e,t,n)=>{let r=t-e;return r?(n-e)/r:1},g=class{constructor(){this.subscriptions=[]}add(e){return i(this.subscriptions,e),()=>a(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}},_=e=>e*1e3,v=e=>e/1e3,y=(e,t)=>t?1e3/t*e:0,b=new Set;function x(e,t,n){e||b.has(t)||(console.warn(s(t,n)),b.add(t))}var S=(e,t,n)=>{let r=t-e;return((n-e)%r+r)%r+e},C=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,w=1e-7,T=12;function E(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=C(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>w&&++s<T);return o}function D(e,t,n,r){if(e===t&&n===r)return p;let i=t=>E(t,0,1,e,n);return e=>e===0||e===1?e:C(i(e),t,r)}var ee=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,te=e=>t=>1-e(1-t),ne=D(.33,1.53,.69,.99),re=te(ne),O=ee(re),ie=e=>e>=1?1:(e*=2)<1?.5*re(e):.5*(2-2**(-10*(e-1))),ae=e=>1-Math.sin(Math.acos(e)),oe=te(ae),se=ee(ae),ce=D(.42,0,1,1),le=D(0,0,.58,1),ue=D(.42,0,.58,1),de=e=>Array.isArray(e)&&typeof e[0]!=`number`;function fe(e,t){return de(e)?e[S(0,e.length,t)]:e}var pe=e=>Array.isArray(e)&&typeof e[0]==`number`,me={linear:p,easeIn:ce,easeInOut:ue,easeOut:le,circIn:ae,circInOut:se,circOut:oe,backIn:re,backInOut:O,backOut:ne,anticipate:ie},he=e=>typeof e==`string`,ge=e=>{if(pe(e)){e.length;let[t,n,r,i]=e;return D(t,n,r,i)}else if(he(e))return me[e],`${e}`,me[e];return e},_e=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`];function ve(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 ye=40;function be(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=_e.reduce((e,t)=>(e[t]=ve(a),e),{}),{setup:s,read:l,resolveKeyframes:u,preUpdate:d,update:f,preRender:p,render:m,postRender:h}=o,g=()=>{let a=c.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,ye),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),h.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(g))},_=()=>{n=!0,r=!0,i.isProcessing||e(g)};return{schedule:_e.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||_(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<_e.length;t++)o[_e[t]].cancel(e)},state:i,steps:o}}var{schedule:k,cancel:xe,state:Se,steps:Ce}=be(typeof requestAnimationFrame<`u`?requestAnimationFrame:p,!0),we;function Te(){we=void 0}var A={now:()=>(we===void 0&&A.set(Se.isProcessing||c.useManualTiming?Se.timestamp:performance.now()),we),set:e=>{we=e,queueMicrotask(Te)}},Ee=e=>t=>typeof t==`string`&&t.startsWith(e),De=Ee(`--`),Oe=Ee(`var(--`),ke=e=>Oe(e)?Ae.test(e.split(`/*`)[0].trim()):!1,Ae=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function je(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var Me={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Ne={...Me,transform:e=>o(0,1,e)},Pe={...Me,default:1},Fe=e=>Math.round(e*1e5)/1e5,Ie=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Le(e){return e==null}var Re=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ze=(e,t)=>n=>!!(typeof n==`string`&&Re.test(n)&&n.startsWith(e)||t&&!Le(n)&&Object.prototype.hasOwnProperty.call(n,t)),Be=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Ie);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Ve=e=>o(0,255,e),He={...Me,transform:e=>Math.round(Ve(e))},j={test:ze(`rgb`,`red`),parse:Be(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+He.transform(e)+`, `+He.transform(t)+`, `+He.transform(n)+`, `+Fe(Ne.transform(r))+`)`};function Ue(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 We={test:ze(`#`),parse:Ue,transform:j.transform},Ge=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),M=Ge(`deg`),Ke=Ge(`%`),N=Ge(`px`),qe=Ge(`vh`),Je=Ge(`vw`),Ye={...Ke,parse:e=>Ke.parse(e)/100,transform:e=>Ke.transform(e*100)},P={test:ze(`hsl`,`hue`),parse:Be(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ke.transform(Fe(t))+`, `+Ke.transform(Fe(n))+`, `+Fe(Ne.transform(r))+`)`},F={test:e=>j.test(e)||We.test(e)||P.test(e),parse:e=>j.test(e)?j.parse(e):P.test(e)?P.parse(e):We.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?j.transform(e):P.transform(e),getAnimatableNone:e=>{let t=F.parse(e);return t.alpha=0,F.transform(t)}},Xe=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Ze(e){return isNaN(e)&&typeof e==`string`&&(e.match(Ie)?.length||0)+(e.match(Xe)?.length||0)>0}var Qe=`number`,$e=`color`,et=`var`,tt=`var(`,nt="${}",rt=/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 I(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(rt,e=>(F.test(e)?(r.color.push(a),i.push($e),n.push(F.parse(e))):e.startsWith(tt)?(r.var.push(a),i.push(et),n.push(e)):(r.number.push(a),i.push(Qe),n.push(parseFloat(e))),++a,nt)).split(nt),indexes:r,types:i}}function it(e){return I(e).values}function at({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===Qe?i+=Fe(r[a]):e===$e?i+=F.transform(r[a]):i+=r[a]}return i}}function ot(e){return at(I(e))}var st=e=>typeof e==`number`?0:F.test(e)?F.getAnimatableNone(e):e,ct=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:st(e);function lt(e){let t=I(e);return at(t)(t.values.map((e,n)=>ct(e,t.split[n])))}var L={test:Ze,parse:it,createTransformer:ot,getAnimatableNone:lt};function ut(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=ut(s,r,e+1/3),a=ut(s,r,e),o=ut(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function ft(e,t){return n=>n>0?t:e}var pt=(e,t,n)=>e+(t-e)*n,mt=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},ht=[We,j,P],gt=e=>ht.find(t=>t.test(e));function _t(e){let t=gt(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===P&&(n=dt(n)),n}var vt=(e,t)=>{let n=_t(e),r=_t(t);if(!n||!r)return ft(e,t);let i={...n};return e=>(i.red=mt(n.red,r.red,e),i.green=mt(n.green,r.green,e),i.blue=mt(n.blue,r.blue,e),i.alpha=pt(n.alpha,r.alpha,e),j.transform(i))},yt=new Set([`none`,`hidden`]);function bt(e,t){return yt.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function xt(e,t){return n=>pt(e,t,n)}function St(e){return typeof e==`number`?xt:typeof e==`string`?ke(e)?ft:F.test(e)?vt:Et:Array.isArray(e)?Ct:typeof e==`object`?F.test(e)?vt:wt:ft}function Ct(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>St(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function wt(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=St(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function Tt(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 Et=(e,t)=>{let n=L.createTransformer(t),r=I(e),i=I(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?yt.has(e)&&!i.values.length||yt.has(t)&&!r.values.length?bt(e,t):m(Ct(Tt(r,i),i.values),n):(`${e}${t}`,ft(e,t))};function Dt(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?pt(e,t,n):St(e)(e,t)}var Ot=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>k.update(t,e),stop:()=>xe(t),now:()=>Se.isProcessing?Se.timestamp:A.now()}},kt=(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)})`},At=2e4;function jt(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 Mt(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(jt(r),At);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:v(i)}}var R={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 Nt(e,t){return e*Math.sqrt(1-t*t)}var Pt=12;function Ft(e,t,n){let r=n;for(let n=1;n<Pt;n++)r-=e(r)/t(r);return r}var It=.001;function Lt({duration:e=R.duration,bounce:t=R.bounce,velocity:n=R.velocity,mass:r=R.mass}){let i,a;R.maxDuration;let s=1-t;s=o(R.minDamping,R.maxDamping,s),e=o(R.minDuration,R.maxDuration,v(e)),s<1?(i=t=>{let r=t*s,i=r*e,a=r-n,o=Nt(t,s),c=Math.exp(-i);return It-a/o*c},a=t=>{let r=t*s*e,a=r*n+n,o=s**2*t**2*e,c=Math.exp(-r),l=Nt(t**2,s);return(-i(t)+It>0?-1:1)*((a-o)*c)/l}):(i=t=>-.001+Math.exp(-t*e)*((t-n)*e+1),a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let c=5/e,l=Ft(i,a,c);if(e=_(e),isNaN(l))return{stiffness:R.stiffness,damping:R.damping,duration:e};{let t=l**2*r;return{stiffness:t,damping:s*2*Math.sqrt(r*t),duration:e}}}var Rt=[`duration`,`bounce`],zt=[`stiffness`,`damping`,`mass`];function Bt(e,t){return t.some(t=>e[t]!==void 0)}function Vt(e){let t={velocity:R.velocity,stiffness:R.stiffness,damping:R.damping,mass:R.mass,isResolvedFromDuration:!1,...e};if(!Bt(e,zt)&&Bt(e,Rt))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*o(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:R.mass,stiffness:i,damping:a}}else{let n=Lt({...e,velocity:0});t={...t,...n,mass:R.mass},t.isResolvedFromDuration=!0}return t}function z(e=R.visualDuration,t=R.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}=Vt({...n,velocity:-v(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,y=v(Math.sqrt(c/u)),b=Math.abs(g)<5;r||=b?R.restSpeed.granular:R.restSpeed.default,i||=b?R.restDelta.granular:R.restDelta.default;let x,S,C,w,T,E;if(h<1)C=Nt(y,h),w=(m+h*y*g)/C,x=e=>o-Math.exp(-h*y*e)*(w*Math.sin(C*e)+g*Math.cos(C*e)),T=h*y*w+g*C,E=h*y*g-w*C,S=e=>Math.exp(-h*y*e)*(T*Math.sin(C*e)+E*Math.cos(C*e));else if(h===1){x=e=>o-Math.exp(-y*e)*(g+(m+y*g)*e);let e=m+y*g;S=t=>Math.exp(-y*t)*(y*e*t-m)}else{let e=y*Math.sqrt(h*h-1);x=t=>{let n=Math.exp(-h*y*t),r=Math.min(e*t,300);return o-n*((m+h*y*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*y*g)/e,n=h*y*t-g*e,r=h*y*g-t*e;S=t=>{let i=Math.exp(-h*y*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let D={calculatedDuration:p&&d||null,velocity:e=>_(S(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*y*e),n=Math.sin(C*e),a=Math.cos(C*e),c=o-t*(w*n+g*a),l=_(t*(T*n+E*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=x(e);if(p)s.done=e>=d;else{let n=_(S(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(jt(D),At),t=kt(t=>D.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return D}z.applyToOptions=e=>{let t=Mt(e,100,z);return e.ease=t.ease,e.duration=_(t.duration),e.type=`keyframes`,e};var Ht=5;function Ut(e,t,n){let r=Math.max(t-Ht,0);return y(n-e(r),t-r)}function Wt({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=z({keyframes:[f.value,m(f.value)],velocity:Ut(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 Gt(e,t,n){let r=[],i=n||c.mix||Dt,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=m(Array.isArray(t)?t[n]||p:t,a)),r.push(a)}return r}function Kt(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 s=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let c=Gt(t,r,i),l=c.length,u=n=>{if(s&&n<e[0])return t[0];let r=0;if(l>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=h(e[r],e[r+1],n);return c[r](i)};return n?t=>u(o(e[0],e[a-1],t)):u}function qt(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=h(0,t,r);e.push(pt(n,1,i))}}function Jt(e){let t=[0];return qt(t,e.length-1),t}function Yt(e,t){return e.map(e=>e*t)}function Xt(e,t){return e.map(()=>t||ue).splice(0,e.length-1)}function Zt({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=de(r)?r.map(ge):ge(r),a={done:!1,value:t[0]},o=Kt(Yt(n&&n.length===t.length?n:Jt(t),e),t,{ease:Array.isArray(i)?i:Xt(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Qt=e=>e!==null;function $t(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Qt),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var en={decay:Wt,inertia:Wt,tween:Zt,keyframes:Zt,spring:z};function tn(e){typeof e.type==`string`&&(e.type=en[e.type])}var nn=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)}},rn=e=>e/100,an=class extends nn{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;tn(e);let{type:t=Zt,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Zt;s!==Zt&&typeof o[0]!=`number`&&(this.mixKeyframes=m(rn,Dt(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=jt(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:s,calculatedDuration:c}=this;if(this.startTime===null)return n.next(0);let{delay:l=0,keyframes:u,repeat:d,repeatType:f,repeatDelay:p,type:m,onUpdate:h,finalKeyframe:g}=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 _=this.currentTime-l*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?_<0:_>r;this.currentTime=Math.max(_,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let y=this.currentTime,b=n;if(d){let e=Math.min(this.currentTime,r)/s,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,d+1),t%2&&(f===`reverse`?(n=1-n,p&&(n-=p/s)):f===`mirror`&&(b=a)),y=o(0,1,n)*s}let x;v?(this.delayState.value=u[0],x=this.delayState):x=b.next(y),i&&!v&&(x.value=i(x.value));let{done:S}=x;!v&&c!==null&&(S=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let C=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&S);return C&&m!==Wt&&(x.value=$t(u,this.options,g,this.speed)),h&&h(x.value),C&&this.finish(),x}then(e,t){return this.finished.then(e,t)}get duration(){return v(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+v(e)}get time(){return v(this.currentTime)}set time(e){e=_(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 Ut(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=v(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Ot,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 on(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var B=e=>e*180/Math.PI,sn=e=>ln(B(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=>B(Math.atan(e[1])),skewY:e=>B(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},ln=e=>(e%=360,e<0&&(e+=360),e),un=sn,dn=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),fn=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),pn={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:dn,scaleY:fn,scale:e=>(dn(e)+fn(e))/2,rotateX:e=>ln(B(Math.atan2(e[6],e[5]))),rotateY:e=>ln(B(Math.atan2(-e[2],e[0]))),rotateZ:un,rotate:un,skewX:e=>B(Math.atan(e[4])),skewY:e=>B(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function mn(e){return+!!e.includes(`scale`)}function hn(e,t){if(!e||e===`none`)return mn(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=pn,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=cn,i=t}if(!i)return mn(t);let a=r[t],o=i[1].split(`,`).map(_n);return typeof a==`function`?a(o):o[a]}var gn=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return hn(n,t)};function _n(e){return parseFloat(e.trim())}var vn=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],yn=new Set([...vn,`pathRotation`]),bn=e=>e===Me||e===N,xn=new Set([`x`,`y`,`z`]),Sn=vn.filter(e=>!xn.has(e));function Cn(e){let t=[];return Sn.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var V={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})=>hn(t,`x`),y:(e,{transform:t})=>hn(t,`y`)};V.translateX=V.x,V.translateY=V.y;var H=new Set,wn=!1,Tn=!1,En=!1;function Dn(){if(Tn){let e=Array.from(H).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=Cn(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)})}Tn=!1,wn=!1,H.forEach(e=>e.complete(En)),H.clear()}function On(){H.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Tn=!0)})}function kn(){En=!0,On(),Dn(),En=!1}var An=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?(H.add(this),wn||(wn=!0,k.read(On),k.resolveKeyframes(Dn))):(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])}on(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),H.delete(this)}cancel(){this.state===`scheduled`&&(H.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},jn=e=>e.startsWith(`--`);function Mn(e,t,n){jn(t)?e.style.setProperty(t,n):e.style[t]=n}var Nn={};function Pn(e,t){let n=f(e);return()=>Nn[t]??n()}var Fn=Pn(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),In=Pn(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ln=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Rn={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ln([0,.65,.55,1]),circOut:Ln([.55,0,1,.45]),backIn:Ln([.31,.01,.66,-.59]),backOut:Ln([.33,1.53,.69,.99])};function zn(e,t){if(e)return typeof e==`function`?In()?kt(e,t):`ease-out`:pe(e)?Ln(e):Array.isArray(e)?e.map(e=>zn(e,t)||Rn.easeOut):Rn[e]}function Bn(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=zn(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 Vn(e){return typeof e==`function`&&`applyToOptions`in e}function Hn({type:e,...t}){return Vn(e)&&In()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Un=class extends nn{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=Hn(e);this.animation=Bn(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=$t(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Mn(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 v(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+v(e)}get time(){return v(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=_(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&&Fn()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),p):r(this)}},Wn={anticipate:ie,backInOut:O,circInOut:se};function Gn(e){return e in Wn}function Kn(e){typeof e.ease==`string`&&Gn(e.ease)&&(e.ease=Wn[e.ease])}var qn=10,Jn=class extends Un{constructor(e){Kn(e),tn(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 s=new an({...a,autoplay:!1}),c=Math.max(qn,A.now()-this.startTime),l=o(0,qn,c-qn),u=s.sample(c).value,{name:d}=this.options;i&&d&&Mn(i,d,u),t.setWithVelocity(s.sample(Math.max(0,c-l)).value,u,l),s.stop()}},Yn=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(L.test(e)||e===`0`)&&!e.startsWith(`url(`));function Xn(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 Zn(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=Yn(i,t),s=Yn(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:Xn(e)||(n===`spring`||Vn(n))&&r}function Qn(e){e.duration=0,e.type=`keyframes`}var $n=new Set([`opacity`,`clipPath`,`filter`,`transform`]),er=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function tr(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&er.test(e[t]))return!0;return!1}var nr=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),rr=f(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function ir(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 rr()&&n&&($n.has(n)||nr.has(n)&&tr(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var ar=40,or=class extends nn{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||An;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:l,onUpdate:u}=n;this.resolvedAt=A.now();let d=!0;Zn(e,i,a,o)||(d=!1,(c.instantAnimations||!s)&&u?.($t(e,n,t)),e[0]=e[e.length-1],Qn(n),n.repeat=0);let f={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>ar?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},m=d&&!l&&ir(f),h=f.motionValue?.owner?.current,g;if(m)try{g=new Jn({...f,element:h})}catch{g=new an(f)}else g=new an(f);g.finished.then(()=>{this.notifyFinished()}).catch(p),this.pendingTimeline&&=(this.stopTimeline=g.attachTimeline(this.pendingTimeline),void 0),this._animation=g}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(),kn()),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 lr=class extends sr{then(e,t){return this.finished.finally(e).then(()=>{})}},ur=class extends Un{constructor(e){super(),this.animation=e,e.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}},dr=new WeakMap,fr=(e,t=``)=>`${e}:${t}`;function pr(e){let t=dr.get(e);return t||(t=new Map,dr.set(e,t)),t}var mr=30,hr=e=>!isNaN(parseFloat(e)),gr={current:void 0},_r=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=hr(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 g);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 gr.current&&gr.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=A.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>mr)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,mr);return y(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 U(e,t){return new _r(e,t)}function vr(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function W(e,t){let n=e?.[t]??e?.default??e;return n===e?n:vr(n,e)}var yr={type:`spring`,stiffness:500,damping:25,restSpeed:10},br=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),xr={type:`keyframes`,duration:.8},Sr={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},Cr=(e,{keyframes:t})=>t.length>2?xr:yn.has(e)?e.startsWith(`scale`)?br(t[1]):yr:Sr,wr=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function Tr(e){for(let t in e)if(!wr.has(t))return!0;return!1}var Er=(e,t,n,r={},i,a)=>o=>{let s=W(r,e)||{},l=s.delay||r.delay||0,{elapsed:u=0}=r;u-=_(l);let d={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-u,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};Tr(s)||Object.assign(d,Cr(e,d)),d.duration&&=_(d.duration),d.repeatDelay&&=_(d.repeatDelay),d.from!==void 0&&(d.keyframes[0]=d.from);let f=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(Qn(d),d.delay===0&&(f=!0)),(c.instantAnimations||c.skipAnimations||i?.shouldSkipAnimations||s.skipAnimations)&&(f=!0,Qn(d),d.delay=0),d.allowFlatten=!s.type&&!s.ease,f&&!a&&t.get()!==void 0){let e=$t(d.keyframes,s);if(e!==void 0){k.update(()=>{d.onUpdate(e),d.onComplete()});return}}return s.isSync?new an(d):new or(d)},Dr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Or(e){let t=Dr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function kr(e,t,n=1){`${e}`;let[r,i]=Or(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return l(e)?parseFloat(e):e}return ke(i)?kr(i,t,n+1):i}function Ar(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function jr(e,t,n,r){if(typeof t==`function`){let[i,a]=Ar(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]=Ar(r);t=t(n===void 0?e.custom:n,i,a)}return t}function Mr(e,t,n){let r=e.getProps();return jr(r,t,n===void 0?r.custom:n,e)}var Nr=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...vn]),Pr=e=>Array.isArray(e);function Fr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,U(n))}function Ir(e){return Pr(e)?e[e.length-1]||0:e}function Lr(e,t){let{transitionEnd:n={},transition:r={},...i}=Mr(e,t)||{};i={...i,...n};for(let t in i)Fr(e,t,Ir(i[t]))}var G=e=>!!(e&&e.getVelocity);function Rr(e){return!!(G(e)&&e.add)}function zr(e,t){let n=e.getValue(`willChange`);if(Rr(n))return n.add(t);if(!n&&c.WillChange){let n=new c.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function Br(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var Vr=`data-`+Br(`framerAppearId`);function Hr(e){return e.props[Vr]}function Ur({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Wr(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?vr(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&&Ur(f,t))continue;let o={delay:n,...W(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=Hr(e);if(n){let e=window.MotionHandoffAnimation(n,t,k);e!==null&&(o.startTime=e,p=!0)}}zr(e,t);let m=l??e.shouldReduceMotion;r.start(Er(t,r,i,m&&Nr.has(t)?{type:!1}:o,e,p));let h=r.animation;h&&d.push(h)}if(o){let t=()=>k.update(()=>{o&&Lr(e,o)});d.length?Promise.all(d).then(t):t()}return d}var Gr={test:e=>e===`auto`,parse:e=>e},Kr=e=>t=>t.test(e),qr=[Me,N,Ke,M,Je,qe,Gr],Jr=e=>qr.find(Kr(e));function Yr(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||d(e)}var Xr=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function Zr(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ie)||[];if(!r)return e;let i=n.replace(r,``),a=+!!Xr.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var Qr=/\b([a-z-]*)\(.*?\)/gu,$r={...L,getAnimatableNone:e=>{let t=e.match(Qr);return t?t.map(Zr).join(` `):e}},ei={...L,getAnimatableNone:e=>{let t=L.parse(e);return L.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},ti={...Me,transform:Math.round},ni={borderWidth:N,borderTopWidth:N,borderRightWidth:N,borderBottomWidth:N,borderLeftWidth:N,borderRadius:N,borderTopLeftRadius:N,borderTopRightRadius:N,borderBottomRightRadius:N,borderBottomLeftRadius:N,width:N,maxWidth:N,height:N,maxHeight:N,top:N,right:N,bottom:N,left:N,inset:N,insetBlock:N,insetBlockStart:N,insetBlockEnd:N,insetInline:N,insetInlineStart:N,insetInlineEnd:N,padding:N,paddingTop:N,paddingRight:N,paddingBottom:N,paddingLeft:N,paddingBlock:N,paddingBlockStart:N,paddingBlockEnd:N,paddingInline:N,paddingInlineStart:N,paddingInlineEnd:N,margin:N,marginTop:N,marginRight:N,marginBottom:N,marginLeft:N,marginBlock:N,marginBlockStart:N,marginBlockEnd:N,marginInline:N,marginInlineStart:N,marginInlineEnd:N,fontSize:N,backgroundPositionX:N,backgroundPositionY:N,rotate:M,pathRotation:M,rotateX:M,rotateY:M,rotateZ:M,scale:Pe,scaleX:Pe,scaleY:Pe,scaleZ:Pe,skew:M,skewX:M,skewY:M,distance:N,translateX:N,translateY:N,translateZ:N,x:N,y:N,z:N,perspective:N,transformPerspective:N,opacity:Ne,originX:Ye,originY:Ye,originZ:N,zIndex:ti,fillOpacity:Ne,strokeOpacity:Ne,numOctaves:ti},ri={...ni,color:F,backgroundColor:F,outlineColor:F,fill:F,stroke:F,borderColor:F,borderTopColor:F,borderRightColor:F,borderBottomColor:F,borderLeftColor:F,filter:$r,WebkitFilter:$r,mask:ei,WebkitMask:ei},ii=e=>ri[e],ai=new Set([$r,ei]);function oi(e,t){let n=ii(e);return ai.has(n)||(n=L),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)&&I(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=oi(n,i)}var li=class extends An{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=kr(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!Nr.has(n)||e.length!==2)return;let[r,i]=e,a=Jr(r),o=Jr(i);if(je(r)!==je(i)&&V[n]){this.needsMeasurement=!0;return}if(a!==o)if(bn(a)&&bn(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else V[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||Yr(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=V[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]=V[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()}},ui=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 di(e,t){for(let n=0;n<e.length;n++)typeof e[n]==`number`&&ui.has(t)&&(e[n]=e[n]+`px`)}function fi(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 pi=(e,t)=>t&&typeof e==`number`?t.transform(e):e,{schedule:mi,cancel:hi}=be(queueMicrotask,!1);function gi(e,t){let n=window.getComputedStyle(e);return jn(t)?n.getPropertyValue(t):n[t]}function _i(e){return u(e)&&`ownerSVGElement`in e}function vi(e){return _i(e)&&e.tagName===`svg`}var yi=[...qr,F,L],bi=e=>yi.find(Kr(e)),xi=0,Si=()=>`motion-view-${xi++}`,Ci=e=>e.startsWith(`motion-view-`);function wi(e,t,n){t&&(e.style?.setProperty(`view-transition-class`,t),n.push(e))}function Ti(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 Ei(e,t,n,r,i,a=[],o,s=[],c){let l=fi(e);if(r)return l.map((e,l)=>{let u=t.get(e);if(u)return u;let d=r[l]??Si();return e.style?.setProperty(`view-transition-name`,d),n.push(e),t.set(e,d),wi(e,i,a),Ti(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`&&!Ci(d)?f=d:(f=Si(),e.style?.setProperty(`view-transition-name`,f),n.push(e)),t.set(e,f),wi(e,i,a),Ti(e,f,o,s,c),f})}function Di(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 Oi(e){return e===`layout`?`group`:e===`enter`||e===`new`?`new`:`old`}var ki={},K=null,q={set:(e,t)=>{ki[e]=t},commit:()=>{K||(K=document.createElement(`style`),K.id=`motion-view`);let e=``;for(let t in ki){let n=ki[t];e+=`${t} {\n`;for(let[t,r]of Object.entries(n))e+=` ${t}: ${r};\n`;e+=`}
2
+ `}K.textContent=e,document.head.appendChild(K),ki={}},remove:()=>{K&&K.parentElement&&K.parentElement.removeChild(K)}};function Ai(e){let t=e.match(/::view-transition-(old|new|group-children|group|image-pair)\((.*?)\)/);return t?{layer:t[2],type:t[1]}:null}function ji(){return document.getAnimations().filter(e=>{let{effect:t}=e;return!!t&&t.target===document.documentElement&&t.pseudoElement?.startsWith(`::view-transition`)})}function Mi(e,t){return t.has(e)&&Object.keys(t.get(e)).length>0}var Ni=[`layout`,`enter`,`exit`,`new`,`old`],Pi={group:[`layout`],new:[`new`,`enter`],old:[`old`,`exit`]},Fi={new:{opacity:0,scale:.85},old:{opacity:1,scale:1}},Ii=.2;function Li(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,v=new Map,y=new Map,b=new Map,S=e=>{n.forEach((t,n)=>{let c=o.get(n),h=n===`root`||!r.has(n)?void 0:s.has(n)?`none`:`contain`,_;if(n===`root`||!r.has(n))_=[n];else if(a.has(n))if(e===`old`)b.set(n,fi(n)),_=Ei(n,l,u,void 0,c,d,h,f,p),y.set(n,_);else{for(let e of b.get(n)??[])e.style?.removeProperty(`view-transition-name`),l.delete(e);_=Ei(a.get(n),l,u,y.get(n),c,d,h,f,p)}else _=Ei(n,l,u,void 0,c,d,h,f,p);let x=i.get(n);_.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=v.get(n)??{};a[e]=[r,_.length],v.set(n,a)})})},C=(e,t)=>{let n=v.get(e);return(t===`old`?n?.old:t===`new`?n?.new:n?.new??n?.old)??[-1,1]},w=(e,t,n,r,i)=>{let a=zi(W(c,n),W(Ri(e,t)??{},n));return typeof a.delay==`function`&&(a.delay=a.delay(r,i)),a},T=new Map,E=e=>l.forEach((t,n)=>{let r=n.getBoundingClientRect?.();if(r&&r.height){let n=T.get(t)??{};n[e]={width:r.width,height:r.height},T.set(t,n)}}),D=()=>{h.clear();for(let e of v.keys())e!==`root`&&(g.get(e)??ee(e))&&h.add(e)},ee=e=>{let t=T.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)>Ii},te=()=>{Mi(`root`,n)||q.set(`:root`,{"view-transition-name":`none`}),q.set(`::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)`,{"animation-timing-function":`linear !important`}),h.forEach(e=>{q.set(`::view-transition-group(${e})`,{overflow:`clip`}),q.set(`::view-transition-old(${e}), ::view-transition-new(${e})`,{width:`100%`,height:`100%`,"object-fit":`cover`})}),p.forEach(e=>{q.set(`::view-transition-group-children(${e})`,{overflow:`clip`})}),q.commit()},ne=()=>{Di(u,d,f),q.remove()},re=async()=>{await t(),S(`new`),E(`new`),D(),te()},O;try{S(`old`),E(`old`),te(),O=document.startViewTransition(re)}catch(e){return ne(),Promise.reject(e)}return O.finished.finally(ne),new Promise((e,t)=>{O.ready.then(()=>{let t=ji(),n=[],r=new Set,i=new Set;m.forEach((e,t)=>{let a=v.get(t),o=!!a?.new&&!a?.old,s=!!a?.old&&!a?.new;for(let a of Ni){if(!e[a]||a===`enter`&&!o||a===`exit`&&!s)continue;let l=Oi(a),[u,d]=C(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`){x(!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=zi(W(c,m),W(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)?Fi[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&&=_(f.duration),f.delay&&=_(f.delay),n.push(new Un({...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=Ai(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 ur(e)):e.cancel();continue}let c=v.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]=C(o.layer,u),p=w(s,u,u===`group`?`layout`:``,d===-1?0:d,f),h=p.visualDuration;p.duration&&=_(p.duration),p=Hn(p);let g=l&&h!==void 0?_(h):p.duration,y=l?`linear`:zn(p.ease,p.duration);t.updateTiming({delay:_(p.delay??0),duration:g,easing:y}),n.push(new ur(e))}e(new sr(n))}).catch(()=>O.updateCallbackDone.then(()=>e(new sr([])),t))})}function Ri(e,t){for(let n of Pi[t]??[]){let t=e?.[n]?.options;if(t)return t}}function zi(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 J=[],Bi=null;function Vi(){Bi=null;let[e]=J;e&&Hi(e)}function Hi(e){a(J,e),Bi=e,Li(e).then(t=>(e.notifyReady(t),t.finished)).catch(t=>e.notifyReject(t)).finally(Vi)}function Ui(){for(let e=J.length-1;e>=0;e--){let t=J[e],{interrupt:n}=t.options;if(n===`immediate`){let n=J.slice(0,e+1).map(e=>e.update),r=J.slice(e+1);t.update=()=>{n.forEach(e=>e())},J=[t,...r];break}}(!Bi||J[0]?.options.interrupt===`immediate`)&&Vi()}function Wi(e){J.push(e),mi.render(Ui)}var Gi=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=p,this.notifyReject=p,this.readyPromise=new Promise((e,t)=>{this.notifyReady=e,this.notifyReject=t}),this.update=e,this.options={interrupt:`wait`,...t},this.readyPromise.catch(p),Wi(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 Ki(e,t={}){return new Gi(e,t)}var qi=()=>({min:0,max:0}),Ji=()=>({x:qi(),y:qi()}),Yi=new WeakMap;function Xi(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function Zi(e){return typeof e==`string`||Array.isArray(e)}var Qi=[`initial`,`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`];function $i(e){return Xi(e.animate)||Qi.some(t=>Zi(e[t]))}function ea(e){return!!($i(e)||e.variants)}function ta(e,t,n){for(let r in t){let i=t[r],a=n[r];if(G(i))e.addValue(r,i);else if(G(a))e.addValue(r,U(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,U(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var na={current:null},ra={current:!1},ia=typeof window<`u`;function aa(){if(ra.current=!0,ia)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>na.current=e.matches;e.addEventListener(`change`,t),t()}else na.current=!1}var oa=[`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=An,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=$i(t),this.isVariantNode=ea(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&&G(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,Yi.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:(ra.current||aa(),this.shouldReduceMotion=na.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(),xe(this.notifyUpdate),xe(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&&$n.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new Un({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:_(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=yn.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):Ji()}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<oa.length;t++){let n=oa[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=ta(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=U(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`&&(l(n)||d(n))?n=parseFloat(n):!bi(n)&&L.test(t)&&(n=oi(e,t)),this.setBaseTarget(e,G(n)?n.get():n)),G(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=jr(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&&!G(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 g),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){mi.render(this.render)}},la=class extends ca{constructor(){super(...arguments),this.KeyframeResolver=li}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;G(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}};function ua({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function da(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 fa(e,t){return ua(da(e.getBoundingClientRect(),t))}var pa={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},ma=vn.length;function ha(e,t,n){let r=``,i=!0;for(let a=0;a<ma;a++){let o=vn[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=pi(s,ni[o]);if(!c){i=!1;let t=pa[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}let a=e.pathRotation;return a&&(i=!1,r+=`rotate(${pi(a,ni.pathRotation)}) `),r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function ga(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(yn.has(e)){o=!0;continue}else if(De(e)){i[e]=n;continue}else{let t=pi(n,ni[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=ha(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 _a(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 va(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var ya={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(N.test(e))e=parseFloat(e);else return e;return`${va(e,t.target.x)}% ${va(e,t.target.y)}%`}},ba={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=L.parse(e);if(i.length>5)return r;let a=L.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=pt(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},xa={borderRadius:{...ya,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:ya,borderTopRightRadius:ya,borderBottomLeftRadius:ya,borderBottomRightRadius:ya,boxShadow:ba};function Sa(e,{layout:t,layoutId:n}){return yn.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!xa[e]||e===`opacity`)}function Ca(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(G(r[t])||i&&G(i[t])||Sa(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function wa(e){return window.getComputedStyle(e)}var Ta=class extends la{constructor(){super(...arguments),this.type=`html`,this.renderInstance=_a}readValueFromInstance(e,t){if(yn.has(t))return this.projection?.isProjecting?mn(t):gn(e,t);{let n=wa(e),r=(De(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return fa(e,t)}build(e,t,n){ga(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Ca(e,t,n)}};function Ea(e,t){return e in t}var Da=class extends ca{constructor(){super(...arguments),this.type=`object`}readValueFromInstance(e,t){if(Ea(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 Ji()}build(e,t){Object.assign(e.output,t)}renderInstance(e,{output:t}){Object.assign(e,t)}sortInstanceNodePosition(){return 0}},Oa={offset:`stroke-dashoffset`,array:`stroke-dasharray`},ka={offset:`strokeDashoffset`,array:`strokeDasharray`};function Aa(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?Oa:ka;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var ja=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function Ma(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(ga(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 ja)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&&Aa(d,i,a,o,!1)}var Na=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`]),Pa=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function Fa(e,t,n,r){_a(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Na.has(n)?n:Br(n),t.attrs[n])}function Ia(e,t,n){let r=Ca(e,t,n);for(let n in e)if(G(e[n])||G(t[n])){let t=vn.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var La=class extends la{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=Ji}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(yn.has(t)){let e=ii(t);return e&&e.default||0}return t=Na.has(t)?t:Br(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Ia(e,t,n)}build(e,t,n){Ma(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){Fa(e,t,n,r)}mount(e){this.isSVGTag=Pa(e.tagName),super.mount(e)}};function Ra(e,t,n){let r=G(e)?e:U(e);return r.start(Er(``,r,t,n)),r.animation}function za(e){return typeof e==`object`&&!Array.isArray(e)}function Ba(e,t,n,r){return e==null?[]:typeof e==`string`&&za(t)?fi(e,n,r):e instanceof NodeList?Array.from(e):Array.isArray(e)?e.filter(e=>e!=null):[e]}function Va(e,t,n){return e*(t+1)+n*t}function Ha(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 Ua(e,t,n){for(let r=0;r<e.length;r++){let i=e[r];i.at>t&&i.at<n&&(a(e,i),r--)}}function Wa(e,t,n,r,i,a){Ua(e,i,a);for(let o=0;o<t.length;o++)e.push({value:t[o],at:pt(i,a,r[o]),easing:fe(n,o)})}function Ga(e,t,n=0){let r=t+1+t*n;for(let t=0;t<e.length;t++)e[t]=e[t]/r}function Ka(e,t){return e.at===t.at?e.value===null?1:t.value===null?-1:0:e.at-t.at}var qa=`easeInOut`,Ja=20;function Ya(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,Ha(d,o.at,u,l));continue}let[p,m,h={}]=o;h.at!==void 0&&(d=Ha(d,h.at,u,l));let g=0,v=(e,n,r,o=0,s=0)=>{let c=Qa(e),{delay:l=0,times:u=Jt(c),type:p=t.type||`keyframes`,repeat:m,repeatType:h,repeatDelay:v=0,...y}=n,{ease:b=t.ease||`easeOut`,duration:x}=n,S=typeof l==`function`?l(o,s):l,C=c.length,w=Vn(p)?p:i?.[p||`keyframes`];if(C<=2&&w){let e=100;if(C===2&&to(c)){let t=c[1]-c[0];e=Math.abs(t)}let n={...t,...y};x!==void 0&&(n.duration=_(x));let r=Mt(n,e,w);b=r.ease,x=r.duration}x??=a;let T=d+S;u.length===1&&u[0]===0&&(u[1]=1);let E=u.length-c.length;if(E>0&&qt(u,E),c.length===1&&c.unshift(null),m&&`${m}${Ja}`,m&&m<Ja){let e=x>0?v/x:0;x=Va(x,m,v);let t=[...c],n=[...u];b=Array.isArray(b)?[...b]:[b];let r=[...b],i=h===`reverse`||h===`mirror`,a=t,o=r;i&&(a=[...t].reverse(),h===`reverse`&&(o=[...r].reverse().map(e=>typeof e==`function`?te(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),b.push(`linear`)),c.push(...d);for(let e=0;e<d.length;e++)u.push(n[e]+p),b.push(e===0?`linear`:fe(f,e-1))}Ga(u,m,e)}let D=T+x;Wa(r,c,b,u,T,D),g=Math.max(S+x,g),f=Math.max(D,f)};if(G(p)){let e=Xa(p,s);v(m,h,Za(`default`,e))}else{let e=Ba(p,m,r,c),t=e.length;for(let n=0;n<t;n++){m=m,h=h;let r=e[n],i=Xa(r,s);for(let e in m)v(m[e],$a(h,e),Za(e,i),n,t)}}u=d,d+=g}return s.forEach((e,r)=>{for(let i in e){let a=e[i];a.sort(Ka);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(h(0,f,t)),l.push(r||`easeOut`)}c[0]!==0&&(c.unshift(0),s.unshift(s[0]),l.unshift(qa)),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 Xa(e,t){return!t.has(e)&&t.set(e,{}),t.get(e)}function Za(e,t){return t[e]||(t[e]=[]),t[e]}function Qa(e){return Array.isArray(e)?e:[e]}function $a(e,t){return e&&e[t]?{...e,...e[t]}:{...e}}var eo=e=>typeof e==`number`,to=e=>e.every(eo);function no(e){let t={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=_i(e)&&!vi(e)?new La(t):new Ta(t);n.mount(e),Yi.set(e,n)}function ro(e){let t=new Da({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});t.mount(e),Yi.set(e,t)}function io(e,t){return G(e)||typeof e==`number`||typeof e==`string`&&!za(t)}function ao(e,t,n,r){let i=[];if(io(e,t))i.push(Ra(e,za(t)&&t.default||t,n&&(n.default||n)));else{if(e==null)return i;let a=Ba(e,t,r),o=a.length;for(let e=0;e<o;e++){let r=a[e],s=r instanceof Element?no:ro;Yi.has(r)||s(r);let c=Yi.get(r),l={...n};`delay`in l&&typeof l.delay==`function`&&(l.delay=l.delay(e,o)),i.push(...Wr(c,{...t,transition:l},{}))}}return i}function oo(e,t,n){let r=[];return Ya(e.map(e=>{if(Array.isArray(e)&&typeof e[0]==`function`){let t=e[0],n=U(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:z}).forEach(({keyframes:e,transition:t},n)=>{r.push(...ao(n,e,t))}),r}function so(e){return Array.isArray(e)&&e.some(Array.isArray)}function co(e={}){let{scope:t,reduceMotion:n,skipAnimations:r}=e;function i(e,i,o){let s=[],c,l={};if(n!==void 0&&(l.reduceMotion=n),r!==void 0&&(l.skipAnimations=r),so(e)){let{onComplete:n,...r}=i||{};typeof n==`function`&&(c=n),s=oo(e,{...l,...r},t)}else{let{onComplete:n,...r}=o||{};typeof n==`function`&&(c=n),s=ao(e,i,{...l,...r},t)}let u=new lr(s);return c&&u.finished.then(c),t&&(t.animations.push(u),u.finished.then(()=>{a(t.animations,u)})),u}return i}var lo=co();function uo(e,t,n,r){if(e==null)return[];let i=fi(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={...W(s,e)};i.duration&&=_(i.duration),i.delay&&=_(i.delay);let a=pr(r),c=fr(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]=gi(r,i)),on(t),di(t,i),!a&&t.length<2&&t.unshift(gi(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 Un(r);t.set(n,i),i.finished.finally(()=>t.delete(n)),s.push(i)}return s}var fo=(e=>{function t(t,n,r){return new lr(uo(t,n,r,e))}return t})(),Y=(e,t)=>({finished:e,then:e.then.bind(e),...t}),X=e=>Y((async()=>{await e?.()})(),{cancel(){},stop(){},complete(){}}),po=(e,t)=>{let n=!1,r=()=>{n||(n=!0,t?.())};return Y(e.finished.then(()=>{},()=>{}).finally(r),{cancel(){e.cancel(),r()},stop(){e.stop(),r()},complete(){e.complete(),r()}})},mo=(...e)=>Y(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())}}),ho=(...e)=>{let t=!1,n=!1,r=null;return Y((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()}})},go=`(prefers-reduced-motion: reduce)`,_o=()=>typeof window>`u`||typeof window.matchMedia!=`function`?!1:window.matchMedia(go).matches,Z=(e=`user`)=>e===`always`?!0:e===`never`?!1:_o(),vo=(e,t={},n=`user`)=>Z(n)?{...e,duration:0,...t}:e,yo=e=>typeof e==`object`&&!!e&&`initial`in e,bo=e=>{let t={},n=new Map,r=new Map,i;Object.keys(e.values).forEach(r=>{let i=e.values[r];t[r]=U(yo(i)?i.initial:i),yo(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(Z(e.reducedMotion))return s(i),X();let c=Object.keys(i).flatMap(e=>{let s=i[e];if(s===void 0||!t[e])return[];o(e);let c=po(lo(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?mo(...c):X()},current:a,destroy:()=>{i?.(),r.forEach(e=>e.cancel()),r.clear()}}},xo=new WeakMap,So=e=>xo.get(e),Co=e=>{let t=xo.get(e);return t?.handle.stop(),t},wo=(e,t)=>{xo.set(e,t)},To=(e,t)=>{xo.get(e)?.handle===t&&xo.delete(e)},Eo=(e,t,n,r,i)=>{let a=po(t(Co(e))),o=()=>a.stop();r?.addEventListener(`abort`,o,{once:!0});let s,c=()=>{r?.removeEventListener(`abort`,o),So(e)?.handle===s&&i?.(),To(e,s)};return s=Y(a.finished.finally(c),{cancel(){a.cancel(),c()},stop(){a.stop(),c()},complete(){a.complete()}}),wo(e,{handle:s,properties:n}),s},Q=Object.freeze({fast:Object.freeze({duration:.08,bounce:0}),moderate:Object.freeze({duration:.16,bounce:0}),slow:Object.freeze({duration:.24,bounce:0})}),$={out:[.23,1,.32,1],inOut:[.77,0,.175,1]},Do=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([8,0]),scale:Object.freeze([.98,1])}),out:Object.freeze({opacity:Object.freeze([1,0]),y:Object.freeze([0,8]),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))`})})}),Oo=(e=`moderate`)=>typeof e==`string`?Q[e]:e,ko=e=>Array.isArray(e)?e[e.length-1]:e,Ao=e=>Array.isArray(e)?[...e]:e,jo=e=>!(e instanceof Element)&&typeof e==`object`&&!!e&&`signal`in e,Mo=e=>{let t=e instanceof Element?e:e.el;if(!(t instanceof Element))throw TypeError(`Motion subject requires an Element target.`);return t},No=(e,t)=>{let n=Mo(e);if(!t)return n;if(t instanceof Element)return t;let r=jo(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},Po=e=>jo(e)?e.signal:null,Fo=new WeakMap,Io=(e,t)=>{let n=No(e,t.target);if(!(n instanceof HTMLElement))throw TypeError(`Motion resize requires an HTMLElement target.`);let r=No(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=Po(e);if(i?.aborted)return X();let a=Co(n);Fo.has(n)||Fo.set(n,{height:n.style.height,opacity:n.style.opacity,overflow:n.style.overflow,willChange:n.style.willChange});let o=Math.max(r.scrollHeight,r.getBoundingClientRect().height),s=a?.properties.has(`block-size`)?n.getBoundingClientRect().height:t.from===`content`?o:0,c=t.to===`content`?o:0,l=Z(),u=Oo(l?`fast`:t.speed),d={},f=new Set;n.style.overflow=`hidden`,n.style.willChange=l?`opacity`:`height, opacity`,l?n.style.height=`${c}px`:(d.height=[s,c],f.add(`block-size`)),t.opacity!==void 0&&(d.opacity=a?.properties.has(`opacity`)?ko(t.opacity):Ao(t.opacity),f.add(`opacity`));let p=po(fo(n,d,l?{duration:`duration`in u?u.duration:Q.fast.duration,ease:$.out}:{type:z,...u})),m=()=>p.stop();i?.addEventListener(`abort`,m,{once:!0});let h,g=()=>{if(i?.removeEventListener(`abort`,m),So(n)?.handle!==h)return;let e=Fo.get(n);e&&Object.assign(n.style,e),Fo.delete(n),To(n,h)};return h=Y(p.finished.finally(g),{cancel(){p.cancel(),g()},stop(){p.stop()},complete(){p.complete()}}),wo(n,{handle:h,properties:f}),h},Lo=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t])),Ro=(e,t=new Set)=>Object.fromEntries(Object.entries(Lo(e)).map(([e,n])=>[e,t.has(e)&&Array.isArray(n)?ko(n):n])),zo=new Set([`bottom`,`filter`,`height`,`inset`,`insetBlock`,`insetInline`,`left`,`right`,`top`,`transform`,`width`,`translate`,`x`,`y`,`z`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`skew`,`skewX`,`skewY`]),Bo=e=>Object.fromEntries(Object.entries(Lo(e)).flatMap(([e,t])=>zo.has(e)?[]:[[e,t]])),Vo=e=>Object.fromEntries(Object.entries(Lo(e)).flatMap(([e,t])=>zo.has(e)?[[e,Array.isArray(t)?ko(t):t]]:[])),Ho=(e,t,n)=>{let r=Oo(n?`fast`:e);return{...`stiffness`in r?{type:z,...r}:{duration:r.duration,ease:$.out},...t}},Uo=(e,t,n)=>{let r=No(e,t.target),i=Po(e);if(i?.aborted)return X();let a=Z();if(a){let e=Vo(t.keyframes);Object.keys(e).length>0&&lo(r,e,{duration:0}).complete()}let o=a?Bo(t.keyframes):Lo(t.keyframes);return Object.keys(o).length===0?(lo(r,Object.fromEntries(Object.entries(Lo(t.keyframes)).map(([e,t])=>[e,Array.isArray(t)?ko(t):t])),{duration:0}).complete(),X()):Eo(r,e=>lo(r,Ro(o,e?.properties),Ho(t.speed??n.speed,{...n.transition,...t.transition},a)),new Set(Object.keys(o)),i)},Wo=(e,t,n)=>{if(t.kind===`animate`)return Uo(e,t,n);let r=t.speed??n.speed??t.options.speed;return Io(e,r===void 0?t.options:{...t.options,speed:r})},Go=(e,t)=>t===void 0?{keyframes:e}:{target:e,keyframes:t},Ko=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`,...Go(e,t)},!1)}with(e,t){return this.#r({kind:`animate`,...Go(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}))}transition(e){return this.#i(t=>t.kind===`animate`?{...t,transition:{...t.transition,...e}}:t)}defaults(t){let n=t.speed??this.#n.speed,r={...this.#n.transition,...t.transition};return new e(this.#e,this.#t,{...n===void 0?{}:{speed:n},...Object.keys(r).length===0?{}:{transition:r}})}play(){return this.#t.length===0?X():ho(...this.#t.map(e=>()=>mo(...e.map(e=>Wo(this.#e,e,this.#n)))))}},qo=e=>new Ko(e),Jo=e=>{let t=globalThis.CSS;return typeof t?.escape==`function`?t.escape(e):e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)},Yo=e=>`[${n}="${Jo(e)}"]`,Xo=e=>`[data-ui-${Jo(e)}]`,Zo=e=>e instanceof Element?null:typeof e==`string`?e:`selector`in e?e.selector:`part`in e?Xo(e.part):`key`in e?Yo(e.key):null,Qo=e=>{if(e instanceof Element)return[e];let t=Zo(e);return t?[t]:[]},$o=(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=Qo(e.from),n=Qo(e.to);return t.flatMap((e,t)=>{let r=n[t]??n[0];return r?[{subject:e,newSubject:r}]:[]})}let t=Zo(e);return t?[{subject:t}]:[]}):[],es=async()=>{},ts=e=>{es=async()=>{await e()}},ns={duration:Q.moderate.duration,ease:$.inOut},rs={transform:[`none`,`none`]},is=`[${n}], [${t}]`,as=(e,t,n={})=>{if(typeof document.startViewTransition!=`function`||Z(n.reducedMotion))return X(e);let r=t??(n.layout||n.preset===`layout`?is:null),i=$o(n.scope??document,r),a=Ki(e,{duration:Q.moderate.duration,ease:$.inOut,interrupt:`immediate`,...n.transition});return i.forEach(({subject:e,newSubject:t})=>{a.add(e,t),n.className&&a.class(n.className),typeof n.crop==`boolean`&&a.crop(n.crop),typeof n.group==`boolean`&&a.group(n.group),n.layout!==!1&&n.preset!==`none`&&a.layout(typeof n.layout==`object`?n.layout:ns);let r=n.newView??(n.preset===`stream`?rs:void 0),i=n.oldView??(n.preset===`stream`?rs:void 0),o=n.enter,s=n.exit;r&&a.new(r,{duration:Q.fast.duration,ease:$.out}),i&&a.old(i,{duration:Q.fast.duration,ease:$.out}),o&&a.enter(o,{duration:Q.fast.duration,ease:$.out}),s&&a.exit(s,{duration:Q.fast.duration,ease:$.out})}),Y(Promise.resolve(a.then(()=>{},()=>{})),{cancel(){ji().forEach(e=>e.cancel())},stop(){ji().forEach(e=>e.pause())},complete(){ji().forEach(e=>{try{e.finish()}catch{e.cancel()}})}})},os=Object.assign(qo,{presets:Do,speeds:Q,easings:$,createController:bo,withReducedMotion:vo,view:(e,t={})=>{let{targets:n,...r}=t;return as(async()=>{await e(),await es()},n,{preset:`layout`,...r})}}),ss=e=>e.selector?e.selector:e.target?e.target.startsWith(`#`)?e.target:`#${Jo(e.target)}`:null,cs=e=>{let t=getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>e&&e!==`visible`)},ls=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){if(cs(t))return t;t=t.parentElement}return null},us=e=>e.width===0&&e.height===0&&e.top===0&&e.left===0,ds=e=>{let t=ls(e);if(!t)return!0;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(us(n)&&us(r))return!0;let i=Math.min(n.height,160);return n.top>=r.top&&n.left<r.right&&n.right>r.left&&n.bottom+i<=r.bottom},fs=e=>{let t=[];return e.forEach(e=>{let n=ss(e),r=n?document.querySelector(n):null;if(!r)return;let i=[],a=r.getAttribute(`data-ui-motion-key`);if(r.querySelectorAll(`[data-ui-motion-key]`).forEach(e=>{let t=e.getAttribute(`data-ui-motion-key`);if(t&&ds(e)){let e=Yo(t);i.push({from:{selector:e},to:{selector:e}})}}),(a||r.hasAttribute(`data-ui-motion-layout`))&&ds(r)){let e=a?Yo(a):n;i.unshift({from:{selector:e},to:{selector:e}})}t.push(...i)}),t},ps=(e,t,n={})=>{let r=n.update;if(!r)return X();let i=fs(Array.isArray(t)?t:[t]);if(i.length===0||Z(n.reducedMotion))return X(r);let a={...n,preset:`stream`};return n.scope&&n.scope!==`target`&&(a.scope=n.scope),as(r,i,a)},ms=new WeakSet,hs=t=>{ms.has(t)||(ms.add(t),ts(()=>t.nextTick()),r(os),e((e,t,n)=>{ps(e,t,{scope:`target`,update:n})}))};export{Q as a,Z as c,lo as d,fi as f,$ as i,X as l,z as m,os as n,Eo as o,U as p,qo as r,Co as s,hs as t,fo as u};
3
+ //# sourceMappingURL=motion-Bpttk6iZ.js.map