@arc-ui/components 12.0.0-beta.22 → 12.0.0-beta.23

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 (203) hide show
  1. package/lib/Alert/Alert.cjs +22 -21
  2. package/lib/Alert/Alert.mjs +22 -21
  3. package/lib/Alert/styles.css +1 -1
  4. package/lib/Align/styles.css +1 -1
  5. package/lib/AppButton/styles.css +1 -1
  6. package/lib/Avatar/styles.css +1 -1
  7. package/lib/AvatarGroup/styles.css +1 -1
  8. package/lib/Badge/styles.css +1 -1
  9. package/lib/Banner/Banner.cjs +1 -1
  10. package/lib/Banner/Banner.mjs +1 -1
  11. package/lib/Box/styles.css +1 -1
  12. package/lib/BrandLogo/styles.css +1 -1
  13. package/lib/Breadcrumbs/Breadcrumbs.cjs +12 -3
  14. package/lib/Breadcrumbs/Breadcrumbs.mjs +12 -3
  15. package/lib/Breadcrumbs/styles.css +1 -1
  16. package/lib/Button/styles.css +1 -1
  17. package/lib/ButtonGroup/styles.css +1 -1
  18. package/lib/ButtonV2/styles.css +1 -1
  19. package/lib/Calendar/Calendar.cjs +2 -2
  20. package/lib/Calendar/Calendar.mjs +2 -2
  21. package/lib/Calendar/styles.css +1 -1
  22. package/lib/CardFooter/styles.css +1 -1
  23. package/lib/CardHeading/styles.css +1 -1
  24. package/lib/Carousel/Carousel.cjs +11 -5
  25. package/lib/Carousel/Carousel.mjs +8 -2
  26. package/lib/Carousel/styles.css +1 -1
  27. package/lib/Checkbox/Checkbox.cjs +85 -11
  28. package/lib/Checkbox/Checkbox.mjs +87 -9
  29. package/lib/Checkbox/styles.css +1 -1
  30. package/lib/Columns/styles.css +1 -1
  31. package/lib/ComboBox/ComboBox.cjs +276 -11
  32. package/lib/ComboBox/ComboBox.mjs +279 -10
  33. package/lib/ComboBox/styles.css +1 -1
  34. package/lib/ContentSwitcher/ContentSwitcher.cjs +5 -6
  35. package/lib/ContentSwitcher/ContentSwitcher.mjs +5 -6
  36. package/lib/ContentSwitcher/styles.css +1 -1
  37. package/lib/ContentSwitcherDropdown/styles.css +1 -1
  38. package/lib/DatePicker/DatePicker.cjs +351 -38
  39. package/lib/DatePicker/DatePicker.mjs +329 -17
  40. package/lib/DatePicker/styles.css +1 -1
  41. package/lib/Disclosure/styles.css +1 -1
  42. package/lib/DisclosureMini/styles.css +1 -1
  43. package/lib/Download/styles.css +1 -1
  44. package/lib/Drawer/styles.css +1 -1
  45. package/lib/Elevation/styles.css +1 -1
  46. package/lib/Filter/styles.css +1 -1
  47. package/lib/FormControl/styles.css +1 -1
  48. package/lib/GhostedHeroBanner/styles.css +1 -1
  49. package/lib/GradientPageBackground/GradientPageBackground.cjs +55 -43
  50. package/lib/GradientPageBackground/GradientPageBackground.mjs +55 -43
  51. package/lib/GradientPageBackground/styles.css +1 -1
  52. package/lib/Grid/styles.css +1 -1
  53. package/lib/Group/styles.css +1 -1
  54. package/lib/Heading/styles.css +1 -1
  55. package/lib/HeroBanner/HeroBanner.cjs +1 -1
  56. package/lib/HeroBanner/HeroBanner.mjs +1 -1
  57. package/lib/HeroBanner/styles.css +1 -1
  58. package/lib/HeroButton/HeroButton.cjs +77 -9
  59. package/lib/HeroButton/HeroButton.mjs +80 -8
  60. package/lib/HeroButton/styles.css +1 -1
  61. package/lib/Hidden/styles.css +1 -1
  62. package/lib/HorizontalCard/styles.css +1 -1
  63. package/lib/Icon/styles.css +1 -1
  64. package/lib/Image/styles.css +1 -1
  65. package/lib/ImpactCard/ImpactCard.cjs +3 -3
  66. package/lib/ImpactCard/ImpactCard.mjs +3 -3
  67. package/lib/ImpactCard/styles.css +1 -1
  68. package/lib/InformationCard/InformationCard.cjs +6 -6
  69. package/lib/InformationCard/InformationCard.mjs +6 -6
  70. package/lib/InformationCard/styles.css +1 -1
  71. package/lib/Link/Link.cjs +1 -1
  72. package/lib/Link/Link.mjs +1 -1
  73. package/lib/Link/styles.css +1 -1
  74. package/lib/Markup/styles.css +1 -1
  75. package/lib/MediaCard/MediaCard.cjs +53 -14
  76. package/lib/MediaCard/MediaCard.mjs +55 -12
  77. package/lib/MediaCard/styles.css +1 -1
  78. package/lib/Menu/Menu.cjs +1327 -25
  79. package/lib/Menu/Menu.mjs +1292 -9
  80. package/lib/Menu/styles.css +1 -1
  81. package/lib/Modal/styles.css +1 -1
  82. package/lib/NavigationHeader/NavigationHeader.cjs +743 -16
  83. package/lib/NavigationHeader/NavigationHeader.mjs +734 -7
  84. package/lib/NavigationHeader/styles.css +1 -1
  85. package/lib/Pagination/styles.css +1 -1
  86. package/lib/PaginationSimple/styles.css +1 -1
  87. package/lib/Popover/styles.css +1 -1
  88. package/lib/Poster/styles.css +1 -1
  89. package/lib/ProgressBar/styles.css +1 -1
  90. package/lib/ProgressStepper/styles.css +1 -1
  91. package/lib/ProgressStepperOverflow/ProgressStepperOverflow.cjs +138 -7
  92. package/lib/ProgressStepperOverflow/ProgressStepperOverflow.mjs +140 -5
  93. package/lib/ProgressStepperOverflow/styles.css +1 -1
  94. package/lib/RadioCardGroup/RadioCardGroup.cjs +48 -7
  95. package/lib/RadioCardGroup/RadioCardGroup.mjs +48 -8
  96. package/lib/RadioCardGroup/styles.css +1 -1
  97. package/lib/RadioGroup/RadioGroup.cjs +50 -8
  98. package/lib/RadioGroup/RadioGroup.mjs +49 -8
  99. package/lib/RadioGroup/styles.css +1 -1
  100. package/lib/Rule/styles.css +1 -1
  101. package/lib/ScrollToTop/styles.css +1 -1
  102. package/lib/Section/Section.cjs +1 -1
  103. package/lib/Section/Section.mjs +1 -1
  104. package/lib/Section/styles.css +1 -1
  105. package/lib/Select/styles.css +1 -1
  106. package/lib/SiteFooter/SiteFooter.cjs +1 -1
  107. package/lib/SiteFooter/SiteFooter.mjs +1 -1
  108. package/lib/SiteFooter/styles.css +1 -1
  109. package/lib/SiteFooterV2/SiteFooterV2.cjs +6 -5
  110. package/lib/SiteFooterV2/SiteFooterV2.mjs +6 -5
  111. package/lib/SiteFooterV2/styles.css +1 -1
  112. package/lib/SiteHeaderV2/SiteHeaderV2.cjs +440 -15
  113. package/lib/SiteHeaderV2/SiteHeaderV2.mjs +435 -11
  114. package/lib/SiteHeaderV2/styles.css +1 -1
  115. package/lib/Skeleton/styles.css +1 -1
  116. package/lib/SkipLink/styles.css +1 -1
  117. package/lib/Spinner/styles.css +1 -1
  118. package/lib/Surface/styles.css +1 -1
  119. package/lib/Switch/styles.css +1 -1
  120. package/lib/TabbedBanner/TabbedBanner.cjs +4 -5
  121. package/lib/TabbedBanner/TabbedBanner.mjs +4 -5
  122. package/lib/TabbedBanner/styles.css +1 -1
  123. package/lib/Tabs/Tabs.mjs +1 -1
  124. package/lib/Tabs/styles.css +1 -1
  125. package/lib/Tag/Tag.cjs +9 -9
  126. package/lib/Tag/Tag.mjs +9 -9
  127. package/lib/Tag/styles.css +1 -1
  128. package/lib/TemplateBanner/TemplateBanner.cjs +1 -1
  129. package/lib/TemplateBanner/TemplateBanner.mjs +1 -1
  130. package/lib/TemplateBanner/styles.css +1 -1
  131. package/lib/Text/styles.css +1 -1
  132. package/lib/TextArea/TextArea.cjs +2 -53
  133. package/lib/TextArea/TextArea.mjs +2 -53
  134. package/lib/TextArea/styles.css +1 -1
  135. package/lib/TextInput/styles.css +1 -1
  136. package/lib/Theme/Theme.cjs +1 -1
  137. package/lib/Theme/Theme.mjs +1 -1
  138. package/lib/Theme/styles.css +1 -1
  139. package/lib/ThemeIcon/styles.css +1 -1
  140. package/lib/ThumbnailSignpost/styles.css +1 -1
  141. package/lib/Toast/styles.css +1 -1
  142. package/lib/Tooltip/styles.css +1 -1
  143. package/lib/Truncate/styles.css +1 -1
  144. package/lib/TypographyCard/TypographyCard.cjs +3 -3
  145. package/lib/TypographyCard/TypographyCard.mjs +3 -3
  146. package/lib/TypographyCard/styles.css +1 -1
  147. package/lib/UniversalHeader/styles.css +1 -1
  148. package/lib/VerticalSpace/styles.css +1 -1
  149. package/lib/VideoPlayer/styles.css +1 -1
  150. package/lib/Visible/styles.css +1 -1
  151. package/lib/VisuallyHidden/styles.css +1 -1
  152. package/lib/_shared/cjs/{Calendar-B-va25n2.cjs → Calendar-Bfdgf5q1.cjs} +1 -1
  153. package/lib/_shared/cjs/{ContentSwitcherList-bCEzIPN2.cjs → ContentSwitcherList-pcYtuT6L.cjs} +8 -0
  154. package/lib/_shared/cjs/{Link-7xUgVf1I.cjs → Link-C3OSQIIk.cjs} +3 -1
  155. package/lib/_shared/cjs/{Section-wUVdzmGA.cjs → Section-Bz2fwj8Z.cjs} +2 -2
  156. package/lib/_shared/cjs/{TemplateBanner-CImrJ9ON.cjs → TemplateBanner-COymAI91.cjs} +2 -2
  157. package/lib/_shared/cjs/{arc-breakpoints-DWUgmeLA.cjs → arc-breakpoints-CS8JVk5T.cjs} +1 -1
  158. package/lib/_shared/cjs/{index.es-DlNskPlN.cjs → index.es-fkulh7qu.cjs} +1 -1
  159. package/lib/_shared/esm/{Calendar-Bd2_eT1Y.mjs → Calendar-Drh_NJ9I.mjs} +1 -1
  160. package/lib/_shared/esm/{ContentSwitcherList-bCQz0qkU.mjs → ContentSwitcherList-DwHfU3no.mjs} +10 -3
  161. package/lib/_shared/esm/{Link-Biyg9qBH.mjs → Link-DxjGH_7f.mjs} +3 -1
  162. package/lib/_shared/esm/{Section-DDygQ5Az.mjs → Section-7InCvzfh.mjs} +2 -2
  163. package/lib/_shared/esm/{TemplateBanner-DeHjliNP.mjs → TemplateBanner-Dkgzu3A5.mjs} +2 -2
  164. package/lib/_shared/esm/{arc-breakpoints-D5hR5m3t.mjs → arc-breakpoints-D7Ie4kBt.mjs} +1 -1
  165. package/lib/_shared/esm/{index-BDWwJ5x2.mjs → index-BWkI4Dwz.mjs} +1 -1
  166. package/lib/_shared/esm/{index.es-C3WqfFKH.mjs → index.es-CtRkzfKP.mjs} +2 -2
  167. package/lib/index.cjs +300 -283
  168. package/lib/index.cjs.map +1 -1
  169. package/lib/index.d.cts +28 -3
  170. package/lib/index.d.mts +28 -3
  171. package/lib/index.js.map +1 -1
  172. package/lib/index.mjs +301 -284
  173. package/lib/index.mjs.map +1 -1
  174. package/lib/styles.css +10 -10
  175. package/package.json +8 -8
  176. package/lib/_shared/cjs/BreadcrumbsLink-CDmk3Y3m.cjs +0 -18
  177. package/lib/_shared/cjs/Checkbox-DfZMjO1Y.cjs +0 -88
  178. package/lib/_shared/cjs/ComboBox-BGUhlqx1.cjs +0 -281
  179. package/lib/_shared/cjs/ContentSwitcherTab-B387Qs3I.cjs +0 -14
  180. package/lib/_shared/cjs/DatePicker-Dt4faA_N.cjs +0 -334
  181. package/lib/_shared/cjs/HeroButton-CrzkTUwP.cjs +0 -82
  182. package/lib/_shared/cjs/MediaCard-BEZFbiYO.cjs +0 -57
  183. package/lib/_shared/cjs/MenuItemMultiLevelContent-vLr6hSBm.cjs +0 -1328
  184. package/lib/_shared/cjs/ProgressStepperOverflow-BAGZNC26.cjs +0 -142
  185. package/lib/_shared/cjs/RadioCardGroupInput-CeUM3yPS.cjs +0 -53
  186. package/lib/_shared/cjs/RadioGroupInput-w2qkfsnG.cjs +0 -54
  187. package/lib/_shared/cjs/SiteHeaderV2NavItemWithSubNav-CagFKPEa.cjs +0 -445
  188. package/lib/_shared/cjs/kebabCase-D5yA6u-V.cjs +0 -743
  189. package/lib/_shared/cjs/keynames-Cx13-hWr.cjs +0 -8
  190. package/lib/_shared/esm/BreadcrumbsLink-BxTurGNa.mjs +0 -16
  191. package/lib/_shared/esm/Checkbox-CwOHzlQF.mjs +0 -86
  192. package/lib/_shared/esm/ComboBox-CRlJjeev.mjs +0 -279
  193. package/lib/_shared/esm/ContentSwitcherTab-CfC3PGeZ.mjs +0 -12
  194. package/lib/_shared/esm/DatePicker-DT4OEzxP.mjs +0 -324
  195. package/lib/_shared/esm/HeroButton-jdjjV_Gf.mjs +0 -80
  196. package/lib/_shared/esm/MediaCard-DqMaNWsE.mjs +0 -55
  197. package/lib/_shared/esm/MenuItemMultiLevelContent-JTOHqpzg.mjs +0 -1296
  198. package/lib/_shared/esm/ProgressStepperOverflow-fPkLltVO.mjs +0 -140
  199. package/lib/_shared/esm/RadioCardGroupInput-D7W28geB.mjs +0 -50
  200. package/lib/_shared/esm/RadioGroupInput-zAWSV29m.mjs +0 -50
  201. package/lib/_shared/esm/SiteHeaderV2NavItemWithSubNav-CxGwdV6u.mjs +0 -439
  202. package/lib/_shared/esm/kebabCase-CCEMRBfd.mjs +0 -737
  203. package/lib/_shared/esm/keynames-B5whqsjh.mjs +0 -8
@@ -1,24 +1,128 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var SiteHeaderV2NavItemWithSubNav = require('../_shared/cjs/SiteHeaderV2NavItemWithSubNav-CagFKPEa.cjs');
5
4
  var filterAttrs = require('../_shared/cjs/filter-attrs-eK6E_34o.cjs');
6
5
  var React = require('react');
7
6
  var index = require('../_shared/cjs/index-CTlXMLug.cjs');
8
- var BtIconChevronRightMid = require('../_shared/cjs/BtIconChevronRightMid-eGxk3ae6.cjs');
7
+ var index_es = require('../_shared/cjs/index.es-fkulh7qu.cjs');
8
+ var BtIconChevronRight2Px = require('../_shared/cjs/BtIconChevronRight2Px-CIRaur2B.cjs');
9
+ var BrandLogo = require('../_shared/cjs/BrandLogo-D5wlIFmm.cjs');
10
+ var useMediaQuery = require('../_shared/cjs/use-media-query-BsUfHjPZ.cjs');
11
+ var Surface = require('../_shared/cjs/Surface-BFx1yNsq.cjs');
9
12
  var handleLinkClick = require('../_shared/cjs/handle-link-click-C7BvOIYa.cjs');
10
13
  var Icon = require('../_shared/cjs/Icon-CzhyKqMd.cjs');
11
- var index_es = require('../_shared/cjs/index.es-DlNskPlN.cjs');
14
+ var BtIconChevronRightMid = require('../_shared/cjs/BtIconChevronRightMid-eGxk3ae6.cjs');
12
15
  var ConditionalWrapper = require('../_shared/cjs/ConditionalWrapper-C09Kw6EG.cjs');
13
- var useMediaQuery = require('../_shared/cjs/use-media-query-BsUfHjPZ.cjs');
14
- var BtIconChevronRight2Px = require('../_shared/cjs/BtIconChevronRight2Px-CIRaur2B.cjs');
16
+ var ButtonV2 = require('../_shared/cjs/ButtonV2-Bta5SVVY.cjs');
15
17
  var suffixModifier = require('../_shared/cjs/suffix-modifier-DLUGR-yG.cjs');
16
18
  var Text = require('../_shared/cjs/Text-Cr5nmYmx.cjs');
17
- require('../_shared/cjs/Surface-BFx1yNsq.cjs');
18
19
  require('../_shared/cjs/index-DR8Rkav9.cjs');
19
- require('../_shared/cjs/ButtonV2-Bta5SVVY.cjs');
20
20
  require('../_shared/cjs/Spinner-bbrOwxv2.cjs');
21
- require('../_shared/cjs/BrandLogo-D5wlIFmm.cjs');
21
+
22
+ var SiteHeaderV2MenuButton = function (_a) {
23
+ var _b;
24
+ var menuOpen = _a.menuOpen, setMenuOpen = _a.setMenuOpen;
25
+ return (React.createElement("button", { "aria-expanded": menuOpen, className: index.classNames((_b = {},
26
+ _b["arc-SiteHeaderV2MenuButton"] = true,
27
+ _b["arc-SiteHeaderV2MenuButton--menuOpen"] = menuOpen,
28
+ _b)), onClick: function () {
29
+ setMenuOpen(!menuOpen);
30
+ }, type: "button" },
31
+ React.createElement("span", { className: "arc-SiteHeaderV2MenuButton-box" },
32
+ React.createElement("span", { className: "arc-SiteHeaderV2MenuButton-inner" }),
33
+ React.createElement("span", { className: "arc-SiteHeaderV2MenuButton-text" }, "Menu"))));
34
+ };
35
+
36
+ var defaultContext$1 = { transparent: false, menubarRef: null };
37
+ var Context$1 = React.createContext(defaultContext$1);
38
+ var Provider$1 = Context$1.Provider;
39
+ /**
40
+ * Use `SiteHeaderV2` to display brand logo and navigation at the top of a page.
41
+ */
42
+ var SiteHeaderV2 = function (_a) {
43
+ var _b;
44
+ 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 = filterAttrs.__rest(_a, ["children", "basket", "hasLogin", "isTransparent", "loginHref", "logoOnClick", "loginOnClick", "loginTitle", "logoHref", "logoLabel", "search", "subBrand"]);
45
+ var _j = React.useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
46
+ var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
47
+ var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
48
+ var menubarRef = React.useRef();
49
+ React.useEffect(function () {
50
+ if (!isMinWidthArcBreakpointL && menuOpen) {
51
+ document.body.classList.add("arc-body--overflowHidden");
52
+ }
53
+ else {
54
+ document.body.classList.remove("arc-body--overflowHidden");
55
+ }
56
+ return function () {
57
+ document.body.classList.remove("arc-body--overflowHidden");
58
+ };
59
+ }, [isMinWidthArcBreakpointL, menuOpen]);
60
+ React.useEffect(function () {
61
+ var handleKeydown = function (e) {
62
+ if (e.key === "Escape" || e.keyCode === 27) {
63
+ setMenuOpen(false);
64
+ }
65
+ };
66
+ window.addEventListener("keydown", handleKeydown);
67
+ return function () {
68
+ window.removeEventListener("keydown", handleKeydown);
69
+ };
70
+ }, [setMenuOpen]);
71
+ React.useEffect(function () {
72
+ var _a, _b;
73
+ (_b = (_a = menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add("noFocus");
74
+ }, []);
75
+ React.useEffect(function () {
76
+ var handleClick = function (e) {
77
+ if (e.target.getAttribute("href")) {
78
+ setMenuOpen(false);
79
+ }
80
+ };
81
+ document.addEventListener("click", handleClick);
82
+ return function () {
83
+ document.removeEventListener("click", handleClick);
84
+ };
85
+ }, [setMenuOpen]);
86
+ React.useEffect(function () {
87
+ // useEffect does not run in ReactDomServer renders
88
+ setHasClientSideJavaScript(true);
89
+ }, [setHasClientSideJavaScript]);
90
+ return (React.createElement(Provider$1, { value: { transparent: isTransparent, menubarRef: menubarRef } },
91
+ React.createElement("div", filterAttrs.__assign({ className: index.classNames((_b = {},
92
+ _b["arc-SiteHeaderV2"] = true,
93
+ _b["arc-SiteHeaderV2--menuOpen"] = menuOpen,
94
+ _b["arc-no-js"] = !hasClientSideJavaScript,
95
+ _b)) }, filterAttrs.filterAttrs(props), { "data-transparent": isTransparent || null }),
96
+ React.createElement(Surface.Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
97
+ ? "dark-brand-01"
98
+ : undefined },
99
+ React.createElement("div", { className: "arc-SiteHeaderV2-inner" },
100
+ React.createElement("a", { className: "arc-SiteHeaderV2-brand", onClick: handleLinkClick.handleLinkClick({
101
+ handler: logoOnClick,
102
+ }), href: logoHref },
103
+ React.createElement(BrandLogo.BrandLogo, { label: logoLabel, subBrand: subBrand })),
104
+ children && (React.createElement("nav", { className: "arc-SiteHeaderV2-nav" },
105
+ React.createElement("div", { className: "arc-SiteHeaderV2-menuButton" },
106
+ React.createElement(SiteHeaderV2MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
107
+ React.createElement("div", { className: "arc-SiteHeaderV2-main", tabIndex: -1 },
108
+ React.createElement("ul", { role: "menubar", "aria-label": "navigation", ref: menubarRef, className: "arc-SiteHeaderV2-navItems" }, children),
109
+ hasLogin && (React.createElement(React.Fragment, null, loginOnClick ? (React.createElement("div", { className: "arc-SiteHeaderV2-mobileButtonContainer" },
110
+ React.createElement("button", { className: "arc-SiteHeaderV2-mobileLogin", onClick: loginOnClick },
111
+ loginTitle,
112
+ React.createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
113
+ React.createElement(Icon.Icon, { icon: BtIconChevronRight2Px.BtIconChevronRight2Px }))))) : (React.createElement("div", { className: "arc-SiteHeaderV2-mobileButtonContainer" },
114
+ React.createElement("a", { className: "arc-SiteHeaderV2-mobileLogin", href: loginHref },
115
+ loginTitle,
116
+ React.createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
117
+ React.createElement(Icon.Icon, { icon: BtIconChevronRight2Px.BtIconChevronRight2Px })))))))))),
118
+ (basket || hasLogin || search) && (React.createElement("div", { className: "arc-SiteHeaderV2-secondary" },
119
+ search ? (React.createElement("div", { className: "arc-SiteHeaderV2-search" }, search)) : null,
120
+ basket ? (React.createElement("div", { className: "arc-SiteHeaderV2-basket" }, basket)) : null,
121
+ hasLogin && (React.createElement(React.Fragment, null, loginOnClick ? (React.createElement("div", { className: "arc-SiteHeaderV2-loginLink arc-SiteHeaderV2-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React.createElement("a", { className: "arc-SiteHeaderV2-loginLink", href: loginHref }, loginTitle)))))))))));
122
+ };
123
+ function useHeaderV2Context() {
124
+ return React.useContext(Context$1);
125
+ }
22
126
 
23
127
  var SiteHeaderV2Column = function (_a) {
24
128
  var children = _a.children, props = filterAttrs.__rest(_a, ["children"]);
@@ -61,6 +165,166 @@ var SiteHeaderV2ItemGroup = function (_a) {
61
165
  }), href: href }, viewAllTitle || "View all ".concat(title.toLowerCase())))) : null))));
62
166
  };
63
167
 
168
+ var SiteHeaderV2BackButton = function (_a) {
169
+ var setOpen = _a.setOpen, setOpenPanelOnFirstClick = _a.setOpenPanelOnFirstClick;
170
+ return (React.createElement("button", { className: "arc-SiteHeaderV2BackButton", onClick: function () {
171
+ setOpen(false);
172
+ setOpenPanelOnFirstClick(false);
173
+ } },
174
+ React.createElement("span", { className: "arc-SiteHeaderV2BackButton-icon" },
175
+ React.createElement(Icon.Icon, { icon: BtIconChevronRight2Px.BtIconChevronLeft2Px })),
176
+ React.createElement("span", { className: "arc-SiteHeaderV2BackButton-text" }, "Back")));
177
+ };
178
+
179
+ var SiteHeaderV2Panel = function (_a) {
180
+ var _b, _c, _d, _e, _f;
181
+ var children = _a.children, navItemRef = _a.navItemRef, isNavItem = _a.isNavItem, open = _a.open, setOpen = _a.setOpen, setOpenPanelOnFirstClick = _a.setOpenPanelOnFirstClick, subNavItemRef = _a.subNavItemRef, _g = _a.subNavLink, subNavLink = _g === void 0 ? "" : _g, title = _a.title, subtitle = _a.subtitle, viewAll = _a.viewAll, withSubNav = _a.withSubNav, isPrimary = _a.isPrimary, props = filterAttrs.__rest(_a, ["children", "navItemRef", "isNavItem", "open", "setOpen", "setOpenPanelOnFirstClick", "subNavItemRef", "subNavLink", "title", "subtitle", "viewAll", "withSubNav", "isPrimary"]);
182
+ var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
183
+ var menubarRef = useHeaderV2Context().menubarRef;
184
+ React.useEffect(function () {
185
+ // Where appropriate, close the Panel when clicking outside of it,
186
+ // by listening to clicks on the entire document and acting accordingly.
187
+ var handleClick = function (e) {
188
+ var _a, _b, _c, _d;
189
+ (_b = (_a = menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add("noFocus");
190
+ // Don't close the Panel…
191
+ if (
192
+ // The click is inside the current SubNavItem.
193
+ ((_c = subNavItemRef === null || subNavItemRef === void 0 ? void 0 : subNavItemRef.current) === null || _c === void 0 ? void 0 : _c.contains(e.target)) ||
194
+ // The click is inside the current NavItem
195
+ // and the Panel is not inside a SubNavItem.
196
+ // and the target is not a link
197
+ (((_d = navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current) === null || _d === void 0 ? void 0 : _d.contains(e.target)) &&
198
+ !subNavItemRef &&
199
+ !e.target.getAttribute("href")) ||
200
+ // The Panel is inside a SubNavItem
201
+ // and the click is not on a SubNavItem-link.
202
+ // This ensures that one SubNavItem Panel per NavItem always remains open.
203
+ (subNavItemRef &&
204
+ !e.target.classList.contains(subNavLink) &&
205
+ !e.target.classList.contains("".concat(subNavLink, "Title")) &&
206
+ !e.target.classList.contains("".concat(subNavLink, "SubTitle")) &&
207
+ !e.target.classList.contains("".concat(subNavLink, "Slot")) &&
208
+ !e.target.classList.contains("".concat(subNavLink, "SlotTitle"))) ||
209
+ // Panel is inside a SubNavItem
210
+ // and the click is not inside the Panel's NavItem parent.
211
+ // This prevents SubNavItem Panels in sibling NavItems from being closed.
212
+ (subNavItemRef && !(navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current.contains(e.target)))) {
213
+ return;
214
+ }
215
+ // Close the panel.
216
+ setOpen(false);
217
+ setOpenPanelOnFirstClick(false);
218
+ };
219
+ document.addEventListener("click", handleClick);
220
+ return function () {
221
+ document.removeEventListener("click", handleClick);
222
+ };
223
+ }, [
224
+ navItemRef,
225
+ setOpen,
226
+ subNavItemRef,
227
+ subNavLink,
228
+ setOpenPanelOnFirstClick,
229
+ menubarRef,
230
+ ]);
231
+ React.useEffect(function () {
232
+ var handleClick = function (e) {
233
+ var _a, _b;
234
+ (_b = (_a = menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add("noFocus");
235
+ // Close the Panel…
236
+ if (e.target.classList.contains("arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel")) {
237
+ setOpenPanelOnFirstClick(false);
238
+ return;
239
+ }
240
+ if (e.target.classList.contains("arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel") ||
241
+ e.target.classList.contains("arc-SiteHeaderV2NavItem-link--itemHasChildren-primary")) {
242
+ setOpenPanelOnFirstClick(true);
243
+ return;
244
+ }
245
+ };
246
+ document.addEventListener("click", handleClick);
247
+ return function () {
248
+ document.removeEventListener("click", handleClick);
249
+ };
250
+ }, [navItemRef, setOpenPanelOnFirstClick, menubarRef]);
251
+ React.useEffect(function () {
252
+ var handleKeydown = function (e) {
253
+ var _a, _b;
254
+ // Check the viewport width at time of press
255
+ var isMinWidthArcBreakpointL = window.matchMedia("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")")).matches;
256
+ if (e.key === "Escape" || e.keyCode === 27) {
257
+ if (isMinWidthArcBreakpointL && subNavItemRef) {
258
+ // Don't close Panels inside SubNavItems when viewport width is above
259
+ // the "desktop" breakpoint.
260
+ return false;
261
+ }
262
+ return setOpen(false);
263
+ }
264
+ if (e.key === "Tab") {
265
+ (_b = (_a = menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.remove("noFocus");
266
+ }
267
+ };
268
+ window.addEventListener("keydown", handleKeydown);
269
+ return function () {
270
+ window.removeEventListener("keydown", handleKeydown);
271
+ };
272
+ }, [setOpen, subNavItemRef, menubarRef]);
273
+ return (React.createElement("div", { style: { display: "flex" } },
274
+ React.createElement("div", filterAttrs.__assign({ className: index.classNames((_b = {},
275
+ _b["arc-SiteHeaderV2Panel"] = true,
276
+ _b["arc-SiteHeaderV2Panel--open"] = open,
277
+ _b["arc-SiteHeaderV2Panel--withSubNav"] = withSubNav,
278
+ _b["arc-SiteHeaderV2Panel-onlyPanel"] = isPrimary && isNavItem,
279
+ _b)) }, filterAttrs.filterAttrs(props)),
280
+ React.createElement(Surface.Surface, { background: "light-white" },
281
+ React.createElement(SiteHeaderV2BackButton, { setOpen: setOpen, setOpenPanelOnFirstClick: setOpenPanelOnFirstClick }),
282
+ React.createElement("div", { className: index.classNames((_c = {},
283
+ _c["arc-SiteHeaderV2Panel-inner"] = !isNavItem && withSubNav,
284
+ _c["arc-SiteHeaderV2Panel-innerWithoutSubNav"] = !isNavItem && !withSubNav,
285
+ _c["arc-SiteHeaderV2NavItemWithSubNav-fadeIn"] = !isNavItem && !withSubNav,
286
+ _c["arc-SiteHeaderV2Panel-innerNavItems"] = isNavItem,
287
+ _c)) },
288
+ React.createElement("div", { className: index.classNames((_d = {},
289
+ _d["arc-SiteHeaderV2Panel-main"] = !isNavItem && !withSubNav,
290
+ _d)) },
291
+ React.createElement("div", { className: index.classNames((_e = {},
292
+ _e["arc-SiteHeaderV2Panel-mainInnerWithoutSubNav"] = !isNavItem && !withSubNav,
293
+ _e["arc-SiteHeaderV2Panel-mainInner"] = !isNavItem,
294
+ _e["arc-SiteHeaderV2Panel-mainInnerNavItems"] = isNavItem,
295
+ _e)) },
296
+ withSubNav && (React.createElement("div", { className: "arc-SiteHeaderV2Panel-subNavArea" })),
297
+ !isMinWidthArcBreakpointL && title && (React.createElement("div", { className: "arc-SiteHeaderV2Panel-mobileTitleBlock" },
298
+ React.createElement("div", { className: "arc-SiteHeaderV2Panel-mobileTitle" },
299
+ title && (React.createElement("div", { className: "arc-SiteHeaderV2Panel-title" }, title)),
300
+ React.createElement("div", { className: "arc-SiteHeaderV2Panel-subTitle" }, subtitle)))),
301
+ React.createElement("ul", { className: index.classNames((_f = {},
302
+ _f["arc-SiteHeaderV2Panel-items"] = !isNavItem,
303
+ _f["arc-SiteHeaderV2Panel-itemsNavItems"] = isNavItem,
304
+ _f["arc-SiteHeaderV2NavItemWithSubNav-fadeIn"] = open && isNavItem,
305
+ _f)) }, children),
306
+ !withSubNav && viewAll)),
307
+ withSubNav && viewAll)))));
308
+ };
309
+ var SiteHeaderV2ViewAll = function (_a) {
310
+ var href = _a.href, title = _a.title, onClick = _a.onClick, buttonStyle = _a.buttonStyle;
311
+ var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
312
+ if (buttonStyle === "secondary") {
313
+ return isMinWidthArcBreakpointL ? (React.createElement("div", { className: "arc-SiteHeaderV2Panel-viewAllOutlined" },
314
+ React.createElement(ButtonV2.ButtonV2, { buttonStyle: buttonStyle, label: title !== null && title !== void 0 ? title : "", href: href, onClick: onClick }))) : (React.createElement("div", { className: "arc-SiteHeaderV2Panel-mobileViewAll arc-SiteHeaderV2Panel-mobileViewAllOutlined" },
315
+ React.createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick.handleLinkClick({
316
+ handler: onClick,
317
+ }), href: href }, title)));
318
+ }
319
+ else {
320
+ return isMinWidthArcBreakpointL ? (React.createElement("div", { className: "arc-SiteHeaderV2Panel-viewAll" },
321
+ React.createElement(ButtonV2.ButtonV2, { buttonStyle: buttonStyle, label: title !== null && title !== void 0 ? title : "", isFullWidth: true, href: href, onClick: onClick }))) : (React.createElement("div", { className: "arc-SiteHeaderV2Panel-mobileViewAll" },
322
+ React.createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick.handleLinkClick({
323
+ handler: onClick,
324
+ }), href: href }, title)));
325
+ }
326
+ };
327
+
64
328
  var SiteHeaderV2NavItem = function (_a) {
65
329
  var _b, _c, _d, _e, _f;
66
330
  var children = _a.children, href = _a.href, isCurrent = _a.isCurrent, onClick = _a.onClick, title = _a.title, isPrimary = _a.isPrimary, opensFirstWithPanel = _a.opensFirstWithPanel, subTitle = _a.subTitle, props = filterAttrs.__rest(_a, ["children", "href", "isCurrent", "onClick", "title", "isPrimary", "opensFirstWithPanel", "subTitle"]);
@@ -108,9 +372,170 @@ var SiteHeaderV2NavItem = function (_a) {
108
372
  _f["arc-SiteHeaderV2NavItemWithSubNav-primaryButtonUnderline"] = isPrimary && panelOpen,
109
373
  _f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderlineActive"] = !isPrimary && (panelOpen || openSecondaryWithSubNav),
110
374
  _f)) }))),
111
- React.createElement(SiteHeaderV2NavItemWithSubNav.SiteHeaderV2Panel, { navItemRef: navItem, isNavItem: true, isPrimary: isPrimary, open: opensFirstWithPanel && isMinWidthArcBreakpointL
375
+ React.createElement(SiteHeaderV2Panel, { navItemRef: navItem, isNavItem: true, isPrimary: isPrimary, open: opensFirstWithPanel && isMinWidthArcBreakpointL
112
376
  ? openSecondaryWithSubNav
113
- : panelOpen, setOpenPanelOnFirstClick: setOpenSecondaryWithSubNav, setOpen: setPanelOpen, viewAll: href ? (React.createElement(SiteHeaderV2NavItemWithSubNav.SiteHeaderV2ViewAll, { href: href, onClick: onClick, title: "See all solutions", buttonStyle: "primary" })) : undefined }, children)))));
377
+ : panelOpen, setOpenPanelOnFirstClick: setOpenSecondaryWithSubNav, setOpen: setPanelOpen, viewAll: href ? (React.createElement(SiteHeaderV2ViewAll, { href: href, onClick: onClick, title: "See all solutions", buttonStyle: "primary" })) : undefined }, children)))));
378
+ };
379
+
380
+ var SiteHeaderV2HorizontalPanel = function (_a) {
381
+ var _b, _c, _d;
382
+ var children = _a.children, navItemRef = _a.navItemRef, open = _a.open, setOpen = _a.setOpen, subNavItemRef = _a.subNavItemRef, _e = _a.subNavLink, subNavLink = _e === void 0 ? "" : _e, title = _a.title, withSubNav = _a.withSubNav, props = filterAttrs.__rest(_a, ["children", "navItemRef", "open", "setOpen", "subNavItemRef", "subNavLink", "title", "withSubNav"]);
383
+ React.useEffect(function () {
384
+ // Where appropriate, close the Panel when clicking outside of it,
385
+ // by listening to clicks on the entire document and acting accordingly.
386
+ var handleClick = function (e) {
387
+ var _a;
388
+ // Close the Horizontal Panel…
389
+ if (
390
+ // The click is not inside the current NavItem
391
+ !((_a = navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) ||
392
+ e.target.classList.contains("arc-SiteHeaderV2HorizontalPanel--open")) {
393
+ setOpen(false);
394
+ return;
395
+ }
396
+ };
397
+ document.addEventListener("click", handleClick);
398
+ return function () {
399
+ document.removeEventListener("click", handleClick);
400
+ };
401
+ }, [navItemRef, setOpen, subNavItemRef, subNavLink]);
402
+ React.useEffect(function () {
403
+ var handleKeydown = function (e) {
404
+ // Check the viewport width at time of press
405
+ var isMinWidthArcBreakpointL = window.matchMedia("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")")).matches;
406
+ if (e.key === "Escape" || e.keyCode === 27) {
407
+ if (isMinWidthArcBreakpointL && subNavItemRef) {
408
+ // Don't close Panels inside SubNavItems when viewport width is above
409
+ // the "desktop" breakpoint.
410
+ return false;
411
+ }
412
+ return setOpen(false);
413
+ }
414
+ };
415
+ window.addEventListener("keydown", handleKeydown);
416
+ return function () {
417
+ window.removeEventListener("keydown", handleKeydown);
418
+ };
419
+ }, [setOpen, subNavItemRef]);
420
+ return (React.createElement("div", filterAttrs.__assign({ className: index.classNames((_b = {},
421
+ _b["arc-SiteHeaderV2HorizontalPanel"] = true,
422
+ _b["arc-SiteHeaderV2HorizontalPanel--open"] = open,
423
+ _b["arc-SiteHeaderV2HorizontalPanel--withSubNav"] = withSubNav,
424
+ _b)) }, filterAttrs.filterAttrs(props)),
425
+ React.createElement(Surface.Surface, { background: "light-neutral-02" },
426
+ React.createElement("div", { className: index.classNames((_c = {},
427
+ _c["arc-SiteHeaderV2HorizontalPanel-container"] = true,
428
+ _c)) },
429
+ React.createElement(SiteHeaderV2BackButton, { setOpen: setOpen, setOpenPanelOnFirstClick: function () { } }),
430
+ title && (React.createElement("div", { className: "arc-SiteHeaderV2Panel-selectedTitle" }, title)),
431
+ React.createElement("ul", { className: index.classNames((_d = {},
432
+ _d["arc-SiteHeaderV2HorizontalPanel-items"] = true,
433
+ _d)) }, children)))));
434
+ };
435
+
436
+ var defaultContext = { navItem: null, subTitle: null };
437
+ var Context = React.createContext(defaultContext);
438
+ var Provider = Context.Provider;
439
+ var SiteHeaderV2NavItemWithSubNav = function (_a) {
440
+ var _b, _c, _d, _e, _f;
441
+ var href = _a.href, slot1 = _a.slot1, slot2 = _a.slot2, slot3 = _a.slot3, slot4 = _a.slot4, slot5 = _a.slot5, slot6 = _a.slot6, _g = _a.subTitle, subTitle = _g === void 0 ? null : _g, title = _a.title, onViewAllClick = _a.onViewAllClick, isPrimary = _a.isPrimary, opensFirstWithPanel = _a.opensFirstWithPanel, viewAllTitle = _a.viewAllTitle, props = filterAttrs.__rest(_a, ["href", "slot1", "slot2", "slot3", "slot4", "slot5", "slot6", "subTitle", "title", "onViewAllClick", "isPrimary", "opensFirstWithPanel", "viewAllTitle"]);
442
+ var navItem = React.useRef();
443
+ var _h = React.useState(true), defaultItem = _h[0], setDefaultItem = _h[1];
444
+ var _j = React.useState(false), panelOpen = _j[0], setPanelOpen = _j[1];
445
+ var _k = React.useState(false), horizontalPanelOpen = _k[0], setHorizontalPanelOpen = _k[1];
446
+ var _l = React.useState(true), openSecondaryWithSubNav = _l[0], setOpenSecondaryWithSubNav = _l[1];
447
+ var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
448
+ React.useEffect(function () {
449
+ React.Children.map(slot1, function (item) {
450
+ if (item.props.isDefaultItem) {
451
+ setDefaultItem(false);
452
+ }
453
+ });
454
+ React.Children.map(slot2, function (item) {
455
+ if (item.props.isDefaultItem) {
456
+ setDefaultItem(false);
457
+ }
458
+ });
459
+ React.Children.map(slot3, function (item) {
460
+ if (item.props.isDefaultItem) {
461
+ setDefaultItem(false);
462
+ }
463
+ });
464
+ React.Children.map(slot4, function (item) {
465
+ if (item.props.isDefaultItem) {
466
+ setDefaultItem(false);
467
+ }
468
+ });
469
+ React.Children.map(slot5, function (item) {
470
+ if (item.props.isDefaultItem) {
471
+ setDefaultItem(false);
472
+ }
473
+ });
474
+ }, [slot1, slot2, slot3, slot4, slot5]);
475
+ return (React.createElement(Provider, { value: { navItem: navItem, subTitle: subTitle } },
476
+ React.createElement("li", filterAttrs.__assign({ className: index.classNames((_b = {},
477
+ _b["arc-SiteHeaderV2NavItemWithSubNav"] = true,
478
+ _b["arc-SiteHeaderV2NavItemWithSubNav-Secondary"] = !isPrimary,
479
+ _b["arc-SiteHeaderV2NavItem-primary"] = isPrimary,
480
+ _b["arc-SiteHeaderV2NavItem--linkSelected"] = isPrimary
481
+ ? horizontalPanelOpen
482
+ : panelOpen,
483
+ _b["arc-SiteHeaderV2NavItemWithSubNav-active"] = panelOpen || (opensFirstWithPanel && openSecondaryWithSubNav),
484
+ _b)), role: "none", ref: navItem }, filterAttrs.filterAttrs(props)),
485
+ React.createElement("div", { className: "arc-SiteHeaderV2NavItemWithSubNav-buttonContainer" },
486
+ React.createElement("button", { "aria-expanded": horizontalPanelOpen || panelOpen, role: "menuitem", "aria-label": title, "aria-haspopup": "true", tabIndex: 0, className: index.classNames((_c = {},
487
+ _c["arc-SiteHeaderV2NavItem-link"] = true,
488
+ _c["arc-SiteHeaderV2NavItem-horizontalPanelFocus"] = !isPrimary,
489
+ _c["arc-SiteHeaderV2NavItem-link--itemHasChildren"] = true,
490
+ _c["arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel"] = !isPrimary && !opensFirstWithPanel,
491
+ _c["arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel"] = opensFirstWithPanel,
492
+ _c["arc-SiteHeaderV2NavItem-link--itemHasChildren-primary"] = isPrimary,
493
+ _c["arc-SiteHeaderV2NavItem-horizontalPanelLink"] = !isPrimary && !isMinWidthArcBreakpointL,
494
+ _c)), onClick: function (e) {
495
+ e.preventDefault();
496
+ isPrimary
497
+ ? setHorizontalPanelOpen(!horizontalPanelOpen)
498
+ : setPanelOpen(!horizontalPanelOpen);
499
+ } },
500
+ React.createElement("div", { className: index.classNames((_d = {},
501
+ _d["arc-SiteHeaderV2NavItem-title"] = isPrimary,
502
+ _d["arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel"] = !isPrimary && !opensFirstWithPanel,
503
+ _d["arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel"] = opensFirstWithPanel,
504
+ _d["arc-SiteHeaderV2NavItem-link--itemHasChildren-primary"] = isPrimary,
505
+ _d)) }, title),
506
+ React.createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
507
+ React.createElement(Icon.Icon, { icon: BtIconChevronRight2Px.BtIconChevronRight2Px })),
508
+ subTitle && !isPrimary && isMinWidthArcBreakpointL ? (React.createElement("div", { className: index.classNames((_e = {},
509
+ _e["arc-SiteHeaderV2NavItemWithSubNav-text"] = !isPrimary,
510
+ _e["arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel"] = !isPrimary && !opensFirstWithPanel,
511
+ _e["arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel"] = opensFirstWithPanel,
512
+ _e["arc-SiteHeaderV2NavItem-link--itemHasChildren-primary"] = isPrimary,
513
+ _e)) }, subTitle)) : null,
514
+ React.createElement("div", { className: index.classNames((_f = {},
515
+ _f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderline"] = isPrimary
516
+ ? horizontalPanelOpen
517
+ : panelOpen ||
518
+ (opensFirstWithPanel && openSecondaryWithSubNav),
519
+ _f["arc-SiteHeaderV2NavItemWithSubNav-primaryButtonUnderline"] = isPrimary && horizontalPanelOpen,
520
+ _f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderlineActive "] = !isPrimary && (panelOpen || openSecondaryWithSubNav),
521
+ _f)) }))),
522
+ isPrimary && (React.createElement(SiteHeaderV2HorizontalPanel, { navItemRef: navItem, open: horizontalPanelOpen, setOpen: setHorizontalPanelOpen, title: !isMinWidthArcBreakpointL && title },
523
+ slot1,
524
+ slot2,
525
+ slot3,
526
+ slot4,
527
+ slot5)),
528
+ React.createElement(SiteHeaderV2Panel, { navItemRef: navItem, open: opensFirstWithPanel && isMinWidthArcBreakpointL
529
+ ? openSecondaryWithSubNav
530
+ : panelOpen, setOpenPanelOnFirstClick: setOpenSecondaryWithSubNav, setOpen: setPanelOpen, title: !isMinWidthArcBreakpointL && title, subtitle: subTitle, viewAll: href ? (React.createElement(SiteHeaderV2ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle, buttonStyle: "primary" })) : undefined, withSubNav: true, isNavItem: false },
531
+ defaultItem
532
+ ? React.cloneElement(slot1, { isDefaultItem: defaultItem })
533
+ : slot1,
534
+ slot2,
535
+ slot3,
536
+ slot4,
537
+ slot5,
538
+ slot6))));
114
539
  };
115
540
 
116
541
  var SiteHeaderV2NodeItem = function (_a) {
@@ -121,7 +546,7 @@ var SiteHeaderV2NodeItem = function (_a) {
121
546
  var SiteHeaderV2SubNavItem = function (_a) {
122
547
  var _b, _c;
123
548
  var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, onClick = _a.onClick, offsetXL = _a.offsetXL, subTitle = _a.subTitle, title = _a.title, viewAllTitle = _a.viewAllTitle, icon = _a.icon, props = filterAttrs.__rest(_a, ["children", "isDefaultItem", "href", "onClick", "offsetXL", "subTitle", "title", "viewAllTitle", "icon"]);
124
- var navItem = React.useContext(SiteHeaderV2NavItemWithSubNav.Context).navItem;
549
+ var navItem = React.useContext(Context).navItem;
125
550
  var subNavItem = React.useRef();
126
551
  var _e = React.useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
127
552
  var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
@@ -157,21 +582,21 @@ var SiteHeaderV2SubNavItem = function (_a) {
157
582
  icon && isMinWidthArcBreakpointL && (React.createElement("div", { className: "arc-SiteHeaderV2SubNavItem-linkSlotIcon" },
158
583
  React.createElement(Icon.Icon, { icon: icon, size: 48 }))),
159
584
  React.createElement("span", { "data-cy": "linkTitle", className: "arc-SiteHeaderV2SubNavItem-linkSlotTitle" }, linkTitle))),
160
- React.createElement(SiteHeaderV2NavItemWithSubNav.SiteHeaderV2Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, setOpenPanelOnFirstClick: function () { }, subNavLink: "arc-SiteHeaderV2SubNavItem-link", title: React.createElement("span", null,
585
+ React.createElement(SiteHeaderV2Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, setOpenPanelOnFirstClick: function () { }, subNavLink: "arc-SiteHeaderV2SubNavItem-link", title: React.createElement("span", null,
161
586
  title,
162
- subTitle && (React.createElement(Text.Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React.createElement(SiteHeaderV2NavItemWithSubNav.SiteHeaderV2ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "See all ".concat(title), buttonStyle: "secondary" })) : undefined, isNavItem: false }, children)))));
587
+ subTitle && (React.createElement(Text.Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React.createElement(SiteHeaderV2ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "See all ".concat(title), buttonStyle: "secondary" })) : undefined, isNavItem: false }, children)))));
163
588
  };
164
589
 
165
590
  var SiteHeaderV2VerticalDivider = function () {
166
591
  return React.createElement("li", { className: "arc-SiteHeaderV2VerticalDivider-line" });
167
592
  };
168
593
 
169
- exports.SiteHeaderV2 = SiteHeaderV2NavItemWithSubNav.SiteHeaderV2;
170
- exports.SiteHeaderV2NavItemWithSubNav = SiteHeaderV2NavItemWithSubNav.SiteHeaderV2NavItemWithSubNav;
594
+ exports.SiteHeaderV2 = SiteHeaderV2;
171
595
  exports.SiteHeaderV2Column = SiteHeaderV2Column;
172
596
  exports.SiteHeaderV2Item = SiteHeaderV2Item;
173
597
  exports.SiteHeaderV2ItemGroup = SiteHeaderV2ItemGroup;
174
598
  exports.SiteHeaderV2NavItem = SiteHeaderV2NavItem;
599
+ exports.SiteHeaderV2NavItemWithSubNav = SiteHeaderV2NavItemWithSubNav;
175
600
  exports.SiteHeaderV2NodeItem = SiteHeaderV2NodeItem;
176
601
  exports.SiteHeaderV2SubNavItem = SiteHeaderV2SubNavItem;
177
602
  exports.SiteHeaderV2VerticalDivider = SiteHeaderV2VerticalDivider;