@servicetitan/anvil2 2.9.1 → 3.0.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 (461) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/{AiMark-DR-w6Nbm.js → AiMark-B1-M3ZgP.js} +26 -25
  3. package/dist/{AiMark-DR-w6Nbm.js.map → AiMark-B1-M3ZgP.js.map} +1 -1
  4. package/dist/AiMark.css +246 -256
  5. package/dist/AiMark.js +1 -1
  6. package/dist/{Alert-Dj61Bq8h.js → Alert-DmbqtMg_.js} +20 -31
  7. package/dist/Alert-DmbqtMg_.js.map +1 -0
  8. package/dist/Alert.css +72 -90
  9. package/dist/Alert.js +1 -1
  10. package/dist/{Announcement-B9zm-_1S.js → Announcement-_C5g2Lzm.js} +14 -14
  11. package/dist/{Announcement-B9zm-_1S.js.map → Announcement-_C5g2Lzm.js.map} +1 -1
  12. package/dist/Announcement.css +108 -97
  13. package/dist/Announcement.js +1 -1
  14. package/dist/{AnvilProvider-DUPYyMc7.js → AnvilProvider-JXEbeQjR.js} +13 -8
  15. package/dist/AnvilProvider-JXEbeQjR.js.map +1 -0
  16. package/dist/AnvilProvider.js +1 -1
  17. package/dist/{Avatar-BckUfs1N.js → Avatar-B4hRHku9.js} +23 -23
  18. package/dist/Avatar-B4hRHku9.js.map +1 -0
  19. package/dist/{Avatar-ChybzixS.js → Avatar-NbFc4Ovc.js} +2 -2
  20. package/dist/{Avatar-ChybzixS.js.map → Avatar-NbFc4Ovc.js.map} +1 -1
  21. package/dist/Avatar.css +116 -177
  22. package/dist/Avatar.js +2 -2
  23. package/dist/{Badge-C2W7Dls9.js → Badge-C_wTvtnB.js} +7 -7
  24. package/dist/{Badge-C2W7Dls9.js.map → Badge-C_wTvtnB.js.map} +1 -1
  25. package/dist/Badge.css +42 -50
  26. package/dist/Badge.js +1 -1
  27. package/dist/{Breadcrumbs-ojgYVZwe.js → Breadcrumbs-CYmciJ1D.js} +7 -7
  28. package/dist/{Breadcrumbs-ojgYVZwe.js.map → Breadcrumbs-CYmciJ1D.js.map} +1 -1
  29. package/dist/Breadcrumbs.css +37 -45
  30. package/dist/Breadcrumbs.js +1 -1
  31. package/dist/{Button-BdrrhBTI.js → Button-Bnt8XUI7.js} +13 -10
  32. package/dist/{Button-BdrrhBTI.js.map → Button-Bnt8XUI7.js.map} +1 -1
  33. package/dist/Button.css +274 -335
  34. package/dist/Button.js +1 -1
  35. package/dist/Button.module-DsGhJYRw.js +23 -0
  36. package/dist/Button.module-DsGhJYRw.js.map +1 -0
  37. package/dist/{ButtonCompound-Cmw3cgMY.js → ButtonCompound-DsrK7G3q.js} +11 -4
  38. package/dist/ButtonCompound-DsrK7G3q.js.map +1 -0
  39. package/dist/ButtonCompound.css +25 -0
  40. package/dist/ButtonCompound.js +1 -1
  41. package/dist/{ButtonLink-BJKTJER8.js → ButtonLink-j3h_wRNi.js} +9 -6
  42. package/dist/ButtonLink-j3h_wRNi.js.map +1 -0
  43. package/dist/ButtonLink.js +1 -1
  44. package/dist/{ButtonToggle-DaFQ3DBG.js → ButtonToggle-Ct9_5bhC.js} +7 -4
  45. package/dist/ButtonToggle-Ct9_5bhC.js.map +1 -0
  46. package/dist/ButtonToggle.css +109 -0
  47. package/dist/ButtonToggle.js +1 -1
  48. package/dist/{Calendar-Cka4unyi.js → Calendar-BAbAagIx.js} +2 -2
  49. package/dist/{Calendar-Cka4unyi.js.map → Calendar-BAbAagIx.js.map} +1 -1
  50. package/dist/{Calendar-Dxl9QnfP.js → Calendar-CaCMa_jq.js} +38 -35
  51. package/dist/Calendar-CaCMa_jq.js.map +1 -0
  52. package/dist/Calendar.css +250 -301
  53. package/dist/Calendar.js +2 -2
  54. package/dist/{Card-wz71dEVA.js → Card-DSFuXUGk.js} +11 -11
  55. package/dist/{Card-wz71dEVA.js.map → Card-DSFuXUGk.js.map} +1 -1
  56. package/dist/Card.css +51 -65
  57. package/dist/Card.js +1 -1
  58. package/dist/{Checkbox-B-XTVPbX.js → Checkbox-BSAS8-DM.js} +28 -39
  59. package/dist/Checkbox-BSAS8-DM.js.map +1 -0
  60. package/dist/{Checkbox-Cw1-KFvq.js → Checkbox-Ckl8EFpF.js} +2 -2
  61. package/dist/{Checkbox-Cw1-KFvq.js.map → Checkbox-Ckl8EFpF.js.map} +1 -1
  62. package/dist/Checkbox.css +237 -271
  63. package/dist/Checkbox.js +1 -1
  64. package/dist/Checkbox.module-TYMeYIxw.js +28 -0
  65. package/dist/Checkbox.module-TYMeYIxw.js.map +1 -0
  66. package/dist/{Chip-Ce0WGKAc.js → Chip-CR5i8mQW.js} +31 -23
  67. package/dist/Chip-CR5i8mQW.js.map +1 -0
  68. package/dist/Chip.css +191 -206
  69. package/dist/Chip.js +1 -1
  70. package/dist/{Combobox-CNQUROyr.js → Combobox-BffGTugd.js} +59 -72
  71. package/dist/Combobox-BffGTugd.js.map +1 -0
  72. package/dist/Combobox.css +158 -176
  73. package/dist/Combobox.js +1 -1
  74. package/dist/{DataTable-JRxu2yTP.js → DataTable-D9Xj1nq5.js} +73 -72
  75. package/dist/{DataTable-JRxu2yTP.js.map → DataTable-D9Xj1nq5.js.map} +1 -1
  76. package/dist/DataTable.css +593 -780
  77. package/dist/{DateFieldRange-D2hnF50O.js → DateFieldRange-DPTC3EZz.js} +6 -6
  78. package/dist/{DateFieldRange-D2hnF50O.js.map → DateFieldRange-DPTC3EZz.js.map} +1 -1
  79. package/dist/DateFieldRange.js +1 -1
  80. package/dist/{DateFieldSingle-BuaB7RDr.js → DateFieldSingle-w1G-zd9G.js} +6 -6
  81. package/dist/{DateFieldSingle-BuaB7RDr.js.map → DateFieldSingle-w1G-zd9G.js.map} +1 -1
  82. package/dist/DateFieldSingle.js +1 -1
  83. package/dist/{DateFieldYearless-DLeMEutt.js → DateFieldYearless-DHNVc7Sd.js} +7 -7
  84. package/dist/{DateFieldYearless-DLeMEutt.js.map → DateFieldYearless-DHNVc7Sd.js.map} +1 -1
  85. package/dist/DateFieldYearless.js +1 -1
  86. package/dist/{DateFieldYearlessRange-BfPuYKKC.js → DateFieldYearlessRange-C5ktVUgG.js} +10 -10
  87. package/dist/{DateFieldYearlessRange-BfPuYKKC.js.map → DateFieldYearlessRange-C5ktVUgG.js.map} +1 -1
  88. package/dist/DateFieldYearlessRange.css +11 -19
  89. package/dist/DateFieldYearlessRange.js +1 -1
  90. package/dist/{DaysOfTheWeek-BW1T8sTU.js → DaysOfTheWeek-BubWkBZ0.js} +10 -10
  91. package/dist/{DaysOfTheWeek-BW1T8sTU.js.map → DaysOfTheWeek-BubWkBZ0.js.map} +1 -1
  92. package/dist/DaysOfTheWeek.css +19 -27
  93. package/dist/DaysOfTheWeek.js +1 -1
  94. package/dist/{Details-CZOIpNP_.js → Details-DYRJcLWL.js} +10 -10
  95. package/dist/{Details-CZOIpNP_.js.map → Details-DYRJcLWL.js.map} +1 -1
  96. package/dist/Details.css +134 -138
  97. package/dist/Details.js +1 -1
  98. package/dist/{Dialog-Cewu2pd_.js → Dialog-DGmF6qx3.js} +27 -26
  99. package/dist/Dialog-DGmF6qx3.js.map +1 -0
  100. package/dist/Dialog.css +108 -143
  101. package/dist/Dialog.js +1 -1
  102. package/dist/{DialogCancelButton-Czz4Wpse.js → DialogCancelButton-CbtQcf2J.js} +2 -2
  103. package/dist/{DialogCancelButton-Czz4Wpse.js.map → DialogCancelButton-CbtQcf2J.js.map} +1 -1
  104. package/dist/{Divider-B1UoK8ho.js → Divider-Ds3WKsKa.js} +19 -19
  105. package/dist/{Divider-B1UoK8ho.js.map → Divider-Ds3WKsKa.js.map} +1 -1
  106. package/dist/Divider.css +93 -169
  107. package/dist/Divider.js +1 -1
  108. package/dist/Dnd.js +1 -1
  109. package/dist/DndSort.css +18 -34
  110. package/dist/DndSort.js +10 -10
  111. package/dist/{Drawer-Cb5asXWf.js → Drawer-iewBy1DW.js} +24 -25
  112. package/dist/{Drawer-Cb5asXWf.js.map → Drawer-iewBy1DW.js.map} +1 -1
  113. package/dist/Drawer.css +109 -144
  114. package/dist/Drawer.js +1 -1
  115. package/dist/DrillDown.css +117 -131
  116. package/dist/DrillDown.js +1 -1
  117. package/dist/DrillDown.module-D1Bf9_yP.js +27 -0
  118. package/dist/{DrillDown.module-C8VOhzaF.js.map → DrillDown.module-D1Bf9_yP.js.map} +1 -1
  119. package/dist/{EditCard-DlJE3LXN.js → EditCard-D7-Ye7R0.js} +21 -20
  120. package/dist/{EditCard-DlJE3LXN.js.map → EditCard-D7-Ye7R0.js.map} +1 -1
  121. package/dist/EditCard.css +71 -65
  122. package/dist/EditCard.js +1 -1
  123. package/dist/{FieldLabel-HO2VP-4B.js → FieldLabel-DZWu5dMp.js} +17 -17
  124. package/dist/{FieldLabel-HO2VP-4B.js.map → FieldLabel-DZWu5dMp.js.map} +1 -1
  125. package/dist/FieldLabel.css +66 -102
  126. package/dist/FieldLabel.js +1 -1
  127. package/dist/FieldMessage-DzxfodaI.js +81 -0
  128. package/dist/FieldMessage-DzxfodaI.js.map +1 -0
  129. package/dist/FieldMessage.css +20 -29
  130. package/dist/FieldMessage.js +1 -1
  131. package/dist/{Flex-WyyZm1bf.js → Flex-DOUtHiPi.js} +4 -4
  132. package/dist/{Flex-WyyZm1bf.js.map → Flex-DOUtHiPi.js.map} +1 -1
  133. package/dist/Flex.css +25 -28
  134. package/dist/Flex.js +1 -1
  135. package/dist/{Grid-DeYIx5k4.js → Grid-B1VVssDD.js} +5 -5
  136. package/dist/{Grid-DeYIx5k4.js.map → Grid-B1VVssDD.js.map} +1 -1
  137. package/dist/Grid.css +37 -54
  138. package/dist/Grid.js +1 -1
  139. package/dist/{Helper-B_FIOlhy.js → Helper-DtDeaYTn.js} +8 -10
  140. package/dist/Helper-DtDeaYTn.js.map +1 -0
  141. package/dist/Helper.css +4 -16
  142. package/dist/{Icon-DuIlne4x.js → Icon-BMMbp40n.js} +7 -7
  143. package/dist/{Icon-DuIlne4x.js.map → Icon-BMMbp40n.js.map} +1 -1
  144. package/dist/Icon.css +42 -48
  145. package/dist/Icon.js +1 -1
  146. package/dist/{InputMask-CLLTehFI.js → InputMask-EwEJlW-t.js} +3 -3
  147. package/dist/{InputMask-CLLTehFI.js.map → InputMask-EwEJlW-t.js.map} +1 -1
  148. package/dist/InputMask.js +1 -1
  149. package/dist/{InteractiveCard-GTYbR6Xy.js → InteractiveCard-CnW0m_F-.js} +7 -7
  150. package/dist/{InteractiveCard-GTYbR6Xy.js.map → InteractiveCard-CnW0m_F-.js.map} +1 -1
  151. package/dist/InteractiveCard.css +56 -57
  152. package/dist/InteractiveCard.js +1 -1
  153. package/dist/{Layout-CISAxILX.js → Layout-C2Q2hyLG.js} +80 -80
  154. package/dist/{Layout-CISAxILX.js.map → Layout-C2Q2hyLG.js.map} +1 -1
  155. package/dist/Layout.css +260 -324
  156. package/dist/Layout.js +1 -1
  157. package/dist/{Link-jTvzyXca.js → Link-BUgivkGS.js} +8 -8
  158. package/dist/{Link-jTvzyXca.js.map → Link-BUgivkGS.js.map} +1 -1
  159. package/dist/Link.css +48 -65
  160. package/dist/Link.js +1 -1
  161. package/dist/Link.module-DJc0cOlg.js +12 -0
  162. package/dist/Link.module-DJc0cOlg.js.map +1 -0
  163. package/dist/{LinkButton-DGyHR1E7.js → LinkButton-CuHSdGdj.js} +7 -16
  164. package/dist/LinkButton-CuHSdGdj.js.map +1 -0
  165. package/dist/LinkButton.js +1 -1
  166. package/dist/{List--KhCpjZn.js → List-BXyHWQ9e.js} +8 -8
  167. package/dist/{List--KhCpjZn.js.map → List-BXyHWQ9e.js.map} +1 -1
  168. package/dist/List.css +39 -58
  169. package/dist/List.js +1 -1
  170. package/dist/{ListView-CPi-qG2w.js → ListView-DBO9Bl1H.js} +4 -4
  171. package/dist/{ListView-CPi-qG2w.js.map → ListView-DBO9Bl1H.js.map} +1 -1
  172. package/dist/ListView.css +108 -120
  173. package/dist/ListView.js +1 -1
  174. package/dist/ListView.module-CRk9NfLG.js +9 -0
  175. package/dist/ListView.module-CRk9NfLG.js.map +1 -0
  176. package/dist/{Listbox-Bp4hqIpH.js → Listbox-DDlxpVu9.js} +7 -7
  177. package/dist/{Listbox-Bp4hqIpH.js.map → Listbox-DDlxpVu9.js.map} +1 -1
  178. package/dist/Listbox.css +102 -143
  179. package/dist/Listbox.js +1 -1
  180. package/dist/Listbox.module-CfpLm9pS.js +18 -0
  181. package/dist/Listbox.module-CfpLm9pS.js.map +1 -0
  182. package/dist/{LocalizationProvider-DWCyga_d.js → LocalizationProvider-CO8fQGqs.js} +2 -2
  183. package/dist/{LocalizationProvider-DWCyga_d.js.map → LocalizationProvider-CO8fQGqs.js.map} +1 -1
  184. package/dist/LocalizationProvider.js +1 -1
  185. package/dist/{Menu-CCavGohP.js → Menu-wpTyUDac.js} +10 -10
  186. package/dist/{Menu-CCavGohP.js.map → Menu-wpTyUDac.js.map} +1 -1
  187. package/dist/Menu.css +135 -137
  188. package/dist/Menu.js +1 -1
  189. package/dist/MultiSelectField.js +1 -1
  190. package/dist/{MultiSelectFieldSync-ChZCW4M9.js → MultiSelectFieldSync-DZ3tm7zt.js} +34 -33
  191. package/dist/MultiSelectFieldSync-DZ3tm7zt.js.map +1 -0
  192. package/dist/MultiSelectFieldSync.css +263 -257
  193. package/dist/MultiSelectMenu.js +1 -1
  194. package/dist/{MultiSelectMenuSync-7C1wW4oO.js → MultiSelectMenuSync-dgO9SmHi.js} +4 -4
  195. package/dist/{MultiSelectMenuSync-7C1wW4oO.js.map → MultiSelectMenuSync-dgO9SmHi.js.map} +1 -1
  196. package/dist/{NumberField-CZSTHBeO.js → NumberField-DJbdyatF.js} +15 -12
  197. package/dist/{NumberField-CZSTHBeO.js.map → NumberField-DJbdyatF.js.map} +1 -1
  198. package/dist/NumberField.css +34 -49
  199. package/dist/NumberField.js +1 -1
  200. package/dist/Overflow.css +143 -164
  201. package/dist/Overflow.js +44 -42
  202. package/dist/Overflow.js.map +1 -1
  203. package/dist/{Page-BHdvTlfE.js → Page-Be1Blwme.js} +65 -65
  204. package/dist/Page-Be1Blwme.js.map +1 -0
  205. package/dist/Page.css +384 -404
  206. package/dist/Page.js +1 -1
  207. package/dist/{Pagination-B5jqHYG3.js → Pagination-USDJM5vi.js} +29 -34
  208. package/dist/{Pagination-B5jqHYG3.js.map → Pagination-USDJM5vi.js.map} +1 -1
  209. package/dist/Pagination.css +63 -117
  210. package/dist/Pagination.js +1 -1
  211. package/dist/{Popover-BbqTZw-1.js → Popover-CyB7yzSf.js} +7 -7
  212. package/dist/{Popover-BbqTZw-1.js.map → Popover-CyB7yzSf.js.map} +1 -1
  213. package/dist/Popover.css +84 -97
  214. package/dist/Popover.js +1 -1
  215. package/dist/{ProgressBar-CZcxkdX6.js → ProgressBar-DSrjgLTx.js} +15 -15
  216. package/dist/{ProgressBar-CZcxkdX6.js.map → ProgressBar-DSrjgLTx.js.map} +1 -1
  217. package/dist/ProgressBar.css +59 -81
  218. package/dist/ProgressBar.js +1 -1
  219. package/dist/{Radio-BFr8AdHc.js → Radio-CQaXJ72d.js} +2 -2
  220. package/dist/{Radio-BFr8AdHc.js.map → Radio-CQaXJ72d.js.map} +1 -1
  221. package/dist/{Radio-DJZVMCv0.js → Radio-DO4UhbBE.js} +45 -48
  222. package/dist/Radio-DO4UhbBE.js.map +1 -0
  223. package/dist/Radio.css +233 -229
  224. package/dist/Radio.js +1 -1
  225. package/dist/{SearchField-im7AHGYo.js → SearchField-CsRGYZx3.js} +9 -11
  226. package/dist/{SearchField-im7AHGYo.js.map → SearchField-CsRGYZx3.js.map} +1 -1
  227. package/dist/SearchField.css +22 -39
  228. package/dist/SearchField.js +1 -1
  229. package/dist/{SegmentedControl-B9NWUF7s.js → SegmentedControl-Chhqyyra.js} +15 -16
  230. package/dist/SegmentedControl-Chhqyyra.js.map +1 -0
  231. package/dist/SegmentedControl.css +103 -122
  232. package/dist/SegmentedControl.js +1 -1
  233. package/dist/SelectCard-CtXwY8FZ.js +351 -0
  234. package/dist/SelectCard-CtXwY8FZ.js.map +1 -0
  235. package/dist/SelectCard.css +135 -82
  236. package/dist/SelectCard.js +1 -1
  237. package/dist/SelectField.js +1 -1
  238. package/dist/{SelectFieldLabel-kEBS8L4l.js → SelectFieldLabel-DLT5dKbx.js} +3 -3
  239. package/dist/{SelectFieldLabel-kEBS8L4l.js.map → SelectFieldLabel-DLT5dKbx.js.map} +1 -1
  240. package/dist/{SelectFieldSync-o1Cp9UYC.js → SelectFieldSync-C44hPeeS.js} +9 -8
  241. package/dist/SelectFieldSync-C44hPeeS.js.map +1 -0
  242. package/dist/SelectMenu.js +1 -1
  243. package/dist/{SelectMenuSync-DXrwecFt.js → SelectMenuSync-V97oN85V.js} +4 -4
  244. package/dist/{SelectMenuSync-DXrwecFt.js.map → SelectMenuSync-V97oN85V.js.map} +1 -1
  245. package/dist/{SelectOptions-Dy2OWqxn.js → SelectOptions-CDoo4AUu.js} +2 -2
  246. package/dist/{SelectOptions-Dy2OWqxn.js.map → SelectOptions-CDoo4AUu.js.map} +1 -1
  247. package/dist/{SelectTrigger-DhKYzEAr.js → SelectTrigger-BWN3Tx43.js} +5 -5
  248. package/dist/{SelectTrigger-DhKYzEAr.js.map → SelectTrigger-BWN3Tx43.js.map} +1 -1
  249. package/dist/SelectTrigger.js +1 -1
  250. package/dist/{SelectTriggerBase-Ni8WqeUx.js → SelectTriggerBase-Do7lQ5rw.js} +8 -7
  251. package/dist/{SelectTriggerBase-Ni8WqeUx.js.map → SelectTriggerBase-Do7lQ5rw.js.map} +1 -1
  252. package/dist/SelectTriggerBase.css +231 -305
  253. package/dist/SelectTriggerBase.module-DKF1FQnc.js +37 -0
  254. package/dist/SelectTriggerBase.module-DKF1FQnc.js.map +1 -0
  255. package/dist/{SideNav-CrxYExjh.js → SideNav-CZRVOSbt.js} +19 -14
  256. package/dist/SideNav-CZRVOSbt.js.map +1 -0
  257. package/dist/SideNav.css +126 -294
  258. package/dist/SideNav.js +1 -1
  259. package/dist/Skeleton.css +57 -65
  260. package/dist/Skeleton.js +16 -16
  261. package/dist/Skeleton.js.map +1 -1
  262. package/dist/{Spinner-BqmcE2pb.js → Spinner-lPMo68yW.js} +16 -17
  263. package/dist/Spinner-lPMo68yW.js.map +1 -0
  264. package/dist/Spinner.css +33 -43
  265. package/dist/Spinner.js +1 -1
  266. package/dist/{SrOnly-eUpYGpAT.js → SrOnly-pnf8ajnh.js} +2 -2
  267. package/dist/{SrOnly-eUpYGpAT.js.map → SrOnly-pnf8ajnh.js.map} +1 -1
  268. package/dist/SrOnly.css +12 -14
  269. package/dist/SrOnly.js +1 -1
  270. package/dist/StatusIcon-BwULopyH.js +57 -0
  271. package/dist/StatusIcon-BwULopyH.js.map +1 -0
  272. package/dist/StatusIcon.css +32 -0
  273. package/dist/{Stepper-Dt2xAXth.js → Stepper-CYY64NU1.js} +16 -16
  274. package/dist/{Stepper-Dt2xAXth.js.map → Stepper-CYY64NU1.js.map} +1 -1
  275. package/dist/Stepper.css +180 -239
  276. package/dist/Stepper.js +1 -1
  277. package/dist/{Switch-C84MBChG.js → Switch-DeBu4Ucg.js} +17 -13
  278. package/dist/{Switch-C84MBChG.js.map → Switch-DeBu4Ucg.js.map} +1 -1
  279. package/dist/Switch.css +109 -125
  280. package/dist/Switch.js +1 -1
  281. package/dist/{Tab-BZpTCG0i.js → Tab-CewPzmuK.js} +20 -34
  282. package/dist/Tab-CewPzmuK.js.map +1 -0
  283. package/dist/Tab.css +232 -194
  284. package/dist/Tab.js +1 -1
  285. package/dist/Table.js +1 -1
  286. package/dist/{Text-WiS8UZkY.js → Text-J5YtSSXY.js} +15 -38
  287. package/dist/Text-J5YtSSXY.js.map +1 -0
  288. package/dist/Text.css +101 -142
  289. package/dist/Text.js +1 -1
  290. package/dist/Text.module-BXrY87ui.js +23 -0
  291. package/dist/Text.module-BXrY87ui.js.map +1 -0
  292. package/dist/{TextField-Bul_uln5.js → TextField-CRDTnuUN.js} +7 -7
  293. package/dist/{TextField-Bul_uln5.js.map → TextField-CRDTnuUN.js.map} +1 -1
  294. package/dist/{TextField-OznkTx4e.js → TextField-YlMkDHp-.js} +2 -2
  295. package/dist/{TextField-OznkTx4e.js.map → TextField-YlMkDHp-.js.map} +1 -1
  296. package/dist/TextField.css +156 -148
  297. package/dist/TextField.js +1 -1
  298. package/dist/TextField.module-MRVo1X9H.js +23 -0
  299. package/dist/TextField.module-MRVo1X9H.js.map +1 -0
  300. package/dist/{Textarea-CCYLsJ1x.js → Textarea-CxXmr_Gx.js} +16 -13
  301. package/dist/{Textarea-CCYLsJ1x.js.map → Textarea-CxXmr_Gx.js.map} +1 -1
  302. package/dist/Textarea.css +71 -81
  303. package/dist/Textarea.js +1 -1
  304. package/dist/{ThemeProvider-CaYW3RuA.js → ThemeProvider-D4KdGCaP.js} +11 -9
  305. package/dist/ThemeProvider-D4KdGCaP.js.map +1 -0
  306. package/dist/ThemeProvider.css +586 -516
  307. package/dist/ThemeProvider.js +1 -1
  308. package/dist/{TimeField-BPvPbD8H.js → TimeField-DTg0CE5L.js} +7 -7
  309. package/dist/{TimeField-BPvPbD8H.js.map → TimeField-DTg0CE5L.js.map} +1 -1
  310. package/dist/TimeField.css +5 -8
  311. package/dist/TimeField.js +1 -1
  312. package/dist/{TimezoneMessage-Cnsl4cHT.js → TimezoneMessage-BrKB_psP.js} +2 -2
  313. package/dist/{TimezoneMessage-Cnsl4cHT.js.map → TimezoneMessage-BrKB_psP.js.map} +1 -1
  314. package/dist/TimezoneMessage.css +5 -5
  315. package/dist/Toast.js +2 -2
  316. package/dist/{Toaster-DYJm06Vb.js → Toaster-Bq42x6Gx.js} +35 -34
  317. package/dist/Toaster-Bq42x6Gx.js.map +1 -0
  318. package/dist/{Toaster-CIaIvwH6.js → Toaster-Dly3rfva.js} +2 -2
  319. package/dist/{Toaster-CIaIvwH6.js.map → Toaster-Dly3rfva.js.map} +1 -1
  320. package/dist/Toaster.css +210 -242
  321. package/dist/{Toolbar-ByyI7SqG.js → Toolbar-C1_etxss.js} +42 -42
  322. package/dist/{Toolbar-ByyI7SqG.js.map → Toolbar-C1_etxss.js.map} +1 -1
  323. package/dist/Toolbar.css +121 -202
  324. package/dist/Toolbar.js +1 -1
  325. package/dist/{Tooltip-C1PBRnJv.js → Tooltip-BlStOXN3.js} +8 -8
  326. package/dist/{Tooltip-C1PBRnJv.js.map → Tooltip-BlStOXN3.js.map} +1 -1
  327. package/dist/Tooltip.css +46 -58
  328. package/dist/Tooltip.js +1 -1
  329. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js → YearlessDateInputWithPicker-DyytWt0x.js} +14 -16
  330. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js.map → YearlessDateInputWithPicker-DyytWt0x.js.map} +1 -1
  331. package/dist/YearlessDateInputWithPicker.css +110 -196
  332. package/dist/assets/css-utils/a2-border.css +47 -45
  333. package/dist/assets/css-utils/a2-color.css +443 -227
  334. package/dist/assets/css-utils/a2-font.css +0 -2
  335. package/dist/assets/css-utils/a2-spacing.css +476 -478
  336. package/dist/assets/css-utils/a2-utils.css +992 -772
  337. package/dist/assets/css-utils/border.css +47 -45
  338. package/dist/assets/css-utils/color.css +443 -227
  339. package/dist/assets/css-utils/font.css +0 -2
  340. package/dist/assets/css-utils/spacing.css +476 -478
  341. package/dist/assets/css-utils/utils.css +992 -772
  342. package/dist/beta.js +10 -10
  343. package/dist/{indeterminate_check_box-B4zobNlt.js → check_box-0U1tbEAd.js} +2 -4
  344. package/dist/check_box-0U1tbEAd.js.map +1 -0
  345. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  346. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  347. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  348. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  349. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  350. package/dist/components/NumberField/NumberField.d.ts +1 -1
  351. package/dist/components/Page/Page.d.ts +2 -2
  352. package/dist/components/SearchField/internal/SearchField.d.ts +1 -1
  353. package/dist/components/Stepper/Stepper.d.ts +1 -1
  354. package/dist/components/Stepper/StepperStep.d.ts +1 -1
  355. package/dist/components/Tab/Tab.d.ts +1 -1
  356. package/dist/components/Tab/TabButton.d.ts +1 -1
  357. package/dist/indeterminate_check_box-jjLG4UY6.js +6 -0
  358. package/dist/indeterminate_check_box-jjLG4UY6.js.map +1 -0
  359. package/dist/{index-D6ag_WQW.js → index-ByMdotWU.js} +18 -18
  360. package/dist/{index-D6ag_WQW.js.map → index-ByMdotWU.js.map} +1 -1
  361. package/dist/index.css +98 -126
  362. package/dist/index.js +85 -82
  363. package/dist/index.js.map +1 -1
  364. package/dist/index2.css +57 -74
  365. package/dist/internal/components/StatusIcon/StatusIcon.d.ts +5 -5
  366. package/dist/internal/hooks/useSelectOrchestration.d.ts +1 -1
  367. package/dist/primitive-DXlHdTFb.js +1056 -0
  368. package/dist/primitive-DXlHdTFb.js.map +1 -0
  369. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
  370. package/dist/{stripInlineMarkdown-Cg1qlNwL.js → stripInlineMarkdown-BWbMy7r_.js} +2 -2
  371. package/dist/{stripInlineMarkdown-Cg1qlNwL.js.map → stripInlineMarkdown-BWbMy7r_.js.map} +1 -1
  372. package/dist/{syncFilterUtils-UR5Vgqkh.js → syncFilterUtils-BLcRXQfd.js} +49 -49
  373. package/dist/syncFilterUtils-BLcRXQfd.js.map +1 -0
  374. package/dist/syncFilterUtils.css +189 -217
  375. package/dist/token/core/component-variables.scss +1088 -131
  376. package/dist/token/core/component.d.ts +558 -0
  377. package/dist/token/core/component.js +6685 -249
  378. package/dist/token/core/component.scss +557 -69
  379. package/dist/token/core/css-utils/a2-border.css +47 -45
  380. package/dist/token/core/css-utils/a2-color.css +443 -227
  381. package/dist/token/core/css-utils/a2-font.css +0 -2
  382. package/dist/token/core/css-utils/a2-spacing.css +476 -478
  383. package/dist/token/core/css-utils/a2-utils.css +992 -772
  384. package/dist/token/core/css-utils/border.css +47 -45
  385. package/dist/token/core/css-utils/color.css +443 -227
  386. package/dist/token/core/css-utils/font.css +0 -2
  387. package/dist/token/core/css-utils/spacing.css +476 -478
  388. package/dist/token/core/css-utils/utils.css +992 -772
  389. package/dist/token/core/index.d.ts +6 -0
  390. package/dist/token/core/index.js +1 -1
  391. package/dist/token/core/primitive-variables.scss +148 -65
  392. package/dist/token/core/primitive.d.ts +209 -0
  393. package/dist/token/core/primitive.js +779 -61
  394. package/dist/token/core/primitive.scss +207 -124
  395. package/dist/token/core/semantic-variables.scss +363 -245
  396. package/dist/token/core/semantic.d.ts +221 -0
  397. package/dist/token/core/semantic.js +1592 -347
  398. package/dist/token/core/semantic.scss +219 -140
  399. package/dist/token.js +9076 -833
  400. package/dist/token.js.map +1 -1
  401. package/dist/{useBreakpoint-okJ64T1D.js → useBreakpoint-CeaUyHxh.js} +2 -2
  402. package/dist/{useBreakpoint-okJ64T1D.js.map → useBreakpoint-CeaUyHxh.js.map} +1 -1
  403. package/dist/useBreakpoint.js +1 -1
  404. package/dist/{useDrillDownContext-BssSasVB.js → useDrillDownContext-iUvoTget.js} +2 -2
  405. package/dist/{useDrillDownContext-BssSasVB.js.map → useDrillDownContext-iUvoTget.js.map} +1 -1
  406. package/dist/{useDrilldown-D6VZNSCX.js → useDrilldown-D5WWJRU2.js} +7 -7
  407. package/dist/{useDrilldown-D6VZNSCX.js.map → useDrilldown-D5WWJRU2.js.map} +1 -1
  408. package/dist/{useLayoutPropsUtil-DMDdfIah.js → useLayoutPropsUtil-CB_zHDbW.js} +3 -3
  409. package/dist/{useLayoutPropsUtil-DMDdfIah.js.map → useLayoutPropsUtil-CB_zHDbW.js.map} +1 -1
  410. package/dist/{useToggleSelection-BBdrIVWs.js → useToggleSelection-D_2qS0P1.js} +2 -2
  411. package/dist/{useToggleSelection-BBdrIVWs.js.map → useToggleSelection-D_2qS0P1.js.map} +1 -1
  412. package/package.json +2 -2
  413. package/dist/Alert-Dj61Bq8h.js.map +0 -1
  414. package/dist/AnvilProvider-DUPYyMc7.js.map +0 -1
  415. package/dist/Avatar-BckUfs1N.js.map +0 -1
  416. package/dist/Button.module-wCtFYGVD.js +0 -26
  417. package/dist/Button.module-wCtFYGVD.js.map +0 -1
  418. package/dist/ButtonCompound-Cmw3cgMY.js.map +0 -1
  419. package/dist/ButtonLink-BJKTJER8.js.map +0 -1
  420. package/dist/ButtonToggle-DaFQ3DBG.js.map +0 -1
  421. package/dist/Calendar-Dxl9QnfP.js.map +0 -1
  422. package/dist/Checkbox-B-XTVPbX.js.map +0 -1
  423. package/dist/Checkbox.module-EkRZO48Y.js +0 -28
  424. package/dist/Checkbox.module-EkRZO48Y.js.map +0 -1
  425. package/dist/Chip-Ce0WGKAc.js.map +0 -1
  426. package/dist/Combobox-CNQUROyr.js.map +0 -1
  427. package/dist/Dialog-Cewu2pd_.js.map +0 -1
  428. package/dist/DrillDown.module-C8VOhzaF.js +0 -27
  429. package/dist/FieldMessage-COHqUdj5.js +0 -132
  430. package/dist/FieldMessage-COHqUdj5.js.map +0 -1
  431. package/dist/Helper-B_FIOlhy.js.map +0 -1
  432. package/dist/Link.module-CZt9wvuD.js +0 -12
  433. package/dist/Link.module-CZt9wvuD.js.map +0 -1
  434. package/dist/LinkButton-DGyHR1E7.js.map +0 -1
  435. package/dist/LinkButton.css +0 -5
  436. package/dist/ListView.module-BilDg12y.js +0 -9
  437. package/dist/ListView.module-BilDg12y.js.map +0 -1
  438. package/dist/Listbox.module-HAXMOKvC.js +0 -18
  439. package/dist/Listbox.module-HAXMOKvC.js.map +0 -1
  440. package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +0 -1
  441. package/dist/Page-BHdvTlfE.js.map +0 -1
  442. package/dist/Radio-DJZVMCv0.js.map +0 -1
  443. package/dist/SegmentedControl-B9NWUF7s.js.map +0 -1
  444. package/dist/SelectCard-DVcWJRbX.js +0 -352
  445. package/dist/SelectCard-DVcWJRbX.js.map +0 -1
  446. package/dist/SelectFieldSync-o1Cp9UYC.js.map +0 -1
  447. package/dist/SelectTriggerBase.module-CKoq6qzX.js +0 -38
  448. package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +0 -1
  449. package/dist/SideNav-CrxYExjh.js.map +0 -1
  450. package/dist/Spinner-BqmcE2pb.js.map +0 -1
  451. package/dist/Tab-BZpTCG0i.js.map +0 -1
  452. package/dist/Text-WiS8UZkY.js.map +0 -1
  453. package/dist/TextField.module-BP-hDP5m.js +0 -22
  454. package/dist/TextField.module-BP-hDP5m.js.map +0 -1
  455. package/dist/ThemeProvider-CaYW3RuA.js.map +0 -1
  456. package/dist/Toaster-DYJm06Vb.js.map +0 -1
  457. package/dist/indeterminate_check_box-B4zobNlt.js.map +0 -1
  458. package/dist/primitive-C3RFDRA8.js +0 -255
  459. package/dist/primitive-C3RFDRA8.js.map +0 -1
  460. package/dist/syncFilterUtils-UR5Vgqkh.js.map +0 -1
  461. package/dist/token/core/raw.js +0 -234
@@ -1,22 +0,0 @@
1
- import './TextField.css';const textfield = "_textfield_1dilb_2";
2
- const input = "_input_1dilb_15";
3
- const prefix = "_prefix_1dilb_41";
4
- const suffix = "_suffix_1dilb_42";
5
- const xsmall = "_xsmall_1dilb_104";
6
- const small = "_small_1dilb_108";
7
- const large = "_large_1dilb_111";
8
- const error = "_error_1dilb_120";
9
- const textFieldStyles = {
10
- textfield: textfield,
11
- input: input,
12
- "input-wrapper": "_input-wrapper_1dilb_28",
13
- prefix: prefix,
14
- suffix: suffix,
15
- "loading-spinner-wrapper": "_loading-spinner-wrapper_1dilb_62",
16
- xsmall: xsmall,
17
- small: small,
18
- large: large,
19
- error: error};
20
-
21
- export { textFieldStyles as t };
22
- //# sourceMappingURL=TextField.module-BP-hDP5m.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextField.module-BP-hDP5m.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider-CaYW3RuA.js","sources":["../src/internal/functions/kebabize.ts","../src/providers/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["/**\n * Converts a camelCase or PascalCase string to kebab-case format.\n *\n * Features:\n * - Handles camelCase to kebab-case conversion\n * - Handles PascalCase to kebab-case conversion\n * - Preserves consecutive numbers without separators\n * - Adds hyphens before uppercase letters and numbers\n * - Maintains lowercase letters as-is\n * - Handles edge cases like single characters and empty strings\n * - Preserves existing hyphens in the input string\n *\n * @param str - The string to convert to kebab-case\n * @returns The kebab-case version of the input string\n */\nexport function kebabize(str: string) {\n return str\n .split(\"\")\n .map((letter, idx) => {\n const prevChar = str[idx - 1];\n\n if (!isNaN(parseFloat(letter))) {\n if (!isNaN(parseFloat(prevChar))) {\n return letter;\n }\n return `${idx !== 0 ? \"-\" : \"\"}${letter.toLowerCase()}`;\n }\n\n return letter.toUpperCase() === letter\n ? `${idx !== 0 ? \"-\" : \"\"}${letter.toLowerCase()}`\n : letter;\n })\n .join(\"\");\n}\n","import {\n ComponentPropsWithoutRef,\n FC,\n ReactNode,\n useContext,\n useMemo,\n} from \"react\";\nimport cx from \"classnames\";\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { ThemeProviderContext } from \"./internal/ThemeProviderContext\";\nimport { TokenObj } from \"@servicetitan/hammer-token/type/types\";\nimport { type Token } from \"@servicetitan/hammer-token\";\nimport { kebabize } from \"../../internal/functions\";\n\nimport styles from \"./ThemeProvider.module.scss\";\n\ntype TokenObjType = {\n [key: string]: TokenObj;\n};\n\nexport type CustomThemeType = {\n primitive?: Partial<Token[\"primitive\"]>;\n semantic?: Partial<Token[\"semantic\"]>;\n component?: Partial<Token[\"component\"]>;\n};\n\nexport type ThemeProviderProps = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"prefix\"\n> &\n LayoutUtilProps & {\n theme?: CustomThemeType;\n mode?: \"light\" | \"dark\";\n children?: ReactNode;\n };\n\nexport const ThemeProvider: FC<ThemeProviderProps> = (props) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n theme,\n mode: modeProp,\n children,\n className: classNameProp,\n style,\n ...rest\n } = componentProps;\n\n const { mode: modeContext } = useContext(ThemeProviderContext); //useThemeProvider({ theme, mode: modeProp })\n\n const mode = modeProp ?? modeContext;\n\n const classNameCombined = cx(styles[\"theme-provider\"], classNameProp, {\n [styles[\"mode-dark\"]]: mode === \"dark\",\n [styles[\"mode-light\"]]: mode === \"light\",\n });\n\n const createCustomThemeStyle = useMemo(() => {\n if (!theme) return;\n const styleObj: { [key: string]: string } = {};\n const themeTokens = {\n ...theme.primitive,\n ...theme.semantic,\n ...theme.component,\n };\n Object.keys(themeTokens).forEach((token) => {\n const light = (themeTokens as TokenObjType)[token].value;\n const dark = (themeTokens as TokenObjType)[token].attributes?.appearance\n ?.dark.value;\n if (!dark) {\n styleObj[`--${kebabize(token)}`] = light;\n return;\n }\n styleObj[`--${kebabize(token)}`] = `light-dark(${light}, ${dark})`;\n });\n\n return styleObj;\n }, [theme]);\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n ...createCustomThemeStyle,\n };\n\n const value = useMemo(() => ({ theme, mode }), [theme, mode]);\n\n return (\n <ThemeProviderContext.Provider value={value}>\n <div className={classNameCombined} style={styleCombined} {...rest}>\n {children}\n </div>\n </ThemeProviderContext.Provider>\n );\n};\n\nThemeProvider.displayName = \"ThemeProvider\";\n"],"names":["styles"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toaster-DYJm06Vb.js","sources":["../src/components/Toast/internal/ToastProvider.tsx","../src/components/Toast/internal/useToasts.ts","../src/components/Toast/internal/ToasterPopover.tsx","../src/components/Toast/internal/constants.ts","../src/components/Toast/internal/addOrUpdateToastHeight.ts","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/v4.js","../src/components/Toast/toast.ts","../src/components/Toast/internal/useCloseToast.tsx","../src/components/Toast/internal/useToastPositionStyles.ts","../src/components/Toast/internal/Toast.tsx","../src/components/Toast/internal/useHotkeyFocus.tsx","../src/components/Toast/internal/useShowMoreButtonPositionStyles.ts","../src/components/Toast/internal/ToastStack.tsx","../src/components/Toast/internal/Toaster.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport {\n createContext,\n Dispatch,\n FC,\n PropsWithChildren,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { ToastProps } from \"./Toast\";\n\n/**\n * Props for the ToastProvider component\n * @extends PropsWithChildren\n */\nexport type ToastProviderProps = PropsWithChildren<{\n /**\n * Whether this toaster is used within a dialog context\n * @default false\n */\n isDialogToaster?: boolean;\n}>;\n\n/**\n * Context properties for the ToastProvider\n */\nexport type ToastProviderContextProps = {\n /**\n * Array of active toast notifications\n */\n toasts: ToastProps[];\n /**\n * Function to update the toast array\n */\n setToasts: Dispatch<SetStateAction<ToastProps[]>>;\n /**\n * Array of toast height measurements\n */\n toastHeights: { id: string; height: number }[];\n /**\n * Function to update toast heights\n */\n setToastHeights: Dispatch<\n SetStateAction<ToastProviderContextProps[\"toastHeights\"]>\n >;\n /**\n * Function to calculate the total height of the toast stack\n */\n getToastStackHeight: (index?: number) => number;\n /**\n * Number of toasts to display before stacking\n */\n toastsBeforeStack: number;\n /**\n * Function to update the number of toasts before stacking\n */\n setToastsBeforeStack: Dispatch<SetStateAction<number>>;\n /**\n * Whether extra toasts are currently visible\n */\n extraToastsVisible: boolean;\n /**\n * Function to update the visibility of extra toasts\n */\n setExtraToastsVisible: Dispatch<SetStateAction<boolean>>;\n /**\n * Whether this toaster is used within a dialog context\n */\n isDialogToaster: boolean;\n};\n\n/**\n * Context for managing toast state and operations\n */\nexport const ToastProviderContext = createContext<ToastProviderContextProps>({\n toasts: [],\n setToasts: () => [],\n toastHeights: [],\n setToastHeights: () => [],\n getToastStackHeight: () => 0,\n toastsBeforeStack: 3,\n setToastsBeforeStack: () => [],\n extraToastsVisible: false,\n setExtraToastsVisible: () => [],\n isDialogToaster: false,\n});\n\n/**\n * Global reference to toast state setters for external access\n */\nexport const getSetToasts: {\n setToasts: ToastProviderContextProps[\"setToasts\"];\n setToastHeights: ToastProviderContextProps[\"setToastHeights\"];\n} = {\n setToasts: () => [],\n setToastHeights: () => [],\n};\n\n/**\n * ToastProvider component for managing toast state and context.\n *\n * Features:\n * - Manages toast state and lifecycle\n * - Handles toast height tracking for positioning\n * - Provides stacking behavior configuration\n * - Supports dialog toaster mode\n * - Automatic duplicate toast detection and removal\n * - Context-based state management\n * - Height calculation utilities for positioning\n *\n * @example\n * <ToastProvider isDialogToaster={false}>\n * <Toaster id=\"main-toaster\" />\n * </ToastProvider>\n */\nexport const ToastProvider: FC<ToastProviderProps> = ({\n children,\n isDialogToaster: isDialogToasterProp = false,\n}) => {\n const [toasts, setToasts] = useState<ToastProps[]>([]);\n const [toastHeights, setToastHeights] = useState<\n ToastProviderContextProps[\"toastHeights\"]\n >([]);\n const [toastsBeforeStack, setToastsBeforeStack] = useState<number>(3);\n const [extraToastsVisible, setExtraToastsVisible] = useState<boolean>(false);\n getSetToasts.setToasts = setToasts;\n getSetToasts.setToastHeights = setToastHeights;\n const [isDialogToaster, setIsDialogToaster] =\n useState<boolean>(isDialogToasterProp);\n\n const removeDuplicateToasts = (toasts: ToastProps[]) => {\n const toastIds = new Set<ToastProps[\"id\"]>();\n const uniqueToasts = toasts.filter((toast) => {\n if (toastIds.has(toast.id)) {\n console.error(\n `Encountered toast with duplicate id ${toast.id}. Each toast id needs to be unique.`,\n );\n return false;\n } else {\n toastIds.add(toast.id);\n return true;\n }\n });\n return uniqueToasts;\n };\n\n useEffect(() => {\n const uniqueToasts = removeDuplicateToasts(toasts);\n if (toasts.length !== uniqueToasts.length) {\n setToasts(uniqueToasts);\n }\n }, [toasts]);\n\n useEffect(() => {\n setIsDialogToaster(isDialogToasterProp);\n }, [isDialogToasterProp]);\n\n // Memoize the ID→height map once per toastHeights change, so\n // getToastStackHeight (called once per toast) doesn't rebuild it each time.\n const heightMap = useMemo(\n () => new Map(toastHeights.map((t) => [t.id, t.height])),\n [toastHeights],\n );\n\n const getToastStackHeight = useCallback(\n (index?: number) => {\n // Use the toasts array for ordering, filter to toasts after the given index\n const relevantToasts =\n index !== undefined ? toasts.slice(index + 1) : toasts;\n\n // Get heights for relevant toasts (only those that have reported heights)\n const heights = relevantToasts\n .map((t) => heightMap.get(t.id))\n .filter((h): h is number => h !== undefined);\n\n if (heights.length > 0) {\n if (extraToastsVisible) {\n return heights.reduce((total, current) => total + current);\n }\n return heights\n .slice(-toastsBeforeStack)\n .reduce((total, current) => total + current);\n }\n return 0;\n },\n [toasts, heightMap, extraToastsVisible, toastsBeforeStack],\n );\n\n const value = useMemo(\n () => ({\n toasts,\n setToasts,\n toastHeights,\n setToastHeights,\n getToastStackHeight,\n toastsBeforeStack,\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible,\n isDialogToaster,\n }),\n [\n extraToastsVisible,\n getToastStackHeight,\n toastHeights,\n toasts,\n toastsBeforeStack,\n isDialogToaster,\n ],\n );\n\n return (\n <ToastProviderContext.Provider value={value}>\n {children}\n </ToastProviderContext.Provider>\n );\n};\n","import { useContext } from \"react\";\nimport { ToastProviderContext } from \"./ToastProvider\";\n\n/**\n * Hook for accessing toast context and state management functions\n * @returns ToastProviderContextProps - The toast context with state and functions\n * @throws Error when used outside of ToastProvider\n */\nexport const useToasts = () => {\n const context = useContext(ToastProviderContext);\n\n if (context == null) {\n throw new Error(\"useToasts must be wrapped in <ToastProvider />\");\n }\n\n return context;\n};\n","import {\n forwardRef,\n PropsWithChildren,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport { useMergeRefs } from \"../../../hooks\";\nimport { safeHidePopover, safeShowPopover } from \"../../../internal/functions\";\n\nimport { useToasts } from \"./useToasts\";\n\nimport styles from \"./Toaster.module.scss\";\n\n/**\n * Props for the ToasterPopover component\n * @extends PropsWithChildren\n */\ntype ToasterPopoverProps = PropsWithChildren;\n\n/**\n * ToasterPopover component for displaying toast notifications in a popover.\n *\n * Features:\n * - Displays toast notifications in a native popover element\n * - Automatically shows/hides based on toast count\n * - Handles dialog toaster state management\n * - Browser compatibility checking for popover support\n * - Smooth transitions between show/hide states\n * - Integration with toast provider context\n *\n * @example\n * <ToasterPopover>\n * <ToastStack toasts={toastList} />\n * </ToasterPopover>\n */\nexport const ToasterPopover = forwardRef<HTMLDivElement, ToasterPopoverProps>(\n (props, ref) => {\n const { isDialogToaster } = useToasts();\n const popoverRef = useRef<HTMLDivElement>(null);\n const combinedRef = useMergeRefs([popoverRef, ref]);\n\n const { toasts } = useToasts();\n const toastCount = useMemo(() => toasts.length, [toasts]);\n\n useEffect(() => {\n if (!popoverRef.current) return;\n const currentPopover = popoverRef.current;\n let timeout: NodeJS.Timeout | undefined;\n\n if (toastCount > 0) {\n if (isDialogToaster) {\n // For dialog toasters, we need to reset the popover state\n timeout = setTimeout(() => {\n safeHidePopover(currentPopover);\n safeShowPopover(currentPopover);\n });\n } else {\n // For non-dialog toasters, just show the popover\n safeShowPopover(currentPopover);\n }\n } else {\n safeHidePopover(currentPopover);\n }\n\n return () => {\n if (timeout) clearTimeout(timeout);\n if (toastCount === 0) {\n safeHidePopover(currentPopover);\n }\n };\n }, [toastCount, isDialogToaster]);\n\n return (\n <div ref={combinedRef} className={styles.popover} popover=\"manual\">\n {props.children}\n </div>\n );\n },\n);\n\nToasterPopover.displayName = \"ToasterPopover\";\n","/**\n * Animation duration for toast transitions in milliseconds\n */\nexport const ANIMATION_DURATION = 300; // ms\n\n/**\n * Total padding around the toast stack (top + bottom approximation)\n */\nexport const TOAST_STACK_PADDING = 48;\n\n/**\n * Height of the expand/collapse button plus its padding\n */\nexport const EXPAND_BUTTON_HEIGHT_WITH_PADDING = 64;\n\n/**\n * Scroll threshold in pixels from bottom to hide bottom gradient\n */\nexport const SCROLL_THRESHOLD = 64;\n\n/**\n * Throttle interval for scroll and resize event handlers in milliseconds\n */\nexport const EVENT_THROTTLE_MS = 16; // ~60fps\n","import { ToastProviderContextProps } from \"./ToastProvider\";\n\n/**\n * Adds or updates the height of a toast in the height tracking system\n * @param toastId - The unique identifier of the toast\n * @param toastHeight - The height of the toast in pixels\n * @param setToastHeights - Function to update toast heights\n */\nexport const addOrUpdateToastHeight = (\n toastId: string,\n toastHeight: number,\n setToastHeights: ToastProviderContextProps[\"setToastHeights\"],\n) => {\n setToastHeights((prev) => {\n // update height if toast height is defined\n if (prev.find((t) => t.id === toastId)) {\n return prev.map((t) => {\n if (t.id === toastId) {\n return { ...t, height: toastHeight };\n }\n return t;\n });\n }\n // otherwise set height for the first time\n return [\n ...prev,\n {\n id: toastId,\n height: toastHeight,\n },\n ];\n });\n};\n","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","import { MouseEvent } from \"react\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { Status } from \"../../types\";\nimport { ToastCustomEventDetail, ToastUpdateProps } from \"./internal/types\";\nimport { ToastProps } from \"./internal/Toast\";\n\nexport type toastProps = Pick<\n ToastProps,\n | \"actions\"\n | \"aiMark\"\n | \"containerClassName\"\n | \"duration\"\n | \"message\"\n | \"onClose\"\n | \"onDismiss\"\n | \"progress\"\n | \"title\"\n | \"toastClassName\"\n>;\n\n/**\n * Use to run toast methods for adding, updating, and dismissing toasts.\n *\n * @method info\n * @method success\n * @method warning\n * @method danger\n * @method promise\n * @method update\n * @method dismiss\n */\nexport const toast = () => {\n const toastMethods = [\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"promise\",\n \"update\",\n \"dismiss\",\n ];\n console.error(\n \"Please use one of the following toast methods:\\n\",\n ...toastMethods.map((m) => `\\ttoast.${m}()\\n`),\n );\n};\ntype ToastCustomEvent = CustomEvent<ToastCustomEventDetail>;\n\nconst TOAST_EVENT_NAME = \"hammer-toast\";\n\nconst TOAST_TYPES: readonly Status[] = [\"info\", \"success\", \"warning\", \"danger\"];\n\nconst methods: Record<string, (props: toastProps) => string> = {};\n\nTOAST_TYPES.forEach((type) => {\n methods[type] = (props: toastProps) => {\n const uniqueId = uuid();\n\n const ToastAddEvent: ToastCustomEvent =\n new CustomEvent<ToastCustomEventDetail>(TOAST_EVENT_NAME, {\n composed: true,\n detail: {\n id: uniqueId,\n eventType: \"add\",\n status: type,\n createdAt: Date.now(),\n ...props,\n },\n });\n dispatchEvent(ToastAddEvent);\n return uniqueId;\n };\n});\n\nconst update = (id: string, props: Omit<ToastUpdateProps, \"id\">) => {\n const ToastEvent: ToastCustomEvent = new CustomEvent<ToastCustomEventDetail>(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"update\",\n id,\n ...props,\n },\n },\n );\n dispatchEvent(ToastEvent);\n};\n\nconst dismiss = (id?: string) => {\n const ToastEvent: ToastCustomEvent = new CustomEvent<ToastCustomEventDetail>(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"dismiss\",\n id,\n },\n },\n );\n dispatchEvent(ToastEvent);\n};\n\nconst promise = async (\n promise: Promise<string>,\n toastConfig: {\n loading: toastProps;\n success: (data: string) => Omit<toastProps, \"id\">;\n error: (error: string) => Omit<toastProps, \"id\">;\n },\n): Promise<string> => {\n const { onClose, ...loadingToastConfig } = toastConfig.loading;\n let closedWhileLoading = false;\n\n const onCloseWhileLoading: toastProps[\"onClose\"] = (\n e: MouseEvent<HTMLButtonElement>,\n ) => {\n toastConfig.loading.onClose?.(e);\n closedWhileLoading = true;\n };\n\n const id = toast.info({\n ...loadingToastConfig,\n onClose: onCloseWhileLoading,\n duration: false,\n });\n await Promise.resolve(promise)\n .then((res) => {\n if (closedWhileLoading) {\n toast.success({\n ...toastConfig.success(res),\n });\n } else {\n toast.update(id, {\n ...toastConfig.success(res),\n status: \"success\",\n });\n }\n })\n .catch((err) => {\n if (closedWhileLoading) {\n toast.danger({\n ...toastConfig.error(err),\n });\n } else {\n toast.update(id, {\n ...toastConfig.error(err),\n status: \"danger\",\n });\n }\n });\n return id;\n};\n\n/**\n * Use to add info toast to the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.info({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n */\ntoast.info = methods.info;\n/**\n * Use to add success toast to the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.success({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n */\ntoast.success = methods.success;\n/**\n * Use to add warning toast to the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.warning({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n */\ntoast.warning = methods.warning;\n/**\n * Use to add danger toast to the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.danger({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n */\ntoast.danger = methods.danger;\n/**\n * Use to update a specific toast in the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.info({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n * toast.update(id, {\n * message: \"This is an updated toast\",\n * title: \"Updated\",\n * });\n */\ntoast.update = update;\n/**\n * Use to dismiss a specific toast in the stack.\n *\n * @example\n * import { toast } from \"@servicetitan/anvil2\";\n * const id = toast.info({\n * message: \"This is an info toast\",\n * title: \"Info\",\n * });\n * toast.dismiss(id);\n */\ntoast.dismiss = dismiss;\n/**\n * Use to create a toast that updates itself based on a Promise state.\n *\n * @example\n * ```ts\n * import { toast } from \"@servicetitan/anvil2\";\n * toast.promise(\n * new Promise((resolve, reject) => {\n * setTimeout(() => {\n * resolve(\"This is a success toast\");\n * }, 2000);\n * }),\n * {\n * loading: {\n * message: \"This is a loading toast\",\n * title: \"Loading\",\n * },\n * success: (data) => ({\n * message: data,\n * title: \"Success\",\n * }),\n * error: (error) => ({\n * message: error,\n * title: \"Error\",\n * }),\n * },\n * );\n * ```\n */\ntoast.promise = promise;\n","import { ToastProps } from \"./Toast\";\nimport { useToasts } from \"./useToasts\";\nimport { ANIMATION_DURATION } from \"./constants\";\nimport { ToastProviderContextProps } from \"./ToastProvider\";\n\n/**\n * Updates toasts after close\n * @param setToasts - Function to update toasts\n * @param setToastHeights - Function to update toast heights\n * @param id - Optional toast ID to close specific toast, or undefined to close all\n */\nconst setToastsAfterClose = (\n setToasts: ToastProviderContextProps[\"setToasts\"],\n setToastHeights: ToastProviderContextProps[\"setToastHeights\"],\n id?: string,\n) => {\n setToasts((prev) => (id ? prev.filter((t) => t.id !== id) : []));\n setToastHeights((prev) => (id ? prev.filter((t) => t.id !== id) : []));\n};\n\n/**\n * Closes a toast with animation support\n * @param setToasts - Function to update toasts\n * @param setToastHeights - Function to update toast heights\n * @param closingToastClassName - CSS class for closing animation\n * @param id - Optional toast ID to close specific toast, or undefined to close all\n */\nconst closeToast = (\n setToasts: ToastProviderContextProps[\"setToasts\"],\n setToastHeights: ToastProviderContextProps[\"setToastHeights\"],\n closingToastClassName: ToastProps[\"toastClassName\"],\n id?: string,\n) => {\n const prefersReducedMotion = globalThis.matchMedia(\n `(prefers-reduced-motion: reduce)`,\n ).matches;\n\n if (prefersReducedMotion) {\n setToastsAfterClose(setToasts, setToastHeights, id);\n } else {\n // show the close animation\n setToasts((prev) =>\n prev.map((t) => {\n if (!id || t.id === id) {\n return {\n ...t,\n toastClassName: closingToastClassName,\n };\n }\n return t;\n }),\n );\n // actually remove the toast\n setTimeout(() => {\n setToastsAfterClose(setToasts, setToastHeights, id);\n }, ANIMATION_DURATION - 10);\n }\n};\n\n/**\n * Hook that returns a function to close toasts\n * @param closingToastClassName - CSS class for closing animation\n * @returns Function to close toasts by ID or all toasts\n */\nexport const useCloseToast = (\n closingToastClassName: ToastProps[\"toastClassName\"],\n) => {\n const { setToasts, setToastHeights } = useToasts();\n return (id?: string) => {\n closeToast(setToasts, setToastHeights, closingToastClassName, id);\n };\n};\n","import { CSSProperties, useMemo } from \"react\";\nimport { useToasts } from \"./useToasts\";\n\nconst STACKED_TOAST_HEIGHT = \"5.3125rem\"; // border + padding + title + gap + message\nconst STACKED_TOAST_PEEK_HEIGHT = \"1rem\";\n\n/**\n * Hook for calculating position styles for individual toasts\n * @param index - The index of the toast in the stack\n * @returns CSS properties for positioning the toast\n */\nexport const useToastPositionStyles = (\n index: number,\n): CSSProperties | undefined => {\n const {\n toasts,\n toastHeights,\n getToastStackHeight,\n toastsBeforeStack,\n extraToastsVisible,\n } = useToasts();\n const toastCount = toasts.length;\n const toasterHeight = getToastStackHeight(index);\n\n return useMemo(() => {\n if (index === toastCount - 1) {\n return {\n top: 0,\n zIndex: 3,\n };\n } else if (\n // all toasts when show more is clicked\n extraToastsVisible ||\n // or visible toasts when stacked\n (!extraToastsVisible &&\n (toastCount <= toastsBeforeStack ||\n (toastCount > toastsBeforeStack &&\n index >= toastCount - toastsBeforeStack)))\n ) {\n return {\n top: toasterHeight,\n };\n\n // stacked toasts\n } else {\n if (toastCount > toastsBeforeStack) {\n // first stack\n if (index === toastCount - toastsBeforeStack - 1) {\n return {\n top: `calc(${toasterHeight || 0}px - ${STACKED_TOAST_HEIGHT} +\n ${STACKED_TOAST_PEEK_HEIGHT})`,\n zIndex: 1,\n };\n // second stack and hidden toasts\n } else if (index <= toastCount - toastsBeforeStack - 2) {\n return {\n top: `calc(${toasterHeight || 0}px -\n ${STACKED_TOAST_HEIGHT} \n + ${STACKED_TOAST_PEEK_HEIGHT} * 2)`,\n zIndex: 0,\n };\n }\n }\n }\n return undefined;\n // only run when toastHeights changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [toastHeights]);\n};\n","import cx from \"classnames\";\nimport { forwardRef, useEffect, useRef, useState } from \"react\";\n\nimport { Alert, AlertProps } from \"../../Alert\";\nimport { Button, ButtonProps } from \"../../Button\";\nimport { ProgressBar, ProgressBarProps } from \"../../ProgressBar\";\nimport { useSwipe, UseSwipeFn } from \"../../../hooks\";\n\nimport { ANIMATION_DURATION } from \"./constants\";\nimport { addOrUpdateToastHeight } from \"./addOrUpdateToastHeight\";\nimport { toast } from \"../toast\";\nimport { useCloseToast } from \"./useCloseToast\";\nimport { useToastPositionStyles } from \"./useToastPositionStyles\";\nimport { useToasts } from \"./useToasts\";\n\nimport styles from \"./Toaster.module.scss\";\n\ntype ToastAction = Pick<ButtonProps, \"appearance\" | \"onClick\"> & {\n label: string;\n};\n\n/**\n * Props for the Toast component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type ToastProps = {\n // used in toast methods\n /**\n * Action buttons to display in the toast\n */\n actions?: { primary: ToastAction; secondary?: ToastAction };\n /**\n * CSS class name for the toast container\n */\n containerClassName?: string;\n /**\n * Duration in milliseconds before auto-dismiss. Set to false to disable auto-dismiss\n */\n duration?: number | false;\n /**\n * Additional message content to display below the title\n */\n message?: string;\n /**\n * Callback function called when toast is dismissed, expired, or closed\n */\n onDismiss?: () => void;\n /**\n * Progress bar value or indeterminate state\n */\n progress?: ProgressBarProps[\"value\"] | \"indeterminate\";\n /**\n * CSS class name for the toast element\n */\n toastClassName?: string;\n\n // used in toast methods and passed to alert\n /**\n * When set, displays the AI mark inline after the toast title.\n * Use `true` for the sparkle only, or pass tooltip/popover configuration.\n */\n aiMark?: AlertProps[\"aiMark\"];\n /**\n * Unique identifier for the toast\n */\n id: string;\n /**\n * This is only run when the \"x\" button is triggered on the toast.\n * To run a callback when the toast is closed, expired, or dismissed,\n * use the `onDismiss` parameter instead.\n */\n onClose?: AlertProps[\"onClose\"];\n /**\n * Visual status of the toast (info, success, warning, danger)\n */\n status: AlertProps[\"status\"];\n /**\n * Title text displayed in the toast\n */\n title: string;\n\n // used by toaster (internal)\n /**\n * Timestamp when the toast was created (internal use)\n */\n createdAt?: number;\n /**\n * Position index of the toast in the stack (internal use)\n */\n index?: number;\n /**\n * Whether the toast is below the stack index (internal use)\n */\n isBelowStackIndex?: boolean;\n /**\n * Whether the toast is currently stacked (internal use)\n */\n isStacked?: boolean;\n /**\n * Pause status for hover interactions (internal use)\n */\n pausedStatus?: number | \"resumed\";\n};\n\n/**\n * Toast component for displaying temporary notifications to users.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Auto-dismiss with configurable duration\n * - Optional action buttons for user interaction\n * - Progress bar support for loading states\n * - Swipe gestures for dismissal\n * - Stacking behavior for multiple toasts\n * - Pause on hover functionality\n * - Accessible with proper ARIA roles\n * - Smooth animations and transitions\n *\n * @example\n * <Toast\n * id=\"toast-1\"\n * status=\"success\"\n * title=\"Success!\"\n * message=\"Your changes have been saved.\"\n * duration={5000}\n * />\n */\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(\n (\n {\n actions,\n containerClassName,\n createdAt,\n duration: durationProp,\n index = 0,\n isBelowStackIndex,\n isStacked,\n message,\n onClose,\n onDismiss,\n pausedStatus,\n progress,\n toastClassName,\n ...alertProps\n },\n ref,\n ) => {\n const { setToastHeights, extraToastsVisible, isDialogToaster } =\n useToasts();\n const closeToast = useCloseToast(styles.close);\n const toastPositionStyles = useToastPositionStyles(index);\n\n const toastWrapperRef = useRef<HTMLDivElement>(null);\n const timerRef = useRef<NodeJS.Timeout | undefined>();\n const pausedAtRef = useRef<number>(0);\n const createdAtRef = useRef<number>(createdAt ?? 0);\n const hasBeenStackedRef = useRef<boolean>(false);\n\n const [transitionClass, setTransitionClass] = useState<string | undefined>(\n styles.hidden,\n );\n const [toastOpened, setToastOpened] = useState<boolean>(false);\n\n // don't allow toasts to auto-dismiss when actions are present\n const duration = actions ? false : durationProp;\n\n const alertClasses = cx(\n styles[\"toast-alert\"],\n toastClassName,\n transitionClass,\n );\n\n useEffect(() => {\n // add styles for opening animation then remove\n if (!toastOpened) {\n setTransitionClass(styles.open);\n\n setTimeout(() => {\n setTransitionClass(undefined);\n }, ANIMATION_DURATION);\n\n // manually set toast opened since animation is not run\n setToastOpened(true);\n }\n return () => {\n // run when toast is closed\n onDismiss?.();\n };\n // only run this once\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // send height to toast provider for positioning calculations on open\n useEffect(() => {\n if (toastWrapperRef.current && toastOpened && !isStacked) {\n if ((isBelowStackIndex && extraToastsVisible) || isDialogToaster) {\n // animation is disabled when dialog toaster first opens\n const delay = isDialogToaster ? 0 : ANIMATION_DURATION;\n\n setTimeout(() => {\n const height = toastWrapperRef.current?.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height ?? 0, setToastHeights);\n }, delay); // get correct height after width transition\n } else {\n const height = toastWrapperRef.current.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height, setToastHeights);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n toastOpened,\n isStacked,\n extraToastsVisible,\n isDialogToaster,\n // toast updates\n actions,\n message,\n alertProps.title,\n ]);\n\n // handle duration timeout and pausing when hovering over toaster\n useEffect(() => {\n if (duration && !isStacked) {\n // initial render\n if (!pausedStatus) {\n timerRef.current = setTimeout(\n () => closeToast(alertProps.id),\n duration,\n );\n return () => clearTimeout(timerRef.current);\n\n // initial hovering over toaster\n } else if (typeof pausedStatus === \"number\") {\n clearTimeout(timerRef.current);\n pausedAtRef.current = pausedStatus;\n\n // after initial hovering over toaster\n } else if (pausedStatus === \"resumed\") {\n const remainingDuration =\n // rendering new toast after initial hover\n pausedAtRef.current === 0\n ? duration\n : // resume timer after valid hover\n duration + (createdAtRef.current || 0) - pausedAtRef.current;\n\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n pausedAtRef.current = 0;\n }, remainingDuration);\n\n return () => clearTimeout(timerRef.current);\n }\n }\n // don't want to re-render here for alertProps.id, closeToast, or isStacked\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [createdAtRef.current, duration, pausedStatus]);\n\n // disable timeout when toasts are stacked\n useEffect(() => {\n if (duration) {\n // stop timer if toast is stacked (hidden)\n if (isStacked) {\n clearTimeout(timerRef.current);\n hasBeenStackedRef.current = true;\n\n // reset timer after moving out of the stack\n } else if (\n !isStacked &&\n hasBeenStackedRef.current &&\n !(typeof pausedStatus === \"number\")\n ) {\n createdAtRef.current = Date.now();\n\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n hasBeenStackedRef.current = false;\n }, duration);\n\n return () => clearTimeout(timerRef.current);\n }\n }\n // only run if isStacked or duration change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isStacked, duration]);\n\n const onSwipe = (dir: UseSwipeFn[\"direction\"]) => {\n if (dir === \"right\") {\n toast.dismiss(alertProps.id);\n return;\n }\n };\n\n const { direction, ...touchProps } = useSwipe(onSwipe);\n\n const alertCloseProps:\n | {\n onClose: AlertProps[\"onClose\"];\n }\n | Record<string, never> =\n isStacked && !extraToastsVisible\n ? {}\n : {\n onClose,\n };\n\n const hasMessage = message && message !== \"\";\n const hasProgress = progress != null;\n\n return (\n <div\n data-anv=\"toast\"\n className={containerClassName}\n style={toastPositionStyles ?? { top: \"1.5rem\" }}\n ref={toastWrapperRef}\n onAnimationStart={() => setToastOpened(true)}\n role={isStacked ? \"presentation\" : undefined}\n {...touchProps}\n >\n <Alert\n className={alertClasses}\n {...alertProps}\n {...alertCloseProps}\n ref={ref}\n tabIndex={isStacked && !extraToastsVisible ? -1 : 0}\n >\n {hasMessage || hasProgress || actions ? (\n <>\n {hasMessage ? (\n <div\n className={styles[\"message-container\"]}\n id={`toast-message-${alertProps.id}`}\n >\n {message}\n </div>\n ) : null}\n\n {hasProgress ? (\n <>\n {progress === \"indeterminate\" ? (\n <ProgressBar\n aria-labelledby={`toast-message-${alertProps.id}`}\n indeterminate\n />\n ) : (\n <ProgressBar\n aria-labelledby={`toast-message-${alertProps.id}`}\n value={progress}\n />\n )}\n </>\n ) : null}\n\n {actions ? (\n <div className={styles[\"alert-action\"]}>\n <Button\n appearance={actions.primary.appearance}\n onClick={actions.primary.onClick}\n size=\"small\"\n >\n {actions.primary.label}\n </Button>\n\n {actions.secondary && (\n <Button\n appearance={actions.secondary.appearance}\n onClick={actions.secondary.onClick}\n size=\"small\"\n >\n {actions.secondary.label}\n </Button>\n )}\n </div>\n ) : null}\n </>\n ) : null}\n </Alert>\n </div>\n );\n },\n);\n\nToast.displayName = \"Toast\";\n","import { MutableRefObject, useEffect, useRef, useState } from \"react\";\nimport { getActiveElement } from \"../../../internal/functions\";\n\ntype HotkeyFocusParams = {\n disabled: boolean;\n hotkey: string;\n onHotkeyIn?: () => void | Promise<void>;\n onHotkeyOut?: () => void | Promise<void>;\n refToFocus: MutableRefObject<HTMLElement>;\n rootRef: MutableRefObject<HTMLElement>;\n};\n\n/**\n * A hook that listens for a hotkey press and focuses an element when the hotkey is pressed.\n * The hook also listens for the Escape key to blur the element and refocus the previous element.\n *\n * @param params\n * @param params.disabled - If true, the hotkey will not be active\n * @param params.hotkey - The key to press to focus the element\n * @param params.onHotkeyIn - A function to run when the hotkey is pressed; this runs before the element is focused\n * @param params.onHotkeyOut - A function to run when the user presses Escape after focusing the element\n * @param params.refToFocus - The ref to the element that will be focused when the hotkey is pressed\n * @param params.rootRef - The ref to the element that will listen for changes to focus, disabling the Escape key\n */\nexport const useHotkeyFocus = ({\n disabled,\n hotkey,\n onHotkeyIn,\n onHotkeyOut,\n refToFocus,\n rootRef,\n}: HotkeyFocusParams) => {\n const [shouldEscapeRefocus, setShouldEscapeRefocus] = useState(false);\n const previousFocusElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (disabled || typeof document === \"undefined\") return;\n const rootElement = rootRef.current;\n\n const blurHandler = (e: FocusEvent) => {\n if (e.relatedTarget && rootElement.contains(e.relatedTarget as Node)) {\n return;\n }\n // If the user's focus leaves the area, pressing Escape will no longer refocus the previous element\n setShouldEscapeRefocus(false);\n };\n\n const keyDownHandler = async (e: KeyboardEvent) => {\n const activeElement = getActiveElement(document);\n\n if (\n activeElement?.tagName.toLowerCase() !== \"input\" &&\n activeElement?.tagName.toLowerCase() !== \"textarea\" &&\n activeElement?.tagName.toLowerCase() !== \"pre\" &&\n e.key === hotkey\n ) {\n e.preventDefault();\n previousFocusElement.current = activeElement as HTMLElement | null;\n await onHotkeyIn?.();\n\n if (refToFocus.current) {\n refToFocus.current.focus();\n setShouldEscapeRefocus(true);\n if (refToFocus.current.scrollTo) {\n refToFocus.current.scrollTo();\n }\n }\n } else if (e.code === \"Escape\" && shouldEscapeRefocus) {\n onHotkeyOut?.();\n if (\n previousFocusElement.current &&\n previousFocusElement.current.tagName.toLowerCase() !== \"body\"\n ) {\n (previousFocusElement.current as HTMLElement).focus();\n } else {\n (activeElement as HTMLElement).blur();\n }\n }\n };\n\n document.addEventListener(\"keydown\", keyDownHandler);\n rootElement.addEventListener(\"focusout\", blurHandler);\n\n return () => {\n document.removeEventListener(\"keydown\", keyDownHandler);\n rootElement.removeEventListener(\"focusout\", blurHandler);\n };\n }, [\n hotkey,\n disabled,\n rootRef,\n shouldEscapeRefocus,\n onHotkeyIn,\n refToFocus,\n onHotkeyOut,\n ]);\n\n return { returnFocusRef: previousFocusElement };\n};\n","import { CSSProperties, useMemo } from \"react\";\nimport { useToasts } from \"./useToasts\";\n\n/**\n * Hook for calculating position styles for the show more button\n * @returns CSS properties for positioning the show more button\n */\nexport const useShowMoreButtonPositionStyles = (): CSSProperties => {\n const { toasts, toastHeights, toastsBeforeStack } = useToasts();\n const totalToasts = toasts.length;\n const extraSpace = totalToasts > toastsBeforeStack + 1 ? \"2rem\" : \"1rem\";\n const top = useMemo(() => {\n if (totalToasts > toastsBeforeStack) {\n // Build a height lookup map by toast ID for correct matching\n const heightMap = new Map(toastHeights.map((t) => [t.id, t.height]));\n\n // Use the toasts array to get the visible (non-stacked) toasts' heights\n return toasts\n .slice(-toastsBeforeStack)\n .map((t) => heightMap.get(t.id))\n .filter((h): h is number => h !== undefined)\n .reduce((t, c) => t + c, 0);\n }\n return \"unset\";\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [toasts, toastHeights, toastsBeforeStack]);\n\n return {\n // -0.75px fixes hover issue when 1rem != 16px due to pixel rounding\n top: `calc(${top}px + ${extraSpace} - 0.75px)`,\n position: \"absolute\",\n display: totalToasts > toastsBeforeStack ? undefined : \"none\",\n transition: \"top var(--toast-animation-duration) ease-in\",\n };\n};\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useRef,\n useCallback,\n useState,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { Button } from \"../../Button\";\nimport { useMergeRefs } from \"../../../hooks\";\nimport { SrOnly } from \"../../SrOnly\";\n\nimport {\n ANIMATION_DURATION,\n TOAST_STACK_PADDING,\n EXPAND_BUTTON_HEIGHT_WITH_PADDING,\n SCROLL_THRESHOLD,\n EVENT_THROTTLE_MS,\n} from \"./constants\";\nimport { Toast, ToastProps } from \"./Toast\";\nimport { toast } from \"../toast\";\nimport { useHotkeyFocus } from \"./useHotkeyFocus\";\nimport { useShowMoreButtonPositionStyles } from \"./useShowMoreButtonPositionStyles\";\nimport { useToasts } from \"./useToasts\";\n\nimport styles from \"./Toaster.module.scss\";\n\n/**\n * Props for the ToastStack component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type ToastStackProps = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"children\"\n> & {\n /**\n * Duration of the toast in milliseconds. If set to `false`, the toast will not auto-dismiss.\n * If `actions` are provided in the toast method, this prop will be ignored and treated as `false`.\n * @default false\n */\n duration?: number | false;\n /**\n * How a screen-reader will announce the hotkey used to set focus on the first toast.\n * @default \"t\"\n */\n focusKey?: string;\n /**\n * How many toasts to display before they start stacking.\n * @default 3\n */\n toastsBeforeStack?: number;\n /**\n * The toasts to display in the stack.\n * @default []\n */\n toasts: ToastProps[];\n};\n\n/**\n * ToastStack component for displaying a stack of toast notifications.\n *\n * Features:\n * - Displays multiple toasts in a vertical stack\n * - Automatic stacking behavior when toast count exceeds limit\n * - Show more button to expand stacked toasts\n * - Keyboard navigation with hotkey support\n * - Hover pause functionality for toast timers\n * - Smooth animations and transitions\n * - Accessibility features with screen reader support\n * - Responsive design with mobile touch support\n * - Focus management for keyboard users\n *\n * @example\n * <ToastStack\n * toasts={toastList}\n * duration={5000}\n * toastsBeforeStack={3}\n * focusKey=\"t\"\n * />\n *\n * @example\n * <ToastStack\n * toasts={[toast1, toast2]}\n * duration={false}\n * toastsBeforeStack={5}\n * />\n */\nexport const ToastStack = forwardRef<HTMLDivElement, ToastStackProps>(\n (\n {\n className,\n duration = false,\n focusKey = \"t\",\n toasts,\n toastsBeforeStack = 3,\n ...props\n },\n ref,\n ) => {\n const toastStackRef = useRef<HTMLDivElement>(null);\n const firstToastRef = useRef<HTMLDivElement | null>(null);\n const mergedToastStackRef = useMergeRefs([toastStackRef, ref]);\n const {\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible,\n getToastStackHeight,\n isDialogToaster,\n } = useToasts();\n const toastCount = toasts.length;\n const isToastStackEmpty = toastCount === 0;\n\n const lastToastCount = useRef<number>(0);\n const resizeThrottleRef = useRef(false);\n const resizeTimerRef = useRef<ReturnType<typeof setTimeout>>();\n const scrollThrottleRef = useRef(false);\n const scrollTimerRef = useRef<ReturnType<typeof setTimeout>>();\n\n const [toastStackHeight, setToastStackHeight] = useState<number>(0);\n const [disableAnimations, setDisableAnimations] = useState(false);\n const [toastPausedStatus, setToastPausedStatus] =\n useState<ToastProps[\"pausedStatus\"]>(undefined);\n const [showTopGradient, setShowTopGradient] = useState(false);\n const [showBottomGradient, setShowBottomGradient] = useState(true);\n // Initialize to 0 for SSR compatibility; set actual value in useEffect\n const [viewportHeight, setViewportHeight] = useState<number>(0);\n\n const isOverflowing =\n toastStackHeight + EXPAND_BUTTON_HEIGHT_WITH_PADDING > viewportHeight;\n\n // Update viewport height on window resize (throttled)\n useEffect(() => {\n // Set initial value on mount\n setViewportHeight(window.innerHeight - TOAST_STACK_PADDING);\n\n const handleResize = () => {\n if (resizeThrottleRef.current) return;\n\n resizeThrottleRef.current = true;\n resizeTimerRef.current = setTimeout(() => {\n setViewportHeight(window.innerHeight - TOAST_STACK_PADDING);\n resizeThrottleRef.current = false;\n }, EVENT_THROTTLE_MS);\n };\n\n window.addEventListener(\"resize\", handleResize);\n return () => {\n clearTimeout(resizeTimerRef.current);\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n if (toastCount === 0) {\n setToastPausedStatus(undefined);\n }\n }, [toastCount]);\n\n // Track scroll position to show/hide gradients (only when expanded)\n useEffect(() => {\n const toastStackElement = toastStackRef.current;\n\n // When collapsed with overflow, just show bottom gradient (no scroll tracking)\n if (!extraToastsVisible) {\n setShowTopGradient(false);\n setShowBottomGradient(isOverflowing);\n return;\n }\n\n if (!toastStackElement) {\n setShowTopGradient(false);\n setShowBottomGradient(true);\n return;\n }\n\n const updateGradients = () => {\n const { scrollTop, scrollHeight, clientHeight } = toastStackElement;\n const distanceFromBottom = scrollHeight - scrollTop - clientHeight;\n\n // Show top gradient when scrolled down from top\n setShowTopGradient(scrollTop > 0);\n // Show bottom gradient when not at bottom (within threshold)\n setShowBottomGradient(distanceFromBottom > SCROLL_THRESHOLD);\n };\n\n const handleScroll = () => {\n if (scrollThrottleRef.current) return;\n\n scrollThrottleRef.current = true;\n scrollTimerRef.current = setTimeout(() => {\n updateGradients();\n scrollThrottleRef.current = false;\n }, EVENT_THROTTLE_MS);\n };\n\n // Initial check (unthrottled)\n updateGradients();\n\n toastStackElement.addEventListener(\"scroll\", handleScroll, {\n passive: true,\n });\n return () => {\n clearTimeout(scrollTimerRef.current);\n toastStackElement.removeEventListener(\"scroll\", handleScroll);\n };\n }, [extraToastsVisible, isOverflowing]);\n\n useEffect(() => {\n const scrollListener = (e: WheelEvent) => {\n e.preventDefault();\n e.stopPropagation();\n toastStackRef.current?.scrollTo({\n top: toastStackRef.current.scrollTop + e.deltaY,\n });\n };\n\n if (isDialogToaster) {\n // prevent existing toasts from sliding in again\n setDisableAnimations(isDialogToaster);\n const animationTimer = setTimeout(() => {\n setDisableAnimations(false);\n }, 500);\n\n // fix scrolling for toast stacks in dialogs\n const toastStackRefCurrent = toastStackRef.current;\n toastStackRefCurrent?.addEventListener(\"wheel\", scrollListener, {\n passive: false,\n });\n\n return () => {\n clearTimeout(animationTimer);\n toastStackRefCurrent?.removeEventListener(\"wheel\", scrollListener);\n };\n }\n }, [isDialogToaster]);\n\n // reset toast stack height when toasts change\n useEffect(() => {\n let timer: NodeJS.Timeout;\n if (\n toastCount > lastToastCount.current ||\n isDialogToaster ||\n extraToastsVisible\n ) {\n // Update immediately when adding toasts or expanding\n setToastStackHeight(getToastStackHeight());\n } else {\n // Delay update when removing toasts or collapsing to allow animation\n timer = setTimeout(\n () => setToastStackHeight(getToastStackHeight()),\n ANIMATION_DURATION - 10,\n );\n }\n lastToastCount.current = toastCount;\n return () => {\n clearTimeout(timer);\n };\n // only run after toastStackHeight updates or dialog state changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getToastStackHeight, isDialogToaster, extraToastsVisible]);\n\n useEffect(() => {\n setToastsBeforeStack(toastsBeforeStack);\n }, [setToastsBeforeStack, toastsBeforeStack]);\n\n // Collapse the toast stack (only called by collapse button)\n const handleCollapseStack = useCallback(() => {\n setExtraToastsVisible(false);\n setToastPausedStatus(\"resumed\");\n\n if (toastStackRef.current?.scrollTo) {\n toastStackRef.current?.scrollTo(0, 0);\n }\n }, [setExtraToastsVisible]);\n\n const handleResumeToastTimers = useCallback(() => {\n setToastPausedStatus(\"resumed\");\n }, []);\n\n const { returnFocusRef } = useHotkeyFocus({\n disabled: isToastStackEmpty,\n hotkey: focusKey,\n onHotkeyIn: async () => {\n setExtraToastsVisible(true);\n return new Promise((resolve) => {\n // add a delay for the ToastStack to render the hidden toasts\n setTimeout(() => {\n resolve();\n }, 100);\n });\n },\n onHotkeyOut: () => {\n handleResumeToastTimers();\n },\n refToFocus: firstToastRef as React.MutableRefObject<HTMLElement>,\n rootRef: toastStackRef as React.MutableRefObject<HTMLElement>,\n });\n\n const showMoreButtonPositionStyles = useShowMoreButtonPositionStyles();\n\n const showExpandCollapseButton = toastCount > toastsBeforeStack;\n const expandCollapseButtonText = extraToastsVisible\n ? \"Collapse all\"\n : \"Expand all\";\n\n // Use getToastStackHeight() directly to avoid stale state during expand animation\n const currentStackHeight = useMemo(\n () => getToastStackHeight(),\n [getToastStackHeight],\n );\n\n // Check if current stack would overflow (for button animation)\n // Include button space to trigger overflow if button would be off-screen at all\n const hasOverflow =\n currentStackHeight + EXPAND_BUTTON_HEIGHT_WITH_PADDING > viewportHeight;\n\n // Calculate button top position\n const expandCollapseButtonTop: CSSProperties[\"top\"] = hasOverflow\n ? `calc(100dvh - 4.5rem)`\n : extraToastsVisible\n ? `calc(${currentStackHeight}px - 1rem)`\n : showMoreButtonPositionStyles.top;\n\n const toastStackClasses = cx(styles[\"toast-stack\"], className, {\n [styles[\"show-more-button\"]]:\n showExpandCollapseButton && !extraToastsVisible,\n [styles[\"show-extra-toast\"]]: extraToastsVisible,\n [styles[\"disable-animations\"]]: disableAnimations,\n [styles[\"has-overflow\"]]: hasOverflow,\n });\n\n const handleToastStackFocusHover = () => {\n if (toastPausedStatus === \"resumed\" || toastPausedStatus === undefined) {\n setToastPausedStatus(Date.now());\n }\n };\n\n const handleToastStackOnBlur = () => {\n if (!toastStackRef.current?.matches(\":focus-within\")) {\n handleResumeToastTimers();\n }\n };\n\n const handleExpandCollapseClick = () => {\n if (extraToastsVisible) {\n handleCollapseStack();\n } else {\n setExtraToastsVisible(true);\n }\n };\n\n let toastStackHeightStyle: CSSProperties[\"height\"] = 0;\n\n if (extraToastsVisible) {\n // need to reduce padding here due to box-sizing: content-box\n toastStackHeightStyle = \"calc(100vh - var(--toast-stack-padding) * 2)\";\n } else if (toastCount > toastsBeforeStack) {\n // 3rem to leave room for show more button\n toastStackHeightStyle = `calc(${toastStackHeight}px + 3rem + var(--toast-stack-padding))`;\n } else {\n toastStackHeightStyle = toastStackHeight;\n }\n\n return (\n <>\n <div\n data-anv=\"ToastStack\"\n className={toastStackClasses}\n ref={mergedToastStackRef}\n onMouseOver={handleToastStackFocusHover}\n onMouseLeave={handleResumeToastTimers}\n onFocus={handleToastStackFocusHover}\n onBlur={handleToastStackOnBlur}\n style={{\n height: toastStackHeightStyle,\n }}\n {...props}\n >\n {toasts.map(({ toastClassName, onClose, ...toastProps }, index) => {\n const isStacked =\n !extraToastsVisible && index < toastCount - toastsBeforeStack;\n\n const isLastToastDisplayed =\n index === toastCount - toastsBeforeStack;\n\n const isHidden = index < toastCount - toastsBeforeStack - 2;\n\n const toastClasses = cx(styles.toast, toastClassName);\n const toastContainerClasses = cx(styles[\"toast-wrapper\"], {\n [styles.stacked]: isStacked || isLastToastDisplayed,\n [styles[\"stack-one\"]]:\n isStacked && index === toastCount - toastsBeforeStack - 1,\n [styles[\"stack-two\"]]:\n isStacked && index === toastCount - toastsBeforeStack - 2,\n [styles[\"stacked-extra\"]]: isHidden,\n [styles[\"stacked-show-extra\"]]: extraToastsVisible,\n });\n\n const handleOnClose = (\n e: React.MouseEvent<HTMLButtonElement, MouseEvent>,\n ) => {\n onClose?.(e);\n returnFocusRef.current?.focus();\n toast.dismiss(toastProps.id);\n };\n\n return (\n <Toast\n containerClassName={toastContainerClasses}\n duration={duration}\n index={index}\n isStacked={isStacked}\n isBelowStackIndex={index < toastCount - toastsBeforeStack}\n key={toastProps.id}\n onClose={handleOnClose}\n pausedStatus={toastPausedStatus}\n toastClassName={toastClasses}\n ref={index === 0 ? firstToastRef : undefined}\n {...toastProps}\n />\n );\n })}\n {showExpandCollapseButton && (\n <div\n className={cx(styles[\"show-more-button-container\"], {\n [styles[\"fixed-position\"]]: hasOverflow,\n })}\n style={{ top: expandCollapseButtonTop }}\n >\n <Button\n className={styles[\"show-collapse-button\"]}\n onClick={handleExpandCollapseClick}\n appearance=\"secondary\"\n >\n {expandCollapseButtonText}\n </Button>\n </div>\n )}\n {/* Spacer element to extend scroll area so last toast can scroll above the fixed button (only when expanded) */}\n {extraToastsVisible && hasOverflow && (\n <div\n className={styles[\"toast-stack-spacer\"]}\n style={{ top: `calc(${currentStackHeight}px + 2rem)` }}\n aria-hidden=\"true\"\n />\n )}\n <SrOnly aria-live=\"polite\">\n New toast message appeared. Press the {focusKey} key to focus on the\n toast messages. Press escape to return focus to previous position.\n </SrOnly>\n </div>\n {hasOverflow && (\n <>\n <div\n className={cx(styles[\"toast-stack-gradient-top\"], {\n [styles[\"toast-stack-gradient-visible\"]]: showTopGradient,\n })}\n aria-hidden=\"true\"\n />\n <div\n className={cx(styles[\"toast-stack-gradient-bottom\"], {\n [styles[\"toast-stack-gradient-visible\"]]: showBottomGradient,\n })}\n aria-hidden=\"true\"\n />\n </>\n )}\n </>\n );\n },\n);\n\nToastStack.displayName = \"ToastStack\";\n","import cx from \"classnames\";\nimport {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n useState,\n} from \"react\";\n\nimport { ANIMATION_DURATION } from \"./constants\";\nimport { ToastProvider } from \"./ToastProvider\";\nimport {\n ToastCustomEventDetail,\n ToastCustomEventDetailAdd,\n ToastCustomEventDetailUpdate,\n ToastUpdateProps,\n} from \"./types\";\nimport { ToastProps } from \"./Toast\";\nimport { ToastStack, ToastStackProps } from \"./ToastStack\";\nimport { ToasterPopover } from \"./ToasterPopover\";\nimport { useCloseToast } from \"./useCloseToast\";\nimport { useMergeRefs } from \"../../../hooks\";\nimport { useToasts } from \"./useToasts\";\n\nimport styles from \"./Toaster.module.scss\";\n\nexport type ToastEventType = {\n eventType: \"add\" | \"update\" | \"dismiss\" | \"dismiss-all\";\n toastCount: number;\n id?: string;\n toasterId?: string;\n toastProps?: ToastProps | ToastUpdateProps;\n};\n\n/**\n * Props for the Toaster component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends Omit<ToastStackProps, \"toasts\">\n */\nexport type ToasterProps = ComponentPropsWithoutRef<\"div\"> &\n Omit<ToastStackProps, \"toasts\"> & {\n /**\n * When `true`, the toaster will not listen for custom events to add, update, or dismiss toasts.\n * Use this to prevent multiple toasters from displaying the same toasts.\n * @default false\n */\n disableEvents?: boolean;\n /**\n * Unique toaster id.\n */\n id: string;\n /**\n * Callback function that is called when toasts are added, updated, or dismissed.\n */\n onToastEvent?: (toastEvent: ToastEventType) => void;\n };\n\ntype DialogToasterCustomEventDetail = {\n eventType: \"dialog-toaster\";\n};\ntype DialogToasterCustomEvent = CustomEvent<DialogToasterCustomEventDetail>;\n\n/**\n * Toaster component for managing and displaying toast notifications.\n *\n * Features:\n * - Manages multiple toast notifications in a stack\n * - Handles toast positioning and stacking behavior\n * - Supports custom events for toast management\n * - Automatic toast dismissal with configurable duration\n * - Keyboard navigation and accessibility support\n * - Dialog-aware positioning for modal contexts\n * - Session storage for dialog toaster state\n * - Custom event system for toast lifecycle management\n * - Responsive design with mobile support\n *\n * @example\n * <Toaster\n * id=\"main-toaster\"\n * duration={5000}\n * toastsBeforeStack={3}\n * onToastEvent={(event) => console.log('Toast event:', event)}\n * />\n *\n * @example\n * <Toaster\n * id=\"dialog-toaster\"\n * disableEvents={false}\n * focusKey=\"t\"\n * />\n */\nexport const ToasterContent = forwardRef<HTMLDivElement, ToasterProps>(\n (\n {\n className,\n disableEvents = false,\n id,\n onToastEvent,\n\n // ToastStackProps\n duration,\n focusKey,\n toastsBeforeStack,\n ...props\n },\n ref,\n ) => {\n const toasterRef = useRef<HTMLDivElement>(null);\n const mergedToasterRef = useMergeRefs([toasterRef, ref]);\n\n const { toasts, setToasts, isDialogToaster } = useToasts();\n\n // refs using state to be used inside event listeners\n const disableEventsRef = useRef<boolean>(disableEvents);\n const toastCountRef = useRef<number>(0);\n const isDialogToasterRef = useRef<boolean>(isDialogToaster);\n\n const [shouldHideToaster, setShouldHideToaster] = useState(false);\n\n const updateDialogToasterStorage = useCallback(\n (isDialogToaster: boolean) => {\n const dialogToasters = JSON.parse(\n window?.sessionStorage.getItem(\"dialog-toasters\") ?? \"[]\",\n );\n\n if (isDialogToaster) {\n if (!dialogToasters.includes(id)) {\n window?.sessionStorage.setItem(\n \"dialog-toasters\",\n JSON.stringify([...dialogToasters, id]),\n );\n }\n } else if (dialogToasters.includes(id)) {\n window?.sessionStorage.setItem(\n \"dialog-toasters\",\n JSON.stringify(\n dialogToasters.filter(\n (dialogToaster: string) => dialogToaster !== id,\n ),\n ),\n );\n }\n },\n [id],\n );\n\n useEffect(() => {\n disableEventsRef.current = disableEvents;\n }, [disableEvents]);\n\n useEffect(() => {\n toastCountRef.current = toasts.length;\n }, [toasts.length]);\n\n useEffect(() => {\n // update session storage\n updateDialogToasterStorage(isDialogToaster);\n // update ref for event listeners\n isDialogToasterRef.current = isDialogToaster;\n\n // Dispatch a custom event to notify other Toasters\n const DialogToasterEvent: DialogToasterCustomEvent =\n new CustomEvent<DialogToasterCustomEventDetail>(\"dialog-toaster\", {\n composed: true,\n detail: {\n eventType: \"dialog-toaster\",\n },\n });\n dispatchEvent(DialogToasterEvent);\n // don't need to check for function change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDialogToaster]);\n\n const closeToast = useCloseToast(styles.close);\n\n useEffect(() => {\n let timeout: NodeJS.Timeout | undefined;\n updateDialogToasterStorage(isDialogToaster);\n\n /**\n * Listen for custom events to add, update, or dismiss toasts.\n */\n const toastEventListener = (e: Event) => {\n if (disableEventsRef.current) {\n return;\n }\n\n const { eventType, ...toastProps } = (\n e as CustomEvent<ToastCustomEventDetail>\n ).detail;\n\n if (eventType === \"add\") {\n const toastAddProps = toastProps as ToastCustomEventDetailAdd;\n\n if (!toastAddProps.toasterId || toastAddProps.toasterId === id) {\n setToasts((prev) => [...prev, toastProps as ToastProps]);\n }\n\n // allow for state change to finish before calling onToastEvent()\n timeout = setTimeout(() => {\n onToastEvent?.({\n eventType: \"add\",\n toastCount: toastCountRef.current,\n id: toastAddProps.id,\n toasterId: id,\n toastProps: toastAddProps,\n });\n });\n } else if (eventType === \"update\") {\n const toastUpdateProps = toastProps as ToastCustomEventDetailUpdate;\n\n setToasts((prev) => {\n return prev.map((t) => {\n if (t.id === toastUpdateProps.id) {\n return {\n ...t,\n ...toastUpdateProps,\n };\n } else {\n return t;\n }\n });\n });\n\n onToastEvent?.({\n eventType: \"update\",\n toastCount: toastCountRef.current,\n id: toastUpdateProps.id,\n toasterId: id,\n toastProps: toastUpdateProps,\n });\n } else if (eventType === \"dismiss\") {\n if (toastProps.id) {\n closeToast(toastProps.id);\n\n // allow for animation to finish before calling onToastEvent()\n timeout = setTimeout(() => {\n onToastEvent?.({\n eventType: \"dismiss\",\n toastCount: toastCountRef.current,\n id: toastProps.id,\n toasterId: id,\n });\n }, ANIMATION_DURATION);\n } else {\n closeToast();\n\n onToastEvent?.({\n eventType: \"dismiss-all\",\n toastCount: 0,\n toasterId: id,\n });\n }\n }\n };\n\n /**\n * Listen for custom events that indicate a dialog toaster is open or closed.\n */\n const dialogToasterEventListener = (e: Event) => {\n const { eventType } = (e as CustomEvent<DialogToasterCustomEventDetail>)\n .detail;\n if (eventType === \"dialog-toaster\") {\n const dialogToasters = JSON.parse(\n window?.sessionStorage.getItem(\"dialog-toasters\") ?? \"[]\",\n );\n if (dialogToasters.length > 0) {\n if (\n isDialogToasterRef.current &&\n dialogToasters[dialogToasters.length - 1] === id\n ) {\n setShouldHideToaster(false);\n } else {\n setShouldHideToaster(true);\n }\n } else {\n setShouldHideToaster(false);\n }\n }\n };\n\n const onPageRefreshListener = () => {\n window?.sessionStorage.removeItem(\"dialog-toasters\");\n };\n\n window?.addEventListener(\"hammer-toast\", toastEventListener);\n window?.addEventListener(\"dialog-toaster\", dialogToasterEventListener);\n window?.addEventListener(\"beforeunload\", onPageRefreshListener);\n\n return () => {\n window?.removeEventListener(\"hammer-toast\", toastEventListener);\n window?.removeEventListener(\n \"dialog-toaster\",\n dialogToasterEventListener,\n );\n window?.removeEventListener(\"beforeunload\", onPageRefreshListener);\n\n clearTimeout(timeout);\n updateDialogToasterStorage(false);\n };\n // only run on first render\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const toasterClasses = cx(styles.toaster, {\n [styles[\"hidden\"]]: shouldHideToaster,\n [`${className}`]: className != null,\n });\n\n return (\n <div\n data-anv=\"toaster\"\n data-toaster-id={id}\n aria-hidden={shouldHideToaster}\n className={toasterClasses}\n ref={mergedToasterRef}\n {...props}\n >\n <ToastStack\n toasts={toasts}\n duration={duration}\n focusKey={focusKey}\n toastsBeforeStack={toastsBeforeStack}\n />\n </div>\n );\n },\n);\n\nexport const Toaster = forwardRef<HTMLDivElement, ToasterProps>(\n (props, ref) => {\n return (\n <ToastProvider>\n <ToasterPopover>\n <ToasterContent {...props} ref={ref} />\n </ToasterPopover>\n </ToastProvider>\n );\n },\n);\n\nToaster.displayName = \"Toaster\";\nToasterContent.displayName = \"ToasterContent\";\n"],"names":["toasts","uuid","promise","isDialogToaster"],"mappings":"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","x_google_ignoreList":[5,6,7,8]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"indeterminate_check_box-B4zobNlt.js","sources":["../../hammer-icon/mdi/round/check_box_outline_blank.svg","../../hammer-icon/mdi/round/check_box.svg","../../hammer-icon/mdi/round/indeterminate_check_box.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgCheckBoxOutlineBlank = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgCheckBoxOutlineBlank;\n","import * as React from \"react\";\nconst SvgCheckBox = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59z\" }));\nexport default SvgCheckBox;\n","import * as React from \"react\";\nconst SvgIndeterminateCheckBox = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 10H8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1s-.45 1-1 1z\" }));\nexport default SvgIndeterminateCheckBox;\n"],"names":[],"mappings":";;AACK,MAAC,uBAAuB,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,+JAA+J,EAAE,CAAC;;ACA1Y,MAAC,WAAW,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,2MAA2M,EAAE,CAAC;;ACA1a,MAAC,wBAAwB,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,+IAA+I,EAAE,CAAC;;;;"}
@@ -1,255 +0,0 @@
1
- const BreakpointSm = { value: "640px" };
2
- const BreakpointMd = { value: "768px" };
3
- const BreakpointLg = { value: "1024px" };
4
- const BreakpointXl = { value: "1280px" };
5
- const BreakpointXxl = { value: "1536px" };
6
- const ColorBlue100 = { value: "#E0F2FF" };
7
- const ColorBlue200 = { value: "#B5DEFF" };
8
- const ColorBlue300 = { value: "#78BBFA" };
9
- const ColorBlue400 = { value: "#3892F3" };
10
- const ColorBlue500 = { value: "#0265DC" };
11
- const ColorBlue600 = { value: "#004491" };
12
- const ColorNeutral0 = { value: "#ffffff" };
13
- const ColorNeutral10 = { value: "#fcfcfc" };
14
- const ColorNeutral20 = { value: "#fafafa" };
15
- const ColorNeutral30 = { value: "#f7f7f7" };
16
- const ColorNeutral40 = { value: "#f5f5f5" };
17
- const ColorNeutral50 = { value: "#eeeeee" };
18
- const ColorNeutral60 = { value: "#dfe0e1" };
19
- const ColorNeutral70 = { value: "#bcbcbd" };
20
- const ColorNeutral80 = { value: "#949596" };
21
- const ColorNeutral90 = { value: "#737475" };
22
- const ColorNeutral100 = { value: "#606162" };
23
- const ColorNeutral200 = { value: "#444445" };
24
- const ColorNeutral300 = { value: "#2d2e31" };
25
- const ColorNeutral400 = { value: "#141414" };
26
- const ColorNeutral500 = { value: "#040404" };
27
- const ColorBlueGrey100 = { value: "#eaeff2" };
28
- const ColorBlueGrey200 = { value: "#d0d8dd" };
29
- const ColorBlueGrey300 = { value: "#b4c1c8" };
30
- const ColorBlueGrey400 = { value: "#8c9ca5" };
31
- const ColorBlueGrey500 = { value: "#6a7a85" };
32
- const ColorBlueGrey600 = { value: "#576671" };
33
- const ColorOrange100 = { value: "#ffeccc" };
34
- const ColorOrange200 = { value: "#fdd291" };
35
- const ColorOrange300 = { value: "#ffa037" };
36
- const ColorOrange400 = { value: "#e46f00" };
37
- const ColorOrange500 = { value: "#b14c00" };
38
- const ColorOrange600 = { value: "#7a2f00" };
39
- const ColorYellow100 = { value: "#fff9e2" };
40
- const ColorYellow200 = { value: "#fff0b1" };
41
- const ColorYellow300 = { value: "#ffe278" };
42
- const ColorYellow400 = { value: "#ffc902" };
43
- const ColorYellow500 = { value: "#ffbe00" };
44
- const ColorYellow600 = { value: "#de9500" };
45
- const ColorGreen100 = { value: "#CEF8E0" };
46
- const ColorGreen200 = { value: "#89ECBC" };
47
- const ColorGreen300 = { value: "#49CC93" };
48
- const ColorGreen400 = { value: "#15A46E" };
49
- const ColorGreen500 = { value: "#007A4D" };
50
- const ColorGreen600 = { value: "#005132" };
51
- const ColorCyan100 = { value: "#e3fcff" };
52
- const ColorCyan200 = { value: "#b1f3fa" };
53
- const ColorCyan300 = { value: "#13ceea" };
54
- const ColorCyan400 = { value: "#08bfdf" };
55
- const ColorCyan500 = { value: "#0ca5c0" };
56
- const ColorCyan600 = { value: "#038299" };
57
- const ColorPurple100 = { value: "#f1edff" };
58
- const ColorPurple200 = { value: "#c1b6f2" };
59
- const ColorPurple300 = { value: "#8772e5" };
60
- const ColorPurple400 = { value: "#6954c0" };
61
- const ColorPurple500 = { value: "#4f3a9e" };
62
- const ColorPurple600 = { value: "#422799" };
63
- const ColorRed100 = { value: "#ffece9" };
64
- const ColorRed200 = { value: "#ffb2a0" };
65
- const ColorRed300 = { value: "#ff745f" };
66
- const ColorRed400 = { value: "#f94d32" };
67
- const ColorRed500 = { value: "#e13212" };
68
- const ColorRed600 = { value: "#bf2a00" };
69
- const ColorMagenta100 = { value: "#fbeaf5" };
70
- const ColorMagenta200 = { value: "#faafe2" };
71
- const ColorMagenta300 = { value: "#d949a9" };
72
- const ColorMagenta400 = { value: "#b52d88" };
73
- const ColorMagenta500 = { value: "#982071" };
74
- const ColorMagenta600 = { value: "#7d165b" };
75
- const Duration = { value: "200ms" };
76
- const DurationInstant = { value: "0ms" };
77
- const DurationFast = { value: "100ms" };
78
- const DurationSlow = { value: "300ms" };
79
- const FontFamilyBase = { value: "'Nunito Sans', sans-serif" };
80
- const FontFamilyDisplay = { value: "'Sofia Pro', SofiaPro, sans-serif" };
81
- const FontLineHeightBase = { value: "1.5" };
82
- const FontLineHeightDisplay = { value: "1.25" };
83
- const FontWeightNormal = { value: "400" };
84
- const FontWeightSemibold = { value: "600" };
85
- const FontWeightBold = { value: "700" };
86
- const FontSize100 = { value: "0.625rem" };
87
- const FontSize200 = { value: "0.75rem" };
88
- const FontSize300 = { value: "0.875rem" };
89
- const FontSize400 = { value: "1rem" };
90
- const FontSize500 = { value: "1.25rem" };
91
- const FontSize600 = { value: "1.5rem" };
92
- const FontSize700 = { value: "1.75rem" };
93
- const FontSize800 = { value: "2rem" };
94
- const FontSize900 = { value: "2.25rem" };
95
- const Radius0 = { value: "0" };
96
- const Radius1 = { value: "0.1875rem" };
97
- const Radius2 = { value: "0.375rem" };
98
- const Radius3 = { value: "0.5625rem" };
99
- const Radius4 = { value: "0.75rem" };
100
- const Radius5 = { value: "0.9375rem" };
101
- const Radius6 = { value: "1.125rem" };
102
- const Radius7 = { value: "1.3125rem" };
103
- const Radius8 = { value: "1.5rem" };
104
- const Size0 = { value: "0rem" };
105
- const Size1 = { value: "0.25rem" };
106
- const Size2 = { value: "0.5rem" };
107
- const Size3 = { value: "0.75rem" };
108
- const Size4 = { value: "1rem" };
109
- const Size5 = { value: "1.25rem" };
110
- const Size6 = { value: "1.5rem" };
111
- const Size7 = { value: "1.75rem" };
112
- const Size8 = { value: "2rem" };
113
- const Size9 = { value: "2.25rem" };
114
- const Size10 = { value: "2.5rem" };
115
- const Size11 = { value: "2.75rem" };
116
- const Size12 = { value: "3rem" };
117
- const Size13 = { value: "3.25rem" };
118
- const Size14 = { value: "3.5rem" };
119
- const SizeQuarter = { value: "0.0625rem" };
120
- const SizeHalf = { value: "0.125rem" };
121
- const TransitionEase = { value: "cubic-bezier(.4, 0, .2, 1)" };
122
- const TransitionEaseIn = { value: "cubic-bezier(.4, 0, 1, 1)" };
123
- const TransitionEaseOut = { value: "cubic-bezier(0, 0, .4, 1)" };
124
- const TransitionEaseInOut = { value: "cubic-bezier(.4, 0, .6, 1)" };
125
-
126
- const primitive = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
127
- __proto__: null,
128
- BreakpointLg,
129
- BreakpointMd,
130
- BreakpointSm,
131
- BreakpointXl,
132
- BreakpointXxl,
133
- ColorBlue100,
134
- ColorBlue200,
135
- ColorBlue300,
136
- ColorBlue400,
137
- ColorBlue500,
138
- ColorBlue600,
139
- ColorBlueGrey100,
140
- ColorBlueGrey200,
141
- ColorBlueGrey300,
142
- ColorBlueGrey400,
143
- ColorBlueGrey500,
144
- ColorBlueGrey600,
145
- ColorCyan100,
146
- ColorCyan200,
147
- ColorCyan300,
148
- ColorCyan400,
149
- ColorCyan500,
150
- ColorCyan600,
151
- ColorGreen100,
152
- ColorGreen200,
153
- ColorGreen300,
154
- ColorGreen400,
155
- ColorGreen500,
156
- ColorGreen600,
157
- ColorMagenta100,
158
- ColorMagenta200,
159
- ColorMagenta300,
160
- ColorMagenta400,
161
- ColorMagenta500,
162
- ColorMagenta600,
163
- ColorNeutral0,
164
- ColorNeutral10,
165
- ColorNeutral100,
166
- ColorNeutral20,
167
- ColorNeutral200,
168
- ColorNeutral30,
169
- ColorNeutral300,
170
- ColorNeutral40,
171
- ColorNeutral400,
172
- ColorNeutral50,
173
- ColorNeutral500,
174
- ColorNeutral60,
175
- ColorNeutral70,
176
- ColorNeutral80,
177
- ColorNeutral90,
178
- ColorOrange100,
179
- ColorOrange200,
180
- ColorOrange300,
181
- ColorOrange400,
182
- ColorOrange500,
183
- ColorOrange600,
184
- ColorPurple100,
185
- ColorPurple200,
186
- ColorPurple300,
187
- ColorPurple400,
188
- ColorPurple500,
189
- ColorPurple600,
190
- ColorRed100,
191
- ColorRed200,
192
- ColorRed300,
193
- ColorRed400,
194
- ColorRed500,
195
- ColorRed600,
196
- ColorYellow100,
197
- ColorYellow200,
198
- ColorYellow300,
199
- ColorYellow400,
200
- ColorYellow500,
201
- ColorYellow600,
202
- Duration,
203
- DurationFast,
204
- DurationInstant,
205
- DurationSlow,
206
- FontFamilyBase,
207
- FontFamilyDisplay,
208
- FontLineHeightBase,
209
- FontLineHeightDisplay,
210
- FontSize100,
211
- FontSize200,
212
- FontSize300,
213
- FontSize400,
214
- FontSize500,
215
- FontSize600,
216
- FontSize700,
217
- FontSize800,
218
- FontSize900,
219
- FontWeightBold,
220
- FontWeightNormal,
221
- FontWeightSemibold,
222
- Radius0,
223
- Radius1,
224
- Radius2,
225
- Radius3,
226
- Radius4,
227
- Radius5,
228
- Radius6,
229
- Radius7,
230
- Radius8,
231
- Size0,
232
- Size1,
233
- Size10,
234
- Size11,
235
- Size12,
236
- Size13,
237
- Size14,
238
- Size2,
239
- Size3,
240
- Size4,
241
- Size5,
242
- Size6,
243
- Size7,
244
- Size8,
245
- Size9,
246
- SizeHalf,
247
- SizeQuarter,
248
- TransitionEase,
249
- TransitionEaseIn,
250
- TransitionEaseInOut,
251
- TransitionEaseOut
252
- }, Symbol.toStringTag, { value: 'Module' }));
253
-
254
- export { BreakpointXxl as B, Duration as D, BreakpointXl as a, BreakpointLg as b, BreakpointMd as c, BreakpointSm as d, DurationSlow as e, primitive as p };
255
- //# sourceMappingURL=primitive-C3RFDRA8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-C3RFDRA8.js","sources":["../../hammer-token/build/web/core/primitive.js"],"sourcesContent":["export const BreakpointSm = { value: \"640px\" };\nexport const BreakpointMd = { value: \"768px\" };\nexport const BreakpointLg = { value: \"1024px\" };\nexport const BreakpointXl = { value: \"1280px\" };\nexport const BreakpointXxl = { value: \"1536px\" };\nexport const ColorBlue100 = { value: \"#E0F2FF\" };\nexport const ColorBlue200 = { value: \"#B5DEFF\" };\nexport const ColorBlue300 = { value: \"#78BBFA\" };\nexport const ColorBlue400 = { value: \"#3892F3\" };\nexport const ColorBlue500 = { value: \"#0265DC\" };\nexport const ColorBlue600 = { value: \"#004491\" };\nexport const ColorNeutral0 = { value: \"#ffffff\" };\nexport const ColorNeutral10 = { value: \"#fcfcfc\" };\nexport const ColorNeutral20 = { value: \"#fafafa\" };\nexport const ColorNeutral30 = { value: \"#f7f7f7\" };\nexport const ColorNeutral40 = { value: \"#f5f5f5\" };\nexport const ColorNeutral50 = { value: \"#eeeeee\" };\nexport const ColorNeutral60 = { value: \"#dfe0e1\" };\nexport const ColorNeutral70 = { value: \"#bcbcbd\" };\nexport const ColorNeutral80 = { value: \"#949596\" };\nexport const ColorNeutral90 = { value: \"#737475\" };\nexport const ColorNeutral100 = { value: \"#606162\" };\nexport const ColorNeutral200 = { value: \"#444445\" };\nexport const ColorNeutral300 = { value: \"#2d2e31\" };\nexport const ColorNeutral400 = { value: \"#141414\" };\nexport const ColorNeutral500 = { value: \"#040404\" };\nexport const ColorBlueGrey100 = { value: \"#eaeff2\" };\nexport const ColorBlueGrey200 = { value: \"#d0d8dd\" };\nexport const ColorBlueGrey300 = { value: \"#b4c1c8\" };\nexport const ColorBlueGrey400 = { value: \"#8c9ca5\" };\nexport const ColorBlueGrey500 = { value: \"#6a7a85\" };\nexport const ColorBlueGrey600 = { value: \"#576671\" };\nexport const ColorOrange100 = { value: \"#ffeccc\" };\nexport const ColorOrange200 = { value: \"#fdd291\" };\nexport const ColorOrange300 = { value: \"#ffa037\" };\nexport const ColorOrange400 = { value: \"#e46f00\" };\nexport const ColorOrange500 = { value: \"#b14c00\" };\nexport const ColorOrange600 = { value: \"#7a2f00\" };\nexport const ColorYellow100 = { value: \"#fff9e2\" };\nexport const ColorYellow200 = { value: \"#fff0b1\" };\nexport const ColorYellow300 = { value: \"#ffe278\" };\nexport const ColorYellow400 = { value: \"#ffc902\" };\nexport const ColorYellow500 = { value: \"#ffbe00\" };\nexport const ColorYellow600 = { value: \"#de9500\" };\nexport const ColorGreen100 = { value: \"#CEF8E0\" };\nexport const ColorGreen200 = { value: \"#89ECBC\" };\nexport const ColorGreen300 = { value: \"#49CC93\" };\nexport const ColorGreen400 = { value: \"#15A46E\" };\nexport const ColorGreen500 = { value: \"#007A4D\" };\nexport const ColorGreen600 = { value: \"#005132\" };\nexport const ColorCyan100 = { value: \"#e3fcff\" };\nexport const ColorCyan200 = { value: \"#b1f3fa\" };\nexport const ColorCyan300 = { value: \"#13ceea\" };\nexport const ColorCyan400 = { value: \"#08bfdf\" };\nexport const ColorCyan500 = { value: \"#0ca5c0\" };\nexport const ColorCyan600 = { value: \"#038299\" };\nexport const ColorPurple100 = { value: \"#f1edff\" };\nexport const ColorPurple200 = { value: \"#c1b6f2\" };\nexport const ColorPurple300 = { value: \"#8772e5\" };\nexport const ColorPurple400 = { value: \"#6954c0\" };\nexport const ColorPurple500 = { value: \"#4f3a9e\" };\nexport const ColorPurple600 = { value: \"#422799\" };\nexport const ColorRed100 = { value: \"#ffece9\" };\nexport const ColorRed200 = { value: \"#ffb2a0\" };\nexport const ColorRed300 = { value: \"#ff745f\" };\nexport const ColorRed400 = { value: \"#f94d32\" };\nexport const ColorRed500 = { value: \"#e13212\" };\nexport const ColorRed600 = { value: \"#bf2a00\" };\nexport const ColorMagenta100 = { value: \"#fbeaf5\" };\nexport const ColorMagenta200 = { value: \"#faafe2\" };\nexport const ColorMagenta300 = { value: \"#d949a9\" };\nexport const ColorMagenta400 = { value: \"#b52d88\" };\nexport const ColorMagenta500 = { value: \"#982071\" };\nexport const ColorMagenta600 = { value: \"#7d165b\" };\nexport const Duration = { value: \"200ms\" };\nexport const DurationInstant = { value: \"0ms\" };\nexport const DurationFast = { value: \"100ms\" };\nexport const DurationSlow = { value: \"300ms\" };\nexport const FontFamilyBase = { value: \"'Nunito Sans', sans-serif\" };\nexport const FontFamilyDisplay = { value: \"'Sofia Pro', SofiaPro, sans-serif\" };\nexport const FontLineHeightBase = { value: \"1.5\" };\nexport const FontLineHeightDisplay = { value: \"1.25\" };\nexport const FontWeightNormal = { value: \"400\" };\nexport const FontWeightSemibold = { value: \"600\" };\nexport const FontWeightBold = { value: \"700\" };\nexport const FontSize100 = { value: \"0.625rem\" };\nexport const FontSize200 = { value: \"0.75rem\" };\nexport const FontSize300 = { value: \"0.875rem\" };\nexport const FontSize400 = { value: \"1rem\" };\nexport const FontSize500 = { value: \"1.25rem\" };\nexport const FontSize600 = { value: \"1.5rem\" };\nexport const FontSize700 = { value: \"1.75rem\" };\nexport const FontSize800 = { value: \"2rem\" };\nexport const FontSize900 = { value: \"2.25rem\" };\nexport const Radius0 = { value: \"0\" };\nexport const Radius1 = { value: \"0.1875rem\" };\nexport const Radius2 = { value: \"0.375rem\" };\nexport const Radius3 = { value: \"0.5625rem\" };\nexport const Radius4 = { value: \"0.75rem\" };\nexport const Radius5 = { value: \"0.9375rem\" };\nexport const Radius6 = { value: \"1.125rem\" };\nexport const Radius7 = { value: \"1.3125rem\" };\nexport const Radius8 = { value: \"1.5rem\" };\nexport const Size0 = { value: \"0rem\" };\nexport const Size1 = { value: \"0.25rem\" };\nexport const Size2 = { value: \"0.5rem\" };\nexport const Size3 = { value: \"0.75rem\" };\nexport const Size4 = { value: \"1rem\" };\nexport const Size5 = { value: \"1.25rem\" };\nexport const Size6 = { value: \"1.5rem\" };\nexport const Size7 = { value: \"1.75rem\" };\nexport const Size8 = { value: \"2rem\" };\nexport const Size9 = { value: \"2.25rem\" };\nexport const Size10 = { value: \"2.5rem\" };\nexport const Size11 = { value: \"2.75rem\" };\nexport const Size12 = { value: \"3rem\" };\nexport const Size13 = { value: \"3.25rem\" };\nexport const Size14 = { value: \"3.5rem\" };\nexport const SizeQuarter = { value: \"0.0625rem\" };\nexport const SizeHalf = { value: \"0.125rem\" };\nexport const TransitionEase = { value: \"cubic-bezier(.4, 0, .2, 1)\" };\nexport const TransitionEaseIn = { value: \"cubic-bezier(.4, 0, 1, 1)\" };\nexport const TransitionEaseOut = { value: \"cubic-bezier(0, 0, .4, 1)\" };\nexport const TransitionEaseInOut = { value: \"cubic-bezier(.4, 0, .6, 1)\" };"],"names":[],"mappings":"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"}