@vireo-ai/trellis-ui 0.1.49 → 0.1.51

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 (190) hide show
  1. package/package.json +1 -1
  2. package/packages/client/src/components/data-grid/styles.css +30 -9
  3. package/packages/client/src/components/field/styles.css +29 -3
  4. package/packages/client/src/components/import-flow/styles.css +20 -0
  5. package/packages/client/src/components/import-mapper/styles.css +8 -0
  6. package/packages/client/src/components/tabs/styles.css +1 -1
  7. package/packages/client/src/styles/components.css +2 -0
  8. package/packages/client/src/styles/generated/theme-fonts.css +1 -1
  9. package/packages/client/src/styles/generated/theme-palette.css +8 -1
  10. package/packages/client/src/styles/generated/theme-runtime.css +1 -1
  11. package/packages/client/src/styles/generated-sources.css +1 -1
  12. package/packages/client/src/styles/recipes/option.css +4 -0
  13. package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
  14. package/packages/client/types/components/data-grid/contract.d.ts +1 -0
  15. package/packages/client/types/components/data-grid/index.d.ts +3 -3
  16. package/packages/client/types/components/data-grid/model.d.ts +4 -2
  17. package/packages/client/types/components/date-picker/contract.d.ts +15 -6
  18. package/packages/client/types/components/date-picker/machine.d.ts +4 -2
  19. package/packages/client/types/components/entry.generated.d.ts +2 -0
  20. package/packages/client/types/components/formset/contract.d.ts +10 -0
  21. package/packages/client/types/components/formset/entry.generated.d.ts +5 -0
  22. package/packages/client/types/components/formset/index.d.ts +41 -0
  23. package/packages/client/types/components/formset/machine.d.ts +22 -0
  24. package/packages/client/types/components/formset/runtime-docs.d.ts +2 -0
  25. package/packages/client/types/components/heading/contract.d.ts +4 -2
  26. package/packages/client/types/components/import-flow/contract.d.ts +13 -0
  27. package/packages/client/types/components/import-flow/index.d.ts +2 -0
  28. package/packages/client/types/components/import-mapper/entry.generated.d.ts +5 -0
  29. package/packages/client/types/components/import-mapper/index.d.ts +25 -0
  30. package/packages/client/types/components/menu/contract.d.ts +2 -2
  31. package/packages/client/types/components/runtime.d.ts +2 -0
  32. package/packages/client/types/components/select/contract.d.ts +1 -0
  33. package/packages/client/types/components/select/machine.d.ts +3 -0
  34. package/packages/client/types/components/sidebar/contract.d.ts +8 -2
  35. package/packages/client/types/components/text/contract.d.ts +4 -2
  36. package/packages/client/types/components/virtualizer/index.d.ts +4 -1
  37. package/packages/client/types/motion/index.d.ts +1 -0
  38. package/packages/client/types/motion/registry.d.ts +2 -1
  39. package/packages/client/types/runtime/cursor-data-source.d.ts +19 -1
  40. package/packages/client/types/runtime/engine/stream.d.ts +1 -0
  41. package/packages/client/types/runtime/focus-handoff.d.ts +1 -0
  42. package/packages/client/types/runtime/virtualizer-schema.d.ts +1 -0
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +111 -12
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +458 -385
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +1 -1
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-BS13dbK4.js → alpine-machine-BTDXpEr6.js} +2 -2
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-BS13dbK4.js.map → alpine-machine-BTDXpEr6.js.map} +1 -1
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DRILCSFH.js +2 -0
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-DoZROkFD.js.map → capability-motion-DRILCSFH.js.map} +1 -1
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-shortcut-BoDF_wQX.js → capability-shortcut-CGpfLNL-.js} +2 -2
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-shortcut-BoDF_wQX.js.map → capability-shortcut-CGpfLNL-.js.map} +1 -1
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpSdQwYp.js +3 -0
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpSdQwYp.js.map +1 -0
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-qWtZCkAC.js → controller-xDNH-xzt.js} +2 -2
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{controller-qWtZCkAC.js.map → controller-xDNH-xzt.js.map} +1 -1
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DnQs1xY6.js +2 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-BgbZXaDN.js.map → core-DnQs1xY6.js.map} +1 -1
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-5pQvlhmK.js +2 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-5pQvlhmK.js.map +1 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B_e0djHK.js → entry.generated-2QEJDMe-.js} +2 -2
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B_e0djHK.js.map → entry.generated-2QEJDMe-.js.map} +1 -1
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CkBblBv9.js → entry.generated-AFRarPro.js} +2 -2
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CkBblBv9.js.map → entry.generated-AFRarPro.js.map} +1 -1
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D6qaa8bk.js → entry.generated-BB7wWQfT.js} +2 -2
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D6qaa8bk.js.map → entry.generated-BB7wWQfT.js.map} +1 -1
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BiyFgA-e.js +2 -0
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BiyFgA-e.js.map +1 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-f6HGqvQY.js → entry.generated-BqEMECZx.js} +2 -2
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-f6HGqvQY.js.map → entry.generated-BqEMECZx.js.map} +1 -1
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js +2 -0
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js.map +1 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CZWpqP88.js → entry.generated-C2gP0OfV.js} +2 -2
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CZWpqP88.js.map → entry.generated-C2gP0OfV.js.map} +1 -1
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CPzThz_M.js +2 -0
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CPzThz_M.js.map +1 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js +2 -0
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js.map +1 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CeD3bUBI.js +2 -0
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CeD3bUBI.js.map +1 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cj1CmH13.js → entry.generated-CirM6w9Q.js} +2 -2
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cj1CmH13.js.map → entry.generated-CirM6w9Q.js.map} +1 -1
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CRhvZ0DI.js → entry.generated-D3am_GtI.js} +2 -2
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CRhvZ0DI.js.map → entry.generated-D3am_GtI.js.map} +1 -1
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D7qa64eM.js +2 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZcYuKSSI.js.map → entry.generated-D7qa64eM.js.map} +1 -1
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js +2 -0
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js.map +1 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DbC4gkeV.js +2 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DbC4gkeV.js.map +1 -0
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dyQ_HJ8D.js → entry.generated-DwYIFLsE.js} +2 -2
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dyQ_HJ8D.js.map → entry.generated-DwYIFLsE.js.map} +1 -1
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-QspMEPHx.js → entry.generated-QspMEPHx.js} +1 -1
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +1 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B_q7LVNv.js → entry.generated-TbFjT_mY.js} +2 -2
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B_q7LVNv.js.map → entry.generated-TbFjT_mY.js.map} +1 -1
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BhtgeSTa.js → entry.generated-cnWgB3wz.js} +2 -2
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BhtgeSTa.js.map → entry.generated-cnWgB3wz.js.map} +1 -1
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-CPbvsglm.js → entry.generated-gxr2-89M.js} +2 -2
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-gxr2-89M.js.map +1 -0
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cekl4pYo.js → entry.generated-wEt8LYAv.js} +2 -2
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cekl4pYo.js.map → entry.generated-wEt8LYAv.js.map} +1 -1
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-BSal0xp9.js +2 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-BSal0xp9.js.map +1 -0
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D26Cigu5.js +2 -0
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D26Cigu5.js.map +1 -0
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DCbmWkHV.js +2 -0
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DCbmWkHV.js.map +1 -0
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-JcxejQr4.js +2 -0
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-JcxejQr4.js.map +1 -0
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-BE3g0swK.js +2 -0
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-BE3g0swK.js.map +1 -0
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{form-control-BkVb2Qed.js → form-control-DjbUb602.js} +2 -2
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-DjbUb602.js.map +1 -0
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js +2 -0
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js.map +1 -0
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-B4uuk1JX.js +3 -0
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-BQk-uLaI.js.map → motion-B4uuk1JX.js.map} +1 -1
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{semantic-observer-BUswpsNx.js → semantic-observer-CdRbZHir.js} +2 -2
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{semantic-observer-BUswpsNx.js.map → semantic-observer-CdRbZHir.js.map} +1 -1
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-FOJhyz8V.js +4 -0
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-FOJhyz8V.js.map +1 -0
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +1 -1
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +1 -0
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +1 -0
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +1 -1
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +225 -182
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DoZROkFD.js +0 -2
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DtSghTO8.js +0 -3
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DtSghTO8.js.map +0 -1
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BgbZXaDN.js +0 -2
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-1meMFJbq.js +0 -2
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-1meMFJbq.js.map +0 -1
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B-wVMxe6.js +0 -2
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B-wVMxe6.js.map +0 -1
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BYDBzadH.js +0 -2
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BYDBzadH.js.map +0 -1
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CJuVLJw9.js +0 -2
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CJuVLJw9.js.map +0 -1
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CQGhCt9y.js +0 -2
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CQGhCt9y.js.map +0 -1
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Des-gEaR.js +0 -2
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Des-gEaR.js.map +0 -1
  174. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-OqzkZfIu.js +0 -2
  175. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-OqzkZfIu.js.map +0 -1
  176. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ZcYuKSSI.js +0 -2
  177. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-u0Ueamvw.js +0 -2
  178. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-u0Ueamvw.js.map +0 -1
  179. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CPbvsglm.js.map +0 -1
  180. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js +0 -2
  181. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js.map +0 -1
  182. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +0 -1
  183. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-DzEyK-Fp.js +0 -2
  184. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-handoff-DzEyK-Fp.js.map +0 -1
  185. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js.map +0 -1
  186. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BQk-uLaI.js +0 -3
  187. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-DuGUQhxd.js +0 -4
  188. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-DuGUQhxd.js.map +0 -1
  189. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js +0 -2
  190. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry2.generated-JcxejQr4.js","names":[],"sources":["../../../../../../../../client/src/components/data-grid/contract.ts","../../../../../../../../client/src/components/data-grid/model.ts","../../../../../../../../client/src/components/data-grid/index.ts","../../../../../../../../client/src/components/data-grid/entry.generated.ts"],"sourcesContent":["import {bool, json, number, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {INTERACTION_TREATMENTS, SELECTION_COLORS} from '../common';\n\nconst DATA_GRID_SELECTIONS = ['none', 'single', 'multiple'] as const;\nconst DATA_GRID_DENSITIES = ['compact', 'default', 'comfortable'] as const;\nconst DATA_GRID_BORDERS = ['none', 'row', 'grid'] as const;\nconst DATA_GRID_RESIZE_MODES = ['onChange', 'onEnd'] as const;\nconst DATA_GRID_PINS = ['', 'left', 'right'] as const;\nconst DATA_GRID_SORTS = ['none', 'ascending', 'descending', 'other'] as const;\nconst DATA_GRID_ALIGNS = ['start', 'center', 'end'] as const;\n\ntype DataGridSelectionValue =\n | {mode: 'ids'; ids: string[]}\n | {mode: 'query'; token: string; total: number; except: string[]};\n\nconst dataGridSchema = {\n fetchUrl: string,\n cursor: bool,\n query: json<unknown>(null),\n totalRows: number.min(0).default(0),\n rowHeight: number.min(Number.EPSILON).default(36),\n bufferSize: number.min(1).default(50),\n overscan: number.min(0).default(0),\n initialIndex: number.min(0).default(0),\n startParam: string.default('start'),\n countParam: string.default('count'),\n totalParam: string.default('total'),\n totalHeader: string.default('X-Trellis-Total-Items'),\n assetsHeader: string.default('X-Trellis-Assets'),\n metaSelector: string.default('template[data-ui-virtualizer-meta]'),\n selection: oneOf(DATA_GRID_SELECTIONS, 'none'),\n selectionValue: json<DataGridSelectionValue>({mode: 'ids', ids: []}),\n selectOnRowClick: bool,\n rowKey: string.default('id'),\n stickyHeader: bool.default(true),\n resizableColumns: bool.default(true),\n reorderableColumns: bool.default(true),\n sortableColumns: bool.default(true),\n minColumnWidth: number.min(0).default(60),\n defaultColumnWidth: number.min(Number.EPSILON).default(180),\n maxColumnWidth: json<number | null>(null),\n resizeMode: oneOf(DATA_GRID_RESIZE_MODES, 'onChange'),\n color: oneOf(SELECTION_COLORS, 'neutral'),\n interaction: oneOf(INTERACTION_TREATMENTS, 'edge'),\n dragPreviewPosition: string.trim.default('preserve'),\n density: oneOf(DATA_GRID_DENSITIES, 'default'),\n border: oneOf(DATA_GRID_BORDERS, 'row'),\n empty: string.default('No rows found.'),\n class: string,\n controlsClass: string,\n viewportClass: string,\n headerClass: string,\n rowClass: string,\n cellClass: string,\n footerClass: string,\n emptyClass: string,\n};\n\nconst dataGridColumnSchema = {\n key: string,\n label: string,\n width: number.min(Number.EPSILON).default(180),\n minWidth: number.min(0).default(60),\n maxWidth: json<number | null>(null),\n hidden: bool,\n pinned: oneOf(DATA_GRID_PINS, ''),\n sortable: bool,\n sort: oneOf(DATA_GRID_SORTS, 'none'),\n resizable: bool.default(true),\n reorderable: bool.default(true),\n align: oneOf(DATA_GRID_ALIGNS, 'start'),\n class: string,\n headerClass: string,\n labelClass: string,\n resizeHandleClass: string,\n};\n\nconst dataGridRowsSchema = {\n rows: json<unknown[]>([]),\n columns: json<Array<Record<string, unknown>>>([]),\n startIndex: number.min(0).default(0),\n rowKey: string.default('id'),\n rowComponent: string.default('ui.data-grid.row'),\n cellComponent: string.default('ui.data-grid.cell'),\n class: string,\n};\nconst dataGridRowSchema = {key: string, index: number.min(0).default(0), class: string};\nconst dataGridCellSchema = {column: string, index: number.min(1).default(1), align: oneOf(DATA_GRID_ALIGNS, 'start'), class: string};\nconst dataGridEmptySchema = {class: string};\n\ntype DataGridProps = SchemaToProps<typeof dataGridSchema>;\ntype DataGridColumnProps = SchemaToProps<typeof dataGridColumnSchema>;\ntype DataGridRowsProps = SchemaToProps<typeof dataGridRowsSchema>;\ntype DataGridSelection = typeof DATA_GRID_SELECTIONS[number];\ntype DataGridPin = Exclude<typeof DATA_GRID_PINS[number], ''> | null;\ntype DataGridSort = typeof DATA_GRID_SORTS[number];\ntype DataGridAlign = typeof DATA_GRID_ALIGNS[number];\n\nexport {\n DATA_GRID_ALIGNS,\n DATA_GRID_BORDERS,\n DATA_GRID_DENSITIES,\n DATA_GRID_PINS,\n DATA_GRID_RESIZE_MODES,\n DATA_GRID_SELECTIONS,\n DATA_GRID_SORTS,\n dataGridCellSchema,\n dataGridColumnSchema,\n dataGridEmptySchema,\n dataGridRowSchema,\n dataGridRowsSchema,\n dataGridSchema,\n};\nexport type {\n DataGridAlign,\n DataGridColumnProps,\n DataGridPin,\n DataGridProps,\n DataGridRowsProps,\n DataGridSelection,\n DataGridSelectionValue,\n DataGridSort,\n};\n","import type {DataGridAlign, DataGridPin, DataGridSelection, DataGridSelectionValue, DataGridSort} from './contract';\n\ntype DataGridColumn = {\n key: string;\n label: string;\n width: number;\n minWidth: number;\n maxWidth: number | null;\n hidden: boolean;\n pinned: DataGridPin;\n sortable: boolean;\n sort: DataGridSort;\n resizable: boolean;\n reorderable: boolean;\n align: DataGridAlign;\n cellClass: string;\n element: HTMLElement;\n};\n\ntype DataGridColumnDefaults = {\n width: number;\n minWidth: number;\n maxWidth: number | null;\n resizable: boolean;\n reorderable: boolean;\n};\n\ntype DataGridColumnSnapshot = Omit<DataGridColumn, 'element'>;\n\ntype DataGridPinnedOffsets = {left: Map<string, number>; right: Map<string, number>};\ntype SelectionChange = {selection: DataGridSelectionValue; added: string[]; removed: string[]};\n\nconst numberAttribute = (element: HTMLElement, name: string, fallback: number): number => {\n const raw = element.getAttribute(name);\n if (raw === null || raw.trim() === '') return fallback;\n const value = Number(raw);\n return Number.isFinite(value) ? value : fallback;\n};\n\nconst optionalNumberAttribute = (element: HTMLElement, name: string, fallback: number | null): number | null => {\n const raw = element.getAttribute(name);\n if (raw === null || raw.trim() === '') return fallback;\n const value = Number(raw);\n return Number.isFinite(value) && value > 0 ? value : null;\n};\n\nconst boolAttribute = (element: HTMLElement, name: string, fallback: boolean): boolean => {\n if (!element.hasAttribute(name)) return fallback;\n const raw = element.getAttribute(name) ?? '';\n return raw === '' || ['true', '1', 'yes', 'on'].includes(raw.toLowerCase());\n};\n\nconst normalizeDataGridColumns = (\n elements: readonly HTMLElement[],\n defaults: DataGridColumnDefaults,\n): DataGridColumn[] => {\n const seen = new Set<string>();\n return elements.flatMap((element) => {\n const key = (element.dataset.column ?? '').trim();\n if (!key) throw new Error('Data Grid columns require a non-empty key.');\n if (element.hasAttribute('data-hidden')) return [];\n if (seen.has(key)) throw new Error(`Data Grid column key \"${key}\" is duplicated.`);\n seen.add(key);\n const minWidth = Math.max(0, numberAttribute(element, 'data-min-width', defaults.minWidth));\n const maxWidth = optionalNumberAttribute(element, 'data-max-width', defaults.maxWidth);\n const unclamped = numberAttribute(element, 'data-width', defaults.width);\n const width = Math.min(maxWidth ?? Number.POSITIVE_INFINITY, Math.max(minWidth, unclamped));\n const pinned = element.dataset.pinned === 'left' || element.dataset.pinned === 'right'\n ? element.dataset.pinned\n : null;\n const sort = ['ascending', 'descending', 'other'].includes(element.dataset.sort ?? '')\n ? element.dataset.sort as DataGridSort\n : 'none';\n const align = ['center', 'end'].includes(element.dataset.align ?? '')\n ? element.dataset.align as DataGridAlign\n : 'start';\n return [{\n key,\n label: element.dataset.label ?? element.textContent?.trim() ?? key,\n width,\n minWidth,\n maxWidth,\n hidden: false,\n pinned,\n sortable: boolAttribute(element, 'data-sortable', false),\n sort,\n resizable: boolAttribute(element, 'data-resizable', defaults.resizable),\n reorderable: boolAttribute(element, 'data-reorderable', defaults.reorderable),\n align,\n cellClass: element.dataset.cellClass ?? '',\n element,\n }];\n });\n};\n\nconst columnTemplate = (columns: readonly DataGridColumn[]): string => (\n columns.map(({width}) => `${width}px`).join(' ')\n);\n\nconst dataGridColumnSnapshots = (columns: readonly DataGridColumn[]): DataGridColumnSnapshot[] => (\n columns.map(({element: _element, ...column}) => column)\n);\n\nconst pinnedOffsets = (columns: readonly DataGridColumn[]): DataGridPinnedOffsets => {\n const left = new Map<string, number>();\n const right = new Map<string, number>();\n let offset = 0;\n columns.forEach((column) => {\n if (column.pinned !== 'left') return;\n left.set(column.key, offset);\n offset += column.width;\n });\n offset = 0;\n [...columns].reverse().forEach((column) => {\n if (column.pinned !== 'right') return;\n right.set(column.key, offset);\n offset += column.width;\n });\n return {left, right};\n};\n\nconst cssEscape = (value: string): string => (\n globalThis.CSS?.escape ? globalThis.CSS.escape(value) : value.replace(/[^a-zA-Z0-9_-]/g, (character) => `\\\\${character}`)\n);\n\nconst dataGridLayoutCss = (scope: string, columns: readonly DataGridColumn[]): string => {\n const offsets = pinnedOffsets(columns);\n const pinnedPlane = 'z-index:2;background-color:var(--ui-surface-color);';\n return columns.map((column, index) => {\n const owner = `[data-ui-data-grid-scope=\"${cssEscape(scope)}\"]`;\n const columnSelector = `[data-column=\"${cssEscape(column.key)}\"]`;\n const selector = `${owner} [data-ui-data-grid-column-header]${columnSelector},${owner} [data-ui-data-grid-cell]${columnSelector}`;\n const pin = column.pinned === 'left'\n ? `position:sticky;left:${offsets.left.get(column.key) ?? 0}px;${pinnedPlane}`\n : column.pinned === 'right'\n ? `position:sticky;right:${offsets.right.get(column.key) ?? 0}px;${pinnedPlane}`\n : '';\n return `${selector}{grid-column:${index + 1};${pin}}`;\n }).join('');\n};\n\nconst normalizeSelection = (value: unknown, mode: DataGridSelection): DataGridSelectionValue => {\n if (mode === 'multiple' && typeof value === 'object' && value !== null && (value as {mode?: unknown}).mode === 'query') {\n const query = value as Partial<Extract<DataGridSelectionValue, {mode: 'query'}>>;\n if (typeof query.token === 'string' && Number.isFinite(query.total)) return {\n mode: 'query',\n token: query.token,\n total: Math.max(0, Math.floor(query.total ?? 0)),\n except: [...new Set(Array.isArray(query.except) ? query.except.filter((key): key is string => typeof key === 'string') : [])],\n };\n }\n const ids = typeof value === 'object' && value !== null && (value as {mode?: unknown}).mode === 'ids'\n && Array.isArray((value as {ids?: unknown}).ids)\n ? (value as {ids: unknown[]}).ids.filter((key): key is string => typeof key === 'string')\n : [];\n const unique = [...new Set(ids)];\n return {mode: 'ids', ids: mode === 'single' ? unique.slice(0, 1) : mode === 'none' ? [] : unique};\n};\n\nconst isRowSelected = (selection: DataGridSelectionValue, key: string): boolean => (\n selection.mode === 'query' ? !selection.except.includes(key) : selection.ids.includes(key)\n);\n\nconst toggleSelection = (\n current: DataGridSelectionValue,\n key: string,\n mode: DataGridSelection,\n selected?: boolean,\n): SelectionChange => {\n const normalized = normalizeSelection(current, mode);\n if (mode === 'none') return {selection: normalized, added: [], removed: []};\n const wasSelected = isRowSelected(normalized, key);\n const nextSelected = selected ?? !wasSelected;\n if (wasSelected === nextSelected) return {selection: normalized, added: [], removed: []};\n if (normalized.mode === 'query') {\n const except = nextSelected\n ? normalized.except.filter((value) => value !== key)\n : [...normalized.except, key];\n return {selection: {...normalized, except}, added: nextSelected ? [key] : [], removed: nextSelected ? [] : [key]};\n }\n const ids = mode === 'single' && nextSelected\n ? [key]\n : nextSelected\n ? [...normalized.ids, key]\n : normalized.ids.filter((value) => value !== key);\n return {selection: {mode: 'ids', ids}, added: nextSelected ? [key] : [], removed: nextSelected ? [] : [key]};\n};\n\nconst reorderColumns = (columns: readonly DataGridColumn[], key: string, toIndex: number): DataGridColumn[] | null => {\n const from = columns.findIndex((column) => column.key === key);\n if (from < 0 || !columns[from]?.reorderable) return null;\n const region = columns[from]?.pinned ?? null;\n const regionIndexes = columns.flatMap((column, index) => column.pinned === region ? [index] : []);\n if (!regionIndexes.includes(toIndex)) return null;\n const next = [...columns];\n const [column] = next.splice(from, 1);\n if (!column) return null;\n next.splice(toIndex, 0, column);\n return next;\n};\n\nexport {\n columnTemplate,\n dataGridColumnSnapshots,\n dataGridLayoutCss,\n isRowSelected,\n normalizeDataGridColumns,\n normalizeSelection,\n pinnedOffsets,\n reorderColumns,\n toggleSelection,\n};\nexport type {DataGridColumn, DataGridColumnDefaults, DataGridColumnSnapshot, DataGridPinnedOffsets, SelectionChange};\n","import type Alpine from 'alpinejs';\n\nimport {\n createResizable,\n createVirtualWindowController,\n defineAlpineData,\n defineProps,\n fixedAxisWindowAdapter,\n parseVirtualizerFragmentResponse,\n registerDomInvalidationOwner,\n reflectSchemaProp,\n replaceFragmentChildren,\n type FixedAxisWindow,\n type PropState,\n type ResizeEvent,\n type TrellisAlpineComponent,\n type VirtualScrollAlign,\n type VirtualWindowRequest,\n} from '@client/runtime';\nimport {\n UiVirtualizer,\n type CursorVirtualizerOptions,\n type UiVirtualizerApi,\n type VirtualizerData,\n} from '../../runtime/virtualizer';\nimport {serverCursorOptions} from '../../runtime/cursor-data-source';\nimport {cloneSerializable, isSerializableEqual} from '../../utils';\nimport {dataGridSchema, type DataGridSelectionValue} from './contract';\nimport {\n columnTemplate,\n dataGridColumnSnapshots,\n dataGridLayoutCss,\n isRowSelected,\n normalizeDataGridColumns,\n normalizeSelection,\n reorderColumns,\n toggleSelection,\n type DataGridColumn,\n type DataGridColumnSnapshot,\n} from './model';\n\n/** Options for resetting an indexed or cursor-backed Data Grid. @public */\ninterface DataGridResetOptions {\n /** Scroll offset restored after the first page loads. */\n scrollTop?: number;\n}\n\n/** Options for replacing an indexed Data Grid endpoint. @public */\ninterface DataGridSetUrlOptions {\n /** Whether to discard loaded rows and reload immediately. */\n reset?: boolean;\n}\n\n/** Public Alpine API for `ui.data-grid`. @public */\ninterface UiDataGridApi {\n /** Whether the active cursor data source supports server-side index seeking. */\n readonly supportsSeek: boolean;\n /** Discard loaded rows and request the current indexed range or first cursor page again. */\n reload(options?: DataGridResetOptions): void;\n /** Return the grid to its initial indexed range or first cursor page. */\n reset(options?: DataGridResetOptions): void;\n /** Scroll to a row and seek through the server when its cursor page is not loaded. */\n scrollToIndex(index: number, align?: VirtualScrollAlign): void;\n /** Replace the indexed endpoint, optionally resetting loaded rows. */\n setUrl(url: string, options?: DataGridSetUrlOptions): void;\n /** Reflect the authoritative total-row attribute without requesting or replacing rows. */\n setTotalRows(count: number): void;\n /** Reflect the authoritative query attribute; meaningful cursor-query changes reset to the first page. */\n setQuery<Query>(query: Query): void;\n /** Activate cursor mode; a rendered query attribute takes precedence over the option query. */\n useCursor<Query, Content>(options: CursorVirtualizerOptions<Query, Content>): void;\n /** Resize a column to a pixel width. */\n resizeColumn(key: string, width: number): void;\n /** Move a column to a new zero-based position. */\n reorderColumn(key: string, toIndex: number): void;\n /** Add a row key to the explicit selection. */\n selectRow(key: string): void;\n /** Remove a row key from the explicit selection. */\n deselectRow(key: string): void;\n /** Toggle a row key in the current selection. */\n toggleRow(key: string): void;\n /** Replace the complete row selection value. */\n setSelection(value: DataGridSelectionValue): void;\n /** Select all rows represented by a server-owned query token. */\n selectQuery(token: string, total: number, except?: string[]): void;\n /** Clear explicit and query-backed row selection. */\n clearSelection(): void;\n}\n\ntype DataGridData = UiDataGridApi & {\n props: PropState<typeof dataGridSchema>;\n init(): void;\n destroy(): void;\n};\n\ntype BlockRecord = {key: string; element: HTMLElement};\ntype CursorDelegate = TrellisAlpineComponent<VirtualizerData<unknown>> & UiVirtualizerApi<unknown>;\n\nconst integer = (value: number, minimum = 0): number => (\n Math.max(minimum, Math.floor(Number.isFinite(value) ? value : minimum))\n);\n\nconst interactiveSelector = 'a,button,input,select,textarea,[contenteditable],[role=\"button\"],[role=\"link\"]';\n\nconst UiDataGrid = (AlpineInstance: Alpine.Alpine): TrellisAlpineComponent<DataGridData> => {\n let root: HTMLElement | null = null;\n let viewport: HTMLElement | null = null;\n let table: HTMLElement | null = null;\n let body: HTMLElement | null = null;\n let spacer: HTMLElement | null = null;\n let styleElement: HTMLStyleElement | null = null;\n let columns: DataGridColumn[] = [];\n let blocks: BlockRecord[] = [];\n let totalRows = 0;\n let selection: DataGridSelectionValue = {mode: 'ids', ids: []};\n let currentWindowKey = '';\n let latestScrollTop: number | null = null;\n let scrollFrame = 0;\n let loading = 0;\n let destroyed = false;\n let listenerAborter: AbortController | null = null;\n let suppressPropChange = false;\n let cursorDelegate: CursorDelegate | null = null;\n let cursorOptionQuery: unknown = null;\n let appliedCursorQuery: unknown = null;\n let previousColumnSnapshots: DataGridColumnSnapshot[] = [];\n let columnObserver: MutationObserver | null = null;\n let headerSizeObserver: ResizeObserver | null = null;\n let unregisterColumnInvalidation: (() => void) | null = null;\n let declarativeFlushQueued = false;\n let forceColumnRefresh = false;\n const requestAborters = new Map<string, AbortController>();\n const resizeCleanups: Array<() => void> = [];\n const appliedRowClasses = new WeakMap<HTMLElement, string[]>();\n const appliedCellClasses = new WeakMap<HTMLElement, string[]>();\n const controller = createVirtualWindowController(fixedAxisWindowAdapter);\n\n const dispatch = (name: string, detail: Record<string, unknown>): void => {\n root?.dispatchEvent(new CustomEvent(name, {bubbles: true, composed: true, detail}));\n };\n const syncOwnedClasses = (element: HTMLElement, value: string, owned: WeakMap<HTMLElement, string[]>): void => {\n const previous = owned.get(element) ?? [];\n if (previous.length) element.classList.remove(...previous);\n const names = [...new Set(value.split(/\\s+/).filter(Boolean))];\n if (names.length) element.classList.add(...names);\n owned.set(element, names);\n };\n const columnDefaults = () => ({\n width: component.props.defaultColumnWidth,\n minWidth: component.props.minColumnWidth,\n maxWidth: component.props.maxColumnWidth,\n resizable: component.props.resizableColumns,\n reorderable: component.props.reorderableColumns,\n });\n const declaredColumns = (): DataGridColumn[] => normalizeDataGridColumns(\n Array.from(root?.querySelectorAll<HTMLElement>('[data-ui-data-grid-column-header]') ?? []),\n columnDefaults(),\n );\n const syncSortableHeader = (column: DataGridColumn): void => {\n const label = column.element.querySelector<HTMLElement>('[data-ui-data-grid-column-label]');\n const currentButton = column.element.querySelector<HTMLButtonElement>('[data-ui-data-grid-sort-button]');\n if (!label) return;\n if (column.sortable && !currentButton) {\n const button = document.createElement('button');\n button.type = 'button';\n button.setAttribute('data-ui-data-grid-sort-button', '');\n button.className = column.element.dataset.sortButtonClass ?? '';\n const indicator = document.createElement('span');\n indicator.setAttribute('data-ui-data-grid-sort-indicator', '');\n indicator.setAttribute('aria-hidden', 'true');\n label.replaceWith(button);\n button.append(label, indicator);\n } else if (!column.sortable && currentButton) {\n currentButton.replaceWith(label);\n }\n };\n const rows = (): HTMLElement[] => Array.from(root?.querySelectorAll<HTMLElement>('[data-ui-data-grid-row]') ?? []);\n const syncBodyWidth = (headerRow: HTMLElement): void => {\n body?.style.setProperty('width', `${headerRow.getBoundingClientRect().width}px`);\n };\n const reflectMountedSelection = (): void => {\n rows().forEach((row) => {\n const key = row.dataset.rowKey ?? '';\n const selected = component.props.selection !== 'none' && key !== '' && isRowSelected(selection, key);\n row.toggleAttribute('data-selected', selected);\n if (component.props.selection === 'none') row.removeAttribute('aria-selected');\n else row.setAttribute('aria-selected', String(selected));\n });\n };\n const syncColumnLayout = (): void => {\n if (!root || !styleElement) return;\n root.style.setProperty('--ui-data-grid-template', columnTemplate(columns));\n const scope = root.dataset.uiDataGridScope ?? '';\n styleElement.textContent = dataGridLayoutCss(scope, columns);\n table?.setAttribute('aria-colcount', String(columns.length));\n const headerRow = root.querySelector<HTMLElement>('[data-ui-data-grid-header-row]');\n if (headerRow) syncBodyWidth(headerRow);\n const indicator = headerRow?.querySelector<HTMLElement>('[data-ui-data-grid-column-indicator]');\n if (indicator) headerRow?.append(indicator);\n rows().forEach((row) => {\n const cells = Array.from(row.children).filter((element): element is HTMLElement => (\n element instanceof HTMLElement && element.hasAttribute('data-ui-data-grid-cell')\n ));\n const cellsByKey = new Map(cells.flatMap((element) => (\n element instanceof HTMLElement && element.hasAttribute('data-ui-data-grid-cell')\n ? [[element.dataset.column ?? '', element] as const]\n : []\n )));\n columns.forEach(({key}) => {\n const cell = cellsByKey.get(key);\n if (!cell) return;\n cell.hidden = false;\n row.append(cell);\n });\n const active = new Set(columns.map(({key}) => key));\n cells.forEach((cell) => {\n if (active.has(cell.dataset.column ?? '')) return;\n cell.hidden = true;\n cell.removeAttribute('aria-colindex');\n cell.removeAttribute('data-pinned');\n row.append(cell);\n });\n });\n columns.forEach((column, index) => {\n syncSortableHeader(column);\n column.element.setAttribute('aria-colindex', String(index + 1));\n if (column.pinned) column.element.dataset.pinned = column.pinned;\n else column.element.removeAttribute('data-pinned');\n if (column.sortable) column.element.setAttribute('aria-sort', column.sort);\n else column.element.removeAttribute('aria-sort');\n column.element.dataset.disabled = String(!column.reorderable || !component.props.reorderableColumns);\n const ownedLabel = column.element.querySelector<HTMLElement>('[data-ui-data-grid-column-label-owned]');\n if (ownedLabel) ownedLabel.textContent = column.label;\n const previewLabel = column.element.querySelector<HTMLElement>('[data-ui-data-grid-column-preview-label]');\n if (previewLabel) previewLabel.textContent = column.label;\n const sortIndicator = column.element.querySelector<HTMLElement>('[data-ui-data-grid-sort-indicator]');\n if (sortIndicator) {\n sortIndicator.textContent = column.sort === 'ascending' ? '↑' : column.sort === 'descending' ? '↓' : '';\n }\n column.element.querySelector<HTMLElement>('[data-ui-data-grid-resize-handle]')\n ?.setAttribute('aria-label', `Resize ${column.label || column.key} column`);\n });\n rows().forEach((row) => syncOwnedClasses(row, component.props.rowClass, appliedRowClasses));\n root.querySelectorAll<HTMLElement>('[data-ui-data-grid-cell]').forEach((cell) => {\n const index = columns.findIndex(({key}) => key === cell.dataset.column);\n if (index >= 0) {\n const column = columns[index]!;\n cell.setAttribute('aria-colindex', String(index + 1));\n cell.dataset.align = column.align;\n syncOwnedClasses(cell, `${component.props.cellClass} ${column.cellClass}`, appliedCellClasses);\n if (column.pinned) cell.dataset.pinned = column.pinned;\n else cell.removeAttribute('data-pinned');\n }\n });\n };\n const columnChangeDetail = (\n previous: readonly DataGridColumnSnapshot[],\n next: readonly DataGridColumnSnapshot[],\n ): Record<string, unknown> => {\n const previousByKey = new Map(previous.map((column) => [column.key, column]));\n const nextByKey = new Map(next.map((column) => [column.key, column]));\n const added = next.filter(({key}) => !previousByKey.has(key)).map(({key}) => key);\n const removed = previous.filter(({key}) => !nextByKey.has(key)).map(({key}) => key);\n const changed = next.flatMap((column) => {\n const before = previousByKey.get(column.key);\n if (!before) return [];\n const fields = Object.keys(column).filter((field) => (\n field !== 'key'\n && !isSerializableEqual(before[field as keyof DataGridColumnSnapshot], column[field as keyof DataGridColumnSnapshot])\n ));\n return fields.length ? [{key: column.key, fields}] : [];\n });\n return {previous, columns: next, added, removed, changed};\n };\n const flushDeclarativeState = (): void => {\n declarativeFlushQueued = false;\n if (!root || destroyed) return;\n\n const nextColumns = declaredColumns();\n const nextSnapshots = dataGridColumnSnapshots(nextColumns);\n const semanticColumnChange = !isSerializableEqual(previousColumnSnapshots, nextSnapshots);\n const elementChange = columns.length !== nextColumns.length\n || columns.some((column, index) => column.element !== nextColumns[index]?.element);\n const resizeBoundaryChange = elementChange || columns.some((column, index) => {\n const next = nextColumns[index];\n return !next\n || column.key !== next.key\n || column.resizable !== next.resizable\n || column.minWidth !== next.minWidth\n || column.maxWidth !== next.maxWidth;\n });\n if (semanticColumnChange || elementChange || forceColumnRefresh) {\n const previous = previousColumnSnapshots;\n columns = nextColumns;\n previousColumnSnapshots = nextSnapshots;\n const refreshResizeHandles = resizeBoundaryChange || forceColumnRefresh;\n forceColumnRefresh = false;\n syncColumnLayout();\n if (refreshResizeHandles) registerResizeHandles();\n if (semanticColumnChange) {\n dispatch('ui:data-grid-columns-change', columnChangeDetail(previous, nextSnapshots));\n }\n }\n\n if (component.props.totalRows !== totalRows) {\n updateTotal(component.props.totalRows);\n if (cursorDelegate) root.dataset.totalItems = String(totalRows);\n }\n\n if (cursorDelegate) {\n const nextQuery = root.hasAttribute('data-query') ? component.props.query : cursorOptionQuery;\n if (!isSerializableEqual(appliedCursorQuery, nextQuery)) {\n appliedCursorQuery = cloneSerializable(nextQuery);\n cursorDelegate.setQuery(nextQuery);\n }\n }\n };\n const scheduleDeclarativeState = (): void => {\n if (declarativeFlushQueued) return;\n declarativeFlushQueued = true;\n queueMicrotask(flushDeclarativeState);\n };\n const syncState = (): void => {\n if (!root || !spacer) return;\n if (!cursorDelegate) {\n root.toggleAttribute('data-loading', loading > 0);\n root.toggleAttribute('data-empty', totalRows === 0);\n }\n root.dataset.selection = component.props.selection;\n table?.setAttribute('aria-rowcount', String(totalRows + 1));\n root.style.setProperty('--ui-data-grid-row-height', `${component.props.rowHeight}px`);\n root.style.setProperty('--ui-data-grid-total-height', `${Math.max(totalRows * component.props.rowHeight, component.props.rowHeight)}px`);\n if (!cursorDelegate || totalRows > 0) spacer.style.height = `var(--ui-data-grid-total-height)`;\n reflectMountedSelection();\n };\n const updateTotal = (next: number): void => {\n const normalized = integer(next);\n if (normalized === totalRows) return;\n totalRows = normalized;\n syncState();\n dispatch('ui:data-grid-total-change', {totalRows});\n };\n const blockWindow = (start: number): FixedAxisWindow => fixedAxisWindowAdapter.compute({axes: {y: {\n total: totalRows,\n itemSize: component.props.rowHeight,\n viewportSize: component.props.bufferSize * component.props.rowHeight,\n scrollOffset: start * component.props.rowHeight,\n buffer: 0,\n }}});\n const desiredWindows = (scrollTop: number): FixedAxisWindow[] => {\n if (totalRows === 0) return [];\n const size = integer(component.props.bufferSize, 1);\n const index = Math.min(totalRows - 1, Math.floor(Math.max(0, scrollTop) / component.props.rowHeight));\n const center = Math.floor(index / size) * size;\n const last = Math.floor((totalRows - 1) / size) * size;\n const starts = [center - size, center, center + size].map((start) => Math.min(last, Math.max(0, start)));\n if (center === 0 && last > size) starts.splice(0, 3, 0, size, Math.min(last, size * 2));\n else if (center === last && last > size) starts.splice(0, 3, Math.max(0, last - (size * 2)), last - size, last);\n return [...new Set(starts)].map(blockWindow);\n };\n const requestUrl = (window: FixedAxisWindow): string => {\n const axis = window.axes.y;\n if (!axis) throw new Error('Data Grid requires a vertical virtual window.');\n const url = new URL(component.props.fetchUrl, document.baseURI);\n url.searchParams.set(component.props.startParam, String(axis.start));\n url.searchParams.set(component.props.countParam, String(axis.count));\n url.searchParams.set(component.props.totalParam, String(axis.total));\n return /^[a-z][a-z\\d+.-]*:/i.test(component.props.fetchUrl) || component.props.fetchUrl.startsWith('//')\n ? url.href\n : `${url.pathname}${url.search}${url.hash}`;\n };\n const settle = (): void => {\n loading = Math.max(0, loading - 1);\n syncState();\n if (loading > 0 || latestScrollTop === null || destroyed) return;\n const scrollTop = latestScrollTop;\n latestScrollTop = null;\n reconcile(scrollTop);\n };\n const load = async (\n block: BlockRecord,\n window: FixedAxisWindow,\n request: VirtualWindowRequest<FixedAxisWindow>,\n ): Promise<void> => {\n const axis = window.axes.y;\n if (!axis) return;\n const aborter = new AbortController();\n requestAborters.set(block.key, aborter);\n loading += 1;\n syncState();\n root?.removeAttribute('data-error');\n dispatch('ui:data-grid-load-start', {window});\n try {\n const requestId = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${request.requestGeneration}`;\n const response = await fetch(requestUrl(window), {method: 'GET', headers: {\n Accept: 'text/html',\n 'X-Trellis-Virtualizer': 'true',\n 'X-Trellis-Request-ID': requestId,\n }, signal: aborter.signal});\n if (!response.ok && response.status !== 204) {\n controller.fail(request);\n root?.setAttribute('data-error', '');\n dispatch('ui:data-grid-error', {window, status: response.status});\n return;\n }\n const payload = await parseVirtualizerFragmentResponse(response, component.props);\n if (controller.pending(block.key) !== request || destroyed) return;\n const replaced = await replaceFragmentChildren(AlpineInstance, block.element, payload.html, {\n assets: payload.assets,\n shouldReplace: () => controller.pending(block.key) === request && !destroyed,\n });\n if (!replaced) return;\n if (payload.totalItems !== null) updateTotal(payload.totalItems);\n if (!controller.commit(request, window)) return;\n block.element.style.height = `${axis.count * component.props.rowHeight}px`;\n block.element.style.transform = `translateY(${axis.translateOffset}px)`;\n syncColumnLayout();\n reflectMountedSelection();\n dispatch('ui:data-grid-load', {window, start: axis.start, count: axis.count, end: axis.start + axis.count});\n } catch (error) {\n if (aborter.signal.aborted) return;\n controller.fail(request);\n root?.setAttribute('data-error', '');\n dispatch('ui:data-grid-error', {window, status: 0, error});\n } finally {\n if (requestAborters.get(block.key) === aborter) requestAborters.delete(block.key);\n settle();\n }\n };\n const reconcile = (scrollTop: number): void => {\n if (cursorDelegate || component.props.cursor) return;\n if (loading > 0) {\n latestScrollTop = scrollTop;\n return;\n }\n const desired = desiredWindows(scrollTop);\n const logicalIndex = Math.min(Math.max(0, totalRows - 1), Math.floor(Math.max(0, scrollTop) / component.props.rowHeight));\n const center = desired.find((window) => {\n const axis = window.axes.y;\n return axis && logicalIndex >= axis.start && logicalIndex < axis.start + axis.count;\n }) ?? desired[0];\n if (center && currentWindowKey !== center.key) {\n currentWindowKey = center.key;\n const axis = center.axes.y!;\n dispatch('ui:data-grid-range', {start: axis.start, count: axis.count, end: axis.start + axis.count, window: center});\n }\n if (desired.length === 0) {\n blocks.forEach((block) => void replaceFragmentChildren(AlpineInstance, block.element, ''));\n return;\n }\n const preserved = new Set<BlockRecord>();\n desired.forEach((window) => {\n const existing = blocks.find((block) => controller.mounted(block.key)?.key === window.key);\n if (existing) preserved.add(existing);\n });\n const available = blocks.filter((block) => !preserved.has(block));\n desired.forEach((window) => {\n if (blocks.some((block) => controller.mounted(block.key)?.key === window.key)) return;\n const block = available.shift();\n if (!block) return;\n const request = controller.begin(block.key, window);\n if (request) void load(block, window, request);\n });\n };\n const invalidate = (): void => {\n requestAborters.forEach((aborter) => aborter.abort());\n requestAborters.clear();\n loading = 0;\n latestScrollTop = null;\n currentWindowKey = '';\n controller.invalidate();\n blocks.forEach((block) => {\n block.element.style.height = '';\n block.element.style.transform = '';\n void replaceFragmentChildren(AlpineInstance, block.element, '');\n });\n syncState();\n };\n const setSelection = (value: DataGridSelectionValue, detail?: {added: string[]; removed: string[]}): void => {\n selection = normalizeSelection(value, component.props.selection);\n suppressPropChange = true;\n component.props.selectionValue = selection;\n if (root) reflectSchemaProp({el: root, schema: dataGridSchema, key: 'selectionValue', value: selection});\n suppressPropChange = false;\n reflectMountedSelection();\n dispatch('ui:data-grid-selection-change', {selection, added: detail?.added ?? [], removed: detail?.removed ?? []});\n };\n const changeRow = (key: string, selected?: boolean): void => {\n const change = toggleSelection(selection, String(key), component.props.selection, selected);\n if (change.added.length === 0 && change.removed.length === 0) return;\n setSelection(change.selection, change);\n };\n const updateColumnWidth = (column: DataGridColumn, width: number, phase: 'start' | 'resize' | 'end'): void => {\n column.width = Math.min(column.maxWidth ?? Number.POSITIVE_INFINITY, Math.max(column.minWidth, width));\n column.element.dataset.width = String(column.width);\n previousColumnSnapshots = dataGridColumnSnapshots(columns);\n syncColumnLayout();\n dispatch('ui:data-grid-column-resize', {column: column.key, width: column.width, phase});\n };\n const registerResizeHandles = (): void => {\n resizeCleanups.splice(0).forEach((cleanup) => cleanup());\n columns.forEach((column) => {\n const handle = column.element.querySelector<HTMLElement>('[data-ui-data-grid-resize-handle]');\n if (!handle) return;\n const enabled = column.resizable && component.props.resizableColumns;\n handle.hidden = !column.resizable;\n if (enabled) handle.removeAttribute('aria-disabled');\n else handle.setAttribute('aria-disabled', 'true');\n handle.tabIndex = enabled ? 0 : -1;\n if (!enabled) return;\n const onResize = (event: ResizeEvent): void => updateColumnWidth(column, event.previewWidth, event.phase);\n resizeCleanups.push(createResizable({\n element: column.element,\n handle,\n axis: 'x',\n min: column.minWidth,\n max: column.maxWidth,\n mode: component.props.resizeMode,\n disabled: () => !component.props.resizableColumns || !column.resizable,\n onStart: onResize,\n onResize,\n onEnd: onResize,\n }));\n });\n };\n\n const component: TrellisAlpineComponent<DataGridData> = {\n get supportsSeek(): boolean { return cursorDelegate?.supportsSeek ?? false; },\n props: null as unknown as PropState<typeof dataGridSchema>,\n init(): void {\n root = this.$el;\n destroyed = false;\n const scope = globalThis.crypto?.randomUUID?.() ?? `grid-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n root.dataset.uiDataGridScope = scope;\n root.querySelector<HTMLElement>('[data-ui-data-grid-header-row]')?.setAttribute('data-sortable-scope', scope);\n this.props = defineProps({el: root, schema: dataGridSchema, onChange: (_state, changes) => {\n if (suppressPropChange) return;\n const keys = changes.map(({key}) => key);\n if (keys.includes('selectionValue') || keys.includes('selection')) {\n selection = normalizeSelection(this.props.selectionValue, this.props.selection);\n reflectMountedSelection();\n }\n if (keys.some((key) => [\n 'resizableColumns', 'reorderableColumns', 'minColumnWidth', 'defaultColumnWidth', 'maxColumnWidth',\n ].includes(key))) forceColumnRefresh = true;\n if (keys.some((key) => [\n 'query', 'totalRows', 'resizableColumns', 'reorderableColumns', 'minColumnWidth',\n 'defaultColumnWidth', 'maxColumnWidth',\n ].includes(key))) scheduleDeclarativeState();\n if (keys.some((key) => ['fetchUrl', 'rowHeight', 'bufferSize'].includes(key))) this.reload();\n }});\n totalRows = integer(this.props.totalRows);\n selection = normalizeSelection(this.props.selectionValue, this.props.selection);\n viewport = root.querySelector<HTMLElement>('[data-ui-data-grid-viewport]')\n ?? root.querySelector<HTMLElement>('[data-ui-scroll-area-viewport]');\n table = root.querySelector<HTMLElement>('[data-ui-data-grid-inner]');\n body = root.querySelector<HTMLElement>('[data-ui-data-grid-body]');\n spacer = root.querySelector<HTMLElement>('[data-ui-data-grid-spacer]');\n styleElement = root.querySelector<HTMLStyleElement>('style[data-ui-data-grid-layout]');\n blocks = Array.from(root.querySelectorAll<HTMLElement>('[data-ui-data-grid-block]')).slice(0, 3)\n .map((element, index) => ({element, key: `block-${index + 1}`}));\n if (!viewport || !table || !body || !spacer || !styleElement || blocks.length !== 3) {\n throw new Error('Data Grid requires one viewport, table owner, body, spacer, layout style, and three row blocks.');\n }\n viewport.setAttribute('data-ui-data-grid-viewport', '');\n columns = declaredColumns();\n previousColumnSnapshots = dataGridColumnSnapshots(columns);\n syncColumnLayout();\n registerResizeHandles();\n const headerRow = root.querySelector<HTMLElement>('[data-ui-data-grid-header-row]');\n if (headerRow) {\n if (typeof ResizeObserver !== 'undefined') {\n headerSizeObserver = new ResizeObserver(() => syncBodyWidth(headerRow));\n headerSizeObserver.observe(headerRow);\n }\n columnObserver = new MutationObserver(scheduleDeclarativeState);\n columnObserver.observe(headerRow, {\n attributes: true,\n childList: true,\n subtree: true,\n attributeFilter: [\n 'data-column', 'data-label', 'data-width', 'data-min-width', 'data-max-width', 'data-hidden',\n 'data-pinned', 'data-sortable', 'data-sort', 'data-resizable', 'data-reorderable', 'data-align',\n 'data-cell-class', 'hidden',\n ],\n });\n }\n unregisterColumnInvalidation = registerDomInvalidationOwner(root, {invalidateDom: scheduleDeclarativeState});\n listenerAborter = new AbortController();\n viewport.addEventListener('scroll', () => {\n if (scrollFrame) return;\n scrollFrame = requestAnimationFrame(() => {\n scrollFrame = 0;\n if (viewport) reconcile(viewport.scrollTop);\n });\n }, {passive: true, signal: listenerAborter.signal});\n root.addEventListener('click', (event) => {\n const target = event.target as HTMLElement;\n const sortButton = target.closest<HTMLElement>('[data-ui-data-grid-sort-button]');\n if (sortButton && this.props.sortableColumns) {\n const header = sortButton.closest<HTMLElement>('[data-ui-data-grid-column-header]');\n const column = columns.find(({key}) => key === header?.dataset.column);\n if (column?.sortable) {\n const direction = column.sort === 'ascending' ? 'descending' : 'ascending';\n dispatch('ui:data-grid-sort', {column: column.key, direction, additive: event.shiftKey});\n }\n return;\n }\n const row = target.closest<HTMLElement>('[data-ui-data-grid-row]');\n if (!row || !root?.contains(row)) return;\n const key = row.dataset.rowKey ?? '';\n if (this.props.selectOnRowClick && !target.closest(interactiveSelector)) changeRow(key);\n dispatch('ui:data-grid-row-activate', {rowKey: key, row});\n }, {signal: listenerAborter.signal});\n root.addEventListener('dblclick', (event) => {\n const cell = (event.target as HTMLElement).closest<HTMLElement>('[data-ui-data-grid-cell]');\n const row = cell?.closest<HTMLElement>('[data-ui-data-grid-row]');\n if (cell && row) dispatch('ui:data-grid-cell-activate', {\n rowKey: row.dataset.rowKey ?? '', column: cell.dataset.column ?? '', cell,\n });\n }, {signal: listenerAborter.signal});\n root.addEventListener('ui:sortable-drop', ((event: CustomEvent) => {\n const source = event.detail?.source;\n if (source?.type !== 'data-grid-column') return;\n const to = Number(event.detail?.index ?? event.detail?.anchor?.index);\n if (Number.isInteger(to)) this.reorderColumn(String(source.id), to);\n }) as EventListener, {signal: listenerAborter.signal});\n root.addEventListener('ui:virtualizer-total-change', ((event: CustomEvent) => {\n if (!cursorDelegate || event.target !== root) return;\n updateTotal(Number(event.detail?.totalItems ?? 0));\n }) as EventListener, {signal: listenerAborter.signal});\n root.addEventListener('ui:virtualizer-load-start', ((event: CustomEvent) => {\n if (!cursorDelegate || event.target !== root) return;\n dispatch('ui:data-grid-load-start', {mode: 'cursor'});\n }) as EventListener, {signal: listenerAborter.signal});\n root.addEventListener('ui:virtualizer-load', ((event: CustomEvent) => {\n if (!cursorDelegate || event.target !== root) return;\n syncColumnLayout();\n reflectMountedSelection();\n dispatch('ui:data-grid-load', {...event.detail, mode: 'cursor'});\n }) as EventListener, {signal: listenerAborter.signal});\n root.addEventListener('ui:virtualizer-error', ((event: CustomEvent) => {\n if (!cursorDelegate || event.target !== root) return;\n dispatch('ui:data-grid-error', {...event.detail, mode: 'cursor'});\n }) as EventListener, {signal: listenerAborter.signal});\n viewport.style.overscrollBehavior = 'contain';\n viewport.style.overflowAnchor = 'none';\n viewport.scrollTop = fixedAxisWindowAdapter.scrollTo({\n total: totalRows, itemSize: this.props.rowHeight, viewportSize: viewport.clientHeight,\n scrollOffset: 0, buffer: this.props.bufferSize,\n }, {axis: 'y', index: this.props.initialIndex});\n syncState();\n if (this.props.cursor) this.useCursor(serverCursorOptions(() => {\n if (!root) throw new Error('Data Grid is not mounted.');\n return root;\n }));\n else reconcile(viewport.scrollTop);\n },\n destroy(): void {\n destroyed = true;\n if (scrollFrame) cancelAnimationFrame(scrollFrame);\n listenerAborter?.abort();\n listenerAborter = null;\n columnObserver?.disconnect();\n columnObserver = null;\n headerSizeObserver?.disconnect();\n headerSizeObserver = null;\n unregisterColumnInvalidation?.();\n unregisterColumnInvalidation = null;\n resizeCleanups.splice(0).forEach((cleanup) => cleanup());\n cursorDelegate?.destroy();\n cursorDelegate = null;\n invalidate();\n this.props.disconnect();\n root = null;\n viewport = null;\n table = null;\n body = null;\n spacer = null;\n styleElement = null;\n columns = [];\n previousColumnSnapshots = [];\n blocks = [];\n },\n scrollToIndex(index, align = 'start'): void {\n if (cursorDelegate) {\n cursorDelegate.scrollToIndex(index, align);\n return;\n }\n if (!viewport) return;\n viewport.scrollTop = fixedAxisWindowAdapter.scrollTo({\n total: totalRows, itemSize: this.props.rowHeight, viewportSize: viewport.clientHeight,\n scrollOffset: viewport.scrollTop, buffer: this.props.bufferSize,\n }, {axis: 'y', index, align});\n reconcile(viewport.scrollTop);\n },\n setTotalRows(count): void {\n if (root) reflectSchemaProp({el: root, schema: dataGridSchema, key: 'totalRows', value: integer(count)});\n },\n setQuery(query): void {\n if (root) reflectSchemaProp({el: root, schema: dataGridSchema, key: 'query', value: query});\n },\n useCursor(options): void {\n if (!root || !viewport || !spacer) return;\n cursorDelegate?.destroy();\n cursorDelegate = null;\n invalidate();\n root.dataset.totalItems = String(totalRows);\n root.dataset.itemSize = String(this.props.rowHeight);\n spacer.setAttribute('data-ui-virtualizer-spacer', '');\n blocks.forEach(({element}) => element.setAttribute('data-ui-virtualizer-block', ''));\n cursorOptionQuery = options.query;\n const initialQuery = root.hasAttribute('data-query') ? this.props.query : cursorOptionQuery;\n appliedCursorQuery = cloneSerializable(initialQuery);\n const delegate = UiVirtualizer<unknown, unknown>(AlpineInstance, {\n cursor: {...options, query: initialQuery} as unknown as CursorVirtualizerOptions<unknown, unknown>,\n }) as CursorDelegate;\n cursorDelegate = delegate;\n Object.assign(delegate, {$el: root});\n delegate.init();\n },\n setUrl(url, options = {}): void {\n suppressPropChange = true;\n this.props.fetchUrl = String(url);\n if (root) reflectSchemaProp({el: root, schema: dataGridSchema, key: 'fetchUrl', value: String(url)});\n suppressPropChange = false;\n if (options.reset ?? true) this.reset();\n else this.reload();\n },\n reset(options = {}): void {\n if (cursorDelegate) {\n cursorDelegate.reset({scrollTop: options.scrollTop ?? 0});\n return;\n }\n this.reload({scrollTop: options.scrollTop ?? 0});\n },\n reload(options = {}): void {\n if (cursorDelegate) {\n cursorDelegate.reload(options);\n return;\n }\n const scrollTop = options.scrollTop ?? viewport?.scrollTop ?? 0;\n invalidate();\n if (viewport) viewport.scrollTop = Math.max(0, scrollTop);\n reconcile(scrollTop);\n },\n resizeColumn(key, width): void {\n const column = columns.find((candidate) => candidate.key === key);\n if (column) updateColumnWidth(column, Number(width), 'end');\n },\n reorderColumn(key, toIndex): void {\n const from = columns.findIndex((column) => column.key === key);\n const next = reorderColumns(columns, key, integer(toIndex));\n if (!next) return;\n columns = next;\n previousColumnSnapshots = dataGridColumnSnapshots(columns);\n const headerRow = root?.querySelector<HTMLElement>('[data-ui-data-grid-header-row]');\n const indicator = headerRow?.querySelector<HTMLElement>('[data-ui-data-grid-column-indicator]') ?? null;\n columns.forEach((column) => headerRow?.insertBefore(column.element, indicator));\n syncColumnLayout();\n dispatch('ui:data-grid-column-reorder', {column: key, from, to: integer(toIndex), columns: columns.map(({key: columnKey}) => columnKey)});\n },\n selectRow(key): void { changeRow(String(key), true); },\n deselectRow(key): void { changeRow(String(key), false); },\n toggleRow(key): void { changeRow(String(key)); },\n setSelection(value): void { setSelection(value); },\n selectQuery(token, total, except = []): void {\n setSelection({mode: 'query', token: String(token), total: integer(total), except: except.map(String)});\n },\n clearSelection(): void { setSelection({mode: 'ids', ids: []}); },\n };\n return component;\n};\n\nconst registerDataGrid = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiDataGrid', () => UiDataGrid(AlpineInstance))(AlpineInstance);\n};\n\nexport {registerDataGrid, UiDataGrid};\nexport type {DataGridData, DataGridResetOptions, DataGridSetUrlOptions, UiDataGridApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerResizableCapability} from '../../capabilities/resizable';\nimport {registerMotionCapability} from '../../capabilities/motion';\nimport {registerSortableCapability} from '../../capabilities/sortable';\nimport {registerDataGrid as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerDataGrid = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerResizableCapability(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerSortableCapability(AlpineInstance);\n registerComponent(AlpineInstance);\n};\n\nexport {registerDataGrid};\nexport default registerDataGrid;\nexport * from './index';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=new Set([`Tab`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`Home`,`End`,`PageDown`,`PageUp`]),t=new WeakMap,n=n=>{let r=t.get(n);if(r)return r;let i={pointerDown:!1,pointerFocused:null,indicatorSuppressed:null,shortcut:!1,shortcutReset:void 0};t.set(n,i);let a=()=>{i.indicatorSuppressed?.removeAttribute(`data-ui-focus-indicator`),i.indicatorSuppressed=null};return n.addEventListener(`pointerdown`,()=>{i.pointerDown=!0},!0),n.addEventListener(`focusin`,e=>{i.pointerFocused=i.pointerDown&&e.target instanceof HTMLElement?e.target:null},!0),n.addEventListener(`pointerup`,e=>{let t=n.activeElement;i.pointerFocused=t instanceof HTMLElement&&t!==n.body&&e.composedPath().some(e=>e===t)?t:null,i.pointerDown=!1},!0),n.addEventListener(`pointercancel`,()=>{i.pointerDown=!1},!0),n.addEventListener(`keydown`,t=>{a(),e.has(t.key)&&(i.pointerFocused=null)},!0),n.addEventListener(`focusout`,e=>{e.target===i.indicatorSuppressed&&a()},!0),n.defaultView?.addEventListener(`blur`,()=>{i.pointerDown=!1,i.pointerFocused=null,a()}),i},r=e=>{let t=n(e),r=e.activeElement;r instanceof HTMLElement&&r===t.pointerFocused&&r.blur(),t.pointerFocused=null,t.shortcut=!0,t.shortcutReset!==void 0&&e.defaultView?.clearTimeout(t.shortcutReset),t.shortcutReset=e.defaultView?.setTimeout(()=>{t.shortcut=!1,t.shortcutReset=void 0})},i=e=>n(e).shortcut,a=e=>{let t=n(e.ownerDocument);t.indicatorSuppressed?.removeAttribute(`data-ui-focus-indicator`),e.focus({preventScroll:!0,focusVisible:!1}),e.setAttribute(`data-ui-focus-indicator`,`suppressed`),t.indicatorSuppressed=e};export{i,n,a as r,r as t};
2
+ //# sourceMappingURL=focus-handoff-BE3g0swK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-handoff-BE3g0swK.js","names":[],"sources":["../../../../../../../../client/src/runtime/focus-handoff.ts"],"sourcesContent":["type FocusHandoffState = {\n pointerDown: boolean;\n pointerFocused: HTMLElement | null;\n indicatorSuppressed: HTMLElement | null;\n shortcut: boolean;\n shortcutReset: number | undefined;\n};\n\nconst NAVIGATION_KEYS = new Set([\n 'Tab',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Home',\n 'End',\n 'PageDown',\n 'PageUp',\n]);\n\nconst states = new WeakMap<Document, FocusHandoffState>();\n\nconst ensureFocusHandoff = (document: Document): FocusHandoffState => {\n const existing = states.get(document);\n if (existing) return existing;\n\n const state: FocusHandoffState = {\n pointerDown: false,\n pointerFocused: null,\n indicatorSuppressed: null,\n shortcut: false,\n shortcutReset: undefined,\n };\n states.set(document, state);\n\n const clearSuppressedIndicator = (): void => {\n state.indicatorSuppressed?.removeAttribute('data-ui-focus-indicator');\n state.indicatorSuppressed = null;\n };\n\n document.addEventListener('pointerdown', () => {\n state.pointerDown = true;\n }, true);\n document.addEventListener('focusin', (event) => {\n state.pointerFocused = state.pointerDown && event.target instanceof HTMLElement\n ? event.target\n : null;\n }, true);\n document.addEventListener('pointerup', (event) => {\n const active = document.activeElement;\n state.pointerFocused = active instanceof HTMLElement\n && active !== document.body\n && event.composedPath().some((entry) => entry === active)\n ? active\n : null;\n state.pointerDown = false;\n }, true);\n document.addEventListener('pointercancel', () => {\n state.pointerDown = false;\n }, true);\n document.addEventListener('keydown', (event) => {\n clearSuppressedIndicator();\n if (NAVIGATION_KEYS.has(event.key)) {\n state.pointerFocused = null;\n }\n }, true);\n document.addEventListener('focusout', (event) => {\n if (event.target === state.indicatorSuppressed) clearSuppressedIndicator();\n }, true);\n document.defaultView?.addEventListener('blur', () => {\n state.pointerDown = false;\n state.pointerFocused = null;\n clearSuppressedIndicator();\n });\n return state;\n};\n\nconst beginShortcutFocusHandoff = (document: Document): void => {\n const state = ensureFocusHandoff(document);\n const active = document.activeElement;\n if (active instanceof HTMLElement && active === state.pointerFocused) active.blur();\n state.pointerFocused = null;\n state.shortcut = true;\n if (state.shortcutReset !== undefined) document.defaultView?.clearTimeout(state.shortcutReset);\n state.shortcutReset = document.defaultView?.setTimeout(() => {\n state.shortcut = false;\n state.shortcutReset = undefined;\n });\n};\n\nconst isShortcutFocusHandoff = (document: Document): boolean => ensureFocusHandoff(document).shortcut;\n\nconst focusWithoutIndicator = (element: HTMLElement): void => {\n const state = ensureFocusHandoff(element.ownerDocument);\n state.indicatorSuppressed?.removeAttribute('data-ui-focus-indicator');\n element.focus({preventScroll: true, focusVisible: false});\n element.setAttribute('data-ui-focus-indicator', 'suppressed');\n state.indicatorSuppressed = element;\n};\n\nexport {\n beginShortcutFocusHandoff,\n ensureFocusHandoff,\n focusWithoutIndicator,\n isShortcutFocusHandoff,\n};\n"],"mappings":"AAQA,IAAM,EAAkB,IAAI,IAAI,CAC5B,MACA,YACA,YACA,aACA,UACA,OACA,MACA,WACA,QACJ,CAAC,EAEK,EAAS,IAAI,QAEb,EAAsB,GAA0C,CAClE,IAAM,EAAW,EAAO,IAAI,CAAQ,EACpC,GAAI,EAAU,OAAO,EAErB,IAAM,EAA2B,CAC7B,YAAa,GACb,eAAgB,KAChB,oBAAqB,KACrB,SAAU,GACV,cAAe,IAAA,EACnB,EACA,EAAO,IAAI,EAAU,CAAK,EAE1B,IAAM,MAAuC,CACzC,EAAM,qBAAqB,gBAAgB,yBAAyB,EACpE,EAAM,oBAAsB,IAChC,EAoCA,OAlCA,EAAS,iBAAiB,kBAAqB,CAC3C,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,UAAY,GAAU,CAC5C,EAAM,eAAiB,EAAM,aAAe,EAAM,kBAAkB,YAC9D,EAAM,OACN,IACV,EAAG,EAAI,EACP,EAAS,iBAAiB,YAAc,GAAU,CAC9C,IAAM,EAAS,EAAS,cACxB,EAAM,eAAiB,aAAkB,aAClC,IAAW,EAAS,MACpB,EAAM,aAAa,EAAE,KAAM,GAAU,IAAU,CAAM,EACtD,EACA,KACN,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,oBAAuB,CAC7C,EAAM,YAAc,EACxB,EAAG,EAAI,EACP,EAAS,iBAAiB,UAAY,GAAU,CAC5C,EAAyB,EACrB,EAAgB,IAAI,EAAM,GAAG,IAC7B,EAAM,eAAiB,KAE/B,EAAG,EAAI,EACP,EAAS,iBAAiB,WAAa,GAAU,CACzC,EAAM,SAAW,EAAM,qBAAqB,EAAyB,CAC7E,EAAG,EAAI,EACP,EAAS,aAAa,iBAAiB,WAAc,CACjD,EAAM,YAAc,GACpB,EAAM,eAAiB,KACvB,EAAyB,CAC7B,CAAC,EACM,CACX,EAEM,EAA6B,GAA6B,CAC5D,IAAM,EAAQ,EAAmB,CAAQ,EACnC,EAAS,EAAS,cACpB,aAAkB,aAAe,IAAW,EAAM,gBAAgB,EAAO,KAAK,EAClF,EAAM,eAAiB,KACvB,EAAM,SAAW,GACb,EAAM,gBAAkB,IAAA,IAAW,EAAS,aAAa,aAAa,EAAM,aAAa,EAC7F,EAAM,cAAgB,EAAS,aAAa,eAAiB,CACzD,EAAM,SAAW,GACjB,EAAM,cAAgB,IAAA,EAC1B,CAAC,CACL,EAEM,EAA0B,GAAgC,EAAmB,CAAQ,EAAE,SAEvF,EAAyB,GAA+B,CAC1D,IAAM,EAAQ,EAAmB,EAAQ,aAAa,EACtD,EAAM,qBAAqB,gBAAgB,yBAAyB,EACpE,EAAQ,MAAM,CAAC,cAAe,GAAM,aAAc,EAAK,CAAC,EACxD,EAAQ,aAAa,0BAA2B,YAAY,EAC5D,EAAM,oBAAsB,CAChC"}
@@ -1,2 +1,2 @@
1
- import{s as e}from"./dom-qAeVl7dc.js";var t=({el:t,state:n,value:r=``})=>{e({el:t,attr:`data-disabled`,present:n.disabled??!1,value:r}),e({el:t,attr:`data-required`,present:n.required??!1,value:r}),e({el:t,attr:`data-invalid`,present:n.invalid??!1,value:r})},n=({input:e,state:t})=>{t.name!==void 0&&t.name!==``&&(e.name=t.name),t.value!==void 0&&(e.value=t.value),e.disabled=t.disabled??!1,e.required=t.nativeRequired??t.required??!1,`readOnly`in e&&(e.readOnly=t.readonly??!1),t.ariaRequired!==void 0&&e.setAttribute(`aria-required`,t.ariaRequired?`true`:`false`),t.invalid?e.setAttribute(`aria-invalid`,`true`):e.removeAttribute(`aria-invalid`)},r=e=>JSON.stringify({name:e.name,values:e.values,required:e.required??!1,form:e.form??``,marker:e.marker??`data-ui-hidden-input`}),i=({container:e,state:t,currentKey:n=``})=>{let i=t.marker??`data-ui-hidden-input`,a=r({...t,marker:i});return a===n?n:(e.replaceChildren(),t.name&&t.values.forEach(n=>{let r=document.createElement(`input`);r.type=`hidden`,r.name=t.name,r.value=n,r.setAttribute(i,``),t.required&&(r.required=!0),t.form&&r.setAttribute(`form`,t.form),e.append(r)}),a)},a=({container:e,fallback:t,marker:n})=>{let r=e?.querySelector(`input[${n}]`)??t;r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0}))};export{i,t as n,n as r,a as t};
2
- //# sourceMappingURL=form-control-BkVb2Qed.js.map
1
+ import{s as e}from"./dom-qAeVl7dc.js";var t=({el:t,state:n,value:r=``})=>{e({el:t,attr:`data-disabled`,present:n.disabled??!1,value:r}),e({el:t,attr:`data-required`,present:n.required??!1,value:r}),e({el:t,attr:`data-invalid`,present:n.invalid??!1,value:r})},n=({input:e,state:t})=>{t.name!==void 0&&t.name!==``&&(e.name=t.name),t.value!==void 0&&(e.value=t.value),e.disabled=t.disabled??!1,e.required=t.nativeRequired??t.required??!1,`readOnly`in e&&(e.readOnly=t.readonly??!1),t.ariaRequired!==void 0&&e.setAttribute(`aria-required`,t.ariaRequired?`true`:`false`),t.invalid?e.setAttribute(`aria-invalid`,`true`):e.removeAttribute(`aria-invalid`)},r=e=>JSON.stringify({name:e.name,values:e.values,required:e.required??!1,form:e.form??``,marker:e.marker??`data-ui-hidden-input`}),i=({container:e,state:t,currentKey:n=``})=>{let i=t.marker??`data-ui-hidden-input`,a=r({...t,marker:i}),o=Array.from(e.querySelectorAll(`:scope > input[${i}]`)),s=o.length===t.values.length&&o.every((e,n)=>e.type===`hidden`&&e.name===t.name&&e.value===t.values[n]&&e.required===(t.required??!1)&&(e.getAttribute(`form`)??``)===(t.form??``));return a===n&&s?n:(e.replaceChildren(),t.name&&t.values.forEach(n=>{let r=document.createElement(`input`);r.type=`hidden`,r.name=t.name,r.value=n,r.setAttribute(i,``),t.required&&(r.required=!0),t.form&&r.setAttribute(`form`,t.form),e.append(r)}),a)},a=({container:e,fallback:t,marker:n})=>{let r=e?.querySelector(`input[${n}]`)??t;r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0}))};export{i,t as n,n as r,a as t};
2
+ //# sourceMappingURL=form-control-DjbUb602.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-control-DjbUb602.js","names":[],"sources":["../../../../../../../../client/src/runtime/form-control.ts"],"sourcesContent":["import {setPresence} from '../utils';\n\ntype ControlState = {\n disabled?: boolean;\n required?: boolean;\n invalid?: boolean;\n};\n\ntype NativeControlState = ControlState & {\n name?: string;\n value?: string;\n readonly?: boolean;\n ariaRequired?: boolean;\n nativeRequired?: boolean;\n};\n\ntype HiddenInputState = {\n name: string;\n values: string[];\n required?: boolean;\n form?: string;\n marker?: string;\n};\n\ntype SyncControlPresenceOptions = {\n el: HTMLElement;\n state: ControlState;\n value?: string;\n};\n\ntype SyncNativeControlOptions = {\n input: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n state: NativeControlState;\n};\n\ntype SyncRepeatedHiddenInputsOptions = {\n container: HTMLElement;\n state: HiddenInputState;\n currentKey?: string;\n};\n\ntype DispatchNativeControlChangeOptions = {\n container: HTMLElement | null;\n fallback: HTMLElement;\n marker: string;\n};\n\nconst syncControlPresence = ({\n el,\n state,\n value = '',\n}: SyncControlPresenceOptions): void => {\n setPresence({el, attr: 'data-disabled', present: state.disabled ?? false, value});\n setPresence({el, attr: 'data-required', present: state.required ?? false, value});\n setPresence({el, attr: 'data-invalid', present: state.invalid ?? false, value});\n};\n\nconst syncNativeControl = ({\n input,\n state,\n}: SyncNativeControlOptions): void => {\n if (state.name !== undefined && state.name !== '') input.name = state.name;\n if (state.value !== undefined) input.value = state.value;\n\n input.disabled = state.disabled ?? false;\n input.required = state.nativeRequired ?? state.required ?? false;\n\n if ('readOnly' in input) {\n input.readOnly = state.readonly ?? false;\n }\n\n if (state.ariaRequired !== undefined) {\n input.setAttribute('aria-required', state.ariaRequired ? 'true' : 'false');\n }\n\n if (state.invalid) {\n input.setAttribute('aria-invalid', 'true');\n } else {\n input.removeAttribute('aria-invalid');\n }\n};\n\nconst hiddenInputsKey = (state: HiddenInputState): string => JSON.stringify({\n name: state.name,\n values: state.values,\n required: state.required ?? false,\n form: state.form ?? '',\n marker: state.marker ?? 'data-ui-hidden-input',\n});\n\nconst syncRepeatedHiddenInputs = ({\n container,\n state,\n currentKey = '',\n}: SyncRepeatedHiddenInputsOptions): string => {\n const marker = state.marker ?? 'data-ui-hidden-input';\n const nextKey = hiddenInputsKey({...state, marker});\n const inputs = Array.from(container.querySelectorAll<HTMLInputElement>(`:scope > input[${marker}]`));\n const domMatches = inputs.length === state.values.length && inputs.every((input, index) => (\n input.type === 'hidden'\n && input.name === state.name\n && input.value === state.values[index]\n && input.required === (state.required ?? false)\n && (input.getAttribute('form') ?? '') === (state.form ?? '')\n ));\n if (nextKey === currentKey && domMatches) return currentKey;\n\n container.replaceChildren();\n if (!state.name) return nextKey;\n\n state.values.forEach((value) => {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = state.name;\n input.value = value;\n input.setAttribute(marker, '');\n if (state.required) input.required = true;\n if (state.form) input.setAttribute('form', state.form);\n container.append(input);\n });\n\n return nextKey;\n};\n\nconst dispatchNativeControlChange = ({\n container,\n fallback,\n marker,\n}: DispatchNativeControlChangeOptions): void => {\n const control = container?.querySelector<HTMLInputElement>(`input[${marker}]`) ?? fallback;\n control.dispatchEvent(new Event('input', {bubbles: true}));\n control.dispatchEvent(new Event('change', {bubbles: true}));\n};\n\nexport {\n dispatchNativeControlChange,\n syncControlPresence,\n syncNativeControl,\n syncRepeatedHiddenInputs,\n};\nexport type {\n ControlState,\n DispatchNativeControlChangeOptions,\n HiddenInputState,\n NativeControlState,\n SyncControlPresenceOptions,\n SyncNativeControlOptions,\n SyncRepeatedHiddenInputsOptions,\n};\n"],"mappings":"sCA+CA,IAAM,GAAuB,CACzB,KACA,QACA,QAAQ,MAC4B,CACpC,EAAY,CAAC,KAAI,KAAM,gBAAiB,QAAS,EAAM,UAAY,GAAO,OAAK,CAAC,EAChF,EAAY,CAAC,KAAI,KAAM,gBAAiB,QAAS,EAAM,UAAY,GAAO,OAAK,CAAC,EAChF,EAAY,CAAC,KAAI,KAAM,eAAgB,QAAS,EAAM,SAAW,GAAO,OAAK,CAAC,CAClF,EAEM,GAAqB,CACvB,QACA,WACkC,CAC9B,EAAM,OAAS,IAAA,IAAa,EAAM,OAAS,KAAI,EAAM,KAAO,EAAM,MAClE,EAAM,QAAU,IAAA,KAAW,EAAM,MAAQ,EAAM,OAEnD,EAAM,SAAW,EAAM,UAAY,GACnC,EAAM,SAAW,EAAM,gBAAkB,EAAM,UAAY,GAEvD,aAAc,IACd,EAAM,SAAW,EAAM,UAAY,IAGnC,EAAM,eAAiB,IAAA,IACvB,EAAM,aAAa,gBAAiB,EAAM,aAAe,OAAS,OAAO,EAGzE,EAAM,QACN,EAAM,aAAa,eAAgB,MAAM,EAEzC,EAAM,gBAAgB,cAAc,CAE5C,EAEM,EAAmB,GAAoC,KAAK,UAAU,CACxE,KAAM,EAAM,KACZ,OAAQ,EAAM,OACd,SAAU,EAAM,UAAY,GAC5B,KAAM,EAAM,MAAQ,GACpB,OAAQ,EAAM,QAAU,sBAC5B,CAAC,EAEK,GAA4B,CAC9B,YACA,QACA,aAAa,MAC8B,CAC3C,IAAM,EAAS,EAAM,QAAU,uBACzB,EAAU,EAAgB,CAAC,GAAG,EAAO,QAAM,CAAC,EAC5C,EAAS,MAAM,KAAK,EAAU,iBAAmC,kBAAkB,EAAO,EAAE,CAAC,EAC7F,EAAa,EAAO,SAAW,EAAM,OAAO,QAAU,EAAO,OAAO,EAAO,IAC7E,EAAM,OAAS,UACZ,EAAM,OAAS,EAAM,MACrB,EAAM,QAAU,EAAM,OAAO,IAC7B,EAAM,YAAc,EAAM,UAAY,MACrC,EAAM,aAAa,MAAM,GAAK,OAAS,EAAM,MAAQ,GAC5D,EAiBD,OAhBI,IAAY,GAAc,EAAmB,GAEjD,EAAU,gBAAgB,EACrB,EAAM,MAEX,EAAM,OAAO,QAAS,GAAU,CAC5B,IAAM,EAAQ,SAAS,cAAc,OAAO,EAC5C,EAAM,KAAO,SACb,EAAM,KAAO,EAAM,KACnB,EAAM,MAAQ,EACd,EAAM,aAAa,EAAQ,EAAE,EACzB,EAAM,WAAU,EAAM,SAAW,IACjC,EAAM,MAAM,EAAM,aAAa,OAAQ,EAAM,IAAI,EACrD,EAAU,OAAO,CAAK,CAC1B,CAAC,EAXuB,EAc5B,EAEM,GAA+B,CACjC,YACA,WACA,YAC4C,CAC5C,IAAM,EAAU,GAAW,cAAgC,SAAS,EAAO,EAAE,GAAK,EAClF,EAAQ,cAAc,IAAI,MAAM,QAAS,CAAC,QAAS,EAAI,CAAC,CAAC,EACzD,EAAQ,cAAc,IAAI,MAAM,SAAU,CAAC,QAAS,EAAI,CAAC,CAAC,CAC9D"}
@@ -0,0 +1,2 @@
1
+ var e=`data-ui-preserve-attr`,t=(t,...n)=>{let r=new Set((t.getAttribute(`data-ui-preserve-attr`)??``).split(/\s+/).filter(Boolean));n.filter(Boolean).forEach(e=>r.add(e)),r.size>0&&t.setAttribute(e,Array.from(r).join(` `))},n=(t,n)=>{if(!(t instanceof Element)||!(n instanceof Element))return;let r=new Set([...(t.getAttribute(`data-ui-preserve-attr`)??``).split(/\s+/),...(n.getAttribute(`data-ui-preserve-attr`)??``).split(/\s+/)].filter(Boolean));if(r.size!==0){n.setAttribute(e,Array.from(r).join(` `));for(let e of r)t.hasAttribute(e)?n.setAttribute(e,t.getAttribute(e)??``):n.removeAttribute(e)}};export{t as n,n as r,e as t};
2
+ //# sourceMappingURL=morph-Cq3V_23_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morph-Cq3V_23_.js","names":[],"sources":["../../../../../../../../client/src/runtime/morph.ts"],"sourcesContent":["const PRESERVE_MORPH_ATTRIBUTES = 'data-ui-preserve-attr';\n\nconst declareMorphAttributes = (element: Element, ...names: string[]): void => {\n const declared = new Set(\n (element.getAttribute(PRESERVE_MORPH_ATTRIBUTES) ?? '')\n .split(/\\s+/)\n .filter(Boolean),\n );\n names.filter(Boolean).forEach((name) => declared.add(name));\n if (declared.size > 0) {\n element.setAttribute(PRESERVE_MORPH_ATTRIBUTES, Array.from(declared).join(' '));\n }\n};\n\nconst preserveDeclaredMorphAttributes = (from: Node, to: Node): void => {\n if (!(from instanceof Element) || !(to instanceof Element)) return;\n const preserved = new Set([\n ...(from.getAttribute(PRESERVE_MORPH_ATTRIBUTES) ?? '').split(/\\s+/),\n ...(to.getAttribute(PRESERVE_MORPH_ATTRIBUTES) ?? '').split(/\\s+/),\n ].filter(Boolean));\n if (preserved.size === 0) return;\n to.setAttribute(PRESERVE_MORPH_ATTRIBUTES, Array.from(preserved).join(' '));\n\n for (const name of preserved) {\n if (from.hasAttribute(name)) {\n to.setAttribute(name, from.getAttribute(name) ?? '');\n } else {\n to.removeAttribute(name);\n }\n }\n};\n\nexport {\n PRESERVE_MORPH_ATTRIBUTES,\n declareMorphAttributes,\n preserveDeclaredMorphAttributes,\n};\n"],"mappings":"AAAA,IAAM,EAA4B,wBAE5B,GAA0B,EAAkB,GAAG,IAA0B,CAC3E,IAAM,EAAW,IAAI,KAChB,EAAQ,aAAA,uBAAsC,GAAK,IAC/C,MAAM,KAAK,EACX,OAAO,OAAO,CACvB,EACA,EAAM,OAAO,OAAO,EAAE,QAAS,GAAS,EAAS,IAAI,CAAI,CAAC,EACtD,EAAS,KAAO,GAChB,EAAQ,aAAa,EAA2B,MAAM,KAAK,CAAQ,EAAE,KAAK,GAAG,CAAC,CAEtF,EAEM,GAAmC,EAAY,IAAmB,CACpE,GAAI,EAAE,aAAgB,UAAY,EAAE,aAAc,SAAU,OAC5D,IAAM,EAAY,IAAI,IAAI,CACtB,IAAI,EAAK,aAAA,uBAAsC,GAAK,IAAI,MAAM,KAAK,EACnE,IAAI,EAAG,aAAA,uBAAsC,GAAK,IAAI,MAAM,KAAK,CACrE,EAAE,OAAO,OAAO,CAAC,EACb,KAAU,OAAS,EACvB,GAAG,aAAa,EAA2B,MAAM,KAAK,CAAS,EAAE,KAAK,GAAG,CAAC,EAE1E,IAAK,IAAM,KAAQ,EACX,EAAK,aAAa,CAAI,EACtB,EAAG,aAAa,EAAM,EAAK,aAAa,CAAI,GAAK,EAAE,EAEnD,EAAG,gBAAgB,CAAI,CAN2C,CAS9E"}
@@ -0,0 +1,3 @@
1
+ import{f as e,p as t}from"./ui-FOJhyz8V.js";var n=Object.freeze({fast:Object.freeze({duration:.08}),moderate:Object.freeze({duration:.16}),slow:Object.freeze({duration:.24})}),r={out:[.23,1,.32,1],inOut:[.77,0,.175,1]},i=Object.freeze({feedback:Object.freeze({duration:n.fast.duration,ease:r.out}),presence:Object.freeze({duration:n.moderate.duration,ease:r.out}),presenceEmphasized:Object.freeze({duration:n.slow.duration,ease:r.out}),layout:Object.freeze({duration:n.moderate.duration,ease:r.inOut}),layoutQuick:Object.freeze({duration:n.fast.duration,ease:r.inOut}),layoutSpring:Object.freeze({visualDuration:n.moderate.duration,bounce:0}),resize:Object.freeze({visualDuration:n.moderate.duration,bounce:0}),gestureExit:Object.freeze({duration:n.moderate.duration,ease:r.out}),gestureSettle:Object.freeze({visualDuration:n.slow.duration,bounce:0})}),a=new Set([`layoutSpring`,`resize`,`gestureSettle`]),o=new Set([`feedback`,`presence`,`presenceEmphasized`,`layout`,`layoutQuick`,`layoutSpring`,`resize`,`gestureSettle`]),s={feedback:`feedback`,presence:`presence`,presenceEmphasized:`presence-emphasized`,layout:`layout`,layoutQuick:`layout-quick`,layoutSpring:`layout-spring`,resize:`resize`,gestureExit:`gesture-exit`,gestureSettle:`gesture-settle`},c={feedback:`fast`,presence:`moderate`,presenceEmphasized:`slow`,layout:`moderate`,layoutQuick:`fast`,layoutSpring:`moderate`,resize:`moderate`,gestureExit:`moderate`,gestureSettle:`slow`},l=(e,t)=>{let n=Number.parseFloat(e.getPropertyValue(t));return Number.isFinite(n)?n:void 0},u=(e,t)=>{let n=e.getPropertyValue(t).trim().toLowerCase(),r=Number.parseFloat(n);if(Number.isFinite(r))return n.endsWith(`ms`)?r:n.endsWith(`s`)?r*1e3:r},d=(e,t)=>{let n=getComputedStyle(e),r=u(n,`--motion-duration-${c[t]}`),d=l(n,`--motion-bounce-${s[t]}`),f=i[t];return a.has(t)||o.has(t)&&(d??0)>0?{visualDuration:r===void 0?`visualDuration`in f?f.visualDuration:f.duration:r/1e3,bounce:d??(`bounce`in f?f.bounce:0)}:{duration:r===void 0?`duration`in f?f.duration:f.visualDuration:r/1e3,...`ease`in f?{ease:f.ease}:{}}},f=(e,t)=>a.has(e)||t!==void 0&&o.has(e)&&(l(getComputedStyle(t),`--motion-bounce-${s[e]}`)??0)>0,p=(e,t)=>d(e,t),m=Object.freeze({opacity:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1])}),out:Object.freeze({opacity:Object.freeze([1,0])})}),popover:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),scale:Object.freeze([.97,1])}),out:Object.freeze({opacity:Object.freeze([1,0]),scale:Object.freeze([1,.97])})}),modal:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),y:Object.freeze([`calc(8px * var(--motion-displacement-scale, 1))`,`0px`]),scale:Object.freeze([.98,1])}),out:Object.freeze({opacity:Object.freeze([1,0]),y:Object.freeze([`0px`,`calc(8px * var(--motion-displacement-scale, 1))`]),scale:Object.freeze([1,.98])})}),toast:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(calc(var(--ui-toast-stack-offset, 0px) + var(--ui-toast-outside, -100%))) scale(var(--ui-toast-stack-scale, 1))`,`translateY(var(--ui-toast-stack-offset, 0px)) scale(var(--ui-toast-stack-scale, 1))`])}),out:Object.freeze({opacity:0,transform:`translateY(calc(var(--ui-toast-stack-offset, 0px) + var(--ui-toast-outside, -100%))) scale(var(--ui-toast-stack-scale, 1))`})}),sheet:Object.freeze({left:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateX(-100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateX(-100%)`})}),right:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateX(100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateX(100%)`})}),top:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(-100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateY(-100%)`})}),bottom:Object.freeze({in:Object.freeze({opacity:Object.freeze([0,1]),transform:Object.freeze([`translateY(100%)`,`none`])}),out:Object.freeze({opacity:0,transform:`translateY(100%)`})})})}),h=(e=`moderate`,t)=>{if(typeof e!=`string`)return e;if(t===void 0)return n[e];let r=u(getComputedStyle(t),`--motion-duration-${e}`);return r===void 0?n[e]:{duration:r/1e3}},g=e=>Array.isArray(e)?e[e.length-1]:e,_=`(prefers-reduced-motion: reduce)`,v=()=>typeof window>`u`||typeof window.matchMedia!=`function`?!1:window.matchMedia(_).matches,y=(e=`user`)=>e===`always`?!0:e===`never`?!1:v(),b=(e,t={},n=`user`)=>y(n)?{...e,duration:0,...t}:e;function x(e,t){e.indexOf(t)===-1&&e.push(t)}function S(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var C=(e,t,n)=>n>t?t:n<e?e:n;function w(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}var T={},ee=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),te=e=>typeof e==`object`&&!!e,ne=e=>/^0[^.\s]+$/u.test(e);function re(e){let t;return()=>(t===void 0&&(t=e()),t)}var E=e=>e,ie=(...e)=>e.reduce((e,t)=>n=>t(e(n))),ae=(e,t,n)=>{let r=t-e;return r?(n-e)/r:1},oe=class{constructor(){this.subscriptions=[]}add(e){return x(this.subscriptions,e),()=>S(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},D=e=>e*1e3,O=e=>e/1e3,se=(e,t)=>t?1e3/t*e:0,ce=new Set;function le(e,t,n){e||ce.has(t)||(console.warn(w(t,n)),ce.add(t))}var ue=(e,t,n)=>{let r=t-e;return((n-e)%r+r)%r+e},de=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,fe=1e-7,pe=12;function me(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=de(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>fe&&++s<pe);return o}function he(e,t,n,r){if(e===t&&n===r)return E;let i=t=>me(t,0,1,e,n);return e=>e===0||e===1?e:de(i(e),t,r)}var ge=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,_e=e=>t=>1-e(1-t),ve=he(.33,1.53,.69,.99),ye=_e(ve),be=ge(ye),xe=e=>e>=1?1:(e*=2)<1?.5*ye(e):.5*(2-2**(-10*(e-1))),Se=e=>1-Math.sin(Math.acos(e)),Ce=_e(Se),we=ge(Se),Te=he(.42,0,1,1),Ee=he(0,0,.58,1),De=he(.42,0,.58,1),Oe=e=>Array.isArray(e)&&typeof e[0]!=`number`;function ke(e,t){return Oe(e)?e[ue(0,e.length,t)]:e}var Ae=e=>Array.isArray(e)&&typeof e[0]==`number`,je={linear:E,easeIn:Te,easeInOut:De,easeOut:Ee,circIn:Se,circInOut:we,circOut:Ce,backIn:ye,backInOut:be,backOut:ve,anticipate:xe},Me=e=>typeof e==`string`,Ne=e=>{if(Ae(e)){e.length;let[t,n,r,i]=e;return he(t,n,r,i)}else if(Me(e))return je[e],`${e}`,je[e];return e},Pe=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`];function Fe(e){let t=new Set,n=new Set,r=!1,i=!1,a=new WeakSet,o={delta:0,timestamp:0,isProcessing:!1};function s(t){a.has(t)&&(c.schedule(t),e()),t(o)}let c={schedule:(e,i=!1,o=!1)=>{let s=o&&r?t:n;return i&&a.add(e),s.add(e),e},cancel:e=>{n.delete(e),a.delete(e)},process:e=>{if(o=e,r){i=!0;return}r=!0;let a=t;t=n,n=a,t.forEach(s),t.clear(),r=!1,i&&(i=!1,c.process(e))}};return c}var Ie=40;function Le(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=Pe.reduce((e,t)=>(e[t]=Fe(a),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=T.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,Ie),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:Pe.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<Pe.length;t++)o[Pe[t]].cancel(e)},state:i,steps:o}}var{schedule:k,cancel:Re,state:ze,steps:Be}=Le(typeof requestAnimationFrame<`u`?requestAnimationFrame:E,!0),Ve;function He(){Ve=void 0}var A={now:()=>(Ve===void 0&&A.set(ze.isProcessing||T.useManualTiming?ze.timestamp:performance.now()),Ve),set:e=>{Ve=e,queueMicrotask(He)}},Ue=e=>t=>typeof t==`string`&&t.startsWith(e),We=Ue(`--`),Ge=Ue(`var(--`),Ke=e=>Ge(e)?qe.test(e.split(`/*`)[0].trim()):!1,qe=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Je(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var Ye={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Xe={...Ye,transform:e=>C(0,1,e)},Ze={...Ye,default:1},Qe=e=>Math.round(e*1e5)/1e5,$e=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function et(e){return e==null}var tt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,nt=(e,t)=>n=>!!(typeof n==`string`&&tt.test(n)&&n.startsWith(e)||t&&!et(n)&&Object.prototype.hasOwnProperty.call(n,t)),rt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match($e);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},it=e=>C(0,255,e),at={...Ye,transform:e=>Math.round(it(e))},j={test:nt(`rgb`,`red`),parse:rt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+at.transform(e)+`, `+at.transform(t)+`, `+at.transform(n)+`, `+Qe(Xe.transform(r))+`)`};function ot(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 st={test:nt(`#`),parse:ot,transform:j.transform},ct=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),M=ct(`deg`),N=ct(`%`),P=ct(`px`),lt=ct(`vh`),ut=ct(`vw`),dt={...N,parse:e=>N.parse(e)/100,transform:e=>N.transform(e*100)},F={test:nt(`hsl`,`hue`),parse:rt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+N.transform(Qe(t))+`, `+N.transform(Qe(n))+`, `+Qe(Xe.transform(r))+`)`},I={test:e=>j.test(e)||st.test(e)||F.test(e),parse:e=>j.test(e)?j.parse(e):F.test(e)?F.parse(e):st.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?j.transform(e):F.transform(e),getAnimatableNone:e=>{let t=I.parse(e);return t.alpha=0,I.transform(t)}},ft=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function pt(e){return isNaN(e)&&typeof e==`string`&&(e.match($e)?.length||0)+(e.match(ft)?.length||0)>0}var mt=`number`,ht=`color`,gt=`var`,_t=`var(`,vt="${}",yt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function L(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(yt,e=>(I.test(e)?(r.color.push(a),i.push(ht),n.push(I.parse(e))):e.startsWith(_t)?(r.var.push(a),i.push(gt),n.push(e)):(r.number.push(a),i.push(mt),n.push(parseFloat(e))),++a,vt)).split(vt),indexes:r,types:i}}function bt(e){return L(e).values}function xt({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===mt?i+=Qe(r[a]):e===ht?i+=I.transform(r[a]):i+=r[a]}return i}}function St(e){return xt(L(e))}var Ct=e=>typeof e==`number`?0:I.test(e)?I.getAnimatableNone(e):e,wt=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:Ct(e);function Tt(e){let t=L(e);return xt(t)(t.values.map((e,n)=>wt(e,t.split[n])))}var R={test:pt,parse:bt,createTransformer:St,getAnimatableNone:Tt};function Et(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Dt({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=Et(s,r,e+1/3),a=Et(s,r,e),o=Et(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Ot(e,t){return n=>n>0?t:e}var z=(e,t,n)=>e+(t-e)*n,kt=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},At=[st,j,F],jt=e=>At.find(t=>t.test(e));function Mt(e){let t=jt(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===F&&(n=Dt(n)),n}var Nt=(e,t)=>{let n=Mt(e),r=Mt(t);if(!n||!r)return Ot(e,t);let i={...n};return e=>(i.red=kt(n.red,r.red,e),i.green=kt(n.green,r.green,e),i.blue=kt(n.blue,r.blue,e),i.alpha=z(n.alpha,r.alpha,e),j.transform(i))},Pt=new Set([`none`,`hidden`]);function Ft(e,t){return Pt.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function It(e,t){return n=>z(e,t,n)}function Lt(e){return typeof e==`number`?It:typeof e==`string`?Ke(e)?Ot:I.test(e)?Nt:Vt:Array.isArray(e)?Rt:typeof e==`object`?I.test(e)?Nt:zt:Ot}function Rt(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Lt(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function zt(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Lt(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function Bt(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var Vt=(e,t)=>{let n=R.createTransformer(t),r=L(e),i=L(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Pt.has(e)&&!i.values.length||Pt.has(t)&&!r.values.length?Ft(e,t):ie(Rt(Bt(r,i),i.values),n):(`${e}${t}`,Ot(e,t))};function Ht(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?z(e,t,n):Lt(e)(e,t)}var Ut=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>k.update(t,e),stop:()=>Re(t),now:()=>ze.isProcessing?ze.timestamp:A.now()}},Wt=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Gt=2e4;function Kt(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function qt(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Kt(r),Gt);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:O(i)}}var B={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Jt(e,t){return e*Math.sqrt(1-t*t)}var Yt=12;function Xt(e,t,n){let r=n;for(let n=1;n<Yt;n++)r-=e(r)/t(r);return r}var Zt=.001;function Qt({duration:e=B.duration,bounce:t=B.bounce,velocity:n=B.velocity,mass:r=B.mass}){let i,a;B.maxDuration;let o=1-t;o=C(B.minDamping,B.maxDamping,o),e=C(B.minDuration,B.maxDuration,O(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=Jt(t,o),c=Math.exp(-i);return Zt-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=Jt(t**2,o);return(-i(t)+Zt>0?-1:1)*((a-s)*c)/l}):(i=t=>-.001+Math.exp(-t*e)*((t-n)*e+1),a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Xt(i,a,s);if(e=D(e),isNaN(c))return{stiffness:B.stiffness,damping:B.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var $t=[`duration`,`bounce`],en=[`stiffness`,`damping`,`mass`];function tn(e,t){return t.some(t=>e[t]!==void 0)}function nn(e){let t={velocity:B.velocity,stiffness:B.stiffness,damping:B.damping,mass:B.mass,isResolvedFromDuration:!1,...e};if(!tn(e,en)&&tn(e,$t))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*C(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:B.mass,stiffness:i,damping:a}}else{let n=Qt({...e,velocity:0});t={...t,...n,mass:B.mass},t.isResolvedFromDuration=!0}return t}function V(e=B.visualDuration,t=B.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=nn({...n,velocity:-O(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=O(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?B.restSpeed.granular:B.restSpeed.default,i||=v?B.restDelta.granular:B.restDelta.default;let y,b,x,S,C,w;if(h<1)x=Jt(_,h),S=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(S*Math.sin(x*e)+g*Math.cos(x*e)),C=h*_*S+g*x,w=h*_*g-S*x,b=e=>Math.exp(-h*_*e)*(C*Math.sin(x*e)+w*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let T={calculatedDuration:p&&d||null,velocity:e=>D(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(S*n+g*a),l=D(t*(C*n+w*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=D(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Kt(T),Gt),t=Wt(t=>T.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return T}V.applyToOptions=e=>{let t=qt(e,100,V);return e.ease=t.ease,e.duration=D(t.duration),e.type=`keyframes`,e};var rn=5;function an(e,t,n){let r=Math.max(t-rn,0);return se(n-e(r),t-r)}function on({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=V({keyframes:[f.value,m(f.value)],velocity:an(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function sn(e,t,n){let r=[],i=n||T.mix||Ht,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=ie(Array.isArray(t)?t[n]||E:t,a)),r.push(a)}return r}function cn(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(t.length,a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=sn(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=ae(e[r],e[r+1],n);return s[r](i)};return n?t=>l(C(e[0],e[a-1],t)):l}function ln(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=ae(0,t,r);e.push(z(n,1,i))}}function un(e){let t=[0];return ln(t,e.length-1),t}function dn(e,t){return e.map(e=>e*t)}function fn(e,t){return e.map(()=>t||De).splice(0,e.length-1)}function pn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Oe(r)?r.map(Ne):Ne(r),a={done:!1,value:t[0]},o=cn(dn(n&&n.length===t.length?n:un(t),e),t,{ease:Array.isArray(i)?i:fn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var mn=e=>e!==null;function hn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(mn),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var gn={decay:on,inertia:on,tween:pn,keyframes:pn,spring:V};function _n(e){typeof e.type==`string`&&(e.type=gn[e.type])}var vn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},yn=e=>e/100,bn=class extends vn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==A.now()&&this.tick(A.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;_n(e);let{type:t=pn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||pn;s!==pn&&typeof o[0]!=`number`&&(this.mixKeyframes=ie(yn,Ht(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Kt(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=C(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==on&&(b.value=hn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return O(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+O(e)}get time(){return O(this.currentTime)}set time(e){e=D(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return an(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(A.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=O(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Ut,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(A.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function xn(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var H=e=>e*180/Math.PI,Sn=e=>wn(H(Math.atan2(e[1],e[0]))),Cn={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Sn,rotateZ:Sn,skewX:e=>H(Math.atan(e[1])),skewY:e=>H(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},wn=e=>(e%=360,e<0&&(e+=360),e),Tn=Sn,En=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Dn=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),On={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:En,scaleY:Dn,scale:e=>(En(e)+Dn(e))/2,rotateX:e=>wn(H(Math.atan2(e[6],e[5]))),rotateY:e=>wn(H(Math.atan2(-e[2],e[0]))),rotateZ:Tn,rotate:Tn,skewX:e=>H(Math.atan(e[4])),skewY:e=>H(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function kn(e){return+!!e.includes(`scale`)}function An(e,t){if(!e||e===`none`)return kn(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=On,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Cn,i=t}if(!i)return kn(t);let a=r[t],o=i[1].split(`,`).map(Mn);return typeof a==`function`?a(o):o[a]}var jn=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return An(n,t)};function Mn(e){return parseFloat(e.trim())}var U=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],Nn=new Set([...U,`pathRotation`]),Pn=e=>e===Ye||e===P,Fn=new Set([`x`,`y`,`z`]),In=U.filter(e=>!Fn.has(e));function Ln(e){let t=[];return In.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var W={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>An(t,`x`),y:(e,{transform:t})=>An(t,`y`)};W.translateX=W.x,W.translateY=W.y;var G=new Set,Rn=!1,zn=!1,Bn=!1;function Vn(){if(zn){let e=Array.from(G).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=Ln(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)})}zn=!1,Rn=!1,G.forEach(e=>e.complete(Bn)),G.clear()}function Hn(){G.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(zn=!0)})}function Un(){Bn=!0,Hn(),Vn(),Bn=!1}var Wn=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?(G.add(this),Rn||(Rn=!0,k.read(Hn),k.resolveKeyframes(Vn))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),G.delete(this)}cancel(){this.state===`scheduled`&&(G.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},Gn=e=>e.startsWith(`--`);function Kn(e,t,n){Gn(t)?e.style.setProperty(t,n):e.style[t]=n}var qn={};function Jn(e,t){let n=re(e);return()=>qn[t]??n()}var Yn=Jn(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),Xn=Jn(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Zn=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Qn={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Zn([0,.65,.55,1]),circOut:Zn([.55,0,1,.45]),backIn:Zn([.31,.01,.66,-.59]),backOut:Zn([.33,1.53,.69,.99])};function $n(e,t){if(e)return typeof e==`function`?Xn()?Wt(e,t):`ease-out`:Ae(e)?Zn(e):Array.isArray(e)?e.map(e=>$n(e,t)||Qn.easeOut):Qn[e]}function er(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=$n(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 tr(e){return typeof e==`function`&&`applyToOptions`in e}function nr({type:e,...t}){return tr(e)&&Xn()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var rr=class extends vn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=nr(e);this.animation=er(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=hn(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Kn(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return O(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+O(e)}get time(){return O(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=D(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Yn()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),E):r(this)}},ir={anticipate:xe,backInOut:be,circInOut:we};function ar(e){return e in ir}function or(e){typeof e.ease==`string`&&ar(e.ease)&&(e.ease=ir[e.ease])}var sr=10,cr=class extends rr{constructor(e){or(e),_n(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new bn({...a,autoplay:!1}),s=Math.max(sr,A.now()-this.startTime),c=C(0,sr,s-sr),l=o.sample(s).value,{name:u}=this.options;i&&u&&Kn(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},lr=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(R.test(e)||e===`0`)&&!e.startsWith(`url(`));function ur(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 dr(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=lr(i,t),s=lr(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:ur(e)||(n===`spring`||tr(n))&&r}function fr(e){e.duration=0,e.type=`keyframes`}var pr=new Set([`opacity`,`clipPath`,`filter`,`transform`]),mr=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function hr(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&mr.test(e[t]))return!0;return!1}var gr=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),_r=re(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function vr(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 _r()&&n&&(pr.has(n)||gr.has(n)&&hr(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var yr=40,br=class extends vn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=A.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u},f=l?.KeyframeResolver||Wn;this.keyframeResolver=new f(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=A.now();let u=!0;dr(e,i,a,o)||(u=!1,(T.instantAnimations||!s)&&l?.(hn(e,n,t)),e[0]=e[e.length-1],fr(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>yr?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&vr(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new cr({...d,element:p})}catch{m=new bn(d)}else m=new bn(d);m.finished.then(()=>{this.notifyFinished()}).catch(E),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Un()),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()}},xr=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 Sr(this.animations,`duration`)}get iterationDuration(){return Sr(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 Sr(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 Cr=class extends xr{then(e,t){return this.finished.finally(e).then(()=>{})}},wr=class extends rr{constructor(e){super(),this.animation=e,e.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}},Tr=new WeakMap,Er=(e,t=``)=>`${e}:${t}`;function Dr(e){let t=Tr.get(e);return t||(t=new Map,Tr.set(e,t)),t}var Or=30,kr=e=>!isNaN(parseFloat(e)),Ar={current:void 0},jr=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=kr(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new oe);let n=this.events[e].add(t);return e===`change`?()=>{n(),k.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return Ar.current&&Ar.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=A.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Or)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Or);return se(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function K(e,t){return new jr(e,t)}function Mr(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function q(e,t){let n=e?.[t]??e?.default??e;return n===e?n:Mr(n,e)}var Nr={type:`spring`,stiffness:500,damping:25,restSpeed:10},Pr=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Fr={type:`keyframes`,duration:.8},Ir={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},Lr=(e,{keyframes:t})=>t.length>2?Fr:Nn.has(e)?e.startsWith(`scale`)?Pr(t[1]):Nr:Ir,Rr=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function zr(e){for(let t in e)if(!Rr.has(t))return!0;return!1}var Br=(e,t,n,r={},i,a)=>o=>{let s=q(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=D(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};zr(s)||Object.assign(u,Lr(e,u)),u.duration&&=D(u.duration),u.repeatDelay&&=D(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(fr(u),u.delay===0&&(d=!0)),(T.instantAnimations||T.skipAnimations||i?.shouldSkipAnimations||s.skipAnimations)&&(d=!0,fr(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=hn(u.keyframes,s);if(e!==void 0){k.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new bn(u):new br(u)},Vr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Hr(e){let t=Vr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function Ur(e,t,n=1){`${e}`;let[r,i]=Hr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return ee(e)?parseFloat(e):e}return Ke(i)?Ur(i,t,n+1):i}function Wr(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function Gr(e,t,n,r){if(typeof t==`function`){let[i,a]=Wr(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]=Wr(r);t=t(n===void 0?e.custom:n,i,a)}return t}function Kr(e,t,n){let r=e.getProps();return Gr(r,t,n===void 0?r.custom:n,e)}var qr=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...U]),Jr=e=>Array.isArray(e);function Yr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,K(n))}function Xr(e){return Jr(e)?e[e.length-1]||0:e}function Zr(e,t){let{transitionEnd:n={},transition:r={},...i}=Kr(e,t)||{};i={...i,...n};for(let t in i)Yr(e,t,Xr(i[t]))}var J=e=>!!(e&&e.getVelocity);function Qr(e){return!!(J(e)&&e.add)}function $r(e,t){let n=e.getValue(`willChange`);if(Qr(n))return n.add(t);if(!n&&T.WillChange){let n=new T.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function ei(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var ti=`data-`+ei(`framerAppearId`);function ni(e){return e.props[ti]}function ri({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function ii(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?Mr(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&&ri(f,t))continue;let o={delay:n,...q(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=ni(e);if(n){let e=window.MotionHandoffAnimation(n,t,k);e!==null&&(o.startTime=e,p=!0)}}$r(e,t);let m=l??e.shouldReduceMotion;r.start(Br(t,r,i,m&&qr.has(t)?{type:!1}:o,e,p));let h=r.animation;h&&d.push(h)}if(o){let t=()=>k.update(()=>{o&&Zr(e,o)});d.length?Promise.all(d).then(t):t()}return d}var ai={test:e=>e===`auto`,parse:e=>e},oi=e=>t=>t.test(e),si=[Ye,P,N,M,ut,lt,ai],ci=e=>si.find(oi(e));function li(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||ne(e)}var ui=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function di(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match($e)||[];if(!r)return e;let i=n.replace(r,``),a=+!!ui.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var fi=/\b([a-z-]*)\(.*?\)/gu,pi={...R,getAnimatableNone:e=>{let t=e.match(fi);return t?t.map(di).join(` `):e}},mi={...R,getAnimatableNone:e=>{let t=R.parse(e);return R.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},hi={...Ye,transform:Math.round},gi={borderWidth:P,borderTopWidth:P,borderRightWidth:P,borderBottomWidth:P,borderLeftWidth:P,borderRadius:P,borderTopLeftRadius:P,borderTopRightRadius:P,borderBottomRightRadius:P,borderBottomLeftRadius:P,width:P,maxWidth:P,height:P,maxHeight:P,top:P,right:P,bottom:P,left:P,inset:P,insetBlock:P,insetBlockStart:P,insetBlockEnd:P,insetInline:P,insetInlineStart:P,insetInlineEnd:P,padding:P,paddingTop:P,paddingRight:P,paddingBottom:P,paddingLeft:P,paddingBlock:P,paddingBlockStart:P,paddingBlockEnd:P,paddingInline:P,paddingInlineStart:P,paddingInlineEnd:P,margin:P,marginTop:P,marginRight:P,marginBottom:P,marginLeft:P,marginBlock:P,marginBlockStart:P,marginBlockEnd:P,marginInline:P,marginInlineStart:P,marginInlineEnd:P,fontSize:P,backgroundPositionX:P,backgroundPositionY:P,rotate:M,pathRotation:M,rotateX:M,rotateY:M,rotateZ:M,scale:Ze,scaleX:Ze,scaleY:Ze,scaleZ:Ze,skew:M,skewX:M,skewY:M,distance:P,translateX:P,translateY:P,translateZ:P,x:P,y:P,z:P,perspective:P,transformPerspective:P,opacity:Xe,originX:dt,originY:dt,originZ:P,zIndex:hi,fillOpacity:Xe,strokeOpacity:Xe,numOctaves:hi},_i={...gi,color:I,backgroundColor:I,outlineColor:I,fill:I,stroke:I,borderColor:I,borderTopColor:I,borderRightColor:I,borderBottomColor:I,borderLeftColor:I,filter:pi,WebkitFilter:pi,mask:mi,WebkitMask:mi},vi=e=>_i[e],yi=new Set([pi,mi]);function bi(e,t){let n=vi(e);return yi.has(n)||(n=R),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var xi=new Set([`auto`,`none`,`0`]);function Si(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!xi.has(t)&&L(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=bi(n,i)}var Ci=class extends Wn{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=Ur(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!qr.has(n)||e.length!==2)return;let[r,i]=e,a=ci(r),o=ci(i);if(Je(r)!==Je(i)&&W[n]){this.needsMeasurement=!0;return}if(a!==o)if(Pn(a)&&Pn(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else W[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||li(e[t]))&&n.push(t);n.length&&Si(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=W[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]=W[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()}},wi=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 Ti(e,t){for(let n=0;n<e.length;n++)typeof e[n]==`number`&&wi.has(t)&&(e[n]=e[n]+`px`)}function Ei(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 Di=(e,t)=>t&&typeof e==`number`?t.transform(e):e,{schedule:Oi,cancel:ki}=Le(queueMicrotask,!1);function Ai(e,t){let n=window.getComputedStyle(e);return Gn(t)?n.getPropertyValue(t):n[t]}function ji(e){return te(e)&&`ownerSVGElement`in e}function Mi(e){return ji(e)&&e.tagName===`svg`}var Ni=[...si,I,R],Pi=e=>Ni.find(oi(e)),Fi=0,Ii=()=>`motion-view-${Fi++}`,Li=e=>e.startsWith(`motion-view-`);function Ri(e,t,n){t&&(e.style?.setProperty(`view-transition-class`,t),n.push(e))}function zi(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 Bi(e,t,n,r,i,a=[],o,s=[],c){let l=Ei(e);if(r)return l.map((e,l)=>{let u=t.get(e);if(u)return u;let d=r[l]??Ii();return e.style?.setProperty(`view-transition-name`,d),n.push(e),t.set(e,d),Ri(e,i,a),zi(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`&&!Li(d)?f=d:(f=Ii(),e.style?.setProperty(`view-transition-name`,f),n.push(e)),t.set(e,f),Ri(e,i,a),zi(e,f,o,s,c),f})}function Vi(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 Hi(e){return e===`layout`?`group`:e===`enter`||e===`new`?`new`:`old`}var Ui={},Y=null,X={set:(e,t)=>{Ui[e]=t},commit:()=>{Y||(Y=document.createElement(`style`),Y.id=`motion-view`);let e=``;for(let t in Ui){let n=Ui[t];e+=`${t} {\n`;for(let[t,r]of Object.entries(n))e+=` ${t}: ${r};\n`;e+=`}
2
+ `}Y.textContent=e,document.head.appendChild(Y),Ui={}},remove:()=>{Y&&Y.parentElement&&Y.parentElement.removeChild(Y)}};function Wi(e){let t=e.match(/::view-transition-(old|new|group-children|group|image-pair)\((.*?)\)/);return t?{layer:t[2],type:t[1]}:null}function Gi(){return document.getAnimations().filter(e=>{let{effect:t}=e;return!!t&&t.target===document.documentElement&&t.pseudoElement?.startsWith(`::view-transition`)})}function Ki(e,t){return t.has(e)&&Object.keys(t.get(e)).length>0}var qi=[`layout`,`enter`,`exit`,`new`,`old`],Ji={group:[`layout`],new:[`new`,`enter`],old:[`old`,`exit`]},Yi={new:{opacity:0,scale:.85},old:{opacity:1,scale:1}},Xi=.2;function Zi(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 xr([])))();let l=new Map,u=[],d=[],f=[],p=new Set,m=new Map,h=new Set,g=new Map,_=new Map,v=new Map,y=new Map,b=e=>{n.forEach((t,n)=>{let c=o.get(n),h=n===`root`||!r.has(n)?void 0:s.has(n)?`none`:`contain`,b;if(n===`root`||!r.has(n))b=[n];else if(a.has(n))if(e===`old`)y.set(n,Ei(n)),b=Bi(n,l,u,void 0,c,d,h,f,p),v.set(n,b);else{for(let e of y.get(n)??[])e.style?.removeProperty(`view-transition-name`),l.delete(e);b=Bi(a.get(n),l,u,v.get(n),c,d,h,f,p)}else b=Bi(n,l,u,void 0,c,d,h,f,p);let x=i.get(n);b.forEach((n,r)=>{let i=m.get(n);m.set(n,i&&i!==t?{...i,...t}:t),x!==void 0&&g.set(n,x);let a=_.get(n)??{};a[e]=[r,b.length],_.set(n,a)})})},x=(e,t)=>{let n=_.get(e);return(t===`old`?n?.old:t===`new`?n?.new:n?.new??n?.old)??[-1,1]},S=(e,t,n,r,i)=>{let a=$i(q(c,n),q(Qi(e,t)??{},n));return typeof a.delay==`function`&&(a.delay=a.delay(r,i)),a},C=new Map,w=e=>l.forEach((t,n)=>{let r=n.getBoundingClientRect?.();if(r&&r.height){let n=C.get(t)??{};n[e]={width:r.width,height:r.height},C.set(t,n)}}),T=()=>{h.clear();for(let e of _.keys())e!==`root`&&(g.get(e)??ee(e))&&h.add(e)},ee=e=>{let t=C.get(e);return!t?.old||!t?.new||!t.old.height||!t.new.height?!1:Math.abs(t.old.width/t.old.height-t.new.width/t.new.height)>Xi},te=()=>{Ki(`root`,n)||X.set(`:root`,{"view-transition-name":`none`}),X.set(`::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)`,{"animation-timing-function":`linear !important`}),h.forEach(e=>{X.set(`::view-transition-group(${e})`,{overflow:`clip`}),X.set(`::view-transition-old(${e}), ::view-transition-new(${e})`,{width:`100%`,height:`100%`,"object-fit":`cover`})}),p.forEach(e=>{X.set(`::view-transition-group-children(${e})`,{overflow:`clip`})}),X.commit()},ne=()=>{Vi(u,d,f),X.remove()},re=async()=>{await t(),b(`new`),w(`new`),T(),te()},E;try{b(`old`),w(`old`),te(),E=document.startViewTransition(re)}catch(e){return ne(),Promise.reject(e)}return E.finished.finally(ne),new Promise((e,t)=>{E.ready.then(()=>{let t=Gi(),n=[],r=new Set,i=new Set;m.forEach((e,t)=>{let a=_.get(t),o=!!a?.new&&!a?.old,s=!!a?.old&&!a?.new;for(let a of qi){if(!e[a]||a===`enter`&&!o||a===`exit`&&!s)continue;let l=Hi(a),[u,d]=x(t,l);if(u===-1)continue;let{keyframes:f,options:p}=e[a];for(let[m,h]of Object.entries(f)){if(h==null)continue;if(m===`x`||m===`y`){le(!1,`animateView() animates view-transition layers with CSS properties; the "${m}" shorthand has no effect - use transform, e.g. { transform: "translateX(40px)" }.`);continue}if(a===`new`&&o&&e.enter?.keyframes[m]!=null||a===`old`&&s&&e.exit?.keyframes[m]!=null)continue;let f=$i(q(c,m),q(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)?Yi[l]?.[m]:void 0:Array.isArray(t)?t[t.length-1]:t;n!==void 0&&(h=[n,h])}typeof f.delay==`function`&&(f.delay=f.delay(u,d)),f.duration&&=D(f.duration),f.delay&&=D(f.delay),n.push(new rr({...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=Wi(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 wr(e)):e.cancel();continue}let c=_.get(o.layer),l=(o.type===`old`||o.type===`new`)&&!!c?.old&&!!c?.new,u=o.type.startsWith(`group`)||l?`group`:o.type,[d,f]=x(o.layer,u),p=S(s,u,u===`group`?`layout`:``,d===-1?0:d,f),h=p.visualDuration;p.duration&&=D(p.duration),p=nr(p);let g=l&&h!==void 0?D(h):p.duration,v=l?`linear`:$n(p.ease,p.duration);t.updateTiming({delay:D(p.delay??0),duration:g,easing:v}),n.push(new wr(e))}e(new xr(n))}).catch(()=>E.updateCallbackDone.then(()=>e(new xr([])),t))})}function Qi(e,t){for(let n of Ji[t]??[]){let t=e?.[n]?.options;if(t)return t}}function $i(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 Z=[],ea=null;function ta(){ea=null;let[e]=Z;e&&na(e)}function na(e){S(Z,e),ea=e,Zi(e).then(t=>(e.notifyReady(t),t.finished)).catch(t=>e.notifyReject(t)).finally(ta)}function ra(){for(let e=Z.length-1;e>=0;e--){let t=Z[e],{interrupt:n}=t.options;if(n===`immediate`){let n=Z.slice(0,e+1).map(e=>e.update),r=Z.slice(e+1);t.update=()=>{n.forEach(e=>e())},Z=[t,...r];break}}(!ea||Z[0]?.options.interrupt===`immediate`)&&ta()}function ia(e){Z.push(e),Oi.render(ra)}var aa=class{constructor(e,t={}){this.currentSubject=`root`,this.targets=new Map,this.resolveDefs=new Set,this.cropOverride=new Map,this.pairs=new Map,this.classNames=new Map,this.flatGroups=new Set,this.notifyReady=E,this.notifyReject=E,this.readyPromise=new Promise((e,t)=>{this.notifyReady=e,this.notifyReject=t}),this.update=e,this.options={interrupt:`wait`,...t},this.readyPromise.catch(E),ia(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 oa(e,t={}){return new aa(e,t)}var sa=()=>({min:0,max:0}),ca=()=>({x:sa(),y:sa()}),la=new WeakMap;function ua(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function da(e){return typeof e==`string`||Array.isArray(e)}var fa=[`initial`,`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`];function pa(e){return ua(e.animate)||fa.some(t=>da(e[t]))}function ma(e){return!!(pa(e)||e.variants)}function ha(e,t,n){for(let r in t){let i=t[r],a=n[r];if(J(i))e.addValue(r,i);else if(J(a))e.addValue(r,K(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,K(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var ga={current:null},_a={current:!1},va=typeof window<`u`;function ya(){if(_a.current=!0,va)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>ga.current=e.matches;e.addEventListener(`change`,t),t()}else ga.current=!1}var ba=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],xa={},Sa=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=Wn,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=pa(t),this.isVariantNode=ma(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&&J(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,la.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:(_a.current||ya(),this.shouldReduceMotion=ga.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Re(this.notifyUpdate),Re(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&pr.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new rr({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:D(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=Nn.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 xa){let t=xa[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):ca()}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<ba.length;t++){let n=ba[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=ha(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=K(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(ee(n)||ne(n))?n=parseFloat(n):!Pi(n)&&R.test(t)&&(n=bi(e,t)),this.setBaseTarget(e,J(n)?n.get():n)),J(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=Gr(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&&!J(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new oe),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){Oi.render(this.render)}},Ca=class extends Sa{constructor(){super(...arguments),this.KeyframeResolver=Ci}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;J(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}};function wa({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Ta(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 Ea(e,t){return wa(Ta(e.getBoundingClientRect(),t))}var Da={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},Oa=U.length;function ka(e,t,n){let r=``,i=!0;for(let a=0;a<Oa;a++){let o=U[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=Di(s,gi[o]);if(!c){i=!1;let t=Da[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}let a=e.pathRotation;return a&&(i=!1,r+=`rotate(${Di(a,gi.pathRotation)}) `),r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function Aa(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(Nn.has(e)){o=!0;continue}else if(We(e)){i[e]=n;continue}else{let t=Di(n,gi[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=ka(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 ja(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 Ma(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var Na={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(P.test(e))e=parseFloat(e);else return e;return`${Ma(e,t.target.x)}% ${Ma(e,t.target.y)}%`}},Pa={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=R.parse(e);if(i.length>5)return r;let a=R.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=z(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},Fa={borderRadius:{...Na,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:Na,borderTopRightRadius:Na,borderBottomLeftRadius:Na,borderBottomRightRadius:Na,boxShadow:Pa};function Ia(e,{layout:t,layoutId:n}){return Nn.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!Fa[e]||e===`opacity`)}function La(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(J(r[t])||i&&J(i[t])||Ia(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function Ra(e){return window.getComputedStyle(e)}var za=class extends Ca{constructor(){super(...arguments),this.type=`html`,this.renderInstance=ja}readValueFromInstance(e,t){if(Nn.has(t))return this.projection?.isProjecting?kn(t):jn(e,t);{let n=Ra(e),r=(We(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Ea(e,t)}build(e,t,n){Aa(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return La(e,t,n)}};function Ba(e,t){return e in t}var Va=class extends Sa{constructor(){super(...arguments),this.type=`object`}readValueFromInstance(e,t){if(Ba(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 ca()}build(e,t){Object.assign(e.output,t)}renderInstance(e,{output:t}){Object.assign(e,t)}sortInstanceNodePosition(){return 0}},Ha={offset:`stroke-dashoffset`,array:`stroke-dasharray`},Ua={offset:`strokeDashoffset`,array:`strokeDasharray`};function Wa(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?Ha:Ua;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var Ga=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function Ka(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(Aa(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 Ga)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&&Wa(d,i,a,o,!1)}var qa=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`]),Ja=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function Ya(e,t,n,r){ja(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(qa.has(n)?n:ei(n),t.attrs[n])}function Xa(e,t,n){let r=La(e,t,n);for(let n in e)if(J(e[n])||J(t[n])){let t=U.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var Za=class extends Ca{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=ca}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(Nn.has(t)){let e=vi(t);return e&&e.default||0}return t=qa.has(t)?t:ei(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Xa(e,t,n)}build(e,t,n){Ka(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){Ya(e,t,n,r)}mount(e){this.isSVGTag=Ja(e.tagName),super.mount(e)}};function Qa(e,t,n){let r=J(e)?e:K(e);return r.start(Br(``,r,t,n)),r.animation}function $a(e){return typeof e==`object`&&!Array.isArray(e)}function eo(e,t,n,r){return e==null?[]:typeof e==`string`&&$a(t)?Ei(e,n,r):e instanceof NodeList?Array.from(e):Array.isArray(e)?e.filter(e=>e!=null):[e]}function to(e,t,n){return e*(t+1)+n*t}function no(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 ro(e,t,n){for(let r=0;r<e.length;r++){let i=e[r];i.at>t&&i.at<n&&(S(e,i),r--)}}function io(e,t,n,r,i,a){ro(e,i,a);for(let o=0;o<t.length;o++)e.push({value:t[o],at:z(i,a,r[o]),easing:ke(n,o)})}function ao(e,t,n=0){let r=t+1+t*n;for(let t=0;t<e.length;t++)e[t]=e[t]/r}function oo(e,t){return e.at===t.at?e.value===null?1:t.value===null?-1:0:e.at-t.at}var so=`easeInOut`,co=20;function lo(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,no(d,o.at,u,l));continue}let[p,m,h={}]=o;h.at!==void 0&&(d=no(d,h.at,u,l));let g=0,_=(e,n,r,o=0,s=0)=>{let c=po(e),{delay:l=0,times:u=un(c),type:p=t.type||`keyframes`,repeat:m,repeatType:h,repeatDelay:_=0,...v}=n,{ease:y=t.ease||`easeOut`,duration:b}=n,x=typeof l==`function`?l(o,s):l,S=c.length,C=tr(p)?p:i?.[p||`keyframes`];if(S<=2&&C){let e=100;if(S===2&&go(c)){let t=c[1]-c[0];e=Math.abs(t)}let n={...t,...v};b!==void 0&&(n.duration=D(b));let r=qt(n,e,C);y=r.ease,b=r.duration}b??=a;let w=d+x;u.length===1&&u[0]===0&&(u[1]=1);let T=u.length-c.length;if(T>0&&ln(u,T),c.length===1&&c.unshift(null),m&&`${m}${co}`,m&&m<co){let e=b>0?_/b:0;b=to(b,m,_);let t=[...c],n=[...u];y=Array.isArray(y)?[...y]:[y];let r=[...y],i=h===`reverse`||h===`mirror`,a=t,o=r;i&&(a=[...t].reverse(),h===`reverse`&&(o=[...r].reverse().map(e=>typeof e==`function`?_e(e):e)));for(let s=0;s<m;s++){let l=i&&s%2==0,d=l?a:t,f=l?o:r,p=(s+1)*(1+e);e>0&&(c.push(c[c.length-1]),u.push(p),y.push(`linear`)),c.push(...d);for(let e=0;e<d.length;e++)u.push(n[e]+p),y.push(e===0?`linear`:ke(f,e-1))}ao(u,m,e)}let ee=w+b;io(r,c,y,u,w,ee),g=Math.max(x+b,g),f=Math.max(ee,f)};if(J(p)){let e=uo(p,s);_(m,h,fo(`default`,e))}else{let e=eo(p,m,r,c),t=e.length;for(let n=0;n<t;n++){m=m,h=h;let r=e[n],i=uo(r,s);for(let e in m)_(m[e],mo(h,e),fo(e,i),n,t)}}u=d,d+=g}return s.forEach((e,r)=>{for(let i in e){let a=e[i];a.sort(oo);let s=[],c=[],l=[];for(let e=0;e<a.length;e++){let{at:t,value:n,easing:r}=a[e];s.push(n),c.push(ae(0,f,t)),l.push(r||`easeOut`)}c[0]!==0&&(c.unshift(0),s.unshift(s[0]),l.unshift(so)),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 uo(e,t){return!t.has(e)&&t.set(e,{}),t.get(e)}function fo(e,t){return t[e]||(t[e]=[]),t[e]}function po(e){return Array.isArray(e)?e:[e]}function mo(e,t){return e&&e[t]?{...e,...e[t]}:{...e}}var ho=e=>typeof e==`number`,go=e=>e.every(ho);function _o(e){let t={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=ji(e)&&!Mi(e)?new Za(t):new za(t);n.mount(e),la.set(e,n)}function vo(e){let t=new Va({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});t.mount(e),la.set(e,t)}function yo(e,t){return J(e)||typeof e==`number`||typeof e==`string`&&!$a(t)}function bo(e,t,n,r){let i=[];if(yo(e,t))i.push(Qa(e,$a(t)&&t.default||t,n&&(n.default||n)));else{if(e==null)return i;let a=eo(e,t,r),o=a.length;for(let e=0;e<o;e++){let r=a[e],s=r instanceof Element?_o:vo;la.has(r)||s(r);let c=la.get(r),l={...n};`delay`in l&&typeof l.delay==`function`&&(l.delay=l.delay(e,o)),i.push(...ii(c,{...t,transition:l},{}))}}return i}function xo(e,t,n){let r=[];return lo(e.map(e=>{if(Array.isArray(e)&&typeof e[0]==`function`){let t=e[0],n=K(0);return n.on(`change`,t),e.length===1?[n,[0,1]]:e.length===2?[n,[0,1],e[1]]:[n,e[1],e[2]]}return e}),t,n,{spring:V}).forEach(({keyframes:e,transition:t},n)=>{r.push(...bo(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,a){let o=[],s,c={};if(n!==void 0&&(c.reduceMotion=n),r!==void 0&&(c.skipAnimations=r),So(e)){let{onComplete:n,...r}=i||{};typeof n==`function`&&(s=n),o=xo(e,{...c,...r},t)}else{let{onComplete:n,...r}=a||{};typeof n==`function`&&(s=n),o=bo(e,i,{...c,...r},t)}let l=new Cr(o);return s&&l.finished.then(s),t&&(t.animations.push(l),l.finished.then(()=>{S(t.animations,l)})),l}return i}var wo=Co();function To(e,t,n,r){if(e==null)return[];let i=Ei(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={...q(s,e)};i.duration&&=D(i.duration),i.delay&&=D(i.delay);let a=Dr(r),c=Er(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]=Ai(r,i)),xn(t),Ti(t,i),!a&&t.length<2&&t.unshift(Ai(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 rr(r);t.set(n,i),i.finished.finally(()=>t.delete(n)),s.push(i)}return s}var Eo=(e=>{function t(t,n,r){return new Cr(To(t,n,r,e))}return t})(),Do=(e,t)=>({finished:e,then:e.then.bind(e),...t}),Q=e=>Do((async()=>{await e?.()})(),{cancel(){},stop(){},complete(){}}),Oo=(e,t)=>{let n=!1,r=()=>{n||(n=!0,t?.())},i=()=>{},a=new Promise(e=>{i=e}),o=e.finished.then(()=>{},()=>{}),s=Promise.race([o,a]).finally(r),c=e=>{try{e()}finally{i(),r()}};return Do(s,{cancel(){c(()=>e.cancel())},stop(){c(()=>e.stop())},complete(){c(()=>e.complete())}})},ko=(...e)=>Do(Promise.allSettled(e.map(e=>e.finished)).then(()=>{}),{cancel(){e.forEach(e=>e.cancel())},stop(){e.forEach(e=>e.stop())},complete(){e.forEach(e=>e.complete())}}),Ao=(...e)=>{let t=!1,n=!1,r=null;return Do((async()=>{for(let i of e){if(t)break;r=i(),n&&r.complete(),await r.finished.catch(()=>{})}})(),{cancel(){t=!0,r?.cancel()},stop(){t=!0,r?.stop()},complete(){n=!0,r?.complete()}})},$=new WeakMap,jo=e=>$.get(e),Mo=e=>{let t=$.get(e);return t?.handle.stop(),t},No=e=>{let t=$.get(e);t&&(t.handle.stop(),$.get(e)===t&&$.delete(e))},Po=(e,t)=>{$.set(e,t)},Fo=(e,t)=>{$.get(e)?.handle===t&&$.delete(e)},Io=(e,t,n,r,i)=>{let a=Oo(t(Mo(e))),o=()=>a.stop();r?.addEventListener(`abort`,o,{once:!0});let s,c=()=>{r?.removeEventListener(`abort`,o),jo(e)?.handle===s&&i?.(),Fo(e,s)};return s=Do(a.finished.finally(c),{cancel(){a.cancel(),c()},stop(){a.stop(),c()},complete(){a.complete()}}),Po(e,{handle:s,properties:n}),s},Lo=e=>!(e instanceof Element)&&typeof e==`object`&&!!e&&`signal`in e,Ro=e=>{let t=e instanceof Element?e:e.el;if(!(t instanceof Element))throw TypeError(`Motion subject requires an Element target.`);return t},zo=(e,t)=>{let n=Ro(e);if(!t)return n;if(t instanceof Element)return t;let r=Lo(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},Bo=e=>Lo(e)?e.signal:null,Vo=e=>Array.isArray(e)?e.at(-1):e,Ho=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t])),Uo=(e,t)=>t===`height`?`${e.getBoundingClientRect().height}px`:t===`width`?`${e.getBoundingClientRect().width}px`:getComputedStyle(e)[t],Wo=(e,t)=>Array.isArray(e)?[t,...e.slice(1)]:[t,e],Go=(e,t)=>{let n=zo(e,t.target);if(!(n instanceof HTMLElement))throw TypeError(`Size motion requires an HTMLElement target.`);let r=t.signal??Bo(e);if(r?.aborted)return t.cleanup?.(),Q();let a=jo(n),o=Ho(t.keyframes),s=new Set(Object.keys(o));if(s.size===0)return t.cleanup?.(),Q();if(y()){Mo(n);let e=Object.fromEntries(Object.entries(t.keyframes).flatMap(([e,t])=>e===`opacity`?[]:[[e,Vo(t)]]));Object.entries(e).forEach(([e,t])=>{n.style[e]=typeof t==`number`?`${t}px`:String(t)}),Object.keys(e).length>0&&Eo(n,e,{duration:0}).complete();let a=t.keyframes.opacity;return a===void 0?(t.cleanup?.(),Q()):Io(n,()=>Eo(n,{opacity:typeof a==`number`?a:[...a]},{...i.feedback,type:`tween`}),new Set([`opacity`]),r,t.cleanup)}for(let e of s)a?.properties.has(e)&&(o[e]=Wo(o[e],Uo(n,e)));let c=t.role??`layout`;return Io(n,()=>Eo(n,o,{...p(n,c),...f(c,n)?{type:V}:{type:`tween`},...t.transition}),s,r,t.cleanup)},Ko=e=>{let{height:t,width:n}=e.getBoundingClientRect();return{height:t,width:n}},qo=(e,t,n)=>n.some(n=>Math.abs(n===`height`||n===`maxHeight`?e.height-t.height:e.width-t.width)>=1),Jo=(e,t={})=>{let n=[...new Set(t.properties??[`height`,`width`])],r=t.role??`layout`,i=Ko(e),a=null,o=0,s=!1,c=[...new Set([...n,...n.includes(`maxHeight`)?[`height`]:[],...n.includes(`maxWidth`)?[`width`]:[]])],l=Object.fromEntries(c.map(t=>[t,e.style.getPropertyValue(t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`))])),u={overflow:e.style.overflow,willChange:e.style.willChange},d=()=>{for(let[t,n]of Object.entries(l))e.style.setProperty(t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),n);Object.assign(e.style,u)},f=()=>{let t=Ko(e);return a?.handle.stop(),a=null,d(),t},p=(t=()=>{},c={})=>{if(s)return null;if(a&&c.animate!==!1&&c.key!==void 0&&a.key===c.key)return t(),a.handle;let l=a?f():i;t();let u=Ko(e);if(i=u,c.animate===!1||!qo(l,u,n)||y())return null;let p={...n.some(e=>e===`height`||e===`maxHeight`)?{height:[`${l.height}px`,`${u.height}px`]}:{},...n.some(e=>e===`width`||e===`maxWidth`)?{width:[`${l.width}px`,`${u.width}px`]}:{}};e.style.overflow=`hidden`,e.style.willChange=n.map(e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)).join(`, `),`height`in p&&(e.style.height=`${l.height}px`),`width`in p&&(e.style.width=`${l.width}px`),n.includes(`maxHeight`)&&(e.style.maxHeight=`${Math.max(l.height,u.height)}px`),n.includes(`maxWidth`)&&(e.style.maxWidth=`${Math.max(l.width,u.width)}px`),e.getBoundingClientRect();let m=Go(e,{keyframes:p,role:r,cleanup:d}),h={handle:m,generation:++o,key:c.key};return a=h,m.finished.finally(()=>{a?.generation===h.generation&&(a=null)}),m};return{update:p,refresh:e=>p(void 0,e),destroy(){s||(s=!0,a&&f(),d())}}},Yo=e=>typeof e==`object`&&!!e&&`initial`in e,Xo=e=>{let t={},n=new Map,r=new Map,i;Object.keys(e.values).forEach(r=>{let i=e.values[r];t[r]=K(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(y(e.reducedMotion))return s(i),Q();let c=Object.keys(i).flatMap(e=>{let s=i[e];if(s===void 0||!t[e])return[];o(e);let c=Oo(wo(t[e],s,{...n.get(e),...a}));return r.set(e,c),c.finished.finally(()=>{r.get(e)===c&&r.delete(e)}),[c]});return c.length?ko(...c):Q()},current:a,destroy:()=>{i?.(),r.forEach(e=>e.cancel()),r.clear()}}},Zo=new WeakMap,Qo=(e,t)=>{let n=zo(e,t.target);if(!(n instanceof HTMLElement))throw TypeError(`Motion resize requires an HTMLElement target.`);let r=zo(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=Bo(e);if(i?.aborted)return Q();let a=jo(n),o=Math.max(r.scrollHeight,r.getBoundingClientRect().height),s=a?.properties.has(`height`)?n.getBoundingClientRect().height:t.from===`content`?o:0,c=t.to===`content`?o:0;Mo(n),Zo.has(n)||Zo.set(n,{height:n.style.height,opacity:n.style.opacity,overflow:n.style.overflow,willChange:n.style.willChange});let l=y(),u=t.speed===void 0?void 0:h(t.speed,n),d={height:[s,c]};n.style.overflow=`hidden`,n.style.willChange=l?`opacity`:`height, opacity`,t.opacity!==void 0&&(d.opacity=a?.properties.has(`opacity`)?Array.isArray(t.opacity)?t.opacity.at(-1):t.opacity:Array.isArray(t.opacity)?[...t.opacity]:t.opacity);let p=t.role??`resize`,m=u===void 0?{}:`stiffness`in u?u:f(p)?{visualDuration:u.duration}:u,g=()=>{let e=Zo.get(n);e&&Object.assign(n.style,e),Zo.delete(n)};return Go(e,{target:n,keyframes:d,role:p,transition:{...m,...t.transition},signal:i,cleanup:g})},$o=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t])),es=(e,t=new Set)=>Object.fromEntries(Object.entries($o(e)).map(([e,n])=>[e,t.has(e)&&Array.isArray(n)?g(n):n])),ts=new Set(`bottom.filter.height.maxHeight.maxWidth.inset.insetBlock.insetInline.left.right.top.transform.width.translate.x.y.z.scale.scaleX.scaleY.rotate.rotateX.rotateY.skew.skewX.skewY`.split(`.`)),ns=e=>Object.fromEntries(Object.entries($o(e)).flatMap(([e,t])=>ts.has(e)?[]:[[e,t]])),rs=e=>Object.fromEntries(Object.entries($o(e)).flatMap(([e,t])=>ts.has(e)?[[e,Array.isArray(t)?g(t):t]]:[])),is=(e,t,i,a,o)=>{let s=o?`feedback`:t,c=s===void 0?{type:`tween`,ease:r.out}:{...d(e,s),type:f(s,e)?V:`tween`},l=i===void 0?void 0:h(o?`fast`:i,e),u=l===void 0?c:`stiffness`in l?{...c,type:V,...l}:{...c,duration:l.duration};return{...u.duration===void 0&&u.type===void 0?{duration:n.moderate.duration}:{},...u,...a}},as=(e,t,n)=>{let r=zo(e,t.target),i=Bo(e);if(i?.aborted)return Q();let a=y();if(a){let e=rs(t.keyframes);Object.keys(e).length>0&&wo(r,e,{duration:0}).complete()}let o=a?ns(t.keyframes):$o(t.keyframes);return Object.keys(o).length===0?(wo(r,Object.fromEntries(Object.entries($o(t.keyframes)).map(([e,t])=>[e,Array.isArray(t)?g(t):t])),{duration:0}).complete(),Q()):Io(r,e=>wo(r,es(o,e?.properties),is(r,t.role??n.role,t.speed??n.speed,{...n.transition,...t.transition},a)),new Set(Object.keys(o)),i)},os=(e,t,n)=>{if(t.kind===`animate`)return as(e,t,n);let r=t.speed??n.speed??t.options.speed,i=t.role??n.role??t.options.role,a={...n.transition,...t.options.transition,...t.transition};return Qo(e,{...t.options,...r===void 0?{}:{speed:r},...i===void 0?{}:{role:i},...Object.keys(a).length===0?{}:{transition:a}})},ss=(e,t)=>t===void 0?{keyframes:e}:{target:e,keyframes:t},cs=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`,...ss(e,t)},!1)}with(e,t){return this.#r({kind:`animate`,...ss(e,t)},!0)}then(e,t){return this.animate(e,t)}resize(e){return this.#r({kind:`resize`,options:e},!1)}speed(e){return this.#i(t=>({...t,speed:e}))}role(e){return this.#i(t=>({...t,role:e}))}transition(e){return this.#i(t=>({...t,transition:{...t.transition,...e}}))}defaults(t){let n=t.speed??this.#n.speed,r=t.role??this.#n.role,i={...this.#n.transition,...t.transition};return new e(this.#e,this.#t,{...n===void 0?{}:{speed:n},...r===void 0?{}:{role:r},...Object.keys(i).length===0?{}:{transition:i}})}play(){return this.#t.length===0?Q():Ao(...this.#t.map(e=>()=>ko(...e.map(e=>os(this.#e,e,this.#n)))))}},ls=e=>new cs(e),us=e=>{let t=globalThis.CSS;return typeof t?.escape==`function`?t.escape(e):e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)},ds=t=>`[${e}="${us(t)}"]`,fs=e=>`[data-ui-${us(e)}]`,ps=e=>e instanceof Element?null:typeof e==`string`?e:`selector`in e?e.selector:`part`in e?fs(e.part):`key`in e?ds(e.key):null,ms=e=>{if(e instanceof Element)return[e];let t=ps(e);return t?[t]:[]},hs=(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=ms(e.from),n=ms(e.to);return t.flatMap((e,t)=>{let r=n[t]??n[0];return r?[{subject:e,newSubject:r}]:[]})}let t=ps(e);return t?[{subject:t}]:[]}):[],gs=async()=>{},_s=e=>{gs=async()=>{await e()}},vs=i.layout,ys={transform:[`none`,`none`]},bs=`[${e}], [${t}]`,xs=(e,t,n={})=>{if(typeof document.startViewTransition!=`function`||y(n.reducedMotion))return Q(e);let r=t??(n.layout||n.preset===`layout`?bs:null),a=hs(n.scope??document,r),o=oa(e,{...i.layout,interrupt:`immediate`,...n.transition});return a.forEach(({subject:e,newSubject:t})=>{o.add(e,t),n.className&&o.class(n.className),typeof n.crop==`boolean`&&o.crop(n.crop),typeof n.group==`boolean`&&o.group(n.group),n.layout!==!1&&n.preset!==`none`&&o.layout(typeof n.layout==`object`?n.layout:vs);let r=n.newView??(n.preset===`stream`?ys:void 0),a=n.oldView??(n.preset===`stream`?ys:void 0),s=n.enter,c=n.exit;r&&o.new(r,i.feedback),a&&o.old(a,i.feedback),s&&o.enter(s,i.feedback),c&&o.exit(c,i.feedback)}),Do(Promise.resolve(o.then(()=>{},()=>{})),{cancel(){Gi().forEach(e=>e.cancel())},stop(){Gi().forEach(e=>e.pause())},complete(){Gi().forEach(e=>{try{e.finish()}catch{e.cancel()}})}})},Ss=(e,t={})=>{let{targets:n,...r}=t;return xs(async()=>{await e(),await gs()},n,{preset:`layout`,...r})},Cs=(e,t)=>Math.abs(e.left-t.left)>=.5||Math.abs(e.top-t.top)>=.5||Math.abs(e.width-t.width)>=.5||Math.abs(e.height-t.height)>=.5,ws=(e,t)=>{let n=Array.isArray(t)?t:[t];return Array.from(new Set(n.map(t=>zo(e,t)))).map(e=>{if(!(e instanceof HTMLElement))throw TypeError(`FLIP motion requires an HTMLElement target.`);return e})},Ts=(e,t)=>{let n=ws(e,t.target),r=t.signal??Bo(e),i=n.map(e=>e.getBoundingClientRect());n.forEach(e=>Mo(e));let a=n.map(e=>({transform:e.style.transform,transformOrigin:e.style.transformOrigin,willChange:e.style.willChange}));t.update();let o=n.map(e=>e.getBoundingClientRect());if(r?.aborted||y())return Q();let s=t.role??`layout`,c=[];return n.forEach((e,n)=>{let l=i[n],u=o[n],d=a[n];if(!Cs(l,u)||u.width===0||u.height===0)return;let m=`translate(${l.left-u.left}px, ${l.top-u.top}px) scale(${l.width/u.width}, ${l.height/u.height})`,h=d.transform||`none`;e.style.transformOrigin=`top left`,e.style.willChange=`transform`,c.push(Io(e,()=>Eo(e,{transform:[m,h]},{...p(e,s),...f(s,e)?{type:V}:{type:`tween`},...t.transition}),new Set([`transform`]),r,()=>{e.style.transform=d.transform,e.style.transformOrigin=d.transformOrigin,e.style.willChange=d.willChange}))}),ko(...c)},Es=Object.assign(ls,{presets:m,roles:i,speeds:n,easings:r,createController:Xo,stop:No,withReducedMotion:b,view:Ss});export{us as a,Jo as c,Q as d,wo as f,i as g,y as h,_s as i,Go as l,K as m,Ts as n,ds as o,Ei as p,xs as r,ls as s,Es as t,Mo as u};
3
+ //# sourceMappingURL=motion-B4uuk1JX.js.map