@servicetitan/anvil2 3.15.0 → 3.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{AiMark-D57s1e0T.js → AiMark-BfmK30vL.js} +3 -3
  3. package/dist/{AiMark-D57s1e0T.js.map → AiMark-BfmK30vL.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-DExHiAbM.js → Alert-lLo1N7Tj.js} +3 -3
  6. package/dist/{Alert-DExHiAbM.js.map → Alert-lLo1N7Tj.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
  9. package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-RdL4Fvmu.js} +2 -2
  12. package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-RdL4Fvmu.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
  15. package/dist/Button-Dn6-01xl.js.map +1 -0
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
  18. package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{Calendar-BUFPc5UN.js → Calendar-DoLRAWLp.js} +2 -2
  21. package/dist/Calendar-DoLRAWLp.js.map +1 -0
  22. package/dist/{Calendar-CEf7ke8X.js → Calendar-IzXG1aJw.js} +3 -3
  23. package/dist/Calendar-IzXG1aJw.js.map +1 -0
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-DVy-QESI.js → Checkbox-CVxbe-iN.js} +3 -3
  26. package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-CVxbe-iN.js.map} +1 -1
  27. package/dist/{Checkbox-DBE35nMv.js → Checkbox-U-kuWhgc.js} +2 -2
  28. package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-U-kuWhgc.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-B4G4zaP-.js → Chip-2OydLs66.js} +2 -2
  31. package/dist/{Chip-B4G4zaP-.js.map → Chip-2OydLs66.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-DbuXfDNJ.js → DataTable-DkEpJ_Op.js} +16 -41
  35. package/dist/DataTable-DkEpJ_Op.js.map +1 -0
  36. package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-X2jdOTYY.js} +4 -4
  37. package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-X2jdOTYY.js.map} +1 -1
  38. package/dist/DateFieldRange.js +1 -1
  39. package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-BJ16tpOz.js} +4 -4
  40. package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-BJ16tpOz.js.map} +1 -1
  41. package/dist/DateFieldSingle.js +1 -1
  42. package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-CMm8vtz_.js} +4 -4
  43. package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-CMm8vtz_.js.map} +1 -1
  44. package/dist/DateFieldYearless.js +1 -1
  45. package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-BHHs-Z1Q.js} +3 -3
  46. package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-BHHs-Z1Q.js.map} +1 -1
  47. package/dist/DateFieldYearlessRange.js +1 -1
  48. package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-BHXxs0Bo.js} +3 -3
  49. package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-BHXxs0Bo.js.map} +1 -1
  50. package/dist/DaysOfTheWeek.js +1 -1
  51. package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
  52. package/dist/Details-BxqP-5vp.js.map +1 -0
  53. package/dist/Details.css +18 -14
  54. package/dist/Details.js +1 -1
  55. package/dist/{Dialog-vSiZAR1y.js → Dialog-B9llUKJz.js} +5 -5
  56. package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B9llUKJz.js.map} +1 -1
  57. package/dist/Dialog.js +1 -1
  58. package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
  59. package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
  60. package/dist/{Drawer-B4pxj_2P.js → Drawer-Bjd2XLUX.js} +6 -6
  61. package/dist/{Drawer-B4pxj_2P.js.map → Drawer-Bjd2XLUX.js.map} +1 -1
  62. package/dist/Drawer.js +1 -1
  63. package/dist/DrillDown.js +1 -1
  64. package/dist/{EditCard-CX1G7G2Q.js → EditCard-B6l2vhBS.js} +3 -3
  65. package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-B6l2vhBS.js.map} +1 -1
  66. package/dist/EditCard.js +1 -1
  67. package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-ThEmUiAq.js} +2 -2
  68. package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-ThEmUiAq.js.map} +1 -1
  69. package/dist/FieldLabel.js +1 -1
  70. package/dist/{FilterBar-CKYf-1oU.js → FilterBar-ecqJDraA.js} +7 -7
  71. package/dist/FilterBar-ecqJDraA.js.map +1 -0
  72. package/dist/FilterBar.js +1 -1
  73. package/dist/{InputMask-xMpquXPU.js → InputMask-BQigi5oW.js} +3 -3
  74. package/dist/{InputMask-xMpquXPU.js.map → InputMask-BQigi5oW.js.map} +1 -1
  75. package/dist/InputMask.js +1 -1
  76. package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
  77. package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
  78. package/dist/InteractiveCard.js +1 -1
  79. package/dist/{ListView-D6l1KY92.js → ListView-YJscfG4x.js} +2 -2
  80. package/dist/{ListView-D6l1KY92.js.map → ListView-YJscfG4x.js.map} +1 -1
  81. package/dist/ListView.js +1 -1
  82. package/dist/{Listbox-Dep1eJ3u.js → Listbox-CD9ZptSZ.js} +2 -2
  83. package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-CD9ZptSZ.js.map} +1 -1
  84. package/dist/Listbox.js +1 -1
  85. package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
  86. package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
  87. package/dist/Menu.js +1 -1
  88. package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
  89. package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
  90. package/dist/MultiSelectField.js +1 -1
  91. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DpPO0cya.js} +7 -7
  92. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DpPO0cya.js.map} +1 -1
  93. package/dist/MultiSelectMenu.js +1 -1
  94. package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-BN_3moW_.js} +5 -5
  95. package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-BN_3moW_.js.map} +1 -1
  96. package/dist/{NumberField-D5ZzEHg1.js → NumberField-CxmJx4gs.js} +4 -4
  97. package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CxmJx4gs.js.map} +1 -1
  98. package/dist/NumberField.js +1 -1
  99. package/dist/{Page-B2HZzNGP.js → Page-IZ4p51iJ.js} +19 -188
  100. package/dist/Page-IZ4p51iJ.js.map +1 -0
  101. package/dist/Page.js +1 -1
  102. package/dist/{Pagination-CAgXtt9t.js → Pagination-Su4VBAhT.js} +5 -5
  103. package/dist/{Pagination-CAgXtt9t.js.map → Pagination-Su4VBAhT.js.map} +1 -1
  104. package/dist/Pagination.js +1 -1
  105. package/dist/{Popover-CjL2ixjB.js → Popover-CIh1CsoJ.js} +3 -3
  106. package/dist/{Popover-CjL2ixjB.js.map → Popover-CIh1CsoJ.js.map} +1 -1
  107. package/dist/Popover.js +1 -1
  108. package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-TQ0fPmn9.js} +2 -2
  109. package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-TQ0fPmn9.js.map} +1 -1
  110. package/dist/ProgressBar.js +1 -1
  111. package/dist/{Radio-_ftIQSru.js → Radio-BYowelK2.js} +3 -3
  112. package/dist/{Radio-_ftIQSru.js.map → Radio-BYowelK2.js.map} +1 -1
  113. package/dist/{Radio-C2BJqWlV.js → Radio-C1VnatcL.js} +2 -2
  114. package/dist/{Radio-C2BJqWlV.js.map → Radio-C1VnatcL.js.map} +1 -1
  115. package/dist/Radio.js +1 -1
  116. package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-BpzUo8dB.js} +12 -17
  117. package/dist/RichTextEditor-BpzUo8dB.js.map +1 -0
  118. package/dist/RichTextEditor.js +1 -1
  119. package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-D9GJbJQu.js} +10 -24
  120. package/dist/SavedFiltersButton-D9GJbJQu.js.map +1 -0
  121. package/dist/SavedFiltersButton.js +1 -1
  122. package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
  123. package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
  124. package/dist/SegmentedControl.js +1 -1
  125. package/dist/{SelectCard-BwIbfore.js → SelectCard-DrmMU_GD.js} +3 -3
  126. package/dist/{SelectCard-BwIbfore.js.map → SelectCard-DrmMU_GD.js.map} +1 -1
  127. package/dist/SelectCard.js +1 -1
  128. package/dist/SelectField.js +1 -1
  129. package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BxsKvfqo.js} +2 -2
  130. package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BxsKvfqo.js.map} +1 -1
  131. package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-BN2ebLWT.js} +6 -6
  132. package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-BN2ebLWT.js.map} +1 -1
  133. package/dist/SelectMenu.js +1 -1
  134. package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-DuPf8KCc.js} +5 -5
  135. package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-DuPf8KCc.js.map} +1 -1
  136. package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-BK7kNjYM.js} +2 -2
  137. package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-BK7kNjYM.js.map} +1 -1
  138. package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B5h-aqhl.js} +2 -2
  139. package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B5h-aqhl.js.map} +1 -1
  140. package/dist/SelectTrigger.js +1 -1
  141. package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-SML2Mlt-.js} +4 -4
  142. package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-SML2Mlt-.js.map} +1 -1
  143. package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
  144. package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
  145. package/dist/Stepper.js +1 -1
  146. package/dist/{Switch-DWq4QI8M.js → Switch-1iNdXTik.js} +2 -2
  147. package/dist/{Switch-DWq4QI8M.js.map → Switch-1iNdXTik.js.map} +1 -1
  148. package/dist/Switch.js +1 -1
  149. package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
  150. package/dist/Tab-DR5YYXkq.js.map +1 -0
  151. package/dist/Tab.js +1 -1
  152. package/dist/Table.js +1 -1
  153. package/dist/{Text-dONmlARH.js → Text-rihxXHSe.js} +2 -2
  154. package/dist/{Text-dONmlARH.js.map → Text-rihxXHSe.js.map} +1 -1
  155. package/dist/Text.js +1 -1
  156. package/dist/{TextField-CtXjbtqa.js → TextField-Bxd-Qzoi.js} +2 -2
  157. package/dist/{TextField-CtXjbtqa.js.map → TextField-Bxd-Qzoi.js.map} +1 -1
  158. package/dist/{TextField-CQ7e3mC4.js → TextField-vuS7xeo-.js} +3 -3
  159. package/dist/{TextField-CQ7e3mC4.js.map → TextField-vuS7xeo-.js.map} +1 -1
  160. package/dist/TextField.js +1 -1
  161. package/dist/{Textarea-DGVHQktZ.js → Textarea-ppapJUwh.js} +3 -3
  162. package/dist/{Textarea-DGVHQktZ.js.map → Textarea-ppapJUwh.js.map} +1 -1
  163. package/dist/Textarea.js +1 -1
  164. package/dist/{TimeField-AttXPsQw.js → TimeField-Hwt_oRbg.js} +4 -4
  165. package/dist/{TimeField-AttXPsQw.js.map → TimeField-Hwt_oRbg.js.map} +1 -1
  166. package/dist/TimeField.js +1 -1
  167. package/dist/Toast.js +2 -2
  168. package/dist/{Toaster-CNtAl-tF.js → Toaster-BryQmKe1.js} +4 -4
  169. package/dist/{Toaster-CNtAl-tF.js.map → Toaster-BryQmKe1.js.map} +1 -1
  170. package/dist/{Toaster-DYO8NLTo.js → Toaster-BtP_HezK.js} +2 -2
  171. package/dist/{Toaster-DYO8NLTo.js.map → Toaster-BtP_HezK.js.map} +1 -1
  172. package/dist/{Toolbar-BIbbaCxh.js → Toolbar-CMulzswf.js} +5 -5
  173. package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-CMulzswf.js.map} +1 -1
  174. package/dist/{Toolbar-B_lHD0c2.js → Toolbar-DGHZpFi9.js} +11 -105
  175. package/dist/Toolbar-DGHZpFi9.js.map +1 -0
  176. package/dist/Toolbar.js +2 -2
  177. package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
  178. package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
  179. package/dist/TreeSelectField.js +1 -1
  180. package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-C0mXwYZL.js} +7 -7
  181. package/dist/TreeSelectFieldSync-C0mXwYZL.js.map +1 -0
  182. package/dist/TreeSelectMenu.js +1 -1
  183. package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D2TvKxP-.js} +4 -4
  184. package/dist/TreeSelectMenuSync-D2TvKxP-.js.map +1 -0
  185. package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-DgazozK7.js} +10 -19
  186. package/dist/TypeaheadTextField-DgazozK7.js.map +1 -0
  187. package/dist/TypeaheadTextField.js +1 -1
  188. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-Bc8a33D5.js} +2 -2
  189. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-Bc8a33D5.js.map} +1 -1
  190. package/dist/beta.js +18 -18
  191. package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-D5y3Acn1.js} +2 -2
  192. package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-D5y3Acn1.js.map} +1 -1
  193. package/dist/{filter-state-DW8YmRHb.js → filter-state-Do862BNr.js} +55 -37
  194. package/dist/filter-state-Do862BNr.js.map +1 -0
  195. package/dist/{index-Cw2HFh0a.js → index-Dt0zG4YB.js} +2 -2
  196. package/dist/{index-Cw2HFh0a.js.map → index-Dt0zG4YB.js.map} +1 -1
  197. package/dist/index.js +49 -49
  198. package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
  199. package/dist/react-ORV84FjM.js.map +1 -0
  200. package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
  201. package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
  202. package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
  203. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
  204. package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
  205. package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
  206. package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
  207. package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
  208. package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
  209. package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
  210. package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
  211. package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
  212. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
  213. package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
  214. package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
  215. package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
  216. package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
  217. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
  218. package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
  219. package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
  220. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
  221. package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
  222. package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
  223. package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
  224. package/dist/src/beta/components/Page/Page.d.ts +8 -166
  225. package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
  226. package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
  227. package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
  228. package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
  229. package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
  230. package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
  231. package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
  232. package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
  233. package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
  234. package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
  235. package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
  236. package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
  237. package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
  238. package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
  239. package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
  240. package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
  241. package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  242. package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
  243. package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
  244. package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
  245. package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
  246. package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
  247. package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
  248. package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
  249. package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
  250. package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
  251. package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
  252. package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
  253. package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
  254. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
  255. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
  256. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
  257. package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
  258. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
  259. package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
  260. package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
  261. package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
  262. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
  263. package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
  264. package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
  265. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
  266. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
  267. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
  268. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
  269. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
  270. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
  271. package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
  272. package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
  273. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
  274. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
  275. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
  276. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
  277. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
  278. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
  279. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
  280. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
  281. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
  282. package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
  283. package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
  284. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
  285. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
  286. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
  287. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
  288. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
  289. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
  290. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
  291. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
  292. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
  293. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
  294. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
  295. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
  296. package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
  297. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
  298. package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
  299. package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
  300. package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
  301. package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
  302. package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
  303. package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
  304. package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
  305. package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
  306. package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
  307. package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
  308. package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
  309. package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
  310. package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
  311. package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
  312. package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
  313. package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
  314. package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
  315. package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
  316. package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
  317. package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
  318. package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
  319. package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
  320. package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
  321. package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
  322. package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
  323. package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
  324. package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
  325. package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
  326. package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
  327. package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
  328. package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
  329. package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
  330. package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
  331. package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
  332. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
  333. package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
  334. package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
  335. package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
  336. package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
  337. package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
  338. package/dist/src/beta/components/Table/types.d.ts +183 -462
  339. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
  340. package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
  341. package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
  342. package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
  343. package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
  344. package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
  345. package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
  346. package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
  347. package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
  348. package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
  349. package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
  350. package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
  351. package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
  352. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
  353. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
  354. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
  355. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
  356. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
  357. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
  358. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
  359. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
  360. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
  361. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
  362. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
  363. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
  364. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
  365. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
  366. package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
  367. package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
  368. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
  369. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
  370. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
  371. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
  372. package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
  373. package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
  374. package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
  375. package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
  376. package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-BhYLEiXu.js} +2 -2
  377. package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-BhYLEiXu.js.map} +1 -1
  378. package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ClEj4Oeg.js} +4 -4
  379. package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ClEj4Oeg.js.map} +1 -1
  380. package/dist/{treeSync-CDrgjuw8.js → treeSync-B38r1dRQ.js} +5 -11
  381. package/dist/treeSync-B38r1dRQ.js.map +1 -0
  382. package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
  383. package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
  384. package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-BOeeNUsy.js} +4 -4
  385. package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-BOeeNUsy.js.map} +1 -1
  386. package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-7oIT2Mzn.js} +4 -4
  387. package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-7oIT2Mzn.js.map} +1 -1
  388. package/dist/{useInitialFocus-0TZ78bPz.js → useInitialFocus-CGybEc6x.js} +2 -2
  389. package/dist/{useInitialFocus-0TZ78bPz.js.map → useInitialFocus-CGybEc6x.js.map} +1 -1
  390. package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-BD2VBpbK.js} +5 -5
  391. package/dist/useInvalidateOnOptionsChange-BD2VBpbK.js.map +1 -0
  392. package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
  393. package/dist/{usePopoverTransitionStates-B1opfxxn.js.map → usePopoverTransitionStates-CDXCdyKa.js.map} +1 -1
  394. package/package.json +6 -4
  395. package/dist/Button-Dwh_Nd4l.js.map +0 -1
  396. package/dist/Calendar-BUFPc5UN.js.map +0 -1
  397. package/dist/Calendar-CEf7ke8X.js.map +0 -1
  398. package/dist/DataTable-DbuXfDNJ.js.map +0 -1
  399. package/dist/Details-oM-nR4ju.js.map +0 -1
  400. package/dist/FilterBar-CKYf-1oU.js.map +0 -1
  401. package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
  402. package/dist/Page-B2HZzNGP.js.map +0 -1
  403. package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
  404. package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
  405. package/dist/Tab-mXEQ0ifM.js.map +0 -1
  406. package/dist/Toolbar-B_lHD0c2.js.map +0 -1
  407. package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
  408. package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
  409. package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
  410. package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
  411. package/dist/filter-state-DW8YmRHb.js.map +0 -1
  412. package/dist/proxy-DEehATlA.js.map +0 -1
  413. package/dist/treeSync-CDrgjuw8.js.map +0 -1
  414. package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
  415. package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar-BIbbaCxh.js","sources":["../src/components/Toolbar/internal/ToolbarItemOverflowContext.tsx","../src/components/Toolbar/internal/ToolbarContext.tsx","../src/components/Toolbar/internal/utils/accessibility.ts","../src/components/Toolbar/internal/ToolbarItemWrapper.tsx","../src/components/Toolbar/parts.ts","../src/components/Toolbar/ToolbarButton.tsx","../src/components/Toolbar/ToolbarButtonToggle.tsx","../src/components/Toolbar/ToolbarButtonLink.tsx","../src/components/Toolbar/ToolbarSelect.tsx","../src/components/Toolbar/internal/ToolbarOverflowMenu.tsx","../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\ntype OverflowItemContextType = {\n isInOverflowMenu: boolean;\n};\n\nexport const OverflowItemContext = createContext<OverflowItemContextType>({\n isInOverflowMenu: false,\n});\n\nexport const useOverFlowItemContext = () => useContext(OverflowItemContext);\n","import { createContext, type RefObject, useContext } from \"react\";\nimport type {\n ToolbarItemProps,\n ToolbarOverflowTypes,\n ToolbarSize,\n} from \"../types\";\n\nexport type ToolbarContextProps = {\n overflowItems: ToolbarItemProps[];\n addItem: (element: ToolbarItemProps) => void;\n removeItem: (element: ToolbarItemProps) => void;\n toolbarRef: RefObject<HTMLDivElement>;\n orderedIds?: string[];\n overflow: ToolbarOverflowTypes;\n size: ToolbarSize;\n};\n\nexport const ToolbarContext = createContext<ToolbarContextProps>({\n overflowItems: [],\n addItem: () => {\n return;\n },\n removeItem: () => {\n return;\n },\n toolbarRef: { current: null },\n orderedIds: [],\n overflow: \"wrap\",\n size: \"xsmall\",\n});\n\nexport const useToolbarSize = (): ToolbarSize =>\n useContext(ToolbarContext).size;\n","import type { KeyboardEvent } from \"react\";\nimport { getKeyboardFocusableElements } from \"../../../../internal/functions\";\n\n/**\n * Returns visible toolbar controls, excluding controls inside open overlays.\n */\nexport function getToolbarElements(toolbarElement: HTMLElement) {\n const toolbarContent = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-content\"]',\n );\n\n const mainItems = getKeyboardFocusableElements(toolbarContent).filter(\n (item) => {\n const isVisible = !item.closest('[aria-hidden=\"true\"]');\n const isNotInMenuContent = !item.closest('[data-anv=\"menu-content\"]');\n const isNotInPopoverContent = !item.closest(\n '[data-anv=\"popover-content\"]',\n );\n return isVisible && isNotInMenuContent && isNotInPopoverContent;\n },\n );\n\n const overflowTrigger = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-overflow-trigger\"]',\n );\n\n return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;\n}\n\n/**\n * Applies roving tabindex and returns the active toolbar control.\n */\nexport function updateToolbarItemsTabIndex(\n toolbarElement: HTMLElement,\n activeItem?: Element | number,\n) {\n if (!toolbarElement) return;\n\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n let activeIndex = 0;\n\n if (typeof activeItem === \"number\") {\n activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));\n } else if (activeItem instanceof Element) {\n const foundIndex = items.indexOf(activeItem);\n if (foundIndex !== -1) {\n activeIndex = foundIndex;\n }\n }\n\n items.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === activeIndex ? \"0\" : \"-1\");\n });\n\n return items[activeIndex];\n}\n\n/**\n * Moves roving focus along the toolbar's declared orientation.\n */\nexport function handleToolbarKeyDown(\n event: KeyboardEvent<HTMLElement>,\n toolbarElement: HTMLElement,\n) {\n if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;\n\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n const activeElement = event.target as HTMLElement;\n if (!toolbarElement.contains(activeElement)) return;\n\n const activeItem = items.find(\n (item) =>\n item === activeElement ||\n Array.from(item.children).some((child) => child === activeElement),\n );\n\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n if (activeIndex === -1) return;\n\n let nextIndex = activeIndex;\n const isVertical =\n toolbarElement.getAttribute(\"aria-orientation\") === \"vertical\";\n\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowUp\") ||\n (!isVertical && event.key === \"ArrowLeft\")\n ) {\n nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;\n }\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowDown\") ||\n (!isVertical && event.key === \"ArrowRight\")\n ) {\n nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;\n }\n break;\n\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n\n case \"End\":\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n\n default:\n return;\n }\n\n updateToolbarItemsTabIndex(toolbarElement, nextIndex);\n (items[nextIndex] as HTMLElement)?.focus();\n}\n\n/** Moves focus through overflow menu items with Up, Down, Home, and End. */\nexport const handleMenuKeyboardNavigation = (\n event: KeyboardEvent<HTMLUListElement>,\n) => {\n const menuItems = Array.from(\n event.currentTarget.querySelectorAll('[role=\"menuitem\"]'),\n ).map((menuItem) => {\n return getKeyboardFocusableElements(menuItem as HTMLElement)[0] || menuItem;\n });\n\n if (!menuItems.length) return;\n\n const currentIndex = menuItems.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex = currentIndex;\n const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;\n\n if (isModifierKey) return;\n\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n nextIndex =\n (currentIndex + direction + menuItems.length) % menuItems.length;\n break;\n }\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = menuItems.length - 1;\n break;\n default:\n return;\n }\n\n (menuItems[nextIndex] as HTMLElement)?.focus();\n};\n","import { useContext, useEffect, useId, useRef, useCallback } from \"react\";\nimport type { ToolbarItemProps } from \"../types\";\nimport { ToolbarContext } from \"./ToolbarContext\";\nimport { useIntersectionObserver } from \"../../../internal/hooks\";\nimport { updateToolbarItemsTabIndex } from \"./utils/accessibility\";\n\nimport styles from \"../Toolbar.module.scss\";\n\ntype ToolbarItemWrapperProps = {\n item: Omit<ToolbarItemProps, \"id\">;\n children: React.ReactNode;\n};\n\n/**\n * Registers a toolbar control for overflow and roving focus management.\n */\nexport const ToolbarItemWrapper = ({\n item,\n children,\n}: ToolbarItemWrapperProps) => {\n const { addItem, removeItem, toolbarRef, overflow } =\n useContext(ToolbarContext);\n const itemId = useId();\n const elementRef = useRef<HTMLDivElement | null>(null);\n const prevIntersectingRef = useRef<boolean>(true);\n const isCollapseMode = overflow === \"collapse\";\n\n const handleVisibilityChange = useCallback(\n (isVisible: boolean) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, item, itemId, addItem, removeItem],\n );\n\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? toolbarRef.current : null,\n threshold: 1,\n initialIsIntersecting: false,\n onChange: handleVisibilityChange,\n });\n\n const setRefCallback = useCallback(\n (node: HTMLDivElement | null) => {\n elementRef.current = node;\n if (isCollapseMode) {\n ref(node);\n }\n },\n [ref, isCollapseMode],\n );\n\n const handleFocusOrClick = useCallback(() => {\n if (!toolbarRef.current || !elementRef.current) return;\n\n const currentElement = elementRef.current.querySelector(\"button, a, input\");\n if (!currentElement) return;\n\n updateToolbarItemsTabIndex(toolbarRef.current, currentElement);\n }, [toolbarRef]);\n\n useEffect(() => {\n const interactiveEl = elementRef.current?.querySelector(\"button, a, input\");\n if (!interactiveEl) return;\n\n interactiveEl.addEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.addEventListener(\"click\", handleFocusOrClick);\n\n return () => {\n interactiveEl.removeEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.removeEventListener(\"click\", handleFocusOrClick);\n };\n }, [handleFocusOrClick]);\n\n useEffect(() => {\n if (isCollapseMode) {\n prevIntersectingRef.current = true;\n }\n }, [isCollapseMode]);\n\n const isHidden = isCollapseMode && !isIntersecting;\n\n return (\n <div\n ref={setRefCallback}\n className={styles[\"toolbar-item\"]}\n style={{ visibility: isHidden ? \"hidden\" : \"visible\" }}\n aria-hidden={isHidden}\n {...{ inert: isHidden ? \"\" : undefined }}\n data-id={itemId}\n data-anv=\"toolbar-item\"\n >\n {children}\n </div>\n );\n};\n\nexport type { ToolbarItemWrapperProps };\n","import { COMMON_PART } from \"../../internal/constants/anvParts\";\n\n/**\n * `data-anv-part` names for Toolbar's interactive sub-elements.\n *\n * Scope in-wrapper parts by the consumer's `data-cy` on the Toolbar root.\n * Overflow menu/items render in the popover top layer — target them by part\n * attribute directly.\n */\nexport const PARTS = {\n trigger: COMMON_PART.trigger,\n menu: COMMON_PART.menu,\n overflowItem: \"overflow-item\",\n /**\n * A leaf toolbar control (`Toolbar.Button` / `Toolbar.ButtonToggle`).\n * Discriminate with `aria-label`, `id`, or a consumer `data-*`. Callers may\n * override this (e.g. FilterBar stamps `trigger` on boolean toggles).\n */\n item: \"item\",\n} as const;\n","import { forwardRef } from \"react\";\nimport Button, { type ButtonProps } from \"../Button\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonBaseProps = Omit<\n ButtonProps,\n \"appearance\" | \"aria-label\" | \"children\" | \"onClick\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n /** Handles activation in either the toolbar or its overflow menu. */\n onClick: ButtonProps[\"onClick\"];\n};\n\nexport type ToolbarButtonProps =\n WithAriaLabelEnforcement<ToolbarButtonBaseProps> & DataTrackingId;\n\n/**\n * Button action that inherits its size from Toolbar. In collapse mode,\n * clipped actions move into the overflow menu; icon-only actions show a tooltip.\n *\n * @example\n * <ToolbarButton icon={BoldIcon} aria-label=\"Bold text\" />\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButton\",\n data: {\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n // Default PARTS.item before {...rest} so callers (e.g. FilterBar) can override.\n const item = children ? (\n <Button\n ref={ref}\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n >\n {children}\n </Button>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <Button\n ref={ref}\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"button\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarButton.displayName = \"ToolbarButton\";\n","import { forwardRef } from \"react\";\nimport ButtonToggle, { type ButtonToggleProps } from \"../ButtonToggle\";\nimport type { WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonToggleBaseProps = Omit<\n ButtonToggleProps,\n \"aria-label\" | \"children\"\n>;\n\nexport type ToolbarButtonToggleProps =\n WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> & DataTrackingId;\n\n/**\n * Toggle action that inherits its size from Toolbar. In collapse mode, clipped\n * toggles move into the overflow menu; icon-only toggles show a tooltip.\n *\n * @example\n * <ToolbarButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\nexport const ToolbarButtonToggle = forwardRef<\n HTMLButtonElement,\n ToolbarButtonToggleProps\n>((props, _ref) => {\n const { className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonToggle\",\n data: {\n checked: props.checked,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonToggleClassNames = cx(\n className,\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-button-toggle-item\"],\n );\n\n // Default PARTS.item before {...rest} so callers (e.g. FilterBar) can override.\n const item = children ? (\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n >\n {children}\n </ButtonToggle>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonToggle\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonToggle.displayName = \"ToolbarButtonToggle\";\n","import { forwardRef } from \"react\";\nimport ButtonLink, { type ButtonLinkProps } from \"../ButtonLink\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonLinkBaseProps = Omit<\n ButtonLinkProps,\n \"appearance\" | \"aria-label\" | \"children\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n};\n\nexport type ToolbarButtonLinkProps =\n WithAriaLabelEnforcement<ToolbarButtonLinkBaseProps> & DataTrackingId;\n\n/**\n * Link action that inherits its size from Toolbar. In collapse mode, clipped\n * links move into the overflow menu; icon-only links show a tooltip.\n *\n * @example\n * <ToolbarButtonLink icon={ExternalLinkIcon} href=\"/docs\" aria-label=\"Documentation\" />\n */\nexport const ToolbarButtonLink = forwardRef<\n HTMLAnchorElement,\n ToolbarButtonLinkProps\n>((props, _ref) => {\n const { appearance = \"ghost\", className, children, icon, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonLink\",\n data: {\n href: props.href,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n target: props.target,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonLinkClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = children ? (\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n icon={icon}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n >\n {children}\n </ButtonLink>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n icon={icon}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n >\n {children}\n </ButtonLink>\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonLink\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonLink.displayName = \"ToolbarButtonLink\";\n","import { forwardRef, useEffect, useId, useState } from \"react\";\nimport ArrowDropDown from \"@servicetitan/hammer-icon/mdi/round/arrow_drop_down.svg\";\nimport Listbox, { type ListboxItemType } from \"../Listbox\";\nimport Popover from \"../../internal/components/Popover\";\nimport type { ToolbarItemAppearance } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarSelectItem<T = Record<string, unknown>> = ListboxItemType<\n T & {\n id: string;\n }\n>;\n\nexport type ToolbarSelectProps<T = Record<string, unknown>> = Omit<\n React.ComponentPropsWithoutRef<typeof Popover.Button>,\n \"appearance\" | \"onChange\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n /** Called with the selected item's ID before the popover closes. */\n onChange?: (optionId: string) => void;\n /** Controls selection by item ID. Omit to select and manage the first item initially. */\n selected?: string;\n /** Options with unique IDs; the selected option's label is shown on the trigger. */\n items: ToolbarSelectItem<T>[];\n /** Accessible name for the options popover. */\n accessibleLabel: string;\n} & DataTrackingId;\n\n/**\n * Listbox selector that inherits its size from Toolbar. In collapse mode,\n * clipped selectors move into the overflow menu. Selection may be controlled.\n */\nexport const ToolbarSelect = forwardRef<HTMLButtonElement, ToolbarSelectProps>(\n (props, _ref) => {\n const {\n appearance = \"ghost\",\n onChange,\n selected: selectedItemId,\n accessibleLabel,\n className,\n items,\n ...rest\n } = props;\n const selectId = useId();\n\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\n const defaultId = items.length > 0 ? items[0].id : \"\";\n const [internalSelectedId, setInternalSelectedId] = useState(defaultId);\n\n const selectedId = selectedItemId ?? internalSelectedId;\n\n const selectedItem =\n items.find((item) => item.id === selectedId) ||\n items.find((item) => item.id === defaultId);\n\n useEffect(() => {\n if (\n !selectedItemId &&\n items.length > 0 &&\n !items.some((item) => item.id === internalSelectedId)\n ) {\n setInternalSelectedId(items[0].id);\n }\n }, [items, selectedItemId, internalSelectedId]);\n\n const handleSelectionChange = (\n selected: ToolbarSelectItem<Record<string, unknown>> | undefined,\n ) => {\n if (selected?.id) {\n if (selectedItemId === undefined) {\n setInternalSelectedId(selected.id);\n }\n\n onChange?.(selected.id);\n\n setIsPopoverOpen(false);\n }\n };\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const toolbarSize = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarSelect\",\n data: {\n selected: props.selected,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n items: props.items,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = (\n <Popover\n noPadding\n open={isPopoverOpen}\n onClickOutside={() => {\n setIsPopoverOpen(false);\n }}\n onClose={() => {\n setIsPopoverOpen(false);\n }}\n >\n <Popover.Button\n data-tracking-id={trackingId}\n appearance={appearance}\n size={toolbarSize}\n icon={{ after: ArrowDropDown }}\n className={buttonClassNames}\n id={selectId}\n data-anv=\"toolbar-select\"\n onClick={() => {\n setIsPopoverOpen(!isPopoverOpen);\n }}\n {...rest}\n >\n {selectedItem?.label}\n </Popover.Button>\n <Popover.Content\n className={styles[\"toolbar-select-content\"]}\n aria-label={accessibleLabel}\n >\n <Listbox\n selected={selectedItem}\n onSelectionChange={handleSelectionChange}\n items={items}\n aria-labelledby={selectId}\n disableAutoSelectOnFocus={true}\n >\n {({ items }) =>\n items.map((item) => (\n <Listbox.Option key={item.label} item={item}>\n {item.label}\n </Listbox.Option>\n ))\n }\n </Listbox>\n </Popover.Content>\n </Popover>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"select\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarSelect.displayName = \"ToolbarSelect\";\n","import { type ReactElement, useContext, useId, useMemo } from \"react\";\nimport MoreHoriz from \"@servicetitan/hammer-icon/mdi/round/more_horiz.svg\";\nimport MoreVert from \"@servicetitan/hammer-icon/mdi/round//more_vert.svg\";\nimport type { ToolbarItemProps } from \"../types\";\nimport { ToolbarButton, type ToolbarButtonProps } from \"../ToolbarButton\";\nimport {\n ToolbarButtonToggle,\n type ToolbarButtonToggleProps,\n} from \"../ToolbarButtonToggle\";\nimport {\n ToolbarButtonLink,\n type ToolbarButtonLinkProps,\n} from \"../ToolbarButtonLink\";\nimport { ToolbarSelect, type ToolbarSelectProps } from \"../ToolbarSelect\";\nimport { ToolbarContext, useToolbarSize } from \"./ToolbarContext\";\nimport Popover from \"../../../internal/components/Popover\";\nimport { OverflowItemContext } from \"./ToolbarItemOverflowContext\";\nimport { handleMenuKeyboardNavigation } from \"./utils/accessibility\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { PARTS } from \"../parts\";\n\nimport cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\nconst OverflowItem = ({ itemType, itemProps }: ToolbarItemProps) => {\n switch (itemType) {\n case \"button\":\n return <ToolbarButton {...(itemProps as ToolbarButtonProps)} />;\n\n case \"buttonToggle\":\n return (\n <ToolbarButtonToggle {...(itemProps as ToolbarButtonToggleProps)} />\n );\n\n case \"buttonLink\":\n return <ToolbarButtonLink {...(itemProps as ToolbarButtonLinkProps)} />;\n\n case \"select\":\n return <ToolbarSelect {...(itemProps as ToolbarSelectProps)} />;\n\n default:\n return null;\n }\n};\n\nexport type ToolbarOverflowMenuProps = {\n additionalItems?: ReactElement[];\n direction?: \"vertical\" | \"horizontal\";\n};\n\n/** Renders clipped actions in toolbar order, followed by custom actions. */\nexport const ToolbarOverflowMenu = ({\n additionalItems,\n direction,\n}: ToolbarOverflowMenuProps) => {\n const { overflowItems, orderedIds } = useContext(ToolbarContext);\n const menuTriggerId = useId();\n const size = useToolbarSize();\n\n const orderedItems = useMemo(() => {\n const allElements = orderedIds?.map((id) => {\n return overflowItems.find((item) => item.id === id);\n });\n\n return allElements?.filter((item) => item !== undefined) || [];\n }, [orderedIds, overflowItems]);\n\n const popoverButtonClassNames = cx(\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-overflow-trigger\"],\n );\n\n const overflowIcon = direction === \"horizontal\" ? MoreHoriz : MoreVert;\n\n return (\n <Popover noPadding>\n <Popover.Button\n size={size}\n appearance=\"ghost\"\n id={menuTriggerId}\n className={popoverButtonClassNames}\n data-anv=\"toolbar-overflow-trigger\"\n aria-label=\"Additional toolbar options\"\n icon={overflowIcon}\n {...{ [ANV_PART_ATTR]: PARTS.trigger }}\n />\n <Popover.Content>\n <OverflowItemContext.Provider value={{ isInOverflowMenu: true }}>\n <ul\n role=\"menu\"\n className={styles[\"toolbar-overflow-content\"]}\n data-anv=\"toolbar-overflow-menu\"\n aria-labelledby={menuTriggerId}\n onKeyDown={handleMenuKeyboardNavigation}\n {...{ [ANV_PART_ATTR]: PARTS.menu }}\n >\n {orderedItems.map((item) => {\n const { itemType, itemProps, id } = item;\n return (\n <li\n key={`${itemType}-${id}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n data-id={id}\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n <OverflowItem\n itemType={itemType}\n itemProps={itemProps}\n id={id}\n />\n </li>\n );\n })}\n\n {additionalItems?.map((item, index) => (\n <li\n key={`additional-item-${index}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n {item}\n </li>\n ))}\n </ul>\n </OverflowItemContext.Provider>\n </Popover.Content>\n </Popover>\n );\n};\n","import { ToolbarButton } from \"./ToolbarButton\";\nimport { ToolbarButtonToggle } from \"./ToolbarButtonToggle\";\nimport { ToolbarButtonLink } from \"./ToolbarButtonLink\";\nimport { ToolbarSelect } from \"./ToolbarSelect\";\nimport type {\n ToolbarItemProps,\n ToolbarOverflowTypes,\n ToolbarSize,\n} from \"./types\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { DataAttributes, LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport {\n handleToolbarKeyDown,\n updateToolbarItemsTabIndex,\n} from \"./internal/utils/accessibility\";\nimport { ToolbarContext } from \"./internal/ToolbarContext\";\nimport Flex from \"../Flex\";\nimport { useMergeRefs } from \"../../hooks\";\nimport { ToolbarOverflowMenu } from \"./internal/ToolbarOverflowMenu\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\nexport type ToolbarProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n DataAttributes & {\n /** Names the content associated with the toolbar in its accessible label. */\n associatedContent: string;\n /** Sets both the visual layout and arrow-key axis. Defaults to `horizontal`. */\n direction?: \"vertical\" | \"horizontal\";\n /** Wraps items or moves clipped items into a menu. Defaults to `wrap`. */\n overflow?: ToolbarOverflowTypes;\n /** Appends custom actions to the overflow menu, even when no toolbar items overflow. */\n additionalItems?: ReactElement[];\n /** Size inherited by the toolbar controls. Defaults to `xsmall`. */\n size?: ToolbarSize;\n };\n\n/**\n * Groups related controls with roving keyboard focus. Items can wrap or move\n * into an overflow menu when space is constrained.\n */\nexport const Toolbar = Object.assign(\n forwardRef<HTMLDivElement, ToolbarProps>(function ToolbarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n associatedContent,\n className,\n children,\n style,\n direction = \"horizontal\",\n overflow = \"wrap\",\n onKeyDown,\n additionalItems,\n size = \"xsmall\",\n ...rest\n } = componentProps;\n\n const [overflowItems, setOverflowItems] = useState<ToolbarItemProps[]>([]);\n const toolbarItemsRef = useRef<HTMLDivElement>(null);\n const toolbarRef = useRef<HTMLDivElement>(null);\n\n // Wrapper IDs preserve rendered order when hidden items move into overflow.\n const [orderedIds, setOrderedIds] = useState<string[]>([]);\n\n useEffect(() => {\n const newOrderedIds = Array.from(\n toolbarItemsRef.current?.querySelectorAll(\"[data-id]\") || [],\n ).map((el) => {\n return el.getAttribute(\"data-id\") as string;\n });\n\n setOrderedIds(newOrderedIds);\n }, [children]);\n\n const addItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) => [...prev, item]);\n }, []);\n\n const removeItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) =>\n prev.filter((component) => component.id !== item.id),\n );\n }, []);\n\n useEffect(() => {\n if (toolbarRef.current) {\n updateToolbarItemsTabIndex(toolbarRef.current);\n }\n }, [children]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (toolbarRef.current) {\n handleToolbarKeyDown(event, toolbarRef.current);\n }\n\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n const showOverflowMenu =\n (overflow === \"collapse\" && overflowItems.length > 0) ||\n !!additionalItems;\n\n const value = useMemo(\n () => ({\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n }),\n [\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n ],\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const toolbarClassNames = cx(styles[\"toolbar\"], className);\n\n const toolbarContentClassNames = cx(styles[\"toolbar-content\"], {\n [styles[`overflow-${overflow}`]]: overflow,\n });\n\n return (\n <ToolbarContext.Provider value={value}>\n <Flex\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n className={toolbarClassNames}\n style={styleCombined}\n ref={useMergeRefs([toolbarRef, ref])}\n role=\"toolbar\"\n data-anv=\"toolbar\"\n aria-orientation={direction}\n aria-label={`Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`}\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <Flex\n ref={useMergeRefs([toolbarItemsRef, ref])}\n className={toolbarContentClassNames}\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n grow={1}\n data-anv=\"toolbar-content\"\n >\n {children}\n </Flex>\n\n {showOverflowMenu && (\n <ToolbarOverflowMenu\n direction={direction}\n additionalItems={additionalItems}\n />\n )}\n </Flex>\n </ToolbarContext.Provider>\n );\n }),\n {\n /** Button action that participates in toolbar sizing and overflow. */\n Button: ToolbarButton,\n /** Toggle action that participates in toolbar sizing and overflow. */\n ButtonToggle: ToolbarButtonToggle,\n /** Link action that participates in toolbar sizing and overflow. */\n ButtonLink: ToolbarButtonLink,\n /** Listbox selector that participates in toolbar sizing and overflow. */\n Select: ToolbarSelect,\n },\n);\nToolbar.displayName = \"Toolbar\";\n"],"names":["item","ArrowDropDown","items","MoreHoriz","MoreVert"],"mappings":"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"}
1
+ {"version":3,"file":"Toolbar-CMulzswf.js","sources":["../src/components/Toolbar/internal/ToolbarItemOverflowContext.tsx","../src/components/Toolbar/internal/ToolbarContext.tsx","../src/components/Toolbar/internal/utils/accessibility.ts","../src/components/Toolbar/internal/ToolbarItemWrapper.tsx","../src/components/Toolbar/parts.ts","../src/components/Toolbar/ToolbarButton.tsx","../src/components/Toolbar/ToolbarButtonToggle.tsx","../src/components/Toolbar/ToolbarButtonLink.tsx","../src/components/Toolbar/ToolbarSelect.tsx","../src/components/Toolbar/internal/ToolbarOverflowMenu.tsx","../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\ntype OverflowItemContextType = {\n isInOverflowMenu: boolean;\n};\n\nexport const OverflowItemContext = createContext<OverflowItemContextType>({\n isInOverflowMenu: false,\n});\n\nexport const useOverFlowItemContext = () => useContext(OverflowItemContext);\n","import { createContext, type RefObject, useContext } from \"react\";\nimport type {\n ToolbarItemProps,\n ToolbarOverflowTypes,\n ToolbarSize,\n} from \"../types\";\n\nexport type ToolbarContextProps = {\n overflowItems: ToolbarItemProps[];\n addItem: (element: ToolbarItemProps) => void;\n removeItem: (element: ToolbarItemProps) => void;\n toolbarRef: RefObject<HTMLDivElement>;\n orderedIds?: string[];\n overflow: ToolbarOverflowTypes;\n size: ToolbarSize;\n};\n\nexport const ToolbarContext = createContext<ToolbarContextProps>({\n overflowItems: [],\n addItem: () => {\n return;\n },\n removeItem: () => {\n return;\n },\n toolbarRef: { current: null },\n orderedIds: [],\n overflow: \"wrap\",\n size: \"xsmall\",\n});\n\nexport const useToolbarSize = (): ToolbarSize =>\n useContext(ToolbarContext).size;\n","import type { KeyboardEvent } from \"react\";\nimport { getKeyboardFocusableElements } from \"../../../../internal/functions\";\n\n/**\n * Returns visible toolbar controls, excluding controls inside open overlays.\n */\nexport function getToolbarElements(toolbarElement: HTMLElement) {\n const toolbarContent = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-content\"]',\n );\n\n const mainItems = getKeyboardFocusableElements(toolbarContent).filter(\n (item) => {\n const isVisible = !item.closest('[aria-hidden=\"true\"]');\n const isNotInMenuContent = !item.closest('[data-anv=\"menu-content\"]');\n const isNotInPopoverContent = !item.closest(\n '[data-anv=\"popover-content\"]',\n );\n return isVisible && isNotInMenuContent && isNotInPopoverContent;\n },\n );\n\n const overflowTrigger = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-overflow-trigger\"]',\n );\n\n return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;\n}\n\n/**\n * Applies roving tabindex and returns the active toolbar control.\n */\nexport function updateToolbarItemsTabIndex(\n toolbarElement: HTMLElement,\n activeItem?: Element | number,\n) {\n if (!toolbarElement) return;\n\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n let activeIndex = 0;\n\n if (typeof activeItem === \"number\") {\n activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));\n } else if (activeItem instanceof Element) {\n const foundIndex = items.indexOf(activeItem);\n if (foundIndex !== -1) {\n activeIndex = foundIndex;\n }\n }\n\n items.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === activeIndex ? \"0\" : \"-1\");\n });\n\n return items[activeIndex];\n}\n\n/**\n * Moves roving focus along the toolbar's declared orientation.\n */\nexport function handleToolbarKeyDown(\n event: KeyboardEvent<HTMLElement>,\n toolbarElement: HTMLElement,\n) {\n if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;\n\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n const activeElement = event.target as HTMLElement;\n if (!toolbarElement.contains(activeElement)) return;\n\n const activeItem = items.find(\n (item) =>\n item === activeElement ||\n Array.from(item.children).some((child) => child === activeElement),\n );\n\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n if (activeIndex === -1) return;\n\n let nextIndex = activeIndex;\n const isVertical =\n toolbarElement.getAttribute(\"aria-orientation\") === \"vertical\";\n\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowUp\") ||\n (!isVertical && event.key === \"ArrowLeft\")\n ) {\n nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;\n }\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowDown\") ||\n (!isVertical && event.key === \"ArrowRight\")\n ) {\n nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;\n }\n break;\n\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n\n case \"End\":\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n\n default:\n return;\n }\n\n updateToolbarItemsTabIndex(toolbarElement, nextIndex);\n (items[nextIndex] as HTMLElement)?.focus();\n}\n\n/** Moves focus through overflow menu items with Up, Down, Home, and End. */\nexport const handleMenuKeyboardNavigation = (\n event: KeyboardEvent<HTMLUListElement>,\n) => {\n const menuItems = Array.from(\n event.currentTarget.querySelectorAll('[role=\"menuitem\"]'),\n ).map((menuItem) => {\n return getKeyboardFocusableElements(menuItem as HTMLElement)[0] || menuItem;\n });\n\n if (!menuItems.length) return;\n\n const currentIndex = menuItems.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex = currentIndex;\n const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;\n\n if (isModifierKey) return;\n\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n nextIndex =\n (currentIndex + direction + menuItems.length) % menuItems.length;\n break;\n }\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = menuItems.length - 1;\n break;\n default:\n return;\n }\n\n (menuItems[nextIndex] as HTMLElement)?.focus();\n};\n","import { useContext, useEffect, useId, useRef, useCallback } from \"react\";\nimport type { ToolbarItemProps } from \"../types\";\nimport { ToolbarContext } from \"./ToolbarContext\";\nimport { useIntersectionObserver } from \"../../../internal/hooks\";\nimport { updateToolbarItemsTabIndex } from \"./utils/accessibility\";\n\nimport styles from \"../Toolbar.module.scss\";\n\ntype ToolbarItemWrapperProps = {\n item: Omit<ToolbarItemProps, \"id\">;\n children: React.ReactNode;\n};\n\n/**\n * Registers a toolbar control for overflow and roving focus management.\n */\nexport const ToolbarItemWrapper = ({\n item,\n children,\n}: ToolbarItemWrapperProps) => {\n const { addItem, removeItem, toolbarRef, overflow } =\n useContext(ToolbarContext);\n const itemId = useId();\n const elementRef = useRef<HTMLDivElement | null>(null);\n const prevIntersectingRef = useRef<boolean>(true);\n const isCollapseMode = overflow === \"collapse\";\n\n const handleVisibilityChange = useCallback(\n (isVisible: boolean) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, item, itemId, addItem, removeItem],\n );\n\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? toolbarRef.current : null,\n threshold: 1,\n initialIsIntersecting: false,\n onChange: handleVisibilityChange,\n });\n\n const setRefCallback = useCallback(\n (node: HTMLDivElement | null) => {\n elementRef.current = node;\n if (isCollapseMode) {\n ref(node);\n }\n },\n [ref, isCollapseMode],\n );\n\n const handleFocusOrClick = useCallback(() => {\n if (!toolbarRef.current || !elementRef.current) return;\n\n const currentElement = elementRef.current.querySelector(\"button, a, input\");\n if (!currentElement) return;\n\n updateToolbarItemsTabIndex(toolbarRef.current, currentElement);\n }, [toolbarRef]);\n\n useEffect(() => {\n const interactiveEl = elementRef.current?.querySelector(\"button, a, input\");\n if (!interactiveEl) return;\n\n interactiveEl.addEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.addEventListener(\"click\", handleFocusOrClick);\n\n return () => {\n interactiveEl.removeEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.removeEventListener(\"click\", handleFocusOrClick);\n };\n }, [handleFocusOrClick]);\n\n useEffect(() => {\n if (isCollapseMode) {\n prevIntersectingRef.current = true;\n }\n }, [isCollapseMode]);\n\n const isHidden = isCollapseMode && !isIntersecting;\n\n return (\n <div\n ref={setRefCallback}\n className={styles[\"toolbar-item\"]}\n style={{ visibility: isHidden ? \"hidden\" : \"visible\" }}\n aria-hidden={isHidden}\n {...{ inert: isHidden ? \"\" : undefined }}\n data-id={itemId}\n data-anv=\"toolbar-item\"\n >\n {children}\n </div>\n );\n};\n\nexport type { ToolbarItemWrapperProps };\n","import { COMMON_PART } from \"../../internal/constants/anvParts\";\n\n/**\n * `data-anv-part` names for Toolbar's interactive sub-elements.\n *\n * Scope in-wrapper parts by the consumer's `data-cy` on the Toolbar root.\n * Overflow menu/items render in the popover top layer — target them by part\n * attribute directly.\n */\nexport const PARTS = {\n trigger: COMMON_PART.trigger,\n menu: COMMON_PART.menu,\n overflowItem: \"overflow-item\",\n /**\n * A leaf toolbar control (`Toolbar.Button` / `Toolbar.ButtonToggle`).\n * Discriminate with `aria-label`, `id`, or a consumer `data-*`. Callers may\n * override this (e.g. FilterBar stamps `trigger` on boolean toggles).\n */\n item: \"item\",\n} as const;\n","import { forwardRef } from \"react\";\nimport Button, { type ButtonProps } from \"../Button\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonBaseProps = Omit<\n ButtonProps,\n \"appearance\" | \"aria-label\" | \"children\" | \"onClick\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n /** Handles activation in either the toolbar or its overflow menu. */\n onClick: ButtonProps[\"onClick\"];\n};\n\nexport type ToolbarButtonProps =\n WithAriaLabelEnforcement<ToolbarButtonBaseProps> & DataTrackingId;\n\n/**\n * Button action that inherits its size from Toolbar. In collapse mode,\n * clipped actions move into the overflow menu; icon-only actions show a tooltip.\n *\n * @example\n * <ToolbarButton icon={BoldIcon} aria-label=\"Bold text\" />\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButton\",\n data: {\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n // Default PARTS.item before {...rest} so callers (e.g. FilterBar) can override.\n const item = children ? (\n <Button\n ref={ref}\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n >\n {children}\n </Button>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <Button\n ref={ref}\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"button\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarButton.displayName = \"ToolbarButton\";\n","import { forwardRef } from \"react\";\nimport ButtonToggle, { type ButtonToggleProps } from \"../ButtonToggle\";\nimport type { WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonToggleBaseProps = Omit<\n ButtonToggleProps,\n \"aria-label\" | \"children\"\n>;\n\nexport type ToolbarButtonToggleProps =\n WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> & DataTrackingId;\n\n/**\n * Toggle action that inherits its size from Toolbar. In collapse mode, clipped\n * toggles move into the overflow menu; icon-only toggles show a tooltip.\n *\n * @example\n * <ToolbarButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\nexport const ToolbarButtonToggle = forwardRef<\n HTMLButtonElement,\n ToolbarButtonToggleProps\n>((props, _ref) => {\n const { className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonToggle\",\n data: {\n checked: props.checked,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonToggleClassNames = cx(\n className,\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-button-toggle-item\"],\n );\n\n // Default PARTS.item before {...rest} so callers (e.g. FilterBar) can override.\n const item = children ? (\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n >\n {children}\n </ButtonToggle>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonToggle\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonToggle.displayName = \"ToolbarButtonToggle\";\n","import { forwardRef } from \"react\";\nimport ButtonLink, { type ButtonLinkProps } from \"../ButtonLink\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarButtonLinkBaseProps = Omit<\n ButtonLinkProps,\n \"appearance\" | \"aria-label\" | \"children\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n};\n\nexport type ToolbarButtonLinkProps =\n WithAriaLabelEnforcement<ToolbarButtonLinkBaseProps> & DataTrackingId;\n\n/**\n * Link action that inherits its size from Toolbar. In collapse mode, clipped\n * links move into the overflow menu; icon-only links show a tooltip.\n *\n * @example\n * <ToolbarButtonLink icon={ExternalLinkIcon} href=\"/docs\" aria-label=\"Documentation\" />\n */\nexport const ToolbarButtonLink = forwardRef<\n HTMLAnchorElement,\n ToolbarButtonLinkProps\n>((props, _ref) => {\n const { appearance = \"ghost\", className, children, icon, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonLink\",\n data: {\n href: props.href,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n target: props.target,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonLinkClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = children ? (\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n icon={icon}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n >\n {children}\n </ButtonLink>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n icon={icon}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n >\n {children}\n </ButtonLink>\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonLink\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonLink.displayName = \"ToolbarButtonLink\";\n","import { forwardRef, useEffect, useId, useState } from \"react\";\nimport ArrowDropDown from \"@servicetitan/hammer-icon/mdi/round/arrow_drop_down.svg\";\nimport Listbox, { type ListboxItemType } from \"../Listbox\";\nimport Popover from \"../../internal/components/Popover\";\nimport type { ToolbarItemAppearance } from \"./types\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarSelectItem<T = Record<string, unknown>> = ListboxItemType<\n T & {\n id: string;\n }\n>;\n\nexport type ToolbarSelectProps<T = Record<string, unknown>> = Omit<\n React.ComponentPropsWithoutRef<typeof Popover.Button>,\n \"appearance\" | \"onChange\"\n> & {\n /** Limited to Toolbar-supported appearances. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n /** Called with the selected item's ID before the popover closes. */\n onChange?: (optionId: string) => void;\n /** Controls selection by item ID. Omit to select and manage the first item initially. */\n selected?: string;\n /** Options with unique IDs; the selected option's label is shown on the trigger. */\n items: ToolbarSelectItem<T>[];\n /** Accessible name for the options popover. */\n accessibleLabel: string;\n} & DataTrackingId;\n\n/**\n * Listbox selector that inherits its size from Toolbar. In collapse mode,\n * clipped selectors move into the overflow menu. Selection may be controlled.\n */\nexport const ToolbarSelect = forwardRef<HTMLButtonElement, ToolbarSelectProps>(\n (props, _ref) => {\n const {\n appearance = \"ghost\",\n onChange,\n selected: selectedItemId,\n accessibleLabel,\n className,\n items,\n ...rest\n } = props;\n const selectId = useId();\n\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\n const defaultId = items.length > 0 ? items[0].id : \"\";\n const [internalSelectedId, setInternalSelectedId] = useState(defaultId);\n\n const selectedId = selectedItemId ?? internalSelectedId;\n\n const selectedItem =\n items.find((item) => item.id === selectedId) ||\n items.find((item) => item.id === defaultId);\n\n useEffect(() => {\n if (\n !selectedItemId &&\n items.length > 0 &&\n !items.some((item) => item.id === internalSelectedId)\n ) {\n setInternalSelectedId(items[0].id);\n }\n }, [items, selectedItemId, internalSelectedId]);\n\n const handleSelectionChange = (\n selected: ToolbarSelectItem<Record<string, unknown>> | undefined,\n ) => {\n if (selected?.id) {\n if (selectedItemId === undefined) {\n setInternalSelectedId(selected.id);\n }\n\n onChange?.(selected.id);\n\n setIsPopoverOpen(false);\n }\n };\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const toolbarSize = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarSelect\",\n data: {\n selected: props.selected,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n items: props.items,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = (\n <Popover\n noPadding\n open={isPopoverOpen}\n onClickOutside={() => {\n setIsPopoverOpen(false);\n }}\n onClose={() => {\n setIsPopoverOpen(false);\n }}\n >\n <Popover.Button\n data-tracking-id={trackingId}\n appearance={appearance}\n size={toolbarSize}\n icon={{ after: ArrowDropDown }}\n className={buttonClassNames}\n id={selectId}\n data-anv=\"toolbar-select\"\n onClick={() => {\n setIsPopoverOpen(!isPopoverOpen);\n }}\n {...rest}\n >\n {selectedItem?.label}\n </Popover.Button>\n <Popover.Content\n className={styles[\"toolbar-select-content\"]}\n aria-label={accessibleLabel}\n >\n <Listbox\n selected={selectedItem}\n onSelectionChange={handleSelectionChange}\n items={items}\n aria-labelledby={selectId}\n disableAutoSelectOnFocus={true}\n >\n {({ items }) =>\n items.map((item) => (\n <Listbox.Option key={item.label} item={item}>\n {item.label}\n </Listbox.Option>\n ))\n }\n </Listbox>\n </Popover.Content>\n </Popover>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"select\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarSelect.displayName = \"ToolbarSelect\";\n","import { type ReactElement, useContext, useId, useMemo } from \"react\";\nimport MoreHoriz from \"@servicetitan/hammer-icon/mdi/round/more_horiz.svg\";\nimport MoreVert from \"@servicetitan/hammer-icon/mdi/round//more_vert.svg\";\nimport type { ToolbarItemProps } from \"../types\";\nimport { ToolbarButton, type ToolbarButtonProps } from \"../ToolbarButton\";\nimport {\n ToolbarButtonToggle,\n type ToolbarButtonToggleProps,\n} from \"../ToolbarButtonToggle\";\nimport {\n ToolbarButtonLink,\n type ToolbarButtonLinkProps,\n} from \"../ToolbarButtonLink\";\nimport { ToolbarSelect, type ToolbarSelectProps } from \"../ToolbarSelect\";\nimport { ToolbarContext, useToolbarSize } from \"./ToolbarContext\";\nimport Popover from \"../../../internal/components/Popover\";\nimport { OverflowItemContext } from \"./ToolbarItemOverflowContext\";\nimport { handleMenuKeyboardNavigation } from \"./utils/accessibility\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { PARTS } from \"../parts\";\n\nimport cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\nconst OverflowItem = ({ itemType, itemProps }: ToolbarItemProps) => {\n switch (itemType) {\n case \"button\":\n return <ToolbarButton {...(itemProps as ToolbarButtonProps)} />;\n\n case \"buttonToggle\":\n return (\n <ToolbarButtonToggle {...(itemProps as ToolbarButtonToggleProps)} />\n );\n\n case \"buttonLink\":\n return <ToolbarButtonLink {...(itemProps as ToolbarButtonLinkProps)} />;\n\n case \"select\":\n return <ToolbarSelect {...(itemProps as ToolbarSelectProps)} />;\n\n default:\n return null;\n }\n};\n\nexport type ToolbarOverflowMenuProps = {\n additionalItems?: ReactElement[];\n direction?: \"vertical\" | \"horizontal\";\n};\n\n/** Renders clipped actions in toolbar order, followed by custom actions. */\nexport const ToolbarOverflowMenu = ({\n additionalItems,\n direction,\n}: ToolbarOverflowMenuProps) => {\n const { overflowItems, orderedIds } = useContext(ToolbarContext);\n const menuTriggerId = useId();\n const size = useToolbarSize();\n\n const orderedItems = useMemo(() => {\n const allElements = orderedIds?.map((id) => {\n return overflowItems.find((item) => item.id === id);\n });\n\n return allElements?.filter((item) => item !== undefined) || [];\n }, [orderedIds, overflowItems]);\n\n const popoverButtonClassNames = cx(\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-overflow-trigger\"],\n );\n\n const overflowIcon = direction === \"horizontal\" ? MoreHoriz : MoreVert;\n\n return (\n <Popover noPadding>\n <Popover.Button\n size={size}\n appearance=\"ghost\"\n id={menuTriggerId}\n className={popoverButtonClassNames}\n data-anv=\"toolbar-overflow-trigger\"\n aria-label=\"Additional toolbar options\"\n icon={overflowIcon}\n {...{ [ANV_PART_ATTR]: PARTS.trigger }}\n />\n <Popover.Content>\n <OverflowItemContext.Provider value={{ isInOverflowMenu: true }}>\n <ul\n role=\"menu\"\n className={styles[\"toolbar-overflow-content\"]}\n data-anv=\"toolbar-overflow-menu\"\n aria-labelledby={menuTriggerId}\n onKeyDown={handleMenuKeyboardNavigation}\n {...{ [ANV_PART_ATTR]: PARTS.menu }}\n >\n {orderedItems.map((item) => {\n const { itemType, itemProps, id } = item;\n return (\n <li\n key={`${itemType}-${id}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n data-id={id}\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n <OverflowItem\n itemType={itemType}\n itemProps={itemProps}\n id={id}\n />\n </li>\n );\n })}\n\n {additionalItems?.map((item, index) => (\n <li\n key={`additional-item-${index}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n {item}\n </li>\n ))}\n </ul>\n </OverflowItemContext.Provider>\n </Popover.Content>\n </Popover>\n );\n};\n","import { ToolbarButton } from \"./ToolbarButton\";\nimport { ToolbarButtonToggle } from \"./ToolbarButtonToggle\";\nimport { ToolbarButtonLink } from \"./ToolbarButtonLink\";\nimport { ToolbarSelect } from \"./ToolbarSelect\";\nimport type {\n ToolbarItemProps,\n ToolbarOverflowTypes,\n ToolbarSize,\n} from \"./types\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { DataAttributes, LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport {\n handleToolbarKeyDown,\n updateToolbarItemsTabIndex,\n} from \"./internal/utils/accessibility\";\nimport { ToolbarContext } from \"./internal/ToolbarContext\";\nimport Flex from \"../Flex\";\nimport { useMergeRefs } from \"../../hooks\";\nimport { ToolbarOverflowMenu } from \"./internal/ToolbarOverflowMenu\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\nexport type ToolbarProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n DataAttributes & {\n /** Names the content associated with the toolbar in its accessible label. */\n associatedContent: string;\n /** Sets both the visual layout and arrow-key axis. Defaults to `horizontal`. */\n direction?: \"vertical\" | \"horizontal\";\n /** Wraps items or moves clipped items into a menu. Defaults to `wrap`. */\n overflow?: ToolbarOverflowTypes;\n /** Appends custom actions to the overflow menu, even when no toolbar items overflow. */\n additionalItems?: ReactElement[];\n /** Size inherited by the toolbar controls. Defaults to `xsmall`. */\n size?: ToolbarSize;\n };\n\n/**\n * Groups related controls with roving keyboard focus. Items can wrap or move\n * into an overflow menu when space is constrained.\n */\nexport const Toolbar = Object.assign(\n forwardRef<HTMLDivElement, ToolbarProps>(function ToolbarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n associatedContent,\n className,\n children,\n style,\n direction = \"horizontal\",\n overflow = \"wrap\",\n onKeyDown,\n additionalItems,\n size = \"xsmall\",\n ...rest\n } = componentProps;\n\n const [overflowItems, setOverflowItems] = useState<ToolbarItemProps[]>([]);\n const toolbarItemsRef = useRef<HTMLDivElement>(null);\n const toolbarRef = useRef<HTMLDivElement>(null);\n\n // Wrapper IDs preserve rendered order when hidden items move into overflow.\n const [orderedIds, setOrderedIds] = useState<string[]>([]);\n\n useEffect(() => {\n const newOrderedIds = Array.from(\n toolbarItemsRef.current?.querySelectorAll(\"[data-id]\") || [],\n ).map((el) => {\n return el.getAttribute(\"data-id\") as string;\n });\n\n setOrderedIds(newOrderedIds);\n }, [children]);\n\n const addItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) => [...prev, item]);\n }, []);\n\n const removeItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) =>\n prev.filter((component) => component.id !== item.id),\n );\n }, []);\n\n useEffect(() => {\n if (toolbarRef.current) {\n updateToolbarItemsTabIndex(toolbarRef.current);\n }\n }, [children]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (toolbarRef.current) {\n handleToolbarKeyDown(event, toolbarRef.current);\n }\n\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n const showOverflowMenu =\n (overflow === \"collapse\" && overflowItems.length > 0) ||\n !!additionalItems;\n\n const value = useMemo(\n () => ({\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n }),\n [\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n ],\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const toolbarClassNames = cx(styles[\"toolbar\"], className);\n\n const toolbarContentClassNames = cx(styles[\"toolbar-content\"], {\n [styles[`overflow-${overflow}`]]: overflow,\n });\n\n return (\n <ToolbarContext.Provider value={value}>\n <Flex\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n className={toolbarClassNames}\n style={styleCombined}\n ref={useMergeRefs([toolbarRef, ref])}\n role=\"toolbar\"\n data-anv=\"toolbar\"\n aria-orientation={direction}\n aria-label={`Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`}\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <Flex\n ref={useMergeRefs([toolbarItemsRef, ref])}\n className={toolbarContentClassNames}\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n grow={1}\n data-anv=\"toolbar-content\"\n >\n {children}\n </Flex>\n\n {showOverflowMenu && (\n <ToolbarOverflowMenu\n direction={direction}\n additionalItems={additionalItems}\n />\n )}\n </Flex>\n </ToolbarContext.Provider>\n );\n }),\n {\n /** Button action that participates in toolbar sizing and overflow. */\n Button: ToolbarButton,\n /** Toggle action that participates in toolbar sizing and overflow. */\n ButtonToggle: ToolbarButtonToggle,\n /** Link action that participates in toolbar sizing and overflow. */\n ButtonLink: ToolbarButtonLink,\n /** Listbox selector that participates in toolbar sizing and overflow. */\n Select: ToolbarSelect,\n },\n);\nToolbar.displayName = \"Toolbar\";\n"],"names":["item","ArrowDropDown","items","MoreHoriz","MoreVert"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { forwardRef, useId, useState, useEffect, useContext, useMemo, useRef, useCallback } from 'react';
3
- import { B as Button } from './Button-Dwh_Nd4l.js';
3
+ import { B as Button } from './Button-Dn6-01xl.js';
4
4
  import { A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
5
- import { c as useOverFlowItemContext, u as useToolbarSize, s as styles$2, P as PARTS, d as ToolbarItemWrapper, b as ToolbarContext, O as OverflowItemContext, e as handleMenuKeyboardNavigation, T as ToolbarButtonToggle, a as updateToolbarItemsTabIndex, h as handleToolbarKeyDown } from './ToolbarButtonToggle-BMBmBdw1.js';
5
+ import { c as useOverFlowItemContext, u as useToolbarSize, s as styles$2, P as PARTS, d as ToolbarItemWrapper, b as ToolbarContext, O as OverflowItemContext, e as handleMenuKeyboardNavigation, T as ToolbarButtonToggle, a as updateToolbarItemsTabIndex, h as handleToolbarKeyDown } from './ToolbarButtonToggle-T8YnSJ5x.js';
6
6
  import { T as Tooltip } from './Tooltip-C_VcYS9P.js';
7
7
  import { c as cx } from './index-De1g9FRV.js';
8
8
  import { useTrackingId } from './useTrackingId.js';
9
9
  import { B as ButtonLink } from './ButtonLink-DOFAxNvC.js';
10
10
  import { S as SvgArrowDropDown } from './arrow_drop_down-ChAdBDux.js';
11
- import { L as Listbox } from './Listbox-Dep1eJ3u.js';
12
- import { P as Popover } from './AiMark-D57s1e0T.js';
11
+ import { L as Listbox } from './Listbox-CD9ZptSZ.js';
12
+ import { P as Popover } from './AiMark-BfmK30vL.js';
13
13
  import { F as Flex } from './Flex-CRF7gj0_.js';
14
14
  import { S as SvgMoreHoriz } from './more_horiz-DJgdQiy0.js';
15
15
  import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
@@ -483,111 +483,17 @@ const Toolbar = Object.assign(
483
483
  ) });
484
484
  }),
485
485
  {
486
- /**
487
- * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.
488
- *
489
- * Features:
490
- * - Designed specifically for toolbar integration
491
- * - Consistent styling with other toolbar items
492
- * - Automatic tooltip for icon-only buttons
493
- * - Overflow menu support
494
- * - Accessibility enforcement for aria-labels
495
- * - Ghost and primary appearance options
496
- * - Automatic tracking ID generation for analytics
497
- *
498
- * @example
499
- * <Toolbar.Button icon={BoldIcon} aria-label="Bold text" />
500
- *
501
- * @example
502
- * <Toolbar.Button appearance="primary">
503
- * Save
504
- * </Toolbar.Button>
505
- */
486
+ /** Action button that participates in toolbar focus and overflow behavior. */
506
487
  Button: ToolbarButton,
507
- /**
508
- * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.
509
- *
510
- * Features:
511
- * - Toggle state management
512
- * - Designed specifically for toolbar integration
513
- * - Consistent styling with other toolbar items
514
- * - Overflow menu support
515
- * - Accessibility enforcement for aria-labels
516
- * - Ghost and primary appearance options
517
- * - Automatic tracking ID generation for analytics
518
- *
519
- * @example
520
- * <Toolbar.ButtonToggle icon={BoldIcon} aria-label="Bold" checked={isBold} />
521
- */
488
+ /** Toggle button that participates in toolbar focus and overflow behavior. */
522
489
  ButtonToggle: ToolbarButtonToggle,
523
- /**
524
- * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.
525
- *
526
- * Features:
527
- * - Link functionality with href support
528
- * - Designed specifically for toolbar integration
529
- * - Consistent styling with other toolbar items
530
- * - Overflow menu support
531
- * - Accessibility enforcement for aria-labels
532
- * - Ghost and primary appearance options
533
- * - Automatic tracking ID generation for analytics
534
- *
535
- * @example
536
- * <Toolbar.ButtonLink href="/help">
537
- * Help
538
- * </Toolbar.ButtonLink>
539
- */
490
+ /** Link-styled action that participates in toolbar focus and overflow behavior. */
540
491
  ButtonLink: ToolbarButtonLink,
541
- /**
542
- * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.
543
- *
544
- * Features:
545
- * - Dropdown menu with selectable options
546
- * - Controlled and uncontrolled usage patterns
547
- * - Automatic overflow menu integration
548
- * - Accessibility support with proper ARIA labels
549
- * - Ghost and primary appearance options
550
- * - Dropdown arrow icon indicator
551
- * - Listbox integration for keyboard navigation
552
- * - Automatic tracking ID generation for analytics
553
- *
554
- * @example
555
- * <Toolbar.Select
556
- * items={fontOptions}
557
- * selected="arial"
558
- * accessibleLabel="Font family"
559
- * onChange={(id) => setFont(id)}
560
- * />
561
- */
492
+ /** Single-select control that participates in toolbar focus and overflow behavior. */
562
493
  Select: ToolbarSelect,
563
- /**
564
- * ToolbarControlGroup component provides a flex container for grouping related toolbar controls.
565
- * Can be used for filters, buttons, or other toolbar items.
566
- *
567
- * Features:
568
- * - Groups related toolbar controls in a flex container
569
- * - Supports accessibility with aria-label
570
- * - Handles overflow and wrapping based on toolbar context
571
- * - Integrates with layout utilities for spacing and alignment
572
- *
573
- * @example
574
- * <Toolbar.ControlGroup aria-label="Formatting controls">
575
- * <Toolbar.Button icon={BoldIcon} aria-label="Bold" />
576
- * <Toolbar.Button icon={ItalicIcon} aria-label="Italic" />
577
- * </Toolbar.ControlGroup>
578
- */
494
+ /** Groups related controls within the toolbar. */
579
495
  ControlGroup: ToolbarControlGroup,
580
- /**
581
- * ToolbarSearchField component renders a search field for use in toolbars.
582
- *
583
- * Features:
584
- * - Renders a search field styled for toolbar usage
585
- * - Supports all SearchField props except size
586
- * - Integrates with toolbar layouts and accessibility
587
- *
588
- * @example
589
- * <Toolbar.Search placeholder="Search..." />
590
- */
496
+ /** Search field that inherits the toolbar's control size. */
591
497
  Search: ToolbarSearchField
592
498
  }
593
499
  );
@@ -595,4 +501,4 @@ Toolbar.displayName = "Toolbar";
595
501
  const ToolbarElement = Toolbar;
596
502
 
597
503
  export { Toolbar as T, ToolbarButton as a, ToolbarButtonLink as b, ToolbarSelect as c, ToolbarControlGroup as d, ToolbarSearchField as e, ToolbarElement as f };
598
- //# sourceMappingURL=Toolbar-B_lHD0c2.js.map
504
+ //# sourceMappingURL=Toolbar-DGHZpFi9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar-DGHZpFi9.js","sources":["../src/beta/components/Toolbar/ToolbarButton.tsx","../src/beta/components/Toolbar/ToolbarButtonLink.tsx","../src/beta/components/Toolbar/ToolbarSelect.tsx","../src/beta/components/Toolbar/internal/ToolbarOverflowMenu.tsx","../src/beta/components/Toolbar/ToolbarControlGroup.tsx","../src/beta/components/Toolbar/ToolbarSearchField.tsx","../src/beta/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport Button, { type ButtonProps } from \"../../../components/Button\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../../types\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../../../components/Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\n/** @extends Omit<ButtonProps, \"appearance\" | \"aria-label\" | \"children\"> */\ntype ToolbarButtonBaseProps = Omit<\n ButtonProps,\n \"appearance\" | \"aria-label\" | \"children\"\n> & {\n /** Visual emphasis within the toolbar. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n};\n\n/** @extends WithAriaLabelEnforcement<ToolbarButtonBaseProps> */\nexport type ToolbarButtonProps =\n WithAriaLabelEnforcement<ToolbarButtonBaseProps> & DataTrackingId;\n\n/**\n * Toolbar action that inherits its size and participates in roving focus and\n * collapse overflow. Icon-only actions show their `aria-label` in a tooltip.\n *\n * @example\n * <ToolbarButton icon={BoldIcon} aria-label=\"Bold text\" />\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButton\",\n data: {\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n // Default PARTS.item before {...rest} so callers (e.g. FilterBar) can override.\n const item = children ? (\n <Button\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n >\n {children}\n </Button>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <Button\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button\"\n className={buttonClassNames}\n {...{ [ANV_PART_ATTR]: PARTS.item }}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"button\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarButton.displayName = \"ToolbarButton\";\n","import { forwardRef } from \"react\";\nimport ButtonLink, {\n type ButtonLinkProps,\n} from \"../../../components/ButtonLink\";\nimport type { ToolbarItemAppearance, WithAriaLabelEnforcement } from \"./types\";\nimport type { DataTrackingId } from \"../../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../../../components/Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\n/** @extends Omit<ButtonLinkProps, \"appearance\" | \"aria-label\" | \"children\"> */\ntype ToolbarButtonLinkBaseProps = Omit<\n ButtonLinkProps,\n \"appearance\" | \"aria-label\" | \"children\"\n> & {\n /** Visual emphasis within the toolbar. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n};\n\n/** @extends WithAriaLabelEnforcement<ToolbarButtonLinkBaseProps> */\nexport type ToolbarButtonLinkProps =\n WithAriaLabelEnforcement<ToolbarButtonLinkBaseProps> & DataTrackingId;\n\n/**\n * Toolbar link that inherits its size and participates in roving focus and\n * collapse overflow. Icon-only links show their `aria-label` in a tooltip.\n *\n * @example\n * <ToolbarButtonLink icon={ExternalLinkIcon} href=\"/docs\" aria-label=\"Documentation\" />\n */\nexport const ToolbarButtonLink = forwardRef<\n HTMLAnchorElement,\n ToolbarButtonLinkProps\n>((props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonLink\",\n data: {\n href: props.href,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n target: props.target,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonLinkClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = children ? (\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n >\n {children}\n </ButtonLink>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonLink\n data-tracking-id={trackingId}\n appearance={appearance}\n size={size}\n data-anv=\"toolbar-button-link\"\n className={buttonLinkClassNames}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonLink\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonLink.displayName = \"ToolbarButtonLink\";\n","import { forwardRef, useEffect, useId, useState } from \"react\";\nimport ArrowDropDown from \"@servicetitan/hammer-icon/mdi/round/arrow_drop_down.svg\";\nimport Listbox, { type ListboxItemType } from \"../../../components/Listbox\";\nimport Popover from \"../../../internal/components/Popover\";\nimport type { ToolbarItemAppearance } from \"./types\";\nimport type { DataTrackingId } from \"../../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\ntype ToolbarSelectItem<T = Record<string, unknown>> = ListboxItemType<\n T & {\n id: string;\n }\n>;\n\n/** @extends Omit<React.ComponentPropsWithoutRef<typeof Popover.Button>, \"appearance\" | \"onChange\"> */\nexport type ToolbarSelectProps<T = Record<string, unknown>> = Omit<\n React.ComponentPropsWithoutRef<typeof Popover.Button>,\n \"appearance\" | \"onChange\"\n> & {\n /** Visual emphasis within the toolbar. Defaults to `ghost`. */\n appearance?: ToolbarItemAppearance;\n /** Called with the selected item's ID. */\n onChange?: (optionId: string) => void;\n /** Controlled selected ID. Omit to select and manage the first item internally. */\n selected?: string;\n /** Options displayed in the listbox; the first is the uncontrolled default. */\n items: ToolbarSelectItem<T>[];\n /** Accessible name for the options popover, such as \"Status options\". */\n accessibleLabel: string;\n} & DataTrackingId;\n\n/**\n * Single-select toolbar control that inherits its size and participates in\n * roving focus and collapse overflow.\n */\nexport const ToolbarSelect = forwardRef<HTMLButtonElement, ToolbarSelectProps>(\n (props, _ref) => {\n const {\n appearance = \"ghost\",\n onChange,\n selected: selectedItemId,\n accessibleLabel,\n className,\n items,\n ...rest\n } = props;\n const selectId = useId();\n\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\n const defaultId = items.length > 0 ? items[0].id : \"\";\n const [internalSelectedId, setInternalSelectedId] = useState(defaultId);\n\n const selectedId = selectedItemId ?? internalSelectedId;\n\n const selectedItem =\n items.find((item) => item.id === selectedId) ||\n items.find((item) => item.id === defaultId);\n\n useEffect(() => {\n if (\n !selectedItemId &&\n items.length > 0 &&\n !items.some((item) => item.id === internalSelectedId)\n ) {\n setInternalSelectedId(items[0].id);\n }\n }, [items, selectedItemId, internalSelectedId]);\n\n const handleSelectionChange = (\n selected: ToolbarSelectItem<Record<string, unknown>> | undefined,\n ) => {\n if (selected?.id) {\n if (selectedItemId === undefined) {\n setInternalSelectedId(selected.id);\n }\n\n onChange?.(selected.id);\n\n setIsPopoverOpen(false);\n }\n };\n\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const toolbarSize = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarSelect\",\n data: {\n selected: props.selected,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n items: props.items,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n\n const item = (\n <Popover\n noPadding\n open={isPopoverOpen}\n onClickOutside={() => {\n setIsPopoverOpen(false);\n }}\n onClose={() => {\n setIsPopoverOpen(false);\n }}\n >\n <Popover.Button\n data-tracking-id={trackingId}\n appearance={appearance}\n size={toolbarSize}\n icon={{ after: ArrowDropDown }}\n className={buttonClassNames}\n id={selectId}\n data-anv=\"toolbar-select\"\n onClick={() => {\n setIsPopoverOpen(!isPopoverOpen);\n }}\n {...rest}\n >\n {selectedItem?.label}\n </Popover.Button>\n <Popover.Content\n className={styles[\"toolbar-select-content\"]}\n aria-label={accessibleLabel}\n >\n <Listbox\n selected={selectedItem}\n onSelectionChange={handleSelectionChange}\n items={items}\n aria-labelledby={selectId}\n disableAutoSelectOnFocus={true}\n >\n {({ items }) =>\n items.map((item) => (\n <Listbox.Option key={item.label} item={item}>\n {item.label}\n </Listbox.Option>\n ))\n }\n </Listbox>\n </Popover.Content>\n </Popover>\n );\n\n if (isInOverflowMenu) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"select\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n },\n);\n\nToolbarSelect.displayName = \"ToolbarSelect\";\n","import { type ReactElement, useContext, useId, useMemo } from \"react\";\nimport MoreHoriz from \"@servicetitan/hammer-icon/mdi/round/more_horiz.svg\";\nimport MoreVert from \"@servicetitan/hammer-icon/mdi/round//more_vert.svg\";\nimport type { ToolbarItemProps } from \"../types\";\nimport { ToolbarButton, type ToolbarButtonProps } from \"../ToolbarButton\";\nimport {\n ToolbarButtonToggle,\n type ToolbarButtonToggleProps,\n} from \"../ToolbarButtonToggle\";\nimport {\n ToolbarButtonLink,\n type ToolbarButtonLinkProps,\n} from \"../ToolbarButtonLink\";\nimport { ToolbarSelect, type ToolbarSelectProps } from \"../ToolbarSelect\";\nimport { ToolbarContext, useToolbarSize } from \"./ToolbarContext\";\nimport Popover from \"../../../../internal/components/Popover\";\nimport Icon from \"../../../../components/Icon\";\nimport { OverflowItemContext } from \"./ToolbarItemOverflowContext\";\nimport { handleMenuKeyboardNavigation } from \"./utils/accessibility\";\nimport { ANV_PART_ATTR } from \"../../../../internal/constants/anvParts\";\nimport { PARTS } from \"../parts\";\n\nimport cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\nconst OverflowItem = ({ itemType, itemProps }: ToolbarItemProps) => {\n switch (itemType) {\n case \"button\":\n return <ToolbarButton {...(itemProps as ToolbarButtonProps)} />;\n\n case \"buttonToggle\":\n return (\n <ToolbarButtonToggle {...(itemProps as ToolbarButtonToggleProps)} />\n );\n\n case \"buttonLink\":\n return <ToolbarButtonLink {...(itemProps as ToolbarButtonLinkProps)} />;\n\n case \"select\":\n return <ToolbarSelect {...(itemProps as ToolbarSelectProps)} />;\n\n default:\n return null;\n }\n};\n\nexport type ToolbarOverflowMenuProps = {\n /** Items appended after controls collapsed from the toolbar. */\n additionalItems?: ReactElement[];\n /** Parent orientation used to choose the overflow icon. */\n direction?: \"vertical\" | \"horizontal\";\n};\n\n/**\n * Recreates clipped controls in their original order, followed by any\n * consumer-supplied overflow items.\n */\nexport const ToolbarOverflowMenu = ({\n additionalItems,\n direction,\n}: ToolbarOverflowMenuProps) => {\n const { overflowItems, orderedIds } = useContext(ToolbarContext);\n const menuTriggerId = useId();\n const size = useToolbarSize();\n\n const orderedItems = useMemo(() => {\n const allElements = orderedIds?.map((id) => {\n return overflowItems.find((item) => item.id === id);\n });\n\n return allElements?.filter((item) => item !== undefined) || [];\n }, [orderedIds, overflowItems]);\n\n const popoverButtonClassNames = cx(\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-overflow-trigger\"],\n );\n\n const overflowIcon = direction === \"horizontal\" ? MoreHoriz : MoreVert;\n\n return (\n <Popover noPadding>\n <Popover.Button\n size={size}\n appearance=\"ghost\"\n id={menuTriggerId}\n className={popoverButtonClassNames}\n data-anv=\"toolbar-overflow-trigger\"\n aria-label=\"Additional toolbar options\"\n {...{ [ANV_PART_ATTR]: PARTS.trigger }}\n >\n <Icon svg={overflowIcon} size={size === \"xsmall\" ? \"small\" : size} />\n </Popover.Button>\n <Popover.Content>\n <OverflowItemContext.Provider value={{ isInOverflowMenu: true }}>\n <ul\n role=\"menu\"\n className={styles[\"toolbar-overflow-content\"]}\n data-anv=\"toolbar-overflow-menu\"\n aria-labelledby={menuTriggerId}\n onKeyDown={handleMenuKeyboardNavigation}\n {...{ [ANV_PART_ATTR]: PARTS.menu }}\n >\n {orderedItems.map((item) => {\n const { itemType, itemProps, id } = item;\n return (\n <li\n key={`${itemType}-${id}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n data-id={id}\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n <OverflowItem\n itemType={itemType}\n itemProps={itemProps}\n id={id}\n />\n </li>\n );\n })}\n\n {additionalItems?.map((item, index) => (\n <li\n key={`additional-item-${index}`}\n role=\"menuitem\"\n data-anv=\"toolbar-overflow-item\"\n {...{ [ANV_PART_ATTR]: PARTS.overflowItem }}\n >\n {item}\n </li>\n ))}\n </ul>\n </OverflowItemContext.Provider>\n </Popover.Content>\n </Popover>\n );\n};\n","import { type ComponentPropsWithoutRef, forwardRef, useContext } from \"react\";\nimport type { LayoutUtilProps } from \"../../../types\";\nimport { Flex } from \"../../../components/Flex\";\nimport { ToolbarContext } from \"./internal/ToolbarContext\";\n\nimport styles from \"./ToolbarControlGroup.module.scss\";\n\n/**\n * @extends ComponentPropsWithoutRef<'div'>\n * @extends LayoutUtilProps\n */\nexport type ToolbarControlGroupProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n /** Accessible group name. Defaults to `Toolbar controls`. */\n \"aria-label\"?: string;\n };\n\nconst ToolbarControlGroupElement = forwardRef<\n HTMLDivElement,\n ToolbarControlGroupProps\n>((props, ref) => {\n const { children, \"aria-label\": ariaLabel, ...rest } = props;\n const { overflow } = useContext(ToolbarContext);\n\n return (\n <Flex\n ref={ref}\n alignItems=\"center\"\n gap={1}\n wrap={overflow === \"collapse\" ? \"nowrap\" : \"wrap\"}\n data-anv=\"toolbar-control-group\"\n role=\"group\"\n aria-label={ariaLabel ? ariaLabel : \"Toolbar controls\"}\n className={styles[\"toolbar-control-group\"]}\n {...rest}\n >\n {children}\n </Flex>\n );\n});\n\nToolbarControlGroupElement.displayName = \"ToolbarControlGroup\";\n\n/**\n * Semantically groups related toolbar controls. The group wraps with the\n * toolbar unless collapse overflow is active.\n */\nexport const ToolbarControlGroup = ToolbarControlGroupElement;\n","import { forwardRef, type Ref } from \"react\";\nimport {\n type SearchFieldProps,\n SearchField,\n} from \"../../../components/SearchField/internal/SearchField\";\n\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\nimport { ANV_PART_ATTR } from \"../../../internal/constants/anvParts\";\nimport { PARTS } from \"./parts\";\n\nimport cx from \"classnames\";\nimport styles from \"./ToolbarSearchField.module.scss\";\n\n/** @extends Omit<SearchFieldProps, \"size\"> */\nexport type ToolbarSearchFieldProps = Omit<SearchFieldProps, \"size\">;\n\n/**\n * Search field styled for toolbar layouts. Its size is inherited from the\n * surrounding toolbar rather than set directly.\n */\nexport const ToolbarSearchField = forwardRef(\n (props: ToolbarSearchFieldProps, ref: Ref<HTMLInputElement>) => {\n const { className, ...rest } = props;\n const size = useToolbarSize();\n\n const searchFieldStyles = cx(styles[\"toolbar-search-field\"], className);\n\n return (\n <div className={styles[\"toolbar-search-field-container\"]}>\n <SearchField\n ref={ref}\n className={searchFieldStyles}\n size={size}\n data-anv=\"toolbar-search-field\"\n {...rest}\n {...{ [ANV_PART_ATTR]: PARTS.input }}\n />\n </div>\n );\n },\n);\n\nToolbarSearchField.displayName = \"ToolbarSearchField\";\n","import { ToolbarButton } from \"./ToolbarButton\";\nimport { ToolbarButtonToggle } from \"./ToolbarButtonToggle\";\nimport { ToolbarButtonLink } from \"./ToolbarButtonLink\";\nimport { ToolbarSelect } from \"./ToolbarSelect\";\nimport type {\n ToolbarItemProps,\n ToolbarOverflowTypes,\n ToolbarSize,\n} from \"./types\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { DataAttributes, LayoutUtilProps } from \"../../../types\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport {\n handleToolbarKeyDown,\n updateToolbarItemsTabIndex,\n} from \"./internal/utils/accessibility\";\nimport { ToolbarContext } from \"./internal/ToolbarContext\";\nimport Flex from \"../../../components/Flex\";\nimport { useMergeRefs } from \"../../../hooks\";\nimport { ToolbarOverflowMenu } from \"./internal/ToolbarOverflowMenu\";\nimport { ToolbarControlGroup } from \"./ToolbarControlGroup\";\nimport { ToolbarSearchField } from \"./ToolbarSearchField\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n */\nexport type ToolbarProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n DataAttributes & {\n /** Names the content controlled by the toolbar in its accessible label. */\n associatedContent: string;\n /**\n * Sets both the control layout and arrow-key navigation axis.\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n /**\n * Wraps controls or moves controls that no longer fit into an overflow menu.\n * @default \"wrap\"\n */\n overflow?: ToolbarOverflowTypes;\n /** Items appended to the overflow menu, whether or not controls have collapsed. */\n additionalItems?: ReactElement[];\n /** Size inherited by the toolbar's controls. Defaults to `xsmall`. */\n size?: ToolbarSize;\n };\n\n/**\n * Groups related controls with roving focus and orientation-aware arrow-key\n * navigation. In collapse mode, controls that no longer fit move into an overflow menu.\n */\nexport const Toolbar = Object.assign(\n forwardRef<HTMLDivElement, ToolbarProps>(function ToolbarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n associatedContent,\n className,\n children,\n style,\n direction = \"horizontal\",\n overflow = \"wrap\",\n onKeyDown,\n additionalItems,\n size = \"xsmall\",\n ...rest\n } = componentProps;\n\n const [overflowItems, setOverflowItems] = useState<ToolbarItemProps[]>([]);\n const toolbarItemsRef = useRef<HTMLDivElement>(null);\n const toolbarRef = useRef<HTMLDivElement>(null);\n\n const [orderedIds, setOrderedIds] = useState<string[]>([]);\n\n useEffect(() => {\n const newOrderedIds = Array.from(\n toolbarItemsRef.current?.querySelectorAll(\"[data-id]\") || [],\n ).map((el) => {\n return el.getAttribute(\"data-id\") as string;\n });\n\n setOrderedIds(newOrderedIds);\n }, [children]);\n\n const addItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) => [...prev, item]);\n }, []);\n\n const removeItem = useCallback((item: ToolbarItemProps) => {\n setOverflowItems((prev) =>\n prev.filter((component) => component.id !== item.id),\n );\n }, []);\n\n useEffect(() => {\n if (toolbarRef.current) {\n updateToolbarItemsTabIndex(toolbarRef.current);\n }\n }, [children]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (toolbarRef.current) {\n handleToolbarKeyDown(event, toolbarRef.current);\n }\n\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n const showOverflowMenu =\n (overflow === \"collapse\" && overflowItems.length > 0) ||\n !!additionalItems;\n\n const value = useMemo(\n () => ({\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n }),\n [\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow,\n size,\n ],\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const toolbarClassNames = cx(styles[\"toolbar\"], className);\n\n const toolbarContentClassNames = cx(styles[\"toolbar-content\"], {\n [styles[`overflow-${overflow}`]]: overflow,\n });\n\n return (\n <ToolbarContext.Provider value={value}>\n <Flex\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n className={toolbarClassNames}\n style={styleCombined}\n ref={useMergeRefs([toolbarRef, ref])}\n role=\"toolbar\"\n data-anv=\"toolbar\"\n aria-orientation={direction}\n aria-label={`Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`}\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <Flex\n ref={useMergeRefs([toolbarItemsRef, ref])}\n className={toolbarContentClassNames}\n direction={direction === \"horizontal\" ? \"row\" : \"column\"}\n wrap={overflow === \"wrap\" ? \"wrap\" : \"nowrap\"}\n alignItems=\"center\"\n grow={1}\n data-anv=\"toolbar-content\"\n data-overflow={overflow}\n >\n {children}\n </Flex>\n\n {showOverflowMenu && (\n <ToolbarOverflowMenu\n direction={direction}\n additionalItems={additionalItems}\n />\n )}\n </Flex>\n </ToolbarContext.Provider>\n );\n }),\n {\n /** Action button that participates in toolbar focus and overflow behavior. */\n Button: ToolbarButton,\n /** Toggle button that participates in toolbar focus and overflow behavior. */\n ButtonToggle: ToolbarButtonToggle,\n /** Link-styled action that participates in toolbar focus and overflow behavior. */\n ButtonLink: ToolbarButtonLink,\n /** Single-select control that participates in toolbar focus and overflow behavior. */\n Select: ToolbarSelect,\n /** Groups related controls within the toolbar. */\n ControlGroup: ToolbarControlGroup,\n /** Search field that inherits the toolbar's control size. */\n Search: ToolbarSearchField,\n },\n);\nToolbar.displayName = \"Toolbar\";\nexport const ToolbarElement = Toolbar;\n"],"names":["styles","item","ArrowDropDown","items","MoreHoriz","MoreVert"],"mappings":"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"}
package/dist/Toolbar.js CHANGED
@@ -1,3 +1,3 @@
1
- export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect, T as default } from './Toolbar-B_lHD0c2.js';
2
- export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-BMBmBdw1.js';
1
+ export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect, T as default } from './Toolbar-DGHZpFi9.js';
2
+ export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-T8YnSJ5x.js';
3
3
  //# sourceMappingURL=Toolbar.js.map
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { createContext, useContext, useId, useRef, useCallback, useEffect, forwardRef } from 'react';
3
- import { B as ButtonToggle } from './ButtonToggle-DKDBD1g3.js';
3
+ import { B as ButtonToggle } from './ButtonToggle-BSU8GBxr.js';
4
4
  import { C as COMMON_PART, A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
5
5
  import { T as Tooltip } from './Tooltip-C_VcYS9P.js';
6
6
  import { g as getKeyboardFocusableElements } from './getKeyboardFocusableElements-B_U9rt6y.js';
@@ -186,7 +186,6 @@ const ToolbarItemWrapper = ({
186
186
  root: isCollapseMode ? observerRoot ?? toolbarRef.current : null,
187
187
  threshold: 1,
188
188
  initialIsIntersecting: true,
189
- // Start as visible
190
189
  onChange: handleVisibilityChange,
191
190
  rootMargin
192
191
  });
@@ -302,4 +301,4 @@ const ToolbarButtonToggle = forwardRef((props, _ref) => {
302
301
  ToolbarButtonToggle.displayName = "ToolbarButtonToggle";
303
302
 
304
303
  export { OverflowItemContext as O, PARTS as P, ToolbarButtonToggle as T, updateToolbarItemsTabIndex as a, ToolbarContext as b, useOverFlowItemContext as c, ToolbarItemWrapper as d, handleMenuKeyboardNavigation as e, getToolbarElements as g, handleToolbarKeyDown as h, styles as s, useToolbarSize as u };
305
- //# sourceMappingURL=ToolbarButtonToggle-BMBmBdw1.js.map
304
+ //# sourceMappingURL=ToolbarButtonToggle-T8YnSJ5x.js.map