@servicetitan/anvil2 3.15.0 → 3.15.2

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 (414) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{AiMark-D57s1e0T.js → AiMark-N8UfGfcV.js} +2 -2
  3. package/dist/{AiMark-D57s1e0T.js.map → AiMark-N8UfGfcV.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-DExHiAbM.js → Alert-DTKIlitZ.js} +3 -3
  6. package/dist/{Alert-DExHiAbM.js.map → Alert-DTKIlitZ.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-B8UGx4Mq.js} +2 -2
  12. package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-B8UGx4Mq.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-CEf7ke8X.js → Calendar-CpmaI3b6.js} +3 -3
  21. package/dist/Calendar-CpmaI3b6.js.map +1 -0
  22. package/dist/{Calendar-BUFPc5UN.js → Calendar-Cv07q_tE.js} +2 -2
  23. package/dist/Calendar-Cv07q_tE.js.map +1 -0
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-DVy-QESI.js → Checkbox-cB0D9W0a.js} +3 -3
  26. package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-cB0D9W0a.js.map} +1 -1
  27. package/dist/{Checkbox-DBE35nMv.js → Checkbox-jomKCuAj.js} +2 -2
  28. package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-jomKCuAj.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-B4G4zaP-.js → Chip-DivZ3OuB.js} +2 -2
  31. package/dist/{Chip-B4G4zaP-.js.map → Chip-DivZ3OuB.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-_XXxSbvH.js} +16 -41
  35. package/dist/DataTable-_XXxSbvH.js.map +1 -0
  36. package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-31zIfcR2.js} +4 -4
  37. package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-31zIfcR2.js.map} +1 -1
  38. package/dist/DateFieldRange.js +1 -1
  39. package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-DDFe1inZ.js} +4 -4
  40. package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-DDFe1inZ.js.map} +1 -1
  41. package/dist/DateFieldSingle.js +1 -1
  42. package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-Cv34myLZ.js} +4 -4
  43. package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-Cv34myLZ.js.map} +1 -1
  44. package/dist/DateFieldYearless.js +1 -1
  45. package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-D_ftkt3w.js} +3 -3
  46. package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-D_ftkt3w.js.map} +1 -1
  47. package/dist/DateFieldYearlessRange.js +1 -1
  48. package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-D4tUHUay.js} +3 -3
  49. package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-D4tUHUay.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-B2QAFibn.js} +4 -4
  56. package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B2QAFibn.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-CBIOWwh3.js} +5 -5
  61. package/dist/{Drawer-B4pxj_2P.js.map → Drawer-CBIOWwh3.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-Q6WlsM4O.js} +3 -3
  65. package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-Q6WlsM4O.js.map} +1 -1
  66. package/dist/EditCard.js +1 -1
  67. package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-FsNIjn8T.js} +2 -2
  68. package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-FsNIjn8T.js.map} +1 -1
  69. package/dist/FieldLabel.js +1 -1
  70. package/dist/{FilterBar-CKYf-1oU.js → FilterBar-PXv7_svO.js} +7 -7
  71. package/dist/FilterBar-PXv7_svO.js.map +1 -0
  72. package/dist/FilterBar.js +1 -1
  73. package/dist/{InputMask-xMpquXPU.js → InputMask-BgZX650-.js} +3 -3
  74. package/dist/{InputMask-xMpquXPU.js.map → InputMask-BgZX650-.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-aRwUEGI3.js} +2 -2
  80. package/dist/{ListView-D6l1KY92.js.map → ListView-aRwUEGI3.js.map} +1 -1
  81. package/dist/ListView.js +1 -1
  82. package/dist/{Listbox-Dep1eJ3u.js → Listbox-BCszel4v.js} +2 -2
  83. package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-BCszel4v.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-DY5wr7cT.js} +7 -7
  92. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DY5wr7cT.js.map} +1 -1
  93. package/dist/MultiSelectMenu.js +1 -1
  94. package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-D3sfHivW.js} +5 -5
  95. package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-D3sfHivW.js.map} +1 -1
  96. package/dist/{NumberField-D5ZzEHg1.js → NumberField-CrvEEy_h.js} +4 -4
  97. package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CrvEEy_h.js.map} +1 -1
  98. package/dist/NumberField.js +1 -1
  99. package/dist/{Page-B2HZzNGP.js → Page-CS6x6C7Y.js} +18 -187
  100. package/dist/Page-CS6x6C7Y.js.map +1 -0
  101. package/dist/Page.js +1 -1
  102. package/dist/{Pagination-CAgXtt9t.js → Pagination-DianLtHs.js} +5 -5
  103. package/dist/{Pagination-CAgXtt9t.js.map → Pagination-DianLtHs.js.map} +1 -1
  104. package/dist/Pagination.js +1 -1
  105. package/dist/{Popover-CjL2ixjB.js → Popover-BsEwcuu4.js} +2 -2
  106. package/dist/{Popover-CjL2ixjB.js.map → Popover-BsEwcuu4.js.map} +1 -1
  107. package/dist/Popover.js +1 -1
  108. package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-0pebwBJ0.js} +2 -2
  109. package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-0pebwBJ0.js.map} +1 -1
  110. package/dist/ProgressBar.js +1 -1
  111. package/dist/{Radio-_ftIQSru.js → Radio-BxXN612_.js} +3 -3
  112. package/dist/{Radio-_ftIQSru.js.map → Radio-BxXN612_.js.map} +1 -1
  113. package/dist/{Radio-C2BJqWlV.js → Radio-CU2--1uW.js} +2 -2
  114. package/dist/{Radio-C2BJqWlV.js.map → Radio-CU2--1uW.js.map} +1 -1
  115. package/dist/Radio.js +1 -1
  116. package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-Dnc7vOjq.js} +18831 -20238
  117. package/dist/RichTextEditor-Dnc7vOjq.js.map +1 -0
  118. package/dist/RichTextEditor.js +1 -1
  119. package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-BWlE7UnI.js} +10 -24
  120. package/dist/SavedFiltersButton-BWlE7UnI.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-D2PAyR7T.js} +3 -3
  126. package/dist/{SelectCard-BwIbfore.js.map → SelectCard-D2PAyR7T.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-BXJJQ0zt.js} +2 -2
  130. package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BXJJQ0zt.js.map} +1 -1
  131. package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-CkWoMhrv.js} +6 -6
  132. package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-CkWoMhrv.js.map} +1 -1
  133. package/dist/SelectMenu.js +1 -1
  134. package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-C-6mULc_.js} +5 -5
  135. package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-C-6mULc_.js.map} +1 -1
  136. package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-pAkVhulQ.js} +2 -2
  137. package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-pAkVhulQ.js.map} +1 -1
  138. package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B9WUUdIu.js} +2 -2
  139. package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B9WUUdIu.js.map} +1 -1
  140. package/dist/SelectTrigger.js +1 -1
  141. package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-Dq7QDlPS.js} +4 -4
  142. package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-Dq7QDlPS.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-BS4bw5KF.js} +2 -2
  147. package/dist/{Switch-DWq4QI8M.js.map → Switch-BS4bw5KF.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-B_-Ldn9K.js} +2 -2
  154. package/dist/{Text-dONmlARH.js.map → Text-B_-Ldn9K.js.map} +1 -1
  155. package/dist/Text.js +1 -1
  156. package/dist/{TextField-CtXjbtqa.js → TextField-B6tVKoxq.js} +2 -2
  157. package/dist/{TextField-CtXjbtqa.js.map → TextField-B6tVKoxq.js.map} +1 -1
  158. package/dist/{TextField-CQ7e3mC4.js → TextField-DxQ6-IhP.js} +3 -3
  159. package/dist/{TextField-CQ7e3mC4.js.map → TextField-DxQ6-IhP.js.map} +1 -1
  160. package/dist/TextField.js +1 -1
  161. package/dist/{Textarea-DGVHQktZ.js → Textarea-oChzBuWz.js} +3 -3
  162. package/dist/{Textarea-DGVHQktZ.js.map → Textarea-oChzBuWz.js.map} +1 -1
  163. package/dist/Textarea.js +1 -1
  164. package/dist/{TimeField-AttXPsQw.js → TimeField-Dq7l8xNU.js} +4 -4
  165. package/dist/{TimeField-AttXPsQw.js.map → TimeField-Dq7l8xNU.js.map} +1 -1
  166. package/dist/TimeField.js +1 -1
  167. package/dist/Toast.js +2 -2
  168. package/dist/{Toaster-DYO8NLTo.js → Toaster-CsZkAOVn.js} +2 -2
  169. package/dist/{Toaster-DYO8NLTo.js.map → Toaster-CsZkAOVn.js.map} +1 -1
  170. package/dist/{Toaster-CNtAl-tF.js → Toaster-oK4dSBPK.js} +4 -4
  171. package/dist/{Toaster-CNtAl-tF.js.map → Toaster-oK4dSBPK.js.map} +1 -1
  172. package/dist/{Toolbar-BIbbaCxh.js → Toolbar-Bp-A2P4L.js} +5 -5
  173. package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-Bp-A2P4L.js.map} +1 -1
  174. package/dist/{Toolbar-B_lHD0c2.js → Toolbar-Do8KEjJJ.js} +11 -105
  175. package/dist/Toolbar-Do8KEjJJ.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-BXfLbDBM.js} +7 -7
  181. package/dist/TreeSelectFieldSync-BXfLbDBM.js.map +1 -0
  182. package/dist/TreeSelectMenu.js +1 -1
  183. package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D7fQIyHr.js} +4 -4
  184. package/dist/TreeSelectMenuSync-D7fQIyHr.js.map +1 -0
  185. package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-Dkh84OCF.js} +10 -19
  186. package/dist/TypeaheadTextField-Dkh84OCF.js.map +1 -0
  187. package/dist/TypeaheadTextField.js +1 -1
  188. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-7y8xhacx.js} +2 -2
  189. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-7y8xhacx.js.map} +1 -1
  190. package/dist/assets/icons/material.ts +184 -184
  191. package/dist/assets/icons/st.ts +9 -9
  192. package/dist/beta.js +18 -18
  193. package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-BVJZ01mE.js} +2 -2
  194. package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-BVJZ01mE.js.map} +1 -1
  195. package/dist/{filter-state-DW8YmRHb.js → filter-state-CPCn-owS.js} +55 -37
  196. package/dist/filter-state-CPCn-owS.js.map +1 -0
  197. package/dist/{index-Cw2HFh0a.js → index-D1WfdON1.js} +1549 -1582
  198. package/dist/index-D1WfdON1.js.map +1 -0
  199. package/dist/index.js +48 -48
  200. package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
  201. package/dist/react-ORV84FjM.js.map +1 -0
  202. package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
  203. package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
  204. package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
  205. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
  206. package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
  207. package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
  208. package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
  209. package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
  210. package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
  211. package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
  212. package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
  213. package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
  214. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
  215. package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
  216. package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
  217. package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
  218. package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
  219. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
  220. package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
  221. package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
  222. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
  223. package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
  224. package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
  225. package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
  226. package/dist/src/beta/components/Page/Page.d.ts +8 -166
  227. package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
  228. package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
  229. package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
  230. package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
  231. package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
  232. package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
  233. package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
  234. package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
  235. package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
  236. package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
  237. package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
  238. package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
  239. package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
  240. package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
  241. package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
  242. package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
  243. package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  244. package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
  245. package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
  246. package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
  247. package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
  248. package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
  249. package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
  250. package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
  251. package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
  252. package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
  253. package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
  254. package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
  255. package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
  256. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
  257. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
  258. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
  259. package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
  260. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
  261. package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
  262. package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
  263. package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
  264. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
  265. package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
  266. package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
  267. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
  268. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
  269. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
  270. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
  271. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
  272. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
  273. package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
  274. package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
  275. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
  276. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
  277. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
  278. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
  279. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
  280. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
  281. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
  282. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
  283. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
  284. package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
  285. package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
  286. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
  287. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
  288. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
  289. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
  290. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
  291. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
  292. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
  293. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
  294. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
  295. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
  296. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
  297. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
  298. package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
  299. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
  300. package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
  301. package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
  302. package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
  303. package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
  304. package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
  305. package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
  306. package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
  307. package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
  308. package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
  309. package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
  310. package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
  311. package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
  312. package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
  313. package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
  314. package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
  315. package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
  316. package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
  317. package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
  318. package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
  319. package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
  320. package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
  321. package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
  322. package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
  323. package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
  324. package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
  325. package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
  326. package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
  327. package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
  328. package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
  329. package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
  330. package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
  331. package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
  332. package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
  333. package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
  334. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
  335. package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
  336. package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
  337. package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
  338. package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
  339. package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
  340. package/dist/src/beta/components/Table/types.d.ts +183 -462
  341. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
  342. package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
  343. package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
  344. package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
  345. package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
  346. package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
  347. package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
  348. package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
  349. package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
  350. package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
  351. package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
  352. package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
  353. package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
  354. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
  355. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
  356. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
  357. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
  358. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
  359. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
  360. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
  361. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
  362. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
  363. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
  364. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
  365. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
  366. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
  367. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
  368. package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
  369. package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
  370. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
  371. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
  372. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
  373. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
  374. package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
  375. package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
  376. package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
  377. package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
  378. package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-CcwDEdw0.js} +2 -2
  379. package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-CcwDEdw0.js.map} +1 -1
  380. package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ubEYuRGQ.js} +4 -4
  381. package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ubEYuRGQ.js.map} +1 -1
  382. package/dist/{treeSync-CDrgjuw8.js → treeSync-CkjyJSVq.js} +5 -11
  383. package/dist/treeSync-CkjyJSVq.js.map +1 -0
  384. package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
  385. package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
  386. package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-DOXav1An.js} +3 -3
  387. package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-DOXav1An.js.map} +1 -1
  388. package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-15_SoeWw.js} +4 -4
  389. package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-15_SoeWw.js.map} +1 -1
  390. package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-DiRbyJFp.js} +4 -4
  391. package/dist/useInvalidateOnOptionsChange-DiRbyJFp.js.map +1 -0
  392. package/package.json +22 -20
  393. package/dist/Button-Dwh_Nd4l.js.map +0 -1
  394. package/dist/Calendar-BUFPc5UN.js.map +0 -1
  395. package/dist/Calendar-CEf7ke8X.js.map +0 -1
  396. package/dist/DataTable-DbuXfDNJ.js.map +0 -1
  397. package/dist/Details-oM-nR4ju.js.map +0 -1
  398. package/dist/FilterBar-CKYf-1oU.js.map +0 -1
  399. package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
  400. package/dist/Page-B2HZzNGP.js.map +0 -1
  401. package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
  402. package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
  403. package/dist/Tab-mXEQ0ifM.js.map +0 -1
  404. package/dist/Toolbar-B_lHD0c2.js.map +0 -1
  405. package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
  406. package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
  407. package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
  408. package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
  409. package/dist/filter-state-DW8YmRHb.js.map +0 -1
  410. package/dist/index-Cw2HFh0a.js.map +0 -1
  411. package/dist/proxy-DEehATlA.js.map +0 -1
  412. package/dist/treeSync-CDrgjuw8.js.map +0 -1
  413. package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
  414. package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
package/dist/AiMark.js CHANGED
@@ -1,2 +1,2 @@
1
- export { A as AiMark } from './AiMark-D57s1e0T.js';
1
+ export { A as AiMark } from './AiMark-N8UfGfcV.js';
2
2
  //# sourceMappingURL=AiMark.js.map
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { S as SvgClose } from './close-DZj38AEh.js';
4
- import { B as Button } from './Button-Dwh_Nd4l.js';
5
- import { T as Text } from './Text-dONmlARH.js';
4
+ import { B as Button } from './Button-Dn6-01xl.js';
5
+ import { T as Text } from './Text-B_-Ldn9K.js';
6
6
  import { c as cx } from './index-De1g9FRV.js';
7
7
  import { S as StatusIcon } from './StatusIcon-BqorkNJf.js';
8
8
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -113,4 +113,4 @@ const Alert = forwardRef(
113
113
  Alert.displayName = "Alert";
114
114
 
115
115
  export { Alert as A };
116
- //# sourceMappingURL=Alert-DExHiAbM.js.map
116
+ //# sourceMappingURL=Alert-DTKIlitZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert-DExHiAbM.js","sources":["../src/components/Alert/Alert.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Button from \"../Button\";\nimport { Text } from \"../Text\";\nimport type { AiMarkWithTooltipOrPopoverConfig } from \"../../types/ai-marks\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\nimport {\n StatusIcon,\n type StatusIconVariant,\n} from \"../../internal/components/StatusIcon/StatusIcon\";\n\nexport type AlertProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n OnCloseProps & {\n /** Visual style. Defaults to `info`. */\n status?: Status;\n /** Rendered as a small headline. Children go below as body copy. */\n title: string;\n /**\n * When set, shows the AI mark after the title.\n * `true` is sparkle-only; pass tooltip/popover config for the richer mark.\n */\n aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;\n } & DataTrackingId;\n\n/**\n * Inline status banner. Optional `onClose` makes it dismissible.\n */\nexport const Alert = forwardRef(\n (props: AlertProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n title,\n status = \"info\",\n style,\n onClose,\n aiMark,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Alert\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const alertCx = cx(styles[\"alert\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n data-anv=\"alert\"\n role=\"status\"\n className={alertCx}\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <div className={styles[\"top\"]}>\n <span className={styles[\"title-container\"]}>\n <StatusIcon\n className={styles[\"status-icon\"]}\n size=\"medium\"\n variant={\n status === \"danger\" ? \"error\" : (status as StatusIconVariant)\n }\n />\n <Text\n variant=\"headline\"\n el=\"h6\"\n size=\"small\"\n className={styles[\"title\"]}\n aiMark={aiMark || undefined}\n >\n {title}\n </Text>\n </span>\n {!!onClose && (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} alert`}\n />\n </span>\n )}\n </div>\n {children && <div className={styles[\"content\"]}>{children}</div>}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["Close"],"mappings":"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"}
1
+ {"version":3,"file":"Alert-DTKIlitZ.js","sources":["../src/components/Alert/Alert.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Button from \"../Button\";\nimport { Text } from \"../Text\";\nimport type { AiMarkWithTooltipOrPopoverConfig } from \"../../types/ai-marks\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\nimport {\n StatusIcon,\n type StatusIconVariant,\n} from \"../../internal/components/StatusIcon/StatusIcon\";\n\nexport type AlertProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n OnCloseProps & {\n /** Visual style. Defaults to `info`. */\n status?: Status;\n /** Rendered as a small headline. Children go below as body copy. */\n title: string;\n /**\n * When set, shows the AI mark after the title.\n * `true` is sparkle-only; pass tooltip/popover config for the richer mark.\n */\n aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;\n } & DataTrackingId;\n\n/**\n * Inline status banner. Optional `onClose` makes it dismissible.\n */\nexport const Alert = forwardRef(\n (props: AlertProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n title,\n status = \"info\",\n style,\n onClose,\n aiMark,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Alert\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const alertCx = cx(styles[\"alert\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n data-anv=\"alert\"\n role=\"status\"\n className={alertCx}\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <div className={styles[\"top\"]}>\n <span className={styles[\"title-container\"]}>\n <StatusIcon\n className={styles[\"status-icon\"]}\n size=\"medium\"\n variant={\n status === \"danger\" ? \"error\" : (status as StatusIconVariant)\n }\n />\n <Text\n variant=\"headline\"\n el=\"h6\"\n size=\"small\"\n className={styles[\"title\"]}\n aiMark={aiMark || undefined}\n >\n {title}\n </Text>\n </span>\n {!!onClose && (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} alert`}\n />\n </span>\n )}\n </div>\n {children && <div className={styles[\"content\"]}>{children}</div>}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["Close"],"mappings":"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"}
package/dist/Alert.js CHANGED
@@ -1,2 +1,2 @@
1
- export { A as Alert, A as default } from './Alert-DExHiAbM.js';
1
+ export { A as Alert, A as default } from './Alert-DTKIlitZ.js';
2
2
  //# sourceMappingURL=Alert.js.map
@@ -4,7 +4,7 @@ import { forwardRef } from 'react';
4
4
  import { S as SvgClose } from './close-DZj38AEh.js';
5
5
  import { S as SvgInfo } from './info-CYpG6tcI.js';
6
6
  import { a as SvgError, S as SvgCheckCircle } from './check_circle-C3DDoVXp.js';
7
- import { B as Button } from './Button-Dwh_Nd4l.js';
7
+ import { B as Button } from './Button-Dn6-01xl.js';
8
8
  import { I as Icon } from './Icon-B5zwN7GD.js';
9
9
  import { c as cx } from './index-De1g9FRV.js';
10
10
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -107,4 +107,4 @@ const Announcement = forwardRef(
107
107
  Announcement.displayName = "Announcement";
108
108
 
109
109
  export { Announcement as A };
110
- //# sourceMappingURL=Announcement-CGTv6M31.js.map
110
+ //# sourceMappingURL=Announcement-Cnz80WGx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement-CGTv6M31.js","sources":["../../hammer-icon/mdi/round/warning.svg","../src/components/Announcement/Announcement.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarning = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M4.47 21h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18c-.77 1.33.19 3 1.73 3zM12 14c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z\" }));\nexport default SvgWarning;\n","import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Button from \"../Button\";\nimport Icon from \"../Icon\";\n\nimport cx from \"classnames\";\nimport styles from \"./Announcement.module.scss\";\n\nexport type AnnouncementProps = ComponentPropsWithoutRef<\"div\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> &\n OnCloseProps & {\n /** Visual style. Defaults to `info`. */\n status?: Status;\n /** Prominent heading next to the status icon. Children render after it. */\n title: string;\n } & DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AnnouncementProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Full-width status message with a large status icon. Optional `onClose` makes\n * it dismissible.\n */\nexport const Announcement = forwardRef(\n (props: AnnouncementProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n title,\n status = \"info\",\n children,\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Announcement\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const AnnouncementCx = cx(styles[\"announcement\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n role=\"status\"\n className={AnnouncementCx}\n data-anv=\"announcement\"\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <span className={styles[\"title-container\"]}>\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status]}\n />\n\n <span className={styles[\"title\"]}>{title}</span>\n </span>\n\n {children}\n\n {onClose ? (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} announcement`}\n />\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nAnnouncement.displayName = \"Announcement\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":"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"}
1
+ {"version":3,"file":"Announcement-Cnz80WGx.js","sources":["../../hammer-icon/mdi/round/warning.svg","../src/components/Announcement/Announcement.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarning = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M4.47 21h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18c-.77 1.33.19 3 1.73 3zM12 14c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z\" }));\nexport default SvgWarning;\n","import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Button from \"../Button\";\nimport Icon from \"../Icon\";\n\nimport cx from \"classnames\";\nimport styles from \"./Announcement.module.scss\";\n\nexport type AnnouncementProps = ComponentPropsWithoutRef<\"div\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> &\n OnCloseProps & {\n /** Visual style. Defaults to `info`. */\n status?: Status;\n /** Prominent heading next to the status icon. Children render after it. */\n title: string;\n } & DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AnnouncementProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Full-width status message with a large status icon. Optional `onClose` makes\n * it dismissible.\n */\nexport const Announcement = forwardRef(\n (props: AnnouncementProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n title,\n status = \"info\",\n children,\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Announcement\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const AnnouncementCx = cx(styles[\"announcement\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n role=\"status\"\n className={AnnouncementCx}\n data-anv=\"announcement\"\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <span className={styles[\"title-container\"]}>\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status]}\n />\n\n <span className={styles[\"title\"]}>{title}</span>\n </span>\n\n {children}\n\n {onClose ? (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} announcement`}\n />\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nAnnouncement.displayName = \"Announcement\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { A as Announcement, A as default } from './Announcement-CGTv6M31.js';
1
+ export { A as Announcement, A as default } from './Announcement-Cnz80WGx.js';
2
2
  //# sourceMappingURL=Announcement.js.map
@@ -4,7 +4,7 @@ import { forwardRef, Children, cloneElement } from 'react';
4
4
  import { c as cx } from './index-De1g9FRV.js';
5
5
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
6
6
  import { L as Link } from './Link-D7ycmfQ_.js';
7
- import { T as Text } from './Text-dONmlARH.js';
7
+ import { T as Text } from './Text-B_-Ldn9K.js';
8
8
  import { I as Icon } from './Icon-B5zwN7GD.js';
9
9
 
10
10
  import './Breadcrumbs.css';const SvgChevronRight = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }));
@@ -83,4 +83,4 @@ const Breadcrumbs = Object.assign(
83
83
  Breadcrumbs.displayName = "Breadcrumbs";
84
84
 
85
85
  export { Breadcrumbs as B };
86
- //# sourceMappingURL=Breadcrumbs-DtLSS0PJ.js.map
86
+ //# sourceMappingURL=Breadcrumbs-B8UGx4Mq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-DtLSS0PJ.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/** Link for a navigable step before the current page. */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n type ComponentPropsWithoutRef,\n type ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, type BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Ordered trail whose final child renders as current-page text instead of\n * a link.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\n/**\n * Navigation trail that renders its final item as the current page.\n */\nexport const Breadcrumbs = Object.assign(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text inline size=\"small\" className={styles[\"current\"]}>\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n ),\n {\n /** Link for a navigable step before the current page. */\n Link: BreadcrumbsLink,\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-B8UGx4Mq.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/** Link for a navigable step before the current page. */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n type ComponentPropsWithoutRef,\n type ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, type BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Ordered trail whose final child renders as current-page text instead of\n * a link.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\n/**\n * Navigation trail that renders its final item as the current page.\n */\nexport const Breadcrumbs = Object.assign(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text inline size=\"small\" className={styles[\"current\"]}>\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n ),\n {\n /** Link for a navigable step before the current page. */\n Link: BreadcrumbsLink,\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { B as Breadcrumbs, B as default } from './Breadcrumbs-DtLSS0PJ.js';
1
+ export { B as Breadcrumbs, B as default } from './Breadcrumbs-B8UGx4Mq.js';
2
2
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -4,9 +4,9 @@ import { useContext, useState, useEffect, useMemo, memo, useId, forwardRef, useC
4
4
  import { I as Icon } from './Icon-B5zwN7GD.js';
5
5
  import { S as Spinner } from './Spinner-B7tTWcP6.js';
6
6
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
7
+ import { d as isEasingArray, e as interpolate$1, V as VisualElement, f as createBox, u as useConstant, g as motionValue, M as MotionConfigContext, b as useIsomorphicLayoutEffect, j as frame, k as cancelFrame, l as collectMotionValues, r as resolveElements, n as mixNumber, o as removeItem, q as isMotionValue, s as defaultOffset, t as createGeneratorEasing, v as fillOffset, x as reverseEasing, y as isGenerator, z as secondsToMilliseconds, A as warning, B as progress, C as isSVGElement, D as isSVGSVGElement, S as SVGVisualElement, H as HTMLVisualElement, E as visualElementStore, F as animateSingleValue, G as animateTarget, I as invariant, J as spring, m as motion } from './react-ORV84FjM.js';
7
8
  import { u as usePrefersReducedMotion } from './usePrefersReducedMotion-DR9B_D6w.js';
8
9
  import { u as useTheme } from './useTheme-B4i6a3bM.js';
9
- import { d as isEasingArray, e as interpolate$1, u as useConstant, f as motionValue, M as MotionConfigContext, c as useIsomorphicLayoutEffect, g as frame, j as cancelFrame, k as collectMotionValues, r as resolveElements, l as mixNumber, n as removeItem, o as isMotionValue, q as defaultOffset, s as createGeneratorEasing, t as fillOffset, v as isGenerator, x as secondsToMilliseconds, y as invariant, z as progress, V as VisualElement, A as createBox, B as isSVGElement, C as isSVGSVGElement, S as SVGVisualElement, H as HTMLVisualElement, D as visualElementStore, E as animateSingleValue, F as animateTarget, G as spring, m as motion } from './proxy-DEehATlA.js';
10
10
  import { c as cx } from './index-De1g9FRV.js';
11
11
  import { s as styles } from './Button.module-BuOc7iPY.js';
12
12
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -18,6 +18,7 @@ const wrap = (min, max, v) => {
18
18
  return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;
19
19
  };
20
20
 
21
+ /*#__NO_SIDE_EFFECTS__*/
21
22
  function getEasingForSegment(easing, i) {
22
23
  return isEasingArray(easing) ? easing[wrap(0, easing.length, i)] : easing;
23
24
  }
@@ -70,11 +71,10 @@ class GroupAnimation {
70
71
  return this.getAll("startTime");
71
72
  }
72
73
  get duration() {
73
- let max = 0;
74
- for (let i = 0; i < this.animations.length; i++) {
75
- max = Math.max(max, this.animations[i].duration);
76
- }
77
- return max;
74
+ return getMax(this.animations, "duration");
75
+ }
76
+ get iterationDuration() {
77
+ return getMax(this.animations, "iterationDuration");
78
78
  }
79
79
  runAll(methodName) {
80
80
  this.animations.forEach((controls) => controls[methodName]());
@@ -92,6 +92,16 @@ class GroupAnimation {
92
92
  this.runAll("complete");
93
93
  }
94
94
  }
95
+ function getMax(animations, propName) {
96
+ let max = 0;
97
+ for (let i = 0; i < animations.length; i++) {
98
+ const value = animations[i][propName];
99
+ if (value !== null && value > max) {
100
+ max = value;
101
+ }
102
+ }
103
+ return max;
104
+ }
95
105
 
96
106
  class GroupAnimationWithThen extends GroupAnimation {
97
107
  then(onResolve, _onReject) {
@@ -110,6 +120,43 @@ function transform(...args) {
110
120
  return useImmediate ? interpolator(inputValue) : interpolator;
111
121
  }
112
122
 
123
+ function isObjectKey(key, object) {
124
+ return key in object;
125
+ }
126
+ class ObjectVisualElement extends VisualElement {
127
+ constructor() {
128
+ super(...arguments);
129
+ this.type = "object";
130
+ }
131
+ readValueFromInstance(instance, key) {
132
+ if (isObjectKey(key, instance)) {
133
+ const value = instance[key];
134
+ if (typeof value === "string" || typeof value === "number") {
135
+ return value;
136
+ }
137
+ }
138
+ return undefined;
139
+ }
140
+ getBaseTargetFromProps() {
141
+ return undefined;
142
+ }
143
+ removeValueFromRenderState(key, renderState) {
144
+ delete renderState.output[key];
145
+ }
146
+ measureInstanceViewportBox() {
147
+ return createBox();
148
+ }
149
+ build(renderState, latestValues) {
150
+ Object.assign(renderState.output, latestValues);
151
+ }
152
+ renderInstance(instance, { output }) {
153
+ Object.assign(instance, output);
154
+ }
155
+ sortInstanceNodePosition() {
156
+ return 0;
157
+ }
158
+ }
159
+
113
160
  /**
114
161
  * Creates a `MotionValue` to track the state and velocity of a value.
115
162
  *
@@ -189,16 +236,44 @@ function useComputed(compute) {
189
236
  return value;
190
237
  }
191
238
 
192
- function useTransform(input, inputRangeOrTransformer, outputRange, options) {
239
+ function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
193
240
  if (typeof input === "function") {
194
241
  return useComputed(input);
195
242
  }
243
+ /**
244
+ * Detect if outputRangeOrMap is an output map (object with keys)
245
+ * rather than an output range (array).
246
+ */
247
+ const isOutputMap = outputRangeOrMap !== undefined &&
248
+ !Array.isArray(outputRangeOrMap) &&
249
+ typeof inputRangeOrTransformer !== "function";
250
+ if (isOutputMap) {
251
+ return useMapTransform(input, inputRangeOrTransformer, outputRangeOrMap, options);
252
+ }
253
+ const outputRange = outputRangeOrMap;
196
254
  const transformer = typeof inputRangeOrTransformer === "function"
197
255
  ? inputRangeOrTransformer
198
256
  : transform(inputRangeOrTransformer, outputRange, options);
199
- return Array.isArray(input)
257
+ const result = Array.isArray(input)
200
258
  ? useListTransform(input, transformer)
201
259
  : useListTransform([input], ([latest]) => transformer(latest));
260
+ const inputAccelerate = !Array.isArray(input)
261
+ ? input.accelerate
262
+ : undefined;
263
+ if (inputAccelerate &&
264
+ !inputAccelerate.isTransformed &&
265
+ typeof inputRangeOrTransformer !== "function" &&
266
+ Array.isArray(outputRangeOrMap) &&
267
+ options?.clamp !== false) {
268
+ result.accelerate = {
269
+ ...inputAccelerate,
270
+ times: inputRangeOrTransformer,
271
+ keyframes: outputRangeOrMap,
272
+ isTransformed: true,
273
+ ...(options?.ease ? { ease: options.ease } : {}),
274
+ };
275
+ }
276
+ return result;
202
277
  }
203
278
  function useListTransform(values, transformer) {
204
279
  const latest = useConstant(() => []);
@@ -211,12 +286,26 @@ function useListTransform(values, transformer) {
211
286
  return transformer(latest);
212
287
  });
213
288
  }
289
+ function useMapTransform(inputValue, inputRange, outputMap, options) {
290
+ /**
291
+ * Capture keys once to ensure hooks are called in consistent order.
292
+ */
293
+ const keys = useConstant(() => Object.keys(outputMap));
294
+ const output = useConstant(() => ({}));
295
+ for (const key of keys) {
296
+ output[key] = useTransform(inputValue, inputRange, outputMap[key], options);
297
+ }
298
+ return output;
299
+ }
214
300
 
215
301
  function isDOMKeyframes(keyframes) {
216
302
  return typeof keyframes === "object" && !Array.isArray(keyframes);
217
303
  }
218
304
 
219
305
  function resolveSubjects(subject, keyframes, scope, selectorCache) {
306
+ if (subject == null) {
307
+ return [];
308
+ }
220
309
  if (typeof subject === "string" && isDOMKeyframes(keyframes)) {
221
310
  return resolveElements(subject, scope, selectorCache);
222
311
  }
@@ -224,15 +313,15 @@ function resolveSubjects(subject, keyframes, scope, selectorCache) {
224
313
  return Array.from(subject);
225
314
  }
226
315
  else if (Array.isArray(subject)) {
227
- return subject;
316
+ return subject.filter((s) => s != null);
228
317
  }
229
318
  else {
230
319
  return [subject];
231
320
  }
232
321
  }
233
322
 
234
- function calculateRepeatDuration(duration, repeat, _repeatDelay) {
235
- return duration * (repeat + 1);
323
+ function calculateRepeatDuration(duration, repeat, repeatDelay) {
324
+ return duration * (repeat + 1) + repeatDelay * repeat;
236
325
  }
237
326
 
238
327
  /**
@@ -288,10 +377,14 @@ function addKeyframes(sequence, keyframes, easing, offset, startTime, endTime) {
288
377
  * if we have original times of [0, 0.5, 1] then our repeated times will
289
378
  * be [0, 0.5, 1, 1, 1.5, 2]. Loop over the times and scale them back
290
379
  * down to a 0-1 scale.
380
+ *
381
+ * `repeatDelayUnits` is the repeatDelay expressed in units of a single
382
+ * iteration's duration, so the total span equals `(repeat + 1) + repeat * repeatDelayUnits`.
291
383
  */
292
- function normalizeTimes(times, repeat) {
384
+ function normalizeTimes(times, repeat, repeatDelayUnits = 0) {
385
+ const totalUnits = repeat + 1 + repeat * repeatDelayUnits;
293
386
  for (let i = 0; i < times.length; i++) {
294
- times[i] = times[i] / (repeat + 1);
387
+ times[i] = times[i] / totalUnits;
295
388
  }
296
389
  }
297
390
 
@@ -352,7 +445,7 @@ function createAnimationsFromSequence(sequence, { defaultTransition = {}, ...seq
352
445
  let maxDuration = 0;
353
446
  const resolveValueSequence = (valueKeyframes, valueTransition, valueSequence, elementIndex = 0, numSubjects = 0) => {
354
447
  const valueKeyframesAsList = keyframesAsList(valueKeyframes);
355
- const { delay = 0, times = defaultOffset(valueKeyframesAsList), type = "keyframes", repeat, repeatType, repeatDelay = 0, ...remainingTransition } = valueTransition;
448
+ const { delay = 0, times = defaultOffset(valueKeyframesAsList), type = defaultTransition.type || "keyframes", repeat, repeatType, repeatDelay = 0, ...remainingTransition } = valueTransition;
356
449
  let { ease = defaultTransition.ease || "easeOut", duration } = valueTransition;
357
450
  /**
358
451
  * Resolve stagger() if defined.
@@ -380,7 +473,10 @@ function createAnimationsFromSequence(sequence, { defaultTransition = {}, ...seq
380
473
  const delta = valueKeyframesAsList[1] - valueKeyframesAsList[0];
381
474
  absoluteDelta = Math.abs(delta);
382
475
  }
383
- const springTransition = { ...remainingTransition };
476
+ const springTransition = {
477
+ ...defaultTransition,
478
+ ...remainingTransition,
479
+ };
384
480
  if (duration !== undefined) {
385
481
  springTransition.duration = secondsToMilliseconds(duration);
386
482
  }
@@ -409,25 +505,73 @@ function createAnimationsFromSequence(sequence, { defaultTransition = {}, ...seq
409
505
  valueKeyframesAsList.length === 1 &&
410
506
  valueKeyframesAsList.unshift(null);
411
507
  /**
412
- * Handle repeat options
508
+ * Segments can't express `repeat: Infinity` or very large
509
+ * counts — they'd leave dead time after the segment or
510
+ * explode the keyframe array. Ignore with a warning.
413
511
  */
414
512
  if (repeat) {
415
- invariant(repeat < MAX_REPEAT, "Repeat count too high, must be less than 20", "repeat-count-high");
416
- duration = calculateRepeatDuration(duration, repeat);
513
+ warning(repeat < MAX_REPEAT, `Sequence segments can't repeat ${repeat} times — ignoring repeat option. Use a value below ${MAX_REPEAT} or apply repeat at the sequence level instead.`);
514
+ }
515
+ if (repeat && repeat < MAX_REPEAT) {
516
+ /**
517
+ * Express repeatDelay in units of a single iteration's duration
518
+ * so it can be added to the per-iteration time offsets below
519
+ * before they're normalized to 0-1.
520
+ */
521
+ const repeatDelayUnits = duration > 0 ? repeatDelay / duration : 0;
522
+ duration = calculateRepeatDuration(duration, repeat, repeatDelay);
417
523
  const originalKeyframes = [...valueKeyframesAsList];
418
524
  const originalTimes = [...times];
419
525
  ease = Array.isArray(ease) ? [...ease] : [ease];
420
526
  const originalEase = [...ease];
527
+ /**
528
+ * For reverse/mirror, alternate iterations play the segment
529
+ * backwards. mirror matches JSAnimation's mirroredGenerator:
530
+ * reversed keyframes, easings unchanged. reverse matches
531
+ * JSAnimation's iterationProgress = 1 - p: reversed
532
+ * keyframes, easing array reversed AND each function easing
533
+ * mapped through reverseEasing (string easings unchanged —
534
+ * they're resolved later by the keyframes engine).
535
+ */
536
+ const isFlipping = repeatType === "reverse" || repeatType === "mirror";
537
+ let flippedKeyframes = originalKeyframes;
538
+ let flippedEases = originalEase;
539
+ if (isFlipping) {
540
+ flippedKeyframes = [...originalKeyframes].reverse();
541
+ if (repeatType === "reverse") {
542
+ flippedEases = [...originalEase]
543
+ .reverse()
544
+ .map((e) => typeof e === "function"
545
+ ? reverseEasing(e)
546
+ : e);
547
+ }
548
+ }
421
549
  for (let repeatIndex = 0; repeatIndex < repeat; repeatIndex++) {
422
- valueKeyframesAsList.push(...originalKeyframes);
423
- for (let keyframeIndex = 0; keyframeIndex < originalKeyframes.length; keyframeIndex++) {
424
- times.push(originalTimes[keyframeIndex] + (repeatIndex + 1));
550
+ const isFlipped = isFlipping && repeatIndex % 2 === 0;
551
+ const iterKeyframes = isFlipped
552
+ ? flippedKeyframes
553
+ : originalKeyframes;
554
+ const iterEase = isFlipped ? flippedEases : originalEase;
555
+ const iterStartOffset = (repeatIndex + 1) * (1 + repeatDelayUnits);
556
+ /**
557
+ * If repeatDelay is set, hold the previous iteration's
558
+ * final value through the delay by inserting a keyframe
559
+ * at the moment the next iteration begins.
560
+ */
561
+ if (repeatDelayUnits > 0) {
562
+ valueKeyframesAsList.push(valueKeyframesAsList[valueKeyframesAsList.length - 1]);
563
+ times.push(iterStartOffset);
564
+ ease.push("linear");
565
+ }
566
+ valueKeyframesAsList.push(...iterKeyframes);
567
+ for (let keyframeIndex = 0; keyframeIndex < iterKeyframes.length; keyframeIndex++) {
568
+ times.push(originalTimes[keyframeIndex] + iterStartOffset);
425
569
  ease.push(keyframeIndex === 0
426
570
  ? "linear"
427
- : getEasingForSegment(originalEase, keyframeIndex - 1));
571
+ : getEasingForSegment(iterEase, keyframeIndex - 1));
428
572
  }
429
573
  }
430
- normalizeTimes(times, repeat);
574
+ normalizeTimes(times, repeat, repeatDelayUnits);
431
575
  }
432
576
  const targetTime = startTime + duration;
433
577
  /**
@@ -513,8 +657,15 @@ function createAnimationsFromSequence(sequence, { defaultTransition = {}, ...seq
513
657
  }
514
658
  const definition = animationDefinitions.get(element);
515
659
  definition.keyframes[key] = keyframes;
660
+ /**
661
+ * Exclude `type` from defaultTransition since springs have been
662
+ * converted to duration-based easing functions in resolveValueSequence.
663
+ * Including `type: "spring"` would cause JSAnimation to error when
664
+ * the merged keyframes array has more than 2 keyframes.
665
+ */
666
+ const { type: _type, ...remainingDefaultTransition } = defaultTransition;
516
667
  definition.transition[key] = {
517
- ...defaultTransition,
668
+ ...remainingDefaultTransition,
518
669
  duration: totalDuration,
519
670
  ease: valueEasing,
520
671
  times: valueOffset,
@@ -547,43 +698,6 @@ function getValueTransition(transition, key) {
547
698
  const isNumber = (keyframe) => typeof keyframe === "number";
548
699
  const isNumberKeyframesArray = (keyframes) => keyframes.every(isNumber);
549
700
 
550
- function isObjectKey(key, object) {
551
- return key in object;
552
- }
553
- class ObjectVisualElement extends VisualElement {
554
- constructor() {
555
- super(...arguments);
556
- this.type = "object";
557
- }
558
- readValueFromInstance(instance, key) {
559
- if (isObjectKey(key, instance)) {
560
- const value = instance[key];
561
- if (typeof value === "string" || typeof value === "number") {
562
- return value;
563
- }
564
- }
565
- return undefined;
566
- }
567
- getBaseTargetFromProps() {
568
- return undefined;
569
- }
570
- removeValueFromRenderState(key, renderState) {
571
- delete renderState.output[key];
572
- }
573
- measureInstanceViewportBox() {
574
- return createBox();
575
- }
576
- build(renderState, latestValues) {
577
- Object.assign(renderState.output, latestValues);
578
- }
579
- renderInstance(instance, { output }) {
580
- Object.assign(instance, output);
581
- }
582
- sortInstanceNodePosition() {
583
- return 0;
584
- }
585
- }
586
-
587
701
  function createDOMVisualElement(element) {
588
702
  const options = {
589
703
  presenceContext: null,
@@ -637,12 +751,15 @@ function animateSubject(subject, keyframes, options, scope) {
637
751
  : keyframes, options ? options.default || options : options));
638
752
  }
639
753
  else {
754
+ // Gracefully handle null/undefined subjects (e.g., from querySelector returning null)
755
+ if (subject == null) {
756
+ return animations;
757
+ }
640
758
  const subjects = resolveSubjects(subject, keyframes, scope);
641
759
  const numSubjects = subjects.length;
642
760
  invariant(Boolean(numSubjects), "No valid elements provided.", "no-valid-elements");
643
761
  for (let i = 0; i < numSubjects; i++) {
644
762
  const thisSubject = subjects[i];
645
- 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");
646
763
  const createVisualElement = thisSubject instanceof Element
647
764
  ? createDOMVisualElement
648
765
  : createObjectVisualElement;
@@ -666,7 +783,28 @@ function animateSubject(subject, keyframes, options, scope) {
666
783
 
667
784
  function animateSequence(sequence, options, scope) {
668
785
  const animations = [];
669
- const animationDefinitions = createAnimationsFromSequence(sequence, options, scope, { spring });
786
+ /**
787
+ * Pre-process: replace function segments with MotionValue segments,
788
+ * subscribe callbacks immediately
789
+ */
790
+ const processedSequence = sequence.map((segment) => {
791
+ if (Array.isArray(segment) && typeof segment[0] === "function") {
792
+ const callback = segment[0];
793
+ const mv = motionValue(0);
794
+ mv.on("change", callback);
795
+ if (segment.length === 1) {
796
+ return [mv, [0, 1]];
797
+ }
798
+ else if (segment.length === 2) {
799
+ return [mv, [0, 1], segment[1]];
800
+ }
801
+ else {
802
+ return [mv, segment[1], segment[2]];
803
+ }
804
+ }
805
+ return segment;
806
+ });
807
+ const animationDefinitions = createAnimationsFromSequence(processedSequence, options, scope, { spring });
670
808
  animationDefinitions.forEach(({ keyframes, transition }, subject) => {
671
809
  animations.push(...animateSubject(subject, keyframes, transition));
672
810
  });
@@ -680,19 +818,44 @@ function isSequence(value) {
680
818
  * Creates an animation function that is optionally scoped
681
819
  * to a specific element.
682
820
  */
683
- function createScopedAnimate(scope) {
821
+ function createScopedAnimate(options = {}) {
822
+ const { scope, reduceMotion, skipAnimations } = options;
684
823
  /**
685
824
  * Implementation
686
825
  */
687
826
  function scopedAnimate(subjectOrSequence, optionsOrKeyframes, options) {
688
827
  let animations = [];
828
+ let animationOnComplete;
829
+ const inherited = {};
830
+ if (reduceMotion !== undefined)
831
+ inherited.reduceMotion = reduceMotion;
832
+ if (skipAnimations !== undefined)
833
+ inherited.skipAnimations = skipAnimations;
689
834
  if (isSequence(subjectOrSequence)) {
690
- animations = animateSequence(subjectOrSequence, optionsOrKeyframes, scope);
835
+ const { onComplete, ...sequenceOptions } = optionsOrKeyframes || {};
836
+ if (typeof onComplete === "function") {
837
+ animationOnComplete = onComplete;
838
+ }
839
+ animations = animateSequence(subjectOrSequence, { ...inherited, ...sequenceOptions }, scope);
691
840
  }
692
841
  else {
693
- animations = animateSubject(subjectOrSequence, optionsOrKeyframes, options, scope);
842
+ // Extract top-level onComplete so it doesn't get applied per-value
843
+ const { onComplete, ...rest } = options || {};
844
+ if (typeof onComplete === "function") {
845
+ animationOnComplete = onComplete;
846
+ }
847
+ animations = animateSubject(subjectOrSequence, optionsOrKeyframes, { ...inherited, ...rest }, scope);
694
848
  }
695
849
  const animation = new GroupAnimationWithThen(animations);
850
+ if (animationOnComplete) {
851
+ animation.finished.then(animationOnComplete);
852
+ }
853
+ if (scope) {
854
+ scope.animations.push(animation);
855
+ animation.finished.then(() => {
856
+ removeItem(scope.animations, animation);
857
+ });
858
+ }
696
859
  return animation;
697
860
  }
698
861
  return scopedAnimate;
@@ -2189,4 +2352,4 @@ const Button = forwardRef(
2189
2352
  Button.displayName = "Button";
2190
2353
 
2191
2354
  export { AiMarkIconAnimated as A, Button as B };
2192
- //# sourceMappingURL=Button-Dwh_Nd4l.js.map
2355
+ //# sourceMappingURL=Button-Dn6-01xl.js.map