@vinyasa/tokens 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,6 +1,108 @@
1
1
  import { createContext, useContext, useEffect, useMemo, useRef } from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { assignInlineVars } from "@vanilla-extract/dynamic";
4
+ const duskBrand = {
5
+ light: {
6
+ normal: {
7
+ primary: '#4B2E8C',
8
+ onPrimary: '#FFFFFF',
9
+ focus: '#4B2E8C',
10
+ tertiary: '#EEE9F9',
11
+ onTertiary: '#4B2E8C'
12
+ },
13
+ high: {
14
+ primary: '#37206B',
15
+ onPrimary: '#FFFFFF',
16
+ focus: '#37206B',
17
+ tertiary: '#EEE9F9',
18
+ onTertiary: '#37206B'
19
+ }
20
+ },
21
+ dark: {
22
+ normal: {
23
+ primary: '#B49BEA',
24
+ onPrimary: '#1A1425',
25
+ focus: '#B49BEA',
26
+ tertiary: '#2E2648',
27
+ onTertiary: '#B49BEA'
28
+ },
29
+ high: {
30
+ primary: '#CBB8F2',
31
+ onPrimary: '#1A1425',
32
+ focus: '#CBB8F2',
33
+ tertiary: '#2E2648',
34
+ onTertiary: '#CBB8F2'
35
+ }
36
+ }
37
+ };
38
+ const sunriseBrand = {
39
+ light: {
40
+ normal: {
41
+ primary: '#FF5A2B',
42
+ onPrimary: '#2A1206',
43
+ focus: '#B8380C',
44
+ tertiary: '#FFE9DF',
45
+ onTertiary: '#B8380C'
46
+ },
47
+ high: {
48
+ primary: '#8F2C08',
49
+ onPrimary: '#FFFFFF',
50
+ focus: '#8F2C08',
51
+ tertiary: '#FFE9DF',
52
+ onTertiary: '#8F2C08'
53
+ }
54
+ },
55
+ dark: {
56
+ normal: {
57
+ primary: '#FF8354',
58
+ onPrimary: '#200E05',
59
+ focus: '#FF8354',
60
+ tertiary: '#3D2113',
61
+ onTertiary: '#FF8354'
62
+ },
63
+ high: {
64
+ primary: '#FFA47C',
65
+ onPrimary: '#200E05',
66
+ focus: '#FFA47C',
67
+ tertiary: '#3D2113',
68
+ onTertiary: '#FFA47C'
69
+ }
70
+ }
71
+ };
72
+ const yellowBrand = {
73
+ light: {
74
+ normal: {
75
+ primary: '#EAB308',
76
+ onPrimary: '#422006',
77
+ focus: '#854D0E',
78
+ tertiary: '#FEF9C3',
79
+ onTertiary: '#854D0E'
80
+ },
81
+ high: {
82
+ primary: '#713F12',
83
+ onPrimary: '#FFFFFF',
84
+ focus: '#713F12',
85
+ tertiary: '#FEF9C3',
86
+ onTertiary: '#713F12'
87
+ }
88
+ },
89
+ dark: {
90
+ normal: {
91
+ primary: '#FDE047',
92
+ onPrimary: '#422006',
93
+ focus: '#FACC15',
94
+ tertiary: '#3F2D07',
95
+ onTertiary: '#FDE047'
96
+ },
97
+ high: {
98
+ primary: '#FEF08A',
99
+ onPrimary: '#422006',
100
+ focus: '#FEF08A',
101
+ tertiary: '#3F2D07',
102
+ onTertiary: '#FEF08A'
103
+ }
104
+ }
105
+ };
4
106
  var themeContract = {
5
107
  primary: 'var(--vinyasa-primary)',
6
108
  onPrimary: 'var(--vinyasa-on-primary)',
@@ -28,10 +130,15 @@ var themeContract = {
28
130
  space4: 'var(--vinyasa-space4)',
29
131
  space5: 'var(--vinyasa-space5)',
30
132
  space6: 'var(--vinyasa-space6)',
133
+ space7: 'var(--vinyasa-space7)',
134
+ space8: 'var(--vinyasa-space8)',
135
+ radiusXs: 'var(--vinyasa-radius-xs)',
31
136
  radiusSm: 'var(--vinyasa-radius-sm)',
32
137
  radiusMd: 'var(--vinyasa-radius-md)',
138
+ radiusLg: 'var(--vinyasa-radius-lg)',
33
139
  radiusFull: 'var(--vinyasa-radius-full)',
34
140
  borderWidthThin: 'var(--vinyasa-border-width-thin)',
141
+ borderWidthThick: 'var(--vinyasa-border-width-thick)',
35
142
  borderColorDefault: 'var(--vinyasa-border-color-default)',
36
143
  fontFamilySans: 'var(--vinyasa-font-family-sans)',
37
144
  fontFamilyMono: 'var(--vinyasa-font-family-mono)',
@@ -85,46 +192,26 @@ const focusRingStyle = (vars)=>({
85
192
  borderColor: vars.focus,
86
193
  boxShadow: `0 0 0 1px ${vars.focus}, 0 0 0 4px color-mix(in srgb, ${vars.focus} 16%, transparent)`
87
194
  });
88
- const dusk = {
89
- tint: '#EEE9F9',
90
- 600: '#4B2E8C',
91
- 700: '#37206B',
92
- onDusk: '#FFFFFF'
93
- };
94
- const moss = {
95
- tint: '#E4EEE8',
96
- 700: '#3F6650',
97
- 800: '#3B604B',
98
- 900: '#385B47'
99
- };
100
- const ember = {
101
- tint: '#F7E7E1',
102
- 600: '#A64B2A',
103
- 700: '#8E4024',
104
- 800: '#863C22',
105
- onEmber: '#FFFFFF'
106
- };
107
- const saffron = {
108
- tint: '#F5EBDD',
109
- 700: '#A15C1F',
110
- 800: '#834B19',
111
- 900: '#7C4717'
112
- };
113
- const space = {
114
- 1: '0.25rem',
115
- 2: '0.5rem',
116
- 3: '0.625rem',
117
- 4: '1rem',
118
- 5: '1.25rem',
119
- 6: '1.5rem'
195
+ const borderWidth = {
196
+ thin: '1px',
197
+ thick: '2px'
120
198
  };
121
199
  const radius = {
200
+ xs: '0.125rem',
122
201
  sm: '0.25rem',
123
202
  md: '0.5rem',
203
+ lg: '0.75rem',
124
204
  full: '9999px'
125
205
  };
126
- const borderWidth = {
127
- thin: '1px'
206
+ const spacing_spacing = {
207
+ 1: '0.25rem',
208
+ 2: '0.5rem',
209
+ 3: '0.75rem',
210
+ 4: '1rem',
211
+ 5: '1.5rem',
212
+ 6: '2rem',
213
+ 7: '3rem',
214
+ 8: '4rem'
128
215
  };
129
216
  const fontFamily = {
130
217
  sans: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
@@ -174,7 +261,7 @@ const opacity = {
174
261
  disabled: '0.5',
175
262
  hover: '0.92'
176
263
  };
177
- const primitives_blur = {
264
+ const base_blur = {
178
265
  sm: '4px',
179
266
  md: '8px',
180
267
  lg: '16px'
@@ -187,16 +274,21 @@ const zIndex = {
187
274
  tooltip: '1400'
188
275
  };
189
276
  const base_base = {
190
- space1: space["1"],
191
- space2: space["2"],
192
- space3: space["3"],
193
- space4: space["4"],
194
- space5: space["5"],
195
- space6: space["6"],
277
+ space1: spacing_spacing["1"],
278
+ space2: spacing_spacing["2"],
279
+ space3: spacing_spacing["3"],
280
+ space4: spacing_spacing["4"],
281
+ space5: spacing_spacing["5"],
282
+ space6: spacing_spacing["6"],
283
+ space7: spacing_spacing["7"],
284
+ space8: spacing_spacing["8"],
285
+ radiusXs: radius.xs,
196
286
  radiusSm: radius.sm,
197
287
  radiusMd: radius.md,
288
+ radiusLg: radius.lg,
198
289
  radiusFull: radius.full,
199
290
  borderWidthThin: borderWidth.thin,
291
+ borderWidthThick: borderWidth.thick,
200
292
  fontFamilySans: fontFamily.sans,
201
293
  fontFamilyMono: fontFamily.mono,
202
294
  fontSizeXs: fontSize.xs,
@@ -204,9 +296,9 @@ const base_base = {
204
296
  fontSizeMd: fontSize.md,
205
297
  fontSizeLg: fontSize.lg,
206
298
  fontSizeXl: fontSize.xl,
207
- fontSize2xl: fontSize["2xl"],
208
- fontSize3xl: fontSize["3xl"],
209
- fontSize4xl: fontSize["4xl"],
299
+ fontSize2xl: fontSize['2xl'],
300
+ fontSize3xl: fontSize['3xl'],
301
+ fontSize4xl: fontSize['4xl'],
210
302
  fontWeightRegular: fontWeight.regular,
211
303
  fontWeightMedium: fontWeight.medium,
212
304
  fontWeightSemibold: fontWeight.semibold,
@@ -229,221 +321,102 @@ const base_base = {
229
321
  focusRingOffset: focusRing.offset,
230
322
  opacityDisabled: opacity.disabled,
231
323
  opacityHover: opacity.hover,
232
- blurSm: primitives_blur.sm,
233
- blurMd: primitives_blur.md,
234
- blurLg: primitives_blur.lg,
324
+ blurSm: base_blur.sm,
325
+ blurMd: base_blur.md,
326
+ blurLg: base_blur.lg,
235
327
  zIndexDropdown: zIndex.dropdown,
236
328
  zIndexOverlay: zIndex.overlay,
237
329
  zIndexModal: zIndex.modal,
238
330
  zIndexToast: zIndex.toast,
239
331
  zIndexTooltip: zIndex.tooltip
240
332
  };
241
- const stone = {
242
- 50: '#FAFAFC',
243
- 100: '#F6F5F8',
244
- 200: '#E3E0EA',
245
- 300: '#CFCADC',
246
- 400: '#A79DBE',
247
- 500: '#7C7191',
248
- 600: '#5C5470',
249
- 700: '#4A4458',
250
- 800: '#332E40',
251
- 900: '#1E1A28'
252
- };
253
- const paper = '#FFFFFF';
254
- const shadow = {
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
- };
333
+ const accent = duskBrand.light.normal;
334
+ const accentHigh = duskBrand.light.high;
259
335
  const lightTheme = {
260
336
  ...base_base,
261
- primary: dusk["600"],
262
- onPrimary: dusk.onDusk,
263
- secondary: stone[200],
264
- onSecondary: stone[900],
265
- surface: paper,
266
- tertiary: dusk.tint,
267
- onTertiary: dusk["600"],
268
- error: ember["600"],
269
- onError: ember.onEmber,
270
- focus: dusk["600"],
271
- textDefault: stone[900],
272
- textMuted: stone[700],
273
- statusInfoBg: dusk.tint,
274
- statusInfoText: dusk["600"],
275
- statusSuccessBg: moss.tint,
276
- statusSuccessText: moss["700"],
277
- statusWarningBg: saffron.tint,
278
- statusWarningText: saffron["700"],
279
- statusErrorBg: ember.tint,
280
- statusErrorText: ember["600"],
281
- borderColorDefault: stone[200],
282
- shadowSm: shadow.sm,
283
- shadowMd: shadow.md,
284
- shadowLg: shadow.lg,
285
- elevationRaised: shadow.sm,
286
- elevationOverlay: shadow.md,
287
- elevationModal: shadow.lg
337
+ primary: accent.primary,
338
+ onPrimary: accent.onPrimary,
339
+ secondary: '#E5E5E5',
340
+ onSecondary: '#171717',
341
+ surface: '#FFFFFF',
342
+ tertiary: accent.tertiary,
343
+ onTertiary: accent.onTertiary,
344
+ error: '#A64B2A',
345
+ onError: '#FFFFFF',
346
+ focus: accent.focus,
347
+ textDefault: '#171717',
348
+ textMuted: '#404040',
349
+ statusInfoBg: '#EEE9F9',
350
+ statusInfoText: '#4B2E8C',
351
+ statusSuccessBg: '#E4EEE8',
352
+ statusSuccessText: '#3F6650',
353
+ statusWarningBg: '#F5EBDD',
354
+ statusWarningText: '#A15C1F',
355
+ statusErrorBg: '#F7E7E1',
356
+ statusErrorText: '#A64B2A',
357
+ borderColorDefault: '#E5E5E5',
358
+ shadowSm: '0 1px 1px rgba(0, 0, 0, 0.06)',
359
+ shadowMd: '0 1px 2px rgba(0, 0, 0, 0.05), 0 8px 20px -8px rgba(0, 0, 0, 0.18)',
360
+ shadowLg: '0 2px 4px rgba(0, 0, 0, 0.06), 0 16px 40px -12px rgba(0, 0, 0, 0.28)',
361
+ elevationRaised: '0 1px 1px rgba(0, 0, 0, 0.06)',
362
+ elevationOverlay: '0 1px 2px rgba(0, 0, 0, 0.05), 0 8px 20px -8px rgba(0, 0, 0, 0.18)',
363
+ elevationModal: '0 2px 4px rgba(0, 0, 0, 0.06), 0 16px 40px -12px rgba(0, 0, 0, 0.28)'
288
364
  };
289
365
  const lightHighContrastTheme = {
290
366
  ...lightTheme,
291
- primary: dusk["700"],
292
- onTertiary: dusk["700"],
293
- focus: dusk["700"],
294
- error: ember["700"],
295
- statusErrorText: ember["700"],
296
- statusWarningText: saffron["800"],
297
- statusSuccessText: moss["800"],
298
- borderColorDefault: stone[600]
367
+ primary: accentHigh.primary,
368
+ onTertiary: accentHigh.onTertiary,
369
+ focus: accentHigh.focus,
370
+ error: '#8E4024',
371
+ statusErrorText: '#8E4024',
372
+ statusWarningText: '#834B19',
373
+ statusSuccessText: '#3B604B',
374
+ borderColorDefault: '#525252'
299
375
  };
300
376
  const createTheme = (overrides = {})=>({
301
377
  ...lightTheme,
302
378
  ...overrides
303
379
  });
304
- const stoneDark = {
305
- 50: '#100E17',
306
- 100: '#161320',
307
- 200: '#221C30',
308
- 300: '#362E4C',
309
- 400: '#493D64',
310
- 500: '#7C7191',
311
- 600: '#B9B3CB',
312
- 700: '#D6D2E0',
313
- 800: '#E9E7EF',
314
- 900: '#F1EFF5'
315
- };
316
- const paperDark = stoneDark[200];
317
- const duskDark = {
318
- tint: '#2E2648',
319
- 600: '#B49BEA',
320
- 700: '#CBB8F2',
321
- onDusk: '#1A1425'
322
- };
323
- const mossDark = {
324
- tint: '#22332A',
325
- 700: '#7FB89A'
326
- };
327
- const emberDark = {
328
- tint: '#3A281F',
329
- 600: '#E08D6D',
330
- 700: '#E3977A',
331
- onEmber: '#2A1208'
332
- };
333
- const saffronDark = {
334
- tint: '#3A2F1B',
335
- 700: '#D9A15C'
336
- };
337
- const shadowDark = {
338
- sm: '0 1px 1px rgba(0, 0, 0, 0.45)',
339
- md: '0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)',
340
- lg: '0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)'
341
- };
380
+ const dark_accent = duskBrand.dark.normal;
381
+ const dark_accentHigh = duskBrand.dark.high;
342
382
  const darkTheme = {
343
383
  ...base_base,
344
- primary: duskDark[600],
345
- onPrimary: duskDark.onDusk,
346
- secondary: stoneDark[300],
347
- onSecondary: stoneDark[900],
348
- surface: paperDark,
349
- tertiary: duskDark.tint,
350
- onTertiary: duskDark[600],
351
- error: emberDark[600],
352
- onError: emberDark.onEmber,
353
- focus: duskDark[600],
354
- textDefault: stoneDark[900],
355
- textMuted: stoneDark[600],
356
- statusInfoBg: duskDark.tint,
357
- statusInfoText: duskDark[600],
358
- statusSuccessBg: mossDark.tint,
359
- statusSuccessText: mossDark[700],
360
- statusWarningBg: saffronDark.tint,
361
- statusWarningText: saffronDark[700],
362
- statusErrorBg: emberDark.tint,
363
- statusErrorText: emberDark[600],
364
- borderColorDefault: stoneDark[300],
365
- shadowSm: shadowDark.sm,
366
- shadowMd: shadowDark.md,
367
- shadowLg: shadowDark.lg,
368
- elevationRaised: shadowDark.sm,
369
- elevationOverlay: shadowDark.md,
370
- elevationModal: shadowDark.lg
384
+ primary: dark_accent.primary,
385
+ onPrimary: dark_accent.onPrimary,
386
+ secondary: '#2E2E2E',
387
+ onSecondary: '#FAFAFA',
388
+ surface: '#1F1F1F',
389
+ tertiary: dark_accent.tertiary,
390
+ onTertiary: dark_accent.onTertiary,
391
+ error: '#E08D6D',
392
+ onError: '#2A1208',
393
+ focus: dark_accent.focus,
394
+ textDefault: '#FAFAFA',
395
+ textMuted: '#A3A3A3',
396
+ statusInfoBg: '#2E2648',
397
+ statusInfoText: '#B49BEA',
398
+ statusSuccessBg: '#22332A',
399
+ statusSuccessText: '#7FB89A',
400
+ statusWarningBg: '#3A2F1B',
401
+ statusWarningText: '#D9A15C',
402
+ statusErrorBg: '#3A281F',
403
+ statusErrorText: '#E08D6D',
404
+ borderColorDefault: '#2E2E2E',
405
+ shadowSm: '0 1px 1px rgba(0, 0, 0, 0.45)',
406
+ shadowMd: '0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)',
407
+ shadowLg: '0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)',
408
+ elevationRaised: '0 1px 1px rgba(0, 0, 0, 0.45)',
409
+ elevationOverlay: '0 1px 2px rgba(0, 0, 0, 0.35), 0 8px 20px -8px rgba(0, 0, 0, 0.55)',
410
+ elevationModal: '0 2px 4px rgba(0, 0, 0, 0.4), 0 16px 40px -12px rgba(0, 0, 0, 0.65)'
371
411
  };
372
412
  const darkHighContrastTheme = {
373
413
  ...darkTheme,
374
- primary: duskDark[700],
375
- onTertiary: duskDark[700],
376
- focus: duskDark[700],
377
- error: emberDark[700],
378
- statusErrorText: emberDark[700],
379
- borderColorDefault: stoneDark[600]
380
- };
381
- const sand = {
382
- 50: '#FFFBF5',
383
- 100: '#FDF0E1',
384
- 200: '#F0D9BC',
385
- 300: '#DEBB8C',
386
- 400: '#BE8F58',
387
- 500: '#8F6A3F',
388
- 600: '#6B4F30',
389
- 700: '#523D26',
390
- 800: '#382A1A',
391
- 900: '#221A10'
392
- };
393
- const paperSand = '#FFF8F0';
394
- const sunrise = {
395
- tint: '#FFE9DF',
396
- 600: '#FF5A2B',
397
- 700: '#B8380C',
398
- 800: '#8F2C08',
399
- onSunrise: '#2A1206'
400
- };
401
- const shadowSand = {
402
- sm: '0 1px 1px rgba(60, 30, 10, 0.06)',
403
- md: '0 1px 2px rgba(60, 30, 10, 0.05), 0 8px 20px -8px rgba(90, 40, 10, 0.18)',
404
- lg: '0 2px 4px rgba(60, 30, 10, 0.06), 0 16px 40px -12px rgba(90, 40, 10, 0.28)'
405
- };
406
- const orangeTheme = {
407
- ...base_base,
408
- primary: sunrise[600],
409
- onPrimary: sunrise.onSunrise,
410
- secondary: sand[200],
411
- onSecondary: sand[900],
412
- surface: paperSand,
413
- tertiary: sunrise.tint,
414
- onTertiary: sunrise[700],
415
- error: ember["600"],
416
- onError: ember.onEmber,
417
- focus: sunrise[700],
418
- textDefault: sand[900],
419
- textMuted: sand[700],
420
- statusInfoBg: dusk.tint,
421
- statusInfoText: dusk["600"],
422
- statusSuccessBg: moss.tint,
423
- statusSuccessText: moss["700"],
424
- statusWarningBg: saffron.tint,
425
- statusWarningText: saffron["700"],
426
- statusErrorBg: ember.tint,
427
- statusErrorText: ember["600"],
428
- borderColorDefault: sand[200],
429
- shadowSm: shadowSand.sm,
430
- shadowMd: shadowSand.md,
431
- shadowLg: shadowSand.lg,
432
- elevationRaised: shadowSand.sm,
433
- elevationOverlay: shadowSand.md,
434
- elevationModal: shadowSand.lg
435
- };
436
- const orangeHighContrastTheme = {
437
- ...orangeTheme,
438
- primary: sunrise[800],
439
- onPrimary: '#FFFFFF',
440
- onTertiary: sunrise[800],
441
- focus: sunrise[800],
442
- error: ember["800"],
443
- statusErrorText: ember["800"],
444
- statusWarningText: saffron["900"],
445
- statusSuccessText: moss["900"],
446
- borderColorDefault: sand[600]
414
+ primary: dark_accentHigh.primary,
415
+ onTertiary: dark_accentHigh.onTertiary,
416
+ focus: dark_accentHigh.focus,
417
+ error: '#E3977A',
418
+ statusErrorText: '#E3977A',
419
+ borderColorDefault: '#A3A3A3'
447
420
  };
448
421
  const themes = {
449
422
  light: {
@@ -453,10 +426,6 @@ const themes = {
453
426
  dark: {
454
427
  normal: darkTheme,
455
428
  high: darkHighContrastTheme
456
- },
457
- orange: {
458
- normal: orangeTheme,
459
- high: orangeHighContrastTheme
460
429
  }
461
430
  };
462
431
  const resolveBaseTheme = (colorScheme, contrast)=>{
@@ -473,7 +442,9 @@ const comfortableSpacing = {
473
442
  space3: base_base.space3,
474
443
  space4: base_base.space4,
475
444
  space5: base_base.space5,
476
- space6: base_base.space6
445
+ space6: base_base.space6,
446
+ space7: base_base.space7,
447
+ space8: base_base.space8
477
448
  };
478
449
  const compactSpacing = {
479
450
  space1: '0.125rem',
@@ -481,15 +452,19 @@ const compactSpacing = {
481
452
  space3: '0.5rem',
482
453
  space4: '0.75rem',
483
454
  space5: '1rem',
484
- space6: '1.125rem'
455
+ space6: '1.5rem',
456
+ space7: '2rem',
457
+ space8: '2.5rem'
485
458
  };
486
459
  const spaciousSpacing = {
487
460
  space1: '0.375rem',
488
461
  space2: '0.75rem',
489
- space3: '0.875rem',
462
+ space3: '1rem',
490
463
  space4: '1.5rem',
491
- space5: '1.875rem',
492
- space6: '2.25rem'
464
+ space5: '2rem',
465
+ space6: '3rem',
466
+ space7: '4rem',
467
+ space8: '6rem'
493
468
  };
494
469
  const density_densitySpacing = {
495
470
  compact: compactSpacing,
@@ -540,24 +515,37 @@ const useThemedRef = (ref)=>{
540
515
  return mergeRefs(ref, innerRef);
541
516
  };
542
517
  var resetScope = '_1k07u5u0';
518
+ const brands = {
519
+ dusk: duskBrand,
520
+ sunrise: sunriseBrand,
521
+ yellow: yellowBrand
522
+ };
543
523
  const ThemeContext = /*#__PURE__*/ createContext(lightTheme);
544
524
  const useVinyasaTheme = ()=>useContext(ThemeContext);
545
- const VinyasaProvider = ({ theme, colorScheme = 'light', contrast = 'normal', density = 'comfortable', children })=>{
525
+ const VinyasaProvider = ({ theme, colorScheme = 'light', brand = 'dusk', contrast = 'normal', density = 'comfortable', children })=>{
546
526
  const base = useMemo(()=>resolveBaseTheme(colorScheme, contrast), [
547
527
  colorScheme,
548
528
  contrast
549
529
  ]);
530
+ const brandAccent = useMemo(()=>brands[brand][colorScheme][contrast], [
531
+ brand,
532
+ colorScheme,
533
+ contrast
534
+ ]);
550
535
  const densitySpacing = useMemo(()=>resolveDensitySpacing(density), [
551
536
  density
552
537
  ]);
538
+ const themeOverride = theme?.[colorScheme]?.[contrast];
553
539
  const resolvedTheme = useMemo(()=>({
554
540
  ...base,
541
+ ...brandAccent,
555
542
  ...densitySpacing,
556
- ...theme
543
+ ...themeOverride
557
544
  }), [
558
545
  base,
546
+ brandAccent,
559
547
  densitySpacing,
560
- theme
548
+ themeOverride
561
549
  ]);
562
550
  const cssVars = useMemo(()=>assignInlineVars(themeContract, resolvedTheme), [
563
551
  resolvedTheme
@@ -572,10 +560,11 @@ const VinyasaProvider = ({ theme, colorScheme = 'light', contrast = 'normal', de
572
560
  className: resetScope,
573
561
  style: style,
574
562
  "data-vinyasa-color-scheme": colorScheme,
563
+ "data-vinyasa-brand": brand,
575
564
  "data-vinyasa-contrast": contrast,
576
565
  "data-vinyasa-density": density,
577
566
  children: children
578
567
  })
579
568
  });
580
569
  };
581
- export { VinyasaProvider, breakpoints, createTheme, darkHighContrastTheme, darkTheme, focusRingStyle, grid, lightHighContrastTheme, lightTheme, orangeHighContrastTheme, orangeTheme, resolveBaseTheme, resolveDensitySpacing, themeContract, useAssertVinyasaProvider, useThemedRef, useVinyasaTheme };
570
+ export { VinyasaProvider, breakpoints, createTheme, darkHighContrastTheme, darkTheme, duskBrand, focusRingStyle, grid, lightHighContrastTheme, lightTheme, resolveBaseTheme, resolveDensitySpacing, sunriseBrand, themeContract, useAssertVinyasaProvider, useThemedRef, useVinyasaTheme, yellowBrand };
@@ -0,0 +1,7 @@
1
+ export declare const radius: {
2
+ readonly xs: "0.125rem";
3
+ readonly sm: "0.25rem";
4
+ readonly md: "0.5rem";
5
+ readonly lg: "0.75rem";
6
+ readonly full: "9999px";
7
+ };
@@ -0,0 +1,3 @@
1
+ export declare const shadowLevels: readonly ["sm", "md", "lg"];
2
+ export type ShadowLevel = (typeof shadowLevels)[number];
3
+ export declare const elevationLevel: Record<'raised' | 'overlay' | 'modal', ShadowLevel>;
@@ -0,0 +1,10 @@
1
+ export declare const spacing: {
2
+ readonly 1: "0.25rem";
3
+ readonly 2: "0.5rem";
4
+ readonly 3: "0.75rem";
5
+ readonly 4: "1rem";
6
+ readonly 5: "1.5rem";
7
+ readonly 6: "2rem";
8
+ readonly 7: "3rem";
9
+ readonly 8: "4rem";
10
+ };
@@ -25,10 +25,15 @@ export interface VinyasaTheme {
25
25
  space4: string;
26
26
  space5: string;
27
27
  space6: string;
28
+ space7: string;
29
+ space8: string;
30
+ radiusXs: string;
28
31
  radiusSm: string;
29
32
  radiusMd: string;
33
+ radiusLg: string;
30
34
  radiusFull: string;
31
35
  borderWidthThin: string;
36
+ borderWidthThick: string;
32
37
  borderColorDefault: string;
33
38
  fontFamilySans: string;
34
39
  fontFamilyMono: string;
@@ -80,14 +85,19 @@ export interface VinyasaTheme {
80
85
  export declare const base: {
81
86
  readonly space1: "0.25rem";
82
87
  readonly space2: "0.5rem";
83
- readonly space3: "0.625rem";
88
+ readonly space3: "0.75rem";
84
89
  readonly space4: "1rem";
85
- readonly space5: "1.25rem";
86
- readonly space6: "1.5rem";
90
+ readonly space5: "1.5rem";
91
+ readonly space6: "2rem";
92
+ readonly space7: "3rem";
93
+ readonly space8: "4rem";
94
+ readonly radiusXs: "0.125rem";
87
95
  readonly radiusSm: "0.25rem";
88
96
  readonly radiusMd: "0.5rem";
97
+ readonly radiusLg: "0.75rem";
89
98
  readonly radiusFull: "9999px";
90
99
  readonly borderWidthThin: "1px";
100
+ readonly borderWidthThick: "2px";
91
101
  readonly fontFamilySans: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif";
92
102
  readonly fontFamilyMono: "'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace";
93
103
  readonly fontSizeXs: "0.75rem";