@arc-ui/components 11.4.2 → 11.6.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 (341) hide show
  1. package/dist/Alert/Alert.cjs.d.ts +57 -0
  2. package/dist/Alert/Alert.cjs.js +142 -0
  3. package/dist/Alert/Alert.esm.d.ts +57 -0
  4. package/dist/Alert/Alert.esm.js +134 -0
  5. package/dist/Alert/package.json +7 -0
  6. package/dist/Align/Align.cjs.js +6 -6
  7. package/dist/Align/Align.esm.js +2 -2
  8. package/dist/Badge/Badge.cjs.js +7 -7
  9. package/dist/Badge/Badge.esm.js +4 -4
  10. package/dist/Base/Base.cjs.d.ts +1 -1
  11. package/dist/Base/Base.cjs.js +2 -2
  12. package/dist/Base/Base.esm.d.ts +1 -1
  13. package/dist/Base/Base.esm.js +2 -2
  14. package/dist/BrandLogo/BrandLogo.cjs.d.ts +1 -1
  15. package/dist/BrandLogo/BrandLogo.cjs.js +4 -4
  16. package/dist/BrandLogo/BrandLogo.esm.d.ts +1 -1
  17. package/dist/BrandLogo/BrandLogo.esm.js +4 -4
  18. package/dist/Breadcrumbs/Breadcrumbs.cjs.d.ts +1 -61
  19. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +11 -643
  20. package/dist/Breadcrumbs/Breadcrumbs.esm.d.ts +1 -61
  21. package/dist/Breadcrumbs/Breadcrumbs.esm.js +10 -642
  22. package/dist/Button/Button.cjs.d.ts +1 -1
  23. package/dist/Button/Button.cjs.js +6 -5
  24. package/dist/Button/Button.esm.d.ts +1 -1
  25. package/dist/Button/Button.esm.js +6 -5
  26. package/dist/Card/Card.cjs.d.ts +1 -130
  27. package/dist/Card/Card.cjs.js +12 -119
  28. package/dist/Card/Card.esm.d.ts +1 -130
  29. package/dist/Card/Card.esm.js +11 -118
  30. package/dist/Checkbox/Checkbox.cjs.d.ts +1 -59
  31. package/dist/Checkbox/Checkbox.cjs.js +13 -55
  32. package/dist/Checkbox/Checkbox.esm.d.ts +1 -59
  33. package/dist/Checkbox/Checkbox.esm.js +12 -54
  34. package/dist/Clock/Clock.cjs.js +6 -6
  35. package/dist/Clock/Clock.esm.js +1 -1
  36. package/dist/Columns/Columns.cjs.d.ts +1 -76
  37. package/dist/Columns/Columns.cjs.js +6 -52
  38. package/dist/Columns/Columns.esm.d.ts +1 -76
  39. package/dist/Columns/Columns.esm.js +5 -51
  40. package/dist/Curve/Curve.cjs.d.ts +1 -1
  41. package/dist/Curve/Curve.cjs.js +3 -3
  42. package/dist/Curve/Curve.esm.d.ts +1 -1
  43. package/dist/Curve/Curve.esm.js +3 -3
  44. package/dist/Disclosure/Disclosure.cjs.d.ts +1 -1
  45. package/dist/Disclosure/Disclosure.cjs.js +8 -8
  46. package/dist/Disclosure/Disclosure.esm.d.ts +1 -1
  47. package/dist/Disclosure/Disclosure.esm.js +4 -4
  48. package/dist/DisclosureMini/DisclosureMini.cjs.d.ts +1 -0
  49. package/dist/DisclosureMini/DisclosureMini.cjs.js +16 -0
  50. package/dist/DisclosureMini/DisclosureMini.esm.d.ts +1 -0
  51. package/dist/DisclosureMini/DisclosureMini.esm.js +8 -0
  52. package/dist/DisclosureMini/package.json +7 -0
  53. package/dist/Elevation/Elevation.cjs.d.ts +4 -0
  54. package/dist/Elevation/Elevation.cjs.js +7 -5
  55. package/dist/Elevation/Elevation.esm.d.ts +4 -0
  56. package/dist/Elevation/Elevation.esm.js +4 -2
  57. package/dist/Filter/Filter.cjs.d.ts +1 -0
  58. package/dist/Filter/Filter.cjs.js +13 -0
  59. package/dist/Filter/Filter.esm.d.ts +1 -0
  60. package/dist/Filter/Filter.esm.js +5 -0
  61. package/dist/Filter/package.json +7 -0
  62. package/dist/FormControl/FormControl.cjs.d.ts +1 -1
  63. package/dist/FormControl/FormControl.cjs.js +8 -6
  64. package/dist/FormControl/FormControl.esm.d.ts +1 -1
  65. package/dist/FormControl/FormControl.esm.js +8 -6
  66. package/dist/Group/Group.cjs.d.ts +1 -46
  67. package/dist/Group/Group.cjs.js +6 -43
  68. package/dist/Group/Group.esm.d.ts +1 -46
  69. package/dist/Group/Group.esm.js +5 -42
  70. package/dist/Heading/Heading.cjs.d.ts +1 -1
  71. package/dist/Heading/Heading.cjs.js +4 -4
  72. package/dist/Heading/Heading.esm.d.ts +1 -1
  73. package/dist/Heading/Heading.esm.js +4 -4
  74. package/dist/Icon/Icon.cjs.d.ts +1 -1
  75. package/dist/Icon/Icon.cjs.js +4 -4
  76. package/dist/Icon/Icon.esm.d.ts +1 -1
  77. package/dist/Icon/Icon.esm.js +4 -4
  78. package/dist/Image/Image.cjs.d.ts +1 -1
  79. package/dist/Image/Image.cjs.js +3 -3
  80. package/dist/Image/Image.esm.d.ts +1 -1
  81. package/dist/Image/Image.esm.js +3 -3
  82. package/dist/Markup/Markup.cjs.js +6 -6
  83. package/dist/Markup/Markup.esm.js +2 -2
  84. package/dist/Pagination/Pagination.cjs.d.ts +20 -0
  85. package/dist/Pagination/Pagination.cjs.js +87 -0
  86. package/dist/Pagination/Pagination.esm.d.ts +20 -0
  87. package/dist/Pagination/Pagination.esm.js +79 -0
  88. package/dist/Pagination/package.json +7 -0
  89. package/dist/PaginationSimple/PaginationSimple.cjs.d.ts +28 -0
  90. package/dist/PaginationSimple/PaginationSimple.cjs.js +47 -0
  91. package/dist/PaginationSimple/PaginationSimple.esm.d.ts +28 -0
  92. package/dist/PaginationSimple/PaginationSimple.esm.js +39 -0
  93. package/dist/PaginationSimple/package.json +7 -0
  94. package/dist/Poster/Poster.cjs.d.ts +1 -81
  95. package/dist/Poster/Poster.cjs.js +8 -45
  96. package/dist/Poster/Poster.esm.d.ts +1 -81
  97. package/dist/Poster/Poster.esm.js +7 -44
  98. package/dist/ProgressBar/ProgressBar.cjs.js +22 -41
  99. package/dist/ProgressBar/ProgressBar.esm.js +13 -32
  100. package/dist/RadioGroup/RadioGroup.cjs.d.ts +1 -85
  101. package/dist/RadioGroup/RadioGroup.cjs.js +12 -68
  102. package/dist/RadioGroup/RadioGroup.esm.d.ts +1 -85
  103. package/dist/RadioGroup/RadioGroup.esm.js +11 -67
  104. package/dist/Rule/Rule.cjs.js +5 -5
  105. package/dist/Rule/Rule.esm.js +2 -2
  106. package/dist/ScrollToTop/ScrollToTop.cjs.d.ts +25 -0
  107. package/dist/ScrollToTop/ScrollToTop.cjs.js +68 -0
  108. package/dist/ScrollToTop/ScrollToTop.esm.d.ts +25 -0
  109. package/dist/ScrollToTop/ScrollToTop.esm.js +60 -0
  110. package/dist/ScrollToTop/package.json +7 -0
  111. package/dist/Section/Section.cjs.d.ts +1 -1
  112. package/dist/Section/Section.cjs.js +2 -2
  113. package/dist/Section/Section.esm.d.ts +1 -1
  114. package/dist/Section/Section.esm.js +2 -2
  115. package/dist/Select/Select.cjs.d.ts +2 -2
  116. package/dist/Select/Select.cjs.js +9 -8
  117. package/dist/Select/Select.esm.d.ts +2 -2
  118. package/dist/Select/Select.esm.js +9 -8
  119. package/dist/SiteFooter/SiteFooter.cjs.d.ts +2 -62
  120. package/dist/SiteFooter/SiteFooter.cjs.js +14 -69
  121. package/dist/SiteFooter/SiteFooter.esm.d.ts +2 -62
  122. package/dist/SiteFooter/SiteFooter.esm.js +13 -67
  123. package/dist/SiteHeader/SiteHeader.cjs.d.ts +2 -252
  124. package/dist/SiteHeader/SiteHeader.cjs.js +17 -661
  125. package/dist/SiteHeader/SiteHeader.esm.d.ts +2 -252
  126. package/dist/SiteHeader/SiteHeader.esm.js +15 -659
  127. package/dist/Surface/Surface.cjs.d.ts +1 -1
  128. package/dist/Surface/Surface.cjs.js +2 -2
  129. package/dist/Surface/Surface.esm.d.ts +1 -1
  130. package/dist/Surface/Surface.esm.js +2 -2
  131. package/dist/Switch/Switch.cjs.d.ts +2 -2
  132. package/dist/Switch/Switch.cjs.js +10 -8
  133. package/dist/Switch/Switch.esm.d.ts +2 -2
  134. package/dist/Switch/Switch.esm.js +10 -8
  135. package/dist/Tag/Tag.cjs.js +39 -18
  136. package/dist/Tag/Tag.esm.js +31 -10
  137. package/dist/Text/Text.cjs.d.ts +1 -1
  138. package/dist/Text/Text.cjs.js +4 -4
  139. package/dist/Text/Text.esm.d.ts +1 -1
  140. package/dist/Text/Text.esm.js +4 -4
  141. package/dist/TextArea/TextArea.cjs.d.ts +61 -0
  142. package/dist/TextArea/TextArea.cjs.js +87 -0
  143. package/dist/TextArea/TextArea.esm.d.ts +61 -0
  144. package/dist/TextArea/TextArea.esm.js +79 -0
  145. package/dist/TextArea/package.json +7 -0
  146. package/dist/TextInput/TextInput.cjs.d.ts +1 -75
  147. package/dist/TextInput/TextInput.cjs.js +13 -76
  148. package/dist/TextInput/TextInput.esm.d.ts +1 -75
  149. package/dist/TextInput/TextInput.esm.js +12 -75
  150. package/dist/UniversalHeader/UniversalHeader.cjs.d.ts +1 -26
  151. package/dist/UniversalHeader/UniversalHeader.cjs.js +5 -30
  152. package/dist/UniversalHeader/UniversalHeader.esm.d.ts +1 -26
  153. package/dist/UniversalHeader/UniversalHeader.esm.js +4 -29
  154. package/dist/VerticalSpace/VerticalSpace.cjs.d.ts +1 -1
  155. package/dist/VerticalSpace/VerticalSpace.cjs.js +2 -2
  156. package/dist/VerticalSpace/VerticalSpace.esm.d.ts +1 -1
  157. package/dist/VerticalSpace/VerticalSpace.esm.js +2 -2
  158. package/dist/_shared/cjs/{Base-e2b846fe.js → Base-569e4334.js} +3 -3
  159. package/dist/_shared/cjs/{BrandLogo-3c6102ef.js → BrandLogo-8008f0c4.js} +7 -7
  160. package/dist/_shared/cjs/Breadcrumbs-8b554370.d.ts +61 -0
  161. package/dist/_shared/cjs/Breadcrumbs-8b554370.js +106 -0
  162. package/dist/_shared/cjs/BtIconAlert-637db790.js +38 -0
  163. package/dist/_shared/cjs/BtIconChevronLeftMid-df952a3e.js +31 -0
  164. package/dist/_shared/cjs/BtIconCrossAlt2Px-30dc2688.js +29 -0
  165. package/dist/_shared/cjs/{Button-1af6868c.js → Button-27512fee.js} +16 -37
  166. package/dist/_shared/cjs/Card-804ab0e5.d.ts +136 -0
  167. package/dist/_shared/cjs/Card-804ab0e5.js +124 -0
  168. package/dist/_shared/cjs/Checkbox-21d3c4f6.d.ts +64 -0
  169. package/dist/_shared/cjs/Checkbox-21d3c4f6.js +62 -0
  170. package/dist/_shared/cjs/Columns-e90798f8.d.ts +76 -0
  171. package/dist/_shared/cjs/Columns-e90798f8.js +57 -0
  172. package/dist/_shared/cjs/{Curve-e72ce25b.js → Curve-b05589d8.js} +6 -6
  173. package/dist/_shared/cjs/DisclosureMini-067e0319.d.ts +37 -0
  174. package/dist/_shared/cjs/DisclosureMini-067e0319.js +44 -0
  175. package/dist/_shared/cjs/Filter-f7d2fbda.d.ts +83 -0
  176. package/dist/_shared/cjs/Filter-f7d2fbda.js +121 -0
  177. package/dist/_shared/cjs/{FormControl-d4d9c665.d.ts → FormControl-9aaddd54.d.ts} +6 -29
  178. package/dist/_shared/cjs/FormControl-9aaddd54.js +96 -0
  179. package/dist/_shared/cjs/Group-d83f8c2e.d.ts +46 -0
  180. package/dist/_shared/cjs/Group-d83f8c2e.js +48 -0
  181. package/dist/_shared/cjs/{Heading-cc38c3ec.js → Heading-d45f6a7f.js} +7 -7
  182. package/dist/_shared/cjs/{Icon-719d13d4.js → Icon-9ae8dbe1.js} +7 -7
  183. package/dist/_shared/cjs/{Image-fe760a06.js → Image-3bf4b4f3.js} +8 -8
  184. package/dist/_shared/cjs/ItemGroup-5af4d600.d.ts +27 -0
  185. package/dist/_shared/cjs/NavItem-df20237c.d.ts +43 -0
  186. package/dist/_shared/cjs/NavItemWithSubNav-65f21828.d.ts +49 -0
  187. package/dist/_shared/cjs/Poster-e05bbe13.d.ts +81 -0
  188. package/dist/_shared/cjs/Poster-e05bbe13.js +50 -0
  189. package/dist/_shared/cjs/RadioGroup-81805ef9.d.ts +97 -0
  190. package/dist/_shared/cjs/RadioGroup-81805ef9.js +70 -0
  191. package/dist/_shared/cjs/{Section-780f2377.js → Section-48aca5f5.js} +5 -5
  192. package/dist/_shared/cjs/SiteFooter-c540b5f1.d.ts +62 -0
  193. package/dist/_shared/cjs/SiteFooter-c540b5f1.js +73 -0
  194. package/dist/_shared/cjs/SiteHeader-c25ee36e.d.ts +78 -0
  195. package/dist/_shared/cjs/SiteHeader.rehydrator-f7fa2efe.d.ts +78 -0
  196. package/dist/_shared/cjs/SiteHeader.rehydrator-f7fa2efe.js +673 -0
  197. package/dist/_shared/cjs/SubNavItem-a84d1bf4.d.ts +48 -0
  198. package/dist/_shared/cjs/{Surface-d6b8010e.js → Surface-6da0a78e.js} +8 -8
  199. package/dist/_shared/cjs/{Text-1d3844be.js → Text-6f2827e6.js} +7 -7
  200. package/dist/_shared/cjs/TextInput-33314fc4.d.ts +10 -0
  201. package/dist/_shared/cjs/TextInput-33314fc4.js +78 -0
  202. package/dist/_shared/cjs/TextInput-7ed03a48.d.ts +75 -0
  203. package/dist/_shared/cjs/UniversalHeader-cc1d9e5a.d.ts +26 -0
  204. package/dist/_shared/cjs/UniversalHeader-cc1d9e5a.js +35 -0
  205. package/dist/_shared/cjs/{VerticalSpace-7aed88ab.js → VerticalSpace-86f697e7.js} +5 -5
  206. package/dist/_shared/cjs/debounce-506538c5.js +544 -0
  207. package/dist/_shared/cjs/{index-78b35bc1.js → filter-data-attrs-a30dcf5f.js} +12 -12
  208. package/dist/_shared/cjs/index-699086a7.d.ts +2 -0
  209. package/dist/_shared/cjs/index-74488a9f.d.ts +2 -0
  210. package/dist/_shared/cjs/index-9483ad5f.d.ts +2 -2
  211. package/dist/_shared/cjs/index-c81c9401.d.ts +3 -3
  212. package/dist/_shared/cjs/index-e340924e.d.ts +2 -0
  213. package/dist/_shared/cjs/index-e6d20018.d.ts +3 -0
  214. package/dist/_shared/cjs/index-eb06f640.d.ts +2 -0
  215. package/dist/_shared/cjs/index-f419cf04.d.ts +2 -0
  216. package/dist/_shared/cjs/{suffix-modifier-edf7851e.js → suffix-modifier-1ee2da04.js} +2 -2
  217. package/dist/_shared/esm/{Base-c235dc45.js → Base-6c01e0ec.js} +1 -1
  218. package/dist/_shared/esm/{BrandLogo-4f13fe85.js → BrandLogo-56699561.js} +3 -3
  219. package/dist/_shared/esm/Breadcrumbs-04590057.d.ts +61 -0
  220. package/dist/_shared/esm/Breadcrumbs-04590057.js +100 -0
  221. package/dist/_shared/esm/BtIconAlert-55a6ed5c.js +32 -0
  222. package/dist/_shared/esm/BtIconChevronLeftMid-9f4f3a3d.js +25 -0
  223. package/dist/_shared/esm/BtIconCrossAlt2Px-a6a9f431.js +23 -0
  224. package/dist/_shared/esm/{Button-10700df4.js → Button-d319fa11.js} +6 -27
  225. package/dist/_shared/esm/Card-e79eb6c8.d.ts +136 -0
  226. package/dist/_shared/esm/Card-e79eb6c8.js +118 -0
  227. package/dist/_shared/esm/Checkbox-94300d8c.d.ts +64 -0
  228. package/dist/_shared/esm/Checkbox-94300d8c.js +56 -0
  229. package/dist/_shared/esm/Columns-8704515b.d.ts +76 -0
  230. package/dist/_shared/esm/Columns-8704515b.js +51 -0
  231. package/dist/_shared/esm/{Curve-50697f7e.js → Curve-3e87b1bc.js} +2 -2
  232. package/dist/_shared/esm/DisclosureMini-022beae3.d.ts +37 -0
  233. package/dist/_shared/esm/DisclosureMini-022beae3.js +38 -0
  234. package/dist/_shared/esm/Filter-41b391e3.d.ts +83 -0
  235. package/dist/_shared/esm/Filter-41b391e3.js +115 -0
  236. package/dist/_shared/esm/{FormControl-2cb96de7.d.ts → FormControl-5e3fdca3.d.ts} +6 -29
  237. package/dist/_shared/esm/FormControl-5e3fdca3.js +88 -0
  238. package/dist/_shared/esm/Group-d62c3f56.d.ts +46 -0
  239. package/dist/_shared/esm/Group-d62c3f56.js +42 -0
  240. package/dist/_shared/esm/{Heading-eb1e42db.js → Heading-b61432fb.js} +3 -3
  241. package/dist/_shared/esm/{Icon-61f7237a.js → Icon-fd247973.js} +3 -3
  242. package/dist/_shared/esm/{Image-c0f3d42f.js → Image-3596ce55.js} +2 -2
  243. package/dist/_shared/esm/ItemGroup-5af4d600.d.ts +27 -0
  244. package/dist/_shared/esm/NavItem-df20237c.d.ts +43 -0
  245. package/dist/_shared/esm/NavItemWithSubNav-65f21828.d.ts +49 -0
  246. package/dist/_shared/esm/Poster-107d6954.d.ts +81 -0
  247. package/dist/_shared/esm/Poster-107d6954.js +44 -0
  248. package/dist/_shared/esm/RadioGroup-1fd0f389.d.ts +97 -0
  249. package/dist/_shared/esm/RadioGroup-1fd0f389.js +64 -0
  250. package/dist/_shared/esm/{Section-7bc71e26.js → Section-b8038d66.js} +1 -1
  251. package/dist/_shared/esm/SiteFooter-8075a9bd.d.ts +62 -0
  252. package/dist/_shared/esm/SiteFooter-8075a9bd.js +67 -0
  253. package/dist/_shared/esm/SiteHeader-c25ee36e.d.ts +78 -0
  254. package/dist/_shared/esm/SiteHeader.rehydrator-4da8ac64.d.ts +78 -0
  255. package/dist/_shared/esm/SiteHeader.rehydrator-4da8ac64.js +666 -0
  256. package/dist/_shared/esm/SubNavItem-a84d1bf4.d.ts +48 -0
  257. package/dist/_shared/esm/{Surface-bf201530.js → Surface-bb100ef8.js} +1 -1
  258. package/dist/_shared/esm/{Text-6b958ad8.js → Text-00e9743b.js} +3 -3
  259. package/dist/_shared/esm/TextInput-1631dbc4.d.ts +10 -0
  260. package/dist/_shared/esm/TextInput-1631dbc4.js +72 -0
  261. package/dist/_shared/esm/TextInput-7ed03a48.d.ts +75 -0
  262. package/dist/_shared/esm/UniversalHeader-7926abde.d.ts +26 -0
  263. package/dist/_shared/esm/UniversalHeader-7926abde.js +29 -0
  264. package/dist/_shared/esm/{VerticalSpace-3579b20e.js → VerticalSpace-93980c9c.js} +1 -1
  265. package/dist/_shared/esm/debounce-e228705f.js +542 -0
  266. package/dist/_shared/esm/{index-229fc864.js → filter-data-attrs-afdb7d32.js} +12 -12
  267. package/dist/_shared/esm/index-699086a7.d.ts +2 -0
  268. package/dist/_shared/esm/index-74488a9f.d.ts +2 -0
  269. package/dist/_shared/esm/index-9483ad5f.d.ts +2 -2
  270. package/dist/_shared/esm/index-c81c9401.d.ts +3 -3
  271. package/dist/_shared/esm/index-e340924e.d.ts +2 -0
  272. package/dist/_shared/esm/index-e6d20018.d.ts +3 -0
  273. package/dist/_shared/esm/index-eb06f640.d.ts +2 -0
  274. package/dist/_shared/esm/index-f419cf04.d.ts +2 -0
  275. package/dist/_shared/esm/{suffix-modifier-f5e28822.js → suffix-modifier-7e640670.js} +1 -1
  276. package/dist/index.es.js +304 -113
  277. package/dist/index.es.js.map +1 -1
  278. package/dist/index.js +534 -341
  279. package/dist/index.js.map +1 -1
  280. package/dist/styles.css +1 -1
  281. package/dist/types/components/Alert/Alert.d.ts +56 -0
  282. package/dist/types/components/Alert/index.d.ts +1 -0
  283. package/dist/types/components/Checkbox/Checkbox.d.ts +6 -1
  284. package/dist/types/components/DisclosureMini/DisclosureMini.d.ts +36 -0
  285. package/dist/types/components/DisclosureMini/index.d.ts +1 -0
  286. package/dist/types/components/Elevation/Elevation.d.ts +4 -0
  287. package/dist/types/components/Filter/Filter.d.ts +38 -0
  288. package/dist/types/components/Filter/FilterControls/FilterControl/FilterControl.d.ts +16 -0
  289. package/dist/types/components/Filter/FilterControls/FilterControls.d.ts +12 -0
  290. package/dist/types/components/Filter/FilterItems/FilterItem/FilterItem.d.ts +12 -0
  291. package/dist/types/components/Filter/FilterItems/FilterItems.d.ts +12 -0
  292. package/dist/types/components/Filter/index.d.ts +1 -0
  293. package/dist/types/components/FormControl/FormControl.d.ts +4 -0
  294. package/dist/types/components/Pagination/Pagination.d.ts +19 -0
  295. package/dist/types/components/Pagination/index.d.ts +1 -0
  296. package/dist/types/components/PaginationSimple/PaginationSimple.d.ts +27 -0
  297. package/dist/types/components/PaginationSimple/index.d.ts +1 -0
  298. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  299. package/dist/types/components/ScrollToTop/ScrollToTop.d.ts +24 -0
  300. package/dist/types/components/ScrollToTop/index.d.ts +1 -0
  301. package/dist/types/components/Select/Select.d.ts +1 -1
  302. package/dist/types/components/SiteHeader/SiteHeader.d.ts +2 -0
  303. package/dist/types/components/SiteHeader/components/NodeItem/NodeItem.d.ts +8 -0
  304. package/dist/types/components/Switch/Switch.d.ts +1 -1
  305. package/dist/types/components/TextArea/TextArea.d.ts +60 -0
  306. package/dist/types/components/TextArea/index.d.ts +1 -0
  307. package/dist/types/components/TextInput/TextInput.d.ts +1 -1
  308. package/dist/types/components/index.d.ts +2 -0
  309. package/dist/types/hooks/use-pagination.d.ts +1 -0
  310. package/dist/types/styles.d.ts +10 -4
  311. package/package.json +4 -4
  312. package/dist/_shared/cjs/FormControl-d4d9c665.js +0 -148
  313. package/dist/_shared/esm/FormControl-2cb96de7.js +0 -139
  314. package/dist/types/components/FormControl/FormControlDisclosure/FormControlDisclosure.d.ts +0 -28
  315. package/dist/types/components/FormControl/FormControlDisclosure/index.d.ts +0 -1
  316. /package/dist/_shared/cjs/{Base-e2b846fe.d.ts → Base-569e4334.d.ts} +0 -0
  317. /package/dist/_shared/cjs/{BrandLogo-3c6102ef.d.ts → BrandLogo-8008f0c4.d.ts} +0 -0
  318. /package/dist/_shared/cjs/{Button-1af6868c.d.ts → Button-27512fee.d.ts} +0 -0
  319. /package/dist/_shared/cjs/{Curve-e72ce25b.d.ts → Curve-b05589d8.d.ts} +0 -0
  320. /package/dist/_shared/cjs/{Heading-cc38c3ec.d.ts → Heading-d45f6a7f.d.ts} +0 -0
  321. /package/dist/_shared/cjs/{Icon-719d13d4.d.ts → Icon-9ae8dbe1.d.ts} +0 -0
  322. /package/dist/_shared/cjs/{Image-fe760a06.d.ts → Image-3bf4b4f3.d.ts} +0 -0
  323. /package/dist/_shared/cjs/{Section-780f2377.d.ts → Section-48aca5f5.d.ts} +0 -0
  324. /package/dist/_shared/cjs/{Surface-d6b8010e.d.ts → Surface-6da0a78e.d.ts} +0 -0
  325. /package/dist/_shared/cjs/{Text-1d3844be.d.ts → Text-6f2827e6.d.ts} +0 -0
  326. /package/dist/_shared/cjs/{VerticalSpace-7aed88ab.d.ts → VerticalSpace-86f697e7.d.ts} +0 -0
  327. /package/dist/_shared/cjs/{index-78b35bc1.d.ts → filter-data-attrs-a30dcf5f.d.ts} +0 -0
  328. /package/dist/_shared/cjs/{suffix-modifier-edf7851e.d.ts → suffix-modifier-1ee2da04.d.ts} +0 -0
  329. /package/dist/_shared/esm/{Base-c235dc45.d.ts → Base-6c01e0ec.d.ts} +0 -0
  330. /package/dist/_shared/esm/{BrandLogo-4f13fe85.d.ts → BrandLogo-56699561.d.ts} +0 -0
  331. /package/dist/_shared/esm/{Button-10700df4.d.ts → Button-d319fa11.d.ts} +0 -0
  332. /package/dist/_shared/esm/{Curve-50697f7e.d.ts → Curve-3e87b1bc.d.ts} +0 -0
  333. /package/dist/_shared/esm/{Heading-eb1e42db.d.ts → Heading-b61432fb.d.ts} +0 -0
  334. /package/dist/_shared/esm/{Icon-61f7237a.d.ts → Icon-fd247973.d.ts} +0 -0
  335. /package/dist/_shared/esm/{Image-c0f3d42f.d.ts → Image-3596ce55.d.ts} +0 -0
  336. /package/dist/_shared/esm/{Section-7bc71e26.d.ts → Section-b8038d66.d.ts} +0 -0
  337. /package/dist/_shared/esm/{Surface-bf201530.d.ts → Surface-bb100ef8.d.ts} +0 -0
  338. /package/dist/_shared/esm/{Text-6b958ad8.d.ts → Text-00e9743b.d.ts} +0 -0
  339. /package/dist/_shared/esm/{VerticalSpace-3579b20e.d.ts → VerticalSpace-93980c9c.d.ts} +0 -0
  340. /package/dist/_shared/esm/{index-229fc864.d.ts → filter-data-attrs-afdb7d32.d.ts} +0 -0
  341. /package/dist/_shared/esm/{suffix-modifier-f5e28822.d.ts → suffix-modifier-7e640670.d.ts} +0 -0
@@ -0,0 +1,673 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var React = require('react');
5
+ var index = require('./index-45bfb67b.js');
6
+ var index_es = require('./index.es-77def0c9.js');
7
+ var BtIconChevronDown2Px = require('./BtIconChevronDown2Px-8fb4e2eb.js');
8
+ var handleLinkClick = require('./handle-link-click-17a44cf4.js');
9
+ var BtIconChevronRight2Px = require('./BtIconChevronRight2Px-a8e40136.js');
10
+ var Surface = require('./Surface-6da0a78e.js');
11
+ var BrandLogo = require('./BrandLogo-8008f0c4.js');
12
+ var Button = require('./Button-27512fee.js');
13
+ var suffixModifier = require('./suffix-modifier-1ee2da04.js');
14
+ var Text = require('./Text-6f2827e6.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
+
20
+ var Item = function (_a) {
21
+ var _b;
22
+ var children = _a.children, href = _a.href, isEmphasised = _a.isEmphasised, onClick = _a.onClick, props = filterDataAttrs.__rest(_a, ["children", "href", "isEmphasised", "onClick"]);
23
+ return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: index.classNames((_b = {},
24
+ _b["arc-SiteHeaderItem"] = true,
25
+ _b["arc-SiteHeaderItem--emphasised"] = isEmphasised,
26
+ _b)) }, filterDataAttrs.filterDataAttrs(props)),
27
+ React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderItem-link", href: href },
28
+ isEmphasised && (React__default["default"].createElement("span", { className: "arc-SiteHeaderItem-linkIcon" },
29
+ React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronRight2Px_2, null))),
30
+ children)));
31
+ };
32
+
33
+ var ItemGroup = function (_a) {
34
+ var children = _a.children, href = _a.href, title = _a.title, onClick = _a.onClick, viewAllTitle = _a.viewAllTitle, props = filterDataAttrs.__rest(_a, ["children", "href", "title", "onClick", "viewAllTitle"]);
35
+ var _b = React.useState(false), hasClientSideJavaScript = _b[0], setHasClientSideJavaScript = _b[1];
36
+ var isMinWidthArcBreakpointL = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointL, "px)"));
37
+ React.useEffect(function () {
38
+ React__default["default"].Children.map(children, function (item) {
39
+ if (item && item.type !== Item && item.type !== React.Fragment) {
40
+ throw new Error("Illegal child passed to <SiteHeader.ItemGroup />. Ensure to only use <SiteHeader.Item />.");
41
+ }
42
+ });
43
+ }, [children]);
44
+ React.useEffect(function () {
45
+ // useEffect does not run in ReactDomServer renders
46
+ setHasClientSideJavaScript(true);
47
+ }, [setHasClientSideJavaScript]);
48
+ var ElementType = "div";
49
+ if (title) {
50
+ ElementType = "details";
51
+ }
52
+ return (React__default["default"].createElement("li", { className: "arc-SiteHeaderItemGroup" },
53
+ React__default["default"].createElement(ElementType, filterDataAttrs.__assign({ className: "arc-SiteHeaderItemGroup-details", open: Boolean(title && isMinWidthArcBreakpointL) }, filterDataAttrs.filterDataAttrs(props)),
54
+ title ? (React__default["default"].createElement("summary", { className: "arc-SiteHeaderItemGroup-summary", tabIndex: isMinWidthArcBreakpointL ? -1 : 0 }, href ? (React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({
55
+ handler: onClick
56
+ }), className: "arc-SiteHeaderItemGroup-title", href: href, tabIndex: !hasClientSideJavaScript || isMinWidthArcBreakpointL ? 0 : -1 },
57
+ title,
58
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderItemGroup-titleIcon" },
59
+ React__default["default"].createElement(BtIconChevronDown2Px.BtIconChevronDown2Px_2, null)))) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderItemGroup-title" }, title)))) : null,
60
+ React__default["default"].createElement("ul", { className: "arc-SiteHeaderItemGroup-items" },
61
+ children,
62
+ href && title ? (React__default["default"].createElement("li", { className: "arc-SiteHeaderItem arc-SiteHeaderItem--viewAll" },
63
+ React__default["default"].createElement("a", { className: "arc-SiteHeaderItem-link", onClick: handleLinkClick.handleLinkClick({
64
+ handler: onClick
65
+ }), href: href }, viewAllTitle || "View all ".concat(title.toLowerCase())))) : null))));
66
+ };
67
+
68
+ var ItemGroupRehydrator = (function (el, hydrate) { return filterDataAttrs.__awaiter(void 0, void 0, void 0, function () {
69
+ var children, titleElement, viewAllElement, title, href, viewAllTitle, props;
70
+ return filterDataAttrs.__generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0: return [4 /*yield*/, hydrate(el.querySelector(".arc-SiteHeaderItemGroup-items"))];
73
+ case 1:
74
+ children = _a.sent();
75
+ titleElement = el.querySelector(".arc-SiteHeaderItemGroup-title");
76
+ viewAllElement = el.querySelector(".arc-SiteHeaderItem--viewAll");
77
+ title = "";
78
+ href = "";
79
+ viewAllTitle = "";
80
+ if (titleElement) {
81
+ title = titleElement.textContent || /* istanbul ignore next */ "";
82
+ href = titleElement.getAttribute("href") || /* istanbul ignore next */ "";
83
+ }
84
+ if (viewAllElement) {
85
+ viewAllTitle = viewAllElement.textContent || /* istanbul ignore next */ "";
86
+ }
87
+ props = {
88
+ children: children,
89
+ href: href,
90
+ title: title,
91
+ viewAllTitle: viewAllTitle
92
+ };
93
+ return [2 /*return*/, React__default["default"].createElement(ItemGroup, filterDataAttrs.__assign({}, props), children)];
94
+ }
95
+ });
96
+ }); });
97
+
98
+ var Column = function (_a) {
99
+ var children = _a.children, props = filterDataAttrs.__rest(_a, ["children"]);
100
+ React.useEffect(function () {
101
+ React__default["default"].Children.map(children, function (item) {
102
+ if (item && item.type !== ItemGroup) {
103
+ throw new Error("Illegal child passed to <SiteHeader.Column />. Ensure to only use <SiteHeader.ItemGroup />.");
104
+ }
105
+ });
106
+ }, [children]);
107
+ return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: "arc-SiteHeaderColumn" }, filterDataAttrs.filterDataAttrs(props)),
108
+ React__default["default"].createElement("ul", { className: "arc-SiteHeaderColumn-items" }, children)));
109
+ };
110
+
111
+ var BackButton = function (_a) {
112
+ var setOpen = _a.setOpen;
113
+ return (React__default["default"].createElement("button", { className: "arc-SiteHeaderBackButton", onClick: function () {
114
+ setOpen(false);
115
+ } },
116
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderBackButton-icon" },
117
+ React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronLeft2Px_2, null)),
118
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderBackButton-text" }, "Back")));
119
+ };
120
+
121
+ var Panel = function (_a) {
122
+ var _b;
123
+ var children = _a.children, navItemRef = _a.navItemRef, open = _a.open, promo = _a.promo, setOpen = _a.setOpen, subNavItemRef = _a.subNavItemRef, _c = _a.subNavLink, subNavLink = _c === void 0 ? "" : _c, title = _a.title, viewAll = _a.viewAll, withSubNav = _a.withSubNav, props = filterDataAttrs.__rest(_a, ["children", "navItemRef", "open", "promo", "setOpen", "subNavItemRef", "subNavLink", "title", "viewAll", "withSubNav"]);
124
+ var transparent = React.useContext(Context).transparent;
125
+ React.useEffect(function () {
126
+ // Where appropriate, close the Panel when clicking outside of it,
127
+ // by listening to clicks on the entire document and acting accordingly.
128
+ var handleClick = function (e) {
129
+ var _a, _b;
130
+ // Don't close the Panel…
131
+ if (
132
+ // The click is inside the current SubNavItem.
133
+ ((_a = subNavItemRef === null || subNavItemRef === void 0 ? void 0 : subNavItemRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) ||
134
+ // The click is inside the current NavItem
135
+ // and the Panel is not inside a SubNavItem.
136
+ // and the target is not a link
137
+ (((_b = navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target)) &&
138
+ !subNavItemRef &&
139
+ !e.target.getAttribute("href")) ||
140
+ // The Panel is inside a SubNavItem
141
+ // and the click is not on a SubNavItem-link.
142
+ // This ensures that one SubNavItem Panel per NavItem always remains open.
143
+ (subNavItemRef &&
144
+ !e.target.classList.contains(subNavLink) &&
145
+ !e.target.classList.contains("".concat(subNavLink, "Title")) &&
146
+ !e.target.classList.contains("".concat(subNavLink, "SubTitle"))) ||
147
+ // Panel is inside a SubNavItem
148
+ // and the click is not inside the Panel's NavItem parent.
149
+ // This prevents SubNavItem Panels in sibling NavItems from being closed.
150
+ (subNavItemRef && !(navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current.contains(e.target)))) {
151
+ return;
152
+ }
153
+ // Close the panel.
154
+ setOpen(false);
155
+ };
156
+ document.addEventListener("click", handleClick);
157
+ return function () {
158
+ document.removeEventListener("click", handleClick);
159
+ };
160
+ }, [navItemRef, setOpen, subNavItemRef, subNavLink]);
161
+ React.useEffect(function () {
162
+ var handleKeydown = function (e) {
163
+ // Check the viewport width at time of press
164
+ var isMinWidthArcBreakpointL = window.matchMedia("(min-width: ".concat(index_es.ArcBreakpointL, "px)")).matches;
165
+ if (e.key === "Escape" || e.keyCode === 27) {
166
+ if (isMinWidthArcBreakpointL && subNavItemRef) {
167
+ // Don't close Panels inside SubNavItems when viewport width is above
168
+ // the "desktop" breakpoint.
169
+ return false;
170
+ }
171
+ return setOpen(false);
172
+ }
173
+ };
174
+ window.addEventListener("keydown", handleKeydown);
175
+ return function () {
176
+ window.removeEventListener("keydown", handleKeydown);
177
+ };
178
+ }, [setOpen, subNavItemRef]);
179
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {},
180
+ _b["arc-SiteHeaderPanel"] = true,
181
+ _b["arc-SiteHeaderPanel--open"] = open,
182
+ _b["arc-SiteHeaderPanel--transparent"] = transparent,
183
+ _b["arc-SiteHeaderPanel--withSubNav"] = withSubNav,
184
+ _b)) }, filterDataAttrs.filterDataAttrs(props)),
185
+ React__default["default"].createElement(Surface.Surface, { background: "white", growVertically: true },
186
+ React__default["default"].createElement(BackButton, { setOpen: setOpen }),
187
+ React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-inner" },
188
+ React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-main" },
189
+ React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-mainInner" },
190
+ withSubNav && (React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-subNavArea" })),
191
+ title && (React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-title" }, title)),
192
+ React__default["default"].createElement("ul", { className: "arc-SiteHeaderPanel-items" }, children)),
193
+ viewAll),
194
+ promo && React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-promo" }, promo)))));
195
+ };
196
+ var ViewAll = function (_a) {
197
+ var href = _a.href, title = _a.title, onClick = _a.onClick;
198
+ return (React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderPanel-viewAll", href: href },
199
+ title,
200
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderPanel-viewAllIcon" },
201
+ React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronRight2Px_2, null))));
202
+ };
203
+ ViewAll.displayName = "Panel.ViewAll";
204
+ Panel.ViewAll = ViewAll;
205
+
206
+ var NavItem = function (_a) {
207
+ var _b, _c;
208
+ var children = _a.children, href = _a.href, isCurrent = _a.isCurrent, onClick = _a.onClick, promo = _a.promo, title = _a.title, viewAllTitle = _a.viewAllTitle, props = filterDataAttrs.__rest(_a, ["children", "href", "isCurrent", "onClick", "promo", "title", "viewAllTitle"]);
209
+ var navItem = React.useRef();
210
+ var _d = React.useState(false), panelOpen = _d[0], setPanelOpen = _d[1];
211
+ var isMinWidthArcBreakpointL = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointL, "px)"));
212
+ React.useEffect(function () {
213
+ React__default["default"].Children.map(children, function (item) {
214
+ if (item &&
215
+ item.type !== ItemGroup &&
216
+ item.type !== Column &&
217
+ item.type !== React.Fragment) {
218
+ throw new Error("Illegal child passed to <SiteHeader.NavItem />. Ensure to only use <SiteHeader.ItemGroup /> or <SiteHeader.Column />.");
219
+ }
220
+ });
221
+ }, [children]);
222
+ return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: index.classNames((_b = {},
223
+ _b["arc-SiteHeaderNavItem"] = true,
224
+ _b["arc-SiteHeaderNavItem--linkSelected"] = (children && panelOpen) || (!children && href && isCurrent),
225
+ _b)), ref: navItem }, filterDataAttrs.filterDataAttrs(props)), !children ? (href ? (React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({
226
+ handler: onClick
227
+ }), className: "arc-SiteHeaderNavItem-link", href: href }, title)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
228
+ React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: index.classNames((_c = {},
229
+ _c["arc-SiteHeaderNavItem-link"] = true,
230
+ _c["arc-SiteHeaderNavItem-link--itemHasChildren"] = true,
231
+ _c)), onClick: function (e) {
232
+ e.preventDefault();
233
+ setPanelOpen(!panelOpen);
234
+ } },
235
+ React__default["default"].createElement("span", null, title),
236
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default["default"].createElement(BtIconChevronDown2Px.BtIconChevronDown2Px_2, null)) : (React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronRight2Px_2, null)))),
237
+ React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, promo: promo, setOpen: setPanelOpen, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
238
+ };
239
+
240
+ var NavItemRehydrator = (function (el, hydrate) { return filterDataAttrs.__awaiter(void 0, void 0, void 0, function () {
241
+ var children, promo, link, viewAll, href, title, props;
242
+ return filterDataAttrs.__generator(this, function (_a) {
243
+ switch (_a.label) {
244
+ case 0:
245
+ children = el.querySelector(".arc-SiteHeaderPanel-items");
246
+ promo = el.querySelector(".arc-SiteHeaderPanel-promo");
247
+ if (!children) return [3 /*break*/, 2];
248
+ return [4 /*yield*/, hydrate(children)];
249
+ case 1:
250
+ children = _a.sent();
251
+ _a.label = 2;
252
+ case 2:
253
+ if (!promo) return [3 /*break*/, 4];
254
+ return [4 /*yield*/, hydrate(promo)];
255
+ case 3:
256
+ promo = _a.sent();
257
+ _a.label = 4;
258
+ case 4:
259
+ link = el.querySelector(".arc-SiteHeaderNavItem-link");
260
+ viewAll = el.querySelector(".arc-SiteHeaderPanel-viewAll");
261
+ href = "";
262
+ title = "";
263
+ if (link) {
264
+ title = link.textContent || /* istanbul ignore next */ "";
265
+ href = link.getAttribute("href") || /* istanbul ignore next */ "";
266
+ }
267
+ if (viewAll) {
268
+ href = viewAll.getAttribute("href") || /* istanbul ignore next */ "";
269
+ }
270
+ props = {
271
+ href: href,
272
+ isCurrent: el.classList.contains("arc-SiteHeaderNavItem--linkSelected") || undefined,
273
+ promo: promo || undefined,
274
+ title: title,
275
+ viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
276
+ };
277
+ return [2 /*return*/, React__default["default"].createElement(NavItem, filterDataAttrs.__assign({}, props), children)];
278
+ }
279
+ });
280
+ }); });
281
+
282
+ var SubNavItem = function (_a) {
283
+ var _b, _c;
284
+ var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, onClick = _a.onClick, offsetXL = _a.offsetXL, promo = _a.promo, subTitle = _a.subTitle, title = _a.title, viewAllTitle = _a.viewAllTitle, props = filterDataAttrs.__rest(_a, ["children", "isDefaultItem", "href", "onClick", "offsetXL", "promo", "subTitle", "title", "viewAllTitle"]);
285
+ var navItem = React.useContext(Context$1).navItem;
286
+ var subNavItem = React.useRef();
287
+ var _e = React.useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
288
+ var isMinWidthArcBreakpointL = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointL, "px)"));
289
+ React.useEffect(function () {
290
+ React__default["default"].Children.map(children, function (item) {
291
+ if (item &&
292
+ item.type !== ItemGroup &&
293
+ item.type !== Column &&
294
+ item.type !== React.Fragment) {
295
+ throw new Error("Illegal child passed to <SiteHeader.SubNavItem />. Ensure to only use <SiteHeader.ItemGroup /> or <SiteHeader.Column />.");
296
+ }
297
+ });
298
+ }, [children]);
299
+ React.useEffect(function () {
300
+ if (isDefaultItem && isMinWidthArcBreakpointL) {
301
+ setPanelOpen(true);
302
+ }
303
+ else {
304
+ setPanelOpen(false);
305
+ }
306
+ }, [isDefaultItem, isMinWidthArcBreakpointL]);
307
+ var linkTitle = (React__default["default"].createElement(React__default["default"].Fragment, null,
308
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkTitle" }, title),
309
+ subTitle ? (React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkSubTitle" }, subTitle)) : null));
310
+ return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: index.classNames((_b = {},
311
+ _b["arc-SiteHeaderSubNavItem"] = true,
312
+ _b["arc-SiteHeaderSubNavItem--linkSelected"] = children && panelOpen,
313
+ _b[suffixModifier.suffixModifier("arc-SiteHeaderSubNavItem--offsetXL", offsetXL || "")] = offsetXL,
314
+ _b)), ref: subNavItem }, filterDataAttrs.filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (React__default["default"].createElement("a", { className: "arc-SiteHeaderSubNavItem-link", onClick: handleLinkClick.handleLinkClick({ handler: onClick }), href: href }, linkTitle)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
315
+ React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: index.classNames((_c = {},
316
+ _c["arc-SiteHeaderSubNavItem-link"] = true,
317
+ _c["arc-SiteHeaderSubNavItem-link--itemHasChildren"] = children,
318
+ _c)), onClick: function () {
319
+ setPanelOpen(true);
320
+ } },
321
+ linkTitle,
322
+ children && (React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkIcon" },
323
+ React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronRight2Px_2, null)))),
324
+ React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default["default"].createElement("span", null,
325
+ title,
326
+ subTitle && (React__default["default"].createElement(Text.Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
327
+ };
328
+
329
+ var SubNavItemRehydrator = (function (el, hydrate) { return filterDataAttrs.__awaiter(void 0, void 0, void 0, function () {
330
+ var children, promo, link, linkTitle, viewAll, href, title, offsetXL, props;
331
+ var _a;
332
+ return filterDataAttrs.__generator(this, function (_b) {
333
+ switch (_b.label) {
334
+ case 0:
335
+ children = el.querySelector(".arc-SiteHeaderPanel-items");
336
+ promo = el.querySelector(".arc-SiteHeaderPanel-promo");
337
+ if (!children) return [3 /*break*/, 2];
338
+ return [4 /*yield*/, hydrate(children)];
339
+ case 1:
340
+ children = _b.sent();
341
+ _b.label = 2;
342
+ case 2:
343
+ if (!promo) return [3 /*break*/, 4];
344
+ return [4 /*yield*/, hydrate(promo)];
345
+ case 3:
346
+ promo = _b.sent();
347
+ _b.label = 4;
348
+ case 4:
349
+ link = el.querySelector(".arc-SiteHeaderSubNavItem-link");
350
+ linkTitle = el.querySelector(".arc-SiteHeaderSubNavItem-linkTitle");
351
+ viewAll = el.querySelector(".arc-SiteHeaderPanel-viewAll");
352
+ href = "";
353
+ title = "";
354
+ if (link) {
355
+ href = link.getAttribute("href") || /* istanbul ignore next */ "";
356
+ }
357
+ if (linkTitle) {
358
+ title = linkTitle.textContent || /* istanbul ignore next */ "";
359
+ }
360
+ if (viewAll) {
361
+ href = viewAll.getAttribute("href") || /* istanbul ignore next */ "";
362
+ }
363
+ offsetXL = undefined;
364
+ if (el.classList.contains("arc-SiteHeaderSubNavItem--offsetXL24")) {
365
+ offsetXL = "24";
366
+ }
367
+ if (el.classList.contains("arc-SiteHeaderSubNavItem--offsetXL48")) {
368
+ offsetXL = "48";
369
+ }
370
+ props = {
371
+ href: href,
372
+ isDefaultItem: Boolean(el.dataset.defaultItem),
373
+ offsetXL: offsetXL,
374
+ promo: promo || undefined,
375
+ subTitle: ((_a = el.querySelector(".arc-SiteHeaderSubNavItem-linkSubTitle")) === null || _a === void 0 ? void 0 : _a.textContent) ||
376
+ undefined,
377
+ title: title,
378
+ viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
379
+ };
380
+ return [2 /*return*/, React__default["default"].createElement(SubNavItem, filterDataAttrs.__assign({}, props), children)];
381
+ }
382
+ });
383
+ }); });
384
+
385
+ var defaultContext$1 = { navItem: null, subTitle: null };
386
+ var Context$1 = React.createContext(defaultContext$1);
387
+ var Provider$1 = Context$1.Provider;
388
+ var NavItemWithSubNav = function (_a) {
389
+ var _b, _c;
390
+ var href = _a.href, slot1 = _a.slot1, slot2 = _a.slot2, slot3 = _a.slot3, _d = _a.subTitle, subTitle = _d === void 0 ? null : _d, title = _a.title, onViewAllClick = _a.onViewAllClick, viewAllTitle = _a.viewAllTitle, props = filterDataAttrs.__rest(_a, ["href", "slot1", "slot2", "slot3", "subTitle", "title", "onViewAllClick", "viewAllTitle"]);
391
+ var navItem = React.useRef();
392
+ var _e = React.useState(true), defaultItem = _e[0], setDefaultItem = _e[1];
393
+ var _f = React.useState(false), panelOpen = _f[0], setPanelOpen = _f[1];
394
+ var isMinWidthArcBreakpointL = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointL, "px)"));
395
+ React.useEffect(function () {
396
+ React__default["default"].Children.map(slot1, function (item) {
397
+ if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
398
+ throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot1` prop. Ensure to only use <SiteHeader.SubNavItem />.");
399
+ }
400
+ if (item.props.isDefaultItem) {
401
+ setDefaultItem(false);
402
+ }
403
+ });
404
+ React__default["default"].Children.map(slot2, function (item) {
405
+ if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
406
+ throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot2` prop. Ensure to only use <SiteHeader.SubNavItem />.");
407
+ }
408
+ if (item.props.isDefaultItem) {
409
+ setDefaultItem(false);
410
+ }
411
+ });
412
+ React__default["default"].Children.map(slot3, function (item) {
413
+ if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
414
+ throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot3` prop. Ensure to only use <SiteHeader.SubNavItem />.");
415
+ }
416
+ if (item.props.isDefaultItem) {
417
+ setDefaultItem(false);
418
+ }
419
+ });
420
+ }, [slot1, slot2, slot3]);
421
+ return (React__default["default"].createElement(Provider$1, { value: { navItem: navItem, subTitle: subTitle } },
422
+ React__default["default"].createElement("li", filterDataAttrs.__assign({ className: index.classNames((_b = {},
423
+ _b["arc-SiteHeaderNavItemWithSubNav"] = true,
424
+ _b["arc-SiteHeaderNavItem--linkSelected"] = panelOpen,
425
+ _b)), ref: navItem }, filterDataAttrs.filterDataAttrs(props)),
426
+ React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: index.classNames((_c = {},
427
+ _c["arc-SiteHeaderNavItem-link"] = true,
428
+ _c["arc-SiteHeaderNavItem-link--itemHasChildren"] = true,
429
+ _c)), onClick: function (e) {
430
+ e.preventDefault();
431
+ setPanelOpen(!panelOpen);
432
+ } },
433
+ title,
434
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default["default"].createElement(BtIconChevronDown2Px.BtIconChevronDown2Px_2, null)) : (React__default["default"].createElement(BtIconChevronRight2Px.BtIconChevronRight2Px_2, null)))),
435
+ React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, title: subTitle, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined), withSubNav: true },
436
+ defaultItem
437
+ ? React__default["default"].cloneElement(slot1, { isDefaultItem: defaultItem })
438
+ : slot1,
439
+ slot2,
440
+ slot3))));
441
+ };
442
+
443
+ function wrap(el, wrapper) {
444
+ el.parentNode.insertBefore(wrapper, el);
445
+ wrapper.appendChild(el);
446
+ }
447
+ var NavItemWithSubNavRehydrator = (function (el, hydrate) { return filterDataAttrs.__awaiter(void 0, void 0, void 0, function () {
448
+ var subNavItem1, subNavItem2, subNavItem3, div1, div2, slot1, slot2, slot3, div3, link, subTitle, viewAllNodes, viewAll, title, props;
449
+ return filterDataAttrs.__generator(this, function (_a) {
450
+ switch (_a.label) {
451
+ case 0:
452
+ subNavItem1 = el.querySelector(".arc-SiteHeaderSubNavItem:first-child");
453
+ subNavItem2 = el.querySelector(".arc-SiteHeaderSubNavItem:nth-child(2)");
454
+ subNavItem3 = el.querySelector(".arc-SiteHeaderSubNavItem:nth-child(3)");
455
+ div1 = document.createElement("div");
456
+ div1.className = "slot1";
457
+ div2 = document.createElement("div");
458
+ div2.className = "slot2";
459
+ wrap(subNavItem1, div1);
460
+ wrap(subNavItem2, div2);
461
+ return [4 /*yield*/, hydrate(el.querySelector(".slot1"))];
462
+ case 1:
463
+ slot1 = _a.sent();
464
+ return [4 /*yield*/, hydrate(el.querySelector(".slot2"))];
465
+ case 2:
466
+ slot2 = _a.sent();
467
+ if (!subNavItem3) return [3 /*break*/, 4];
468
+ div3 = document.createElement("div");
469
+ div3.className = "slot3";
470
+ wrap(subNavItem3, div3);
471
+ return [4 /*yield*/, hydrate(el.querySelector(".slot3"))];
472
+ case 3:
473
+ slot3 = _a.sent();
474
+ _a.label = 4;
475
+ case 4:
476
+ link = el.querySelector(".arc-SiteHeaderNavItem-link");
477
+ subTitle = el.querySelector(".arc-SiteHeaderPanel-title");
478
+ viewAllNodes = el.querySelectorAll(".arc-SiteHeaderPanel-viewAll");
479
+ viewAll = viewAllNodes[viewAllNodes.length - 1];
480
+ title = "";
481
+ if (link) {
482
+ title = link.textContent || /* istanbul ignore next */ "";
483
+ }
484
+ props = {
485
+ href: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.getAttribute("href")) || undefined,
486
+ slot1: slot1 || /* istanbul ignore next */ undefined,
487
+ slot2: slot2 || /* istanbul ignore next */ undefined,
488
+ slot3: slot3 || undefined,
489
+ subTitle: (subTitle === null || subTitle === void 0 ? void 0 : subTitle.textContent) || undefined,
490
+ title: title,
491
+ viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
492
+ };
493
+ return [2 /*return*/, React__default["default"].createElement(NavItemWithSubNav, filterDataAttrs.__assign({}, props))];
494
+ }
495
+ });
496
+ }); });
497
+
498
+ var NodeItem = function (_a) {
499
+ var children = _a.children, props = filterDataAttrs.__rest(_a, ["children"]);
500
+ return (React__default["default"].createElement(React__default["default"].Fragment, filterDataAttrs.__assign({}, filterDataAttrs.filterDataAttrs(props)), children));
501
+ };
502
+
503
+ var MenuButton = function (_a) {
504
+ var _b;
505
+ var menuOpen = _a.menuOpen, setMenuOpen = _a.setMenuOpen;
506
+ return (React__default["default"].createElement("button", { "aria-expanded": menuOpen, className: index.classNames((_b = {},
507
+ _b["arc-MenuButton"] = true,
508
+ _b["arc-MenuButton--menuOpen"] = menuOpen,
509
+ _b)), onClick: function () {
510
+ setMenuOpen(!menuOpen);
511
+ }, type: "button" },
512
+ React__default["default"].createElement("span", { className: "arc-MenuButton-box" },
513
+ React__default["default"].createElement("span", { className: "arc-MenuButton-inner" }),
514
+ React__default["default"].createElement("span", { className: "arc-MenuButton-text" }, "Menu"))));
515
+ };
516
+
517
+ var defaultContext = { transparent: false };
518
+ var Context = React.createContext(defaultContext);
519
+ var Provider = Context.Provider;
520
+ /**
521
+ * Use `SiteHeader` to display brand logo and navigation at the top of a page.
522
+ */
523
+ var SiteHeader = function (_a) {
524
+ var _b;
525
+ var children = _a.children, basket = _a.basket, _c = _a.hasLogin, hasLogin = _c === void 0 ? true : _c, _d = _a.isTransparent, isTransparent = _d === void 0 ? false : _d, _e = _a.loginHref, loginHref = _e === void 0 ? "/login" : _e, logoOnClick = _a.logoOnClick, loginOnClick = _a.loginOnClick, _f = _a.loginTitle, loginTitle = _f === void 0 ? "Log in / Register" : _f, _g = _a.logoHref, logoHref = _g === void 0 ? "/" : _g, _h = _a.logoLabel, logoLabel = _h === void 0 ? "Home" : _h, search = _a.search, subBrand = _a.subBrand, props = filterDataAttrs.__rest(_a, ["children", "basket", "hasLogin", "isTransparent", "loginHref", "logoOnClick", "loginOnClick", "loginTitle", "logoHref", "logoLabel", "search", "subBrand"]);
526
+ var _j = React.useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
527
+ var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
528
+ var isMinWidthArcBreakpointL = index_es.useMediaQuery("(min-width: ".concat(index_es.ArcBreakpointL, "px)"));
529
+ React.useEffect(function () {
530
+ React__default["default"].Children.map(children, function (item) {
531
+ if (item &&
532
+ item.type !== NodeItem &&
533
+ item.type !== NavItem &&
534
+ item.type !== NavItemWithSubNav &&
535
+ item.type !== React.Fragment) {
536
+ throw new Error("Illegal child passed to <SiteHeader />. Ensure to only use <SiteHeader.NavItem /> or <SiteHeader.NavItemWithSubNav />");
537
+ }
538
+ });
539
+ }, [children]);
540
+ React.useEffect(function () {
541
+ if (!isMinWidthArcBreakpointL && menuOpen) {
542
+ document.body.classList.add("arc-body--overflowHidden");
543
+ }
544
+ else {
545
+ document.body.classList.remove("arc-body--overflowHidden");
546
+ }
547
+ return function () {
548
+ document.body.classList.remove("arc-body--overflowHidden");
549
+ };
550
+ }, [isMinWidthArcBreakpointL, menuOpen]);
551
+ React.useEffect(function () {
552
+ var handleKeydown = function (e) {
553
+ if (e.key === "Escape" || e.keyCode === 27) {
554
+ setMenuOpen(false);
555
+ }
556
+ };
557
+ window.addEventListener("keydown", handleKeydown);
558
+ return function () {
559
+ window.removeEventListener("keydown", handleKeydown);
560
+ };
561
+ }, [setMenuOpen]);
562
+ React.useEffect(function () {
563
+ var handleClick = function (e) {
564
+ if (e.target.getAttribute("href")) {
565
+ setMenuOpen(false);
566
+ }
567
+ };
568
+ document.addEventListener("click", handleClick);
569
+ return function () {
570
+ document.removeEventListener("click", handleClick);
571
+ };
572
+ }, [setMenuOpen]);
573
+ React.useEffect(function () {
574
+ // useEffect does not run in ReactDomServer renders
575
+ setHasClientSideJavaScript(true);
576
+ }, [setHasClientSideJavaScript]);
577
+ return (React__default["default"].createElement(Provider, { value: { transparent: isTransparent } },
578
+ React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {},
579
+ _b["arc-SiteHeader"] = true,
580
+ _b["arc-SiteHeader--menuOpen"] = menuOpen,
581
+ _b["arc-no-js"] = !hasClientSideJavaScript,
582
+ _b)) }, filterDataAttrs.filterDataAttrs(props), { "data-transparent": isTransparent || null }),
583
+ React__default["default"].createElement(Surface.Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
584
+ ? "brand-flat"
585
+ : undefined },
586
+ React__default["default"].createElement("div", { className: "arc-SiteHeader-inner" },
587
+ React__default["default"].createElement("a", { className: "arc-SiteHeader-brand", onClick: handleLinkClick.handleLinkClick({
588
+ handler: logoOnClick
589
+ }), href: logoHref },
590
+ React__default["default"].createElement(BrandLogo.BrandLogo, { label: logoLabel, subBrand: subBrand })),
591
+ children && (React__default["default"].createElement("nav", { className: "arc-SiteHeader-nav" },
592
+ React__default["default"].createElement("div", { className: "arc-SiteHeader-menuButton" },
593
+ React__default["default"].createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
594
+ React__default["default"].createElement("div", { className: "arc-SiteHeader-main" },
595
+ React__default["default"].createElement("ul", { className: "arc-SiteHeader-navItems" }, children),
596
+ hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-loginButton" },
597
+ React__default["default"].createElement(Button.Button, { onClick: loginOnClick, isFullWidth: true, label: loginTitle }))) : (React__default["default"].createElement("div", { className: "arc-SiteHeader-loginButton" },
598
+ React__default["default"].createElement(Button.Button, { href: loginHref, isFullWidth: true, label: loginTitle })))))))),
599
+ (basket || hasLogin || search) && (React__default["default"].createElement("div", { className: "arc-SiteHeader-secondary" },
600
+ search ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-search" }, search)) : null,
601
+ basket ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-basket" }, basket)) : null,
602
+ hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-loginLink arc-SiteHeader-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React__default["default"].createElement("a", { className: "arc-SiteHeader-loginLink", href: loginHref }, loginTitle)))))))))));
603
+ };
604
+ Column.displayName = "SiteHeader.Column";
605
+ Item.displayName = "SiteHeader.Item";
606
+ ItemGroup.displayName = "SiteHeader.ItemGroup";
607
+ NavItem.displayName = "SiteHeader.NavItem";
608
+ NodeItem.displayName = "SiteHeader.NodeItem";
609
+ NavItemWithSubNav.displayName = "SiteHeader.NavItemWithSubNav";
610
+ SubNavItem.displayName = "SiteHeader.SubNavItem";
611
+ SiteHeader.Column = Column;
612
+ SiteHeader.Item = Item;
613
+ SiteHeader.ItemGroup = ItemGroup;
614
+ SiteHeader.NavItem = NavItem;
615
+ SiteHeader.NodeItem = NodeItem;
616
+ SiteHeader.NavItemWithSubNav = NavItemWithSubNav;
617
+ SiteHeader.SubNavItem = SubNavItem;
618
+
619
+ var SiteHeaderRehydrator = function (el, hydrate) { return filterDataAttrs.__awaiter(void 0, void 0, void 0, function () {
620
+ var children, basket, search, brand, login, logoHref, logoLabel, props;
621
+ return filterDataAttrs.__generator(this, function (_a) {
622
+ switch (_a.label) {
623
+ case 0:
624
+ children = el.querySelector(".arc-SiteHeader-navItems");
625
+ basket = el.querySelector(".arc-SiteHeader-basket");
626
+ search = el.querySelector(".arc-SiteHeader-search");
627
+ if (!children) return [3 /*break*/, 2];
628
+ return [4 /*yield*/, hydrate(children)];
629
+ case 1:
630
+ children = _a.sent();
631
+ _a.label = 2;
632
+ case 2:
633
+ if (!basket) return [3 /*break*/, 4];
634
+ return [4 /*yield*/, hydrate(basket)];
635
+ case 3:
636
+ basket = _a.sent();
637
+ _a.label = 4;
638
+ case 4:
639
+ if (!search) return [3 /*break*/, 6];
640
+ return [4 /*yield*/, hydrate(search)];
641
+ case 5:
642
+ search = _a.sent();
643
+ _a.label = 6;
644
+ case 6:
645
+ brand = el.querySelector(".arc-SiteHeader-brand");
646
+ login = el.querySelector(".arc-SiteHeader-loginLink");
647
+ logoHref = "";
648
+ logoLabel = "";
649
+ if (brand) {
650
+ logoHref = brand.getAttribute("href") || /* istanbul ignore next */ "";
651
+ logoLabel = brand.textContent || /* istanbul ignore next */ "";
652
+ }
653
+ props = {
654
+ basket: basket,
655
+ hasLogin: Boolean(login),
656
+ isTransparent: Boolean(el.dataset.transparent),
657
+ loginHref: (login === null || login === void 0 ? void 0 : login.getAttribute("href")) || undefined,
658
+ loginTitle: (login === null || login === void 0 ? void 0 : login.textContent) || undefined,
659
+ logoHref: logoHref,
660
+ logoLabel: logoLabel,
661
+ search: search
662
+ };
663
+ return [2 /*return*/, React__default["default"].createElement(SiteHeader, filterDataAttrs.__assign({}, props), children)];
664
+ }
665
+ });
666
+ }); };
667
+ SiteHeaderRehydrator.ItemGroupRehydrator = ItemGroupRehydrator;
668
+ SiteHeaderRehydrator.NavItemRehydrator = NavItemRehydrator;
669
+ SiteHeaderRehydrator.NavItemWithSubNavRehydrator = NavItemWithSubNavRehydrator;
670
+ SiteHeaderRehydrator.SubNavItemRehydrator = SubNavItemRehydrator;
671
+
672
+ exports.SiteHeader = SiteHeader;
673
+ exports.SiteHeaderRehydrator = SiteHeaderRehydrator;