@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
@@ -2,15 +2,15 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useContext, forwardRef, useState, useEffect, useRef, useId, useCallback, useLayoutEffect, useMemo } from 'react';
3
3
  import { S as SvgClose } from './close-DZj38AEh.js';
4
4
  import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
5
- import { T as Text } from './Text-dONmlARH.js';
6
- import { M as Menu } from './Menu-eLxQwmZk.js';
7
- import { B as Button } from './Button-Dwh_Nd4l.js';
5
+ import { T as Text } from './Text-B_-Ldn9K.js';
6
+ import { M as Menu } from './Menu-Da2OEN0o.js';
7
+ import { B as Button } from './Button-Dn6-01xl.js';
8
8
  import { D as DrawerContext } from './DrawerContext-BSpnzXVZ.js';
9
9
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
10
10
  import { useTrackingId } from './useTrackingId.js';
11
11
  import { c as cx } from './index-De1g9FRV.js';
12
12
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
13
- import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-CNtAl-tF.js';
13
+ import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-oK4dSBPK.js';
14
14
  import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-1VBKDZRA.js';
15
15
  import { u as useDrillDownContextState, a as useDialogTransitionStates, b as useKeyboardFocusables, c as useInitialFocus } from './useInitialFocus-0TZ78bPz.js';
16
16
  import { u as useDialogScrollLock } from './useDialogScrollLock-BW-aVboo.js';
@@ -395,4 +395,4 @@ const Drawer = Object.assign(
395
395
  Drawer.displayName = "Drawer";
396
396
 
397
397
  export { Drawer as D };
398
- //# sourceMappingURL=Drawer-B4pxj_2P.js.map
398
+ //# sourceMappingURL=Drawer-CBIOWwh3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer-B4pxj_2P.js","sources":["../src/components/Drawer/internal/useDrawerContext.ts","../src/components/Drawer/DrawerCancelButton.tsx","../src/components/Drawer/DrawerHeader.tsx","../src/components/Drawer/DrawerFooter.tsx","../src/components/Drawer/DrawerContent.tsx","../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { DrawerContext } from \"./DrawerContext\";\n\n/** Returns the enclosing drawer context; throws when used outside a drawer. */\nexport function useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\n \"useDrawerContext must be used within a DrawerContextProvider\",\n );\n }\n return context;\n}\n","import { type MouseEvent, forwardRef } from \"react\";\nimport { Button, type ButtonProps } from \"../Button\";\nimport type { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** @extends ButtonProps */\nexport type DrawerCancelButtonProps = ButtonProps & DataTrackingId;\n\n/** Button that runs its click handler before closing the enclosing drawer. */\nexport const DrawerCancelButton = forwardRef<\n HTMLButtonElement,\n DrawerCancelButtonProps\n>((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const onClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n close();\n };\n return (\n <Button\n aria-label=\"Close drawer\"\n data-anv=\"drawer-cancel-button\"\n data-tracking-id={trackingId}\n onClick={onClickHandler}\n ref={ref}\n {...rest}\n />\n );\n});\n\nDrawerCancelButton.displayName = \"DrawerCancelButton\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport MoreVert from \"@servicetitan/hammer-icon/mdi/round/more_vert.svg\";\nimport styles from \"./Drawer.module.scss\";\nimport { Text } from \"../Text\";\nimport { Menu } from \"../Menu\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport cx from \"classnames\";\nimport type { DataTrackingId, Svg } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** Command shown in `Drawer.Header`'s overflow menu. */\nexport type DrawerHeaderAction = {\n /** Visible and accessible menu-item text. */\n label: string;\n /** Runs when the item is selected; does not close the drawer. */\n onClick: () => void;\n /** Prevents selection. Defaults to `false`. */\n disabled?: boolean;\n /** Leading icon shown before the label. */\n icon?: Svg;\n};\n\n/** @extends ComponentPropsWithoutRef<\"header\"> */\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId & {\n /** Commands placed in an overflow menu before the close control. */\n actions?: DrawerHeaderAction[];\n };\n\n/** Drawer heading with optional overflow actions and a built-in close control. */\nexport const DrawerHeader = forwardRef<HTMLElement, DrawerHeaderProps>(\n (props, ref) => {\n const { className, children, actions } = props;\n const { headerRef } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerHeader\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const drawerHeaderClasses = cx(styles.header, className);\n\n const closeButton = (\n <span className={styles[\"close-container\"]}>\n <DrawerCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close drawer\"\n data-anv=\"drawer-header-close-button\"\n icon={Close}\n />\n </span>\n );\n\n return (\n <header\n className={drawerHeaderClasses}\n data-anv=\"drawer-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n >\n <Text variant=\"headline\" el=\"h1\">\n {children}\n </Text>\n {actions?.length ? (\n <span className={styles[\"header-actions\"]}>\n <Menu\n icon={MoreVert}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"More actions\"\n data-anv=\"drawer-header-actions-button\"\n >\n {actions.map((action, index) => (\n <Menu.Item\n key={`${action.label}-${index}`}\n label={action.label}\n onClick={action.onClick}\n disabled={action.disabled}\n icon={action.icon}\n />\n ))}\n </Menu>\n {closeButton}\n </span>\n ) : (\n closeButton\n )}\n </header>\n );\n },\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\n\n/** @extends ComponentPropsWithoutRef<\"footer\"> */\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /** Keeps the action row visible at the bottom of scrolling content. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Action row at the end of a drawer. */\nexport const DrawerFooter = forwardRef<HTMLElement, DrawerFooterProps>(\n (props, ref) => {\n const { className, children, sticky = false, ...rest } = props;\n const drawerFooterClasses = cx(styles.footer, className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={drawerFooterClasses}\n data-anv=\"drawer-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** @extends ComponentPropsWithoutRef<\"div\"> */\nexport type DrawerContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /** Pins the content below the changing header while the drawer scrolls. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Main content region of a `Drawer`. */\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDrawerContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"drawer-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n","import styles from \"./Drawer.module.scss\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n useRef,\n useId,\n useCallback,\n useEffect,\n type SyntheticEvent,\n type KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DrawerHeader } from \"./DrawerHeader\";\nimport { DrawerFooter } from \"./DrawerFooter\";\nimport { DrawerContent } from \"./DrawerContent\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport {\n type OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport type {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { DrawerContext } from \"./internal/DrawerContext\";\nimport {\n DrillDownContext,\n type DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useInitialFocus } from \"../Dialog/internal/useInitialFocus\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends OpenCloseTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DrawerProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /** Width preset. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\" | \"xlarge\">;\n /** Controls whether the drawer is shown. Defaults to `false`. */\n open?: boolean;\n /** Called by Escape, outside-click, and `Drawer.CancelButton` close actions. */\n onClose?: () => void;\n /** Called on an outside click even when that click is not allowed to close the drawer. */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /** Allows scrolling to continue into the page instead of locking the shadow host. */\n enableScrollChaining?: boolean;\n /**\n * Chooses initial focus from the drawer's tabbable elements. By default,\n * header controls are skipped when another target is available.\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /** DrillDown panel opened when navigation begins. Defaults to index `0`. */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /** Receives the current DrillDown controls and whether the drawer is interactive. */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * Controlled modal side panel with focus trapping, animated transitions, and\n * compound header, content, footer, and cancel-button regions.\n */\nexport const Drawer = Object.assign(\n forwardRef<HTMLDialogElement, DrawerProps>(function DrawerInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n // onCancel is destructured so that it is not passed to the dialog in ...rest\n onCancel,\n onKeyDown,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size = \"medium\",\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const classNames = cx([styles.drawer, drillDownStyles.drawer], className, {\n [styles.remove]: state === \"closing\",\n [styles[size]]: size !== \"medium\",\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: false,\n });\n const firstFocusable = focusables?.[0];\n const lastFocusable = focusables?.[focusables.length - 1];\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n const isHeaderChrome = (el: FocusableElement) =>\n el.dataset.anv === \"drawer-header-close-button\" ||\n el.dataset.anv === \"drawer-header-actions-button\";\n\n return (\n focusables.find((focusable) => !isHeaderChrome(focusable)) ||\n focusables.find(\n (focusable) => focusable.dataset.anv === \"drawer-header-close-button\",\n ) ||\n focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onCancelHandler = (e: SyntheticEvent<HTMLDialogElement>) => {\n e.preventDefault();\n\n if (disableCloseOnEscape) return;\n onClose?.();\n };\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === firstFocusable) {\n e.preventDefault();\n (lastFocusable as HTMLElement)?.focus();\n return;\n }\n if (e.target === lastFocusable && !e.shiftKey) {\n e.preventDefault();\n (firstFocusable as HTMLElement)?.focus();\n return;\n }\n }\n };\n\n const contextValue = useMemo(() => {\n return { close: () => onClose?.(), headerRef, state };\n }, [onClose, state]);\n\n return (\n <dialog\n className={classNames}\n data-anv=\"drawer\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={combinedRef}\n onCancel={onCancelHandler}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={isOpenOrOpening}>\n <ToasterPopover>\n <ToasterContent id=\"drawer-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DrawerContext.Provider value={contextValue}>\n <section\n ref={contentRef}\n className={styles.container}\n data-open={isOpenOrOpening}\n >\n {children}\n </section>\n </DrawerContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /** Renders the drawer title, optional actions, and close control. */\n Header: DrawerHeader,\n /** Groups actions at the end of the drawer. */\n Footer: DrawerFooter,\n /** Renders the drawer's main content region. */\n Content: DrawerContent,\n /** Closes the drawer after running its own click handler. */\n CancelButton: DrawerCancelButton,\n },\n);\nDrawer.displayName = \"Drawer\";\n"],"names":["Close","MoreVert","focusables"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer-CBIOWwh3.js","sources":["../src/components/Drawer/internal/useDrawerContext.ts","../src/components/Drawer/DrawerCancelButton.tsx","../src/components/Drawer/DrawerHeader.tsx","../src/components/Drawer/DrawerFooter.tsx","../src/components/Drawer/DrawerContent.tsx","../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { DrawerContext } from \"./DrawerContext\";\n\n/** Returns the enclosing drawer context; throws when used outside a drawer. */\nexport function useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\n \"useDrawerContext must be used within a DrawerContextProvider\",\n );\n }\n return context;\n}\n","import { type MouseEvent, forwardRef } from \"react\";\nimport { Button, type ButtonProps } from \"../Button\";\nimport type { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** @extends ButtonProps */\nexport type DrawerCancelButtonProps = ButtonProps & DataTrackingId;\n\n/** Button that runs its click handler before closing the enclosing drawer. */\nexport const DrawerCancelButton = forwardRef<\n HTMLButtonElement,\n DrawerCancelButtonProps\n>((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const onClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n close();\n };\n return (\n <Button\n aria-label=\"Close drawer\"\n data-anv=\"drawer-cancel-button\"\n data-tracking-id={trackingId}\n onClick={onClickHandler}\n ref={ref}\n {...rest}\n />\n );\n});\n\nDrawerCancelButton.displayName = \"DrawerCancelButton\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport MoreVert from \"@servicetitan/hammer-icon/mdi/round/more_vert.svg\";\nimport styles from \"./Drawer.module.scss\";\nimport { Text } from \"../Text\";\nimport { Menu } from \"../Menu\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport cx from \"classnames\";\nimport type { DataTrackingId, Svg } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** Command shown in `Drawer.Header`'s overflow menu. */\nexport type DrawerHeaderAction = {\n /** Visible and accessible menu-item text. */\n label: string;\n /** Runs when the item is selected; does not close the drawer. */\n onClick: () => void;\n /** Prevents selection. Defaults to `false`. */\n disabled?: boolean;\n /** Leading icon shown before the label. */\n icon?: Svg;\n};\n\n/** @extends ComponentPropsWithoutRef<\"header\"> */\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId & {\n /** Commands placed in an overflow menu before the close control. */\n actions?: DrawerHeaderAction[];\n };\n\n/** Drawer heading with optional overflow actions and a built-in close control. */\nexport const DrawerHeader = forwardRef<HTMLElement, DrawerHeaderProps>(\n (props, ref) => {\n const { className, children, actions } = props;\n const { headerRef } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerHeader\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const drawerHeaderClasses = cx(styles.header, className);\n\n const closeButton = (\n <span className={styles[\"close-container\"]}>\n <DrawerCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close drawer\"\n data-anv=\"drawer-header-close-button\"\n icon={Close}\n />\n </span>\n );\n\n return (\n <header\n className={drawerHeaderClasses}\n data-anv=\"drawer-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n >\n <Text variant=\"headline\" el=\"h1\">\n {children}\n </Text>\n {actions?.length ? (\n <span className={styles[\"header-actions\"]}>\n <Menu\n icon={MoreVert}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"More actions\"\n data-anv=\"drawer-header-actions-button\"\n >\n {actions.map((action, index) => (\n <Menu.Item\n key={`${action.label}-${index}`}\n label={action.label}\n onClick={action.onClick}\n disabled={action.disabled}\n icon={action.icon}\n />\n ))}\n </Menu>\n {closeButton}\n </span>\n ) : (\n closeButton\n )}\n </header>\n );\n },\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\n\n/** @extends ComponentPropsWithoutRef<\"footer\"> */\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /** Keeps the action row visible at the bottom of scrolling content. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Action row at the end of a drawer. */\nexport const DrawerFooter = forwardRef<HTMLElement, DrawerFooterProps>(\n (props, ref) => {\n const { className, children, sticky = false, ...rest } = props;\n const drawerFooterClasses = cx(styles.footer, className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={drawerFooterClasses}\n data-anv=\"drawer-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/** @extends ComponentPropsWithoutRef<\"div\"> */\nexport type DrawerContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /** Pins the content below the changing header while the drawer scrolls. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Main content region of a `Drawer`. */\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDrawerContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"drawer-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n","import styles from \"./Drawer.module.scss\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n useRef,\n useId,\n useCallback,\n useEffect,\n type SyntheticEvent,\n type KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DrawerHeader } from \"./DrawerHeader\";\nimport { DrawerFooter } from \"./DrawerFooter\";\nimport { DrawerContent } from \"./DrawerContent\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport {\n type OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport type {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { DrawerContext } from \"./internal/DrawerContext\";\nimport {\n DrillDownContext,\n type DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useInitialFocus } from \"../Dialog/internal/useInitialFocus\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends OpenCloseTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DrawerProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /** Width preset. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\" | \"xlarge\">;\n /** Controls whether the drawer is shown. Defaults to `false`. */\n open?: boolean;\n /** Called by Escape, outside-click, and `Drawer.CancelButton` close actions. */\n onClose?: () => void;\n /** Called on an outside click even when that click is not allowed to close the drawer. */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /** Allows scrolling to continue into the page instead of locking the shadow host. */\n enableScrollChaining?: boolean;\n /**\n * Chooses initial focus from the drawer's tabbable elements. By default,\n * header controls are skipped when another target is available.\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /** DrillDown panel opened when navigation begins. Defaults to index `0`. */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /** Receives the current DrillDown controls and whether the drawer is interactive. */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * Controlled modal side panel with focus trapping, animated transitions, and\n * compound header, content, footer, and cancel-button regions.\n */\nexport const Drawer = Object.assign(\n forwardRef<HTMLDialogElement, DrawerProps>(function DrawerInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n // onCancel is destructured so that it is not passed to the dialog in ...rest\n onCancel,\n onKeyDown,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size = \"medium\",\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const classNames = cx([styles.drawer, drillDownStyles.drawer], className, {\n [styles.remove]: state === \"closing\",\n [styles[size]]: size !== \"medium\",\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: false,\n });\n const firstFocusable = focusables?.[0];\n const lastFocusable = focusables?.[focusables.length - 1];\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n const isHeaderChrome = (el: FocusableElement) =>\n el.dataset.anv === \"drawer-header-close-button\" ||\n el.dataset.anv === \"drawer-header-actions-button\";\n\n return (\n focusables.find((focusable) => !isHeaderChrome(focusable)) ||\n focusables.find(\n (focusable) => focusable.dataset.anv === \"drawer-header-close-button\",\n ) ||\n focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onCancelHandler = (e: SyntheticEvent<HTMLDialogElement>) => {\n e.preventDefault();\n\n if (disableCloseOnEscape) return;\n onClose?.();\n };\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === firstFocusable) {\n e.preventDefault();\n (lastFocusable as HTMLElement)?.focus();\n return;\n }\n if (e.target === lastFocusable && !e.shiftKey) {\n e.preventDefault();\n (firstFocusable as HTMLElement)?.focus();\n return;\n }\n }\n };\n\n const contextValue = useMemo(() => {\n return { close: () => onClose?.(), headerRef, state };\n }, [onClose, state]);\n\n return (\n <dialog\n className={classNames}\n data-anv=\"drawer\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={combinedRef}\n onCancel={onCancelHandler}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={isOpenOrOpening}>\n <ToasterPopover>\n <ToasterContent id=\"drawer-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DrawerContext.Provider value={contextValue}>\n <section\n ref={contentRef}\n className={styles.container}\n data-open={isOpenOrOpening}\n >\n {children}\n </section>\n </DrawerContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /** Renders the drawer title, optional actions, and close control. */\n Header: DrawerHeader,\n /** Groups actions at the end of the drawer. */\n Footer: DrawerFooter,\n /** Renders the drawer's main content region. */\n Content: DrawerContent,\n /** Closes the drawer after running its own click handler. */\n CancelButton: DrawerCancelButton,\n },\n);\nDrawer.displayName = \"Drawer\";\n"],"names":["Close","MoreVert","focusables"],"mappings":"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"}
package/dist/Drawer.js CHANGED
@@ -1,2 +1,2 @@
1
- export { D as Drawer, D as default } from './Drawer-B4pxj_2P.js';
1
+ export { D as Drawer, D as default } from './Drawer-CBIOWwh3.js';
2
2
  //# sourceMappingURL=Drawer.js.map
package/dist/DrillDown.js CHANGED
@@ -1,2 +1,2 @@
1
- export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, D as default, u as useDrillDown } from './useDrilldown-DV4qyVOI.js';
1
+ export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, D as default, u as useDrillDown } from './useDrilldown-DOXav1An.js';
2
2
  //# sourceMappingURL=DrillDown.js.map
@@ -4,9 +4,9 @@ import * as React from 'react';
4
4
  import { forwardRef } from 'react';
5
5
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
6
6
  import { C as Card } from './Card-Bt0F6RTq.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
- import { B as Button } from './Button-Dwh_Nd4l.js';
9
+ import { B as Button } from './Button-Dn6-01xl.js';
10
10
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
11
11
 
12
12
  import './EditCard.css';const container = "_container_1u530_23";
@@ -109,4 +109,4 @@ const EditCard = forwardRef(
109
109
  EditCard.displayName = "EditCard";
110
110
 
111
111
  export { EditCard as E };
112
- //# sourceMappingURL=EditCard-CX1G7G2Q.js.map
112
+ //# sourceMappingURL=EditCard-Q6WlsM4O.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditCard-CX1G7G2Q.js","sources":["../../hammer-icon/mdi/round/priority_high.svg","../src/components/EditCard/EditCard.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgPriorityHigh = (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(\"circle\", { cx: 12, cy: 19, r: 2 }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2s2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgPriorityHigh;\n","import cx from \"classnames\";\nimport styles from \"./EditCard.module.scss\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport PriorityHigh from \"@servicetitan/hammer-icon/mdi/round/priority_high.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Card } from \"../Card\";\nimport { Text } from \"../Text\";\nimport { Icon } from \"../Icon\";\nimport { Button } from \"../Button\";\n\nexport type EditCardProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n /**\n * Heading. Object form picks the string for the current `state`.\n */\n headerText:\n | string\n | {\n \"not started\": string;\n \"in progress\": string;\n error: string;\n complete: string;\n };\n /**\n * Which chrome to show. `in progress` swaps Edit for Cancel/Save.\n */\n state: EditCardState;\n /** Save control label. Defaults to `\"Save\"`. */\n saveButtonText?: string;\n /** Edit control label. Defaults to `\"Edit\"`. */\n editButtonText?: string;\n /** Disables Edit when it is shown. Defaults to `false`. */\n disableEdit?: boolean;\n /** Disables Save when it is shown. Defaults to `false`. */\n disableSave?: boolean;\n /**\n * Reports `\"edit\"`, `\"save\"`, or `\"cancel\"` from the matching button.\n * Does not update `state` itself.\n */\n onStateChange?: (changeType: EditCardChange) => void;\n };\n\n/** Action reported by {@link EditCardProps.onStateChange}. */\nexport type EditCardChange = \"edit\" | \"save\" | \"cancel\";\n\n/**\n * Display and which actions are shown. `in progress` is Cancel/Save; the\n * others are Edit, with an indicator on `error` and `complete`.\n */\nexport type EditCardState =\n | \"not started\"\n | \"in progress\"\n | \"error\"\n | \"complete\";\n\n/**\n * Card with a state-driven header, status indicator, and Edit or Cancel/Save\n * actions.\n */\nexport const EditCard = forwardRef<HTMLDivElement, EditCardProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n style,\n headerText,\n state,\n editButtonText = \"Edit\",\n saveButtonText = \"Save\",\n disableEdit = false,\n disableSave = false,\n onStateChange,\n ...rest\n } = componentProps;\n\n const kebabState = state?.replaceAll(\" \", \"-\");\n\n const editCardClassNames = cx(\n styles[\"edit-card\"],\n styles[`edit-card-${kebabState}`],\n className,\n );\n\n return (\n <Card\n padding=\"large\"\n className={editCardClassNames}\n data-anv=\"edit-card\"\n style={style}\n ref={ref}\n {...rest}\n >\n <div\n className={cx(styles.indicator, styles[`indicator-${kebabState}`])}\n >\n {state === \"complete\" && <Icon svg={Check} />}\n {state === \"error\" && <Icon svg={PriorityHigh} />}\n </div>\n <div className={styles.container}>\n <div className={styles.header}>\n <Text className={styles.heading} variant=\"headline\" el=\"h3\">\n {typeof headerText === \"string\" ? headerText : headerText[state]}\n </Text>\n {state !== \"in progress\" && (\n <Button\n disabled={disableEdit}\n onClick={() => onStateChange?.(\"edit\")}\n >\n {editButtonText}\n </Button>\n )}\n </div>\n {children && (\n <div className={styles.content} style={layoutStyles}>\n {children}\n </div>\n )}\n {state === \"in progress\" && (\n <div className={styles.footer}>\n <Button onClick={() => onStateChange?.(\"cancel\")}>Cancel</Button>\n <Button\n appearance=\"primary\"\n onClick={() => onStateChange?.(\"save\")}\n disabled={disableSave}\n >\n {saveButtonText}\n </Button>\n </div>\n )}\n </div>\n </Card>\n );\n },\n);\n\nEditCard.displayName = \"EditCard\";\n"],"names":["Check","PriorityHigh"],"mappings":"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"}
1
+ {"version":3,"file":"EditCard-Q6WlsM4O.js","sources":["../../hammer-icon/mdi/round/priority_high.svg","../src/components/EditCard/EditCard.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgPriorityHigh = (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(\"circle\", { cx: 12, cy: 19, r: 2 }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2s2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgPriorityHigh;\n","import cx from \"classnames\";\nimport styles from \"./EditCard.module.scss\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport PriorityHigh from \"@servicetitan/hammer-icon/mdi/round/priority_high.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Card } from \"../Card\";\nimport { Text } from \"../Text\";\nimport { Icon } from \"../Icon\";\nimport { Button } from \"../Button\";\n\nexport type EditCardProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n /**\n * Heading. Object form picks the string for the current `state`.\n */\n headerText:\n | string\n | {\n \"not started\": string;\n \"in progress\": string;\n error: string;\n complete: string;\n };\n /**\n * Which chrome to show. `in progress` swaps Edit for Cancel/Save.\n */\n state: EditCardState;\n /** Save control label. Defaults to `\"Save\"`. */\n saveButtonText?: string;\n /** Edit control label. Defaults to `\"Edit\"`. */\n editButtonText?: string;\n /** Disables Edit when it is shown. Defaults to `false`. */\n disableEdit?: boolean;\n /** Disables Save when it is shown. Defaults to `false`. */\n disableSave?: boolean;\n /**\n * Reports `\"edit\"`, `\"save\"`, or `\"cancel\"` from the matching button.\n * Does not update `state` itself.\n */\n onStateChange?: (changeType: EditCardChange) => void;\n };\n\n/** Action reported by {@link EditCardProps.onStateChange}. */\nexport type EditCardChange = \"edit\" | \"save\" | \"cancel\";\n\n/**\n * Display and which actions are shown. `in progress` is Cancel/Save; the\n * others are Edit, with an indicator on `error` and `complete`.\n */\nexport type EditCardState =\n | \"not started\"\n | \"in progress\"\n | \"error\"\n | \"complete\";\n\n/**\n * Card with a state-driven header, status indicator, and Edit or Cancel/Save\n * actions.\n */\nexport const EditCard = forwardRef<HTMLDivElement, EditCardProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n style,\n headerText,\n state,\n editButtonText = \"Edit\",\n saveButtonText = \"Save\",\n disableEdit = false,\n disableSave = false,\n onStateChange,\n ...rest\n } = componentProps;\n\n const kebabState = state?.replaceAll(\" \", \"-\");\n\n const editCardClassNames = cx(\n styles[\"edit-card\"],\n styles[`edit-card-${kebabState}`],\n className,\n );\n\n return (\n <Card\n padding=\"large\"\n className={editCardClassNames}\n data-anv=\"edit-card\"\n style={style}\n ref={ref}\n {...rest}\n >\n <div\n className={cx(styles.indicator, styles[`indicator-${kebabState}`])}\n >\n {state === \"complete\" && <Icon svg={Check} />}\n {state === \"error\" && <Icon svg={PriorityHigh} />}\n </div>\n <div className={styles.container}>\n <div className={styles.header}>\n <Text className={styles.heading} variant=\"headline\" el=\"h3\">\n {typeof headerText === \"string\" ? headerText : headerText[state]}\n </Text>\n {state !== \"in progress\" && (\n <Button\n disabled={disableEdit}\n onClick={() => onStateChange?.(\"edit\")}\n >\n {editButtonText}\n </Button>\n )}\n </div>\n {children && (\n <div className={styles.content} style={layoutStyles}>\n {children}\n </div>\n )}\n {state === \"in progress\" && (\n <div className={styles.footer}>\n <Button onClick={() => onStateChange?.(\"cancel\")}>Cancel</Button>\n <Button\n appearance=\"primary\"\n onClick={() => onStateChange?.(\"save\")}\n disabled={disableSave}\n >\n {saveButtonText}\n </Button>\n </div>\n )}\n </div>\n </Card>\n );\n },\n);\n\nEditCard.displayName = \"EditCard\";\n"],"names":["Check","PriorityHigh"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,eAAe,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,kEAAkE,EAAE,CAAC,CAAC;;AC4D7W,MAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AACjE,IAAA,MAAM;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA,GAAiB,MAAA;AAAA,MACjB,cAAA,GAAiB,MAAA;AAAA,MACjB,WAAA,GAAc,KAAA;AAAA,MACd,WAAA,GAAc,KAAA;AAAA,MACd,aAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,cAAA;AAEJ,IAAA,MAAM,UAAA,GAAa,KAAA,EAAO,UAAA,CAAW,GAAA,EAAK,GAAG,CAAA;AAE7C,IAAA,MAAM,kBAAA,GAAqB,EAAA;AAAA,MACzB,OAAO,WAAW,CAAA;AAAA,MAClB,MAAA,CAAO,CAAA,UAAA,EAAa,UAAU,CAAA,CAAE,CAAA;AAAA,MAChC;AAAA,KACF;AAEA,IAAA,uBACE,IAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAQ,OAAA;AAAA,QACR,SAAA,EAAW,kBAAA;AAAA,QACX,UAAA,EAAS,WAAA;AAAA,QACT,KAAA;AAAA,QACA,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,GAAG,MAAA,CAAO,SAAA,EAAW,OAAO,CAAA,UAAA,EAAa,UAAU,EAAE,CAAC,CAAA;AAAA,cAEhE,QAAA,EAAA;AAAA,gBAAA,KAAA,KAAU,UAAA,oBAAc,GAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAKA,QAAA,EAAO,CAAA;AAAA,gBAC1C,KAAA,KAAU,OAAA,oBAAW,GAAA,CAAC,IAAA,EAAA,EAAK,KAAKC,eAAA,EAAc;AAAA;AAAA;AAAA,WACjD;AAAA,0BACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,SAAA,EACrB,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,MAAA,EACrB,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,OAAA,EAAS,SAAQ,UAAA,EAAW,EAAA,EAAG,IAAA,EACpD,QAAA,EAAA,OAAO,UAAA,KAAe,QAAA,GAAW,UAAA,GAAa,UAAA,CAAW,KAAK,CAAA,EACjE,CAAA;AAAA,cACC,UAAU,aAAA,oBACT,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAU,WAAA;AAAA,kBACV,OAAA,EAAS,MAAM,aAAA,GAAgB,MAAM,CAAA;AAAA,kBAEpC,QAAA,EAAA;AAAA;AAAA;AACH,aAAA,EAEJ,CAAA;AAAA,YACC,QAAA,wBACE,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,OAAA,EAAS,KAAA,EAAO,cACpC,QAAA,EACH,CAAA;AAAA,YAED,UAAU,aAAA,oBACT,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,MAAA,EACrB,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,UAAO,OAAA,EAAS,MAAM,aAAA,GAAgB,QAAQ,GAAG,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,8BACxD,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,UAAA,EAAW,SAAA;AAAA,kBACX,OAAA,EAAS,MAAM,aAAA,GAAgB,MAAM,CAAA;AAAA,kBACrC,QAAA,EAAU,WAAA;AAAA,kBAET,QAAA,EAAA;AAAA;AAAA;AACH,aAAA,EACF;AAAA,WAAA,EAEJ;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;;;;"}
package/dist/EditCard.js CHANGED
@@ -1,2 +1,2 @@
1
- export { E as EditCard, E as default } from './EditCard-CX1G7G2Q.js';
1
+ export { E as EditCard, E as default } from './EditCard-Q6WlsM4O.js';
2
2
  //# sourceMappingURL=EditCard.js.map
@@ -3,7 +3,7 @@ import { useMemo, forwardRef } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
5
5
  import { T as Tooltip } from './Tooltip-C_VcYS9P.js';
6
- import { F as FieldLabelButton, A as AiMark } from './AiMark-D57s1e0T.js';
6
+ import { F as FieldLabelButton, A as AiMark } from './AiMark-N8UfGfcV.js';
7
7
  import { I as Icon } from './Icon-B5zwN7GD.js';
8
8
  import { S as SvgInfo } from './info-CYpG6tcI.js';
9
9
 
@@ -176,4 +176,4 @@ FieldLabelElement.displayName = "FieldLabel";
176
176
  const FieldLabel = FieldLabelElement;
177
177
 
178
178
  export { FieldLabel as F, INLINE_MARKDOWN_REGEX as I };
179
- //# sourceMappingURL=FieldLabel-CAusaqUY.js.map
179
+ //# sourceMappingURL=FieldLabel-FsNIjn8T.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldLabel-CAusaqUY.js","sources":["../src/internal/utils/inlineMarkdownRegex.ts","../src/internal/functions/inlineMarkdown.tsx","../src/components/FieldLabel/internal/FieldLabelMoreInfoIcon.tsx","../src/internal/components/InlineMarkdown/InlineMarkdown.tsx","../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["export const INLINE_MARKDOWN_REGEX =\n /\\*\\*\\*(.+?)\\*\\*\\*|\\*\\*(.+?)\\*\\*|\\*(.+?)\\*|==(.+?)==|`(.+?)`/g;\n","import type { ReactNode } from \"react\";\nimport styles from \"../components/InlineMarkdown/InlineMarkdown.module.scss\";\nimport { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Turns limited inline markdown into React nodes (`***` / `**` / `*` / `==` / `` ` ``).\n * The shared global regex needs `lastIndex` reset per call and saved around\n * nested parses. Code spans are not reparsed.\n */\nexport const parseInlineMarkdown = (text: string): ReactNode[] => {\n const parts: ReactNode[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n\n const key = match.index;\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n\n if (match[1]) {\n parts.push(\n <strong key={key}>\n <em>{parseInlineMarkdown(match[1])}</em>\n </strong>,\n );\n } else if (match[2]) {\n parts.push(<strong key={key}>{parseInlineMarkdown(match[2])}</strong>);\n } else if (match[3]) {\n parts.push(<em key={key}>{parseInlineMarkdown(match[3])}</em>);\n } else if (match[4]) {\n parts.push(\n <mark key={key} className={styles.highlight}>\n {parseInlineMarkdown(match[4])}\n </mark>,\n );\n } else if (match[5]) {\n parts.push(\n <code key={key} className={styles.code}>\n {match[5]}\n </code>,\n );\n }\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts;\n};\n","import type { FieldLabelProps } from \"../FieldLabel\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { FieldLabelButton } from \"./FieldLabelButton\";\nimport { Icon } from \"../../Icon\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport styles from \"../FieldLabel.module.scss\";\nimport { SrOnly } from \"../../SrOnly\";\n\n/**\n * Info button that opens `moreInfo` in a tooltip. Optional `moreInfoId`\n * duplicates the copy in {@link SrOnly} for `aria-describedby`.\n */\nexport const FieldLabelMoreInfoIcon = ({\n moreInfo,\n moreInfoId,\n}: {\n moreInfo: FieldLabelProps[\"moreInfo\"];\n moreInfoId?: string;\n}) => {\n return (\n <div className={styles[\"info-container\"]}>\n {moreInfoId && <SrOnly id={moreInfoId}>{moreInfo}</SrOnly>}\n <Tooltip\n placement=\"top\"\n offset={5}\n fallbackPlacements={[\"right\", \"bottom\", \"left\"]}\n >\n <Tooltip.Trigger className={styles[\"info-trigger\"]}>\n <FieldLabelButton aria-label=\"More information\">\n <Icon svg={Info} />\n </FieldLabelButton>\n </Tooltip.Trigger>\n <Tooltip.Content className={styles[\"info-content\"]}>\n {moreInfo}\n </Tooltip.Content>\n </Tooltip>\n </div>\n );\n};\n","import { useMemo } from \"react\";\nimport { parseInlineMarkdown } from \"../../functions/inlineMarkdown\";\n\nexport interface InlineMarkdownProps {\n /** Markdown source. Defaults to `\"\"`. */\n value?: string;\n}\n\n/** Turns limited inline markdown into React nodes. */\nexport const InlineMarkdown = ({ value = \"\" }: InlineMarkdownProps) => {\n const content = useMemo(() => parseInlineMarkdown(value), [value]);\n return <>{content}</>;\n};\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n type Ref,\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./FieldLabel.module.scss\";\nimport type { TooltipProps } from \"../Tooltip\";\nimport { SrOnly } from \"../SrOnly\";\nimport { FieldLabelMoreInfoIcon } from \"./internal/FieldLabelMoreInfoIcon\";\nimport type { AiMarkWithTooltipOrPopoverProps } from \"../../types\";\nimport { AiMark } from \"../../components/AiMark\";\nimport { InlineMarkdown } from \"../../internal/components/InlineMarkdown\";\n\ntype IntrinsicAttributes<\n E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>,\n> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;\n\ntype FieldLabelOwnProps<E extends ElementType = ElementType> =\n AiMarkWithTooltipOrPopoverProps & {\n /** Root element. Defaults to `label`. */\n el?: E;\n id?: string;\n /**\n * Shows a visible asterisk and a screen-reader \"Required\". Defaults to\n * `false`.\n */\n required?: boolean;\n /** Tooltip content for the info button after the label. */\n moreInfo?: ReactNode;\n /**\n * @internal ID of the visually hidden more-info copy for the control's\n * `aria-describedby`.\n */\n moreInfoId?: string;\n /**\n * @deprecated The more-info tooltip is a keyboard-accessible button. This\n * prop has no effect.\n */\n moreInfoOpen?: TooltipProps[\"open\"];\n };\n\nexport type FieldLabelProps<E extends ElementType = ElementType> =\n FieldLabelOwnProps<E> &\n Omit<IntrinsicAttributes<E>, keyof FieldLabelOwnProps>;\n\nconst FieldLabelElement = forwardRef(\n (\n {\n aiMark,\n el: Element = \"label\",\n children,\n className,\n moreInfo,\n moreInfoId,\n required,\n moreInfoOpen: _moreInfoOpen,\n ...props\n }: FieldLabelProps,\n ref,\n ) => {\n const FieldLabelClassNames = cx([styles[\"label\"]], className);\n\n const labelText = (\n <span className={styles[\"label-text\"]}>\n {/* TODO(v4.0.0): remove typeof check — children will always be string */}\n {typeof children === \"string\" ? (\n <InlineMarkdown value={children} />\n ) : (\n children\n )}\n {required ? (\n <>\n <span aria-hidden className={styles[\"required\"]}>\n *\n </span>\n <SrOnly>Required</SrOnly>\n </>\n ) : null}\n </span>\n );\n\n const hasMoreInfoOrAiMark = moreInfo || aiMark;\n\n // A <button> cannot be a descendant of <label>. Wrap in a `div` and keep\n // the label as a sibling of moreInfo/aiMark when either is set.\n if (Element === \"label\" && hasMoreInfoOrAiMark) {\n const { htmlFor, id, ...labelProps } =\n props as ComponentPropsWithoutRef<\"label\">;\n return (\n <div className={FieldLabelClassNames} ref={ref as Ref<HTMLDivElement>}>\n <div className={styles[\"top-container\"]}>\n <label\n htmlFor={htmlFor}\n id={id}\n data-anv=\"label\"\n {...(labelProps as ComponentPropsWithoutRef<\"label\">)}\n >\n {labelText}\n </label>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n </div>\n );\n }\n\n return (\n <Element\n className={FieldLabelClassNames}\n data-anv=\"label\"\n ref={ref}\n {...props}\n >\n {hasMoreInfoOrAiMark ? (\n <div className={styles[\"top-container\"]}>\n {labelText}\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n ) : (\n labelText\n )}\n </Element>\n );\n },\n);\n\nFieldLabelElement.displayName = \"FieldLabel\";\n\n/**\n * Form label. String children go through inline markdown. When `el` is `label`\n * (the default) and `moreInfo` or `aiMark` is set, `ref` lands on a wrapping\n * `div` so the button is not nested in `<label>`.\n */\nexport const FieldLabel = FieldLabelElement as <\n E extends ElementType = \"label\",\n>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: FieldLabelProps<E> & { ref?: React.Ref<any> },\n) => JSX.Element;\n"],"names":["styles","Info"],"mappings":"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"}
1
+ {"version":3,"file":"FieldLabel-FsNIjn8T.js","sources":["../src/internal/utils/inlineMarkdownRegex.ts","../src/internal/functions/inlineMarkdown.tsx","../src/components/FieldLabel/internal/FieldLabelMoreInfoIcon.tsx","../src/internal/components/InlineMarkdown/InlineMarkdown.tsx","../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["export const INLINE_MARKDOWN_REGEX =\n /\\*\\*\\*(.+?)\\*\\*\\*|\\*\\*(.+?)\\*\\*|\\*(.+?)\\*|==(.+?)==|`(.+?)`/g;\n","import type { ReactNode } from \"react\";\nimport styles from \"../components/InlineMarkdown/InlineMarkdown.module.scss\";\nimport { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Turns limited inline markdown into React nodes (`***` / `**` / `*` / `==` / `` ` ``).\n * The shared global regex needs `lastIndex` reset per call and saved around\n * nested parses. Code spans are not reparsed.\n */\nexport const parseInlineMarkdown = (text: string): ReactNode[] => {\n const parts: ReactNode[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n\n const key = match.index;\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n\n if (match[1]) {\n parts.push(\n <strong key={key}>\n <em>{parseInlineMarkdown(match[1])}</em>\n </strong>,\n );\n } else if (match[2]) {\n parts.push(<strong key={key}>{parseInlineMarkdown(match[2])}</strong>);\n } else if (match[3]) {\n parts.push(<em key={key}>{parseInlineMarkdown(match[3])}</em>);\n } else if (match[4]) {\n parts.push(\n <mark key={key} className={styles.highlight}>\n {parseInlineMarkdown(match[4])}\n </mark>,\n );\n } else if (match[5]) {\n parts.push(\n <code key={key} className={styles.code}>\n {match[5]}\n </code>,\n );\n }\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts;\n};\n","import type { FieldLabelProps } from \"../FieldLabel\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { FieldLabelButton } from \"./FieldLabelButton\";\nimport { Icon } from \"../../Icon\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport styles from \"../FieldLabel.module.scss\";\nimport { SrOnly } from \"../../SrOnly\";\n\n/**\n * Info button that opens `moreInfo` in a tooltip. Optional `moreInfoId`\n * duplicates the copy in {@link SrOnly} for `aria-describedby`.\n */\nexport const FieldLabelMoreInfoIcon = ({\n moreInfo,\n moreInfoId,\n}: {\n moreInfo: FieldLabelProps[\"moreInfo\"];\n moreInfoId?: string;\n}) => {\n return (\n <div className={styles[\"info-container\"]}>\n {moreInfoId && <SrOnly id={moreInfoId}>{moreInfo}</SrOnly>}\n <Tooltip\n placement=\"top\"\n offset={5}\n fallbackPlacements={[\"right\", \"bottom\", \"left\"]}\n >\n <Tooltip.Trigger className={styles[\"info-trigger\"]}>\n <FieldLabelButton aria-label=\"More information\">\n <Icon svg={Info} />\n </FieldLabelButton>\n </Tooltip.Trigger>\n <Tooltip.Content className={styles[\"info-content\"]}>\n {moreInfo}\n </Tooltip.Content>\n </Tooltip>\n </div>\n );\n};\n","import { useMemo } from \"react\";\nimport { parseInlineMarkdown } from \"../../functions/inlineMarkdown\";\n\nexport interface InlineMarkdownProps {\n /** Markdown source. Defaults to `\"\"`. */\n value?: string;\n}\n\n/** Turns limited inline markdown into React nodes. */\nexport const InlineMarkdown = ({ value = \"\" }: InlineMarkdownProps) => {\n const content = useMemo(() => parseInlineMarkdown(value), [value]);\n return <>{content}</>;\n};\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n type Ref,\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./FieldLabel.module.scss\";\nimport type { TooltipProps } from \"../Tooltip\";\nimport { SrOnly } from \"../SrOnly\";\nimport { FieldLabelMoreInfoIcon } from \"./internal/FieldLabelMoreInfoIcon\";\nimport type { AiMarkWithTooltipOrPopoverProps } from \"../../types\";\nimport { AiMark } from \"../../components/AiMark\";\nimport { InlineMarkdown } from \"../../internal/components/InlineMarkdown\";\n\ntype IntrinsicAttributes<\n E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>,\n> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;\n\ntype FieldLabelOwnProps<E extends ElementType = ElementType> =\n AiMarkWithTooltipOrPopoverProps & {\n /** Root element. Defaults to `label`. */\n el?: E;\n id?: string;\n /**\n * Shows a visible asterisk and a screen-reader \"Required\". Defaults to\n * `false`.\n */\n required?: boolean;\n /** Tooltip content for the info button after the label. */\n moreInfo?: ReactNode;\n /**\n * @internal ID of the visually hidden more-info copy for the control's\n * `aria-describedby`.\n */\n moreInfoId?: string;\n /**\n * @deprecated The more-info tooltip is a keyboard-accessible button. This\n * prop has no effect.\n */\n moreInfoOpen?: TooltipProps[\"open\"];\n };\n\nexport type FieldLabelProps<E extends ElementType = ElementType> =\n FieldLabelOwnProps<E> &\n Omit<IntrinsicAttributes<E>, keyof FieldLabelOwnProps>;\n\nconst FieldLabelElement = forwardRef(\n (\n {\n aiMark,\n el: Element = \"label\",\n children,\n className,\n moreInfo,\n moreInfoId,\n required,\n moreInfoOpen: _moreInfoOpen,\n ...props\n }: FieldLabelProps,\n ref,\n ) => {\n const FieldLabelClassNames = cx([styles[\"label\"]], className);\n\n const labelText = (\n <span className={styles[\"label-text\"]}>\n {/* TODO(v4.0.0): remove typeof check — children will always be string */}\n {typeof children === \"string\" ? (\n <InlineMarkdown value={children} />\n ) : (\n children\n )}\n {required ? (\n <>\n <span aria-hidden className={styles[\"required\"]}>\n *\n </span>\n <SrOnly>Required</SrOnly>\n </>\n ) : null}\n </span>\n );\n\n const hasMoreInfoOrAiMark = moreInfo || aiMark;\n\n // A <button> cannot be a descendant of <label>. Wrap in a `div` and keep\n // the label as a sibling of moreInfo/aiMark when either is set.\n if (Element === \"label\" && hasMoreInfoOrAiMark) {\n const { htmlFor, id, ...labelProps } =\n props as ComponentPropsWithoutRef<\"label\">;\n return (\n <div className={FieldLabelClassNames} ref={ref as Ref<HTMLDivElement>}>\n <div className={styles[\"top-container\"]}>\n <label\n htmlFor={htmlFor}\n id={id}\n data-anv=\"label\"\n {...(labelProps as ComponentPropsWithoutRef<\"label\">)}\n >\n {labelText}\n </label>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n </div>\n );\n }\n\n return (\n <Element\n className={FieldLabelClassNames}\n data-anv=\"label\"\n ref={ref}\n {...props}\n >\n {hasMoreInfoOrAiMark ? (\n <div className={styles[\"top-container\"]}>\n {labelText}\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n ) : (\n labelText\n )}\n </Element>\n );\n },\n);\n\nFieldLabelElement.displayName = \"FieldLabel\";\n\n/**\n * Form label. String children go through inline markdown. When `el` is `label`\n * (the default) and `moreInfo` or `aiMark` is set, `ref` lands on a wrapping\n * `div` so the button is not nested in `<label>`.\n */\nexport const FieldLabel = FieldLabelElement as <\n E extends ElementType = \"label\",\n>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: FieldLabelProps<E> & { ref?: React.Ref<any> },\n) => JSX.Element;\n"],"names":["styles","Info"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { F as FieldLabel, F as default } from './FieldLabel-CAusaqUY.js';
1
+ export { F as FieldLabel, F as default } from './FieldLabel-FsNIjn8T.js';
2
2
  //# sourceMappingURL=FieldLabel.js.map
@@ -2,14 +2,14 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useState, useEffect, useContext, useRef, useCallback, useMemo, forwardRef } from 'react';
4
4
  import { S as SvgClose } from './close-DZj38AEh.js';
5
- import { F as FilterGroupContext, g as getActiveFilters, h as hasFilterSelectionChanged, c as cloneFiltersWithItemRefs, u as updateSingleFilter, a as checkActiveFilters, b as getAdapter, s as styles, P as PARTS, D as DateListDialog, r as resetFilters, p as preserveFilterState, d as FilterItemWrapper } from './filter-state-DW8YmRHb.js';
6
- import { B as Button } from './Button-Dwh_Nd4l.js';
5
+ import { F as FilterGroupContext, g as getActiveFilters, h as hasFilterSelectionChanged, c as cloneFiltersWithItemRefs, u as updateSingleFilter, a as checkActiveFilters, b as getAdapter, s as styles, P as PARTS, D as DateListDialog, r as resetFilters, p as preserveFilterState, d as FilterItemWrapper } from './filter-state-CPCn-owS.js';
6
+ import { B as Button } from './Button-Dn6-01xl.js';
7
7
  import { F as Flex } from './Flex-CRF7gj0_.js';
8
- import { B as ButtonToggle } from './ButtonToggle-DKDBD1g3.js';
8
+ import { B as ButtonToggle } from './ButtonToggle-BSU8GBxr.js';
9
9
  import { A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
10
- import { C as Chip } from './Chip-B4G4zaP-.js';
11
- import { D as Drawer } from './Drawer-B4pxj_2P.js';
12
- import { u as useToolbarSize, a as updateToolbarItemsTabIndex, g as getToolbarElements, h as handleToolbarKeyDown, b as ToolbarContext } from './ToolbarButtonToggle-BMBmBdw1.js';
10
+ import { C as Chip } from './Chip-DivZ3OuB.js';
11
+ import { D as Drawer } from './Drawer-CBIOWwh3.js';
12
+ import { u as useToolbarSize, a as updateToolbarItemsTabIndex, g as getToolbarElements, h as handleToolbarKeyDown, b as ToolbarContext } from './ToolbarButtonToggle-T8YnSJ5x.js';
13
13
  import { c as cx } from './index-De1g9FRV.js';
14
14
  import { d as BreakpointSm, c as BreakpointMd, b as BreakpointLg, a as BreakpointXl, B as BreakpointXxl } from './primitive-BXgYQTTw.js';
15
15
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -451,4 +451,4 @@ const FilterBar = forwardRef(
451
451
  FilterBar.displayName = "FilterBar";
452
452
 
453
453
  export { FilterBar as F };
454
- //# sourceMappingURL=FilterBar-CKYf-1oU.js.map
454
+ //# sourceMappingURL=FilterBar-PXv7_svO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterBar-PXv7_svO.js","sources":["../src/internal/hooks/useContainerQuery/useContainerQuery.ts","../../hammer-icon/mdi/round/tune.svg","../src/beta/components/FilterBar/FilterDrawer.tsx","../src/beta/components/FilterBar/FilterBar.tsx"],"sourcesContent":["import { useEffect, useState, type RefObject } from \"react\";\nimport { core } from \"@servicetitan/hammer-token\";\n\nexport type ContainerQueryReturnProps = {\n name: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\";\n min: number | undefined;\n max: number | undefined;\n containerWidth: number;\n containerHeight: number;\n};\n\nfunction containerBreakpoint(\n containerWidth: number,\n name: ContainerQueryReturnProps[\"name\"],\n min?: number,\n max?: number,\n): ContainerQueryReturnProps | undefined {\n if (\n (min == null || containerWidth >= min) &&\n (max == null || containerWidth < max)\n ) {\n return {\n name,\n min,\n max,\n containerWidth,\n containerHeight: 0,\n } as const;\n }\n return undefined;\n}\n\nconst getContainerBreakpoint = (\n containerWidth: number,\n containerHeight: number,\n) => {\n if (!core.primitive?.BreakpointSm) return;\n if (!core.primitive?.BreakpointMd) return;\n if (!core.primitive?.BreakpointLg) return;\n if (!core.primitive?.BreakpointXl) return;\n if (!core.primitive?.BreakpointXxl) return;\n\n const sm = parseInt(core.primitive?.BreakpointSm.value);\n const md = parseInt(core.primitive?.BreakpointMd.value);\n const lg = parseInt(core.primitive?.BreakpointLg.value);\n const xl = parseInt(core.primitive?.BreakpointXl.value);\n const xxl = parseInt(core.primitive?.BreakpointXxl.value);\n\n const result =\n containerBreakpoint(containerWidth, \"xs\", undefined, sm) ??\n containerBreakpoint(containerWidth, \"sm\", sm, md) ??\n containerBreakpoint(containerWidth, \"md\", md, lg) ??\n containerBreakpoint(containerWidth, \"lg\", lg, xl) ??\n containerBreakpoint(containerWidth, \"xl\", xl, xxl) ??\n containerBreakpoint(containerWidth, \"xxl\", xxl, undefined);\n\n return result ? { ...result, containerHeight } : undefined;\n};\n\n/**\n * Observes a container and returns its active Anvil2 breakpoint and dimensions.\n * Returns `undefined` while disabled or before measurement.\n */\nexport const useContainerQuery = (\n containerRef: RefObject<HTMLElement>,\n props?: { disable?: boolean },\n) => {\n const [size, setSize] = useState<ContainerQueryReturnProps | undefined>(\n undefined,\n );\n\n useEffect(() => {\n if (props?.disable || !containerRef.current) return;\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n const breakpoint = getContainerBreakpoint(width, height);\n setSize(breakpoint);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n const rect = containerRef.current.getBoundingClientRect();\n setSize(getContainerBreakpoint(rect.width, rect.height));\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [containerRef, props?.disable]);\n\n if (props?.disable) return undefined;\n return size;\n};\n","import * as React from \"react\";\nconst SvgTune = (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: \"M3 18c0 .55.45 1 1 1h5v-2H4c-.55 0-1 .45-1 1zM3 6c0 .55.45 1 1 1h9V5H4c-.55 0-1 .45-1 1zm10 14v-1h7c.55 0 1-.45 1-1s-.45-1-1-1h-7v-1c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1zM7 10v1H4c-.55 0-1 .45-1 1s.45 1 1 1h3v1c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1zm14 2c0-.55-.45-1-1-1h-9v2h9c.55 0 1-.45 1-1zm-5-3c.55 0 1-.45 1-1V7h3c.55 0 1-.45 1-1s-.45-1-1-1h-3V4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1z\" }));\nexport default SvgTune;\n","import {\n useContext,\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef,\n} from \"react\";\nimport IconTune from \"@servicetitan/hammer-icon/mdi/round/tune.svg\";\nimport IconClose from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport type {\n DateListFilter,\n DateListLibraryOptionId,\n Filter,\n} from \"./internal/types\";\nimport { FilterGroupContext } from \"./internal/FilterGroupContext\";\nimport { Flex } from \"../../../components/Flex\";\nimport {\n checkActiveFilters,\n getActiveFilters,\n resetFilters,\n updateSingleFilter,\n cloneFiltersWithItemRefs,\n hasFilterSelectionChanged,\n} from \"./internal/utils/filter-state\";\nimport { getAdapter } from \"./internal/adapters\";\nimport { DateListDialog } from \"./FilterDateList\";\nimport ButtonToggle from \"../../../components/ButtonToggle\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { PARTS } from \"./parts\";\nimport Chip from \"../../../components/Chip\";\nimport Drawer from \"../../../components/Drawer\";\nimport Button from \"../../../components/Button\";\n\nimport { useToolbarSize } from \"../Toolbar/internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./FilterBar.module.scss\";\n\n/** Batch editor for filters not reachable from the toolbar. Drafts commit only on Apply. */\nexport const FilterDrawer = () => {\n const [open, setOpen] = useState(false);\n\n const {\n filters,\n updateFilter,\n onFilterChange,\n drawerOnlyFilters,\n showInlineFilters,\n } = useContext(FilterGroupContext);\n const toolbarSize = useToolbarSize();\n\n const [draftFilters, setDraftFilters] = useState<Filter[]>(filters);\n\n // Open dialog for a dateList library option (On…/Before…/After…/Custom Range…).\n const [dateListDialogState, setDateListDialogState] = useState<{\n filterId: string;\n libraryId: DateListLibraryOptionId;\n } | null>(null);\n\n // Filters not reachable from the toolbar: when inline filters are shown,\n // only drawer-only filters qualify; otherwise every filter qualifies.\n const filtersNotInToolbar = showInlineFilters ? drawerOnlyFilters : filters;\n\n const activeFiltersCount = getActiveFilters(filtersNotInToolbar).length;\n\n const prevOpenRef = useRef(open);\n const prevFiltersRef = useRef<Filter[]>(filters);\n\n useEffect(() => {\n const justOpened = open && !prevOpenRef.current;\n prevOpenRef.current = open;\n\n if (open) {\n // Item-array-only updates must not wipe in-progress search selections.\n const anySelectionChanged = prevFiltersRef.current.some(\n (prevFilter, index) => {\n const newFilter = filters[index];\n return newFilter && hasFilterSelectionChanged(prevFilter, newFilter);\n },\n );\n\n const shouldSync = justOpened || anySelectionChanged;\n\n if (shouldSync) {\n setDraftFilters(cloneFiltersWithItemRefs(filters));\n }\n\n prevFiltersRef.current = filters;\n }\n }, [open, filters]);\n\n const handleDraftChange = useCallback((filterId: string, value: unknown) => {\n setDraftFilters((draft) => updateSingleFilter(draft, filterId, value));\n }, []);\n\n const clearDraftFilters = () => {\n setDraftFilters(resetFilters(draftFilters));\n };\n\n const hasActiveDraftFilters = checkActiveFilters(draftFilters);\n\n const requestDateListDialog = useCallback(\n (filterId: string, libraryId: DateListLibraryOptionId) => {\n setDateListDialogState({ filterId, libraryId });\n },\n [],\n );\n\n const filterForm = useMemo(\n () =>\n draftFilters.map((draftFilter) => {\n const originalFilter = filters.find((f) => f.id === draftFilter.id);\n if (!originalFilter) return null;\n\n return getAdapter(draftFilter).renderDrawer({\n originalFilter,\n draftFilter,\n onDraftChange: handleDraftChange,\n requestDateListDialog,\n });\n }),\n [draftFilters, filters, handleDraftChange, requestDateListDialog],\n );\n\n const applyFiltering = () => {\n draftFilters.forEach((draftFilter) => {\n const value = getAdapter(draftFilter).getValue(draftFilter);\n updateFilter(draftFilter.id, value, false);\n });\n\n onFilterChange?.(draftFilters);\n setOpen(false);\n };\n\n const handleCancel = () => {\n setOpen(false);\n };\n\n const hasHiddenActiveFilters = activeFiltersCount > 0;\n\n const triggerClasses = cx(\n styles[\"filter-button-trigger\"],\n styles[\"filter-drawer-trigger\"],\n {\n [styles[\"filter-drawer-trigger--chipped\"]]: hasHiddenActiveFilters,\n },\n );\n\n const dateListDialogTarget = dateListDialogState\n ? draftFilters.find(\n (f): f is DateListFilter =>\n f.id === dateListDialogState.filterId && f.type === \"dateList\",\n )\n : undefined;\n const dateListDialogSelected = dateListDialogTarget?.selectedOption;\n const dateListDialogInitialValue =\n dateListDialogSelected &&\n dateListDialogSelected.id === dateListDialogState?.libraryId &&\n dateListDialogSelected.value !== null\n ? dateListDialogSelected.value\n : undefined;\n\n return (\n <>\n <ButtonToggle\n data-anv=\"filter-group-drawer-trigger\"\n icon={{ before: IconTune }}\n onClick={() => setOpen(true)}\n className={triggerClasses}\n checked={open}\n size={toolbarSize}\n {...{ [ANV_PART_ATTR]: PARTS.drawerTrigger }}\n >\n Filters\n {hasHiddenActiveFilters && (\n <Chip\n size=\"small\"\n label={activeFiltersCount.toString()}\n {...{ [ANV_PART_ATTR]: PARTS.countBadge }}\n />\n )}\n </ButtonToggle>\n\n <Drawer\n data-anv=\"filter-group-drawer\"\n data-testid=\"filter-group-drawer\"\n open={open}\n onClose={() => setOpen(false)}\n {...{ [ANV_PART_ATTR]: PARTS.drawer }}\n >\n <Drawer.Content>\n <Flex direction=\"column\" gap={6} grow={1}>\n {filterForm}\n </Flex>\n </Drawer.Content>\n\n <Drawer.Footer>\n <Flex\n justifyContent={\n hasActiveDraftFilters ? \"space-between\" : \"flex-end\"\n }\n grow={1}\n >\n {hasActiveDraftFilters && (\n <Button\n appearance=\"ghost\"\n icon={{ before: IconClose }}\n onClick={clearDraftFilters}\n {...{ [ANV_PART_ATTR]: PARTS.clearFiltersButton }}\n >\n Clear All Filters\n </Button>\n )}\n\n <Flex gap=\"3\">\n <Button\n onClick={handleCancel}\n {...{ [ANV_PART_ATTR]: PARTS.cancelButton }}\n >\n Cancel\n </Button>\n <Button\n appearance=\"primary\"\n onClick={applyFiltering}\n {...{ [ANV_PART_ATTR]: PARTS.applyButton }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n </Drawer.Footer>\n </Drawer>\n <DateListDialog\n libraryId={dateListDialogState?.libraryId ?? null}\n parentFilterId={dateListDialogState?.filterId ?? \"\"}\n initialValue={dateListDialogInitialValue}\n mode={dateListDialogTarget?.mode}\n customRange={dateListDialogTarget?.customRange}\n dialogCtaLabel=\"Save\"\n onCommit={(option) => {\n if (dateListDialogState) {\n handleDraftChange(dateListDialogState.filterId, option);\n }\n setDateListDialogState(null);\n }}\n onCancel={() => setDateListDialogState(null)}\n />\n </>\n );\n};\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n useCallback,\n} from \"react\";\nimport { useMergeRefs } from \"../../../hooks\";\nimport CloseIcon from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport type { Filter } from \"./internal/types\";\nimport { FilterItemWrapper } from \"./FilterItemWrapper\";\nimport Button from \"../../../components/Button\";\nimport type { DataAttributes, LayoutUtilProps } from \"../../../types\";\nimport { useContainerQuery, useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport {\n checkActiveFilters,\n resetFilters,\n updateSingleFilter,\n hasFilterSelectionChanged,\n preserveFilterState,\n} from \"./internal/utils/filter-state\";\nimport { getAdapter } from \"./internal/adapters\";\nimport { FilterGroupContext } from \"./internal/FilterGroupContext\";\nimport { FilterDrawer } from \"./FilterDrawer\";\nimport { ToolbarContext } from \"../Toolbar/internal/ToolbarContext\";\nimport type { ToolbarSize } from \"../Toolbar/types\";\nimport {\n getToolbarElements,\n handleToolbarKeyDown,\n updateToolbarItemsTabIndex,\n} from \"../Toolbar/internal/utils/accessibility\";\nimport { Flex } from \"../../../components/Flex\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { PARTS } from \"./parts\";\n\nimport styles from \"./FilterBar.module.scss\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n */\nexport type FilterBarProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n DataAttributes & {\n /** Filter configs to render. Search filters are always first among inline filters. */\n filters: Filter[];\n /** Names the content being filtered in the toolbar's accessible label. */\n associatedContent: string;\n /** Receives the full filter list after a filter commit. */\n onFilterChange: (filters: Filter[]) => void;\n /** Delays inline filter commits until Apply. The drawer always batches changes. Defaults to `false`. */\n controlledFiltering?: boolean;\n /** Toolbar size for filter controls. Defaults to `xsmall`. */\n size?: ToolbarSize;\n /**\n * When true, filters stay inline at every container width instead of\n * collapsing to drawer-only mode at narrow widths.\n * @default false\n */\n disableCollapse?: boolean;\n };\n\n/**\n * Standalone filter toolbar with wrapping inline controls and a drawer for\n * narrow containers or drawer-only filters.\n */\nexport const FilterBar = forwardRef<HTMLDivElement, FilterBarProps>(\n function FilterBarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n filters: initialFilters,\n onFilterChange,\n controlledFiltering = false,\n associatedContent,\n size = \"xsmall\",\n disableCollapse = false,\n className,\n style,\n onKeyDown,\n ...rest\n } = componentProps;\n\n const [filters, setFilters] = useState<Filter[]>(initialFilters);\n const filterBarRef = useRef<HTMLDivElement>(null);\n const containerQuery = useContainerQuery(filterBarRef);\n\n const showInlineFilters =\n disableCollapse || !!(containerQuery && containerQuery.name !== \"xs\");\n\n useEffect(() => {\n setFilters((prevFilters) => {\n const existingFiltersMap = new Map(prevFilters.map((f) => [f.id, f]));\n\n return initialFilters.map((newFilter: Filter) => {\n const existingFilter = existingFiltersMap.get(newFilter.id);\n\n if (!existingFilter) {\n return newFilter;\n }\n\n if (!hasFilterSelectionChanged(existingFilter, newFilter)) {\n return preserveFilterState(newFilter, existingFilter);\n }\n\n return newFilter;\n });\n });\n }, [initialFilters]);\n\n const updateFilter = useCallback(\n (filterId: string, value: unknown, submit: boolean) => {\n setFilters((prevFilters) => {\n const updatedFilters = updateSingleFilter(\n prevFilters,\n filterId,\n value,\n );\n\n if (submit) {\n onFilterChange?.(updatedFilters);\n }\n\n return updatedFilters;\n });\n },\n [onFilterChange],\n );\n\n const clearAllFilters = () => {\n const resetAllFilters = resetFilters(filters);\n setFilters(resetAllFilters);\n onFilterChange?.(resetAllFilters);\n\n requestAnimationFrame(() => {\n if (filterBarRef.current) {\n const firstFocusable = filterBarRef.current.querySelector(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n ) as HTMLElement;\n\n if (firstFocusable) {\n firstFocusable.focus();\n }\n }\n });\n };\n\n const hasActiveFilters = checkActiveFilters(filters);\n\n const { inlineFilters, drawerOnlyFilters } = useMemo(() => {\n const inline: Filter[] = [];\n const drawer: Filter[] = [];\n for (const f of filters) {\n (f.drawerOnly ? drawer : inline).push(f);\n }\n // The search filter is a pinned, always-visible field — keyboard\n // navigation treats it as a fixed edge of the roving-focus sequence\n // (see the ArrowLeft/ArrowRight boundary handoff below), so it always\n // renders first regardless of where it sits in `filters`.\n const searchFilter = inline.find((f) => f.type === \"search\");\n const orderedInline = searchFilter\n ? [searchFilter, ...inline.filter((f) => f !== searchFilter)]\n : inline;\n return { inlineFilters: orderedInline, drawerOnlyFilters: drawer };\n }, [filters]);\n\n // The drawer (and its trigger) only exists when at least one filter is\n // unreachable from the toolbar — either because the container is too\n // narrow to show inline filters or the filter is configured as drawer-only.\n const shouldShowDrawer = !showInlineFilters || drawerOnlyFilters.length > 0;\n\n const filterGroupControls = inlineFilters.map((filter) =>\n getAdapter(filter).renderBarControl({\n filter,\n updateFilter,\n controlledFiltering,\n }),\n );\n\n // overflow is omitted — it's optional and defaults to wrap behavior.\n const toolbarContextValue = useMemo(\n () => ({\n overflowItems: [],\n addItem: () => {},\n removeItem: () => {},\n toolbarRef: filterBarRef,\n size,\n }),\n [size],\n );\n\n const filterGroupContextValue = useMemo(\n () => ({\n filterGroupRef: filterBarRef,\n filters,\n updateFilter,\n onFilterChange,\n controlledFiltering,\n associatedContent,\n showInlineFilters,\n drawerOnlyFilters,\n }),\n [\n filterBarRef,\n filters,\n updateFilter,\n onFilterChange,\n controlledFiltering,\n associatedContent,\n showInlineFilters,\n drawerOnlyFilters,\n ],\n );\n\n useEffect(() => {\n if (filterBarRef.current) {\n updateToolbarItemsTabIndex(filterBarRef.current);\n }\n }, [filters]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (filterBarRef.current) {\n // The search field's input keeps a fixed tabindex and is excluded\n // from the roving-tabindex pool (see FilterSearchField), so the\n // generic handler below only knows about the filter chips and\n // wraps within just that pool. When a search field is present,\n // treat it as the boundary neighbor instead: ArrowLeft from the\n // first chip and ArrowRight from the last chip go to the search\n // input rather than wrapping among the chips.\n const searchInput = filterBarRef.current.querySelector<HTMLElement>(\n '[data-anv=\"filter-search-field\"] input',\n );\n\n if (searchInput) {\n const items = getToolbarElements(filterBarRef.current);\n const activeElement = event.target as HTMLElement;\n const activeItem = items.find(\n (item) =>\n item === activeElement ||\n Array.from(item.children).some(\n (child) => child === activeElement,\n ),\n );\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n\n if (\n (event.code === \"ArrowLeft\" && activeIndex === 0) ||\n (event.code === \"ArrowRight\" && activeIndex === items.length - 1)\n ) {\n event.preventDefault();\n searchInput.focus();\n onKeyDown?.(event);\n return;\n }\n }\n\n handleToolbarKeyDown(event, filterBarRef.current);\n }\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <ToolbarContext.Provider value={toolbarContextValue}>\n <FilterGroupContext.Provider value={filterGroupContextValue}>\n <Flex\n ref={useMergeRefs([filterBarRef, ref])}\n role=\"toolbar\"\n aria-label={`Filters for ${associatedContent}. Use arrow keys to navigate through filter controls.`}\n aria-orientation=\"horizontal\"\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n alignItems=\"center\"\n gap={1}\n wrap=\"wrap\"\n className={className}\n style={styleCombined}\n data-anv=\"filter-bar\"\n {...rest}\n >\n <Flex\n alignItems=\"center\"\n gap={1}\n wrap=\"wrap\"\n grow={1}\n data-anv=\"toolbar-content\"\n >\n {showInlineFilters && filterGroupControls}\n {shouldShowDrawer && <FilterDrawer />}\n\n {showInlineFilters && hasActiveFilters && (\n <FilterItemWrapper>\n <Button\n appearance=\"ghost\"\n size={size}\n className={styles[\"filter-button-trigger\"]}\n icon={{\n before: CloseIcon,\n }}\n onClick={clearAllFilters}\n {...{ [ANV_PART_ATTR]: PARTS.clearFiltersButton }}\n >\n Clear Filters\n </Button>\n </FilterItemWrapper>\n )}\n </Flex>\n </Flex>\n </FilterGroupContext.Provider>\n </ToolbarContext.Provider>\n );\n },\n);\n\nFilterBar.displayName = \"FilterBar\";\n"],"names":["core.primitive?.BreakpointSm","core.primitive?.BreakpointMd","core.primitive?.BreakpointLg","core.primitive?.BreakpointXl","core.primitive?.BreakpointXxl","IconTune","IconClose","CloseIcon"],"mappings":"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"}
package/dist/FilterBar.js CHANGED
@@ -1,2 +1,2 @@
1
- export { F as FilterBar, F as default } from './FilterBar-CKYf-1oU.js';
1
+ export { F as FilterBar, F as default } from './FilterBar-PXv7_svO.js';
2
2
  //# sourceMappingURL=FilterBar.js.map
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useRef, useMemo, isValidElement, cloneElement } from 'react';
3
- import { u as useMergeRefs } from './AiMark-D57s1e0T.js';
4
- import { T as TextField } from './TextField-CQ7e3mC4.js';
3
+ import { u as useMergeRefs } from './AiMark-N8UfGfcV.js';
4
+ import { T as TextField } from './TextField-DxQ6-IhP.js';
5
5
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
6
6
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
7
7
  import { useTrackingId } from './useTrackingId.js';
@@ -261,4 +261,4 @@ const InputMask = forwardRef(
261
261
  InputMask.displayName = "InputMask";
262
262
 
263
263
  export { InputMask as I };
264
- //# sourceMappingURL=InputMask-xMpquXPU.js.map
264
+ //# sourceMappingURL=InputMask-BgZX650-.js.map