@zendeskgarden/react-theming 9.0.0-next.1 → 9.0.0-next.11

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 (40) hide show
  1. package/dist/esm/elements/ThemeProvider.js +24 -0
  2. package/dist/esm/elements/palette/index.js +259 -0
  3. package/dist/esm/elements/palette/v8.js +149 -0
  4. package/dist/esm/elements/theme/index.js +230 -0
  5. package/dist/esm/index.js +28 -0
  6. package/dist/esm/types/index.js +11 -0
  7. package/dist/esm/utils/StyledBaseIcon.js +22 -0
  8. package/dist/esm/utils/arrowStyles.js +64 -0
  9. package/dist/esm/utils/focusStyles.js +43 -0
  10. package/dist/esm/utils/getArrowPosition.js +35 -0
  11. package/dist/esm/utils/getCheckeredBackground.js +40 -0
  12. package/dist/esm/utils/getColor.js +187 -0
  13. package/dist/esm/utils/getColorV8.js +72 -0
  14. package/dist/esm/utils/getFloatingPlacements.js +58 -0
  15. package/dist/esm/utils/getFocusBoxShadow.js +45 -0
  16. package/dist/esm/utils/getLineHeight.js +22 -0
  17. package/dist/esm/utils/getMenuPosition.js +11 -0
  18. package/dist/esm/utils/mediaQuery.js +56 -0
  19. package/dist/esm/utils/menuStyles.js +63 -0
  20. package/dist/esm/utils/retrieveComponentStyles.js +19 -0
  21. package/dist/esm/utils/useDocument.js +21 -0
  22. package/dist/esm/utils/useText.js +29 -0
  23. package/dist/esm/utils/useWindow.js +21 -0
  24. package/dist/index.cjs.js +766 -177
  25. package/dist/typings/elements/ThemeProvider.d.ts +1 -1
  26. package/dist/typings/elements/palette/index.d.ts +134 -26
  27. package/dist/typings/elements/palette/v8.d.ts +149 -0
  28. package/dist/typings/elements/theme/index.d.ts +0 -1
  29. package/dist/typings/index.d.ts +6 -4
  30. package/dist/typings/types/index.d.ts +59 -16
  31. package/dist/typings/utils/StyledBaseIcon.d.ts +8 -0
  32. package/dist/typings/utils/focusStyles.d.ts +3 -11
  33. package/dist/typings/utils/getArrowPosition.d.ts +4 -2
  34. package/dist/typings/utils/getCheckeredBackground.d.ts +20 -0
  35. package/dist/typings/utils/getColor.d.ts +14 -9
  36. package/dist/typings/utils/getColorV8.d.ts +27 -0
  37. package/dist/typings/utils/getFocusBoxShadow.d.ts +6 -21
  38. package/dist/typings/utils/menuStyles.d.ts +2 -2
  39. package/package.json +8 -6
  40. package/dist/index.esm.js +0 -708
package/dist/index.cjs.js CHANGED
@@ -1,178 +1,274 @@
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
- var styledComponents = require('styled-components');
12
- var containerFocusvisible = require('@zendeskgarden/container-focusvisible');
13
- var containerUtilities = require('@zendeskgarden/container-utilities');
10
+ var styled = require('styled-components');
11
+ var chromaJs = require('chroma-js');
14
12
  var polished = require('polished');
13
+ var get = require('lodash.get');
15
14
  var memoize = require('lodash.memoize');
16
15
 
17
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
17
 
19
18
  var React__default = /*#__PURE__*/_interopDefault(React);
19
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
20
+ var get__default = /*#__PURE__*/_interopDefault(get);
20
21
  var memoize__default = /*#__PURE__*/_interopDefault(memoize);
21
22
 
22
- function _extends() {
23
- _extends = Object.assign ? Object.assign.bind() : function (target) {
24
- for (var i = 1; i < arguments.length; i++) {
25
- var source = arguments[i];
26
- for (var key in source) {
27
- if (Object.prototype.hasOwnProperty.call(source, key)) {
28
- target[key] = source[key];
29
- }
30
- }
31
- }
32
- return target;
33
- };
34
- return _extends.apply(this, arguments);
35
- }
36
-
37
23
  const PALETTE = {
38
24
  black: '#000',
39
25
  white: '#fff',
40
26
  product: {
41
27
  support: '#00a656',
42
- message: '#37b8af',
43
28
  explore: '#30aabc',
44
29
  gather: '#f6c8be',
45
30
  guide: '#eb4962',
46
- connect: '#ff6224',
47
31
  chat: '#f79a3e',
48
32
  talk: '#efc93d',
49
33
  sell: '#c38f00'
50
34
  },
51
35
  grey: {
52
36
  100: '#f8f9f9',
53
- 200: '#e9ebed',
37
+ 200: '#e8eaec',
54
38
  300: '#d8dcde',
55
- 400: '#c2c8cc',
56
- 500: '#87929d',
57
- 600: '#68737d',
58
- 700: '#49545c',
59
- 800: '#2f3941'
39
+ 400: '#b0b8be',
40
+ 500: '#919ca5',
41
+ 600: '#848f99',
42
+ 700: '#5c6970',
43
+ 800: '#39434b',
44
+ 900: '#293239',
45
+ 1000: '#1c2227',
46
+ 1100: '#151a1e',
47
+ 1200: '#0a0d0e'
60
48
  },
61
49
  blue: {
62
50
  100: '#edf7ff',
63
- 200: '#cee2f2',
64
- 300: '#adcce4',
65
- 400: '#5293c7',
66
- 500: '#337fbd',
67
- 600: '#1f73b7',
68
- 700: '#144a75',
69
- 800: '#0f3554'
51
+ 200: '#ddecf8',
52
+ 300: '#cce0f1',
53
+ 400: '#93bcdc',
54
+ 500: '#66a0cd',
55
+ 600: '#2694d6',
56
+ 700: '#1f73b7',
57
+ 800: '#13456d',
58
+ 900: '#0f3655',
59
+ 1000: '#0a2338',
60
+ 1100: '#061420',
61
+ 1200: '#040d15'
70
62
  },
71
63
  red: {
72
- 100: '#fff0f1',
73
- 200: '#f5d5d8',
74
- 300: '#f5b5ba',
75
- 400: '#e35b66',
76
- 500: '#d93f4c',
77
- 600: '#cc3340',
78
- 700: '#8c232c',
79
- 800: '#681219'
64
+ 100: '#fff2f3',
65
+ 200: '#fee3e5',
66
+ 300: '#f5d5d8',
67
+ 400: '#f2a1a8',
68
+ 500: '#ea7881',
69
+ 600: '#eb5c69',
70
+ 700: '#cd3642',
71
+ 800: '#7e1d25',
72
+ 900: '#671219',
73
+ 1000: '#3d1418',
74
+ 1100: '#1d1011',
75
+ 1200: '#100b0c'
80
76
  },
81
77
  yellow: {
82
- 100: '#fff7ed',
83
- 200: '#ffeedb',
84
- 300: '#fed6a8',
85
- 400: '#ffb057',
86
- 500: '#f79a3e',
87
- 600: '#ed8f1c',
88
- 700: '#ad5918',
89
- 800: '#703815'
78
+ 100: '#fff3e4',
79
+ 200: '#ffe6cb',
80
+ 300: '#fed6a9',
81
+ 400: '#fca347',
82
+ 500: '#e38215',
83
+ 600: '#d67305',
84
+ 700: '#ac5918',
85
+ 800: '#673515',
86
+ 900: '#4c2c17',
87
+ 1000: '#2d1e15',
88
+ 1100: '#18120f',
89
+ 1200: '#0e0c0b'
90
90
  },
91
91
  green: {
92
- 100: '#edf8f4',
93
- 200: '#d1e8df',
94
- 300: '#aecfc2',
95
- 400: '#5eae91',
96
- 500: '#228f67',
97
- 600: '#038153',
98
- 700: '#186146',
99
- 800: '#0b3b29'
92
+ 100: '#eef8f4',
93
+ 200: '#daeee6',
94
+ 300: '#cae3d9',
95
+ 400: '#94c1b0',
96
+ 500: '#4eab89',
97
+ 600: '#26a178',
98
+ 700: '#037f52',
99
+ 800: '#104b35',
100
+ 900: '#0b3b29',
101
+ 1000: '#0c261c',
102
+ 1100: '#0a1511',
103
+ 1200: '#080d0c'
100
104
  },
101
105
  kale: {
102
- 100: '#f5fcfc',
106
+ 100: '#ecf9f9',
103
107
  200: '#daeded',
104
- 300: '#bdd9d7',
105
- 400: '#90bbbb',
106
- 500: '#498283',
107
- 600: '#17494d',
108
- 700: '#03363d',
109
- 800: '#012b30'
108
+ 300: '#cbe2e1',
109
+ 400: '#97bfbf',
110
+ 500: '#6ba4a5',
111
+ 600: '#4a9999',
112
+ 700: '#40787a',
113
+ 800: '#16494f',
114
+ 900: '#063940',
115
+ 1000: '#03252a',
116
+ 1100: '#061517',
117
+ 1200: '#060e0e'
110
118
  },
111
119
  fuschia: {
112
- 400: '#d653c2',
113
- 600: '#a81897',
114
- M400: '#cf62a8',
115
- M600: '#a8458c'
120
+ 100: '#fbf3f8',
121
+ 200: '#f7e6f1',
122
+ 300: '#f2d5e7',
123
+ 400: '#e3a4cc',
124
+ 500: '#d77db7',
125
+ 600: '#d16aac',
126
+ 700: '#b34496',
127
+ 800: '#78116c',
128
+ 900: '#5a0d51',
129
+ 1000: '#3f0939',
130
+ 1100: '#31072c',
131
+ 1200: '#1b0418'
116
132
  },
117
133
  pink: {
118
- 400: '#ec4d63',
119
- 600: '#d42054',
120
- M400: '#d57287',
121
- M600: '#b23a5d'
134
+ 100: '#fcf3f4',
135
+ 200: '#f7e5e8',
136
+ 300: '#f3d6dc',
137
+ 400: '#e5a6b4',
138
+ 500: '#d98193',
139
+ 600: '#d96b81',
140
+ 700: '#d62054',
141
+ 800: '#75263d',
142
+ 900: '#561d2e',
143
+ 1000: '#3c141f',
144
+ 1100: '#2e0f18',
145
+ 1200: '#17080c'
122
146
  },
123
147
  crimson: {
124
- 400: '#e34f32',
125
- 600: '#c72a1c',
126
- M400: '#cc6c5b',
127
- M600: '#b24a3c'
148
+ 100: '#fbf3f2',
149
+ 200: '#f7e7e4',
150
+ 300: '#f1d7d2',
151
+ 400: '#e2aaa0',
152
+ 500: '#d58678',
153
+ 600: '#cf7464',
154
+ 700: '#be4938',
155
+ 800: '#811b12',
156
+ 900: '#61140d',
157
+ 1000: '#440e09',
158
+ 1100: '#340b07',
159
+ 1200: '#1c0604'
128
160
  },
129
161
  orange: {
130
- 400: '#de701d',
131
- 600: '#bf5000',
132
- M400: '#d4772c',
133
- M600: '#b35827'
162
+ 100: '#fdf3ed',
163
+ 200: '#fae7d8',
164
+ 300: '#f7d7be',
165
+ 400: '#eda875',
166
+ 500: '#e58035',
167
+ 600: '#d57428',
168
+ 700: '#af5626',
169
+ 800: '#693317',
170
+ 900: '#4d2711',
171
+ 1000: '#361a0c',
172
+ 1100: '#291409',
173
+ 1200: '#150a04'
134
174
  },
135
175
  lemon: {
136
- 400: '#ffd424',
137
- 600: '#ffbb10',
138
- M400: '#e7a500',
139
- M600: '#c38f00'
176
+ 100: '#fff7d4',
177
+ 200: '#ffea97',
178
+ 300: '#ffdc4f',
179
+ 400: '#efab00',
180
+ 500: '#c79100',
181
+ 600: '#b68500',
182
+ 700: '#8f6900',
183
+ 800: '#563e00',
184
+ 900: '#3f2e00',
185
+ 1000: '#2b2000',
186
+ 1100: '#221800',
187
+ 1200: '#110c00'
140
188
  },
141
189
  lime: {
142
- 400: '#43b324',
143
- 600: '#2e8200',
144
- M400: '#519e2d',
145
- M600: '#47782c'
190
+ 100: '#ecfae7',
191
+ 200: '#d1f3c7',
192
+ 300: '#b3eda3',
193
+ 400: '#4fd12b',
194
+ 500: '#45b025',
195
+ 600: '#509f2d',
196
+ 700: '#3d7e19',
197
+ 800: '#2c491b',
198
+ 900: '#203614',
199
+ 1000: '#16250e',
200
+ 1100: '#111d0a',
201
+ 1200: '#090e05'
146
202
  },
147
203
  mint: {
148
- 400: '#00a656',
149
- 600: '#058541',
150
- M400: '#299c66',
151
- M600: '#2e8057'
204
+ 100: '#d6ffeb',
205
+ 200: '#9affce',
206
+ 300: '#0afe89',
207
+ 400: '#00d26d',
208
+ 500: '#01b15c',
209
+ 600: '#16a260',
210
+ 700: '#2d7e55',
211
+ 800: '#1b4b33',
212
+ 900: '#143726',
213
+ 1000: '#0e261a',
214
+ 1100: '#0b1d14',
215
+ 1200: '#050e0a'
152
216
  },
153
217
  teal: {
154
- 400: '#02a191',
155
- 600: '#028079',
156
- M400: '#2d9e8f',
157
- M600: '#3c7873'
218
+ 100: '#d4fefa',
219
+ 200: '#88fdf1',
220
+ 300: '#0bf8e1',
221
+ 400: '#03cdb8',
222
+ 500: '#02ad9c',
223
+ 600: '#2a9d8f',
224
+ 700: '#367a74',
225
+ 800: '#254846',
226
+ 900: '#1b3534',
227
+ 1000: '#122423',
228
+ 1100: '#0e1c1a',
229
+ 1200: '#070d0d'
158
230
  },
159
231
  azure: {
160
- 400: '#3091ec',
161
- 600: '#1371d6',
162
- M400: '#5f8dcf',
163
- M600: '#3a70b2'
232
+ 100: '#eff7fe',
233
+ 200: '#d9ecfc',
234
+ 300: '#c4e0fa',
235
+ 400: '#82bcf4',
236
+ 500: '#4b9fee',
237
+ 600: '#3191ea',
238
+ 700: '#2770c3',
239
+ 800: '#23446b',
240
+ 900: '#1a3250',
241
+ 1000: '#122238',
242
+ 1100: '#0e1a2a',
243
+ 1200: '#070d14'
164
244
  },
165
245
  royal: {
166
- 400: '#5d7df5',
167
- 600: '#3353e2',
168
- M400: '#7986d8',
169
- M600: '#4b61c3'
246
+ 100: '#f4f5fc',
247
+ 200: '#e7e9f8',
248
+ 300: '#d8dcf4',
249
+ 400: '#acb4e7',
250
+ 500: '#8a96dd',
251
+ 600: '#7a88d9',
252
+ 700: '#4c67d3',
253
+ 800: '#1833ab',
254
+ 900: '#122680',
255
+ 1000: '#0d1a5a',
256
+ 1100: '#0a1445',
257
+ 1200: '#050a25'
170
258
  },
171
259
  purple: {
172
- 400: '#b552e2',
173
- 600: '#6a27b8',
174
- M400: '#b072cc',
175
- M600: '#9358b0'
260
+ 100: '#f9f3fb',
261
+ 200: '#f2e7f6',
262
+ 300: '#e9d8f1',
263
+ 400: '#d0a9e0',
264
+ 500: '#bb86d3',
265
+ 600: '#b276cd',
266
+ 700: '#9256b1',
267
+ 800: '#58209a',
268
+ 900: '#411973',
269
+ 1000: '#2e1150',
270
+ 1100: '#230d3f',
271
+ 1200: '#120720'
176
272
  }
177
273
  };
178
274
 
@@ -200,14 +296,102 @@ const breakpoints = {
200
296
  xl: `${BASE * 300}px`
201
297
  };
202
298
  const colors = {
203
- background: PALETTE.white,
204
- foreground: PALETTE.grey[800],
205
299
  primaryHue: 'blue',
206
300
  dangerHue: 'red',
207
301
  warningHue: 'yellow',
208
302
  successHue: 'green',
209
303
  neutralHue: 'grey',
210
- chromeHue: 'kale'
304
+ chromeHue: 'kale',
305
+ variables: {
306
+ dark: {
307
+ background: {
308
+ default: 'neutralHue.1100',
309
+ raised: 'neutralHue.1000',
310
+ recessed: 'neutralHue.1200',
311
+ subtle: 'neutralHue.1000',
312
+ emphasis: 'neutralHue.600',
313
+ primary: 'primaryHue.900',
314
+ success: 'successHue.1000',
315
+ warning: 'warningHue.1000',
316
+ danger: 'dangerHue.1000',
317
+ primaryEmphasis: 'primaryHue.600',
318
+ successEmphasis: 'successHue.600',
319
+ warningEmphasis: 'warningHue.600',
320
+ dangerEmphasis: 'dangerHue.600',
321
+ disabled: 'rgba(neutralHue.500, 100)'
322
+ },
323
+ border: {
324
+ default: 'neutralHue.800',
325
+ emphasis: 'neutralHue.600',
326
+ subtle: 'neutralHue.900',
327
+ success: 'successHue.800',
328
+ warning: 'warningHue.800',
329
+ danger: 'dangerHue.800',
330
+ primaryEmphasis: 'primaryHue.600',
331
+ successEmphasis: 'successHue.600',
332
+ warningEmphasis: 'warningHue.600',
333
+ dangerEmphasis: 'dangerHue.600',
334
+ disabled: 'neutralHue.800'
335
+ },
336
+ foreground: {
337
+ default: 'neutralHue.300',
338
+ subtle: 'neutralHue.500',
339
+ onEmphasis: 'neutralHue.1100',
340
+ primary: 'primaryHue.600',
341
+ success: 'successHue.400',
342
+ warning: 'warningHue.400',
343
+ danger: 'dangerHue.400',
344
+ successEmphasis: 'successHue.300',
345
+ warningEmphasis: 'warningHue.300',
346
+ dangerEmphasis: 'dangerHue.300',
347
+ disabled: 'neutralHue.700'
348
+ }
349
+ },
350
+ light: {
351
+ background: {
352
+ default: 'palette.white',
353
+ raised: 'palette.white',
354
+ recessed: 'neutralHue.100',
355
+ subtle: 'neutralHue.100',
356
+ emphasis: 'neutralHue.700',
357
+ primary: 'primaryHue.100',
358
+ success: 'successHue.100',
359
+ warning: 'warningHue.100',
360
+ danger: 'dangerHue.100',
361
+ primaryEmphasis: 'primaryHue.700',
362
+ successEmphasis: 'successHue.700',
363
+ warningEmphasis: 'warningHue.700',
364
+ dangerEmphasis: 'dangerHue.700',
365
+ disabled: 'rgba(neutralHue.700, 100)'
366
+ },
367
+ border: {
368
+ default: 'neutralHue.300',
369
+ emphasis: 'neutralHue.600',
370
+ subtle: 'neutralHue.200',
371
+ success: 'successHue.300',
372
+ warning: 'warningHue.300',
373
+ danger: 'dangerHue.300',
374
+ primaryEmphasis: 'primaryHue.700',
375
+ successEmphasis: 'successHue.700',
376
+ warningEmphasis: 'warningHue.700',
377
+ dangerEmphasis: 'dangerHue.700',
378
+ disabled: 'neutralHue.300'
379
+ },
380
+ foreground: {
381
+ default: 'neutralHue.900',
382
+ subtle: 'neutralHue.700',
383
+ onEmphasis: 'palette.white',
384
+ primary: 'primaryHue.700',
385
+ success: 'successHue.700',
386
+ warning: 'warningHue.700',
387
+ danger: 'dangerHue.700',
388
+ successEmphasis: 'successHue.900',
389
+ warningEmphasis: 'warningHue.900',
390
+ dangerEmphasis: 'dangerHue.900',
391
+ disabled: 'neutralHue.600'
392
+ }
393
+ }
394
+ }
211
395
  };
212
396
  const fonts = {
213
397
  mono: ['SFMono-Regular' , 'Consolas' , '"Liberation Mono"' , 'Menlo', 'Courier', 'monospace'].join(','),
@@ -246,6 +430,20 @@ const lineHeights = {
246
430
  xxl: `${BASE * 8}px`,
247
431
  xxxl: `${BASE * 11}px`
248
432
  };
433
+ const opacity = {
434
+ 100: 0.08,
435
+ 200: 0.16,
436
+ 300: 0.24,
437
+ 400: 0.32,
438
+ 500: 0.4,
439
+ 600: 0.48,
440
+ 700: 0.56,
441
+ 800: 0.64,
442
+ 900: 0.72,
443
+ 1000: 0.8,
444
+ 1100: 0.88,
445
+ 1200: 0.96
446
+ };
249
447
  const palette = {
250
448
  ...PALETTE
251
449
  };
@@ -287,6 +485,7 @@ const DEFAULT_THEME = {
287
485
  fontWeights,
288
486
  iconSizes,
289
487
  lineHeights,
488
+ opacity,
290
489
  palette,
291
490
  rtl: false,
292
491
  shadowWidths,
@@ -294,42 +493,161 @@ const DEFAULT_THEME = {
294
493
  space
295
494
  };
296
495
 
297
- const useDocument = theme => {
298
- const [controlledDocument, setControlledDocument] = React.useState();
299
- React.useEffect(() => {
300
- if (theme && theme.document) {
301
- setControlledDocument(theme.document);
302
- } else {
303
- setControlledDocument(document);
304
- }
305
- }, [theme]);
306
- return controlledDocument;
307
- };
308
-
309
496
  const ThemeProvider = _ref => {
310
497
  let {
311
498
  theme,
312
- focusVisibleRef,
313
- children,
314
499
  ...other
315
500
  } = _ref;
316
- const scopeRef = React.useRef(null);
317
- const relativeDocument = useDocument(theme);
318
- const controlledScopeRef = focusVisibleRef === null ? React__default.default.createRef() : containerUtilities.getControlledValue(focusVisibleRef, scopeRef);
319
- containerFocusvisible.useFocusVisible({
320
- scope: controlledScopeRef,
321
- relativeDocument
322
- });
323
- return React__default.default.createElement(styledComponents.ThemeProvider, _extends({
501
+ return React__default.default.createElement(styled.ThemeProvider, Object.assign({
324
502
  theme: theme
325
- }, other), focusVisibleRef === undefined ? React__default.default.createElement("div", {
326
- ref: scopeRef
327
- }, children) : children);
503
+ }, other));
328
504
  };
329
505
  ThemeProvider.defaultProps = {
330
506
  theme: DEFAULT_THEME
331
507
  };
332
508
 
509
+ const PALETTE_V8 = {
510
+ black: '#000',
511
+ white: '#fff',
512
+ product: {
513
+ support: '#00a656',
514
+ message: '#37b8af',
515
+ explore: '#30aabc',
516
+ gather: '#f6c8be',
517
+ guide: '#eb4962',
518
+ connect: '#ff6224',
519
+ chat: '#f79a3e',
520
+ talk: '#efc93d',
521
+ sell: '#c38f00'
522
+ },
523
+ grey: {
524
+ 100: '#f8f9f9',
525
+ 200: '#e9ebed',
526
+ 300: '#d8dcde',
527
+ 400: '#c2c8cc',
528
+ 500: '#87929d',
529
+ 600: '#68737d',
530
+ 700: '#49545c',
531
+ 800: '#2f3941'
532
+ },
533
+ blue: {
534
+ 100: '#edf7ff',
535
+ 200: '#cee2f2',
536
+ 300: '#adcce4',
537
+ 400: '#5293c7',
538
+ 500: '#337fbd',
539
+ 600: '#1f73b7',
540
+ 700: '#144a75',
541
+ 800: '#0f3554'
542
+ },
543
+ red: {
544
+ 100: '#fff0f1',
545
+ 200: '#f5d5d8',
546
+ 300: '#f5b5ba',
547
+ 400: '#e35b66',
548
+ 500: '#d93f4c',
549
+ 600: '#cc3340',
550
+ 700: '#8c232c',
551
+ 800: '#681219'
552
+ },
553
+ yellow: {
554
+ 100: '#fff7ed',
555
+ 200: '#ffeedb',
556
+ 300: '#fed6a8',
557
+ 400: '#ffb057',
558
+ 500: '#f79a3e',
559
+ 600: '#ed8f1c',
560
+ 700: '#ad5918',
561
+ 800: '#703815'
562
+ },
563
+ green: {
564
+ 100: '#edf8f4',
565
+ 200: '#d1e8df',
566
+ 300: '#aecfc2',
567
+ 400: '#5eae91',
568
+ 500: '#228f67',
569
+ 600: '#038153',
570
+ 700: '#186146',
571
+ 800: '#0b3b29'
572
+ },
573
+ kale: {
574
+ 100: '#f5fcfc',
575
+ 200: '#daeded',
576
+ 300: '#bdd9d7',
577
+ 400: '#90bbbb',
578
+ 500: '#498283',
579
+ 600: '#17494d',
580
+ 700: '#03363d',
581
+ 800: '#012b30'
582
+ },
583
+ fuschia: {
584
+ 400: '#d653c2',
585
+ 600: '#a81897',
586
+ M400: '#cf62a8',
587
+ M600: '#a8458c'
588
+ },
589
+ pink: {
590
+ 400: '#ec4d63',
591
+ 600: '#d42054',
592
+ M400: '#d57287',
593
+ M600: '#b23a5d'
594
+ },
595
+ crimson: {
596
+ 400: '#e34f32',
597
+ 600: '#c72a1c',
598
+ M400: '#cc6c5b',
599
+ M600: '#b24a3c'
600
+ },
601
+ orange: {
602
+ 400: '#de701d',
603
+ 600: '#bf5000',
604
+ M400: '#d4772c',
605
+ M600: '#b35827'
606
+ },
607
+ lemon: {
608
+ 400: '#ffd424',
609
+ 600: '#ffbb10',
610
+ M400: '#e7a500',
611
+ M600: '#c38f00'
612
+ },
613
+ lime: {
614
+ 400: '#43b324',
615
+ 600: '#2e8200',
616
+ M400: '#519e2d',
617
+ M600: '#47782c'
618
+ },
619
+ mint: {
620
+ 400: '#00a656',
621
+ 600: '#058541',
622
+ M400: '#299c66',
623
+ M600: '#2e8057'
624
+ },
625
+ teal: {
626
+ 400: '#02a191',
627
+ 600: '#028079',
628
+ M400: '#2d9e8f',
629
+ M600: '#3c7873'
630
+ },
631
+ azure: {
632
+ 400: '#3091ec',
633
+ 600: '#1371d6',
634
+ M400: '#5f8dcf',
635
+ M600: '#3a70b2'
636
+ },
637
+ royal: {
638
+ 400: '#5d7df5',
639
+ 600: '#3353e2',
640
+ M400: '#7986d8',
641
+ M600: '#4b61c3'
642
+ },
643
+ purple: {
644
+ 400: '#b552e2',
645
+ 600: '#6a27b8',
646
+ M400: '#b072cc',
647
+ M600: '#9358b0'
648
+ }
649
+ };
650
+
333
651
  function retrieveComponentStyles(componentId, props) {
334
652
  const components = props.theme && props.theme.components;
335
653
  if (!components) {
@@ -356,8 +674,222 @@ const POSITION_MAP = {
356
674
  'left-start': 'right-top',
357
675
  'left-end': 'right-bottom'
358
676
  };
359
- const getArrowPosition = placement => {
360
- return POSITION_MAP[placement];
677
+ const RTL_POSITION_MAP = {
678
+ 'bottom-left': 'bottom-right',
679
+ 'bottom-right': 'bottom-left',
680
+ 'top-left': 'top-right',
681
+ 'top-right': 'top-left'
682
+ };
683
+ const getArrowPosition = (theme, placement) => {
684
+ let retVal = POSITION_MAP[placement];
685
+ if (theme.rtl) {
686
+ retVal = RTL_POSITION_MAP[retVal] || retVal;
687
+ }
688
+ return retVal;
689
+ };
690
+
691
+ const PALETTE_SIZE = Object.keys(PALETTE.blue).length;
692
+ const adjust$1 = (color, expected, actual) => {
693
+ if (expected !== actual) {
694
+ const amount = Math.abs(expected - actual) / 100 * 0.05;
695
+ return expected > actual ? polished.darken(amount, color) : polished.lighten(amount, color);
696
+ }
697
+ return color;
698
+ };
699
+ const toShade = (shade, offset, scheme) => {
700
+ let _shade;
701
+ if (shade === undefined) {
702
+ _shade = scheme === 'dark' ? 500 : 700;
703
+ } else {
704
+ _shade = parseInt(shade.toString(), 10);
705
+ if (isNaN(_shade)) {
706
+ throw new TypeError(`Error: unexpected '${typeof shade}' type for color shade "${shade}"`);
707
+ }
708
+ }
709
+ return _shade + (offset || 0);
710
+ };
711
+ const toHex = (hue, shade, offset, scheme) => {
712
+ const _shade = toShade(shade, offset, scheme);
713
+ let retVal = hue[_shade];
714
+ if (!retVal) {
715
+ const closestShade = Object.keys(hue).map(hueShade => parseInt(hueShade, 10)).reduce((previous, current) => {
716
+ return Math.abs(current - _shade) < Math.abs(previous - _shade) ? current : previous;
717
+ });
718
+ retVal = adjust$1(hue[closestShade], _shade, closestShade);
719
+ }
720
+ return retVal;
721
+ };
722
+ const toColor = (colors, palette, opacity, scheme, hue, shade, offset, transparency) => {
723
+ let retVal;
724
+ let _hue = colors[hue] || hue;
725
+ if (Object.hasOwn(palette, _hue)) {
726
+ _hue = palette[_hue];
727
+ }
728
+ if (typeof _hue === 'object') {
729
+ retVal = toHex(_hue, shade, offset, scheme);
730
+ } else if (_hue === 'transparent' || chromaJs.valid(_hue)) {
731
+ if (shade === undefined) {
732
+ retVal = _hue;
733
+ } else {
734
+ const _colors = chromaJs.scale([PALETTE.white, _hue, PALETTE.black]).correctLightness().colors(PALETTE_SIZE + 2);
735
+ _hue = _colors.reduce((_retVal, color, index) => {
736
+ if (index > 0 && index <= PALETTE_SIZE) {
737
+ _retVal[index * 100] = color;
738
+ }
739
+ return _retVal;
740
+ }, {});
741
+ retVal = toHex(_hue, shade, offset, scheme);
742
+ }
743
+ }
744
+ if (retVal && transparency) {
745
+ const alpha = transparency > 1 ? opacity[transparency] : transparency;
746
+ if (alpha === undefined) {
747
+ throw new Error('Error: invalid `transparency` parameter');
748
+ }
749
+ retVal = polished.rgba(retVal, alpha);
750
+ }
751
+ return retVal;
752
+ };
753
+ const toProperty = (object, path) => {
754
+ const retVal = get__default.default(object, path);
755
+ if (typeof retVal === 'string') {
756
+ return retVal;
757
+ } else if (retVal === undefined) {
758
+ throw new ReferenceError(`Error: color variable '${path}' is not defined`);
759
+ } else {
760
+ throw new TypeError(`Error: unexpected '${typeof retVal}' type for color variable "${path}"`);
761
+ }
762
+ };
763
+ const fromRgba = value => {
764
+ let retVal;
765
+ const regex = /rgba\s*\(\s*(?<property>[#\w.]+)\s*,\s*(?<alpha>[\w.]+)\s*\)/gu;
766
+ const _rgba = regex.exec(value);
767
+ if (_rgba && _rgba.groups) {
768
+ const property = _rgba.groups.property;
769
+ const transparency = parseFloat(_rgba.groups.alpha);
770
+ retVal = {
771
+ property,
772
+ transparency
773
+ };
774
+ } else {
775
+ throw new Error(`Error: invalid \`rgba\` value "${value}"`);
776
+ }
777
+ return retVal;
778
+ };
779
+ const fromVariable = (variable, variables, palette) => {
780
+ const retVal = {};
781
+ let property = toProperty(variables, variable);
782
+ if (property.startsWith('rgba')) {
783
+ const value = fromRgba(property);
784
+ property = value.property;
785
+ retVal.transparency = value.transparency;
786
+ }
787
+ const [key, value] = property.split(/\.(?<value>.*)/u);
788
+ if (key === 'palette') {
789
+ retVal.hue = toProperty(palette, value);
790
+ } else {
791
+ retVal.hue = key;
792
+ if (value !== undefined) {
793
+ retVal.shade = parseInt(value, 10);
794
+ }
795
+ }
796
+ return retVal;
797
+ };
798
+ const getColor = memoize__default.default(_ref => {
799
+ let {
800
+ dark,
801
+ hue,
802
+ light,
803
+ offset,
804
+ shade,
805
+ theme,
806
+ transparency,
807
+ variable
808
+ } = _ref;
809
+ let retVal;
810
+ const palette = theme.palette && Object.keys(theme.palette).length > 0 ? theme.palette : DEFAULT_THEME.palette;
811
+ const {
812
+ base,
813
+ variables,
814
+ ...colors
815
+ } = theme.colors && Object.keys(theme.colors).length > 0 ? theme.colors : DEFAULT_THEME.colors;
816
+ const scheme = base === 'dark' ? 'dark' : 'light';
817
+ const mode = scheme === 'dark' ? dark : light;
818
+ let _hue = mode?.hue || hue;
819
+ let _shade = mode?.shade === undefined ? shade : mode.shade;
820
+ const _offset = mode?.offset === undefined ? offset : mode.offset;
821
+ let _transparency = mode?.transparency === undefined ? transparency : mode.transparency;
822
+ if (variable) {
823
+ const _variables = variables?.[scheme] ? variables[scheme] : DEFAULT_THEME.colors.variables[scheme];
824
+ const value = fromVariable(variable, _variables, palette);
825
+ _hue = value.hue;
826
+ _shade = value.shade;
827
+ if (value.transparency !== undefined) {
828
+ _transparency = value.transparency;
829
+ }
830
+ }
831
+ if (_hue) {
832
+ const opacity = theme.opacity && Object.keys(theme.opacity).length > 0 ? theme.opacity : DEFAULT_THEME.opacity;
833
+ retVal = toColor(colors, palette, opacity, scheme, _hue, _shade, _offset, _transparency);
834
+ }
835
+ if (retVal === undefined) {
836
+ throw new Error('Error: invalid `getColor` parameters');
837
+ }
838
+ return retVal;
839
+ }, _ref2 => {
840
+ let {
841
+ dark,
842
+ hue,
843
+ light,
844
+ offset,
845
+ shade,
846
+ theme,
847
+ transparency,
848
+ variable
849
+ } = _ref2;
850
+ return JSON.stringify({
851
+ dark,
852
+ hue,
853
+ light,
854
+ offset,
855
+ shade,
856
+ colors: theme.colors,
857
+ palette: theme.palette,
858
+ opacity: theme.opacity,
859
+ transparency,
860
+ variable
861
+ });
862
+ });
863
+
864
+ const getCheckeredBackground = _ref => {
865
+ let {
866
+ theme,
867
+ size,
868
+ overlay,
869
+ positionY = 0,
870
+ repeat = 'repeat'
871
+ } = _ref;
872
+ const color = getColor({
873
+ theme,
874
+ variable: 'border.default'
875
+ });
876
+ const dimensions = `${size}px ${size}px`;
877
+ const positionX1 = theme.rtl ? '100%' : '0';
878
+ const positionX2 = theme.rtl ? `calc(100% - ${size / 2}px)` : `${size / 2}px`;
879
+ const position1 = `${positionX1} ${positionY}px`;
880
+ const position2 = `${positionX2} ${size / 2 + positionY}px`;
881
+ const position3 = `${positionX2} ${positionY}px`;
882
+ const position4 = `${positionX1} ${size / -2 + positionY}px`;
883
+ let retVal = `
884
+ linear-gradient(45deg, ${color} 25%, transparent 25%) ${position1} / ${dimensions} ${repeat},
885
+ linear-gradient(45deg, transparent 75%, ${color} 75%) ${position2} / ${dimensions} ${repeat},
886
+ linear-gradient(135deg, ${color} 25%, transparent 25%) ${position3} / ${dimensions} ${repeat},
887
+ linear-gradient(135deg, transparent 75%, ${color} 75%) ${position4} / ${dimensions} ${repeat}
888
+ `;
889
+ if (overlay) {
890
+ retVal = overlay.startsWith('linear-gradient') ? `${overlay}, ${retVal}` : `linear-gradient(${overlay}, ${overlay}), ${retVal}`;
891
+ }
892
+ return retVal;
361
893
  };
362
894
 
363
895
  const DEFAULT_SHADE = 600;
@@ -368,7 +900,7 @@ const adjust = (color, expected, actual) => {
368
900
  }
369
901
  return color;
370
902
  };
371
- const getColor = memoize__default.default(function (hue) {
903
+ const getColorV8 = memoize__default.default(function (hue) {
372
904
  let shade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_SHADE;
373
905
  let theme = arguments.length > 2 ? arguments[2] : undefined;
374
906
  let transparency = arguments.length > 3 ? arguments[3] : undefined;
@@ -376,7 +908,17 @@ const getColor = memoize__default.default(function (hue) {
376
908
  if (isNaN(shade)) {
377
909
  return undefined;
378
910
  }
379
- const palette = theme && theme.palette ? theme.palette : DEFAULT_THEME.palette;
911
+ const palette = {
912
+ background: PALETTE_V8.white,
913
+ foreground: PALETTE_V8.grey[800],
914
+ ...(theme && theme.palette ? {
915
+ ...theme.palette,
916
+ ...PALETTE_V8
917
+ } : {
918
+ ...DEFAULT_THEME.palette,
919
+ ...PALETTE_V8
920
+ })
921
+ };
380
922
  const colors = theme && theme.colors ? theme.colors : DEFAULT_THEME.colors;
381
923
  let _hue;
382
924
  if (typeof hue === 'string') {
@@ -422,13 +964,9 @@ const RTL_PLACEMENT_MAP = {
422
964
  left: 'right',
423
965
  'left-start': 'right-start',
424
966
  'left-end': 'right-end',
425
- 'top-start': 'top-end',
426
- 'top-end': 'top-start',
427
967
  right: 'left',
428
968
  'right-start': 'left-start',
429
- 'right-end': 'left-end',
430
- 'bottom-start': 'bottom-end',
431
- 'bottom-end': 'bottom-start'
969
+ 'right-end': 'left-end'
432
970
  };
433
971
  const toFloatingPlacement = (placement, theme) => {
434
972
  let retVal = PLACEMENT_MAP[placement] || placement;
@@ -469,22 +1007,32 @@ const getFocusBoxShadow = _ref => {
469
1007
  let {
470
1008
  boxShadow,
471
1009
  inset = false,
472
- hue = 'primaryHue',
473
- shade = DEFAULT_SHADE,
1010
+ color = {
1011
+ variable: 'border.primaryEmphasis'
1012
+ },
474
1013
  shadowWidth = 'md',
475
- spacerHue = 'background',
476
- spacerShade = DEFAULT_SHADE,
1014
+ spacerColor = {
1015
+ variable: 'background.default'
1016
+ },
477
1017
  spacerWidth = 'xs',
478
- theme = DEFAULT_THEME
1018
+ theme = DEFAULT_THEME,
1019
+ ...args
479
1020
  } = _ref;
480
- const color = getColor(hue, shade, theme);
481
- const shadow = theme.shadows[shadowWidth](color);
1021
+ const _args = args;
1022
+ const _color = _args.hue ? getColorV8(_args.hue, _args.shade, theme) : getColor({
1023
+ ...color,
1024
+ theme
1025
+ });
1026
+ const shadow = theme.shadows[shadowWidth](_color);
482
1027
  if (spacerWidth === null) {
483
1028
  return `${inset ? 'inset' : ''} ${shadow}`;
484
1029
  }
485
- const spacerColor = getColor(spacerHue, spacerShade, theme);
1030
+ const _spacerColor = _args.spacerHue ? getColorV8(_args.spacerHue, _args.spacerShade, theme) : getColor({
1031
+ ...spacerColor,
1032
+ theme
1033
+ });
486
1034
  const retVal = `
487
- ${inset ? 'inset' : ''} ${theme.shadows[spacerWidth](spacerColor)},
1035
+ ${inset ? 'inset' : ''} ${theme.shadows[spacerWidth](_spacerColor)},
488
1036
  ${inset ? 'inset' : ''} ${shadow}`;
489
1037
  return boxShadow ? `${retVal}, ${boxShadow}` : retVal;
490
1038
  };
@@ -570,8 +1118,8 @@ const exponentialSymbols = {
570
1118
  };
571
1119
  const animationStyles$1 = (position, modifier) => {
572
1120
  const property = position.split('-')[0];
573
- const animationName = styledComponents.keyframes(["0%,66%{", ":2px;border:transparent;}"], property);
574
- return styledComponents.css(["&", "::before,&", "::after{animation:0.3s ease-in-out ", ";}"], modifier, modifier, animationName);
1121
+ const animationName = styled.keyframes(["0%,66%{", ":2px;border:transparent;}"], property);
1122
+ return styled.css(["&", "::before,&", "::after{animation:0.3s ease-in-out ", ";}"], modifier, modifier, animationName);
575
1123
  };
576
1124
  const positionStyles = (position, size, inset) => {
577
1125
  const margin = polished.math(`${size} / -2`);
@@ -582,30 +1130,42 @@ const positionStyles = (position, size, inset) => {
582
1130
  if (position.startsWith('top')) {
583
1131
  propertyRadius = 'border-bottom-right-radius';
584
1132
  clipPath = 'polygon(100% 0, 100% 1px, 1px 100%, 0 100%, 0 0)';
585
- positionCss = styledComponents.css(["top:", ";right:", ";left:", ";margin-left:", ";"], placement, position === 'top-right' && size, position === 'top' ? '50%' : position === 'top-left' && size, position === 'top' && margin);
1133
+ positionCss = styled.css(["top:", ";right:", ";left:", ";margin-left:", ";"], placement, position === 'top-right' && size, position === 'top' ? '50%' : position === 'top-left' && size, position === 'top' && margin);
586
1134
  } else if (position.startsWith('right')) {
587
1135
  propertyRadius = 'border-bottom-left-radius';
588
1136
  clipPath = 'polygon(100% 0, 100% 100%, calc(100% - 1px) 100%, 0 1px, 0 0)';
589
- positionCss = styledComponents.css(["top:", ";right:", ";bottom:", ";margin-top:", ";"], position === 'right' ? '50%' : position === 'right-top' && size, placement, position === 'right-bottom' && size, position === 'right' && margin);
1137
+ positionCss = styled.css(["top:", ";right:", ";bottom:", ";margin-top:", ";"], position === 'right' ? '50%' : position === 'right-top' && size, placement, position === 'right-bottom' && size, position === 'right' && margin);
590
1138
  } else if (position.startsWith('bottom')) {
591
1139
  propertyRadius = 'border-top-left-radius';
592
1140
  clipPath = 'polygon(100% 0, calc(100% - 1px) 0, 0 calc(100% - 1px), 0 100%, 100% 100%)';
593
- positionCss = styledComponents.css(["right:", ";bottom:", ";left:", ";margin-left:", ";"], position === 'bottom-right' && size, placement, position === 'bottom' ? '50%' : position === 'bottom-left' && size, position === 'bottom' && margin);
1141
+ positionCss = styled.css(["right:", ";bottom:", ";left:", ";margin-left:", ";"], position === 'bottom-right' && size, placement, position === 'bottom' ? '50%' : position === 'bottom-left' && size, position === 'bottom' && margin);
594
1142
  } else if (position.startsWith('left')) {
595
1143
  propertyRadius = 'border-top-right-radius';
596
1144
  clipPath = 'polygon(0 100%, 100% 100%, 100% calc(100% - 1px), 1px 0, 0 0)';
597
- positionCss = styledComponents.css(["top:", ";bottom:", ";left:", ";margin-top:", ";"], position === 'left' ? '50%' : position === 'left-top' && size, size, placement, position === 'left' && margin);
1145
+ positionCss = styled.css(["top:", ";bottom:", ";left:", ";margin-top:", ";"], position === 'left' ? '50%' : position === 'left-top' && size, size, placement, position === 'left' && margin);
598
1146
  }
599
- return styledComponents.css(["&::before{", ":100%;clip-path:", ";}&::before,&::after{", "}"], propertyRadius, clipPath, positionCss);
1147
+ return styled.css(["&::before{", ":100%;clip-path:", ";}&::before,&::after{", "}"], propertyRadius, clipPath, positionCss);
600
1148
  };
601
1149
  function arrowStyles(position) {
602
1150
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
603
1151
  const size = options.size || '6px';
604
1152
  const inset = options.inset || '0';
605
1153
  const squareSize = polished.math(`${size} * 2 / sqrt(2)`, exponentialSymbols);
606
- return styledComponents.css(["position:relative;&::before{border-width:inherit;border-style:inherit;border-color:transparent;background-clip:content-box;}&::after{z-index:-1;border:inherit;box-shadow:inherit;}&::before,&::after{position:absolute;transform:rotate(45deg);background-color:inherit;box-sizing:inherit;width:", ";height:", ";content:'';}", ";", ";"], squareSize, squareSize, positionStyles(position, squareSize, inset), options.animationModifier && animationStyles$1(position, options.animationModifier));
1154
+ return styled.css(["position:relative;&::before{border-width:inherit;border-style:inherit;border-color:transparent;background-clip:content-box;}&::after{z-index:-1;border:inherit;box-shadow:inherit;}&::before,&::after{position:absolute;transform:rotate(45deg);background-color:inherit;box-sizing:inherit;width:", ";height:", ";content:'';}", ";", ";"], squareSize, squareSize, positionStyles(position, squareSize, inset), options.animationModifier && animationStyles$1(position, options.animationModifier));
607
1155
  }
608
1156
 
1157
+ const useDocument = theme => {
1158
+ const [controlledDocument, setControlledDocument] = React.useState();
1159
+ React.useEffect(() => {
1160
+ if (theme && theme.document) {
1161
+ setControlledDocument(theme.document);
1162
+ } else {
1163
+ setControlledDocument(document);
1164
+ }
1165
+ }, [theme]);
1166
+ return controlledDocument;
1167
+ };
1168
+
609
1169
  const useWindow = theme => {
610
1170
  const [controlledWindow, setControlledWindow] = React.useState();
611
1171
  React.useEffect(() => {
@@ -653,12 +1213,12 @@ const animationStyles = (position, options) => {
653
1213
  } else {
654
1214
  transformFunction = 'translateX';
655
1215
  }
656
- const animationName = styledComponents.keyframes(["0%{transform:", "(", ");}"], transformFunction, translateValue);
657
- return styledComponents.css(["&", " ", "{animation:0.2s cubic-bezier(0.15,0.85,0.35,1.2) ", ";}"], options.animationModifier, options.childSelector || '> *', animationName);
1216
+ const animationName = styled.keyframes(["0%{transform:", "(", ");}"], transformFunction, translateValue);
1217
+ return styled.css(["&", " ", "{animation:0.2s cubic-bezier(0.15,0.85,0.35,1.2) ", ";}"], options.animationModifier, options.childSelector || '> *', animationName);
658
1218
  };
659
1219
  const hiddenStyles = options => {
660
1220
  const transition = 'opacity 0.2s ease-in-out, 0.2s visibility 0s linear';
661
- return styledComponents.css(["transition:", ";visibility:hidden;opacity:0;"], options.animationModifier && transition);
1221
+ return styled.css(["transition:", ";visibility:hidden;opacity:0;"], options.animationModifier && transition);
662
1222
  };
663
1223
  function menuStyles(position) {
664
1224
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -673,10 +1233,24 @@ function menuStyles(position) {
673
1233
  } else {
674
1234
  marginProperty = 'margin-right';
675
1235
  }
676
- return styledComponents.css(["position:absolute;z-index:", ";", ":", ";line-height:0;font-size:0.01px;& ", "{display:inline-block;position:relative;margin:0;box-sizing:border-box;border:", " ", ";border-radius:", ";box-shadow:", ";background-color:", ";cursor:default;padding:0;text-align:", ";white-space:normal;font-size:", ";font-weight:", ";direction:", ";:focus{outline:none;}}", ";", ";"], options.zIndex || 0, marginProperty, options.margin, options.childSelector || '> *', theme.borders.sm, getColor('neutralHue', 300, theme), theme.borderRadii.md, theme.shadows.lg(`${theme.space.base * 5}px`, `${theme.space.base * 7.5}px`, getColor('chromeHue', 600, theme, 0.15)), theme.colors.background, theme.rtl ? 'right' : 'left', theme.fontSizes.md, theme.fontWeights.regular, theme.rtl && 'rtl', options.animationModifier && animationStyles(position, options), options.hidden && hiddenStyles(options));
1236
+ return styled.css(["position:absolute;z-index:", ";", ":", ";line-height:0;font-size:0.01px;& ", "{display:inline-block;position:relative;margin:0;box-sizing:border-box;border:", " ", ";border-radius:", ";box-shadow:", ";background-color:", ";cursor:default;padding:0;text-align:", ";white-space:normal;color:", ";font-size:", ";font-weight:", ";direction:", ";:focus{outline:none;}}", ";", ";"], options.zIndex || 0, marginProperty, options.margin, options.childSelector || '> *', theme.borders.sm, getColor({
1237
+ theme,
1238
+ variable: 'border.default'
1239
+ }), theme.borderRadii.md, theme.shadows.lg(`${theme.space.base * 5}px`, `${theme.space.base * 7.5}px`, getColor({
1240
+ theme,
1241
+ hue: 'chromeHue',
1242
+ shade: 600,
1243
+ transparency: 0.15
1244
+ })), getColor({
1245
+ theme,
1246
+ variable: 'background.raised'
1247
+ }), theme.rtl ? 'right' : 'left', getColor({
1248
+ theme,
1249
+ variable: 'foreground.default'
1250
+ }), theme.fontSizes.md, theme.fontWeights.regular, theme.rtl && 'rtl', options.animationModifier && animationStyles(position, options), options.hidden && hiddenStyles(options));
677
1251
  }
678
1252
 
679
- const SELECTOR_FOCUS_VISIBLE = '&:focus-visible, &[data-garden-focus-visible="true"]';
1253
+ const SELECTOR_FOCUS_VISIBLE = '&:focus-visible';
680
1254
  const focusStyles = _ref => {
681
1255
  let {
682
1256
  condition = true,
@@ -705,24 +1279,40 @@ const focusStyles = _ref => {
705
1279
  outline = `${polished.math(`${theme.shadowWidths[shadowWidth]} - ${theme.shadowWidths[spacerWidth]}`)} solid transparent`;
706
1280
  outlineOffset = theme.shadowWidths[spacerWidth];
707
1281
  }
708
- return styledComponents.css(["&:focus{outline:none;}", "{outline:", ";outline-offset:", ";box-shadow:", ";", "}"], selector, outline, outlineOffset, _boxShadow, styles);
1282
+ return styled.css(["&:focus{outline:none;}", "{outline:", ";outline-offset:", ";box-shadow:", ";", "}"], selector, outline, outlineOffset, _boxShadow, styles);
709
1283
  };
710
1284
 
1285
+ const StyledBaseIcon = styled__default.default(_ref => {
1286
+ let {
1287
+ children,
1288
+ theme,
1289
+ ...props
1290
+ } = _ref;
1291
+ return React__default.default.cloneElement(React.Children.only(children), props);
1292
+ }).withConfig({
1293
+ displayName: "StyledBaseIcon",
1294
+ componentId: "sc-1moykgb-0"
1295
+ })([""]);
1296
+
711
1297
  const ARROW_POSITION = ['top', 'top-left', 'top-right', 'right', 'right-top', 'right-bottom', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-top', 'left-bottom'];
712
1298
  const MENU_POSITION = ['top', 'right', 'bottom', 'left'];
713
1299
  const PLACEMENT = ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'end', 'end-top', 'end-bottom', 'start', 'start-top', 'start-bottom'];
714
1300
 
715
- exports.ARRAY_ARROW_POSITION = ARROW_POSITION;
716
- exports.ARRAY_MENU_POSITION = MENU_POSITION;
1301
+ exports.ARROW_POSITION = ARROW_POSITION;
717
1302
  exports.DEFAULT_THEME = DEFAULT_THEME;
1303
+ exports.MENU_POSITION = MENU_POSITION;
718
1304
  exports.PALETTE = PALETTE;
1305
+ exports.PALETTE_V8 = PALETTE_V8;
719
1306
  exports.PLACEMENT = PLACEMENT;
720
1307
  exports.SELECTOR_FOCUS_VISIBLE = SELECTOR_FOCUS_VISIBLE;
1308
+ exports.StyledBaseIcon = StyledBaseIcon;
721
1309
  exports.ThemeProvider = ThemeProvider;
722
1310
  exports.arrowStyles = arrowStyles;
723
1311
  exports.focusStyles = focusStyles;
724
1312
  exports.getArrowPosition = getArrowPosition;
1313
+ exports.getCheckeredBackground = getCheckeredBackground;
725
1314
  exports.getColor = getColor;
1315
+ exports.getColorV8 = getColorV8;
726
1316
  exports.getFloatingPlacements = getFloatingPlacements;
727
1317
  exports.getFocusBoxShadow = getFocusBoxShadow;
728
1318
  exports.getLineHeight = getLineHeight;
@@ -730,7 +1320,6 @@ exports.getMenuPosition = getMenuPosition;
730
1320
  exports.mediaQuery = mediaQuery;
731
1321
  exports.menuStyles = menuStyles;
732
1322
  exports.retrieveComponentStyles = retrieveComponentStyles;
733
- exports.retrieveTheme = retrieveComponentStyles;
734
1323
  exports.useDocument = useDocument;
735
1324
  exports.useText = useText;
736
1325
  exports.useWindow = useWindow;