@servicetitan/anvil2 1.26.1 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/{Alert-BGxnwh4U-ytPHdG2h.js → Alert-BmiMaHHl-C4TKrNF3.js} +13 -13
  3. package/dist/{Alert-BGxnwh4U-ytPHdG2h.js.map → Alert-BmiMaHHl-C4TKrNF3.js.map} +1 -1
  4. package/dist/{Alert-BGxnwh4U.css → Alert-BmiMaHHl.css} +18 -18
  5. package/dist/{Alert-Dm9uevPZ.js → Alert-DhJoO6si.js} +2 -2
  6. package/dist/{Alert-Dm9uevPZ.js.map → Alert-DhJoO6si.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-BPow1TbL.js → Announcement-DDIsOYU0.js} +12 -12
  9. package/dist/{Announcement-BPow1TbL.js.map → Announcement-DDIsOYU0.js.map} +1 -1
  10. package/dist/Announcement.css +24 -12
  11. package/dist/Announcement.js +1 -1
  12. package/dist/{AnvilProvider-C-6UdeBs.js → AnvilProvider-DNJk1Ait.js} +2 -2
  13. package/dist/{AnvilProvider-C-6UdeBs.js.map → AnvilProvider-DNJk1Ait.js.map} +1 -1
  14. package/dist/AnvilProvider.js +1 -1
  15. package/dist/{Avatar-DR0nw5eu.js → Avatar-BbOnZyM_.js} +10 -10
  16. package/dist/{Avatar-DR0nw5eu.js.map → Avatar-BbOnZyM_.js.map} +1 -1
  17. package/dist/Avatar.css +18 -18
  18. package/dist/Avatar.js +1 -1
  19. package/dist/{Breadcrumbs-ChNbRqbi.js → Breadcrumbs-ByNGkX5w.js} +3 -3
  20. package/dist/{Breadcrumbs-ChNbRqbi.js.map → Breadcrumbs-ByNGkX5w.js.map} +1 -1
  21. package/dist/Breadcrumbs.js +1 -1
  22. package/dist/{Button-4ih4Ht_z.js → Button-B2ruRsLb.js} +2 -2
  23. package/dist/{Button-4ih4Ht_z.js.map → Button-B2ruRsLb.js.map} +1 -1
  24. package/dist/{Button-DPIUyV2O-DxCH2dlc.js → Button-BHwg8Uip-DPU6y8-l.js} +23 -23
  25. package/dist/Button-BHwg8Uip-DPU6y8-l.js.map +1 -0
  26. package/dist/Button-BHwg8Uip.css +300 -0
  27. package/dist/Button.js +1 -1
  28. package/dist/{ButtonCompound-VpV-hDUY.js → ButtonCompound-DQ9LGk2K.js} +2 -2
  29. package/dist/{ButtonCompound-VpV-hDUY.js.map → ButtonCompound-DQ9LGk2K.js.map} +1 -1
  30. package/dist/ButtonCompound.js +1 -1
  31. package/dist/{ButtonLink-C1cCAIG0.js → ButtonLink-CjxVUldA.js} +2 -2
  32. package/dist/{ButtonLink-C1cCAIG0.js.map → ButtonLink-CjxVUldA.js.map} +1 -1
  33. package/dist/ButtonLink.js +1 -1
  34. package/dist/{ButtonToggle-DHX9ryn1-BzRjiG0o.js → ButtonToggle-9HqVrCoP-DsNu__N0.js} +4 -4
  35. package/dist/{ButtonToggle-DHX9ryn1-BzRjiG0o.js.map → ButtonToggle-9HqVrCoP-DsNu__N0.js.map} +1 -1
  36. package/dist/{ButtonToggle-Mf15vOmV.js → ButtonToggle-DYKdmH_u.js} +2 -2
  37. package/dist/{ButtonToggle-Mf15vOmV.js.map → ButtonToggle-DYKdmH_u.js.map} +1 -1
  38. package/dist/ButtonToggle.js +1 -1
  39. package/dist/{Calendar-Dx2sfg5W.js → Calendar-Dg_yoWxL.js} +2 -2
  40. package/dist/{Calendar-Dx2sfg5W.js.map → Calendar-Dg_yoWxL.js.map} +1 -1
  41. package/dist/{Calendar-BLyOeR3U-rYLyYewL.js → Calendar-Z_nAtpoV-B0uWpOrw.js} +23 -23
  42. package/dist/{Calendar-BLyOeR3U-rYLyYewL.js.map → Calendar-Z_nAtpoV-B0uWpOrw.js.map} +1 -1
  43. package/dist/{Calendar-BLyOeR3U.css → Calendar-Z_nAtpoV.css} +44 -44
  44. package/dist/Calendar.js +1 -1
  45. package/dist/{Checkbox-CIMoRELh-B3GJHXyO.js → Checkbox-D6-kiZ0g-6jox0aDW.js} +46 -32
  46. package/dist/Checkbox-D6-kiZ0g-6jox0aDW.js.map +1 -0
  47. package/dist/{Checkbox-BTD0_Qkv.js → Checkbox-DJguu7Kw.js} +2 -2
  48. package/dist/Checkbox-DJguu7Kw.js.map +1 -0
  49. package/dist/Checkbox.css +106 -68
  50. package/dist/Checkbox.js +1 -1
  51. package/dist/{Checkbox.module-9DnErc2T-CoENWijd.js → Checkbox.module-DMrZNVpb-DL8zOKBQ.js} +16 -14
  52. package/dist/Checkbox.module-DMrZNVpb-DL8zOKBQ.js.map +1 -0
  53. package/dist/{Chip-CwBvUKwn.js → Chip-C5ElPVsb.js} +2 -2
  54. package/dist/{Chip-CwBvUKwn.js.map → Chip-C5ElPVsb.js.map} +1 -1
  55. package/dist/{Chip-B09LeE8a-D517lNXd.js → Chip-CAxTyjIZ-DfkCTnYy.js} +10 -10
  56. package/dist/{Chip-B09LeE8a-D517lNXd.js.map → Chip-CAxTyjIZ-DfkCTnYy.js.map} +1 -1
  57. package/dist/{Chip-B09LeE8a.css → Chip-CAxTyjIZ.css} +20 -20
  58. package/dist/Chip.js +1 -1
  59. package/dist/{Combobox-UI4iNs4v.js → Combobox-BRZIYucw.js} +247 -67
  60. package/dist/Combobox-BRZIYucw.js.map +1 -0
  61. package/dist/Combobox.css +72 -72
  62. package/dist/Combobox.js +1 -1
  63. package/dist/{DateField-DJxvns1P.js → DateField-DHIXyi2_.js} +6 -6
  64. package/dist/{DateField-DJxvns1P.js.map → DateField-DHIXyi2_.js.map} +1 -1
  65. package/dist/DateField.js +1 -1
  66. package/dist/{Details-C00yOpMs.js → Details-B1wMLkdg.js} +9 -9
  67. package/dist/{Details-C00yOpMs.js.map → Details-B1wMLkdg.js.map} +1 -1
  68. package/dist/Details.css +18 -18
  69. package/dist/Details.js +1 -1
  70. package/dist/{Dialog-DhG6Qvhz-CZ1yBSYv.js → Dialog-DDsVwnZZ-s9GGnSax.js} +13 -13
  71. package/dist/Dialog-DDsVwnZZ-s9GGnSax.js.map +1 -0
  72. package/dist/{Dialog-DhG6Qvhz.css → Dialog-DDsVwnZZ.css} +23 -22
  73. package/dist/{Dialog-V7cjDiFS.js → Dialog-wuBdQ785.js} +2 -2
  74. package/dist/{Dialog-V7cjDiFS.js.map → Dialog-wuBdQ785.js.map} +1 -1
  75. package/dist/Dialog.js +1 -1
  76. package/dist/{Divider-Ctp-0EQ8.js → Divider-CLnPwn7z.js} +17 -14
  77. package/dist/Divider-CLnPwn7z.js.map +1 -0
  78. package/dist/Divider.css +52 -28
  79. package/dist/Divider.js +1 -1
  80. package/dist/{Drawer-CRReZbV6.js → Drawer-BX7LCwCa.js} +2 -2
  81. package/dist/{Drawer-CRReZbV6.js.map → Drawer-BX7LCwCa.js.map} +1 -1
  82. package/dist/Drawer.js +1 -1
  83. package/dist/{EditCard-CP0pQm_U.js → EditCard-CrlcI07q.js} +14 -14
  84. package/dist/{EditCard-CP0pQm_U.js.map → EditCard-CrlcI07q.js.map} +1 -1
  85. package/dist/EditCard.css +16 -16
  86. package/dist/EditCard.js +1 -1
  87. package/dist/{Helper-D1wqxi-n-DL9ve0e9.js → Helper-Ba5DBS51-DBtASfJG.js} +6 -6
  88. package/dist/{Helper-D1wqxi-n-DL9ve0e9.js.map → Helper-Ba5DBS51-DBtASfJG.js.map} +1 -1
  89. package/dist/{Helper-D1wqxi-n.css → Helper-Ba5DBS51.css} +5 -5
  90. package/dist/{Icon-Dl30QYlC.js → Icon-CrE5UgZV.js} +2 -2
  91. package/dist/{Icon-Dl30QYlC.js.map → Icon-CrE5UgZV.js.map} +1 -1
  92. package/dist/{Icon-BgNIrmZM-CUkfW-_l.js → Icon-DbHA5GV1-DwO2aGkj.js} +6 -6
  93. package/dist/{Icon-BgNIrmZM-CUkfW-_l.js.map → Icon-DbHA5GV1-DwO2aGkj.js.map} +1 -1
  94. package/dist/{Icon-BgNIrmZM.css → Icon-DbHA5GV1.css} +9 -9
  95. package/dist/Icon.js +1 -1
  96. package/dist/{InputMask-CDnbSm-K-DeTUYLsI.js → InputMask-CiAjFhsc-Bnbf_ZQq.js} +2 -2
  97. package/dist/{InputMask-CDnbSm-K-DeTUYLsI.js.map → InputMask-CiAjFhsc-Bnbf_ZQq.js.map} +1 -1
  98. package/dist/{InputMask-CSseS-fh.js → InputMask-Cifzg7Ee.js} +2 -2
  99. package/dist/{InputMask-CSseS-fh.js.map → InputMask-Cifzg7Ee.js.map} +1 -1
  100. package/dist/InputMask.js +1 -1
  101. package/dist/{Label-B-Z4Vp58-k9UxGncl.js → Label-Do6kKzVr-BvIRT-vF.js} +4 -4
  102. package/dist/{Label-B-Z4Vp58-k9UxGncl.js.map → Label-Do6kKzVr-BvIRT-vF.js.map} +1 -1
  103. package/dist/{Link-CL7Gc29S-LYooajNS.js → Link-BZ7vy96e-DolN6mMF.js} +8 -7
  104. package/dist/Link-BZ7vy96e-DolN6mMF.js.map +1 -0
  105. package/dist/Link-BZ7vy96e.css +63 -0
  106. package/dist/{Link-Ct0qNPzS.js → Link-CBkwLJrX.js} +2 -2
  107. package/dist/{Link-Ct0qNPzS.js.map → Link-CBkwLJrX.js.map} +1 -1
  108. package/dist/Link.js +1 -1
  109. package/dist/{ListView-Bf1mwMXt.js → ListView-DX7NxNSw.js} +2 -2
  110. package/dist/{ListView-Bf1mwMXt.js.map → ListView-DX7NxNSw.js.map} +1 -1
  111. package/dist/ListView.js +1 -1
  112. package/dist/{Listbox-BsQmGv15-C5bH4eex.js → Listbox-CCUnPdBn-DwvTVF0i.js} +3 -3
  113. package/dist/{Listbox-BsQmGv15-C5bH4eex.js.map → Listbox-CCUnPdBn-DwvTVF0i.js.map} +1 -1
  114. package/dist/{Listbox-BSf6vpMR.js → Listbox-DcMJEUMo.js} +2 -2
  115. package/dist/{Listbox-BSf6vpMR.js.map → Listbox-DcMJEUMo.js.map} +1 -1
  116. package/dist/Listbox.css +33 -33
  117. package/dist/Listbox.js +1 -1
  118. package/dist/Listbox.module-CJuWm7RR-CJuWm7RR.js +18 -0
  119. package/dist/Listbox.module-CJuWm7RR-CJuWm7RR.js.map +1 -0
  120. package/dist/{Menu-CYK-VXSj.js → Menu-COlGXBmd.js} +5 -5
  121. package/dist/{Menu-CYK-VXSj.js.map → Menu-COlGXBmd.js.map} +1 -1
  122. package/dist/Menu.js +1 -1
  123. package/dist/{Overflow-24qqgMkR.js → Overflow-Codc9CEy.js} +2 -2
  124. package/dist/{Overflow-24qqgMkR.js.map → Overflow-Codc9CEy.js.map} +1 -1
  125. package/dist/{Overflow-6zidmm4F-BNg3Wh59.js → Overflow-Cv9sOPm3-AYGUgSQn.js} +13 -13
  126. package/dist/Overflow-Cv9sOPm3-AYGUgSQn.js.map +1 -0
  127. package/dist/{Overflow-6zidmm4F.css → Overflow-Cv9sOPm3.css} +29 -29
  128. package/dist/Overflow.js +1 -1
  129. package/dist/Page-C5GjTBZh.js +452 -0
  130. package/dist/Page-C5GjTBZh.js.map +1 -0
  131. package/dist/Page.css +135 -65
  132. package/dist/Page.js +1 -1
  133. package/dist/{Popover-DRMCsDWy.js → Popover-DAxtbeRA.js} +2 -2
  134. package/dist/{Popover-DRMCsDWy.js.map → Popover-DAxtbeRA.js.map} +1 -1
  135. package/dist/{Popover-Btv8a_UW-CCpcppuW.js → Popover-tcXHJePS-CMjz_uId.js} +70 -48
  136. package/dist/Popover-tcXHJePS-CMjz_uId.js.map +1 -0
  137. package/dist/{Popover-Btv8a_UW.css → Popover-tcXHJePS.css} +10 -10
  138. package/dist/Popover.js +1 -1
  139. package/dist/{ProgressBar-EpBsXzcs-BgE8GDtg.js → ProgressBar-BrXijLda-BDwH4WrE.js} +12 -12
  140. package/dist/{ProgressBar-EpBsXzcs-BgE8GDtg.js.map → ProgressBar-BrXijLda-BDwH4WrE.js.map} +1 -1
  141. package/dist/{ProgressBar-EpBsXzcs.css → ProgressBar-BrXijLda.css} +20 -20
  142. package/dist/{ProgressBar-CmpuRo93.js → ProgressBar-aP7gOxee.js} +2 -2
  143. package/dist/{ProgressBar-CmpuRo93.js.map → ProgressBar-aP7gOxee.js.map} +1 -1
  144. package/dist/ProgressBar.js +1 -1
  145. package/dist/{Radio-D008X69w.js → Radio-BBwG1fqT-vopD4gzD.js} +55 -68
  146. package/dist/Radio-BBwG1fqT-vopD4gzD.js.map +1 -0
  147. package/dist/Radio-BBwG1fqT.css +232 -0
  148. package/dist/Radio-CtFSLOYa.js +34 -0
  149. package/dist/Radio-CtFSLOYa.js.map +1 -0
  150. package/dist/Radio.js +1 -1
  151. package/dist/{SearchField-Cu_XUoP4.js → SearchField-CWb0kaV8.js} +16 -8
  152. package/dist/SearchField-CWb0kaV8.js.map +1 -0
  153. package/dist/SearchField.css +9 -9
  154. package/dist/SearchField.js +1 -1
  155. package/dist/{SegmentedControl-ahC8vXbk.js → SegmentedControl-DyeWOOF3.js} +12 -12
  156. package/dist/{SegmentedControl-ahC8vXbk.js.map → SegmentedControl-DyeWOOF3.js.map} +1 -1
  157. package/dist/SegmentedControl.css +27 -27
  158. package/dist/SegmentedControl.js +1 -1
  159. package/dist/SelectCard.d.ts +6 -0
  160. package/dist/SelectCard.js +2 -0
  161. package/dist/SelectCard.js.map +1 -0
  162. package/dist/SelectCardGroup-Ch56Mp-k.js +178 -0
  163. package/dist/SelectCardGroup-Ch56Mp-k.js.map +1 -0
  164. package/dist/SelectCardGroup.css +37 -0
  165. package/dist/{SideNav-CCN45mjt.js → SideNav-Mdwo6zfi.js} +23 -23
  166. package/dist/{SideNav-CCN45mjt.js.map → SideNav-Mdwo6zfi.js.map} +1 -1
  167. package/dist/SideNav.css +55 -55
  168. package/dist/SideNav.js +1 -1
  169. package/dist/{Spinner-Cd29kwQb.js → Spinner-C0SZj1Xr.js} +2 -2
  170. package/dist/{Spinner-Cd29kwQb.js.map → Spinner-C0SZj1Xr.js.map} +1 -1
  171. package/dist/{Spinner-DsuW7OPp-Bct1KVcB.js → Spinner-DdirfhPp-c7cDfIit.js} +5 -5
  172. package/dist/{Spinner-DsuW7OPp-Bct1KVcB.js.map → Spinner-DdirfhPp-c7cDfIit.js.map} +1 -1
  173. package/dist/{Spinner-DsuW7OPp.css → Spinner-DdirfhPp.css} +7 -7
  174. package/dist/Spinner.js +1 -1
  175. package/dist/{Stepper-DE_jtDku.js → Stepper-CAuH-6cR.js} +11 -11
  176. package/dist/{Stepper-DE_jtDku.js.map → Stepper-CAuH-6cR.js.map} +1 -1
  177. package/dist/Stepper.css +37 -37
  178. package/dist/Stepper.js +1 -1
  179. package/dist/{Switch-C993WLM-.js → Switch-D2mURCX4.js} +6 -6
  180. package/dist/{Switch-C993WLM-.js.map → Switch-D2mURCX4.js.map} +1 -1
  181. package/dist/Switch.css +26 -26
  182. package/dist/Switch.js +1 -1
  183. package/dist/{Tab-D9fCuiyt.js → Tab-x6_xtr13.js} +14 -14
  184. package/dist/{Tab-D9fCuiyt.js.map → Tab-x6_xtr13.js.map} +1 -1
  185. package/dist/Tab.css +38 -38
  186. package/dist/Tab.js +1 -1
  187. package/dist/{TextField-86ebcPf6.js → TextField-BWHsVZiC.js} +2 -2
  188. package/dist/{TextField-86ebcPf6.js.map → TextField-BWHsVZiC.js.map} +1 -1
  189. package/dist/{TextField-BsIkt2PK-Cc3PZ7Kh.js → TextField-C614D1ZV-DeVOfPoS.js} +5 -5
  190. package/dist/{TextField-BsIkt2PK-Cc3PZ7Kh.js.map → TextField-C614D1ZV-DeVOfPoS.js.map} +1 -1
  191. package/dist/TextField.css +25 -25
  192. package/dist/TextField.js +1 -1
  193. package/dist/TextField.module-B411p3ST-B411p3ST.js +22 -0
  194. package/dist/{TextField.module-JJ6esEDk-JJ6esEDk.js.map → TextField.module-B411p3ST-B411p3ST.js.map} +1 -1
  195. package/dist/{Textarea-Cd6IsaY3.js → Textarea-Dj47MRiF.js} +10 -10
  196. package/dist/{Textarea-Cd6IsaY3.js.map → Textarea-Dj47MRiF.js.map} +1 -1
  197. package/dist/Textarea.css +15 -15
  198. package/dist/Textarea.js +1 -1
  199. package/dist/{ThemeProvider-Dvp6YuaY.js → ThemeProvider-CRXKTOvG.js} +2 -2
  200. package/dist/{ThemeProvider-Dvp6YuaY.js.map → ThemeProvider-CRXKTOvG.js.map} +1 -1
  201. package/dist/{ThemeProvider-C15J9JBA-BiL6I6O0.js → ThemeProvider-CioBp3gk-B6HyDICa.js} +10 -6
  202. package/dist/ThemeProvider-CioBp3gk-B6HyDICa.js.map +1 -0
  203. package/dist/ThemeProvider-CioBp3gk.css +407 -0
  204. package/dist/ThemeProvider.js +1 -1
  205. package/dist/Toast.js +1 -1
  206. package/dist/Toolbar-BAvsl6fK.js +710 -0
  207. package/dist/Toolbar-BAvsl6fK.js.map +1 -0
  208. package/dist/Toolbar.js +1 -709
  209. package/dist/Toolbar.js.map +1 -1
  210. package/dist/{Tooltip-ULhSGqQ0.js → Tooltip-D38gdiV_.js} +2 -2
  211. package/dist/{Tooltip-ULhSGqQ0.js.map → Tooltip-D38gdiV_.js.map} +1 -1
  212. package/dist/{Tooltip-DYbpkTNG-C9rTTa_A.js → Tooltip-DVBEjajY-DN86i_oi.js} +4 -4
  213. package/dist/{Tooltip-DYbpkTNG-C9rTTa_A.js.map → Tooltip-DVBEjajY-DN86i_oi.js.map} +1 -1
  214. package/dist/Tooltip.js +1 -1
  215. package/dist/assets/css-utils/border.css +45 -29
  216. package/dist/assets/css-utils/color.css +219 -103
  217. package/dist/assets/css-utils/font.css +45 -43
  218. package/dist/assets/css-utils/spacing.css +71 -1
  219. package/dist/assets/css-utils/utils.css +562 -368
  220. package/dist/assets/icons/st/add_purchase_order.svg +1 -0
  221. package/dist/assets/icons/st/add_to_list.svg +1 -0
  222. package/dist/assets/icons/st/add_user.svg +1 -0
  223. package/dist/assets/icons/st/apply_template.svg +1 -0
  224. package/dist/assets/icons/st/attach_file.svg +1 -0
  225. package/dist/assets/icons/st/collect_payment.svg +1 -0
  226. package/dist/assets/icons/st/create_event.svg +1 -0
  227. package/dist/assets/icons/st/create_task.svg +1 -0
  228. package/dist/assets/icons/st/estimate.svg +1 -1
  229. package/dist/assets/icons/st/job.svg +1 -1
  230. package/dist/assets/icons/st/local_settings.svg +1 -1
  231. package/dist/assets/icons/st/preview_file.svg +1 -0
  232. package/dist/assets/icons/st/save_for_later.svg +1 -0
  233. package/dist/assets/icons/st/send_message.svg +1 -0
  234. package/dist/assets/icons/st/set_reminder.svg +1 -0
  235. package/dist/assets/icons/st/view_timesheet.svg +1 -0
  236. package/dist/assets/icons/st.ts +13 -0
  237. package/dist/components/Checkbox/Checkbox.d.ts +2 -16
  238. package/dist/components/Combobox/index.d.ts +1 -0
  239. package/dist/components/Combobox/useInfiniteCombobox.d.ts +1 -0
  240. package/dist/components/Divider/Divider.d.ts +1 -1
  241. package/dist/components/Grid/Grid.d.ts +5 -35
  242. package/dist/components/Page/Page.d.ts +49 -4
  243. package/dist/components/Popover/Popover.d.ts +6 -2
  244. package/dist/components/Radio/Radio.d.ts +2 -13
  245. package/dist/components/SelectCard/SelectCard.d.ts +3 -0
  246. package/dist/components/SelectCard/SelectCardGroup.d.ts +3 -0
  247. package/dist/components/SelectCard/index.d.ts +4 -0
  248. package/dist/components/Toolbar/Toolbar.d.ts +3 -1
  249. package/dist/components/index.d.ts +2 -0
  250. package/dist/{floating-ui.react-dom-DFKXqfVl.js → floating-ui.react-dom-D912oS4K.js} +2 -2
  251. package/dist/{floating-ui.react-dom-DFKXqfVl.js.map → floating-ui.react-dom-D912oS4K.js.map} +1 -1
  252. package/dist/index.js +45 -43
  253. package/dist/index.js.map +1 -1
  254. package/dist/{toast-BFAs1GYa.js → toast-DMKrL2Ew.js} +73 -55
  255. package/dist/toast-DMKrL2Ew.js.map +1 -0
  256. package/dist/toast.css +59 -45
  257. package/dist/token/core/component-variables.scss +139 -0
  258. package/dist/token/core/component.js +645 -0
  259. package/dist/token/core/component.scss +69 -0
  260. package/dist/token/core/css-utils/border.css +45 -29
  261. package/dist/token/core/css-utils/color.css +219 -103
  262. package/dist/token/core/css-utils/font.css +45 -43
  263. package/dist/token/core/css-utils/spacing.css +71 -1
  264. package/dist/token/core/css-utils/utils.css +562 -368
  265. package/dist/token/core/index.js +2 -1
  266. package/dist/token/core/raw.js +28 -24
  267. package/dist/token/core/semantic-variables.scss +28 -24
  268. package/dist/token/core/semantic.js +44 -24
  269. package/dist/token/core/semantic.scss +13 -11
  270. package/dist/token.js +766 -24
  271. package/dist/token.js.map +1 -1
  272. package/dist/useLinkStyles.js +1 -1
  273. package/package.json +3 -3
  274. package/dist/Button-DPIUyV2O-DxCH2dlc.js.map +0 -1
  275. package/dist/Button-DPIUyV2O.css +0 -337
  276. package/dist/Checkbox-BTD0_Qkv.js.map +0 -1
  277. package/dist/Checkbox-CIMoRELh-B3GJHXyO.js.map +0 -1
  278. package/dist/Checkbox.module-9DnErc2T-CoENWijd.js.map +0 -1
  279. package/dist/Combobox-UI4iNs4v.js.map +0 -1
  280. package/dist/Dialog-DhG6Qvhz-CZ1yBSYv.js.map +0 -1
  281. package/dist/Divider-Ctp-0EQ8.js.map +0 -1
  282. package/dist/Link-CL7Gc29S-LYooajNS.js.map +0 -1
  283. package/dist/Link-CL7Gc29S.css +0 -60
  284. package/dist/Listbox.module-D3Ewu_8u-D3Ewu_8u.js +0 -18
  285. package/dist/Listbox.module-D3Ewu_8u-D3Ewu_8u.js.map +0 -1
  286. package/dist/Overflow-6zidmm4F-BNg3Wh59.js.map +0 -1
  287. package/dist/Page-f5A2PjHI.js +0 -311
  288. package/dist/Page-f5A2PjHI.js.map +0 -1
  289. package/dist/Popover-Btv8a_UW-CCpcppuW.js.map +0 -1
  290. package/dist/Radio-D008X69w.js.map +0 -1
  291. package/dist/Radio.css +0 -212
  292. package/dist/SearchField-Cu_XUoP4.js.map +0 -1
  293. package/dist/TextField.module-JJ6esEDk-JJ6esEDk.js +0 -22
  294. package/dist/ThemeProvider-C15J9JBA-BiL6I6O0.js.map +0 -1
  295. package/dist/ThemeProvider-C15J9JBA.css +0 -270
  296. package/dist/toast-BFAs1GYa.js.map +0 -1
  297. /package/dist/{Label-B-Z4Vp58.css → Label-Do6kKzVr.css} +0 -0
  298. /package/dist/{Tooltip-DYbpkTNG.css → Tooltip-DVBEjajY.css} +0 -0
@@ -0,0 +1,710 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useTrackingId } from './useTrackingId.js';
3
+ import * as React from 'react';
4
+ import { useState, useRef, useEffect, forwardRef, useId, createContext, useContext, useCallback, useMemo } from 'react';
5
+ import { B as Button } from './Button-BHwg8Uip-DPU6y8-l.js';
6
+ import { a as ButtonToggle, B as ButtonLink } from './ButtonToggle-9HqVrCoP-DsNu__N0.js';
7
+ import { d as Popover } from './Popover-tcXHJePS-CMjz_uId.js';
8
+ import { I as Icon } from './Icon-DbHA5GV1-DwO2aGkj.js';
9
+ import { c as cx } from './index-tZvMCc77.js';
10
+ import { b as Listbox } from './Listbox-CCUnPdBn-DwvTVF0i.js';
11
+ import { S as SvgArrowDropDown } from './arrow_drop_down-ChAdBDux.js';
12
+ import { g as getKeyboardFocusableElements } from './getKeyboardFocusableElements-QqcABz0D.js';
13
+ import { F as Flex } from './Flex-pdHNcZrF-CdQdYhOU.js';
14
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-C6qizVc6-BkgAan7h.js';
15
+ import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
16
+
17
+ import './Toolbar.css';const SvgMoreHoriz = (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: "M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }));
18
+
19
+ function useIntersectionObserver({
20
+ threshold = 0,
21
+ root = null,
22
+ rootMargin = "0%",
23
+ freezeOnceVisible = false,
24
+ initialIsIntersecting = false,
25
+ onChange
26
+ } = {}) {
27
+ const [ref, setRef] = useState(null);
28
+ const [state, setState] = useState(() => ({
29
+ isIntersecting: initialIsIntersecting,
30
+ entry: undefined
31
+ }));
32
+ const callbackRef = useRef();
33
+ callbackRef.current = onChange;
34
+ const frozen = state.entry?.isIntersecting && freezeOnceVisible;
35
+ useEffect(() => {
36
+ if (!ref) return;
37
+ if (!("IntersectionObserver" in window)) return;
38
+ if (frozen) return;
39
+ const observer = new IntersectionObserver(
40
+ (entries) => {
41
+ const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];
42
+ entries.forEach((entry) => {
43
+ const isIntersecting = entry.isIntersecting && thresholds.some(
44
+ (threshold2) => entry.intersectionRatio >= threshold2
45
+ );
46
+ setState({ isIntersecting, entry });
47
+ if (callbackRef.current) {
48
+ callbackRef.current(isIntersecting, entry);
49
+ }
50
+ });
51
+ },
52
+ { threshold, root, rootMargin }
53
+ );
54
+ observer.observe(ref);
55
+ return () => {
56
+ observer.disconnect();
57
+ };
58
+ }, [
59
+ ref,
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ JSON.stringify(threshold),
62
+ root,
63
+ rootMargin,
64
+ frozen,
65
+ freezeOnceVisible
66
+ ]);
67
+ const prevRef = useRef(null);
68
+ useEffect(() => {
69
+ if (!ref && state.entry?.target && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {
70
+ prevRef.current = state.entry.target;
71
+ setState({ isIntersecting: initialIsIntersecting, entry: undefined });
72
+ }
73
+ }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);
74
+ const result = [
75
+ setRef,
76
+ !!state.isIntersecting,
77
+ state.entry
78
+ ];
79
+ result.ref = result[0];
80
+ result.isIntersecting = result[1];
81
+ result.entry = result[2];
82
+ return result;
83
+ }
84
+
85
+ const toolbar = "_toolbar_tcyhm_12";
86
+ const styles = {
87
+ toolbar: toolbar,
88
+ "toolbar-content": "_toolbar-content_tcyhm_19",
89
+ "toolbar-overflow-content": "_toolbar-overflow-content_tcyhm_22",
90
+ "toolbar-button-item": "_toolbar-button-item_tcyhm_30",
91
+ "toolbar-item": "_toolbar-item_tcyhm_36",
92
+ "overflow-collapse": "_overflow-collapse_tcyhm_40",
93
+ "toolbar-button-toggle-item": "_toolbar-button-toggle-item_tcyhm_64",
94
+ "toolbar-overflow-trigger": "_toolbar-overflow-trigger_tcyhm_65"
95
+ };
96
+
97
+ function getToolbarElements(toolbarElement) {
98
+ const toolbarContent = toolbarElement.querySelector(
99
+ '[data-anv="toolbar-content"]'
100
+ );
101
+ const mainItems = getKeyboardFocusableElements(toolbarContent).filter(
102
+ (item) => {
103
+ const isVisible = !item.closest('[aria-hidden="true"]');
104
+ return isVisible;
105
+ }
106
+ );
107
+ const overflowTrigger = toolbarElement.querySelector(
108
+ '[data-anv="toolbar-overflow-trigger"]'
109
+ );
110
+ return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;
111
+ }
112
+ function updateToolbarItemsTabIndex(toolbarElement, activeItem) {
113
+ if (!toolbarElement) return;
114
+ const items = getToolbarElements(toolbarElement);
115
+ if (!items.length) return;
116
+ let activeIndex = 0;
117
+ if (typeof activeItem === "number") {
118
+ activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));
119
+ } else if (activeItem instanceof Element) {
120
+ const foundIndex = items.indexOf(activeItem);
121
+ if (foundIndex !== -1) {
122
+ activeIndex = foundIndex;
123
+ }
124
+ }
125
+ items.forEach((item, index) => {
126
+ item.setAttribute("tabindex", index === activeIndex ? "0" : "-1");
127
+ });
128
+ return items[activeIndex];
129
+ }
130
+ function handleToolbarKeyDown(event, toolbarElement) {
131
+ if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;
132
+ const items = getToolbarElements(toolbarElement);
133
+ if (!items.length) return;
134
+ const activeElement = event.target;
135
+ if (!toolbarElement.contains(activeElement)) return;
136
+ const activeItem = items.find(
137
+ (item) => item === activeElement || Array.from(item.children).some((child) => child === activeElement)
138
+ );
139
+ const activeIndex = activeItem ? items.indexOf(activeItem) : -1;
140
+ if (activeIndex === -1) return;
141
+ let nextIndex = activeIndex;
142
+ const isVertical = toolbarElement.getAttribute("aria-orientation") === "vertical";
143
+ switch (event.key) {
144
+ case "ArrowLeft":
145
+ case "ArrowUp":
146
+ event.preventDefault();
147
+ if (isVertical && event.key === "ArrowUp" || !isVertical && event.key === "ArrowLeft") {
148
+ nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;
149
+ }
150
+ break;
151
+ case "ArrowRight":
152
+ case "ArrowDown":
153
+ event.preventDefault();
154
+ if (isVertical && event.key === "ArrowDown" || !isVertical && event.key === "ArrowRight") {
155
+ nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;
156
+ }
157
+ break;
158
+ case "Home":
159
+ event.preventDefault();
160
+ nextIndex = 0;
161
+ break;
162
+ case "End":
163
+ event.preventDefault();
164
+ nextIndex = items.length - 1;
165
+ break;
166
+ default:
167
+ return;
168
+ }
169
+ updateToolbarItemsTabIndex(toolbarElement, nextIndex);
170
+ items[nextIndex]?.focus();
171
+ }
172
+ const handleMenuKeyboardNavigation = (event) => {
173
+ const menuItems = Array.from(
174
+ event.currentTarget.querySelectorAll('[role="menuitem"]')
175
+ ).map((menuItem) => {
176
+ return getKeyboardFocusableElements(menuItem)[0] || menuItem;
177
+ });
178
+ if (!menuItems.length) return;
179
+ const currentIndex = menuItems.indexOf(document.activeElement);
180
+ if (currentIndex === -1) return;
181
+ let nextIndex = currentIndex;
182
+ const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;
183
+ if (isModifierKey) return;
184
+ switch (event.key) {
185
+ case "ArrowDown":
186
+ case "ArrowUp": {
187
+ event.preventDefault();
188
+ const direction = event.key === "ArrowDown" ? 1 : -1;
189
+ nextIndex = (currentIndex + direction + menuItems.length) % menuItems.length;
190
+ break;
191
+ }
192
+ case "Home":
193
+ event.preventDefault();
194
+ nextIndex = 0;
195
+ break;
196
+ case "End":
197
+ event.preventDefault();
198
+ nextIndex = menuItems.length - 1;
199
+ break;
200
+ default:
201
+ return;
202
+ }
203
+ menuItems[nextIndex]?.focus();
204
+ };
205
+
206
+ const ToolbarItemWrapper = ({
207
+ item,
208
+ children
209
+ }) => {
210
+ const { addItem, removeItem, toolbarRef, overflow } = useContext(
211
+ ToolbarOverflowContext
212
+ );
213
+ const itemId = useId();
214
+ const elementRef = useRef(null);
215
+ const prevIntersectingRef = useRef(true);
216
+ const isCollapseMode = overflow === "collapse";
217
+ const handleVisibilityChange = useCallback(
218
+ (isVisible) => {
219
+ if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;
220
+ const itemWithId = { ...item, id: itemId };
221
+ if (isVisible) {
222
+ removeItem(itemWithId);
223
+ } else {
224
+ addItem(itemWithId);
225
+ }
226
+ prevIntersectingRef.current = isVisible;
227
+ },
228
+ [isCollapseMode, item, itemId, addItem, removeItem]
229
+ );
230
+ const { isIntersecting, ref } = useIntersectionObserver({
231
+ root: isCollapseMode ? toolbarRef.current : null,
232
+ threshold: 1,
233
+ initialIsIntersecting: false,
234
+ onChange: handleVisibilityChange
235
+ });
236
+ const setRefCallback = useCallback(
237
+ (node) => {
238
+ elementRef.current = node;
239
+ if (isCollapseMode) {
240
+ ref(node);
241
+ }
242
+ },
243
+ [ref, isCollapseMode]
244
+ );
245
+ const handleFocusOrClick = useCallback(() => {
246
+ if (!toolbarRef.current || !elementRef.current) return;
247
+ const currentElement = elementRef.current.querySelector("button, a, input");
248
+ if (!currentElement) return;
249
+ updateToolbarItemsTabIndex(toolbarRef.current, currentElement);
250
+ }, [toolbarRef]);
251
+ useEffect(() => {
252
+ const interactiveEl = elementRef.current?.querySelector("button, a, input");
253
+ if (!interactiveEl) return;
254
+ interactiveEl.addEventListener("focus", handleFocusOrClick);
255
+ interactiveEl.addEventListener("click", handleFocusOrClick);
256
+ return () => {
257
+ interactiveEl.removeEventListener("focus", handleFocusOrClick);
258
+ interactiveEl.removeEventListener("click", handleFocusOrClick);
259
+ };
260
+ }, [handleFocusOrClick]);
261
+ useEffect(() => {
262
+ if (isCollapseMode) {
263
+ prevIntersectingRef.current = true;
264
+ }
265
+ }, [isCollapseMode]);
266
+ const isHidden = isCollapseMode && !isIntersecting;
267
+ return /* @__PURE__ */ jsx(
268
+ "div",
269
+ {
270
+ ref: setRefCallback,
271
+ className: styles["toolbar-item"],
272
+ style: { visibility: isHidden ? "hidden" : "visible" },
273
+ "aria-hidden": isHidden,
274
+ ...{ inert: isHidden ? "" : undefined },
275
+ "data-id": itemId,
276
+ "data-anv": "toolbar-item",
277
+ children
278
+ }
279
+ );
280
+ };
281
+
282
+ const ToolbarButtonToggle$1 = forwardRef((props, ref) => {
283
+ const { className, children, ...rest } = props;
284
+ const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
285
+ const buttonToggleClassNames = cx(
286
+ className,
287
+ styles["toolbar-button-item"],
288
+ styles["toolbar-button-toggle-item"]
289
+ );
290
+ const item = /* @__PURE__ */ jsx(
291
+ ButtonToggle,
292
+ {
293
+ size: "small",
294
+ "data-anv": "toolbar-button-toggle",
295
+ className: buttonToggleClassNames,
296
+ ...rest,
297
+ children
298
+ }
299
+ );
300
+ if (isInOverflowMenu) {
301
+ return item;
302
+ }
303
+ return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonToggle" }, children: item });
304
+ });
305
+ ToolbarButtonToggle$1.displayName = "ToolbarButtonToggle";
306
+
307
+ const ToolbarButtonLink$1 = forwardRef(
308
+ (props, ref) => {
309
+ const { appearance = "ghost", className, children, ...rest } = props;
310
+ const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
311
+ const buttonLinkClassNames = cx(className, styles["toolbar-button-item"]);
312
+ const item = /* @__PURE__ */ jsx(
313
+ ButtonLink,
314
+ {
315
+ appearance,
316
+ size: "small",
317
+ "data-anv": "toolbar-button-link",
318
+ className: buttonLinkClassNames,
319
+ ...rest,
320
+ children
321
+ }
322
+ );
323
+ if (isInOverflowMenu) {
324
+ return item;
325
+ }
326
+ return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonLink" }, children: item });
327
+ }
328
+ );
329
+ ToolbarButtonLink$1.displayName = "ToolbarButtonLink";
330
+
331
+ const ToolbarSelect$1 = forwardRef(
332
+ (props, ref) => {
333
+ const {
334
+ appearance = "ghost",
335
+ onChange,
336
+ selected: selectedItemId,
337
+ accessibleLabel,
338
+ className,
339
+ items,
340
+ ...rest
341
+ } = props;
342
+ const selectId = useId();
343
+ const defaultId = items.length > 0 ? items[0].id : "";
344
+ const [internalSelectedId, setInternalSelectedId] = useState(defaultId);
345
+ const selectedId = selectedItemId ?? internalSelectedId;
346
+ const selectedItem = items.find((item2) => item2.id === selectedId) || items.find((item2) => item2.id === defaultId);
347
+ useEffect(() => {
348
+ if (!selectedItemId && items.length > 0 && !items.some((item2) => item2.id === internalSelectedId)) {
349
+ setInternalSelectedId(items[0].id);
350
+ }
351
+ }, [items, selectedItemId, internalSelectedId]);
352
+ const handleSelectionChange = (selected) => {
353
+ if (selected?.id) {
354
+ if (selectedItemId === undefined) {
355
+ setInternalSelectedId(selected.id);
356
+ }
357
+ onChange?.(selected.id);
358
+ }
359
+ };
360
+ const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
361
+ const buttonClassNames = cx(className, styles["toolbar-button-item"]);
362
+ const item = /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [
363
+ /* @__PURE__ */ jsx(
364
+ Popover.Button,
365
+ {
366
+ appearance,
367
+ size: "small",
368
+ icon: { after: SvgArrowDropDown },
369
+ className: buttonClassNames,
370
+ id: selectId,
371
+ "data-anv": "toolbar-select",
372
+ ...rest,
373
+ children: selectedItem?.label
374
+ }
375
+ ),
376
+ /* @__PURE__ */ jsx(
377
+ Popover.Content,
378
+ {
379
+ className: styles["toolbar-select-content"],
380
+ "aria-label": `${accessibleLabel} options`,
381
+ children: /* @__PURE__ */ jsx(
382
+ Listbox,
383
+ {
384
+ selected: selectedItem,
385
+ onSelectionChange: handleSelectionChange,
386
+ items,
387
+ "aria-labelledby": selectId,
388
+ children: ({ items: items2 }) => items2.map((item2) => /* @__PURE__ */ jsx(Listbox.Option, { item: item2, children: item2.label }, item2.label))
389
+ }
390
+ )
391
+ }
392
+ )
393
+ ] });
394
+ if (isInOverflowMenu) {
395
+ return item;
396
+ }
397
+ return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "select" }, children: item });
398
+ }
399
+ );
400
+ ToolbarSelect$1.displayName = "ToolbarSelect";
401
+
402
+ const OverflowItemContext = createContext({
403
+ isInOverflowMenu: false
404
+ });
405
+ const useOverFlowItemContext = () => useContext(OverflowItemContext);
406
+ const OverflowItem = ({ itemType, itemProps }) => {
407
+ switch (itemType) {
408
+ case "button":
409
+ return /* @__PURE__ */ jsx(ToolbarButton$1, { ...itemProps });
410
+ case "buttonToggle":
411
+ return /* @__PURE__ */ jsx(ToolbarButtonToggle$1, { ...itemProps });
412
+ case "buttonLink":
413
+ return /* @__PURE__ */ jsx(ToolbarButtonLink$1, { ...itemProps });
414
+ case "select":
415
+ return /* @__PURE__ */ jsx(ToolbarSelect$1, { ...itemProps });
416
+ default:
417
+ return null;
418
+ }
419
+ };
420
+ const ToolbarOverflowMenu = ({
421
+ additionalItems
422
+ }) => {
423
+ const { overflowItems, orderedIds } = useContext(ToolbarOverflowContext);
424
+ const menuTriggerId = useId();
425
+ const orderedItems = useMemo(() => {
426
+ const allElements = orderedIds?.map((id) => {
427
+ return overflowItems.find((item) => item.id === id);
428
+ });
429
+ return allElements?.filter((item) => item !== undefined) || [];
430
+ }, [orderedIds, overflowItems]);
431
+ const popoverButtonClassNames = cx(
432
+ styles["toolbar-button-item"],
433
+ styles["toolbar-overflow-trigger"]
434
+ );
435
+ return /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [
436
+ /* @__PURE__ */ jsx(
437
+ Popover.Button,
438
+ {
439
+ size: "small",
440
+ appearance: "secondary",
441
+ id: menuTriggerId,
442
+ className: popoverButtonClassNames,
443
+ "data-anv": "toolbar-overflow-trigger",
444
+ "aria-label": "Additional toolbar options",
445
+ children: /* @__PURE__ */ jsx(Icon, { svg: SvgMoreHoriz, size: "small" })
446
+ }
447
+ ),
448
+ /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(OverflowItemContext.Provider, { value: { isInOverflowMenu: true }, children: /* @__PURE__ */ jsxs(
449
+ "ul",
450
+ {
451
+ role: "menu",
452
+ className: styles["toolbar-overflow-content"],
453
+ "data-anv": "toolbar-overflow-menu",
454
+ "aria-labelledby": menuTriggerId,
455
+ onKeyDown: handleMenuKeyboardNavigation,
456
+ children: [
457
+ orderedItems.map((item) => {
458
+ const { itemType, itemProps, id } = item;
459
+ return /* @__PURE__ */ jsx(
460
+ "li",
461
+ {
462
+ role: "menuitem",
463
+ "data-anv": "toolbar-overflow-item",
464
+ children: /* @__PURE__ */ jsx(
465
+ OverflowItem,
466
+ {
467
+ itemType,
468
+ itemProps,
469
+ id
470
+ }
471
+ )
472
+ },
473
+ `${itemType}-${id}`
474
+ );
475
+ }),
476
+ additionalItems?.map((item, index) => /* @__PURE__ */ jsx(
477
+ "li",
478
+ {
479
+ role: "menuitem",
480
+ "data-anv": "toolbar-overflow-item",
481
+ children: item
482
+ },
483
+ `additional-item-${index}`
484
+ ))
485
+ ]
486
+ }
487
+ ) }) })
488
+ ] });
489
+ };
490
+
491
+ const ToolbarButton$1 = forwardRef(
492
+ (props, ref) => {
493
+ const { appearance = "ghost", className, children, ...rest } = props;
494
+ const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
495
+ const buttonClassNames = cx(className, styles["toolbar-button-item"]);
496
+ const item = /* @__PURE__ */ jsx(
497
+ Button,
498
+ {
499
+ appearance,
500
+ size: "small",
501
+ "data-anv": "toolbar-button",
502
+ className: buttonClassNames,
503
+ ...rest,
504
+ children
505
+ }
506
+ );
507
+ if (isInOverflowMenu) {
508
+ return item;
509
+ }
510
+ return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "button" }, children: item });
511
+ }
512
+ );
513
+ ToolbarButton$1.displayName = "ToolbarButton";
514
+
515
+ const ToolbarOverflowContext = createContext({
516
+ overflowItems: [],
517
+ addItem: () => {
518
+ return;
519
+ },
520
+ removeItem: () => {
521
+ return;
522
+ },
523
+ toolbarRef: { current: null },
524
+ orderedIds: [],
525
+ overflow: "wrap"
526
+ });
527
+ const ToolbarElement$1 = forwardRef(
528
+ (props, ref) => {
529
+ const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
530
+ const {
531
+ associatedContent,
532
+ className,
533
+ children,
534
+ style,
535
+ direction = "horizontal",
536
+ overflow = "wrap",
537
+ onKeyDown,
538
+ additionalItems,
539
+ ...rest
540
+ } = componentProps;
541
+ const [overflowItems, setOverflowItems] = useState([]);
542
+ const toolbarItemsRef = useRef(null);
543
+ const toolbarRef = useRef(null);
544
+ const [orderedIds, setOrderedIds] = useState([]);
545
+ useEffect(() => {
546
+ const newOrderedIds = Array.from(
547
+ toolbarItemsRef.current?.querySelectorAll("[data-id]") || []
548
+ ).map((el) => {
549
+ return el.getAttribute("data-id");
550
+ });
551
+ setOrderedIds(newOrderedIds);
552
+ }, [children]);
553
+ const addItem = useCallback((item) => {
554
+ setOverflowItems((prev) => [...prev, item]);
555
+ }, []);
556
+ const removeItem = useCallback((item) => {
557
+ setOverflowItems(
558
+ (prev) => prev.filter((component) => component.id !== item.id)
559
+ );
560
+ }, []);
561
+ useEffect(() => {
562
+ if (toolbarRef.current) {
563
+ updateToolbarItemsTabIndex(toolbarRef.current);
564
+ }
565
+ }, [children]);
566
+ const handleKeyDown = useCallback(
567
+ (event) => {
568
+ if (toolbarRef.current) {
569
+ handleToolbarKeyDown(event, toolbarRef.current);
570
+ }
571
+ onKeyDown?.(event);
572
+ },
573
+ [onKeyDown]
574
+ );
575
+ const showOverflowMenu = overflow === "collapse" && overflowItems.length > 0 || !!additionalItems;
576
+ const value = useMemo(
577
+ () => ({
578
+ overflowItems,
579
+ addItem,
580
+ removeItem,
581
+ toolbarRef,
582
+ orderedIds,
583
+ overflow
584
+ }),
585
+ [overflowItems, addItem, removeItem, toolbarRef, orderedIds, overflow]
586
+ );
587
+ const styleCombined = {
588
+ ...style,
589
+ ...layoutStyles
590
+ };
591
+ const toolbarClassNames = cx(styles["toolbar"], className);
592
+ const toolbarContentClassNames = cx(styles["toolbar-content"], {
593
+ [styles[`overflow-${overflow}`]]: overflow
594
+ });
595
+ return /* @__PURE__ */ jsx(ToolbarOverflowContext.Provider, { value, children: /* @__PURE__ */ jsxs(
596
+ Flex,
597
+ {
598
+ direction: direction === "horizontal" ? "row" : "column",
599
+ wrap: overflow === "wrap" ? "wrap" : "nowrap",
600
+ alignItems: "center",
601
+ className: toolbarClassNames,
602
+ style: styleCombined,
603
+ ref: useMergeRefs([toolbarRef, ref]),
604
+ role: "toolbar",
605
+ "data-anv": "toolbar",
606
+ "aria-orientation": direction,
607
+ "aria-label": `Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`,
608
+ onKeyDown: handleKeyDown,
609
+ ...rest,
610
+ children: [
611
+ /* @__PURE__ */ jsx(
612
+ Flex,
613
+ {
614
+ ref: useMergeRefs([toolbarItemsRef, ref]),
615
+ className: toolbarContentClassNames,
616
+ direction: direction === "horizontal" ? "row" : "column",
617
+ wrap: overflow === "wrap" ? "wrap" : "nowrap",
618
+ alignItems: "center",
619
+ grow: 1,
620
+ "data-anv": "toolbar-content",
621
+ children
622
+ }
623
+ ),
624
+ showOverflowMenu && /* @__PURE__ */ jsx(ToolbarOverflowMenu, { additionalItems })
625
+ ]
626
+ }
627
+ ) });
628
+ }
629
+ );
630
+ ToolbarElement$1.displayName = "Toolbar";
631
+ const Toolbar$1 = Object.assign(ToolbarElement$1, {
632
+ Button: ToolbarButton$1,
633
+ ButtonToggle: ToolbarButtonToggle$1,
634
+ ButtonLink: ToolbarButtonLink$1,
635
+ Select: ToolbarSelect$1
636
+ });
637
+
638
+ function ToolbarElement(props) {
639
+ const trackingId = useTrackingId({
640
+ name: "Toolbar",
641
+ data: {
642
+ overflow: props.overflow,
643
+ direction: props.direction,
644
+ associatedContent: props.associatedContent
645
+ },
646
+ hasOverride: !!props["data-tracking-id"]
647
+ });
648
+ return /* @__PURE__ */ jsx(Toolbar$1, { "data-tracking-id": trackingId, ...props });
649
+ }
650
+ function ToolbarButton(props) {
651
+ const trackingId = useTrackingId({
652
+ name: "ToolbarButton",
653
+ data: {
654
+ disabled: props.disabled,
655
+ "aria-label": props["aria-label"],
656
+ children: props.children
657
+ },
658
+ hasOverride: !!props["data-tracking-id"]
659
+ });
660
+ return /* @__PURE__ */ jsx(ToolbarButton$1, { "data-tracking-id": trackingId, ...props });
661
+ }
662
+ function ToolbarButtonToggle(props) {
663
+ const trackingId = useTrackingId({
664
+ name: "ToolbarButtonToggle",
665
+ data: {
666
+ checked: props.checked,
667
+ disabled: props.disabled,
668
+ "aria-label": props["aria-label"],
669
+ children: props.children
670
+ },
671
+ hasOverride: !!props["data-tracking-id"]
672
+ });
673
+ return /* @__PURE__ */ jsx(ToolbarButtonToggle$1, { "data-tracking-id": trackingId, ...props });
674
+ }
675
+ function ToolbarButtonLink(props) {
676
+ const trackingId = useTrackingId({
677
+ name: "ToolbarButtonLink",
678
+ data: {
679
+ href: props.href,
680
+ disabled: props.disabled,
681
+ "aria-label": props["aria-label"],
682
+ children: props.children,
683
+ target: props.target
684
+ },
685
+ hasOverride: !!props["data-tracking-id"]
686
+ });
687
+ return /* @__PURE__ */ jsx(ToolbarButtonLink$1, { "data-tracking-id": trackingId, ...props });
688
+ }
689
+ function ToolbarSelect(props) {
690
+ const trackingId = useTrackingId({
691
+ name: "ToolbarSelect",
692
+ data: {
693
+ selected: props.selected,
694
+ disabled: props.disabled,
695
+ "aria-label": props["aria-label"],
696
+ items: props.items
697
+ },
698
+ hasOverride: !!props["data-tracking-id"]
699
+ });
700
+ return /* @__PURE__ */ jsx(ToolbarSelect$1, { "data-tracking-id": trackingId, ...props });
701
+ }
702
+ const Toolbar = Object.assign(ToolbarElement, {
703
+ Button: ToolbarButton,
704
+ ButtonToggle: ToolbarButtonToggle,
705
+ ButtonLink: ToolbarButtonLink,
706
+ Select: ToolbarSelect
707
+ });
708
+
709
+ export { Toolbar as T, ToolbarElement as a, ToolbarButton as b, ToolbarButtonToggle as c, ToolbarButtonLink as d, ToolbarSelect as e };
710
+ //# sourceMappingURL=Toolbar-BAvsl6fK.js.map