@arc-ui/components 11.8.0 → 11.10.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 (456) hide show
  1. package/dist/Alert/Alert.cjs.js +15 -15
  2. package/dist/Alert/Alert.esm.js +15 -15
  3. package/dist/Alert/package.json +1 -1
  4. package/dist/Align/Align.cjs.js +3 -3
  5. package/dist/Align/Align.esm.js +3 -3
  6. package/dist/Align/package.json +1 -1
  7. package/dist/Badge/Badge.cjs.js +8 -8
  8. package/dist/Badge/Badge.esm.js +8 -8
  9. package/dist/Badge/package.json +1 -1
  10. package/dist/Base/Base.cjs.js +2 -2
  11. package/dist/Base/Base.esm.js +2 -2
  12. package/dist/Base/package.json +1 -1
  13. package/dist/Box/Box.cjs.js +3 -3
  14. package/dist/Box/Box.esm.js +3 -3
  15. package/dist/Box/package.json +1 -1
  16. package/dist/BrandLogo/BrandLogo.cjs.js +5 -5
  17. package/dist/BrandLogo/BrandLogo.esm.js +5 -5
  18. package/dist/BrandLogo/package.json +1 -1
  19. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +8 -8
  20. package/dist/Breadcrumbs/Breadcrumbs.esm.js +8 -8
  21. package/dist/Breadcrumbs/package.json +1 -1
  22. package/dist/Button/Button.cjs.js +8 -8
  23. package/dist/Button/Button.esm.js +8 -8
  24. package/dist/Button/package.json +1 -1
  25. package/dist/Card/Card.cjs.js +9 -9
  26. package/dist/Card/Card.esm.js +9 -9
  27. package/dist/Card/package.json +1 -1
  28. package/dist/Checkbox/Checkbox.cjs.js +11 -11
  29. package/dist/Checkbox/Checkbox.esm.js +11 -11
  30. package/dist/Checkbox/package.json +1 -1
  31. package/dist/Clock/Clock.cjs.js +1 -1
  32. package/dist/Clock/Clock.esm.js +1 -1
  33. package/dist/Clock/package.json +1 -1
  34. package/dist/Columns/Columns.cjs.js +4 -4
  35. package/dist/Columns/Columns.esm.js +4 -4
  36. package/dist/Columns/package.json +1 -1
  37. package/dist/Curve/Curve.cjs.js +4 -4
  38. package/dist/Curve/Curve.esm.js +4 -4
  39. package/dist/Curve/package.json +1 -1
  40. package/dist/Disclosure/Disclosure.cjs.js +7 -7
  41. package/dist/Disclosure/Disclosure.esm.js +7 -7
  42. package/dist/Disclosure/package.json +1 -1
  43. package/dist/DisclosureMini/DisclosureMini.cjs.js +7 -7
  44. package/dist/DisclosureMini/DisclosureMini.esm.js +7 -7
  45. package/dist/DisclosureMini/package.json +1 -1
  46. package/dist/Elevation/Elevation.cjs.js +2 -2
  47. package/dist/Elevation/Elevation.esm.js +2 -2
  48. package/dist/Elevation/package.json +1 -1
  49. package/dist/Filter/Filter.cjs.js +4 -4
  50. package/dist/Filter/Filter.esm.js +4 -4
  51. package/dist/Filter/package.json +1 -1
  52. package/dist/FormControl/FormControl.cjs.js +9 -9
  53. package/dist/FormControl/FormControl.esm.js +9 -9
  54. package/dist/FormControl/package.json +1 -1
  55. package/dist/Group/Group.cjs.js +4 -4
  56. package/dist/Group/Group.esm.js +4 -4
  57. package/dist/Group/package.json +1 -1
  58. package/dist/Heading/Heading.cjs.js +5 -5
  59. package/dist/Heading/Heading.esm.js +5 -5
  60. package/dist/Heading/package.json +1 -1
  61. package/dist/Icon/Icon.cjs.js +5 -5
  62. package/dist/Icon/Icon.esm.js +5 -5
  63. package/dist/Icon/package.json +1 -1
  64. package/dist/Image/Image.cjs.js +4 -4
  65. package/dist/Image/Image.esm.js +4 -4
  66. package/dist/Image/package.json +1 -1
  67. package/dist/Markup/Markup.cjs.js +3 -3
  68. package/dist/Markup/Markup.esm.js +3 -3
  69. package/dist/Markup/package.json +1 -1
  70. package/dist/Modal/Modal.cjs.js +21 -97
  71. package/dist/Modal/Modal.esm.js +21 -97
  72. package/dist/Modal/package.json +1 -1
  73. package/dist/Pagination/Pagination.cjs.js +9 -9
  74. package/dist/Pagination/Pagination.esm.js +9 -9
  75. package/dist/Pagination/package.json +1 -1
  76. package/dist/PaginationSimple/PaginationSimple.cjs.js +9 -9
  77. package/dist/PaginationSimple/PaginationSimple.esm.js +9 -9
  78. package/dist/PaginationSimple/package.json +1 -1
  79. package/dist/Poster/Poster.cjs.js +6 -6
  80. package/dist/Poster/Poster.esm.js +6 -6
  81. package/dist/Poster/package.json +1 -1
  82. package/dist/ProgressBar/ProgressBar.cjs.js +20 -22
  83. package/dist/ProgressBar/ProgressBar.esm.js +17 -19
  84. package/dist/ProgressBar/package.json +1 -1
  85. package/dist/ProgressStepper/ProgressStepper.cjs.js +11 -145
  86. package/dist/ProgressStepper/ProgressStepper.esm.js +10 -144
  87. package/dist/ProgressStepper/package.json +1 -1
  88. package/dist/RadioGroup/RadioGroup.cjs.js +10 -10
  89. package/dist/RadioGroup/RadioGroup.esm.js +10 -10
  90. package/dist/RadioGroup/package.json +1 -1
  91. package/dist/Rule/Rule.cjs.js +3 -3
  92. package/dist/Rule/Rule.esm.js +3 -3
  93. package/dist/Rule/package.json +1 -1
  94. package/dist/ScrollToTop/ScrollToTop.cjs.js +14 -16
  95. package/dist/ScrollToTop/ScrollToTop.esm.js +10 -12
  96. package/dist/ScrollToTop/package.json +1 -1
  97. package/dist/Section/Section.cjs.js +3 -3
  98. package/dist/Section/Section.esm.js +3 -3
  99. package/dist/Section/package.json +1 -1
  100. package/dist/Select/Select.cjs.js +192 -572
  101. package/dist/Select/Select.esm.js +55 -435
  102. package/dist/Select/package.json +1 -1
  103. package/dist/SiteFooter/SiteFooter.cjs.js +9 -9
  104. package/dist/SiteFooter/SiteFooter.esm.js +10 -10
  105. package/dist/SiteFooter/package.json +1 -1
  106. package/dist/SiteHeader/SiteHeader.cjs.js +13 -13
  107. package/dist/SiteHeader/SiteHeader.esm.js +13 -13
  108. package/dist/SiteHeader/package.json +1 -1
  109. package/dist/Surface/Surface.cjs.js +3 -3
  110. package/dist/Surface/Surface.esm.js +3 -3
  111. package/dist/Surface/package.json +1 -1
  112. package/dist/Switch/Switch.cjs.js +21 -244
  113. package/dist/Switch/Switch.esm.js +16 -239
  114. package/dist/Switch/package.json +1 -1
  115. package/dist/Tabs/Tabs.cjs.js +12 -506
  116. package/dist/Tabs/Tabs.esm.js +11 -505
  117. package/dist/Tabs/package.json +1 -1
  118. package/dist/Tag/Tag.cjs.js +18 -22
  119. package/dist/Tag/Tag.esm.js +14 -18
  120. package/dist/Tag/package.json +1 -1
  121. package/dist/Text/Text.cjs.js +5 -5
  122. package/dist/Text/Text.esm.js +5 -5
  123. package/dist/Text/package.json +1 -1
  124. package/dist/TextArea/TextArea.cjs.js +47 -35
  125. package/dist/TextArea/TextArea.esm.js +47 -35
  126. package/dist/TextArea/package.json +1 -1
  127. package/dist/TextInput/TextInput.cjs.js +10 -10
  128. package/dist/TextInput/TextInput.esm.js +10 -10
  129. package/dist/TextInput/package.json +1 -1
  130. package/dist/Toast/Toast.cjs.js +19 -739
  131. package/dist/Toast/Toast.esm.js +15 -735
  132. package/dist/Toast/package.json +1 -1
  133. package/dist/Truncate/Truncate.cjs.js +1 -1
  134. package/dist/Truncate/Truncate.esm.js +1 -1
  135. package/dist/Truncate/package.json +1 -1
  136. package/dist/UniversalHeader/UniversalHeader.cjs.js +4 -4
  137. package/dist/UniversalHeader/UniversalHeader.esm.js +4 -4
  138. package/dist/UniversalHeader/package.json +1 -1
  139. package/dist/VerticalSpace/VerticalSpace.cjs.js +3 -3
  140. package/dist/VerticalSpace/VerticalSpace.esm.js +3 -3
  141. package/dist/VerticalSpace/package.json +1 -1
  142. package/dist/VisuallyHidden/package.json +1 -1
  143. package/dist/_shared/cjs/{Base-569e4334.js → Base-f5a86eed.js} +1 -1
  144. package/dist/_shared/cjs/{BrandLogo-8107d59f.js → BrandLogo-f001e0c0.js} +4 -4
  145. package/dist/_shared/cjs/{Breadcrumbs-0906dd10.js → Breadcrumbs-9aa1d18b.js} +7 -9
  146. package/dist/_shared/cjs/{BtIconAlert-637db790.js → BtIconAlert.esm-e62a75b7.js} +8 -10
  147. package/dist/_shared/cjs/{BtIconChevronDown2Px-8fb4e2eb.js → BtIconChevronDown2Px.esm-c6f8ced2.js} +6 -8
  148. package/dist/_shared/cjs/{BtIconChevronLeftMid-df952a3e.js → BtIconChevronLeftMid.esm-7c2fc822.js} +5 -7
  149. package/dist/_shared/cjs/{BtIconChevronRight2Px-a8e40136.js → BtIconChevronRight2Px.esm-3c438341.js} +10 -14
  150. package/dist/_shared/cjs/{BtIconChevronRightMid-5a38d855.js → BtIconChevronRightMid.esm-cce080c8.js} +5 -7
  151. package/dist/_shared/cjs/{BtIconCrossAlt2Px-30dc2688.js → BtIconCrossAlt2Px.esm-c002bf55.js} +6 -8
  152. package/dist/_shared/cjs/{BtIconTick-42fcc5ec.js → BtIconTick.esm-613dfd8a.js} +18 -24
  153. package/dist/_shared/cjs/{BtIconTickAlt2Px-bdf06f8c.js → BtIconTickAlt2Px.esm-4862184c.js} +6 -8
  154. package/dist/_shared/cjs/{Button-5aaa6776.js → Button-c22c9787.js} +8 -8
  155. package/dist/_shared/cjs/{Card-fd189ba8.js → Card-55a1c129.js} +9 -11
  156. package/dist/_shared/cjs/{Checkbox-02c546ca.js → Checkbox-7ce718e7.js} +8 -8
  157. package/dist/_shared/cjs/{Columns-e90798f8.js → Columns-ae4f8cef.js} +3 -4
  158. package/dist/_shared/cjs/{Curve-781ef633.js → Curve-d038052b.js} +3 -3
  159. package/dist/_shared/cjs/{DisclosureMini-52706ee6.js → DisclosureMini-c666cc4d.js} +6 -6
  160. package/dist/_shared/cjs/{Filter-a7574fe7.js → Filter-22b8b171.js} +3 -7
  161. package/dist/_shared/cjs/{FormControl-1e1bf2bf.js → FormControl-5541ac3a.js} +6 -6
  162. package/dist/_shared/cjs/{Group-f85dd4c0.js → Group-143a4578.js} +4 -5
  163. package/dist/_shared/cjs/{Heading-e3332dcf.js → Heading-ba2f74ad.js} +4 -5
  164. package/dist/_shared/cjs/{Icon-e1dd45eb.js → Icon-cf30e736.js} +10 -12
  165. package/dist/_shared/cjs/{Image-0e393cbf.js → Image-e873b8fc.js} +3 -4
  166. package/dist/_shared/cjs/{Poster-faea1ad3.js → Poster-62e2ba67.js} +5 -9
  167. package/dist/_shared/cjs/ProgressStepper-92668367.js +144 -0
  168. package/dist/_shared/cjs/{RadioGroup-d7664b0c.js → RadioGroup-66c1e882.js} +4 -5
  169. package/dist/_shared/cjs/{Section-48aca5f5.js → Section-59804166.js} +2 -2
  170. package/dist/_shared/cjs/{SiteFooter-5da774e1.js → SiteFooter-d3babe07.js} +7 -9
  171. package/dist/_shared/cjs/{SiteHeader.rehydrator-acc9d8c4.js → SiteHeader.rehydrator-b7284004.js} +16 -24
  172. package/dist/_shared/cjs/{Surface-b7c51b2b.js → Surface-80c0909a.js} +2 -2
  173. package/dist/_shared/cjs/Tabs-65e7af8a.js +503 -0
  174. package/dist/_shared/cjs/{Text-fa447e2d.js → Text-76b7fea1.js} +4 -4
  175. package/dist/_shared/cjs/{TextInput-f4549637.js → TextInput-5bee337d.js} +4 -4
  176. package/dist/_shared/cjs/Toast-874d9be4.js +730 -0
  177. package/dist/_shared/cjs/{UniversalHeader-da622e1a.js → UniversalHeader-f5a225b6.js} +2 -3
  178. package/dist/_shared/cjs/{VerticalSpace-86f697e7.js → VerticalSpace-dc53bb70.js} +2 -2
  179. package/dist/_shared/cjs/{extends-bb8ffacd.js → extends-8c5e4b48.js} +1 -4
  180. package/dist/_shared/cjs/filter-data-attrs-1c9a530c.js +227 -0
  181. package/dist/_shared/cjs/{index-ec260f5e.js → index-43458549.js} +13 -96
  182. package/dist/_shared/cjs/{index-96c4d581.js → index-6b2a9ac3.js} +2 -2
  183. package/dist/_shared/cjs/{index-45bfb67b.js → index-9947ac13.js} +11 -10
  184. package/dist/_shared/cjs/{index-fb4b8fda.js → index-adbb63da.js} +2 -9
  185. package/dist/_shared/cjs/{index-27b53d49.js → index-b2fd6338.js} +3 -80
  186. package/dist/_shared/cjs/{index-952918c9.js → index-c575a255.js} +11 -10
  187. package/dist/_shared/cjs/index.module-dd1d7d0b.js +382 -0
  188. package/dist/_shared/cjs/{suffix-modifier-1ee2da04.js → suffix-modifier-64dcd338.js} +1 -1
  189. package/dist/_shared/esm/{Base-6c01e0ec.js → Base-f200653c.js} +1 -1
  190. package/dist/_shared/esm/{BrandLogo-9ec620e8.js → BrandLogo-51fc6f15.js} +4 -4
  191. package/dist/_shared/esm/{Breadcrumbs-dafa8dde.js → Breadcrumbs-50d0f406.js} +7 -9
  192. package/dist/_shared/esm/{BtIconAlert-55a6ed5c.js → BtIconAlert.esm-09346130.js} +6 -8
  193. package/dist/_shared/esm/{BtIconChevronDown2Px-782876e2.js → BtIconChevronDown2Px.esm-345d78fe.js} +4 -6
  194. package/dist/_shared/esm/{BtIconChevronLeftMid-9f4f3a3d.js → BtIconChevronLeftMid.esm-e69276cb.js} +3 -5
  195. package/dist/_shared/esm/{BtIconChevronRight2Px-b8e7b4ad.js → BtIconChevronRight2Px.esm-2c693ef3.js} +7 -11
  196. package/dist/_shared/esm/{BtIconChevronRightMid-d9b11761.js → BtIconChevronRightMid.esm-24809a93.js} +3 -5
  197. package/dist/_shared/esm/{BtIconCrossAlt2Px-a6a9f431.js → BtIconCrossAlt2Px.esm-425a6beb.js} +4 -6
  198. package/dist/_shared/esm/{BtIconTick-5fe50cc7.js → BtIconTick.esm-673282f5.js} +14 -20
  199. package/dist/_shared/esm/{BtIconTickAlt2Px-da97e9ae.js → BtIconTickAlt2Px.esm-ce22224b.js} +4 -6
  200. package/dist/_shared/esm/{Button-d1dbcf79.js → Button-67f68b14.js} +8 -8
  201. package/dist/_shared/esm/{Card-e62c3ff6.js → Card-bf0c3b0b.js} +9 -11
  202. package/dist/_shared/esm/{Checkbox-d8891198.js → Checkbox-50e2d4ab.js} +8 -8
  203. package/dist/_shared/esm/{Columns-8704515b.js → Columns-d96b7425.js} +3 -4
  204. package/dist/_shared/esm/{Curve-bbc5589c.js → Curve-d8679dde.js} +3 -3
  205. package/dist/_shared/esm/{DisclosureMini-9b819941.js → DisclosureMini-376c013c.js} +6 -6
  206. package/dist/_shared/esm/{Filter-a01aed11.js → Filter-f7ac126b.js} +3 -7
  207. package/dist/_shared/esm/{FormControl-f18e2f59.js → FormControl-aad4288c.js} +6 -6
  208. package/dist/_shared/esm/{Group-fb26fd32.js → Group-0129c979.js} +4 -5
  209. package/dist/_shared/esm/{Heading-0f629151.js → Heading-8bb7b7c0.js} +4 -5
  210. package/dist/_shared/esm/{Icon-c1af47bc.js → Icon-3bfabb14.js} +7 -9
  211. package/dist/_shared/esm/{Image-3ed3863c.js → Image-12fbd327.js} +3 -4
  212. package/dist/_shared/esm/{Poster-a83ae770.js → Poster-046b0f77.js} +5 -9
  213. package/dist/_shared/esm/ProgressStepper-3ffbdb73.js +138 -0
  214. package/dist/_shared/esm/{RadioGroup-be16d5d3.js → RadioGroup-1273a716.js} +4 -5
  215. package/dist/_shared/esm/{Section-b8038d66.js → Section-73781b56.js} +2 -2
  216. package/dist/_shared/esm/{SiteFooter-a182cb18.js → SiteFooter-60d1b216.js} +7 -9
  217. package/dist/_shared/esm/{SiteHeader.rehydrator-023b7b76.js → SiteHeader.rehydrator-029f568e.js} +16 -24
  218. package/dist/_shared/esm/{Surface-dde51789.js → Surface-c6e817cd.js} +2 -2
  219. package/dist/_shared/esm/Tabs-ec960828.js +497 -0
  220. package/dist/_shared/esm/{Text-40457811.js → Text-a3720712.js} +4 -4
  221. package/dist/_shared/esm/{TextInput-4424c195.js → TextInput-732f0b51.js} +4 -4
  222. package/dist/_shared/esm/Toast-b81384a4.js +724 -0
  223. package/dist/_shared/esm/{UniversalHeader-1c5a886d.js → UniversalHeader-354a1867.js} +2 -3
  224. package/dist/_shared/esm/{VerticalSpace-93980c9c.js → VerticalSpace-43cd9138.js} +2 -2
  225. package/dist/_shared/esm/{extends-4575346e.js → extends-8cc61aad.js} +1 -4
  226. package/dist/_shared/esm/filter-data-attrs-ea8f4ed4.js +220 -0
  227. package/dist/_shared/esm/{index-22aad354.js → index-13d575cc.js} +11 -11
  228. package/dist/_shared/esm/{index-2ae58626.js → index-2e73c2e9.js} +11 -10
  229. package/dist/_shared/esm/{index-94ecc5f8.js → index-3797d77e.js} +2 -2
  230. package/dist/_shared/esm/{index-369dce7f.js → index-41d7af2b.js} +9 -92
  231. package/dist/_shared/esm/{index-8000d9e3.js → index-a1d2d9b3.js} +2 -79
  232. package/dist/_shared/esm/{index-bed18a88.js → index-efd9ef1c.js} +1 -9
  233. package/dist/_shared/esm/index.module-44714d3f.js +371 -0
  234. package/dist/_shared/esm/{suffix-modifier-7e640670.js → suffix-modifier-3d548e45.js} +1 -1
  235. package/dist/index.es.js +2541 -1304
  236. package/dist/index.es.js.map +1 -1
  237. package/dist/index.js +2865 -1617
  238. package/dist/index.js.map +1 -1
  239. package/dist/styles.css +11 -1
  240. package/dist/types/components/Badge/Badge.d.ts +4 -0
  241. package/dist/types/components/Button/Button.d.ts +2 -2
  242. package/dist/types/components/Card/Card.d.ts +1 -1
  243. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  244. package/dist/types/components/Clock/Clock.d.ts +1 -1
  245. package/dist/types/components/Columns/Columns.d.ts +2 -2
  246. package/dist/types/components/FormControl/FormControl.d.ts +1 -1
  247. package/dist/types/components/Group/GroupItem/GroupItem.d.ts +17 -0
  248. package/dist/types/components/Heading/Heading.d.ts +4 -4
  249. package/dist/types/components/MediaCard/MediaCard.stories-wip.d.ts +15 -0
  250. package/dist/types/components/ProgressBar/types/progress-bar-icons.d.ts +1 -1
  251. package/dist/types/components/ProgressBar/types/progress-bar-state.d.ts +1 -1
  252. package/dist/types/components/ProgressStepper/progressStatus.d.ts +1 -1
  253. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  254. package/dist/types/components/RadioGroup/context.d.ts +2 -2
  255. package/dist/types/components/Surface/Surface.d.ts +3 -3
  256. package/dist/types/components/Text/Text.d.ts +2 -2
  257. package/dist/types/components/TextArea/TextArea.d.ts +1 -1
  258. package/dist/types/components/TextInput/TextInput.d.ts +1 -1
  259. package/dist/types/components/Toast/Toast.d.ts +5 -2
  260. package/dist/types/components/Toast/ToastNotification.d.ts +2 -2
  261. package/dist/types/components/VerticalSpace/VerticalSpace.d.ts +1 -1
  262. package/dist/types/components/index.d.ts +17 -6
  263. package/dist/types/types/arc-icon.d.ts +1 -1
  264. package/package.json +44 -15
  265. package/dist/Alert/Alert.cjs.d.ts +0 -57
  266. package/dist/Alert/Alert.esm.d.ts +0 -57
  267. package/dist/Align/Align.cjs.d.ts +0 -25
  268. package/dist/Align/Align.esm.d.ts +0 -25
  269. package/dist/Badge/Badge.cjs.d.ts +0 -26
  270. package/dist/Badge/Badge.esm.d.ts +0 -26
  271. package/dist/Base/Base.cjs.d.ts +0 -1
  272. package/dist/Base/Base.esm.d.ts +0 -1
  273. package/dist/Box/Box.cjs.d.ts +0 -40
  274. package/dist/Box/Box.esm.d.ts +0 -40
  275. package/dist/BrandLogo/BrandLogo.cjs.d.ts +0 -1
  276. package/dist/BrandLogo/BrandLogo.esm.d.ts +0 -1
  277. package/dist/Breadcrumbs/Breadcrumbs.cjs.d.ts +0 -1
  278. package/dist/Breadcrumbs/Breadcrumbs.esm.d.ts +0 -1
  279. package/dist/Button/Button.cjs.d.ts +0 -1
  280. package/dist/Button/Button.esm.d.ts +0 -1
  281. package/dist/Card/Card.cjs.d.ts +0 -1
  282. package/dist/Card/Card.esm.d.ts +0 -1
  283. package/dist/Checkbox/Checkbox.cjs.d.ts +0 -1
  284. package/dist/Checkbox/Checkbox.esm.d.ts +0 -1
  285. package/dist/Clock/Clock.cjs.d.ts +0 -15
  286. package/dist/Clock/Clock.esm.d.ts +0 -15
  287. package/dist/Columns/Columns.cjs.d.ts +0 -1
  288. package/dist/Columns/Columns.esm.d.ts +0 -1
  289. package/dist/Curve/Curve.cjs.d.ts +0 -1
  290. package/dist/Curve/Curve.esm.d.ts +0 -1
  291. package/dist/Disclosure/Disclosure.cjs.d.ts +0 -31
  292. package/dist/Disclosure/Disclosure.esm.d.ts +0 -31
  293. package/dist/DisclosureMini/DisclosureMini.cjs.d.ts +0 -1
  294. package/dist/DisclosureMini/DisclosureMini.esm.d.ts +0 -1
  295. package/dist/Elevation/Elevation.cjs.d.ts +0 -20
  296. package/dist/Elevation/Elevation.esm.d.ts +0 -20
  297. package/dist/Filter/Filter.cjs.d.ts +0 -1
  298. package/dist/Filter/Filter.esm.d.ts +0 -1
  299. package/dist/FormControl/FormControl.cjs.d.ts +0 -1
  300. package/dist/FormControl/FormControl.esm.d.ts +0 -1
  301. package/dist/Group/Group.cjs.d.ts +0 -1
  302. package/dist/Group/Group.esm.d.ts +0 -1
  303. package/dist/Heading/Heading.cjs.d.ts +0 -1
  304. package/dist/Heading/Heading.esm.d.ts +0 -1
  305. package/dist/Icon/Icon.cjs.d.ts +0 -1
  306. package/dist/Icon/Icon.esm.d.ts +0 -1
  307. package/dist/Image/Image.cjs.d.ts +0 -1
  308. package/dist/Image/Image.esm.d.ts +0 -1
  309. package/dist/Markup/Markup.cjs.d.ts +0 -16
  310. package/dist/Markup/Markup.esm.d.ts +0 -16
  311. package/dist/Modal/Modal.cjs.d.ts +0 -53
  312. package/dist/Modal/Modal.esm.d.ts +0 -53
  313. package/dist/Pagination/Pagination.cjs.d.ts +0 -20
  314. package/dist/Pagination/Pagination.esm.d.ts +0 -20
  315. package/dist/PaginationSimple/PaginationSimple.cjs.d.ts +0 -28
  316. package/dist/PaginationSimple/PaginationSimple.esm.d.ts +0 -28
  317. package/dist/Poster/Poster.cjs.d.ts +0 -1
  318. package/dist/Poster/Poster.esm.d.ts +0 -1
  319. package/dist/ProgressBar/ProgressBar.cjs.d.ts +0 -47
  320. package/dist/ProgressBar/ProgressBar.esm.d.ts +0 -47
  321. package/dist/ProgressStepper/ProgressStepper.cjs.d.ts +0 -89
  322. package/dist/ProgressStepper/ProgressStepper.esm.d.ts +0 -89
  323. package/dist/RadioGroup/RadioGroup.cjs.d.ts +0 -1
  324. package/dist/RadioGroup/RadioGroup.esm.d.ts +0 -1
  325. package/dist/Rule/Rule.cjs.d.ts +0 -8
  326. package/dist/Rule/Rule.esm.d.ts +0 -8
  327. package/dist/ScrollToTop/ScrollToTop.cjs.d.ts +0 -25
  328. package/dist/ScrollToTop/ScrollToTop.esm.d.ts +0 -25
  329. package/dist/Section/Section.cjs.d.ts +0 -1
  330. package/dist/Section/Section.esm.d.ts +0 -1
  331. package/dist/Select/Select.cjs.d.ts +0 -25
  332. package/dist/Select/Select.esm.d.ts +0 -25
  333. package/dist/SiteFooter/SiteFooter.cjs.d.ts +0 -4
  334. package/dist/SiteFooter/SiteFooter.esm.d.ts +0 -4
  335. package/dist/SiteHeader/SiteHeader.cjs.d.ts +0 -2
  336. package/dist/SiteHeader/SiteHeader.esm.d.ts +0 -2
  337. package/dist/Surface/Surface.cjs.d.ts +0 -1
  338. package/dist/Surface/Surface.esm.d.ts +0 -1
  339. package/dist/Switch/Switch.cjs.d.ts +0 -40
  340. package/dist/Switch/Switch.esm.d.ts +0 -40
  341. package/dist/Tabs/Tabs.cjs.d.ts +0 -75
  342. package/dist/Tabs/Tabs.esm.d.ts +0 -75
  343. package/dist/Tag/Tag.cjs.d.ts +0 -33
  344. package/dist/Tag/Tag.esm.d.ts +0 -33
  345. package/dist/Text/Text.cjs.d.ts +0 -1
  346. package/dist/Text/Text.esm.d.ts +0 -1
  347. package/dist/TextArea/TextArea.cjs.d.ts +0 -64
  348. package/dist/TextArea/TextArea.esm.d.ts +0 -64
  349. package/dist/TextInput/TextInput.cjs.d.ts +0 -1
  350. package/dist/TextInput/TextInput.esm.d.ts +0 -1
  351. package/dist/Toast/Toast.cjs.d.ts +0 -52
  352. package/dist/Toast/Toast.esm.d.ts +0 -52
  353. package/dist/Truncate/Truncate.cjs.d.ts +0 -18
  354. package/dist/Truncate/Truncate.esm.d.ts +0 -18
  355. package/dist/UniversalHeader/UniversalHeader.cjs.d.ts +0 -1
  356. package/dist/UniversalHeader/UniversalHeader.esm.d.ts +0 -1
  357. package/dist/VerticalSpace/VerticalSpace.cjs.d.ts +0 -1
  358. package/dist/VerticalSpace/VerticalSpace.esm.d.ts +0 -1
  359. package/dist/VisuallyHidden/VisuallyHidden.cjs.d.ts +0 -1
  360. package/dist/VisuallyHidden/VisuallyHidden.esm.d.ts +0 -1
  361. package/dist/_shared/cjs/Base-569e4334.d.ts +0 -19
  362. package/dist/_shared/cjs/BrandLogo-8107d59f.d.ts +0 -26
  363. package/dist/_shared/cjs/Breadcrumbs-0906dd10.d.ts +0 -61
  364. package/dist/_shared/cjs/Button-5aaa6776.d.ts +0 -102
  365. package/dist/_shared/cjs/Card-fd189ba8.d.ts +0 -136
  366. package/dist/_shared/cjs/Checkbox-02c546ca.d.ts +0 -64
  367. package/dist/_shared/cjs/Columns-e90798f8.d.ts +0 -76
  368. package/dist/_shared/cjs/Curve-781ef633.d.ts +0 -35
  369. package/dist/_shared/cjs/DisclosureMini-52706ee6.d.ts +0 -37
  370. package/dist/_shared/cjs/Filter-a7574fe7.d.ts +0 -83
  371. package/dist/_shared/cjs/FormControl-1e1bf2bf.d.ts +0 -99
  372. package/dist/_shared/cjs/Group-f85dd4c0.d.ts +0 -46
  373. package/dist/_shared/cjs/Heading-e3332dcf.d.ts +0 -50
  374. package/dist/_shared/cjs/Icon-e1dd45eb.d.ts +0 -34
  375. package/dist/_shared/cjs/Image-0e393cbf.d.ts +0 -94
  376. package/dist/_shared/cjs/ItemGroup-5af4d600.d.ts +0 -27
  377. package/dist/_shared/cjs/NavItem-df20237c.d.ts +0 -43
  378. package/dist/_shared/cjs/NavItemWithSubNav-65f21828.d.ts +0 -49
  379. package/dist/_shared/cjs/Poster-faea1ad3.d.ts +0 -81
  380. package/dist/_shared/cjs/RadioGroup-d7664b0c.d.ts +0 -97
  381. package/dist/_shared/cjs/Section-48aca5f5.d.ts +0 -21
  382. package/dist/_shared/cjs/SiteFooter-5da774e1.d.ts +0 -62
  383. package/dist/_shared/cjs/SiteHeader-c25ee36e.d.ts +0 -78
  384. package/dist/_shared/cjs/SiteHeader.rehydrator-acc9d8c4.d.ts +0 -78
  385. package/dist/_shared/cjs/SubNavItem-a84d1bf4.d.ts +0 -48
  386. package/dist/_shared/cjs/Surface-b7c51b2b.d.ts +0 -51
  387. package/dist/_shared/cjs/Text-fa447e2d.d.ts +0 -38
  388. package/dist/_shared/cjs/TextInput-13050538.d.ts +0 -77
  389. package/dist/_shared/cjs/TextInput-f4549637.d.ts +0 -10
  390. package/dist/_shared/cjs/UniversalHeader-da622e1a.d.ts +0 -26
  391. package/dist/_shared/cjs/VerticalSpace-86f697e7.d.ts +0 -34
  392. package/dist/_shared/cjs/VisuallyHidden-e2c8b291.d.ts +0 -12
  393. package/dist/_shared/cjs/arc-icon-17594b2f.d.ts +0 -4
  394. package/dist/_shared/cjs/filter-data-attrs-a30dcf5f.d.ts +0 -2
  395. package/dist/_shared/cjs/filter-data-attrs-a30dcf5f.js +0 -215
  396. package/dist/_shared/cjs/handle-link-click-17a44cf4.d.ts +0 -7
  397. package/dist/_shared/cjs/index-699086a7.d.ts +0 -2
  398. package/dist/_shared/cjs/index-74488a9f.d.ts +0 -2
  399. package/dist/_shared/cjs/index-9483ad5f.d.ts +0 -14
  400. package/dist/_shared/cjs/index-c81c9401.d.ts +0 -4
  401. package/dist/_shared/cjs/index-e340924e.d.ts +0 -2
  402. package/dist/_shared/cjs/index-e6d20018.d.ts +0 -3
  403. package/dist/_shared/cjs/index-eb06f640.d.ts +0 -2
  404. package/dist/_shared/cjs/index-f419cf04.d.ts +0 -2
  405. package/dist/_shared/cjs/index.es-77def0c9.d.ts +0 -19
  406. package/dist/_shared/cjs/index.module-bbcc4e18.js +0 -126
  407. package/dist/_shared/cjs/suffix-modifier-1ee2da04.d.ts +0 -10
  408. package/dist/_shared/esm/Base-6c01e0ec.d.ts +0 -19
  409. package/dist/_shared/esm/BrandLogo-9ec620e8.d.ts +0 -26
  410. package/dist/_shared/esm/Breadcrumbs-dafa8dde.d.ts +0 -61
  411. package/dist/_shared/esm/Button-d1dbcf79.d.ts +0 -102
  412. package/dist/_shared/esm/Card-e62c3ff6.d.ts +0 -136
  413. package/dist/_shared/esm/Checkbox-d8891198.d.ts +0 -64
  414. package/dist/_shared/esm/Columns-8704515b.d.ts +0 -76
  415. package/dist/_shared/esm/Curve-bbc5589c.d.ts +0 -35
  416. package/dist/_shared/esm/DisclosureMini-9b819941.d.ts +0 -37
  417. package/dist/_shared/esm/Filter-a01aed11.d.ts +0 -83
  418. package/dist/_shared/esm/FormControl-f18e2f59.d.ts +0 -99
  419. package/dist/_shared/esm/Group-fb26fd32.d.ts +0 -46
  420. package/dist/_shared/esm/Heading-0f629151.d.ts +0 -50
  421. package/dist/_shared/esm/Icon-c1af47bc.d.ts +0 -34
  422. package/dist/_shared/esm/Image-3ed3863c.d.ts +0 -94
  423. package/dist/_shared/esm/ItemGroup-5af4d600.d.ts +0 -27
  424. package/dist/_shared/esm/NavItem-df20237c.d.ts +0 -43
  425. package/dist/_shared/esm/NavItemWithSubNav-65f21828.d.ts +0 -49
  426. package/dist/_shared/esm/Poster-a83ae770.d.ts +0 -81
  427. package/dist/_shared/esm/RadioGroup-be16d5d3.d.ts +0 -97
  428. package/dist/_shared/esm/Section-b8038d66.d.ts +0 -21
  429. package/dist/_shared/esm/SiteFooter-a182cb18.d.ts +0 -62
  430. package/dist/_shared/esm/SiteHeader-c25ee36e.d.ts +0 -78
  431. package/dist/_shared/esm/SiteHeader.rehydrator-023b7b76.d.ts +0 -78
  432. package/dist/_shared/esm/SubNavItem-a84d1bf4.d.ts +0 -48
  433. package/dist/_shared/esm/Surface-dde51789.d.ts +0 -51
  434. package/dist/_shared/esm/Text-40457811.d.ts +0 -38
  435. package/dist/_shared/esm/TextInput-13050538.d.ts +0 -77
  436. package/dist/_shared/esm/TextInput-4424c195.d.ts +0 -10
  437. package/dist/_shared/esm/UniversalHeader-1c5a886d.d.ts +0 -26
  438. package/dist/_shared/esm/VerticalSpace-93980c9c.d.ts +0 -34
  439. package/dist/_shared/esm/VisuallyHidden-b9eebf71.d.ts +0 -12
  440. package/dist/_shared/esm/arc-icon-17594b2f.d.ts +0 -4
  441. package/dist/_shared/esm/filter-data-attrs-afdb7d32.d.ts +0 -2
  442. package/dist/_shared/esm/filter-data-attrs-afdb7d32.js +0 -208
  443. package/dist/_shared/esm/handle-link-click-f64f55a2.d.ts +0 -7
  444. package/dist/_shared/esm/index-699086a7.d.ts +0 -2
  445. package/dist/_shared/esm/index-74488a9f.d.ts +0 -2
  446. package/dist/_shared/esm/index-9483ad5f.d.ts +0 -14
  447. package/dist/_shared/esm/index-c81c9401.d.ts +0 -4
  448. package/dist/_shared/esm/index-e340924e.d.ts +0 -2
  449. package/dist/_shared/esm/index-e6d20018.d.ts +0 -3
  450. package/dist/_shared/esm/index-eb06f640.d.ts +0 -2
  451. package/dist/_shared/esm/index-f419cf04.d.ts +0 -2
  452. package/dist/_shared/esm/index.es-00cb3bcb.d.ts +0 -19
  453. package/dist/_shared/esm/index.module-5ed90b21.js +0 -122
  454. package/dist/_shared/esm/suffix-modifier-7e640670.d.ts +0 -10
  455. /package/dist/_shared/cjs/{debounce-506538c5.js → debounce-123468fb.js} +0 -0
  456. /package/dist/_shared/esm/{debounce-e228705f.js → debounce-6fed6b84.js} +0 -0
@@ -0,0 +1,724 @@
1
+ import { _ as __rest, a as __assign, f as filterDataAttrs } from './filter-data-attrs-ea8f4ed4.js';
2
+ import React__default, { forwardRef, createElement, useState, useRef, useCallback, useEffect, useMemo, Fragment } from 'react';
3
+ import { _ as _extends } from './extends-8cc61aad.js';
4
+ import { createPortal } from 'react-dom';
5
+ import { b as $8927f6f2acc4f386$export$250ffa63cdc0d034, c as $c512c27ab02ef895$export$50c7b4e9d9f19c1, a as $6ed0406888f73fc4$export$c7b2cbe3552a0d05, $ as $b1b2314f5f9a1d84$export$25bec8c6f54ee79a, g as $e42e1063c40fb3ef$export$b9ecd428b558ff10, h as $9f79659886946c16$export$e5c5a5f917a5871c, d as $71cd76cc60e0454e$export$6f32135080cb4c3, e as $921a889cee6df7e8$export$99c2b779aa4e8b8b, i as $8927f6f2acc4f386$export$6d1a0317bde7de7f } from './index-13d575cc.js';
6
+ import { $ as $e02a7d9cb1dc128c$export$c74125a8e3af6bb2 } from './index-a1d2d9b3.js';
7
+ import { b as $5cb92bef7577960e$export$aecb2ddcb55c95be, c as $5cb92bef7577960e$export$be92b6f5f03c0fe9, $ as $f1701beae083dbae$export$602eac185826482c } from './index-3797d77e.js';
8
+ import { c as classNames } from './index-2e73c2e9.js';
9
+ import { B as BtIconCrossAlt2Px } from './BtIconCrossAlt2Px.esm-425a6beb.js';
10
+ import { B as BtIconNotification, a as BtIconAlertTriangle, b as BtIconTick } from './BtIconTick.esm-673282f5.js';
11
+ import { B as BtIconAlert } from './BtIconAlert.esm-09346130.js';
12
+ import { I as Icon } from './Icon-3bfabb14.js';
13
+
14
+ const $ea1ef594cf570d83$export$439d29a4e110a164 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
15
+ return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends({}, props, {
16
+ ref: forwardedRef,
17
+ style: {
18
+ // See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss
19
+ position: 'absolute',
20
+ border: 0,
21
+ width: 1,
22
+ height: 1,
23
+ padding: 0,
24
+ margin: -1,
25
+ overflow: 'hidden',
26
+ clip: 'rect(0, 0, 0, 0)',
27
+ whiteSpace: 'nowrap',
28
+ wordWrap: 'normal',
29
+ ...props.style
30
+ }
31
+ }));
32
+ });
33
+
34
+ /* -------------------------------------------------------------------------------------------------
35
+ * ToastProvider
36
+ * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$PROVIDER_NAME = 'ToastProvider';
37
+ const [$054eb8030ebde76e$var$Collection, $054eb8030ebde76e$var$useCollection, $054eb8030ebde76e$var$createCollectionScope] = $e02a7d9cb1dc128c$export$c74125a8e3af6bb2('Toast');
38
+ const [$054eb8030ebde76e$var$createToastContext, $054eb8030ebde76e$export$8a359da18fbc9073] = $c512c27ab02ef895$export$50c7b4e9d9f19c1('Toast', [
39
+ $054eb8030ebde76e$var$createCollectionScope
40
+ ]);
41
+ const [$054eb8030ebde76e$var$ToastProviderProvider, $054eb8030ebde76e$var$useToastProviderContext] = $054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$PROVIDER_NAME);
42
+ const $054eb8030ebde76e$export$f5d03d415824e0e = (props)=>{
43
+ const { __scopeToast: __scopeToast , label: label = 'Notification' , duration: duration = 5000 , swipeDirection: swipeDirection = 'right' , swipeThreshold: swipeThreshold = 50 , children: children } = props;
44
+ const [viewport, setViewport] = useState(null);
45
+ const [toastCount, setToastCount] = useState(0);
46
+ const isFocusedToastEscapeKeyDownRef = useRef(false);
47
+ const isClosePausedRef = useRef(false);
48
+ return /*#__PURE__*/ createElement($054eb8030ebde76e$var$Collection.Provider, {
49
+ scope: __scopeToast
50
+ }, /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastProviderProvider, {
51
+ scope: __scopeToast,
52
+ label: label,
53
+ duration: duration,
54
+ swipeDirection: swipeDirection,
55
+ swipeThreshold: swipeThreshold,
56
+ toastCount: toastCount,
57
+ viewport: viewport,
58
+ onViewportChange: setViewport,
59
+ onToastAdd: useCallback(()=>setToastCount((prevCount)=>prevCount + 1
60
+ )
61
+ , []),
62
+ onToastRemove: useCallback(()=>setToastCount((prevCount)=>prevCount - 1
63
+ )
64
+ , []),
65
+ isFocusedToastEscapeKeyDownRef: isFocusedToastEscapeKeyDownRef,
66
+ isClosePausedRef: isClosePausedRef
67
+ }, children));
68
+ };
69
+ $054eb8030ebde76e$export$f5d03d415824e0e.propTypes = {
70
+ label (props) {
71
+ if (props.label && typeof props.label === 'string' && !props.label.trim()) {
72
+ const error = `Invalid prop \`label\` supplied to \`${$054eb8030ebde76e$var$PROVIDER_NAME}\`. Expected non-empty \`string\`.`;
73
+ return new Error(error);
74
+ }
75
+ return null;
76
+ }
77
+ };
78
+ /* -------------------------------------------------------------------------------------------------
79
+ * ToastViewport
80
+ * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$VIEWPORT_NAME = 'ToastViewport';
81
+ const $054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY = [
82
+ 'F8'
83
+ ];
84
+ const $054eb8030ebde76e$var$VIEWPORT_PAUSE = 'toast.viewportPause';
85
+ const $054eb8030ebde76e$var$VIEWPORT_RESUME = 'toast.viewportResume';
86
+ const $054eb8030ebde76e$export$6192c2425ecfd989 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
87
+ const { __scopeToast: __scopeToast , hotkey: hotkey = $054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY , label: label = 'Notifications ({hotkey})' , ...viewportProps } = props;
88
+ const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$VIEWPORT_NAME, __scopeToast);
89
+ const getItems = $054eb8030ebde76e$var$useCollection(__scopeToast);
90
+ const wrapperRef = useRef(null);
91
+ const headFocusProxyRef = useRef(null);
92
+ const tailFocusProxyRef = useRef(null);
93
+ const ref = useRef(null);
94
+ const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref, context.onViewportChange);
95
+ const hotkeyLabel = hotkey.join('+').replace(/Key/g, '').replace(/Digit/g, '');
96
+ const hasToasts = context.toastCount > 0;
97
+ useEffect(()=>{
98
+ const handleKeyDown = (event)=>{
99
+ var _ref$current;
100
+ // we use `event.code` as it is consistent regardless of meta keys that were pressed.
101
+ // for example, `event.key` for `Control+Alt+t` is `†` and `t !== †`
102
+ const isHotkeyPressed = hotkey.every((key)=>event[key] || event.code === key
103
+ );
104
+ if (isHotkeyPressed) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
105
+ };
106
+ document.addEventListener('keydown', handleKeyDown);
107
+ return ()=>document.removeEventListener('keydown', handleKeyDown)
108
+ ;
109
+ }, [
110
+ hotkey
111
+ ]);
112
+ useEffect(()=>{
113
+ const wrapper = wrapperRef.current;
114
+ const viewport = ref.current;
115
+ if (hasToasts && wrapper && viewport) {
116
+ const handlePause = ()=>{
117
+ if (!context.isClosePausedRef.current) {
118
+ const pauseEvent = new CustomEvent($054eb8030ebde76e$var$VIEWPORT_PAUSE);
119
+ viewport.dispatchEvent(pauseEvent);
120
+ context.isClosePausedRef.current = true;
121
+ }
122
+ };
123
+ const handleResume = ()=>{
124
+ if (context.isClosePausedRef.current) {
125
+ const resumeEvent = new CustomEvent($054eb8030ebde76e$var$VIEWPORT_RESUME);
126
+ viewport.dispatchEvent(resumeEvent);
127
+ context.isClosePausedRef.current = false;
128
+ }
129
+ };
130
+ const handleFocusOutResume = (event)=>{
131
+ const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);
132
+ if (isFocusMovingOutside) handleResume();
133
+ };
134
+ const handlePointerLeaveResume = ()=>{
135
+ const isFocusInside = wrapper.contains(document.activeElement);
136
+ if (!isFocusInside) handleResume();
137
+ }; // Toasts are not in the viewport React tree so we need to bind DOM events
138
+ wrapper.addEventListener('focusin', handlePause);
139
+ wrapper.addEventListener('focusout', handleFocusOutResume);
140
+ wrapper.addEventListener('pointermove', handlePause);
141
+ wrapper.addEventListener('pointerleave', handlePointerLeaveResume);
142
+ window.addEventListener('blur', handlePause);
143
+ window.addEventListener('focus', handleResume);
144
+ return ()=>{
145
+ wrapper.removeEventListener('focusin', handlePause);
146
+ wrapper.removeEventListener('focusout', handleFocusOutResume);
147
+ wrapper.removeEventListener('pointermove', handlePause);
148
+ wrapper.removeEventListener('pointerleave', handlePointerLeaveResume);
149
+ window.removeEventListener('blur', handlePause);
150
+ window.removeEventListener('focus', handleResume);
151
+ };
152
+ }
153
+ }, [
154
+ hasToasts,
155
+ context.isClosePausedRef
156
+ ]);
157
+ const getSortedTabbableCandidates = useCallback(({ tabbingDirection: tabbingDirection })=>{
158
+ const toastItems = getItems();
159
+ const tabbableCandidates = toastItems.map((toastItem)=>{
160
+ const toastNode = toastItem.ref.current;
161
+ const toastTabbableCandidates = [
162
+ toastNode,
163
+ ...$054eb8030ebde76e$var$getTabbableCandidates(toastNode)
164
+ ];
165
+ return tabbingDirection === 'forwards' ? toastTabbableCandidates : toastTabbableCandidates.reverse();
166
+ });
167
+ return (tabbingDirection === 'forwards' ? tabbableCandidates.reverse() : tabbableCandidates).flat();
168
+ }, [
169
+ getItems
170
+ ]);
171
+ useEffect(()=>{
172
+ const viewport = ref.current; // We programmatically manage tabbing as we are unable to influence
173
+ // the source order with portals, this allows us to reverse the
174
+ // tab order so that it runs from most recent toast to least
175
+ if (viewport) {
176
+ const handleKeyDown = (event)=>{
177
+ const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;
178
+ const isTabKey = event.key === 'Tab' && !isMetaKey;
179
+ if (isTabKey) {
180
+ const focusedElement = document.activeElement;
181
+ const isTabbingBackwards = event.shiftKey;
182
+ const targetIsViewport = event.target === viewport; // If we're back tabbing after jumping to the viewport then we simply
183
+ // proxy focus out to the preceding document
184
+ if (targetIsViewport && isTabbingBackwards) {
185
+ var _headFocusProxyRef$cu;
186
+ (_headFocusProxyRef$cu = headFocusProxyRef.current) === null || _headFocusProxyRef$cu === void 0 || _headFocusProxyRef$cu.focus();
187
+ return;
188
+ }
189
+ const tabbingDirection = isTabbingBackwards ? 'backwards' : 'forwards';
190
+ const sortedCandidates = getSortedTabbableCandidates({
191
+ tabbingDirection: tabbingDirection
192
+ });
193
+ const index = sortedCandidates.findIndex((candidate)=>candidate === focusedElement
194
+ );
195
+ if ($054eb8030ebde76e$var$focusFirst(sortedCandidates.slice(index + 1))) event.preventDefault();
196
+ else {
197
+ var _headFocusProxyRef$cu2, _tailFocusProxyRef$cu;
198
+ // If we can't focus that means we're at the edges so we
199
+ // proxy to the corresponding exit point and let the browser handle
200
+ // tab/shift+tab keypress and implicitly pass focus to the next valid element in the document
201
+ isTabbingBackwards ? (_headFocusProxyRef$cu2 = headFocusProxyRef.current) === null || _headFocusProxyRef$cu2 === void 0 || _headFocusProxyRef$cu2.focus() : (_tailFocusProxyRef$cu = tailFocusProxyRef.current) === null || _tailFocusProxyRef$cu === void 0 || _tailFocusProxyRef$cu.focus();
202
+ }
203
+ }
204
+ }; // Toasts are not in the viewport React tree so we need to bind DOM events
205
+ viewport.addEventListener('keydown', handleKeyDown);
206
+ return ()=>viewport.removeEventListener('keydown', handleKeyDown)
207
+ ;
208
+ }
209
+ }, [
210
+ getItems,
211
+ getSortedTabbableCandidates
212
+ ]);
213
+ return /*#__PURE__*/ createElement($5cb92bef7577960e$export$aecb2ddcb55c95be, {
214
+ ref: wrapperRef,
215
+ role: "region",
216
+ "aria-label": label.replace('{hotkey}', hotkeyLabel) // Ensure virtual cursor from landmarks menus triggers focus/blur for pause/resume
217
+ ,
218
+ tabIndex: -1 // incase list has size when empty (e.g. padding), we remove pointer events so
219
+ ,
220
+ style: {
221
+ pointerEvents: hasToasts ? undefined : 'none'
222
+ }
223
+ }, hasToasts && /*#__PURE__*/ createElement($054eb8030ebde76e$var$FocusProxy, {
224
+ ref: headFocusProxyRef,
225
+ onFocusFromOutsideViewport: ()=>{
226
+ const tabbableCandidates = getSortedTabbableCandidates({
227
+ tabbingDirection: 'forwards'
228
+ });
229
+ $054eb8030ebde76e$var$focusFirst(tabbableCandidates);
230
+ }
231
+ }), /*#__PURE__*/ createElement($054eb8030ebde76e$var$Collection.Slot, {
232
+ scope: __scopeToast
233
+ }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.ol, _extends({
234
+ tabIndex: -1
235
+ }, viewportProps, {
236
+ ref: composedRefs
237
+ }))), hasToasts && /*#__PURE__*/ createElement($054eb8030ebde76e$var$FocusProxy, {
238
+ ref: tailFocusProxyRef,
239
+ onFocusFromOutsideViewport: ()=>{
240
+ const tabbableCandidates = getSortedTabbableCandidates({
241
+ tabbingDirection: 'backwards'
242
+ });
243
+ $054eb8030ebde76e$var$focusFirst(tabbableCandidates);
244
+ }
245
+ }));
246
+ });
247
+ /* -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$FOCUS_PROXY_NAME = 'ToastFocusProxy';
248
+ const $054eb8030ebde76e$var$FocusProxy = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
249
+ const { __scopeToast: __scopeToast , onFocusFromOutsideViewport: onFocusFromOutsideViewport , ...proxyProps } = props;
250
+ const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$FOCUS_PROXY_NAME, __scopeToast);
251
+ return /*#__PURE__*/ createElement($ea1ef594cf570d83$export$439d29a4e110a164, _extends({
252
+ "aria-hidden": true,
253
+ tabIndex: 0
254
+ }, proxyProps, {
255
+ ref: forwardedRef // Avoid page scrolling when focus is on the focus proxy
256
+ ,
257
+ style: {
258
+ position: 'fixed'
259
+ },
260
+ onFocus: (event)=>{
261
+ var _context$viewport;
262
+ const prevFocusedElement = event.relatedTarget;
263
+ const isFocusFromOutsideViewport = !((_context$viewport = context.viewport) !== null && _context$viewport !== void 0 && _context$viewport.contains(prevFocusedElement));
264
+ if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();
265
+ }
266
+ }));
267
+ });
268
+ /* -------------------------------------------------------------------------------------------------
269
+ * Toast
270
+ * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$TOAST_NAME = 'Toast';
271
+ const $054eb8030ebde76e$var$TOAST_SWIPE_START = 'toast.swipeStart';
272
+ const $054eb8030ebde76e$var$TOAST_SWIPE_MOVE = 'toast.swipeMove';
273
+ const $054eb8030ebde76e$var$TOAST_SWIPE_CANCEL = 'toast.swipeCancel';
274
+ const $054eb8030ebde76e$var$TOAST_SWIPE_END = 'toast.swipeEnd';
275
+ const $054eb8030ebde76e$export$8d8dc7d5f743331b = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
276
+ const { forceMount: forceMount , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , ...toastProps } = props;
277
+ const [open = true, setOpen] = $71cd76cc60e0454e$export$6f32135080cb4c3({
278
+ prop: openProp,
279
+ defaultProp: defaultOpen,
280
+ onChange: onOpenChange
281
+ });
282
+ return /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
283
+ present: forceMount || open
284
+ }, /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastImpl, _extends({
285
+ open: open
286
+ }, toastProps, {
287
+ ref: forwardedRef,
288
+ onClose: ()=>setOpen(false)
289
+ ,
290
+ onPause: $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(props.onPause),
291
+ onResume: $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(props.onResume),
292
+ onSwipeStart: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onSwipeStart, (event)=>{
293
+ event.currentTarget.setAttribute('data-swipe', 'start');
294
+ }),
295
+ onSwipeMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onSwipeMove, (event)=>{
296
+ const { x: x , y: y } = event.detail.delta;
297
+ event.currentTarget.setAttribute('data-swipe', 'move');
298
+ event.currentTarget.style.setProperty('--radix-toast-swipe-move-x', `${x}px`);
299
+ event.currentTarget.style.setProperty('--radix-toast-swipe-move-y', `${y}px`);
300
+ }),
301
+ onSwipeCancel: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onSwipeCancel, (event)=>{
302
+ event.currentTarget.setAttribute('data-swipe', 'cancel');
303
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-move-x');
304
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-move-y');
305
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-end-x');
306
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-end-y');
307
+ }),
308
+ onSwipeEnd: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onSwipeEnd, (event)=>{
309
+ const { x: x , y: y } = event.detail.delta;
310
+ event.currentTarget.setAttribute('data-swipe', 'end');
311
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-move-x');
312
+ event.currentTarget.style.removeProperty('--radix-toast-swipe-move-y');
313
+ event.currentTarget.style.setProperty('--radix-toast-swipe-end-x', `${x}px`);
314
+ event.currentTarget.style.setProperty('--radix-toast-swipe-end-y', `${y}px`);
315
+ setOpen(false);
316
+ })
317
+ })));
318
+ });
319
+ /* -----------------------------------------------------------------------------------------------*/ const [$054eb8030ebde76e$var$ToastInteractiveProvider, $054eb8030ebde76e$var$useToastInteractiveContext] = $054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$TOAST_NAME, {
320
+ onClose () {}
321
+ });
322
+ const $054eb8030ebde76e$var$ToastImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
323
+ const { __scopeToast: __scopeToast , type: type = 'foreground' , duration: durationProp , open: open , onClose: onClose , onEscapeKeyDown: onEscapeKeyDown , onPause: onPause , onResume: onResume , onSwipeStart: onSwipeStart , onSwipeMove: onSwipeMove , onSwipeCancel: onSwipeCancel , onSwipeEnd: onSwipeEnd , ...toastProps } = props;
324
+ const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME, __scopeToast);
325
+ const [node1, setNode] = useState(null);
326
+ const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setNode(node)
327
+ );
328
+ const pointerStartRef = useRef(null);
329
+ const swipeDeltaRef = useRef(null);
330
+ const duration1 = durationProp || context.duration;
331
+ const closeTimerStartTimeRef = useRef(0);
332
+ const closeTimerRemainingTimeRef = useRef(duration1);
333
+ const closeTimerRef = useRef(0);
334
+ const { onToastAdd: onToastAdd , onToastRemove: onToastRemove } = context;
335
+ const handleClose = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(()=>{
336
+ var _context$viewport2;
337
+ // focus viewport if focus is within toast to read the remaining toast
338
+ // count to SR users and ensure focus isn't lost
339
+ const isFocusInToast = node1 === null || node1 === void 0 ? void 0 : node1.contains(document.activeElement);
340
+ if (isFocusInToast) (_context$viewport2 = context.viewport) === null || _context$viewport2 === void 0 || _context$viewport2.focus();
341
+ onClose();
342
+ });
343
+ const startTimer = useCallback((duration)=>{
344
+ if (!duration || duration === Infinity) return;
345
+ window.clearTimeout(closeTimerRef.current);
346
+ closeTimerStartTimeRef.current = new Date().getTime();
347
+ closeTimerRef.current = window.setTimeout(handleClose, duration);
348
+ }, [
349
+ handleClose
350
+ ]);
351
+ useEffect(()=>{
352
+ const viewport = context.viewport;
353
+ if (viewport) {
354
+ const handleResume = ()=>{
355
+ startTimer(closeTimerRemainingTimeRef.current);
356
+ onResume === null || onResume === void 0 || onResume();
357
+ };
358
+ const handlePause = ()=>{
359
+ const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.current;
360
+ closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;
361
+ window.clearTimeout(closeTimerRef.current);
362
+ onPause === null || onPause === void 0 || onPause();
363
+ };
364
+ viewport.addEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE, handlePause);
365
+ viewport.addEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME, handleResume);
366
+ return ()=>{
367
+ viewport.removeEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE, handlePause);
368
+ viewport.removeEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME, handleResume);
369
+ };
370
+ }
371
+ }, [
372
+ context.viewport,
373
+ duration1,
374
+ onPause,
375
+ onResume,
376
+ startTimer
377
+ ]); // start timer when toast opens or duration changes.
378
+ // we include `open` in deps because closed !== unmounted when animating
379
+ // so it could reopen before being completely unmounted
380
+ useEffect(()=>{
381
+ if (open && !context.isClosePausedRef.current) startTimer(duration1);
382
+ }, [
383
+ open,
384
+ duration1,
385
+ context.isClosePausedRef,
386
+ startTimer
387
+ ]);
388
+ useEffect(()=>{
389
+ onToastAdd();
390
+ return ()=>onToastRemove()
391
+ ;
392
+ }, [
393
+ onToastAdd,
394
+ onToastRemove
395
+ ]);
396
+ const announceTextContent = useMemo(()=>{
397
+ return node1 ? $054eb8030ebde76e$var$getAnnounceTextContent(node1) : null;
398
+ }, [
399
+ node1
400
+ ]);
401
+ if (!context.viewport) return null;
402
+ return /*#__PURE__*/ createElement(Fragment, null, announceTextContent && /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastAnnounce, {
403
+ __scopeToast: __scopeToast // Toasts are always role=status to avoid stuttering issues with role=alert in SRs.
404
+ ,
405
+ role: "status",
406
+ "aria-live": type === 'foreground' ? 'assertive' : 'polite',
407
+ "aria-atomic": true
408
+ }, announceTextContent), /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastInteractiveProvider, {
409
+ scope: __scopeToast,
410
+ onClose: handleClose
411
+ }, /*#__PURE__*/ createPortal(/*#__PURE__*/ createElement($054eb8030ebde76e$var$Collection.ItemSlot, {
412
+ scope: __scopeToast
413
+ }, /*#__PURE__*/ createElement($5cb92bef7577960e$export$be92b6f5f03c0fe9, {
414
+ asChild: true,
415
+ onEscapeKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(onEscapeKeyDown, ()=>{
416
+ if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();
417
+ context.isFocusedToastEscapeKeyDownRef.current = false;
418
+ })
419
+ }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.li, _extends({
420
+ // Ensure toasts are announced as status list or status when focused
421
+ role: "status",
422
+ "aria-live": "off",
423
+ "aria-atomic": true,
424
+ tabIndex: 0,
425
+ "data-state": open ? 'open' : 'closed',
426
+ "data-swipe-direction": context.swipeDirection
427
+ }, toastProps, {
428
+ ref: composedRefs,
429
+ style: {
430
+ userSelect: 'none',
431
+ touchAction: 'none',
432
+ ...props.style
433
+ },
434
+ onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
435
+ if (event.key !== 'Escape') return;
436
+ onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event.nativeEvent);
437
+ if (!event.nativeEvent.defaultPrevented) {
438
+ context.isFocusedToastEscapeKeyDownRef.current = true;
439
+ handleClose();
440
+ }
441
+ }),
442
+ onPointerDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerDown, (event)=>{
443
+ if (event.button !== 0) return;
444
+ pointerStartRef.current = {
445
+ x: event.clientX,
446
+ y: event.clientY
447
+ };
448
+ }),
449
+ onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, (event)=>{
450
+ if (!pointerStartRef.current) return;
451
+ const x = event.clientX - pointerStartRef.current.x;
452
+ const y = event.clientY - pointerStartRef.current.y;
453
+ const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);
454
+ const isHorizontalSwipe = [
455
+ 'left',
456
+ 'right'
457
+ ].includes(context.swipeDirection);
458
+ const clamp = [
459
+ 'left',
460
+ 'up'
461
+ ].includes(context.swipeDirection) ? Math.min : Math.max;
462
+ const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;
463
+ const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;
464
+ const moveStartBuffer = event.pointerType === 'touch' ? 10 : 2;
465
+ const delta = {
466
+ x: clampedX,
467
+ y: clampedY
468
+ };
469
+ const eventDetail = {
470
+ originalEvent: event,
471
+ delta: delta
472
+ };
473
+ if (hasSwipeMoveStarted) {
474
+ swipeDeltaRef.current = delta;
475
+ $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {
476
+ discrete: false
477
+ });
478
+ } else if ($054eb8030ebde76e$var$isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {
479
+ swipeDeltaRef.current = delta;
480
+ $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_START, onSwipeStart, eventDetail, {
481
+ discrete: false
482
+ });
483
+ event.target.setPointerCapture(event.pointerId);
484
+ } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) // User is swiping in wrong direction so we disable swipe gesture
485
+ // for the current pointer down interaction
486
+ pointerStartRef.current = null;
487
+ }),
488
+ onPointerUp: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerUp, (event1)=>{
489
+ const delta = swipeDeltaRef.current;
490
+ const target = event1.target;
491
+ if (target.hasPointerCapture(event1.pointerId)) target.releasePointerCapture(event1.pointerId);
492
+ swipeDeltaRef.current = null;
493
+ pointerStartRef.current = null;
494
+ if (delta) {
495
+ const toast = event1.currentTarget;
496
+ const eventDetail = {
497
+ originalEvent: event1,
498
+ delta: delta
499
+ };
500
+ if ($054eb8030ebde76e$var$isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_END, onSwipeEnd, eventDetail, {
501
+ discrete: true
502
+ });
503
+ else $054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_CANCEL, onSwipeCancel, eventDetail, {
504
+ discrete: true
505
+ });
506
+ // Prevent click event from triggering on items within the toast when
507
+ // pointer up is part of a swipe gesture
508
+ toast.addEventListener('click', (event)=>event.preventDefault()
509
+ , {
510
+ once: true
511
+ });
512
+ }
513
+ })
514
+ })))), context.viewport)));
515
+ });
516
+ $054eb8030ebde76e$var$ToastImpl.propTypes = {
517
+ type (props) {
518
+ if (props.type && ![
519
+ 'foreground',
520
+ 'background'
521
+ ].includes(props.type)) {
522
+ const error = `Invalid prop \`type\` supplied to \`${$054eb8030ebde76e$var$TOAST_NAME}\`. Expected \`foreground | background\`.`;
523
+ return new Error(error);
524
+ }
525
+ return null;
526
+ }
527
+ };
528
+ /* -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$ToastAnnounce = (props)=>{
529
+ const { __scopeToast: __scopeToast , children: children , ...announceProps } = props;
530
+ const context = $054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME, __scopeToast);
531
+ const [renderAnnounceText, setRenderAnnounceText] = useState(false);
532
+ const [isAnnounced, setIsAnnounced] = useState(false); // render text content in the next frame to ensure toast is announced in NVDA
533
+ $054eb8030ebde76e$var$useNextFrame(()=>setRenderAnnounceText(true)
534
+ ); // cleanup after announcing
535
+ useEffect(()=>{
536
+ const timer = window.setTimeout(()=>setIsAnnounced(true)
537
+ , 1000);
538
+ return ()=>window.clearTimeout(timer)
539
+ ;
540
+ }, []);
541
+ return isAnnounced ? null : /*#__PURE__*/ createElement($f1701beae083dbae$export$602eac185826482c, {
542
+ asChild: true
543
+ }, /*#__PURE__*/ createElement($ea1ef594cf570d83$export$439d29a4e110a164, announceProps, renderAnnounceText && /*#__PURE__*/ createElement(Fragment, null, context.label, " ", children)));
544
+ };
545
+ const $054eb8030ebde76e$export$16d42d7c29b95a4 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
546
+ const { __scopeToast: __scopeToast , ...titleProps } = props;
547
+ return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({}, titleProps, {
548
+ ref: forwardedRef
549
+ }));
550
+ });
551
+ /* -------------------------------------------------------------------------------------------------
552
+ * ToastAction
553
+ * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$ACTION_NAME = 'ToastAction';
554
+ const $054eb8030ebde76e$export$3019feecfda683d2 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
555
+ const { altText: altText , ...actionProps } = props;
556
+ if (!altText) return null;
557
+ return /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastAnnounceExclude, {
558
+ altText: altText,
559
+ asChild: true
560
+ }, /*#__PURE__*/ createElement($054eb8030ebde76e$export$811e70f61c205839, _extends({}, actionProps, {
561
+ ref: forwardedRef
562
+ })));
563
+ });
564
+ $054eb8030ebde76e$export$3019feecfda683d2.propTypes = {
565
+ altText (props) {
566
+ if (!props.altText) return new Error(`Missing prop \`altText\` expected on \`${$054eb8030ebde76e$var$ACTION_NAME}\``);
567
+ return null;
568
+ }
569
+ };
570
+ /* -------------------------------------------------------------------------------------------------
571
+ * ToastClose
572
+ * -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$CLOSE_NAME = 'ToastClose';
573
+ const $054eb8030ebde76e$export$811e70f61c205839 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
574
+ const { __scopeToast: __scopeToast , ...closeProps } = props;
575
+ const interactiveContext = $054eb8030ebde76e$var$useToastInteractiveContext($054eb8030ebde76e$var$CLOSE_NAME, __scopeToast);
576
+ return /*#__PURE__*/ createElement($054eb8030ebde76e$var$ToastAnnounceExclude, {
577
+ asChild: true
578
+ }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.button, _extends({
579
+ type: "button"
580
+ }, closeProps, {
581
+ ref: forwardedRef,
582
+ onClick: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onClick, interactiveContext.onClose)
583
+ })));
584
+ });
585
+ /* ---------------------------------------------------------------------------------------------- */ const $054eb8030ebde76e$var$ToastAnnounceExclude = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
586
+ const { __scopeToast: __scopeToast , altText: altText , ...announceExcludeProps } = props;
587
+ return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
588
+ "data-radix-toast-announce-exclude": "",
589
+ "data-radix-toast-announce-alt": altText || undefined
590
+ }, announceExcludeProps, {
591
+ ref: forwardedRef
592
+ }));
593
+ });
594
+ function $054eb8030ebde76e$var$getAnnounceTextContent(container) {
595
+ const textContent = [];
596
+ const childNodes = Array.from(container.childNodes);
597
+ childNodes.forEach((node)=>{
598
+ if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);
599
+ if ($054eb8030ebde76e$var$isHTMLElement(node)) {
600
+ const isHidden = node.ariaHidden || node.hidden || node.style.display === 'none';
601
+ const isExcluded = node.dataset.radixToastAnnounceExclude === '';
602
+ if (!isHidden) {
603
+ if (isExcluded) {
604
+ const altText = node.dataset.radixToastAnnounceAlt;
605
+ if (altText) textContent.push(altText);
606
+ } else textContent.push(...$054eb8030ebde76e$var$getAnnounceTextContent(node));
607
+ }
608
+ }
609
+ }); // We return a collection of text rather than a single concatenated string.
610
+ // This allows SR VO to naturally pause break between nodes while announcing.
611
+ return textContent;
612
+ }
613
+ /* ---------------------------------------------------------------------------------------------- */ function $054eb8030ebde76e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {
614
+ const currentTarget = detail.originalEvent.currentTarget;
615
+ const event = new CustomEvent(name, {
616
+ bubbles: true,
617
+ cancelable: true,
618
+ detail: detail
619
+ });
620
+ if (handler) currentTarget.addEventListener(name, handler, {
621
+ once: true
622
+ });
623
+ if (discrete) $8927f6f2acc4f386$export$6d1a0317bde7de7f(currentTarget, event);
624
+ else currentTarget.dispatchEvent(event);
625
+ }
626
+ const $054eb8030ebde76e$var$isDeltaInDirection = (delta, direction, threshold = 0)=>{
627
+ const deltaX = Math.abs(delta.x);
628
+ const deltaY = Math.abs(delta.y);
629
+ const isDeltaX = deltaX > deltaY;
630
+ if (direction === 'left' || direction === 'right') return isDeltaX && deltaX > threshold;
631
+ else return !isDeltaX && deltaY > threshold;
632
+ };
633
+ function $054eb8030ebde76e$var$useNextFrame(callback = ()=>{}) {
634
+ const fn = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(callback);
635
+ $9f79659886946c16$export$e5c5a5f917a5871c(()=>{
636
+ let raf1 = 0;
637
+ let raf2 = 0;
638
+ raf1 = window.requestAnimationFrame(()=>raf2 = window.requestAnimationFrame(fn)
639
+ );
640
+ return ()=>{
641
+ window.cancelAnimationFrame(raf1);
642
+ window.cancelAnimationFrame(raf2);
643
+ };
644
+ }, [
645
+ fn
646
+ ]);
647
+ }
648
+ function $054eb8030ebde76e$var$isHTMLElement(node) {
649
+ return node.nodeType === node.ELEMENT_NODE;
650
+ }
651
+ /**
652
+ * Returns a list of potential tabbable candidates.
653
+ *
654
+ * NOTE: This is only a close approximation. For example it doesn't take into account cases like when
655
+ * elements are not visible. This cannot be worked out easily by just reading a property, but rather
656
+ * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.
657
+ *
658
+ * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
659
+ * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
660
+ */ function $054eb8030ebde76e$var$getTabbableCandidates(container) {
661
+ const nodes = [];
662
+ const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
663
+ acceptNode: (node)=>{
664
+ const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';
665
+ if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the
666
+ // runtime's understanding of tabbability, so this automatically accounts
667
+ // for any kind of element that could be tabbed to.
668
+ return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
669
+ }
670
+ });
671
+ while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it
672
+ // hinders accessibility to have tab order different from visual order.
673
+ return nodes;
674
+ }
675
+ function $054eb8030ebde76e$var$focusFirst(candidates) {
676
+ const previouslyFocusedElement = document.activeElement;
677
+ return candidates.some((candidate)=>{
678
+ // if focus is already where we want to go, we don't want to keep going through the candidates
679
+ if (candidate === previouslyFocusedElement) return true;
680
+ candidate.focus();
681
+ return document.activeElement !== previouslyFocusedElement;
682
+ });
683
+ }
684
+ const $054eb8030ebde76e$export$2881499e37b75b9a = $054eb8030ebde76e$export$f5d03d415824e0e;
685
+ const $054eb8030ebde76e$export$d5c6c08dc2d3ca7 = $054eb8030ebde76e$export$6192c2425ecfd989;
686
+ const $054eb8030ebde76e$export$be92b6f5f03c0fe9 = $054eb8030ebde76e$export$8d8dc7d5f743331b;
687
+ const $054eb8030ebde76e$export$f99233281efd08a0 = $054eb8030ebde76e$export$16d42d7c29b95a4;
688
+ const $054eb8030ebde76e$export$e19cd5f9376f8cee = $054eb8030ebde76e$export$3019feecfda683d2;
689
+ const $054eb8030ebde76e$export$f39c2d165cd861fe = $054eb8030ebde76e$export$811e70f61c205839;
690
+
691
+ var ToastNotification = function (_a) {
692
+ var link = _a.link, title = _a.title, isOpen = _a.isOpen, onOpenChange = _a.onOpenChange, _b = _a.isStatusIconVisible, isStatusIconVisible = _b === void 0 ? true : _b, _c = _a.isCloseButtonVisible, isCloseButtonVisible = _c === void 0 ? true : _c, _d = _a.status, status = _d === void 0 ? "general" : _d, props = __rest(_a, ["link", "title", "isOpen", "onOpenChange", "isStatusIconVisible", "isCloseButtonVisible", "status"]);
693
+ var statusIcons = {
694
+ general: BtIconNotification,
695
+ error: BtIconAlertTriangle,
696
+ warning: BtIconAlert,
697
+ success: BtIconTick
698
+ };
699
+ var handleLinkClick = function (handler) { return function (event) {
700
+ event.preventDefault();
701
+ handler();
702
+ }; };
703
+ return (React__default.createElement($054eb8030ebde76e$export$be92b6f5f03c0fe9, __assign({ className: "arc-Toast-root", open: isOpen, onOpenChange: onOpenChange }, filterDataAttrs(props)),
704
+ React__default.createElement("div", { "data-testid": "toast-notification-wrapper", className: classNames("arc-Toast", "arc-Toast-status--".concat(status)) },
705
+ isStatusIconVisible && (React__default.createElement("div", { "data-testid": "status-icon", className: "arc-Toast-icon" },
706
+ React__default.createElement(Icon, { size: 24, icon: statusIcons[status] }))),
707
+ React__default.createElement($054eb8030ebde76e$export$f99233281efd08a0, { className: "arc-Toast-title" },
708
+ React__default.createElement("span", null, title)),
709
+ link && (React__default.createElement($054eb8030ebde76e$export$e19cd5f9376f8cee, { className: "arc-Toast-action", asChild: true, altText: link.text },
710
+ React__default.createElement("a", __assign({ className: "arc-Toast-link", href: link.href, "aria-label": link.ariaLabel }, (link.onClick && { onClick: handleLinkClick(link.onClick) })), link.text))),
711
+ isCloseButtonVisible && !link && (React__default.createElement($054eb8030ebde76e$export$f39c2d165cd861fe, { className: "arc-Toast-dismiss", "aria-label": "Close" },
712
+ React__default.createElement(Icon, { icon: BtIconCrossAlt2Px, size: 24 }))))));
713
+ };
714
+
715
+ /** Use `Toast` to display temporary messages at the bottom of the viewport. */
716
+ var Toast = function (_a) {
717
+ var children = _a.children, _b = _a.colorScheme, colorScheme = _b === void 0 ? "default" : _b, props = __rest(_a, ["children", "colorScheme"]);
718
+ return (React__default.createElement($054eb8030ebde76e$export$2881499e37b75b9a, { swipeDirection: "right", duration: 6000 },
719
+ React__default.createElement($054eb8030ebde76e$export$d5c6c08dc2d3ca7, { asChild: true, className: "arc-Toast-viewport" },
720
+ React__default.createElement("div", __assign({ className: "arc-Toast-pathway--".concat(colorScheme) }, filterDataAttrs(props)), children))));
721
+ };
722
+ Toast.Notification = ToastNotification;
723
+
724
+ export { Toast as T };