@duro-app/tokens 4.5.0 → 5.0.0
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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +107 -28
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +77 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/mockup.css +85 -0
- package/dist/raw.d.ts +94 -0
- package/dist/raw.d.ts.map +1 -1
- package/dist/raw.js +114 -8
- package/dist/raw.js.map +1 -1
- package/dist/themes/high-contrast.css.d.ts +6 -0
- package/dist/themes/high-contrast.css.d.ts.map +1 -1
- package/dist/themes/light.css.d.ts +6 -0
- package/dist/themes/light.css.d.ts.map +1 -1
- package/dist/tokens/borders.css.d.ts +10 -0
- package/dist/tokens/borders.css.d.ts.map +1 -0
- package/dist/tokens/colors.css.d.ts +6 -0
- package/dist/tokens/colors.css.d.ts.map +1 -1
- package/dist/tokens/motion.css.d.ts +8 -0
- package/dist/tokens/motion.css.d.ts.map +1 -1
- package/dist/tokens/sizes.css.d.ts +52 -0
- package/dist/tokens/sizes.css.d.ts.map +1 -0
- package/dist/tokens/spacing.css.d.ts +8 -0
- package/dist/tokens/spacing.css.d.ts.map +1 -1
- package/dist/vars.css +73 -0
- package/package.json +4 -2
- package/src/index.ts +3 -1
- package/src/keys.ts +149 -8
- package/src/raw.ts +120 -0
- package/src/themes/high-contrast.css.ts +9 -0
- package/src/themes/light.css.ts +9 -0
- package/src/tokens/borders.css.ts +10 -0
- package/src/tokens/colors.css.ts +10 -0
- package/src/tokens/motion.css.ts +9 -0
- package/src/tokens/sizes.css.ts +52 -0
- package/src/tokens/spacing.css.ts +12 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { breakpoints, breakpointsPx, type Breakpoint } from './tokens/breakpoints.css';
|
|
2
2
|
export { colors } from './tokens/colors.css';
|
|
3
|
-
export { spacing, radii } from './tokens/spacing.css';
|
|
3
|
+
export { spacing, microSpacing, radii } from './tokens/spacing.css';
|
|
4
|
+
export { sizes } from './tokens/sizes.css';
|
|
5
|
+
export { borders } from './tokens/borders.css';
|
|
4
6
|
export { layoutSpacing } from './tokens/layout-spacing.css';
|
|
5
7
|
export { typography, typeScale } from './tokens/typography.css';
|
|
6
8
|
export { typePresets } from './tokens/type-presets.css';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
md: 768,
|
|
11
11
|
lg: 1024,
|
|
12
12
|
xl: 1280
|
|
13
|
-
},
|
|
13
|
+
}, r = {
|
|
14
14
|
bg: "var(--bg-xqkwqtp)",
|
|
15
15
|
bgCard: "var(--bgCard-xj2l5r)",
|
|
16
16
|
bgCardHover: "var(--bgCardHover-xlxk7vw)",
|
|
@@ -38,8 +38,14 @@ const e = {
|
|
|
38
38
|
infoBg: "var(--infoBg-xho8jir)",
|
|
39
39
|
infoBorder: "var(--infoBorder-xnevk3x)",
|
|
40
40
|
infoText: "var(--infoText-x19pseus)",
|
|
41
|
+
scrim: "var(--scrim-x2ypej7)",
|
|
42
|
+
inverseFill: "var(--inverseFill-x1il694p)",
|
|
43
|
+
inverseFillHover: "var(--inverseFillHover-xmxqxj9)",
|
|
44
|
+
inverseBorder: "var(--inverseBorder-x1x0j0at)",
|
|
45
|
+
inverseBorderHover: "var(--inverseBorderHover-x12x46ev)",
|
|
46
|
+
fixedLight: "var(--fixedLight-xd608fw)",
|
|
41
47
|
__varGroupHash__: "xjvd03b"
|
|
42
|
-
},
|
|
48
|
+
}, n = {
|
|
43
49
|
xs: "var(--xs-xxfyjsd)",
|
|
44
50
|
sm: "var(--sm-xbh8y7f)",
|
|
45
51
|
ms: "var(--ms-x13y09zs)",
|
|
@@ -49,14 +55,80 @@ const e = {
|
|
|
49
55
|
xxl: "var(--xxl-xbe9eha)",
|
|
50
56
|
xxxl: "var(--xxxl-xroalp5)",
|
|
51
57
|
__varGroupHash__: "x6uc9q"
|
|
58
|
+
}, i = {
|
|
59
|
+
px1: "var(--px1-xt32so4)",
|
|
60
|
+
px2: "var(--px2-x127ks2i)",
|
|
61
|
+
px3: "var(--px3-xzcc43o)",
|
|
62
|
+
px5: "var(--px5-xrmlnev)",
|
|
63
|
+
px6: "var(--px6-x1h3gnvl)",
|
|
64
|
+
__varGroupHash__: "xufyenp"
|
|
52
65
|
}, a = {
|
|
53
66
|
xs: "var(--xs-x1gb5bcy)",
|
|
67
|
+
px6: "var(--px6-xgv4348)",
|
|
54
68
|
sm: "var(--sm-x1bhtfs5)",
|
|
55
69
|
md: "var(--md-xx2g89g)",
|
|
56
70
|
lg: "var(--lg-xwd56yl)",
|
|
57
71
|
full: "var(--full-x9vxdtd)",
|
|
58
72
|
__varGroupHash__: "xw3ffwm"
|
|
59
|
-
},
|
|
73
|
+
}, o = {
|
|
74
|
+
touchTarget: "var(--touchTarget-x1u5badx)",
|
|
75
|
+
controlSm: "var(--controlSm-x6ymn93)",
|
|
76
|
+
controlMd: "var(--controlMd-xkvaeme)",
|
|
77
|
+
controlLg: "var(--controlLg-xf3drh3)",
|
|
78
|
+
indicator: "var(--indicator-xce456j)",
|
|
79
|
+
indicatorDot: "var(--indicatorDot-xqflvbi)",
|
|
80
|
+
checkMarkW: "var(--checkMarkW-xvyirw7)",
|
|
81
|
+
checkMarkH: "var(--checkMarkH-xz3lx6u)",
|
|
82
|
+
switchTrackW: "var(--switchTrackW-xcah3tt)",
|
|
83
|
+
switchTrackH: "var(--switchTrackH-x1h3icne)",
|
|
84
|
+
switchThumb: "var(--switchThumb-x6qupft)",
|
|
85
|
+
iconButton: "var(--iconButton-x16lr7a8)",
|
|
86
|
+
iconButtonSm: "var(--iconButtonSm-xtjgrhy)",
|
|
87
|
+
spinnerSm: "var(--spinnerSm-xoj3xel)",
|
|
88
|
+
spinnerMd: "var(--spinnerMd-x11a4rba)",
|
|
89
|
+
spinnerLg: "var(--spinnerLg-x1lgp9p9)",
|
|
90
|
+
glyphXs: "var(--glyphXs-x7xktls)",
|
|
91
|
+
glyphSm: "var(--glyphSm-x17geiot)",
|
|
92
|
+
glyphMd: "var(--glyphMd-x1hz0jso)",
|
|
93
|
+
iconSm: "var(--iconSm-x1k4bwrj)",
|
|
94
|
+
iconMd: "var(--iconMd-x1oru5hg)",
|
|
95
|
+
iconLg: "var(--iconLg-x1lsumnr)",
|
|
96
|
+
iconXl: "var(--iconXl-x7w40q9)",
|
|
97
|
+
iconXxl: "var(--iconXxl-xij55jf)",
|
|
98
|
+
navMarkerW: "var(--navMarkerW-x1swbkx4)",
|
|
99
|
+
navMarkerH: "var(--navMarkerH-xlc6r7a)",
|
|
100
|
+
divider: "var(--divider-x34oj7m)",
|
|
101
|
+
tabIndicator: "var(--tabIndicator-xeswvk3)",
|
|
102
|
+
edgeFade: "var(--edgeFade-x1a8srg4)",
|
|
103
|
+
scrollbar: "var(--scrollbar-xppi9bb)",
|
|
104
|
+
swatchW: "var(--swatchW-x14v7170)",
|
|
105
|
+
swatchH: "var(--swatchH-x5k3223)",
|
|
106
|
+
labelMinW: "var(--labelMinW-x1tnvsg3)",
|
|
107
|
+
popupMinW: "var(--popupMinW-xzyp04)",
|
|
108
|
+
listMaxH: "var(--listMaxH-x1g3bmh3)",
|
|
109
|
+
listMaxHSm: "var(--listMaxHSm-xhny4oa)",
|
|
110
|
+
dialogSm: "var(--dialogSm-x16fibl1)",
|
|
111
|
+
dialogMd: "var(--dialogMd-x1yjoj5l)",
|
|
112
|
+
dialogLg: "var(--dialogLg-xsd9wl3)",
|
|
113
|
+
panelSm: "var(--panelSm-x1ng1dcv)",
|
|
114
|
+
panelMd: "var(--panelMd-x11x23mn)",
|
|
115
|
+
panelLg: "var(--panelLg-x19cpfjm)",
|
|
116
|
+
toastMaxW: "var(--toastMaxW-x1po6n0z)",
|
|
117
|
+
gridColSm: "var(--gridColSm-xzwpy92)",
|
|
118
|
+
gridColMd: "var(--gridColMd-x1cjqdt9)",
|
|
119
|
+
pageSm: "var(--pageSm-x5j4ghi)",
|
|
120
|
+
pageMd: "var(--pageMd-xloo57l)",
|
|
121
|
+
pageLg: "var(--pageLg-x393fnm)",
|
|
122
|
+
__varGroupHash__: "x1w57kmz"
|
|
123
|
+
}, x = {
|
|
124
|
+
hairline: "var(--hairline-xomm6fc)",
|
|
125
|
+
strong: "var(--strong-x1otbxzr)",
|
|
126
|
+
accent: "var(--accent-x1eiysj0)",
|
|
127
|
+
focusRing: "var(--focusRing-x851k0b)",
|
|
128
|
+
focusOffset: "var(--focusOffset-xvo0vkt)",
|
|
129
|
+
focusOffsetSm: "var(--focusOffsetSm-x1xhasg3)",
|
|
130
|
+
__varGroupHash__: "xqyt3or"
|
|
131
|
+
}, s = {
|
|
60
132
|
stackXs: "var(--stackXs-x1qfrfo2)",
|
|
61
133
|
stackSm: "var(--stackSm-x2rk1ut)",
|
|
62
134
|
stackMd: "var(--stackMd-xhblkt4)",
|
|
@@ -70,7 +142,7 @@ const e = {
|
|
|
70
142
|
containerMd: "var(--containerMd-x170dvin)",
|
|
71
143
|
containerLg: "var(--containerLg-x1n6aasq)",
|
|
72
144
|
__varGroupHash__: "x16nfoyr"
|
|
73
|
-
},
|
|
145
|
+
}, l = {
|
|
74
146
|
fontFamily: "var(--fontFamily-xvrmnat)",
|
|
75
147
|
fontFamilyMono: "var(--fontFamilyMono-x1bzqfky)",
|
|
76
148
|
fontSizeXs: "var(--fontSizeXs-x1w5m325)",
|
|
@@ -85,7 +157,7 @@ const e = {
|
|
|
85
157
|
fontWeightBold: "var(--fontWeightBold-x1pjkvwg)",
|
|
86
158
|
lineHeight: "var(--lineHeight-x1gubzd5)",
|
|
87
159
|
__varGroupHash__: "xs62swl"
|
|
88
|
-
},
|
|
160
|
+
}, v = {
|
|
89
161
|
fontSize1: "var(--fontSize1-xx27tux)",
|
|
90
162
|
fontSize2: "var(--fontSize2-x5hag8h)",
|
|
91
163
|
fontSize3: "var(--fontSize3-x1mf6j39)",
|
|
@@ -111,7 +183,7 @@ const e = {
|
|
|
111
183
|
letterSpacingNormal: "var(--letterSpacingNormal-x1ih41v1)",
|
|
112
184
|
letterSpacingWide: "var(--letterSpacingWide-xt8z9rj)",
|
|
113
185
|
__varGroupHash__: "x4cj49w"
|
|
114
|
-
},
|
|
186
|
+
}, g = {
|
|
115
187
|
bodySm: {
|
|
116
188
|
"fontFamily-kMv6JI": "fontFamily-xce2pww",
|
|
117
189
|
"fontSize-kGuDYH": "fontSize-x1hn3ytp",
|
|
@@ -225,51 +297,58 @@ const e = {
|
|
|
225
297
|
"letterSpacing-kb6lSQ": "letterSpacing-xql2p2a",
|
|
226
298
|
$$css: "tokens/type-presets.css.ts:104"
|
|
227
299
|
}
|
|
228
|
-
},
|
|
300
|
+
}, c = {
|
|
229
301
|
sm: "var(--sm-x17hhtln)",
|
|
230
302
|
md: "var(--md-x1oyt0aw)",
|
|
231
303
|
lg: "var(--lg-x1mxd62i)",
|
|
232
304
|
__varGroupHash__: "x13v825q"
|
|
233
|
-
},
|
|
305
|
+
}, p = {
|
|
234
306
|
instant: "var(--instant-x3tclo2)",
|
|
307
|
+
minimal: "var(--minimal-x39oeki)",
|
|
308
|
+
quick: "var(--quick-xmb6uht)",
|
|
235
309
|
fast: "var(--fast-x8gs7zb)",
|
|
310
|
+
brisk: "var(--brisk-xsyifss)",
|
|
236
311
|
base: "var(--base-x13vs74m)",
|
|
237
312
|
slow: "var(--slow-xtti36c)",
|
|
238
313
|
__varGroupHash__: "x8wiu4o"
|
|
239
|
-
},
|
|
314
|
+
}, f = {
|
|
240
315
|
standard: "var(--standard-xg4ngex)",
|
|
316
|
+
linear: "var(--linear-x13iskbu)",
|
|
241
317
|
easeOut: "var(--easeOut-x1dtgzac)",
|
|
242
318
|
easeIn: "var(--easeIn-xxaysck)",
|
|
243
319
|
__varGroupHash__: "x1unb8zz"
|
|
244
|
-
},
|
|
245
|
-
xjvd03b: "
|
|
320
|
+
}, h = {
|
|
321
|
+
xjvd03b: "x199coxg xjvd03b",
|
|
246
322
|
$$css: !0
|
|
247
|
-
},
|
|
323
|
+
}, k = {
|
|
248
324
|
x13v825q: "xv9ibj0 x13v825q",
|
|
249
325
|
$$css: !0
|
|
250
|
-
},
|
|
251
|
-
xjvd03b: "
|
|
326
|
+
}, S = {
|
|
327
|
+
xjvd03b: "x1hq5bef xjvd03b",
|
|
252
328
|
$$css: !0
|
|
253
|
-
},
|
|
329
|
+
}, d = {
|
|
254
330
|
x13v825q: "x15e39jv x13v825q",
|
|
255
331
|
$$css: !0
|
|
256
332
|
};
|
|
257
333
|
export {
|
|
334
|
+
x as borders,
|
|
258
335
|
e as breakpoints,
|
|
259
336
|
t as breakpointsPx,
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
337
|
+
r as colors,
|
|
338
|
+
p as duration,
|
|
339
|
+
f as easing,
|
|
340
|
+
d as highContrastShadows,
|
|
341
|
+
S as highContrastTheme,
|
|
342
|
+
s as layoutSpacing,
|
|
343
|
+
k as lightShadows,
|
|
344
|
+
h as lightTheme,
|
|
345
|
+
i as microSpacing,
|
|
268
346
|
a as radii,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
347
|
+
c as shadows,
|
|
348
|
+
o as sizes,
|
|
349
|
+
n as spacing,
|
|
350
|
+
g as typePresets,
|
|
351
|
+
v as typeScale,
|
|
352
|
+
l as typography
|
|
274
353
|
};
|
|
275
354
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/tokens/breakpoints.css.ts","../src/tokens/colors.css.ts","../src/tokens/spacing.css.ts","../src/tokens/layout-spacing.css.ts","../src/tokens/typography.css.ts","../src/tokens/type-presets.css.ts","../src/tokens/shadows.css.ts","../src/tokens/motion.css.ts","../src/themes/light.css.ts","../src/themes/high-contrast.css.ts"],"sourcesContent":["import {css} from 'react-strict-dom'\n\n// Breakpoint scale — the widths at which responsive layouts change.\n//\n// These use `css.defineConsts` rather than `css.defineVars` because CSS media\n// and container queries cannot read custom properties: a query threshold has\n// to be a literal. `defineConsts` values are inlined into the query text at\n// build time by the StyleX babel plugin (that's their whole reason to exist),\n// so `@container (max-width: ${breakpoints.sm})` compiles to a real `640px`.\n//\n// For runtime JS comparisons (`containerWidth < breakpointsPx.sm`) use the\n// plain-number mirror below — defineConsts values are query strings, not\n// numbers. Keep the two in sync. Values follow the common Tailwind-aligned scale.\nexport const breakpoints = css.defineConsts({\n /** Phones — dense tables card up below here. */\n xs: '480px',\n /** Large phone / small tablet. The default \"go to the mobile layout\" line. */\n sm: '640px',\n /** Tablet portrait. */\n md: '768px',\n /** Tablet landscape / small laptop. */\n lg: '1024px',\n /** Desktop. */\n xl: '1280px',\n})\n\nexport const breakpointsPx = {\n xs: 480,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n} as const\n\nexport type Breakpoint = keyof typeof breakpointsPx\n","import {css} from 'react-strict-dom'\n\nexport const colors = css.defineVars({\n // Backgrounds\n bg: '#0f0f0f',\n bgCard: '#1a1a1a',\n bgCardHover: '#242424',\n\n // Text\n text: '#e5e5e5',\n textMuted: '#b0b0b0',\n\n // Accent\n accent: '#6aaffc',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n\n // Border\n border: '#333333',\n\n // Semantic — Error\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.1)',\n errorBorder: 'rgba(248, 113, 113, 0.3)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n\n // Semantic — Success\n success: '#22c55e',\n successBg: 'rgba(34, 197, 94, 0.1)',\n successBorder: 'rgba(34, 197, 94, 0.3)',\n successText: '#86efac',\n\n // Semantic — Warning\n warning: '#fbbf24',\n warningBg: 'rgba(251, 191, 36, 0.1)',\n warningBorder: 'rgba(251, 191, 36, 0.3)',\n warningText: '#fde68a',\n\n // Semantic — Info (uses accent)\n info: '#6aaffc',\n infoBg: 'rgba(106, 175, 252, 0.1)',\n infoBorder: 'rgba(106, 175, 252, 0.3)',\n infoText: '#93c5fd',\n})\n","import {css} from 'react-strict-dom'\n\nexport const spacing = css.defineVars({\n xs: '4px',\n sm: '8px',\n ms: '12px',\n md: '16px',\n lg: '24px',\n xl: '32px',\n xxl: '48px',\n xxxl: '64px',\n})\n\nexport const radii = css.defineVars({\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n full: '9999px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const layoutSpacing = css.defineVars({\n // Vertical rhythm (stack gaps)\n stackXs: '4px',\n stackSm: '8px',\n stackMd: '16px',\n stackLg: '24px',\n stackXl: '48px',\n\n // Horizontal rhythm (inline gaps)\n inlineXs: '4px',\n inlineSm: '8px',\n inlineMd: '16px',\n inlineLg: '24px',\n\n // Container insets\n containerSm: '16px',\n containerMd: '24px',\n containerLg: '32px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const typography = css.defineVars({\n fontFamily:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif',\n fontFamilyMono: '\"SF Mono\", \"Fira Code\", \"Fira Mono\", \"Roboto Mono\", \"Courier New\", monospace',\n fontSizeXs: '0.75rem',\n fontSizeSm: '0.875rem',\n fontSizeMd: '1rem',\n fontSizeLg: '1.125rem',\n fontSizeXl: '1.25rem',\n fontSizeHeading: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeight: '1.5',\n})\n\nexport const typeScale = css.defineVars({\n // 9-step font size scale\n fontSize1: '0.75rem', // 12px — captions, badges\n fontSize2: '0.8125rem', // 13px — small UI\n fontSize3: '0.875rem', // 14px — default UI (buttons, inputs)\n fontSize4: '1rem', // 16px — body text\n fontSize5: '1.125rem', // 18px — body-lg\n fontSize6: '1.25rem', // 20px — subheading\n fontSize7: '1.5rem', // 24px — heading-sm\n fontSize8: '1.875rem', // 30px — heading-md\n fontSize9: '2.25rem', // 36px — heading-lg\n\n // Matched line-heights\n lineHeight1: '1rem', // 16px\n lineHeight2: '1.25rem', // 20px\n lineHeight3: '1.25rem', // 20px\n lineHeight4: '1.5rem', // 24px\n lineHeight5: '1.5rem', // 24px\n lineHeight6: '1.75rem', // 28px\n lineHeight7: '2rem', // 32px\n lineHeight8: '2.25rem', // 36px\n lineHeight9: '2.75rem', // 44px\n\n // Fluid display sizes\n displaySm: 'clamp(2.25rem, 1.5rem + 2vw, 3rem)', // 36–48px\n displayMd: 'clamp(2.75rem, 1.75rem + 2.5vw, 3.75rem)', // 44–60px\n displayLg: 'clamp(3.5rem, 2rem + 3.5vw, 4.5rem)', // 56–72px\n\n // Letter-spacing\n letterSpacingTight: '-0.02em',\n letterSpacingNormal: '0',\n letterSpacingWide: '0.04em',\n})\n","import {css} from 'react-strict-dom'\nimport {typography, typeScale} from './typography.css'\n\nexport const typePresets = css.create({\n // Body\n bodySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize4,\n lineHeight: typeScale.lineHeight4,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize5,\n lineHeight: typeScale.lineHeight5,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n\n // UI\n caption: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingWide,\n },\n label: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightMedium,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n code: {\n fontFamily: typography.fontFamilyMono,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n overline: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingWide,\n textTransform: 'uppercase' as const,\n },\n\n // Heading\n headingSm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize6,\n lineHeight: typeScale.lineHeight6,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize7,\n lineHeight: typeScale.lineHeight7,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize8,\n lineHeight: typeScale.lineHeight8,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingXl: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize9,\n lineHeight: typeScale.lineHeight9,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n\n // Display (fluid)\n displaySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displaySm,\n lineHeight: 1.2,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayMd,\n lineHeight: 1.15,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayLg,\n lineHeight: 1.1,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n})\n","import {css} from 'react-strict-dom'\n\nexport const shadows = css.defineVars({\n sm: '0 2px 4px rgba(0, 0, 0, 0.3)',\n md: '0 4px 12px rgba(0, 0, 0, 0.4)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.5)',\n})\n","import {css} from 'react-strict-dom'\n\n/**\n * Motion timing tokens.\n *\n * Values are harvested from what the system already uses — nothing invented:\n * - durations: 150ms is the de-facto transition (Button, Card, and ~30 other\n * spots), 200ms the common overlay enter (Drawer), 280ms the larger panel\n * enter (DetailPanel). `instant` is for explicit no-motion.\n * - easings: `standard` is the default `ease` used throughout; `easeOut` /\n * `easeIn` are the \"Apple ease\" curves already defined for DetailPanel.\n *\n * Reduced motion is handled globally (the `@media (prefers-reduced-motion)`\n * rule in the reset neutralizes timing) plus per-component transform guards, so\n * these stay as plain timing values.\n */\nexport const duration = css.defineVars({\n instant: '0ms',\n fast: '150ms',\n base: '200ms',\n slow: '280ms',\n})\n\nexport const easing = css.defineVars({\n standard: 'ease',\n easeOut: 'cubic-bezier(0.32, 0.72, 0, 1)',\n easeIn: 'cubic-bezier(0.72, 0, 0.68, 0.28)',\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const lightTheme = css.createTheme(colors, {\n bg: '#ffffff',\n bgCard: '#f5f5f5',\n bgCardHover: '#ebebeb',\n text: '#1a1a1a',\n textMuted: '#4a4a4a',\n accent: '#1e40af',\n accentHover: '#1a3799',\n accentContrast: '#ffffff',\n border: '#d4d4d4',\n error: '#991b1b',\n errorHover: '#7f1d1d',\n errorBg: 'rgba(153, 27, 27, 0.08)',\n errorBorder: 'rgba(153, 27, 27, 0.3)',\n errorText: '#7f1d1d',\n errorContrast: '#ffffff',\n success: '#166534',\n successBg: 'rgba(22, 101, 52, 0.08)',\n successBorder: 'rgba(22, 101, 52, 0.3)',\n successText: '#14532d',\n warning: '#92400e',\n warningBg: 'rgba(146, 64, 14, 0.08)',\n warningBorder: 'rgba(146, 64, 14, 0.3)',\n warningText: '#78350f',\n info: '#1e40af',\n infoBg: 'rgba(30, 64, 175, 0.08)',\n infoBorder: 'rgba(30, 64, 175, 0.3)',\n infoText: '#1e40af',\n})\n\nexport const lightShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.08)',\n md: '0 4px 12px rgba(0, 0, 0, 0.12)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.16)',\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const highContrastTheme = css.createTheme(colors, {\n bg: '#000000',\n bgCard: '#111111',\n bgCardHover: '#1a1a1a',\n text: '#ffffff',\n textMuted: '#b0b0b0',\n accent: '#60a5fa',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n border: '#555555',\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.15)',\n errorBorder: 'rgba(248, 113, 113, 0.5)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n success: '#4ade80',\n successBg: 'rgba(74, 222, 128, 0.15)',\n successBorder: 'rgba(74, 222, 128, 0.5)',\n successText: '#86efac',\n warning: '#fcd34d',\n warningBg: 'rgba(252, 211, 77, 0.15)',\n warningBorder: 'rgba(252, 211, 77, 0.5)',\n warningText: '#fef08a',\n info: '#60a5fa',\n infoBg: 'rgba(96, 165, 250, 0.15)',\n infoBorder: 'rgba(96, 165, 250, 0.5)',\n infoText: '#bfdbfe',\n})\n\nexport const highContrastShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.6)',\n md: '0 4px 12px rgba(0, 0, 0, 0.7)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.8)',\n})\n"],"names":["breakpoints","breakpointsPx","colors","spacing","radii","layoutSpacing","typography","typeScale","typePresets","shadows","duration","easing","lightTheme","lightShadows","highContrastTheme","highContrastShadows"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/tokens/breakpoints.css.ts","../src/tokens/colors.css.ts","../src/tokens/spacing.css.ts","../src/tokens/sizes.css.ts","../src/tokens/borders.css.ts","../src/tokens/layout-spacing.css.ts","../src/tokens/typography.css.ts","../src/tokens/type-presets.css.ts","../src/tokens/shadows.css.ts","../src/tokens/motion.css.ts","../src/themes/light.css.ts","../src/themes/high-contrast.css.ts"],"sourcesContent":["import {css} from 'react-strict-dom'\n\n// Breakpoint scale — the widths at which responsive layouts change.\n//\n// These use `css.defineConsts` rather than `css.defineVars` because CSS media\n// and container queries cannot read custom properties: a query threshold has\n// to be a literal. `defineConsts` values are inlined into the query text at\n// build time by the StyleX babel plugin (that's their whole reason to exist),\n// so `@container (max-width: ${breakpoints.sm})` compiles to a real `640px`.\n//\n// For runtime JS comparisons (`containerWidth < breakpointsPx.sm`) use the\n// plain-number mirror below — defineConsts values are query strings, not\n// numbers. Keep the two in sync. Values follow the common Tailwind-aligned scale.\nexport const breakpoints = css.defineConsts({\n /** Phones — dense tables card up below here. */\n xs: '480px',\n /** Large phone / small tablet. The default \"go to the mobile layout\" line. */\n sm: '640px',\n /** Tablet portrait. */\n md: '768px',\n /** Tablet landscape / small laptop. */\n lg: '1024px',\n /** Desktop. */\n xl: '1280px',\n})\n\nexport const breakpointsPx = {\n xs: 480,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n} as const\n\nexport type Breakpoint = keyof typeof breakpointsPx\n","import {css} from 'react-strict-dom'\n\nexport const colors = css.defineVars({\n // Backgrounds\n bg: '#0f0f0f',\n bgCard: '#1a1a1a',\n bgCardHover: '#242424',\n\n // Text\n text: '#e5e5e5',\n textMuted: '#b0b0b0',\n\n // Accent\n accent: '#6aaffc',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n\n // Border\n border: '#333333',\n\n // Semantic — Error\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.1)',\n errorBorder: 'rgba(248, 113, 113, 0.3)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n\n // Semantic — Success\n success: '#22c55e',\n successBg: 'rgba(34, 197, 94, 0.1)',\n successBorder: 'rgba(34, 197, 94, 0.3)',\n successText: '#86efac',\n\n // Semantic — Warning\n warning: '#fbbf24',\n warningBg: 'rgba(251, 191, 36, 0.1)',\n warningBorder: 'rgba(251, 191, 36, 0.3)',\n warningText: '#fde68a',\n\n // Semantic — Info (uses accent)\n info: '#6aaffc',\n infoBg: 'rgba(106, 175, 252, 0.1)',\n infoBorder: 'rgba(106, 175, 252, 0.3)',\n infoText: '#93c5fd',\n\n // Fixed overlays — the same in every theme (a scrim darkens whatever is\n // under it; the inverse overlays sit on an accent surface).\n scrim: 'rgba(0, 0, 0, 0.4)',\n inverseFill: 'rgba(0, 0, 0, 0.10)',\n inverseFillHover: 'rgba(0, 0, 0, 0.18)',\n inverseBorder: 'rgba(0, 0, 0, 0.55)',\n inverseBorderHover: 'rgba(0, 0, 0, 0.70)',\n // A light that does not follow the theme (the Switch knob).\n fixedLight: '#ffffff',\n})\n","import {css} from 'react-strict-dom'\n\nexport const spacing = css.defineVars({\n xs: '4px',\n sm: '8px',\n ms: '12px',\n md: '16px',\n lg: '24px',\n xl: '32px',\n xxl: '48px',\n xxxl: '64px',\n})\n\n// Optical micro-steps below and between the spacing scale: a 1-6px nudge that\n// aligns a glyph or tightens a dense control. Not a layout choice, so not part\n// of SpacingToken (no `gap=\"px2\"`); prefer the scale.\nexport const microSpacing = css.defineVars({\n px1: '1px',\n px2: '2px',\n px3: '3px',\n px5: '5px',\n px6: '6px',\n})\n\nexport const radii = css.defineVars({\n xs: '4px',\n px6: '6px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n full: '9999px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const sizes = css.defineVars({\n touchTarget: '44px',\n controlSm: '28px',\n controlMd: '39px',\n controlLg: '40px',\n indicator: '18px',\n indicatorDot: '8px',\n checkMarkW: '5px',\n checkMarkH: '9px',\n switchTrackW: '36px',\n switchTrackH: '20px',\n switchThumb: '16px',\n iconButton: '32px',\n iconButtonSm: '28px',\n spinnerSm: '16px',\n spinnerMd: '24px',\n spinnerLg: '40px',\n glyphXs: '10px',\n glyphSm: '12px',\n glyphMd: '16px',\n iconSm: '16px',\n iconMd: '18px',\n iconLg: '24px',\n iconXl: '36px',\n iconXxl: '48px',\n navMarkerW: '3px',\n navMarkerH: '18px',\n divider: '1px',\n tabIndicator: '2px',\n edgeFade: '32px',\n scrollbar: '8px',\n swatchW: '44px',\n swatchH: '34px',\n labelMinW: '120px',\n popupMinW: '160px',\n listMaxH: '280px',\n listMaxHSm: '200px',\n dialogSm: '400px',\n dialogMd: '520px',\n dialogLg: '680px',\n panelSm: '360px',\n panelMd: '480px',\n panelLg: '640px',\n toastMaxW: '440px',\n gridColSm: '240px',\n gridColMd: '280px',\n pageSm: '600px',\n pageMd: '800px',\n pageLg: '1200px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const borders = css.defineVars({\n hairline: '1px',\n strong: '2px',\n accent: '3px',\n focusRing: '2px',\n focusOffset: '2px',\n focusOffsetSm: '1px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const layoutSpacing = css.defineVars({\n // Vertical rhythm (stack gaps)\n stackXs: '4px',\n stackSm: '8px',\n stackMd: '16px',\n stackLg: '24px',\n stackXl: '48px',\n\n // Horizontal rhythm (inline gaps)\n inlineXs: '4px',\n inlineSm: '8px',\n inlineMd: '16px',\n inlineLg: '24px',\n\n // Container insets\n containerSm: '16px',\n containerMd: '24px',\n containerLg: '32px',\n})\n","import {css} from 'react-strict-dom'\n\nexport const typography = css.defineVars({\n fontFamily:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif',\n fontFamilyMono: '\"SF Mono\", \"Fira Code\", \"Fira Mono\", \"Roboto Mono\", \"Courier New\", monospace',\n fontSizeXs: '0.75rem',\n fontSizeSm: '0.875rem',\n fontSizeMd: '1rem',\n fontSizeLg: '1.125rem',\n fontSizeXl: '1.25rem',\n fontSizeHeading: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeight: '1.5',\n})\n\nexport const typeScale = css.defineVars({\n // 9-step font size scale\n fontSize1: '0.75rem', // 12px — captions, badges\n fontSize2: '0.8125rem', // 13px — small UI\n fontSize3: '0.875rem', // 14px — default UI (buttons, inputs)\n fontSize4: '1rem', // 16px — body text\n fontSize5: '1.125rem', // 18px — body-lg\n fontSize6: '1.25rem', // 20px — subheading\n fontSize7: '1.5rem', // 24px — heading-sm\n fontSize8: '1.875rem', // 30px — heading-md\n fontSize9: '2.25rem', // 36px — heading-lg\n\n // Matched line-heights\n lineHeight1: '1rem', // 16px\n lineHeight2: '1.25rem', // 20px\n lineHeight3: '1.25rem', // 20px\n lineHeight4: '1.5rem', // 24px\n lineHeight5: '1.5rem', // 24px\n lineHeight6: '1.75rem', // 28px\n lineHeight7: '2rem', // 32px\n lineHeight8: '2.25rem', // 36px\n lineHeight9: '2.75rem', // 44px\n\n // Fluid display sizes\n displaySm: 'clamp(2.25rem, 1.5rem + 2vw, 3rem)', // 36–48px\n displayMd: 'clamp(2.75rem, 1.75rem + 2.5vw, 3.75rem)', // 44–60px\n displayLg: 'clamp(3.5rem, 2rem + 3.5vw, 4.5rem)', // 56–72px\n\n // Letter-spacing\n letterSpacingTight: '-0.02em',\n letterSpacingNormal: '0',\n letterSpacingWide: '0.04em',\n})\n","import {css} from 'react-strict-dom'\nimport {typography, typeScale} from './typography.css'\n\nexport const typePresets = css.create({\n // Body\n bodySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize4,\n lineHeight: typeScale.lineHeight4,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize5,\n lineHeight: typeScale.lineHeight5,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n\n // UI\n caption: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingWide,\n },\n label: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightMedium,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n code: {\n fontFamily: typography.fontFamilyMono,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n overline: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingWide,\n textTransform: 'uppercase' as const,\n },\n\n // Heading\n headingSm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize6,\n lineHeight: typeScale.lineHeight6,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize7,\n lineHeight: typeScale.lineHeight7,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize8,\n lineHeight: typeScale.lineHeight8,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingXl: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize9,\n lineHeight: typeScale.lineHeight9,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n\n // Display (fluid)\n displaySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displaySm,\n lineHeight: 1.2,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayMd,\n lineHeight: 1.15,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayLg,\n lineHeight: 1.1,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n})\n","import {css} from 'react-strict-dom'\n\nexport const shadows = css.defineVars({\n sm: '0 2px 4px rgba(0, 0, 0, 0.3)',\n md: '0 4px 12px rgba(0, 0, 0, 0.4)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.5)',\n})\n","import {css} from 'react-strict-dom'\n\n/**\n * Motion timing tokens.\n *\n * Values are harvested from what the system already uses — nothing invented:\n * - durations: 150ms is the de-facto transition (Button, Card, and ~30 other\n * spots), 200ms the common overlay enter (Drawer), 280ms the larger panel\n * enter (DetailPanel). `instant` is for explicit no-motion.\n * `quick` (List hover, sort indicator) and `brisk` (Toast enter) are the\n * two other values components used; `minimal` is the 1ms reduced-motion\n * duration that still fires animationend.\n * - easings: `standard` is the default `ease` used throughout; `easeOut` /\n * `easeIn` are the \"Apple ease\" curves already defined for DetailPanel.\n * `linear` is the Spinner's constant rotation.\n *\n * Reduced motion is handled globally (the `@media (prefers-reduced-motion)`\n * rule in the reset neutralizes timing) plus per-component transform guards, so\n * these stay as plain timing values.\n */\nexport const duration = css.defineVars({\n instant: '0ms',\n // Non-zero so animationend still fires under reduced motion.\n minimal: '1ms',\n quick: '120ms',\n fast: '150ms',\n brisk: '160ms',\n base: '200ms',\n slow: '280ms',\n})\n\nexport const easing = css.defineVars({\n standard: 'ease',\n linear: 'linear',\n easeOut: 'cubic-bezier(0.32, 0.72, 0, 1)',\n easeIn: 'cubic-bezier(0.72, 0, 0.68, 0.28)',\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const lightTheme = css.createTheme(colors, {\n bg: '#ffffff',\n bgCard: '#f5f5f5',\n bgCardHover: '#ebebeb',\n text: '#1a1a1a',\n textMuted: '#4a4a4a',\n accent: '#1e40af',\n accentHover: '#1a3799',\n accentContrast: '#ffffff',\n border: '#d4d4d4',\n error: '#991b1b',\n errorHover: '#7f1d1d',\n errorBg: 'rgba(153, 27, 27, 0.08)',\n errorBorder: 'rgba(153, 27, 27, 0.3)',\n errorText: '#7f1d1d',\n errorContrast: '#ffffff',\n success: '#166534',\n successBg: 'rgba(22, 101, 52, 0.08)',\n successBorder: 'rgba(22, 101, 52, 0.3)',\n successText: '#14532d',\n warning: '#92400e',\n warningBg: 'rgba(146, 64, 14, 0.08)',\n warningBorder: 'rgba(146, 64, 14, 0.3)',\n warningText: '#78350f',\n info: '#1e40af',\n infoBg: 'rgba(30, 64, 175, 0.08)',\n infoBorder: 'rgba(30, 64, 175, 0.3)',\n infoText: '#1e40af',\n // Fixed overlays — the same in every theme (a scrim darkens whatever is\n // under it; the inverse overlays sit on an accent surface).\n scrim: 'rgba(0, 0, 0, 0.4)',\n inverseFill: 'rgba(0, 0, 0, 0.10)',\n inverseFillHover: 'rgba(0, 0, 0, 0.18)',\n inverseBorder: 'rgba(0, 0, 0, 0.55)',\n inverseBorderHover: 'rgba(0, 0, 0, 0.70)',\n // A light that does not follow the theme (the Switch knob).\n fixedLight: '#ffffff',\n})\n\nexport const lightShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.08)',\n md: '0 4px 12px rgba(0, 0, 0, 0.12)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.16)',\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const highContrastTheme = css.createTheme(colors, {\n bg: '#000000',\n bgCard: '#111111',\n bgCardHover: '#1a1a1a',\n text: '#ffffff',\n textMuted: '#b0b0b0',\n accent: '#60a5fa',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n border: '#555555',\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.15)',\n errorBorder: 'rgba(248, 113, 113, 0.5)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n success: '#4ade80',\n successBg: 'rgba(74, 222, 128, 0.15)',\n successBorder: 'rgba(74, 222, 128, 0.5)',\n successText: '#86efac',\n warning: '#fcd34d',\n warningBg: 'rgba(252, 211, 77, 0.15)',\n warningBorder: 'rgba(252, 211, 77, 0.5)',\n warningText: '#fef08a',\n info: '#60a5fa',\n infoBg: 'rgba(96, 165, 250, 0.15)',\n infoBorder: 'rgba(96, 165, 250, 0.5)',\n infoText: '#bfdbfe',\n // Fixed overlays — the same in every theme (a scrim darkens whatever is\n // under it; the inverse overlays sit on an accent surface).\n scrim: 'rgba(0, 0, 0, 0.4)',\n inverseFill: 'rgba(0, 0, 0, 0.10)',\n inverseFillHover: 'rgba(0, 0, 0, 0.18)',\n inverseBorder: 'rgba(0, 0, 0, 0.55)',\n inverseBorderHover: 'rgba(0, 0, 0, 0.70)',\n // A light that does not follow the theme (the Switch knob).\n fixedLight: '#ffffff',\n})\n\nexport const highContrastShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.6)',\n md: '0 4px 12px rgba(0, 0, 0, 0.7)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.8)',\n})\n"],"names":["breakpoints","breakpointsPx","colors","spacing","microSpacing","radii","sizes","borders","layoutSpacing","typography","typeScale","typePresets","shadows","duration","easing","lightTheme","lightShadows","highContrastTheme","highContrastShadows"],"mappings":"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"}
|
package/dist/keys.d.ts
CHANGED
|
@@ -11,10 +11,20 @@ export declare const SPACING_PX: {
|
|
|
11
11
|
readonly xxl: 48;
|
|
12
12
|
readonly xxxl: 64;
|
|
13
13
|
};
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const MICRO_SPACING_KEYS: readonly ["px1", "px2", "px3", "px5", "px6"];
|
|
15
|
+
export type MicroSpacingToken = (typeof MICRO_SPACING_KEYS)[number];
|
|
16
|
+
export declare const MICRO_SPACING_PX: {
|
|
17
|
+
readonly px1: 1;
|
|
18
|
+
readonly px2: 2;
|
|
19
|
+
readonly px3: 3;
|
|
20
|
+
readonly px5: 5;
|
|
21
|
+
readonly px6: 6;
|
|
22
|
+
};
|
|
23
|
+
export declare const RADIUS_KEYS: readonly ["xs", "px6", "sm", "md", "lg", "full"];
|
|
15
24
|
export type RadiusToken = (typeof RADIUS_KEYS)[number];
|
|
16
25
|
export declare const RADII_PX: {
|
|
17
26
|
readonly xs: 4;
|
|
27
|
+
readonly px6: 6;
|
|
18
28
|
readonly sm: 8;
|
|
19
29
|
readonly md: 12;
|
|
20
30
|
readonly lg: 16;
|
|
@@ -24,11 +34,76 @@ export declare const SHADOW_KEYS: readonly ["sm", "md", "lg"];
|
|
|
24
34
|
export type ShadowToken = (typeof SHADOW_KEYS)[number];
|
|
25
35
|
export declare const DURATION_MS: {
|
|
26
36
|
readonly instant: 0;
|
|
37
|
+
readonly minimal: 1;
|
|
38
|
+
readonly quick: 120;
|
|
27
39
|
readonly fast: 150;
|
|
40
|
+
readonly brisk: 160;
|
|
28
41
|
readonly base: 200;
|
|
29
42
|
readonly slow: 280;
|
|
30
43
|
};
|
|
31
44
|
export type DurationToken = keyof typeof DURATION_MS;
|
|
45
|
+
export declare const SIZE_KEYS: readonly ["touchTarget", "controlSm", "controlMd", "controlLg", "indicator", "indicatorDot", "checkMarkW", "checkMarkH", "switchTrackW", "switchTrackH", "switchThumb", "iconButton", "iconButtonSm", "spinnerSm", "spinnerMd", "spinnerLg", "glyphXs", "glyphSm", "glyphMd", "iconSm", "iconMd", "iconLg", "iconXl", "iconXxl", "navMarkerW", "navMarkerH", "divider", "tabIndicator", "edgeFade", "scrollbar", "swatchW", "swatchH", "labelMinW", "popupMinW", "listMaxH", "listMaxHSm", "dialogSm", "dialogMd", "dialogLg", "panelSm", "panelMd", "panelLg", "toastMaxW", "gridColSm", "gridColMd", "pageSm", "pageMd", "pageLg"];
|
|
46
|
+
export type SizeToken = (typeof SIZE_KEYS)[number];
|
|
47
|
+
export declare const SIZES_PX: {
|
|
48
|
+
readonly touchTarget: 44;
|
|
49
|
+
readonly controlSm: 28;
|
|
50
|
+
readonly controlMd: 39;
|
|
51
|
+
readonly controlLg: 40;
|
|
52
|
+
readonly indicator: 18;
|
|
53
|
+
readonly indicatorDot: 8;
|
|
54
|
+
readonly checkMarkW: 5;
|
|
55
|
+
readonly checkMarkH: 9;
|
|
56
|
+
readonly switchTrackW: 36;
|
|
57
|
+
readonly switchTrackH: 20;
|
|
58
|
+
readonly switchThumb: 16;
|
|
59
|
+
readonly iconButton: 32;
|
|
60
|
+
readonly iconButtonSm: 28;
|
|
61
|
+
readonly spinnerSm: 16;
|
|
62
|
+
readonly spinnerMd: 24;
|
|
63
|
+
readonly spinnerLg: 40;
|
|
64
|
+
readonly glyphXs: 10;
|
|
65
|
+
readonly glyphSm: 12;
|
|
66
|
+
readonly glyphMd: 16;
|
|
67
|
+
readonly iconSm: 16;
|
|
68
|
+
readonly iconMd: 18;
|
|
69
|
+
readonly iconLg: 24;
|
|
70
|
+
readonly iconXl: 36;
|
|
71
|
+
readonly iconXxl: 48;
|
|
72
|
+
readonly navMarkerW: 3;
|
|
73
|
+
readonly navMarkerH: 18;
|
|
74
|
+
readonly divider: 1;
|
|
75
|
+
readonly tabIndicator: 2;
|
|
76
|
+
readonly edgeFade: 32;
|
|
77
|
+
readonly scrollbar: 8;
|
|
78
|
+
readonly swatchW: 44;
|
|
79
|
+
readonly swatchH: 34;
|
|
80
|
+
readonly labelMinW: 120;
|
|
81
|
+
readonly popupMinW: 160;
|
|
82
|
+
readonly listMaxH: 280;
|
|
83
|
+
readonly listMaxHSm: 200;
|
|
84
|
+
readonly dialogSm: 400;
|
|
85
|
+
readonly dialogMd: 520;
|
|
86
|
+
readonly dialogLg: 680;
|
|
87
|
+
readonly panelSm: 360;
|
|
88
|
+
readonly panelMd: 480;
|
|
89
|
+
readonly panelLg: 640;
|
|
90
|
+
readonly toastMaxW: 440;
|
|
91
|
+
readonly gridColSm: 240;
|
|
92
|
+
readonly gridColMd: 280;
|
|
93
|
+
readonly pageSm: 600;
|
|
94
|
+
readonly pageMd: 800;
|
|
95
|
+
readonly pageLg: 1200;
|
|
96
|
+
};
|
|
97
|
+
export declare const BORDER_KEYS: readonly ["hairline", "strong", "accent", "focusRing", "focusOffset", "focusOffsetSm"];
|
|
98
|
+
export type BorderToken = (typeof BORDER_KEYS)[number];
|
|
99
|
+
export declare const BORDERS_PX: {
|
|
100
|
+
readonly hairline: 1;
|
|
101
|
+
readonly strong: 2;
|
|
102
|
+
readonly accent: 3;
|
|
103
|
+
readonly focusRing: 2;
|
|
104
|
+
readonly focusOffset: 2;
|
|
105
|
+
readonly focusOffsetSm: 1;
|
|
106
|
+
};
|
|
32
107
|
export declare const ICON_SIZES: {
|
|
33
108
|
readonly sm: 16;
|
|
34
109
|
readonly md: 18;
|
|
@@ -77,6 +152,7 @@ export declare const SHADOWS: {
|
|
|
77
152
|
};
|
|
78
153
|
export declare const EASINGS: {
|
|
79
154
|
readonly standard: "ease";
|
|
155
|
+
readonly linear: "linear";
|
|
80
156
|
readonly easeOut: "cubic-bezier(0.32, 0.72, 0, 1)";
|
|
81
157
|
readonly easeIn: "cubic-bezier(0.72, 0, 0.68, 0.28)";
|
|
82
158
|
};
|
package/dist/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,UAAU,CAAA;AAEvC,eAAO,MAAM,YAAY,8DAA+D,CAAA;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAGxD,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAA;AAEV,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,UAAU,CAAA;AAEvC,eAAO,MAAM,YAAY,8DAA+D,CAAA;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAGxD,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAA;AAGV,eAAO,MAAM,kBAAkB,8CAA+C,CAAA;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AACnE,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAA;AAEV,eAAO,MAAM,WAAW,kDAAmD,CAAA;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAGtD,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAA;AAEV,eAAO,MAAM,WAAW,6BAA8B,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAGtD,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAA;AAEpD,eAAO,MAAM,SAAS,smBAiDZ,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAGlD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDX,CAAA;AAEV,eAAO,MAAM,WAAW,wFAOd,CAAA;AACV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAGtD,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAA;AAKV,eAAO,MAAM,UAAU;;;;;;CAMb,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAA;AAK9C,eAAO,MAAM,eAAe,yCAA0C,CAAA;AACtE,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAGV,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAA;AAGV,eAAO,MAAM,YAAY;;;;;CAKf,CAAA;AAGV,eAAO,MAAM,wBAAwB;;;;;;;;;;CAU3B,CAAA;AAGV,eAAO,MAAM,OAAO;;;;CAIV,CAAA;AAGV,eAAO,MAAM,OAAO;;;;;CAKV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,SAAS,CAAA;AAExC,YAAY,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA"}
|
package/dist/mockup.css
CHANGED
|
@@ -25,10 +25,16 @@
|
|
|
25
25
|
--duro-color-error-contrast: #000000;
|
|
26
26
|
--duro-color-error-hover: #fca5a5;
|
|
27
27
|
--duro-color-error-text: #fca5a5;
|
|
28
|
+
--duro-color-fixed-light: #ffffff;
|
|
28
29
|
--duro-color-info: #6aaffc;
|
|
29
30
|
--duro-color-info-bg: rgba(106, 175, 252, 0.1);
|
|
30
31
|
--duro-color-info-border: rgba(106, 175, 252, 0.3);
|
|
31
32
|
--duro-color-info-text: #93c5fd;
|
|
33
|
+
--duro-color-inverse-border: rgba(0, 0, 0, 0.55);
|
|
34
|
+
--duro-color-inverse-border-hover: rgba(0, 0, 0, 0.70);
|
|
35
|
+
--duro-color-inverse-fill: rgba(0, 0, 0, 0.10);
|
|
36
|
+
--duro-color-inverse-fill-hover: rgba(0, 0, 0, 0.18);
|
|
37
|
+
--duro-color-scrim: rgba(0, 0, 0, 0.4);
|
|
32
38
|
--duro-color-success: #22c55e;
|
|
33
39
|
--duro-color-success-bg: rgba(34, 197, 94, 0.1);
|
|
34
40
|
--duro-color-success-border: rgba(34, 197, 94, 0.3);
|
|
@@ -52,12 +58,75 @@
|
|
|
52
58
|
--duro-spacing-xs: 4px;
|
|
53
59
|
--duro-spacing-xxl: 48px;
|
|
54
60
|
--duro-spacing-xxxl: 64px;
|
|
61
|
+
/* microSpacing */
|
|
62
|
+
--duro-micro-spacing-px1: 1px;
|
|
63
|
+
--duro-micro-spacing-px2: 2px;
|
|
64
|
+
--duro-micro-spacing-px3: 3px;
|
|
65
|
+
--duro-micro-spacing-px5: 5px;
|
|
66
|
+
--duro-micro-spacing-px6: 6px;
|
|
55
67
|
/* radii */
|
|
56
68
|
--duro-radius-full: 9999px;
|
|
57
69
|
--duro-radius-lg: 16px;
|
|
58
70
|
--duro-radius-md: 12px;
|
|
71
|
+
--duro-radius-px6: 6px;
|
|
59
72
|
--duro-radius-sm: 8px;
|
|
60
73
|
--duro-radius-xs: 4px;
|
|
74
|
+
/* sizes */
|
|
75
|
+
--duro-size-check-mark-h: 9px;
|
|
76
|
+
--duro-size-check-mark-w: 5px;
|
|
77
|
+
--duro-size-control-lg: 40px;
|
|
78
|
+
--duro-size-control-md: 39px;
|
|
79
|
+
--duro-size-control-sm: 28px;
|
|
80
|
+
--duro-size-dialog-lg: 680px;
|
|
81
|
+
--duro-size-dialog-md: 520px;
|
|
82
|
+
--duro-size-dialog-sm: 400px;
|
|
83
|
+
--duro-size-divider: 1px;
|
|
84
|
+
--duro-size-edge-fade: 32px;
|
|
85
|
+
--duro-size-glyph-md: 16px;
|
|
86
|
+
--duro-size-glyph-sm: 12px;
|
|
87
|
+
--duro-size-glyph-xs: 10px;
|
|
88
|
+
--duro-size-grid-col-md: 280px;
|
|
89
|
+
--duro-size-grid-col-sm: 240px;
|
|
90
|
+
--duro-size-icon-button: 32px;
|
|
91
|
+
--duro-size-icon-button-sm: 28px;
|
|
92
|
+
--duro-size-icon-lg: 24px;
|
|
93
|
+
--duro-size-icon-md: 18px;
|
|
94
|
+
--duro-size-icon-sm: 16px;
|
|
95
|
+
--duro-size-icon-xl: 36px;
|
|
96
|
+
--duro-size-icon-xxl: 48px;
|
|
97
|
+
--duro-size-indicator: 18px;
|
|
98
|
+
--duro-size-indicator-dot: 8px;
|
|
99
|
+
--duro-size-label-min-w: 120px;
|
|
100
|
+
--duro-size-list-max-h: 280px;
|
|
101
|
+
--duro-size-list-max-h-sm: 200px;
|
|
102
|
+
--duro-size-nav-marker-h: 18px;
|
|
103
|
+
--duro-size-nav-marker-w: 3px;
|
|
104
|
+
--duro-size-page-lg: 1200px;
|
|
105
|
+
--duro-size-page-md: 800px;
|
|
106
|
+
--duro-size-page-sm: 600px;
|
|
107
|
+
--duro-size-panel-lg: 640px;
|
|
108
|
+
--duro-size-panel-md: 480px;
|
|
109
|
+
--duro-size-panel-sm: 360px;
|
|
110
|
+
--duro-size-popup-min-w: 160px;
|
|
111
|
+
--duro-size-scrollbar: 8px;
|
|
112
|
+
--duro-size-spinner-lg: 40px;
|
|
113
|
+
--duro-size-spinner-md: 24px;
|
|
114
|
+
--duro-size-spinner-sm: 16px;
|
|
115
|
+
--duro-size-swatch-h: 34px;
|
|
116
|
+
--duro-size-swatch-w: 44px;
|
|
117
|
+
--duro-size-switch-thumb: 16px;
|
|
118
|
+
--duro-size-switch-track-h: 20px;
|
|
119
|
+
--duro-size-switch-track-w: 36px;
|
|
120
|
+
--duro-size-tab-indicator: 2px;
|
|
121
|
+
--duro-size-toast-max-w: 440px;
|
|
122
|
+
--duro-size-touch-target: 44px;
|
|
123
|
+
/* borders */
|
|
124
|
+
--duro-border-accent: 3px;
|
|
125
|
+
--duro-border-focus-offset: 2px;
|
|
126
|
+
--duro-border-focus-offset-sm: 1px;
|
|
127
|
+
--duro-border-focus-ring: 2px;
|
|
128
|
+
--duro-border-hairline: 1px;
|
|
129
|
+
--duro-border-strong: 2px;
|
|
61
130
|
/* layoutSpacing */
|
|
62
131
|
--duro-layout-spacing-container-lg: 32px;
|
|
63
132
|
--duro-layout-spacing-container-md: 24px;
|
|
@@ -112,12 +181,16 @@
|
|
|
112
181
|
--duro-type-scale-line-height9: 2.75rem;
|
|
113
182
|
/* duration */
|
|
114
183
|
--duro-duration-base: 200ms;
|
|
184
|
+
--duro-duration-brisk: 160ms;
|
|
115
185
|
--duro-duration-fast: 150ms;
|
|
116
186
|
--duro-duration-instant: 0ms;
|
|
187
|
+
--duro-duration-minimal: 1ms;
|
|
188
|
+
--duro-duration-quick: 120ms;
|
|
117
189
|
--duro-duration-slow: 280ms;
|
|
118
190
|
/* easing */
|
|
119
191
|
--duro-easing-ease-in: cubic-bezier(0.72, 0, 0.68, 0.28);
|
|
120
192
|
--duro-easing-ease-out: cubic-bezier(0.32, 0.72, 0, 1);
|
|
193
|
+
--duro-easing-linear: linear;
|
|
121
194
|
--duro-easing-standard: ease;
|
|
122
195
|
/* breakpoints */
|
|
123
196
|
--duro-breakpoint-lg: 1024px;
|
|
@@ -143,10 +216,16 @@
|
|
|
143
216
|
--duro-color-error-contrast: #ffffff;
|
|
144
217
|
--duro-color-error-hover: #7f1d1d;
|
|
145
218
|
--duro-color-error-text: #7f1d1d;
|
|
219
|
+
--duro-color-fixed-light: #ffffff;
|
|
146
220
|
--duro-color-info: #1e40af;
|
|
147
221
|
--duro-color-info-bg: rgba(30, 64, 175, 0.08);
|
|
148
222
|
--duro-color-info-border: rgba(30, 64, 175, 0.3);
|
|
149
223
|
--duro-color-info-text: #1e40af;
|
|
224
|
+
--duro-color-inverse-border: rgba(0, 0, 0, 0.55);
|
|
225
|
+
--duro-color-inverse-border-hover: rgba(0, 0, 0, 0.70);
|
|
226
|
+
--duro-color-inverse-fill: rgba(0, 0, 0, 0.10);
|
|
227
|
+
--duro-color-inverse-fill-hover: rgba(0, 0, 0, 0.18);
|
|
228
|
+
--duro-color-scrim: rgba(0, 0, 0, 0.4);
|
|
150
229
|
--duro-color-success: #166534;
|
|
151
230
|
--duro-color-success-bg: rgba(22, 101, 52, 0.08);
|
|
152
231
|
--duro-color-success-border: rgba(22, 101, 52, 0.3);
|
|
@@ -179,10 +258,16 @@
|
|
|
179
258
|
--duro-color-error-contrast: #000000;
|
|
180
259
|
--duro-color-error-hover: #fca5a5;
|
|
181
260
|
--duro-color-error-text: #fca5a5;
|
|
261
|
+
--duro-color-fixed-light: #ffffff;
|
|
182
262
|
--duro-color-info: #60a5fa;
|
|
183
263
|
--duro-color-info-bg: rgba(96, 165, 250, 0.15);
|
|
184
264
|
--duro-color-info-border: rgba(96, 165, 250, 0.5);
|
|
185
265
|
--duro-color-info-text: #bfdbfe;
|
|
266
|
+
--duro-color-inverse-border: rgba(0, 0, 0, 0.55);
|
|
267
|
+
--duro-color-inverse-border-hover: rgba(0, 0, 0, 0.70);
|
|
268
|
+
--duro-color-inverse-fill: rgba(0, 0, 0, 0.10);
|
|
269
|
+
--duro-color-inverse-fill-hover: rgba(0, 0, 0, 0.18);
|
|
270
|
+
--duro-color-scrim: rgba(0, 0, 0, 0.4);
|
|
186
271
|
--duro-color-success: #4ade80;
|
|
187
272
|
--duro-color-success-bg: rgba(74, 222, 128, 0.15);
|
|
188
273
|
--duro-color-success-border: rgba(74, 222, 128, 0.5);
|