@astryxdesign/theme-stone 0.7.3 → 0.7.4-canary.31e54e4
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/README.md +42 -5
- package/dist/source.d.ts +1 -1
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +201 -235
- package/dist/source.mjs +201 -235
- package/dist/stone.d.ts +2 -2
- package/dist/stone.js +134 -134
- package/dist/stoneColorMapping.test.d.ts +2 -0
- package/dist/stoneColorMapping.test.d.ts.map +1 -0
- package/dist/stonePaletteRefs.generated.d.ts +158 -0
- package/dist/stonePaletteRefs.generated.d.ts.map +1 -0
- package/dist/stonePalettes.generated.d.ts +496 -0
- package/dist/stonePalettes.generated.d.ts.map +1 -0
- package/dist/stonePalettes.test.d.ts +2 -0
- package/dist/stonePalettes.test.d.ts.map +1 -0
- package/dist/stoneTheme.d.ts +5 -3
- package/dist/stoneTheme.d.ts.map +1 -1
- package/dist/theme.css +134 -134
- package/dist/theme.css.d.ts +2 -2
- package/package.json +6 -5
- package/palette.config.json +262 -0
- package/src/source.ts +1 -1
- package/src/stoneColorMapping.test.ts +44 -0
- package/src/stonePaletteRefs.generated.ts +51 -0
- package/src/stonePalettes.generated.receipt.json +840 -0
- package/src/stonePalettes.generated.ts +501 -0
- package/src/stonePalettes.test.ts +87 -0
- package/src/stoneTheme.test.ts +124 -1
- package/src/stoneTheme.ts +190 -207
package/dist/source.mjs
CHANGED
|
@@ -70,58 +70,88 @@ var stoneIconRegistry = {
|
|
|
70
70
|
microphone: /* @__PURE__ */ jsx(Mic, { ...iconProps })
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
// src/stonePaletteRefs.generated.ts
|
|
74
|
+
var stonePaletteRefs = {
|
|
75
|
+
green: {
|
|
76
|
+
light: { 30: "#354f31", 55: "#609757", 85: "#bfdfbb", 90: "#d2eccf" },
|
|
77
|
+
dark: { 25: "#2f412c", 35: "#3e5d38", 70: "#90ba8a", 80: "#b3d0af", 90: "#d5e9d2" }
|
|
78
|
+
},
|
|
79
|
+
yellow: {
|
|
80
|
+
light: { 30: "#524818", 40: "#736419", 55: "#a08c36", 85: "#e7d3a4", 90: "#f4e1b7" },
|
|
81
|
+
dark: { 25: "#433b1b", 35: "#615620", 70: "#c2af6e", 80: "#d9c794", 90: "#f1e1b9" }
|
|
82
|
+
},
|
|
83
|
+
red: {
|
|
84
|
+
light: { 30: "#603c37", 40: "#745752", 60: "#a98984", 85: "#f0cac4", 90: "#fbdad4" },
|
|
85
|
+
dark: { 25: "#50332e", 35: "#684a45", 70: "#c6a29c", 80: "#e0bdb8", 90: "#f7dbd7" }
|
|
86
|
+
},
|
|
87
|
+
purple: {
|
|
88
|
+
light: { 30: "#4c405b", 40: "#635a70", 85: "#d9cfea", 90: "#e7def5" },
|
|
89
|
+
dark: { 25: "#3f374c", 35: "#574e64", 70: "#b0a5c0", 90: "#e6def3" }
|
|
90
|
+
},
|
|
91
|
+
teal: {
|
|
92
|
+
light: { 30: "#2c4f44", 40: "#40675c", 85: "#c3dbd2", 90: "#d4e8e1" },
|
|
93
|
+
dark: { 25: "#274239", 35: "#3a5b50", 70: "#94b3a9", 90: "#d6e7e1" }
|
|
94
|
+
},
|
|
95
|
+
neutral: {
|
|
96
|
+
light: { 0: "#000000", 15: "#25252a", 30: "#46464e", 40: "#5f5f64", 55: "#848489", 85: "#d4d3dd", 90: "#e2e2e8", 95: "#f0f0f7", 100: "#ffffff" },
|
|
97
|
+
dark: { 0: "#000000", 5: "#101018", 10: "#1b1b21", 15: "#25252a", 20: "#302f36", 25: "#3a3a42", 35: "#525159", 40: "#5e5e64", 65: "#9d9ea5", 70: "#ababb3", 90: "#e2e2e8", 95: "#f0f0f9", 100: "#ffffff" }
|
|
98
|
+
},
|
|
99
|
+
orange: {
|
|
100
|
+
dark: { 25: "#4e3522", 35: "#684c34", 70: "#c9a382", 90: "#ffdcbb" },
|
|
101
|
+
light: { 30: "#5e3f27", 85: "#f2cdaa", 90: "#ffdcbb" }
|
|
102
|
+
},
|
|
103
|
+
blue: {
|
|
104
|
+
light: { 30: "#344861", 40: "#516074", 85: "#c2d6f1", 90: "#d3e4fc" },
|
|
105
|
+
dark: { 25: "#2c3c52", 35: "#445469", 70: "#9aadc7", 90: "#d5e4f8" }
|
|
106
|
+
},
|
|
107
|
+
cyan: {
|
|
108
|
+
light: { 30: "#264d57", 85: "#badbe4", 90: "#cbe9f0" },
|
|
109
|
+
dark: { 25: "#234048", 35: "#345761", 90: "#cfe8ee" }
|
|
110
|
+
},
|
|
111
|
+
pink: {
|
|
112
|
+
light: { 30: "#5a3c4f", 85: "#e9cadc", 90: "#f5d9ea" },
|
|
113
|
+
dark: { 25: "#4b3242", 35: "#624a59", 90: "#f2dbe8" }
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
73
117
|
// src/stoneTheme.ts
|
|
118
|
+
var { blue, cyan, green, neutral, orange, pink, purple, red, teal, yellow } = stonePaletteRefs;
|
|
119
|
+
var lightDark = (light, dark) => `light-dark(${light}, ${dark})`;
|
|
120
|
+
var withAlpha = (color, alpha) => `${color}${alpha}`;
|
|
74
121
|
var INPUT_STATUS_VARS = {
|
|
75
122
|
"status:success": {
|
|
76
|
-
"--color-success":
|
|
77
|
-
// Green T60 / T70
|
|
123
|
+
"--color-success": lightDark(green.light[55], green.dark[70])
|
|
78
124
|
},
|
|
79
125
|
"status:warning": {
|
|
80
|
-
"--color-warning":
|
|
81
|
-
// Yellow T60 / T70
|
|
126
|
+
"--color-warning": lightDark(yellow.light[55], yellow.dark[70])
|
|
82
127
|
},
|
|
83
128
|
"status:error": {
|
|
84
|
-
"--color-error":
|
|
85
|
-
// Red T60 / T70
|
|
129
|
+
"--color-error": lightDark(red.light[60], red.dark[70])
|
|
86
130
|
}
|
|
87
131
|
};
|
|
88
132
|
var stoneSyntax = defineSyntaxTheme({
|
|
89
133
|
name: "astryx-stone",
|
|
90
134
|
tokens: {
|
|
91
|
-
keyword: [
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
//
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
attribute: ["#79693f", "#b6aa90"],
|
|
112
|
-
// Yellow T45 / T70
|
|
113
|
-
property: ["#4e6357", "#94b2a0"],
|
|
114
|
-
// Teal T40 / T70
|
|
115
|
-
punctuation: ["#5e5e5e", "#ababb0"],
|
|
116
|
-
// Stone Neutral T40 / T70
|
|
117
|
-
background: ["#f3f3f5", "#171719"],
|
|
118
|
-
// Diff rows: the muted green/red at 25% in light and 20% in dark keep
|
|
119
|
-
// every token at or above 4.5:1 on the tint; the markers are the tinted
|
|
120
|
-
// text tokens (8.1:1 light, 8.8:1 dark on their tints).
|
|
121
|
-
added: ["#d0e9ce40", "#b4cdb233"],
|
|
122
|
-
removed: ["#f9dcd740", "#dcc0bc33"],
|
|
123
|
-
"added-marker": ["#374c36", "#d0e9ce"],
|
|
124
|
-
"removed-marker": ["#58413e", "#f9dcd7"]
|
|
135
|
+
keyword: [purple.light[40], purple.dark[70]],
|
|
136
|
+
string: [teal.light[40], green.dark[70]],
|
|
137
|
+
comment: [neutral.light[40], neutral.dark[70]],
|
|
138
|
+
number: [red.light[40], orange.dark[70]],
|
|
139
|
+
function: [blue.light[40], blue.dark[70]],
|
|
140
|
+
type: [purple.light[40], purple.dark[70]],
|
|
141
|
+
variable: [neutral.light[40], neutral.dark[70]],
|
|
142
|
+
operator: [neutral.light[40], neutral.dark[70]],
|
|
143
|
+
constant: [red.light[40], orange.dark[70]],
|
|
144
|
+
tag: [red.light[40], red.dark[70]],
|
|
145
|
+
attribute: [yellow.light[40], yellow.dark[70]],
|
|
146
|
+
property: [teal.light[40], teal.dark[70]],
|
|
147
|
+
punctuation: [neutral.light[40], neutral.dark[70]],
|
|
148
|
+
background: [neutral.light[95], neutral.dark[5]],
|
|
149
|
+
// Translucent diff rows retain each token's contrast while the opaque
|
|
150
|
+
// markers carry the same Green and Red families as their row tint.
|
|
151
|
+
added: [withAlpha(green.light[90], "40"), withAlpha(green.dark[80], "33")],
|
|
152
|
+
removed: [withAlpha(red.light[90], "40"), withAlpha(red.dark[80], "33")],
|
|
153
|
+
"added-marker": [green.light[30], green.dark[90]],
|
|
154
|
+
"removed-marker": [red.light[30], red.dark[90]]
|
|
125
155
|
}
|
|
126
156
|
});
|
|
127
157
|
var SECONDARY_BUTTON = {
|
|
@@ -181,184 +211,132 @@ var stoneTheme = defineTheme({
|
|
|
181
211
|
motion: { fast: 125, medium: 300, slow: 700, ratio: 0.75 },
|
|
182
212
|
syntax: stoneSyntax,
|
|
183
213
|
tokens: {
|
|
184
|
-
//
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
"--color-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"--color-
|
|
195
|
-
|
|
196
|
-
"--color-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
"--color-overlay": [
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
"--color-overlay-pressed": [
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
//
|
|
212
|
-
//
|
|
213
|
-
"--color-text-secondary": [
|
|
214
|
-
|
|
215
|
-
"--color-text-
|
|
216
|
-
|
|
217
|
-
"--color-
|
|
218
|
-
|
|
219
|
-
"--color-on-
|
|
220
|
-
"--color-on-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
"--color-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
"--color-
|
|
230
|
-
|
|
231
|
-
//
|
|
232
|
-
"--color-
|
|
233
|
-
|
|
234
|
-
"--color-
|
|
235
|
-
|
|
236
|
-
"--color-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
"--color-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
"--color-success": ["#374c36", "#b4cdb2"],
|
|
249
|
-
// Green T30 / T80
|
|
250
|
-
"--color-success-muted": ["#d0e9ce", "#b4cdb2"],
|
|
251
|
-
// Green T90 / T80
|
|
252
|
-
"--color-error": ["#58413e", "#dcc0bc"],
|
|
253
|
-
// Red T30 / T80
|
|
254
|
-
"--color-error-muted": ["#f9dcd7", "#dcc0bc"],
|
|
255
|
-
// Red T90 / T80
|
|
256
|
-
"--color-warning": ["#524622", "#d7c59c"],
|
|
257
|
-
// Yellow T30 / T80
|
|
258
|
-
"--color-warning-muted": ["#f4e1b7", "#d7c59c"],
|
|
259
|
-
// Yellow T90 / T80
|
|
260
|
-
// Border — H=291
|
|
261
|
-
"--color-border": ["#e2e2e8", "#f3f3f51a"],
|
|
262
|
-
// light: Stone Neutral T90 / dark: T96 · 10%
|
|
263
|
-
"--color-border-emphasized": ["#83838a", "#5e5e61"],
|
|
264
|
-
// T55 C=4 / T40 C=2
|
|
265
|
-
// Effects — H=291
|
|
266
|
-
"--color-skeleton": ["#d4d4da", "#5e5e64"],
|
|
267
|
-
// T85 / T40 from H=291 C=3
|
|
268
|
-
"--color-shadow": ["#25252a1a", "#0000004d"],
|
|
269
|
-
// light: Stone Neutral T15 · 10% / dark: 30%
|
|
270
|
-
"--color-tint-hover": ["black", "white"],
|
|
214
|
+
// Core neutrals
|
|
215
|
+
"--color-accent": [neutral.light[15], neutral.dark[95]],
|
|
216
|
+
"--color-accent-muted": [
|
|
217
|
+
withAlpha(neutral.light[15], "14"),
|
|
218
|
+
withAlpha(neutral.dark[95], "20")
|
|
219
|
+
],
|
|
220
|
+
"--color-neutral": [
|
|
221
|
+
withAlpha(neutral.light[15], "0f"),
|
|
222
|
+
withAlpha(neutral.dark[95], "1a")
|
|
223
|
+
],
|
|
224
|
+
"--color-background-surface": [neutral.light[100], neutral.dark[10]],
|
|
225
|
+
"--color-background-body": [neutral.light[95], neutral.dark[5]],
|
|
226
|
+
"--color-overlay": [
|
|
227
|
+
withAlpha(neutral.light[15], "80"),
|
|
228
|
+
withAlpha(neutral.dark[15], "cc")
|
|
229
|
+
],
|
|
230
|
+
"--color-overlay-hover": [
|
|
231
|
+
withAlpha(neutral.light[15], "0d"),
|
|
232
|
+
withAlpha(neutral.dark[95], "0d")
|
|
233
|
+
],
|
|
234
|
+
"--color-overlay-pressed": [
|
|
235
|
+
withAlpha(neutral.light[15], "1a"),
|
|
236
|
+
withAlpha(neutral.dark[95], "1a")
|
|
237
|
+
],
|
|
238
|
+
"--color-background-muted": [neutral.light[90], neutral.dark[25]],
|
|
239
|
+
// Text
|
|
240
|
+
"--color-text-primary": [neutral.light[15], neutral.dark[95]],
|
|
241
|
+
// These stops keep normal secondary text readable on Stone's body,
|
|
242
|
+
// muted, and categorical surfaces.
|
|
243
|
+
"--color-text-secondary": [neutral.light[40], neutral.dark[70]],
|
|
244
|
+
"--color-text-disabled": [neutral.light[85], neutral.dark[40]],
|
|
245
|
+
"--color-text-accent": [neutral.light[15], neutral.dark[95]],
|
|
246
|
+
"--color-on-dark": neutral.light[100],
|
|
247
|
+
"--color-on-light": [neutral.light[15], neutral.dark[15]],
|
|
248
|
+
"--color-on-accent": [neutral.light[100], neutral.dark[15]],
|
|
249
|
+
"--color-on-success": [green.light[30], green.dark[90]],
|
|
250
|
+
"--color-on-error": [red.light[30], red.dark[90]],
|
|
251
|
+
"--color-on-warning": [yellow.light[30], yellow.dark[90]],
|
|
252
|
+
// Icon
|
|
253
|
+
"--color-icon-accent": [neutral.light[15], neutral.dark[95]],
|
|
254
|
+
"--color-icon-primary": [neutral.light[15], neutral.dark[95]],
|
|
255
|
+
"--color-icon-secondary": [neutral.light[55], neutral.dark[65]],
|
|
256
|
+
"--color-icon-disabled": [neutral.light[85], neutral.dark[40]],
|
|
257
|
+
// Surface variants
|
|
258
|
+
"--color-background-card": [neutral.light[100], neutral.dark[15]],
|
|
259
|
+
"--color-background-popover": [neutral.light[100], neutral.dark[20]],
|
|
260
|
+
"--color-background-inverted": [neutral.light[15], neutral.dark[95]],
|
|
261
|
+
// Status / sentiment
|
|
262
|
+
"--color-success": [green.light[30], green.dark[80]],
|
|
263
|
+
"--color-success-muted": [green.light[90], green.dark[80]],
|
|
264
|
+
"--color-error": [red.light[30], red.dark[80]],
|
|
265
|
+
"--color-error-muted": [red.light[90], red.dark[80]],
|
|
266
|
+
"--color-warning": [yellow.light[30], yellow.dark[80]],
|
|
267
|
+
"--color-warning-muted": [yellow.light[90], yellow.dark[80]],
|
|
268
|
+
// Border
|
|
269
|
+
"--color-border": [neutral.light[90], withAlpha(neutral.dark[95], "1a")],
|
|
270
|
+
"--color-border-emphasized": [neutral.light[55], neutral.dark[40]],
|
|
271
|
+
// Effects
|
|
272
|
+
"--color-skeleton": [neutral.light[85], neutral.dark[40]],
|
|
273
|
+
"--color-shadow": [
|
|
274
|
+
withAlpha(neutral.light[15], "1a"),
|
|
275
|
+
withAlpha(neutral.dark[0], "4d")
|
|
276
|
+
],
|
|
277
|
+
"--color-tint-hover": [neutral.light[0], neutral.dark[100]],
|
|
271
278
|
// Typography override
|
|
272
279
|
"--text-supporting-size": "12px",
|
|
273
|
-
// Categorical
|
|
274
|
-
//
|
|
275
|
-
//
|
|
276
|
-
//
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
"--color-
|
|
283
|
-
|
|
284
|
-
"--color-
|
|
285
|
-
|
|
286
|
-
"--color-
|
|
287
|
-
|
|
288
|
-
"--color-text-
|
|
289
|
-
|
|
290
|
-
"--color-
|
|
291
|
-
"--color-
|
|
292
|
-
"--color-
|
|
293
|
-
"--color-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
"--color-
|
|
297
|
-
|
|
298
|
-
"--color-border-
|
|
299
|
-
|
|
300
|
-
"--color-
|
|
301
|
-
|
|
302
|
-
"--color-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
"--color-background-
|
|
306
|
-
"--color-border-
|
|
307
|
-
"--color-icon-
|
|
308
|
-
"--color-text-
|
|
309
|
-
|
|
310
|
-
"--color-
|
|
311
|
-
"--color-
|
|
312
|
-
"--color-
|
|
313
|
-
"--color-
|
|
314
|
-
|
|
315
|
-
"--color-
|
|
316
|
-
"--color-
|
|
317
|
-
|
|
318
|
-
"--color-text-pink": ["#52424c", "#f0dde8"],
|
|
319
|
-
// Categorical — Purple H=307 C=11
|
|
320
|
-
"--color-background-purple": ["#e8dff3", "#564f60"],
|
|
321
|
-
"--color-border-purple": ["#d9d1e5", "#3f3949"],
|
|
322
|
-
"--color-icon-purple": ["#4b4454", "#e8dff3"],
|
|
323
|
-
"--color-text-purple": ["#4b4454", "#e8dff3"],
|
|
324
|
-
// Categorical — Red H=33 C=11
|
|
325
|
-
"--color-background-red": ["#f9dcd7", "#644d49"],
|
|
326
|
-
"--color-border-red": ["#ebcec9", "#4c3633"],
|
|
327
|
-
"--color-icon-red": ["#58413e", "#f9dcd7"],
|
|
328
|
-
"--color-text-red": ["#58413e", "#f9dcd7"],
|
|
329
|
-
// Categorical — Teal H=158 C=9
|
|
330
|
-
"--color-background-teal": ["#d4e7dc", "#46564d"],
|
|
331
|
-
"--color-border-teal": ["#c6d9ce", "#303f36"],
|
|
332
|
-
"--color-icon-teal": ["#3b4a41", "#d4e7dc"],
|
|
333
|
-
"--color-text-teal": ["#3b4a41", "#d4e7dc"],
|
|
334
|
-
// Categorical — Yellow H=90 C=23
|
|
335
|
-
"--color-background-yellow": ["#f4e1b7", "#5e512d"],
|
|
336
|
-
"--color-border-yellow": ["#e5d3a9", "#463a18"],
|
|
337
|
-
"--color-icon-yellow": ["#524622", "#f4e1b7"],
|
|
338
|
-
"--color-text-yellow": ["#524622", "#f4e1b7"],
|
|
339
|
-
// =========================================================================
|
|
340
|
-
// Radius — clean and subtle
|
|
341
|
-
// --radius-none and --radius-full are always fixed and must never be
|
|
342
|
-
// scaled by a theme (see defineTheme's radius config docs) — 0 and
|
|
343
|
-
// 9999px respectively, matching @astryxdesign/core's own defaults.
|
|
344
|
-
// =========================================================================
|
|
280
|
+
// Categorical
|
|
281
|
+
// Light mode pairs pastel stop 90 surfaces with stop 30 foregrounds.
|
|
282
|
+
// Dark mode pairs stop 35 surfaces with stop 90 foregrounds; borders move
|
|
283
|
+
// one step inward in both modes.
|
|
284
|
+
"--color-background-blue": [blue.light[90], blue.dark[35]],
|
|
285
|
+
"--color-border-blue": [blue.light[85], blue.dark[25]],
|
|
286
|
+
"--color-icon-blue": [blue.light[30], blue.dark[90]],
|
|
287
|
+
"--color-text-blue": [blue.light[30], blue.dark[90]],
|
|
288
|
+
"--color-background-cyan": [cyan.light[90], cyan.dark[35]],
|
|
289
|
+
"--color-border-cyan": [cyan.light[85], cyan.dark[25]],
|
|
290
|
+
"--color-icon-cyan": [cyan.light[30], cyan.dark[90]],
|
|
291
|
+
"--color-text-cyan": [cyan.light[30], cyan.dark[90]],
|
|
292
|
+
"--color-background-gray": [neutral.light[90], neutral.dark[35]],
|
|
293
|
+
"--color-border-gray": [neutral.light[85], neutral.dark[25]],
|
|
294
|
+
"--color-icon-gray": [neutral.light[30], neutral.dark[90]],
|
|
295
|
+
"--color-text-gray": [neutral.light[30], neutral.dark[90]],
|
|
296
|
+
"--color-background-green": [green.light[90], green.dark[35]],
|
|
297
|
+
"--color-border-green": [green.light[85], green.dark[25]],
|
|
298
|
+
"--color-icon-green": [green.light[30], green.dark[90]],
|
|
299
|
+
"--color-text-green": [green.light[30], green.dark[90]],
|
|
300
|
+
"--color-background-orange": [orange.light[90], orange.dark[35]],
|
|
301
|
+
"--color-border-orange": [orange.light[85], orange.dark[25]],
|
|
302
|
+
"--color-icon-orange": [orange.light[30], orange.dark[90]],
|
|
303
|
+
"--color-text-orange": [orange.light[30], orange.dark[90]],
|
|
304
|
+
"--color-background-pink": [pink.light[90], pink.dark[35]],
|
|
305
|
+
"--color-border-pink": [pink.light[85], pink.dark[25]],
|
|
306
|
+
"--color-icon-pink": [pink.light[30], pink.dark[90]],
|
|
307
|
+
"--color-text-pink": [pink.light[30], pink.dark[90]],
|
|
308
|
+
"--color-background-purple": [purple.light[90], purple.dark[35]],
|
|
309
|
+
"--color-border-purple": [purple.light[85], purple.dark[25]],
|
|
310
|
+
"--color-icon-purple": [purple.light[30], purple.dark[90]],
|
|
311
|
+
"--color-text-purple": [purple.light[30], purple.dark[90]],
|
|
312
|
+
"--color-background-red": [red.light[90], red.dark[35]],
|
|
313
|
+
"--color-border-red": [red.light[85], red.dark[25]],
|
|
314
|
+
"--color-icon-red": [red.light[30], red.dark[90]],
|
|
315
|
+
"--color-text-red": [red.light[30], red.dark[90]],
|
|
316
|
+
"--color-background-teal": [teal.light[90], teal.dark[35]],
|
|
317
|
+
"--color-border-teal": [teal.light[85], teal.dark[25]],
|
|
318
|
+
"--color-icon-teal": [teal.light[30], teal.dark[90]],
|
|
319
|
+
"--color-text-teal": [teal.light[30], teal.dark[90]],
|
|
320
|
+
"--color-background-yellow": [yellow.light[90], yellow.dark[35]],
|
|
321
|
+
"--color-border-yellow": [yellow.light[85], yellow.dark[25]],
|
|
322
|
+
"--color-icon-yellow": [yellow.light[30], yellow.dark[90]],
|
|
323
|
+
"--color-text-yellow": [yellow.light[30], yellow.dark[90]],
|
|
324
|
+
// Radius
|
|
345
325
|
"--radius-none": "0px",
|
|
346
326
|
"--radius-inner": "0.25rem",
|
|
347
327
|
"--radius-element": "0.5rem",
|
|
348
328
|
"--radius-container": "0.75rem",
|
|
349
329
|
"--radius-page": "1.5rem",
|
|
350
330
|
"--radius-full": "9999px",
|
|
351
|
-
// =========================================================================
|
|
352
331
|
// Shadows
|
|
353
|
-
|
|
354
|
-
"--shadow-
|
|
355
|
-
"--shadow-
|
|
356
|
-
"--shadow-
|
|
357
|
-
"--shadow-inset-
|
|
358
|
-
"--shadow-inset-
|
|
359
|
-
"--shadow-inset-
|
|
360
|
-
"--shadow-inset-
|
|
361
|
-
"--shadow-inset-error": "inset 0px 0px 0px 2px #83838a30"
|
|
332
|
+
"--shadow-low": `0 2px 4px ${withAlpha(neutral.light[15], "0d")}, 0 4px 8px ${withAlpha(neutral.light[15], "1a")}`,
|
|
333
|
+
"--shadow-med": `0 2px 4px ${withAlpha(neutral.light[15], "0d")}, 0 4px 12px ${withAlpha(neutral.light[15], "1a")}`,
|
|
334
|
+
"--shadow-high": `0 4px 6px ${withAlpha(neutral.light[15], "1a")}, 0 12px 24px ${withAlpha(neutral.light[15], "26")}`,
|
|
335
|
+
"--shadow-inset-hover": `inset 0 0 0 2px ${withAlpha(neutral.light[15], "30")}`,
|
|
336
|
+
"--shadow-inset-selected": `inset 0 0 0 2px ${withAlpha(neutral.light[15], "50")}`,
|
|
337
|
+
"--shadow-inset-success": `inset 0 0 0 2px ${withAlpha(neutral.light[55], "30")}`,
|
|
338
|
+
"--shadow-inset-warning": `inset 0 0 0 2px ${withAlpha(neutral.light[55], "30")}`,
|
|
339
|
+
"--shadow-inset-error": `inset 0 0 0 2px ${withAlpha(neutral.light[55], "30")}`
|
|
362
340
|
},
|
|
363
341
|
components: {
|
|
364
342
|
button: {
|
|
@@ -371,7 +349,8 @@ var stoneTheme = defineTheme({
|
|
|
371
349
|
color: "var(--color-text-red)"
|
|
372
350
|
}
|
|
373
351
|
},
|
|
374
|
-
//
|
|
352
|
+
// Badges, banners, and field status messages share the categorical
|
|
353
|
+
// surfaces and foregrounds so each semantic state has one visual source.
|
|
375
354
|
badge: {
|
|
376
355
|
"variant:info": {
|
|
377
356
|
backgroundColor: "var(--color-background-blue)",
|
|
@@ -394,10 +373,8 @@ var stoneTheme = defineTheme({
|
|
|
394
373
|
color: "var(--color-text-red)"
|
|
395
374
|
}
|
|
396
375
|
},
|
|
397
|
-
//
|
|
398
|
-
//
|
|
399
|
-
// cascade. Redefine the muted token instead so StyleX's var() resolves
|
|
400
|
-
// to the categorical bg in our scope.
|
|
376
|
+
// Banner surface declarations live above the theme layer, so redirect the
|
|
377
|
+
// semantic variables here instead of attempting a losing direct fill.
|
|
401
378
|
banner: {
|
|
402
379
|
"status:info": {
|
|
403
380
|
"--color-accent-muted": "var(--color-background-blue)",
|
|
@@ -424,45 +401,35 @@ var stoneTheme = defineTheme({
|
|
|
424
401
|
"--color-error": "var(--color-text-red)"
|
|
425
402
|
}
|
|
426
403
|
},
|
|
427
|
-
//
|
|
428
|
-
// the
|
|
429
|
-
// Hexes from the preview Tonal Palettes ramp. accent (default) +
|
|
430
|
-
// indeterminate both route to blue for the in-progress / loading look.
|
|
404
|
+
// Progress fills use the same family as their matching status surface;
|
|
405
|
+
// the darker stop in dark mode keeps the channel visible on dark tracks.
|
|
431
406
|
"progress-bar-fill": {
|
|
432
407
|
"variant:accent": {
|
|
433
|
-
backgroundColor:
|
|
434
|
-
// Blue T90 / T70
|
|
408
|
+
backgroundColor: lightDark(blue.light[90], blue.dark[70])
|
|
435
409
|
},
|
|
436
410
|
"variant:success": {
|
|
437
|
-
backgroundColor:
|
|
438
|
-
// Green T90 / T70
|
|
411
|
+
backgroundColor: lightDark(green.light[90], green.dark[70])
|
|
439
412
|
},
|
|
440
413
|
"variant:warning": {
|
|
441
|
-
backgroundColor:
|
|
442
|
-
// Yellow T90 / T70
|
|
414
|
+
backgroundColor: lightDark(yellow.light[90], yellow.dark[70])
|
|
443
415
|
},
|
|
444
416
|
"variant:error": {
|
|
445
|
-
backgroundColor:
|
|
446
|
-
// Red T90 / T70
|
|
417
|
+
backgroundColor: lightDark(red.light[90], red.dark[70])
|
|
447
418
|
}
|
|
448
419
|
},
|
|
449
|
-
//
|
|
450
|
-
// redirect to --color-skeleton so the channel stays visible.
|
|
420
|
+
// The default muted track is too close to Stone's body surface.
|
|
451
421
|
"progress-bar-track": {
|
|
452
422
|
base: {
|
|
453
423
|
backgroundColor: "var(--color-skeleton)"
|
|
454
424
|
}
|
|
455
425
|
},
|
|
456
|
-
// Switch off-state track
|
|
457
|
-
// Redefine it inside the switch scope to --color-skeleton, matching
|
|
458
|
-
// the ProgressBar track. The on-state reads --color-accent (unaffected);
|
|
459
|
-
// disabled-off also picks up --color-skeleton for consistency.
|
|
426
|
+
// Match the Switch off-state track to the visible ProgressBar track.
|
|
460
427
|
switch: {
|
|
461
428
|
base: {
|
|
462
429
|
"--color-background-gray": "var(--color-skeleton)"
|
|
463
430
|
}
|
|
464
431
|
},
|
|
465
|
-
// FieldStatus
|
|
432
|
+
// FieldStatus surfaces match the corresponding badge and banner family.
|
|
466
433
|
"field-status": {
|
|
467
434
|
"type:success": {
|
|
468
435
|
backgroundColor: "var(--color-background-green)"
|
|
@@ -474,8 +441,7 @@ var stoneTheme = defineTheme({
|
|
|
474
441
|
backgroundColor: "var(--color-background-red)"
|
|
475
442
|
}
|
|
476
443
|
},
|
|
477
|
-
//
|
|
478
|
-
// same softer T60/T70 redirection. See INPUT_STATUS_VARS above.
|
|
444
|
+
// Every input status border and icon uses INPUT_STATUS_VARS above.
|
|
479
445
|
"text-input": INPUT_STATUS_VARS,
|
|
480
446
|
"text-area": INPUT_STATUS_VARS,
|
|
481
447
|
"number-input": INPUT_STATUS_VARS,
|
package/dist/stone.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @generated by `astryx theme build` — do not edit manually.
|
|
3
3
|
* Source: src/stoneTheme.ts
|
|
4
4
|
* Command: astryx theme build src/stoneTheme.ts --out dist/theme.css
|
|
5
|
-
* CLI: @astryxdesign/cli@0.7.
|
|
6
|
-
* Core: @astryxdesign/core@0.7.
|
|
5
|
+
* CLI: @astryxdesign/cli@0.7.4
|
|
6
|
+
* Core: @astryxdesign/core@0.7.4
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import type { DefinedTheme } from '@astryxdesign/core/theme';
|