@servicetitan/anvil2 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +8 -6
  3. package/dist/{AiMark-B1-M3ZgP.js → AiMark-DiMotaq3.js} +3 -3
  4. package/dist/{AiMark-B1-M3ZgP.js.map → AiMark-DiMotaq3.js.map} +1 -1
  5. package/dist/AiMark.css +3 -3
  6. package/dist/AiMark.js +1 -1
  7. package/dist/{Alert-DmbqtMg_.js → Alert-DhhVURcl.js} +2 -2
  8. package/dist/{Alert-DmbqtMg_.js.map → Alert-DhhVURcl.js.map} +1 -1
  9. package/dist/Alert.css +1 -1
  10. package/dist/Alert.js +1 -1
  11. package/dist/Announcement.css +1 -1
  12. package/dist/AnvilProvider.css +1 -2
  13. package/dist/{Avatar-NbFc4Ovc.js → Avatar-BmNcLUg-.js} +2 -2
  14. package/dist/{Avatar-NbFc4Ovc.js.map → Avatar-BmNcLUg-.js.map} +1 -1
  15. package/dist/{Avatar-B4hRHku9.js → Avatar-Cw8B8xZV.js} +2 -2
  16. package/dist/Avatar-Cw8B8xZV.js.map +1 -0
  17. package/dist/Avatar.css +2 -2
  18. package/dist/Avatar.js +2 -2
  19. package/dist/Badge.css +1 -1
  20. package/dist/{Breadcrumbs-CYmciJ1D.js → Breadcrumbs-vvKOtFwN.js} +2 -2
  21. package/dist/{Breadcrumbs-CYmciJ1D.js.map → Breadcrumbs-vvKOtFwN.js.map} +1 -1
  22. package/dist/Breadcrumbs.css +1 -1
  23. package/dist/Breadcrumbs.js +1 -1
  24. package/dist/Button.css +1 -1
  25. package/dist/ButtonCompound.css +1 -1
  26. package/dist/ButtonToggle.css +1 -1
  27. package/dist/{Calendar-BAbAagIx.js → Calendar-BLvBN8Ou.js} +2 -2
  28. package/dist/{Calendar-BAbAagIx.js.map → Calendar-BLvBN8Ou.js.map} +1 -1
  29. package/dist/{Calendar-CaCMa_jq.js → Calendar-Dtn07sfJ.js} +2 -2
  30. package/dist/{Calendar-CaCMa_jq.js.map → Calendar-Dtn07sfJ.js.map} +1 -1
  31. package/dist/Calendar.css +2 -2
  32. package/dist/Calendar.js +2 -2
  33. package/dist/Card.css +1 -1
  34. package/dist/{Checkbox-BSAS8-DM.js → Checkbox-BngBrjEV.js} +3 -3
  35. package/dist/{Checkbox-BSAS8-DM.js.map → Checkbox-BngBrjEV.js.map} +1 -1
  36. package/dist/{Checkbox-Ckl8EFpF.js → Checkbox-lSwl_u26.js} +2 -2
  37. package/dist/{Checkbox-Ckl8EFpF.js.map → Checkbox-lSwl_u26.js.map} +1 -1
  38. package/dist/Checkbox.css +1 -1
  39. package/dist/Checkbox.js +1 -1
  40. package/dist/{Chip-CR5i8mQW.js → Chip-DBn3KRak.js} +3 -3
  41. package/dist/{Chip-CR5i8mQW.js.map → Chip-DBn3KRak.js.map} +1 -1
  42. package/dist/Chip.css +1 -1
  43. package/dist/Chip.js +1 -1
  44. package/dist/{Combobox-BffGTugd.js → Combobox-BqhvHG9H.js} +5 -5
  45. package/dist/{Combobox-BffGTugd.js.map → Combobox-BqhvHG9H.js.map} +1 -1
  46. package/dist/Combobox.css +1 -1
  47. package/dist/Combobox.js +1 -1
  48. package/dist/{DataTable-D9Xj1nq5.js → DataTable-CB-exG-7.js} +1173 -142
  49. package/dist/DataTable-CB-exG-7.js.map +1 -0
  50. package/dist/DataTable.css +274 -118
  51. package/dist/{DateFieldRange-DPTC3EZz.js → DateFieldRange-Ci-OHK6g.js} +4 -4
  52. package/dist/{DateFieldRange-DPTC3EZz.js.map → DateFieldRange-Ci-OHK6g.js.map} +1 -1
  53. package/dist/DateFieldRange.js +1 -1
  54. package/dist/{DateFieldSingle-w1G-zd9G.js → DateFieldSingle-JOEy4kSL.js} +4 -4
  55. package/dist/{DateFieldSingle-w1G-zd9G.js.map → DateFieldSingle-JOEy4kSL.js.map} +1 -1
  56. package/dist/DateFieldSingle.js +1 -1
  57. package/dist/{DateFieldYearless-DHNVc7Sd.js → DateFieldYearless-CIqPup6O.js} +4 -4
  58. package/dist/{DateFieldYearless-DHNVc7Sd.js.map → DateFieldYearless-CIqPup6O.js.map} +1 -1
  59. package/dist/DateFieldYearless.js +1 -1
  60. package/dist/{DateFieldYearlessRange-C5ktVUgG.js → DateFieldYearlessRange-Cf11uZhk.js} +3 -3
  61. package/dist/{DateFieldYearlessRange-C5ktVUgG.js.map → DateFieldYearlessRange-Cf11uZhk.js.map} +1 -1
  62. package/dist/DateFieldYearlessRange.css +1 -1
  63. package/dist/DateFieldYearlessRange.js +1 -1
  64. package/dist/{DaysOfTheWeek-BubWkBZ0.js → DaysOfTheWeek-R2-y7cqh.js} +3 -3
  65. package/dist/{DaysOfTheWeek-BubWkBZ0.js.map → DaysOfTheWeek-R2-y7cqh.js.map} +1 -1
  66. package/dist/DaysOfTheWeek.css +1 -1
  67. package/dist/DaysOfTheWeek.js +1 -1
  68. package/dist/Details.css +1 -1
  69. package/dist/{Dialog-DGmF6qx3.js → Dialog-C3yST7Ly.js} +5 -5
  70. package/dist/Dialog-C3yST7Ly.js.map +1 -0
  71. package/dist/Dialog.css +1 -1
  72. package/dist/Dialog.js +1 -1
  73. package/dist/Divider.css +1 -1
  74. package/dist/Dnd.js +2 -1
  75. package/dist/Dnd.js.map +1 -1
  76. package/dist/DndHandleButton-Dgt9G-dF.js +43 -0
  77. package/dist/DndHandleButton-Dgt9G-dF.js.map +1 -0
  78. package/dist/DndHandleButton.css +22 -0
  79. package/dist/DndSort.css +1 -1
  80. package/dist/DndSort.js +2 -1
  81. package/dist/DndSort.js.map +1 -1
  82. package/dist/{Drawer-iewBy1DW.js → Drawer-CouIrQ8u.js} +6 -6
  83. package/dist/{Drawer-iewBy1DW.js.map → Drawer-CouIrQ8u.js.map} +1 -1
  84. package/dist/Drawer.css +1 -1
  85. package/dist/Drawer.js +1 -1
  86. package/dist/DrillDown.css +1 -1
  87. package/dist/DrillDown.js +1 -1
  88. package/dist/{EditCard-D7-Ye7R0.js → EditCard-DFBjxF9l.js} +2 -2
  89. package/dist/{EditCard-D7-Ye7R0.js.map → EditCard-DFBjxF9l.js.map} +1 -1
  90. package/dist/EditCard.css +1 -1
  91. package/dist/EditCard.js +1 -1
  92. package/dist/{FieldLabel-DZWu5dMp.js → FieldLabel-rHPbiyR3.js} +3 -3
  93. package/dist/{FieldLabel-DZWu5dMp.js.map → FieldLabel-rHPbiyR3.js.map} +1 -1
  94. package/dist/FieldLabel.css +2 -2
  95. package/dist/FieldLabel.js +1 -1
  96. package/dist/FieldMessage.css +1 -1
  97. package/dist/{Toolbar-C1_etxss.js → FilterBar-kVue-bVK.js} +127 -939
  98. package/dist/FilterBar-kVue-bVK.js.map +1 -0
  99. package/dist/FilterBar.css +59 -0
  100. package/dist/FilterBar.d.ts +6 -0
  101. package/dist/FilterBar.js +2 -0
  102. package/dist/FilterBar.js.map +1 -0
  103. package/dist/Flex.css +1 -1
  104. package/dist/Grid.css +1 -1
  105. package/dist/Helper.css +1 -1
  106. package/dist/Icon.css +1 -1
  107. package/dist/{InputMask-EwEJlW-t.js → InputMask-DxbFpzo7.js} +3 -3
  108. package/dist/{InputMask-EwEJlW-t.js.map → InputMask-DxbFpzo7.js.map} +1 -1
  109. package/dist/InputMask.js +1 -1
  110. package/dist/InteractiveCard-KGs2b_al.js +119 -0
  111. package/dist/InteractiveCard-KGs2b_al.js.map +1 -0
  112. package/dist/InteractiveCard.css +22 -29
  113. package/dist/InteractiveCard.js +1 -1
  114. package/dist/Layout.css +1 -1
  115. package/dist/Link.css +1 -1
  116. package/dist/List.css +1 -1
  117. package/dist/{ListView-DBO9Bl1H.js → ListView-CYkuvkAy.js} +2 -2
  118. package/dist/{ListView-DBO9Bl1H.js.map → ListView-CYkuvkAy.js.map} +1 -1
  119. package/dist/ListView.css +1 -1
  120. package/dist/ListView.js +1 -1
  121. package/dist/{Listbox-DDlxpVu9.js → Listbox-BBrsMfO3.js} +2 -2
  122. package/dist/{Listbox-DDlxpVu9.js.map → Listbox-BBrsMfO3.js.map} +1 -1
  123. package/dist/Listbox.css +1 -1
  124. package/dist/Listbox.js +1 -1
  125. package/dist/Menu.css +1 -1
  126. package/dist/MultiSelectField.js +1 -1
  127. package/dist/{MultiSelectFieldSync-DZ3tm7zt.js → MultiSelectFieldSync-BWZQ4MFC.js} +5 -5
  128. package/dist/{MultiSelectFieldSync-DZ3tm7zt.js.map → MultiSelectFieldSync-BWZQ4MFC.js.map} +1 -1
  129. package/dist/MultiSelectFieldSync.css +1 -1
  130. package/dist/MultiSelectMenu.js +1 -1
  131. package/dist/{MultiSelectMenuSync-dgO9SmHi.js → MultiSelectMenuSync-Bl4ty0je.js} +4 -4
  132. package/dist/{MultiSelectMenuSync-dgO9SmHi.js.map → MultiSelectMenuSync-Bl4ty0je.js.map} +1 -1
  133. package/dist/{NumberField-DJbdyatF.js → NumberField-DMHJ2Cyi.js} +4 -5
  134. package/dist/NumberField-DMHJ2Cyi.js.map +1 -0
  135. package/dist/NumberField.css +1 -1
  136. package/dist/NumberField.js +1 -1
  137. package/dist/Overflow.css +2 -2
  138. package/dist/Overflow.js +1 -1
  139. package/dist/{Page-Be1Blwme.js → Page-Blw4TE5J.js} +9 -9
  140. package/dist/{Page-Be1Blwme.js.map → Page-Blw4TE5J.js.map} +1 -1
  141. package/dist/Page.css +1 -1
  142. package/dist/Page.js +1 -1
  143. package/dist/{Pagination-USDJM5vi.js → Pagination-DYNH3WeU.js} +2 -2
  144. package/dist/{Pagination-USDJM5vi.js.map → Pagination-DYNH3WeU.js.map} +1 -1
  145. package/dist/Pagination.css +6 -6
  146. package/dist/Pagination.js +1 -1
  147. package/dist/{Popover-CyB7yzSf.js → Popover-C_XdNvAZ.js} +2 -2
  148. package/dist/{Popover-CyB7yzSf.js.map → Popover-C_XdNvAZ.js.map} +1 -1
  149. package/dist/Popover.css +1 -1
  150. package/dist/Popover.js +1 -1
  151. package/dist/{ProgressBar-DSrjgLTx.js → ProgressBar-BwHaAD25.js} +2 -2
  152. package/dist/{ProgressBar-DSrjgLTx.js.map → ProgressBar-BwHaAD25.js.map} +1 -1
  153. package/dist/ProgressBar.css +1 -1
  154. package/dist/ProgressBar.js +1 -1
  155. package/dist/{Radio-CQaXJ72d.js → Radio-DJ6KgfcS.js} +2 -2
  156. package/dist/{Radio-CQaXJ72d.js.map → Radio-DJ6KgfcS.js.map} +1 -1
  157. package/dist/{Radio-DO4UhbBE.js → Radio-IksHWkBl.js} +3 -3
  158. package/dist/{Radio-DO4UhbBE.js.map → Radio-IksHWkBl.js.map} +1 -1
  159. package/dist/Radio.css +1 -1
  160. package/dist/Radio.js +1 -1
  161. package/dist/RichTextEditor-C_Boj8QP.js +30852 -0
  162. package/dist/RichTextEditor-C_Boj8QP.js.map +1 -0
  163. package/dist/RichTextEditor.css +178 -0
  164. package/dist/RichTextEditor.d.ts +2 -0
  165. package/dist/RichTextEditor.js +2 -0
  166. package/dist/RichTextEditor.js.map +1 -0
  167. package/dist/{SearchField-CsRGYZx3.js → SearchField-BKJOW-vI.js} +3 -10
  168. package/dist/SearchField-BKJOW-vI.js.map +1 -0
  169. package/dist/SearchField-BplvDpBG.js +13 -0
  170. package/dist/SearchField-BplvDpBG.js.map +1 -0
  171. package/dist/SearchField.css +1 -1
  172. package/dist/SearchField.js +1 -1
  173. package/dist/SegmentedControl.css +1 -1
  174. package/dist/{SelectCard-CtXwY8FZ.js → SelectCard-E-13CjHS.js} +3 -3
  175. package/dist/{SelectCard-CtXwY8FZ.js.map → SelectCard-E-13CjHS.js.map} +1 -1
  176. package/dist/SelectCard.css +1 -1
  177. package/dist/SelectCard.js +1 -1
  178. package/dist/SelectField.js +1 -1
  179. package/dist/{SelectFieldLabel-DLT5dKbx.js → SelectFieldLabel-C-MrQm-n.js} +2 -2
  180. package/dist/{SelectFieldLabel-DLT5dKbx.js.map → SelectFieldLabel-C-MrQm-n.js.map} +1 -1
  181. package/dist/{SelectFieldSync-C44hPeeS.js → SelectFieldSync-BbJFd_bV.js} +4 -4
  182. package/dist/{SelectFieldSync-C44hPeeS.js.map → SelectFieldSync-BbJFd_bV.js.map} +1 -1
  183. package/dist/SelectMenu.js +1 -1
  184. package/dist/{SelectMenuSync-V97oN85V.js → SelectMenuSync-CBMdmGTU.js} +4 -4
  185. package/dist/{SelectMenuSync-V97oN85V.js.map → SelectMenuSync-CBMdmGTU.js.map} +1 -1
  186. package/dist/{SelectOptions-CDoo4AUu.js → SelectOptions-BT9OCfPh.js} +2 -2
  187. package/dist/{SelectOptions-CDoo4AUu.js.map → SelectOptions-BT9OCfPh.js.map} +1 -1
  188. package/dist/{SelectTrigger-BWN3Tx43.js → SelectTrigger-DtyxYDzP.js} +3 -3
  189. package/dist/{SelectTrigger-BWN3Tx43.js.map → SelectTrigger-DtyxYDzP.js.map} +1 -1
  190. package/dist/SelectTrigger.js +1 -1
  191. package/dist/{SelectTriggerBase-Do7lQ5rw.js → SelectTriggerBase-Xwq929Wr.js} +3 -3
  192. package/dist/{SelectTriggerBase-Do7lQ5rw.js.map → SelectTriggerBase-Xwq929Wr.js.map} +1 -1
  193. package/dist/SelectTriggerBase.css +1 -1
  194. package/dist/SideNav.css +1 -1
  195. package/dist/Skeleton.css +1 -1
  196. package/dist/Spinner.css +1 -1
  197. package/dist/SrOnly.css +1 -1
  198. package/dist/StatusIcon.css +1 -1
  199. package/dist/Stepper.css +4 -4
  200. package/dist/{Switch-DeBu4Ucg.js → Switch-CElshQ9N.js} +2 -2
  201. package/dist/{Switch-DeBu4Ucg.js.map → Switch-CElshQ9N.js.map} +1 -1
  202. package/dist/Switch.css +1 -1
  203. package/dist/Switch.js +1 -1
  204. package/dist/Tab.css +1 -1
  205. package/dist/Table.js +1 -1
  206. package/dist/{Text-J5YtSSXY.js → Text-C0F8AkvH.js} +5 -5
  207. package/dist/Text-C0F8AkvH.js.map +1 -0
  208. package/dist/Text.css +1 -1
  209. package/dist/Text.js +1 -1
  210. package/dist/{TextField-CRDTnuUN.js → TextField-CLZEj0aI.js} +3 -3
  211. package/dist/{TextField-CRDTnuUN.js.map → TextField-CLZEj0aI.js.map} +1 -1
  212. package/dist/{TextField-YlMkDHp-.js → TextField-yL52fx5R.js} +2 -2
  213. package/dist/{TextField-YlMkDHp-.js.map → TextField-yL52fx5R.js.map} +1 -1
  214. package/dist/TextField.css +1 -1
  215. package/dist/TextField.js +1 -1
  216. package/dist/{Textarea-CxXmr_Gx.js → Textarea-CGgyvnM8.js} +3 -3
  217. package/dist/{Textarea-CxXmr_Gx.js.map → Textarea-CGgyvnM8.js.map} +1 -1
  218. package/dist/Textarea.css +1 -1
  219. package/dist/Textarea.js +1 -1
  220. package/dist/ThemeProvider.css +0 -1
  221. package/dist/{TimeField-DTg0CE5L.js → TimeField-BEvxjjFp.js} +4 -4
  222. package/dist/{TimeField-DTg0CE5L.js.map → TimeField-BEvxjjFp.js.map} +1 -1
  223. package/dist/TimeField.css +1 -1
  224. package/dist/TimeField.js +1 -1
  225. package/dist/TimezoneMessage.css +1 -1
  226. package/dist/Toast.js +2 -2
  227. package/dist/{Toaster-Bq42x6Gx.js → Toaster-DllJAOK8.js} +3 -3
  228. package/dist/{Toaster-Bq42x6Gx.js.map → Toaster-DllJAOK8.js.map} +1 -1
  229. package/dist/{Toaster-Dly3rfva.js → Toaster-DuadB8pq.js} +2 -2
  230. package/dist/{Toaster-Dly3rfva.js.map → Toaster-DuadB8pq.js.map} +1 -1
  231. package/dist/Toaster.css +1 -1
  232. package/dist/Toolbar-J5cakHba.js +588 -0
  233. package/dist/Toolbar-J5cakHba.js.map +1 -0
  234. package/dist/Toolbar-QYRQv45Y.js +780 -0
  235. package/dist/Toolbar-QYRQv45Y.js.map +1 -0
  236. package/dist/Toolbar.css +2 -96
  237. package/dist/Toolbar.js +2 -1
  238. package/dist/Toolbar.js.map +1 -1
  239. package/dist/{index2.css → Toolbar2.css} +1 -1
  240. package/dist/ToolbarButtonToggle-Ch0SH4oH.js +285 -0
  241. package/dist/ToolbarButtonToggle-Ch0SH4oH.js.map +1 -0
  242. package/dist/ToolbarButtonToggle.css +41 -0
  243. package/dist/{Tooltip-BlStOXN3.js → Tooltip-lBmgi5ZB.js} +7 -6
  244. package/dist/Tooltip-lBmgi5ZB.js.map +1 -0
  245. package/dist/Tooltip.css +7 -6
  246. package/dist/Tooltip.js +1 -1
  247. package/dist/{YearlessDateInputWithPicker-DyytWt0x.js → YearlessDateInputWithPicker-DryLX8sA.js} +2 -2
  248. package/dist/{YearlessDateInputWithPicker-DyytWt0x.js.map → YearlessDateInputWithPicker-DryLX8sA.js.map} +1 -1
  249. package/dist/YearlessDateInputWithPicker.css +2 -2
  250. package/dist/add-BcQkAUip.js +6 -0
  251. package/dist/add-BcQkAUip.js.map +1 -0
  252. package/dist/assets/css-utils/a2-border.css +23 -53
  253. package/dist/assets/css-utils/a2-color.css +221 -449
  254. package/dist/assets/css-utils/a2-font.css +21 -47
  255. package/dist/assets/css-utils/a2-spacing.css +238 -481
  256. package/dist/assets/css-utils/a2-utils.css +497 -1002
  257. package/dist/assets/css-utils/border.css +23 -53
  258. package/dist/assets/css-utils/color.css +221 -449
  259. package/dist/assets/css-utils/font.css +21 -47
  260. package/dist/assets/css-utils/spacing.css +238 -481
  261. package/dist/assets/css-utils/utils.css +497 -1002
  262. package/dist/assets/icons/st/unsorted.svg +1 -1
  263. package/dist/beta/components/FilterBar/FilterBar.d.ts +87 -0
  264. package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterToggleButton.d.ts +1 -1
  265. package/dist/beta/components/FilterBar/index.d.ts +3 -0
  266. package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/FilterGroupContext.d.ts +5 -5
  267. package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/types.d.ts +2 -2
  268. package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/utils/test.d.ts +1 -0
  269. package/dist/beta/components/InteractiveCard/InteractiveCard.d.ts +3 -1
  270. package/dist/beta/components/RichTextEditor/RichTextEditor.d.ts +27 -0
  271. package/dist/beta/components/RichTextEditor/index.d.ts +2 -0
  272. package/dist/beta/components/RichTextEditor/internal/LinkPopover.d.ts +14 -0
  273. package/dist/beta/components/RichTextEditor/internal/MentionList.d.ts +14 -0
  274. package/dist/beta/components/RichTextEditor/internal/MentionNodeView.d.ts +11 -0
  275. package/dist/beta/components/RichTextEditor/internal/MentionPopover.d.ts +16 -0
  276. package/dist/beta/components/RichTextEditor/internal/RichTextEditorContext.d.ts +57 -0
  277. package/dist/beta/components/RichTextEditor/internal/RichTextEditorDragHandle.d.ts +6 -0
  278. package/dist/beta/components/RichTextEditor/internal/RichTextEditorMockData.d.ts +8 -0
  279. package/dist/beta/components/RichTextEditor/internal/RichTextEditorProvider.d.ts +8 -0
  280. package/dist/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  281. package/dist/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +11 -0
  282. package/dist/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +11 -0
  283. package/dist/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +3 -0
  284. package/dist/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +8 -0
  285. package/dist/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +18 -0
  286. package/dist/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +8 -0
  287. package/dist/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +32 -0
  288. package/dist/beta/components/RichTextEditor/types.d.ts +103 -0
  289. package/dist/beta/components/Table/DataTable/DataTable.d.ts +40 -1
  290. package/dist/beta/components/Table/DataTable/internal/DataTableBody.d.ts +22 -0
  291. package/dist/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +18 -1
  292. package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +16 -0
  293. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +8 -0
  294. package/dist/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +49 -0
  295. package/dist/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +9 -5
  296. package/dist/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +3 -0
  297. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +13 -1
  298. package/dist/beta/components/Table/createColumnHelper.d.ts +48 -22
  299. package/dist/beta/components/Table/internal/getCommonPinningClasses.d.ts +1 -1
  300. package/dist/beta/components/Table/types.d.ts +311 -7
  301. package/dist/beta/components/Toolbar/Toolbar.d.ts +0 -54
  302. package/dist/beta/components/Toolbar/index.d.ts +0 -1
  303. package/dist/beta/components/index.d.ts +2 -0
  304. package/dist/beta.js +13 -10
  305. package/dist/beta.js.map +1 -1
  306. package/dist/components/Toolbar/internal/utils/accessibility.d.ts +5 -0
  307. package/dist/getKeyboardFocusableElements-B_U9rt6y.js +11 -0
  308. package/dist/getKeyboardFocusableElements-B_U9rt6y.js.map +1 -0
  309. package/dist/index-DUzqzmOX.js +17044 -0
  310. package/dist/index-DUzqzmOX.js.map +1 -0
  311. package/dist/index-DtsM4pjR.js +71 -0
  312. package/dist/index-DtsM4pjR.js.map +1 -0
  313. package/dist/index.css +1 -22
  314. package/dist/index.js +49 -813
  315. package/dist/index.js.map +1 -1
  316. package/dist/internal/components/Surface/Surface.d.ts +141 -0
  317. package/dist/internal/components/Surface/index.d.ts +1 -0
  318. package/dist/internal/components/index.d.ts +1 -0
  319. package/dist/internal/functions/getKeyboardFocusableElements.d.ts +11 -0
  320. package/dist/{stripInlineMarkdown-BWbMy7r_.js → stripInlineMarkdown-BOi-eJO3.js} +2 -2
  321. package/dist/{stripInlineMarkdown-BWbMy7r_.js.map → stripInlineMarkdown-BOi-eJO3.js.map} +1 -1
  322. package/dist/{syncFilterUtils-BLcRXQfd.js → syncFilterUtils-Gvm81gyv.js} +5 -5
  323. package/dist/{syncFilterUtils-BLcRXQfd.js.map → syncFilterUtils-Gvm81gyv.js.map} +1 -1
  324. package/dist/syncFilterUtils.css +4 -4
  325. package/dist/token/core/css-utils/a2-border.css +0 -30
  326. package/dist/token/core/css-utils/a2-color.css +0 -228
  327. package/dist/token/core/css-utils/a2-font.css +1 -27
  328. package/dist/token/core/css-utils/a2-spacing.css +1 -244
  329. package/dist/token/core/css-utils/a2-utils.css +0 -505
  330. package/dist/token/core/css-utils/border.css +0 -30
  331. package/dist/token/core/css-utils/color.css +0 -228
  332. package/dist/token/core/css-utils/font.css +1 -27
  333. package/dist/token/core/css-utils/spacing.css +1 -244
  334. package/dist/token/core/css-utils/utils.css +0 -505
  335. package/dist/{useDrilldown-D5WWJRU2.js → useDrilldown-6SfknQ2s.js} +3 -3
  336. package/dist/{useDrilldown-D5WWJRU2.js.map → useDrilldown-6SfknQ2s.js.map} +1 -1
  337. package/dist/{useInitialFocus-BUxEDMEG.js → useInitialFocus-BIvXK1Rp.js} +2 -2
  338. package/dist/{useInitialFocus-BUxEDMEG.js.map → useInitialFocus-BIvXK1Rp.js.map} +1 -1
  339. package/dist/{usePopoverTransitionStates-CDXCdyKa.js → usePopoverTransitionStates-B1opfxxn.js} +1 -2
  340. package/dist/{usePopoverTransitionStates-CDXCdyKa.js.map → usePopoverTransitionStates-B1opfxxn.js.map} +1 -1
  341. package/dist/{useToggleSelection-D_2qS0P1.js → useToggleSelection-odFvSS5t.js} +2 -2
  342. package/dist/{useToggleSelection-D_2qS0P1.js.map → useToggleSelection-odFvSS5t.js.map} +1 -1
  343. package/package.json +26 -11
  344. package/dist/Avatar-B4hRHku9.js.map +0 -1
  345. package/dist/DataTable-D9Xj1nq5.js.map +0 -1
  346. package/dist/Dialog-DGmF6qx3.js.map +0 -1
  347. package/dist/InteractiveCard-CnW0m_F-.js +0 -87
  348. package/dist/InteractiveCard-CnW0m_F-.js.map +0 -1
  349. package/dist/NumberField-DJbdyatF.js.map +0 -1
  350. package/dist/SearchField-CsRGYZx3.js.map +0 -1
  351. package/dist/Text-J5YtSSXY.js.map +0 -1
  352. package/dist/Toolbar-C1_etxss.js.map +0 -1
  353. package/dist/Tooltip-BlStOXN3.js.map +0 -1
  354. package/dist/beta/components/Toolbar/Filters/FilterGroup.d.ts +0 -25
  355. package/dist/getKeyboardFocusableElements-QqcABz0D.js +0 -12
  356. package/dist/getKeyboardFocusableElements-QqcABz0D.js.map +0 -1
  357. package/dist/index-ByMdotWU.js +0 -107
  358. package/dist/index-ByMdotWU.js.map +0 -1
  359. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterButton.d.ts +0 -0
  360. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDateRange.d.ts +0 -0
  361. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDateSingle.d.ts +0 -0
  362. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDrawer.d.ts +0 -0
  363. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterItemWrapper.d.ts +0 -0
  364. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterSelect.d.ts +0 -0
  365. /package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/utils/filter-state.d.ts +0 -0
@@ -1,40 +1,33 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useState, useEffect, useContext, createContext, useId, useRef, useCallback, forwardRef, useMemo } from 'react';
4
- import { B as Button } from './Button-Bnt8XUI7.js';
5
- import { T as Tooltip } from './Tooltip-BlStOXN3.js';
6
- import { g as getKeyboardFocusableElements } from './getKeyboardFocusableElements-QqcABz0D.js';
7
- import { c as cx } from './index-De1g9FRV.js';
8
- import { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';
9
- import { useTrackingId } from './useTrackingId.js';
10
- import { B as ButtonToggle } from './ButtonToggle-Ct9_5bhC.js';
11
- import { B as ButtonLink } from './ButtonLink-j3h_wRNi.js';
12
- import { S as SvgArrowDropDown } from './arrow_drop_down-ChAdBDux.js';
13
- import { L as Listbox } from './Listbox-DDlxpVu9.js';
14
- import { P as Popover } from './AiMark-B1-M3ZgP.js';
15
- import { F as Flex } from './Flex-DOUtHiPi.js';
16
- import { S as SvgMoreHoriz } from './more_horiz-DJgdQiy0.js';
17
- import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
18
- import { I as Icon } from './Icon-BMMbp40n.js';
3
+ import { useState, useEffect, createContext, useContext, useCallback, useMemo, useRef, forwardRef } from 'react';
19
4
  import { S as SvgClose } from './close-DZj38AEh.js';
5
+ import { b as ToolbarItemWrapper, T as ToolbarButtonToggle, a as useToolbarSize, d as updateToolbarItemsTabIndex, e as handleToolbarKeyDown, c as ToolbarContext } from './ToolbarButtonToggle-Ch0SH4oH.js';
6
+ import { B as Button } from './Button-Bnt8XUI7.js';
20
7
  import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
21
8
  import { S as SvgEvent } from './TimezoneMessage-BrKB_psP.js';
22
9
  import { D as DateTime } from './luxon-wpz4A-OQ.js';
23
- import { C as Chip } from './Chip-CR5i8mQW.js';
24
- import { t as tabbable } from './usePopoverTransitionStates-CDXCdyKa.js';
25
- import { L as ListView } from './ListView-DBO9Bl1H.js';
26
- import { S as SearchField, a as SvgSearch, b as SearchField$1 } from './SearchField-CsRGYZx3.js';
27
- import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-w1G-zd9G.js';
28
- import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-DPTC3EZz.js';
29
- import { C as Checkbox } from './Checkbox-Ckl8EFpF.js';
30
- import { R as Radio } from './Radio-CQaXJ72d.js';
31
- import { C as Combobox } from './Combobox-BffGTugd.js';
32
- import { D as Drawer } from './Drawer-iewBy1DW.js';
10
+ import { C as Chip } from './Chip-DBn3KRak.js';
11
+ import { t as tabbable } from './usePopoverTransitionStates-B1opfxxn.js';
12
+ import { L as Listbox } from './Listbox-BBrsMfO3.js';
13
+ import { L as ListView } from './ListView-CYkuvkAy.js';
14
+ import { S as SearchField } from './SearchField-BplvDpBG.js';
15
+ import { F as Flex } from './Flex-DOUtHiPi.js';
16
+ import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-JOEy4kSL.js';
17
+ import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-Ci-OHK6g.js';
18
+ import { c as cx } from './index-De1g9FRV.js';
19
+ import { P as Popover } from './AiMark-DiMotaq3.js';
20
+ import { a as SvgSearch } from './SearchField-BKJOW-vI.js';
21
+ import { C as Checkbox } from './Checkbox-lSwl_u26.js';
22
+ import { R as Radio } from './Radio-DJ6KgfcS.js';
23
+ import { C as Combobox } from './Combobox-BqhvHG9H.js';
24
+ import { B as ButtonToggle } from './ButtonToggle-Ct9_5bhC.js';
25
+ import { D as Drawer } from './Drawer-CouIrQ8u.js';
33
26
  import { d as BreakpointSm, c as BreakpointMd, b as BreakpointLg, a as BreakpointXl, B as BreakpointXxl } from './primitive-DXlHdTFb.js';
34
- import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
35
27
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
28
+ import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
36
29
 
37
- import './Toolbar.css';function containerBreakpoint(containerWidth, name, min, max) {
30
+ import './FilterBar.css';function containerBreakpoint(containerWidth, name, min, max) {
38
31
  if ((min == null || containerWidth >= min) && (max == null || containerWidth < max)) {
39
32
  return {
40
33
  name,
@@ -84,571 +77,15 @@ const useContainerQuery = (containerRef, props) => {
84
77
  return size;
85
78
  };
86
79
 
87
- const OverflowItemContext = createContext({
88
- isInOverflowMenu: false
89
- });
90
- const useOverFlowItemContext = () => useContext(OverflowItemContext);
91
-
92
- const ToolbarContext = createContext({
93
- overflowItems: [],
94
- addItem: () => {
95
- return;
96
- },
97
- removeItem: () => {
98
- return;
99
- },
100
- toolbarRef: { current: null },
101
- orderedIds: [],
102
- overflow: "wrap",
103
- size: "xsmall"
104
- });
105
- const useToolbarSize = () => useContext(ToolbarContext).size;
106
-
107
- function getToolbarElements(toolbarElement) {
108
- const toolbarContent = toolbarElement.querySelector(
109
- '[data-anv="toolbar-content"]'
110
- );
111
- const mainItems = getKeyboardFocusableElements(toolbarContent).filter(
112
- (item) => {
113
- const isHidden = !item.closest('[aria-hidden="true"]');
114
- const isInDrawer = !item.closest('[data-anv="filter-group-drawer"]');
115
- const isInPopover = !item.closest('[data-anv="popover-content"]');
116
- return isHidden && isInDrawer && isInPopover;
117
- }
118
- );
119
- const overflowTrigger = toolbarElement.querySelector(
120
- '[data-anv="toolbar-overflow-trigger"]'
121
- );
122
- return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;
123
- }
124
- function updateToolbarItemsTabIndex(toolbarElement, activeItem) {
125
- if (!toolbarElement) return;
126
- const items = getToolbarElements(toolbarElement);
127
- if (!items.length) return;
128
- let activeIndex = 0;
129
- if (typeof activeItem === "number") {
130
- activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));
131
- } else if (activeItem instanceof Element) {
132
- const foundIndex = items.indexOf(activeItem);
133
- if (foundIndex !== -1) {
134
- activeIndex = foundIndex;
135
- }
136
- }
137
- items.forEach((item, index) => {
138
- item.setAttribute("tabindex", index === activeIndex ? "0" : "-1");
139
- });
140
- return items[activeIndex];
141
- }
142
- function handleToolbarKeyDown(event, toolbarElement) {
143
- if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;
144
- const items = getToolbarElements(toolbarElement);
145
- if (!items.length) return;
146
- const activeElement = event.target;
147
- if (!toolbarElement.contains(activeElement)) return;
148
- const activeItem = items.find(
149
- (item) => item === activeElement || Array.from(item.children).some((child) => child === activeElement)
150
- );
151
- const activeIndex = activeItem ? items.indexOf(activeItem) : -1;
152
- if (activeIndex === -1) return;
153
- let nextIndex = activeIndex;
154
- const isVertical = toolbarElement.getAttribute("aria-orientation") === "vertical";
155
- switch (event.key) {
156
- case "ArrowLeft":
157
- case "ArrowUp":
158
- event.preventDefault();
159
- if (isVertical && event.key === "ArrowUp" || !isVertical && event.key === "ArrowLeft") {
160
- nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;
161
- }
162
- break;
163
- case "ArrowRight":
164
- case "ArrowDown":
165
- event.preventDefault();
166
- if (isVertical && event.key === "ArrowDown" || !isVertical && event.key === "ArrowRight") {
167
- nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;
168
- }
169
- break;
170
- case "Home":
171
- event.preventDefault();
172
- nextIndex = 0;
173
- break;
174
- case "End":
175
- event.preventDefault();
176
- nextIndex = items.length - 1;
177
- break;
178
- default:
179
- return;
180
- }
181
- updateToolbarItemsTabIndex(toolbarElement, nextIndex);
182
- items[nextIndex]?.focus();
183
- }
184
- const handleMenuKeyboardNavigation = (event) => {
185
- const menuItems = Array.from(
186
- event.currentTarget.querySelectorAll('[role="menuitem"]')
187
- ).map((menuItem) => {
188
- return getKeyboardFocusableElements(menuItem)[0] || menuItem;
189
- });
190
- if (!menuItems.length) return;
191
- const currentIndex = menuItems.indexOf(document.activeElement);
192
- if (currentIndex === -1) return;
193
- let nextIndex = currentIndex;
194
- const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;
195
- if (isModifierKey) return;
196
- switch (event.key) {
197
- case "ArrowDown":
198
- case "ArrowUp": {
199
- event.preventDefault();
200
- const direction = event.key === "ArrowDown" ? 1 : -1;
201
- nextIndex = (currentIndex + direction + menuItems.length) % menuItems.length;
202
- break;
203
- }
204
- case "Home":
205
- event.preventDefault();
206
- nextIndex = 0;
207
- break;
208
- case "End":
209
- event.preventDefault();
210
- nextIndex = menuItems.length - 1;
211
- break;
212
- default:
213
- return;
214
- }
215
- menuItems[nextIndex]?.focus();
216
- };
217
-
218
- const toolbar = "_toolbar_t4zws_1";
219
- const styles$3 = {
220
- toolbar: toolbar,
221
- "toolbar-item": "_toolbar-item_t4zws_8",
222
- "toolbar-button-item": "_toolbar-button-item_t4zws_9",
223
- "toolbar-overflow-trigger": "_toolbar-overflow-trigger_t4zws_10",
224
- "toolbar-content": "_toolbar-content_t4zws_14",
225
- "overflow-wrap": "_overflow-wrap_t4zws_20",
226
- "overflow-collapse": "_overflow-collapse_t4zws_24",
227
- "toolbar-overflow-content": "_toolbar-overflow-content_t4zws_32",
228
- "toolbar-button-toggle-item": "_toolbar-button-toggle-item_t4zws_49"
229
- };
230
-
231
- const ToolbarItemWrapper = ({
232
- item,
233
- children,
234
- observerRoot,
235
- onVisibilityChange,
236
- rootMargin,
237
- className
238
- }) => {
239
- const { addItem, removeItem, toolbarRef, overflow } = useContext(ToolbarContext);
240
- const itemId = useId();
241
- const elementRef = useRef(null);
242
- const isCollapseMode = overflow === "collapse";
243
- const prevIntersectingRef = useRef(true);
244
- const handleVisibilityChange = useCallback(
245
- (isVisible) => {
246
- if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;
247
- if (onVisibilityChange) {
248
- onVisibilityChange(isVisible);
249
- } else if (item) {
250
- const itemWithId = { ...item, id: itemId };
251
- if (isVisible) {
252
- removeItem(itemWithId);
253
- } else {
254
- addItem(itemWithId);
255
- }
256
- }
257
- prevIntersectingRef.current = isVisible;
258
- },
259
- [isCollapseMode, onVisibilityChange, item, itemId, addItem, removeItem]
260
- );
261
- const { isIntersecting, ref } = useIntersectionObserver({
262
- root: isCollapseMode ? observerRoot ?? toolbarRef.current : null,
263
- threshold: 1,
264
- initialIsIntersecting: true,
265
- // Start as visible
266
- onChange: handleVisibilityChange,
267
- rootMargin
268
- });
269
- const setRefCallback = useCallback(
270
- (node) => {
271
- elementRef.current = node;
272
- if (isCollapseMode) {
273
- ref(node);
274
- }
275
- },
276
- [ref, isCollapseMode]
277
- );
278
- const handleFocusOrClick = useCallback(() => {
279
- if (!toolbarRef.current || !elementRef.current) return;
280
- const currentElement = elementRef.current.querySelector("button, a, input");
281
- if (!currentElement) return;
282
- updateToolbarItemsTabIndex(toolbarRef.current, currentElement);
283
- }, [toolbarRef]);
284
- useEffect(() => {
285
- const interactiveEl = elementRef.current?.querySelector("button, a, input");
286
- if (!interactiveEl) return;
287
- interactiveEl.addEventListener("focus", handleFocusOrClick);
288
- interactiveEl.addEventListener("click", handleFocusOrClick);
289
- return () => {
290
- interactiveEl.removeEventListener("focus", handleFocusOrClick);
291
- interactiveEl.removeEventListener("click", handleFocusOrClick);
292
- };
293
- }, [handleFocusOrClick]);
294
- const toolbarItemClassName = cx(styles$3["toolbar-item"], className);
295
- const isHidden = isCollapseMode && !isIntersecting;
296
- return /* @__PURE__ */ jsx(
297
- "div",
298
- {
299
- ref: setRefCallback,
300
- className: toolbarItemClassName,
301
- style: { visibility: isHidden ? "hidden" : "visible" },
302
- "aria-hidden": isHidden,
303
- ...{ inert: isHidden ? "" : void 0 },
304
- "data-id": itemId,
305
- "data-anv": "toolbar-item",
306
- children
307
- }
308
- );
309
- };
310
-
311
- const ToolbarButton = forwardRef(
312
- (props, _ref) => {
313
- const { appearance = "ghost", className, children, ...rest } = props;
314
- const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
315
- const size = useToolbarSize();
316
- const trackingId = useTrackingId({
317
- name: "ToolbarButton",
318
- data: {
319
- disabled: props.disabled,
320
- "aria-label": props["aria-label"],
321
- children: props.children
322
- },
323
- hasOverride: !!props["data-tracking-id"]
324
- });
325
- const buttonClassNames = cx(className, styles$3["toolbar-button-item"]);
326
- const item = children ? /* @__PURE__ */ jsx(
327
- Button,
328
- {
329
- "data-tracking-id": trackingId,
330
- appearance,
331
- size,
332
- "data-anv": "toolbar-button",
333
- className: buttonClassNames,
334
- ...rest,
335
- children
336
- }
337
- ) : /* @__PURE__ */ jsxs(Tooltip, { children: [
338
- /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
339
- Button,
340
- {
341
- "data-tracking-id": trackingId,
342
- appearance,
343
- size,
344
- "data-anv": "toolbar-button",
345
- className: buttonClassNames,
346
- ...rest
347
- }
348
- ) }),
349
- /* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
350
- ] });
351
- if (isInOverflowMenu) {
352
- return item;
353
- }
354
- return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "button" }, children: item });
355
- }
356
- );
357
- ToolbarButton.displayName = "ToolbarButton";
358
-
359
- const ToolbarButtonToggle = forwardRef((props, _ref) => {
360
- const { className, children, isFilter, ...rest } = props;
361
- const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
362
- const size = useToolbarSize();
363
- const trackingId = useTrackingId({
364
- name: "ToolbarButtonToggle",
365
- data: {
366
- checked: props.checked,
367
- disabled: props.disabled,
368
- "aria-label": props["aria-label"],
369
- children: props.children
370
- },
371
- hasOverride: !!props["data-tracking-id"]
372
- });
373
- const buttonToggleClassNames = cx(
374
- className,
375
- styles$3["toolbar-button-item"],
376
- styles$3["toolbar-button-toggle-item"]
377
- );
378
- const item = children ? /* @__PURE__ */ jsx(
379
- ButtonToggle,
380
- {
381
- "data-tracking-id": trackingId,
382
- size,
383
- "data-anv": "toolbar-button-toggle",
384
- className: buttonToggleClassNames,
385
- ...rest,
386
- children
387
- }
388
- ) : /* @__PURE__ */ jsxs(Tooltip, { children: [
389
- /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
390
- ButtonToggle,
391
- {
392
- "data-tracking-id": trackingId,
393
- size,
394
- "data-anv": "toolbar-button-toggle",
395
- className: buttonToggleClassNames,
396
- ...rest
397
- }
398
- ) }),
399
- /* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
400
- ] });
401
- if (isInOverflowMenu || isFilter) {
402
- return item;
403
- }
404
- return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonToggle" }, children: item });
405
- });
406
- ToolbarButtonToggle.displayName = "ToolbarButtonToggle";
407
-
408
- const ToolbarButtonLink = forwardRef((props, _ref) => {
409
- const { appearance = "ghost", className, children, ...rest } = props;
410
- const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
411
- const size = useToolbarSize();
412
- const trackingId = useTrackingId({
413
- name: "ToolbarButtonLink",
414
- data: {
415
- href: props.href,
416
- disabled: props.disabled,
417
- "aria-label": props["aria-label"],
418
- children: props.children,
419
- target: props.target
420
- },
421
- hasOverride: !!props["data-tracking-id"]
422
- });
423
- const buttonLinkClassNames = cx(className, styles$3["toolbar-button-item"]);
424
- const item = children ? /* @__PURE__ */ jsx(
425
- ButtonLink,
426
- {
427
- "data-tracking-id": trackingId,
428
- appearance,
429
- size,
430
- "data-anv": "toolbar-button-link",
431
- className: buttonLinkClassNames,
432
- ...rest,
433
- children
434
- }
435
- ) : /* @__PURE__ */ jsxs(Tooltip, { children: [
436
- /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
437
- ButtonLink,
438
- {
439
- "data-tracking-id": trackingId,
440
- appearance,
441
- size,
442
- "data-anv": "toolbar-button-link",
443
- className: buttonLinkClassNames,
444
- ...rest
445
- }
446
- ) }),
447
- /* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
448
- ] });
449
- if (isInOverflowMenu) {
450
- return item;
451
- }
452
- return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonLink" }, children: item });
453
- });
454
- ToolbarButtonLink.displayName = "ToolbarButtonLink";
455
-
456
- const ToolbarSelect = forwardRef(
457
- (props, _ref) => {
458
- const {
459
- appearance = "ghost",
460
- onChange,
461
- selected: selectedItemId,
462
- accessibleLabel,
463
- className,
464
- items,
465
- ...rest
466
- } = props;
467
- const selectId = useId();
468
- const [isPopoverOpen, setIsPopoverOpen] = useState(false);
469
- const defaultId = items.length > 0 ? items[0].id : "";
470
- const [internalSelectedId, setInternalSelectedId] = useState(defaultId);
471
- const selectedId = selectedItemId ?? internalSelectedId;
472
- const selectedItem = items.find((item2) => item2.id === selectedId) || items.find((item2) => item2.id === defaultId);
473
- useEffect(() => {
474
- if (!selectedItemId && items.length > 0 && !items.some((item2) => item2.id === internalSelectedId)) {
475
- setInternalSelectedId(items[0].id);
476
- }
477
- }, [items, selectedItemId, internalSelectedId]);
478
- const handleSelectionChange = (selected) => {
479
- if (selected?.id) {
480
- if (selectedItemId === void 0) {
481
- setInternalSelectedId(selected.id);
482
- }
483
- onChange?.(selected.id);
484
- setIsPopoverOpen(false);
485
- }
486
- };
487
- const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
488
- const toolbarSize = useToolbarSize();
489
- const trackingId = useTrackingId({
490
- name: "ToolbarSelect",
491
- data: {
492
- selected: props.selected,
493
- disabled: props.disabled,
494
- "aria-label": props["aria-label"],
495
- items: props.items
496
- },
497
- hasOverride: !!props["data-tracking-id"]
498
- });
499
- const buttonClassNames = cx(className, styles$3["toolbar-button-item"]);
500
- const item = /* @__PURE__ */ jsxs(
501
- Popover,
502
- {
503
- noPadding: true,
504
- open: isPopoverOpen,
505
- onClickOutside: () => {
506
- setIsPopoverOpen(false);
507
- },
508
- onClose: () => {
509
- setIsPopoverOpen(false);
510
- },
511
- children: [
512
- /* @__PURE__ */ jsx(
513
- Popover.Button,
514
- {
515
- "data-tracking-id": trackingId,
516
- appearance,
517
- size: toolbarSize,
518
- icon: { after: SvgArrowDropDown },
519
- className: buttonClassNames,
520
- id: selectId,
521
- "data-anv": "toolbar-select",
522
- onClick: () => {
523
- setIsPopoverOpen(!isPopoverOpen);
524
- },
525
- ...rest,
526
- children: selectedItem?.label
527
- }
528
- ),
529
- /* @__PURE__ */ jsx(
530
- Popover.Content,
531
- {
532
- className: styles$3["toolbar-select-content"],
533
- "aria-label": accessibleLabel,
534
- children: /* @__PURE__ */ jsx(
535
- Listbox,
536
- {
537
- selected: selectedItem,
538
- onSelectionChange: handleSelectionChange,
539
- items,
540
- "aria-labelledby": selectId,
541
- disableAutoSelectOnFocus: true,
542
- children: ({ items: items2 }) => items2.map((item2) => /* @__PURE__ */ jsx(Listbox.Option, { item: item2, children: item2.label }, item2.label))
543
- }
544
- )
545
- }
546
- )
547
- ]
548
- }
549
- );
550
- if (isInOverflowMenu) {
551
- return item;
552
- }
553
- return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "select" }, children: item });
554
- }
555
- );
556
- ToolbarSelect.displayName = "ToolbarSelect";
557
-
558
- const OverflowItem = ({ itemType, itemProps }) => {
559
- switch (itemType) {
560
- case "button":
561
- return /* @__PURE__ */ jsx(ToolbarButton, { ...itemProps });
562
- case "buttonToggle":
563
- return /* @__PURE__ */ jsx(ToolbarButtonToggle, { ...itemProps });
564
- case "buttonLink":
565
- return /* @__PURE__ */ jsx(ToolbarButtonLink, { ...itemProps });
566
- case "select":
567
- return /* @__PURE__ */ jsx(ToolbarSelect, { ...itemProps });
568
- default:
569
- return null;
570
- }
571
- };
572
- const ToolbarOverflowMenu = ({
573
- additionalItems,
574
- direction
575
- }) => {
576
- const { overflowItems, orderedIds } = useContext(ToolbarContext);
577
- const menuTriggerId = useId();
578
- const size = useToolbarSize();
579
- const orderedItems = useMemo(() => {
580
- const allElements = orderedIds?.map((id) => {
581
- return overflowItems.find((item) => item.id === id);
582
- });
583
- return allElements?.filter((item) => item !== void 0) || [];
584
- }, [orderedIds, overflowItems]);
585
- const popoverButtonClassNames = cx(
586
- styles$3["toolbar-button-item"],
587
- styles$3["toolbar-overflow-trigger"]
588
- );
589
- const overflowIcon = direction === "horizontal" ? SvgMoreHoriz : SvgMoreVert;
590
- return /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [
591
- /* @__PURE__ */ jsx(
592
- Popover.Button,
593
- {
594
- size,
595
- appearance: "ghost",
596
- id: menuTriggerId,
597
- className: popoverButtonClassNames,
598
- "data-anv": "toolbar-overflow-trigger",
599
- "aria-label": "Additional toolbar options",
600
- children: /* @__PURE__ */ jsx(Icon, { svg: overflowIcon, size: size === "xsmall" ? "small" : size })
601
- }
602
- ),
603
- /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(OverflowItemContext.Provider, { value: { isInOverflowMenu: true }, children: /* @__PURE__ */ jsxs(
604
- "ul",
605
- {
606
- role: "menu",
607
- className: styles$3["toolbar-overflow-content"],
608
- "data-anv": "toolbar-overflow-menu",
609
- "aria-labelledby": menuTriggerId,
610
- onKeyDown: handleMenuKeyboardNavigation,
611
- children: [
612
- orderedItems.map((item) => {
613
- const { itemType, itemProps, id } = item;
614
- return /* @__PURE__ */ jsx(
615
- "li",
616
- {
617
- role: "menuitem",
618
- "data-anv": "toolbar-overflow-item",
619
- children: /* @__PURE__ */ jsx(
620
- OverflowItem,
621
- {
622
- itemType,
623
- itemProps,
624
- id
625
- }
626
- )
627
- },
628
- `${itemType}-${id}`
629
- );
630
- }),
631
- additionalItems?.map((item, index) => /* @__PURE__ */ jsx(
632
- "li",
633
- {
634
- role: "menuitem",
635
- "data-anv": "toolbar-overflow-item",
636
- children: item
637
- },
638
- `additional-item-${index}`
639
- ))
640
- ]
641
- }
642
- ) }) })
643
- ] });
644
- };
645
-
646
80
  const FilterGroupContext = createContext({
647
81
  filterGroupRef: { current: null },
648
82
  filters: [],
649
83
  updateFilter: () => {
650
84
  },
85
+ onFilterChange: () => {
86
+ },
651
87
  controlledFiltering: false,
88
+ associatedContent: "",
652
89
  hiddenFilters: [],
653
90
  addHiddenFilter: () => {
654
91
  },
@@ -656,16 +93,16 @@ const FilterGroupContext = createContext({
656
93
  }
657
94
  });
658
95
 
659
- const styles$2 = {
660
- "filter-button-trigger": "_filter-button-trigger_1192s_1",
661
- "filter-button-trigger--selected": "_filter-button-trigger--selected_1192s_5",
662
- "filter-button-content": "_filter-button-content_1192s_14",
663
- "filter-select-content": "_filter-select-content_1192s_19",
664
- "filter-button-buttons": "_filter-button-buttons_1192s_25",
665
- "filter-drawer-trigger": "_filter-drawer-trigger_1192s_29",
666
- "filter-drawer-trigger--chipped": "_filter-drawer-trigger--chipped_1192s_41",
667
- "filter-item": "_filter-item_1192s_61",
668
- "filter-select-search": "_filter-select-search_1192s_66"
96
+ const styles = {
97
+ "filter-button-trigger": "_filter-button-trigger_1ky9m_1",
98
+ "filter-button-trigger--selected": "_filter-button-trigger--selected_1ky9m_5",
99
+ "filter-button-content": "_filter-button-content_1ky9m_14",
100
+ "filter-select-content": "_filter-select-content_1ky9m_19",
101
+ "filter-button-buttons": "_filter-button-buttons_1ky9m_25",
102
+ "filter-drawer-trigger": "_filter-drawer-trigger_1ky9m_29",
103
+ "filter-drawer-trigger--chipped": "_filter-drawer-trigger--chipped_1ky9m_41",
104
+ "filter-item": "_filter-item_1ky9m_65",
105
+ "filter-select-search": "_filter-select-search_1ky9m_70"
669
106
  };
670
107
 
671
108
  const FilterItemWrapper = ({
@@ -695,7 +132,7 @@ const FilterItemWrapper = ({
695
132
  }
696
133
  },
697
134
  children,
698
- className: styles$2["filter-item"],
135
+ className: styles["filter-item"],
699
136
  observerRoot: filterGroupRef.current,
700
137
  onVisibilityChange: handleVisibilityChange,
701
138
  rootMargin: "0px -80px 0px 0px"
@@ -941,7 +378,7 @@ const FilterToggleButton = ({
941
378
  checked,
942
379
  isFilter: true,
943
380
  ...props,
944
- className: styles$2["filter-button-trigger"],
381
+ className: styles["filter-button-trigger"],
945
382
  "data-anv": "toolbar-boolean-filter",
946
383
  children
947
384
  }
@@ -1049,7 +486,7 @@ const FilterSelect = ({
1049
486
  SearchField,
1050
487
  {
1051
488
  size: "small",
1052
- className: styles$2["filter-select-search"],
489
+ className: styles["filter-select-search"],
1053
490
  onChange: handleSearch,
1054
491
  onClear: handleSearchClear,
1055
492
  onKeyDown: handleSearchKeyDown,
@@ -1358,10 +795,10 @@ const FilterButton = ({
1358
795
  }
1359
796
  }
1360
797
  };
1361
- const triggerClasses = cx(styles$2["filter-button-trigger"], {
1362
- [styles$2["filter-button-trigger--selected"]]: filter.type === "custom" && filter.value || filter.type === "singleSelect" && filter.selectedItem || filter.type === "multiSelect" && filter.selectedItems && filter.selectedItems.length > 0 || filter.type === "date" && filter.value || filter.type === "dateRange" && filter.value?.startDate && filter.value?.endDate
798
+ const triggerClasses = cx(styles["filter-button-trigger"], {
799
+ [styles["filter-button-trigger--selected"]]: filter.type === "custom" && filter.value || filter.type === "singleSelect" && filter.selectedItem || filter.type === "multiSelect" && filter.selectedItems && filter.selectedItems.length > 0 || filter.type === "date" && filter.value || filter.type === "dateRange" && filter.value?.startDate && filter.value?.endDate
1363
800
  });
1364
- const contentClasses = cx(styles$2["filter-button-content"], className);
801
+ const contentClasses = cx(styles["filter-button-content"], className);
1365
802
  const iconOptions = filter.type === "date" || filter.type === "dateRange" ? { before: SvgEvent } : { after: SvgKeyboardArrowDown };
1366
803
  return /* @__PURE__ */ jsx(FilterItemWrapper, { filter, children: /* @__PURE__ */ jsxs(
1367
804
  Popover,
@@ -1394,7 +831,7 @@ const FilterButton = ({
1394
831
  {
1395
832
  gap: 2,
1396
833
  justifyContent: "flex-end",
1397
- className: styles$2["filter-button-buttons"],
834
+ className: styles["filter-button-buttons"],
1398
835
  children: [
1399
836
  /* @__PURE__ */ jsx(Popover.Close, { size: "small", children: "Cancel" }),
1400
837
  /* @__PURE__ */ jsx(Button, { appearance: "primary", size: "small", onClick: handleSubmit, children: "Apply" })
@@ -1407,32 +844,6 @@ const FilterButton = ({
1407
844
  ) });
1408
845
  };
1409
846
 
1410
- const styles$1 = {
1411
- "toolbar-control-group": "_toolbar-control-group_th00x_1"
1412
- };
1413
-
1414
- const ToolbarControlGroupElement = forwardRef((props, ref) => {
1415
- const { children, "aria-label": ariaLabel, ...rest } = props;
1416
- const { overflow } = useContext(ToolbarContext);
1417
- return /* @__PURE__ */ jsx(
1418
- Flex,
1419
- {
1420
- ref,
1421
- alignItems: "center",
1422
- gap: 1,
1423
- wrap: overflow === "collapse" ? "nowrap" : "wrap",
1424
- "data-anv": "toolbar-control-group",
1425
- role: "group",
1426
- "aria-label": ariaLabel ? ariaLabel : "Toolbar controls",
1427
- className: styles$1["toolbar-control-group"],
1428
- ...rest,
1429
- children
1430
- }
1431
- );
1432
- });
1433
- ToolbarControlGroupElement.displayName = "ToolbarControlGroup";
1434
- const ToolbarControlGroup = ToolbarControlGroupElement;
1435
-
1436
847
  const SvgTune = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M3 18c0 .55.45 1 1 1h5v-2H4c-.55 0-1 .45-1 1zM3 6c0 .55.45 1 1 1h9V5H4c-.55 0-1 .45-1 1zm10 14v-1h7c.55 0 1-.45 1-1s-.45-1-1-1h-7v-1c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1zM7 10v1H4c-.55 0-1 .45-1 1s.45 1 1 1h3v1c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1zm14 2c0-.55-.45-1-1-1h-9v2h9c.55 0 1-.45 1-1zm-5-3c.55 0 1-.45 1-1V7h3c.55 0 1-.45 1-1s-.45-1-1-1h-3V4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1z" }));
1437
848
 
1438
849
  const FilterDrawer = () => {
@@ -1752,10 +1163,10 @@ const FilterDrawer = () => {
1752
1163
  };
1753
1164
  const hasHiddenActiveFilters = activeFiltersCount > 0;
1754
1165
  const triggerClasses = cx(
1755
- styles$2["filter-button-trigger"],
1756
- styles$2["filter-drawer-trigger"],
1166
+ styles["filter-button-trigger"],
1167
+ styles["filter-drawer-trigger"],
1757
1168
  {
1758
- [styles$2["filter-drawer-trigger--chipped"]]: hasHiddenActiveFilters
1169
+ [styles["filter-drawer-trigger--chipped"]]: hasHiddenActiveFilters
1759
1170
  }
1760
1171
  );
1761
1172
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -1818,19 +1229,25 @@ const FilterDrawer = () => {
1818
1229
  ] });
1819
1230
  };
1820
1231
 
1821
- const FilterGroupElement = forwardRef(
1822
- (props, ref) => {
1232
+ const FilterBar = forwardRef(
1233
+ function FilterBarInner(props, ref) {
1234
+ const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
1823
1235
  const {
1824
1236
  filters: initialFilters,
1825
1237
  onFilterChange,
1826
1238
  controlledFiltering = false,
1239
+ associatedContent,
1240
+ size = "xsmall",
1241
+ overflow = "wrap",
1242
+ className,
1243
+ style,
1244
+ onKeyDown,
1827
1245
  ...rest
1828
- } = props;
1246
+ } = componentProps;
1829
1247
  const [filters, setFilters] = useState(initialFilters);
1830
1248
  const [hiddenFilters, setHiddenFilters] = useState([]);
1831
- const filterGroupRef = useRef(null);
1832
- const containerQuery = useContainerQuery(filterGroupRef);
1833
- const toolbarSize = useToolbarSize();
1249
+ const filterBarRef = useRef(null);
1250
+ const containerQuery = useContainerQuery(filterBarRef);
1834
1251
  const showInlineFilters = containerQuery && containerQuery.name !== "xs" && containerQuery.name !== "sm";
1835
1252
  useEffect(() => {
1836
1253
  setFilters((prevFilters) => {
@@ -1848,12 +1265,12 @@ const FilterGroupElement = forwardRef(
1848
1265
  });
1849
1266
  }, [initialFilters]);
1850
1267
  const updateFilter = useCallback(
1851
- (filterId, value2, submit) => {
1268
+ (filterId, value, submit) => {
1852
1269
  setFilters((prevFilters) => {
1853
1270
  const updatedFilters = updateSingleFilter(
1854
1271
  prevFilters,
1855
1272
  filterId,
1856
- value2
1273
+ value
1857
1274
  );
1858
1275
  if (submit) {
1859
1276
  onFilterChange?.(updatedFilters);
@@ -1873,16 +1290,16 @@ const FilterGroupElement = forwardRef(
1873
1290
  const resetAllFilters = resetFilters(filters);
1874
1291
  setFilters(resetAllFilters);
1875
1292
  onFilterChange?.(resetAllFilters);
1876
- setTimeout(() => {
1877
- if (filterGroupRef.current) {
1878
- const firstFocusable = filterGroupRef.current.querySelector(
1293
+ requestAnimationFrame(() => {
1294
+ if (filterBarRef.current) {
1295
+ const firstFocusable = filterBarRef.current.querySelector(
1879
1296
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
1880
1297
  );
1881
1298
  if (firstFocusable) {
1882
1299
  firstFocusable.focus();
1883
1300
  }
1884
1301
  }
1885
- }, 0);
1302
+ });
1886
1303
  };
1887
1304
  const hasActiveFilters = checkActiveFilters(filters);
1888
1305
  const filterGroupControls = filters.map((filter) => {
@@ -1906,7 +1323,7 @@ const FilterGroupElement = forwardRef(
1906
1323
  FilterButton,
1907
1324
  {
1908
1325
  filter,
1909
- className: styles$2["filter-select-content"]
1326
+ className: styles["filter-select-content"]
1910
1327
  },
1911
1328
  filter.id
1912
1329
  );
@@ -1914,341 +1331,112 @@ const FilterGroupElement = forwardRef(
1914
1331
  case "date":
1915
1332
  case "dateRange":
1916
1333
  return /* @__PURE__ */ jsx(FilterButton, { filter }, filter.id);
1917
- // TODO: Add cases for other filter types here as needed
1918
1334
  default:
1919
1335
  return null;
1920
1336
  }
1921
1337
  });
1922
- const value = useMemo(
1338
+ const toolbarContextValue = useMemo(
1923
1339
  () => ({
1924
- filterGroupRef,
1340
+ overflowItems: [],
1341
+ addItem: () => {
1342
+ },
1343
+ removeItem: () => {
1344
+ },
1345
+ toolbarRef: filterBarRef,
1346
+ overflow,
1347
+ size
1348
+ }),
1349
+ [overflow, size]
1350
+ );
1351
+ const filterGroupContextValue = useMemo(
1352
+ () => ({
1353
+ filterGroupRef: filterBarRef,
1925
1354
  filters,
1926
1355
  updateFilter,
1927
1356
  onFilterChange,
1928
1357
  controlledFiltering,
1358
+ associatedContent,
1929
1359
  hiddenFilters,
1930
1360
  addHiddenFilter,
1931
1361
  removeHiddenFilter
1932
1362
  }),
1933
1363
  [
1934
- filterGroupRef,
1364
+ filterBarRef,
1935
1365
  filters,
1936
1366
  updateFilter,
1937
1367
  onFilterChange,
1938
1368
  controlledFiltering,
1369
+ associatedContent,
1939
1370
  hiddenFilters,
1940
1371
  addHiddenFilter,
1941
1372
  removeHiddenFilter
1942
1373
  ]
1943
1374
  );
1944
- return /* @__PURE__ */ jsx(FilterGroupContext.Provider, { value, children: /* @__PURE__ */ jsxs(
1945
- ToolbarControlGroup,
1946
- {
1947
- ref: useMergeRefs([filterGroupRef, ref]),
1948
- "data-anv": "toolbar-filter-group",
1949
- "aria-label": "Filter controls",
1950
- ...rest,
1951
- children: [
1952
- showInlineFilters && filterGroupControls,
1953
- /* @__PURE__ */ jsx(FilterDrawer, {}),
1954
- showInlineFilters && hasActiveFilters && /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
1955
- Button,
1956
- {
1957
- appearance: "ghost",
1958
- size: toolbarSize,
1959
- className: styles$2["filter-button-trigger"],
1960
- icon: {
1961
- before: SvgClose
1962
- },
1963
- onClick: clearAllFilters,
1964
- children: "Clear Filters"
1965
- }
1966
- ) })
1967
- ]
1968
- }
1969
- ) });
1970
- }
1971
- );
1972
- FilterGroupElement.displayName = "FilterGroup";
1973
- const FilterGroup = FilterGroupElement;
1974
-
1975
- const styles = {
1976
- "toolbar-search-field-container": "_toolbar-search-field-container_1kk8y_1",
1977
- "toolbar-search-field": "_toolbar-search-field_1kk8y_1"
1978
- };
1979
-
1980
- const ToolbarSearchField = forwardRef(
1981
- (props, ref) => {
1982
- const { className, ...rest } = props;
1983
- const size = useToolbarSize();
1984
- const searchFieldStyles = cx(styles["toolbar-search-field"], className);
1985
- return /* @__PURE__ */ jsx("div", { className: styles["toolbar-search-field-container"], children: /* @__PURE__ */ jsx(
1986
- SearchField$1,
1987
- {
1988
- ref,
1989
- className: searchFieldStyles,
1990
- size,
1991
- "data-anv": "toolbar-search-field",
1992
- ...rest
1993
- }
1994
- ) });
1995
- }
1996
- );
1997
- ToolbarSearchField.displayName = "ToolbarSearchField";
1998
-
1999
- const Toolbar = Object.assign(
2000
- forwardRef(function ToolbarInner(props, ref) {
2001
- const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
2002
- const {
2003
- associatedContent,
2004
- className,
2005
- children,
2006
- style,
2007
- direction = "horizontal",
2008
- overflow = "wrap",
2009
- onKeyDown,
2010
- additionalItems,
2011
- size = "xsmall",
2012
- ...rest
2013
- } = componentProps;
2014
- const [overflowItems, setOverflowItems] = useState([]);
2015
- const toolbarItemsRef = useRef(null);
2016
- const toolbarRef = useRef(null);
2017
- const [orderedIds, setOrderedIds] = useState([]);
2018
1375
  useEffect(() => {
2019
- const newOrderedIds = Array.from(
2020
- toolbarItemsRef.current?.querySelectorAll("[data-id]") || []
2021
- ).map((el) => {
2022
- return el.getAttribute("data-id");
2023
- });
2024
- setOrderedIds(newOrderedIds);
2025
- }, [children]);
2026
- const addItem = useCallback((item) => {
2027
- setOverflowItems((prev) => [...prev, item]);
2028
- }, []);
2029
- const removeItem = useCallback((item) => {
2030
- setOverflowItems(
2031
- (prev) => prev.filter((component) => component.id !== item.id)
2032
- );
2033
- }, []);
2034
- useEffect(() => {
2035
- if (toolbarRef.current) {
2036
- updateToolbarItemsTabIndex(toolbarRef.current);
1376
+ if (filterBarRef.current) {
1377
+ updateToolbarItemsTabIndex(filterBarRef.current);
2037
1378
  }
2038
- }, [children]);
1379
+ }, [filters]);
2039
1380
  const handleKeyDown = useCallback(
2040
1381
  (event) => {
2041
- if (toolbarRef.current) {
2042
- handleToolbarKeyDown(event, toolbarRef.current);
1382
+ if (filterBarRef.current) {
1383
+ handleToolbarKeyDown(event, filterBarRef.current);
2043
1384
  }
2044
1385
  onKeyDown?.(event);
2045
1386
  },
2046
1387
  [onKeyDown]
2047
1388
  );
2048
- const showOverflowMenu = overflow === "collapse" && overflowItems.length > 0 || !!additionalItems;
2049
- const value = useMemo(
2050
- () => ({
2051
- overflowItems,
2052
- addItem,
2053
- removeItem,
2054
- toolbarRef,
2055
- orderedIds,
2056
- overflow,
2057
- size
2058
- }),
2059
- [
2060
- overflowItems,
2061
- addItem,
2062
- removeItem,
2063
- toolbarRef,
2064
- orderedIds,
2065
- overflow,
2066
- size
2067
- ]
2068
- );
2069
1389
  const styleCombined = {
2070
1390
  ...style,
2071
1391
  ...layoutStyles
2072
1392
  };
2073
- const toolbarClassNames = cx(styles$3["toolbar"], className);
2074
- const toolbarContentClassNames = cx(styles$3["toolbar-content"], {
2075
- [styles$3[`overflow-${overflow}`]]: overflow
2076
- });
2077
- return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value, children: /* @__PURE__ */ jsxs(
1393
+ return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value: toolbarContextValue, children: /* @__PURE__ */ jsx(FilterGroupContext.Provider, { value: filterGroupContextValue, children: /* @__PURE__ */ jsx(
2078
1394
  Flex,
2079
1395
  {
2080
- direction: direction === "horizontal" ? "row" : "column",
2081
- wrap: overflow === "wrap" ? "wrap" : "nowrap",
2082
- alignItems: "center",
2083
- className: toolbarClassNames,
2084
- style: styleCombined,
2085
- ref: useMergeRefs([toolbarRef, ref]),
1396
+ ref: useMergeRefs([filterBarRef, ref]),
2086
1397
  role: "toolbar",
2087
- "data-anv": "toolbar",
2088
- "aria-orientation": direction,
2089
- "aria-label": `Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`,
1398
+ "aria-label": `Filters for ${associatedContent}. Use arrow keys to navigate through filter controls.`,
1399
+ "aria-orientation": "horizontal",
2090
1400
  onKeyDown: handleKeyDown,
1401
+ alignItems: "center",
1402
+ gap: 1,
1403
+ wrap: overflow === "collapse" ? "nowrap" : "wrap",
1404
+ className,
1405
+ style: styleCombined,
1406
+ "data-anv": "filter-bar",
2091
1407
  ...rest,
2092
- children: [
2093
- /* @__PURE__ */ jsx(
2094
- Flex,
2095
- {
2096
- ref: useMergeRefs([toolbarItemsRef, ref]),
2097
- className: toolbarContentClassNames,
2098
- direction: direction === "horizontal" ? "row" : "column",
2099
- wrap: overflow === "wrap" ? "wrap" : "nowrap",
2100
- alignItems: "center",
2101
- grow: 1,
2102
- "data-anv": "toolbar-content",
2103
- "data-overflow": overflow,
2104
- children
2105
- }
2106
- ),
2107
- showOverflowMenu && /* @__PURE__ */ jsx(
2108
- ToolbarOverflowMenu,
2109
- {
2110
- direction,
2111
- additionalItems
2112
- }
2113
- )
2114
- ]
1408
+ children: /* @__PURE__ */ jsxs(
1409
+ Flex,
1410
+ {
1411
+ alignItems: "center",
1412
+ gap: 1,
1413
+ wrap: overflow === "collapse" ? "nowrap" : "wrap",
1414
+ grow: 1,
1415
+ "data-anv": "toolbar-content",
1416
+ children: [
1417
+ showInlineFilters && filterGroupControls,
1418
+ /* @__PURE__ */ jsx(FilterDrawer, {}),
1419
+ showInlineFilters && hasActiveFilters && /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
1420
+ Button,
1421
+ {
1422
+ appearance: "ghost",
1423
+ size,
1424
+ className: styles["filter-button-trigger"],
1425
+ icon: {
1426
+ before: SvgClose
1427
+ },
1428
+ onClick: clearAllFilters,
1429
+ children: "Clear Filters"
1430
+ }
1431
+ ) })
1432
+ ]
1433
+ }
1434
+ )
2115
1435
  }
2116
- ) });
2117
- }),
2118
- {
2119
- /**
2120
- * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.
2121
- *
2122
- * Features:
2123
- * - Designed specifically for toolbar integration
2124
- * - Consistent styling with other toolbar items
2125
- * - Automatic tooltip for icon-only buttons
2126
- * - Overflow menu support
2127
- * - Accessibility enforcement for aria-labels
2128
- * - Ghost and primary appearance options
2129
- * - Automatic tracking ID generation for analytics
2130
- *
2131
- * @example
2132
- * <Toolbar.Button icon={BoldIcon} aria-label="Bold text" />
2133
- *
2134
- * @example
2135
- * <Toolbar.Button appearance="primary">
2136
- * Save
2137
- * </Toolbar.Button>
2138
- */
2139
- Button: ToolbarButton,
2140
- /**
2141
- * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.
2142
- *
2143
- * Features:
2144
- * - Toggle state management
2145
- * - Designed specifically for toolbar integration
2146
- * - Consistent styling with other toolbar items
2147
- * - Overflow menu support
2148
- * - Accessibility enforcement for aria-labels
2149
- * - Ghost and primary appearance options
2150
- * - Automatic tracking ID generation for analytics
2151
- *
2152
- * @example
2153
- * <Toolbar.ButtonToggle icon={BoldIcon} aria-label="Bold" checked={isBold} />
2154
- */
2155
- ButtonToggle: ToolbarButtonToggle,
2156
- /**
2157
- * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.
2158
- *
2159
- * Features:
2160
- * - Link functionality with href support
2161
- * - Designed specifically for toolbar integration
2162
- * - Consistent styling with other toolbar items
2163
- * - Overflow menu support
2164
- * - Accessibility enforcement for aria-labels
2165
- * - Ghost and primary appearance options
2166
- * - Automatic tracking ID generation for analytics
2167
- *
2168
- * @example
2169
- * <Toolbar.ButtonLink href="/help">
2170
- * Help
2171
- * </Toolbar.ButtonLink>
2172
- */
2173
- ButtonLink: ToolbarButtonLink,
2174
- /**
2175
- * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.
2176
- *
2177
- * Features:
2178
- * - Dropdown menu with selectable options
2179
- * - Controlled and uncontrolled usage patterns
2180
- * - Automatic overflow menu integration
2181
- * - Accessibility support with proper ARIA labels
2182
- * - Ghost and primary appearance options
2183
- * - Dropdown arrow icon indicator
2184
- * - Listbox integration for keyboard navigation
2185
- * - Automatic tracking ID generation for analytics
2186
- *
2187
- * @example
2188
- * <Toolbar.Select
2189
- * items={fontOptions}
2190
- * selected="arial"
2191
- * accessibleLabel="Font family"
2192
- * onChange={(id) => setFont(id)}
2193
- * />
2194
- */
2195
- Select: ToolbarSelect,
2196
- /**
2197
- * FilterGroup component displays a group of filters with toggles and a clear button.
2198
- * Also contains the FilterDrawer for additional filter options.
2199
- *
2200
- * Features:
2201
- * - Renders filter toggles and popovers for all filter types
2202
- * - Supports controlled and uncontrolled filtering
2203
- * - Integrates with FilterDrawer for batch filter editing
2204
- * - Provides a clear all filters button
2205
- * - Handles overflow and hidden filters
2206
- * - Shares filter state via context for child components
2207
- * - Supports boolean, custom, single-select, multi-select, date, and date range filter types
2208
- * - Date filters include calendar popup for easy selection
2209
- * - Date range filters support start and end date selection
2210
- *
2211
- * @example
2212
- * <Toolbar.Filters
2213
- * filters={filters}
2214
- * onFilterChange={handleFilter}
2215
- * controlledFiltering={true}
2216
- * />
2217
- */
2218
- Filters: FilterGroup,
2219
- /**
2220
- * ToolbarControlGroup component provides a flex container for grouping related toolbar controls.
2221
- * Can be used for filters, buttons, or other toolbar items.
2222
- *
2223
- * Features:
2224
- * - Groups related toolbar controls in a flex container
2225
- * - Supports accessibility with aria-label
2226
- * - Handles overflow and wrapping based on toolbar context
2227
- * - Integrates with layout utilities for spacing and alignment
2228
- *
2229
- * @example
2230
- * <Toolbar.ControlGroup aria-label="Formatting controls">
2231
- * <Toolbar.Button icon={BoldIcon} aria-label="Bold" />
2232
- * <Toolbar.Button icon={ItalicIcon} aria-label="Italic" />
2233
- * </Toolbar.ControlGroup>
2234
- */
2235
- ControlGroup: ToolbarControlGroup,
2236
- /**
2237
- * ToolbarSearchField component renders a search field for use in toolbars.
2238
- *
2239
- * Features:
2240
- * - Renders a search field styled for toolbar usage
2241
- * - Supports all SearchField props except size
2242
- * - Integrates with toolbar layouts and accessibility
2243
- *
2244
- * @example
2245
- * <Toolbar.Search placeholder="Search..." />
2246
- */
2247
- Search: ToolbarSearchField
1436
+ ) }) });
2248
1437
  }
2249
1438
  );
2250
- Toolbar.displayName = "Toolbar";
2251
- const ToolbarElement = Toolbar;
1439
+ FilterBar.displayName = "FilterBar";
2252
1440
 
2253
- export { Toolbar as T, ToolbarButton as a, ToolbarButtonToggle as b, ToolbarButtonLink as c, ToolbarSelect as d, ToolbarControlGroup as e, ToolbarSearchField as f, ToolbarElement as g };
2254
- //# sourceMappingURL=Toolbar-C1_etxss.js.map
1441
+ export { FilterBar as F };
1442
+ //# sourceMappingURL=FilterBar-kVue-bVK.js.map