@servicetitan/anvil2 3.15.0 → 3.15.1

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 (415) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{AiMark-D57s1e0T.js → AiMark-BfmK30vL.js} +3 -3
  3. package/dist/{AiMark-D57s1e0T.js.map → AiMark-BfmK30vL.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-DExHiAbM.js → Alert-lLo1N7Tj.js} +3 -3
  6. package/dist/{Alert-DExHiAbM.js.map → Alert-lLo1N7Tj.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
  9. package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-RdL4Fvmu.js} +2 -2
  12. package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-RdL4Fvmu.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
  15. package/dist/Button-Dn6-01xl.js.map +1 -0
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
  18. package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{Calendar-BUFPc5UN.js → Calendar-DoLRAWLp.js} +2 -2
  21. package/dist/Calendar-DoLRAWLp.js.map +1 -0
  22. package/dist/{Calendar-CEf7ke8X.js → Calendar-IzXG1aJw.js} +3 -3
  23. package/dist/Calendar-IzXG1aJw.js.map +1 -0
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-DVy-QESI.js → Checkbox-CVxbe-iN.js} +3 -3
  26. package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-CVxbe-iN.js.map} +1 -1
  27. package/dist/{Checkbox-DBE35nMv.js → Checkbox-U-kuWhgc.js} +2 -2
  28. package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-U-kuWhgc.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-B4G4zaP-.js → Chip-2OydLs66.js} +2 -2
  31. package/dist/{Chip-B4G4zaP-.js.map → Chip-2OydLs66.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-DbuXfDNJ.js → DataTable-DkEpJ_Op.js} +16 -41
  35. package/dist/DataTable-DkEpJ_Op.js.map +1 -0
  36. package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-X2jdOTYY.js} +4 -4
  37. package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-X2jdOTYY.js.map} +1 -1
  38. package/dist/DateFieldRange.js +1 -1
  39. package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-BJ16tpOz.js} +4 -4
  40. package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-BJ16tpOz.js.map} +1 -1
  41. package/dist/DateFieldSingle.js +1 -1
  42. package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-CMm8vtz_.js} +4 -4
  43. package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-CMm8vtz_.js.map} +1 -1
  44. package/dist/DateFieldYearless.js +1 -1
  45. package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-BHHs-Z1Q.js} +3 -3
  46. package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-BHHs-Z1Q.js.map} +1 -1
  47. package/dist/DateFieldYearlessRange.js +1 -1
  48. package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-BHXxs0Bo.js} +3 -3
  49. package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-BHXxs0Bo.js.map} +1 -1
  50. package/dist/DaysOfTheWeek.js +1 -1
  51. package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
  52. package/dist/Details-BxqP-5vp.js.map +1 -0
  53. package/dist/Details.css +18 -14
  54. package/dist/Details.js +1 -1
  55. package/dist/{Dialog-vSiZAR1y.js → Dialog-B9llUKJz.js} +5 -5
  56. package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B9llUKJz.js.map} +1 -1
  57. package/dist/Dialog.js +1 -1
  58. package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
  59. package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
  60. package/dist/{Drawer-B4pxj_2P.js → Drawer-Bjd2XLUX.js} +6 -6
  61. package/dist/{Drawer-B4pxj_2P.js.map → Drawer-Bjd2XLUX.js.map} +1 -1
  62. package/dist/Drawer.js +1 -1
  63. package/dist/DrillDown.js +1 -1
  64. package/dist/{EditCard-CX1G7G2Q.js → EditCard-B6l2vhBS.js} +3 -3
  65. package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-B6l2vhBS.js.map} +1 -1
  66. package/dist/EditCard.js +1 -1
  67. package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-ThEmUiAq.js} +2 -2
  68. package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-ThEmUiAq.js.map} +1 -1
  69. package/dist/FieldLabel.js +1 -1
  70. package/dist/{FilterBar-CKYf-1oU.js → FilterBar-ecqJDraA.js} +7 -7
  71. package/dist/FilterBar-ecqJDraA.js.map +1 -0
  72. package/dist/FilterBar.js +1 -1
  73. package/dist/{InputMask-xMpquXPU.js → InputMask-BQigi5oW.js} +3 -3
  74. package/dist/{InputMask-xMpquXPU.js.map → InputMask-BQigi5oW.js.map} +1 -1
  75. package/dist/InputMask.js +1 -1
  76. package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
  77. package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
  78. package/dist/InteractiveCard.js +1 -1
  79. package/dist/{ListView-D6l1KY92.js → ListView-YJscfG4x.js} +2 -2
  80. package/dist/{ListView-D6l1KY92.js.map → ListView-YJscfG4x.js.map} +1 -1
  81. package/dist/ListView.js +1 -1
  82. package/dist/{Listbox-Dep1eJ3u.js → Listbox-CD9ZptSZ.js} +2 -2
  83. package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-CD9ZptSZ.js.map} +1 -1
  84. package/dist/Listbox.js +1 -1
  85. package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
  86. package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
  87. package/dist/Menu.js +1 -1
  88. package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
  89. package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
  90. package/dist/MultiSelectField.js +1 -1
  91. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DpPO0cya.js} +7 -7
  92. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DpPO0cya.js.map} +1 -1
  93. package/dist/MultiSelectMenu.js +1 -1
  94. package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-BN_3moW_.js} +5 -5
  95. package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-BN_3moW_.js.map} +1 -1
  96. package/dist/{NumberField-D5ZzEHg1.js → NumberField-CxmJx4gs.js} +4 -4
  97. package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CxmJx4gs.js.map} +1 -1
  98. package/dist/NumberField.js +1 -1
  99. package/dist/{Page-B2HZzNGP.js → Page-IZ4p51iJ.js} +19 -188
  100. package/dist/Page-IZ4p51iJ.js.map +1 -0
  101. package/dist/Page.js +1 -1
  102. package/dist/{Pagination-CAgXtt9t.js → Pagination-Su4VBAhT.js} +5 -5
  103. package/dist/{Pagination-CAgXtt9t.js.map → Pagination-Su4VBAhT.js.map} +1 -1
  104. package/dist/Pagination.js +1 -1
  105. package/dist/{Popover-CjL2ixjB.js → Popover-CIh1CsoJ.js} +3 -3
  106. package/dist/{Popover-CjL2ixjB.js.map → Popover-CIh1CsoJ.js.map} +1 -1
  107. package/dist/Popover.js +1 -1
  108. package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-TQ0fPmn9.js} +2 -2
  109. package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-TQ0fPmn9.js.map} +1 -1
  110. package/dist/ProgressBar.js +1 -1
  111. package/dist/{Radio-_ftIQSru.js → Radio-BYowelK2.js} +3 -3
  112. package/dist/{Radio-_ftIQSru.js.map → Radio-BYowelK2.js.map} +1 -1
  113. package/dist/{Radio-C2BJqWlV.js → Radio-C1VnatcL.js} +2 -2
  114. package/dist/{Radio-C2BJqWlV.js.map → Radio-C1VnatcL.js.map} +1 -1
  115. package/dist/Radio.js +1 -1
  116. package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-BpzUo8dB.js} +12 -17
  117. package/dist/RichTextEditor-BpzUo8dB.js.map +1 -0
  118. package/dist/RichTextEditor.js +1 -1
  119. package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-D9GJbJQu.js} +10 -24
  120. package/dist/SavedFiltersButton-D9GJbJQu.js.map +1 -0
  121. package/dist/SavedFiltersButton.js +1 -1
  122. package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
  123. package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
  124. package/dist/SegmentedControl.js +1 -1
  125. package/dist/{SelectCard-BwIbfore.js → SelectCard-DrmMU_GD.js} +3 -3
  126. package/dist/{SelectCard-BwIbfore.js.map → SelectCard-DrmMU_GD.js.map} +1 -1
  127. package/dist/SelectCard.js +1 -1
  128. package/dist/SelectField.js +1 -1
  129. package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BxsKvfqo.js} +2 -2
  130. package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BxsKvfqo.js.map} +1 -1
  131. package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-BN2ebLWT.js} +6 -6
  132. package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-BN2ebLWT.js.map} +1 -1
  133. package/dist/SelectMenu.js +1 -1
  134. package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-DuPf8KCc.js} +5 -5
  135. package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-DuPf8KCc.js.map} +1 -1
  136. package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-BK7kNjYM.js} +2 -2
  137. package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-BK7kNjYM.js.map} +1 -1
  138. package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B5h-aqhl.js} +2 -2
  139. package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B5h-aqhl.js.map} +1 -1
  140. package/dist/SelectTrigger.js +1 -1
  141. package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-SML2Mlt-.js} +4 -4
  142. package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-SML2Mlt-.js.map} +1 -1
  143. package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
  144. package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
  145. package/dist/Stepper.js +1 -1
  146. package/dist/{Switch-DWq4QI8M.js → Switch-1iNdXTik.js} +2 -2
  147. package/dist/{Switch-DWq4QI8M.js.map → Switch-1iNdXTik.js.map} +1 -1
  148. package/dist/Switch.js +1 -1
  149. package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
  150. package/dist/Tab-DR5YYXkq.js.map +1 -0
  151. package/dist/Tab.js +1 -1
  152. package/dist/Table.js +1 -1
  153. package/dist/{Text-dONmlARH.js → Text-rihxXHSe.js} +2 -2
  154. package/dist/{Text-dONmlARH.js.map → Text-rihxXHSe.js.map} +1 -1
  155. package/dist/Text.js +1 -1
  156. package/dist/{TextField-CtXjbtqa.js → TextField-Bxd-Qzoi.js} +2 -2
  157. package/dist/{TextField-CtXjbtqa.js.map → TextField-Bxd-Qzoi.js.map} +1 -1
  158. package/dist/{TextField-CQ7e3mC4.js → TextField-vuS7xeo-.js} +3 -3
  159. package/dist/{TextField-CQ7e3mC4.js.map → TextField-vuS7xeo-.js.map} +1 -1
  160. package/dist/TextField.js +1 -1
  161. package/dist/{Textarea-DGVHQktZ.js → Textarea-ppapJUwh.js} +3 -3
  162. package/dist/{Textarea-DGVHQktZ.js.map → Textarea-ppapJUwh.js.map} +1 -1
  163. package/dist/Textarea.js +1 -1
  164. package/dist/{TimeField-AttXPsQw.js → TimeField-Hwt_oRbg.js} +4 -4
  165. package/dist/{TimeField-AttXPsQw.js.map → TimeField-Hwt_oRbg.js.map} +1 -1
  166. package/dist/TimeField.js +1 -1
  167. package/dist/Toast.js +2 -2
  168. package/dist/{Toaster-CNtAl-tF.js → Toaster-BryQmKe1.js} +4 -4
  169. package/dist/{Toaster-CNtAl-tF.js.map → Toaster-BryQmKe1.js.map} +1 -1
  170. package/dist/{Toaster-DYO8NLTo.js → Toaster-BtP_HezK.js} +2 -2
  171. package/dist/{Toaster-DYO8NLTo.js.map → Toaster-BtP_HezK.js.map} +1 -1
  172. package/dist/{Toolbar-BIbbaCxh.js → Toolbar-CMulzswf.js} +5 -5
  173. package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-CMulzswf.js.map} +1 -1
  174. package/dist/{Toolbar-B_lHD0c2.js → Toolbar-DGHZpFi9.js} +11 -105
  175. package/dist/Toolbar-DGHZpFi9.js.map +1 -0
  176. package/dist/Toolbar.js +2 -2
  177. package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
  178. package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
  179. package/dist/TreeSelectField.js +1 -1
  180. package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-C0mXwYZL.js} +7 -7
  181. package/dist/TreeSelectFieldSync-C0mXwYZL.js.map +1 -0
  182. package/dist/TreeSelectMenu.js +1 -1
  183. package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D2TvKxP-.js} +4 -4
  184. package/dist/TreeSelectMenuSync-D2TvKxP-.js.map +1 -0
  185. package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-DgazozK7.js} +10 -19
  186. package/dist/TypeaheadTextField-DgazozK7.js.map +1 -0
  187. package/dist/TypeaheadTextField.js +1 -1
  188. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-Bc8a33D5.js} +2 -2
  189. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-Bc8a33D5.js.map} +1 -1
  190. package/dist/beta.js +18 -18
  191. package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-D5y3Acn1.js} +2 -2
  192. package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-D5y3Acn1.js.map} +1 -1
  193. package/dist/{filter-state-DW8YmRHb.js → filter-state-Do862BNr.js} +55 -37
  194. package/dist/filter-state-Do862BNr.js.map +1 -0
  195. package/dist/{index-Cw2HFh0a.js → index-Dt0zG4YB.js} +2 -2
  196. package/dist/{index-Cw2HFh0a.js.map → index-Dt0zG4YB.js.map} +1 -1
  197. package/dist/index.js +49 -49
  198. package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
  199. package/dist/react-ORV84FjM.js.map +1 -0
  200. package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
  201. package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
  202. package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
  203. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
  204. package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
  205. package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
  206. package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
  207. package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
  208. package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
  209. package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
  210. package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
  211. package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
  212. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
  213. package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
  214. package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
  215. package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
  216. package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
  217. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
  218. package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
  219. package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
  220. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
  221. package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
  222. package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
  223. package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
  224. package/dist/src/beta/components/Page/Page.d.ts +8 -166
  225. package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
  226. package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
  227. package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
  228. package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
  229. package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
  230. package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
  231. package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
  232. package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
  233. package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
  234. package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
  235. package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
  236. package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
  237. package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
  238. package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
  239. package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
  240. package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
  241. package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  242. package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
  243. package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
  244. package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
  245. package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
  246. package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
  247. package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
  248. package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
  249. package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
  250. package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
  251. package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
  252. package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
  253. package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
  254. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
  255. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
  256. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
  257. package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
  258. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
  259. package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
  260. package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
  261. package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
  262. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
  263. package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
  264. package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
  265. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
  266. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
  267. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
  268. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
  269. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
  270. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
  271. package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
  272. package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
  273. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
  274. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
  275. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
  276. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
  277. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
  278. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
  279. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
  280. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
  281. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
  282. package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
  283. package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
  284. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
  285. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
  286. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
  287. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
  288. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
  289. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
  290. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
  291. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
  292. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
  293. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
  294. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
  295. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
  296. package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
  297. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
  298. package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
  299. package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
  300. package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
  301. package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
  302. package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
  303. package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
  304. package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
  305. package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
  306. package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
  307. package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
  308. package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
  309. package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
  310. package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
  311. package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
  312. package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
  313. package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
  314. package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
  315. package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
  316. package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
  317. package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
  318. package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
  319. package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
  320. package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
  321. package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
  322. package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
  323. package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
  324. package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
  325. package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
  326. package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
  327. package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
  328. package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
  329. package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
  330. package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
  331. package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
  332. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
  333. package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
  334. package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
  335. package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
  336. package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
  337. package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
  338. package/dist/src/beta/components/Table/types.d.ts +183 -462
  339. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
  340. package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
  341. package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
  342. package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
  343. package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
  344. package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
  345. package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
  346. package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
  347. package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
  348. package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
  349. package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
  350. package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
  351. package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
  352. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
  353. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
  354. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
  355. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
  356. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
  357. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
  358. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
  359. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
  360. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
  361. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
  362. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
  363. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
  364. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
  365. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
  366. package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
  367. package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
  368. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
  369. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
  370. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
  371. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
  372. package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
  373. package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
  374. package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
  375. package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
  376. package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-BhYLEiXu.js} +2 -2
  377. package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-BhYLEiXu.js.map} +1 -1
  378. package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ClEj4Oeg.js} +4 -4
  379. package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ClEj4Oeg.js.map} +1 -1
  380. package/dist/{treeSync-CDrgjuw8.js → treeSync-B38r1dRQ.js} +5 -11
  381. package/dist/treeSync-B38r1dRQ.js.map +1 -0
  382. package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
  383. package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
  384. package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-BOeeNUsy.js} +4 -4
  385. package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-BOeeNUsy.js.map} +1 -1
  386. package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-7oIT2Mzn.js} +4 -4
  387. package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-7oIT2Mzn.js.map} +1 -1
  388. package/dist/{useInitialFocus-0TZ78bPz.js → useInitialFocus-CGybEc6x.js} +2 -2
  389. package/dist/{useInitialFocus-0TZ78bPz.js.map → useInitialFocus-CGybEc6x.js.map} +1 -1
  390. package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-BD2VBpbK.js} +5 -5
  391. package/dist/useInvalidateOnOptionsChange-BD2VBpbK.js.map +1 -0
  392. package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
  393. package/dist/{usePopoverTransitionStates-B1opfxxn.js.map → usePopoverTransitionStates-CDXCdyKa.js.map} +1 -1
  394. package/package.json +6 -4
  395. package/dist/Button-Dwh_Nd4l.js.map +0 -1
  396. package/dist/Calendar-BUFPc5UN.js.map +0 -1
  397. package/dist/Calendar-CEf7ke8X.js.map +0 -1
  398. package/dist/DataTable-DbuXfDNJ.js.map +0 -1
  399. package/dist/Details-oM-nR4ju.js.map +0 -1
  400. package/dist/FilterBar-CKYf-1oU.js.map +0 -1
  401. package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
  402. package/dist/Page-B2HZzNGP.js.map +0 -1
  403. package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
  404. package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
  405. package/dist/Tab-mXEQ0ifM.js.map +0 -1
  406. package/dist/Toolbar-B_lHD0c2.js.map +0 -1
  407. package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
  408. package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
  409. package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
  410. package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
  411. package/dist/filter-state-DW8YmRHb.js.map +0 -1
  412. package/dist/proxy-DEehATlA.js.map +0 -1
  413. package/dist/treeSync-CDrgjuw8.js.map +0 -1
  414. package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
  415. package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-Dwh_Nd4l.js","sources":["../../../node_modules/.pnpm/motion-utils@12.23.6/node_modules/motion-utils/dist/es/wrap.mjs","../../../node_modules/.pnpm/motion-utils@12.23.6/node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs","../../../node_modules/.pnpm/motion-dom@12.23.12/node_modules/motion-dom/dist/es/animation/GroupAnimation.mjs","../../../node_modules/.pnpm/motion-dom@12.23.12/node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs","../../../node_modules/.pnpm/motion-dom@12.23.12/node_modules/motion-dom/dist/es/utils/transform.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-motion-value.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-combine-values.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-computed.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-transform.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/sequence/create.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/object/ObjectVisualElement.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/utils/create-visual-element.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/animate/subject.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs","../../../node_modules/.pnpm/framer-motion@12.23.12_@emotion+is-prop-valid@1.4.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/animation/animate/index.mjs","../src/internal/flubber/parse.ts","../src/internal/flubber/bezier.ts","../src/internal/flubber/a2c.ts","../src/internal/flubber/arc.ts","../src/internal/flubber/linear.ts","../src/internal/flubber/path-properties.ts","../src/internal/flubber/errors.ts","../src/internal/flubber/svg.ts","../src/internal/flubber/math.ts","../src/internal/flubber/add.ts","../src/internal/flubber/normalize.ts","../src/internal/flubber/rotate.ts","../src/internal/flubber/interpolate.ts","../src/components/AiMark/internal/AiMarkIconAnimated.tsx","../public/assets/icons/st/ai_chat.svg","../public/assets/icons/st/ai_edit.svg","../public/assets/icons/st/ai_form.svg","../public/assets/icons/st/ai_mic.svg","../public/assets/icons/st/ai_search.svg","../src/components/Button/internal/buttonAiMarkUtils.ts","../src/components/Button/Button.tsx"],"sourcesContent":["const wrap = (min, max, v) => {\n const rangeSize = max - min;\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\n};\n\nexport { wrap };\n","import { wrap } from '../../wrap.mjs';\nimport { isEasingArray } from './is-easing-array.mjs';\n\nfunction getEasingForSegment(easing, i) {\n return isEasingArray(easing) ? easing[wrap(0, easing.length, i)] : easing;\n}\n\nexport { getEasingForSegment };\n","class GroupAnimation {\n constructor(animations) {\n // Bound to accomadate common `return animation.stop` pattern\n this.stop = () => this.runAll(\"stop\");\n this.animations = animations.filter(Boolean);\n }\n get finished() {\n return Promise.all(this.animations.map((animation) => animation.finished));\n }\n /**\n * TODO: Filter out cancelled or stopped animations before returning\n */\n getAll(propName) {\n return this.animations[0][propName];\n }\n setAll(propName, newValue) {\n for (let i = 0; i < this.animations.length; i++) {\n this.animations[i][propName] = newValue;\n }\n }\n attachTimeline(timeline) {\n const subscriptions = this.animations.map((animation) => animation.attachTimeline(timeline));\n return () => {\n subscriptions.forEach((cancel, i) => {\n cancel && cancel();\n this.animations[i].stop();\n });\n };\n }\n get time() {\n return this.getAll(\"time\");\n }\n set time(time) {\n this.setAll(\"time\", time);\n }\n get speed() {\n return this.getAll(\"speed\");\n }\n set speed(speed) {\n this.setAll(\"speed\", speed);\n }\n get state() {\n return this.getAll(\"state\");\n }\n get startTime() {\n return this.getAll(\"startTime\");\n }\n get duration() {\n let max = 0;\n for (let i = 0; i < this.animations.length; i++) {\n max = Math.max(max, this.animations[i].duration);\n }\n return max;\n }\n runAll(methodName) {\n this.animations.forEach((controls) => controls[methodName]());\n }\n play() {\n this.runAll(\"play\");\n }\n pause() {\n this.runAll(\"pause\");\n }\n cancel() {\n this.runAll(\"cancel\");\n }\n complete() {\n this.runAll(\"complete\");\n }\n}\n\nexport { GroupAnimation };\n","import { GroupAnimation } from './GroupAnimation.mjs';\n\nclass GroupAnimationWithThen extends GroupAnimation {\n then(onResolve, _onReject) {\n return this.finished.finally(onResolve).then(() => { });\n }\n}\n\nexport { GroupAnimationWithThen };\n","import { interpolate } from './interpolate.mjs';\n\nfunction transform(...args) {\n const useImmediate = !Array.isArray(args[0]);\n const argOffset = useImmediate ? 0 : -1;\n const inputValue = args[0 + argOffset];\n const inputRange = args[1 + argOffset];\n const outputRange = args[2 + argOffset];\n const options = args[3 + argOffset];\n const interpolator = interpolate(inputRange, outputRange, options);\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };\n","import { motionValue } from 'motion-dom';\nimport { useContext, useState, useEffect } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\n\n/**\n * Creates a `MotionValue` to track the state and velocity of a value.\n *\n * Usually, these are created automatically. For advanced use-cases, like use with `useTransform`, you can create `MotionValue`s externally and pass them into the animated component via the `style` prop.\n *\n * ```jsx\n * export const MyComponent = () => {\n * const scale = useMotionValue(1)\n *\n * return <motion.div style={{ scale }} />\n * }\n * ```\n *\n * @param initial - The initial state.\n *\n * @public\n */\nfunction useMotionValue(initial) {\n const value = useConstant(() => motionValue(initial));\n /**\n * If this motion value is being used in static mode, like on\n * the Framer canvas, force components to rerender when the motion\n * value is updated.\n */\n const { isStatic } = useContext(MotionConfigContext);\n if (isStatic) {\n const [, setLatest] = useState(initial);\n useEffect(() => value.on(\"change\", setLatest), []);\n }\n return value;\n}\n\nexport { useMotionValue };\n","import { cancelFrame, frame } from 'motion-dom';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { useMotionValue } from './use-motion-value.mjs';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n const value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n const updateValue = () => value.set(combineValues());\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n useIsomorphicLayoutEffect(() => {\n const scheduleUpdate = () => frame.preRender(updateValue, false, true);\n const subscriptions = values.map((v) => v.on(\"change\", scheduleUpdate));\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n cancelFrame(updateValue);\n };\n });\n return value;\n}\n\nexport { useCombineMotionValues };\n","import { collectMotionValues } from 'motion-dom';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\n\nfunction useComputed(compute) {\n /**\n * Open session of collectMotionValues. Any MotionValue that calls get()\n * will be saved into this array.\n */\n collectMotionValues.current = [];\n compute();\n const value = useCombineMotionValues(collectMotionValues.current, compute);\n /**\n * Synchronously close session of collectMotionValues.\n */\n collectMotionValues.current = undefined;\n return value;\n}\n\nexport { useComputed };\n","import { transform } from 'motion-dom';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\nimport { useComputed } from './use-computed.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRange, options) {\n if (typeof input === \"function\") {\n return useComputed(input);\n }\n const transformer = typeof inputRangeOrTransformer === \"function\"\n ? inputRangeOrTransformer\n : transform(inputRangeOrTransformer, outputRange, options);\n return Array.isArray(input)\n ? useListTransform(input, transformer)\n : useListTransform([input], ([latest]) => transformer(latest));\n}\nfunction useListTransform(values, transformer) {\n const latest = useConstant(() => []);\n return useCombineMotionValues(values, () => {\n latest.length = 0;\n const numValues = values.length;\n for (let i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n return transformer(latest);\n });\n}\n\nexport { useTransform };\n","function isDOMKeyframes(keyframes) {\n return typeof keyframes === \"object\" && !Array.isArray(keyframes);\n}\n\nexport { isDOMKeyframes };\n","import { resolveElements } from 'motion-dom';\nimport { isDOMKeyframes } from '../utils/is-dom-keyframes.mjs';\n\nfunction resolveSubjects(subject, keyframes, scope, selectorCache) {\n if (typeof subject === \"string\" && isDOMKeyframes(keyframes)) {\n return resolveElements(subject, scope, selectorCache);\n }\n else if (subject instanceof NodeList) {\n return Array.from(subject);\n }\n else if (Array.isArray(subject)) {\n return subject;\n }\n else {\n return [subject];\n }\n}\n\nexport { resolveSubjects };\n","function calculateRepeatDuration(duration, repeat, _repeatDelay) {\n return duration * (repeat + 1);\n}\n\nexport { calculateRepeatDuration };\n","/**\n * Given a absolute or relative time definition and current/prev time state of the sequence,\n * calculate an absolute time for the next keyframes.\n */\nfunction calcNextTime(current, next, prev, labels) {\n if (typeof next === \"number\") {\n return next;\n }\n else if (next.startsWith(\"-\") || next.startsWith(\"+\")) {\n return Math.max(0, current + parseFloat(next));\n }\n else if (next === \"<\") {\n return prev;\n }\n else if (next.startsWith(\"<\")) {\n return Math.max(0, prev + parseFloat(next.slice(1)));\n }\n else {\n return labels.get(next) ?? current;\n }\n}\n\nexport { calcNextTime };\n","import { mixNumber } from 'motion-dom';\nimport { getEasingForSegment, removeItem } from 'motion-utils';\n\nfunction eraseKeyframes(sequence, startTime, endTime) {\n for (let i = 0; i < sequence.length; i++) {\n const keyframe = sequence[i];\n if (keyframe.at > startTime && keyframe.at < endTime) {\n removeItem(sequence, keyframe);\n // If we remove this item we have to push the pointer back one\n i--;\n }\n }\n}\nfunction addKeyframes(sequence, keyframes, easing, offset, startTime, endTime) {\n /**\n * Erase every existing value between currentTime and targetTime,\n * this will essentially splice this timeline into any currently\n * defined ones.\n */\n eraseKeyframes(sequence, startTime, endTime);\n for (let i = 0; i < keyframes.length; i++) {\n sequence.push({\n value: keyframes[i],\n at: mixNumber(startTime, endTime, offset[i]),\n easing: getEasingForSegment(easing, i),\n });\n }\n}\n\nexport { addKeyframes, eraseKeyframes };\n","/**\n * Take an array of times that represent repeated keyframes. For instance\n * if we have original times of [0, 0.5, 1] then our repeated times will\n * be [0, 0.5, 1, 1, 1.5, 2]. Loop over the times and scale them back\n * down to a 0-1 scale.\n */\nfunction normalizeTimes(times, repeat) {\n for (let i = 0; i < times.length; i++) {\n times[i] = times[i] / (repeat + 1);\n }\n}\n\nexport { normalizeTimes };\n","function compareByTime(a, b) {\n if (a.at === b.at) {\n if (a.value === null)\n return 1;\n if (b.value === null)\n return -1;\n return 0;\n }\n else {\n return a.at - b.at;\n }\n}\n\nexport { compareByTime };\n","import { isMotionValue, defaultOffset, isGenerator, createGeneratorEasing, fillOffset } from 'motion-dom';\nimport { progress, secondsToMilliseconds, invariant, getEasingForSegment } from 'motion-utils';\nimport { resolveSubjects } from '../animate/resolve-subjects.mjs';\nimport { calculateRepeatDuration } from './utils/calc-repeat-duration.mjs';\nimport { calcNextTime } from './utils/calc-time.mjs';\nimport { addKeyframes } from './utils/edit.mjs';\nimport { normalizeTimes } from './utils/normalize-times.mjs';\nimport { compareByTime } from './utils/sort.mjs';\n\nconst defaultSegmentEasing = \"easeInOut\";\nconst MAX_REPEAT = 20;\nfunction createAnimationsFromSequence(sequence, { defaultTransition = {}, ...sequenceTransition } = {}, scope, generators) {\n const defaultDuration = defaultTransition.duration || 0.3;\n const animationDefinitions = new Map();\n const sequences = new Map();\n const elementCache = {};\n const timeLabels = new Map();\n let prevTime = 0;\n let currentTime = 0;\n let totalDuration = 0;\n /**\n * Build the timeline by mapping over the sequence array and converting\n * the definitions into keyframes and offsets with absolute time values.\n * These will later get converted into relative offsets in a second pass.\n */\n for (let i = 0; i < sequence.length; i++) {\n const segment = sequence[i];\n /**\n * If this is a timeline label, mark it and skip the rest of this iteration.\n */\n if (typeof segment === \"string\") {\n timeLabels.set(segment, currentTime);\n continue;\n }\n else if (!Array.isArray(segment)) {\n timeLabels.set(segment.name, calcNextTime(currentTime, segment.at, prevTime, timeLabels));\n continue;\n }\n let [subject, keyframes, transition = {}] = segment;\n /**\n * If a relative or absolute time value has been specified we need to resolve\n * it in relation to the currentTime.\n */\n if (transition.at !== undefined) {\n currentTime = calcNextTime(currentTime, transition.at, prevTime, timeLabels);\n }\n /**\n * Keep track of the maximum duration in this definition. This will be\n * applied to currentTime once the definition has been parsed.\n */\n let maxDuration = 0;\n const resolveValueSequence = (valueKeyframes, valueTransition, valueSequence, elementIndex = 0, numSubjects = 0) => {\n const valueKeyframesAsList = keyframesAsList(valueKeyframes);\n const { delay = 0, times = defaultOffset(valueKeyframesAsList), type = \"keyframes\", repeat, repeatType, repeatDelay = 0, ...remainingTransition } = valueTransition;\n let { ease = defaultTransition.ease || \"easeOut\", duration } = valueTransition;\n /**\n * Resolve stagger() if defined.\n */\n const calculatedDelay = typeof delay === \"function\"\n ? delay(elementIndex, numSubjects)\n : delay;\n /**\n * If this animation should and can use a spring, generate a spring easing function.\n */\n const numKeyframes = valueKeyframesAsList.length;\n const createGenerator = isGenerator(type)\n ? type\n : generators?.[type || \"keyframes\"];\n if (numKeyframes <= 2 && createGenerator) {\n /**\n * As we're creating an easing function from a spring,\n * ideally we want to generate it using the real distance\n * between the two keyframes. However this isn't always\n * possible - in these situations we use 0-100.\n */\n let absoluteDelta = 100;\n if (numKeyframes === 2 &&\n isNumberKeyframesArray(valueKeyframesAsList)) {\n const delta = valueKeyframesAsList[1] - valueKeyframesAsList[0];\n absoluteDelta = Math.abs(delta);\n }\n const springTransition = { ...remainingTransition };\n if (duration !== undefined) {\n springTransition.duration = secondsToMilliseconds(duration);\n }\n const springEasing = createGeneratorEasing(springTransition, absoluteDelta, createGenerator);\n ease = springEasing.ease;\n duration = springEasing.duration;\n }\n duration ?? (duration = defaultDuration);\n const startTime = currentTime + calculatedDelay;\n /**\n * If there's only one time offset of 0, fill in a second with length 1\n */\n if (times.length === 1 && times[0] === 0) {\n times[1] = 1;\n }\n /**\n * Fill out if offset if fewer offsets than keyframes\n */\n const remainder = times.length - valueKeyframesAsList.length;\n remainder > 0 && fillOffset(times, remainder);\n /**\n * If only one value has been set, ie [1], push a null to the start of\n * the keyframe array. This will let us mark a keyframe at this point\n * that will later be hydrated with the previous value.\n */\n valueKeyframesAsList.length === 1 &&\n valueKeyframesAsList.unshift(null);\n /**\n * Handle repeat options\n */\n if (repeat) {\n invariant(repeat < MAX_REPEAT, \"Repeat count too high, must be less than 20\", \"repeat-count-high\");\n duration = calculateRepeatDuration(duration, repeat);\n const originalKeyframes = [...valueKeyframesAsList];\n const originalTimes = [...times];\n ease = Array.isArray(ease) ? [...ease] : [ease];\n const originalEase = [...ease];\n for (let repeatIndex = 0; repeatIndex < repeat; repeatIndex++) {\n valueKeyframesAsList.push(...originalKeyframes);\n for (let keyframeIndex = 0; keyframeIndex < originalKeyframes.length; keyframeIndex++) {\n times.push(originalTimes[keyframeIndex] + (repeatIndex + 1));\n ease.push(keyframeIndex === 0\n ? \"linear\"\n : getEasingForSegment(originalEase, keyframeIndex - 1));\n }\n }\n normalizeTimes(times, repeat);\n }\n const targetTime = startTime + duration;\n /**\n * Add keyframes, mapping offsets to absolute time.\n */\n addKeyframes(valueSequence, valueKeyframesAsList, ease, times, startTime, targetTime);\n maxDuration = Math.max(calculatedDelay + duration, maxDuration);\n totalDuration = Math.max(targetTime, totalDuration);\n };\n if (isMotionValue(subject)) {\n const subjectSequence = getSubjectSequence(subject, sequences);\n resolveValueSequence(keyframes, transition, getValueSequence(\"default\", subjectSequence));\n }\n else {\n const subjects = resolveSubjects(subject, keyframes, scope, elementCache);\n const numSubjects = subjects.length;\n /**\n * For every element in this segment, process the defined values.\n */\n for (let subjectIndex = 0; subjectIndex < numSubjects; subjectIndex++) {\n /**\n * Cast necessary, but we know these are of this type\n */\n keyframes = keyframes;\n transition = transition;\n const thisSubject = subjects[subjectIndex];\n const subjectSequence = getSubjectSequence(thisSubject, sequences);\n for (const key in keyframes) {\n resolveValueSequence(keyframes[key], getValueTransition(transition, key), getValueSequence(key, subjectSequence), subjectIndex, numSubjects);\n }\n }\n }\n prevTime = currentTime;\n currentTime += maxDuration;\n }\n /**\n * For every element and value combination create a new animation.\n */\n sequences.forEach((valueSequences, element) => {\n for (const key in valueSequences) {\n const valueSequence = valueSequences[key];\n /**\n * Arrange all the keyframes in ascending time order.\n */\n valueSequence.sort(compareByTime);\n const keyframes = [];\n const valueOffset = [];\n const valueEasing = [];\n /**\n * For each keyframe, translate absolute times into\n * relative offsets based on the total duration of the timeline.\n */\n for (let i = 0; i < valueSequence.length; i++) {\n const { at, value, easing } = valueSequence[i];\n keyframes.push(value);\n valueOffset.push(progress(0, totalDuration, at));\n valueEasing.push(easing || \"easeOut\");\n }\n /**\n * If the first keyframe doesn't land on offset: 0\n * provide one by duplicating the initial keyframe. This ensures\n * it snaps to the first keyframe when the animation starts.\n */\n if (valueOffset[0] !== 0) {\n valueOffset.unshift(0);\n keyframes.unshift(keyframes[0]);\n valueEasing.unshift(defaultSegmentEasing);\n }\n /**\n * If the last keyframe doesn't land on offset: 1\n * provide one with a null wildcard value. This will ensure it\n * stays static until the end of the animation.\n */\n if (valueOffset[valueOffset.length - 1] !== 1) {\n valueOffset.push(1);\n keyframes.push(null);\n }\n if (!animationDefinitions.has(element)) {\n animationDefinitions.set(element, {\n keyframes: {},\n transition: {},\n });\n }\n const definition = animationDefinitions.get(element);\n definition.keyframes[key] = keyframes;\n definition.transition[key] = {\n ...defaultTransition,\n duration: totalDuration,\n ease: valueEasing,\n times: valueOffset,\n ...sequenceTransition,\n };\n }\n });\n return animationDefinitions;\n}\nfunction getSubjectSequence(subject, sequences) {\n !sequences.has(subject) && sequences.set(subject, {});\n return sequences.get(subject);\n}\nfunction getValueSequence(name, sequences) {\n if (!sequences[name])\n sequences[name] = [];\n return sequences[name];\n}\nfunction keyframesAsList(keyframes) {\n return Array.isArray(keyframes) ? keyframes : [keyframes];\n}\nfunction getValueTransition(transition, key) {\n return transition && transition[key]\n ? {\n ...transition,\n ...transition[key],\n }\n : { ...transition };\n}\nconst isNumber = (keyframe) => typeof keyframe === \"number\";\nconst isNumberKeyframesArray = (keyframes) => keyframes.every(isNumber);\n\nexport { createAnimationsFromSequence, getValueTransition };\n","import { createBox } from '../../projection/geometry/models.mjs';\nimport { VisualElement } from '../VisualElement.mjs';\n\nfunction isObjectKey(key, object) {\n return key in object;\n}\nclass ObjectVisualElement extends VisualElement {\n constructor() {\n super(...arguments);\n this.type = \"object\";\n }\n readValueFromInstance(instance, key) {\n if (isObjectKey(key, instance)) {\n const value = instance[key];\n if (typeof value === \"string\" || typeof value === \"number\") {\n return value;\n }\n }\n return undefined;\n }\n getBaseTargetFromProps() {\n return undefined;\n }\n removeValueFromRenderState(key, renderState) {\n delete renderState.output[key];\n }\n measureInstanceViewportBox() {\n return createBox();\n }\n build(renderState, latestValues) {\n Object.assign(renderState.output, latestValues);\n }\n renderInstance(instance, { output }) {\n Object.assign(instance, output);\n }\n sortInstanceNodePosition() {\n return 0;\n }\n}\n\nexport { ObjectVisualElement };\n","import { isSVGElement, isSVGSVGElement } from 'motion-dom';\nimport { HTMLVisualElement } from '../../render/html/HTMLVisualElement.mjs';\nimport { ObjectVisualElement } from '../../render/object/ObjectVisualElement.mjs';\nimport { visualElementStore } from '../../render/store.mjs';\nimport { SVGVisualElement } from '../../render/svg/SVGVisualElement.mjs';\n\nfunction createDOMVisualElement(element) {\n const options = {\n presenceContext: null,\n props: {},\n visualState: {\n renderState: {\n transform: {},\n transformOrigin: {},\n style: {},\n vars: {},\n attrs: {},\n },\n latestValues: {},\n },\n };\n const node = isSVGElement(element) && !isSVGSVGElement(element)\n ? new SVGVisualElement(options)\n : new HTMLVisualElement(options);\n node.mount(element);\n visualElementStore.set(element, node);\n}\nfunction createObjectVisualElement(subject) {\n const options = {\n presenceContext: null,\n props: {},\n visualState: {\n renderState: {\n output: {},\n },\n latestValues: {},\n },\n };\n const node = new ObjectVisualElement(options);\n node.mount(subject);\n visualElementStore.set(subject, node);\n}\n\nexport { createDOMVisualElement, createObjectVisualElement };\n","import { isMotionValue } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { visualElementStore } from '../../render/store.mjs';\nimport { animateTarget } from '../interfaces/visual-element-target.mjs';\nimport { createDOMVisualElement, createObjectVisualElement } from '../utils/create-visual-element.mjs';\nimport { isDOMKeyframes } from '../utils/is-dom-keyframes.mjs';\nimport { resolveSubjects } from './resolve-subjects.mjs';\nimport { animateSingleValue } from './single-value.mjs';\n\nfunction isSingleValue(subject, keyframes) {\n return (isMotionValue(subject) ||\n typeof subject === \"number\" ||\n (typeof subject === \"string\" && !isDOMKeyframes(keyframes)));\n}\n/**\n * Implementation\n */\nfunction animateSubject(subject, keyframes, options, scope) {\n const animations = [];\n if (isSingleValue(subject, keyframes)) {\n animations.push(animateSingleValue(subject, isDOMKeyframes(keyframes)\n ? keyframes.default || keyframes\n : keyframes, options ? options.default || options : options));\n }\n else {\n const subjects = resolveSubjects(subject, keyframes, scope);\n const numSubjects = subjects.length;\n invariant(Boolean(numSubjects), \"No valid elements provided.\", \"no-valid-elements\");\n for (let i = 0; i < numSubjects; i++) {\n const thisSubject = subjects[i];\n invariant(thisSubject !== null, \"You're trying to perform an animation on null. Ensure that selectors are correctly finding elements and refs are correctly hydrated.\", \"animate-null\");\n const createVisualElement = thisSubject instanceof Element\n ? createDOMVisualElement\n : createObjectVisualElement;\n if (!visualElementStore.has(thisSubject)) {\n createVisualElement(thisSubject);\n }\n const visualElement = visualElementStore.get(thisSubject);\n const transition = { ...options };\n /**\n * Resolve stagger function if provided.\n */\n if (\"delay\" in transition &&\n typeof transition.delay === \"function\") {\n transition.delay = transition.delay(i, numSubjects);\n }\n animations.push(...animateTarget(visualElement, { ...keyframes, transition }, {}));\n }\n }\n return animations;\n}\n\nexport { animateSubject };\n","import { spring } from 'motion-dom';\nimport { createAnimationsFromSequence } from '../sequence/create.mjs';\nimport { animateSubject } from './subject.mjs';\n\nfunction animateSequence(sequence, options, scope) {\n const animations = [];\n const animationDefinitions = createAnimationsFromSequence(sequence, options, scope, { spring });\n animationDefinitions.forEach(({ keyframes, transition }, subject) => {\n animations.push(...animateSubject(subject, keyframes, transition));\n });\n return animations;\n}\n\nexport { animateSequence };\n","import { GroupAnimationWithThen } from 'motion-dom';\nimport { removeItem } from 'motion-utils';\nimport { animateSequence } from './sequence.mjs';\nimport { animateSubject } from './subject.mjs';\n\nfunction isSequence(value) {\n return Array.isArray(value) && value.some(Array.isArray);\n}\n/**\n * Creates an animation function that is optionally scoped\n * to a specific element.\n */\nfunction createScopedAnimate(scope) {\n /**\n * Implementation\n */\n function scopedAnimate(subjectOrSequence, optionsOrKeyframes, options) {\n let animations = [];\n if (isSequence(subjectOrSequence)) {\n animations = animateSequence(subjectOrSequence, optionsOrKeyframes, scope);\n }\n else {\n animations = animateSubject(subjectOrSequence, optionsOrKeyframes, options, scope);\n }\n const animation = new GroupAnimationWithThen(animations);\n if (scope) {\n scope.animations.push(animation);\n animation.finished.then(() => {\n removeItem(scope.animations, animation);\n });\n }\n return animation;\n }\n return scopedAnimate;\n}\nconst animate = createScopedAnimate();\n\nexport { animate, createScopedAnimate };\n","// Vendored from svg-path-properties@0.2.2 via flubber@0.4.2 (MIT).\n\nconst NUMBER = /-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi;\nconst SEGMENT = /([astvzqmhlc])([^astvzqmhlc]*)/gi;\nconst LENGTH = {\n a: 7,\n c: 6,\n h: 1,\n l: 2,\n m: 2,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n z: 0,\n} as const;\n\ntype Command = keyof typeof LENGTH;\ntype ParsedSegment = [string, ...number[]];\n\nfunction parseValues(args: string) {\n const numbers = args.match(NUMBER);\n return numbers ? numbers.map(Number) : [];\n}\n\nexport default function parse(path: string): ParsedSegment[] {\n const data: ParsedSegment[] = [];\n\n path.replace(SEGMENT, (_, commandArg: string, argsArg: string) => {\n let command = commandArg;\n const args = parseValues(argsArg);\n let type = command.toLowerCase() as Command;\n\n if (type === \"m\" && args.length > 2) {\n data.push([command, ...args.splice(0, 2)]);\n type = \"l\";\n command = command === \"m\" ? \"l\" : \"L\";\n }\n\n const expectedLength = LENGTH[type];\n\n if (expectedLength === 0) {\n if (args.length > 0) {\n throw new Error(\"malformed path data\");\n }\n\n data.push([command]);\n return \"\";\n }\n\n while (args.length > 0) {\n if (args.length === expectedLength) {\n data.push([command, ...args]);\n return \"\";\n }\n\n if (args.length < expectedLength) {\n throw new Error(\"malformed path data\");\n }\n\n data.push([command, ...args.splice(0, expectedLength)]);\n }\n\n throw new Error(\"malformed path data\");\n });\n\n return data;\n}\n","// Vendored from svg-path-properties@0.2.2 via flubber@0.4.2 (MIT).\n\n// Abscissas and weights for 24-point Gauss-Legendre arc-length integration.\nconst T_VALUES = [\n -0.06405689286260562, 0.06405689286260562, -0.1911188674736163,\n 0.1911188674736163, -0.315042679696163, 0.315042679696163, -0.433793507626045,\n 0.433793507626045, -0.545421471388839, 0.545421471388839, -0.648093651936975,\n 0.648093651936975, -0.740124191578554, 0.740124191578554, -0.820001985973902,\n 0.820001985973902, -0.886415527004401, 0.886415527004401, -0.938274552002732,\n 0.938274552002732, -0.974728555971309, 0.974728555971309, -0.995187219997021,\n 0.995187219997021,\n] as const;\n\nconst C_VALUES = [\n 0.127938195346752, 0.127938195346752, 0.125837456346828, 0.125837456346828,\n 0.121670472927803, 0.121670472927803, 0.115505668053725, 0.115505668053725,\n 0.107444270115965, 0.107444270115965, 0.0976186521041138, 0.0976186521041138,\n 0.0861901615319532, 0.0861901615319532, 0.0733464814110803,\n 0.0733464814110803, 0.0592985849154367, 0.0592985849154367,\n 0.0442774388174198, 0.0442774388174198, 0.0285313886289336,\n 0.0285313886289336, 0.0123412297999871, 0.0123412297999871,\n] as const;\n\ntype Point = {\n x: number;\n y: number;\n};\n\ntype SegmentProperties = {\n x: number;\n y: number;\n tangentX: number;\n tangentY: number;\n};\n\ntype QuadraticPointTuple = [number, number, number];\ntype CubicPointTuple = [number, number, number, number];\ntype ArcLengthFn = (xs: number[], ys: number[], t?: number) => number;\ntype PointFn = (xs: number[], ys: number[], t: number) => Point;\n\ntype BezierDerivative = PointFn;\n\nfunction quadraticDerivative(\n xs: QuadraticPointTuple,\n ys: QuadraticPointTuple,\n t: number,\n): Point {\n return {\n x: (1 - t) * 2 * (xs[1] - xs[0]) + t * 2 * (xs[2] - xs[1]),\n y: (1 - t) * 2 * (ys[1] - ys[0]) + t * 2 * (ys[2] - ys[1]),\n };\n}\n\nfunction cubicDerivative(\n xs: CubicPointTuple,\n ys: CubicPointTuple,\n t: number,\n): Point {\n return quadraticPoint(\n [3 * (xs[1] - xs[0]), 3 * (xs[2] - xs[1]), 3 * (xs[3] - xs[2])],\n [3 * (ys[1] - ys[0]), 3 * (ys[2] - ys[1]), 3 * (ys[3] - ys[2])],\n t,\n );\n}\n\nfunction t2length(\n length: number,\n totalLength: number,\n func: ArcLengthFn,\n xs: number[],\n ys: number[],\n) {\n let error = 1;\n let t = length / totalLength;\n let step = (length - func(xs, ys, t)) / totalLength;\n\n while (error > 0.001) {\n const increasedTLength = func(xs, ys, t + step);\n const decreasedTLength = func(xs, ys, t - step);\n const increasedTError = Math.abs(length - increasedTLength) / totalLength;\n const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;\n\n if (increasedTError < error) {\n error = increasedTError;\n t += step;\n } else if (decreasedTError < error) {\n error = decreasedTError;\n t -= step;\n } else {\n step /= 2;\n }\n }\n\n return t;\n}\n\nfunction quadraticPoint(\n xs: QuadraticPointTuple,\n ys: QuadraticPointTuple,\n t: number,\n): Point {\n return {\n x: (1 - t) * (1 - t) * xs[0] + 2 * (1 - t) * t * xs[1] + t * t * xs[2],\n y: (1 - t) * (1 - t) * ys[0] + 2 * (1 - t) * t * ys[1] + t * t * ys[2],\n };\n}\n\nfunction cubicPoint(\n xs: CubicPointTuple,\n ys: CubicPointTuple,\n t: number,\n): Point {\n return {\n x:\n (1 - t) * (1 - t) * (1 - t) * xs[0] +\n 3 * (1 - t) * (1 - t) * t * xs[1] +\n 3 * (1 - t) * t * t * xs[2] +\n t * t * t * xs[3],\n y:\n (1 - t) * (1 - t) * (1 - t) * ys[0] +\n 3 * (1 - t) * (1 - t) * t * ys[1] +\n 3 * (1 - t) * t * t * ys[2] +\n t * t * t * ys[3],\n };\n}\n\nfunction getQuadraticArcLength(xs: number[], ys: number[], t = 1) {\n const ax = xs[0] - 2 * xs[1] + xs[2];\n const ay = ys[0] - 2 * ys[1] + ys[2];\n const bx = 2 * xs[1] - 2 * xs[0];\n const by = 2 * ys[1] - 2 * ys[0];\n const A = 4 * (ax * ax + ay * ay);\n const B = 4 * (ax * bx + ay * by);\n const C = bx * bx + by * by;\n\n if (A === 0) {\n return t * Math.sqrt((xs[2] - xs[0]) ** 2 + (ys[2] - ys[0]) ** 2);\n }\n\n const b = B / (2 * A);\n const c = C / A;\n const u = t + b;\n const k = c - b * b;\n\n return (\n (Math.sqrt(A) / 2) *\n (u * Math.sqrt(u * u + k) -\n b * Math.sqrt(b * b + k) +\n k *\n Math.log(\n Math.abs((u + Math.sqrt(u * u + k)) / (b + Math.sqrt(b * b + k))),\n ))\n );\n}\n\nfunction getCubicArcLength(xs: number[], ys: number[], t = 1) {\n const z = t / 2;\n let sum = 0;\n\n for (let index = 0; index < 20; index += 1) {\n const correctedT = z * T_VALUES[index] + z;\n const derivative = cubicDerivative(\n xs as CubicPointTuple,\n ys as CubicPointTuple,\n correctedT,\n );\n sum +=\n C_VALUES[index] *\n Math.sqrt(derivative.x * derivative.x + derivative.y * derivative.y);\n }\n\n return z * sum;\n}\n\nclass Bezier {\n readonly a: Point;\n\n readonly b: Point;\n\n readonly c: Point;\n\n readonly d: Point;\n\n private readonly getArcLength: ArcLengthFn;\n\n private readonly getPoint: PointFn;\n\n private readonly getDerivative: BezierDerivative;\n\n private length: number;\n\n constructor(\n ax: number,\n ay: number,\n bx: number,\n by: number,\n cx: number,\n cy: number,\n dx?: number,\n dy?: number,\n ) {\n this.a = { x: ax, y: ay };\n this.b = { x: bx, y: by };\n this.c = { x: cx, y: cy };\n this.d = { x: dx ?? 0, y: dy ?? 0 };\n\n if (dx !== null && dx !== undefined && dy !== null && dy !== undefined) {\n this.getArcLength = getCubicArcLength;\n this.getPoint = cubicPoint as PointFn;\n this.getDerivative = cubicDerivative as BezierDerivative;\n } else {\n this.getArcLength = getQuadraticArcLength;\n this.getPoint = quadraticPoint as PointFn;\n this.getDerivative = quadraticDerivative as BezierDerivative;\n }\n\n this.length = 0;\n this.init();\n }\n\n init() {\n this.length = this.getArcLength(\n [this.a.x, this.b.x, this.c.x, this.d.x],\n [this.a.y, this.b.y, this.c.y, this.d.y],\n );\n }\n\n getTotalLength() {\n return this.length;\n }\n\n getPointAtLength(length: number): Point {\n const t = t2length(\n length,\n this.length,\n this.getArcLength,\n [this.a.x, this.b.x, this.c.x, this.d.x],\n [this.a.y, this.b.y, this.c.y, this.d.y],\n );\n\n return this.getPoint(\n [this.a.x, this.b.x, this.c.x, this.d.x],\n [this.a.y, this.b.y, this.c.y, this.d.y],\n t,\n );\n }\n\n getTangentAtLength(length: number): Point {\n const t = t2length(\n length,\n this.length,\n this.getArcLength,\n [this.a.x, this.b.x, this.c.x, this.d.x],\n [this.a.y, this.b.y, this.c.y, this.d.y],\n );\n const derivative = this.getDerivative(\n [this.a.x, this.b.x, this.c.x, this.d.x],\n [this.a.y, this.b.y, this.c.y, this.d.y],\n t,\n );\n const mdl = Math.sqrt(\n derivative.x * derivative.x + derivative.y * derivative.y,\n );\n return mdl > 0\n ? { x: derivative.x / mdl, y: derivative.y / mdl }\n : { x: 0, y: 0 };\n }\n\n getPropertiesAtLength(length: number): SegmentProperties {\n const tangent = this.getTangentAtLength(length);\n const point = this.getPointAtLength(length);\n return { x: point.x, y: point.y, tangentX: tangent.x, tangentY: tangent.y };\n }\n}\n\nexport default function createBezier(\n ax: number,\n ay: number,\n bx: number,\n by: number,\n cx: number,\n cy: number,\n dx?: number,\n dy?: number,\n) {\n return new Bezier(ax, ay, bx, by, cx, cy, dx, dy);\n}\n","// Vendored from svg-path-properties@0.2.2 and flubber@0.4.2 (MIT).\n\nconst TAU = Math.PI * 2;\n\ntype ArcCenter = [number, number, number, number];\ntype ArcCurve = [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\nfunction unitVectorAngle(ux: number, uy: number, vx: number, vy: number) {\n const sign = ux * vy - uy * vx < 0 ? -1 : 1;\n let dot = ux * vx + uy * vy;\n\n if (dot > 1.0) {\n dot = 1.0;\n }\n\n if (dot < -1.0) {\n dot = -1.0;\n }\n\n return sign * Math.acos(dot);\n}\n\nfunction getArcCenter(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n fa: number,\n fs: number,\n rx: number,\n ry: number,\n sinPhi: number,\n cosPhi: number,\n): ArcCenter {\n const x1p = (cosPhi * (x1 - x2)) / 2 + (sinPhi * (y1 - y2)) / 2;\n const y1p = (-sinPhi * (x1 - x2)) / 2 + (cosPhi * (y1 - y2)) / 2;\n\n const rxSq = rx * rx;\n const rySq = ry * ry;\n const x1pSq = x1p * x1p;\n const y1pSq = y1p * y1p;\n\n let radicant = rxSq * rySq - rxSq * y1pSq - rySq * x1pSq;\n\n if (radicant < 0) {\n radicant = 0;\n }\n\n radicant /= rxSq * y1pSq + rySq * x1pSq;\n radicant = Math.sqrt(radicant) * (fa === fs ? -1 : 1);\n\n const cxp = (radicant * rx * y1p) / ry;\n const cyp = (-radicant * ry * x1p) / rx;\n\n const cx = cosPhi * cxp - sinPhi * cyp + (x1 + x2) / 2;\n const cy = sinPhi * cxp + cosPhi * cyp + (y1 + y2) / 2;\n\n const v1x = (x1p - cxp) / rx;\n const v1y = (y1p - cyp) / ry;\n const v2x = (-x1p - cxp) / rx;\n const v2y = (-y1p - cyp) / ry;\n\n const theta1 = unitVectorAngle(1, 0, v1x, v1y);\n let deltaTheta = unitVectorAngle(v1x, v1y, v2x, v2y);\n\n if (fs === 0 && deltaTheta > 0) {\n deltaTheta -= TAU;\n }\n\n if (fs === 1 && deltaTheta < 0) {\n deltaTheta += TAU;\n }\n\n return [cx, cy, theta1, deltaTheta];\n}\n\nfunction approximateUnitArc(theta1: number, deltaTheta: number): ArcCurve {\n const alpha = (4 / 3) * Math.tan(deltaTheta / 4);\n\n const x1 = Math.cos(theta1);\n const y1 = Math.sin(theta1);\n const x2 = Math.cos(theta1 + deltaTheta);\n const y2 = Math.sin(theta1 + deltaTheta);\n\n return [\n x1,\n y1,\n x1 - y1 * alpha,\n y1 + x1 * alpha,\n x2 + y2 * alpha,\n y2 - x2 * alpha,\n x2,\n y2,\n ];\n}\n\nexport default function a2c(\n x1: number,\n y1: number,\n rx: number,\n ry: number,\n phi: number,\n fa: number,\n fs: number,\n x2: number,\n y2: number,\n): ArcCurve[] {\n const sinPhi = Math.sin((phi * TAU) / 360);\n const cosPhi = Math.cos((phi * TAU) / 360);\n\n const x1p = (cosPhi * (x1 - x2)) / 2 + (sinPhi * (y1 - y2)) / 2;\n const y1p = (-sinPhi * (x1 - x2)) / 2 + (cosPhi * (y1 - y2)) / 2;\n\n if (x1p === 0 && y1p === 0) {\n return [];\n }\n\n if (rx === 0 || ry === 0) {\n return [];\n }\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n const lambda = (x1p * x1p) / (rx * rx) + (y1p * y1p) / (ry * ry);\n\n // SVG scales radii that are too small to reach both endpoints.\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n\n const [cx, cy, initialTheta, initialDeltaTheta] = getArcCenter(\n x1,\n y1,\n x2,\n y2,\n fa,\n fs,\n rx,\n ry,\n sinPhi,\n cosPhi,\n );\n const result: ArcCurve[] = [];\n let theta1 = initialTheta;\n let deltaTheta = initialDeltaTheta;\n\n // Each cubic approximation covers at most a quarter turn.\n const segments = Math.max(Math.ceil(Math.abs(deltaTheta) / (TAU / 4)), 1);\n deltaTheta /= segments;\n\n for (let index = 0; index < segments; index += 1) {\n result.push(approximateUnitArc(theta1, deltaTheta));\n theta1 += deltaTheta;\n }\n\n return result.map((curve) => {\n for (let index = 0; index < curve.length; index += 2) {\n let x = curve[index];\n let y = curve[index + 1];\n\n x *= rx;\n y *= ry;\n\n const xp = cosPhi * x - sinPhi * y;\n const yp = sinPhi * x + cosPhi * y;\n\n curve[index] = xp + cx;\n curve[index + 1] = yp + cy;\n }\n\n return curve;\n });\n}\n","// Vendored from svg-path-properties@0.2.2 via flubber@0.4.2 (MIT).\n\nimport a2c from \"./a2c\";\nimport Bezier from \"./bezier\";\n\ntype Point = {\n x: number;\n y: number;\n};\n\ntype SegmentProperties = {\n x: number;\n y: number;\n tangentX: number;\n tangentY: number;\n};\n\ntype Curve = {\n getTotalLength(): number;\n getPointAtLength(length: number): Point;\n getTangentAtLength(length: number): Point;\n};\n\nclass Arc {\n private readonly length: number;\n\n private readonly partialLengths: number[];\n\n private readonly curves: Curve[];\n\n constructor(\n x0: number,\n y0: number,\n rx: number,\n ry: number,\n xAxisRotate: number,\n largeArcFlag: number,\n sweepFlag: number,\n x: number,\n y: number,\n ) {\n let length = 0;\n const partialLengths: number[] = [];\n const curves: Curve[] = [];\n const result = a2c(\n x0,\n y0,\n rx,\n ry,\n xAxisRotate,\n largeArcFlag,\n sweepFlag,\n x,\n y,\n );\n\n result.forEach((curveData) => {\n const curve = Bezier(\n curveData[0],\n curveData[1],\n curveData[2],\n curveData[3],\n curveData[4],\n curveData[5],\n curveData[6],\n curveData[7],\n );\n const curveLength = curve.getTotalLength();\n length += curveLength;\n partialLengths.push(curveLength);\n curves.push(curve);\n });\n\n this.length = length;\n this.partialLengths = partialLengths;\n this.curves = curves;\n }\n\n getTotalLength() {\n return this.length;\n }\n\n getPointAtLength(fractionLength: number): Point {\n if (fractionLength < 0) {\n fractionLength = 0;\n } else if (fractionLength > this.length) {\n fractionLength = this.length;\n }\n\n let index = this.partialLengths.length - 1;\n\n while (\n this.partialLengths[index] >= fractionLength &&\n this.partialLengths[index] > 0\n ) {\n index -= 1;\n }\n\n if (index < this.partialLengths.length - 1) {\n index += 1;\n }\n\n let lengthOffset = 0;\n\n for (let cursor = 0; cursor < index; cursor += 1) {\n lengthOffset += this.partialLengths[cursor];\n }\n\n return this.curves[index]!.getPointAtLength(fractionLength - lengthOffset);\n }\n\n getTangentAtLength(fractionLength: number): Point {\n if (fractionLength < 0) {\n fractionLength = 0;\n } else if (fractionLength > this.length) {\n fractionLength = this.length;\n }\n\n let index = this.partialLengths.length - 1;\n\n while (\n this.partialLengths[index] >= fractionLength &&\n this.partialLengths[index] > 0\n ) {\n index -= 1;\n }\n\n if (index < this.partialLengths.length - 1) {\n index += 1;\n }\n\n let lengthOffset = 0;\n\n for (let cursor = 0; cursor < index; cursor += 1) {\n lengthOffset += this.partialLengths[cursor];\n }\n\n return this.curves[index]!.getTangentAtLength(\n fractionLength - lengthOffset,\n );\n }\n\n getPropertiesAtLength(fractionLength: number): SegmentProperties {\n const tangent = this.getTangentAtLength(fractionLength);\n const point = this.getPointAtLength(fractionLength);\n\n return { x: point.x, y: point.y, tangentX: tangent.x, tangentY: tangent.y };\n }\n}\n\nexport default function createArc(\n x0: number,\n y0: number,\n rx: number,\n ry: number,\n xAxisRotate: number,\n largeArcFlag: number,\n sweepFlag: number,\n x: number,\n y: number,\n) {\n return new Arc(x0, y0, rx, ry, xAxisRotate, largeArcFlag, sweepFlag, x, y);\n}\n","// Vendored from svg-path-properties@0.2.2 via flubber@0.4.2 (MIT).\n\ntype Point = {\n x: number;\n y: number;\n};\n\ntype SegmentProperties = {\n x: number;\n y: number;\n tangentX: number;\n tangentY: number;\n};\n\nclass LinearPosition {\n readonly x0: number;\n\n readonly x1: number;\n\n readonly y0: number;\n\n readonly y1: number;\n\n constructor(x0: number, x1: number, y0: number, y1: number) {\n this.x0 = x0;\n this.x1 = x1;\n this.y0 = y0;\n this.y1 = y1;\n }\n\n getTotalLength() {\n return Math.sqrt((this.x0 - this.x1) ** 2 + (this.y0 - this.y1) ** 2);\n }\n\n getPointAtLength(pos: number): Point {\n const fraction =\n pos / Math.sqrt((this.x0 - this.x1) ** 2 + (this.y0 - this.y1) ** 2);\n const newDeltaX = (this.x1 - this.x0) * fraction;\n const newDeltaY = (this.y1 - this.y0) * fraction;\n\n return { x: this.x0 + newDeltaX, y: this.y0 + newDeltaY };\n }\n\n getTangentAtLength(): Point {\n const module = Math.sqrt(\n (this.x1 - this.x0) ** 2 + (this.y1 - this.y0) ** 2,\n );\n return { x: (this.x1 - this.x0) / module, y: (this.y1 - this.y0) / module };\n }\n\n getPropertiesAtLength(pos: number): SegmentProperties {\n const point = this.getPointAtLength(pos);\n const tangent = this.getTangentAtLength();\n\n return { x: point.x, y: point.y, tangentX: tangent.x, tangentY: tangent.y };\n }\n}\n\nexport default function createLinearPosition(\n x0: number,\n x1: number,\n y0: number,\n y1: number,\n) {\n return new LinearPosition(x0, x1, y0, y1);\n}\n","// Vendored from svg-path-properties@0.2.2 via flubber@0.4.2 (MIT).\n\nimport parse from \"./parse\";\nimport Bezier from \"./bezier\";\nimport Arc from \"./arc\";\nimport LinearPosition from \"./linear\";\n\ntype ParsedSegment = [string, ...number[]];\ntype Point = [number, number];\ntype PathPoint = {\n x: number;\n y: number;\n};\ntype PathProperties = {\n x: number;\n y: number;\n tangentX: number;\n tangentY: number;\n};\ntype PathMeasure =\n | ReturnType<typeof Bezier>\n | ReturnType<typeof Arc>\n | ReturnType<typeof LinearPosition>;\n\ntype SvgProperties = {\n (string: string): SvgProperties | null;\n getTotalLength(): number;\n getPointAtLength(length: number): PathPoint;\n getTangentAtLength(length: number): PathPoint;\n getPropertiesAtLength(length: number): PathProperties;\n};\n\nexport function svgPathProperties(svgString: string) {\n let length = 0;\n const partialLengths: number[] = [];\n const functions: Array<PathMeasure | null> = [];\n let previousCurve: ReturnType<typeof Bezier> | null = null;\n\n const svgProperties = function svgProperties(\n string: string,\n ): SvgProperties | null {\n if (!string) {\n return null;\n }\n\n const parsed = parse(string) as ParsedSegment[];\n let cur: Point = [0, 0];\n let prevPoint: Point = [0, 0];\n let curve: PathMeasure;\n let ringStart: Point = [0, 0];\n\n for (let i = 0; i < parsed.length; i += 1) {\n if (parsed[i][0] === \"M\") {\n cur = [parsed[i][1], parsed[i][2]];\n ringStart = [cur[0], cur[1]];\n previousCurve = null;\n functions.push(null);\n } else if (parsed[i][0] === \"m\") {\n cur = [parsed[i][1] + cur[0], parsed[i][2] + cur[1]];\n ringStart = [cur[0], cur[1]];\n previousCurve = null;\n functions.push(null);\n } else if (parsed[i][0] === \"L\") {\n length += Math.sqrt(\n (cur[0] - parsed[i][1]) ** 2 + (cur[1] - parsed[i][2]) ** 2,\n );\n functions.push(\n LinearPosition(cur[0], parsed[i][1], cur[1], parsed[i][2]),\n );\n cur = [parsed[i][1], parsed[i][2]];\n } else if (parsed[i][0] === \"l\") {\n length += Math.sqrt(parsed[i][1] ** 2 + parsed[i][2] ** 2);\n functions.push(\n LinearPosition(\n cur[0],\n parsed[i][1] + cur[0],\n cur[1],\n parsed[i][2] + cur[1],\n ),\n );\n cur = [parsed[i][1] + cur[0], parsed[i][2] + cur[1]];\n } else if (parsed[i][0] === \"H\") {\n length += Math.abs(cur[0] - parsed[i][1]);\n functions.push(LinearPosition(cur[0], parsed[i][1], cur[1], cur[1]));\n cur[0] = parsed[i][1];\n } else if (parsed[i][0] === \"h\") {\n length += Math.abs(parsed[i][1]);\n functions.push(\n LinearPosition(cur[0], cur[0] + parsed[i][1], cur[1], cur[1]),\n );\n cur[0] = parsed[i][1] + cur[0];\n } else if (parsed[i][0] === \"V\") {\n length += Math.abs(cur[1] - parsed[i][1]);\n functions.push(LinearPosition(cur[0], cur[0], cur[1], parsed[i][1]));\n cur[1] = parsed[i][1];\n } else if (parsed[i][0] === \"v\") {\n length += Math.abs(parsed[i][1]);\n functions.push(\n LinearPosition(cur[0], cur[0], cur[1], cur[1] + parsed[i][1]),\n );\n cur[1] = parsed[i][1] + cur[1];\n } else if (parsed[i][0] === \"z\" || parsed[i][0] === \"Z\") {\n length += Math.sqrt(\n (ringStart[0] - cur[0]) ** 2 + (ringStart[1] - cur[1]) ** 2,\n );\n functions.push(\n LinearPosition(cur[0], ringStart[0], cur[1], ringStart[1]),\n );\n previousCurve = null;\n cur = [ringStart[0], ringStart[1]];\n } else if (parsed[i][0] === \"C\") {\n curve = Bezier(\n cur[0],\n cur[1],\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n parsed[i][5],\n parsed[i][6],\n );\n previousCurve = curve;\n length += curve.getTotalLength();\n cur = [parsed[i][5], parsed[i][6]];\n functions.push(curve);\n } else if (parsed[i][0] === \"c\") {\n curve = Bezier(\n cur[0],\n cur[1],\n cur[0] + parsed[i][1],\n cur[1] + parsed[i][2],\n cur[0] + parsed[i][3],\n cur[1] + parsed[i][4],\n cur[0] + parsed[i][5],\n cur[1] + parsed[i][6],\n );\n previousCurve = curve;\n length += curve.getTotalLength();\n cur = [parsed[i][5] + cur[0], parsed[i][6] + cur[1]];\n functions.push(curve);\n } else if (parsed[i][0] === \"S\") {\n if (i > 0 && [\"C\", \"c\", \"S\", \"s\"].includes(parsed[i - 1][0])) {\n const previousSegment = parsed[i - 1]!;\n const reflectedControlX =\n 2 * cur[0] -\n (previousSegment[previousSegment.length - 4] as number);\n const reflectedControlY =\n 2 * cur[1] -\n (previousSegment[previousSegment.length - 3] as number);\n\n curve = Bezier(\n cur[0],\n cur[1],\n reflectedControlX,\n reflectedControlY,\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n );\n } else {\n curve = Bezier(\n cur[0],\n cur[1],\n cur[0],\n cur[1],\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n );\n }\n\n previousCurve = curve;\n length += curve.getTotalLength();\n cur = [parsed[i][3], parsed[i][4]];\n functions.push(curve);\n } else if (parsed[i][0] === \"s\") {\n if (\n i > 0 &&\n [\"C\", \"c\", \"S\", \"s\"].includes(parsed[i - 1][0]) &&\n previousCurve\n ) {\n curve = Bezier(\n cur[0],\n cur[1],\n cur[0] + previousCurve.d.x - previousCurve.c.x,\n cur[1] + previousCurve.d.y - previousCurve.c.y,\n cur[0] + parsed[i][1],\n cur[1] + parsed[i][2],\n cur[0] + parsed[i][3],\n cur[1] + parsed[i][4],\n );\n } else {\n curve = Bezier(\n cur[0],\n cur[1],\n cur[0],\n cur[1],\n cur[0] + parsed[i][1],\n cur[1] + parsed[i][2],\n cur[0] + parsed[i][3],\n cur[1] + parsed[i][4],\n );\n }\n\n previousCurve = curve;\n length += curve.getTotalLength();\n cur = [parsed[i][3] + cur[0], parsed[i][4] + cur[1]];\n functions.push(curve);\n } else if (parsed[i][0] === \"Q\") {\n if (!(cur[0] === parsed[i][1] && cur[1] === parsed[i][2])) {\n curve = Bezier(\n cur[0],\n cur[1],\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n );\n previousCurve = curve;\n } else {\n curve = LinearPosition(\n parsed[i][1],\n parsed[i][3],\n parsed[i][2],\n parsed[i][4],\n );\n previousCurve = null;\n }\n\n length += curve.getTotalLength();\n functions.push(curve);\n cur = [parsed[i][3], parsed[i][4]];\n prevPoint = [parsed[i][1], parsed[i][2]];\n } else if (parsed[i][0] === \"q\") {\n if (!(parsed[i][1] === 0 && parsed[i][2] === 0)) {\n curve = Bezier(\n cur[0],\n cur[1],\n cur[0] + parsed[i][1],\n cur[1] + parsed[i][2],\n cur[0] + parsed[i][3],\n cur[1] + parsed[i][4],\n );\n previousCurve = curve;\n } else {\n curve = LinearPosition(\n cur[0] + parsed[i][1],\n cur[0] + parsed[i][3],\n cur[1] + parsed[i][2],\n cur[1] + parsed[i][4],\n );\n previousCurve = null;\n }\n\n length += curve.getTotalLength();\n prevPoint = [cur[0] + parsed[i][1], cur[1] + parsed[i][2]];\n cur = [parsed[i][3] + cur[0], parsed[i][4] + cur[1]];\n functions.push(curve);\n } else if (parsed[i][0] === \"T\") {\n if (i > 0 && [\"Q\", \"q\", \"T\", \"t\"].includes(parsed[i - 1][0])) {\n curve = Bezier(\n cur[0],\n cur[1],\n 2 * cur[0] - prevPoint[0],\n 2 * cur[1] - prevPoint[1],\n parsed[i][1],\n parsed[i][2],\n );\n previousCurve = curve;\n } else {\n curve = LinearPosition(cur[0], parsed[i][1], cur[1], parsed[i][2]);\n previousCurve = null;\n }\n\n functions.push(curve);\n length += curve.getTotalLength();\n prevPoint = [2 * cur[0] - prevPoint[0], 2 * cur[1] - prevPoint[1]];\n cur = [parsed[i][1], parsed[i][2]];\n } else if (parsed[i][0] === \"t\") {\n if (i > 0 && [\"Q\", \"q\", \"T\", \"t\"].includes(parsed[i - 1][0])) {\n curve = Bezier(\n cur[0],\n cur[1],\n 2 * cur[0] - prevPoint[0],\n 2 * cur[1] - prevPoint[1],\n cur[0] + parsed[i][1],\n cur[1] + parsed[i][2],\n );\n previousCurve = curve;\n } else {\n curve = LinearPosition(\n cur[0],\n cur[0] + parsed[i][1],\n cur[1],\n cur[1] + parsed[i][2],\n );\n previousCurve = null;\n }\n\n length += curve.getTotalLength();\n prevPoint = [2 * cur[0] - prevPoint[0], 2 * cur[1] - prevPoint[1]];\n cur = [parsed[i][1] + cur[0], parsed[i][2] + cur[1]];\n functions.push(curve);\n } else if (parsed[i][0] === \"A\") {\n curve = Arc(\n cur[0],\n cur[1],\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n parsed[i][5],\n parsed[i][6],\n parsed[i][7],\n );\n previousCurve = null;\n length += curve.getTotalLength();\n cur = [parsed[i][6], parsed[i][7]];\n functions.push(curve);\n } else if (parsed[i][0] === \"a\") {\n curve = Arc(\n cur[0],\n cur[1],\n parsed[i][1],\n parsed[i][2],\n parsed[i][3],\n parsed[i][4],\n parsed[i][5],\n cur[0] + parsed[i][6],\n cur[1] + parsed[i][7],\n );\n previousCurve = null;\n length += curve.getTotalLength();\n cur = [cur[0] + parsed[i][6], cur[1] + parsed[i][7]];\n functions.push(curve);\n }\n\n partialLengths.push(length);\n }\n\n return svgProperties;\n };\n\n svgProperties.getTotalLength = () => length;\n\n svgProperties.getPointAtLength = (fractionLength: number) => {\n const fractionPart = getPartAtLength(fractionLength);\n return functions[fractionPart.i]!.getPointAtLength(fractionPart.fraction);\n };\n\n svgProperties.getTangentAtLength = (fractionLength: number) => {\n const fractionPart = getPartAtLength(fractionLength);\n return functions[fractionPart.i]!.getTangentAtLength(fractionPart.fraction);\n };\n\n svgProperties.getPropertiesAtLength = (fractionLength: number) => {\n const fractionPart = getPartAtLength(fractionLength);\n return functions[fractionPart.i]!.getPropertiesAtLength(\n fractionPart.fraction,\n );\n };\n\n function getPartAtLength(fractionLength: number) {\n if (fractionLength < 0) {\n fractionLength = 0;\n } else if (fractionLength > length) {\n fractionLength = length;\n }\n\n let index = partialLengths.length - 1;\n\n while (\n partialLengths[index] >= fractionLength &&\n partialLengths[index] > 0\n ) {\n index -= 1;\n }\n\n index += 1;\n\n return {\n fraction: fractionLength - (partialLengths[index - 1] ?? 0),\n i: index,\n };\n }\n\n return svgProperties(svgString);\n}\n\nexport default svgPathProperties;\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nexport const INVALID_INPUT = `All shapes must be supplied as arrays of [x, y] points or an SVG path string (https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d).\nExample valid ways of supplying a shape would be:\n[[0, 0], [10, 0], [10, 10]]\n\"M0,0 L10,0 L10,10Z\"\n`;\n","// Vendored from flubber@0.4.2 and svg-path-properties@0.2.2 (MIT).\nimport parse from \"./parse\";\nimport { svgPathProperties } from \"./path-properties\";\nimport { INVALID_INPUT } from \"./errors\";\nimport { isFiniteNumber, type Ring } from \"./math\";\n\ntype PathMeasure = {\n getTotalLength(): number;\n getPointAtLength(length: number): { x: number; y: number };\n};\n\ntype PathConversionResult = {\n ring: Ring;\n skipBisect?: boolean;\n};\n\nexport function toPathString(ring: Ring) {\n return `M${ring.join(\"L\")}Z`;\n}\n\nexport function splitPathString(str: string) {\n return [str];\n}\n\nexport function pathStringToRing(\n str: string,\n maxSegmentLength?: number,\n): PathConversionResult {\n const parsed = parse(str);\n return exactRing(parsed) || approximateRing(str, maxSegmentLength);\n}\n\nfunction exactRing(\n segments: Array<[string, ...number[]]>,\n): PathConversionResult | false {\n const ring: Ring = [];\n let currentX = 0;\n let currentY = 0;\n\n for (let index = 0; index < segments.length; index += 1) {\n const [command, ...values] = segments[index];\n\n if ((command === \"M\" || command === \"m\") && index) {\n break;\n }\n\n if (command === \"Z\" || command === \"z\") {\n break;\n }\n\n switch (command) {\n case \"M\":\n case \"L\":\n currentX = values[0];\n currentY = values[1];\n ring.push([currentX, currentY]);\n break;\n case \"m\":\n case \"l\":\n currentX += values[0];\n currentY += values[1];\n ring.push([currentX, currentY]);\n break;\n case \"H\":\n currentX = values[0];\n ring.push([currentX, currentY]);\n break;\n case \"h\":\n currentX += values[0];\n ring.push([currentX, currentY]);\n break;\n case \"V\":\n currentY = values[0];\n ring.push([currentX, currentY]);\n break;\n case \"v\":\n currentY += values[0];\n ring.push([currentX, currentY]);\n break;\n default:\n return false;\n }\n }\n\n return ring.length ? { ring } : false;\n}\n\nfunction approximateRing(\n str: string,\n maxSegmentLength?: number,\n): PathConversionResult {\n if (!str) {\n throw new TypeError(INVALID_INPUT);\n }\n\n const measure = getMeasure(str);\n const ring: Ring = [];\n const length = measure.getTotalLength();\n let numPoints = 3;\n\n if (\n maxSegmentLength &&\n isFiniteNumber(maxSegmentLength) &&\n maxSegmentLength > 0\n ) {\n numPoints = Math.max(numPoints, Math.ceil(length / maxSegmentLength));\n }\n\n for (let index = 0; index < numPoints; index += 1) {\n const point = measure.getPointAtLength((length * index) / numPoints);\n ring.push([point.x, point.y]);\n }\n\n return {\n ring,\n skipBisect: true,\n };\n}\n\nfunction getMeasure(d: string): PathMeasure {\n if (typeof window !== \"undefined\" && window?.document) {\n try {\n const path = window.document.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"path\",\n );\n path.setAttributeNS(null, \"d\", d);\n\n if (\n typeof path.getTotalLength === \"function\" &&\n typeof path.getPointAtLength === \"function\"\n ) {\n return path;\n }\n } catch {\n // Fall through to vendored measurement.\n }\n }\n\n const measure = svgPathProperties(d);\n\n if (!measure) {\n throw new TypeError(INVALID_INPUT);\n }\n\n return measure as PathMeasure;\n}\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nimport { toPathString } from \"./svg\";\n\nexport type RingPoint = [number, number];\nexport type Ring = RingPoint[];\n\nexport function distance(a: RingPoint, b: RingPoint) {\n return Math.sqrt(\n (a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]),\n );\n}\n\nexport function pointAlong(a: RingPoint, b: RingPoint, pct: number): RingPoint {\n return [a[0] + (b[0] - a[0]) * pct, a[1] + (b[1] - a[1]) * pct];\n}\n\nexport function samePoint(a: RingPoint, b: RingPoint) {\n // Path closure tolerates floating-point noise in endpoint coordinates.\n return distance(a, b) < 1e-9;\n}\n\nexport function interpolatePoints(a: Ring, b: Ring, string: boolean) {\n const interpolators = a.map((point, index) =>\n interpolatePoint(point, b[index]),\n );\n\n return (t: number) => {\n const values = interpolators.map((interpolator) => interpolator(t));\n return string ? toPathString(values) : values;\n };\n}\n\nexport function interpolatePoint(a: RingPoint, b: RingPoint) {\n return (t: number): RingPoint =>\n a.map((value, index) => value + t * (b[index] - value)) as RingPoint;\n}\n\nexport function isFiniteNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value);\n}\n\nexport function polygonArea(polygon: Ring) {\n let area = 0;\n let previous = polygon[polygon.length - 1];\n\n for (const point of polygon) {\n area += previous[1] * point[0] - previous[0] * point[1];\n previous = point;\n }\n\n return area / 2;\n}\n\nexport function polygonLength(polygon: Ring) {\n let perimeter = 0;\n let previous = polygon[polygon.length - 1];\n\n for (const point of polygon) {\n perimeter += distance(previous, point);\n previous = point;\n }\n\n return perimeter;\n}\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nimport { distance, pointAlong, polygonLength, type Ring } from \"./math\";\n\nexport function addPoints(ring: Ring, numPoints: number) {\n if (!numPoints) {\n return;\n }\n\n const desiredLength = ring.length + numPoints;\n const step = polygonLength(ring) / numPoints;\n\n let index = 0;\n let cursor = 0;\n let insertAt = step / 2;\n\n while (ring.length < desiredLength) {\n const start = ring[index];\n const end = ring[(index + 1) % ring.length];\n const segmentLength = distance(start, end);\n\n if (insertAt <= cursor + segmentLength) {\n ring.splice(\n index + 1,\n 0,\n segmentLength\n ? pointAlong(start, end, (insertAt - cursor) / segmentLength)\n : [...start],\n );\n insertAt += step;\n continue;\n }\n\n cursor += segmentLength;\n index += 1;\n }\n}\n\nexport function bisect(\n ring: Ring,\n maxSegmentLength = Number.POSITIVE_INFINITY,\n) {\n for (let index = 0; index < ring.length; index += 1) {\n const start = ring[index];\n let end = index === ring.length - 1 ? ring[0] : ring[index + 1];\n\n while (distance(start, end) > maxSegmentLength) {\n end = pointAlong(start, end, 0.5);\n ring.splice(index + 1, 0, end);\n }\n }\n}\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nimport { pathStringToRing } from \"./svg\";\nimport { bisect } from \"./add\";\nimport { INVALID_INPUT } from \"./errors\";\nimport {\n isFiniteNumber,\n polygonArea,\n samePoint,\n type Ring,\n type RingPoint,\n} from \"./math\";\n\ntype NormalizedRingInput = string | Ring;\ntype PathConversionResult = {\n ring: Ring;\n skipBisect?: boolean;\n};\n\nexport function normalizeRing(\n ring: NormalizedRingInput,\n maxSegmentLength?: number,\n) {\n let skipBisect = false;\n\n if (typeof ring === \"string\") {\n const converted: PathConversionResult = pathStringToRing(\n ring,\n maxSegmentLength,\n );\n ring = converted.ring;\n skipBisect = converted.skipBisect ?? false;\n } else if (!Array.isArray(ring)) {\n throw new TypeError(INVALID_INPUT);\n }\n\n const points = ring.slice(0) as Ring;\n\n if (!validRing(points)) {\n throw new TypeError(INVALID_INPUT);\n }\n\n if (points.length > 1 && samePoint(points[0], points[points.length - 1])) {\n points.pop();\n }\n\n // Consistent winding prevents corresponding points from traveling across the shape.\n if (polygonArea(points) > 0) {\n points.reverse();\n }\n\n if (\n !skipBisect &&\n maxSegmentLength &&\n isFiniteNumber(maxSegmentLength) &&\n maxSegmentLength > 0\n ) {\n bisect(points, maxSegmentLength);\n }\n\n return points;\n}\n\nfunction validRing(ring: Ring) {\n return ring.every(\n (point: RingPoint) =>\n Array.isArray(point) &&\n point.length >= 2 &&\n isFiniteNumber(point[0]) &&\n isFiniteNumber(point[1]),\n );\n}\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nimport { distance, type Ring } from \"./math\";\n\nexport function rotate(ring: Ring, target: Ring) {\n const length = ring.length;\n let min = Number.POSITIVE_INFINITY;\n let bestOffset = 0;\n\n for (let offset = 0; offset < length; offset += 1) {\n let sumOfSquares = 0;\n\n target.forEach((point, index) => {\n const delta = distance(ring[(offset + index) % length], point);\n sumOfSquares += delta * delta;\n });\n\n if (sumOfSquares < min) {\n min = sumOfSquares;\n bestOffset = offset;\n }\n }\n\n if (bestOffset) {\n const spliced = ring.splice(0, bestOffset);\n ring.splice(ring.length, 0, ...spliced);\n }\n}\n","// Vendored from flubber@0.4.2 (MIT) for dependency-free internal ESM use.\nimport { addPoints } from \"./add\";\nimport { interpolatePoints } from \"./math\";\nimport { normalizeRing } from \"./normalize\";\nimport { rotate } from \"./rotate\";\n\nexport type InterpolateOptions = {\n /** Maximum straight-segment length used to approximate curves. Defaults to `10`. */\n maxSegmentLength?: number;\n /** Returns SVG path data when true and point rings when false. Defaults to `true`. */\n string?: boolean;\n};\n\n/** Creates a point-wise morph between two SVG paths. */\nexport function interpolate(\n fromShape: string,\n toShape: string,\n { maxSegmentLength = 10, string = true }: InterpolateOptions = {},\n) {\n const fromRing = normalizeRing(fromShape, maxSegmentLength);\n const toRing = normalizeRing(toShape, maxSegmentLength);\n const interpolator = interpolateRing(fromRing, toRing, string);\n\n if (!string) {\n return interpolator;\n }\n\n return (t: number) => {\n // Preserve the exact endpoint paths instead of their sampled equivalents.\n if (t < 1e-4) {\n return fromShape;\n }\n\n if (1 - t < 1e-4) {\n return toShape;\n }\n\n return interpolator(t);\n };\n}\n\nexport function interpolateRing(\n fromRing: ReturnType<typeof normalizeRing>,\n toRing: ReturnType<typeof normalizeRing>,\n string: boolean,\n) {\n const diff = fromRing.length - toRing.length;\n\n addPoints(fromRing, diff < 0 ? diff * -1 : 0);\n addPoints(toRing, diff > 0 ? diff : 0);\n\n // Closed rings are cyclic, so align their starting vertices before pairing points.\n rotate(fromRing, toRing);\n\n return interpolatePoints(fromRing, toRing, string);\n}\n","import { useState, useEffect, useMemo, memo, useId } from \"react\";\nimport { motion, animate, useMotionValue, useTransform } from \"motion/react\";\nimport { interpolate } from \"../../../internal/flubber\";\nimport { usePrefersReducedMotion } from \"../../../hooks\";\nimport { useTheme } from \"../../../providers\";\n\nconst SHARP_PATH =\n \"m23 12-8.036-3.23L12.006 0 9.047 8.77 1 12l8.047 3.23L12.006 24l2.958-8.77z\";\nconst ROUND_PATH =\n \"M17.425 13.854c1.665-.675 1.665-3.033 0-3.708l-2.73-1.106-.793-2.37c-.609-1.82-3.184-1.82-3.793 0l-.793 2.37-2.734 1.106c-1.666.674-1.666 3.034 0 3.708l2.734 1.106.793 2.37c.609 1.82 3.184 1.82 3.793 0l.793-2.37z\";\n\nconst SVG_STYLE = { width: \"100%\", height: \"100%\", display: \"block\" } as const;\n\ntype SVGMorphProps = {\n paths: string[];\n delay?: number;\n inheritColor?: boolean;\n gradientId: string;\n};\n\n/** Morphs `paths` in order and restarts after the last path. */\nfunction SVGMorph({\n delay,\n paths,\n inheritColor = false,\n gradientId,\n}: SVGMorphProps) {\n const [pathIndex, setPathIndex] = useState(0);\n const progress = useMotionValue(0);\n\n const arrayOfIndex = useMemo(() => paths.map((_, i) => i), [paths]);\n const path = useTransform(progress, arrayOfIndex, paths, {\n mixer: (a, b) => interpolate(a, b, { maxSegmentLength: 1 }),\n });\n\n useEffect(() => {\n const animation = animate(progress, pathIndex, {\n duration: 0.8,\n ease: [0.5, 0, 0.65, 1],\n delay: delay,\n onComplete: () => {\n if (pathIndex === paths.length - 1) {\n progress.set(0);\n setPathIndex(1);\n } else {\n setPathIndex(pathIndex + 1);\n }\n },\n });\n return () => {\n animation.stop();\n };\n }, [pathIndex, paths.length, progress, delay]);\n\n return (\n <motion.path\n fill={inheritColor ? \"currentColor\" : `url(#${gradientId})`}\n d={path}\n />\n );\n}\n\ninterface AiMarkIconAnimatedSegmentProps {\n animate?: boolean;\n delay?: number;\n className?: string;\n inheritColor?: boolean;\n spin?: boolean;\n}\n\n/** One star. When `animate` is false, renders the sharp path statically. */\nconst AiMarkIconAnimatedSegment = memo(\n ({\n animate = false,\n delay,\n className,\n inheritColor = false,\n spin = false,\n }: AiMarkIconAnimatedSegmentProps) => {\n // Colons from useId are invalid in SVG url() ids.\n const gradientId = useId().replace(/:/g, \"\");\n const fill = inheritColor ? \"currentColor\" : `url(#${gradientId})`;\n const { mode } = useTheme();\n\n const gradientDef = !inheritColor && (\n <defs>\n <linearGradient\n id={gradientId}\n x1=\"0.4962\"\n y1=\"0.2483\"\n x2=\"-0.0543\"\n y2=\"0.4319\"\n gradientUnits=\"objectBoundingBox\"\n >\n <stop\n stopColor={mode === \"dark\" ? \"#77C5EA\" : \"#026EE4\"}\n style={{\n stopColor: mode === \"dark\" ? \"#77C5EA\" : \"#026EE4\",\n stopOpacity: 1,\n }}\n />\n <stop\n offset=\"1\"\n stopColor={mode === \"dark\" ? \"#D0D8E1\" : \"#27AEEE\"}\n style={{\n stopColor: mode === \"dark\" ? \"#D0D8E1\" : \"#27AEEE\",\n stopOpacity: 1,\n }}\n />\n </linearGradient>\n </defs>\n );\n\n if (!animate) {\n return (\n <svg className={className} style={SVG_STYLE} viewBox=\"0 0 24 24\">\n {gradientDef}\n <path fill={fill} d={SHARP_PATH} />\n </svg>\n );\n }\n\n return (\n <motion.svg\n className={className}\n style={SVG_STYLE}\n viewBox=\"0 0 24 24\"\n animate={spin ? { rotate: 180 } : {}}\n transition={{\n duration: 2,\n type: \"spring\",\n repeat: 0,\n repeatType: \"loop\",\n repeatDelay: 1.5,\n delay,\n }}\n >\n {gradientDef}\n <SVGMorph\n paths={[SHARP_PATH, ROUND_PATH, SHARP_PATH]}\n delay={delay}\n inheritColor={inheritColor}\n gradientId={gradientId}\n />\n </motion.svg>\n );\n },\n);\n\nAiMarkIconAnimatedSegment.displayName = \"AiMarkIconAnimatedSegment\";\n\ninterface AiMarkIconAnimatedProps {\n animate?: boolean;\n size?: number;\n inheritColor?: boolean;\n spin?: boolean;\n}\n\n/**\n * Two-star AI mark morph. Animation is skipped when the user prefers reduced\n * motion.\n */\nexport const AiMarkIconAnimated = ({\n animate = false,\n size = 16,\n inheritColor = false,\n spin = false,\n}: AiMarkIconAnimatedProps) => {\n const { prefersReducedMotion } = usePrefersReducedMotion();\n const shouldAnimate = animate && !prefersReducedMotion;\n const largeSvgSize = size * 0.75;\n const smallSvgSize = (size * 6) / 16;\n\n const containerStyle = useMemo(\n () => ({ position: \"relative\" as const, width: size, height: size }),\n [size],\n );\n const largeIconStyle = useMemo(\n () => ({\n position: \"absolute\" as const,\n bottom: size / 16,\n left: size / 16,\n width: largeSvgSize,\n height: largeSvgSize,\n }),\n [largeSvgSize, size],\n );\n const smallIconStyle = useMemo(\n () => ({\n position: \"absolute\" as const,\n top: size / 16,\n right: size / 16,\n width: smallSvgSize,\n height: smallSvgSize,\n }),\n [smallSvgSize, size],\n );\n\n return (\n <div style={containerStyle} data-anv=\"ai-mark-icon-animated\">\n <div style={largeIconStyle}>\n <AiMarkIconAnimatedSegment\n animate={shouldAnimate}\n delay={0.15}\n inheritColor={inheritColor}\n spin={spin}\n />\n </div>\n <div style={smallIconStyle}>\n <AiMarkIconAnimatedSegment\n animate={shouldAnimate}\n inheritColor={inheritColor}\n spin={spin}\n />\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nconst SvgAiChat = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M20.488 7.014A1.51 1.51 0 0 1 22 8.513v8.991a1.51 1.51 0 0 1-1.512 1.499H9.9L6.875 22v-9.975l.757-2.763 6.404-2.248zm-9.831 7.493a.756.756 0 0 0-.757.75c0 .412.34.749.757.749h7.562a.755.755 0 0 0 .756-.75.755.755 0 0 0-.756-.749zm0-2.248a.756.756 0 0 0-.757.75c0 .412.34.749.757.749h7.562a.755.755 0 0 0 .756-.75.755.755 0 0 0-.756-.749zm0-2.248a.756.756 0 0 0-.757.75c0 .412.34.749.757.749h7.562a.755.755 0 0 0 .756-.75.755.755 0 0 0-.756-.749z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"m6.56 5.49 3.811 1.36L6.56 8.213l-1.373 3.776L3.81 8.213 0 6.85l3.81-1.36 1.376-3.778zm3.639-3.607 1.9.685-1.9.687-.692 1.883-.692-1.883-1.901-.687 1.9-.685L9.508 0z\" }));\nexport default SvgAiChat;\n","import * as React from \"react\";\nconst SvgAiEdit = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M18.655 10.414 7.218 21.844A.5.5 0 0 1 6.85 22H3.666a.52.52 0 0 1-.524-.523V18.29q0-.22.157-.376l11.428-11.43zM6.814 5.756l3.96 1.427-3.96 1.43-1.427 3.958L3.96 8.612 0 7.183l3.959-1.427 1.428-3.96zM18.503 3.14a1.05 1.05 0 0 1 .74.307l2.45 2.45a1.05 1.05 0 0 1 .227 1.14q-.08.19-.227.338l-1.916 1.917-3.928-3.929 1.916-1.916a1.05 1.05 0 0 1 .738-.307m-7.908-1.165 1.975.718-1.975.72-.718 1.975-.72-1.975-1.975-.72 1.975-.718L9.877 0z\" }));\nexport default SvgAiEdit;\n","import * as React from \"react\";\nconst SvgAiForm = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M22 6c1.1 0 2 .9 2 2v14c0 1.1-.9 2-2 2H8c-1.1 0-2-.9-2-2v-9.17c0-.53.21-1.04.59-1.41l4.83-4.83c.37-.38.88-.59 1.41-.59zM11 18c-.55 0-1 .45-1 1s.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1zm0-4c-.55 0-1 .45-1 1s.45 1 1 1h8c.55 0 1-.45 1-1s-.45-1-1-1zm3-4c-.55 0-1 .45-1 1s.45 1 1 1h5c.55 0 1-.45 1-1s-.45-1-1-1z\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"m6.505 5.495 3.781 1.363-3.78 1.363L5.142 12 3.78 8.22 0 6.859l3.78-1.363 1.363-3.78zm3.61-3.608L12 2.572l-1.885.686-.687 1.885-.686-1.885-1.885-.686 1.885-.685L9.428 0z\" }));\nexport default SvgAiForm;\n","import * as React from \"react\";\nconst SvgAiMic = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M21.513 13.737c.595 0 1.071.554.974 1.17a7.3 7.3 0 0 1-1.958 3.959 6.7 6.7 0 0 1-3.805 1.973v2.134c0 .565-.439 1.027-.975 1.027s-.974-.462-.974-1.027V20.84c-2.945-.441-5.287-2.854-5.765-5.933-.087-.615.381-1.169.976-1.169.232.002.456.09.631.25s.29.38.324.622c.4 2.412 2.4 4.26 4.808 4.26s4.408-1.848 4.808-4.26c.078-.503.479-.872.956-.872\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M15.749 4.5c1.619 0 2.925 1.375 2.925 3.08v6.157c0 1.704-1.306 3.08-2.925 3.08s-2.925-1.376-2.926-3.08V7.58c0-1.703 1.307-3.079 2.926-3.079m-7.743.994 3.78 1.362-3.78 1.364L6.643 12 5.28 8.22 1.5 6.858l3.78-1.362 1.363-3.781zm3.609-3.61 1.885.686-1.885.687-.685 1.885-.688-1.885-1.885-.687 1.885-.686L10.93 0z\" }));\nexport default SvgAiMic;\n","import * as React from \"react\";\nconst SvgAiSearch = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M11.757 7.838a6.3 6.3 0 0 1 2.828-.288c2.71.329 4.955 2.476 5.41 5.165a6.28 6.28 0 0 1-1.431 5.165l.27.26h.765l4.104 4.121a1.02 1.02 0 0 1 0 1.442 1.024 1.024 0 0 1-1.443 0l-4.112-4.11v-.765l-.262-.271a6.29 6.29 0 0 1-5.168 1.43c-2.69-.454-4.84-2.698-5.168-5.406a6.29 6.29 0 0 1 4.207-6.743m2.034 1.599a4.35 4.35 0 0 0-4.355 4.352 4.35 4.35 0 0 0 4.355 4.352 4.35 4.35 0 0 0 4.357-4.352 4.35 4.35 0 0 0-4.357-4.352\", clipRule: \"evenodd\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"m6.505 5.495 3.781 1.362-3.78 1.364L5.142 12 3.779 8.22 0 6.858l3.78-1.362 1.363-3.781zm3.61-3.61L12 2.571l-1.885.687-.686 1.885-.687-1.885-1.885-.687 1.885-.686L9.43 0z\" }));\nexport default SvgAiSearch;\n","import type { IconProps } from \"../../Icon\";\n\nimport AiChatIcon from \"../../../../public/assets/icons/st/ai_chat.svg\";\nimport AiEditIcon from \"../../../../public/assets/icons/st/ai_edit.svg\";\nimport AiFormIcon from \"../../../../public/assets/icons/st/ai_form.svg\";\nimport AiMicIcon from \"../../../../public/assets/icons/st/ai_mic.svg\";\nimport AiSearchIcon from \"../../../../public/assets/icons/st/ai_search.svg\";\n\n/**\n * Named AI indicators accepted by `Button`. `\"mark\"` uses the animated mark;\n * the remaining names render static icons.\n */\nexport type AiIconName = \"chat\" | \"edit\" | \"form\" | \"mark\" | \"mic\" | \"search\";\n\nexport const AI_ICON_MAP: Record<\n Exclude<AiIconName, \"mark\">,\n IconProps[\"svg\"]\n> = {\n chat: AiChatIcon,\n edit: AiEditIcon,\n form: AiFormIcon,\n mic: AiMicIcon,\n search: AiSearchIcon,\n};\n\nexport type ButtonAiMarkSize = \"xsmall\" | \"small\" | \"medium\" | \"large\";\n\nexport const ICON_ONLY_AI_SIZE_PX: Record<ButtonAiMarkSize, number> = {\n xsmall: 12,\n small: 14,\n medium: 24,\n large: 24,\n};\n\nexport function iconHasLeadingSlot(\n icon:\n | IconProps[\"svg\"]\n | { before: IconProps[\"svg\"] }\n | { after: IconProps[\"svg\"] }\n | undefined,\n): boolean {\n if (!icon) {\n return false;\n }\n if (typeof icon !== \"object\") {\n return true;\n }\n return \"before\" in icon;\n}\n\nexport function aiMarkShowsAnimatedMark(\n aiMark?: boolean | AiIconName,\n): boolean {\n return aiMark === true || aiMark === \"mark\";\n}\n","import type { ButtonAppearance, Size } from \"../../types\";\nimport {\n type ComponentPropsWithoutRef,\n type Ref,\n forwardRef,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type { DataTrackingId, LayoutUtilProps } from \"../../types\";\nimport { Icon, type IconProps } from \"../Icon\";\nimport { childrenToString } from \"../../internal/functions\";\nimport Spinner from \"../Spinner\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { warnOnce } from \"../../internal/functions/warnOnce\";\nimport { AiMarkIconAnimated } from \"../AiMark/internal/AiMarkIconAnimated\";\nimport {\n type AiIconName,\n AI_ICON_MAP,\n ICON_ONLY_AI_SIZE_PX,\n aiMarkShowsAnimatedMark,\n iconHasLeadingSlot,\n} from \"./internal\";\n\nimport cx from \"classnames\";\nimport styles from \"./Button.module.scss\";\n\nexport type { AiIconName };\n\n/**\n * Labeled buttons accept leading or trailing icons; icon-only buttons accept a\n * single icon and require an accessible name.\n *\n * @extends Omit<ComponentPropsWithoutRef<\"button\">, \"children\">\n * @extends LayoutUtilProps\n * @extends DataTrackingId\n */\nexport type ButtonProps = Omit<ComponentPropsWithoutRef<\"button\">, \"children\"> &\n LayoutUtilProps &\n DataTrackingId & {\n /**\n * Renders an AI indicator as leading or icon-only content. `true` and\n * `\"mark\"` use the animated mark; other names use static icons. Trailing\n * icons remain visible.\n */\n aiMark?: boolean | AiIconName;\n\n /** Visual emphasis. Defaults to `secondary`. */\n appearance?: ButtonAppearance;\n\n /** Controls the button and icon dimensions. Defaults to `medium`. */\n size?: Extract<Size, \"xsmall\" | \"small\" | \"medium\" | \"large\">;\n\n /** Replaces the leading content with a spinner and disables the button. */\n loading?: boolean;\n } & (\n | {\n /** Visible button content. Omit it for an icon-only button. */\n children?: ComponentPropsWithoutRef<\"button\">[\"children\"];\n /**\n * A bare icon renders before the content; use the object form to choose its\n * position.\n *\n * @example\n * icon={SaveIcon}\n * icon={{ after: ArrowIcon }}\n */\n icon?:\n | IconProps[\"svg\"]\n | { after: IconProps[\"svg\"] }\n | { before: IconProps[\"svg\"] };\n }\n | {\n /** Use an accessible name instead of label children. */\n children?: never;\n /** The icon-only button's visible content. Pair it with an accessible name. */\n icon?: IconProps[\"svg\"];\n }\n );\n\n/**\n * Action control for labeled or icon-only content.\n */\nexport const Button = forwardRef(\n (props: ButtonProps, ref: Ref<HTMLButtonElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n aiMark,\n children,\n className,\n appearance = \"secondary\",\n size = \"medium\",\n icon,\n loading = false,\n disabled,\n style,\n type = \"button\",\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n ...rest\n } = componentProps;\n\n const aiOn = !!aiMark;\n const isIconOnly = !children;\n\n if (aiOn && icon) {\n if (isIconOnly) {\n warnOnce(\n \"[Anvil2 Button] The `icon` prop is ignored when `aiMark` is set on an icon-only button. Only the AI icon is rendered.\",\n );\n } else if (iconHasLeadingSlot(icon)) {\n warnOnce(\n \"[Anvil2 Button] The leading `icon` (plain Svg or `icon.before`) is ignored when `aiMark` is set with button text. Use `icon={{ after: Svg }}` for a trailing icon, or omit `icon`.\",\n );\n }\n }\n\n const data = {\n children: childrenToString(props.children),\n appearance,\n icon,\n size,\n type,\n aiMark,\n };\n\n const trackingId = useTrackingId({\n name: \"Button\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const [isHovered, setIsHovered] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const isAnimated = isHovered || isFocused;\n\n const inheritColorForMark =\n appearance !== \"secondary\" && appearance !== \"ghost\";\n\n const renderStandardLeading = useCallback(() => {\n if (typeof icon === \"object\" && icon !== null && \"before\" in icon) {\n return (\n <Icon\n className={styles[\"icon\"]}\n inherit\n aria-hidden\n svg={icon.before}\n />\n );\n }\n if (icon && typeof icon !== \"object\") {\n return (\n <Icon\n className={styles[\"icon\"]}\n inherit\n aria-hidden\n svg={icon}\n size={!children && !size.includes(\"small\") ? \"large\" : \"medium\"}\n />\n );\n }\n return null;\n }, [icon, children, size]);\n\n const renderAiLeading = useCallback(() => {\n if (aiMarkShowsAnimatedMark(aiMark)) {\n return (\n <AiMarkIconAnimated\n animate={isAnimated}\n inheritColor={inheritColorForMark}\n size={isIconOnly ? ICON_ONLY_AI_SIZE_PX[size] : undefined}\n spin\n />\n );\n }\n const SvgIcon = AI_ICON_MAP[aiMark as Exclude<AiIconName, \"mark\">];\n return (\n <Icon\n className={styles[\"icon\"]}\n inherit\n aria-hidden\n data-anv=\"ai-mark-icon\"\n svg={SvgIcon}\n size={isIconOnly && !size.includes(\"small\") ? \"large\" : \"medium\"}\n />\n );\n }, [aiMark, isAnimated, inheritColorForMark, isIconOnly, size]);\n\n const leadingContent = useMemo(() => {\n if (loading) {\n return (\n <Spinner inherit size=\"small\" className={styles[\"loading-spinner\"]} />\n );\n }\n if (aiOn) {\n return renderAiLeading();\n }\n return renderStandardLeading();\n }, [aiOn, loading, renderAiLeading, renderStandardLeading]);\n\n const trailingAfter =\n !isIconOnly && typeof icon === \"object\" && \"after\" in icon ? (\n <Icon className={styles[\"icon\"]} inherit aria-hidden svg={icon.after} />\n ) : null;\n\n const buttonClassNames = cx(className, styles[\"button\"], {\n [styles[\"appearance-primary\"]]: appearance === \"primary\",\n [styles[\"appearance-secondary\"]]: appearance === \"secondary\",\n [styles[\"appearance-ghost\"]]: appearance === \"ghost\",\n [styles[\"danger-secondary\"]]: appearance === \"danger-secondary\",\n [styles[\"danger-primary\"]]: appearance === \"danger\",\n [styles[\"size-xsmall\"]]: size === \"xsmall\" && !!children,\n [styles[\"size-small\"]]: size === \"small\" && !!children,\n [styles[\"size-medium\"]]: size === \"medium\" && !!children,\n [styles[\"size-large\"]]: size === \"large\" && !!children,\n [styles[\"size-xsmall-icon\"]]: size === \"xsmall\" && !children,\n [styles[\"size-small-icon\"]]: size === \"small\" && !children,\n [styles[\"size-medium-icon\"]]: size === \"medium\" && !children,\n [styles[\"size-large-icon\"]]: size === \"large\" && !children,\n [styles[\"loading\"]]: loading,\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const handleMouseEnter = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsHovered(true);\n onMouseEnter?.(e);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsHovered(false);\n onMouseLeave?.(e);\n },\n [onMouseLeave],\n );\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLButtonElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLButtonElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n\n return (\n <button\n data-tracking-id={trackingId}\n className={buttonClassNames}\n type={type}\n disabled={disabled || loading}\n aria-busy={loading ? true : undefined}\n data-anv=\"button\"\n style={styleCombined}\n ref={ref}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n {leadingContent}\n {children}\n {trailingAfter}\n </button>\n );\n },\n);\n\nButton.displayName = \"Button\";\n"],"names":["interpolate","Bezier","svgProperties","LinearPosition","Arc","animate","AiChatIcon","AiEditIcon","AiFormIcon","AiMicIcon","AiSearchIcon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar-BUFPc5UN.js","sources":["../src/beta/components/Calendar/Calendar.tsx"],"sourcesContent":["import {\n Calendar as StableCalendar,\n type CalendarProps as StableCalendarProps,\n} from \"../../../components\";\nimport { CalendarBetaPropsContext } from \"./CalendarBetaPropsContext\";\n\nexport interface CalendarBetaProps {\n dateMetadata?: {\n date: string;\n context: string;\n }[];\n onMonthView?: ({ month, year }: { month: number; year: number }) => void;\n}\n\n/**\n * Beta Calendar component — wraps the stable Calendar with per-date\n * annotations and month-view tracking, on top of its single/range date\n * selection.\n *\n * Features:\n * - All stable Calendar props and behavior (see `Calendar` in `components`)\n * - `dateMetadata` to annotate specific dates with contextual text (e.g.\n * \"3 available time slots\"), surfaced via `Calendar.Month`'s day pips\n * - `onMonthView` callback fired whenever the visible month/year changes\n *\n * @example\n * <Calendar\n * value=\"2024-01-15\"\n * onSelection={({ value }) => console.log('Selected:', value)}\n * dateMetadata={[{ date: \"2024-01-20\", context: \"3 available slots\" }]}\n * onMonthView={({ month, year }) => console.log('Viewing:', month, year)}\n * />\n */\nexport const Calendar = (props: CalendarBetaProps & StableCalendarProps) => {\n const { dateMetadata, onMonthView, ...stableProps } = props;\n return (\n <CalendarBetaPropsContext.Provider value={{ dateMetadata, onMonthView }}>\n <StableCalendar {...stableProps} />\n </CalendarBetaPropsContext.Provider>\n );\n};\n"],"names":["StableCalendar"],"mappings":";;;AAiCO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAmD;AAC1E,EAAA,MAAM,EAAE,YAAA,EAAc,WAAA,EAAa,GAAG,aAAY,GAAI,KAAA;AACtD,EAAA,uBACE,GAAA,CAAC,wBAAA,CAAyB,QAAA,EAAzB,EAAkC,KAAA,EAAO,EAAE,YAAA,EAAc,WAAA,EAAY,EACpE,QAAA,kBAAA,GAAA,CAACA,UAAA,EAAA,EAAgB,GAAG,aAAa,CAAA,EACnC,CAAA;AAEJ;;;;"}