@zendeskgarden/react-chrome 9.0.0-next.16 → 9.0.0-next.17

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 (70) hide show
  1. package/dist/esm/elements/Chrome.js +9 -8
  2. package/dist/esm/elements/header/HeaderItemIcon.js +2 -18
  3. package/dist/esm/elements/nav/Nav.js +13 -7
  4. package/dist/esm/elements/nav/NavItem.js +5 -11
  5. package/dist/esm/elements/nav/NavItemIcon.js +2 -18
  6. package/dist/esm/elements/sheet/Sheet.js +1 -1
  7. package/dist/esm/styled/StyledChrome.js +1 -1
  8. package/dist/esm/styled/StyledSkipNav.js +43 -15
  9. package/dist/esm/styled/StyledSkipNavIcon.js +10 -4
  10. package/dist/esm/styled/body/StyledBody.js +6 -3
  11. package/dist/esm/styled/body/StyledContent.js +18 -6
  12. package/dist/esm/styled/body/StyledMain.js +6 -3
  13. package/dist/esm/styled/footer/StyledFooter.js +28 -7
  14. package/dist/esm/styled/footer/StyledFooterItem.js +1 -1
  15. package/dist/esm/styled/header/StyledBaseHeaderItem.js +24 -15
  16. package/dist/esm/styled/header/StyledHeader.js +46 -12
  17. package/dist/esm/styled/header/StyledHeaderItem.js +46 -14
  18. package/dist/esm/styled/header/StyledHeaderItemIcon.js +13 -5
  19. package/dist/esm/styled/header/StyledHeaderItemText.js +5 -5
  20. package/dist/esm/styled/header/StyledHeaderItemWrapper.js +1 -1
  21. package/dist/esm/styled/header/StyledLogoHeaderItem.js +33 -21
  22. package/dist/esm/styled/nav/StyledBaseNavItem.js +12 -11
  23. package/dist/esm/styled/nav/StyledBrandmarkNavItem.js +2 -2
  24. package/dist/esm/styled/nav/StyledLogoNavItem.js +15 -22
  25. package/dist/esm/styled/nav/StyledNav.js +33 -13
  26. package/dist/esm/styled/nav/StyledNavButton.js +64 -35
  27. package/dist/esm/styled/nav/StyledNavItemIcon.js +12 -5
  28. package/dist/esm/styled/nav/StyledNavItemText.js +19 -14
  29. package/dist/esm/styled/nav/StyledNavList.js +1 -1
  30. package/dist/esm/styled/nav/StyledNavListItem.js +1 -1
  31. package/dist/esm/styled/sheet/StyledSheet.js +32 -17
  32. package/dist/esm/styled/sheet/StyledSheetBody.js +1 -1
  33. package/dist/esm/styled/sheet/StyledSheetClose.js +13 -16
  34. package/dist/esm/styled/sheet/StyledSheetDescription.js +6 -3
  35. package/dist/esm/styled/sheet/StyledSheetFooter.js +23 -4
  36. package/dist/esm/styled/sheet/StyledSheetFooterItem.js +1 -1
  37. package/dist/esm/styled/sheet/StyledSheetHeader.js +27 -5
  38. package/dist/esm/styled/sheet/StyledSheetTitle.js +6 -3
  39. package/dist/esm/styled/sheet/StyledSheetWrapper.js +21 -18
  40. package/dist/esm/styled/utils.js +20 -0
  41. package/dist/index.cjs.js +662 -403
  42. package/dist/typings/elements/header/HeaderItemIcon.d.ts +1 -1
  43. package/dist/typings/elements/nav/NavItemIcon.d.ts +1 -1
  44. package/dist/typings/styled/StyledSkipNav.d.ts +0 -3
  45. package/dist/typings/styled/StyledSkipNavIcon.d.ts +2 -2
  46. package/dist/typings/styled/body/StyledContent.d.ts +2 -1
  47. package/dist/typings/styled/footer/StyledFooter.d.ts +1 -2
  48. package/dist/typings/styled/header/StyledBaseHeaderItem.d.ts +1 -6
  49. package/dist/typings/styled/header/StyledHeader.d.ts +1 -2
  50. package/dist/typings/styled/header/StyledHeaderItem.d.ts +0 -3
  51. package/dist/typings/styled/header/StyledHeaderItemIcon.d.ts +3 -4
  52. package/dist/typings/styled/header/StyledHeaderItemText.d.ts +0 -1
  53. package/dist/typings/styled/header/StyledLogoHeaderItem.d.ts +2 -4
  54. package/dist/typings/styled/nav/StyledBaseNavItem.d.ts +1 -2
  55. package/dist/typings/styled/nav/StyledBrandmarkNavItem.d.ts +0 -3
  56. package/dist/typings/styled/nav/StyledLogoNavItem.d.ts +3 -7
  57. package/dist/typings/styled/nav/StyledNav.d.ts +2 -6
  58. package/dist/typings/styled/nav/StyledNavButton.d.ts +2 -13
  59. package/dist/typings/styled/nav/StyledNavItemIcon.d.ts +3 -4
  60. package/dist/typings/styled/nav/StyledNavItemText.d.ts +2 -1
  61. package/dist/typings/styled/sheet/StyledSheetClose.d.ts +4 -8
  62. package/dist/typings/styled/sheet/StyledSheetDescription.d.ts +2 -3
  63. package/dist/typings/styled/sheet/StyledSheetFooter.d.ts +2 -2
  64. package/dist/typings/styled/sheet/StyledSheetFooterItem.d.ts +2 -3
  65. package/dist/typings/styled/sheet/StyledSheetHeader.d.ts +2 -6
  66. package/dist/typings/styled/sheet/StyledSheetTitle.d.ts +2 -3
  67. package/dist/typings/styled/sheet/StyledSheetWrapper.d.ts +2 -2
  68. package/dist/typings/styled/utils.d.ts +15 -0
  69. package/dist/typings/utils/useChromeContext.d.ts +0 -1
  70. package/package.json +4 -3
package/dist/index.cjs.js CHANGED
@@ -11,6 +11,7 @@ var PropTypes = require('prop-types');
11
11
  var styled = require('styled-components');
12
12
  var reactTheming = require('@zendeskgarden/react-theming');
13
13
  var polished = require('polished');
14
+ var reactButtons = require('@zendeskgarden/react-buttons');
14
15
  var reactUid = require('react-uid');
15
16
  var reactMergeRefs = require('react-merge-refs');
16
17
  var activeElement = require('dom-helpers/activeElement');
@@ -46,7 +47,7 @@ const PRODUCTS = ['chat', 'explore', 'guide', 'support', 'talk'];
46
47
  const COMPONENT_ID$w = 'chrome.chrome';
47
48
  const StyledChrome = styled__default.default.div.attrs({
48
49
  'data-garden-id': COMPONENT_ID$w,
49
- 'data-garden-version': '9.0.0-next.16'
50
+ 'data-garden-version': '9.0.0-next.17'
50
51
  }).withConfig({
51
52
  displayName: "StyledChrome",
52
53
  componentId: "sc-1uqm6u6-0"
@@ -55,178 +56,75 @@ StyledChrome.defaultProps = {
55
56
  theme: reactTheming.DEFAULT_THEME
56
57
  };
57
58
 
58
- const COMPONENT_ID$v = 'chrome.header_item_icon';
59
- const StyledHeaderItemIcon = styled__default.default.div.attrs({
60
- 'data-garden-id': COMPONENT_ID$v,
61
- 'data-garden-version': '9.0.0-next.16'
62
- }).withConfig({
63
- displayName: "StyledHeaderItemIcon",
64
- componentId: "sc-1jhhp6z-0"
65
- })(["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$v, props));
66
- StyledHeaderItemIcon.defaultProps = {
67
- theme: reactTheming.DEFAULT_THEME
68
- };
69
-
70
- const COMPONENT_ID$u = 'chrome.base_header_item';
71
- const getHeaderItemSize = props => `${props.theme.space.base * 7.5}px`;
72
- const sizeStyles$3 = props => {
73
- const size = props.theme.space.base * 7.5;
74
- 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));
75
- };
76
- const StyledBaseHeaderItem = styled__default.default.button.attrs({
77
- 'data-garden-id': COMPONENT_ID$u,
78
- 'data-garden-version': '9.0.0-next.16'
79
- }).withConfig({
80
- displayName: "StyledBaseHeaderItem",
81
- componentId: "sc-1qua7h6-0"
82
- })(["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 => {
83
- if (props.isRound) {
84
- return '100%';
85
- }
86
- if (props.maxY) {
87
- return '0';
88
- }
89
- return props.theme.borderRadii.md;
90
- }, sizeStyles$3, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$u, props));
91
- StyledBaseHeaderItem.defaultProps = {
92
- theme: reactTheming.DEFAULT_THEME
93
- };
94
-
95
- const COMPONENT_ID$t = 'chrome.header_item_text';
96
- const clippedStyling = styled.css(["position:absolute;margin:0;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap;"]);
97
- const StyledHeaderItemText = styled__default.default.span.attrs({
98
- 'data-garden-id': COMPONENT_ID$t,
99
- 'data-garden-version': '9.0.0-next.16'
100
- }).withConfig({
101
- displayName: "StyledHeaderItemText",
102
- componentId: "sc-goz7la-0"
103
- })(["margin:0 3px;", " ", ";"], props => props.isClipped && clippedStyling, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$t, props));
104
- StyledHeaderItemText.defaultProps = {
105
- theme: reactTheming.DEFAULT_THEME
106
- };
107
-
108
- const COMPONENT_ID$s = 'chrome.nav';
109
- const colorStyles$4 = props => {
110
- const shade = props.isDark || props.isLight ? 600 : 700;
111
- const backgroundColor = reactTheming.getColorV8(props.hue, shade, props.theme);
112
- const foregroundColor = props.isLight ? props.theme.palette.black : props.theme.palette.white;
113
- return styled.css(["background-color:", ";color:", ";"], backgroundColor, foregroundColor);
114
- };
115
- const getNavWidth = props => {
116
- return `${props.theme.space.base * 15}px`;
117
- };
118
- const getExpandedNavWidth = () => {
119
- return `200px`;
120
- };
121
- const StyledNav = styled__default.default.nav.attrs({
122
- 'data-garden-id': COMPONENT_ID$s,
123
- 'data-garden-version': '9.0.0-next.16'
124
- }).withConfig({
125
- displayName: "StyledNav",
126
- componentId: "sc-6j462r-0"
127
- })(["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$4(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$s, props));
128
- StyledNav.defaultProps = {
129
- theme: reactTheming.DEFAULT_THEME
130
- };
131
-
132
- const COMPONENT_ID$r = 'chrome.header_item';
133
- const retrieveProductColor$1 = props => {
134
- switch (props.product) {
135
- case 'chat':
136
- return reactTheming.PALETTE.product.chat;
137
- case 'explore':
138
- return reactTheming.PALETTE.product.explore;
139
- case 'guide':
140
- return reactTheming.PALETTE.product.guide;
141
- case 'support':
142
- return reactTheming.PALETTE.product.support;
143
- case 'talk':
144
- return reactTheming.PALETTE.product.talk;
145
- default:
146
- return 'inherit';
147
- }
148
- };
149
- const StyledLogoHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
150
- 'data-garden-id': COMPONENT_ID$r,
151
- 'data-garden-version': '9.0.0-next.16',
152
- as: 'div'
153
- }).withConfig({
154
- displayName: "StyledLogoHeaderItem",
155
- componentId: "sc-1n1d1yv-0"
156
- })(["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.getColorV8('neutralHue', 300, props.theme)}`, props => getNavWidth(props), props => reactTheming.getColorV8('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$r, props));
157
- StyledLogoHeaderItem.defaultProps = {
158
- theme: reactTheming.DEFAULT_THEME
159
- };
160
-
161
- const COMPONENT_ID$q = 'chrome.base_nav_item';
162
- const getNavItemHeight = props => {
163
- return `${props.theme.space.base * 13}px`;
164
- };
165
- const sizeStyles$2 = props => {
166
- const verticalPadding = polished.math(`(${getNavItemHeight(props)} - ${props.theme.iconSizes.lg}) / 2`);
167
- const horizontalPadding = polished.math(`(${getNavWidth(props)} - ${props.theme.iconSizes.lg}) / 4`);
168
- return styled.css(["padding:", " ", ";min-height:", ";"], verticalPadding, horizontalPadding, getNavItemHeight);
169
- };
170
- const StyledBaseNavItem = styled__default.default.div.attrs({
171
- 'data-garden-id': COMPONENT_ID$q,
172
- 'data-garden-version': '9.0.0-next.16'
173
- }).withConfig({
174
- displayName: "StyledBaseNavItem",
175
- componentId: "sc-zvo43f-0"
176
- })(["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;", ""], props => sizeStyles$2(props));
177
- StyledBaseNavItem.defaultProps = {
178
- theme: reactTheming.DEFAULT_THEME
179
- };
180
-
181
- const COMPONENT_ID$p = 'chrome.header';
182
- const getHeaderHeight = props => {
183
- return getNavItemHeight(props);
184
- };
185
- const StyledHeader = styled__default.default.header.attrs({
186
- 'data-garden-id': COMPONENT_ID$p,
187
- 'data-garden-version': '9.0.0-next.16'
188
- }).withConfig({
189
- displayName: "StyledHeader",
190
- componentId: "sc-1cexpz-0"
191
- })(["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.getColorV8('neutralHue', 300, props.theme)}`, props => props.isStandalone && props.theme.shadows.lg('0', '10px', reactTheming.getColorV8('chromeHue', 600, props.theme, 0.15)), props => reactTheming.getColorV8('background', 600 , props.theme), props => props.theme.space.base, getHeaderHeight, props => reactTheming.getColorV8('neutralHue', 600, props.theme), props => props.theme.fontSizes.md, props => props.isStandalone && `
192
- ${StyledLogoHeaderItem} {
193
- display: inline-flex;
194
- }
195
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$p, props));
196
- StyledHeader.defaultProps = {
197
- 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;
198
68
  };
199
69
 
200
- const COMPONENT_ID$o = 'chrome.skipnav';
70
+ const COMPONENT_ID$v = 'chrome.skipnav';
201
71
  const animationStyles = () => {
202
72
  const animationName = styled.keyframes(["0%{transform:translate(-50%,-50%);}"]);
203
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);
204
74
  };
205
- const colorStyles$3 = theme => {
206
- const color = reactTheming.getColorV8('primaryHue', 600, theme);
207
- const borderColor = reactTheming.getColorV8('neutralHue', 300, theme);
208
- const boxShadow = theme.shadows.lg(`${theme.space.base * 5}px`, `${theme.space.base * 7}px`, reactTheming.getColorV8('chromeHue', 600, theme, 0.15));
209
- return styled.css(["border-color:", ";box-shadow:", ";background-color:", ";color:", ";&:hover,&:focus{color:", ";}", ""], borderColor, boxShadow, reactTheming.getColorV8('background', 600 , theme), 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
+ theme,
89
+ hue: 'neutralHue',
90
+ shade: 1200,
91
+ dark: {
92
+ transparency: theme.opacity[800]
93
+ },
94
+ light: {
95
+ transparency: theme.opacity[200]
96
+ }
97
+ });
98
+ const boxShadow = theme.shadows.lg(`${theme.space.base * 4}px`, `${theme.space.base * 6}px`, boxShadowColor);
99
+ const foregroundColor = reactTheming.getColor({
100
+ theme,
101
+ variable: 'foreground.primary'
102
+ });
103
+ return styled.css(["border-color:", ";box-shadow:", ";background-color:", ";color:", ";&:hover,&:focus{color:", ";}", ""], borderColor, boxShadow, backgroundColor, foregroundColor, foregroundColor, reactTheming.focusStyles({
210
104
  theme,
211
105
  inset: true,
212
106
  boxShadow
213
107
  }));
214
108
  };
215
- const sizeStyles$1 = props => {
216
- const top = polished.math(`${getHeaderHeight(props)} / 2`);
217
- const padding = `${props.theme.space.base * 5}px`;
218
- const paddingStart = `${props.theme.space.base * 4}px`;
219
- const fontSize = props.theme.fontSizes.md;
109
+ const sizeStyles$g = _ref2 => {
110
+ let {
111
+ theme
112
+ } = _ref2;
113
+ const top = polished.math(`${getHeaderHeight(theme)} / 2`);
114
+ const border = theme.borders.sm;
115
+ const padding = `${theme.space.base * 5}px`;
116
+ const paddingStart = `${theme.space.base * 4}px`;
117
+ const fontSize = theme.fontSizes.md;
220
118
  const lineHeight = reactTheming.getLineHeight(padding, fontSize);
221
- return styled.css(["top:", ";padding:", ";padding-", ":", ";line-height:", ";font-size:", ";"], top, padding, props.theme.rtl ? 'right' : 'left', paddingStart, lineHeight, fontSize);
119
+ return styled.css(["top:", ";border:", ";padding:", ";padding-", ":", ";line-height:", ";font-size:", ";"], top, border, padding, theme.rtl ? 'right' : 'left', paddingStart, lineHeight, fontSize);
222
120
  };
223
121
  const StyledSkipNav = styled__default.default.a.attrs({
224
- 'data-garden-id': COMPONENT_ID$o,
225
- 'data-garden-version': '9.0.0-next.16'
122
+ 'data-garden-id': COMPONENT_ID$v,
123
+ 'data-garden-version': '9.0.0-next.17'
226
124
  }).withConfig({
227
125
  displayName: "StyledSkipNav",
228
126
  componentId: "sc-1tsro34-0"
229
- })(["", ";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$1(props), reactTheming.SELECTOR_FOCUS_VISIBLE, props => colorStyles$3(props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$o, props));
127
+ })(["", ";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));
230
128
  StyledSkipNav.defaultProps = {
231
129
  theme: reactTheming.DEFAULT_THEME
232
130
  };
@@ -247,175 +145,465 @@ var SvgLinkStroke = function SvgLinkStroke(props) {
247
145
  })));
248
146
  };
249
147
 
250
- const COMPONENT_ID$n = 'chrome.skipnav_icon';
251
- const sizeStyles = theme => {
148
+ const COMPONENT_ID$u = 'chrome.skipnav_icon';
149
+ const sizeStyles$f = _ref => {
150
+ let {
151
+ theme
152
+ } = _ref;
252
153
  const margin = `${theme.space.base * 2}px`;
253
154
  const size = theme.iconSizes.md;
254
155
  return styled.css(["margin-", ":", ";width:", ";height:", ";"], theme.rtl ? 'left' : 'right', margin, size, size);
255
156
  };
256
157
  const StyledSkipNavIcon = styled__default.default(SvgLinkStroke).attrs({
257
- 'data-garden-id': COMPONENT_ID$n,
258
- 'data-garden-version': '9.0.0-next.16'
158
+ 'data-garden-id': COMPONENT_ID$u,
159
+ 'data-garden-version': '9.0.0-next.17'
259
160
  }).withConfig({
260
161
  displayName: "StyledSkipNavIcon",
261
162
  componentId: "sc-1ika5z4-0"
262
- })(["transform:", ";color:", ";", ";", ";"], props => props.theme.rtl && 'scaleX(-1)', props => reactTheming.getColorV8('neutralHue', 600, props.theme), props => sizeStyles(props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$n, props));
163
+ })(["transform:", ";color:", ";", ";", ";"], p => p.theme.rtl && 'scaleX(-1)', p => reactTheming.getColor({
164
+ theme: p.theme,
165
+ variable: 'foreground.subtle'
166
+ }), sizeStyles$f, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$u, props));
263
167
  StyledSkipNavIcon.defaultProps = {
264
168
  theme: reactTheming.DEFAULT_THEME
265
169
  };
266
170
 
267
- const COMPONENT_ID$m = 'chrome.body';
171
+ const COMPONENT_ID$t = 'chrome.body';
268
172
  const StyledBody = styled__default.default.div.attrs({
269
- 'data-garden-id': COMPONENT_ID$m,
270
- 'data-garden-version': '9.0.0-next.16'
173
+ 'data-garden-id': COMPONENT_ID$t,
174
+ 'data-garden-version': '9.0.0-next.17'
271
175
  }).withConfig({
272
176
  displayName: "StyledBody",
273
177
  componentId: "sc-c7h9kv-0"
274
- })(["flex:1;order:1;background-color:", ";min-width:0;", ";"], props => reactTheming.getColorV8('neutralHue', 100, props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$m, props));
178
+ })(["flex:1;order:1;background-color:", ";min-width:0;", ";"], props => reactTheming.getColor({
179
+ theme: props.theme,
180
+ variable: 'background.default'
181
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$t, props));
275
182
  StyledBody.defaultProps = {
276
183
  theme: reactTheming.DEFAULT_THEME
277
184
  };
278
185
 
279
- const COMPONENT_ID$l = 'chrome.footer';
280
- const getFooterHeight = props => {
281
- return `${props.theme.space.base * 20}px`;
282
- };
283
- const StyledFooter = styled__default.default.footer.attrs({
284
- 'data-garden-id': COMPONENT_ID$l,
285
- 'data-garden-version': '9.0.0-next.16'
286
- }).withConfig({
287
- displayName: "StyledFooter",
288
- componentId: "sc-v7lib2-0"
289
- })(["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.getColorV8('neutralHue', 300, props.theme)}`, props => reactTheming.getColorV8('background', 600 , props.theme), props => props.theme.space.base * 9, getFooterHeight, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$l, props));
290
- StyledFooter.defaultProps = {
291
- theme: reactTheming.DEFAULT_THEME
186
+ const COMPONENT_ID$s = 'chrome.content';
187
+ const sizeStyles$e = _ref => {
188
+ let {
189
+ theme,
190
+ hasFooter
191
+ } = _ref;
192
+ const fontSize = theme.fontSizes.md;
193
+ const height = hasFooter ? `calc(100% - ${polished.math(`${getHeaderHeight(theme)} + ${getFooterHeight(theme)}`)})` : `calc(100% - ${getHeaderHeight(theme)})`;
194
+ const lineHeight = reactTheming.getLineHeight(theme.lineHeights.md, theme.fontSizes.md);
195
+ return styled.css(["height:", ";line-height:", ";font-size:", ";"], height, lineHeight, fontSize);
292
196
  };
293
-
294
- const COMPONENT_ID$k = 'chrome.content';
295
197
  const StyledContent = styled__default.default.div.attrs({
296
- 'data-garden-id': COMPONENT_ID$k,
297
- 'data-garden-version': '9.0.0-next.16'
198
+ 'data-garden-id': COMPONENT_ID$s,
199
+ 'data-garden-version': '9.0.0-next.17'
298
200
  }).withConfig({
299
201
  displayName: "StyledContent",
300
202
  componentId: "sc-qcuzxn-0"
301
- })(["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 => reactTheming.getColorV8('foreground', 600 , props.theme), props => props.theme.fontSizes.md, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$k, props));
203
+ })(["display:flex;color:", ";", ";&:focus{outline:none;}", ";"], props => reactTheming.getColor({
204
+ theme: props.theme,
205
+ variable: 'foreground.default'
206
+ }), sizeStyles$e, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$s, props));
302
207
  StyledContent.defaultProps = {
303
208
  theme: reactTheming.DEFAULT_THEME
304
209
  };
305
210
 
306
- const COMPONENT_ID$j = 'chrome.main';
211
+ const COMPONENT_ID$r = 'chrome.main';
307
212
  const StyledMain = styled__default.default.main.attrs({
308
- 'data-garden-id': COMPONENT_ID$j,
309
- 'data-garden-version': '9.0.0-next.16'
213
+ 'data-garden-id': COMPONENT_ID$r,
214
+ 'data-garden-version': '9.0.0-next.17'
310
215
  }).withConfig({
311
216
  displayName: "StyledMain",
312
217
  componentId: "sc-t61cre-0"
313
- })(["flex:1;order:1;background-color:", ";overflow:auto;:focus{outline:none;}", ";"], props => reactTheming.getColorV8('background', 600 , props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$j, props));
218
+ })(["flex:1;order:1;background-color:", ";overflow:auto;:focus{outline:none;}", ";"], props => reactTheming.getColor({
219
+ theme: props.theme,
220
+ variable: 'background.default'
221
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$r, props));
314
222
  StyledMain.defaultProps = {
315
223
  theme: reactTheming.DEFAULT_THEME
316
224
  };
317
225
 
318
- const COMPONENT_ID$i = 'chrome.footer_item';
226
+ const COMPONENT_ID$q = 'chrome.footer';
227
+ const colorStyles$9 = _ref => {
228
+ let {
229
+ theme
230
+ } = _ref;
231
+ const backgroundColor = reactTheming.getColor({
232
+ theme,
233
+ variable: 'background.default'
234
+ });
235
+ const borderColor = reactTheming.getColor({
236
+ theme,
237
+ variable: 'border.default'
238
+ });
239
+ return styled.css(["border-top-color:", ";background-color:", ";"], borderColor, backgroundColor);
240
+ };
241
+ const sizeStyles$d = _ref2 => {
242
+ let {
243
+ theme
244
+ } = _ref2;
245
+ const border = theme.borders.sm;
246
+ const padding = `0 ${theme.space.base * 9}px`;
247
+ const height = getFooterHeight(theme);
248
+ return styled.css(["box-sizing:border-box;border-top:", ";padding:", ";height:", ";"], border, padding, height);
249
+ };
250
+ const StyledFooter = styled__default.default.footer.attrs({
251
+ 'data-garden-id': COMPONENT_ID$q,
252
+ 'data-garden-version': '9.0.0-next.17'
253
+ }).withConfig({
254
+ displayName: "StyledFooter",
255
+ componentId: "sc-v7lib2-0"
256
+ })(["display:flex;align-items:center;justify-content:flex-end;", ";", ";", ";"], sizeStyles$d, colorStyles$9, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$q, props));
257
+ StyledFooter.defaultProps = {
258
+ theme: reactTheming.DEFAULT_THEME
259
+ };
260
+
261
+ const COMPONENT_ID$p = 'chrome.footer_item';
319
262
  const StyledFooterItem = styled__default.default.div.attrs({
320
- 'data-garden-id': COMPONENT_ID$i,
321
- 'data-garden-version': '9.0.0-next.16'
263
+ 'data-garden-id': COMPONENT_ID$p,
264
+ 'data-garden-version': '9.0.0-next.17'
322
265
  }).withConfig({
323
266
  displayName: "StyledFooterItem",
324
267
  componentId: "sc-1cktm85-0"
325
- })(["margin:", ";", ";"], props => `0 ${props.theme.space.base}px`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$i, props));
268
+ })(["margin:", ";", ";"], props => `0 ${props.theme.space.base}px`, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$p, props));
326
269
  StyledFooterItem.defaultProps = {
327
270
  theme: reactTheming.DEFAULT_THEME
328
271
  };
329
272
 
330
- const COMPONENT_ID$h = 'chrome.header_item';
331
- const imgStyles = props => {
332
- const size = polished.math(`${getHeaderItemSize(props)} - ${props.theme.space.base * 2}`);
333
- return styled.css(["img{margin:0;border-radius:", ";width:", ";height:", ";}"], polished.math(`${props.theme.borderRadii.md} - 1`), size, size);
273
+ const COMPONENT_ID$o = 'chrome.header_item_icon';
274
+ const sizeStyles$c = _ref => {
275
+ let {
276
+ theme
277
+ } = _ref;
278
+ const margin = `0 ${theme.space.base * 0.75}px`;
279
+ const size = theme.iconSizes.md;
280
+ return styled.css(["margin:", ";width:", ";min-width:", ";height:", ";"], margin, size, size, size);
281
+ };
282
+ const StyledHeaderItemIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
283
+ 'data-garden-id': COMPONENT_ID$o,
284
+ 'data-garden-version': '9.0.0-next.17'
285
+ }).withConfig({
286
+ displayName: "StyledHeaderItemIcon",
287
+ componentId: "sc-1jhhp6z-0"
288
+ })(["transition:transform 0.25s ease-in-out;", ";", ";"], sizeStyles$c, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$o, props));
289
+ StyledHeaderItemIcon.defaultProps = {
290
+ theme: reactTheming.DEFAULT_THEME
291
+ };
292
+
293
+ const COMPONENT_ID$n = 'chrome.base_header_item';
294
+ const sizeStyles$b = _ref => {
295
+ let {
296
+ theme,
297
+ maxY,
298
+ isRound
299
+ } = _ref;
300
+ const margin = `0 ${theme.space.base * 3}px`;
301
+ const size = getHeaderItemSize(theme);
302
+ const height = maxY ? '100%' : size;
303
+ const lineHeight = reactTheming.getLineHeight(size, theme.fontSizes.md);
304
+ const padding = `0 ${theme.space.base * 0.75}px`;
305
+ let borderRadius;
306
+ if (isRound) {
307
+ borderRadius = '100%';
308
+ } else if (maxY) {
309
+ borderRadius = '0';
310
+ } else {
311
+ borderRadius = theme.borderRadii.md;
312
+ }
313
+ return styled.css(["margin:", ";border-radius:", ";padding:", ";min-width:", ";height:", ";line-height:", ";font-size:inherit;"], margin, borderRadius, padding, size, height, lineHeight);
314
+ };
315
+ const StyledBaseHeaderItem = styled__default.default.button.attrs({
316
+ 'data-garden-id': COMPONENT_ID$n,
317
+ 'data-garden-version': '9.0.0-next.17'
318
+ }).withConfig({
319
+ displayName: "StyledBaseHeaderItem",
320
+ componentId: "sc-1qua7h6-0"
321
+ })(["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));
322
+ StyledBaseHeaderItem.defaultProps = {
323
+ theme: reactTheming.DEFAULT_THEME
324
+ };
325
+
326
+ const COMPONENT_ID$m = 'chrome.header_item_text';
327
+ const StyledHeaderItemText = styled__default.default.span.attrs({
328
+ 'data-garden-id': COMPONENT_ID$m,
329
+ 'data-garden-version': '9.0.0-next.17'
330
+ }).withConfig({
331
+ displayName: "StyledHeaderItemText",
332
+ componentId: "sc-goz7la-0"
333
+ })(["margin:", ";", " ", ";"], props => `0 ${props.theme.space.base * 0.75}px`, props => props.isClipped && polished.hideVisually(), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$m, props));
334
+ StyledHeaderItemText.defaultProps = {
335
+ theme: reactTheming.DEFAULT_THEME
336
+ };
337
+
338
+ const COMPONENT_ID$l = 'chrome.header_item';
339
+ const colorStyles$8 = _ref => {
340
+ let {
341
+ theme,
342
+ product
343
+ } = _ref;
344
+ const borderColor = reactTheming.getColor({
345
+ theme,
346
+ variable: 'border.default'
347
+ });
348
+ const fill = reactTheming.getColor({
349
+ theme,
350
+ variable: 'foreground.default'
351
+ });
352
+ const color = getProductColor(product, fill );
353
+ return styled.css(["border-", "-color:", ";color:", ";fill:", ";"], theme.rtl ? 'left' : 'right', borderColor, color, fill);
354
+ };
355
+ const sizeStyles$a = _ref2 => {
356
+ let {
357
+ theme
358
+ } = _ref2;
359
+ const border = theme.borders.sm;
360
+ const iconSize = theme.iconSizes.lg;
361
+ const marginRight = theme.rtl ? `-${theme.space.base}px` : 'auto';
362
+ const marginLeft = theme.rtl ? 'auto' : `-${theme.space.base}px`;
363
+ const width = getNavWidth(theme);
364
+ 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);
365
+ };
366
+ const StyledLogoHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
367
+ 'data-garden-id': COMPONENT_ID$l,
368
+ 'data-garden-version': '9.0.0-next.17',
369
+ as: 'div'
370
+ }).withConfig({
371
+ displayName: "StyledLogoHeaderItem",
372
+ componentId: "sc-1n1d1yv-0"
373
+ })(["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));
374
+ StyledLogoHeaderItem.defaultProps = {
375
+ theme: reactTheming.DEFAULT_THEME
376
+ };
377
+
378
+ const COMPONENT_ID$k = 'chrome.header';
379
+ const colorStyles$7 = _ref => {
380
+ let {
381
+ theme,
382
+ isStandalone
383
+ } = _ref;
384
+ const backgroundColor = reactTheming.getColor({
385
+ theme,
386
+ variable: 'background.default'
387
+ });
388
+ const borderColor = reactTheming.getColor({
389
+ theme,
390
+ variable: 'border.default'
391
+ });
392
+ const boxShadowColor = reactTheming.getColor({
393
+ hue: 'neutralHue',
394
+ shade: 1200,
395
+ light: {
396
+ transparency: theme.opacity[200]
397
+ },
398
+ dark: {
399
+ transparency: theme.opacity[1100]
400
+ },
401
+ theme
402
+ });
403
+ const boxShadow = isStandalone ? theme.shadows.lg('0', `${theme.space.base * 2}px`, boxShadowColor) : undefined;
404
+ const foregroundColor = reactTheming.getColor({
405
+ theme,
406
+ variable: 'foreground.subtle'
407
+ });
408
+ return styled.css(["border-bottom-color:", ";box-shadow:", ";background-color:", ";color:", ";"], borderColor, boxShadow, backgroundColor, foregroundColor);
409
+ };
410
+ const sizeStyles$9 = _ref2 => {
411
+ let {
412
+ theme
413
+ } = _ref2;
414
+ const border = theme.borders.sm;
415
+ const padding = `0 ${theme.space.base}px`;
416
+ const fontSize = theme.fontSizes.md;
417
+ const height = getHeaderHeight(theme);
418
+ return styled.css(["box-sizing:border-box;border-bottom:", ";padding:", ";height:", ";font-size:", ";"], border, padding, height, fontSize);
419
+ };
420
+ const StyledHeader = styled__default.default.header.attrs({
421
+ 'data-garden-id': COMPONENT_ID$k,
422
+ 'data-garden-version': '9.0.0-next.17'
423
+ }).withConfig({
424
+ displayName: "StyledHeader",
425
+ componentId: "sc-1cexpz-0"
426
+ })(["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));
427
+ StyledHeader.defaultProps = {
428
+ theme: reactTheming.DEFAULT_THEME
429
+ };
430
+
431
+ const COMPONENT_ID$j = 'chrome.header_item';
432
+ const colorStyles$6 = _ref => {
433
+ let {
434
+ theme,
435
+ maxY
436
+ } = _ref;
437
+ const options = {
438
+ theme,
439
+ variable: 'foreground.subtle'
440
+ };
441
+ const hoverColor = reactTheming.getColor({
442
+ ...options,
443
+ dark: {
444
+ offset: -100
445
+ },
446
+ light: {
447
+ offset: 100
448
+ }
449
+ });
450
+ const activeColor = reactTheming.getColor({
451
+ ...options,
452
+ dark: {
453
+ offset: -200
454
+ },
455
+ light: {
456
+ offset: 200
457
+ }
458
+ });
459
+ return styled.css(["&:hover,&:focus{color:inherit;}", ";&:hover ", ",&:hover ", "{color:", ";}&:active ", ",&:active ", "{color:", ";}"], reactTheming.focusStyles({
460
+ theme,
461
+ inset: maxY
462
+ }), StyledHeaderItemIcon, StyledHeaderItemText, hoverColor, StyledHeaderItemIcon, StyledHeaderItemText, activeColor);
463
+ };
464
+ const sizeStyles$8 = _ref2 => {
465
+ let {
466
+ theme,
467
+ isRound
468
+ } = _ref2;
469
+ const iconBorderRadius = isRound ? '100px' : undefined;
470
+ const imageBorderRadius = polished.math(`${theme.borderRadii.md} - 1`);
471
+ const imageSize = polished.math(`${getHeaderItemSize(theme)} - ${theme.space.base * 2}`);
472
+ return styled.css(["img{margin:0;border-radius:", ";width:", ";height:", ";}", "{border-radius:", ";}"], imageBorderRadius, imageSize, imageSize, StyledHeaderItemIcon, iconBorderRadius);
334
473
  };
335
474
  const StyledHeaderItem = styled__default.default(StyledBaseHeaderItem).attrs({
336
- 'data-garden-id': COMPONENT_ID$h,
337
- 'data-garden-version': '9.0.0-next.16'
475
+ 'data-garden-id': COMPONENT_ID$j,
476
+ 'data-garden-version': '9.0.0-next.17'
338
477
  }).withConfig({
339
478
  displayName: "StyledHeaderItem",
340
479
  componentId: "sc-14sft6n-0"
341
- })(["&:hover,&:focus{text-decoration:none;color:inherit;}", " &:focus-visible:active{box-shadow:none;}&:hover ", ",&:hover ", ",&:active ", ",&:active ", "{color:", ";}", " ", " ", ";"], props => reactTheming.focusStyles({
342
- theme: props.theme,
343
- inset: props.maxY
344
- }), StyledHeaderItemIcon, StyledHeaderItemText, StyledHeaderItemIcon, StyledHeaderItemText, props => reactTheming.getColorV8('chromeHue', 700, props.theme), imgStyles, props => props.isRound && `
345
- ${StyledHeaderItemIcon} {
346
- border-radius: 100px;
347
- }
348
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$h, props));
480
+ })(["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));
349
481
  StyledHeaderItem.defaultProps = {
350
482
  theme: reactTheming.DEFAULT_THEME
351
483
  };
352
484
 
353
- const COMPONENT_ID$g = 'chrome.header_item_wrapper';
485
+ const COMPONENT_ID$i = 'chrome.header_item_wrapper';
354
486
  const StyledHeaderItemWrapper = styled__default.default(StyledBaseHeaderItem).attrs({
355
- 'data-garden-id': COMPONENT_ID$g,
356
- 'data-garden-version': '9.0.0-next.16',
487
+ 'data-garden-id': COMPONENT_ID$i,
488
+ 'data-garden-version': '9.0.0-next.17',
357
489
  as: 'div'
358
490
  }).withConfig({
359
491
  displayName: "StyledHeaderItemWrapper",
360
492
  componentId: "sc-1uieu55-0"
361
- })(["", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$g, props));
493
+ })(["", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$i, props));
362
494
  StyledHeaderItemWrapper.defaultProps = {
363
495
  theme: reactTheming.DEFAULT_THEME
364
496
  };
365
497
 
366
- const COMPONENT_ID$f = 'chrome.nav_list';
498
+ const COMPONENT_ID$h = 'chrome.nav';
499
+ const colorStyles$5 = _ref => {
500
+ let {
501
+ theme,
502
+ hue
503
+ } = _ref;
504
+ const shade = hue === 'chromeHue' ? 900 : undefined;
505
+ const backgroundColor = reactTheming.getColor({
506
+ theme,
507
+ hue,
508
+ shade
509
+ });
510
+ const foregroundColor = reactTheming.getColor({
511
+ theme,
512
+ dark: {
513
+ hue: 'white'
514
+ },
515
+ light: {
516
+ hue: 'black'
517
+ }
518
+ });
519
+ return styled.css(["background-color:", ";color:", ";"], backgroundColor, foregroundColor);
520
+ };
521
+ const sizeStyles$7 = _ref2 => {
522
+ let {
523
+ theme,
524
+ isExpanded
525
+ } = _ref2;
526
+ const fontSize = theme.fontSizes.md;
527
+ const width = isExpanded ? getNavWidthExpanded() : getNavWidth(theme);
528
+ return styled.css(["width:", ";font-size:", ";"], width, fontSize);
529
+ };
530
+ const StyledNav = styled__default.default.nav.attrs({
531
+ 'data-garden-id': COMPONENT_ID$h,
532
+ 'data-garden-version': '9.0.0-next.17'
533
+ }).withConfig({
534
+ displayName: "StyledNav",
535
+ componentId: "sc-6j462r-0"
536
+ })(["display:flex;position:relative;flex-direction:column;flex-shrink:0;order:-1;", ";", ";", ";"], colorStyles$5, sizeStyles$7, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$h, props));
537
+ StyledNav.defaultProps = {
538
+ theme: reactTheming.DEFAULT_THEME
539
+ };
540
+
541
+ const COMPONENT_ID$g = 'chrome.nav_list';
367
542
  const StyledNavList = styled__default.default.ul.attrs({
368
- 'data-garden-id': COMPONENT_ID$f,
369
- 'data-garden-version': '9.0.0-next.16'
543
+ 'data-garden-id': COMPONENT_ID$g,
544
+ 'data-garden-version': '9.0.0-next.17'
370
545
  }).withConfig({
371
546
  displayName: "StyledNavList",
372
547
  componentId: "sc-1s0nkfb-0"
373
- })(["display:flex;flex:1;flex-direction:column;order:0;margin:0;padding:0;list-style:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$f, props));
548
+ })(["display:flex;flex:1;flex-direction:column;order:0;margin:0;padding:0;list-style:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$g, props));
374
549
  StyledNavList.defaultProps = {
375
550
  theme: reactTheming.DEFAULT_THEME
376
551
  };
377
552
 
378
- const COMPONENT_ID$e = 'chrome.nav_list_item';
553
+ const COMPONENT_ID$f = 'chrome.nav_list_item';
379
554
  const StyledNavListItem = styled__default.default.li.attrs({
380
- 'data-garden-id': COMPONENT_ID$e,
381
- 'data-garden-version': '9.0.0-next.16'
555
+ 'data-garden-id': COMPONENT_ID$f,
556
+ 'data-garden-version': '9.0.0-next.17'
382
557
  }).withConfig({
383
558
  displayName: "StyledNavListItem",
384
559
  componentId: "sc-18cj2v7-0"
385
- })(["display:flex;order:1;margin:0;padding:0;list-style-type:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$e, props));
560
+ })(["display:flex;order:1;margin:0;padding:0;list-style-type:none;", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$f, props));
386
561
  StyledNavListItem.defaultProps = {
387
562
  theme: reactTheming.DEFAULT_THEME
388
563
  };
389
564
 
390
- const COMPONENT_ID$d = 'chrome.logo_nav_list_item';
391
- const retrieveProductColor = product => {
392
- switch (product) {
393
- case 'chat':
394
- return reactTheming.PALETTE.product.chat;
395
- case 'explore':
396
- return reactTheming.PALETTE.product.explore;
397
- case 'guide':
398
- return reactTheming.PALETTE.product.guide;
399
- case 'support':
400
- return reactTheming.PALETTE.product.support;
401
- case 'talk':
402
- return reactTheming.PALETTE.product.talk;
403
- default:
404
- return 'inherit';
405
- }
565
+ const COMPONENT_ID$e = 'chrome.base_nav_item';
566
+ const sizeStyles$6 = _ref => {
567
+ let {
568
+ theme
569
+ } = _ref;
570
+ const minHeight = getNavItemHeight(theme);
571
+ const verticalPadding = polished.math(`(${minHeight} - ${theme.iconSizes.lg}) / 2`);
572
+ const horizontalPadding = polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`);
573
+ return styled.css(["padding:", " ", ";min-height:", ";"], verticalPadding, horizontalPadding, minHeight);
574
+ };
575
+ const StyledBaseNavItem = styled__default.default.div.attrs({
576
+ 'data-garden-id': COMPONENT_ID$e,
577
+ 'data-garden-version': '9.0.0-next.17'
578
+ }).withConfig({
579
+ displayName: "StyledBaseNavItem",
580
+ componentId: "sc-zvo43f-0"
581
+ })(["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);
582
+ StyledBaseNavItem.defaultProps = {
583
+ theme: reactTheming.DEFAULT_THEME
406
584
  };
407
- const colorStyles$2 = props => {
408
- const fillColor = props.isLight ? props.theme.palette.grey[800] : props.theme.palette.white;
409
- const color = props.isLight || props.isDark ? fillColor : retrieveProductColor(props.product);
585
+
586
+ const COMPONENT_ID$d = 'chrome.logo_nav_list_item';
587
+ const colorStyles$4 = _ref => {
588
+ let {
589
+ theme,
590
+ hue,
591
+ product
592
+ } = _ref;
593
+ const fillColor = reactTheming.getColor({
594
+ theme,
595
+ variable: 'foreground.default'
596
+ });
597
+ const color = hue === 'chromeHue' ? getProductColor(product) : fillColor;
410
598
  return styled.css(["color:", ";fill:", ";"], color, fillColor);
411
599
  };
412
600
  const StyledLogoNavItem = styled__default.default(StyledBaseNavItem).attrs({
413
601
  'data-garden-id': COMPONENT_ID$d,
414
- 'data-garden-version': '9.0.0-next.16'
602
+ 'data-garden-version': '9.0.0-next.17'
415
603
  }).withConfig({
416
604
  displayName: "StyledLogoNavItem",
417
605
  componentId: "sc-saaydx-0"
418
- })(["order:-1;opacity:1;cursor:default;min-height:0;", ";"], props => colorStyles$2(props));
606
+ })(["order:-1;opacity:1;cursor:default;min-height:0;", ";"], colorStyles$4);
419
607
  StyledLogoNavItem.defaultProps = {
420
608
  theme: reactTheming.DEFAULT_THEME
421
609
  };
@@ -423,153 +611,212 @@ StyledLogoNavItem.defaultProps = {
423
611
  const COMPONENT_ID$c = 'chrome.brandmark_nav_list_item';
424
612
  const StyledBrandmarkNavItem = styled__default.default(StyledBaseNavItem).attrs({
425
613
  'data-garden-id': COMPONENT_ID$c,
426
- 'data-garden-version': '9.0.0-next.16'
614
+ 'data-garden-version': '9.0.0-next.17'
427
615
  }).withConfig({
428
616
  displayName: "StyledBrandmarkNavItem",
429
617
  componentId: "sc-8kynd4-0"
430
- })(["order:1;opacity:0.3;margin-top:auto;min-height:0;"]);
618
+ })(["order:1;opacity:", ";margin-top:auto;min-height:0;"], props => props.theme.opacity[400]);
431
619
  StyledBrandmarkNavItem.defaultProps = {
432
620
  theme: reactTheming.DEFAULT_THEME
433
621
  };
434
622
 
435
623
  const COMPONENT_ID$b = 'chrome.nav_item_icon';
436
- const StyledNavItemIcon = styled__default.default.div.attrs({
624
+ const sizeStyles$5 = _ref => {
625
+ let {
626
+ theme
627
+ } = _ref;
628
+ const size = theme.iconSizes.lg;
629
+ return styled.css(["width:", ";height:", ";"], size, size);
630
+ };
631
+ const StyledNavItemIcon = styled__default.default(reactTheming.StyledBaseIcon).attrs({
437
632
  'data-garden-id': COMPONENT_ID$b,
438
- 'data-garden-version': '9.0.0-next.16'
633
+ 'data-garden-version': '9.0.0-next.17'
439
634
  }).withConfig({
440
635
  displayName: "StyledNavItemIcon",
441
636
  componentId: "sc-7w9rpt-0"
442
- })(["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$b, props));
637
+ })(["align-self:flex-start;order:0;border-radius:", ";", ";", ";"], props => props.theme.borderRadii.md, sizeStyles$5, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$b, props));
443
638
  StyledNavItemIcon.defaultProps = {
444
639
  theme: reactTheming.DEFAULT_THEME
445
640
  };
446
641
 
447
642
  const COMPONENT_ID$a = 'chrome.nav_button';
448
- const colorStyles$1 = props => {
449
- const {
643
+ const colorStyles$3 = _ref => {
644
+ let {
645
+ theme,
646
+ hue
647
+ } = _ref;
648
+ const activeBackgroundColor = reactTheming.getColor({
649
+ theme,
650
+ dark: {
651
+ hue: 'white'
652
+ },
653
+ light: {
654
+ hue: 'black'
655
+ },
656
+ transparency: theme.opacity[100]
657
+ });
658
+ const currentBackgroundColor = hue === 'chromeHue' ? reactTheming.getColor({
450
659
  theme,
451
660
  hue,
452
- isLight,
453
- isDark,
454
- isCurrent
455
- } = props;
456
- const DARK = theme.palette.black;
457
- const LIGHT = theme.palette.white;
458
- let currentColor;
459
- let hoverColor;
460
- if (isCurrent) {
461
- if (isLight) {
462
- currentColor = polished.rgba(DARK, 0.4);
463
- } else if (isDark) {
464
- currentColor = polished.rgba(LIGHT, 0.4);
465
- } else {
466
- currentColor = reactTheming.getColorV8(hue, 500, theme);
661
+ shade: 700
662
+ }) : reactTheming.getColor({
663
+ theme,
664
+ dark: {
665
+ hue: 'white'
666
+ },
667
+ light: {
668
+ hue: 'black'
669
+ },
670
+ transparency: theme.opacity[500]
671
+ });
672
+ const focusOutlineColor = reactTheming.getColor({
673
+ theme,
674
+ dark: {
675
+ hue: 'white'
676
+ },
677
+ light: {
678
+ hue: 'black'
467
679
  }
468
- } else {
469
- hoverColor = polished.rgba(isLight ? LIGHT : DARK, 0.1);
470
- }
471
- const activeColor = polished.rgba(isLight ? DARK : LIGHT, 0.1);
472
- const focusColor = isLight ? DARK : LIGHT;
473
- 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({
680
+ });
681
+ const focusOutlineOffset = `-${theme.borderWidths.md}`;
682
+ const hoverBackgroundColor = reactTheming.getColor({
683
+ theme,
684
+ dark: {
685
+ hue: 'black'
686
+ },
687
+ light: {
688
+ hue: 'white'
689
+ },
690
+ transparency: theme.opacity[100]
691
+ });
692
+ 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({
474
693
  theme,
475
- condition: false ,
694
+ condition: false,
476
695
  styles: {
477
696
  opacity: 1,
478
- outlineColor: focusColor
697
+ outlineColor: focusOutlineColor,
698
+ outlineOffset: focusOutlineOffset
479
699
  }
480
- }), activeColor);
700
+ }), activeBackgroundColor, currentBackgroundColor);
701
+ };
702
+ const sizeStyles$4 = _ref2 => {
703
+ let {
704
+ theme,
705
+ isExpanded
706
+ } = _ref2;
707
+ const iconMargin = isExpanded ? `0 ${polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`)}` : undefined;
708
+ return styled.css(["margin:0;border:none;box-sizing:border-box;min-width:0;font-size:inherit;", "{margin:", ";}"], StyledNavItemIcon, iconMargin);
481
709
  };
482
710
  const StyledNavButton = styled__default.default(StyledBaseNavItem).attrs({
483
711
  'data-garden-id': COMPONENT_ID$a,
484
- 'data-garden-version': '9.0.0-next.16',
712
+ 'data-garden-version': '9.0.0-next.17',
485
713
  as: 'button'
486
714
  }).withConfig({
487
715
  displayName: "StyledNavButton",
488
716
  componentId: "sc-f5ux3-0"
489
- })(["flex:1;justify-content:", ";margin:0;border:none;box-sizing:border-box;background:transparent;cursor:", ";min-width:0;text-align:", ";text-decoration:none;color:inherit;font-size:inherit;&: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$1, reactTheming.SELECTOR_FOCUS_VISIBLE, props => polished.math(`${props.theme.borderWidths.md} - 1`), props => props.theme.borderWidths.md, props => props.isExpanded && `
490
- ${StyledNavItemIcon} {
491
- margin: 0 ${polished.math(`(${getNavWidth(props)} - ${props.theme.iconSizes.lg}) / 4`)};
492
- }
493
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$a, props));
717
+ })(["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));
494
718
  StyledNavButton.defaultProps = {
495
719
  theme: reactTheming.DEFAULT_THEME
496
720
  };
497
721
 
498
722
  const COMPONENT_ID$9 = 'chrome.nav_item_text';
723
+ const sizeStyles$3 = _ref => {
724
+ let {
725
+ theme,
726
+ isExpanded,
727
+ isWrapped
728
+ } = _ref;
729
+ const clip = isExpanded ? 'auto' : undefined;
730
+ const lineHeight = reactTheming.getLineHeight(theme.space.base * 5, theme.fontSizes.md);
731
+ const margin = isExpanded ? `0 ${polished.math(`(${getNavWidth(theme)} - ${theme.iconSizes.lg}) / 4`)}` : undefined;
732
+ const width = isExpanded ? 'auto' : undefined;
733
+ const height = isExpanded ? 'auto' : undefined;
734
+ const whiteSpace = isWrapped ? undefined : 'nowrap';
735
+ 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);
736
+ };
499
737
  const StyledNavItemText = styled__default.default.span.attrs({
500
738
  'data-garden-id': COMPONENT_ID$9,
501
- 'data-garden-version': '9.0.0-next.16'
739
+ 'data-garden-version': '9.0.0-next.17'
502
740
  }).withConfig({
503
741
  displayName: "StyledNavItemText",
504
742
  componentId: "sc-13m84xl-0"
505
- })(["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 && `
506
- ${StyledNavButton} > && {
507
- position: static;
508
- flex: 1;
509
- clip: auto;
510
- width: auto;
511
- height: auto;
512
- text-overflow: ellipsis;
513
- }
514
- `, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$9, props));
743
+ })(["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));
515
744
  StyledNavItemText.defaultProps = {
516
745
  theme: reactTheming.DEFAULT_THEME
517
746
  };
518
747
 
519
748
  const COMPONENT_ID$8 = 'chrome.sheet';
520
- const borderStyle = _ref => {
749
+ const colorStyles$2 = _ref => {
521
750
  let {
522
751
  theme,
523
- placement,
524
752
  isOpen
525
753
  } = _ref;
526
- const borderColor = isOpen ? reactTheming.getColorV8('neutralHue', 300, theme) : 'transparent';
527
- const borderSides = ['-left', '-right'];
528
- let borderSide = '';
529
- if (theme.rtl) {
530
- borderSides.reverse();
531
- }
532
- if (placement === 'end') {
533
- borderSide = borderSides[0];
534
- } else if (placement === 'start') {
535
- borderSide = borderSides[1];
754
+ const backgroundColor = reactTheming.getColor({
755
+ theme,
756
+ variable: 'background.default'
757
+ });
758
+ const borderColor = isOpen ? reactTheming.getColor({
759
+ theme,
760
+ variable: 'border.default'
761
+ }) : 'transparent';
762
+ return styled.css(["border-color:", ";background-color:", ";"], borderColor, backgroundColor);
763
+ };
764
+ const sizeStyles$2 = _ref2 => {
765
+ let {
766
+ theme,
767
+ isOpen,
768
+ placement,
769
+ size
770
+ } = _ref2;
771
+ const width = isOpen ? size : 0;
772
+ const fontSize = theme.fontSizes.md;
773
+ const lineHeight = reactTheming.getLineHeight(theme.space.base * 5, fontSize);
774
+ const border = isOpen ? theme.borders.sm : 'none';
775
+ let borderProperty;
776
+ if (placement === 'start') {
777
+ borderProperty = `border-${theme.rtl ? 'left' : 'right'}`;
778
+ } else {
779
+ borderProperty = `border-${theme.rtl ? 'right' : 'left'}`;
536
780
  }
537
- return `border${borderSide}: ${theme.borders.sm} ${borderColor};`;
781
+ return styled.css(["box-sizing:border-box;width:", ";height:100%;", ":", ";line-height:", ";font-size:", ";"], width, borderProperty, border, lineHeight, fontSize);
538
782
  };
539
783
  const StyledSheet = styled__default.default.aside.attrs({
540
784
  'data-garden-id': COMPONENT_ID$8,
541
- 'data-garden-version': '9.0.0-next.16'
785
+ 'data-garden-version': '9.0.0-next.17'
542
786
  }).withConfig({
543
787
  displayName: "StyledSheet",
544
788
  componentId: "sc-dx8ijk-0"
545
- })(["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 => reactTheming.getColorV8('background', 600 , props.theme), props => props.isOpen ? props.size : '0px', props => props.theme.fontSizes.md, props => borderStyle(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$8, props));
789
+ })(["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));
546
790
  StyledSheet.defaultProps = {
547
791
  theme: reactTheming.DEFAULT_THEME
548
792
  };
549
793
 
550
794
  const COMPONENT_ID$7 = 'chrome.sheet_wrapper';
795
+ const transformStyles = _ref => {
796
+ let {
797
+ theme,
798
+ isAnimated,
799
+ isOpen,
800
+ placement
801
+ } = _ref;
802
+ const transition = isAnimated ? 'transform 250ms ease-in-out' : undefined;
803
+ let transform;
804
+ if (isOpen) {
805
+ transform = 'translateX(0)';
806
+ } else if (placement === 'start') {
807
+ transform = `translateX(${theme.rtl ? 100 : -100}%)`;
808
+ } else {
809
+ transform = `translateX(${theme.rtl ? -100 : 100}%)`;
810
+ }
811
+ return styled.css(["transform:", ";transition:", ";"], transform, transition);
812
+ };
551
813
  const StyledSheetWrapper = styled__default.default.div.attrs({
552
814
  'data-garden-id': COMPONENT_ID$7,
553
- 'data-garden-version': '9.0.0-next.16'
815
+ 'data-garden-version': '9.0.0-next.17'
554
816
  }).withConfig({
555
817
  displayName: "StyledSheetWrapper",
556
818
  componentId: "sc-f6x9zb-0"
557
- })(["display:flex;position:relative;flex-direction:column;transform:", ";transition:", ";min-width:", ";", ";"], props => {
558
- const translateValues = [-100, 100];
559
- let translation = 'translateX(0%)';
560
- if (props.isOpen) {
561
- return translation;
562
- }
563
- if (props.theme.rtl) {
564
- translateValues.reverse();
565
- }
566
- if (props.placement === 'end') {
567
- translation = `translateX(${translateValues[1]}%)`;
568
- } else if (props.placement === 'start') {
569
- translation = `translateX(${translateValues[0]}%)`;
570
- }
571
- return translation;
572
- }, props => props.isAnimated && 'transform 250ms ease-in-out', props => props.size, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$7, props));
819
+ })(["display:flex;position:relative;flex-direction:column;min-width:", ";", ";", ";"], props => props.size, transformStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$7, props));
573
820
  StyledSheetWrapper.defaultProps = {
574
821
  theme: reactTheming.DEFAULT_THEME
575
822
  };
@@ -577,11 +824,14 @@ StyledSheetWrapper.defaultProps = {
577
824
  const COMPONENT_ID$6 = 'chrome.sheet_title';
578
825
  const StyledSheetTitle = styled__default.default.div.attrs({
579
826
  'data-garden-id': COMPONENT_ID$6,
580
- 'data-garden-version': '9.0.0-next.16'
827
+ 'data-garden-version': '9.0.0-next.17'
581
828
  }).withConfig({
582
829
  displayName: "StyledSheetTitle",
583
830
  componentId: "sc-1gogk75-0"
584
- })(["line-height:", ";color:", ";font-weight:", ";", ";"], props => reactTheming.getLineHeight(props.theme.space.base * 5, props.theme.fontSizes.md), props => reactTheming.getColorV8('foreground', 600 , props.theme), props => props.theme.fontWeights.semibold, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$6, props));
831
+ })(["color:", ";font-weight:", ";", ";"], p => reactTheming.getColor({
832
+ theme: p.theme,
833
+ variable: 'foreground.default'
834
+ }), props => props.theme.fontWeights.semibold, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$6, props));
585
835
  StyledSheetTitle.defaultProps = {
586
836
  theme: reactTheming.DEFAULT_THEME
587
837
  };
@@ -589,11 +839,14 @@ StyledSheetTitle.defaultProps = {
589
839
  const COMPONENT_ID$5 = 'chrome.sheet_description';
590
840
  const StyledSheetDescription = styled__default.default.div.attrs({
591
841
  'data-garden-id': COMPONENT_ID$5,
592
- 'data-garden-version': '9.0.0-next.16'
842
+ 'data-garden-version': '9.0.0-next.17'
593
843
  }).withConfig({
594
844
  displayName: "StyledSheetDescription",
595
845
  componentId: "sc-1puglb6-0"
596
- })(["line-height:", ";color:", ";", ";"], props => reactTheming.getLineHeight(props.theme.space.base * 4, props.theme.fontSizes.md), props => reactTheming.getColorV8('neutralHue', 600, props.theme), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$5, props));
846
+ })(["line-height:", ";color:", ";", ";"], p => reactTheming.getLineHeight(p.theme.space.base * 4, p.theme.fontSizes.md), p => reactTheming.getColor({
847
+ theme: p.theme,
848
+ variable: 'foreground.subtle'
849
+ }), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$5, props));
597
850
  StyledSheetDescription.defaultProps = {
598
851
  theme: reactTheming.DEFAULT_THEME
599
852
  };
@@ -601,7 +854,7 @@ StyledSheetDescription.defaultProps = {
601
854
  const COMPONENT_ID$4 = 'chrome.sheet_body';
602
855
  const StyledSheetBody = styled__default.default.div.attrs({
603
856
  'data-garden-id': COMPONENT_ID$4,
604
- 'data-garden-version': '9.0.0-next.16'
857
+ 'data-garden-version': '9.0.0-next.17'
605
858
  }).withConfig({
606
859
  displayName: "StyledSheetBody",
607
860
  componentId: "sc-bt4eoj-0"
@@ -611,37 +864,52 @@ StyledSheetBody.defaultProps = {
611
864
  };
612
865
 
613
866
  const COMPONENT_ID$3 = 'chrome.sheet_close';
614
- const BASE_MULTIPLIERS = {
615
- top: 2.5,
616
- side: 2,
617
- size: 10
618
- };
619
- const colorStyles = props => {
620
- const backgroundColor = 'primaryHue';
621
- const foregroundColor = 'neutralHue';
622
- 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.getColorV8(foregroundColor, 600, props.theme), reactTheming.getColorV8(backgroundColor, 600, props.theme, 0.08), reactTheming.getColorV8(foregroundColor, 700, props.theme), reactTheming.focusStyles({
623
- theme: props.theme
624
- }), reactTheming.getColorV8(backgroundColor, 600, props.theme, 0.2), reactTheming.getColorV8(foregroundColor, 800, props.theme));
625
- };
626
- const StyledSheetClose = styled__default.default.button.attrs({
867
+ const positionStyles = _ref => {
868
+ let {
869
+ theme
870
+ } = _ref;
871
+ const top = `${theme.space.base * 2.5}px`;
872
+ const position = `${theme.space.base * 2}px`;
873
+ return styled.css(["top:", ";", ":", ";"], top, theme.rtl ? 'left' : 'right', position);
874
+ };
875
+ const StyledSheetClose = styled__default.default(reactButtons.IconButton).attrs({
627
876
  'data-garden-id': COMPONENT_ID$3,
628
- 'data-garden-version': '9.0.0-next.16'
877
+ 'data-garden-version': '9.0.0-next.17'
629
878
  }).withConfig({
630
879
  displayName: "StyledSheetClose",
631
880
  componentId: "sc-1ab02oq-0"
632
- })(["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));
881
+ })(["position:absolute;", ";", ";"], positionStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID$3, props));
633
882
  StyledSheetClose.defaultProps = {
634
883
  theme: reactTheming.DEFAULT_THEME
635
884
  };
636
885
 
637
886
  const COMPONENT_ID$2 = 'chrome.sheet_footer';
887
+ const colorStyles$1 = _ref => {
888
+ let {
889
+ theme
890
+ } = _ref;
891
+ const borderColor = reactTheming.getColor({
892
+ theme,
893
+ variable: 'border.subtle'
894
+ });
895
+ return styled.css(["border-top-color:", ";"], borderColor);
896
+ };
897
+ const sizeStyles$1 = _ref2 => {
898
+ let {
899
+ theme,
900
+ isCompact
901
+ } = _ref2;
902
+ const border = theme.borders.sm;
903
+ const padding = `${theme.space.base * (isCompact ? 2.5 : 5)}px`;
904
+ return styled.css(["border-top:", ";padding:", ";"], border, padding);
905
+ };
638
906
  const StyledSheetFooter = styled__default.default.footer.attrs({
639
907
  'data-garden-id': COMPONENT_ID$2,
640
- 'data-garden-version': '9.0.0-next.16'
908
+ 'data-garden-version': '9.0.0-next.17'
641
909
  }).withConfig({
642
910
  displayName: "StyledSheetFooter",
643
911
  componentId: "sc-2cktos-0"
644
- })(["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.getColorV8('neutralHue', 300, props.theme)}}`, props => props.theme.space.base * (props.isCompact ? 2.5 : 5), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$2, props));
912
+ })(["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));
645
913
  StyledSheetFooter.defaultProps = {
646
914
  theme: reactTheming.DEFAULT_THEME
647
915
  };
@@ -649,7 +917,7 @@ StyledSheetFooter.defaultProps = {
649
917
  const COMPONENT_ID$1 = 'chrome.sheet_footer_item';
650
918
  const StyledSheetFooterItem = styled__default.default.div.attrs({
651
919
  'data-garden-id': COMPONENT_ID$1,
652
- 'data-garden-version': '9.0.0-next.16'
920
+ 'data-garden-version': '9.0.0-next.17'
653
921
  }).withConfig({
654
922
  displayName: "StyledSheetFooterItem",
655
923
  componentId: "sc-r9ixh-0"
@@ -659,13 +927,36 @@ StyledSheetFooterItem.defaultProps = {
659
927
  };
660
928
 
661
929
  const COMPONENT_ID = 'chrome.sheet_header';
930
+ const colorStyles = _ref => {
931
+ let {
932
+ theme
933
+ } = _ref;
934
+ const borderColor = reactTheming.getColor({
935
+ theme,
936
+ variable: 'border.subtle'
937
+ });
938
+ return styled.css(["border-bottom-color:", ";"], borderColor);
939
+ };
940
+ const sizeStyles = _ref2 => {
941
+ let {
942
+ theme,
943
+ isCloseButtonPresent
944
+ } = _ref2;
945
+ const border = theme.borders.sm;
946
+ let padding = `${theme.space.base * 5}px`;
947
+ if (isCloseButtonPresent) {
948
+ const paddingSide = `${theme.space.base * 14}px`;
949
+ padding = theme.rtl ? `${padding} ${padding} ${padding} ${paddingSide}` : `${padding} ${paddingSide} ${padding} ${padding}`;
950
+ }
951
+ return styled.css(["border-bottom:", ";padding:", ";"], border, padding);
952
+ };
662
953
  const StyledSheetHeader = styled__default.default.header.attrs({
663
954
  'data-garden-id': COMPONENT_ID,
664
- 'data-garden-version': '9.0.0-next.16'
955
+ 'data-garden-version': '9.0.0-next.17'
665
956
  }).withConfig({
666
957
  displayName: "StyledSheetHeader",
667
958
  componentId: "sc-o2ry8i-0"
668
- })(["border-bottom:", ";padding:", "px;", " ", ";"], props => `${props.theme.borders.sm} ${reactTheming.getColorV8('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));
959
+ })(["", ";", ";", ";"], sizeStyles, colorStyles, props => reactTheming.retrieveComponentStyles(COMPONENT_ID, props));
669
960
  StyledSheetHeader.defaultProps = {
670
961
  theme: reactTheming.DEFAULT_THEME
671
962
  };
@@ -700,23 +991,7 @@ const HeaderItemIcon = _ref => {
700
991
  children,
701
992
  ...props
702
993
  } = _ref;
703
- const element = React.Children.only(children);
704
- if ( React.isValidElement(element)) {
705
- const Icon = _ref2 => {
706
- let {
707
- theme,
708
- ...iconProps
709
- } = _ref2;
710
- return React.cloneElement(element, {
711
- ...props,
712
- ...iconProps
713
- });
714
- };
715
- return React__namespace.default.createElement(StyledHeaderItemIcon, Object.assign({
716
- as: Icon
717
- }, props));
718
- }
719
- return null;
994
+ return React__namespace.default.createElement(StyledHeaderItemIcon, props, children);
720
995
  };
721
996
 
722
997
  const HeaderItemText = React__namespace.default.forwardRef((props, ref) => React__namespace.default.createElement(StyledHeaderItemText, Object.assign({
@@ -761,27 +1036,23 @@ const NavItem = React__namespace.default.forwardRef((_ref, ref) => {
761
1036
  hasLogo,
762
1037
  hasBrandmark,
763
1038
  product,
1039
+ isCurrent,
764
1040
  ...other
765
1041
  } = _ref;
766
1042
  const {
767
- hue,
768
- isLight,
769
- isDark
1043
+ hue
770
1044
  } = useChromeContext();
771
1045
  const {
772
1046
  isExpanded
773
1047
  } = useNavContext();
774
1048
  const navListContext = useNavListContext();
775
- const ariaCurrent = other.isCurrent || undefined;
776
1049
  const hasList = navListContext?.hasList;
777
1050
  let retVal;
778
1051
  if (hasLogo) {
779
1052
  retVal = React__namespace.default.createElement(StyledLogoNavItem, Object.assign({
780
1053
  ref: ref,
781
- isDark: isDark,
782
- isLight: isLight,
783
- product: product,
784
- "aria-current": ariaCurrent
1054
+ hue: hue,
1055
+ product: product
785
1056
  }, other));
786
1057
  } else if (hasBrandmark) {
787
1058
  retVal = React__namespace.default.createElement(StyledBrandmarkNavItem, Object.assign({
@@ -793,9 +1064,7 @@ const NavItem = React__namespace.default.forwardRef((_ref, ref) => {
793
1064
  ref: ref,
794
1065
  isExpanded: isExpanded,
795
1066
  hue: hue,
796
- isDark: isDark,
797
- isLight: isLight,
798
- "aria-current": ariaCurrent
1067
+ "aria-current": isCurrent || undefined
799
1068
  }, other));
800
1069
  }
801
1070
  if (hasList) {
@@ -815,23 +1084,7 @@ const NavItemIcon = _ref => {
815
1084
  children,
816
1085
  ...props
817
1086
  } = _ref;
818
- const element = React.Children.only(children);
819
- if ( React.isValidElement(element)) {
820
- const Icon = _ref2 => {
821
- let {
822
- theme,
823
- ...iconProps
824
- } = _ref2;
825
- return React.cloneElement(element, {
826
- ...props,
827
- ...iconProps
828
- });
829
- };
830
- return React__namespace.default.createElement(StyledNavItemIcon, Object.assign({
831
- as: Icon
832
- }, props));
833
- }
834
- return null;
1087
+ return React__namespace.default.createElement(StyledNavItemIcon, props, children);
835
1088
  };
836
1089
 
837
1090
  const NavItemText = React__namespace.default.forwardRef((props, ref) => {
@@ -854,22 +1107,23 @@ const Chrome = React__namespace.default.forwardRef((_ref, ref) => {
854
1107
  isFluid,
855
1108
  ...props
856
1109
  } = _ref;
857
- const theme = React.useContext(styled.ThemeContext);
1110
+ const theme = React.useContext(styled.ThemeContext) || reactTheming.DEFAULT_THEME;
858
1111
  const isLightMemoized = React.useMemo(() => {
859
1112
  if (hue) {
860
- const backgroundColor = reactTheming.getColorV8(hue, 600, theme);
1113
+ const backgroundColor = reactTheming.getColor({
1114
+ theme,
1115
+ hue
1116
+ });
861
1117
  const LIGHT_COLOR = 'white';
862
1118
  return polished.readableColor(backgroundColor, LIGHT_COLOR, undefined, false ) === LIGHT_COLOR;
863
1119
  }
864
1120
  return false;
865
1121
  }, [hue, theme]);
866
- const isLight = hue ? isLightMemoized : false;
867
- const isDark = hue ? !isLightMemoized : false;
1122
+ const isLight = hue ? isLightMemoized : undefined;
868
1123
  const chromeContextValue = React.useMemo(() => ({
869
1124
  hue: hue || 'chromeHue',
870
- isLight,
871
- isDark
872
- }), [hue, isLight, isDark]);
1125
+ isLight
1126
+ }), [hue, isLight]);
873
1127
  const environment = reactTheming.useDocument(theme);
874
1128
  React.useEffect(() => {
875
1129
  if (environment && !isFluid) {
@@ -1003,21 +1257,26 @@ NavList.displayName = 'Nav';
1003
1257
  const NavComponent = React__namespace.default.forwardRef((props, ref) => {
1004
1258
  const {
1005
1259
  hue,
1006
- isLight,
1007
- isDark
1260
+ isLight
1008
1261
  } = useChromeContext();
1009
1262
  const navContextValue = React.useMemo(() => ({
1010
1263
  isExpanded: !!props.isExpanded
1011
1264
  }), [props.isExpanded]);
1012
- return React__namespace.default.createElement(NavContext.Provider, {
1265
+ return React__namespace.default.createElement(styled.ThemeProvider, {
1266
+ theme: parentTheme => ({
1267
+ ...parentTheme,
1268
+ colors: {
1269
+ ...parentTheme.colors,
1270
+ base: isLight ? 'light' : 'dark'
1271
+ }
1272
+ })
1273
+ }, React__namespace.default.createElement(NavContext.Provider, {
1013
1274
  value: navContextValue
1014
1275
  }, React__namespace.default.createElement(StyledNav, Object.assign({
1015
1276
  ref: ref
1016
1277
  }, props, {
1017
- hue: hue,
1018
- isLight: isLight,
1019
- isDark: isDark
1020
- })));
1278
+ hue: hue
1279
+ }))));
1021
1280
  });
1022
1281
  NavComponent.displayName = 'Nav';
1023
1282
  NavComponent.propTypes = {
@@ -1173,7 +1432,7 @@ const SheetComponent = React__namespace.default.forwardRef((_ref, ref) => {
1173
1432
  const sheetRef = React.useRef(null);
1174
1433
  const seed = reactUid.useUIDSeed();
1175
1434
  const [isCloseButtonPresent, setIsCloseButtonPresent] = React.useState(false);
1176
- const idPrefix = React.useMemo(() => id || seed(`sheet_${'9.0.0-next.16'}`), [id, seed]);
1435
+ const idPrefix = React.useMemo(() => id || seed(`sheet_${'9.0.0-next.17'}`), [id, seed]);
1177
1436
  const titleId = `${idPrefix}--title`;
1178
1437
  const descriptionId = `${idPrefix}--description`;
1179
1438
  const sheetContext = React.useMemo(() => ({