@servicetitan/anvil2 1.41.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/{AnvilProvider-Lh8YtV03.js → AnvilProvider-BLYCqIbb.js} +2 -2
  3. package/dist/{AnvilProvider-Lh8YtV03.js.map → AnvilProvider-BLYCqIbb.js.map} +1 -1
  4. package/dist/AnvilProvider.js +1 -1
  5. package/dist/{Avatar-B20IdOEO-Di14brYV.js → Avatar-C7cbRTCt-DCvzmr2C.js} +14 -12
  6. package/dist/Avatar-C7cbRTCt-DCvzmr2C.js.map +1 -0
  7. package/dist/{Avatar-B20IdOEO.css → Avatar-C7cbRTCt.css} +34 -19
  8. package/dist/{Avatar-hNOToS9S.js → Avatar-DREZJN2K.js} +2 -2
  9. package/dist/Avatar-DREZJN2K.js.map +1 -0
  10. package/dist/Avatar.js +1 -1
  11. package/dist/{Breadcrumbs-D_jgwoN3-Dlw-weD8.js → Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js} +3 -3
  12. package/dist/{Breadcrumbs-D_jgwoN3-Dlw-weD8.js.map → Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js.map} +1 -1
  13. package/dist/{Breadcrumbs-C_gan90a.js → Breadcrumbs-De8uoLi8.js} +2 -2
  14. package/dist/{Breadcrumbs-C_gan90a.js.map → Breadcrumbs-De8uoLi8.js.map} +1 -1
  15. package/dist/Breadcrumbs.js +1 -1
  16. package/dist/{Calendar-MIwfKzm7.js → Calendar-Bgpz99F2.js} +2 -2
  17. package/dist/{Calendar-MIwfKzm7.js.map → Calendar-Bgpz99F2.js.map} +1 -1
  18. package/dist/{Calendar-CNrdcd3f-BAKv-Gz3.js → Calendar-DD5kmVd3-CBGTR11R.js} +4 -4
  19. package/dist/{Calendar-CNrdcd3f-BAKv-Gz3.js.map → Calendar-DD5kmVd3-CBGTR11R.js.map} +1 -1
  20. package/dist/Calendar.js +1 -1
  21. package/dist/{Checkbox-JWDraGFN--7ptfLKN.js → Checkbox-DyHm7Ntt-DYw5QL3l.js} +2 -2
  22. package/dist/{Checkbox-JWDraGFN--7ptfLKN.js.map → Checkbox-DyHm7Ntt-DYw5QL3l.js.map} +1 -1
  23. package/dist/{Checkbox-IPM-sdvR.js → Checkbox-zg8LVvB6.js} +2 -2
  24. package/dist/{Checkbox-IPM-sdvR.js.map → Checkbox-zg8LVvB6.js.map} +1 -1
  25. package/dist/Checkbox.js +1 -1
  26. package/dist/Chip-DXQiqF8k.js +34 -0
  27. package/dist/Chip-DXQiqF8k.js.map +1 -0
  28. package/dist/{Chip-_daV8CmM-CTke7zH4.js → Chip-MbBEXeAm-DmAcwPRJ.js} +57 -10
  29. package/dist/Chip-MbBEXeAm-DmAcwPRJ.js.map +1 -0
  30. package/dist/{Chip-_daV8CmM.css → Chip-MbBEXeAm.css} +68 -18
  31. package/dist/Chip.js +1 -1
  32. package/dist/{Combobox-CM8DmNMs.js → Combobox-D2aSaDkz.js} +7 -7
  33. package/dist/{Combobox-CM8DmNMs.js.map → Combobox-D2aSaDkz.js.map} +1 -1
  34. package/dist/Combobox.js +1 -1
  35. package/dist/{DateField-BDJEsVc1.js → DateField-D28_sa7P.js} +6 -6
  36. package/dist/{DateField-BDJEsVc1.js.map → DateField-D28_sa7P.js.map} +1 -1
  37. package/dist/DateField.js +1 -1
  38. package/dist/{DateFieldRange-BTq6MrNu.js → DateFieldRange-CgVqJrVg.js} +2 -2
  39. package/dist/{DateFieldRange-BTq6MrNu.js.map → DateFieldRange-CgVqJrVg.js.map} +1 -1
  40. package/dist/DateFieldRange.js +1 -1
  41. package/dist/{DateFieldSingle-CaeOLrI4.js → DateFieldSingle-CLoWDlPO.js} +2 -2
  42. package/dist/{DateFieldSingle-CaeOLrI4.js.map → DateFieldSingle-CLoWDlPO.js.map} +1 -1
  43. package/dist/DateFieldSingle.js +1 -1
  44. package/dist/{DateFieldYearless-CbFo3oyZ.js → DateFieldYearless-CXlUH0c7.js} +2 -2
  45. package/dist/{DateFieldYearless-CbFo3oyZ.js.map → DateFieldYearless-CXlUH0c7.js.map} +1 -1
  46. package/dist/{DateFieldYearless-CJP3H_Dg-BV5wGJp1.js → DateFieldYearless-M5KDI_hn-akXtkIZA.js} +673 -611
  47. package/dist/{DateFieldYearless-CJP3H_Dg-BV5wGJp1.js.map → DateFieldYearless-M5KDI_hn-akXtkIZA.js.map} +1 -1
  48. package/dist/DateFieldYearless.js +1 -1
  49. package/dist/{DaysOfTheWeek-8zaAuw55.js → DaysOfTheWeek-ImBPjEvl.js} +2 -2
  50. package/dist/{DaysOfTheWeek-8zaAuw55.js.map → DaysOfTheWeek-ImBPjEvl.js.map} +1 -1
  51. package/dist/DaysOfTheWeek.js +1 -1
  52. package/dist/{Dialog-DnZE02ob.js → Dialog-BR6f-XRH.js} +3 -3
  53. package/dist/{Dialog-DnZE02ob.js.map → Dialog-BR6f-XRH.js.map} +1 -1
  54. package/dist/Dialog.js +1 -1
  55. package/dist/{Drawer-5kgL0gY9.js → Drawer-0ayAWgAA.js} +2 -2
  56. package/dist/{Drawer-5kgL0gY9.js.map → Drawer-0ayAWgAA.js.map} +1 -1
  57. package/dist/Drawer.js +1 -1
  58. package/dist/{EditCard-C0hD1VPA.js → EditCard-B_n1uFkv.js} +2 -2
  59. package/dist/{EditCard-C0hD1VPA.js.map → EditCard-B_n1uFkv.js.map} +1 -1
  60. package/dist/EditCard.js +1 -1
  61. package/dist/{FieldLabel-D5rNXy6h.js → FieldLabel-DWl5qsRY.js} +2 -2
  62. package/dist/{FieldLabel-D5rNXy6h.js.map → FieldLabel-DWl5qsRY.js.map} +1 -1
  63. package/dist/FieldLabel.js +1 -1
  64. package/dist/{HammerProvider-CYP98rq3-Dd9GVIyP.js → HammerProvider-vt3DkcCZ-06BeBrPu.js} +2 -2
  65. package/dist/{HammerProvider-CYP98rq3-Dd9GVIyP.js.map → HammerProvider-vt3DkcCZ-06BeBrPu.js.map} +1 -1
  66. package/dist/{InputMask-BLZh7hka-CTcRCY2k.js → InputMask-CE3pdXwL-B8XVrj36.js} +2 -2
  67. package/dist/{InputMask-BLZh7hka-CTcRCY2k.js.map → InputMask-CE3pdXwL-B8XVrj36.js.map} +1 -1
  68. package/dist/{InputMask-B6kMdXCB.js → InputMask-wUro4G2j.js} +2 -2
  69. package/dist/{InputMask-B6kMdXCB.js.map → InputMask-wUro4G2j.js.map} +1 -1
  70. package/dist/InputMask.js +1 -1
  71. package/dist/{ListView-cMMBtp1O.js → ListView-DdHpJHTc.js} +3 -3
  72. package/dist/{ListView-cMMBtp1O.js.map → ListView-DdHpJHTc.js.map} +1 -1
  73. package/dist/ListView.js +1 -1
  74. package/dist/{Listbox-BvJLSAVO-Br5k6fmq.js → Listbox-B-WUuj-_-BWWeWtLW.js} +2 -2
  75. package/dist/{Listbox-BvJLSAVO-Br5k6fmq.js.map → Listbox-B-WUuj-_-BWWeWtLW.js.map} +1 -1
  76. package/dist/{Listbox-dVARiucB.js → Listbox-Di6OS1Fk.js} +2 -2
  77. package/dist/{Listbox-dVARiucB.js.map → Listbox-Di6OS1Fk.js.map} +1 -1
  78. package/dist/Listbox.js +1 -1
  79. package/dist/{Menu-Dk3ESnzI.js → Menu-DHCOMJx2.js} +2 -2
  80. package/dist/{Menu-Dk3ESnzI.js.map → Menu-DHCOMJx2.js.map} +1 -1
  81. package/dist/{Menu-CAiyc2zk-rxU7H28t.js → Menu-TtVJnSrA-yBYichuJ.js} +6 -9
  82. package/dist/Menu-TtVJnSrA-yBYichuJ.js.map +1 -0
  83. package/dist/Menu.js +1 -1
  84. package/dist/{Page-DWeD3rrr.js → Page-KN0DLtcf.js} +8 -8
  85. package/dist/{Page-DWeD3rrr.js.map → Page-KN0DLtcf.js.map} +1 -1
  86. package/dist/Page.js +1 -1
  87. package/dist/Pagination.js +2 -2
  88. package/dist/Pagination.js.map +1 -1
  89. package/dist/{Popover-2O1Q-34V.js → Popover-B1HaUjGI.js} +2 -2
  90. package/dist/{Popover-2O1Q-34V.js.map → Popover-B1HaUjGI.js.map} +1 -1
  91. package/dist/{Popover-DvLcjLjG-Yu5STx-v.js → Popover-CU2cGVD8-FWJOuFRj.js} +4 -4
  92. package/dist/{Popover-DvLcjLjG-Yu5STx-v.js.map → Popover-CU2cGVD8-FWJOuFRj.js.map} +1 -1
  93. package/dist/Popover.js +1 -1
  94. package/dist/{ProgressBar-BezETeA3-CeeedJ_w.js → ProgressBar-BRvB-bD4-DppwBrFg.js} +5 -5
  95. package/dist/{ProgressBar-BezETeA3-CeeedJ_w.js.map → ProgressBar-BRvB-bD4-DppwBrFg.js.map} +1 -1
  96. package/dist/{ProgressBar-CfstmN5D.js → ProgressBar-lPKNTz6i.js} +2 -2
  97. package/dist/{ProgressBar-CfstmN5D.js.map → ProgressBar-lPKNTz6i.js.map} +1 -1
  98. package/dist/ProgressBar.js +1 -1
  99. package/dist/{Radio-8E1l0DJa-CLVaSyQc.js → Radio-DQ_VQFGZ-SdFBlDnE.js} +3 -3
  100. package/dist/{Radio-8E1l0DJa-CLVaSyQc.js.map → Radio-DQ_VQFGZ-SdFBlDnE.js.map} +1 -1
  101. package/dist/{Radio-P6dkI3W0.js → Radio-DnOuBPi_.js} +2 -2
  102. package/dist/{Radio-P6dkI3W0.js.map → Radio-DnOuBPi_.js.map} +1 -1
  103. package/dist/Radio.js +1 -1
  104. package/dist/{SelectCard-m61WUlo--DlByowef.js → SelectCard-DUNwYa5y-BSi21Aba.js} +4 -4
  105. package/dist/{SelectCard-m61WUlo--DlByowef.js.map → SelectCard-DUNwYa5y-BSi21Aba.js.map} +1 -1
  106. package/dist/SelectCard.js +1 -1
  107. package/dist/{SelectCardGroup-DIaWX2Vp.js → SelectCardGroup-YGYiBv5M.js} +2 -2
  108. package/dist/{SelectCardGroup-DIaWX2Vp.js.map → SelectCardGroup-YGYiBv5M.js.map} +1 -1
  109. package/dist/{SelectTrigger-DKh0Bzy6.js → SelectTrigger-Cg-rlFKY.js} +3 -3
  110. package/dist/{SelectTrigger-DKh0Bzy6.js.map → SelectTrigger-Cg-rlFKY.js.map} +1 -1
  111. package/dist/SelectTrigger.js +1 -1
  112. package/dist/{SelectTriggerBase-DnRvuD3R-CTFWVZhY.js → SelectTriggerBase-C0fhFfuj-DfR6h1Lq.js} +4 -4
  113. package/dist/{SelectTriggerBase-DnRvuD3R-CTFWVZhY.js.map → SelectTriggerBase-C0fhFfuj-DfR6h1Lq.js.map} +1 -1
  114. package/dist/{SideNav-DEoGpeqJ.js → SideNav-Bh_pVeEw.js} +11 -11
  115. package/dist/{SideNav-DEoGpeqJ.js.map → SideNav-Bh_pVeEw.js.map} +1 -1
  116. package/dist/SideNav.css +70 -52
  117. package/dist/SideNav.js +1 -1
  118. package/dist/{Text-B91g6xKn.js → Text-35Ve4Uq0.js} +2 -2
  119. package/dist/{Text-B91g6xKn.js.map → Text-35Ve4Uq0.js.map} +1 -1
  120. package/dist/{Text-DCvcLCvf-DlmnnjTR.js → Text-CED_yrId-DsRYZw2-.js} +10 -10
  121. package/dist/{Text-DCvcLCvf-DlmnnjTR.js.map → Text-CED_yrId-DsRYZw2-.js.map} +1 -1
  122. package/dist/{Text-DCvcLCvf.css → Text-CED_yrId.css} +35 -17
  123. package/dist/Text.js +1 -1
  124. package/dist/{TextField-D_fqJf85-Bcd6rWv4.js → TextField-CRTh0gL_-D2CjcYXX.js} +6 -3
  125. package/dist/TextField-CRTh0gL_-D2CjcYXX.js.map +1 -0
  126. package/dist/{TextField--tytNBLh.js → TextField-gYAqTpcX.js} +2 -2
  127. package/dist/{TextField--tytNBLh.js.map → TextField-gYAqTpcX.js.map} +1 -1
  128. package/dist/TextField.js +1 -1
  129. package/dist/{Textarea-B0nZ9vOV.js → Textarea-DohNOiIp.js} +24 -11
  130. package/dist/Textarea-DohNOiIp.js.map +1 -0
  131. package/dist/Textarea.js +1 -1
  132. package/dist/{ThemeProvider-BKave7Ha.js → ThemeProvider-DwJqkbiU.js} +2 -2
  133. package/dist/{ThemeProvider-BKave7Ha.js.map → ThemeProvider-DwJqkbiU.js.map} +1 -1
  134. package/dist/{ThemeProvider-CR67FJg0-DYVRlJRA.js → ThemeProvider-Q3ji6Rpx-DBXlAuQ8.js} +5 -5
  135. package/dist/{ThemeProvider-CR67FJg0-DYVRlJRA.js.map → ThemeProvider-Q3ji6Rpx-DBXlAuQ8.js.map} +1 -1
  136. package/dist/{ThemeProvider-CR67FJg0.css → ThemeProvider-Q3ji6Rpx.css} +106 -4
  137. package/dist/ThemeProvider.js +1 -1
  138. package/dist/Toast.js +1 -1
  139. package/dist/{Toolbar-BM78DEEM.js → Toolbar-BznMJKGJ.js} +4 -4
  140. package/dist/{Toolbar-BM78DEEM.js.map → Toolbar-BznMJKGJ.js.map} +1 -1
  141. package/dist/Toolbar.js +1 -1
  142. package/dist/{Tooltip-ZFFXA77Y.js → Tooltip-C2HQDvYj.js} +2 -2
  143. package/dist/{Tooltip-ZFFXA77Y.js.map → Tooltip-C2HQDvYj.js.map} +1 -1
  144. package/dist/Tooltip.js +1 -1
  145. package/dist/assets/icons/st/fixed.svg +1 -0
  146. package/dist/assets/icons/st/full_fluid.svg +1 -0
  147. package/dist/assets/icons/st/installed_equipment.svg +1 -0
  148. package/dist/assets/icons/st/unpin.svg +1 -0
  149. package/dist/assets/icons/st.ts +4 -0
  150. package/dist/components/Avatar/Avatar.d.ts +7 -2
  151. package/dist/components/Chip/Chip.d.ts +12 -10
  152. package/dist/components/DateField/DateField.d.ts +1 -0
  153. package/dist/index.js +34 -34
  154. package/dist/{toast-uADTqqrS.js → toast-BhV_Ask2.js} +2 -2
  155. package/dist/{toast-uADTqqrS.js.map → toast-BhV_Ask2.js.map} +1 -1
  156. package/dist/token/core/raw.js +85 -0
  157. package/dist/token/core/semantic-variables.scss +102 -0
  158. package/dist/token/core/semantic.js +357 -0
  159. package/dist/token/core/semantic.scss +51 -0
  160. package/dist/token.js +408 -0
  161. package/dist/token.js.map +1 -1
  162. package/package.json +3 -3
  163. package/dist/Avatar-B20IdOEO-Di14brYV.js.map +0 -1
  164. package/dist/Avatar-hNOToS9S.js.map +0 -1
  165. package/dist/Chip-BlLavyIK.js +0 -24
  166. package/dist/Chip-BlLavyIK.js.map +0 -1
  167. package/dist/Chip-_daV8CmM-CTke7zH4.js.map +0 -1
  168. package/dist/Menu-CAiyc2zk-rxU7H28t.js.map +0 -1
  169. package/dist/TextField-D_fqJf85-Bcd6rWv4.js.map +0 -1
  170. package/dist/Textarea-B0nZ9vOV.js.map +0 -1
  171. /package/dist/{Breadcrumbs-D_jgwoN3.css → Breadcrumbs-B5bqrZ5D.css} +0 -0
  172. /package/dist/{Calendar-CNrdcd3f.css → Calendar-DD5kmVd3.css} +0 -0
  173. /package/dist/{Menu-CAiyc2zk.css → Menu-TtVJnSrA.css} +0 -0
  174. /package/dist/{Popover-DvLcjLjG.css → Popover-CU2cGVD8.css} +0 -0
  175. /package/dist/{ProgressBar-BezETeA3.css → ProgressBar-BRvB-bD4.css} +0 -0
  176. /package/dist/{Radio-8E1l0DJa.css → Radio-DQ_VQFGZ.css} +0 -0
  177. /package/dist/{SelectCard-m61WUlo-.css → SelectCard-DUNwYa5y.css} +0 -0
  178. /package/dist/{SelectTriggerBase-DnRvuD3R.css → SelectTriggerBase-C0fhFfuj.css} +0 -0
@@ -3,14 +3,14 @@ import { useTrackingId } from './useTrackingId.js';
3
3
  import { useState, useRef, useEffect, forwardRef, useContext, useId, useCallback, useMemo, createContext } from 'react';
4
4
  import { B as Button } from './Button-BaHFf1AT-BQy-PFB5.js';
5
5
  import { B as ButtonToggle } from './ButtonToggle-Bm4KRl3o-B1-LbfjY.js';
6
- import { d as Popover } from './Popover-DvLcjLjG-Yu5STx-v.js';
6
+ import { d as Popover } from './Popover-CU2cGVD8-FWJOuFRj.js';
7
7
  import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
8
8
  import { S as SvgMoreHoriz } from './more_horiz-DJgdQiy0.js';
9
9
  import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
10
10
  import { B as ButtonLink } from './ButtonLink-5qlX0uZx-b9H7MGhk.js';
11
11
  import { c as cx } from './index-tZvMCc77.js';
12
- import { f as Tooltip } from './ProgressBar-BezETeA3-CeeedJ_w.js';
13
- import { b as Listbox } from './Listbox-BvJLSAVO-Br5k6fmq.js';
12
+ import { f as Tooltip } from './ProgressBar-BRvB-bD4-DppwBrFg.js';
13
+ import { b as Listbox } from './Listbox-B-WUuj-_-BWWeWtLW.js';
14
14
  import { S as SvgArrowDropDown } from './arrow_drop_down-ChAdBDux.js';
15
15
  import { g as getKeyboardFocusableElements } from './getKeyboardFocusableElements-QqcABz0D.js';
16
16
  import { F as Flex } from './Flex-CiK7uNUu-BfxHG4L0.js';
@@ -920,4 +920,4 @@ const Toolbar = Object.assign(ToolbarElement, {
920
920
  });
921
921
 
922
922
  export { Toolbar as T, ToolbarElement as a, ToolbarButton as b, ToolbarButtonToggle as c, ToolbarButtonLink as d, ToolbarSelect as e };
923
- //# sourceMappingURL=Toolbar-BM78DEEM.js.map
923
+ //# sourceMappingURL=Toolbar-BznMJKGJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar-BM78DEEM.js","sources":["../../hammer-react/dist/useIntersectionObserver-BEmMDO3P.js","../../hammer-react/dist/Toolbar-Cz3oIFU8.js","../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\n\nfunction useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange\n} = {}) {\n const [ref, setRef] = useState(null);\n const [state, setState] = useState(() => ({\n isIntersecting: initialIsIntersecting,\n entry: void 0\n }));\n const callbackRef = useRef();\n callbackRef.current = onChange;\n const frozen = state.entry?.isIntersecting && freezeOnceVisible;\n useEffect(() => {\n if (!ref) return;\n if (!(\"IntersectionObserver\" in window)) return;\n if (frozen) return;\n const observer = new IntersectionObserver(\n (entries) => {\n const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n entries.forEach((entry) => {\n const isIntersecting = entry.isIntersecting && thresholds.some(\n (threshold2) => entry.intersectionRatio >= threshold2\n );\n setState({ isIntersecting, entry });\n if (callbackRef.current) {\n callbackRef.current(isIntersecting, entry);\n }\n });\n },\n { threshold, root, rootMargin }\n );\n observer.observe(ref);\n return () => {\n observer.disconnect();\n };\n }, [\n ref,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold),\n root,\n rootMargin,\n frozen,\n freezeOnceVisible\n ]);\n const prevRef = useRef(null);\n useEffect(() => {\n if (!ref && state.entry?.target && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n prevRef.current = state.entry.target;\n setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n }\n }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n const result = [\n setRef,\n !!state.isIntersecting,\n state.entry\n ];\n result.ref = result[0];\n result.isIntersecting = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { useIntersectionObserver as u };\n//# sourceMappingURL=useIntersectionObserver-BEmMDO3P.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { useContext, useId, useRef, useCallback, useEffect, forwardRef, useState, useMemo, createContext } from 'react';\nimport { B as Button } from './Button-BaHFf1AT.js';\nimport { B as ButtonToggle } from './ButtonToggle-Bm4KRl3o.js';\nimport { P as Popover } from './Popover-DvLcjLjG.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport IconMoreHoriz from '@servicetitan/hammer-icon/mdi/round/more_horiz.svg';\nimport MoreVert from '@servicetitan/hammer-icon/mdi/round//more_vert.svg';\nimport { B as ButtonLink } from './ButtonLink-5qlX0uZx.js';\nimport cx from 'classnames';\nimport { g as Tooltip } from './ProgressBar-BezETeA3.js';\nimport { L as Listbox } from './Listbox-BvJLSAVO.js';\nimport Down from '@servicetitan/hammer-icon/mdi/round/arrow_drop_down.svg';\nimport { getKeyboardFocusableElements } from './getKeyboardFocusableElements.js';\nimport { F as Flex } from './Flex-CiK7uNUu.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';\n\nimport './Toolbar.css';const toolbar = \"_toolbar_a1ext_3\";\nconst styles = {\n\ttoolbar: toolbar,\n\t\"toolbar-content\": \"_toolbar-content_a1ext_10\",\n\t\"toolbar-overflow-content\": \"_toolbar-overflow-content_a1ext_13\",\n\t\"toolbar-button-item\": \"_toolbar-button-item_a1ext_21\",\n\t\"toolbar-item\": \"_toolbar-item_a1ext_27\",\n\t\"overflow-collapse\": \"_overflow-collapse_a1ext_31\",\n\t\"toolbar-button-toggle-item\": \"_toolbar-button-toggle-item_a1ext_55\",\n\t\"toolbar-overflow-trigger\": \"_toolbar-overflow-trigger_a1ext_61\"\n};\n\nfunction getToolbarElements(toolbarElement) {\n const toolbarContent = toolbarElement.querySelector(\n '[data-anv=\"toolbar-content\"]'\n );\n const mainItems = getKeyboardFocusableElements(toolbarContent).filter(\n (item) => {\n const isVisible = !item.closest('[aria-hidden=\"true\"]');\n return isVisible;\n }\n );\n const overflowTrigger = toolbarElement.querySelector(\n '[data-anv=\"toolbar-overflow-trigger\"]'\n );\n return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;\n}\nfunction updateToolbarItemsTabIndex(toolbarElement, activeItem) {\n if (!toolbarElement) return;\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n let activeIndex = 0;\n if (typeof activeItem === \"number\") {\n activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));\n } else if (activeItem instanceof Element) {\n const foundIndex = items.indexOf(activeItem);\n if (foundIndex !== -1) {\n activeIndex = foundIndex;\n }\n }\n items.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === activeIndex ? \"0\" : \"-1\");\n });\n return items[activeIndex];\n}\nfunction handleToolbarKeyDown(event, toolbarElement) {\n if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n const activeElement = event.target;\n if (!toolbarElement.contains(activeElement)) return;\n const activeItem = items.find(\n (item) => item === activeElement || Array.from(item.children).some((child) => child === activeElement)\n );\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n if (activeIndex === -1) return;\n let nextIndex = activeIndex;\n const isVertical = toolbarElement.getAttribute(\"aria-orientation\") === \"vertical\";\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n if (isVertical && event.key === \"ArrowUp\" || !isVertical && event.key === \"ArrowLeft\") {\n nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;\n }\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n if (isVertical && event.key === \"ArrowDown\" || !isVertical && event.key === \"ArrowRight\") {\n nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;\n }\n break;\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n default:\n return;\n }\n updateToolbarItemsTabIndex(toolbarElement, nextIndex);\n items[nextIndex]?.focus();\n}\nconst handleMenuKeyboardNavigation = (event) => {\n const menuItems = Array.from(\n event.currentTarget.querySelectorAll('[role=\"menuitem\"]')\n ).map((menuItem) => {\n return getKeyboardFocusableElements(menuItem)[0] || menuItem;\n });\n if (!menuItems.length) return;\n const currentIndex = menuItems.indexOf(document.activeElement);\n if (currentIndex === -1) return;\n let nextIndex = currentIndex;\n const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;\n if (isModifierKey) return;\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n nextIndex = (currentIndex + direction + menuItems.length) % menuItems.length;\n break;\n }\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = menuItems.length - 1;\n break;\n default:\n return;\n }\n menuItems[nextIndex]?.focus();\n};\n\nconst ToolbarItemWrapper = ({\n item,\n children\n}) => {\n const { addItem, removeItem, toolbarRef, overflow } = useContext(\n ToolbarOverflowContext\n );\n const itemId = useId();\n const elementRef = useRef(null);\n const prevIntersectingRef = useRef(true);\n const isCollapseMode = overflow === \"collapse\";\n const handleVisibilityChange = useCallback(\n (isVisible) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, item, itemId, addItem, removeItem]\n );\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? toolbarRef.current : null,\n threshold: 1,\n initialIsIntersecting: false,\n onChange: handleVisibilityChange\n });\n const setRefCallback = useCallback(\n (node) => {\n elementRef.current = node;\n if (isCollapseMode) {\n ref(node);\n }\n },\n [ref, isCollapseMode]\n );\n const handleFocusOrClick = useCallback(() => {\n if (!toolbarRef.current || !elementRef.current) return;\n const currentElement = elementRef.current.querySelector(\"button, a, input\");\n if (!currentElement) return;\n updateToolbarItemsTabIndex(toolbarRef.current, currentElement);\n }, [toolbarRef]);\n useEffect(() => {\n const interactiveEl = elementRef.current?.querySelector(\"button, a, input\");\n if (!interactiveEl) return;\n interactiveEl.addEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.addEventListener(\"click\", handleFocusOrClick);\n return () => {\n interactiveEl.removeEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.removeEventListener(\"click\", handleFocusOrClick);\n };\n }, [handleFocusOrClick]);\n useEffect(() => {\n if (isCollapseMode) {\n prevIntersectingRef.current = true;\n }\n }, [isCollapseMode]);\n const isHidden = isCollapseMode && !isIntersecting;\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setRefCallback,\n className: styles[\"toolbar-item\"],\n style: { visibility: isHidden ? \"hidden\" : \"visible\" },\n \"aria-hidden\": isHidden,\n ...{ inert: isHidden ? \"\" : void 0 },\n \"data-id\": itemId,\n \"data-anv\": \"toolbar-item\",\n children\n }\n );\n};\n\nconst ToolbarButtonToggle = forwardRef((props, _ref) => {\n const { className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonToggleClassNames = cx(\n className,\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-button-toggle-item\"]\n );\n const item = children ? /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n size: \"small\",\n \"data-anv\": \"toolbar-button-toggle\",\n className: buttonToggleClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n size: \"small\",\n \"data-anv\": \"toolbar-button-toggle\",\n className: buttonToggleClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"buttonToggle\" }, children: item });\n});\nToolbarButtonToggle.displayName = \"ToolbarButtonToggle\";\n\nconst ToolbarButtonLink = forwardRef(\n (props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonLinkClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = children ? /* @__PURE__ */ jsx(\n ButtonLink,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button-link\",\n className: buttonLinkClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n ButtonLink,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button-link\",\n className: buttonLinkClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"buttonLink\" }, children: item });\n }\n);\nToolbarButtonLink.displayName = \"ToolbarButtonLink\";\n\nconst ToolbarSelect = forwardRef(\n (props, _ref) => {\n const {\n appearance = \"ghost\",\n onChange,\n selected: selectedItemId,\n accessibleLabel,\n className,\n items,\n ...rest\n } = props;\n const selectId = useId();\n const defaultId = items.length > 0 ? items[0].id : \"\";\n const [internalSelectedId, setInternalSelectedId] = useState(defaultId);\n const selectedId = selectedItemId ?? internalSelectedId;\n const selectedItem = items.find((item2) => item2.id === selectedId) || items.find((item2) => item2.id === defaultId);\n useEffect(() => {\n if (!selectedItemId && items.length > 0 && !items.some((item2) => item2.id === internalSelectedId)) {\n setInternalSelectedId(items[0].id);\n }\n }, [items, selectedItemId, internalSelectedId]);\n const handleSelectionChange = (selected) => {\n if (selected?.id) {\n if (selectedItemId === void 0) {\n setInternalSelectedId(selected.id);\n }\n onChange?.(selected.id);\n }\n };\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [\n /* @__PURE__ */ jsx(\n Popover.Button,\n {\n appearance,\n size: \"small\",\n icon: { after: Down },\n className: buttonClassNames,\n id: selectId,\n \"data-anv\": \"toolbar-select\",\n ...rest,\n children: selectedItem?.label\n }\n ),\n /* @__PURE__ */ jsx(\n Popover.Content,\n {\n className: styles[\"toolbar-select-content\"],\n \"aria-label\": `${accessibleLabel} options`,\n children: /* @__PURE__ */ jsx(\n Listbox,\n {\n selected: selectedItem,\n onSelectionChange: handleSelectionChange,\n items,\n \"aria-labelledby\": selectId,\n children: ({ items: items2 }) => items2.map((item2) => /* @__PURE__ */ jsx(Listbox.Option, { item: item2, children: item2.label }, item2.label))\n }\n )\n }\n )\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"select\" }, children: item });\n }\n);\nToolbarSelect.displayName = \"ToolbarSelect\";\n\nconst OverflowItemContext = createContext({\n isInOverflowMenu: false\n});\nconst useOverFlowItemContext = () => useContext(OverflowItemContext);\nconst OverflowItem = ({ itemType, itemProps }) => {\n switch (itemType) {\n case \"button\":\n return /* @__PURE__ */ jsx(ToolbarButton, { ...itemProps });\n case \"buttonToggle\":\n return /* @__PURE__ */ jsx(ToolbarButtonToggle, { ...itemProps });\n case \"buttonLink\":\n return /* @__PURE__ */ jsx(ToolbarButtonLink, { ...itemProps });\n case \"select\":\n return /* @__PURE__ */ jsx(ToolbarSelect, { ...itemProps });\n default:\n return null;\n }\n};\nconst ToolbarOverflowMenu = ({\n additionalItems,\n direction\n}) => {\n const { overflowItems, orderedIds } = useContext(ToolbarOverflowContext);\n const menuTriggerId = useId();\n const orderedItems = useMemo(() => {\n const allElements = orderedIds?.map((id) => {\n return overflowItems.find((item) => item.id === id);\n });\n return allElements?.filter((item) => item !== void 0) || [];\n }, [orderedIds, overflowItems]);\n const popoverButtonClassNames = cx(\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-overflow-trigger\"]\n );\n const overflowIcon = direction === \"horizontal\" ? IconMoreHoriz : MoreVert;\n return /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [\n /* @__PURE__ */ jsx(\n Popover.Button,\n {\n size: \"small\",\n appearance: \"ghost\",\n id: menuTriggerId,\n className: popoverButtonClassNames,\n \"data-anv\": \"toolbar-overflow-trigger\",\n \"aria-label\": \"Additional toolbar options\",\n children: /* @__PURE__ */ jsx(Icon, { svg: overflowIcon, size: \"small\" })\n }\n ),\n /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(OverflowItemContext.Provider, { value: { isInOverflowMenu: true }, children: /* @__PURE__ */ jsxs(\n \"ul\",\n {\n role: \"menu\",\n className: styles[\"toolbar-overflow-content\"],\n \"data-anv\": \"toolbar-overflow-menu\",\n \"aria-labelledby\": menuTriggerId,\n onKeyDown: handleMenuKeyboardNavigation,\n children: [\n orderedItems.map((item) => {\n const { itemType, itemProps, id } = item;\n return /* @__PURE__ */ jsx(\n \"li\",\n {\n role: \"menuitem\",\n \"data-anv\": \"toolbar-overflow-item\",\n children: /* @__PURE__ */ jsx(\n OverflowItem,\n {\n itemType,\n itemProps,\n id\n }\n )\n },\n `${itemType}-${id}`\n );\n }),\n additionalItems?.map((item, index) => /* @__PURE__ */ jsx(\n \"li\",\n {\n role: \"menuitem\",\n \"data-anv\": \"toolbar-overflow-item\",\n children: item\n },\n `additional-item-${index}`\n ))\n ]\n }\n ) }) })\n ] });\n};\n\nconst ToolbarButton = forwardRef(\n (props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = children ? /* @__PURE__ */ jsx(\n Button,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button\",\n className: buttonClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n Button,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button\",\n className: buttonClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"button\" }, children: item });\n }\n);\nToolbarButton.displayName = \"ToolbarButton\";\n\nconst ToolbarOverflowContext = createContext({\n overflowItems: [],\n addItem: () => {\n return;\n },\n removeItem: () => {\n return;\n },\n toolbarRef: { current: null },\n orderedIds: [],\n overflow: \"wrap\"\n});\nconst ToolbarElement = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n associatedContent,\n className,\n children,\n style,\n direction = \"horizontal\",\n overflow = \"wrap\",\n onKeyDown,\n additionalItems,\n ...rest\n } = componentProps;\n const [overflowItems, setOverflowItems] = useState([]);\n const toolbarItemsRef = useRef(null);\n const toolbarRef = useRef(null);\n const [orderedIds, setOrderedIds] = useState([]);\n useEffect(() => {\n const newOrderedIds = Array.from(\n toolbarItemsRef.current?.querySelectorAll(\"[data-id]\") || []\n ).map((el) => {\n return el.getAttribute(\"data-id\");\n });\n setOrderedIds(newOrderedIds);\n }, [children]);\n const addItem = useCallback((item) => {\n setOverflowItems((prev) => [...prev, item]);\n }, []);\n const removeItem = useCallback((item) => {\n setOverflowItems(\n (prev) => prev.filter((component) => component.id !== item.id)\n );\n }, []);\n useEffect(() => {\n if (toolbarRef.current) {\n updateToolbarItemsTabIndex(toolbarRef.current);\n }\n }, [children]);\n const handleKeyDown = useCallback(\n (event) => {\n if (toolbarRef.current) {\n handleToolbarKeyDown(event, toolbarRef.current);\n }\n onKeyDown?.(event);\n },\n [onKeyDown]\n );\n const showOverflowMenu = overflow === \"collapse\" && overflowItems.length > 0 || !!additionalItems;\n const value = useMemo(\n () => ({\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow\n }),\n [overflowItems, addItem, removeItem, toolbarRef, orderedIds, overflow]\n );\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const toolbarClassNames = cx(styles[\"toolbar\"], className);\n const toolbarContentClassNames = cx(styles[\"toolbar-content\"], {\n [styles[`overflow-${overflow}`]]: overflow\n });\n return /* @__PURE__ */ jsx(ToolbarOverflowContext.Provider, { value, children: /* @__PURE__ */ jsxs(\n Flex,\n {\n direction: direction === \"horizontal\" ? \"row\" : \"column\",\n wrap: overflow === \"wrap\" ? \"wrap\" : \"nowrap\",\n alignItems: \"center\",\n className: toolbarClassNames,\n style: styleCombined,\n ref: useMergeRefs([toolbarRef, ref]),\n role: \"toolbar\",\n \"data-anv\": \"toolbar\",\n \"aria-orientation\": direction,\n \"aria-label\": `Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`,\n onKeyDown: handleKeyDown,\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n Flex,\n {\n ref: useMergeRefs([toolbarItemsRef, ref]),\n className: toolbarContentClassNames,\n direction: direction === \"horizontal\" ? \"row\" : \"column\",\n wrap: overflow === \"wrap\" ? \"wrap\" : \"nowrap\",\n alignItems: \"center\",\n grow: 1,\n \"data-anv\": \"toolbar-content\",\n children\n }\n ),\n showOverflowMenu && /* @__PURE__ */ jsx(\n ToolbarOverflowMenu,\n {\n direction,\n additionalItems\n }\n )\n ]\n }\n ) });\n }\n);\nToolbarElement.displayName = \"Toolbar\";\nconst Toolbar = Object.assign(ToolbarElement, {\n /**\n * ToolbarButton component for standard clickable actions within a toolbar.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\n Button: ToolbarButton,\n /**\n * ToolbarButtonToggle component for toggleable actions within a toolbar.\n *\n * Features:\n * - Toggle state management (on/off)\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only toggles\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Visual feedback for toggle state\n * - Proper ARIA attributes for toggle semantics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n *\n * @example\n * <Toolbar.ButtonToggle checked={isItalic}>\n * Italic\n * </Toolbar.ButtonToggle>\n */\n ButtonToggle: ToolbarButtonToggle,\n /**\n * ToolbarButtonLink component for link actions within a toolbar.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only links\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Proper anchor element semantics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n *\n * @example\n * <Toolbar.ButtonLink icon={ExternalLinkIcon} href=\"/docs\" aria-label=\"Documentation\" />\n */\n ButtonLink: ToolbarButtonLink,\n /**\n * ToolbarSelect component provides a dropdown selector within a toolbar.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n *\n * @example\n * <Toolbar.Select\n * appearance=\"primary\"\n * items={colorOptions}\n * accessibleLabel=\"Text color\"\n * />\n */\n Select: ToolbarSelect\n});\n\nexport { Toolbar as T, ToolbarButton as a, ToolbarButtonToggle as b, ToolbarButtonLink as c, ToolbarSelect as d, ToolbarItemWrapper as e, ToolbarOverflowMenu as f };\n//# sourceMappingURL=Toolbar-Cz3oIFU8.js.map\n","import {\n Toolbar as CoreToolbar,\n ToolbarProps as CoreToolbarProps,\n ToolbarButton as CoreToolbarButton,\n ToolbarButtonProps as CoreToolbarButtonProps,\n ToolbarButtonToggle as CoreToolbarButtonToggle,\n ToolbarButtonToggleProps as CoreToolbarButtonToggleProps,\n ToolbarButtonLink as CoreToolbarButtonLink,\n ToolbarButtonLinkProps as CoreToolbarButtonLinkProps,\n ToolbarSelect as CoreToolbarSelect,\n ToolbarSelectProps as CoreToolbarSelectProps,\n ToolbarOverflowTypes as CoreToolbarOverflowTypes,\n ToolbarItemAppearance as CoreToolbarItemAppearance,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Toolbar component with tracking support\n * @property {string} associatedContent - Description of the content this toolbar is associated with, used for accessibility\n * @property {\"vertical\" | \"horizontal\"} [direction] - Orientation of the toolbar\n * @property {ToolbarOverflowTypes} [overflow] - How to handle overflow when items don't fit\n * @property {ReactElement[]} [additionalItems] - Additional items to display in the overflow menu\n * @extends DataTrackingId\n */\nexport type ToolbarProps = CoreToolbarProps & DataTrackingId;\n\n/**\n * Props for the ToolbarButton component with tracking support\n * @property {ToolbarItemAppearance} [appearance] - Visual appearance of the button\n * @property {string} [aria-label] - Accessible label for the button\n * @property {React.ReactNode} [children] - Button content\n * @property {boolean} [disabled] - Whether the button is disabled\n * @extends DataTrackingId\n */\nexport type ToolbarButtonProps = CoreToolbarButtonProps & DataTrackingId;\n\n/**\n * Props for the ToolbarButtonToggle component with tracking support\n * @property {boolean} [checked] - Whether the toggle is checked\n * @property {boolean} [disabled] - Whether the toggle is disabled\n * @property {string} [aria-label] - Accessible label for the toggle\n * @property {React.ReactNode} [children] - Toggle content\n * @extends DataTrackingId\n */\nexport type ToolbarButtonToggleProps = CoreToolbarButtonToggleProps &\n DataTrackingId;\n\n/**\n * Props for the ToolbarButtonLink component with tracking support\n * @property {string} [href] - Link destination URL\n * @property {boolean} [disabled] - Whether the link is disabled\n * @property {string} [aria-label] - Accessible label for the link\n * @property {React.ReactNode} [children] - Link content\n * @property {string} [target] - Link target attribute\n * @extends DataTrackingId\n */\nexport type ToolbarButtonLinkProps = CoreToolbarButtonLinkProps &\n DataTrackingId;\n\n/**\n * Props for the ToolbarSelect component with tracking support\n * @property {string} [selected] - Currently selected item ID\n * @property {boolean} [disabled] - Whether the select is disabled\n * @property {string} [aria-label] - Accessible label for the select\n * @property {unknown[]} [items] - Array of selectable items\n * @extends DataTrackingId\n */\nexport type ToolbarSelectProps<T> = CoreToolbarSelectProps<T> & DataTrackingId;\n\n/**\n * Toolbar overflow behavior options\n */\nexport type ToolbarOverflowTypes = CoreToolbarOverflowTypes;\n\n/**\n * Toolbar item appearance options\n */\nexport type ToolbarItemAppearance = CoreToolbarItemAppearance;\n\n/**\n * Toolbar component for grouping related interactive elements with anvil2 tracking.\n *\n * Features:\n * - Horizontal or vertical orientation\n * - Overflow handling with wrap or collapse behavior\n * - Keyboard navigation following ARIA best practices\n * - Screen reader announcements and accessibility\n * - Automatic overflow menu for collapsed items\n * - Support for buttons, toggles, selects, and links\n * - Layout utilities for positioning and spacing\n * - Context-based state management for child components\n * - Automatic tracking ID generation for analytics\n * - Integration with anvil2 tracking system\n *\n * @example\n * <Toolbar associatedContent=\"document editor\" overflow=\"collapse\">\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold\" />\n * <Toolbar.ButtonToggle icon={ItalicIcon} aria-label=\"Italic\" />\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * />\n * </Toolbar>\n */\nexport function ToolbarElement(props: ToolbarProps) {\n const trackingId = useTrackingId({\n name: \"Toolbar\",\n data: {\n overflow: props.overflow,\n direction: props.direction,\n associatedContent: props.associatedContent,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbar data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\nexport function ToolbarButton(props: ToolbarButtonProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButton\",\n data: {\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButton data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Toggle state management\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\nexport function ToolbarButtonToggle(props: ToolbarButtonToggleProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButtonToggle\",\n data: {\n checked: props.checked,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButtonToggle data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n */\nexport function ToolbarButtonLink(props: ToolbarButtonLinkProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButtonLink\",\n data: {\n href: props.href,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n target: props.target,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButtonLink data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n */\nexport function ToolbarSelect(props: ToolbarSelectProps<unknown>) {\n const trackingId = useTrackingId({\n name: \"ToolbarSelect\",\n data: {\n selected: props.selected,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n items: props.items,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarSelect data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * Toolbar component for grouping related interactive elements.\n *\n * Features:\n * - Horizontal or vertical orientation\n * - Overflow handling with wrap or collapse behavior\n * - Keyboard navigation following ARIA best practices\n * - Screen reader announcements and accessibility\n * - Automatic overflow menu for collapsed items\n * - Support for buttons, toggles, selects, and links\n * - Layout utilities for positioning and spacing\n * - Context-based state management for child components\n *\n * @example\n * <Toolbar associatedContent=\"document editor\" overflow=\"collapse\">\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold\" />\n * <Toolbar.ButtonToggle icon={ItalicIcon} aria-label=\"Italic\" />\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * />\n * </Toolbar>\n */\nexport const Toolbar = Object.assign(ToolbarElement, {\n /**\n * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\n Button: ToolbarButton,\n /**\n * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Toggle state management\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\n ButtonToggle: ToolbarButtonToggle,\n /**\n * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n */\n ButtonLink: ToolbarButtonLink,\n /**\n * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n */\n Select: ToolbarSelect,\n});\n"],"names":["ToolbarButtonToggle","ToolbarButtonLink","ToolbarSelect","Down","ToolbarButton","IconMoreHoriz","MoreVert","ToolbarElement","Toolbar","CoreToolbar","CoreToolbarButton","CoreToolbarButtonToggle","CoreToolbarButtonLink","CoreToolbarSelect"],"mappings":"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K,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC3D,cAAc,UAAU,EAAE,QAAQ;AAClC,cAAc,IAAI,EAAE,CAAC;AACrB,cAAc,UAAU,EAAE,iBAAiB;AAC3C,cAAc;AACd;AACA,WAAW;AACX,UAAU,gBAAgB,oBAAoB,GAAG;AACjD,YAAY,mBAAmB;AAC/B,YAAY;AACZ,cAAc,SAAS;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK,EAAE,CAAC;AACR;AACA,CAAC;AACDA,gBAAc,CAAC,WAAW,GAAG,SAAS;AACtC,MAAMC,SAAO,GAAG,MAAM,CAAC,MAAM,CAACD,gBAAc,EAAE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAEH,eAAa;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,EAAEJ,qBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAEC,mBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAEC;AACV,CAAC,CAAC;;ACvlBK,SAAS,eAAe,KAAqB,EAAA;AAClD,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,SAAA;AAAA,IACN,IAAM,EAAA;AAAA,MACJ,UAAU,KAAM,CAAA,QAAA;AAAA,MAChB,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,mBAAmB,KAAM,CAAA;AAAA,KAC3B;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GA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"}
1
+ {"version":3,"file":"Toolbar-BznMJKGJ.js","sources":["../../hammer-react/dist/useIntersectionObserver-BEmMDO3P.js","../../hammer-react/dist/Toolbar-z_R2GoaM.js","../src/components/Toolbar/Toolbar.tsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\n\nfunction useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange\n} = {}) {\n const [ref, setRef] = useState(null);\n const [state, setState] = useState(() => ({\n isIntersecting: initialIsIntersecting,\n entry: void 0\n }));\n const callbackRef = useRef();\n callbackRef.current = onChange;\n const frozen = state.entry?.isIntersecting && freezeOnceVisible;\n useEffect(() => {\n if (!ref) return;\n if (!(\"IntersectionObserver\" in window)) return;\n if (frozen) return;\n const observer = new IntersectionObserver(\n (entries) => {\n const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n entries.forEach((entry) => {\n const isIntersecting = entry.isIntersecting && thresholds.some(\n (threshold2) => entry.intersectionRatio >= threshold2\n );\n setState({ isIntersecting, entry });\n if (callbackRef.current) {\n callbackRef.current(isIntersecting, entry);\n }\n });\n },\n { threshold, root, rootMargin }\n );\n observer.observe(ref);\n return () => {\n observer.disconnect();\n };\n }, [\n ref,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold),\n root,\n rootMargin,\n frozen,\n freezeOnceVisible\n ]);\n const prevRef = useRef(null);\n useEffect(() => {\n if (!ref && state.entry?.target && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n prevRef.current = state.entry.target;\n setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n }\n }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n const result = [\n setRef,\n !!state.isIntersecting,\n state.entry\n ];\n result.ref = result[0];\n result.isIntersecting = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { useIntersectionObserver as u };\n//# sourceMappingURL=useIntersectionObserver-BEmMDO3P.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { useContext, useId, useRef, useCallback, useEffect, forwardRef, useState, useMemo, createContext } from 'react';\nimport { B as Button } from './Button-BaHFf1AT.js';\nimport { B as ButtonToggle } from './ButtonToggle-Bm4KRl3o.js';\nimport { P as Popover } from './Popover-CU2cGVD8.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport IconMoreHoriz from '@servicetitan/hammer-icon/mdi/round/more_horiz.svg';\nimport MoreVert from '@servicetitan/hammer-icon/mdi/round//more_vert.svg';\nimport { B as ButtonLink } from './ButtonLink-5qlX0uZx.js';\nimport cx from 'classnames';\nimport { g as Tooltip } from './ProgressBar-BRvB-bD4.js';\nimport { L as Listbox } from './Listbox-B-WUuj-_.js';\nimport Down from '@servicetitan/hammer-icon/mdi/round/arrow_drop_down.svg';\nimport { getKeyboardFocusableElements } from './getKeyboardFocusableElements.js';\nimport { F as Flex } from './Flex-CiK7uNUu.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';\n\nimport './Toolbar.css';const toolbar = \"_toolbar_a1ext_3\";\nconst styles = {\n\ttoolbar: toolbar,\n\t\"toolbar-content\": \"_toolbar-content_a1ext_10\",\n\t\"toolbar-overflow-content\": \"_toolbar-overflow-content_a1ext_13\",\n\t\"toolbar-button-item\": \"_toolbar-button-item_a1ext_21\",\n\t\"toolbar-item\": \"_toolbar-item_a1ext_27\",\n\t\"overflow-collapse\": \"_overflow-collapse_a1ext_31\",\n\t\"toolbar-button-toggle-item\": \"_toolbar-button-toggle-item_a1ext_55\",\n\t\"toolbar-overflow-trigger\": \"_toolbar-overflow-trigger_a1ext_61\"\n};\n\nfunction getToolbarElements(toolbarElement) {\n const toolbarContent = toolbarElement.querySelector(\n '[data-anv=\"toolbar-content\"]'\n );\n const mainItems = getKeyboardFocusableElements(toolbarContent).filter(\n (item) => {\n const isVisible = !item.closest('[aria-hidden=\"true\"]');\n return isVisible;\n }\n );\n const overflowTrigger = toolbarElement.querySelector(\n '[data-anv=\"toolbar-overflow-trigger\"]'\n );\n return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;\n}\nfunction updateToolbarItemsTabIndex(toolbarElement, activeItem) {\n if (!toolbarElement) return;\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n let activeIndex = 0;\n if (typeof activeItem === \"number\") {\n activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));\n } else if (activeItem instanceof Element) {\n const foundIndex = items.indexOf(activeItem);\n if (foundIndex !== -1) {\n activeIndex = foundIndex;\n }\n }\n items.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === activeIndex ? \"0\" : \"-1\");\n });\n return items[activeIndex];\n}\nfunction handleToolbarKeyDown(event, toolbarElement) {\n if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n const activeElement = event.target;\n if (!toolbarElement.contains(activeElement)) return;\n const activeItem = items.find(\n (item) => item === activeElement || Array.from(item.children).some((child) => child === activeElement)\n );\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n if (activeIndex === -1) return;\n let nextIndex = activeIndex;\n const isVertical = toolbarElement.getAttribute(\"aria-orientation\") === \"vertical\";\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n if (isVertical && event.key === \"ArrowUp\" || !isVertical && event.key === \"ArrowLeft\") {\n nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;\n }\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n if (isVertical && event.key === \"ArrowDown\" || !isVertical && event.key === \"ArrowRight\") {\n nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;\n }\n break;\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n default:\n return;\n }\n updateToolbarItemsTabIndex(toolbarElement, nextIndex);\n items[nextIndex]?.focus();\n}\nconst handleMenuKeyboardNavigation = (event) => {\n const menuItems = Array.from(\n event.currentTarget.querySelectorAll('[role=\"menuitem\"]')\n ).map((menuItem) => {\n return getKeyboardFocusableElements(menuItem)[0] || menuItem;\n });\n if (!menuItems.length) return;\n const currentIndex = menuItems.indexOf(document.activeElement);\n if (currentIndex === -1) return;\n let nextIndex = currentIndex;\n const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;\n if (isModifierKey) return;\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n nextIndex = (currentIndex + direction + menuItems.length) % menuItems.length;\n break;\n }\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = menuItems.length - 1;\n break;\n default:\n return;\n }\n menuItems[nextIndex]?.focus();\n};\n\nconst ToolbarItemWrapper = ({\n item,\n children\n}) => {\n const { addItem, removeItem, toolbarRef, overflow } = useContext(\n ToolbarOverflowContext\n );\n const itemId = useId();\n const elementRef = useRef(null);\n const prevIntersectingRef = useRef(true);\n const isCollapseMode = overflow === \"collapse\";\n const handleVisibilityChange = useCallback(\n (isVisible) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, item, itemId, addItem, removeItem]\n );\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? toolbarRef.current : null,\n threshold: 1,\n initialIsIntersecting: false,\n onChange: handleVisibilityChange\n });\n const setRefCallback = useCallback(\n (node) => {\n elementRef.current = node;\n if (isCollapseMode) {\n ref(node);\n }\n },\n [ref, isCollapseMode]\n );\n const handleFocusOrClick = useCallback(() => {\n if (!toolbarRef.current || !elementRef.current) return;\n const currentElement = elementRef.current.querySelector(\"button, a, input\");\n if (!currentElement) return;\n updateToolbarItemsTabIndex(toolbarRef.current, currentElement);\n }, [toolbarRef]);\n useEffect(() => {\n const interactiveEl = elementRef.current?.querySelector(\"button, a, input\");\n if (!interactiveEl) return;\n interactiveEl.addEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.addEventListener(\"click\", handleFocusOrClick);\n return () => {\n interactiveEl.removeEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.removeEventListener(\"click\", handleFocusOrClick);\n };\n }, [handleFocusOrClick]);\n useEffect(() => {\n if (isCollapseMode) {\n prevIntersectingRef.current = true;\n }\n }, [isCollapseMode]);\n const isHidden = isCollapseMode && !isIntersecting;\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setRefCallback,\n className: styles[\"toolbar-item\"],\n style: { visibility: isHidden ? \"hidden\" : \"visible\" },\n \"aria-hidden\": isHidden,\n ...{ inert: isHidden ? \"\" : void 0 },\n \"data-id\": itemId,\n \"data-anv\": \"toolbar-item\",\n children\n }\n );\n};\n\nconst ToolbarButtonToggle = forwardRef((props, _ref) => {\n const { className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonToggleClassNames = cx(\n className,\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-button-toggle-item\"]\n );\n const item = children ? /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n size: \"small\",\n \"data-anv\": \"toolbar-button-toggle\",\n className: buttonToggleClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n size: \"small\",\n \"data-anv\": \"toolbar-button-toggle\",\n className: buttonToggleClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"buttonToggle\" }, children: item });\n});\nToolbarButtonToggle.displayName = \"ToolbarButtonToggle\";\n\nconst ToolbarButtonLink = forwardRef(\n (props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonLinkClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = children ? /* @__PURE__ */ jsx(\n ButtonLink,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button-link\",\n className: buttonLinkClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n ButtonLink,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button-link\",\n className: buttonLinkClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"buttonLink\" }, children: item });\n }\n);\nToolbarButtonLink.displayName = \"ToolbarButtonLink\";\n\nconst ToolbarSelect = forwardRef(\n (props, _ref) => {\n const {\n appearance = \"ghost\",\n onChange,\n selected: selectedItemId,\n accessibleLabel,\n className,\n items,\n ...rest\n } = props;\n const selectId = useId();\n const defaultId = items.length > 0 ? items[0].id : \"\";\n const [internalSelectedId, setInternalSelectedId] = useState(defaultId);\n const selectedId = selectedItemId ?? internalSelectedId;\n const selectedItem = items.find((item2) => item2.id === selectedId) || items.find((item2) => item2.id === defaultId);\n useEffect(() => {\n if (!selectedItemId && items.length > 0 && !items.some((item2) => item2.id === internalSelectedId)) {\n setInternalSelectedId(items[0].id);\n }\n }, [items, selectedItemId, internalSelectedId]);\n const handleSelectionChange = (selected) => {\n if (selected?.id) {\n if (selectedItemId === void 0) {\n setInternalSelectedId(selected.id);\n }\n onChange?.(selected.id);\n }\n };\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [\n /* @__PURE__ */ jsx(\n Popover.Button,\n {\n appearance,\n size: \"small\",\n icon: { after: Down },\n className: buttonClassNames,\n id: selectId,\n \"data-anv\": \"toolbar-select\",\n ...rest,\n children: selectedItem?.label\n }\n ),\n /* @__PURE__ */ jsx(\n Popover.Content,\n {\n className: styles[\"toolbar-select-content\"],\n \"aria-label\": `${accessibleLabel} options`,\n children: /* @__PURE__ */ jsx(\n Listbox,\n {\n selected: selectedItem,\n onSelectionChange: handleSelectionChange,\n items,\n \"aria-labelledby\": selectId,\n children: ({ items: items2 }) => items2.map((item2) => /* @__PURE__ */ jsx(Listbox.Option, { item: item2, children: item2.label }, item2.label))\n }\n )\n }\n )\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"select\" }, children: item });\n }\n);\nToolbarSelect.displayName = \"ToolbarSelect\";\n\nconst OverflowItemContext = createContext({\n isInOverflowMenu: false\n});\nconst useOverFlowItemContext = () => useContext(OverflowItemContext);\nconst OverflowItem = ({ itemType, itemProps }) => {\n switch (itemType) {\n case \"button\":\n return /* @__PURE__ */ jsx(ToolbarButton, { ...itemProps });\n case \"buttonToggle\":\n return /* @__PURE__ */ jsx(ToolbarButtonToggle, { ...itemProps });\n case \"buttonLink\":\n return /* @__PURE__ */ jsx(ToolbarButtonLink, { ...itemProps });\n case \"select\":\n return /* @__PURE__ */ jsx(ToolbarSelect, { ...itemProps });\n default:\n return null;\n }\n};\nconst ToolbarOverflowMenu = ({\n additionalItems,\n direction\n}) => {\n const { overflowItems, orderedIds } = useContext(ToolbarOverflowContext);\n const menuTriggerId = useId();\n const orderedItems = useMemo(() => {\n const allElements = orderedIds?.map((id) => {\n return overflowItems.find((item) => item.id === id);\n });\n return allElements?.filter((item) => item !== void 0) || [];\n }, [orderedIds, overflowItems]);\n const popoverButtonClassNames = cx(\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-overflow-trigger\"]\n );\n const overflowIcon = direction === \"horizontal\" ? IconMoreHoriz : MoreVert;\n return /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [\n /* @__PURE__ */ jsx(\n Popover.Button,\n {\n size: \"small\",\n appearance: \"ghost\",\n id: menuTriggerId,\n className: popoverButtonClassNames,\n \"data-anv\": \"toolbar-overflow-trigger\",\n \"aria-label\": \"Additional toolbar options\",\n children: /* @__PURE__ */ jsx(Icon, { svg: overflowIcon, size: \"small\" })\n }\n ),\n /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(OverflowItemContext.Provider, { value: { isInOverflowMenu: true }, children: /* @__PURE__ */ jsxs(\n \"ul\",\n {\n role: \"menu\",\n className: styles[\"toolbar-overflow-content\"],\n \"data-anv\": \"toolbar-overflow-menu\",\n \"aria-labelledby\": menuTriggerId,\n onKeyDown: handleMenuKeyboardNavigation,\n children: [\n orderedItems.map((item) => {\n const { itemType, itemProps, id } = item;\n return /* @__PURE__ */ jsx(\n \"li\",\n {\n role: \"menuitem\",\n \"data-anv\": \"toolbar-overflow-item\",\n children: /* @__PURE__ */ jsx(\n OverflowItem,\n {\n itemType,\n itemProps,\n id\n }\n )\n },\n `${itemType}-${id}`\n );\n }),\n additionalItems?.map((item, index) => /* @__PURE__ */ jsx(\n \"li\",\n {\n role: \"menuitem\",\n \"data-anv\": \"toolbar-overflow-item\",\n children: item\n },\n `additional-item-${index}`\n ))\n ]\n }\n ) }) })\n ] });\n};\n\nconst ToolbarButton = forwardRef(\n (props, _ref) => {\n const { appearance = \"ghost\", className, children, ...rest } = props;\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const buttonClassNames = cx(className, styles[\"toolbar-button-item\"]);\n const item = children ? /* @__PURE__ */ jsx(\n Button,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button\",\n className: buttonClassNames,\n ...rest,\n children\n }\n ) : /* @__PURE__ */ jsxs(Tooltip, { children: [\n /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(\n Button,\n {\n appearance,\n size: \"small\",\n \"data-anv\": \"toolbar-button\",\n className: buttonClassNames,\n ...rest\n }\n ) }),\n /* @__PURE__ */ jsx(Tooltip.Content, { children: rest[\"aria-label\"] })\n ] });\n if (isInOverflowMenu) {\n return item;\n }\n return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: \"button\" }, children: item });\n }\n);\nToolbarButton.displayName = \"ToolbarButton\";\n\nconst ToolbarOverflowContext = createContext({\n overflowItems: [],\n addItem: () => {\n return;\n },\n removeItem: () => {\n return;\n },\n toolbarRef: { current: null },\n orderedIds: [],\n overflow: \"wrap\"\n});\nconst ToolbarElement = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n associatedContent,\n className,\n children,\n style,\n direction = \"horizontal\",\n overflow = \"wrap\",\n onKeyDown,\n additionalItems,\n ...rest\n } = componentProps;\n const [overflowItems, setOverflowItems] = useState([]);\n const toolbarItemsRef = useRef(null);\n const toolbarRef = useRef(null);\n const [orderedIds, setOrderedIds] = useState([]);\n useEffect(() => {\n const newOrderedIds = Array.from(\n toolbarItemsRef.current?.querySelectorAll(\"[data-id]\") || []\n ).map((el) => {\n return el.getAttribute(\"data-id\");\n });\n setOrderedIds(newOrderedIds);\n }, [children]);\n const addItem = useCallback((item) => {\n setOverflowItems((prev) => [...prev, item]);\n }, []);\n const removeItem = useCallback((item) => {\n setOverflowItems(\n (prev) => prev.filter((component) => component.id !== item.id)\n );\n }, []);\n useEffect(() => {\n if (toolbarRef.current) {\n updateToolbarItemsTabIndex(toolbarRef.current);\n }\n }, [children]);\n const handleKeyDown = useCallback(\n (event) => {\n if (toolbarRef.current) {\n handleToolbarKeyDown(event, toolbarRef.current);\n }\n onKeyDown?.(event);\n },\n [onKeyDown]\n );\n const showOverflowMenu = overflow === \"collapse\" && overflowItems.length > 0 || !!additionalItems;\n const value = useMemo(\n () => ({\n overflowItems,\n addItem,\n removeItem,\n toolbarRef,\n orderedIds,\n overflow\n }),\n [overflowItems, addItem, removeItem, toolbarRef, orderedIds, overflow]\n );\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const toolbarClassNames = cx(styles[\"toolbar\"], className);\n const toolbarContentClassNames = cx(styles[\"toolbar-content\"], {\n [styles[`overflow-${overflow}`]]: overflow\n });\n return /* @__PURE__ */ jsx(ToolbarOverflowContext.Provider, { value, children: /* @__PURE__ */ jsxs(\n Flex,\n {\n direction: direction === \"horizontal\" ? \"row\" : \"column\",\n wrap: overflow === \"wrap\" ? \"wrap\" : \"nowrap\",\n alignItems: \"center\",\n className: toolbarClassNames,\n style: styleCombined,\n ref: useMergeRefs([toolbarRef, ref]),\n role: \"toolbar\",\n \"data-anv\": \"toolbar\",\n \"aria-orientation\": direction,\n \"aria-label\": `Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`,\n onKeyDown: handleKeyDown,\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n Flex,\n {\n ref: useMergeRefs([toolbarItemsRef, ref]),\n className: toolbarContentClassNames,\n direction: direction === \"horizontal\" ? \"row\" : \"column\",\n wrap: overflow === \"wrap\" ? \"wrap\" : \"nowrap\",\n alignItems: \"center\",\n grow: 1,\n \"data-anv\": \"toolbar-content\",\n children\n }\n ),\n showOverflowMenu && /* @__PURE__ */ jsx(\n ToolbarOverflowMenu,\n {\n direction,\n additionalItems\n }\n )\n ]\n }\n ) });\n }\n);\nToolbarElement.displayName = \"Toolbar\";\nconst Toolbar = Object.assign(ToolbarElement, {\n /**\n * ToolbarButton component for standard clickable actions within a toolbar.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\n Button: ToolbarButton,\n /**\n * ToolbarButtonToggle component for toggleable actions within a toolbar.\n *\n * Features:\n * - Toggle state management (on/off)\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only toggles\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Visual feedback for toggle state\n * - Proper ARIA attributes for toggle semantics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n *\n * @example\n * <Toolbar.ButtonToggle checked={isItalic}>\n * Italic\n * </Toolbar.ButtonToggle>\n */\n ButtonToggle: ToolbarButtonToggle,\n /**\n * ToolbarButtonLink component for link actions within a toolbar.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only links\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Proper anchor element semantics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n *\n * @example\n * <Toolbar.ButtonLink icon={ExternalLinkIcon} href=\"/docs\" aria-label=\"Documentation\" />\n */\n ButtonLink: ToolbarButtonLink,\n /**\n * ToolbarSelect component provides a dropdown selector within a toolbar.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n *\n * @example\n * <Toolbar.Select\n * appearance=\"primary\"\n * items={colorOptions}\n * accessibleLabel=\"Text color\"\n * />\n */\n Select: ToolbarSelect\n});\n\nexport { Toolbar as T, ToolbarButton as a, ToolbarButtonToggle as b, ToolbarButtonLink as c, ToolbarSelect as d, ToolbarItemWrapper as e, ToolbarOverflowMenu as f };\n//# sourceMappingURL=Toolbar-z_R2GoaM.js.map\n","import {\n Toolbar as CoreToolbar,\n ToolbarProps as CoreToolbarProps,\n ToolbarButton as CoreToolbarButton,\n ToolbarButtonProps as CoreToolbarButtonProps,\n ToolbarButtonToggle as CoreToolbarButtonToggle,\n ToolbarButtonToggleProps as CoreToolbarButtonToggleProps,\n ToolbarButtonLink as CoreToolbarButtonLink,\n ToolbarButtonLinkProps as CoreToolbarButtonLinkProps,\n ToolbarSelect as CoreToolbarSelect,\n ToolbarSelectProps as CoreToolbarSelectProps,\n ToolbarOverflowTypes as CoreToolbarOverflowTypes,\n ToolbarItemAppearance as CoreToolbarItemAppearance,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Toolbar component with tracking support\n * @property {string} associatedContent - Description of the content this toolbar is associated with, used for accessibility\n * @property {\"vertical\" | \"horizontal\"} [direction] - Orientation of the toolbar\n * @property {ToolbarOverflowTypes} [overflow] - How to handle overflow when items don't fit\n * @property {ReactElement[]} [additionalItems] - Additional items to display in the overflow menu\n * @extends DataTrackingId\n */\nexport type ToolbarProps = CoreToolbarProps & DataTrackingId;\n\n/**\n * Props for the ToolbarButton component with tracking support\n * @property {ToolbarItemAppearance} [appearance] - Visual appearance of the button\n * @property {string} [aria-label] - Accessible label for the button\n * @property {React.ReactNode} [children] - Button content\n * @property {boolean} [disabled] - Whether the button is disabled\n * @extends DataTrackingId\n */\nexport type ToolbarButtonProps = CoreToolbarButtonProps & DataTrackingId;\n\n/**\n * Props for the ToolbarButtonToggle component with tracking support\n * @property {boolean} [checked] - Whether the toggle is checked\n * @property {boolean} [disabled] - Whether the toggle is disabled\n * @property {string} [aria-label] - Accessible label for the toggle\n * @property {React.ReactNode} [children] - Toggle content\n * @extends DataTrackingId\n */\nexport type ToolbarButtonToggleProps = CoreToolbarButtonToggleProps &\n DataTrackingId;\n\n/**\n * Props for the ToolbarButtonLink component with tracking support\n * @property {string} [href] - Link destination URL\n * @property {boolean} [disabled] - Whether the link is disabled\n * @property {string} [aria-label] - Accessible label for the link\n * @property {React.ReactNode} [children] - Link content\n * @property {string} [target] - Link target attribute\n * @extends DataTrackingId\n */\nexport type ToolbarButtonLinkProps = CoreToolbarButtonLinkProps &\n DataTrackingId;\n\n/**\n * Props for the ToolbarSelect component with tracking support\n * @property {string} [selected] - Currently selected item ID\n * @property {boolean} [disabled] - Whether the select is disabled\n * @property {string} [aria-label] - Accessible label for the select\n * @property {unknown[]} [items] - Array of selectable items\n * @extends DataTrackingId\n */\nexport type ToolbarSelectProps<T> = CoreToolbarSelectProps<T> & DataTrackingId;\n\n/**\n * Toolbar overflow behavior options\n */\nexport type ToolbarOverflowTypes = CoreToolbarOverflowTypes;\n\n/**\n * Toolbar item appearance options\n */\nexport type ToolbarItemAppearance = CoreToolbarItemAppearance;\n\n/**\n * Toolbar component for grouping related interactive elements with anvil2 tracking.\n *\n * Features:\n * - Horizontal or vertical orientation\n * - Overflow handling with wrap or collapse behavior\n * - Keyboard navigation following ARIA best practices\n * - Screen reader announcements and accessibility\n * - Automatic overflow menu for collapsed items\n * - Support for buttons, toggles, selects, and links\n * - Layout utilities for positioning and spacing\n * - Context-based state management for child components\n * - Automatic tracking ID generation for analytics\n * - Integration with anvil2 tracking system\n *\n * @example\n * <Toolbar associatedContent=\"document editor\" overflow=\"collapse\">\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold\" />\n * <Toolbar.ButtonToggle icon={ItalicIcon} aria-label=\"Italic\" />\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * />\n * </Toolbar>\n */\nexport function ToolbarElement(props: ToolbarProps) {\n const trackingId = useTrackingId({\n name: \"Toolbar\",\n data: {\n overflow: props.overflow,\n direction: props.direction,\n associatedContent: props.associatedContent,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbar data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\nexport function ToolbarButton(props: ToolbarButtonProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButton\",\n data: {\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButton data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Toggle state management\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\nexport function ToolbarButtonToggle(props: ToolbarButtonToggleProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButtonToggle\",\n data: {\n checked: props.checked,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButtonToggle data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n */\nexport function ToolbarButtonLink(props: ToolbarButtonLinkProps) {\n const trackingId = useTrackingId({\n name: \"ToolbarButtonLink\",\n data: {\n href: props.href,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n target: props.target,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarButtonLink data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n */\nexport function ToolbarSelect(props: ToolbarSelectProps<unknown>) {\n const trackingId = useTrackingId({\n name: \"ToolbarSelect\",\n data: {\n selected: props.selected,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n items: props.items,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return <CoreToolbarSelect data-tracking-id={trackingId} {...props} />;\n}\n\n/**\n * Toolbar component for grouping related interactive elements.\n *\n * Features:\n * - Horizontal or vertical orientation\n * - Overflow handling with wrap or collapse behavior\n * - Keyboard navigation following ARIA best practices\n * - Screen reader announcements and accessibility\n * - Automatic overflow menu for collapsed items\n * - Support for buttons, toggles, selects, and links\n * - Layout utilities for positioning and spacing\n * - Context-based state management for child components\n *\n * @example\n * <Toolbar associatedContent=\"document editor\" overflow=\"collapse\">\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold\" />\n * <Toolbar.ButtonToggle icon={ItalicIcon} aria-label=\"Italic\" />\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * />\n * </Toolbar>\n */\nexport const Toolbar = Object.assign(ToolbarElement, {\n /**\n * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only buttons\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Button icon={BoldIcon} aria-label=\"Bold text\" />\n *\n * @example\n * <Toolbar.Button appearance=\"primary\">\n * Save\n * </Toolbar.Button>\n */\n Button: ToolbarButton,\n /**\n * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Toggle state management\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n */\n ButtonToggle: ToolbarButtonToggle,\n /**\n * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Link functionality with href support\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.ButtonLink href=\"/help\">\n * Help\n * </Toolbar.ButtonLink>\n */\n ButtonLink: ToolbarButtonLink,\n /**\n * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.\n *\n * Features:\n * - Dropdown menu with selectable options\n * - Controlled and uncontrolled usage patterns\n * - Automatic overflow menu integration\n * - Accessibility support with proper ARIA labels\n * - Small size optimized for toolbar layout\n * - Ghost and primary appearance options\n * - Dropdown arrow icon indicator\n * - Listbox integration for keyboard navigation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Toolbar.Select\n * items={fontOptions}\n * selected=\"arial\"\n * accessibleLabel=\"Font family\"\n * onChange={(id) => setFont(id)}\n * />\n */\n Select: ToolbarSelect,\n});\n"],"names":["ToolbarButtonToggle","ToolbarButtonLink","ToolbarSelect","Down","ToolbarButton","IconMoreHoriz","MoreVert","ToolbarElement","Toolbar","CoreToolbar","CoreToolbarButton","CoreToolbarButtonToggle","CoreToolbarButtonLink","CoreToolbarSelect"],"mappings":"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K,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC3D,cAAc,UAAU,EAAE,QAAQ;AAClC,cAAc,IAAI,EAAE,CAAC;AACrB,cAAc,UAAU,EAAE,iBAAiB;AAC3C,cAAc;AACd;AACA,WAAW;AACX,UAAU,gBAAgB,oBAAoB,GAAG;AACjD,YAAY,mBAAmB;AAC/B,YAAY;AACZ,cAAc,SAAS;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK,EAAE,CAAC;AACR;AACA,CAAC;AACDA,gBAAc,CAAC,WAAW,GAAG,SAAS;AACtC,MAAMC,SAAO,GAAG,MAAM,CAAC,MAAM,CAACD,gBAAc,EAAE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAEH,eAAa;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,EAAEJ,qBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAEC,mBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAEC;AACV,CAAC,CAAC;;ACvlBK,SAAS,eAAe,KAAqB,EAAA;AAClD,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,SAAA;AAAA,IACN,IAAM,EAAA;AAAA,MACJ,UAAU,KAAM,CAAA,QAAA;AAAA,MAChB,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,mBAAmB,KAAM,CAAA;AAAA,KAC3B;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GA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"}
package/dist/Toolbar.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Toolbar, b as ToolbarButton, d as ToolbarButtonLink, c as ToolbarButtonToggle, a as ToolbarElement, e as ToolbarSelect, T as default } from './Toolbar-BM78DEEM.js';
1
+ export { T as Toolbar, b as ToolbarButton, d as ToolbarButtonLink, c as ToolbarButtonToggle, a as ToolbarElement, e as ToolbarSelect, T as default } from './Toolbar-BznMJKGJ.js';
2
2
  //# sourceMappingURL=Toolbar.js.map
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { useTrackingId } from './useTrackingId.js';
4
4
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
5
- import { T as TooltipTrigger$1, e as TooltipContent$1, f as Tooltip$1 } from './ProgressBar-BezETeA3-CeeedJ_w.js';
5
+ import { T as TooltipTrigger$1, e as TooltipContent$1, f as Tooltip$1 } from './ProgressBar-BRvB-bD4-DppwBrFg.js';
6
6
 
7
7
  const TooltipElement = (props) => {
8
8
  return /* @__PURE__ */ jsx(Tooltip$1, { ...props });
@@ -70,4 +70,4 @@ const Tooltip = Object.assign(TooltipElement, {
70
70
  });
71
71
 
72
72
  export { Tooltip as T, TooltipTrigger as a, TooltipContent as b };
73
- //# sourceMappingURL=Tooltip-ZFFXA77Y.js.map
73
+ //# sourceMappingURL=Tooltip-C2HQDvYj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip-ZFFXA77Y.js","sources":["../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n TooltipProps as CoreTooltipProps,\n Tooltip as CoreTooltip,\n TooltipTrigger as CoreTooltipTrigger,\n TooltipTriggerProps as CoreTooltipTriggerProps,\n TooltipContent as CoreTooltipContent,\n TooltipContentProps as CoreTooltipContentProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\n\n/**\n * Props for the Tooltip component\n * @property {ComponentPropsWithoutRef<\"div\">[\"children\"]} [children] - The content to be wrapped by the tooltip\n * @property {string} [id] - Unique identifier for the tooltip\n * @property {boolean} [disableShift] - Disables the shift of floating element\n * @property {boolean} [disableFlip] - Disables the flip of floating element\n * @property {boolean} [disableFlipFallback] - Disables the flip cross-axis fallback of floating element\n * @property {boolean} [openOnHover] - Changes interaction to use hover\n * @property {Placement} [placement] - Changes height and positioning for select/combobox\n * @property {boolean} [open] - Controls the open state of the tooltip\n * @property {boolean} [defaultOpen] - Default open state of the tooltip\n * @property {UseFloatingOptions[\"onOpenChange\"]} [onOpenChange] - Callback when open state changes\n * @property {number} [delay] - Delay before showing the tooltip\n * @property {number} [offset] - Offset distance from the trigger element\n * @property {Placement[]} [fallbackPlacements] - Fallback placement options\n * @property {HTMLElement | React.MutableRefObject<HTMLElement | null> | null} [root] - Root element for the tooltip\n * @extends DataTrackingId\n */\nexport type TooltipProps = CoreTooltipProps;\n\n/**\n * Props for the TooltipTrigger component\n * @property {ReactElement} children - The element that triggers the tooltip\n * @extends DataTrackingId\n */\nexport type TooltipTriggerProps = CoreTooltipTriggerProps & DataTrackingId;\n\n/**\n * Props for the TooltipContent component\n */\nexport type TooltipContentProps = CoreTooltipContentProps;\n\nconst TooltipElement = (props: TooltipProps) => {\n return <CoreTooltip {...props} />;\n};\n\n/**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Automatic tracking ID generation for analytics\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\nexport const TooltipTrigger = forwardRef(\n (props: TooltipTriggerProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"TooltipTrigger\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreTooltipTrigger ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nTooltipTrigger.displayName = CoreTooltipTrigger.displayName;\n\n/**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\nexport const TooltipContent = forwardRef(\n (props: TooltipContentProps, ref: Ref<HTMLDivElement>) => {\n return <CoreTooltipContent ref={ref} {...props} />;\n },\n);\nTooltipContent.displayName = CoreTooltipContent.displayName;\n\n// export const useTooltipContext = useCoreTooltipContext;\n\n/**\n * Tooltip component for displaying contextual information on hover or focus.\n *\n * Features:\n * - Displays contextual information when hovering over or focusing on elements\n * - Supports multiple placement options (top, bottom, left, right)\n * - Automatic positioning with fallback placements\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Supports controlled and uncontrolled open states\n * - Configurable delay and offset settings\n * - Automatic tracking ID generation for analytics\n * - Uses modern Popover API with fallback to legacy implementation\n * - Automatic arrow positioning and rotation\n * - Real-time position updates during scroll and resize\n *\n * @example\n * <Tooltip placement=\"top\" delay={200}>\n * <Tooltip.Trigger>\n * <Button>Hover me</Button>\n * </Tooltip.Trigger>\n * <Tooltip.Content>This is helpful information</Tooltip.Content>\n * </Tooltip>\n */\nexport const Tooltip = Object.assign(TooltipElement, {\n /**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Automatic tracking ID generation for analytics\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\n Trigger: TooltipTrigger,\n /**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\n Content: TooltipContent,\n});\n"],"names":["CoreTooltip","CoreTooltipTrigger","CoreTooltipContent"],"mappings":";;;;;;AA6CA,MAAM,cAAA,GAAiB,CAAC,KAAwB,KAAA;AAC9C,EAAO,uBAAA,GAAA,CAACA,SAAa,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACjC,CAAA;AAoBO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,gBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,2BACGC,gBAAmB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG7E;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AAqBzC,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,uBAAQ,GAAA,CAAAC,gBAAA,EAAA,EAAmB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEpD;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AA2BnC,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAgB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBnD,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBT,OAAS,EAAA;AACX,CAAC;;;;"}
1
+ {"version":3,"file":"Tooltip-C2HQDvYj.js","sources":["../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n TooltipProps as CoreTooltipProps,\n Tooltip as CoreTooltip,\n TooltipTrigger as CoreTooltipTrigger,\n TooltipTriggerProps as CoreTooltipTriggerProps,\n TooltipContent as CoreTooltipContent,\n TooltipContentProps as CoreTooltipContentProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\n\n/**\n * Props for the Tooltip component\n * @property {ComponentPropsWithoutRef<\"div\">[\"children\"]} [children] - The content to be wrapped by the tooltip\n * @property {string} [id] - Unique identifier for the tooltip\n * @property {boolean} [disableShift] - Disables the shift of floating element\n * @property {boolean} [disableFlip] - Disables the flip of floating element\n * @property {boolean} [disableFlipFallback] - Disables the flip cross-axis fallback of floating element\n * @property {boolean} [openOnHover] - Changes interaction to use hover\n * @property {Placement} [placement] - Changes height and positioning for select/combobox\n * @property {boolean} [open] - Controls the open state of the tooltip\n * @property {boolean} [defaultOpen] - Default open state of the tooltip\n * @property {UseFloatingOptions[\"onOpenChange\"]} [onOpenChange] - Callback when open state changes\n * @property {number} [delay] - Delay before showing the tooltip\n * @property {number} [offset] - Offset distance from the trigger element\n * @property {Placement[]} [fallbackPlacements] - Fallback placement options\n * @property {HTMLElement | React.MutableRefObject<HTMLElement | null> | null} [root] - Root element for the tooltip\n * @extends DataTrackingId\n */\nexport type TooltipProps = CoreTooltipProps;\n\n/**\n * Props for the TooltipTrigger component\n * @property {ReactElement} children - The element that triggers the tooltip\n * @extends DataTrackingId\n */\nexport type TooltipTriggerProps = CoreTooltipTriggerProps & DataTrackingId;\n\n/**\n * Props for the TooltipContent component\n */\nexport type TooltipContentProps = CoreTooltipContentProps;\n\nconst TooltipElement = (props: TooltipProps) => {\n return <CoreTooltip {...props} />;\n};\n\n/**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Automatic tracking ID generation for analytics\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\nexport const TooltipTrigger = forwardRef(\n (props: TooltipTriggerProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"TooltipTrigger\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreTooltipTrigger ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nTooltipTrigger.displayName = CoreTooltipTrigger.displayName;\n\n/**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\nexport const TooltipContent = forwardRef(\n (props: TooltipContentProps, ref: Ref<HTMLDivElement>) => {\n return <CoreTooltipContent ref={ref} {...props} />;\n },\n);\nTooltipContent.displayName = CoreTooltipContent.displayName;\n\n// export const useTooltipContext = useCoreTooltipContext;\n\n/**\n * Tooltip component for displaying contextual information on hover or focus.\n *\n * Features:\n * - Displays contextual information when hovering over or focusing on elements\n * - Supports multiple placement options (top, bottom, left, right)\n * - Automatic positioning with fallback placements\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Supports controlled and uncontrolled open states\n * - Configurable delay and offset settings\n * - Automatic tracking ID generation for analytics\n * - Uses modern Popover API with fallback to legacy implementation\n * - Automatic arrow positioning and rotation\n * - Real-time position updates during scroll and resize\n *\n * @example\n * <Tooltip placement=\"top\" delay={200}>\n * <Tooltip.Trigger>\n * <Button>Hover me</Button>\n * </Tooltip.Trigger>\n * <Tooltip.Content>This is helpful information</Tooltip.Content>\n * </Tooltip>\n */\nexport const Tooltip = Object.assign(TooltipElement, {\n /**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Automatic tracking ID generation for analytics\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\n Trigger: TooltipTrigger,\n /**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\n Content: TooltipContent,\n});\n"],"names":["CoreTooltip","CoreTooltipTrigger","CoreTooltipContent"],"mappings":";;;;;;AA6CA,MAAM,cAAA,GAAiB,CAAC,KAAwB,KAAA;AAC9C,EAAO,uBAAA,GAAA,CAACA,SAAa,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACjC,CAAA;AAoBO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,gBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,2BACGC,gBAAmB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG7E;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AAqBzC,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,uBAAQ,GAAA,CAAAC,gBAAA,EAAA,EAAmB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEpD;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AA2BnC,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAgB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBnD,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBT,OAAS,EAAA;AACX,CAAC;;;;"}
package/dist/Tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Tooltip, b as TooltipContent, a as TooltipTrigger, T as default } from './Tooltip-ZFFXA77Y.js';
1
+ export { T as Tooltip, b as TooltipContent, a as TooltipTrigger, T as default } from './Tooltip-C2HQDvYj.js';
2
2
  //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m6.2 11-.9-.9a.95.95 0 0 1-.275-.7q0-.425.275-.7a.95.95 0 0 1 .7-.275q.425 0 .7.275l2.6 2.6q.15.15.212.325.063.175.063.375t-.062.375a.9.9 0 0 1-.213.325l-2.6 2.6a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275.95.95 0 0 1-.275-.7q0-.425.275-.7l.9-.9H3a.97.97 0 0 1-.712-.287A.97.97 0 0 1 2 12q0-.424.288-.713A.97.97 0 0 1 3 11zM11 5q0-.424.287-.713A.97.97 0 0 1 12 4q.424 0 .713.287Q13 4.576 13 5v14q0 .424-.287.712A.97.97 0 0 1 12 20a.97.97 0 0 1-.713-.288A.97.97 0 0 1 11 19zm6.8 6H21q.424 0 .712.287.288.288.288.713 0 .424-.288.713A.97.97 0 0 1 21 13h-3.2l.9.9a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275l-2.6-2.6a.9.9 0 0 1-.212-.325 1.1 1.1 0 0 1-.063-.375q0-.2.063-.375a.9.9 0 0 1 .212-.325l2.6-2.6a.95.95 0 0 1 .7-.275q.425 0 .7.275a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g clip-path="url(#a)"><path d="M14.471 5.576a.9.9 0 0 0-.265-.653.85.85 0 0 0-.654-.266.9.9 0 0 0-.653.266.9.9 0 0 0-.266.653v12.858c0 .256.092.48.266.654a.9.9 0 0 0 .653.265c.266 0 .48-.091.654-.265a.9.9 0 0 0 .265-.654zm5.75 5.403h-3.268a1 1 0 0 0-.725.296 1 1 0 0 0-.296.725c0 .286.102.531.296.725s.44.297.725.297h3.268l-.919.919a.98.98 0 0 0-.276.714c0 .287.092.532.276.715a.98.98 0 0 0 .715.276.98.98 0 0 0 .715-.276l2.655-2.655a.9.9 0 0 0 .215-.327 1.2 1.2 0 0 0 .06-.388c0-.143-.02-.265-.06-.388a.76.76 0 0 0-.215-.327L20.732 8.63a.98.98 0 0 0-.715-.276.98.98 0 0 0-.715.276.98.98 0 0 0-.276.715c0 .286.092.53.276.715zM9.528 5.576c0-.255.092-.48.266-.653a.85.85 0 0 1 .654-.266c.265 0 .48.092.653.266a.9.9 0 0 1 .266.653v12.858c0 .256-.092.48-.266.654a.9.9 0 0 1-.653.265.9.9 0 0 1-.654-.265.9.9 0 0 1-.266-.654zm-5.749 5.403h3.268c.286 0 .53.102.725.296s.296.44.296.725a1 1 0 0 1-.296.725 1 1 0 0 1-.725.297H3.779l.919.919a.98.98 0 0 1 .276.714.98.98 0 0 1-.276.715.98.98 0 0 1-.715.276.98.98 0 0 1-.715-.276L.613 12.715a.9.9 0 0 1-.215-.327A1.2 1.2 0 0 1 .337 12c0-.143.02-.265.061-.388a.76.76 0 0 1 .215-.327L3.268 8.63a.98.98 0 0 1 .715-.276.98.98 0 0 1 .715.276.98.98 0 0 1 .276.715.98.98 0 0 1-.276.715z"/></g><defs><clipPath id="a"><path d="M0 0h24v24H0z"/></clipPath></defs></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m19.93 8.668-3.6 1.68L14 8.018v-1.4l2.33-2.33 3.6 1.68c.38.18.82.01 1-.36.18-.38.01-.82-.36-1l-3.92-1.83a.99.99 0 0 0-1.13.2l-1.74 1.74a.98.98 0 0 0-.78-.4c-.55 0-1 .45-1 1v1H8.82c-.48-1.34-1.86-2.25-3.42-1.94-1.17.23-2.13 1.19-2.35 2.36-.25 1.34.4 2.54 1.43 3.16l2.6 8.42H5.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5h10c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5h-2.12l-4.97-9.23c.17-.24.31-.49.41-.77H12v1c0 .55.45 1 1 1 .32 0 .6-.16.78-.4l1.74 1.74c.3.3.75.38 1.13.2l3.92-1.83c.38-.18.54-.62.36-1a.753.753 0 0 0-1-.36M6 8.318c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m14.3 11.475-7.05-7.05a.9.9 0 0 1-.187-.275.8.8 0 0 1-.063-.3.88.88 0 0 1 .225-.587.75.75 0 0 1 .6-.263H16q.424 0 .712.288Q17 3.575 17 4a.57.57 0 0 1-.363.563A2.1 2.1 0 0 0 16 5v5.75q0 .674-.613.938-.612.263-1.087-.213M11 22v-6H7.4q-.625 0-1-.437a1.48 1.48 0 0 1-.375-.988q0-.275.113-.55.112-.274.362-.525L8 12v-1.15L2.1 4.9a.98.98 0 0 1-.287-.687A.93.93 0 0 1 2.1 3.5a.95.95 0 0 1 .7-.275q.425 0 .7.275l16.975 16.975q.3.3.287.712a1.02 1.02 0 0 1-.312.713q-.3.275-.7.288a.92.92 0 0 1-.7-.288l-5.9-5.9H13v6q0 .424-.287.712A.97.97 0 0 1 12 23a.97.97 0 0 1-.713-.288A.97.97 0 0 1 11 22"/></svg>
@@ -30,7 +30,9 @@ export { default as icon_due_date } from "./st/due_date.svg";
30
30
  export { default as icon_enterprise_hub } from "./st/enterprise_hub.svg";
31
31
  export { default as icon_equipment } from "./st/equipment.svg";
32
32
  export { default as icon_estimate } from "./st/estimate.svg";
33
+ export { default as icon_fixed } from "./st/fixed.svg";
33
34
  export { default as icon_form } from "./st/form.svg";
35
+ export { default as icon_full_fluid } from "./st/full_fluid.svg";
34
36
  export { default as icon_full_procurement_integration } from "./st/full_procurement_integration.svg";
35
37
  export { default as icon_gnav_account_active } from "./st/gnav_account_active.svg";
36
38
  export { default as icon_gnav_account_inactive } from "./st/gnav_account_inactive.svg";
@@ -86,6 +88,7 @@ export { default as icon_gnav_tasks_active } from "./st/gnav_tasks_active.svg";
86
88
  export { default as icon_gnav_tasks_inactive } from "./st/gnav_tasks_inactive.svg";
87
89
  export { default as icon_gnav_titan_advisor_active } from "./st/gnav_titan_advisor_active.svg";
88
90
  export { default as icon_gnav_titan_advisor_inactive } from "./st/gnav_titan_advisor_inactive.svg";
91
+ export { default as icon_installed_equipment } from "./st/installed_equipment.svg";
89
92
  export { default as icon_insurance_work_queue } from "./st/insurance_work_queue.svg";
90
93
  export { default as icon_invoice } from "./st/invoice.svg";
91
94
  export { default as icon_job } from "./st/job.svg";
@@ -116,6 +119,7 @@ export { default as icon_subtasks } from "./st/subtasks.svg";
116
119
  export { default as icon_text_inbound } from "./st/text_inbound.svg";
117
120
  export { default as icon_text_outbound } from "./st/text_outbound.svg";
118
121
  export { default as icon_titan_intelligence } from "./st/titan_intelligence.svg";
122
+ export { default as icon_unpin } from "./st/unpin.svg";
119
123
  export { default as icon_upsell } from "./st/upsell.svg";
120
124
  export { default as icon_view_kanban_filled } from "./st/view_kanban_filled.svg";
121
125
  export { default as icon_view_kanban_outline } from "./st/view_kanban_outline.svg";
@@ -1,4 +1,5 @@
1
1
  import { AvatarProps as CoreAvatarProps, AvatarGroupProps as CoreAvatarGroupProps } from '@servicetitan/hammer-react';
2
+ import { DistributiveOmit } from '../../types';
2
3
  /**
3
4
  * Props for the Avatar component
4
5
  * @property {string} name - Full name used for alt text and screen reader
@@ -11,7 +12,9 @@ import { AvatarProps as CoreAvatarProps, AvatarGroupProps as CoreAvatarGroupProp
11
12
  * @extends Omit<LayoutUtilProps, "flex" | "flexBasis" | "flexGrow" | "flexShrink">
12
13
  * @extends DataTrackingId
13
14
  */
14
- export type AvatarProps = CoreAvatarProps;
15
+ export type AvatarProps = DistributiveOmit<CoreAvatarProps, "size"> & {
16
+ size?: Extract<CoreAvatarProps["size"], "small" | "medium" | "large">;
17
+ };
15
18
  /**
16
19
  * Props for the AvatarGroup component
17
20
  * @property {number} [max] - Maximum number of avatars to display before truncating
@@ -57,7 +60,9 @@ export declare const AvatarGroup: import('react').ForwardRefExoticComponent<impo
57
60
  * @example
58
61
  * <Avatar name="John Doe" size="medium" status="online" />
59
62
  */
60
- export declare const Avatar: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & Omit<import('@servicetitan/hammer-react/dist/components/Avatar/AvatarBase').AvatarBaseProps, "initials"> & Omit<import('@servicetitan/hammer-react').LayoutUtilProps, "flex" | "flexGrow" | "flexShrink" | "flexBasis"> & import('react').RefAttributes<HTMLSpanElement>> & {
63
+ export declare const Avatar: import('react').ForwardRefExoticComponent<Omit<CoreAvatarProps, "size"> & {
64
+ size?: Extract<CoreAvatarProps["size"], "small" | "medium" | "large">;
65
+ } & import('react').RefAttributes<HTMLSpanElement>> & {
61
66
  /**
62
67
  * AvatarGroup component for displaying multiple avatars in a group.
63
68
  *
@@ -1,5 +1,6 @@
1
- import { ChipProps as CoreChipProps } from '@servicetitan/hammer-react';
1
+ import { ChipProps as CoreChipProps, IconProps as CoreIconProps, AvatarProps as CoreAvatarProps } from '@servicetitan/hammer-react';
2
2
  import { DataTrackingId } from '../../types/DataTrackingId';
3
+ import { DistributiveOmit } from '../../types';
3
4
  /**
4
5
  * Props for the Chip component
5
6
  * @property {string} label - The text that displays in the chip
@@ -8,10 +9,18 @@ import { DataTrackingId } from '../../types/DataTrackingId';
8
9
  * @property {(e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClick] - Callback for when the Chip is clicked
9
10
  * @property {(e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClose] - Called when the component is closed
10
11
  * @property {boolean} [textWrap] - Wraps text when it overflows
12
+ * @property {Svg} [icon] - Icon displayed in the chip, before the text.
13
+ * @property {string} [avatar] - Image URL to display in an avatar before the chip text.
11
14
  * @extends CoreChipProps
12
15
  * @extends DataTrackingId
13
16
  */
14
- export type ChipProps = CoreChipProps & DataTrackingId;
17
+ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & DataTrackingId & ({
18
+ icon?: CoreIconProps["svg"];
19
+ avatar?: never;
20
+ } | {
21
+ icon?: never;
22
+ avatar?: CoreAvatarProps["image"];
23
+ });
15
24
  /**
16
25
  * Chip component for displaying compact information or tags.
17
26
  *
@@ -35,11 +44,4 @@ export type ChipProps = CoreChipProps & DataTrackingId;
35
44
  * onClick={(e) => console.log('Chip clicked')}
36
45
  * />
37
46
  */
38
- export declare const Chip: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & Omit<import('@servicetitan/hammer-react').LayoutUtilProps, "flex" | "flexGrow" | "flexShrink" | "flexBasis"> & {
39
- label: string;
40
- size?: Extract<import('@servicetitan/hammer-react').Size, "small" | "medium">;
41
- color?: string;
42
- onClick?: (e?: import('react').MouseEvent<HTMLSpanElement> | import('react').KeyboardEvent<HTMLSpanElement>) => void;
43
- onClose?: (e: import('react').MouseEvent<HTMLSpanElement> | import('react').KeyboardEvent<HTMLSpanElement>) => void;
44
- textWrap?: boolean;
45
- } & DataTrackingId & import('react').RefAttributes<HTMLSpanElement>>;
47
+ export declare const Chip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLSpanElement>>;
@@ -38,6 +38,7 @@ export type DateSelect = CoreDateSelect;
38
38
  export type DateRangeSelect = CoreDateRangeSelect;
39
39
  /**
40
40
  * DateField component for selecting dates with calendar popup and input validation
41
+ * @deprecated Use DateFieldSingle or DateFieldRange instead
41
42
  *
42
43
  * Features:
43
44
  * - Single date and date range selection modes