@zendeskgarden/react-chrome 9.0.0-next.2 → 9.0.0-next.21

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 (130) hide show
  1. package/README.md +26 -27
  2. package/dist/esm/elements/Chrome.js +95 -0
  3. package/dist/esm/elements/SkipNav.js +65 -0
  4. package/dist/esm/elements/body/Body.js +57 -0
  5. package/dist/esm/elements/body/Content.js +54 -0
  6. package/dist/esm/elements/body/Main.js +47 -0
  7. package/dist/esm/elements/footer/Footer.js +67 -0
  8. package/dist/esm/elements/footer/FooterItem.js +47 -0
  9. package/dist/esm/elements/header/Header.js +60 -0
  10. package/dist/esm/elements/header/HeaderItem.js +69 -0
  11. package/dist/esm/elements/header/HeaderItemIcon.js +51 -0
  12. package/dist/esm/elements/header/HeaderItemText.js +51 -0
  13. package/dist/esm/elements/header/HeaderItemWrapper.js +47 -0
  14. package/dist/esm/elements/nav/Nav.js +84 -0
  15. package/dist/esm/elements/nav/NavItem.js +95 -0
  16. package/dist/esm/elements/nav/NavItemIcon.js +51 -0
  17. package/dist/esm/elements/nav/NavItemText.js +58 -0
  18. package/dist/esm/elements/nav/NavList.js +55 -0
  19. package/dist/esm/elements/sheet/Sheet.js +128 -0
  20. package/dist/esm/elements/sheet/components/Body.js +50 -0
  21. package/dist/esm/elements/sheet/components/Close.js +60 -0
  22. package/dist/esm/elements/sheet/components/Description.js +59 -0
  23. package/dist/esm/elements/sheet/components/Footer.js +50 -0
  24. package/dist/esm/elements/sheet/components/FooterItem.js +50 -0
  25. package/dist/esm/elements/sheet/components/Header.js +55 -0
  26. package/dist/esm/elements/sheet/components/Title.js +59 -0
  27. package/dist/esm/index.js +24 -0
  28. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/link-stroke.svg.js +25 -0
  29. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/x-stroke.svg.js +26 -0
  30. package/dist/esm/styled/StyledChrome.js +22 -0
  31. package/dist/esm/styled/StyledSkipNav.js +67 -0
  32. package/dist/esm/styled/StyledSkipNavIcon.js +34 -0
  33. package/dist/esm/styled/body/StyledBody.js +25 -0
  34. package/dist/esm/styled/body/StyledContent.js +37 -0
  35. package/dist/esm/styled/body/StyledMain.js +25 -0
  36. package/dist/esm/styled/footer/StyledFooter.js +46 -0
  37. package/dist/esm/styled/footer/StyledFooterItem.js +22 -0
  38. package/dist/esm/styled/header/StyledBaseHeaderItem.js +44 -0
  39. package/dist/esm/styled/header/StyledHeader.js +58 -0
  40. package/dist/esm/styled/header/StyledHeaderItem.js +69 -0
  41. package/dist/esm/styled/header/StyledHeaderItemIcon.js +30 -0
  42. package/dist/esm/styled/header/StyledHeaderItemText.js +23 -0
  43. package/dist/esm/styled/header/StyledHeaderItemWrapper.js +24 -0
  44. package/dist/esm/styled/header/StyledLogoHeaderItem.js +55 -0
  45. package/dist/esm/styled/nav/StyledBaseNavItem.js +33 -0
  46. package/dist/esm/styled/nav/StyledBrandmarkNavItem.js +23 -0
  47. package/dist/esm/styled/nav/StyledLogoNavItem.js +37 -0
  48. package/dist/esm/styled/nav/StyledNav.js +54 -0
  49. package/dist/esm/styled/nav/StyledNavButton.js +94 -0
  50. package/dist/esm/styled/nav/StyledNavItemIcon.js +29 -0
  51. package/dist/esm/styled/nav/StyledNavItemText.js +39 -0
  52. package/dist/esm/styled/nav/StyledNavList.js +22 -0
  53. package/dist/esm/styled/nav/StyledNavListItem.js +22 -0
  54. package/dist/esm/styled/sheet/StyledSheet.js +56 -0
  55. package/dist/esm/styled/sheet/StyledSheetBody.js +22 -0
  56. package/dist/esm/styled/sheet/StyledSheetClose.js +31 -0
  57. package/dist/esm/styled/sheet/StyledSheetDescription.js +25 -0
  58. package/dist/esm/styled/sheet/StyledSheetFooter.js +41 -0
  59. package/dist/esm/styled/sheet/StyledSheetFooterItem.js +22 -0
  60. package/dist/esm/styled/sheet/StyledSheetHeader.js +45 -0
  61. package/dist/esm/styled/sheet/StyledSheetTitle.js +25 -0
  62. package/dist/esm/styled/sheet/StyledSheetWrapper.js +40 -0
  63. package/dist/esm/styled/utils.js +20 -0
  64. package/dist/esm/types/index.js +10 -0
  65. package/dist/esm/utils/useBodyContext.js +14 -0
  66. package/dist/esm/utils/useChromeContext.js +16 -0
  67. package/dist/esm/utils/useFocusableMount.js +31 -0
  68. package/dist/esm/utils/useNavContext.js +16 -0
  69. package/dist/esm/utils/useNavListContext.js +14 -0
  70. package/dist/esm/utils/useSheetContext.js +16 -0
  71. package/dist/index.cjs.js +888 -887
  72. package/dist/typings/elements/body/Body.d.ts +1 -2
  73. package/dist/typings/elements/footer/Footer.d.ts +8 -1
  74. package/dist/typings/elements/footer/FooterItem.d.ts +2 -0
  75. package/dist/typings/elements/header/Header.d.ts +11 -1
  76. package/dist/typings/elements/header/HeaderItem.d.ts +2 -0
  77. package/dist/typings/elements/header/HeaderItemIcon.d.ts +8 -3
  78. package/dist/typings/elements/header/HeaderItemText.d.ts +2 -0
  79. package/dist/typings/elements/header/HeaderItemWrapper.d.ts +2 -0
  80. package/dist/typings/elements/nav/Nav.d.ts +11 -1
  81. package/dist/typings/elements/nav/NavItem.d.ts +2 -0
  82. package/dist/typings/elements/nav/NavItemIcon.d.ts +8 -3
  83. package/dist/typings/elements/nav/NavItemText.d.ts +2 -0
  84. package/dist/typings/elements/{body/Sidebar.d.ts → nav/NavList.d.ts} +2 -2
  85. package/dist/typings/index.d.ts +9 -16
  86. package/dist/typings/styled/StyledSkipNav.d.ts +0 -3
  87. package/dist/typings/styled/StyledSkipNavIcon.d.ts +2 -2
  88. package/dist/typings/styled/body/StyledContent.d.ts +2 -1
  89. package/dist/typings/styled/footer/StyledFooter.d.ts +1 -2
  90. package/dist/typings/styled/header/StyledBaseHeaderItem.d.ts +1 -6
  91. package/dist/typings/styled/header/StyledHeader.d.ts +1 -2
  92. package/dist/typings/styled/header/StyledHeaderItem.d.ts +0 -3
  93. package/dist/typings/styled/header/StyledHeaderItemIcon.d.ts +3 -4
  94. package/dist/typings/styled/header/StyledHeaderItemText.d.ts +0 -1
  95. package/dist/typings/styled/header/StyledLogoHeaderItem.d.ts +2 -4
  96. package/dist/typings/styled/index.d.ts +3 -8
  97. package/dist/typings/styled/nav/StyledBaseNavItem.d.ts +2 -7
  98. package/dist/typings/styled/nav/StyledBrandmarkNavItem.d.ts +1 -5
  99. package/dist/typings/styled/nav/StyledLogoNavItem.d.ts +4 -9
  100. package/dist/typings/styled/nav/StyledNav.d.ts +2 -6
  101. package/dist/typings/styled/nav/StyledNavButton.d.ts +17 -0
  102. package/dist/typings/styled/nav/StyledNavItemIcon.d.ts +3 -4
  103. package/dist/typings/styled/nav/StyledNavItemText.d.ts +2 -1
  104. package/dist/typings/styled/{body/StyledSidebar.d.ts → nav/StyledNavList.d.ts} +1 -1
  105. package/dist/typings/styled/nav/StyledNavListItem.d.ts +10 -0
  106. package/dist/typings/styled/sheet/StyledSheetClose.d.ts +4 -8
  107. package/dist/typings/styled/sheet/StyledSheetDescription.d.ts +2 -3
  108. package/dist/typings/styled/sheet/StyledSheetFooter.d.ts +2 -2
  109. package/dist/typings/styled/sheet/StyledSheetFooterItem.d.ts +2 -3
  110. package/dist/typings/styled/sheet/StyledSheetHeader.d.ts +2 -6
  111. package/dist/typings/styled/sheet/StyledSheetTitle.d.ts +2 -3
  112. package/dist/typings/styled/sheet/StyledSheetWrapper.d.ts +2 -2
  113. package/dist/typings/styled/utils.d.ts +15 -0
  114. package/dist/typings/types/index.d.ts +3 -30
  115. package/dist/typings/utils/useBodyContext.d.ts +3 -2
  116. package/dist/typings/utils/useChromeContext.d.ts +0 -1
  117. package/dist/typings/utils/useNavListContext.d.ts +13 -0
  118. package/package.json +9 -10
  119. package/dist/index.esm.js +0 -1449
  120. package/dist/typings/elements/subnav/CollapsibleSubNavItem.d.ts +0 -12
  121. package/dist/typings/elements/subnav/SubNav.d.ts +0 -11
  122. package/dist/typings/elements/subnav/SubNavItem.d.ts +0 -12
  123. package/dist/typings/elements/subnav/SubNavItemText.d.ts +0 -12
  124. package/dist/typings/styled/nav/StyledNavItem.d.ts +0 -26
  125. package/dist/typings/styled/subnav/StyledSubNav.d.ts +0 -17
  126. package/dist/typings/styled/subnav/StyledSubNavItem.d.ts +0 -21
  127. package/dist/typings/styled/subnav/StyledSubNavItemHeader.d.ts +0 -14
  128. package/dist/typings/styled/subnav/StyledSubNavItemIcon.d.ts +0 -14
  129. package/dist/typings/styled/subnav/StyledSubNavItemText.d.ts +0 -11
  130. package/dist/typings/styled/subnav/StyledSubNavPanel.d.ts +0 -12
package/dist/index.cjs.js CHANGED
@@ -1,19 +1,17 @@
1
1
  /**
2
- * Copyright Zendesk, Inc.
3
- *
4
- * Use of this source code is governed under the Apache License, Version 2.0
5
- * found at http://www.apache.org/licenses/LICENSE-2.0.
6
- */
7
-
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
8
7
  'use strict';
9
8
 
10
9
  var React = require('react');
11
10
  var PropTypes = require('prop-types');
12
11
  var styled = require('styled-components');
13
- var polished = require('polished');
14
12
  var reactTheming = require('@zendeskgarden/react-theming');
15
- var containerAccordion = require('@zendeskgarden/container-accordion');
16
- var containerUtilities = require('@zendeskgarden/container-utilities');
13
+ var polished = require('polished');
14
+ var reactButtons = require('@zendeskgarden/react-buttons');
17
15
  var reactUid = require('react-uid');
18
16
  var reactMergeRefs = require('react-merge-refs');
19
17
  var activeElement = require('dom-helpers/activeElement');
@@ -43,710 +41,768 @@ var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
43
41
  var styled__default = /*#__PURE__*/_interopDefault(styled);
44
42
  var activeElement__default = /*#__PURE__*/_interopDefault(activeElement);
45
43
 
46
- function _extends$3() {
47
- _extends$3 = Object.assign ? Object.assign.bind() : function (target) {
48
- for (var i = 1; i < arguments.length; i++) {
49
- var source = arguments[i];
50
- for (var key in source) {
51
- if (Object.prototype.hasOwnProperty.call(source, key)) {
52
- target[key] = source[key];
53
- }
54
- }
55
- }
56
- return target;
57
- };
58
- return _extends$3.apply(this, arguments);
59
- }
60
-
61
- const ChromeContext = React__namespace.default.createContext({
62
- hue: 'chromeHue'
63
- });
64
- const useChromeContext = () => {
65
- return React.useContext(ChromeContext);
66
- };
44
+ const PLACEMENT = ['end', 'start'];
45
+ const PRODUCTS = ['chat', 'explore', 'guide', 'support', 'talk'];
67
46
 
68
- const COMPONENT_ID$A = 'chrome.chrome';
47
+ const COMPONENT_ID$w = 'chrome.chrome';
69
48
  const StyledChrome = styled__default.default.div.attrs({
70
- 'data-garden-id': COMPONENT_ID$A,
71
- 'data-garden-version': '9.0.0-next.2'
49
+ 'data-garden-id': COMPONENT_ID$w,
50
+ 'data-garden-version': '9.0.0-next.21'
72
51
  }).withConfig({
73
52
  displayName: "StyledChrome",
74
53
  componentId: "sc-1uqm6u6-0"
75
- })(["display:flex;position:relative;margin:0;height:100vh;overflow-y:hidden;font-family:", ";direction:", ";", ";"], props => props.theme.fonts.system, props => props.theme.rtl && 'rtl', props => reactTheming.retrieveComponentStyles(COMPONENT_ID$A, props));
54
+ })(["display:flex;position:relative;margin:0;height:100vh;overflow-y:hidden;font-family:", ";direction:", ";", ";"], props => props.theme.fonts.system, props => props.theme.rtl && 'rtl', props => reactTheming.retrieveComponentStyles(COMPONENT_ID$w, props));
76
55
  StyledChrome.defaultProps = {
77
56
  theme: reactTheming.DEFAULT_THEME
78
57
  };
79
58
 
80
- const COMPONENT_ID$z = 'chrome.header_item_icon';
81
- const StyledHeaderItemIcon = styled__default.default.div.attrs({
82
- 'data-garden-id': COMPONENT_ID$z,
83
- 'data-garden-version': '9.0.0-next.2'
84
- }).withConfig({
85
- displayName: "StyledHeaderItemIcon",
86
- componentId: "sc-1jhhp6z-0"
87
- })(["transition:transform 0.25s ease-in-out;margin:0 3px;width:", ";min-width:", ";height:", ";", ";"], props => props.theme.iconSizes.md, props => props.theme.iconSizes.md, props => props.theme.iconSizes.md, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$z, props));
88
- StyledHeaderItemIcon.defaultProps = {
89
- theme: reactTheming.DEFAULT_THEME
90
- };
91
-
92
- const COMPONENT_ID$y = 'chrome.base_header_item';
93
- const getHeaderItemSize = props => `${props.theme.space.base * 7.5}px`;
94
- const sizeStyles$4 = props => {
95
- const size = props.theme.space.base * 7.5;
96
- return styled.css(["padding:0 3px;min-width:", "px;height:", ";line-height:", ";"], size, props.maxY ? '100%' : `${size}px`, reactTheming.getLineHeight(size, props.theme.fontSizes.md));
97
- };
98
- const StyledBaseHeaderItem = styled__default.default.button.attrs({
99
- 'data-garden-id': COMPONENT_ID$y,
100
- 'data-garden-version': '9.0.0-next.2'
101
- }).withConfig({
102
- displayName: "StyledBaseHeaderItem",
103
- componentId: "sc-1qua7h6-0"
104
- })(["display:inline-flex;position:relative;flex:", ";align-items:center;justify-content:", ";order:1;transition:box-shadow 0.1s ease-in-out,color 0.1s ease-in-out;z-index:0;margin:", ";border:none;border-radius:", ";background:transparent;text-decoration:none;white-space:nowrap;color:inherit;font-size:inherit;", " ", ";"], props => props.maxX && '1', props => props.maxX ? 'start' : 'center', props => `0 ${props.theme.space.base * 3}px`, props => {
105
- if (props.isRound) {
106
- return '100%';
107
- }
108
- if (props.maxY) {
109
- return '0';
110
- }
111
- return props.theme.borderRadii.md;
112
- }, sizeStyles$4, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$y, props));
113
- StyledBaseHeaderItem.defaultProps = {
114
- theme: reactTheming.DEFAULT_THEME
115
- };
116
-
117
- const COMPONENT_ID$x = 'chrome.header_item_text';
118
- const clippedStyling = styled.css(["position:absolute;margin:0;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap;"]);
119
- const StyledHeaderItemText = styled__default.default.span.attrs({
120
- 'data-garden-id': COMPONENT_ID$x,
121
- 'data-garden-version': '9.0.0-next.2'
122
- }).withConfig({
123
- displayName: "StyledHeaderItemText",
124
- componentId: "sc-goz7la-0"
125
- })(["margin:0 3px;", " ", ";"], props => props.isClipped && clippedStyling, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$x, props));
126
- StyledHeaderItemText.defaultProps = {
127
- theme: reactTheming.DEFAULT_THEME
128
- };
129
-
130
- const COMPONENT_ID$w = 'chrome.nav';
131
- const colorStyles$6 = props => {
132
- const shade = props.isDark || props.isLight ? 600 : 700;
133
- const backgroundColor = reactTheming.getColor(props.hue, shade, props.theme);
134
- const foregroundColor = props.isLight ? props.theme.palette.black : props.theme.palette.white;
135
- return styled.css(["background-color:", ";color:", ";"], backgroundColor, foregroundColor);
136
- };
137
- const getNavWidth = props => {
138
- return `${props.theme.space.base * 15}px`;
139
- };
140
- const getExpandedNavWidth = () => {
141
- return `200px`;
142
- };
143
- const StyledNav = styled__default.default.nav.attrs({
144
- 'data-garden-id': COMPONENT_ID$w,
145
- 'data-garden-version': '9.0.0-next.2'
146
- }).withConfig({
147
- displayName: "StyledNav",
148
- componentId: "sc-6j462r-0"
149
- })(["display:flex;position:relative;flex-direction:column;flex-shrink:0;order:-1;width:", ";font-size:", ";", ";", ";"], props => props.isExpanded ? getExpandedNavWidth : getNavWidth, props => props.theme.fontSizes.md, props => colorStyles$6(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$w, props));
150
- StyledNav.defaultProps = {
151
- theme: reactTheming.DEFAULT_THEME
152
- };
153
-
154
- const COMPONENT_ID$v = 'chrome.header_item';
155
- const retrieveProductColor$1 = props => {
156
- switch (props.product) {
157
- case 'chat':
158
- return reactTheming.PALETTE.product.chat;
159
- case 'connect':
160
- return reactTheming.PALETTE.product.connect;
161
- case 'explore':
162
- return reactTheming.PALETTE.product.explore;
163
- case 'guide':
164
- return reactTheming.PALETTE.product.guide;
165
- case 'message':
166
- return reactTheming.PALETTE.product.message;
167
- case 'support':
168
- return reactTheming.PALETTE.product.support;
169
- case 'talk':
170
- return reactTheming.PALETTE.product.talk;
171
- default:
172
- return 'inherit';
173
- }
174
- };
175
- const StyledLogoHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
176
- 'data-garden-id': COMPONENT_ID$v,
177
- 'data-garden-version': '9.0.0-next.2',
178
- as: 'div'
179
- }).withConfig({
180
- displayName: "StyledLogoHeaderItem",
181
- componentId: "sc-1n1d1yv-0"
182
- })(["display:none;order:0;margin-right:", ";margin-left:", ";border-", ":", ";border-radius:0;padding:0;width:", ";height:100%;overflow:hidden;fill:", ";text-decoration:none;color:", ";", "{", "}", "{margin:0;width:", ";height:", ";}", ";"], props => props.theme.rtl ? `-${props.theme.space.base}px` : 'auto', props => props.theme.rtl ? 'auto' : `-${props.theme.space.base}px`, props => props.theme.rtl ? 'left' : 'right', props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}`, props => getNavWidth(props), props => reactTheming.getColor('chromeHue', 700, props.theme), props => retrieveProductColor$1(props), StyledHeaderItemText, clippedStyling, StyledHeaderItemIcon, props => props.theme.iconSizes.lg, props => props.theme.iconSizes.lg, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$v, props));
183
- StyledLogoHeaderItem.defaultProps = {
184
- theme: reactTheming.DEFAULT_THEME
185
- };
186
-
187
- const COMPONENT_ID$u = 'chrome.base_nav_item';
188
- const getNavItemHeight = props => {
189
- return `${props.theme.space.base * 13}px`;
190
- };
191
- const sizeStyles$3 = props => {
192
- const verticalPadding = polished.math(`(${getNavItemHeight(props)} - ${props.theme.iconSizes.lg}) / 2`);
193
- const horizontalPadding = polished.math(`(${getNavWidth(props)} - ${props.theme.iconSizes.lg}) / 4`);
194
- return styled.css(["padding:", " ", ";min-height:", ";"], verticalPadding, horizontalPadding, getNavItemHeight);
195
- };
196
- const StyledBaseNavItem = styled__default.default.button.attrs({
197
- 'data-garden-id': COMPONENT_ID$u,
198
- 'data-garden-version': '9.0.0-next.2'
199
- }).withConfig({
200
- displayName: "StyledBaseNavItem",
201
- componentId: "sc-zvo43f-0"
202
- })(["display:flex;flex-shrink:0;align-items:center;justify-content:center;transition:outline-color 0.1s ease-in-out,box-shadow 0.1s ease-in-out,background-color 0.1s ease-in-out,opacity 0.1s ease-in-out;border:none;box-sizing:border-box;background:transparent;text-decoration:none;color:inherit;font-size:inherit;", ""], props => sizeStyles$3(props));
203
- StyledBaseNavItem.defaultProps = {
204
- theme: reactTheming.DEFAULT_THEME
205
- };
206
-
207
- const COMPONENT_ID$t = 'chrome.header';
208
- const getHeaderHeight = props => {
209
- return getNavItemHeight(props);
210
- };
211
- const StyledHeader = styled__default.default.header.attrs({
212
- 'data-garden-id': COMPONENT_ID$t,
213
- 'data-garden-version': '9.0.0-next.2'
214
- }).withConfig({
215
- displayName: "StyledHeader",
216
- componentId: "sc-1cexpz-0"
217
- })(["display:flex;position:", ";align-items:center;justify-content:flex-end;box-sizing:border-box;border-bottom:", ";box-shadow:", ";background-color:", ";padding:0 ", "px;height:", ";color:", ";font-size:", ";", " ", ";"], props => props.isStandalone && 'relative', props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}`, props => props.isStandalone && props.theme.shadows.lg('0', '10px', reactTheming.getColor('chromeHue', 600, props.theme, 0.15)), props => props.theme.colors.background, props => props.theme.space.base, getHeaderHeight, props => reactTheming.getColor('neutralHue', 600, props.theme), props => props.theme.fontSizes.md, props => props.isStandalone && `
218
- ${StyledLogoHeaderItem} {
219
- display: inline-flex;
220
- }
221
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$t, props));
222
- StyledHeader.defaultProps = {
223
- theme: reactTheming.DEFAULT_THEME
59
+ const getFooterHeight = theme => `${theme.space.base * 20}px`;
60
+ const getHeaderHeight = theme => `${theme.space.base * 13}px`;
61
+ const getHeaderItemSize = theme => `${theme.space.base * 7.5}px`;
62
+ const getNavItemHeight = theme => getHeaderHeight(theme);
63
+ const getNavWidth = theme => `${theme.space.base * 15}px`;
64
+ const getNavWidthExpanded = () => `200px`;
65
+ const getProductColor = function (product) {
66
+ let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'inherit';
67
+ return product ? reactTheming.PALETTE.product[product] || fallback : fallback;
224
68
  };
225
69
 
226
- const COMPONENT_ID$s = 'chrome.skipnav';
70
+ const COMPONENT_ID$v = 'chrome.skipnav';
227
71
  const animationStyles = () => {
228
72
  const animationName = styled.keyframes(["0%{transform:translate(-50%,-50%);}"]);
229
73
  return styled.css(["transition:opacity 0.2s ease-out,clip 0s linear 0.2s;opacity:0;clip:rect(0,0,0,0);&:focus{transition:opacity 0.2s ease-in-out;animation:0.2s cubic-bezier(0.15,0.85,0.35,1.2) ", ";opacity:1;clip:rect(0,150vw,100vh,-50vw);}"], animationName);
230
74
  };
231
- const colorStyles$5 = theme => {
232
- const color = reactTheming.getColor('primaryHue', 600, theme);
233
- const borderColor = reactTheming.getColor('neutralHue', 300, theme);
234
- const boxShadow = theme.shadows.lg(`${theme.space.base * 5}px`, `${theme.space.base * 7}px`, reactTheming.getColor('chromeHue', 600, theme, 0.15));
235
- return styled.css(["border-color:", ";box-shadow:", ";background-color:", ";color:", ";&:hover,&:focus{color:", ";}", ""], borderColor, boxShadow, theme.colors.background, color, color, reactTheming.focusStyles({
75
+ const colorStyles$a = _ref => {
76
+ let {
77
+ theme
78
+ } = _ref;
79
+ const backgroundColor = reactTheming.getColor({
80
+ theme,
81
+ variable: 'background.raised'
82
+ });
83
+ const borderColor = reactTheming.getColor({
84
+ theme,
85
+ variable: 'border.default'
86
+ });
87
+ const boxShadowColor = reactTheming.getColor({
88
+ variable: 'shadow.medium',
89
+ theme
90
+ });
91
+ const boxShadow = theme.shadows.lg(`${theme.space.base * 4}px`, `${theme.space.base * 6}px`, boxShadowColor);
92
+ const foregroundColor = reactTheming.getColor({
93
+ theme,
94
+ variable: 'foreground.primary'
95
+ });
96
+ return styled.css(["border-color:", ";box-shadow:", ";background-color:", ";color:", ";&:hover,&:focus{color:", ";}", ""], borderColor, boxShadow, backgroundColor, foregroundColor, foregroundColor, reactTheming.focusStyles({
236
97
  theme,
237
98
  inset: true,
238
99
  boxShadow
239
100
  }));
240
101
  };
241
- const sizeStyles$2 = props => {
242
- const top = polished.math(`${getHeaderHeight(props)} / 2`);
243
- const padding = `${props.theme.space.base * 5}px`;
244
- const paddingStart = `${props.theme.space.base * 4}px`;
245
- const fontSize = props.theme.fontSizes.md;
102
+ const sizeStyles$g = _ref2 => {
103
+ let {
104
+ theme
105
+ } = _ref2;
106
+ const top = polished.math(`${getHeaderHeight(theme)} / 2`);
107
+ const border = theme.borders.sm;
108
+ const padding = `${theme.space.base * 5}px`;
109
+ const paddingStart = `${theme.space.base * 4}px`;
110
+ const fontSize = theme.fontSizes.md;
246
111
  const lineHeight = reactTheming.getLineHeight(padding, fontSize);
247
- return styled.css(["top:", ";padding:", ";padding-", ":", ";line-height:", ";font-size:", ";"], top, padding, props.theme.rtl ? 'right' : 'left', paddingStart, lineHeight, fontSize);
112
+ return styled.css(["top:", ";border:", ";padding:", ";padding-", ":", ";line-height:", ";font-size:", ";"], top, border, padding, theme.rtl ? 'right' : 'left', paddingStart, lineHeight, fontSize);
248
113
  };
249
114
  const StyledSkipNav = styled__default.default.a.attrs({
250
- 'data-garden-id': COMPONENT_ID$s,
251
- 'data-garden-version': '9.0.0-next.2'
115
+ 'data-garden-id': COMPONENT_ID$v,
116
+ 'data-garden-version': '9.0.0-next.21'
252
117
  }).withConfig({
253
118
  displayName: "StyledSkipNav",
254
119
  componentId: "sc-1tsro34-0"
255
- })(["", ";display:inline-flex;position:absolute;left:50%;align-items:center;justify-content:center;transform:translateX(-50%);direction:", ";z-index:", ";border:", ";border-radius:", ";text-decoration:underline;white-space:nowrap;", ";", "{text-decoration:none;}&:hover{text-decoration:underline;}", ";", ";"], animationStyles(), props => props.theme.rtl && 'rtl', props => props.zIndex, props => props.theme.borders.sm, props => props.theme.borderRadii.md, props => sizeStyles$2(props), reactTheming.SELECTOR_FOCUS_VISIBLE, props => colorStyles$5(props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$s, props));
120
+ })(["", ";display:inline-flex;position:absolute;left:50%;align-items:center;justify-content:center;transform:translateX(-50%);direction:", ";z-index:", ";border-radius:", ";text-decoration:underline;white-space:nowrap;", ";", "{text-decoration:none;}&:hover{text-decoration:underline;}", ";", ";"], animationStyles(), props => props.theme.rtl && 'rtl', props => props.zIndex, props => props.theme.borderRadii.md, sizeStyles$g, reactTheming.SELECTOR_FOCUS_VISIBLE, colorStyles$a, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$v, props));
256
121
  StyledSkipNav.defaultProps = {
257
122
  theme: reactTheming.DEFAULT_THEME
258
123
  };
259
124
 
260
- var _path$2;
261
- function _extends$2() { _extends$2 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
125
+ var _path$1;
126
+ function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
262
127
  var SvgLinkStroke = function SvgLinkStroke(props) {
263
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2({
128
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
264
129
  xmlns: "http://www.w3.org/2000/svg",
265
130
  width: 16,
266
131
  height: 16,
267
132
  focusable: "false",
268
133
  viewBox: "0 0 16 16",
269
134
  "aria-hidden": "true"
270
- }, props), _path$2 || (_path$2 = /*#__PURE__*/React__namespace.createElement("path", {
135
+ }, props), _path$1 || (_path$1 = /*#__PURE__*/React__namespace.createElement("path", {
271
136
  fill: "currentColor",
272
137
  d: "M4.441 7.38l.095.083.939.939-.708.707-.939-.939-2 2-.132.142a2.829 2.829 0 003.99 3.99l.142-.132 2-2-.939-.939.707-.708.94.94a1 1 0 01.083 1.32l-.083.094-2 2A3.828 3.828 0 01.972 9.621l.15-.158 2-2A1 1 0 014.34 7.31l.101.07zm7.413-3.234a.5.5 0 01.057.638l-.057.07-7 7a.5.5 0 01-.765-.638l.057-.07 7-7a.5.5 0 01.708 0zm3.023-3.025a3.829 3.829 0 01.15 5.257l-.15.158-2 2a1 1 0 01-1.32.083l-.094-.083-.94-.94.708-.707.939.94 2-2 .132-.142a2.829 2.829 0 00-3.99-3.99l-.142.131-2 2 .939.939-.707.708-.94-.94a1 1 0 01-.082-1.32l.083-.094 2-2a3.828 3.828 0 015.414 0z"
273
138
  })));
274
139
  };
275
140
 
276
- const COMPONENT_ID$r = 'chrome.skipnav_icon';
277
- const sizeStyles$1 = theme => {
141
+ const COMPONENT_ID$u = 'chrome.skipnav_icon';
142
+ const sizeStyles$f = _ref => {
143
+ let {
144
+ theme
145
+ } = _ref;
278
146
  const margin = `${theme.space.base * 2}px`;
279
147
  const size = theme.iconSizes.md;
280
148
  return styled.css(["margin-", ":", ";width:", ";height:", ";"], theme.rtl ? 'left' : 'right', margin, size, size);
281
149
  };
282
150
  const StyledSkipNavIcon = styled__default.default(SvgLinkStroke).attrs({
283
- 'data-garden-id': COMPONENT_ID$r,
284
- 'data-garden-version': '9.0.0-next.2'
151
+ 'data-garden-id': COMPONENT_ID$u,
152
+ 'data-garden-version': '9.0.0-next.21'
285
153
  }).withConfig({
286
154
  displayName: "StyledSkipNavIcon",
287
155
  componentId: "sc-1ika5z4-0"
288
- })(["transform:", ";color:", ";", ";", ";"], props => props.theme.rtl && 'scaleX(-1)', props => reactTheming.getColor('neutralHue', 600, props.theme), props => sizeStyles$1(props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$r, props));
156
+ })(["transform:", ";color:", ";", ";", ";"], p => p.theme.rtl && 'scaleX(-1)', p => reactTheming.getColor({
157
+ theme: p.theme,
158
+ variable: 'foreground.subtle'
159
+ }), sizeStyles$f, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$u, props));
289
160
  StyledSkipNavIcon.defaultProps = {
290
161
  theme: reactTheming.DEFAULT_THEME
291
162
  };
292
163
 
293
- const COMPONENT_ID$q = 'chrome.body';
164
+ const COMPONENT_ID$t = 'chrome.body';
294
165
  const StyledBody = styled__default.default.div.attrs({
295
- 'data-garden-id': COMPONENT_ID$q,
296
- 'data-garden-version': '9.0.0-next.2'
166
+ 'data-garden-id': COMPONENT_ID$t,
167
+ 'data-garden-version': '9.0.0-next.21'
297
168
  }).withConfig({
298
169
  displayName: "StyledBody",
299
170
  componentId: "sc-c7h9kv-0"
300
- })(["flex:1;order:1;background-color:", ";min-width:0;", ";"], props => reactTheming.getColor('neutralHue', 100, props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$q, props));
171
+ })(["flex:1;order:1;background-color:", ";min-width:0;", ";"], props => reactTheming.getColor({
172
+ theme: props.theme,
173
+ variable: 'background.default'
174
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$t, props));
301
175
  StyledBody.defaultProps = {
302
176
  theme: reactTheming.DEFAULT_THEME
303
177
  };
304
178
 
305
- const COMPONENT_ID$p = 'chrome.footer';
306
- const getFooterHeight = props => {
307
- return `${props.theme.space.base * 20}px`;
308
- };
309
- const StyledFooter = styled__default.default.footer.attrs({
310
- 'data-garden-id': COMPONENT_ID$p,
311
- 'data-garden-version': '9.0.0-next.2'
312
- }).withConfig({
313
- displayName: "StyledFooter",
314
- componentId: "sc-v7lib2-0"
315
- })(["display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;border-top:", ";background-color:", ";padding:0 ", "px;height:", ";", ";"], props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}`, props => props.theme.colors.background, props => props.theme.space.base * 9, getFooterHeight, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$p, props));
316
- StyledFooter.defaultProps = {
317
- theme: reactTheming.DEFAULT_THEME
179
+ const COMPONENT_ID$s = 'chrome.content';
180
+ const sizeStyles$e = _ref => {
181
+ let {
182
+ theme,
183
+ hasFooter
184
+ } = _ref;
185
+ const fontSize = theme.fontSizes.md;
186
+ const height = hasFooter ? `calc(100% - ${polished.math(`${getHeaderHeight(theme)} + ${getFooterHeight(theme)}`)})` : `calc(100% - ${getHeaderHeight(theme)})`;
187
+ const lineHeight = reactTheming.getLineHeight(theme.lineHeights.md, theme.fontSizes.md);
188
+ return styled.css(["height:", ";line-height:", ";font-size:", ";"], height, lineHeight, fontSize);
318
189
  };
319
-
320
- const COMPONENT_ID$o = 'chrome.content';
321
190
  const StyledContent = styled__default.default.div.attrs({
322
- 'data-garden-id': COMPONENT_ID$o,
323
- 'data-garden-version': '9.0.0-next.2'
191
+ 'data-garden-id': COMPONENT_ID$s,
192
+ 'data-garden-version': '9.0.0-next.21'
324
193
  }).withConfig({
325
194
  displayName: "StyledContent",
326
195
  componentId: "sc-qcuzxn-0"
327
- })(["display:flex;height:", ";line-height:", ";color:", ";font-size:", ";&:focus{outline:none;}", ";"], props => props.hasFooter ? `calc(100% - ${polished.math(`${getHeaderHeight(props)} + ${getFooterHeight(props)}`)})` : `calc(100% - ${getHeaderHeight(props)})`, props => reactTheming.getLineHeight(props.theme.lineHeights.md, props.theme.fontSizes.md), props => props.theme.colors.foreground, props => props.theme.fontSizes.md, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$o, props));
196
+ })(["display:flex;color-scheme:only ", ";color:", ";", ";&:focus{outline:none;}", ";"], p => p.theme.colors.base, props => reactTheming.getColor({
197
+ theme: props.theme,
198
+ variable: 'foreground.default'
199
+ }), sizeStyles$e, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$s, props));
328
200
  StyledContent.defaultProps = {
329
201
  theme: reactTheming.DEFAULT_THEME
330
202
  };
331
203
 
332
- const COMPONENT_ID$n = 'chrome.main';
204
+ const COMPONENT_ID$r = 'chrome.main';
333
205
  const StyledMain = styled__default.default.main.attrs({
334
- 'data-garden-id': COMPONENT_ID$n,
335
- 'data-garden-version': '9.0.0-next.2'
206
+ 'data-garden-id': COMPONENT_ID$r,
207
+ 'data-garden-version': '9.0.0-next.21'
336
208
  }).withConfig({
337
209
  displayName: "StyledMain",
338
210
  componentId: "sc-t61cre-0"
339
- })(["flex:1;order:1;background-color:", ";overflow:auto;:focus{outline:none;}", ";"], props => props.theme.colors.background, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$n, props));
211
+ })(["flex:1;order:1;background-color:", ";overflow:auto;:focus{outline:none;}", ";"], props => reactTheming.getColor({
212
+ theme: props.theme,
213
+ variable: 'background.default'
214
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$r, props));
340
215
  StyledMain.defaultProps = {
341
216
  theme: reactTheming.DEFAULT_THEME
342
217
  };
343
218
 
344
- const COMPONENT_ID$m = 'chrome.sidebar';
345
- const StyledSidebar = styled__default.default.aside.attrs({
346
- 'data-garden-id': COMPONENT_ID$m,
347
- 'data-garden-version': '9.0.0-next.2'
219
+ const COMPONENT_ID$q = 'chrome.footer';
220
+ const colorStyles$9 = _ref => {
221
+ let {
222
+ theme
223
+ } = _ref;
224
+ const backgroundColor = reactTheming.getColor({
225
+ theme,
226
+ variable: 'background.default'
227
+ });
228
+ const borderColor = reactTheming.getColor({
229
+ theme,
230
+ variable: 'border.default'
231
+ });
232
+ return styled.css(["border-top-color:", ";background-color:", ";"], borderColor, backgroundColor);
233
+ };
234
+ const sizeStyles$d = _ref2 => {
235
+ let {
236
+ theme
237
+ } = _ref2;
238
+ const border = theme.borders.sm;
239
+ const padding = `0 ${theme.space.base * 9}px`;
240
+ const height = getFooterHeight(theme);
241
+ return styled.css(["box-sizing:border-box;border-top:", ";padding:", ";height:", ";"], border, padding, height);
242
+ };
243
+ const StyledFooter = styled__default.default.footer.attrs({
244
+ 'data-garden-id': COMPONENT_ID$q,
245
+ 'data-garden-version': '9.0.0-next.21'
348
246
  }).withConfig({
349
- displayName: "StyledSidebar",
350
- componentId: "sc-1q77fuw-0"
351
- })(["flex-shrink:0;order:0;box-sizing:border-box;border-", ":", ";width:330px;overflow:auto;&:focus{outline:none;}", ";"], props => props.theme.rtl ? 'left' : 'right', props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$m, props));
352
- StyledSidebar.defaultProps = {
247
+ displayName: "StyledFooter",
248
+ componentId: "sc-v7lib2-0"
249
+ })(["display:flex;align-items:center;justify-content:flex-end;", ";", ";", ";"], sizeStyles$d, colorStyles$9, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$q, props));
250
+ StyledFooter.defaultProps = {
353
251
  theme: reactTheming.DEFAULT_THEME
354
252
  };
355
253
 
356
- const COMPONENT_ID$l = 'chrome.footer_item';
254
+ const COMPONENT_ID$p = 'chrome.footer_item';
357
255
  const StyledFooterItem = styled__default.default.div.attrs({
358
- 'data-garden-id': COMPONENT_ID$l,
359
- 'data-garden-version': '9.0.0-next.2'
256
+ 'data-garden-id': COMPONENT_ID$p,
257
+ 'data-garden-version': '9.0.0-next.21'
360
258
  }).withConfig({
361
259
  displayName: "StyledFooterItem",
362
260
  componentId: "sc-1cktm85-0"
363
- })(["margin:", ";", ";"], props => `0 ${props.theme.space.base}px`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$l, props));
261
+ })(["margin:", ";", ";"], props => `0 ${props.theme.space.base}px`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$p, props));
364
262
  StyledFooterItem.defaultProps = {
365
263
  theme: reactTheming.DEFAULT_THEME
366
264
  };
367
265
 
368
- const COMPONENT_ID$k = 'chrome.header_item';
369
- const imgStyles = props => {
370
- const size = polished.math(`${getHeaderItemSize(props)} - ${props.theme.space.base * 2}`);
371
- return styled.css(["img{margin:0;border-radius:", ";width:", ";height:", ";}"], polished.math(`${props.theme.borderRadii.md} - 1`), size, size);
372
- };
373
- const StyledHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
374
- 'data-garden-id': COMPONENT_ID$k,
375
- 'data-garden-version': '9.0.0-next.2'
376
- }).withConfig({
377
- displayName: "StyledHeaderItem",
378
- componentId: "sc-14sft6n-0"
379
- })(["&:hover,&:focus{text-decoration:none;color:inherit;}", " &:focus-visible:active,&[data-garden-focus-visible]:active{box-shadow:none;}&:hover ", ",&:hover ", ",&:active ", ",&:active ", "{color:", ";}", " ", " ", ";"], props => reactTheming.focusStyles({
380
- theme: props.theme,
381
- inset: props.maxY
382
- }), StyledHeaderItemIcon, StyledHeaderItemText, StyledHeaderItemIcon, StyledHeaderItemText, props => reactTheming.getColor('chromeHue', 700, props.theme), imgStyles, props => props.isRound && `
383
- ${StyledHeaderItemIcon} {
384
- border-radius: 100px;
385
- }
386
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$k, props));
387
- StyledHeaderItem.defaultProps = {
388
- theme: reactTheming.DEFAULT_THEME
266
+ const COMPONENT_ID$o = 'chrome.header_item_icon';
267
+ const sizeStyles$c = _ref => {
268
+ let {
269
+ theme
270
+ } = _ref;
271
+ const margin = `0 ${theme.space.base * 0.75}px`;
272
+ const size = theme.iconSizes.md;
273
+ return styled.css(["margin:", ";width:", ";min-width:", ";height:", ";"], margin, size, size, size);
389
274
  };
390
-
391
- const COMPONENT_ID$j = 'chrome.header_item_wrapper';
392
- const StyledHeaderItemWrapper = styled__default.default(StyledBaseHeaderItem).attrs({
393
- 'data-garden-id': COMPONENT_ID$j,
394
- 'data-garden-version': '9.0.0-next.2',
395
- as: 'div'
275
+ const StyledHeaderItemIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
276
+ 'data-garden-id': COMPONENT_ID$o,
277
+ 'data-garden-version': '9.0.0-next.21'
396
278
  }).withConfig({
397
- displayName: "StyledHeaderItemWrapper",
398
- componentId: "sc-1uieu55-0"
399
- })(["", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$j, props));
400
- StyledHeaderItemWrapper.defaultProps = {
279
+ displayName: "StyledHeaderItemIcon",
280
+ componentId: "sc-1jhhp6z-0"
281
+ })(["transition:transform 0.25s ease-in-out;", ";", ";"], sizeStyles$c, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$o, props));
282
+ StyledHeaderItemIcon.defaultProps = {
401
283
  theme: reactTheming.DEFAULT_THEME
402
284
  };
403
285
 
404
- const COMPONENT_ID$i = 'chrome.logo_nav_item';
405
- const retrieveProductColor = product => {
406
- switch (product) {
407
- case 'chat':
408
- return reactTheming.PALETTE.product.chat;
409
- case 'connect':
410
- return reactTheming.PALETTE.product.connect;
411
- case 'explore':
412
- return reactTheming.PALETTE.product.explore;
413
- case 'guide':
414
- return reactTheming.PALETTE.product.guide;
415
- case 'message':
416
- return reactTheming.PALETTE.product.message;
417
- case 'support':
418
- return reactTheming.PALETTE.product.support;
419
- case 'talk':
420
- return reactTheming.PALETTE.product.talk;
421
- default:
422
- return 'inherit';
286
+ const COMPONENT_ID$n = 'chrome.base_header_item';
287
+ const sizeStyles$b = _ref => {
288
+ let {
289
+ theme,
290
+ maxY,
291
+ isRound
292
+ } = _ref;
293
+ const margin = `0 ${theme.space.base * 3}px`;
294
+ const size = getHeaderItemSize(theme);
295
+ const height = maxY ? '100%' : size;
296
+ const lineHeight = reactTheming.getLineHeight(size, theme.fontSizes.md);
297
+ const padding = `0 ${theme.space.base * 0.75}px`;
298
+ let borderRadius;
299
+ if (isRound) {
300
+ borderRadius = '100%';
301
+ } else if (maxY) {
302
+ borderRadius = '0';
303
+ } else {
304
+ borderRadius = theme.borderRadii.md;
423
305
  }
306
+ return styled.css(["margin:", ";border-radius:", ";padding:", ";min-width:", ";height:", ";line-height:", ";font-size:inherit;"], margin, borderRadius, padding, size, height, lineHeight);
424
307
  };
425
- const colorStyles$4 = props => {
426
- const fillColor = props.isLight ? props.theme.palette.grey[800] : props.theme.palette.white;
427
- const color = props.isLight || props.isDark ? fillColor : retrieveProductColor(props.product);
428
- return styled.css(["color:", ";fill:", ";"], color, fillColor);
429
- };
430
- const StyledLogoNavItem = styled__default.default(StyledBaseNavItem).attrs({
431
- 'data-garden-id': COMPONENT_ID$i,
432
- 'data-garden-version': '9.0.0-next.2',
433
- as: 'div'
308
+ const StyledBaseHeaderItem = styled__default.default.button.attrs({
309
+ 'data-garden-id': COMPONENT_ID$n,
310
+ 'data-garden-version': '9.0.0-next.21'
434
311
  }).withConfig({
435
- displayName: "StyledLogoNavItem",
436
- componentId: "sc-saaydx-0"
437
- })(["order:0;opacity:1;cursor:default;", ";"], props => colorStyles$4(props));
438
- StyledLogoNavItem.defaultProps = {
312
+ displayName: "StyledBaseHeaderItem",
313
+ componentId: "sc-1qua7h6-0"
314
+ })(["display:inline-flex;position:relative;flex:", ";align-items:center;justify-content:", ";order:1;transition:box-shadow 0.1s ease-in-out,color 0.1s ease-in-out;z-index:0;border:none;background:transparent;text-decoration:none;white-space:nowrap;color:inherit;", ";", ";"], props => props.maxX && '1', props => props.maxX ? 'start' : 'center', sizeStyles$b, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$n, props));
315
+ StyledBaseHeaderItem.defaultProps = {
439
316
  theme: reactTheming.DEFAULT_THEME
440
317
  };
441
318
 
442
- const COMPONENT_ID$h = 'chrome.brandmark_nav_item';
443
- const StyledBrandmarkNavItem = styled__default.default(StyledBaseNavItem).attrs({
444
- 'data-garden-id': COMPONENT_ID$h,
445
- 'data-garden-version': '9.0.0-next.2',
446
- as: 'div'
319
+ const COMPONENT_ID$m = 'chrome.header_item_text';
320
+ const StyledHeaderItemText = styled__default.default.span.attrs({
321
+ 'data-garden-id': COMPONENT_ID$m,
322
+ 'data-garden-version': '9.0.0-next.21'
447
323
  }).withConfig({
448
- displayName: "StyledBrandmarkNavItem",
449
- componentId: "sc-8kynd4-0"
450
- })(["order:1;opacity:0.3;margin-top:auto;"]);
451
- StyledBrandmarkNavItem.defaultProps = {
324
+ displayName: "StyledHeaderItemText",
325
+ componentId: "sc-goz7la-0"
326
+ })(["margin:", ";", " ", ";"], props => `0 ${props.theme.space.base * 0.75}px`, props => props.isClipped && polished.hideVisually(), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$m, props));
327
+ StyledHeaderItemText.defaultProps = {
452
328
  theme: reactTheming.DEFAULT_THEME
453
329
  };
454
330
 
455
- const COMPONENT_ID$g = 'chrome.nav_item_icon';
456
- const StyledNavItemIcon = styled__default.default.div.attrs({
457
- 'data-garden-id': COMPONENT_ID$g,
458
- 'data-garden-version': '9.0.0-next.2'
331
+ const COMPONENT_ID$l = 'chrome.header_item';
332
+ const colorStyles$8 = _ref => {
333
+ let {
334
+ theme,
335
+ product
336
+ } = _ref;
337
+ const borderColor = reactTheming.getColor({
338
+ theme,
339
+ variable: 'border.default'
340
+ });
341
+ const fill = reactTheming.getColor({
342
+ theme,
343
+ variable: 'foreground.default'
344
+ });
345
+ const color = getProductColor(product, fill );
346
+ return styled.css(["border-", "-color:", ";color:", ";fill:", ";"], theme.rtl ? 'left' : 'right', borderColor, color, fill);
347
+ };
348
+ const sizeStyles$a = _ref2 => {
349
+ let {
350
+ theme
351
+ } = _ref2;
352
+ const border = theme.borders.sm;
353
+ const iconSize = theme.iconSizes.lg;
354
+ const marginRight = theme.rtl ? `-${theme.space.base}px` : 'auto';
355
+ const marginLeft = theme.rtl ? 'auto' : `-${theme.space.base}px`;
356
+ const width = getNavWidth(theme);
357
+ return styled.css(["margin-right:", ";margin-left:", ";border-", ":", ";width:", ";height:100%;", "{margin:0;width:", ";height:", ";}"], marginRight, marginLeft, theme.rtl ? 'left' : 'right', border, width, StyledHeaderItemIcon, iconSize, iconSize);
358
+ };
359
+ const StyledLogoHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
360
+ 'data-garden-id': COMPONENT_ID$l,
361
+ 'data-garden-version': '9.0.0-next.21',
362
+ as: 'div'
459
363
  }).withConfig({
460
- displayName: "StyledNavItemIcon",
461
- componentId: "sc-7w9rpt-0"
462
- })(["align-self:flex-start;order:0;border-radius:", ";width:", ";height:", ";", ";"], props => props.theme.borderRadii.md, props => props.theme.iconSizes.lg, props => props.theme.iconSizes.lg, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$g, props));
463
- StyledNavItemIcon.defaultProps = {
364
+ displayName: "StyledLogoHeaderItem",
365
+ componentId: "sc-1n1d1yv-0"
366
+ })(["display:none;order:0;border-radius:0;padding:0;overflow:hidden;text-decoration:none;", ";", ";", "{", "}", ";"], sizeStyles$a, colorStyles$8, StyledHeaderItemText, polished.hideVisually(), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$l, props));
367
+ StyledLogoHeaderItem.defaultProps = {
464
368
  theme: reactTheming.DEFAULT_THEME
465
369
  };
466
370
 
467
- const COMPONENT_ID$f = 'chrome.nav_item';
468
- const colorStyles$3 = props => {
469
- const {
371
+ const COMPONENT_ID$k = 'chrome.header';
372
+ const colorStyles$7 = _ref => {
373
+ let {
470
374
  theme,
471
- hue,
472
- isLight,
473
- isDark,
474
- isCurrent
475
- } = props;
476
- const DARK = theme.palette.black;
477
- const LIGHT = theme.palette.white;
478
- let currentColor;
479
- let hoverColor;
480
- if (isCurrent) {
481
- if (isLight) {
482
- currentColor = polished.rgba(DARK, 0.4);
483
- } else if (isDark) {
484
- currentColor = polished.rgba(LIGHT, 0.4);
485
- } else {
486
- currentColor = reactTheming.getColor(hue, 500, theme);
487
- }
488
- } else {
489
- hoverColor = polished.rgba(isLight ? LIGHT : DARK, 0.1);
490
- }
491
- const activeColor = polished.rgba(isLight ? DARK : LIGHT, 0.1);
492
- const focusColor = isLight ? DARK : LIGHT;
493
- return styled.css(["opacity:", ";outline-color:transparent;background-color:", ";&:hover{opacity:1;background-color:", ";}", " &:active{background-color:", ";}"], isCurrent ? 1 : 0.6, currentColor, hoverColor, reactTheming.focusStyles({
375
+ isStandalone
376
+ } = _ref;
377
+ const backgroundColor = reactTheming.getColor({
494
378
  theme,
495
- condition: false ,
496
- styles: {
497
- opacity: 1,
498
- outlineColor: focusColor
499
- }
500
- }), activeColor);
379
+ variable: 'background.default'
380
+ });
381
+ const borderColor = reactTheming.getColor({
382
+ theme,
383
+ variable: 'border.default'
384
+ });
385
+ const boxShadowColor = reactTheming.getColor({
386
+ variable: 'shadow.small',
387
+ theme
388
+ });
389
+ const boxShadow = isStandalone ? theme.shadows.lg('0', `${theme.space.base * 2}px`, boxShadowColor) : undefined;
390
+ const foregroundColor = reactTheming.getColor({
391
+ theme,
392
+ variable: 'foreground.subtle'
393
+ });
394
+ return styled.css(["border-bottom-color:", ";box-shadow:", ";background-color:", ";color:", ";"], borderColor, boxShadow, backgroundColor, foregroundColor);
501
395
  };
502
- const StyledNavItem = styled__default.default(StyledBaseNavItem).attrs({
503
- 'data-garden-id': COMPONENT_ID$f,
504
- 'data-garden-version': '9.0.0-next.2',
505
- as: 'button'
506
- }).withConfig({
507
- displayName: "StyledNavItem",
508
- componentId: "sc-gs8mjz-0"
509
- })(["justify-content:", ";order:1;margin:0;cursor:", ";text-align:", ";&:hover,&:focus{text-decoration:none;color:inherit;}", ";&:focus-visible:hover,&:focus-visible:active,", "{outline:", " solid;outline-offset:-", ";}", " ", ";"], props => props.isExpanded && 'start', props => props.isCurrent ? 'default' : 'pointer', props => props.isExpanded && 'inherit', colorStyles$3, reactTheming.SELECTOR_FOCUS_VISIBLE, props => polished.math(`${props.theme.borderWidths.md} - 1`), props => props.theme.borderWidths.md, props => props.isExpanded && `
510
- ${StyledNavItemIcon} {
511
- margin: 0 ${polished.math(`(${getNavWidth(props)} - ${props.theme.iconSizes.lg}) / 4`)};
512
- }
513
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$f, props));
514
- StyledNavItem.defaultProps = {
515
- theme: reactTheming.DEFAULT_THEME
396
+ const sizeStyles$9 = _ref2 => {
397
+ let {
398
+ theme
399
+ } = _ref2;
400
+ const border = theme.borders.sm;
401
+ const padding = `0 ${theme.space.base}px`;
402
+ const fontSize = theme.fontSizes.md;
403
+ const height = getHeaderHeight(theme);
404
+ return styled.css(["box-sizing:border-box;border-bottom:", ";padding:", ";height:", ";font-size:", ";"], border, padding, height, fontSize);
516
405
  };
517
-
518
- const COMPONENT_ID$e = 'chrome.nav_item_text';
519
- const StyledNavItemText = styled__default.default.span.attrs({
520
- 'data-garden-id': COMPONENT_ID$e,
521
- 'data-garden-version': '9.0.0-next.2'
406
+ const StyledHeader = styled__default.default.header.attrs({
407
+ 'data-garden-id': COMPONENT_ID$k,
408
+ 'data-garden-version': '9.0.0-next.21'
522
409
  }).withConfig({
523
- displayName: "StyledNavItemText",
524
- componentId: "sc-13m84xl-0"
525
- })(["position:absolute;order:1;clip:rect(1px,1px,1px,1px);margin:", ";width:1px;height:1px;overflow:hidden;line-height:", ";white-space:", ";", " ", ";"], props => props.isExpanded && `0 ${polished.math(`(${getNavWidth(props)} - ${props.theme.iconSizes.lg}) / 4`)}`, props => reactTheming.getLineHeight(props.theme.space.base * 5, props.theme.fontSizes.md), props => props.isWrapped ? 'normal' : 'nowrap', props => props.isExpanded && `
526
- ${StyledNavItem} > && {
527
- position: static;
528
- flex: 1;
529
- clip: auto;
530
- width: auto;
531
- height: auto;
532
- text-overflow: ellipsis;
533
- }
534
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$e, props));
535
- StyledNavItemText.defaultProps = {
410
+ displayName: "StyledHeader",
411
+ componentId: "sc-1cexpz-0"
412
+ })(["display:flex;position:", ";align-items:center;justify-content:flex-end;", ";", ";", "{display:", ";}", ";"], props => props.isStandalone && 'relative', sizeStyles$9, colorStyles$7, StyledLogoHeaderItem, props => props.isStandalone && 'inline-flex', props => reactTheming.retrieveComponentStyles(COMPONENT_ID$k, props));
413
+ StyledHeader.defaultProps = {
536
414
  theme: reactTheming.DEFAULT_THEME
537
415
  };
538
416
 
539
- const COMPONENT_ID$d = 'chrome.subnav_item';
540
- const colorStyles$2 = props => {
541
- const {
417
+ const COMPONENT_ID$j = 'chrome.header_item';
418
+ const colorStyles$6 = _ref => {
419
+ let {
542
420
  theme,
543
- isLight,
544
- isCurrent
545
- } = props;
546
- const DARK = theme.palette.black;
547
- const LIGHT = theme.palette.white;
548
- let currentColor;
549
- let hoverColor;
550
- if (isCurrent) {
551
- if (isLight) {
552
- currentColor = polished.rgba(DARK, 0.1);
553
- } else {
554
- currentColor = polished.rgba(LIGHT, 0.1);
555
- }
556
- } else {
557
- hoverColor = polished.rgba(isLight ? LIGHT : DARK, 0.1);
558
- }
559
- const activeColor = polished.rgba(isLight ? DARK : LIGHT, 0.03);
560
- return styled.css(["opacity:", ";background-color:", ";&:hover{opacity:1;background-color:", ";}", " &:not([data-garden-header='true']):active{background-color:", ";}"], isCurrent ? '1' : '0.6', currentColor, hoverColor, reactTheming.focusStyles({
421
+ maxY
422
+ } = _ref;
423
+ const options = {
561
424
  theme,
562
- hue: isLight ? DARK : LIGHT,
563
- spacerWidth: null,
564
- styles: {
565
- opacity: 1
425
+ variable: 'foreground.subtle'
426
+ };
427
+ const hoverColor = reactTheming.getColor({
428
+ ...options,
429
+ dark: {
430
+ offset: -100
431
+ },
432
+ light: {
433
+ offset: 100
434
+ }
435
+ });
436
+ const activeColor = reactTheming.getColor({
437
+ ...options,
438
+ dark: {
439
+ offset: -200
440
+ },
441
+ light: {
442
+ offset: 200
566
443
  }
567
- }), activeColor);
444
+ });
445
+ return styled.css(["&:hover,&:focus{color:inherit;}", ";&:hover ", ",&:hover ", "{color:", ";}&:active ", ",&:active ", "{color:", ";}"], reactTheming.focusStyles({
446
+ theme,
447
+ inset: maxY
448
+ }), StyledHeaderItemIcon, StyledHeaderItemText, hoverColor, StyledHeaderItemIcon, StyledHeaderItemText, activeColor);
568
449
  };
569
- const getSubNavItemHeight = props => {
570
- return `${props.theme.space.base * 7.5}px`;
450
+ const sizeStyles$8 = _ref2 => {
451
+ let {
452
+ theme,
453
+ isRound
454
+ } = _ref2;
455
+ const iconBorderRadius = isRound ? '100px' : undefined;
456
+ const imageBorderRadius = polished.math(`${theme.borderRadii.md} - 1`);
457
+ const imageSize = polished.math(`${getHeaderItemSize(theme)} - ${theme.space.base * 2}`);
458
+ return styled.css(["img{margin:0;border-radius:", ";width:", ";height:", ";}", "{border-radius:", ";}"], imageBorderRadius, imageSize, imageSize, StyledHeaderItemIcon, iconBorderRadius);
571
459
  };
572
- const StyledSubNavItem = styled__default.default.button.attrs({
573
- 'data-garden-id': COMPONENT_ID$d,
574
- 'data-garden-version': '9.0.0-next.2'
460
+ const StyledHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
461
+ 'data-garden-id': COMPONENT_ID$j,
462
+ 'data-garden-version': '9.0.0-next.21'
463
+ }).withConfig({
464
+ displayName: "StyledHeaderItem",
465
+ componentId: "sc-14sft6n-0"
466
+ })(["cursor:pointer;&:hover,&:focus{text-decoration:none;}", ";", ";& ", ",& ", "{transition:box-shadow 0.1s ease-in-out,color 0.1s ease-in-out;}", ";"], sizeStyles$8, colorStyles$6, StyledHeaderItemIcon, StyledHeaderItemText, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$j, props));
467
+ StyledHeaderItem.defaultProps = {
468
+ theme: reactTheming.DEFAULT_THEME
469
+ };
470
+
471
+ const COMPONENT_ID$i = 'chrome.header_item_wrapper';
472
+ const StyledHeaderItemWrapper = styled__default.default(StyledBaseHeaderItem).attrs({
473
+ 'data-garden-id': COMPONENT_ID$i,
474
+ 'data-garden-version': '9.0.0-next.21',
475
+ as: 'div'
575
476
  }).withConfig({
576
- displayName: "StyledSubNavItem",
577
- componentId: "sc-1yg9dpx-0"
578
- })(["display:flex;align-items:center;transition:box-shadow 0.1s ease-in-out,background-color 0.1s ease-in-out,opacity 0.1s ease-in-out;margin:", "px 0 0;border:none;border-radius:", ";box-sizing:border-box;background:transparent;cursor:", ";padding:", ";width:100%;min-height:", ";text-align:inherit;font-size:inherit;&,&:hover,&:focus{text-decoration:none;color:inherit;}", ";", ";"], props => props.theme.space.base * 2, props => props.theme.borderRadii.md, props => props.isCurrent ? 'default' : 'pointer', props => `0 ${props.theme.space.base * 2}px`, getSubNavItemHeight, props => colorStyles$2(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$d, props));
579
- StyledSubNavItem.defaultProps = {
477
+ displayName: "StyledHeaderItemWrapper",
478
+ componentId: "sc-1uieu55-0"
479
+ })(["", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$i, props));
480
+ StyledHeaderItemWrapper.defaultProps = {
580
481
  theme: reactTheming.DEFAULT_THEME
581
482
  };
582
483
 
583
- const COMPONENT_ID$c = 'chrome.subnav';
584
- const colorStyles$1 = props => {
585
- let shade;
586
- if (props.isLight) {
587
- shade = 500;
588
- } else {
589
- shade = props.isDark ? 700 : 800;
590
- }
591
- const backgroundColor = reactTheming.getColor(props.hue, shade, props.theme);
592
- const foregroundColor = props.isLight ? props.theme.palette.grey[800] : props.theme.palette.white;
484
+ const COMPONENT_ID$h = 'chrome.nav';
485
+ const colorStyles$5 = _ref => {
486
+ let {
487
+ theme,
488
+ hue
489
+ } = _ref;
490
+ const shade = hue === 'chromeHue' ? 900 : undefined;
491
+ const backgroundColor = reactTheming.getColor({
492
+ theme,
493
+ hue,
494
+ shade
495
+ });
496
+ const foregroundColor = reactTheming.getColor({
497
+ theme,
498
+ dark: {
499
+ hue: 'white'
500
+ },
501
+ light: {
502
+ hue: 'black'
503
+ }
504
+ });
593
505
  return styled.css(["background-color:", ";color:", ";"], backgroundColor, foregroundColor);
594
506
  };
595
- const StyledSubNav = styled__default.default.nav.attrs({
596
- 'data-garden-id': COMPONENT_ID$c,
597
- 'data-garden-version': '9.0.0-next.2'
507
+ const sizeStyles$7 = _ref2 => {
508
+ let {
509
+ theme,
510
+ isExpanded
511
+ } = _ref2;
512
+ const fontSize = theme.fontSizes.md;
513
+ const width = isExpanded ? getNavWidthExpanded() : getNavWidth(theme);
514
+ return styled.css(["width:", ";font-size:", ";"], width, fontSize);
515
+ };
516
+ const StyledNav = styled__default.default.nav.attrs({
517
+ 'data-garden-id': COMPONENT_ID$h,
518
+ 'data-garden-version': '9.0.0-next.21'
598
519
  }).withConfig({
599
- displayName: "StyledSubNav",
600
- componentId: "sc-19hjou6-0"
601
- })(["flex-direction:column;order:0;padding:", ";min-width:220px;overflow:auto;font-size:", ";", ";& > ", ":first-child{margin-top:0;}", ";"], props => `${props.theme.space.base * 6}px ${props.theme.space.base * 5}px`, props => props.theme.fontSizes.md, props => colorStyles$1(props), StyledSubNavItem, props => reactTheming.retrieveComponentStyles('chrome.subnav', props));
602
- StyledSubNav.defaultProps = {
520
+ displayName: "StyledNav",
521
+ componentId: "sc-6j462r-0"
522
+ })(["display:flex;position:relative;flex-direction:column;flex-shrink:0;order:-1;", ";", ";", ";"], colorStyles$5, sizeStyles$7, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$h, props));
523
+ StyledNav.defaultProps = {
603
524
  theme: reactTheming.DEFAULT_THEME
604
525
  };
605
526
 
606
- const COMPONENT_ID$b = 'chrome.subnav_item_text';
607
- const sizeStyles = props => {
608
- const baseLineHeight = props.theme.space.base * 5;
609
- const verticalMargin = polished.math(`(${getSubNavItemHeight(props)} - ${baseLineHeight}) / 2`);
610
- const lineHeight = reactTheming.getLineHeight(baseLineHeight, props.theme.fontSizes.md);
611
- return styled.css(["margin:", " 0;line-height:", ";"], verticalMargin, lineHeight);
612
- };
613
- const StyledSubNavItemText = styled__default.default.span.attrs({
614
- 'data-garden-id': COMPONENT_ID$b,
615
- 'data-garden-version': '9.0.0-next.2'
527
+ const COMPONENT_ID$g = 'chrome.nav_list';
528
+ const StyledNavList = styled__default.default.ul.attrs({
529
+ 'data-garden-id': COMPONENT_ID$g,
530
+ 'data-garden-version': '9.0.0-next.21'
616
531
  }).withConfig({
617
- displayName: "StyledSubNavItemText",
618
- componentId: "sc-1hy0pn7-0"
619
- })(["overflow:hidden;text-overflow:ellipsis;white-space:", ";", " ", ";"], props => props.isWrapped ? 'normal' : 'nowrap', props => sizeStyles(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$b, props));
620
- StyledSubNavItemText.defaultProps = {
532
+ displayName: "StyledNavList",
533
+ componentId: "sc-1s0nkfb-0"
534
+ })(["display:flex;flex:1;flex-direction:column;order:0;margin:0;padding:0;list-style:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$g, props));
535
+ StyledNavList.defaultProps = {
621
536
  theme: reactTheming.DEFAULT_THEME
622
537
  };
623
538
 
624
- const COMPONENT_ID$a = 'chrome.collapsible_sub_nav_item';
625
- const StyledSubNavItemHeader = styled__default.default(StyledSubNavItem).attrs({
626
- 'data-garden-id': COMPONENT_ID$a,
627
- 'data-garden-version': '9.0.0-next.2',
628
- 'data-garden-header': 'true'
539
+ const COMPONENT_ID$f = 'chrome.nav_list_item';
540
+ const StyledNavListItem = styled__default.default.li.attrs({
541
+ 'data-garden-id': COMPONENT_ID$f,
542
+ 'data-garden-version': '9.0.0-next.21'
629
543
  }).withConfig({
630
- displayName: "StyledSubNavItemHeader",
631
- componentId: "sc-1vniter-0"
632
- })(["position:relative;padding-", ":", "px;", ";"], props => props.theme.rtl ? 'left' : 'right', props => props.theme.space.base * 7, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$a, props));
633
- StyledSubNavItemHeader.defaultProps = {
544
+ displayName: "StyledNavListItem",
545
+ componentId: "sc-18cj2v7-0"
546
+ })(["display:flex;order:1;margin:0;padding:0;list-style-type:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$f, props));
547
+ StyledNavListItem.defaultProps = {
634
548
  theme: reactTheming.DEFAULT_THEME
635
549
  };
636
550
 
637
- var _path$1;
638
- function _extends$1() { _extends$1 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
639
- var SvgChevronDownStroke = function SvgChevronDownStroke(props) {
640
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
641
- xmlns: "http://www.w3.org/2000/svg",
642
- width: 12,
643
- height: 12,
644
- focusable: "false",
645
- viewBox: "0 0 12 12",
646
- "aria-hidden": "true"
647
- }, props), _path$1 || (_path$1 = /*#__PURE__*/React__namespace.createElement("path", {
648
- fill: "currentColor",
649
- d: "M1.646 3.646a.5.5 0 01.638-.057l.07.057L6 7.293l3.646-3.647a.5.5 0 01.638-.057l.07.057a.5.5 0 01.057.638l-.057.07-4 4a.5.5 0 01-.638.057l-.07-.057-4-4a.5.5 0 010-.708z"
650
- })));
551
+ const COMPONENT_ID$e = 'chrome.base_nav_item';
552
+ const sizeStyles$6 = _ref => {
553
+ let {
554
+ theme
555
+ } = _ref;
556
+ const minHeight = getNavItemHeight(theme);
557
+ const verticalPadding = polished.math(`(${minHeight} - ${theme.iconSizes.lg}) / 2`);
558
+ const horizontalPadding = polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`);
559
+ return styled.css(["padding:", " ", ";min-height:", ";"], verticalPadding, horizontalPadding, minHeight);
560
+ };
561
+ const StyledBaseNavItem = styled__default.default.div.attrs({
562
+ 'data-garden-id': COMPONENT_ID$e,
563
+ 'data-garden-version': '9.0.0-next.21'
564
+ }).withConfig({
565
+ displayName: "StyledBaseNavItem",
566
+ componentId: "sc-zvo43f-0"
567
+ })(["display:flex;flex-shrink:0;align-items:center;justify-content:center;transition:outline-color 0.1s ease-in-out,box-shadow 0.1s ease-in-out,background-color 0.1s ease-in-out,opacity 0.1s ease-in-out;", ";"], sizeStyles$6);
568
+ StyledBaseNavItem.defaultProps = {
569
+ theme: reactTheming.DEFAULT_THEME
651
570
  };
652
571
 
653
- const COMPONENT_ID$9 = 'chrome.collapsible_sub_nav_item_icon';
654
- const FilteredChevronDownStrokeIcon = React__namespace.default.forwardRef((_ref, ref) => {
572
+ const COMPONENT_ID$d = 'chrome.logo_nav_list_item';
573
+ const colorStyles$4 = _ref => {
655
574
  let {
656
575
  theme,
657
- isExpanded,
658
- ...validProps
576
+ hue,
577
+ product
659
578
  } = _ref;
660
- return React__namespace.default.createElement(SvgChevronDownStroke, _extends$3({
661
- ref: ref
662
- }, validProps));
663
- });
664
- FilteredChevronDownStrokeIcon.displayName = 'FilteredChevronDownStrokeIcon';
665
- const StyledSubNavItemIcon = styled__default.default(FilteredChevronDownStrokeIcon).withConfig({
666
- displayName: "StyledSubNavItemIcon",
667
- componentId: "sc-1d02hho-0"
668
- })(["width:", ";height:", ";"], props => props.theme.iconSizes.sm, props => props.theme.iconSizes.sm);
669
- StyledSubNavItemIcon.defaultProps = {
579
+ const fillColor = reactTheming.getColor({
580
+ theme,
581
+ variable: 'foreground.default'
582
+ });
583
+ const color = hue === 'chromeHue' ? getProductColor(product) : fillColor;
584
+ return styled.css(["color:", ";fill:", ";"], color, fillColor);
585
+ };
586
+ const StyledLogoNavItem = styled__default.default(StyledBaseNavItem).attrs({
587
+ 'data-garden-id': COMPONENT_ID$d,
588
+ 'data-garden-version': '9.0.0-next.21'
589
+ }).withConfig({
590
+ displayName: "StyledLogoNavItem",
591
+ componentId: "sc-saaydx-0"
592
+ })(["order:-1;opacity:1;cursor:default;min-height:0;", ";"], colorStyles$4);
593
+ StyledLogoNavItem.defaultProps = {
670
594
  theme: reactTheming.DEFAULT_THEME
671
595
  };
672
- const StyledSubNavItemIconWrapper = styled__default.default.div.attrs({
673
- 'data-garden-id': COMPONENT_ID$9,
674
- 'data-garden-version': '9.0.0-next.2'
596
+
597
+ const COMPONENT_ID$c = 'chrome.brandmark_nav_list_item';
598
+ const StyledBrandmarkNavItem = styled__default.default(StyledBaseNavItem).attrs({
599
+ 'data-garden-id': COMPONENT_ID$c,
600
+ 'data-garden-version': '9.0.0-next.21'
601
+ }).withConfig({
602
+ displayName: "StyledBrandmarkNavItem",
603
+ componentId: "sc-8kynd4-0"
604
+ })(["order:1;opacity:", ";margin-top:auto;min-height:0;"], props => props.theme.opacity[400]);
605
+ StyledBrandmarkNavItem.defaultProps = {
606
+ theme: reactTheming.DEFAULT_THEME
607
+ };
608
+
609
+ const COMPONENT_ID$b = 'chrome.nav_item_icon';
610
+ const sizeStyles$5 = _ref => {
611
+ let {
612
+ theme
613
+ } = _ref;
614
+ const size = theme.iconSizes.lg;
615
+ return styled.css(["width:", ";height:", ";"], size, size);
616
+ };
617
+ const StyledNavItemIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
618
+ 'data-garden-id': COMPONENT_ID$b,
619
+ 'data-garden-version': '9.0.0-next.21'
620
+ }).withConfig({
621
+ displayName: "StyledNavItemIcon",
622
+ componentId: "sc-7w9rpt-0"
623
+ })(["align-self:flex-start;order:0;border-radius:", ";", ";", ";"], props => props.theme.borderRadii.md, sizeStyles$5, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$b, props));
624
+ StyledNavItemIcon.defaultProps = {
625
+ theme: reactTheming.DEFAULT_THEME
626
+ };
627
+
628
+ const COMPONENT_ID$a = 'chrome.nav_button';
629
+ const colorStyles$3 = _ref => {
630
+ let {
631
+ theme,
632
+ hue
633
+ } = _ref;
634
+ const activeBackgroundColor = reactTheming.getColor({
635
+ theme,
636
+ dark: {
637
+ hue: 'white'
638
+ },
639
+ light: {
640
+ hue: 'black'
641
+ },
642
+ transparency: theme.opacity[100]
643
+ });
644
+ const currentBackgroundColor = hue === 'chromeHue' ? reactTheming.getColor({
645
+ theme,
646
+ hue,
647
+ shade: 700
648
+ }) : reactTheming.getColor({
649
+ theme,
650
+ dark: {
651
+ hue: 'white'
652
+ },
653
+ light: {
654
+ hue: 'black'
655
+ },
656
+ transparency: theme.opacity[500]
657
+ });
658
+ const focusOutlineColor = reactTheming.getColor({
659
+ theme,
660
+ dark: {
661
+ hue: 'white'
662
+ },
663
+ light: {
664
+ hue: 'black'
665
+ }
666
+ });
667
+ const focusOutlineOffset = `-${theme.borderWidths.md}`;
668
+ const hoverBackgroundColor = reactTheming.getColor({
669
+ theme,
670
+ dark: {
671
+ hue: 'black'
672
+ },
673
+ light: {
674
+ hue: 'white'
675
+ },
676
+ transparency: theme.opacity[100]
677
+ });
678
+ return styled.css(["opacity:", ";outline-color:transparent;background-color:transparent;color:inherit;&:hover{opacity:1;background-color:", ";}&:hover,&:focus{color:inherit;}", " &:active{background-color:", ";}&[aria-current='true']{opacity:1;background-color:", ";}"], theme.opacity[700], hoverBackgroundColor, reactTheming.focusStyles({
679
+ theme,
680
+ condition: false,
681
+ styles: {
682
+ opacity: 1,
683
+ outlineColor: focusOutlineColor,
684
+ outlineOffset: focusOutlineOffset
685
+ }
686
+ }), activeBackgroundColor, currentBackgroundColor);
687
+ };
688
+ const sizeStyles$4 = _ref2 => {
689
+ let {
690
+ theme,
691
+ isExpanded
692
+ } = _ref2;
693
+ const iconMargin = isExpanded ? `0 ${polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`)}` : undefined;
694
+ return styled.css(["margin:0;border:none;box-sizing:border-box;min-width:0;font-size:inherit;", "{margin:", ";}"], StyledNavItemIcon, iconMargin);
695
+ };
696
+ const StyledNavButton = styled__default.default(StyledBaseNavItem).attrs({
697
+ 'data-garden-id': COMPONENT_ID$a,
698
+ 'data-garden-version': '9.0.0-next.21',
699
+ as: 'button'
675
700
  }).withConfig({
676
- displayName: "StyledSubNavItemIcon__StyledSubNavItemIconWrapper",
677
- componentId: "sc-1d02hho-1"
678
- })(["display:flex;position:absolute;top:0;right:", ";left:", ";align-items:center;justify-content:center;width:", "px;height:", ";", "{transform:", ";transition:transform 0.25s ease-in-out;}", ";"], props => props.theme.rtl ? 'auto' : 0, props => props.theme.rtl && 0, props => props.theme.space.base * 7, getSubNavItemHeight, StyledSubNavItemIcon, props => props.isExpanded && `rotate(${props.theme.rtl ? '-' : ''}180deg)`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$9, props));
679
- StyledSubNavItemIconWrapper.defaultProps = {
701
+ displayName: "StyledNavButton",
702
+ componentId: "sc-f5ux3-0"
703
+ })(["flex:1;justify-content:", ";cursor:pointer;text-align:", ";text-decoration:none;", ";&:hover,&:focus{text-decoration:none;}&[aria-current='true']{cursor:default;}", ";", ";"], props => props.isExpanded && 'start', props => props.isExpanded && 'inherit', sizeStyles$4, colorStyles$3, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$a, props));
704
+ StyledNavButton.defaultProps = {
680
705
  theme: reactTheming.DEFAULT_THEME
681
706
  };
682
707
 
683
- const PANEL_COMPONENT_ID = 'chrome.collapsible_sub_nav_item_panel';
684
- const hiddenStyling = styled.css(["visibility:hidden;max-height:0 !important;overflow:hidden;"]);
685
- const StyledSubNavPanel = styled__default.default.div.attrs({
686
- 'data-garden-id': PANEL_COMPONENT_ID,
687
- 'data-garden-version': '9.0.0-next.2'
708
+ const COMPONENT_ID$9 = 'chrome.nav_item_text';
709
+ const sizeStyles$3 = _ref => {
710
+ let {
711
+ theme,
712
+ isExpanded,
713
+ isWrapped
714
+ } = _ref;
715
+ const clip = isExpanded ? 'auto' : undefined;
716
+ const lineHeight = reactTheming.getLineHeight(theme.space.base * 5, theme.fontSizes.md);
717
+ const margin = isExpanded ? `0 ${polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`)}` : undefined;
718
+ const width = isExpanded ? 'auto' : undefined;
719
+ const height = isExpanded ? 'auto' : undefined;
720
+ const whiteSpace = isWrapped ? undefined : 'nowrap';
721
+ return styled.css(["clip:rect(1px,1px,1px,1px);margin:", ";width:1px;height:1px;line-height:", ";white-space:", ";", " > &&{clip:", ";width:", ";height:", ";}"], margin, lineHeight, whiteSpace, StyledNavButton, clip, width, height);
722
+ };
723
+ const StyledNavItemText = styled__default.default.span.attrs({
724
+ 'data-garden-id': COMPONENT_ID$9,
725
+ 'data-garden-version': '9.0.0-next.21'
688
726
  }).withConfig({
689
- displayName: "StyledSubNavPanel",
690
- componentId: "sc-1jv3rpv-0"
691
- })(["transition:max-height 0.25s cubic-bezier(0.15,0.85,0.35,1.2),0.25s visibility 0s linear;height:auto;max-height:100%;", " ", "{padding-", ":", ";}", ";"], props => props.isHidden && hiddenStyling, StyledSubNavItem, props => props.theme.rtl ? 'right' : 'left', props => `${props.theme.space.base * 5}px`, props => reactTheming.retrieveComponentStyles(PANEL_COMPONENT_ID, props));
692
- StyledSubNavPanel.defaultProps = {
727
+ displayName: "StyledNavItemText",
728
+ componentId: "sc-13m84xl-0"
729
+ })(["position:absolute;order:1;overflow:hidden;", " > &&{position:", ";flex:", ";text-overflow:", ";}", ";", ";"], StyledNavButton, props => props.isExpanded ? 'static' : undefined, props => props.isExpanded ? 1 : undefined, props => props.isExpanded ? 'ellipsis' : undefined, sizeStyles$3, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$9, props));
730
+ StyledNavItemText.defaultProps = {
693
731
  theme: reactTheming.DEFAULT_THEME
694
732
  };
695
733
 
696
734
  const COMPONENT_ID$8 = 'chrome.sheet';
697
- const borderStyle = _ref => {
735
+ const colorStyles$2 = _ref => {
698
736
  let {
699
737
  theme,
700
- placement,
701
738
  isOpen
702
739
  } = _ref;
703
- const borderColor = isOpen ? reactTheming.getColor('neutralHue', 300, theme) : 'transparent';
704
- const borderSides = ['-left', '-right'];
705
- let borderSide = '';
706
- if (theme.rtl) {
707
- borderSides.reverse();
708
- }
709
- if (placement === 'end') {
710
- borderSide = borderSides[0];
711
- } else if (placement === 'start') {
712
- borderSide = borderSides[1];
740
+ const backgroundColor = reactTheming.getColor({
741
+ theme,
742
+ variable: 'background.default'
743
+ });
744
+ const borderColor = isOpen ? reactTheming.getColor({
745
+ theme,
746
+ variable: 'border.default'
747
+ }) : 'transparent';
748
+ return styled.css(["border-color:", ";background-color:", ";"], borderColor, backgroundColor);
749
+ };
750
+ const sizeStyles$2 = _ref2 => {
751
+ let {
752
+ theme,
753
+ isOpen,
754
+ placement,
755
+ size
756
+ } = _ref2;
757
+ const width = isOpen ? size : 0;
758
+ const fontSize = theme.fontSizes.md;
759
+ const lineHeight = reactTheming.getLineHeight(theme.space.base * 5, fontSize);
760
+ const border = isOpen ? theme.borders.sm : 'none';
761
+ let borderProperty;
762
+ if (placement === 'start') {
763
+ borderProperty = `border-${theme.rtl ? 'left' : 'right'}`;
764
+ } else {
765
+ borderProperty = `border-${theme.rtl ? 'right' : 'left'}`;
713
766
  }
714
- return `border${borderSide}: ${theme.borders.sm} ${borderColor};`;
767
+ return styled.css(["box-sizing:border-box;width:", ";height:100%;", ":", ";line-height:", ";font-size:", ";"], width, borderProperty, border, lineHeight, fontSize);
715
768
  };
716
769
  const StyledSheet = styled__default.default.aside.attrs({
717
770
  'data-garden-id': COMPONENT_ID$8,
718
- 'data-garden-version': '9.0.0-next.2'
771
+ 'data-garden-version': '9.0.0-next.21'
719
772
  }).withConfig({
720
773
  displayName: "StyledSheet",
721
774
  componentId: "sc-dx8ijk-0"
722
- })(["display:flex;order:1;transition:", ";background-color:", ";width:", ";height:100%;overflow:hidden;font-size:", ";&:focus{outline:none;}", ";", ";"], props => props.isAnimated && 'width 250ms ease-in-out', props => props.theme.colors.background, props => props.isOpen ? props.size : '0px', props => props.theme.fontSizes.md, props => borderStyle(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$8, props));
775
+ })(["display:flex;order:1;transition:", ";overflow:hidden;", ";&:focus{outline:none;}", ";", ";"], props => props.isAnimated && 'width 250ms ease-in-out', sizeStyles$2, colorStyles$2, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$8, props));
723
776
  StyledSheet.defaultProps = {
724
777
  theme: reactTheming.DEFAULT_THEME
725
778
  };
726
779
 
727
780
  const COMPONENT_ID$7 = 'chrome.sheet_wrapper';
781
+ const transformStyles = _ref => {
782
+ let {
783
+ theme,
784
+ isAnimated,
785
+ isOpen,
786
+ placement
787
+ } = _ref;
788
+ const transition = isAnimated ? 'transform 250ms ease-in-out' : undefined;
789
+ let transform;
790
+ if (isOpen) {
791
+ transform = 'translateX(0)';
792
+ } else if (placement === 'start') {
793
+ transform = `translateX(${theme.rtl ? 100 : -100}%)`;
794
+ } else {
795
+ transform = `translateX(${theme.rtl ? -100 : 100}%)`;
796
+ }
797
+ return styled.css(["transform:", ";transition:", ";"], transform, transition);
798
+ };
728
799
  const StyledSheetWrapper = styled__default.default.div.attrs({
729
800
  'data-garden-id': COMPONENT_ID$7,
730
- 'data-garden-version': '9.0.0-next.2'
801
+ 'data-garden-version': '9.0.0-next.21'
731
802
  }).withConfig({
732
803
  displayName: "StyledSheetWrapper",
733
804
  componentId: "sc-f6x9zb-0"
734
- })(["display:flex;position:relative;flex-direction:column;transform:", ";transition:", ";min-width:", ";", ";"], props => {
735
- const translateValues = [-100, 100];
736
- let translation = 'translateX(0%)';
737
- if (props.isOpen) {
738
- return translation;
739
- }
740
- if (props.theme.rtl) {
741
- translateValues.reverse();
742
- }
743
- if (props.placement === 'end') {
744
- translation = `translateX(${translateValues[1]}%)`;
745
- } else if (props.placement === 'start') {
746
- translation = `translateX(${translateValues[0]}%)`;
747
- }
748
- return translation;
749
- }, props => props.isAnimated && 'transform 250ms ease-in-out', props => props.size, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$7, props));
805
+ })(["display:flex;position:relative;flex-direction:column;min-width:", ";", ";", ";"], props => props.size, transformStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$7, props));
750
806
  StyledSheetWrapper.defaultProps = {
751
807
  theme: reactTheming.DEFAULT_THEME
752
808
  };
@@ -754,11 +810,14 @@ StyledSheetWrapper.defaultProps = {
754
810
  const COMPONENT_ID$6 = 'chrome.sheet_title';
755
811
  const StyledSheetTitle = styled__default.default.div.attrs({
756
812
  'data-garden-id': COMPONENT_ID$6,
757
- 'data-garden-version': '9.0.0-next.2'
813
+ 'data-garden-version': '9.0.0-next.21'
758
814
  }).withConfig({
759
815
  displayName: "StyledSheetTitle",
760
816
  componentId: "sc-1gogk75-0"
761
- })(["line-height:", ";color:", ";font-weight:", ";", ";"], props => reactTheming.getLineHeight(props.theme.space.base * 5, props.theme.fontSizes.md), props => props.theme.colors.foreground, props => props.theme.fontWeights.semibold, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$6, props));
817
+ })(["color:", ";font-weight:", ";", ";"], p => reactTheming.getColor({
818
+ theme: p.theme,
819
+ variable: 'foreground.default'
820
+ }), props => props.theme.fontWeights.semibold, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$6, props));
762
821
  StyledSheetTitle.defaultProps = {
763
822
  theme: reactTheming.DEFAULT_THEME
764
823
  };
@@ -766,11 +825,14 @@ StyledSheetTitle.defaultProps = {
766
825
  const COMPONENT_ID$5 = 'chrome.sheet_description';
767
826
  const StyledSheetDescription = styled__default.default.div.attrs({
768
827
  'data-garden-id': COMPONENT_ID$5,
769
- 'data-garden-version': '9.0.0-next.2'
828
+ 'data-garden-version': '9.0.0-next.21'
770
829
  }).withConfig({
771
830
  displayName: "StyledSheetDescription",
772
831
  componentId: "sc-1puglb6-0"
773
- })(["line-height:", ";color:", ";", ";"], props => reactTheming.getLineHeight(props.theme.space.base * 4, props.theme.fontSizes.md), props => reactTheming.getColor('neutralHue', 600, props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$5, props));
832
+ })(["line-height:", ";color:", ";", ";"], p => reactTheming.getLineHeight(p.theme.space.base * 4, p.theme.fontSizes.md), p => reactTheming.getColor({
833
+ theme: p.theme,
834
+ variable: 'foreground.subtle'
835
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$5, props));
774
836
  StyledSheetDescription.defaultProps = {
775
837
  theme: reactTheming.DEFAULT_THEME
776
838
  };
@@ -778,47 +840,62 @@ StyledSheetDescription.defaultProps = {
778
840
  const COMPONENT_ID$4 = 'chrome.sheet_body';
779
841
  const StyledSheetBody = styled__default.default.div.attrs({
780
842
  'data-garden-id': COMPONENT_ID$4,
781
- 'data-garden-version': '9.0.0-next.2'
843
+ 'data-garden-version': '9.0.0-next.21'
782
844
  }).withConfig({
783
845
  displayName: "StyledSheetBody",
784
846
  componentId: "sc-bt4eoj-0"
785
- })(["flex:1;overflow-y:auto;padding:", "px;", ";"], props => props.theme.space.base * 5, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$4, props));
847
+ })(["flex:1;overflow-y:auto;padding:", "px;color-scheme:only ", ";", ";"], props => props.theme.space.base * 5, p => p.theme.colors.base, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$4, props));
786
848
  StyledSheetBody.defaultProps = {
787
849
  theme: reactTheming.DEFAULT_THEME
788
850
  };
789
851
 
790
852
  const COMPONENT_ID$3 = 'chrome.sheet_close';
791
- const BASE_MULTIPLIERS = {
792
- top: 2.5,
793
- side: 2,
794
- size: 10
795
- };
796
- const colorStyles = props => {
797
- const backgroundColor = 'primaryHue';
798
- const foregroundColor = 'neutralHue';
799
- return styled.css(["background-color:transparent;color:", ";&:hover{background-color:", ";color:", ";}", " &:active{transition:background-color 0.1s ease-in-out,color 0.1s ease-in-out;background-color:", ";color:", ";}"], reactTheming.getColor(foregroundColor, 600, props.theme), reactTheming.getColor(backgroundColor, 600, props.theme, 0.08), reactTheming.getColor(foregroundColor, 700, props.theme), reactTheming.focusStyles({
800
- theme: props.theme
801
- }), reactTheming.getColor(backgroundColor, 600, props.theme, 0.2), reactTheming.getColor(foregroundColor, 800, props.theme));
802
- };
803
- const StyledSheetClose = styled__default.default.button.attrs({
853
+ const positionStyles = _ref => {
854
+ let {
855
+ theme
856
+ } = _ref;
857
+ const top = `${theme.space.base * 2.5}px`;
858
+ const position = `${theme.space.base * 2}px`;
859
+ return styled.css(["top:", ";", ":", ";"], top, theme.rtl ? 'left' : 'right', position);
860
+ };
861
+ const StyledSheetClose = styled__default.default(reactButtons.IconButton).attrs({
804
862
  'data-garden-id': COMPONENT_ID$3,
805
- 'data-garden-version': '9.0.0-next.2'
863
+ 'data-garden-version': '9.0.0-next.21'
806
864
  }).withConfig({
807
865
  displayName: "StyledSheetClose",
808
866
  componentId: "sc-1ab02oq-0"
809
- })(["display:flex;position:absolute;top:", "px;", ":", ";align-items:center;justify-content:center;transition:box-shadow 0.1s ease-in-out,background-color 0.25s ease-in-out,color 0.25s ease-in-out;border:none;border-radius:50%;cursor:pointer;padding:0;width:", "px;height:", "px;overflow:hidden;text-decoration:none;font-size:0;user-select:none;&::-moz-focus-inner{border:0;}", ";& > svg{vertical-align:middle;}", ";"], props => props.theme.space.base * BASE_MULTIPLIERS.top, props => props.theme.rtl ? 'left' : 'right', props => `${props.theme.space.base * BASE_MULTIPLIERS.side}px`, props => props.theme.space.base * BASE_MULTIPLIERS.size, props => props.theme.space.base * BASE_MULTIPLIERS.size, props => colorStyles(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$3, props));
867
+ })(["position:absolute;", ";", ";"], positionStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$3, props));
810
868
  StyledSheetClose.defaultProps = {
811
869
  theme: reactTheming.DEFAULT_THEME
812
870
  };
813
871
 
814
872
  const COMPONENT_ID$2 = 'chrome.sheet_footer';
873
+ const colorStyles$1 = _ref => {
874
+ let {
875
+ theme
876
+ } = _ref;
877
+ const borderColor = reactTheming.getColor({
878
+ theme,
879
+ variable: 'border.subtle'
880
+ });
881
+ return styled.css(["border-top-color:", ";"], borderColor);
882
+ };
883
+ const sizeStyles$1 = _ref2 => {
884
+ let {
885
+ theme,
886
+ isCompact
887
+ } = _ref2;
888
+ const border = theme.borders.sm;
889
+ const padding = `${theme.space.base * (isCompact ? 2.5 : 5)}px`;
890
+ return styled.css(["border-top:", ";padding:", ";"], border, padding);
891
+ };
815
892
  const StyledSheetFooter = styled__default.default.footer.attrs({
816
893
  'data-garden-id': COMPONENT_ID$2,
817
- 'data-garden-version': '9.0.0-next.2'
894
+ 'data-garden-version': '9.0.0-next.21'
818
895
  }).withConfig({
819
896
  displayName: "StyledSheetFooter",
820
897
  componentId: "sc-2cktos-0"
821
- })(["display:flex;flex-flow:row wrap;align-items:center;justify-content:", ";border-top:", ";padding:", "px;", ";"], props => props.isCompact ? 'center' : 'flex-end', props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}}`, props => props.theme.space.base * (props.isCompact ? 2.5 : 5), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$2, props));
898
+ })(["display:flex;flex-flow:row wrap;align-items:center;justify-content:", ";", ";", ";", ";"], props => props.isCompact ? 'center' : 'flex-end', sizeStyles$1, colorStyles$1, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$2, props));
822
899
  StyledSheetFooter.defaultProps = {
823
900
  theme: reactTheming.DEFAULT_THEME
824
901
  };
@@ -826,7 +903,7 @@ StyledSheetFooter.defaultProps = {
826
903
  const COMPONENT_ID$1 = 'chrome.sheet_footer_item';
827
904
  const StyledSheetFooterItem = styled__default.default.div.attrs({
828
905
  'data-garden-id': COMPONENT_ID$1,
829
- 'data-garden-version': '9.0.0-next.2'
906
+ 'data-garden-version': '9.0.0-next.21'
830
907
  }).withConfig({
831
908
  displayName: "StyledSheetFooterItem",
832
909
  componentId: "sc-r9ixh-0"
@@ -836,144 +913,40 @@ StyledSheetFooterItem.defaultProps = {
836
913
  };
837
914
 
838
915
  const COMPONENT_ID = 'chrome.sheet_header';
916
+ const colorStyles = _ref => {
917
+ let {
918
+ theme
919
+ } = _ref;
920
+ const borderColor = reactTheming.getColor({
921
+ theme,
922
+ variable: 'border.subtle'
923
+ });
924
+ return styled.css(["border-bottom-color:", ";"], borderColor);
925
+ };
926
+ const sizeStyles = _ref2 => {
927
+ let {
928
+ theme,
929
+ isCloseButtonPresent
930
+ } = _ref2;
931
+ const border = theme.borders.sm;
932
+ let padding = `${theme.space.base * 5}px`;
933
+ if (isCloseButtonPresent) {
934
+ const paddingSide = `${theme.space.base * 14}px`;
935
+ padding = theme.rtl ? `${padding} ${padding} ${padding} ${paddingSide}` : `${padding} ${paddingSide} ${padding} ${padding}`;
936
+ }
937
+ return styled.css(["border-bottom:", ";padding:", ";"], border, padding);
938
+ };
839
939
  const StyledSheetHeader = styled__default.default.header.attrs({
840
940
  'data-garden-id': COMPONENT_ID,
841
- 'data-garden-version': '9.0.0-next.2'
941
+ 'data-garden-version': '9.0.0-next.21'
842
942
  }).withConfig({
843
943
  displayName: "StyledSheetHeader",
844
944
  componentId: "sc-o2ry8i-0"
845
- })(["border-bottom:", ";padding:", "px;", " ", ";"], props => `${props.theme.borders.sm} ${reactTheming.getColor('neutralHue', 300, props.theme)}}`, props => props.theme.space.base * 5, props => props.isCloseButtonPresent && `padding-${props.theme.rtl ? 'left' : 'right'}: ${props.theme.space.base * (BASE_MULTIPLIERS.size + BASE_MULTIPLIERS.side + 2)}px;`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID, props));
945
+ })(["", ";", ";", ";"], sizeStyles, colorStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID, props));
846
946
  StyledSheetHeader.defaultProps = {
847
947
  theme: reactTheming.DEFAULT_THEME
848
948
  };
849
949
 
850
- const Chrome = React__namespace.default.forwardRef((_ref, ref) => {
851
- let {
852
- hue,
853
- isFluid,
854
- ...props
855
- } = _ref;
856
- const theme = React.useContext(styled.ThemeContext);
857
- const isLightMemoized = React.useMemo(() => {
858
- if (hue) {
859
- const backgroundColor = reactTheming.getColor(hue, 600, theme);
860
- const LIGHT_COLOR = 'white';
861
- return polished.readableColor(backgroundColor, LIGHT_COLOR, undefined, false ) === LIGHT_COLOR;
862
- }
863
- return false;
864
- }, [hue, theme]);
865
- const isLight = hue ? isLightMemoized : false;
866
- const isDark = hue ? !isLightMemoized : false;
867
- const chromeContextValue = React.useMemo(() => ({
868
- hue: hue || 'chromeHue',
869
- isLight,
870
- isDark
871
- }), [hue, isLight, isDark]);
872
- const environment = reactTheming.useDocument(theme);
873
- React.useEffect(() => {
874
- if (environment && !isFluid) {
875
- const htmlElement = environment.querySelector('html');
876
- if (htmlElement) {
877
- const defaultHtmlPosition = htmlElement.style.position;
878
- htmlElement.style.position = 'fixed';
879
- return () => {
880
- htmlElement.style.position = defaultHtmlPosition;
881
- };
882
- }
883
- }
884
- return undefined;
885
- }, [environment, isFluid]);
886
- return React__namespace.default.createElement(ChromeContext.Provider, {
887
- value: chromeContextValue
888
- }, React__namespace.default.createElement(StyledChrome, _extends$3({
889
- ref: ref
890
- }, props)));
891
- });
892
- Chrome.displayName = 'Chrome';
893
- Chrome.propTypes = {
894
- hue: PropTypes__default.default.string
895
- };
896
-
897
- const SkipNav = React__namespace.default.forwardRef((_ref, ref) => {
898
- let {
899
- targetId,
900
- zIndex,
901
- children,
902
- ...props
903
- } = _ref;
904
- return React__namespace.default.createElement(StyledSkipNav, _extends$3({
905
- href: `#${targetId}`,
906
- zIndex: zIndex,
907
- ref: ref
908
- }, props), React__namespace.default.createElement(StyledSkipNavIcon, null), children);
909
- });
910
- SkipNav.displayName = 'SkipNav';
911
- SkipNav.propTypes = {
912
- targetId: PropTypes__default.default.string.isRequired,
913
- zIndex: PropTypes__default.default.number
914
- };
915
- SkipNav.defaultProps = {
916
- zIndex: 1
917
- };
918
-
919
- const BodyContext = React__namespace.default.createContext({
920
- hasFooter: true
921
- });
922
- const useBodyContext = () => {
923
- return React.useContext(BodyContext);
924
- };
925
-
926
- const Body$1 = React__namespace.default.forwardRef((_ref, ref) => {
927
- let {
928
- hasFooter,
929
- ...props
930
- } = _ref;
931
- const bodyContextValue = React.useMemo(() => ({
932
- hasFooter: !!hasFooter
933
- }), [hasFooter]);
934
- return React__namespace.default.createElement(BodyContext.Provider, {
935
- value: bodyContextValue
936
- }, React__namespace.default.createElement(StyledBody, _extends$3({
937
- ref: ref
938
- }, props)));
939
- });
940
- Body$1.displayName = 'Body';
941
- Body$1.propTypes = {
942
- hasFooter: PropTypes__default.default.bool
943
- };
944
-
945
- const Content = React__namespace.default.forwardRef((props, ref) => {
946
- const {
947
- hasFooter
948
- } = useBodyContext();
949
- return React__namespace.default.createElement(StyledContent, _extends$3({
950
- ref: ref,
951
- hasFooter: hasFooter
952
- }, props));
953
- });
954
- Content.displayName = 'Content';
955
-
956
- const Main = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledMain, _extends$3({
957
- ref: ref
958
- }, props)));
959
- Main.displayName = 'Main';
960
-
961
- const Sidebar = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledSidebar, _extends$3({
962
- ref: ref
963
- }, props)));
964
- Sidebar.displayName = 'Sidebar';
965
-
966
- const Header$1 = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeader, _extends$3({
967
- ref: ref
968
- }, props)));
969
- Header$1.displayName = 'Header';
970
- Header$1.propTypes = {
971
- isStandalone: PropTypes__default.default.bool
972
- };
973
-
974
- const PLACEMENT = ['end', 'start'];
975
- const PRODUCT = ['chat', 'connect', 'explore', 'guide', 'message', 'support', 'talk'];
976
-
977
950
  const HeaderItem = React__namespace.default.forwardRef((_ref, ref) => {
978
951
  let {
979
952
  hasLogo,
@@ -981,21 +954,21 @@ const HeaderItem = React__namespace.default.forwardRef((_ref, ref) => {
981
954
  ...other
982
955
  } = _ref;
983
956
  if (hasLogo) {
984
- return React__namespace.default.createElement(StyledLogoHeaderItem, _extends$3({
957
+ return React__namespace.default.createElement(StyledLogoHeaderItem, Object.assign({
985
958
  ref: ref,
986
959
  product: product
987
960
  }, other));
988
961
  }
989
- return React__namespace.default.createElement(StyledHeaderItem, _extends$3({
962
+ return React__namespace.default.createElement(StyledHeaderItem, Object.assign({
990
963
  ref: ref
991
964
  }, other));
992
965
  });
993
- HeaderItem.displayName = 'HeaderItem';
966
+ HeaderItem.displayName = 'Header.Item';
994
967
  HeaderItem.propTypes = {
995
968
  maxX: PropTypes__default.default.bool,
996
969
  maxY: PropTypes__default.default.bool,
997
970
  isRound: PropTypes__default.default.bool,
998
- product: PropTypes__default.default.oneOf(PRODUCT),
971
+ product: PropTypes__default.default.oneOf(PRODUCTS),
999
972
  hasLogo: PropTypes__default.default.bool
1000
973
  };
1001
974
 
@@ -1004,47 +977,27 @@ const HeaderItemIcon = _ref => {
1004
977
  children,
1005
978
  ...props
1006
979
  } = _ref;
1007
- const element = React.Children.only(children);
1008
- if ( React.isValidElement(element)) {
1009
- const Icon = _ref2 => {
1010
- let {
1011
- theme,
1012
- ...iconProps
1013
- } = _ref2;
1014
- return React.cloneElement(element, {
1015
- ...props,
1016
- ...iconProps
1017
- });
1018
- };
1019
- return React__namespace.default.createElement(StyledHeaderItemIcon, _extends$3({
1020
- as: Icon
1021
- }, props));
1022
- }
1023
- return null;
980
+ return React__namespace.default.createElement(StyledHeaderItemIcon, props, children);
1024
981
  };
982
+ HeaderItemIcon.displayName = 'Header.ItemIcon';
1025
983
 
1026
- const HeaderItemText = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeaderItemText, _extends$3({
984
+ const HeaderItemText = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeaderItemText, Object.assign({
1027
985
  ref: ref
1028
986
  }, props)));
1029
- HeaderItemText.displayName = 'HeaderItemText';
987
+ HeaderItemText.displayName = 'Header.ItemText';
1030
988
  HeaderItemText.propTypes = {
1031
989
  isClipped: PropTypes__default.default.bool
1032
990
  };
1033
991
 
1034
- const HeaderItemWrapper = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeaderItemWrapper, _extends$3({
1035
- ref: ref
1036
- }, props)));
1037
- HeaderItemWrapper.displayName = 'HeaderItemWrapper';
1038
-
1039
- const Footer$1 = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledFooter, _extends$3({
992
+ const HeaderItemWrapper = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeaderItemWrapper, Object.assign({
1040
993
  ref: ref
1041
994
  }, props)));
1042
- Footer$1.displayName = 'Footer';
995
+ HeaderItemWrapper.displayName = 'Header.ItemWrapper';
1043
996
 
1044
- const FooterItem$1 = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledFooterItem, _extends$3({
997
+ const FooterItem$1 = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledFooterItem, Object.assign({
1045
998
  ref: ref
1046
999
  }, props)));
1047
- FooterItem$1.displayName = 'FooterItem';
1000
+ FooterItem$1.displayName = 'Footer.Item';
1048
1001
 
1049
1002
  const NavContext = React__namespace.default.createContext({
1050
1003
  isExpanded: false
@@ -1053,28 +1006,16 @@ const useNavContext = () => {
1053
1006
  return React.useContext(NavContext);
1054
1007
  };
1055
1008
 
1056
- const Nav = React__namespace.default.forwardRef((props, ref) => {
1057
- const {
1058
- hue,
1059
- isLight,
1060
- isDark
1061
- } = useChromeContext();
1062
- const navContextValue = React.useMemo(() => ({
1063
- isExpanded: !!props.isExpanded
1064
- }), [props.isExpanded]);
1065
- return React__namespace.default.createElement(NavContext.Provider, {
1066
- value: navContextValue
1067
- }, React__namespace.default.createElement(StyledNav, _extends$3({
1068
- ref: ref
1069
- }, props, {
1070
- hue: hue,
1071
- isLight: isLight,
1072
- isDark: isDark
1073
- })));
1009
+ const ChromeContext = React__namespace.default.createContext({
1010
+ hue: 'chromeHue'
1074
1011
  });
1075
- Nav.displayName = 'Nav';
1076
- Nav.propTypes = {
1077
- isExpanded: PropTypes__default.default.bool
1012
+ const useChromeContext = () => {
1013
+ return React.useContext(ChromeContext);
1014
+ };
1015
+
1016
+ const NavListContext = React__namespace.default.createContext(undefined);
1017
+ const useNavListContext = () => {
1018
+ return React.useContext(NavListContext);
1078
1019
  };
1079
1020
 
1080
1021
  const NavItem = React__namespace.default.forwardRef((_ref, ref) => {
@@ -1082,44 +1023,45 @@ const NavItem = React__namespace.default.forwardRef((_ref, ref) => {
1082
1023
  hasLogo,
1083
1024
  hasBrandmark,
1084
1025
  product,
1026
+ isCurrent,
1085
1027
  ...other
1086
1028
  } = _ref;
1087
1029
  const {
1088
- hue,
1089
- isLight,
1090
- isDark
1030
+ hue
1091
1031
  } = useChromeContext();
1092
1032
  const {
1093
1033
  isExpanded
1094
1034
  } = useNavContext();
1095
- const ariaCurrent = other.isCurrent || undefined;
1035
+ const navListContext = useNavListContext();
1036
+ const hasList = navListContext?.hasList;
1037
+ let retVal;
1096
1038
  if (hasLogo) {
1097
- return React__namespace.default.createElement(StyledLogoNavItem, _extends$3({
1039
+ retVal = React__namespace.default.createElement(StyledLogoNavItem, Object.assign({
1098
1040
  ref: ref,
1099
- isDark: isDark,
1100
- isLight: isLight,
1101
- product: product,
1102
- "aria-current": ariaCurrent
1041
+ hue: hue,
1042
+ product: product
1103
1043
  }, other));
1104
- }
1105
- if (hasBrandmark) {
1106
- return React__namespace.default.createElement(StyledBrandmarkNavItem, _extends$3({
1044
+ } else if (hasBrandmark) {
1045
+ retVal = React__namespace.default.createElement(StyledBrandmarkNavItem, Object.assign({
1107
1046
  ref: ref
1108
1047
  }, other));
1048
+ } else {
1049
+ retVal = React__namespace.default.createElement(StyledNavButton, Object.assign({
1050
+ tabIndex: 0,
1051
+ ref: ref,
1052
+ isExpanded: isExpanded,
1053
+ hue: hue,
1054
+ "aria-current": isCurrent || undefined
1055
+ }, other));
1109
1056
  }
1110
- return React__namespace.default.createElement(StyledNavItem, _extends$3({
1111
- tabIndex: 0,
1112
- ref: ref,
1113
- isExpanded: isExpanded,
1114
- hue: hue,
1115
- isDark: isDark,
1116
- isLight: isLight,
1117
- "aria-current": ariaCurrent
1118
- }, other));
1057
+ if (hasList) {
1058
+ retVal = React__namespace.default.createElement(StyledNavListItem, null, retVal);
1059
+ }
1060
+ return retVal;
1119
1061
  });
1120
- NavItem.displayName = 'NavItem';
1062
+ NavItem.displayName = 'Nav.Item';
1121
1063
  NavItem.propTypes = {
1122
- product: PropTypes__default.default.oneOf(PRODUCT),
1064
+ product: PropTypes__default.default.oneOf(PRODUCTS),
1123
1065
  hasLogo: PropTypes__default.default.bool,
1124
1066
  hasBrandmark: PropTypes__default.default.bool
1125
1067
  };
@@ -1129,146 +1071,210 @@ const NavItemIcon = _ref => {
1129
1071
  children,
1130
1072
  ...props
1131
1073
  } = _ref;
1132
- const element = React.Children.only(children);
1133
- if ( React.isValidElement(element)) {
1134
- const Icon = _ref2 => {
1135
- let {
1136
- theme,
1137
- ...iconProps
1138
- } = _ref2;
1139
- return React.cloneElement(element, {
1140
- ...props,
1141
- ...iconProps
1142
- });
1143
- };
1144
- return React__namespace.default.createElement(StyledNavItemIcon, _extends$3({
1145
- as: Icon
1146
- }, props));
1147
- }
1148
- return null;
1074
+ return React__namespace.default.createElement(StyledNavItemIcon, props, children);
1149
1075
  };
1076
+ NavItemIcon.displayName = 'Nav.ItemIcon';
1150
1077
 
1151
1078
  const NavItemText = React__namespace.default.forwardRef((props, ref) => {
1152
1079
  const {
1153
1080
  isExpanded
1154
1081
  } = useNavContext();
1155
- return React__namespace.default.createElement(StyledNavItemText, _extends$3({
1082
+ return React__namespace.default.createElement(StyledNavItemText, Object.assign({
1156
1083
  ref: ref,
1157
1084
  isExpanded: isExpanded
1158
1085
  }, props));
1159
1086
  });
1160
- NavItemText.displayName = 'NavItemText';
1087
+ NavItemText.displayName = 'Nav.ItemText';
1161
1088
  NavItemText.propTypes = {
1162
1089
  isWrapped: PropTypes__default.default.bool
1163
1090
  };
1164
1091
 
1165
- const SubNav = React__namespace.default.forwardRef((props, ref) => {
1166
- const {
1092
+ const Chrome = React__namespace.default.forwardRef((_ref, ref) => {
1093
+ let {
1167
1094
  hue,
1168
- isLight,
1169
- isDark
1170
- } = useChromeContext();
1171
- return React__namespace.default.createElement(StyledSubNav, _extends$3({
1172
- ref: ref,
1173
- hue: hue,
1174
- isLight: isLight,
1175
- isDark: isDark
1176
- }, props));
1095
+ isFluid,
1096
+ ...props
1097
+ } = _ref;
1098
+ const theme = React.useContext(styled.ThemeContext) || reactTheming.DEFAULT_THEME;
1099
+ const isLightMemoized = React.useMemo(() => {
1100
+ if (hue) {
1101
+ const backgroundColor = reactTheming.getColor({
1102
+ theme,
1103
+ hue
1104
+ });
1105
+ const LIGHT_COLOR = 'white';
1106
+ return polished.readableColor(backgroundColor, LIGHT_COLOR, undefined, false ) === LIGHT_COLOR;
1107
+ }
1108
+ return false;
1109
+ }, [hue, theme]);
1110
+ const isLight = hue ? isLightMemoized : undefined;
1111
+ const chromeContextValue = React.useMemo(() => ({
1112
+ hue: hue || 'chromeHue',
1113
+ isLight
1114
+ }), [hue, isLight]);
1115
+ const environment = reactTheming.useDocument(theme);
1116
+ React.useEffect(() => {
1117
+ if (environment && !isFluid) {
1118
+ const htmlElement = environment.querySelector('html');
1119
+ if (htmlElement) {
1120
+ const defaultHtmlPosition = htmlElement.style.position;
1121
+ htmlElement.style.position = 'fixed';
1122
+ return () => {
1123
+ htmlElement.style.position = defaultHtmlPosition;
1124
+ };
1125
+ }
1126
+ }
1127
+ return undefined;
1128
+ }, [environment, isFluid]);
1129
+ return React__namespace.default.createElement(ChromeContext.Provider, {
1130
+ value: chromeContextValue
1131
+ }, React__namespace.default.createElement(StyledChrome, Object.assign({
1132
+ ref: ref
1133
+ }, props)));
1134
+ });
1135
+ Chrome.displayName = 'Chrome';
1136
+ Chrome.propTypes = {
1137
+ hue: PropTypes__default.default.string
1138
+ };
1139
+
1140
+ const SkipNav = React__namespace.default.forwardRef((_ref, ref) => {
1141
+ let {
1142
+ targetId,
1143
+ zIndex,
1144
+ children,
1145
+ ...props
1146
+ } = _ref;
1147
+ return React__namespace.default.createElement(StyledSkipNav, Object.assign({
1148
+ href: `#${targetId}`,
1149
+ zIndex: zIndex,
1150
+ ref: ref
1151
+ }, props), React__namespace.default.createElement(StyledSkipNavIcon, null), children);
1152
+ });
1153
+ SkipNav.displayName = 'SkipNav';
1154
+ SkipNav.propTypes = {
1155
+ targetId: PropTypes__default.default.string.isRequired,
1156
+ zIndex: PropTypes__default.default.number
1157
+ };
1158
+ SkipNav.defaultProps = {
1159
+ zIndex: 1
1160
+ };
1161
+
1162
+ const BodyContext = React__namespace.default.createContext(undefined);
1163
+ const useBodyContext = () => {
1164
+ return React.useContext(BodyContext);
1165
+ };
1166
+
1167
+ const Body$1 = React__namespace.default.forwardRef((props, ref) => {
1168
+ const [hasFooter, setHasFooter] = React.useState(false);
1169
+ const bodyContextValue = React.useMemo(() => ({
1170
+ hasFooter,
1171
+ setHasFooter
1172
+ }), [hasFooter, setHasFooter]);
1173
+ return React__namespace.default.createElement(BodyContext.Provider, {
1174
+ value: bodyContextValue
1175
+ }, React__namespace.default.createElement(StyledBody, Object.assign({
1176
+ ref: ref
1177
+ }, props)));
1177
1178
  });
1178
- SubNav.displayName = 'SubNav';
1179
+ Body$1.displayName = 'Body';
1179
1180
 
1180
- const SubNavItem = React__namespace.default.forwardRef((props, ref) => {
1181
+ const Content = React__namespace.default.forwardRef((props, ref) => {
1181
1182
  const {
1182
- isDark,
1183
- isLight
1184
- } = useChromeContext();
1185
- return React__namespace.default.createElement(StyledSubNavItem, _extends$3({
1183
+ hasFooter
1184
+ } = useBodyContext() || {};
1185
+ return React__namespace.default.createElement(StyledContent, Object.assign({
1186
1186
  ref: ref,
1187
- isDark: isDark,
1188
- isLight: isLight
1187
+ hasFooter: hasFooter
1189
1188
  }, props));
1190
1189
  });
1191
- SubNavItem.displayName = 'SubNavItem';
1192
- SubNavItem.propTypes = {
1193
- isCurrent: PropTypes__default.default.bool
1194
- };
1190
+ Content.displayName = 'Content';
1195
1191
 
1196
- const SubNavItemText = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledSubNavItemText, _extends$3({
1192
+ const Main = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledMain, Object.assign({
1197
1193
  ref: ref
1198
1194
  }, props)));
1199
- SubNavItemText.displayName = 'SubNavItemText';
1200
- SubNavItemText.propTypes = {
1201
- isWrapped: PropTypes__default.default.bool
1195
+ Main.displayName = 'Main';
1196
+
1197
+ const HeaderComponent = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeader, Object.assign({
1198
+ ref: ref
1199
+ }, props)));
1200
+ HeaderComponent.displayName = 'Header';
1201
+ HeaderComponent.propTypes = {
1202
+ isStandalone: PropTypes__default.default.bool
1202
1203
  };
1204
+ const Header$1 = HeaderComponent;
1205
+ Header$1.Item = HeaderItem;
1206
+ Header$1.ItemIcon = HeaderItemIcon;
1207
+ Header$1.ItemText = HeaderItemText;
1208
+ Header$1.ItemWrapper = HeaderItemWrapper;
1203
1209
 
1204
- const CollapsibleSubNavItem = React__namespace.default.forwardRef((_ref, ref) => {
1205
- let {
1206
- header,
1207
- children,
1208
- isExpanded: controlledExpanded,
1209
- onChange,
1210
- ...other
1211
- } = _ref;
1210
+ const FooterComponent = React__namespace.default.forwardRef((props, ref) => {
1212
1211
  const {
1213
- isDark,
1212
+ hasFooter,
1213
+ setHasFooter
1214
+ } = useBodyContext() || {};
1215
+ React.useEffect(() => {
1216
+ if (!hasFooter && setHasFooter) {
1217
+ setHasFooter(true);
1218
+ }
1219
+ return () => {
1220
+ if (hasFooter && setHasFooter) {
1221
+ setHasFooter(false);
1222
+ }
1223
+ };
1224
+ }, [hasFooter, setHasFooter]);
1225
+ return React__namespace.default.createElement(StyledFooter, Object.assign({
1226
+ ref: ref
1227
+ }, props));
1228
+ });
1229
+ FooterComponent.displayName = 'Footer';
1230
+ const Footer$1 = FooterComponent;
1231
+ Footer$1.Item = FooterItem$1;
1232
+
1233
+ const NavList = React__namespace.default.forwardRef((props, ref) => {
1234
+ const contextValue = React.useMemo(() => ({
1235
+ hasList: true
1236
+ }), []);
1237
+ return React__namespace.default.createElement(NavListContext.Provider, {
1238
+ value: contextValue
1239
+ }, React__namespace.default.createElement(StyledNavList, Object.assign({
1240
+ ref: ref
1241
+ }, props)));
1242
+ });
1243
+ NavList.displayName = 'Nav';
1244
+
1245
+ const NavComponent = React__namespace.default.forwardRef((props, ref) => {
1246
+ const {
1247
+ hue,
1214
1248
  isLight
1215
1249
  } = useChromeContext();
1216
- const panelRef = React.createRef();
1217
- const [internalExpanded, setInternalExpanded] = React.useState(controlledExpanded);
1218
- const expanded = containerUtilities.getControlledValue(controlledExpanded, internalExpanded);
1219
- const value = 0;
1220
- const expandedSections = expanded ? [value] : [];
1221
- const {
1222
- getHeaderProps,
1223
- getTriggerProps,
1224
- getPanelProps
1225
- } = containerAccordion.useAccordion({
1226
- sections: [value],
1227
- expandedSections,
1228
- onChange: () => {
1229
- const isExpanded = expandedSections.length === 0;
1230
- if (onChange) {
1231
- onChange(isExpanded);
1232
- } else {
1233
- setInternalExpanded(isExpanded);
1250
+ const navContextValue = React.useMemo(() => ({
1251
+ isExpanded: !!props.isExpanded
1252
+ }), [props.isExpanded]);
1253
+ return React__namespace.default.createElement(styled.ThemeProvider, {
1254
+ theme: parentTheme => ({
1255
+ ...parentTheme,
1256
+ colors: {
1257
+ ...parentTheme.colors,
1258
+ base: isLight ? 'light' : 'dark'
1234
1259
  }
1235
- }
1236
- });
1237
- React.useEffect(() => {
1238
- if (expanded && panelRef.current) {
1239
- panelRef.current.style.maxHeight = `${panelRef.current.scrollHeight}px`;
1240
- }
1241
- }, [expanded, children, panelRef]);
1242
- return React__namespace.default.createElement("div", {
1260
+ })
1261
+ }, React__namespace.default.createElement(NavContext.Provider, {
1262
+ value: navContextValue
1263
+ }, React__namespace.default.createElement(StyledNav, Object.assign({
1243
1264
  ref: ref
1244
- }, React__namespace.default.createElement("div", getHeaderProps({
1245
- 'aria-level': 2
1246
- }), React__namespace.default.createElement(StyledSubNavItemHeader, _extends$3({
1247
- isDark: isDark,
1248
- isLight: isLight,
1249
- isExpanded: expanded
1250
- }, getTriggerProps({
1251
- ...other,
1252
- role: null,
1253
- tabIndex: null,
1254
- value
1255
- }), {
1256
- type: "button"
1257
- }), React__namespace.default.createElement(React__namespace.default.Fragment, null, header, React__namespace.default.createElement(StyledSubNavItemIconWrapper, {
1258
- isExpanded: expanded
1259
- }, React__namespace.default.createElement(StyledSubNavItemIcon, null))))), React__namespace.default.createElement(StyledSubNavPanel, _extends$3({
1260
- isHidden: !expanded
1261
- }, getPanelProps({
1262
- ref: panelRef,
1263
- value
1264
- })), children));
1265
+ }, props, {
1266
+ hue: hue
1267
+ }))));
1265
1268
  });
1266
- CollapsibleSubNavItem.propTypes = {
1267
- header: PropTypes__default.default.any,
1268
- isExpanded: PropTypes__default.default.bool,
1269
- onChange: PropTypes__default.default.func
1269
+ NavComponent.displayName = 'Nav';
1270
+ NavComponent.propTypes = {
1271
+ isExpanded: PropTypes__default.default.bool
1270
1272
  };
1271
- CollapsibleSubNavItem.displayName = 'CollapsibleSubNavItem';
1273
+ const Nav = NavComponent;
1274
+ Nav.List = NavList;
1275
+ Nav.Item = NavItem;
1276
+ Nav.ItemIcon = NavItemIcon;
1277
+ Nav.ItemText = NavItemText;
1272
1278
 
1273
1279
  const SheetContext = React.createContext({
1274
1280
  setIsCloseButtonPresent() {}
@@ -1306,7 +1312,7 @@ const SheetTitle = React.forwardRef((_ref, ref) => {
1306
1312
  const {
1307
1313
  titleId
1308
1314
  } = useSheetContext();
1309
- return React__namespace.default.createElement(StyledSheetTitle, _extends$3({
1315
+ return React__namespace.default.createElement(StyledSheetTitle, Object.assign({
1310
1316
  id: id || titleId,
1311
1317
  ref: ref
1312
1318
  }, props));
@@ -1322,7 +1328,7 @@ const SheetDescription = React.forwardRef((_ref, ref) => {
1322
1328
  const {
1323
1329
  descriptionId
1324
1330
  } = useSheetContext();
1325
- return React__namespace.default.createElement(StyledSheetDescription, _extends$3({
1331
+ return React__namespace.default.createElement(StyledSheetDescription, Object.assign({
1326
1332
  id: id || descriptionId,
1327
1333
  ref: ref
1328
1334
  }, props));
@@ -1334,7 +1340,7 @@ const SheetHeader = React.forwardRef((props, ref) => {
1334
1340
  const {
1335
1341
  isCloseButtonPresent
1336
1342
  } = useSheetContext();
1337
- return React__namespace.default.createElement(StyledSheetHeader, _extends$3({
1343
+ return React__namespace.default.createElement(StyledSheetHeader, Object.assign({
1338
1344
  ref: ref,
1339
1345
  isCloseButtonPresent: isCloseButtonPresent
1340
1346
  }, props));
@@ -1343,7 +1349,7 @@ SheetHeader.displayName = 'Sheet.Header';
1343
1349
  const Header = SheetHeader;
1344
1350
 
1345
1351
  const SheetBody = React.forwardRef((props, ref) => {
1346
- return React__namespace.default.createElement(StyledSheetBody, _extends$3({
1352
+ return React__namespace.default.createElement(StyledSheetBody, Object.assign({
1347
1353
  ref: ref
1348
1354
  }, props));
1349
1355
  });
@@ -1351,7 +1357,7 @@ SheetBody.displayName = 'Sheet.Body';
1351
1357
  const Body = SheetBody;
1352
1358
 
1353
1359
  const SheetFooter = React.forwardRef((props, ref) => {
1354
- return React__namespace.default.createElement(StyledSheetFooter, _extends$3({
1360
+ return React__namespace.default.createElement(StyledSheetFooter, Object.assign({
1355
1361
  ref: ref
1356
1362
  }, props));
1357
1363
  });
@@ -1359,7 +1365,7 @@ SheetFooter.displayName = 'Sheet.Footer';
1359
1365
  const Footer = SheetFooter;
1360
1366
 
1361
1367
  const SheetFooterItem = React.forwardRef((props, ref) => {
1362
- return React__namespace.default.createElement(StyledSheetFooterItem, _extends$3({
1368
+ return React__namespace.default.createElement(StyledSheetFooterItem, Object.assign({
1363
1369
  ref: ref
1364
1370
  }, props));
1365
1371
  });
@@ -1367,7 +1373,7 @@ SheetFooterItem.displayName = 'Sheet.FooterItem';
1367
1373
  const FooterItem = SheetFooterItem;
1368
1374
 
1369
1375
  var _path;
1370
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1376
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1371
1377
  var SvgXStroke = function SvgXStroke(props) {
1372
1378
  return /*#__PURE__*/React__namespace.createElement("svg", _extends({
1373
1379
  xmlns: "http://www.w3.org/2000/svg",
@@ -1391,7 +1397,7 @@ const SheetClose = React.forwardRef((props, ref) => {
1391
1397
  setIsCloseButtonPresent(true);
1392
1398
  return () => setIsCloseButtonPresent(false);
1393
1399
  }, [setIsCloseButtonPresent]);
1394
- return React__namespace.default.createElement(StyledSheetClose, _extends$3({
1400
+ return React__namespace.default.createElement(StyledSheetClose, Object.assign({
1395
1401
  "aria-label": "Close Sheet",
1396
1402
  ref: ref
1397
1403
  }, props), React__namespace.default.createElement(SvgXStroke, null));
@@ -1414,7 +1420,7 @@ const SheetComponent = React__namespace.default.forwardRef((_ref, ref) => {
1414
1420
  const sheetRef = React.useRef(null);
1415
1421
  const seed = reactUid.useUIDSeed();
1416
1422
  const [isCloseButtonPresent, setIsCloseButtonPresent] = React.useState(false);
1417
- const idPrefix = React.useMemo(() => id || seed(`sheet_${'9.0.0-next.2'}`), [id, seed]);
1423
+ const idPrefix = React.useMemo(() => id || seed(`sheet_${'9.0.0-next.21'}`), [id, seed]);
1418
1424
  const titleId = `${idPrefix}--title`;
1419
1425
  const descriptionId = `${idPrefix}--description`;
1420
1426
  const sheetContext = React.useMemo(() => ({
@@ -1431,7 +1437,7 @@ const SheetComponent = React__namespace.default.forwardRef((_ref, ref) => {
1431
1437
  });
1432
1438
  return React__namespace.default.createElement(SheetContext.Provider, {
1433
1439
  value: sheetContext
1434
- }, React__namespace.default.createElement(StyledSheet, _extends$3({
1440
+ }, React__namespace.default.createElement(StyledSheet, Object.assign({
1435
1441
  isOpen: isOpen,
1436
1442
  isAnimated: isAnimated,
1437
1443
  placement: placement,
@@ -1474,7 +1480,6 @@ Sheet.Title = Title;
1474
1480
 
1475
1481
  exports.Body = Body$1;
1476
1482
  exports.Chrome = Chrome;
1477
- exports.CollapsibleSubNavItem = CollapsibleSubNavItem;
1478
1483
  exports.Content = Content;
1479
1484
  exports.Footer = Footer$1;
1480
1485
  exports.FooterItem = FooterItem$1;
@@ -1488,10 +1493,6 @@ exports.Nav = Nav;
1488
1493
  exports.NavItem = NavItem;
1489
1494
  exports.NavItemIcon = NavItemIcon;
1490
1495
  exports.NavItemText = NavItemText;
1491
- exports.PRODUCTS = PRODUCT;
1496
+ exports.PRODUCTS = PRODUCTS;
1492
1497
  exports.Sheet = Sheet;
1493
- exports.Sidebar = Sidebar;
1494
1498
  exports.SkipNav = SkipNav;
1495
- exports.SubNav = SubNav;
1496
- exports.SubNavItem = SubNavItem;
1497
- exports.SubNavItemText = SubNavItemText;