@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.
- package/dist/esm/elements/ThemeProvider.js +24 -0
- package/dist/esm/elements/palette/index.js +259 -0
- package/dist/esm/elements/palette/v8.js +149 -0
- package/dist/esm/elements/theme/index.js +230 -0
- package/dist/esm/index.js +28 -0
- package/dist/esm/types/index.js +11 -0
- package/dist/esm/utils/StyledBaseIcon.js +22 -0
- package/dist/esm/utils/arrowStyles.js +64 -0
- package/dist/esm/utils/focusStyles.js +43 -0
- package/dist/esm/utils/getArrowPosition.js +35 -0
- package/dist/esm/utils/getCheckeredBackground.js +40 -0
- package/dist/esm/utils/getColor.js +187 -0
- package/dist/esm/utils/getColorV8.js +72 -0
- package/dist/esm/utils/getFloatingPlacements.js +58 -0
- package/dist/esm/utils/getFocusBoxShadow.js +45 -0
- package/dist/esm/utils/getLineHeight.js +22 -0
- package/dist/esm/utils/getMenuPosition.js +11 -0
- package/dist/esm/utils/mediaQuery.js +56 -0
- package/dist/esm/utils/menuStyles.js +63 -0
- package/dist/esm/utils/retrieveComponentStyles.js +19 -0
- package/dist/esm/utils/useDocument.js +21 -0
- package/dist/esm/utils/useText.js +29 -0
- package/dist/esm/utils/useWindow.js +21 -0
- package/dist/index.cjs.js +766 -177
- package/dist/typings/elements/ThemeProvider.d.ts +1 -1
- package/dist/typings/elements/palette/index.d.ts +134 -26
- package/dist/typings/elements/palette/v8.d.ts +149 -0
- package/dist/typings/elements/theme/index.d.ts +0 -1
- package/dist/typings/index.d.ts +6 -4
- package/dist/typings/types/index.d.ts +59 -16
- package/dist/typings/utils/StyledBaseIcon.d.ts +8 -0
- package/dist/typings/utils/focusStyles.d.ts +3 -11
- package/dist/typings/utils/getArrowPosition.d.ts +4 -2
- package/dist/typings/utils/getCheckeredBackground.d.ts +20 -0
- package/dist/typings/utils/getColor.d.ts +14 -9
- package/dist/typings/utils/getColorV8.d.ts +27 -0
- package/dist/typings/utils/getFocusBoxShadow.d.ts +6 -21
- package/dist/typings/utils/menuStyles.d.ts +2 -2
- package/package.json +8 -6
- package/dist/index.esm.js +0 -708
package/dist/index.cjs.js
CHANGED
|
@@ -1,178 +1,274 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
12
|
-
var
|
|
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: '#
|
|
37
|
+
200: '#e8eaec',
|
|
54
38
|
300: '#d8dcde',
|
|
55
|
-
400: '#
|
|
56
|
-
500: '#
|
|
57
|
-
600: '#
|
|
58
|
-
700: '#
|
|
59
|
-
800: '#
|
|
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: '#
|
|
64
|
-
300: '#
|
|
65
|
-
400: '#
|
|
66
|
-
500: '#
|
|
67
|
-
600: '#
|
|
68
|
-
700: '#
|
|
69
|
-
800: '#
|
|
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: '#
|
|
73
|
-
200: '#
|
|
74
|
-
300: '#
|
|
75
|
-
400: '#
|
|
76
|
-
500: '#
|
|
77
|
-
600: '#
|
|
78
|
-
700: '#
|
|
79
|
-
800: '#
|
|
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: '#
|
|
83
|
-
200: '#
|
|
84
|
-
300: '#
|
|
85
|
-
400: '#
|
|
86
|
-
500: '#
|
|
87
|
-
600: '#
|
|
88
|
-
700: '#
|
|
89
|
-
800: '#
|
|
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: '#
|
|
93
|
-
200: '#
|
|
94
|
-
300: '#
|
|
95
|
-
400: '#
|
|
96
|
-
500: '#
|
|
97
|
-
600: '#
|
|
98
|
-
700: '#
|
|
99
|
-
800: '#
|
|
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: '#
|
|
106
|
+
100: '#ecf9f9',
|
|
103
107
|
200: '#daeded',
|
|
104
|
-
300: '#
|
|
105
|
-
400: '#
|
|
106
|
-
500: '#
|
|
107
|
-
600: '#
|
|
108
|
-
700: '#
|
|
109
|
-
800: '#
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
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)
|
|
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
|
|
360
|
-
|
|
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
|
|
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 =
|
|
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
|
-
|
|
473
|
-
|
|
1010
|
+
color = {
|
|
1011
|
+
variable: 'border.primaryEmphasis'
|
|
1012
|
+
},
|
|
474
1013
|
shadowWidth = 'md',
|
|
475
|
-
|
|
476
|
-
|
|
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
|
|
481
|
-
const
|
|
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
|
|
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](
|
|
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 =
|
|
574
|
-
return
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
657
|
-
return
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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;
|