@vinyasa/tokens 1.0.21 → 1.0.22

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.
@@ -31,7 +31,9 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  VinyasaProvider: ()=>VinyasaProvider,
32
32
  breakpoints: ()=>breakpoints,
33
33
  createTheme: ()=>createTheme,
34
+ darkTheme: ()=>darkTheme,
34
35
  defaultTheme: ()=>defaultTheme,
36
+ focusRingStyle: ()=>focusRingStyle,
35
37
  grid: ()=>grid,
36
38
  resolveBaseTheme: ()=>resolveBaseTheme,
37
39
  resolveDensitySpacing: ()=>resolveDensitySpacing,
@@ -43,6 +45,7 @@ var themeContract = {
43
45
  onPrimary: 'var(--vinyasa-on-primary)',
44
46
  secondary: 'var(--vinyasa-secondary)',
45
47
  onSecondary: 'var(--vinyasa-on-secondary)',
48
+ surface: 'var(--vinyasa-surface)',
46
49
  tertiary: 'var(--vinyasa-tertiary)',
47
50
  onTertiary: 'var(--vinyasa-on-tertiary)',
48
51
  error: 'var(--vinyasa-error)',
@@ -115,37 +118,74 @@ var themeContract = {
115
118
  zIndexToast: 'var(--vinyasa-z-index-toast)',
116
119
  zIndexTooltip: 'var(--vinyasa-z-index-tooltip)'
117
120
  };
118
- const gray = {
119
- 50: '#f9fafb',
120
- 100: '#f3f4f6',
121
- 200: '#e5e7eb',
122
- 300: '#d1d5db',
123
- 400: '#9ca3af',
124
- 500: '#6b7280',
125
- 600: '#4b5563',
126
- 700: '#374151',
127
- 800: '#1f2937',
128
- 900: '#111827'
129
- };
130
- const blue = {
131
- 100: '#dbeafe',
132
- 500: '#2563eb',
133
- 700: '#1d4ed8'
134
- };
135
- const indigo = {
136
- 600: '#4f46e5'
137
- };
138
- const red = {
139
- 100: '#fee2e2',
140
- 600: '#dc2626'
141
- };
142
- const green = {
143
- 100: '#dcfce7',
144
- 700: '#15803d'
145
- };
146
- const amber = {
147
- 100: '#fef3c7',
148
- 700: '#b45309'
121
+ const focusRingStyle = (vars)=>({
122
+ outline: 'none',
123
+ borderColor: vars.focus,
124
+ boxShadow: `0 0 0 1px ${vars.focus}, 0 0 0 4px color-mix(in srgb, ${vars.focus} 16%, transparent)`
125
+ });
126
+ const stone = {
127
+ 50: '#FAFAFC',
128
+ 100: '#F6F5F8',
129
+ 200: '#E3E0EA',
130
+ 300: '#CFCADC',
131
+ 400: '#A79DBE',
132
+ 500: '#7C7191',
133
+ 600: '#5C5470',
134
+ 700: '#4A4458',
135
+ 800: '#332E40',
136
+ 900: '#1E1A28'
137
+ };
138
+ const stoneDark = {
139
+ 50: '#100E17',
140
+ 100: '#161320',
141
+ 200: '#221C30',
142
+ 300: '#362E4C',
143
+ 400: '#493D64',
144
+ 500: '#7C7191',
145
+ 600: '#B9B3CB',
146
+ 700: '#D6D2E0',
147
+ 800: '#E9E7EF',
148
+ 900: '#F1EFF5'
149
+ };
150
+ const paper = '#FFFFFF';
151
+ const paperDark = stoneDark[200];
152
+ const dusk = {
153
+ tint: '#EEE9F9',
154
+ 600: '#4B2E8C',
155
+ 700: '#37206B',
156
+ onDusk: '#FFFFFF'
157
+ };
158
+ const duskDark = {
159
+ tint: '#2E2648',
160
+ 600: '#B49BEA',
161
+ 700: '#CBB8F2',
162
+ onDusk: '#1A1425'
163
+ };
164
+ const moss = {
165
+ tint: '#E4EEE8',
166
+ 700: '#3F6650'
167
+ };
168
+ const mossDark = {
169
+ tint: '#22332A',
170
+ 700: '#7FB89A'
171
+ };
172
+ const ember = {
173
+ tint: '#F7E7E1',
174
+ 600: '#A64B2A',
175
+ onEmber: '#FFFFFF'
176
+ };
177
+ const emberDark = {
178
+ tint: '#3A281F',
179
+ 600: '#E08D6D',
180
+ onEmber: '#2A1208'
181
+ };
182
+ const saffron = {
183
+ tint: '#F5EBDD',
184
+ 700: '#A15C1F'
185
+ };
186
+ const saffronDark = {
187
+ tint: '#3A2F1B',
188
+ 700: '#D9A15C'
149
189
  };
150
190
  const space = {
151
191
  1: '0.25rem',
@@ -164,8 +204,8 @@ const borderWidth = {
164
204
  thin: '1px'
165
205
  };
166
206
  const fontFamily = {
167
- sans: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
168
- mono: "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace"
207
+ sans: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
208
+ mono: "'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace"
169
209
  };
170
210
  const fontSize = {
171
211
  xs: '0.75rem',
@@ -212,9 +252,14 @@ const opacity = {
212
252
  hover: '0.92'
213
253
  };
214
254
  const shadow = {
215
- sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
216
- md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',
217
- lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)'
255
+ sm: '0 1px 1px rgba(30, 20, 50, 0.06)',
256
+ md: '0 1px 2px rgba(30, 20, 50, 0.05), 0 8px 20px -8px rgba(43, 26, 90, 0.18)',
257
+ lg: '0 2px 4px rgba(30, 20, 50, 0.06), 0 16px 40px -12px rgba(43, 26, 90, 0.28)'
258
+ };
259
+ const shadowDark = {
260
+ sm: '0 1px 1px rgba(0, 0, 0, 0.45)',
261
+ md: '0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)',
262
+ lg: '0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)'
218
263
  };
219
264
  const primitives_blur = {
220
265
  sm: '4px',
@@ -251,25 +296,26 @@ function _object_spread(target) {
251
296
  }
252
297
  return target;
253
298
  }
254
- const defaultTheme = {
255
- primary: indigo["600"],
256
- onPrimary: '#ffffff',
257
- secondary: gray["100"],
258
- onSecondary: gray["900"],
259
- tertiary: blue["100"],
260
- onTertiary: blue["700"],
261
- error: red["600"],
262
- onError: '#ffffff',
263
- focus: blue["500"],
264
- textMuted: gray["500"],
265
- statusInfoBg: blue["100"],
266
- statusInfoText: blue["700"],
267
- statusSuccessBg: green["100"],
268
- statusSuccessText: green["700"],
269
- statusWarningBg: amber["100"],
270
- statusWarningText: amber["700"],
271
- statusErrorBg: red["100"],
272
- statusErrorText: red["600"],
299
+ function theme_ownKeys(object, enumerableOnly) {
300
+ var keys = Object.keys(object);
301
+ if (Object.getOwnPropertySymbols) {
302
+ var symbols = Object.getOwnPropertySymbols(object);
303
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
304
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
305
+ });
306
+ keys.push.apply(keys, symbols);
307
+ }
308
+ return keys;
309
+ }
310
+ function _object_spread_props(target, source) {
311
+ source = null != source ? source : {};
312
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
313
+ else theme_ownKeys(Object(source)).forEach(function(key) {
314
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
315
+ });
316
+ return target;
317
+ }
318
+ const structural = {
273
319
  space1: space["1"],
274
320
  space2: space["2"],
275
321
  space3: space["3"],
@@ -280,7 +326,6 @@ const defaultTheme = {
280
326
  radiusMd: radius.md,
281
327
  radiusFull: radius.full,
282
328
  borderWidthThin: borderWidth.thin,
283
- borderColorDefault: gray["200"],
284
329
  fontFamilySans: fontFamily.sans,
285
330
  fontFamilyMono: fontFamily.mono,
286
331
  fontSizeXs: fontSize.xs,
@@ -313,12 +358,6 @@ const defaultTheme = {
313
358
  focusRingOffset: focusRing.offset,
314
359
  opacityDisabled: opacity.disabled,
315
360
  opacityHover: opacity.hover,
316
- shadowSm: shadow.sm,
317
- shadowMd: shadow.md,
318
- shadowLg: shadow.lg,
319
- elevationRaised: shadow.sm,
320
- elevationOverlay: shadow.md,
321
- elevationModal: shadow.lg,
322
361
  blurSm: primitives_blur.sm,
323
362
  blurMd: primitives_blur.md,
324
363
  blurLg: primitives_blur.lg,
@@ -328,10 +367,69 @@ const defaultTheme = {
328
367
  zIndexToast: zIndex.toast,
329
368
  zIndexTooltip: zIndex.tooltip
330
369
  };
370
+ const defaultTheme = _object_spread_props(_object_spread({}, structural), {
371
+ primary: dusk["600"],
372
+ onPrimary: dusk.onDusk,
373
+ secondary: stone["200"],
374
+ onSecondary: stone["900"],
375
+ surface: paper,
376
+ tertiary: dusk.tint,
377
+ onTertiary: dusk["600"],
378
+ error: ember["600"],
379
+ onError: ember.onEmber,
380
+ focus: dusk["600"],
381
+ textMuted: stone["700"],
382
+ statusInfoBg: dusk.tint,
383
+ statusInfoText: dusk["600"],
384
+ statusSuccessBg: moss.tint,
385
+ statusSuccessText: moss["700"],
386
+ statusWarningBg: saffron.tint,
387
+ statusWarningText: saffron["700"],
388
+ statusErrorBg: ember.tint,
389
+ statusErrorText: ember["600"],
390
+ borderColorDefault: stone["200"],
391
+ shadowSm: shadow.sm,
392
+ shadowMd: shadow.md,
393
+ shadowLg: shadow.lg,
394
+ elevationRaised: shadow.sm,
395
+ elevationOverlay: shadow.md,
396
+ elevationModal: shadow.lg
397
+ });
398
+ const darkTheme = _object_spread_props(_object_spread({}, structural), {
399
+ primary: duskDark["600"],
400
+ onPrimary: duskDark.onDusk,
401
+ secondary: stoneDark["300"],
402
+ onSecondary: stoneDark["900"],
403
+ surface: paperDark,
404
+ tertiary: duskDark.tint,
405
+ onTertiary: duskDark["600"],
406
+ error: emberDark["600"],
407
+ onError: emberDark.onEmber,
408
+ focus: duskDark["600"],
409
+ textMuted: stoneDark["600"],
410
+ statusInfoBg: duskDark.tint,
411
+ statusInfoText: duskDark["600"],
412
+ statusSuccessBg: mossDark.tint,
413
+ statusSuccessText: mossDark["700"],
414
+ statusWarningBg: saffronDark.tint,
415
+ statusWarningText: saffronDark["700"],
416
+ statusErrorBg: emberDark.tint,
417
+ statusErrorText: emberDark["600"],
418
+ borderColorDefault: stoneDark["300"],
419
+ shadowSm: shadowDark.sm,
420
+ shadowMd: shadowDark.md,
421
+ shadowLg: shadowDark.lg,
422
+ elevationRaised: shadowDark.sm,
423
+ elevationOverlay: shadowDark.md,
424
+ elevationModal: shadowDark.lg
425
+ });
331
426
  const createTheme = (overrides = {})=>_object_spread({}, defaultTheme, overrides);
332
427
  const themes = {
333
428
  light: {
334
429
  normal: defaultTheme
430
+ },
431
+ dark: {
432
+ normal: darkTheme
335
433
  }
336
434
  };
337
435
  const resolveBaseTheme = (colorScheme, contrast)=>{
@@ -433,7 +531,9 @@ const VinyasaProvider = ({ theme, colorScheme = 'light', contrast = 'normal', de
433
531
  exports.VinyasaProvider = __webpack_exports__.VinyasaProvider;
434
532
  exports.breakpoints = __webpack_exports__.breakpoints;
435
533
  exports.createTheme = __webpack_exports__.createTheme;
534
+ exports.darkTheme = __webpack_exports__.darkTheme;
436
535
  exports.defaultTheme = __webpack_exports__.defaultTheme;
536
+ exports.focusRingStyle = __webpack_exports__.focusRingStyle;
437
537
  exports.grid = __webpack_exports__.grid;
438
538
  exports.resolveBaseTheme = __webpack_exports__.resolveBaseTheme;
439
539
  exports.resolveDensitySpacing = __webpack_exports__.resolveDensitySpacing;
@@ -443,7 +543,9 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
443
543
  "VinyasaProvider",
444
544
  "breakpoints",
445
545
  "createTheme",
546
+ "darkTheme",
446
547
  "defaultTheme",
548
+ "focusRingStyle",
447
549
  "grid",
448
550
  "resolveBaseTheme",
449
551
  "resolveDensitySpacing",
@@ -3,6 +3,7 @@ export declare const themeContract: {
3
3
  onPrimary: `var(--${string})`;
4
4
  secondary: `var(--${string})`;
5
5
  onSecondary: `var(--${string})`;
6
+ surface: `var(--${string})`;
6
7
  tertiary: `var(--${string})`;
7
8
  onTertiary: `var(--${string})`;
8
9
  error: `var(--${string})`;
@@ -0,0 +1,8 @@
1
+ import type { themeContract } from './contract.css';
2
+ type ThemeVars = typeof themeContract;
3
+ export declare const focusRingStyle: (vars: ThemeVars) => {
4
+ outline: string;
5
+ borderColor: `var(--${string})`;
6
+ boxShadow: string;
7
+ };
8
+ export {};
@@ -1,5 +1,6 @@
1
1
  export { themeContract } from './contract.css';
2
- export { createTheme, defaultTheme, type VinyasaTheme } from './theme';
2
+ export { focusRingStyle } from './focusRing';
3
+ export { createTheme, darkTheme, defaultTheme, type VinyasaTheme } from './theme';
3
4
  export { resolveBaseTheme, type ColorScheme, type Contrast } from './themes';
4
5
  export { resolveDensitySpacing, type Density } from './density';
5
6
  export { breakpoints, grid } from './layout';
package/dist/esm/index.js CHANGED
@@ -6,6 +6,7 @@ var themeContract = {
6
6
  onPrimary: 'var(--vinyasa-on-primary)',
7
7
  secondary: 'var(--vinyasa-secondary)',
8
8
  onSecondary: 'var(--vinyasa-on-secondary)',
9
+ surface: 'var(--vinyasa-surface)',
9
10
  tertiary: 'var(--vinyasa-tertiary)',
10
11
  onTertiary: 'var(--vinyasa-on-tertiary)',
11
12
  error: 'var(--vinyasa-error)',
@@ -78,37 +79,74 @@ var themeContract = {
78
79
  zIndexToast: 'var(--vinyasa-z-index-toast)',
79
80
  zIndexTooltip: 'var(--vinyasa-z-index-tooltip)'
80
81
  };
81
- const gray = {
82
- 50: '#f9fafb',
83
- 100: '#f3f4f6',
84
- 200: '#e5e7eb',
85
- 300: '#d1d5db',
86
- 400: '#9ca3af',
87
- 500: '#6b7280',
88
- 600: '#4b5563',
89
- 700: '#374151',
90
- 800: '#1f2937',
91
- 900: '#111827'
92
- };
93
- const blue = {
94
- 100: '#dbeafe',
95
- 500: '#2563eb',
96
- 700: '#1d4ed8'
97
- };
98
- const indigo = {
99
- 600: '#4f46e5'
100
- };
101
- const red = {
102
- 100: '#fee2e2',
103
- 600: '#dc2626'
104
- };
105
- const green = {
106
- 100: '#dcfce7',
107
- 700: '#15803d'
108
- };
109
- const amber = {
110
- 100: '#fef3c7',
111
- 700: '#b45309'
82
+ const focusRingStyle = (vars)=>({
83
+ outline: 'none',
84
+ borderColor: vars.focus,
85
+ boxShadow: `0 0 0 1px ${vars.focus}, 0 0 0 4px color-mix(in srgb, ${vars.focus} 16%, transparent)`
86
+ });
87
+ const stone = {
88
+ 50: '#FAFAFC',
89
+ 100: '#F6F5F8',
90
+ 200: '#E3E0EA',
91
+ 300: '#CFCADC',
92
+ 400: '#A79DBE',
93
+ 500: '#7C7191',
94
+ 600: '#5C5470',
95
+ 700: '#4A4458',
96
+ 800: '#332E40',
97
+ 900: '#1E1A28'
98
+ };
99
+ const stoneDark = {
100
+ 50: '#100E17',
101
+ 100: '#161320',
102
+ 200: '#221C30',
103
+ 300: '#362E4C',
104
+ 400: '#493D64',
105
+ 500: '#7C7191',
106
+ 600: '#B9B3CB',
107
+ 700: '#D6D2E0',
108
+ 800: '#E9E7EF',
109
+ 900: '#F1EFF5'
110
+ };
111
+ const paper = '#FFFFFF';
112
+ const paperDark = stoneDark[200];
113
+ const dusk = {
114
+ tint: '#EEE9F9',
115
+ 600: '#4B2E8C',
116
+ 700: '#37206B',
117
+ onDusk: '#FFFFFF'
118
+ };
119
+ const duskDark = {
120
+ tint: '#2E2648',
121
+ 600: '#B49BEA',
122
+ 700: '#CBB8F2',
123
+ onDusk: '#1A1425'
124
+ };
125
+ const moss = {
126
+ tint: '#E4EEE8',
127
+ 700: '#3F6650'
128
+ };
129
+ const mossDark = {
130
+ tint: '#22332A',
131
+ 700: '#7FB89A'
132
+ };
133
+ const ember = {
134
+ tint: '#F7E7E1',
135
+ 600: '#A64B2A',
136
+ onEmber: '#FFFFFF'
137
+ };
138
+ const emberDark = {
139
+ tint: '#3A281F',
140
+ 600: '#E08D6D',
141
+ onEmber: '#2A1208'
142
+ };
143
+ const saffron = {
144
+ tint: '#F5EBDD',
145
+ 700: '#A15C1F'
146
+ };
147
+ const saffronDark = {
148
+ tint: '#3A2F1B',
149
+ 700: '#D9A15C'
112
150
  };
113
151
  const space = {
114
152
  1: '0.25rem',
@@ -127,8 +165,8 @@ const borderWidth = {
127
165
  thin: '1px'
128
166
  };
129
167
  const fontFamily = {
130
- sans: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
131
- mono: "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace"
168
+ sans: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
169
+ mono: "'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace"
132
170
  };
133
171
  const fontSize = {
134
172
  xs: '0.75rem',
@@ -175,9 +213,14 @@ const opacity = {
175
213
  hover: '0.92'
176
214
  };
177
215
  const shadow = {
178
- sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
179
- md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',
180
- lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)'
216
+ sm: '0 1px 1px rgba(30, 20, 50, 0.06)',
217
+ md: '0 1px 2px rgba(30, 20, 50, 0.05), 0 8px 20px -8px rgba(43, 26, 90, 0.18)',
218
+ lg: '0 2px 4px rgba(30, 20, 50, 0.06), 0 16px 40px -12px rgba(43, 26, 90, 0.28)'
219
+ };
220
+ const shadowDark = {
221
+ sm: '0 1px 1px rgba(0, 0, 0, 0.45)',
222
+ md: '0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)',
223
+ lg: '0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)'
181
224
  };
182
225
  const primitives_blur = {
183
226
  sm: '4px',
@@ -191,25 +234,7 @@ const zIndex = {
191
234
  toast: '1300',
192
235
  tooltip: '1400'
193
236
  };
194
- const defaultTheme = {
195
- primary: indigo["600"],
196
- onPrimary: '#ffffff',
197
- secondary: gray["100"],
198
- onSecondary: gray["900"],
199
- tertiary: blue["100"],
200
- onTertiary: blue["700"],
201
- error: red["600"],
202
- onError: '#ffffff',
203
- focus: blue["500"],
204
- textMuted: gray["500"],
205
- statusInfoBg: blue["100"],
206
- statusInfoText: blue["700"],
207
- statusSuccessBg: green["100"],
208
- statusSuccessText: green["700"],
209
- statusWarningBg: amber["100"],
210
- statusWarningText: amber["700"],
211
- statusErrorBg: red["100"],
212
- statusErrorText: red["600"],
237
+ const structural = {
213
238
  space1: space["1"],
214
239
  space2: space["2"],
215
240
  space3: space["3"],
@@ -220,7 +245,6 @@ const defaultTheme = {
220
245
  radiusMd: radius.md,
221
246
  radiusFull: radius.full,
222
247
  borderWidthThin: borderWidth.thin,
223
- borderColorDefault: gray["200"],
224
248
  fontFamilySans: fontFamily.sans,
225
249
  fontFamilyMono: fontFamily.mono,
226
250
  fontSizeXs: fontSize.xs,
@@ -253,12 +277,6 @@ const defaultTheme = {
253
277
  focusRingOffset: focusRing.offset,
254
278
  opacityDisabled: opacity.disabled,
255
279
  opacityHover: opacity.hover,
256
- shadowSm: shadow.sm,
257
- shadowMd: shadow.md,
258
- shadowLg: shadow.lg,
259
- elevationRaised: shadow.sm,
260
- elevationOverlay: shadow.md,
261
- elevationModal: shadow.lg,
262
280
  blurSm: primitives_blur.sm,
263
281
  blurMd: primitives_blur.md,
264
282
  blurLg: primitives_blur.lg,
@@ -268,6 +286,64 @@ const defaultTheme = {
268
286
  zIndexToast: zIndex.toast,
269
287
  zIndexTooltip: zIndex.tooltip
270
288
  };
289
+ const defaultTheme = {
290
+ ...structural,
291
+ primary: dusk["600"],
292
+ onPrimary: dusk.onDusk,
293
+ secondary: stone["200"],
294
+ onSecondary: stone["900"],
295
+ surface: paper,
296
+ tertiary: dusk.tint,
297
+ onTertiary: dusk["600"],
298
+ error: ember["600"],
299
+ onError: ember.onEmber,
300
+ focus: dusk["600"],
301
+ textMuted: stone["700"],
302
+ statusInfoBg: dusk.tint,
303
+ statusInfoText: dusk["600"],
304
+ statusSuccessBg: moss.tint,
305
+ statusSuccessText: moss["700"],
306
+ statusWarningBg: saffron.tint,
307
+ statusWarningText: saffron["700"],
308
+ statusErrorBg: ember.tint,
309
+ statusErrorText: ember["600"],
310
+ borderColorDefault: stone["200"],
311
+ shadowSm: shadow.sm,
312
+ shadowMd: shadow.md,
313
+ shadowLg: shadow.lg,
314
+ elevationRaised: shadow.sm,
315
+ elevationOverlay: shadow.md,
316
+ elevationModal: shadow.lg
317
+ };
318
+ const darkTheme = {
319
+ ...structural,
320
+ primary: duskDark["600"],
321
+ onPrimary: duskDark.onDusk,
322
+ secondary: stoneDark["300"],
323
+ onSecondary: stoneDark["900"],
324
+ surface: paperDark,
325
+ tertiary: duskDark.tint,
326
+ onTertiary: duskDark["600"],
327
+ error: emberDark["600"],
328
+ onError: emberDark.onEmber,
329
+ focus: duskDark["600"],
330
+ textMuted: stoneDark["600"],
331
+ statusInfoBg: duskDark.tint,
332
+ statusInfoText: duskDark["600"],
333
+ statusSuccessBg: mossDark.tint,
334
+ statusSuccessText: mossDark["700"],
335
+ statusWarningBg: saffronDark.tint,
336
+ statusWarningText: saffronDark["700"],
337
+ statusErrorBg: emberDark.tint,
338
+ statusErrorText: emberDark["600"],
339
+ borderColorDefault: stoneDark["300"],
340
+ shadowSm: shadowDark.sm,
341
+ shadowMd: shadowDark.md,
342
+ shadowLg: shadowDark.lg,
343
+ elevationRaised: shadowDark.sm,
344
+ elevationOverlay: shadowDark.md,
345
+ elevationModal: shadowDark.lg
346
+ };
271
347
  const createTheme = (overrides = {})=>({
272
348
  ...defaultTheme,
273
349
  ...overrides
@@ -275,6 +351,9 @@ const createTheme = (overrides = {})=>({
275
351
  const themes = {
276
352
  light: {
277
353
  normal: defaultTheme
354
+ },
355
+ dark: {
356
+ normal: darkTheme
278
357
  }
279
358
  };
280
359
  const resolveBaseTheme = (colorScheme, contrast)=>{
@@ -351,4 +430,4 @@ const VinyasaProvider = ({ theme, colorScheme = 'light', contrast = 'normal', de
351
430
  })
352
431
  });
353
432
  };
354
- export { VinyasaProvider, breakpoints, createTheme, defaultTheme, grid, resolveBaseTheme, resolveDensitySpacing, themeContract, useVinyasaTheme };
433
+ export { VinyasaProvider, breakpoints, createTheme, darkTheme, defaultTheme, focusRingStyle, grid, resolveBaseTheme, resolveDensitySpacing, themeContract, useVinyasaTheme };
@@ -1,34 +1,78 @@
1
- export declare const gray: {
2
- readonly 50: "#f9fafb";
3
- readonly 100: "#f3f4f6";
4
- readonly 200: "#e5e7eb";
5
- readonly 300: "#d1d5db";
6
- readonly 400: "#9ca3af";
7
- readonly 500: "#6b7280";
8
- readonly 600: "#4b5563";
9
- readonly 700: "#374151";
10
- readonly 800: "#1f2937";
11
- readonly 900: "#111827";
12
- };
13
- export declare const blue: {
14
- readonly 100: "#dbeafe";
15
- readonly 500: "#2563eb";
16
- readonly 700: "#1d4ed8";
17
- };
18
- export declare const indigo: {
19
- readonly 600: "#4f46e5";
20
- };
21
- export declare const red: {
22
- readonly 100: "#fee2e2";
23
- readonly 600: "#dc2626";
24
- };
25
- export declare const green: {
26
- readonly 100: "#dcfce7";
27
- readonly 700: "#15803d";
28
- };
29
- export declare const amber: {
30
- readonly 100: "#fef3c7";
31
- readonly 700: "#b45309";
1
+ export declare const stone: {
2
+ readonly 50: "#FAFAFC";
3
+ readonly 100: "#F6F5F8";
4
+ readonly 200: "#E3E0EA";
5
+ readonly 300: "#CFCADC";
6
+ readonly 400: "#A79DBE";
7
+ readonly 500: "#7C7191";
8
+ readonly 600: "#5C5470";
9
+ readonly 700: "#4A4458";
10
+ readonly 800: "#332E40";
11
+ readonly 900: "#1E1A28";
12
+ };
13
+ export declare const stoneDark: {
14
+ readonly 50: "#100E17";
15
+ readonly 100: "#161320";
16
+ readonly 200: "#221C30";
17
+ readonly 300: "#362E4C";
18
+ readonly 400: "#493D64";
19
+ readonly 500: "#7C7191";
20
+ readonly 600: "#B9B3CB";
21
+ readonly 700: "#D6D2E0";
22
+ readonly 800: "#E9E7EF";
23
+ readonly 900: "#F1EFF5";
24
+ };
25
+ export declare const paper = "#FFFFFF";
26
+ export declare const paperDark: "#221C30";
27
+ export declare const dusk: {
28
+ readonly tint: "#EEE9F9";
29
+ readonly 600: "#4B2E8C";
30
+ readonly 700: "#37206B";
31
+ readonly onDusk: "#FFFFFF";
32
+ };
33
+ export declare const duskDark: {
34
+ readonly tint: "#2E2648";
35
+ readonly 600: "#B49BEA";
36
+ readonly 700: "#CBB8F2";
37
+ readonly onDusk: "#1A1425";
38
+ };
39
+ export declare const sunrise: {
40
+ readonly tint: "#FFE9DF";
41
+ readonly 600: "#FF5A2B";
42
+ readonly 700: "#E64719";
43
+ readonly onSunrise: "#2A1206";
44
+ };
45
+ export declare const sunriseDark: {
46
+ readonly tint: "#3D2113";
47
+ readonly 600: "#FF8354";
48
+ readonly 700: "#FFA47C";
49
+ readonly onSunrise: "#200E05";
50
+ };
51
+ export declare const moss: {
52
+ readonly tint: "#E4EEE8";
53
+ readonly 700: "#3F6650";
54
+ };
55
+ export declare const mossDark: {
56
+ readonly tint: "#22332A";
57
+ readonly 700: "#7FB89A";
58
+ };
59
+ export declare const ember: {
60
+ readonly tint: "#F7E7E1";
61
+ readonly 600: "#A64B2A";
62
+ readonly onEmber: "#FFFFFF";
63
+ };
64
+ export declare const emberDark: {
65
+ readonly tint: "#3A281F";
66
+ readonly 600: "#E08D6D";
67
+ readonly onEmber: "#2A1208";
68
+ };
69
+ export declare const saffron: {
70
+ readonly tint: "#F5EBDD";
71
+ readonly 700: "#A15C1F";
72
+ };
73
+ export declare const saffronDark: {
74
+ readonly tint: "#3A2F1B";
75
+ readonly 700: "#D9A15C";
32
76
  };
33
77
  export declare const space: {
34
78
  readonly 1: "0.25rem";
@@ -47,8 +91,8 @@ export declare const borderWidth: {
47
91
  readonly thin: "1px";
48
92
  };
49
93
  export declare const fontFamily: {
50
- readonly sans: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif";
51
- readonly mono: "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace";
94
+ readonly sans: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif";
95
+ readonly mono: "'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace";
52
96
  };
53
97
  export declare const fontSize: {
54
98
  readonly xs: "0.75rem";
@@ -95,9 +139,14 @@ export declare const opacity: {
95
139
  readonly hover: "0.92";
96
140
  };
97
141
  export declare const shadow: {
98
- readonly sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
99
- readonly md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)";
100
- readonly lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)";
142
+ readonly sm: "0 1px 1px rgba(30, 20, 50, 0.06)";
143
+ readonly md: "0 1px 2px rgba(30, 20, 50, 0.05), 0 8px 20px -8px rgba(43, 26, 90, 0.18)";
144
+ readonly lg: "0 2px 4px rgba(30, 20, 50, 0.06), 0 16px 40px -12px rgba(43, 26, 90, 0.28)";
145
+ };
146
+ export declare const shadowDark: {
147
+ readonly sm: "0 1px 1px rgba(0, 0, 0, 0.45)";
148
+ readonly md: "0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)";
149
+ readonly lg: "0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)";
101
150
  };
102
151
  export declare const blur: {
103
152
  readonly sm: "4px";
@@ -3,6 +3,7 @@ export interface VinyasaTheme {
3
3
  onPrimary: string;
4
4
  secondary: string;
5
5
  onSecondary: string;
6
+ surface: string;
6
7
  tertiary: string;
7
8
  onTertiary: string;
8
9
  error: string;
@@ -76,4 +77,5 @@ export interface VinyasaTheme {
76
77
  zIndexTooltip: string;
77
78
  }
78
79
  export declare const defaultTheme: VinyasaTheme;
80
+ export declare const darkTheme: VinyasaTheme;
79
81
  export declare const createTheme: (overrides?: Partial<VinyasaTheme>) => VinyasaTheme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vinyasa/tokens",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": [