@servicetitan/anvil2 3.16.0 → 3.17.0

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 (296) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/{AiMark-BfmK30vL.js → AiMark-CYXbKuCA.js} +2 -2
  3. package/dist/{AiMark-BfmK30vL.js.map → AiMark-CYXbKuCA.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-lLo1N7Tj.js → Alert-CYpl0czJ.js} +3 -3
  6. package/dist/{Alert-lLo1N7Tj.js.map → Alert-CYpl0czJ.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-PfnsVVz1.js → Announcement-AN9HnhZ-.js} +2 -2
  9. package/dist/{Announcement-PfnsVVz1.js.map → Announcement-AN9HnhZ-.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-RdL4Fvmu.js → Breadcrumbs-C0CXs9Ma.js} +2 -2
  12. package/dist/{Breadcrumbs-RdL4Fvmu.js.map → Breadcrumbs-C0CXs9Ma.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-Dn6-01xl.js → Button-B_E6ybA-.js} +3 -3
  15. package/dist/{Button-Dn6-01xl.js.map → Button-B_E6ybA-.js.map} +1 -1
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-BSU8GBxr.js → ButtonToggle-D0eXySEM.js} +2 -2
  18. package/dist/{ButtonToggle-BSU8GBxr.js.map → ButtonToggle-D0eXySEM.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{luxon-wpz4A-OQ.js → Calendar-BAIyDHX9.js} +1761 -3
  21. package/dist/Calendar-BAIyDHX9.js.map +1 -0
  22. package/dist/{Calendar-DoLRAWLp.js → Calendar-C_NPqjx3.js} +2 -2
  23. package/dist/{Calendar-DoLRAWLp.js.map → Calendar-C_NPqjx3.js.map} +1 -1
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-U-kuWhgc.js → Checkbox-4Ow8rCbD.js} +2 -2
  26. package/dist/{Checkbox-U-kuWhgc.js.map → Checkbox-4Ow8rCbD.js.map} +1 -1
  27. package/dist/{Checkbox-CVxbe-iN.js → Checkbox-f1vutjn0.js} +3 -3
  28. package/dist/{Checkbox-CVxbe-iN.js.map → Checkbox-f1vutjn0.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-2OydLs66.js → Chip-AIF0WiNS.js} +2 -2
  31. package/dist/{Chip-2OydLs66.js.map → Chip-AIF0WiNS.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-DIXP9-Bx.js → DataTableEditColumnsDrawer-DRgJgso9.js} +1288 -263
  35. package/dist/DataTableEditColumnsDrawer-DRgJgso9.js.map +1 -0
  36. package/dist/{DataTable.css → DataTableEditColumnsDrawer.css} +41 -0
  37. package/dist/{DateFieldRange-X2jdOTYY.js → DateFieldRange-D9PA985Z.js} +6 -7
  38. package/dist/{DateFieldRange-X2jdOTYY.js.map → DateFieldRange-D9PA985Z.js.map} +1 -1
  39. package/dist/DateFieldRange.js +1 -1
  40. package/dist/{DateFieldSingle-BJ16tpOz.js → DateFieldSingle-CMLojOb3.js} +6 -7
  41. package/dist/{DateFieldSingle-BJ16tpOz.js.map → DateFieldSingle-CMLojOb3.js.map} +1 -1
  42. package/dist/DateFieldSingle.js +1 -1
  43. package/dist/{DateFieldYearless-CMm8vtz_.js → DateFieldYearless-B5IyR75v.js} +4 -4
  44. package/dist/{DateFieldYearless-CMm8vtz_.js.map → DateFieldYearless-B5IyR75v.js.map} +1 -1
  45. package/dist/DateFieldYearless.js +1 -1
  46. package/dist/{DateFieldYearlessRange-BHHs-Z1Q.js → DateFieldYearlessRange-8yXILjx7.js} +3 -3
  47. package/dist/{DateFieldYearlessRange-BHHs-Z1Q.js.map → DateFieldYearlessRange-8yXILjx7.js.map} +1 -1
  48. package/dist/DateFieldYearlessRange.js +1 -1
  49. package/dist/{DaysOfTheWeek-BHXxs0Bo.js → DaysOfTheWeek-Cxp5VdYK.js} +3 -3
  50. package/dist/{DaysOfTheWeek-BHXxs0Bo.js.map → DaysOfTheWeek-Cxp5VdYK.js.map} +1 -1
  51. package/dist/DaysOfTheWeek.js +1 -1
  52. package/dist/{Dialog-_tHqOsbr.js → Dialog-KDAJphrA.js} +8 -7
  53. package/dist/Dialog-KDAJphrA.js.map +1 -0
  54. package/dist/Dialog.js +1 -1
  55. package/dist/{DialogCancelButton-C0r8hJ8Z.js → DialogCancelButton-CplrFu69.js} +2 -2
  56. package/dist/{DialogCancelButton-C0r8hJ8Z.js.map → DialogCancelButton-CplrFu69.js.map} +1 -1
  57. package/dist/Dnd.js +2 -2
  58. package/dist/{DndHandleButton-BRlodkDO.js → DndHandleButton-BJqj2hc0.js} +6 -4
  59. package/dist/DndHandleButton-BJqj2hc0.js.map +1 -0
  60. package/dist/DndSort.js +2 -2
  61. package/dist/{Drawer-D-ThWNp0.js → Drawer-C7E2NNnH.js} +9 -8
  62. package/dist/Drawer-C7E2NNnH.js.map +1 -0
  63. package/dist/Drawer.js +1 -1
  64. package/dist/DrillDown.css +41 -34
  65. package/dist/DrillDown.js +1 -1
  66. package/dist/DrillDown.module-BFE5BcJB.js +28 -0
  67. package/dist/DrillDown.module-BFE5BcJB.js.map +1 -0
  68. package/dist/{EditCard-B6l2vhBS.js → EditCard-CutlsXfK.js} +3 -3
  69. package/dist/{EditCard-B6l2vhBS.js.map → EditCard-CutlsXfK.js.map} +1 -1
  70. package/dist/EditCard.js +1 -1
  71. package/dist/{FieldLabel-ThEmUiAq.js → FieldLabel-DYcUS3A4.js} +2 -2
  72. package/dist/{FieldLabel-ThEmUiAq.js.map → FieldLabel-DYcUS3A4.js.map} +1 -1
  73. package/dist/FieldLabel.js +1 -1
  74. package/dist/{FilterBar-jFn8O7v7.js → FilterBar-DbDfZph-.js} +7 -7
  75. package/dist/{FilterBar-jFn8O7v7.js.map → FilterBar-DbDfZph-.js.map} +1 -1
  76. package/dist/FilterBar.js +1 -1
  77. package/dist/{InputMask-BQigi5oW.js → InputMask-BxdQc1ld.js} +3 -3
  78. package/dist/{InputMask-BQigi5oW.js.map → InputMask-BxdQc1ld.js.map} +1 -1
  79. package/dist/InputMask.js +1 -1
  80. package/dist/{ListView-YJscfG4x.js → ListView-BVanVvBk.js} +87 -108
  81. package/dist/ListView-BVanVvBk.js.map +1 -0
  82. package/dist/ListView.js +1 -1
  83. package/dist/{Listbox-CD9ZptSZ.js → Listbox-BR0YQIee.js} +2 -2
  84. package/dist/{Listbox-CD9ZptSZ.js.map → Listbox-BR0YQIee.js.map} +1 -1
  85. package/dist/Listbox.js +1 -1
  86. package/dist/{Menu-Da2OEN0o.js → Menu-DqP7YQgE.js} +2 -2
  87. package/dist/{Menu-Da2OEN0o.js.map → Menu-DqP7YQgE.js.map} +1 -1
  88. package/dist/Menu.js +1 -1
  89. package/dist/{MenuFooter-D__gg92C.js → MenuFooter-Dzhv0EfD.js} +2 -2
  90. package/dist/{MenuFooter-D__gg92C.js.map → MenuFooter-Dzhv0EfD.js.map} +1 -1
  91. package/dist/MultiSelectField.js +1 -1
  92. package/dist/{MultiSelectFieldSync-DuImKXuj.js → MultiSelectFieldSync-9253tott.js} +29 -29
  93. package/dist/{MultiSelectFieldSync-DuImKXuj.js.map → MultiSelectFieldSync-9253tott.js.map} +1 -1
  94. package/dist/MultiSelectFieldSync.css +71 -70
  95. package/dist/MultiSelectMenu.js +1 -1
  96. package/dist/{MultiSelectMenuSync-BhNXsgAN.js → MultiSelectMenuSync-BUJbWN2I.js} +5 -5
  97. package/dist/{MultiSelectMenuSync-BhNXsgAN.js.map → MultiSelectMenuSync-BUJbWN2I.js.map} +1 -1
  98. package/dist/{useNumberField-CXFYUZ_n.js → NumberField-DhxywJVp.js} +251 -5
  99. package/dist/NumberField-DhxywJVp.js.map +1 -0
  100. package/dist/NumberField.js +1 -1
  101. package/dist/{Page-ZSHNJs7z.js → Page-D_KL2tdK.js} +14 -13
  102. package/dist/{Page-ZSHNJs7z.js.map → Page-D_KL2tdK.js.map} +1 -1
  103. package/dist/Page.js +1 -1
  104. package/dist/{Pagination-Bsl99RRI.js → Pagination-DYpUtMha.js} +5 -5
  105. package/dist/{Pagination-Bsl99RRI.js.map → Pagination-DYpUtMha.js.map} +1 -1
  106. package/dist/Pagination.js +1 -1
  107. package/dist/{Popover-CIh1CsoJ.js → Popover-B2ix8Ji4.js} +2 -2
  108. package/dist/{Popover-CIh1CsoJ.js.map → Popover-B2ix8Ji4.js.map} +1 -1
  109. package/dist/Popover.js +1 -1
  110. package/dist/{ProgressBar-zPKYv4Il.js → ProgressBar-CjoOuJCi.js} +2 -2
  111. package/dist/{ProgressBar-zPKYv4Il.js.map → ProgressBar-CjoOuJCi.js.map} +1 -1
  112. package/dist/ProgressBar.js +1 -1
  113. package/dist/{Radio-C1VnatcL.js → Radio-Bz36_d0V.js} +2 -2
  114. package/dist/{Radio-C1VnatcL.js.map → Radio-Bz36_d0V.js.map} +1 -1
  115. package/dist/{Radio-BYowelK2.js → Radio-DOD1d9Vw.js} +3 -3
  116. package/dist/{Radio-BYowelK2.js.map → Radio-DOD1d9Vw.js.map} +1 -1
  117. package/dist/Radio.js +1 -1
  118. package/dist/{RichTextEditor-DcAVqd2d.js → RichTextEditor-BORVXVDw.js} +11 -11
  119. package/dist/{RichTextEditor-DcAVqd2d.js.map → RichTextEditor-BORVXVDw.js.map} +1 -1
  120. package/dist/RichTextEditor.js +1 -1
  121. package/dist/{SavedFiltersButton-Bl8mr-LB.js → SavedFiltersButton-vq_Kt4Qc.js} +10 -10
  122. package/dist/{SavedFiltersButton-Bl8mr-LB.js.map → SavedFiltersButton-vq_Kt4Qc.js.map} +1 -1
  123. package/dist/SavedFiltersButton.js +1 -1
  124. package/dist/{SegmentedControl-BHVJmmTH.js → SegmentedControl-BCqWq65N.js} +3 -3
  125. package/dist/{SegmentedControl-BHVJmmTH.js.map → SegmentedControl-BCqWq65N.js.map} +1 -1
  126. package/dist/SegmentedControl.js +1 -1
  127. package/dist/{SelectCard-DrmMU_GD.js → SelectCard-CJwetC1k.js} +3 -3
  128. package/dist/{SelectCard-DrmMU_GD.js.map → SelectCard-CJwetC1k.js.map} +1 -1
  129. package/dist/SelectCard.js +1 -1
  130. package/dist/SelectField.js +1 -1
  131. package/dist/{SelectFieldLabel-BxsKvfqo.js → SelectFieldLabel-BTKqybZm.js} +2 -2
  132. package/dist/{SelectFieldLabel-BxsKvfqo.js.map → SelectFieldLabel-BTKqybZm.js.map} +1 -1
  133. package/dist/{SelectFieldSync-SS7FELT3.js → SelectFieldSync-CoUi-BYw.js} +38 -11
  134. package/dist/SelectFieldSync-CoUi-BYw.js.map +1 -0
  135. package/dist/SelectMenu.js +1 -1
  136. package/dist/{SelectMenuSync-CPpE6vUG.js → SelectMenuSync-CvXx-6uU.js} +5 -5
  137. package/dist/{SelectMenuSync-CPpE6vUG.js.map → SelectMenuSync-CvXx-6uU.js.map} +1 -1
  138. package/dist/{SelectOptions-BDAu_9dv.js → SelectOptions-CGRUCyf4.js} +2 -2
  139. package/dist/{SelectOptions-BDAu_9dv.js.map → SelectOptions-CGRUCyf4.js.map} +1 -1
  140. package/dist/{SelectTrigger-B5h-aqhl.js → SelectTrigger-CRbl804u.js} +2 -2
  141. package/dist/{SelectTrigger-B5h-aqhl.js.map → SelectTrigger-CRbl804u.js.map} +1 -1
  142. package/dist/SelectTrigger.js +1 -1
  143. package/dist/{SelectTriggerBase-SML2Mlt-.js → SelectTriggerBase-BRUW_Zgc.js} +5 -5
  144. package/dist/{SelectTriggerBase-SML2Mlt-.js.map → SelectTriggerBase-BRUW_Zgc.js.map} +1 -1
  145. package/dist/SelectTriggerBase.css +51 -50
  146. package/dist/SelectTriggerBase.module-Dt4-6YvC.js +40 -0
  147. package/dist/SelectTriggerBase.module-Dt4-6YvC.js.map +1 -0
  148. package/dist/{Stepper-l_P6VPOv.js → Stepper-D3SHXfX1.js} +3 -3
  149. package/dist/{Stepper-l_P6VPOv.js.map → Stepper-D3SHXfX1.js.map} +1 -1
  150. package/dist/Stepper.js +1 -1
  151. package/dist/{Switch-1iNdXTik.js → Switch-rPPL4yEa.js} +2 -2
  152. package/dist/{Switch-1iNdXTik.js.map → Switch-rPPL4yEa.js.map} +1 -1
  153. package/dist/Switch.js +1 -1
  154. package/dist/{Tab-DR5YYXkq.js → Tab-CXwVQ5-G.js} +11 -7
  155. package/dist/Tab-CXwVQ5-G.js.map +1 -0
  156. package/dist/Tab.js +1 -1
  157. package/dist/Table.js +1 -1
  158. package/dist/{Text-rihxXHSe.js → Text-BRbkPr5s.js} +2 -2
  159. package/dist/{Text-rihxXHSe.js.map → Text-BRbkPr5s.js.map} +1 -1
  160. package/dist/Text.js +1 -1
  161. package/dist/{TextField-vuS7xeo-.js → TextField-B9hivHsD.js} +3 -3
  162. package/dist/{TextField-vuS7xeo-.js.map → TextField-B9hivHsD.js.map} +1 -1
  163. package/dist/{TextField-Bxd-Qzoi.js → TextField-DGRVg_Cw.js} +2 -2
  164. package/dist/{TextField-Bxd-Qzoi.js.map → TextField-DGRVg_Cw.js.map} +1 -1
  165. package/dist/TextField.js +1 -1
  166. package/dist/{Textarea-ppapJUwh.js → Textarea-DNqfV8rJ.js} +3 -3
  167. package/dist/{Textarea-ppapJUwh.js.map → Textarea-DNqfV8rJ.js.map} +1 -1
  168. package/dist/Textarea.js +1 -1
  169. package/dist/{TimeField-Hwt_oRbg.js → TimeField-DldMBNAj.js} +5 -5
  170. package/dist/{TimeField-Hwt_oRbg.js.map → TimeField-DldMBNAj.js.map} +1 -1
  171. package/dist/TimeField.js +1 -1
  172. package/dist/{TimezoneMessage-BrKB_psP.js → TimezoneMessage-CgVNxYpM.js} +2 -2
  173. package/dist/{TimezoneMessage-BrKB_psP.js.map → TimezoneMessage-CgVNxYpM.js.map} +1 -1
  174. package/dist/Toast.js +2 -2
  175. package/dist/{Toaster-dVGVVcat.js → Toaster-Bcy9XN3c.js} +2 -2
  176. package/dist/{Toaster-dVGVVcat.js.map → Toaster-Bcy9XN3c.js.map} +1 -1
  177. package/dist/{Toaster-SqkX0Kes.js → Toaster-C66ra4BK.js} +6 -8
  178. package/dist/Toaster-C66ra4BK.js.map +1 -0
  179. package/dist/{Toolbar-CMulzswf.js → Toolbar-Br-5yBxq.js} +5 -5
  180. package/dist/{Toolbar-CMulzswf.js.map → Toolbar-Br-5yBxq.js.map} +1 -1
  181. package/dist/{Toolbar-DGHZpFi9.js → Toolbar-DgPah7M3.js} +5 -5
  182. package/dist/{Toolbar-DGHZpFi9.js.map → Toolbar-DgPah7M3.js.map} +1 -1
  183. package/dist/Toolbar.js +2 -2
  184. package/dist/{ToolbarButtonToggle-T8YnSJ5x.js → ToolbarButtonToggle-BDfoHeie.js} +2 -2
  185. package/dist/{ToolbarButtonToggle-T8YnSJ5x.js.map → ToolbarButtonToggle-BDfoHeie.js.map} +1 -1
  186. package/dist/TreeSelectField.js +1 -1
  187. package/dist/{TreeSelectFieldSync-C0mXwYZL.js → TreeSelectFieldSync-1psUeqtG.js} +22 -22
  188. package/dist/{TreeSelectFieldSync-C0mXwYZL.js.map → TreeSelectFieldSync-1psUeqtG.js.map} +1 -1
  189. package/dist/TreeSelectFieldSync.css +36 -35
  190. package/dist/TreeSelectMenu.js +1 -1
  191. package/dist/{TreeSelectMenuSync-D2TvKxP-.js → TreeSelectMenuSync-DIPSYUnE.js} +4 -4
  192. package/dist/{TreeSelectMenuSync-D2TvKxP-.js.map → TreeSelectMenuSync-DIPSYUnE.js.map} +1 -1
  193. package/dist/{TypeaheadTextField-DgazozK7.js → TypeaheadTextField-Di9ulOBl.js} +3 -3
  194. package/dist/{TypeaheadTextField-DgazozK7.js.map → TypeaheadTextField-Di9ulOBl.js.map} +1 -1
  195. package/dist/TypeaheadTextField.js +1 -1
  196. package/dist/{YearlessDateInputWithPicker-Bc8a33D5.js → YearlessDateInputWithPicker-CQ2-6Uj4.js} +3 -3
  197. package/dist/{YearlessDateInputWithPicker-Bc8a33D5.js.map → YearlessDateInputWithPicker-CQ2-6Uj4.js.map} +1 -1
  198. package/dist/assets/icons/st/gnav_messages_active.svg +1 -0
  199. package/dist/assets/icons/st/gnav_messages_inactive.svg +1 -0
  200. package/dist/assets/icons/st.ts +2 -0
  201. package/dist/beta.js +17 -17
  202. package/dist/{bulkActionTypes-SukoplGV.js → bulkActionTypes-B71ZHjVu.js} +2 -2
  203. package/dist/{bulkActionTypes-SukoplGV.js.map → bulkActionTypes-B71ZHjVu.js.map} +1 -1
  204. package/dist/{filter-state-hDtCUggM.js → filter-state-Lw9qL0zP.js} +23 -23
  205. package/dist/{filter-state-hDtCUggM.js.map → filter-state-Lw9qL0zP.js.map} +1 -1
  206. package/dist/{index-C2dOrf4N.js → index-B3WhDZeI.js} +2 -2
  207. package/dist/{index-C2dOrf4N.js.map → index-B3WhDZeI.js.map} +1 -1
  208. package/dist/{index-Bldaza5t.js → index-CyN5oapA.js} +2 -2
  209. package/dist/{index-Bldaza5t.js.map → index-CyN5oapA.js.map} +1 -1
  210. package/dist/index-DfZCfS0S.js +36 -0
  211. package/dist/index-DfZCfS0S.js.map +1 -0
  212. package/dist/{index.esm-C2ZhC_8d.js → index.esm-CQXMoq5w.js} +2 -2
  213. package/dist/{index.esm-C2ZhC_8d.js.map → index.esm-CQXMoq5w.js.map} +1 -1
  214. package/dist/index.js +55 -53
  215. package/dist/index.js.map +1 -1
  216. package/dist/{react-ORV84FjM.js → react-CG1BUt2y.js} +5 -38
  217. package/dist/react-CG1BUt2y.js.map +1 -0
  218. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +31 -4
  219. package/dist/src/beta/components/Table/DataTable/DataTableEditColumnsDrawer.d.ts +18 -0
  220. package/dist/src/beta/components/Table/DataTable/index.d.ts +1 -0
  221. package/dist/src/beta/components/Table/DataTable/internal/DataTableAddRow.d.ts +11 -0
  222. package/dist/src/beta/components/Table/DataTable/internal/DataTableBulkActionBar.d.ts +23 -0
  223. package/dist/src/beta/components/Table/DataTable/internal/DataTableFilterToolbar.d.ts +12 -0
  224. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/EditColumnsDrawer.d.ts +29 -0
  225. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/columnLayout.d.ts +43 -0
  226. package/dist/src/beta/components/Table/DataTable/internal/columnEditing/toEditColumnsSection.d.ts +7 -0
  227. package/dist/src/beta/components/Table/DataTable/parts.d.ts +17 -0
  228. package/dist/src/beta/components/Table/DataTable/types.d.ts +245 -2
  229. package/dist/src/beta/components/Table/types.d.ts +6 -0
  230. package/dist/src/components/DrillDown/DrillDownHeader.d.ts +11 -2
  231. package/dist/src/components/DrillDown/index.d.ts +1 -1
  232. package/dist/src/components/DrillDown/internal/DrillDownContext.d.ts +7 -2
  233. package/dist/src/components/DrillDown/internal/useDrillDownContextState.d.ts +6 -3
  234. package/dist/src/hooks/usePrefersReducedMotion/index.d.ts +2 -0
  235. package/dist/src/hooks/usePrefersReducedMotion/prefersReducedMotion.d.ts +6 -0
  236. package/dist/src/hooks/usePrefersReducedMotion/useReducedMotion.d.ts +5 -0
  237. package/dist/{stripInlineMarkdown-BhYLEiXu.js → stripInlineMarkdown-B6lAJb4-.js} +2 -2
  238. package/dist/{stripInlineMarkdown-BhYLEiXu.js.map → stripInlineMarkdown-B6lAJb4-.js.map} +1 -1
  239. package/dist/{syncFilterUtils-SMop8ckR.js → syncFilterUtils-DnhuqY1S.js} +4 -4
  240. package/dist/{syncFilterUtils-SMop8ckR.js.map → syncFilterUtils-DnhuqY1S.js.map} +1 -1
  241. package/dist/token/core/component-variables.scss +49 -49
  242. package/dist/token/core/component.js +49 -49
  243. package/dist/token/core/component.scss +40 -40
  244. package/dist/token.js +49 -49
  245. package/dist/token.js.map +1 -1
  246. package/dist/{treeSync-B38r1dRQ.js → treeSync-BDwht_1r.js} +3 -3
  247. package/dist/{treeSync-B38r1dRQ.js.map → treeSync-BDwht_1r.js.map} +1 -1
  248. package/dist/{use-reduced-motion-yYB9Tb0D.js → use-reduced-motion-CUshwaEW.js} +2 -2
  249. package/dist/{use-reduced-motion-yYB9Tb0D.js.map → use-reduced-motion-CUshwaEW.js.map} +1 -1
  250. package/dist/{useDrillDownContext-D5_NjqY4.js → useDrillDownContext-BLDjyNEt.js} +2 -2
  251. package/dist/{useDrillDownContext-D5_NjqY4.js.map → useDrillDownContext-BLDjyNEt.js.map} +1 -1
  252. package/dist/{useDrilldown-BOeeNUsy.js → useDrilldown-CGdhHs8L.js} +54 -21
  253. package/dist/{useDrilldown-BOeeNUsy.js.map → useDrilldown-CGdhHs8L.js.map} +1 -1
  254. package/dist/{useInfiniteCombobox-7oIT2Mzn.js → useInfiniteCombobox-Db0kaxCj.js} +4 -4
  255. package/dist/{useInfiniteCombobox-7oIT2Mzn.js.map → useInfiniteCombobox-Db0kaxCj.js.map} +1 -1
  256. package/dist/{useInitialFocus-CGybEc6x.js → useInitialFocus-fBiTU9l8.js} +7 -4
  257. package/dist/useInitialFocus-fBiTU9l8.js.map +1 -0
  258. package/dist/{useInvalidateOnOptionsChange-BD2VBpbK.js → useInvalidateOnOptionsChange-PweyDORd.js} +4 -4
  259. package/dist/{useInvalidateOnOptionsChange-BD2VBpbK.js.map → useInvalidateOnOptionsChange-PweyDORd.js.map} +1 -1
  260. package/dist/{usePrefersReducedMotion-DR9B_D6w.js → usePrefersReducedMotion-BLoVFiJL.js} +11 -3
  261. package/dist/usePrefersReducedMotion-BLoVFiJL.js.map +1 -0
  262. package/dist/usePrefersReducedMotion.js +2 -1
  263. package/dist/usePrefersReducedMotion.js.map +1 -1
  264. package/package.json +3 -3
  265. package/dist/Calendar-IzXG1aJw.js +0 -1761
  266. package/dist/Calendar-IzXG1aJw.js.map +0 -1
  267. package/dist/DataTable-DIXP9-Bx.js.map +0 -1
  268. package/dist/Dialog-_tHqOsbr.js.map +0 -1
  269. package/dist/DndHandleButton-BRlodkDO.js.map +0 -1
  270. package/dist/Drawer-D-ThWNp0.js.map +0 -1
  271. package/dist/DrillDown.module-1VBKDZRA.js +0 -27
  272. package/dist/DrillDown.module-1VBKDZRA.js.map +0 -1
  273. package/dist/Lato.css +0 -24
  274. package/dist/ListView-YJscfG4x.js.map +0 -1
  275. package/dist/NumberField-CxmJx4gs.js +0 -252
  276. package/dist/NumberField-CxmJx4gs.js.map +0 -1
  277. package/dist/SelectFieldSync-SS7FELT3.js.map +0 -1
  278. package/dist/SelectTriggerBase.module-mYOfdBGA.js +0 -40
  279. package/dist/SelectTriggerBase.module-mYOfdBGA.js.map +0 -1
  280. package/dist/Tab-DR5YYXkq.js.map +0 -1
  281. package/dist/Toaster-SqkX0Kes.js.map +0 -1
  282. package/dist/app-css.379821199ec8105f2efd.bundle.css +0 -57579
  283. package/dist/bugfix-71.1orion.css +0 -491
  284. package/dist/design-system.859a127fc3b66175f0f0.bundle.css +0 -34599
  285. package/dist/drag_indicator-BRHAPLSJ.js +0 -6
  286. package/dist/drag_indicator-BRHAPLSJ.js.map +0 -1
  287. package/dist/favicon.ico +0 -0
  288. package/dist/kendo-css.ed976099efbbcc8b0639.bundle.css +0 -20601
  289. package/dist/luxon-wpz4A-OQ.js.map +0 -1
  290. package/dist/main.e26f249642be9a4bd747.bundle.css +0 -50386
  291. package/dist/react-ORV84FjM.js.map +0 -1
  292. package/dist/sui.a9dc22e36a27b7ea1ee8.bundle.css +0 -41149
  293. package/dist/useInitialFocus-CGybEc6x.js.map +0 -1
  294. package/dist/useNumberField-CXFYUZ_n.js.map +0 -1
  295. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +0 -1
  296. package/dist/vite.svg +0 -1
@@ -1 +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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"}
1
+ {"version":3,"file":"Toolbar-DgPah7M3.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-DGHZpFi9.js';
2
- export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-T8YnSJ5x.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-DgPah7M3.js';
2
+ export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-BDfoHeie.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-BSU8GBxr.js';
3
+ import { B as ButtonToggle } from './ButtonToggle-D0eXySEM.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';
@@ -301,4 +301,4 @@ const ToolbarButtonToggle = forwardRef((props, _ref) => {
301
301
  ToolbarButtonToggle.displayName = "ToolbarButtonToggle";
302
302
 
303
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 };
304
- //# sourceMappingURL=ToolbarButtonToggle-T8YnSJ5x.js.map
304
+ //# sourceMappingURL=ToolbarButtonToggle-BDfoHeie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButtonToggle-T8YnSJ5x.js","sources":["../src/beta/components/Toolbar/internal/ToolbarContext.tsx","../src/beta/components/Toolbar/internal/utils/accessibility.ts","../src/beta/components/Toolbar/internal/ToolbarItemWrapper.tsx","../src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.tsx","../src/beta/components/Toolbar/parts.ts","../src/beta/components/Toolbar/ToolbarButtonToggle.tsx"],"sourcesContent":["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 the toolbar's visible roving-focus controls, followed by its overflow\n * trigger when present.\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 // Exclude focusables that live inside floating content (popovers,\n // dialogs, menus, drawers) or are explicitly aria-hidden. Floating\n // containers using `display: none` / the `popover` API don't propagate\n // their hidden state to descendants via `getComputedStyle`, so we have\n // to detect them structurally.\n const isHidden = !item.closest('[aria-hidden=\"true\"]');\n const isInDrawer = !item.closest('[data-anv=\"filter-group-drawer\"]');\n const isInPopover = !item.closest('[data-anv=\"popover-content\"]');\n const isInDialog = !item.closest(\"dialog\");\n const isNotInMenuContent = !item.closest('[data-anv=\"menu-content\"]');\n // FilterBar's search field manages its own tabindex (always tabbable)\n // instead of participating in the roving-tabindex pool, so it must be\n // excluded here — see FilterSearchField.\n const isNotSearchField = !item.closest(\n '[data-anv=\"filter-search-field\"]',\n );\n return (\n isHidden &&\n isInDrawer &&\n isInPopover &&\n isInDialog &&\n isNotInMenuContent &&\n isNotSearchField\n );\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 control, defaulting to the\n * first visible 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 focus along the toolbar's orientation with wrapping arrow-key\n * navigation and Home/End shortcuts.\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 overflow-menu focus with wrapping vertical arrows and Home/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 cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\nexport type ToolbarItemWrapperProps = {\n item: Omit<ToolbarItemProps, \"id\">;\n children: React.ReactNode;\n observerRoot?: Element | null;\n onVisibilityChange?: (isVisible: boolean) => void;\n rootMargin?: string;\n className?: string;\n};\n\n/**\n * Registers controls that no longer fit for collapse overflow and keeps the active\n * control in the toolbar's roving-tabindex pool.\n */\nexport const ToolbarItemWrapper = ({\n item,\n children,\n observerRoot,\n onVisibilityChange,\n rootMargin,\n className,\n}: ToolbarItemWrapperProps) => {\n const { addItem, removeItem, toolbarRef, overflow } =\n useContext(ToolbarContext);\n const itemId = useId();\n const elementRef = useRef<HTMLDivElement | null>(null);\n const isCollapseMode = overflow === \"collapse\";\n const prevIntersectingRef = useRef<boolean>(true);\n\n // Ignore repeated observer reports so overflow registration stays idempotent.\n const handleVisibilityChange = useCallback(\n (isVisible: boolean) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n\n if (onVisibilityChange) {\n onVisibilityChange(isVisible);\n } else if (item) {\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, onVisibilityChange, item, itemId, addItem, removeItem],\n );\n\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? (observerRoot ?? toolbarRef.current) : null,\n threshold: 1,\n initialIsIntersecting: true,\n onChange: handleVisibilityChange,\n rootMargin,\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 const toolbarItemClassName = cx(styles[\"toolbar-item\"], className);\n const isHidden = isCollapseMode && !isIntersecting;\n\n return (\n <div\n ref={setRefCallback}\n className={toolbarItemClassName}\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","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 { 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 input: COMMON_PART.input,\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 ButtonToggle, {\n type ButtonToggleProps,\n} from \"../../../components/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 \"../../../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<ButtonToggleProps, \"aria-label\" | \"children\"> */\ntype ToolbarButtonToggleBaseProps = Omit<\n ButtonToggleProps,\n \"aria-label\" | \"children\"\n> & {\n /** Bypasses toolbar overflow registration for FilterBar-managed controls. */\n isFilter?: boolean;\n};\n\n/** @extends WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> */\nexport type ToolbarButtonToggleProps =\n WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> & DataTrackingId;\n\n/**\n * Toolbar toggle that inherits its size and participates in roving focus and\n * collapse overflow. Icon-only toggles show their `aria-label` in 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, isFilter, ...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 || isFilter) {\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolbarButtonToggle-BDfoHeie.js","sources":["../src/beta/components/Toolbar/internal/ToolbarContext.tsx","../src/beta/components/Toolbar/internal/utils/accessibility.ts","../src/beta/components/Toolbar/internal/ToolbarItemWrapper.tsx","../src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.tsx","../src/beta/components/Toolbar/parts.ts","../src/beta/components/Toolbar/ToolbarButtonToggle.tsx"],"sourcesContent":["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 the toolbar's visible roving-focus controls, followed by its overflow\n * trigger when present.\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 // Exclude focusables that live inside floating content (popovers,\n // dialogs, menus, drawers) or are explicitly aria-hidden. Floating\n // containers using `display: none` / the `popover` API don't propagate\n // their hidden state to descendants via `getComputedStyle`, so we have\n // to detect them structurally.\n const isHidden = !item.closest('[aria-hidden=\"true\"]');\n const isInDrawer = !item.closest('[data-anv=\"filter-group-drawer\"]');\n const isInPopover = !item.closest('[data-anv=\"popover-content\"]');\n const isInDialog = !item.closest(\"dialog\");\n const isNotInMenuContent = !item.closest('[data-anv=\"menu-content\"]');\n // FilterBar's search field manages its own tabindex (always tabbable)\n // instead of participating in the roving-tabindex pool, so it must be\n // excluded here — see FilterSearchField.\n const isNotSearchField = !item.closest(\n '[data-anv=\"filter-search-field\"]',\n );\n return (\n isHidden &&\n isInDrawer &&\n isInPopover &&\n isInDialog &&\n isNotInMenuContent &&\n isNotSearchField\n );\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 control, defaulting to the\n * first visible 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 focus along the toolbar's orientation with wrapping arrow-key\n * navigation and Home/End shortcuts.\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 overflow-menu focus with wrapping vertical arrows and Home/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 cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\nexport type ToolbarItemWrapperProps = {\n item: Omit<ToolbarItemProps, \"id\">;\n children: React.ReactNode;\n observerRoot?: Element | null;\n onVisibilityChange?: (isVisible: boolean) => void;\n rootMargin?: string;\n className?: string;\n};\n\n/**\n * Registers controls that no longer fit for collapse overflow and keeps the active\n * control in the toolbar's roving-tabindex pool.\n */\nexport const ToolbarItemWrapper = ({\n item,\n children,\n observerRoot,\n onVisibilityChange,\n rootMargin,\n className,\n}: ToolbarItemWrapperProps) => {\n const { addItem, removeItem, toolbarRef, overflow } =\n useContext(ToolbarContext);\n const itemId = useId();\n const elementRef = useRef<HTMLDivElement | null>(null);\n const isCollapseMode = overflow === \"collapse\";\n const prevIntersectingRef = useRef<boolean>(true);\n\n // Ignore repeated observer reports so overflow registration stays idempotent.\n const handleVisibilityChange = useCallback(\n (isVisible: boolean) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n\n if (onVisibilityChange) {\n onVisibilityChange(isVisible);\n } else if (item) {\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, onVisibilityChange, item, itemId, addItem, removeItem],\n );\n\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? (observerRoot ?? toolbarRef.current) : null,\n threshold: 1,\n initialIsIntersecting: true,\n onChange: handleVisibilityChange,\n rootMargin,\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 const toolbarItemClassName = cx(styles[\"toolbar-item\"], className);\n const isHidden = isCollapseMode && !isIntersecting;\n\n return (\n <div\n ref={setRefCallback}\n className={toolbarItemClassName}\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","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 { 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 input: COMMON_PART.input,\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 ButtonToggle, {\n type ButtonToggleProps,\n} from \"../../../components/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 \"../../../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<ButtonToggleProps, \"aria-label\" | \"children\"> */\ntype ToolbarButtonToggleBaseProps = Omit<\n ButtonToggleProps,\n \"aria-label\" | \"children\"\n> & {\n /** Bypasses toolbar overflow registration for FilterBar-managed controls. */\n isFilter?: boolean;\n};\n\n/** @extends WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> */\nexport type ToolbarButtonToggleProps =\n WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> & DataTrackingId;\n\n/**\n * Toolbar toggle that inherits its size and participates in roving focus and\n * collapse overflow. Icon-only toggles show their `aria-label` in 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, isFilter, ...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 || isFilter) {\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"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-C0mXwYZL.js';
1
+ export { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-1psUeqtG.js';
2
2
  //# sourceMappingURL=TreeSelectField.js.map
@@ -3,39 +3,39 @@ import { forwardRef, useId, useRef, useState, useCallback, useEffect, useImperat
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { F as FieldMessage } from './FieldMessage-8c9yA_kw.js';
5
5
  import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
6
- import { F as FieldLabel } from './FieldLabel-ThEmUiAq.js';
6
+ import { F as FieldLabel } from './FieldLabel-DYcUS3A4.js';
7
7
  import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
8
- import { b as useAdaptiveView, O as OptionsDialog, a as OptionsPopover, u as useInvalidateOnOptionsChange } from './useInvalidateOnOptionsChange-BD2VBpbK.js';
9
- import { B as Button } from './Button-Dn6-01xl.js';
10
- import { C as Chip } from './Chip-2OydLs66.js';
8
+ import { b as useAdaptiveView, O as OptionsDialog, a as OptionsPopover, u as useInvalidateOnOptionsChange } from './useInvalidateOnOptionsChange-PweyDORd.js';
9
+ import { B as Button } from './Button-B_E6ybA-.js';
10
+ import { C as Chip } from './Chip-AIF0WiNS.js';
11
11
  import { F as Flex } from './Flex-CRF7gj0_.js';
12
12
  import { S as SvgChevronRight } from './chevron_right-BdpsxX7x.js';
13
13
  import { A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
14
- import { P as PARTS, u as useTreeLoader, a as useTree, b as useTreeLazyCascade, f as findNode, T as TreeContent, d as defaultTreeSyncFilter, t as toTreeSyncFilterFn, c as applyChildCounts } from './treeSync-B38r1dRQ.js';
14
+ import { P as PARTS, u as useTreeLoader, a as useTree, b as useTreeLazyCascade, f as findNode, T as TreeContent, d as defaultTreeSyncFilter, t as toTreeSyncFilterFn, c as applyChildCounts } from './treeSync-BDwht_1r.js';
15
15
  import { u as useChipLayout } from './useChipLayout-BBe6Tzyl.js';
16
- import { s as styles$1 } from './SelectTriggerBase.module-mYOfdBGA.js';
16
+ import { s as styles$1 } from './SelectTriggerBase.module-Dt4-6YvC.js';
17
17
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
18
18
 
19
- import './TreeSelectFieldSync.css';const input = "_input_5nu5i_2";
20
- const error = "_error_5nu5i_31";
21
- const disabled = "_disabled_5nu5i_38";
22
- const chip = "_chip_5nu5i_116";
23
- const prefix = "_prefix_5nu5i_183";
24
- const suffix = "_suffix_5nu5i_184";
25
- const small = "_small_5nu5i_212";
26
- const large = "_large_5nu5i_218";
19
+ import './TreeSelectFieldSync.css';const input = "_input_kzwd8_2";
20
+ const error = "_error_kzwd8_31";
21
+ const disabled = "_disabled_kzwd8_38";
22
+ const chip = "_chip_kzwd8_116";
23
+ const prefix = "_prefix_kzwd8_185";
24
+ const suffix = "_suffix_kzwd8_186";
25
+ const small = "_small_kzwd8_214";
26
+ const large = "_large_kzwd8_220";
27
27
  const styles = {
28
- "input-wrapper": "_input-wrapper_5nu5i_2",
28
+ "input-wrapper": "_input-wrapper_kzwd8_2",
29
29
  input: input,
30
30
  error: error,
31
31
  disabled: disabled,
32
- "input-flex": "_input-flex_5nu5i_48",
33
- "rows-wrapper": "_rows-wrapper_5nu5i_96",
34
- "chip-wrapper": "_chip-wrapper_5nu5i_116",
32
+ "input-flex": "_input-flex_kzwd8_48",
33
+ "rows-wrapper": "_rows-wrapper_kzwd8_96",
34
+ "chip-wrapper": "_chip-wrapper_kzwd8_116",
35
35
  chip: chip,
36
- "buttons-wrapper": "_buttons-wrapper_5nu5i_128",
37
- "toggle-button-wrapper": "_toggle-button-wrapper_5nu5i_145",
38
- "toggle-button": "_toggle-button_5nu5i_145",
36
+ "buttons-wrapper": "_buttons-wrapper_kzwd8_128",
37
+ "toggle-button-wrapper": "_toggle-button-wrapper_kzwd8_145",
38
+ "toggle-button": "_toggle-button_kzwd8_145",
39
39
  prefix: prefix,
40
40
  suffix: suffix,
41
41
  small: small,
@@ -647,4 +647,4 @@ const TreeSelectFieldSync = (props) => {
647
647
  TreeSelectFieldSync.displayName = "TreeSelectFieldSync";
648
648
 
649
649
  export { TreeSelectField as T, TreeSelectFieldSync as a };
650
- //# sourceMappingURL=TreeSelectFieldSync-C0mXwYZL.js.map
650
+ //# sourceMappingURL=TreeSelectFieldSync-1psUeqtG.js.map