@arc-ui/components 11.7.0 → 11.9.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 (249) hide show
  1. package/dist/Alert/Alert.cjs.d.ts +1 -1
  2. package/dist/Alert/Alert.cjs.js +10 -89
  3. package/dist/Alert/Alert.esm.d.ts +1 -1
  4. package/dist/Alert/Alert.esm.js +3 -82
  5. package/dist/Badge/Badge.cjs.d.ts +4 -0
  6. package/dist/Badge/Badge.cjs.js +4 -4
  7. package/dist/Badge/Badge.esm.d.ts +4 -0
  8. package/dist/Badge/Badge.esm.js +5 -5
  9. package/dist/Box/Box.cjs.d.ts +40 -1
  10. package/dist/Box/Box.cjs.js +25 -6
  11. package/dist/Box/Box.esm.d.ts +40 -1
  12. package/dist/Box/Box.esm.js +24 -5
  13. package/dist/Breadcrumbs/Breadcrumbs.cjs.d.ts +1 -1
  14. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +2 -2
  15. package/dist/Breadcrumbs/Breadcrumbs.esm.d.ts +1 -1
  16. package/dist/Breadcrumbs/Breadcrumbs.esm.js +2 -2
  17. package/dist/Button/Button.cjs.d.ts +1 -1
  18. package/dist/Button/Button.cjs.js +1 -1
  19. package/dist/Button/Button.esm.d.ts +1 -1
  20. package/dist/Button/Button.esm.js +1 -1
  21. package/dist/Card/Card.cjs.d.ts +1 -1
  22. package/dist/Card/Card.cjs.js +2 -2
  23. package/dist/Card/Card.esm.d.ts +1 -1
  24. package/dist/Card/Card.esm.js +2 -2
  25. package/dist/Checkbox/Checkbox.cjs.d.ts +1 -1
  26. package/dist/Checkbox/Checkbox.cjs.js +4 -4
  27. package/dist/Checkbox/Checkbox.esm.d.ts +1 -1
  28. package/dist/Checkbox/Checkbox.esm.js +4 -4
  29. package/dist/Columns/Columns.cjs.d.ts +1 -1
  30. package/dist/Columns/Columns.esm.d.ts +1 -1
  31. package/dist/Curve/Curve.cjs.d.ts +1 -1
  32. package/dist/Curve/Curve.cjs.js +1 -1
  33. package/dist/Curve/Curve.esm.d.ts +1 -1
  34. package/dist/Curve/Curve.esm.js +1 -1
  35. package/dist/Disclosure/Disclosure.cjs.d.ts +1 -1
  36. package/dist/Disclosure/Disclosure.cjs.js +1 -1
  37. package/dist/Disclosure/Disclosure.esm.d.ts +1 -1
  38. package/dist/Disclosure/Disclosure.esm.js +1 -1
  39. package/dist/DisclosureMini/DisclosureMini.cjs.d.ts +1 -1
  40. package/dist/DisclosureMini/DisclosureMini.cjs.js +2 -2
  41. package/dist/DisclosureMini/DisclosureMini.esm.d.ts +1 -1
  42. package/dist/DisclosureMini/DisclosureMini.esm.js +2 -2
  43. package/dist/FormControl/FormControl.cjs.d.ts +1 -1
  44. package/dist/FormControl/FormControl.cjs.js +3 -3
  45. package/dist/FormControl/FormControl.esm.d.ts +1 -1
  46. package/dist/FormControl/FormControl.esm.js +3 -3
  47. package/dist/Heading/Heading.cjs.d.ts +1 -1
  48. package/dist/Heading/Heading.cjs.js +1 -1
  49. package/dist/Heading/Heading.esm.d.ts +1 -1
  50. package/dist/Heading/Heading.esm.js +1 -1
  51. package/dist/Modal/Modal.cjs.d.ts +31 -9
  52. package/dist/Modal/Modal.cjs.js +450 -161
  53. package/dist/Modal/Modal.esm.d.ts +31 -9
  54. package/dist/Modal/Modal.esm.js +423 -134
  55. package/dist/Pagination/Pagination.cjs.js +4 -4
  56. package/dist/Pagination/Pagination.esm.js +4 -4
  57. package/dist/PaginationSimple/PaginationSimple.cjs.js +4 -4
  58. package/dist/PaginationSimple/PaginationSimple.esm.js +4 -4
  59. package/dist/ProgressBar/ProgressBar.cjs.js +5 -5
  60. package/dist/ProgressBar/ProgressBar.esm.js +6 -6
  61. package/dist/ProgressStepper/ProgressStepper.cjs.d.ts +1 -89
  62. package/dist/ProgressStepper/ProgressStepper.cjs.js +10 -144
  63. package/dist/ProgressStepper/ProgressStepper.esm.d.ts +1 -89
  64. package/dist/ProgressStepper/ProgressStepper.esm.js +9 -143
  65. package/dist/RadioGroup/RadioGroup.cjs.d.ts +1 -1
  66. package/dist/RadioGroup/RadioGroup.cjs.js +4 -4
  67. package/dist/RadioGroup/RadioGroup.esm.d.ts +1 -1
  68. package/dist/RadioGroup/RadioGroup.esm.js +4 -4
  69. package/dist/Select/Select.cjs.d.ts +1 -1
  70. package/dist/Select/Select.cjs.js +995 -60
  71. package/dist/Select/Select.esm.d.ts +1 -1
  72. package/dist/Select/Select.esm.js +948 -32
  73. package/dist/SiteFooter/SiteFooter.cjs.d.ts +1 -1
  74. package/dist/SiteFooter/SiteFooter.cjs.js +2 -2
  75. package/dist/SiteFooter/SiteFooter.esm.d.ts +1 -1
  76. package/dist/SiteFooter/SiteFooter.esm.js +3 -3
  77. package/dist/SiteHeader/SiteHeader.cjs.d.ts +1 -1
  78. package/dist/SiteHeader/SiteHeader.cjs.js +3 -3
  79. package/dist/SiteHeader/SiteHeader.esm.d.ts +1 -1
  80. package/dist/SiteHeader/SiteHeader.esm.js +3 -3
  81. package/dist/Switch/Switch.cjs.d.ts +1 -1
  82. package/dist/Switch/Switch.cjs.js +241 -18
  83. package/dist/Switch/Switch.esm.d.ts +1 -1
  84. package/dist/Switch/Switch.esm.js +234 -11
  85. package/dist/Tabs/Tabs.cjs.d.ts +1 -0
  86. package/dist/Tabs/Tabs.cjs.js +20 -0
  87. package/dist/Tabs/Tabs.esm.d.ts +1 -0
  88. package/dist/Tabs/Tabs.esm.js +12 -0
  89. package/dist/Tabs/package.json +7 -0
  90. package/dist/Text/Text.cjs.d.ts +1 -1
  91. package/dist/Text/Text.cjs.js +1 -1
  92. package/dist/Text/Text.esm.d.ts +1 -1
  93. package/dist/Text/Text.esm.js +1 -1
  94. package/dist/TextArea/TextArea.cjs.d.ts +4 -1
  95. package/dist/TextArea/TextArea.cjs.js +30 -17
  96. package/dist/TextArea/TextArea.esm.d.ts +4 -1
  97. package/dist/TextArea/TextArea.esm.js +30 -17
  98. package/dist/TextInput/TextInput.cjs.d.ts +1 -1
  99. package/dist/TextInput/TextInput.cjs.js +4 -4
  100. package/dist/TextInput/TextInput.esm.d.ts +1 -1
  101. package/dist/TextInput/TextInput.esm.js +4 -4
  102. package/dist/Toast/Toast.cjs.d.ts +1 -0
  103. package/dist/Toast/Toast.cjs.js +23 -0
  104. package/dist/Toast/Toast.esm.d.ts +1 -0
  105. package/dist/Toast/Toast.esm.js +15 -0
  106. package/dist/Toast/package.json +7 -0
  107. package/dist/Truncate/Truncate.cjs.js +3 -2
  108. package/dist/Truncate/Truncate.esm.js +3 -2
  109. package/dist/_shared/cjs/{Breadcrumbs-9f580f69.js → Breadcrumbs-0906dd10.js} +9 -9
  110. package/dist/_shared/cjs/BtIconTick-42fcc5ec.js +91 -0
  111. package/dist/_shared/{esm/Button-9c3b0b11.d.ts → cjs/Button-5aaa6776.d.ts} +4 -0
  112. package/dist/_shared/cjs/{Button-b4d6ccc8.js → Button-5aaa6776.js} +2 -2
  113. package/dist/_shared/cjs/{Card-f1108bfe.js → Card-fd189ba8.js} +1 -1
  114. package/dist/_shared/cjs/{Checkbox-c927b62f.js → Checkbox-02c546ca.js} +1 -1
  115. package/dist/_shared/cjs/Columns-e90798f8.d.ts +1 -1
  116. package/dist/_shared/cjs/{Curve-b05589d8.d.ts → Curve-781ef633.d.ts} +5 -2
  117. package/dist/_shared/cjs/{Curve-b05589d8.js → Curve-781ef633.js} +5 -2
  118. package/dist/_shared/cjs/{DisclosureMini-2a10006e.js → DisclosureMini-52706ee6.js} +1 -1
  119. package/dist/_shared/cjs/{FormControl-78b007b7.js → FormControl-1e1bf2bf.js} +1 -1
  120. package/dist/_shared/cjs/{Heading-ed1cb455.d.ts → Heading-e3332dcf.d.ts} +4 -0
  121. package/dist/_shared/cjs/{Heading-ed1cb455.js → Heading-e3332dcf.js} +2 -2
  122. package/dist/{MediaCard/MediaCard.cjs.d.ts → _shared/cjs/MediaCard-9483ad5f.d.ts} +3 -4
  123. package/dist/_shared/cjs/ProgressStepper-f740d7bb.d.ts +89 -0
  124. package/dist/_shared/cjs/ProgressStepper-f740d7bb.js +149 -0
  125. package/dist/_shared/{esm/RadioGroup-65b8c8bf.d.ts → cjs/RadioGroup-d7664b0c.d.ts} +1 -1
  126. package/dist/_shared/cjs/{RadioGroup-8e17de70.js → RadioGroup-d7664b0c.js} +1 -1
  127. package/dist/_shared/cjs/{SiteFooter-9f7f9c2d.js → SiteFooter-5da774e1.js} +1 -1
  128. package/dist/_shared/cjs/SiteHeader-c25ee36e.d.ts +2 -2
  129. package/dist/_shared/cjs/{SiteHeader.rehydrator-ccbebde6.js → SiteHeader.rehydrator-acc9d8c4.js} +2 -2
  130. package/dist/_shared/cjs/Tabs-fda49692.d.ts +75 -0
  131. package/dist/_shared/cjs/Tabs-fda49692.js +510 -0
  132. package/dist/_shared/{esm/Text-14deb70e.d.ts → cjs/Text-fa447e2d.d.ts} +4 -0
  133. package/dist/_shared/cjs/{Text-555a29a4.js → Text-fa447e2d.js} +2 -2
  134. package/dist/_shared/cjs/{TextInput-7ed03a48.d.ts → TextInput-13050538.d.ts} +3 -1
  135. package/dist/_shared/{esm/TextInput-62bb7dee.d.ts → cjs/TextInput-f4549637.d.ts} +1 -1
  136. package/dist/_shared/cjs/{TextInput-b768e346.js → TextInput-f4549637.js} +1 -1
  137. package/dist/_shared/cjs/Toast-0cb23cae.d.ts +52 -0
  138. package/dist/_shared/cjs/Toast-0cb23cae.js +739 -0
  139. package/dist/_shared/cjs/extends-bb8ffacd.js +21 -0
  140. package/dist/_shared/cjs/index-27b53d49.js +174 -0
  141. package/dist/_shared/cjs/index-699086a7.d.ts +1 -1
  142. package/dist/_shared/cjs/index-74488a9f.d.ts +1 -1
  143. package/dist/_shared/cjs/{index.module-9b87a34d.js → index-952918c9.js} +141 -33
  144. package/dist/_shared/cjs/index-96c4d581.js +289 -0
  145. package/dist/_shared/cjs/index-c81c9401.d.ts +3 -3
  146. package/dist/_shared/cjs/index-e340924e.d.ts +1 -1
  147. package/dist/_shared/cjs/index-e6d20018.d.ts +1 -1
  148. package/dist/_shared/cjs/index-eb06f640.d.ts +1 -1
  149. package/dist/_shared/cjs/{index-31fbb076.js → index-ec260f5e.js} +0 -547
  150. package/dist/_shared/cjs/index-f419cf04.d.ts +1 -1
  151. package/dist/_shared/cjs/index-fb4b8fda.js +47 -0
  152. package/dist/_shared/cjs/index.module-bbcc4e18.js +126 -0
  153. package/dist/_shared/esm/{Breadcrumbs-5dc0afa7.js → Breadcrumbs-dafa8dde.js} +9 -9
  154. package/dist/_shared/esm/BtIconTick-5fe50cc7.js +83 -0
  155. package/dist/_shared/{cjs/Button-b4d6ccc8.d.ts → esm/Button-d1dbcf79.d.ts} +4 -0
  156. package/dist/_shared/esm/{Button-9c3b0b11.js → Button-d1dbcf79.js} +2 -2
  157. package/dist/_shared/esm/{Card-79b6eae0.js → Card-e62c3ff6.js} +1 -1
  158. package/dist/_shared/esm/{Checkbox-2d144384.js → Checkbox-d8891198.js} +1 -1
  159. package/dist/_shared/esm/Columns-8704515b.d.ts +1 -1
  160. package/dist/_shared/esm/{Curve-3e87b1bc.d.ts → Curve-bbc5589c.d.ts} +5 -2
  161. package/dist/_shared/esm/{Curve-3e87b1bc.js → Curve-bbc5589c.js} +5 -2
  162. package/dist/_shared/esm/{DisclosureMini-78a8f392.js → DisclosureMini-9b819941.js} +1 -1
  163. package/dist/_shared/esm/{FormControl-2fa7aae5.js → FormControl-f18e2f59.js} +1 -1
  164. package/dist/_shared/esm/{Heading-ee6bec51.d.ts → Heading-0f629151.d.ts} +4 -0
  165. package/dist/_shared/esm/{Heading-ee6bec51.js → Heading-0f629151.js} +2 -2
  166. package/dist/{MediaCard/MediaCard.esm.d.ts → _shared/esm/MediaCard-9483ad5f.d.ts} +3 -4
  167. package/dist/_shared/esm/ProgressStepper-7ab88f4c.d.ts +89 -0
  168. package/dist/_shared/esm/ProgressStepper-7ab88f4c.js +143 -0
  169. package/dist/_shared/{cjs/RadioGroup-8e17de70.d.ts → esm/RadioGroup-be16d5d3.d.ts} +1 -1
  170. package/dist/_shared/esm/{RadioGroup-65b8c8bf.js → RadioGroup-be16d5d3.js} +1 -1
  171. package/dist/_shared/esm/{SiteFooter-51bdc7df.js → SiteFooter-a182cb18.js} +1 -1
  172. package/dist/_shared/esm/SiteHeader-c25ee36e.d.ts +2 -2
  173. package/dist/_shared/esm/{SiteHeader.rehydrator-382d1c03.js → SiteHeader.rehydrator-023b7b76.js} +2 -2
  174. package/dist/_shared/esm/Tabs-5af0b940.d.ts +75 -0
  175. package/dist/_shared/esm/Tabs-5af0b940.js +504 -0
  176. package/dist/_shared/{cjs/Text-555a29a4.d.ts → esm/Text-40457811.d.ts} +4 -0
  177. package/dist/_shared/esm/{Text-14deb70e.js → Text-40457811.js} +2 -2
  178. package/dist/_shared/esm/{TextInput-7ed03a48.d.ts → TextInput-13050538.d.ts} +3 -1
  179. package/dist/_shared/{cjs/TextInput-b768e346.d.ts → esm/TextInput-4424c195.d.ts} +3 -3
  180. package/dist/_shared/esm/{TextInput-62bb7dee.js → TextInput-4424c195.js} +1 -1
  181. package/dist/_shared/esm/Toast-43795e91.d.ts +52 -0
  182. package/dist/_shared/esm/Toast-43795e91.js +733 -0
  183. package/dist/_shared/esm/extends-4575346e.js +19 -0
  184. package/dist/_shared/esm/{index.module-216016b5.js → index-22aad354.js} +138 -29
  185. package/dist/_shared/esm/{index-4fa635bd.js → index-369dce7f.js} +2 -541
  186. package/dist/_shared/esm/index-699086a7.d.ts +1 -1
  187. package/dist/_shared/esm/index-74488a9f.d.ts +1 -1
  188. package/dist/_shared/esm/index-8000d9e3.js +168 -0
  189. package/dist/_shared/esm/index-94ecc5f8.js +280 -0
  190. package/dist/_shared/esm/index-bed18a88.js +26 -0
  191. package/dist/_shared/esm/index-c81c9401.d.ts +3 -3
  192. package/dist/_shared/esm/index-e340924e.d.ts +1 -1
  193. package/dist/_shared/esm/index-e6d20018.d.ts +1 -1
  194. package/dist/_shared/esm/index-eb06f640.d.ts +1 -1
  195. package/dist/_shared/esm/index-f419cf04.d.ts +1 -1
  196. package/dist/_shared/esm/index.module-5ed90b21.js +122 -0
  197. package/dist/index.es.js +5036 -1358
  198. package/dist/index.es.js.map +1 -1
  199. package/dist/index.js +5358 -1668
  200. package/dist/index.js.map +1 -1
  201. package/dist/styles.css +1 -1
  202. package/dist/types/components/Badge/Badge.d.ts +4 -0
  203. package/dist/types/components/Button/Button.d.ts +4 -0
  204. package/dist/types/components/Columns/Columns.d.ts +1 -1
  205. package/dist/types/components/Columns/index.d.ts +1 -1
  206. package/dist/types/components/Curve/Curve.d.ts +5 -2
  207. package/dist/types/components/Heading/Heading.d.ts +4 -0
  208. package/dist/types/components/Modal/Modal.d.ts +31 -9
  209. package/dist/types/components/Tabs/Tab/Tab.d.ts +22 -0
  210. package/dist/types/components/Tabs/Tab/index.d.ts +1 -0
  211. package/dist/types/components/Tabs/TabContent/TabContent.d.ts +12 -0
  212. package/dist/types/components/Tabs/TabContent/index.d.ts +1 -0
  213. package/dist/types/components/Tabs/Tabs.d.ts +27 -0
  214. package/dist/types/components/Tabs/TabsList/TabsList.d.ts +20 -0
  215. package/dist/types/components/Tabs/TabsList/index.d.ts +1 -0
  216. package/dist/types/components/Tabs/index.d.ts +1 -0
  217. package/dist/types/components/Text/Text.d.ts +4 -0
  218. package/dist/types/components/TextArea/TextArea.d.ts +3 -0
  219. package/dist/types/components/TextInput/TextInput.d.ts +2 -0
  220. package/dist/types/components/Toast/Toast.d.ts +14 -0
  221. package/dist/types/components/Toast/ToastNotification.d.ts +39 -0
  222. package/dist/types/components/Toast/index.d.ts +1 -0
  223. package/dist/types/components/index.d.ts +18 -6
  224. package/dist/types/styles.d.ts +3 -2
  225. package/package.json +8 -6
  226. package/dist/MediaCard/MediaCard.cjs.js +0 -31
  227. package/dist/MediaCard/MediaCard.esm.js +0 -23
  228. package/dist/MediaCard/package.json +0 -7
  229. package/dist/_shared/cjs/Box-ebe2b7be.d.ts +0 -39
  230. package/dist/_shared/cjs/Box-ebe2b7be.js +0 -30
  231. package/dist/_shared/cjs/index.module-5ea728f4.js +0 -23
  232. package/dist/_shared/esm/Box-06d99d8a.d.ts +0 -39
  233. package/dist/_shared/esm/Box-06d99d8a.js +0 -24
  234. package/dist/_shared/esm/index.module-88179159.js +0 -21
  235. package/dist/types/components/Modal/Modal.stories-wip.d.ts +0 -9
  236. /package/dist/_shared/cjs/{Breadcrumbs-9f580f69.d.ts → Breadcrumbs-0906dd10.d.ts} +0 -0
  237. /package/dist/_shared/cjs/{Card-f1108bfe.d.ts → Card-fd189ba8.d.ts} +0 -0
  238. /package/dist/_shared/cjs/{Checkbox-c927b62f.d.ts → Checkbox-02c546ca.d.ts} +0 -0
  239. /package/dist/_shared/cjs/{DisclosureMini-2a10006e.d.ts → DisclosureMini-52706ee6.d.ts} +0 -0
  240. /package/dist/_shared/cjs/{FormControl-78b007b7.d.ts → FormControl-1e1bf2bf.d.ts} +0 -0
  241. /package/dist/_shared/cjs/{SiteFooter-9f7f9c2d.d.ts → SiteFooter-5da774e1.d.ts} +0 -0
  242. /package/dist/_shared/cjs/{SiteHeader.rehydrator-ccbebde6.d.ts → SiteHeader.rehydrator-acc9d8c4.d.ts} +0 -0
  243. /package/dist/_shared/esm/{Breadcrumbs-5dc0afa7.d.ts → Breadcrumbs-dafa8dde.d.ts} +0 -0
  244. /package/dist/_shared/esm/{Card-79b6eae0.d.ts → Card-e62c3ff6.d.ts} +0 -0
  245. /package/dist/_shared/esm/{Checkbox-2d144384.d.ts → Checkbox-d8891198.d.ts} +0 -0
  246. /package/dist/_shared/esm/{DisclosureMini-78a8f392.d.ts → DisclosureMini-9b819941.d.ts} +0 -0
  247. /package/dist/_shared/esm/{FormControl-2fa7aae5.d.ts → FormControl-f18e2f59.d.ts} +0 -0
  248. /package/dist/_shared/esm/{SiteFooter-51bdc7df.d.ts → SiteFooter-a182cb18.d.ts} +0 -0
  249. /package/dist/_shared/esm/{SiteHeader.rehydrator-382d1c03.d.ts → SiteHeader.rehydrator-023b7b76.d.ts} +0 -0
@@ -5,7 +5,7 @@ var index_es = require('./index.es-77def0c9.js');
5
5
  var BtIconChevronDown2Px = require('./BtIconChevronDown2Px-8fb4e2eb.js');
6
6
  var React = require('react');
7
7
  var BrandLogo = require('./BrandLogo-8107d59f.js');
8
- var Curve = require('./Curve-b05589d8.js');
8
+ var Curve = require('./Curve-781ef633.js');
9
9
  var Section = require('./Section-48aca5f5.js');
10
10
  var Surface = require('./Surface-b7c51b2b.js');
11
11
  var handleLinkClick = require('./handle-link-click-17a44cf4.js');
@@ -6,7 +6,7 @@ import { Column } from "./index-f419cf04";
6
6
  import { Item } from "./index-699086a7";
7
7
  import { ItemGroup } from "./index-e340924e";
8
8
  import { NavItem, NavItemWithSubNav } from "./index-e6d20018";
9
- import { NodeItem } from "./SiteHeader.rehydrator-ccbebde6";
9
+ import { NodeItem } from "./SiteHeader.rehydrator-acc9d8c4";
10
10
  import { SubNavItem } from "./index-74488a9f";
11
11
  declare const Context: React.Context<{
12
12
  transparent: boolean;
@@ -74,5 +74,5 @@ interface SiteHeaderProps {
74
74
  */
75
75
  subBrand?: typeof subBrands[number];
76
76
  }
77
- export { MenuButton } from "./SiteHeader.rehydrator-ccbebde6";
77
+ export { MenuButton } from "./SiteHeader.rehydrator-acc9d8c4";
78
78
  export { SiteHeader, SiteHeaderProps, Context as SiteHeaderContext };
@@ -9,9 +9,9 @@ var handleLinkClick = require('./handle-link-click-17a44cf4.js');
9
9
  var BtIconChevronRight2Px = require('./BtIconChevronRight2Px-a8e40136.js');
10
10
  var Surface = require('./Surface-b7c51b2b.js');
11
11
  var BrandLogo = require('./BrandLogo-8107d59f.js');
12
- var Button = require('./Button-b4d6ccc8.js');
12
+ var Button = require('./Button-5aaa6776.js');
13
13
  var suffixModifier = require('./suffix-modifier-1ee2da04.js');
14
- var Text = require('./Text-555a29a4.js');
14
+ var Text = require('./Text-fa447e2d.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -0,0 +1,75 @@
1
+ import { FC, ReactNode } from "react";
2
+ import { ArcIcon } from "./arc-icon-17594b2f";
3
+ declare const TabsList: FC<TabsListProps>;
4
+ interface TabsListProps {
5
+ /**
6
+ * Contents of the `Tabs` Should contain `Tab`
7
+ */
8
+ children: ReactNode;
9
+ /**
10
+ * Determine if `Tabs` should be justified
11
+ */
12
+ isJustified?: boolean;
13
+ /**
14
+ * Determine the type of `Tabs`. Default is standard
15
+ */
16
+ type?: "standard" | "contained";
17
+ /**
18
+ * Determine a accessible label for `Tabs`
19
+ */
20
+ ariaLabel?: string;
21
+ }
22
+ declare const TabContent: FC<TabContentProps>;
23
+ interface TabContentProps {
24
+ /**
25
+ * Content to display
26
+ */
27
+ children: ReactNode;
28
+ /**
29
+ * This value links the `TabContent` with `Tab`
30
+ */
31
+ value: string;
32
+ }
33
+ declare const Tab: FC<TabProps>;
34
+ interface TabProps {
35
+ /**
36
+ * Label to display on the Tab
37
+ */
38
+ label: string;
39
+ /**
40
+ * Value to link `Tab` to `TabContent`
41
+ */
42
+ value: string;
43
+ /**
44
+ * Determine what icon to display within the Tab.
45
+ */
46
+ icon?: ArcIcon;
47
+ /**
48
+ * Determine what to display when `Tab` is active
49
+ */
50
+ iconActive?: ArcIcon;
51
+ }
52
+ declare const Tabs: FC<TabsProps> & {
53
+ Tab: typeof Tab;
54
+ Content: typeof TabContent;
55
+ List: typeof TabsList;
56
+ };
57
+ interface TabsProps {
58
+ /**
59
+ * Render children
60
+ */
61
+ children: ReactNode;
62
+ /**
63
+ * Default to an inital value of a tab. If this is left blank it is possible for there to be no active tabs
64
+ */
65
+ defaultValue?: string;
66
+ /**
67
+ * Event handler called when the value changes.
68
+ */
69
+ onValueChange?: (value: string) => void;
70
+ /**
71
+ * When automatic, tabs are activated when receiving focus. When manual, tabs are activated when clicked.
72
+ */
73
+ activationMode?: "automatic" | "manual";
74
+ }
75
+ export { TabsList, TabsListProps, TabContent, TabContentProps, Tab, Tabs, TabsProps };
@@ -0,0 +1,510 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var React$2 = require('react');
5
+ var _extends = require('./extends-bb8ffacd.js');
6
+ var index$1 = require('./index-952918c9.js');
7
+ var index = require('./index-27b53d49.js');
8
+ var index$2 = require('./index-fb4b8fda.js');
9
+ var Icon = require('./Icon-e1dd45eb.js');
10
+ var Surface = require('./Surface-b7c51b2b.js');
11
+ var index$3 = require('./index-45bfb67b.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React$2);
16
+
17
+ const $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ React$2.createContext(undefined);
18
+ /* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {
19
+ const globalDir = React$2.useContext($f631663db3294ace$var$DirectionContext);
20
+ return localDir || globalDir || 'ltr';
21
+ }
22
+
23
+ const $d7bdfb9eb0fdf311$var$ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';
24
+ const $d7bdfb9eb0fdf311$var$EVENT_OPTIONS = {
25
+ bubbles: false,
26
+ cancelable: true
27
+ };
28
+ /* -------------------------------------------------------------------------------------------------
29
+ * RovingFocusGroup
30
+ * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$GROUP_NAME = 'RovingFocusGroup';
31
+ const [$d7bdfb9eb0fdf311$var$Collection, $d7bdfb9eb0fdf311$var$useCollection, $d7bdfb9eb0fdf311$var$createCollectionScope] = index.$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($d7bdfb9eb0fdf311$var$GROUP_NAME);
32
+ const [$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext, $d7bdfb9eb0fdf311$export$c7109489551a4f4] = index$1.$c512c27ab02ef895$export$50c7b4e9d9f19c1($d7bdfb9eb0fdf311$var$GROUP_NAME, [
33
+ $d7bdfb9eb0fdf311$var$createCollectionScope
34
+ ]);
35
+ const [$d7bdfb9eb0fdf311$var$RovingFocusProvider, $d7bdfb9eb0fdf311$var$useRovingFocusContext] = $d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME);
36
+ const $d7bdfb9eb0fdf311$export$8699f7c8af148338 = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
37
+ return /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$var$Collection.Provider, {
38
+ scope: props.__scopeRovingFocusGroup
39
+ }, /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$var$Collection.Slot, {
40
+ scope: props.__scopeRovingFocusGroup
41
+ }, /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl, _extends._extends({}, props, {
42
+ ref: forwardedRef
43
+ }))));
44
+ });
45
+ /* -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$RovingFocusGroupImpl = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
46
+ const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , orientation: orientation , loop: loop = false , dir: dir , currentTabStopId: currentTabStopIdProp , defaultCurrentTabStopId: defaultCurrentTabStopId , onCurrentTabStopIdChange: onCurrentTabStopIdChange , onEntryFocus: onEntryFocus , ...groupProps } = props;
47
+ const ref = React$2.useRef(null);
48
+ const composedRefs = index$1.$6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
49
+ const direction = $f631663db3294ace$export$b39126d51d94e6f3(dir);
50
+ const [currentTabStopId = null, setCurrentTabStopId] = index$1.$71cd76cc60e0454e$export$6f32135080cb4c3({
51
+ prop: currentTabStopIdProp,
52
+ defaultProp: defaultCurrentTabStopId,
53
+ onChange: onCurrentTabStopIdChange
54
+ });
55
+ const [isTabbingBackOut, setIsTabbingBackOut] = React$2.useState(false);
56
+ const handleEntryFocus = index$1.$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onEntryFocus);
57
+ const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);
58
+ const isClickFocusRef = React$2.useRef(false);
59
+ const [focusableItemsCount, setFocusableItemsCount] = React$2.useState(0);
60
+ React$2.useEffect(()=>{
61
+ const node = ref.current;
62
+ if (node) {
63
+ node.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus);
64
+ return ()=>node.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus)
65
+ ;
66
+ }
67
+ }, [
68
+ handleEntryFocus
69
+ ]);
70
+ return /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$var$RovingFocusProvider, {
71
+ scope: __scopeRovingFocusGroup,
72
+ orientation: orientation,
73
+ dir: direction,
74
+ loop: loop,
75
+ currentTabStopId: currentTabStopId,
76
+ onItemFocus: React$2.useCallback((tabStopId)=>setCurrentTabStopId(tabStopId)
77
+ , [
78
+ setCurrentTabStopId
79
+ ]),
80
+ onItemShiftTab: React$2.useCallback(()=>setIsTabbingBackOut(true)
81
+ , []),
82
+ onFocusableItemAdd: React$2.useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount + 1
83
+ )
84
+ , []),
85
+ onFocusableItemRemove: React$2.useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount - 1
86
+ )
87
+ , [])
88
+ }, /*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends._extends({
89
+ tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
90
+ "data-orientation": orientation
91
+ }, groupProps, {
92
+ ref: composedRefs,
93
+ style: {
94
+ outline: 'none',
95
+ ...props.style
96
+ },
97
+ onMouseDown: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, ()=>{
98
+ isClickFocusRef.current = true;
99
+ }),
100
+ onFocus: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, (event)=>{
101
+ // We normally wouldn't need this check, because we already check
102
+ // that the focus is on the current target and not bubbling to it.
103
+ // We do this because Safari doesn't focus buttons when clicked, and
104
+ // instead, the wrapper will get focused and not through a bubbling event.
105
+ const isKeyboardFocus = !isClickFocusRef.current;
106
+ if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
107
+ const entryFocusEvent = new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, $d7bdfb9eb0fdf311$var$EVENT_OPTIONS);
108
+ event.currentTarget.dispatchEvent(entryFocusEvent);
109
+ if (!entryFocusEvent.defaultPrevented) {
110
+ const items = getItems().filter((item)=>item.focusable
111
+ );
112
+ const activeItem = items.find((item)=>item.active
113
+ );
114
+ const currentItem = items.find((item)=>item.id === currentTabStopId
115
+ );
116
+ const candidateItems = [
117
+ activeItem,
118
+ currentItem,
119
+ ...items
120
+ ].filter(Boolean);
121
+ const candidateNodes = candidateItems.map((item)=>item.ref.current
122
+ );
123
+ $d7bdfb9eb0fdf311$var$focusFirst(candidateNodes);
124
+ }
125
+ }
126
+ isClickFocusRef.current = false;
127
+ }),
128
+ onBlur: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onBlur, ()=>setIsTabbingBackOut(false)
129
+ )
130
+ })));
131
+ });
132
+ /* -------------------------------------------------------------------------------------------------
133
+ * RovingFocusGroupItem
134
+ * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$ITEM_NAME = 'RovingFocusGroupItem';
135
+ const $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
136
+ const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , focusable: focusable = true , active: active = false , tabStopId: tabStopId , ...itemProps } = props;
137
+ const autoId = index$2.$1746a345f3d73bb7$export$f680877a34711e37();
138
+ const id = tabStopId || autoId;
139
+ const context = $d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME, __scopeRovingFocusGroup);
140
+ const isCurrentTabStop = context.currentTabStopId === id;
141
+ const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);
142
+ const { onFocusableItemAdd: onFocusableItemAdd , onFocusableItemRemove: onFocusableItemRemove } = context;
143
+ React$2.useEffect(()=>{
144
+ if (focusable) {
145
+ onFocusableItemAdd();
146
+ return ()=>onFocusableItemRemove()
147
+ ;
148
+ }
149
+ }, [
150
+ focusable,
151
+ onFocusableItemAdd,
152
+ onFocusableItemRemove
153
+ ]);
154
+ return /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$var$Collection.ItemSlot, {
155
+ scope: __scopeRovingFocusGroup,
156
+ id: id,
157
+ focusable: focusable,
158
+ active: active
159
+ }, /*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends._extends({
160
+ tabIndex: isCurrentTabStop ? 0 : -1,
161
+ "data-orientation": context.orientation
162
+ }, itemProps, {
163
+ ref: forwardedRef,
164
+ onMouseDown: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, (event)=>{
165
+ // We prevent focusing non-focusable items on `mousedown`.
166
+ // Even though the item has tabIndex={-1}, that only means take it out of the tab order.
167
+ if (!focusable) event.preventDefault(); // Safari doesn't focus a button when clicked so we run our logic on mousedown also
168
+ else context.onItemFocus(id);
169
+ }),
170
+ onFocus: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, ()=>context.onItemFocus(id)
171
+ ),
172
+ onKeyDown: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
173
+ if (event.key === 'Tab' && event.shiftKey) {
174
+ context.onItemShiftTab();
175
+ return;
176
+ }
177
+ if (event.target !== event.currentTarget) return;
178
+ const focusIntent = $d7bdfb9eb0fdf311$var$getFocusIntent(event, context.orientation, context.dir);
179
+ if (focusIntent !== undefined) {
180
+ event.preventDefault();
181
+ const items = getItems().filter((item)=>item.focusable
182
+ );
183
+ let candidateNodes = items.map((item)=>item.ref.current
184
+ );
185
+ if (focusIntent === 'last') candidateNodes.reverse();
186
+ else if (focusIntent === 'prev' || focusIntent === 'next') {
187
+ if (focusIntent === 'prev') candidateNodes.reverse();
188
+ const currentIndex = candidateNodes.indexOf(event.currentTarget);
189
+ candidateNodes = context.loop ? $d7bdfb9eb0fdf311$var$wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
190
+ }
191
+ /**
192
+ * Imperative focus during keydown is risky so we prevent React's batching updates
193
+ * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332
194
+ */ setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(candidateNodes)
195
+ );
196
+ }
197
+ })
198
+ })));
199
+ });
200
+ /* -----------------------------------------------------------------------------------------------*/ // prettier-ignore
201
+ const $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT = {
202
+ ArrowLeft: 'prev',
203
+ ArrowUp: 'prev',
204
+ ArrowRight: 'next',
205
+ ArrowDown: 'next',
206
+ PageUp: 'first',
207
+ Home: 'first',
208
+ PageDown: 'last',
209
+ End: 'last'
210
+ };
211
+ function $d7bdfb9eb0fdf311$var$getDirectionAwareKey(key, dir) {
212
+ if (dir !== 'rtl') return key;
213
+ return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;
214
+ }
215
+ function $d7bdfb9eb0fdf311$var$getFocusIntent(event, orientation, dir) {
216
+ const key = $d7bdfb9eb0fdf311$var$getDirectionAwareKey(event.key, dir);
217
+ if (orientation === 'vertical' && [
218
+ 'ArrowLeft',
219
+ 'ArrowRight'
220
+ ].includes(key)) return undefined;
221
+ if (orientation === 'horizontal' && [
222
+ 'ArrowUp',
223
+ 'ArrowDown'
224
+ ].includes(key)) return undefined;
225
+ return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[key];
226
+ }
227
+ function $d7bdfb9eb0fdf311$var$focusFirst(candidates) {
228
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
229
+ for (const candidate of candidates){
230
+ // if focus is already where we want to go, we don't want to keep going through the candidates
231
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
232
+ candidate.focus();
233
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
234
+ }
235
+ }
236
+ /**
237
+ * Wraps an array around itself at a given start index
238
+ * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
239
+ */ function $d7bdfb9eb0fdf311$var$wrapArray(array, startIndex) {
240
+ return array.map((_, index)=>array[(startIndex + index) % array.length]
241
+ );
242
+ }
243
+ const $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 = $d7bdfb9eb0fdf311$export$8699f7c8af148338;
244
+ const $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 = $d7bdfb9eb0fdf311$export$ab9df7c53fe8454;
245
+
246
+ /* -------------------------------------------------------------------------------------------------
247
+ * Tabs
248
+ * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TABS_NAME = 'Tabs';
249
+ const [$69cb30bb0017df05$var$createTabsContext, $69cb30bb0017df05$export$355f5bd209d7b13a] = index$1.$c512c27ab02ef895$export$50c7b4e9d9f19c1($69cb30bb0017df05$var$TABS_NAME, [
250
+ $d7bdfb9eb0fdf311$export$c7109489551a4f4
251
+ ]);
252
+ const $69cb30bb0017df05$var$useRovingFocusGroupScope = $d7bdfb9eb0fdf311$export$c7109489551a4f4();
253
+ const [$69cb30bb0017df05$var$TabsProvider, $69cb30bb0017df05$var$useTabsContext] = $69cb30bb0017df05$var$createTabsContext($69cb30bb0017df05$var$TABS_NAME);
254
+ const $69cb30bb0017df05$export$b2539bed5023c21c = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
255
+ const { __scopeTabs: __scopeTabs , value: valueProp , onValueChange: onValueChange , defaultValue: defaultValue , orientation: orientation = 'horizontal' , dir: dir , activationMode: activationMode = 'automatic' , ...tabsProps } = props;
256
+ const direction = $f631663db3294ace$export$b39126d51d94e6f3(dir);
257
+ const [value, setValue] = index$1.$71cd76cc60e0454e$export$6f32135080cb4c3({
258
+ prop: valueProp,
259
+ onChange: onValueChange,
260
+ defaultProp: defaultValue
261
+ });
262
+ return /*#__PURE__*/ React$2.createElement($69cb30bb0017df05$var$TabsProvider, {
263
+ scope: __scopeTabs,
264
+ baseId: index$2.$1746a345f3d73bb7$export$f680877a34711e37(),
265
+ value: value,
266
+ onValueChange: setValue,
267
+ orientation: orientation,
268
+ dir: direction,
269
+ activationMode: activationMode
270
+ }, /*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends._extends({
271
+ dir: direction,
272
+ "data-orientation": orientation
273
+ }, tabsProps, {
274
+ ref: forwardedRef
275
+ })));
276
+ });
277
+ /* -------------------------------------------------------------------------------------------------
278
+ * TabsList
279
+ * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TAB_LIST_NAME = 'TabsList';
280
+ const $69cb30bb0017df05$export$9712d22edc0d78c1 = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
281
+ const { __scopeTabs: __scopeTabs , loop: loop = true , ...listProps } = props;
282
+ const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TAB_LIST_NAME, __scopeTabs);
283
+ const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);
284
+ return /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9, _extends._extends({
285
+ asChild: true
286
+ }, rovingFocusGroupScope, {
287
+ orientation: context.orientation,
288
+ dir: context.dir,
289
+ loop: loop
290
+ }), /*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends._extends({
291
+ role: "tablist",
292
+ "aria-orientation": context.orientation
293
+ }, listProps, {
294
+ ref: forwardedRef
295
+ })));
296
+ });
297
+ /* -------------------------------------------------------------------------------------------------
298
+ * TabsTrigger
299
+ * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TRIGGER_NAME = 'TabsTrigger';
300
+ const $69cb30bb0017df05$export$8114b9fdfdf9f3ba = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
301
+ const { __scopeTabs: __scopeTabs , value: value , disabled: disabled = false , ...triggerProps } = props;
302
+ const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TRIGGER_NAME, __scopeTabs);
303
+ const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);
304
+ const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);
305
+ const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);
306
+ const isSelected = value === context.value;
307
+ return /*#__PURE__*/ React$2.createElement($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2, _extends._extends({
308
+ asChild: true
309
+ }, rovingFocusGroupScope, {
310
+ focusable: !disabled,
311
+ active: isSelected
312
+ }), /*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.button, _extends._extends({
313
+ type: "button",
314
+ role: "tab",
315
+ "aria-selected": isSelected,
316
+ "aria-controls": contentId,
317
+ "data-state": isSelected ? 'active' : 'inactive',
318
+ "data-disabled": disabled ? '' : undefined,
319
+ disabled: disabled,
320
+ id: triggerId
321
+ }, triggerProps, {
322
+ ref: forwardedRef,
323
+ onMouseDown: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, (event)=>{
324
+ // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
325
+ // but not when the control key is pressed (avoiding MacOS right click)
326
+ if (!disabled && event.button === 0 && event.ctrlKey === false) context.onValueChange(value);
327
+ else // prevent focus to avoid accidental activation
328
+ event.preventDefault();
329
+ }),
330
+ onKeyDown: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
331
+ if ([
332
+ ' ',
333
+ 'Enter'
334
+ ].includes(event.key)) context.onValueChange(value);
335
+ }),
336
+ onFocus: index$1.$e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, ()=>{
337
+ // handle "automatic" activation if necessary
338
+ // ie. activate tab following focus
339
+ const isAutomaticActivation = context.activationMode !== 'manual';
340
+ if (!isSelected && !disabled && isAutomaticActivation) context.onValueChange(value);
341
+ })
342
+ })));
343
+ });
344
+ /* -------------------------------------------------------------------------------------------------
345
+ * TabsContent
346
+ * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$CONTENT_NAME = 'TabsContent';
347
+ const $69cb30bb0017df05$export$bd905d70e8fd2ebb = /*#__PURE__*/ React$2.forwardRef((props, forwardedRef)=>{
348
+ const { __scopeTabs: __scopeTabs , value: value , forceMount: forceMount , children: children , ...contentProps } = props;
349
+ const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$CONTENT_NAME, __scopeTabs);
350
+ const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);
351
+ const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);
352
+ const isSelected = value === context.value;
353
+ const isMountAnimationPreventedRef = React$2.useRef(isSelected);
354
+ React$2.useEffect(()=>{
355
+ const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false
356
+ );
357
+ return ()=>cancelAnimationFrame(rAF)
358
+ ;
359
+ }, []);
360
+ return /*#__PURE__*/ React$2.createElement(index$1.$921a889cee6df7e8$export$99c2b779aa4e8b8b, {
361
+ present: forceMount || isSelected
362
+ }, ({ present: present })=>/*#__PURE__*/ React$2.createElement(index$1.$8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends._extends({
363
+ "data-state": isSelected ? 'active' : 'inactive',
364
+ "data-orientation": context.orientation,
365
+ role: "tabpanel",
366
+ "aria-labelledby": triggerId,
367
+ hidden: !present,
368
+ id: contentId,
369
+ tabIndex: 0
370
+ }, contentProps, {
371
+ ref: forwardedRef,
372
+ style: {
373
+ ...props.style,
374
+ animationDuration: isMountAnimationPreventedRef.current ? '0s' : undefined
375
+ }
376
+ }), present && children)
377
+ );
378
+ });
379
+ /* ---------------------------------------------------------------------------------------------- */ function $69cb30bb0017df05$var$makeTriggerId(baseId, value) {
380
+ return `${baseId}-trigger-${value}`;
381
+ }
382
+ function $69cb30bb0017df05$var$makeContentId(baseId, value) {
383
+ return `${baseId}-content-${value}`;
384
+ }
385
+ const $69cb30bb0017df05$export$be92b6f5f03c0fe9 = $69cb30bb0017df05$export$b2539bed5023c21c;
386
+ const $69cb30bb0017df05$export$54c2e3dc7acea9f5 = $69cb30bb0017df05$export$9712d22edc0d78c1;
387
+ const $69cb30bb0017df05$export$41fb9f06171c75f4 = $69cb30bb0017df05$export$8114b9fdfdf9f3ba;
388
+ const $69cb30bb0017df05$export$7c6e2c02157bb7d2 = $69cb30bb0017df05$export$bd905d70e8fd2ebb;
389
+
390
+ var Tab = function (_a) {
391
+ var label = _a.label, value = _a.value, icon = _a.icon, iconActive = _a.iconActive, props = filterDataAttrs.__rest(_a, ["label", "value", "icon", "iconActive"]);
392
+ var surface = React$2.useContext(Surface.Context).surface;
393
+ return (React__default["default"].createElement($69cb30bb0017df05$export$41fb9f06171c75f4, filterDataAttrs.__assign({ className: index$3.classNames("arc-Tab-trigger", {
394
+ "arc-Tab-trigger--onDarkSurface": surface === "dark",
395
+ "arc-Tab-trigger--hasIcon": icon || iconActive
396
+ }), value: value }, filterDataAttrs.filterDataAttrs(props)),
397
+ icon && (React__default["default"].createElement("div", { className: "arc-Tab-triggerIcon", "data-testid": "arc-Tab-TriggerIcon" },
398
+ React__default["default"].createElement(Icon.Icon, { icon: icon }))),
399
+ iconActive && (React__default["default"].createElement("div", { className: "arc-Tab-triggerIcon arc-Tab-triggerIcon--active", "data-testid": "arc-Tab-TriggerIconActive" },
400
+ React__default["default"].createElement(Icon.Icon, { icon: iconActive }))),
401
+ label));
402
+ };
403
+
404
+ var TabContent = function (_a) {
405
+ var children = _a.children, value = _a.value;
406
+ return (React__default["default"].createElement($69cb30bb0017df05$export$7c6e2c02157bb7d2, { className: "arc-Tab-content", value: value }, children));
407
+ };
408
+
409
+ const React$1 = React__default["default"];
410
+ const BtIconArrowRightFill = props =>
411
+ /*#__PURE__*/ React$1.createElement(
412
+ "svg",
413
+ Object.assign(
414
+ {
415
+ xmlns: "http://www.w3.org/2000/svg",
416
+ viewBox: "0 0 32 32"
417
+ },
418
+ props
419
+ ),
420
+ /*#__PURE__*/ React$1.createElement("defs", null),
421
+ /*#__PURE__*/ React$1.createElement("path", {
422
+ d:
423
+ "M2,16A14,14,0,1,0,16,2,14,14,0,0,0,2,16Zm16.85352-4.35352L23.207,16l-4.35351,4.35352a.5.5,0,0,1-.707-.707L21.293,16.5H9.5a.5.5,0,0,1,0-1H21.293l-3.14649-3.14648a.5.5,0,0,1,.707-.707Z",
424
+ fill: "currentColor"
425
+ })
426
+ );
427
+ var BtIconArrowRightFill_2 = BtIconArrowRightFill;
428
+
429
+ const React = React__default["default"];
430
+ const BtIconArrowLeftFill = props =>
431
+ /*#__PURE__*/ React.createElement(
432
+ "svg",
433
+ Object.assign(
434
+ {
435
+ xmlns: "http://www.w3.org/2000/svg",
436
+ viewBox: "0 0 32 32"
437
+ },
438
+ props
439
+ ),
440
+ /*#__PURE__*/ React.createElement("defs", null),
441
+ /*#__PURE__*/ React.createElement("path", {
442
+ d:
443
+ "M30,16A14,14,0,1,0,16,30,14,14,0,0,0,30,16ZM13.14648,20.35352,8.793,16l4.35351-4.35352a.5.5,0,0,1,.707.707L10.707,15.5H22.5a.5.5,0,0,1,0,1H10.707l3.14649,3.14648a.5.5,0,0,1-.707.707Z",
444
+ fill: "currentColor"
445
+ })
446
+ );
447
+ var BtIconArrowLeftFill_2 = BtIconArrowLeftFill;
448
+
449
+ var TabsList = function (_a) {
450
+ var children = _a.children, type = _a.type, isJustified = _a.isJustified, ariaLabel = _a.ariaLabel, props = filterDataAttrs.__rest(_a, ["children", "type", "isJustified", "ariaLabel"]);
451
+ var surface = React$2.useContext(Surface.Context).surface;
452
+ var tabsRef = React$2.useRef(null);
453
+ var _b = React$2.useState(false), rightOverflow = _b[0], setRightOverflow = _b[1];
454
+ var _c = React$2.useState(false), leftOverflow = _c[0], setLeftOverflow = _c[1];
455
+ var checkOverflow = function (element) {
456
+ if (element) {
457
+ if (element.scrollWidth > element.clientWidth) {
458
+ setRightOverflow(true);
459
+ }
460
+ if (element.scrollLeft + 10 >=
461
+ element.scrollWidth - element.clientWidth) {
462
+ setRightOverflow(false);
463
+ }
464
+ if (element.scrollLeft >= 1) {
465
+ setLeftOverflow(true);
466
+ }
467
+ else {
468
+ setLeftOverflow(false);
469
+ }
470
+ }
471
+ };
472
+ React$2.useEffect(function () {
473
+ checkOverflow(tabsRef.current);
474
+ }, []);
475
+ var scrollTabs = function (scrollAmount) {
476
+ if (tabsRef.current) {
477
+ tabsRef.current.scrollLeft += scrollAmount;
478
+ }
479
+ };
480
+ var onScroll = function (event) {
481
+ checkOverflow(event.currentTarget);
482
+ };
483
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
484
+ React__default["default"].createElement($69cb30bb0017df05$export$54c2e3dc7acea9f5, filterDataAttrs.__assign({ onScroll: onScroll, className: index$3.classNames("arc-Tabs", {
485
+ "arc-Tabs--contained": type === "contained",
486
+ "arc-Tabs--isJustified": isJustified,
487
+ "arc-Tabs--onDarkSurface": surface === "dark"
488
+ }), ref: tabsRef, "aria-label": ariaLabel }, filterDataAttrs.filterDataAttrs(props)), children),
489
+ leftOverflow && (React__default["default"].createElement("button", { className: index$3.classNames("arc-Tabs-overflowIcon arc-Tabs-overflowIcon--left", {
490
+ "arc-Tabs-overflowIcon--onDarkSurface": surface === "dark"
491
+ }), onClick: function () { return scrollTabs(-300); }, "aria-label": "Scroll Tabs Left", "data-testid": "arc-Tabs-overflowIconLeft" },
492
+ React__default["default"].createElement(Icon.Icon, { icon: BtIconArrowLeftFill_2, size: 40, color: "brand" }))),
493
+ rightOverflow && (React__default["default"].createElement("button", { className: index$3.classNames("arc-Tabs-overflowIcon", {
494
+ "arc-Tabs-overflowIcon--onDarkSurface": surface === "dark"
495
+ }), onClick: function () { return scrollTabs(300); }, "aria-label": "Scroll Tabs Right", "data-testid": "arc-Tabs-overflowIconRight" },
496
+ React__default["default"].createElement(Icon.Icon, { icon: BtIconArrowRightFill_2, size: 40, color: "brand" })))));
497
+ };
498
+
499
+ var Tabs = function (_a) {
500
+ var children = _a.children, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, activationMode = _a.activationMode, props = filterDataAttrs.__rest(_a, ["children", "defaultValue", "onValueChange", "activationMode"]);
501
+ return (React__default["default"].createElement($69cb30bb0017df05$export$be92b6f5f03c0fe9, filterDataAttrs.__assign({ className: "arc-Tabs-root", defaultValue: defaultValue, onValueChange: onValueChange, activationMode: activationMode }, filterDataAttrs.filterDataAttrs(props)), children));
502
+ };
503
+ Tab.displayName = "Tabs.Tab";
504
+ TabsList.displayName = "Tabs.List";
505
+ TabContent.displayName = "Tabs.Content";
506
+ Tabs.Tab = Tab;
507
+ Tabs.List = TabsList;
508
+ Tabs.Content = TabContent;
509
+
510
+ exports.Tabs = Tabs;
@@ -30,5 +30,9 @@ interface TextProps {
30
30
  * Visual emphasis of the Text.
31
31
  */
32
32
  tone?: Tone;
33
+ /**
34
+ * Id for the Text.
35
+ */
36
+ id?: string;
33
37
  }
34
38
  export { Text, Tone, TextSize, TextProps };
@@ -15,9 +15,9 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
  */
16
16
  var Text = function (_a) {
17
17
  var _b;
18
- var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = filterDataAttrs.__rest(_a, ["align", "children", "isInline", "isMeasured", "size", "tone"]);
18
+ var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, id = _a.id, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = filterDataAttrs.__rest(_a, ["align", "children", "id", "isInline", "isMeasured", "size", "tone"]);
19
19
  var surface = React.useContext(Surface.Context).surface;
20
- return (React__default["default"].createElement("span", filterDataAttrs.__assign({ className: index.classNames((_b = {
20
+ return (React__default["default"].createElement("span", filterDataAttrs.__assign({ id: id, className: index.classNames((_b = {
21
21
  "arc-Text": true
22
22
  },
23
23
  _b[suffixModifier.suffixModifier("arc-Text--align", align)] = align !== "left",
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
3
  import { FC } from "react";
4
- import { FormControlProps } from "./FormControl-78b007b7";
4
+ import { FormControlProps } from "./FormControl-1e1bf2bf";
5
5
  type EventType = React.ChangeEvent<HTMLInputElement>;
6
6
  /**
7
7
  * Use `TextInput` to allow custom user text entry with a keyboard.
@@ -11,6 +11,8 @@ interface TextInputProps extends Omit<FormControlProps, "children" | "elementTyp
11
11
  /**
12
12
  * Uncontrolled default value of the TextInput. If the TextInput is controlled
13
13
  * via `value`/`onChange`, `defaultValue` will be ignored.
14
+ *
15
+ * `defaultValue` is not to be used instead of helper text.
14
16
  */
15
17
  defaultValue?: string;
16
18
  /**