reshaped 2.4.4 → 2.4.7
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/CHANGELOG.md +8 -0
- package/bundle.css +1 -1
- package/bundle.js +9 -9
- package/cli/theming/index.js +2 -2
- package/cli/theming/reshaped.config.js +3 -3
- package/components/Accordion/AccordionContent.js +3 -1
- package/components/Accordion/tests/Accordion.stories.js +3 -2
- package/components/Actionable/Actionable.js +4 -4
- package/components/Actionable/Actionable.module.css +1 -1
- package/components/Autocomplete/Autocomplete.js +8 -2
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.module.css +1 -1
- package/components/Button/ButtonAligner.d.ts +4 -2
- package/components/Button/ButtonAligner.js +2 -8
- package/components/Checkbox/tests/Checkbox.stories.js +1 -1
- package/components/FormControl/FormControl.context.d.ts +53 -53
- package/components/MenuItem/MenuItem.js +1 -1
- package/components/MenuItem/MenuItem.module.css +1 -1
- package/components/MenuItem/MenuItemAligner.d.ts +2 -2
- package/components/MenuItem/MenuItemAligner.js +2 -4
- package/components/MenuItem/tests/MenuItem.stories.js +1 -1
- package/components/TextArea/TextArea.d.ts +5 -1
- package/components/TextArea/TextArea.js +3 -1
- package/components/TextArea/TextArea.module.css +1 -1
- package/components/TextArea/tests/TextArea.stories.d.ts +1 -0
- package/components/TextArea/tests/TextArea.stories.js +16 -0
- package/components/TextField/TextField.d.ts +5 -1
- package/components/TextField/TextField.js +3 -1
- package/components/TextField/TextField.module.css +1 -1
- package/components/TextField/tests/TextField.stories.d.ts +1 -0
- package/components/TextField/tests/TextField.stories.js +16 -0
- package/components/Toast/tests/Toast.stories.js +0 -1
- package/components/View/tests/View.stories.js +1 -1
- package/components/_private/Aligner/Aligner.d.ts +12 -0
- package/components/_private/Aligner/Aligner.js +18 -0
- package/components/_private/Aligner/Aligner.module.css +1 -0
- package/components/_private/Aligner/Aligner.types.d.ts +9 -0
- package/components/_private/Aligner/Aligner.types.js +1 -0
- package/components/_private/Aligner/index.d.ts +2 -0
- package/components/_private/Aligner/index.js +1 -0
- package/components/_private/Flyout/FlyoutTrigger.js +3 -12
- package/components/_private/Portal/Portal.d.ts +1 -1
- package/config/tailwind.js +2 -2
- package/package.json +26 -21
- package/themes/_generator/definitions/base.d.ts +3 -0
- package/themes/_generator/definitions/figma.d.ts +3 -0
- package/themes/_generator/definitions/reshaped.d.ts +3 -0
- package/{cli/theming → themes/_generator}/definitions/reshaped.js +5 -38
- package/themes/_generator/definitions/slate.d.ts +3 -0
- package/themes/_generator/tests/themes.stories.d.ts +2 -1
- package/themes/_generator/tests/themes.stories.js +75 -2
- package/themes/_generator/utilities/generateColors.d.ts +20 -0
- package/themes/_generator/utilities/generateColors.js +422 -0
- package/themes/figma/theme.css +1 -1
- package/themes/index.d.ts +11 -0
- package/themes/index.js +8 -0
- package/themes/reshaped/theme.css +1 -1
- package/themes/slate/theme.css +1 -1
- package/types/global.d.ts +1 -1
- package/cli/theming/definitions/base.d.ts +0 -3
- package/cli/theming/definitions/figma.d.ts +0 -3
- package/cli/theming/definitions/reshaped.d.ts +0 -3
- package/cli/theming/definitions/slate.d.ts +0 -3
- package/config/next.d.ts +0 -4
- package/config/next.js +0 -22
- /package/{cli/theming → themes/_generator}/definitions/base.js +0 -0
- /package/{cli/theming → themes/_generator}/definitions/figma.js +0 -0
- /package/{cli/theming → themes/_generator}/definitions/slate.js +0 -0
@@ -0,0 +1,422 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getRgbLuminance = exports.hexToRgb = void 0;
|
4
|
+
/**
|
5
|
+
* Constants
|
6
|
+
*/
|
7
|
+
const epsilon = 0.0088564516;
|
8
|
+
const refY = 1.0;
|
9
|
+
const refU = 0.19783000664283;
|
10
|
+
const refV = 0.46831999493879;
|
11
|
+
const kappa = 903.2962962;
|
12
|
+
const mr0 = 3.240969941904521;
|
13
|
+
const mr1 = -1.537383177570093;
|
14
|
+
const mr2 = -0.498610760293;
|
15
|
+
const mg0 = -0.96924363628087;
|
16
|
+
const mg1 = 1.87596750150772;
|
17
|
+
const mg2 = 0.041555057407175;
|
18
|
+
const mb0 = 0.055630079696993;
|
19
|
+
const mb1 = -0.20397695888897;
|
20
|
+
const mb2 = 1.056971514242878;
|
21
|
+
/**
|
22
|
+
* Color utilities
|
23
|
+
*/
|
24
|
+
const calculateBoundingLines = (l) => {
|
25
|
+
const sub1 = Math.pow(l + 16, 3) / 1560896;
|
26
|
+
const sub2 = sub1 > epsilon ? sub1 : l / kappa;
|
27
|
+
const s1r = sub2 * (284517 * mr0 - 94839 * mr2);
|
28
|
+
const s2r = sub2 * (838422 * mr2 + 769860 * mr1 + 731718 * mr0);
|
29
|
+
const s3r = sub2 * (632260 * mr2 - 126452 * mr1);
|
30
|
+
const s1g = sub2 * (284517 * mg0 - 94839 * mg2);
|
31
|
+
const s2g = sub2 * (838422 * mg2 + 769860 * mg1 + 731718 * mg0);
|
32
|
+
const s3g = sub2 * (632260 * mg2 - 126452 * mg1);
|
33
|
+
const s1b = sub2 * (284517 * mb0 - 94839 * mb2);
|
34
|
+
const s2b = sub2 * (838422 * mb2 + 769860 * mb1 + 731718 * mb0);
|
35
|
+
const s3b = sub2 * (632260 * mb2 - 126452 * mb1);
|
36
|
+
return {
|
37
|
+
r0s: s1r / s3r,
|
38
|
+
r0i: (s2r * l) / s3r,
|
39
|
+
r1s: s1r / (s3r + 126452),
|
40
|
+
r1i: ((s2r - 769860) * l) / (s3r + 126452),
|
41
|
+
g0s: s1g / s3g,
|
42
|
+
g0i: (s2g * l) / s3g,
|
43
|
+
g1s: s1g / (s3g + 126452),
|
44
|
+
g1i: ((s2g - 769860) * l) / (s3g + 126452),
|
45
|
+
b0s: s1b / s3b,
|
46
|
+
b0i: (s2b * l) / s3b,
|
47
|
+
b1s: s1b / (s3b + 126452),
|
48
|
+
b1i: ((s2b - 769860) * l) / (s3b + 126452),
|
49
|
+
};
|
50
|
+
};
|
51
|
+
const distanceFromOriginAngle = (slope, intercept, angle) => {
|
52
|
+
const d = intercept / (Math.sin(angle) - slope * Math.cos(angle));
|
53
|
+
return d < 0 ? Infinity : d;
|
54
|
+
};
|
55
|
+
const calcMaxChromaHsluv = (h, boundingLines) => {
|
56
|
+
const hueRad = (h / 360) * Math.PI * 2;
|
57
|
+
const r0 = distanceFromOriginAngle(boundingLines.r0s, boundingLines.r0i, hueRad);
|
58
|
+
const r1 = distanceFromOriginAngle(boundingLines.r1s, boundingLines.r1i, hueRad);
|
59
|
+
const g0 = distanceFromOriginAngle(boundingLines.g0s, boundingLines.g0i, hueRad);
|
60
|
+
const g1 = distanceFromOriginAngle(boundingLines.g1s, boundingLines.g1i, hueRad);
|
61
|
+
const b0 = distanceFromOriginAngle(boundingLines.b0s, boundingLines.b0i, hueRad);
|
62
|
+
const b1 = distanceFromOriginAngle(boundingLines.b1s, boundingLines.b1i, hueRad);
|
63
|
+
return Math.min(r0, r1, g0, g1, b0, b1);
|
64
|
+
};
|
65
|
+
function hexToRgb(hex) {
|
66
|
+
hex = hex.replace("#", "");
|
67
|
+
const r = parseInt(hex.substring(0, 2), 16);
|
68
|
+
const g = parseInt(hex.substring(2, 4), 16);
|
69
|
+
const b = parseInt(hex.substring(4, 6), 16);
|
70
|
+
return { r, g, b };
|
71
|
+
}
|
72
|
+
exports.hexToRgb = hexToRgb;
|
73
|
+
const rgbToHsl = ({ r, g, b }) => {
|
74
|
+
r /= 255;
|
75
|
+
g /= 255;
|
76
|
+
b /= 255;
|
77
|
+
const cmin = Math.min(r, g, b);
|
78
|
+
const cmax = Math.max(r, g, b);
|
79
|
+
const delta = cmax - cmin;
|
80
|
+
let h = 0;
|
81
|
+
let s = 0;
|
82
|
+
let l = 0;
|
83
|
+
if (delta == 0)
|
84
|
+
h = 0;
|
85
|
+
else if (cmax == r)
|
86
|
+
h = ((g - b) / delta) % 6;
|
87
|
+
else if (cmax == g)
|
88
|
+
h = (b - r) / delta + 2;
|
89
|
+
else
|
90
|
+
h = (r - g) / delta + 4;
|
91
|
+
h = Math.round(h * 60);
|
92
|
+
if (h < 0)
|
93
|
+
h += 360;
|
94
|
+
l = (cmax + cmin) / 2;
|
95
|
+
s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));
|
96
|
+
s = +(s * 100).toFixed(1);
|
97
|
+
l = +(l * 100).toFixed(1);
|
98
|
+
return { h, s: Math.round(s), l: Math.round(l) };
|
99
|
+
};
|
100
|
+
const hslToRgb = ({ h, s, l }) => {
|
101
|
+
s /= 100;
|
102
|
+
l /= 100;
|
103
|
+
const c = (1 - Math.abs(2 * l - 1)) * s;
|
104
|
+
const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
|
105
|
+
const m = l - c / 2;
|
106
|
+
const isSector1 = 0 <= h && h < 60;
|
107
|
+
const isSector2 = 60 <= h && h < 120;
|
108
|
+
const isSector3 = 120 <= h && h < 180;
|
109
|
+
const isSector4 = 180 <= h && h < 240;
|
110
|
+
const isSector5 = 240 <= h && h < 300;
|
111
|
+
const isSector6 = 300 <= h && h < 360;
|
112
|
+
const r = isSector1 || isSector6 ? c : isSector2 || isSector5 ? x : 0;
|
113
|
+
const g = isSector1 || isSector4 ? x : isSector2 || isSector3 ? c : 0;
|
114
|
+
const b = isSector1 || isSector2 ? 0 : isSector3 || isSector6 ? x : c;
|
115
|
+
return {
|
116
|
+
r: Math.round((r + m) * 255),
|
117
|
+
g: Math.round((g + m) * 255),
|
118
|
+
b: Math.round((b + m) * 255),
|
119
|
+
};
|
120
|
+
};
|
121
|
+
const rgbToHex = ({ r, g, b }) => {
|
122
|
+
const red = Math.round(r).toString(16).padStart(2, "0");
|
123
|
+
const green = Math.round(g).toString(16).padStart(2, "0");
|
124
|
+
const blue = Math.round(b).toString(16).padStart(2, "0");
|
125
|
+
return `#${red}${green}${blue}`;
|
126
|
+
};
|
127
|
+
const toLinear = (c) => {
|
128
|
+
if (c > 0.04045)
|
129
|
+
return Math.pow((c + 0.055) / 1.055, 2.4);
|
130
|
+
return c / 12.92;
|
131
|
+
};
|
132
|
+
const fromLinear = (c) => {
|
133
|
+
if (c <= 0.0031308)
|
134
|
+
return 12.92 * c;
|
135
|
+
return 1.055 * Math.pow(c, 1 / 2.4) - 0.055;
|
136
|
+
};
|
137
|
+
const rgbToXyz = ({ r, g, b }) => {
|
138
|
+
const lr = toLinear(r / 255);
|
139
|
+
const lg = toLinear(g / 255);
|
140
|
+
const lb = toLinear(b / 255);
|
141
|
+
return {
|
142
|
+
x: 0.41239079926595 * lr + 0.35758433938387 * lg + 0.18048078840183 * lb,
|
143
|
+
y: 0.21263900587151 * lr + 0.71516867876775 * lg + 0.072192315360733 * lb,
|
144
|
+
z: 0.019330818715591 * lr + 0.11919477979462 * lg + 0.95053215224966 * lb,
|
145
|
+
};
|
146
|
+
};
|
147
|
+
const xyzToRgb = ({ x, y, z }) => {
|
148
|
+
return {
|
149
|
+
r: fromLinear(mr0 * x + mr1 * y + mr2 * z) * 255,
|
150
|
+
g: fromLinear(mg0 * x + mg1 * y + mg2 * z) * 255,
|
151
|
+
b: fromLinear(mb0 * x + mb1 * y + mb2 * z) * 255,
|
152
|
+
};
|
153
|
+
};
|
154
|
+
const yToL = (y) => {
|
155
|
+
if (y <= epsilon)
|
156
|
+
return (y / refY) * kappa;
|
157
|
+
return 116 * Math.pow(y / refY, 1 / 3) - 16;
|
158
|
+
};
|
159
|
+
const lToY = (l) => {
|
160
|
+
if (l <= 8)
|
161
|
+
return (refY * l) / kappa;
|
162
|
+
return refY * Math.pow((l + 16) / 116, 3);
|
163
|
+
};
|
164
|
+
const xyzToLuv = ({ x, y, z }) => {
|
165
|
+
const divider = x + 15 * y + 3 * z;
|
166
|
+
const varU = divider !== 0 ? (4 * x) / divider : NaN;
|
167
|
+
const varV = divider !== 0 ? (9 * y) / divider : NaN;
|
168
|
+
const l = yToL(y);
|
169
|
+
return {
|
170
|
+
l,
|
171
|
+
u: l === 0 ? 0 : 13 * l * (varU - refU),
|
172
|
+
v: l === 0 ? 0 : 13 * l * (varV - refV),
|
173
|
+
};
|
174
|
+
};
|
175
|
+
const luvToXyz = ({ l, u, v }) => {
|
176
|
+
if (l === 0)
|
177
|
+
return { x: 0, y: 0, z: 0 };
|
178
|
+
const varU = u / (13 * l) + refU;
|
179
|
+
const varV = v / (13 * l) + refV;
|
180
|
+
const y = lToY(l);
|
181
|
+
const x = 0 - (9 * y * varU) / ((varU - 4) * varV - varU * varV);
|
182
|
+
const z = (9 * y - 15 * varV * y - varV * x) / (3 * varV);
|
183
|
+
return { x, y, z };
|
184
|
+
};
|
185
|
+
const luvToLch = ({ l, u, v }) => {
|
186
|
+
const c = Math.sqrt(u * u + v * v);
|
187
|
+
let h;
|
188
|
+
if (c < 0.00000001) {
|
189
|
+
h = 0;
|
190
|
+
}
|
191
|
+
else {
|
192
|
+
const hrad = Math.atan2(v, u);
|
193
|
+
h = (hrad * 180.0) / Math.PI;
|
194
|
+
if (h < 0)
|
195
|
+
h = 360 + h;
|
196
|
+
}
|
197
|
+
return { l, c, h };
|
198
|
+
};
|
199
|
+
const lchToLuv = ({ l, c, h }) => {
|
200
|
+
const hrad = (h / 180.0) * Math.PI;
|
201
|
+
return {
|
202
|
+
l,
|
203
|
+
u: Math.cos(hrad) * c,
|
204
|
+
v: Math.sin(hrad) * c,
|
205
|
+
};
|
206
|
+
};
|
207
|
+
const lchToHsluv = ({ l, c, h }) => {
|
208
|
+
let s;
|
209
|
+
let newL;
|
210
|
+
if (l > 99.9999999) {
|
211
|
+
s = 0;
|
212
|
+
newL = 100;
|
213
|
+
}
|
214
|
+
else if (l < 0.00000001) {
|
215
|
+
s = 0;
|
216
|
+
newL = 0;
|
217
|
+
}
|
218
|
+
else {
|
219
|
+
const boundingLines = calculateBoundingLines(l);
|
220
|
+
const max = calcMaxChromaHsluv(h, boundingLines);
|
221
|
+
s = (c / max) * 100;
|
222
|
+
newL = l;
|
223
|
+
}
|
224
|
+
return { h, s, l: newL };
|
225
|
+
};
|
226
|
+
const hsluvToLch = ({ h, s, l }) => {
|
227
|
+
let newL;
|
228
|
+
let c;
|
229
|
+
if (l > 99.9999999) {
|
230
|
+
newL = 100;
|
231
|
+
c = 0;
|
232
|
+
}
|
233
|
+
else if (l < 0.00000001) {
|
234
|
+
newL = 0;
|
235
|
+
c = 0;
|
236
|
+
}
|
237
|
+
else {
|
238
|
+
const boundingLines = calculateBoundingLines(l);
|
239
|
+
const max = calcMaxChromaHsluv(h, boundingLines);
|
240
|
+
newL = l;
|
241
|
+
c = (max / 100) * s;
|
242
|
+
}
|
243
|
+
return { l: newL, c, h };
|
244
|
+
};
|
245
|
+
const hsluvToHex = (hsl) => {
|
246
|
+
const lch = hsluvToLch(hsl);
|
247
|
+
const luv = lchToLuv(lch);
|
248
|
+
const xyz = luvToXyz(luv);
|
249
|
+
const rgb = xyzToRgb(xyz);
|
250
|
+
return rgbToHex(rgb);
|
251
|
+
};
|
252
|
+
const hexToHsl = (H) => {
|
253
|
+
const rgb = hexToRgb(H);
|
254
|
+
return rgbToHsl(rgb);
|
255
|
+
};
|
256
|
+
const hexToHsluv = (hex) => {
|
257
|
+
const rgb = hexToRgb(hex);
|
258
|
+
const xyz = rgbToXyz(rgb);
|
259
|
+
const luv = xyzToLuv(xyz);
|
260
|
+
const lch = luvToLch(luv);
|
261
|
+
return lchToHsluv(lch);
|
262
|
+
};
|
263
|
+
const hslToHex = (hsl) => {
|
264
|
+
const rgb = hslToRgb(hsl);
|
265
|
+
return rgbToHex(rgb);
|
266
|
+
};
|
267
|
+
/**
|
268
|
+
* Normalizing utilities
|
269
|
+
*/
|
270
|
+
const getDarkModeLightnessDelta = (lightness, luminance) => {
|
271
|
+
const perceivedLuminanceOrigin = 69.5;
|
272
|
+
const luminanceDistance = Math.abs(Math.round(luminance - perceivedLuminanceOrigin));
|
273
|
+
// Use a greater modifier for values around the luminance origin and decrease it for distant values
|
274
|
+
const luminanceModifier = 3 - (Math.min(luminanceDistance, 20) / 20) * 0.5;
|
275
|
+
const distance = luminanceDistance * luminanceModifier;
|
276
|
+
// Dark mode always reduces lightness but if the color was dark originally, we need to do it a slower pace
|
277
|
+
const slowdownModifier = luminanceDistance < 0 ? 2 : 1;
|
278
|
+
// Adjust the value based on the current lightness boundary
|
279
|
+
const delta = lightness / 100;
|
280
|
+
return (distance * delta) / slowdownModifier;
|
281
|
+
};
|
282
|
+
const getLuminanceDelta = (luminance) => {
|
283
|
+
return Math.max(0, luminance - 50) / 5;
|
284
|
+
};
|
285
|
+
function getRgbLuminance({ r, g, b }) {
|
286
|
+
r /= 255;
|
287
|
+
g /= 255;
|
288
|
+
b /= 255;
|
289
|
+
const y = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
290
|
+
// The CIE standard states 0.008856 but 216/24389 is the intent for 0.008856451679036
|
291
|
+
if (y <= 216 / 24389) {
|
292
|
+
// The CIE standard states 903.3, but 24389/27 is the intent, making 903.296296296296296
|
293
|
+
return y * (24389 / 27);
|
294
|
+
}
|
295
|
+
else {
|
296
|
+
return Math.pow(y, 1 / 3) * 116 - 16;
|
297
|
+
}
|
298
|
+
}
|
299
|
+
exports.getRgbLuminance = getRgbLuminance;
|
300
|
+
/**
|
301
|
+
* Generator
|
302
|
+
*/
|
303
|
+
const FG_L_DARK = 62;
|
304
|
+
const generateColorValues = (args) => {
|
305
|
+
const { key, hex } = args;
|
306
|
+
const capitalizedKey = key.charAt(0).toUpperCase() + key.slice(1);
|
307
|
+
const hsl = hexToHsl(hex);
|
308
|
+
const rgb = hexToRgb(hex);
|
309
|
+
const hsluv = hexToHsluv(hex);
|
310
|
+
const luminance = getRgbLuminance(rgb);
|
311
|
+
const luminanceDelta = getLuminanceDelta(luminance);
|
312
|
+
const darkModeLigthnessDelta = getDarkModeLightnessDelta(hsl.l, luminance);
|
313
|
+
const hslDark = Object.assign(Object.assign({}, hsl), { l: hsl.l - darkModeLigthnessDelta });
|
314
|
+
const bgHex = hex;
|
315
|
+
const bgHexDark = hslToHex(hslDark);
|
316
|
+
const hsluvDark = hexToHsluv(bgHexDark);
|
317
|
+
const bdHex = hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: hsluv.l - 5 - luminanceDelta }));
|
318
|
+
const bdHexDark = hsluvToHex(Object.assign(Object.assign({}, hsluvDark), {
|
319
|
+
// s: Math.min(hsluvDark.s, 70),
|
320
|
+
l: key === "neutral" ? 35 : FG_L_DARK }));
|
321
|
+
const fgHsluv = Object.assign(Object.assign({}, hsluv), { l: 43 });
|
322
|
+
const fgHsluvDark = Object.assign(Object.assign({}, hsluv), { l: key === "neutral" ? 80 : FG_L_DARK });
|
323
|
+
const fgHex = hsluvToHex(fgHsluv);
|
324
|
+
const fgHexDark = hsluvToHex(fgHsluvDark);
|
325
|
+
const bgFadedHex = rgbToHex(hslToRgb(Object.assign(Object.assign({}, hsl), { l: 97 })));
|
326
|
+
const bgFadedHsluv = hexToHsluv(bgFadedHex);
|
327
|
+
const bgFadedHsluvDark = Object.assign(Object.assign({}, hsluv), { l: 16, s: 32 });
|
328
|
+
const bgFadedHexDark = hsluvToHex(bgFadedHsluvDark);
|
329
|
+
const fadedLuminance = getRgbLuminance(hexToRgb(bgFadedHex));
|
330
|
+
const fadedLuminanceDark = getRgbLuminance(hexToRgb(bgFadedHexDark));
|
331
|
+
const fadedLuminanceDeltaDark = getLuminanceDelta(fadedLuminanceDark);
|
332
|
+
const bdFadedHex = hsluvToHex(Object.assign(Object.assign({}, bgFadedHsluv), { s: Math.max(0, bgFadedHsluv.s - 6 - Math.max(0, fadedLuminance - 98) * 20), l: bgFadedHsluv.l - 7 }));
|
333
|
+
const bdFadedHexDark = hsluvToHex(Object.assign(Object.assign({}, bgFadedHsluvDark), { s: 40, l: bgFadedHsluvDark.l + 7 - fadedLuminanceDeltaDark }));
|
334
|
+
const output = {
|
335
|
+
[`background${capitalizedKey}`]: {
|
336
|
+
hex: bgHex,
|
337
|
+
hexDark: bgHexDark,
|
338
|
+
},
|
339
|
+
[`background${capitalizedKey}Faded`]: {
|
340
|
+
hex: bgFadedHex,
|
341
|
+
hexDark: bgFadedHexDark,
|
342
|
+
},
|
343
|
+
[`background${capitalizedKey}Highlighted`]: {
|
344
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: hsluv.l - 4 })),
|
345
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: hsluvDark.l + 4 })),
|
346
|
+
},
|
347
|
+
[`border${capitalizedKey}`]: {
|
348
|
+
hex: bdHex,
|
349
|
+
hexDark: bdHexDark,
|
350
|
+
},
|
351
|
+
[`border${capitalizedKey}Faded`]: {
|
352
|
+
hex: bdFadedHex,
|
353
|
+
hexDark: bdFadedHexDark,
|
354
|
+
},
|
355
|
+
[`foreground${capitalizedKey}`]: {
|
356
|
+
hex: fgHex,
|
357
|
+
hexDark: fgHexDark,
|
358
|
+
},
|
359
|
+
};
|
360
|
+
if (key === "neutral") {
|
361
|
+
output[`foreground${capitalizedKey}`] = {
|
362
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, fgHsluv), { l: 8 })),
|
363
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, fgHsluvDark), { l: 95 })),
|
364
|
+
};
|
365
|
+
output[`foreground${capitalizedKey}Faded`] = {
|
366
|
+
hex: fgHex,
|
367
|
+
hexDark: fgHexDark,
|
368
|
+
};
|
369
|
+
output[`backgroundDisabled`] = {
|
370
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: 94 })),
|
371
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 13 })),
|
372
|
+
};
|
373
|
+
output[`backgroundDisabledFaded`] = {
|
374
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: 97 })),
|
375
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 9 })),
|
376
|
+
};
|
377
|
+
output[`borderDisabled`] = {
|
378
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: 90 })),
|
379
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 17 })),
|
380
|
+
};
|
381
|
+
output[`foregroundDisabled`] = {
|
382
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: 82 })),
|
383
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 31 })),
|
384
|
+
};
|
385
|
+
output[`backgroundElevationBase`] = {
|
386
|
+
hex: "#ffffff",
|
387
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 8 })),
|
388
|
+
};
|
389
|
+
output[`backgroundElevationRaised`] = {
|
390
|
+
hex: "#ffffff",
|
391
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 10 })),
|
392
|
+
};
|
393
|
+
output[`backgroundElevationOverlay`] = {
|
394
|
+
hex: "#ffffff",
|
395
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 12 })),
|
396
|
+
};
|
397
|
+
output[`backgroundPage`] = {
|
398
|
+
hex: "#ffffff",
|
399
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 5 })),
|
400
|
+
};
|
401
|
+
output[`backgroundPageFaded`] = {
|
402
|
+
hex: hsluvToHex(Object.assign(Object.assign({}, hsluv), { l: 98 })),
|
403
|
+
hexDark: hsluvToHex(Object.assign(Object.assign({}, hsluvDark), { l: 6 })),
|
404
|
+
};
|
405
|
+
}
|
406
|
+
else {
|
407
|
+
output[`foreground${capitalizedKey}`] = {
|
408
|
+
hex: fgHex,
|
409
|
+
hexDark: fgHexDark,
|
410
|
+
};
|
411
|
+
}
|
412
|
+
return output;
|
413
|
+
};
|
414
|
+
const validateHexColor = (color) => {
|
415
|
+
const hexColorRegex = /^#([A-Fa-f0-9]{3}){2}$/;
|
416
|
+
return hexColorRegex.test(color || "") ? color : null;
|
417
|
+
};
|
418
|
+
const generate = (args = {}) => {
|
419
|
+
const { primary, critical, positive, neutral } = args;
|
420
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, generateColorValues({ key: "primary", hex: validateHexColor(primary) || "#5a58f2" })), generateColorValues({ key: "critical", hex: validateHexColor(critical) || "#e22c2c" })), generateColorValues({ key: "positive", hex: validateHexColor(positive) || "#118850" })), generateColorValues({ key: "neutral", hex: validateHexColor(neutral) || "#dfe2ea" })), { white: { hex: "#ffffff" }, black: { hex: "#000000" } });
|
421
|
+
};
|
422
|
+
exports.default = generate;
|
package/themes/figma/theme.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
[data-rs-theme=figma]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:80px;--rs-line-height-title-1:84px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-semibold);--rs-font-size-title-2:64px;--rs-line-height-title-2:68px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-semibold);--rs-font-size-title-3:56px;--rs-line-height-title-3:60px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-semibold);--rs-font-size-title-4:40px;--rs-line-height-title-4:44px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-semibold);--rs-font-size-title-5:36px;--rs-line-height-title-5:40px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-semibold);--rs-font-size-title-6:24px;--rs-line-height-title-6:28px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-semibold);--rs-font-size-featured-1:22px;--rs-line-height-featured-1:28px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:20px;--rs-line-height-featured-2:28px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:18px;--rs-line-height-featured-3:24px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:14px;--rs-line-height-body-1:20px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:13px;--rs-line-height-body-2:20px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:11px;--rs-line-height-body-3:16px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:11px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:4px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-
|
1
|
+
[data-rs-theme=figma]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:80px;--rs-line-height-title-1:84px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-semibold);--rs-font-size-title-2:64px;--rs-line-height-title-2:68px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-semibold);--rs-font-size-title-3:56px;--rs-line-height-title-3:60px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-semibold);--rs-font-size-title-4:40px;--rs-line-height-title-4:44px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-semibold);--rs-font-size-title-5:36px;--rs-line-height-title-5:40px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-semibold);--rs-font-size-title-6:24px;--rs-line-height-title-6:28px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-semibold);--rs-font-size-featured-1:22px;--rs-line-height-featured-1:28px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:20px;--rs-line-height-featured-2:28px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:18px;--rs-line-height-featured-3:24px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:14px;--rs-line-height-body-1:20px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:13px;--rs-line-height-body-2:20px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:11px;--rs-line-height-body-3:16px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:11px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:4px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-positive:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 1px 3px 0px rgba(0,0,0,.15);--rs-shadow-overlay:0px 10px 24px 0px rgba(0,0,0,.1),0px 2px 5px 0px rgba(0,0,0,.04)}[data-rs-theme=figma][data-rs-color-mode=light]{--rs-color-background-primary:#0d99ff;--rs-color-background-primary-faded:#e5f4ff;--rs-color-background-primary-highlighted:#007be5;--rs-color-border-primary:#007be5;--rs-color-border-primary-faded:#bde3ff;--rs-color-foreground-primary:#007be5;--rs-color-background-critical:#f24822;--rs-color-background-critical-faded:#ffe2e0;--rs-color-background-critical-highlighted:#dc3412;--rs-color-border-critical:#dc3412;--rs-color-border-critical-faded:#ffc7c2;--rs-color-foreground-critical:#dc3412;--rs-color-background-positive:#14ae5c;--rs-color-background-positive-faded:#daecdf;--rs-color-background-positive-highlighted:#009951;--rs-color-border-positive:#009951;--rs-color-border-positive-faded:#bbddc6;--rs-color-foreground-positive:#009951;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f5f5f5;--rs-color-background-neutral-highlighted:#d4d8e3;--rs-color-border-neutral:#e6e6e6;--rs-color-border-neutral-faded:#e6e6e6;--rs-color-foreground-neutral:#191919;--rs-color-foreground-neutral-faded:#474747;--rs-color-background-disabled:#e4e4e4;--rs-color-background-disabled-faded:#f5f5f5;--rs-color-border-disabled:#e6e6e6;--rs-color-foreground-disabled:#b2b2b2;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafafa;--rs-color-rgb-background-primary:13,153,255;--rs-color-rgb-background-primary-faded:229,244,255;--rs-color-rgb-background-primary-highlighted:0,123,229;--rs-color-rgb-background-critical:242,72,34;--rs-color-rgb-background-critical-faded:255,226,224;--rs-color-rgb-background-critical-highlighted:220,52,18;--rs-color-rgb-background-positive:20,174,92;--rs-color-rgb-background-positive-faded:218,236,223;--rs-color-rgb-background-positive-highlighted:0,153,81;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:245,245,245;--rs-color-rgb-background-neutral-highlighted:212,216,227;--rs-color-rgb-background-disabled:228,228,228;--rs-color-rgb-background-disabled-faded:245,245,245;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,250,250}[data-rs-theme=figma][data-rs-color-mode=dark]{--rs-color-background-primary:#0c8ce9;--rs-color-background-primary-faded:#394360;--rs-color-background-primary-highlighted:#0a6dc2;--rs-color-border-primary:#7cc4f8;--rs-color-border-primary-faded:#2a4d72;--rs-color-foreground-primary:#7cc4f8;--rs-color-background-critical:#e03e1a;--rs-color-background-critical-faded:#60332a;--rs-color-background-critical-highlighted:#c4381c;--rs-color-border-critical:#fca397;--rs-color-border-critical-faded:#803226;--rs-color-foreground-critical:#fca397;--rs-color-background-positive:#198f51;--rs-color-background-positive-faded:#3d5749;--rs-color-background-positive-highlighted:#078348;--rs-color-border-positive:#79d297;--rs-color-border-positive-faded:#086338;--rs-color-foreground-positive:#79d297;--rs-color-background-neutral:#444;--rs-color-background-neutral-faded:#383838;--rs-color-background-neutral-highlighted:#525252;--rs-color-border-neutral:#444;--rs-color-border-neutral-faded:#444;--rs-color-foreground-neutral:#fff;--rs-color-foreground-neutral-faded:#b2b2b2;--rs-color-background-disabled:#474747;--rs-color-background-disabled-faded:#3a3a3a;--rs-color-border-disabled:#3e3e3e;--rs-color-foreground-disabled:#656565;--rs-color-background-elevation-base:#2c2c2c;--rs-color-background-elevation-raised:#2c2c2c;--rs-color-background-elevation-overlay:#2c2c2c;--rs-color-background-page:#2c2c2c;--rs-color-background-page-faded:#1e1e1e;--rs-color-rgb-background-primary:12,140,233;--rs-color-rgb-background-primary-faded:57,67,96;--rs-color-rgb-background-primary-highlighted:10,109,194;--rs-color-rgb-background-critical:224,62,26;--rs-color-rgb-background-critical-faded:96,51,42;--rs-color-rgb-background-critical-highlighted:196,56,28;--rs-color-rgb-background-positive:25,143,81;--rs-color-rgb-background-positive-faded:61,87,73;--rs-color-rgb-background-positive-highlighted:7,131,72;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:68,68,68;--rs-color-rgb-background-neutral-faded:56,56,56;--rs-color-rgb-background-neutral-highlighted:82,82,82;--rs-color-rgb-background-disabled:71,71,71;--rs-color-rgb-background-disabled-faded:58,58,58;--rs-color-rgb-background-elevation-base:44,44,44;--rs-color-rgb-background-elevation-raised:44,44,44;--rs-color-rgb-background-elevation-overlay:44,44,44;--rs-color-rgb-background-page:44,44,44;--rs-color-rgb-background-page-faded:30,30,30}
|
package/themes/index.d.ts
CHANGED
@@ -1,3 +1,14 @@
|
|
1
1
|
import type * as T from "./_generator/types";
|
2
2
|
import type { FullThemeDefinition } from "./_generator/tokens/types";
|
3
|
+
export declare const baseThemeDefinition: {
|
4
|
+
[key: string]: unknown;
|
5
|
+
};
|
6
|
+
export declare const generateThemeColors: (options: {
|
7
|
+
primary: string;
|
8
|
+
critical?: string;
|
9
|
+
positive?: string;
|
10
|
+
neutral?: string;
|
11
|
+
}) => Record<import("./_generator/tokens/color/color.types").Name, import("./_generator/tokens/color/color.types").Token> & {
|
12
|
+
[tokenName: string]: import("./_generator/tokens/color/color.types").Token;
|
13
|
+
};
|
3
14
|
export declare const getThemeCSS: (name: string, definition: T.PartialDeep<FullThemeDefinition>) => string;
|
package/themes/index.js
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
import transform from "./_generator/transform.js";
|
2
|
+
import generateColors from "./_generator/utilities/generateColors.js";
|
3
|
+
import reshapedDefinition from "./_generator/definitions/reshaped.js";
|
4
|
+
import baseDefinition from "./_generator/definitions/base.js";
|
5
|
+
import mergeDefinitions from "./_generator/utilities/mergeDefinitions.js";
|
6
|
+
export const baseThemeDefinition = mergeDefinitions(reshapedDefinition, baseDefinition);
|
7
|
+
export const generateThemeColors = (options) => {
|
8
|
+
return generateColors(options);
|
9
|
+
};
|
2
10
|
export const getThemeCSS = (name, definition) => {
|
3
11
|
const code = transform(name, definition, { isFragment: true });
|
4
12
|
return code.variables;
|
@@ -1 +1 @@
|
|
1
|
-
[data-rs-theme=reshaped]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:28px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:8px;--rs-unit-radius-large:12px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-
|
1
|
+
[data-rs-theme=reshaped]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:28px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:8px;--rs-unit-radius-large:12px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-positive:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 2px 3px 0px rgba(0,0,0,.1),0px 1px 2px -1px rgba(0,0,0,.1);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07)}[data-rs-theme=reshaped][data-rs-color-mode=light]{--rs-color-background-primary:#5a58f2;--rs-color-background-primary-faded:#f1f1fe;--rs-color-background-primary-highlighted:#4d4af0;--rs-color-border-primary:#3b38ed;--rs-color-border-primary-faded:#dcdcfb;--rs-color-foreground-primary:#4f4cf0;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fdf2f2;--rs-color-background-critical-highlighted:#d02828;--rs-color-border-critical:#bf2424;--rs-color-border-critical-faded:#f6dada;--rs-color-foreground-critical:#c42525;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#f1fdf8;--rs-color-background-positive-highlighted:#0f7d49;--rs-color-border-positive:#0c6e40;--rs-color-border-positive-faded:#cdede0;--rs-color-foreground-positive:#0d7544;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f6f7f9;--rs-color-background-neutral-highlighted:#d2d7e2;--rs-color-border-neutral:#b3bbce;--rs-color-border-neutral-faded:#e2e3e4;--rs-color-foreground-neutral:#14181f;--rs-color-foreground-neutral-faded:#5b667e;--rs-color-background-disabled:#eceef2;--rs-color-background-disabled-faded:#f5f6f9;--rs-color-border-disabled:#dfe2ea;--rs-color-foreground-disabled:#c6ccda;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f9f9fb;--rs-color-rgb-background-primary:90,88,242;--rs-color-rgb-background-primary-faded:241,241,254;--rs-color-rgb-background-primary-highlighted:77,74,240;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:253,242,242;--rs-color-rgb-background-critical-highlighted:208,40,40;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:241,253,248;--rs-color-rgb-background-positive-highlighted:15,125,73;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:246,247,249;--rs-color-rgb-background-neutral-highlighted:210,215,226;--rs-color-rgb-background-disabled:236,238,242;--rs-color-rgb-background-disabled-faded:245,246,249;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:249,249,251}[data-rs-theme=reshaped][data-rs-color-mode=dark]{--rs-color-background-primary:#5350f2;--rs-color-background-primary-faded:#252544;--rs-color-background-primary-highlighted:#605ef4;--rs-color-border-primary:#8b8af7;--rs-color-border-primary-faded:#323164;--rs-color-foreground-primary:#8b8af7;--rs-color-background-critical:#c51b1b;--rs-color-background-critical-faded:#3e1f1f;--rs-color-background-critical-highlighted:#d71f1f;--rs-color-border-critical:#f86666;--rs-color-border-critical-faded:#582929;--rs-color-foreground-critical:#f36a6a;--rs-color-background-positive:#10844e;--rs-color-background-positive-faded:#1f2a23;--rs-color-background-positive-highlighted:#128f55;--rs-color-border-positive:#18ab67;--rs-color-border-positive-faded:#293b2f;--rs-color-foreground-positive:#18ab66;--rs-color-background-neutral:#3f4861;--rs-color-background-neutral-faded:#222835;--rs-color-background-neutral-highlighted:#47516d;--rs-color-border-neutral:#48526e;--rs-color-border-neutral-faded:#2d374c;--rs-color-foreground-neutral:#eff1f5;--rs-color-foreground-neutral-faded:#c0c6d6;--rs-color-background-disabled:#1c212f;--rs-color-background-disabled-faded:#151925;--rs-color-border-disabled:#242a3a;--rs-color-foreground-disabled:#3f4962;--rs-color-background-elevation-base:#131722;--rs-color-background-elevation-raised:#171b27;--rs-color-background-elevation-overlay:#1b1f2c;--rs-color-background-page:#0d111a;--rs-color-background-page-faded:#10131d;--rs-color-rgb-background-primary:83,80,242;--rs-color-rgb-background-primary-faded:37,37,68;--rs-color-rgb-background-primary-highlighted:96,94,244;--rs-color-rgb-background-critical:197,27,27;--rs-color-rgb-background-critical-faded:62,31,31;--rs-color-rgb-background-critical-highlighted:215,31,31;--rs-color-rgb-background-positive:16,132,78;--rs-color-rgb-background-positive-faded:31,42,35;--rs-color-rgb-background-positive-highlighted:18,143,85;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:63,72,97;--rs-color-rgb-background-neutral-faded:34,40,53;--rs-color-rgb-background-neutral-highlighted:71,81,109;--rs-color-rgb-background-disabled:28,33,47;--rs-color-rgb-background-disabled-faded:21,25,37;--rs-color-rgb-background-elevation-base:19,23,34;--rs-color-rgb-background-elevation-raised:23,27,39;--rs-color-rgb-background-elevation-overlay:27,31,44;--rs-color-rgb-background-page:13,17,26;--rs-color-rgb-background-page-faded:16,19,29}
|
package/themes/slate/theme.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
[data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:28px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:2px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:6px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-
|
1
|
+
[data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:28px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:2px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:6px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-positive:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 2px 3px 0px rgba(0,0,0,.1),0px 1px 2px -1px rgba(0,0,0,.1);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07)}[data-rs-theme=slate][data-rs-color-mode=light]{--rs-color-background-primary:#2383e2;--rs-color-background-primary-faded:#e5f4fb;--rs-color-background-primary-highlighted:#3273cc;--rs-color-border-primary:#3d76c7;--rs-color-border-primary-faded:#c6d9f4;--rs-color-foreground-primary:#2383e2;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fdf2f2;--rs-color-background-critical-highlighted:#d02828;--rs-color-border-critical:#bf2424;--rs-color-border-critical-faded:#f6dada;--rs-color-foreground-critical:#c42525;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#f1fdf8;--rs-color-background-positive-highlighted:#0f7d49;--rs-color-border-positive:#0c6e40;--rs-color-border-positive-faded:#cdede0;--rs-color-foreground-positive:#0d7544;--rs-color-background-neutral:#e3e3e5;--rs-color-background-neutral-faded:#f2f3f5;--rs-color-background-neutral-highlighted:#dedee1;--rs-color-border-neutral:#d2d2d2;--rs-color-border-neutral-faded:#e2e2e2;--rs-color-foreground-neutral:#161a26;--rs-color-foreground-neutral-faded:#717787;--rs-color-background-disabled:#eceef3;--rs-color-background-disabled-faded:#f4f5f7;--rs-color-border-disabled:#e2e2e2;--rs-color-foreground-disabled:#d4d0d0;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f7f7f5;--rs-color-rgb-background-primary:35,131,226;--rs-color-rgb-background-primary-faded:229,244,251;--rs-color-rgb-background-primary-highlighted:50,115,204;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:253,242,242;--rs-color-rgb-background-critical-highlighted:208,40,40;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:241,253,248;--rs-color-rgb-background-positive-highlighted:15,125,73;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,227,229;--rs-color-rgb-background-neutral-faded:242,243,245;--rs-color-rgb-background-neutral-highlighted:222,222,225;--rs-color-rgb-background-disabled:236,238,243;--rs-color-rgb-background-disabled-faded:244,245,247;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:247,247,245}[data-rs-theme=slate][data-rs-color-mode=dark]{--rs-color-background-primary:#4281db;--rs-color-background-primary-faded:#1e2c45;--rs-color-background-primary-highlighted:#3273cc;--rs-color-border-primary:#5a91e0;--rs-color-border-primary-faded:#163a6a;--rs-color-foreground-primary:#5098ff;--rs-color-background-critical:#c51b1b;--rs-color-background-critical-faded:#3e1f1f;--rs-color-background-critical-highlighted:#d71f1f;--rs-color-border-critical:#f86666;--rs-color-border-critical-faded:#582929;--rs-color-foreground-critical:#f36a6a;--rs-color-background-positive:#10844e;--rs-color-background-positive-faded:#1f2a23;--rs-color-background-positive-highlighted:#128f55;--rs-color-border-positive:#18ab67;--rs-color-border-positive-faded:#293b2f;--rs-color-foreground-positive:#18ab66;--rs-color-background-neutral:#4f5155;--rs-color-background-neutral-faded:#34363f;--rs-color-background-neutral-highlighted:#595c60;--rs-color-border-neutral:#414141;--rs-color-border-neutral-faded:#464646;--rs-color-foreground-neutral:#f2f3f5;--rs-color-foreground-neutral-faded:#9f9e9e;--rs-color-background-disabled:#313131;--rs-color-background-disabled-faded:#262626;--rs-color-border-disabled:#404040;--rs-color-foreground-disabled:#656565;--rs-color-background-elevation-base:#232323;--rs-color-background-elevation-raised:#262626;--rs-color-background-elevation-overlay:#292929;--rs-color-background-page:#191919;--rs-color-background-page-faded:#202020;--rs-color-rgb-background-primary:66,129,219;--rs-color-rgb-background-primary-faded:30,44,69;--rs-color-rgb-background-primary-highlighted:50,115,204;--rs-color-rgb-background-critical:197,27,27;--rs-color-rgb-background-critical-faded:62,31,31;--rs-color-rgb-background-critical-highlighted:215,31,31;--rs-color-rgb-background-positive:16,132,78;--rs-color-rgb-background-positive-faded:31,42,35;--rs-color-rgb-background-positive-highlighted:18,143,85;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:79,81,85;--rs-color-rgb-background-neutral-faded:52,54,63;--rs-color-rgb-background-neutral-highlighted:89,92,96;--rs-color-rgb-background-disabled:49,49,49;--rs-color-rgb-background-disabled-faded:38,38,38;--rs-color-rgb-background-elevation-base:35,35,35;--rs-color-rgb-background-elevation-raised:38,38,38;--rs-color-rgb-background-elevation-overlay:41,41,41;--rs-color-rgb-background-page:25,25,25;--rs-color-rgb-background-page-faded:32,32,32}
|
package/types/global.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
type ClassNameValue = string | null | undefined | false;
|
3
|
-
export type ClassName = ClassNameValue | ClassNameValue[];
|
3
|
+
export type ClassName = ClassNameValue | ClassNameValue[] | ClassName[];
|
4
4
|
export type CSSVariable = `--${string}`;
|
5
5
|
export type StyleAttribute = React.CSSProperties & Record<CSSVariable, string | number | undefined>;
|
6
6
|
type DataAttributes = Record<`data-${string}`, string | boolean>;
|
package/config/next.d.ts
DELETED