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