@vobs/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app-shell-dom.d.ts +24 -0
  3. package/dist/app-shell-dom.js +573 -0
  4. package/dist/app-shell.d.ts +199 -0
  5. package/dist/app-shell.js +370 -0
  6. package/dist/base.css +52 -0
  7. package/dist/calendar-picker.d.ts +45 -0
  8. package/dist/calendar-picker.js +217 -0
  9. package/dist/calendar.d.ts +95 -0
  10. package/dist/calendar.js +194 -0
  11. package/dist/complex-inputs.d.ts +300 -0
  12. package/dist/complex-inputs.js +862 -0
  13. package/dist/components.css +4568 -0
  14. package/dist/data-display.d.ts +1063 -0
  15. package/dist/data-display.js +2298 -0
  16. package/dist/feedback.d.ts +88 -0
  17. package/dist/feedback.js +281 -0
  18. package/dist/forms.d.ts +378 -0
  19. package/dist/forms.js +1015 -0
  20. package/dist/icons-config.d.ts +25 -0
  21. package/dist/icons-config.js +14 -0
  22. package/dist/icons.d.ts +41 -0
  23. package/dist/icons.js +185 -0
  24. package/dist/index.d.ts +22 -0
  25. package/dist/index.js +32 -0
  26. package/dist/locale/en-US.d.ts +31 -0
  27. package/dist/locale/en-US.js +20 -0
  28. package/dist/locale/zh-CN.d.ts +31 -0
  29. package/dist/locale/zh-CN.js +20 -0
  30. package/dist/navigation.d.ts +609 -0
  31. package/dist/navigation.js +1707 -0
  32. package/dist/overlay.d.ts +304 -0
  33. package/dist/overlay.js +969 -0
  34. package/dist/primitives.d.ts +268 -0
  35. package/dist/primitives.js +764 -0
  36. package/dist/styles.css +3 -0
  37. package/dist/theme-data.d.ts +363 -0
  38. package/dist/theme-data.js +374 -0
  39. package/dist/theme.d.ts +79 -0
  40. package/dist/theme.js +262 -0
  41. package/dist/tokens.css +449 -0
  42. package/dist/tree.d.ts +144 -0
  43. package/dist/tree.js +469 -0
  44. package/dist/virtual-list.d.ts +190 -0
  45. package/dist/virtual-list.js +521 -0
  46. package/dist/workbench.d.ts +136 -0
  47. package/dist/workbench.js +156 -0
  48. package/package.json +113 -0
@@ -0,0 +1,3 @@
1
+ @import './tokens.css';
2
+ @import './base.css';
3
+ @import './components.css';
@@ -0,0 +1,363 @@
1
+ /** @license MIT
2
+ * Copyright (c) 2026 vobsjs
3
+ * @vobs/ui
4
+ */
5
+ export declare const DEFAULT_THEME: "dark";
6
+ export declare const DEFAULT_BRAND_ID: "green";
7
+ export declare const DEFAULT_BRAND_COLOR: "#32F08C";
8
+ export type ThemeName = 'dark' | 'light';
9
+ export interface BrandColor {
10
+ readonly id: string;
11
+ readonly label: string;
12
+ readonly color: string;
13
+ }
14
+ export interface BrandColorInput {
15
+ readonly id?: string;
16
+ readonly label?: string;
17
+ readonly color: string;
18
+ }
19
+ export type BrandInput = string | BrandColorInput;
20
+ export declare const brandPresets: readonly [{
21
+ readonly id: "green";
22
+ readonly label: "Nimbus Green";
23
+ readonly color: "#32F08C";
24
+ }, {
25
+ readonly id: "blue";
26
+ readonly label: "Nimbus Blue";
27
+ readonly color: "#80C1FF";
28
+ }, {
29
+ readonly id: "purple";
30
+ readonly label: "Nimbus Purple";
31
+ readonly color: "#8E80FF";
32
+ }, {
33
+ readonly id: "yellow";
34
+ readonly label: "Nimbus Yellow";
35
+ readonly color: "#FFD080";
36
+ }, {
37
+ readonly id: "red";
38
+ readonly label: "Nimbus Red";
39
+ readonly color: "#FF8080";
40
+ }, {
41
+ readonly id: "teal";
42
+ readonly label: "Nimbus Teal";
43
+ readonly color: "#2DD288";
44
+ }, {
45
+ readonly id: "cyan";
46
+ readonly label: "Nimbus Cyan";
47
+ readonly color: "#04CBE5";
48
+ }, {
49
+ readonly id: "violet";
50
+ readonly label: "Nimbus Violet";
51
+ readonly color: "#BFA5FF";
52
+ }, {
53
+ readonly id: "slate";
54
+ readonly label: "Nimbus Slate";
55
+ readonly color: "#AFB9CF";
56
+ }, {
57
+ readonly id: "neutral";
58
+ readonly label: "Nimbus Neutral";
59
+ readonly color: "#BABABA";
60
+ }];
61
+ export declare const primitiveTokenValues: {
62
+ readonly '--radius-2': "2px";
63
+ readonly '--radius-4': "4px";
64
+ readonly '--radius-6': "6px";
65
+ readonly '--radius-8': "8px";
66
+ readonly '--radius-10': "10px";
67
+ readonly '--radius-full': "9999px";
68
+ readonly '--spacer-0': "0px";
69
+ readonly '--spacer-4': "4px";
70
+ readonly '--spacer-6': "6px";
71
+ readonly '--spacer-8': "8px";
72
+ readonly '--spacer-12': "12px";
73
+ readonly '--spacer-16': "16px";
74
+ readonly '--spacer-24': "24px";
75
+ readonly '--spacer-32': "32px";
76
+ readonly '--spacer-40': "40px";
77
+ readonly '--k-icon-xs': "14px";
78
+ readonly '--k-icon-sm': "16px";
79
+ readonly '--k-icon-md': "20px";
80
+ readonly '--k-icon-lg': "24px";
81
+ readonly '--font-family-default': "SF Pro Text";
82
+ readonly '--font-family-heading': "SF Pro";
83
+ readonly '--font-family-mono': "JetBrains Mono";
84
+ readonly '--font-family-base': "var(--font-family-default)";
85
+ readonly '--font-family-heading-alias': "var(--font-family-heading)";
86
+ readonly '--font-family-mono-alias': "var(--font-family-mono)";
87
+ readonly '--body-xs-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
88
+ readonly '--body-xs-font-size': "10px";
89
+ readonly '--body-xs-font-weight': "400";
90
+ readonly '--body-xs-line-height': "14px";
91
+ readonly '--body-sm-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
92
+ readonly '--body-sm-font-size': "11px";
93
+ readonly '--body-sm-font-weight': "400";
94
+ readonly '--body-sm-line-height': "16px";
95
+ readonly '--body-sm-strong-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
96
+ readonly '--body-sm-strong-font-size': "11px";
97
+ readonly '--body-sm-strong-font-weight': "500";
98
+ readonly '--body-sm-strong-line-height': "16px";
99
+ readonly '--body-md-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
100
+ readonly '--body-md-font-size': "12px";
101
+ readonly '--body-md-font-weight': "400";
102
+ readonly '--body-md-line-height': "18px";
103
+ readonly '--body-md-strong-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
104
+ readonly '--body-md-strong-font-size': "12px";
105
+ readonly '--body-md-strong-font-weight': "500";
106
+ readonly '--body-md-strong-line-height': "18px";
107
+ readonly '--body-base-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
108
+ readonly '--body-base-font-size': "13px";
109
+ readonly '--body-base-font-weight': "400";
110
+ readonly '--body-base-line-height': "20px";
111
+ readonly '--body-base-strong-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
112
+ readonly '--body-base-strong-font-size': "13px";
113
+ readonly '--body-base-strong-font-weight': "500";
114
+ readonly '--body-base-strong-line-height': "20px";
115
+ readonly '--heading-3xs-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
116
+ readonly '--heading-3xs-font-size': "11px";
117
+ readonly '--heading-3xs-font-weight': "600";
118
+ readonly '--heading-3xs-line-height': "16px";
119
+ readonly '--heading-2xs-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
120
+ readonly '--heading-2xs-font-size': "12px";
121
+ readonly '--heading-2xs-font-weight': "600";
122
+ readonly '--heading-2xs-line-height': "18px";
123
+ readonly '--heading-xs-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
124
+ readonly '--heading-xs-font-size': "13px";
125
+ readonly '--heading-xs-font-weight': "600";
126
+ readonly '--heading-xs-line-height': "20px";
127
+ readonly '--heading-sm-font-family': "\"SF Pro Text\", system-ui, -apple-system, sans-serif";
128
+ readonly '--heading-sm-font-size': "16px";
129
+ readonly '--heading-sm-font-weight': "600";
130
+ readonly '--heading-sm-line-height': "24px";
131
+ readonly '--heading-md-font-family': "\"SF Pro\", system-ui, -apple-system, sans-serif";
132
+ readonly '--heading-md-font-size': "20px";
133
+ readonly '--heading-md-font-weight': "600";
134
+ readonly '--heading-md-line-height': "28px";
135
+ readonly '--heading-lg-font-family': "\"SF Pro\", system-ui, -apple-system, sans-serif";
136
+ readonly '--heading-lg-font-size': "22px";
137
+ readonly '--heading-lg-font-weight': "600";
138
+ readonly '--heading-lg-line-height': "30px";
139
+ readonly '--heading-xl-font-family': "\"SF Pro\", system-ui, -apple-system, sans-serif";
140
+ readonly '--heading-xl-font-size': "24px";
141
+ readonly '--heading-xl-font-weight': "600";
142
+ readonly '--heading-xl-line-height': "32px";
143
+ readonly '--heading-2xl-font-family': "\"SF Pro\", system-ui, -apple-system, sans-serif";
144
+ readonly '--heading-2xl-font-size': "28px";
145
+ readonly '--heading-2xl-font-weight': "600";
146
+ readonly '--heading-2xl-line-height': "36px";
147
+ readonly '--heading-3xl-font-family': "\"SF Pro\", system-ui, -apple-system, sans-serif";
148
+ readonly '--heading-3xl-font-size': "32px";
149
+ readonly '--heading-3xl-font-weight': "600";
150
+ readonly '--heading-3xl-line-height': "40px";
151
+ readonly '--code-editor-font-family': "\"JetBrains Mono\", system-ui, -apple-system, sans-serif";
152
+ readonly '--code-editor-font-size': "13px";
153
+ readonly '--code-editor-font-weight': "450";
154
+ readonly '--code-editor-line-height': "20px";
155
+ readonly '--code-terminal-font-family': "\"JetBrains Mono\", system-ui, -apple-system, sans-serif";
156
+ readonly '--code-terminal-font-size': "12px";
157
+ readonly '--code-terminal-font-weight': "450";
158
+ readonly '--code-terminal-line-height': "18px";
159
+ readonly '--font-weight-default': "400";
160
+ readonly '--font-weight-code': "450";
161
+ readonly '--font-weight-medium': "500";
162
+ readonly '--font-weight-strong': "600";
163
+ readonly '--z-index-dropdown': "2000";
164
+ readonly '--z-index-drawer': "2500";
165
+ readonly '--z-index-modal': "3000";
166
+ readonly '--z-index-notification': "3500";
167
+ readonly '--z-index-tooltip': "4000";
168
+ readonly '--transition-fast': "0.12s ease";
169
+ readonly '--transition-normal': "0.2s ease";
170
+ readonly '--transition-slow': "0.3s ease";
171
+ readonly '--breakpoint-sm': "576px";
172
+ readonly '--breakpoint-md': "768px";
173
+ readonly '--breakpoint-lg': "1024px";
174
+ readonly '--breakpoint-xl': "1280px";
175
+ };
176
+ export declare const themeTokenValues: {
177
+ readonly dark: {
178
+ readonly '--color-background': "var(--bg-base-default)";
179
+ readonly '--color-surface': "var(--bg-base-secondary)";
180
+ readonly '--color-surface-variant': "var(--bg-base-tertiary)";
181
+ readonly '--color-overlay-1': "var(--bg-overlay-l1)";
182
+ readonly '--color-overlay-2': "var(--bg-overlay-l2)";
183
+ readonly '--color-overlay-3': "var(--bg-overlay-l3)";
184
+ readonly '--color-overlay-4': "var(--bg-overlay-l4)";
185
+ readonly '--color-card': "var(--bg-base-secondary)";
186
+ readonly '--color-tooltip': "var(--bg-tooltip)";
187
+ readonly '--color-menu': "var(--bg-menu)";
188
+ readonly '--color-foreground': "var(--text-default)";
189
+ readonly '--color-foreground-hover': "var(--text-default-hover)";
190
+ readonly '--color-on-surface': "var(--text-default)";
191
+ readonly '--color-on-surface-variant': "var(--text-secondary)";
192
+ readonly '--color-muted-foreground': "var(--text-secondary)";
193
+ readonly '--color-disabled-foreground': "var(--text-disabled)";
194
+ readonly '--color-border': "var(--border-neutral-l1)";
195
+ readonly '--color-border-strong': "var(--border-neutral-l2)";
196
+ readonly '--color-border-stronger': "var(--border-neutral-l3)";
197
+ readonly '--color-border-contrast': "var(--border-contrast)";
198
+ readonly '--color-outline': "var(--border-neutral-l1)";
199
+ readonly '--color-primary': "var(--bg-brand)";
200
+ readonly '--color-primary-hover': "var(--bg-brand-hover)";
201
+ readonly '--color-primary-disabled': "var(--bg-brand-disabled)";
202
+ readonly '--color-primary-soft': "var(--bg-brand-popup)";
203
+ readonly '--color-accent': "var(--bg-brand)";
204
+ readonly '--color-on-primary': "var(--text-onbrand)";
205
+ readonly '--color-info': "var(--status-primary-default)";
206
+ readonly '--color-success': "var(--status-success-default)";
207
+ readonly '--color-warning': "var(--status-warning-default)";
208
+ readonly '--color-error': "var(--status-error-default)";
209
+ readonly '--color-error-soft': "var(--status-error-surface-l1)";
210
+ readonly '--bg-base-default': "#1A1B1D";
211
+ readonly '--bg-base-secondary': "#222427";
212
+ readonly '--bg-base-tertiary': "#2A2D31";
213
+ readonly '--bg-tooltip': "#1A1B1D";
214
+ readonly '--bg-menu': "#202123";
215
+ readonly '--bg-invert': "#DADDE5";
216
+ readonly '--bg-invert-hover': "#EDEFF2";
217
+ readonly '--bg-invert-active': "#979AA4";
218
+ readonly '--bg-invert-disabled': "rgba(224, 226, 242, 0.12)";
219
+ readonly '--bg-overlay-l1': "rgba(224, 226, 242, 0.04)";
220
+ readonly '--bg-overlay-l2': "rgba(224, 226, 242, 0.06)";
221
+ readonly '--bg-overlay-l3': "rgba(224, 226, 242, 0.08)";
222
+ readonly '--bg-overlay-l4': "rgba(224, 226, 242, 0.12)";
223
+ readonly '--text-default': "#D1D3DB";
224
+ readonly '--text-default-hover': "#F5F9FE";
225
+ readonly '--text-default-active': "#F5F9FE";
226
+ readonly '--text-secondary': "#9599A6";
227
+ readonly '--text-secondary-hover': "#D1D3DB";
228
+ readonly '--text-secondary-active': "#D1D3DB";
229
+ readonly '--text-tertiary': "#666B75";
230
+ readonly '--text-disabled': "#666B75";
231
+ readonly '--text-onbrand': "#0C0C0D";
232
+ readonly '--text-onaccent': "#0C0C0D";
233
+ readonly '--icon-default': "#D1D3DB";
234
+ readonly '--icon-default-hover': "#F5F9FE";
235
+ readonly '--icon-default-active': "#F5F9FE";
236
+ readonly '--icon-secondary': "#9599A6";
237
+ readonly '--icon-secondary-hover': "#D1D3DB";
238
+ readonly '--icon-secondary-active': "#D1D3DB";
239
+ readonly '--icon-tertiary': "#666B75";
240
+ readonly '--icon-disabled': "#666B75";
241
+ readonly '--icon-onbrand': "#0C0C0D";
242
+ readonly '--icon-onaccent': "#0C0C0D";
243
+ readonly '--border-neutral-l1': "rgba(224, 226, 242, 0.1)";
244
+ readonly '--border-neutral-l2': "rgba(224, 226, 242, 0.16)";
245
+ readonly '--border-neutral-l3': "rgba(224, 226, 242, 0.2)";
246
+ readonly '--border-contrast': "#FFFFFF";
247
+ readonly '--status-primary-default': "#387BFF";
248
+ readonly '--status-primary-hover': "#4C88FF";
249
+ readonly '--status-primary-active': "#1759DD";
250
+ readonly '--status-primary-surface-l1': "rgba(53, 121, 255, 0.18)";
251
+ readonly '--status-primary-surface-l2': "rgba(53, 121, 255, 0.28)";
252
+ readonly '--status-primary-surface-l3': "rgba(53, 121, 255, 0.36)";
253
+ readonly '--status-info-default': "var(--status-primary-default)";
254
+ readonly '--status-info-surface-l1': "var(--status-primary-surface-l1)";
255
+ readonly '--status-success-default': "#33C192";
256
+ readonly '--status-success-hover': "#5ED4AD";
257
+ readonly '--status-success-active': "#27B082";
258
+ readonly '--status-success-surface-l1': "rgba(0, 165, 110, 0.18)";
259
+ readonly '--status-success-surface-l2': "rgba(0, 165, 110, 0.28)";
260
+ readonly '--status-success-surface-l3': "rgba(0, 165, 110, 0.36)";
261
+ readonly '--status-alert-default': "#D29D00";
262
+ readonly '--status-alert-hover': "#DFB949";
263
+ readonly '--status-alert-active': "#AB8820";
264
+ readonly '--status-alert-surface-l1': "rgba(210, 157, 0, 0.16)";
265
+ readonly '--status-alert-surface-l2': "rgba(210, 157, 0, 0.28)";
266
+ readonly '--status-alert-surface-l3': "rgba(210, 157, 0, 0.36)";
267
+ readonly '--status-warning-default': "#D27E24";
268
+ readonly '--status-warning-hover': "#D78B28";
269
+ readonly '--status-warning-active': "#B46510";
270
+ readonly '--status-warning-surface-l1': "rgba(210, 126, 36, 0.16)";
271
+ readonly '--status-warning-surface-l2': "rgba(210, 126, 36, 0.28)";
272
+ readonly '--status-warning-surface-l3': "rgba(210, 126, 36, 0.36)";
273
+ readonly '--status-error-default': "#F65A5A";
274
+ readonly '--status-error-hover': "#F86262";
275
+ readonly '--status-error-active': "#B33636";
276
+ readonly '--status-error-surface-l1': "rgba(246, 70, 70, 0.18)";
277
+ readonly '--status-error-surface-l2': "rgba(246, 70, 70, 0.28)";
278
+ readonly '--status-error-surface-l3': "rgba(246, 70, 70, 0.36)";
279
+ readonly '--code-text': "#E0E3EE";
280
+ readonly '--code-doc': "#7F838C";
281
+ readonly '--code-link': "#3C7EFF";
282
+ readonly '--code-number': "#F48CCA";
283
+ readonly '--code-action': "#B38CFF";
284
+ readonly '--code-instruction': "#F0D8FF";
285
+ readonly '--code-function': "#F29D79";
286
+ readonly '--code-constant': "#80BBFF";
287
+ readonly '--code-parameter': "#82D99F";
288
+ readonly '--code-attribute': "#DED47E";
289
+ readonly '--code-tag': "#F2858C";
290
+ };
291
+ readonly light: {
292
+ readonly '--color-background': "var(--bg-base-default)";
293
+ readonly '--color-surface': "var(--bg-base-secondary)";
294
+ readonly '--color-surface-variant': "var(--bg-base-tertiary)";
295
+ readonly '--color-overlay-1': "var(--bg-overlay-l1)";
296
+ readonly '--color-overlay-2': "var(--bg-overlay-l2)";
297
+ readonly '--color-overlay-3': "var(--bg-overlay-l3)";
298
+ readonly '--color-overlay-4': "var(--bg-overlay-l4)";
299
+ readonly '--color-card': "var(--bg-base-secondary)";
300
+ readonly '--color-tooltip': "var(--bg-tooltip)";
301
+ readonly '--color-menu': "var(--bg-menu)";
302
+ readonly '--color-foreground': "var(--text-default)";
303
+ readonly '--color-foreground-hover': "var(--text-default-hover)";
304
+ readonly '--color-on-surface': "var(--text-default)";
305
+ readonly '--color-on-surface-variant': "var(--text-secondary)";
306
+ readonly '--color-muted-foreground': "var(--text-secondary)";
307
+ readonly '--color-disabled-foreground': "var(--text-disabled)";
308
+ readonly '--color-border': "var(--border-neutral-l1)";
309
+ readonly '--color-border-strong': "var(--border-neutral-l2)";
310
+ readonly '--color-border-stronger': "var(--border-neutral-l3)";
311
+ readonly '--color-border-contrast': "var(--border-contrast)";
312
+ readonly '--color-outline': "var(--border-neutral-l1)";
313
+ readonly '--color-primary': "var(--bg-brand)";
314
+ readonly '--color-primary-hover': "var(--bg-brand-hover)";
315
+ readonly '--color-primary-disabled': "var(--bg-brand-disabled)";
316
+ readonly '--color-primary-soft': "var(--bg-brand-popup)";
317
+ readonly '--color-accent': "var(--bg-brand)";
318
+ readonly '--color-on-primary': "var(--text-onbrand)";
319
+ readonly '--color-info': "var(--status-primary-default)";
320
+ readonly '--color-success': "var(--status-success-default)";
321
+ readonly '--color-warning': "var(--status-warning-default)";
322
+ readonly '--color-error': "var(--status-error-default)";
323
+ readonly '--color-error-soft': "var(--status-error-surface-l1)";
324
+ readonly '--bg-base-default': "#FFFFFF";
325
+ readonly '--bg-base-secondary': "#F5F6F8";
326
+ readonly '--bg-base-tertiary': "#EDF0F5";
327
+ readonly '--bg-overlay-l1': "rgba(0, 0, 0, 0.04)";
328
+ readonly '--bg-overlay-l2': "rgba(0, 0, 0, 0.06)";
329
+ readonly '--bg-overlay-l3': "rgba(0, 0, 0, 0.08)";
330
+ readonly '--bg-overlay-l4': "rgba(0, 0, 0, 0.12)";
331
+ readonly '--text-default': "#0F1117";
332
+ readonly '--text-secondary': "#4B5563";
333
+ readonly '--text-tertiary': "#5B6370";
334
+ readonly '--text-disabled': "#525A68";
335
+ readonly '--text-onbrand': "#FFFFFF";
336
+ readonly '--icon-default': "#0F1117";
337
+ readonly '--icon-secondary': "#4B5563";
338
+ readonly '--icon-tertiary': "#5B6370";
339
+ readonly '--icon-disabled': "#525A68";
340
+ readonly '--border-neutral-l1': "rgba(0, 0, 0, 0.12)";
341
+ readonly '--border-neutral-l2': "rgba(0, 0, 0, 0.18)";
342
+ readonly '--border-neutral-l3': "rgba(0, 0, 0, 0.25)";
343
+ readonly '--status-success-default': "#16A34A";
344
+ readonly '--status-warning-default': "#CA8A04";
345
+ readonly '--status-error-default': "#DC2626";
346
+ readonly '--status-info-default': "#2E69FF";
347
+ readonly '--status-success-surface-l1': "rgba(22, 163, 74, 0.08)";
348
+ readonly '--status-warning-surface-l1': "rgba(202, 138, 4, 0.08)";
349
+ readonly '--status-error-surface-l1': "rgba(220, 38, 38, 0.08)";
350
+ readonly '--status-info-surface-l1': "rgba(46, 105, 255, 0.08)";
351
+ };
352
+ };
353
+ export interface BrandTokens {
354
+ readonly background: string;
355
+ readonly hover: string;
356
+ readonly disabled: string;
357
+ readonly soft: string;
358
+ readonly onBrand: string;
359
+ }
360
+ export declare function resolveBrandColor(value?: BrandInput): BrandColor;
361
+ export declare function deriveBrandTokens(color: string): BrandTokens;
362
+ export declare function normalizeHexColor(value: string): string;
363
+ export declare function contrastRatio(left: string, right: string): number;