@duro-app/tokens 0.28.0 → 0.30.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.
package/dist/raw.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ export type RawColors = {
2
+ bg: string;
3
+ bgCard: string;
4
+ bgCardHover: string;
5
+ text: string;
6
+ textMuted: string;
7
+ accent: string;
8
+ accentHover: string;
9
+ accentContrast: string;
10
+ border: string;
11
+ error: string;
12
+ errorHover: string;
13
+ errorBg: string;
14
+ errorBorder: string;
15
+ errorText: string;
16
+ errorContrast: string;
17
+ success: string;
18
+ successBg: string;
19
+ successBorder: string;
20
+ successText: string;
21
+ warning: string;
22
+ warningBg: string;
23
+ warningBorder: string;
24
+ warningText: string;
25
+ info: string;
26
+ infoBg: string;
27
+ infoBorder: string;
28
+ infoText: string;
29
+ };
30
+ export declare const darkColors: RawColors;
31
+ export declare const lightColors: RawColors;
32
+ export declare const highContrastColors: RawColors;
33
+ //# sourceMappingURL=raw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,SA4BxB,CAAA;AAGD,eAAO,MAAM,WAAW,EAAE,SA4BzB,CAAA;AAGD,eAAO,MAAM,kBAAkB,EAAE,SA4BhC,CAAA"}
package/dist/raw.js ADDED
@@ -0,0 +1,91 @@
1
+ const r = {
2
+ bg: "#0f0f0f",
3
+ bgCard: "#1a1a1a",
4
+ bgCardHover: "#242424",
5
+ text: "#e5e5e5",
6
+ textMuted: "#b0b0b0",
7
+ accent: "#6aaffc",
8
+ accentHover: "#93c5fd",
9
+ accentContrast: "#000000",
10
+ border: "#333333",
11
+ error: "#f87171",
12
+ errorHover: "#fca5a5",
13
+ errorBg: "rgba(248, 113, 113, 0.1)",
14
+ errorBorder: "rgba(248, 113, 113, 0.3)",
15
+ errorText: "#fca5a5",
16
+ errorContrast: "#000000",
17
+ success: "#22c55e",
18
+ successBg: "rgba(34, 197, 94, 0.1)",
19
+ successBorder: "rgba(34, 197, 94, 0.3)",
20
+ successText: "#86efac",
21
+ warning: "#fbbf24",
22
+ warningBg: "rgba(251, 191, 36, 0.1)",
23
+ warningBorder: "rgba(251, 191, 36, 0.3)",
24
+ warningText: "#fde68a",
25
+ info: "#6aaffc",
26
+ infoBg: "rgba(106, 175, 252, 0.1)",
27
+ infoBorder: "rgba(106, 175, 252, 0.3)",
28
+ infoText: "#93c5fd"
29
+ }, e = {
30
+ bg: "#ffffff",
31
+ bgCard: "#f5f5f5",
32
+ bgCardHover: "#ebebeb",
33
+ text: "#1a1a1a",
34
+ textMuted: "#4a4a4a",
35
+ accent: "#1e40af",
36
+ accentHover: "#1a3799",
37
+ accentContrast: "#ffffff",
38
+ border: "#d4d4d4",
39
+ error: "#991b1b",
40
+ errorHover: "#7f1d1d",
41
+ errorBg: "rgba(153, 27, 27, 0.08)",
42
+ errorBorder: "rgba(153, 27, 27, 0.3)",
43
+ errorText: "#7f1d1d",
44
+ errorContrast: "#ffffff",
45
+ success: "#166534",
46
+ successBg: "rgba(22, 101, 52, 0.08)",
47
+ successBorder: "rgba(22, 101, 52, 0.3)",
48
+ successText: "#14532d",
49
+ warning: "#92400e",
50
+ warningBg: "rgba(146, 64, 14, 0.08)",
51
+ warningBorder: "rgba(146, 64, 14, 0.3)",
52
+ warningText: "#78350f",
53
+ info: "#1e40af",
54
+ infoBg: "rgba(30, 64, 175, 0.08)",
55
+ infoBorder: "rgba(30, 64, 175, 0.3)",
56
+ infoText: "#1e40af"
57
+ }, a = {
58
+ bg: "#000000",
59
+ bgCard: "#111111",
60
+ bgCardHover: "#1a1a1a",
61
+ text: "#ffffff",
62
+ textMuted: "#b0b0b0",
63
+ accent: "#60a5fa",
64
+ accentHover: "#93c5fd",
65
+ accentContrast: "#000000",
66
+ border: "#555555",
67
+ error: "#f87171",
68
+ errorHover: "#fca5a5",
69
+ errorBg: "rgba(248, 113, 113, 0.15)",
70
+ errorBorder: "rgba(248, 113, 113, 0.5)",
71
+ errorText: "#fca5a5",
72
+ errorContrast: "#000000",
73
+ success: "#4ade80",
74
+ successBg: "rgba(74, 222, 128, 0.15)",
75
+ successBorder: "rgba(74, 222, 128, 0.5)",
76
+ successText: "#86efac",
77
+ warning: "#fcd34d",
78
+ warningBg: "rgba(252, 211, 77, 0.15)",
79
+ warningBorder: "rgba(252, 211, 77, 0.5)",
80
+ warningText: "#fef08a",
81
+ info: "#60a5fa",
82
+ infoBg: "rgba(96, 165, 250, 0.15)",
83
+ infoBorder: "rgba(96, 165, 250, 0.5)",
84
+ infoText: "#bfdbfe"
85
+ };
86
+ export {
87
+ r as darkColors,
88
+ a as highContrastColors,
89
+ e as lightColors
90
+ };
91
+ //# sourceMappingURL=raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.js","sources":["../src/raw.ts"],"sourcesContent":["// Plain hex values for non-`react-strict-dom` consumers (e.g. an MUI\n// `createTheme` palette). These mirror the literals defined in\n// `tokens/colors.css.ts`, `themes/light.css.ts`, and `themes/high-contrast.css.ts`.\n//\n// We can't make the css.ts files import from here: StyleX (the babel plugin\n// behind RSD's `css.defineVars` / `css.createTheme` on web) requires the\n// argument to be an inline object literal. So values live in two places.\n//\n// `scripts/check-token-drift.mjs` runs in `prebuild` and fails the build if\n// the literal in any css.ts file diverges from the corresponding export here.\n\nexport type RawColors = {\n bg: string\n bgCard: string\n bgCardHover: string\n text: string\n textMuted: string\n accent: string\n accentHover: string\n accentContrast: string\n border: string\n error: string\n errorHover: string\n errorBg: string\n errorBorder: string\n errorText: string\n errorContrast: string\n success: string\n successBg: string\n successBorder: string\n successText: string\n warning: string\n warningBg: string\n warningBorder: string\n warningText: string\n info: string\n infoBg: string\n infoBorder: string\n infoText: string\n}\n\n// Dark theme — matches the defaults in `tokens/colors.css.ts`.\nexport const darkColors: RawColors = {\n bg: '#0f0f0f',\n bgCard: '#1a1a1a',\n bgCardHover: '#242424',\n text: '#e5e5e5',\n textMuted: '#b0b0b0',\n accent: '#6aaffc',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n border: '#333333',\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.1)',\n errorBorder: 'rgba(248, 113, 113, 0.3)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n success: '#22c55e',\n successBg: 'rgba(34, 197, 94, 0.1)',\n successBorder: 'rgba(34, 197, 94, 0.3)',\n successText: '#86efac',\n warning: '#fbbf24',\n warningBg: 'rgba(251, 191, 36, 0.1)',\n warningBorder: 'rgba(251, 191, 36, 0.3)',\n warningText: '#fde68a',\n info: '#6aaffc',\n infoBg: 'rgba(106, 175, 252, 0.1)',\n infoBorder: 'rgba(106, 175, 252, 0.3)',\n infoText: '#93c5fd',\n}\n\n// Light theme — matches the overrides in `themes/light.css.ts`.\nexport const lightColors: RawColors = {\n bg: '#ffffff',\n bgCard: '#f5f5f5',\n bgCardHover: '#ebebeb',\n text: '#1a1a1a',\n textMuted: '#4a4a4a',\n accent: '#1e40af',\n accentHover: '#1a3799',\n accentContrast: '#ffffff',\n border: '#d4d4d4',\n error: '#991b1b',\n errorHover: '#7f1d1d',\n errorBg: 'rgba(153, 27, 27, 0.08)',\n errorBorder: 'rgba(153, 27, 27, 0.3)',\n errorText: '#7f1d1d',\n errorContrast: '#ffffff',\n success: '#166534',\n successBg: 'rgba(22, 101, 52, 0.08)',\n successBorder: 'rgba(22, 101, 52, 0.3)',\n successText: '#14532d',\n warning: '#92400e',\n warningBg: 'rgba(146, 64, 14, 0.08)',\n warningBorder: 'rgba(146, 64, 14, 0.3)',\n warningText: '#78350f',\n info: '#1e40af',\n infoBg: 'rgba(30, 64, 175, 0.08)',\n infoBorder: 'rgba(30, 64, 175, 0.3)',\n infoText: '#1e40af',\n}\n\n// High-contrast theme — matches the overrides in `themes/high-contrast.css.ts`.\nexport const highContrastColors: RawColors = {\n bg: '#000000',\n bgCard: '#111111',\n bgCardHover: '#1a1a1a',\n text: '#ffffff',\n textMuted: '#b0b0b0',\n accent: '#60a5fa',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n border: '#555555',\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.15)',\n errorBorder: 'rgba(248, 113, 113, 0.5)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n success: '#4ade80',\n successBg: 'rgba(74, 222, 128, 0.15)',\n successBorder: 'rgba(74, 222, 128, 0.5)',\n successText: '#86efac',\n warning: '#fcd34d',\n warningBg: 'rgba(252, 211, 77, 0.15)',\n warningBorder: 'rgba(252, 211, 77, 0.5)',\n warningText: '#fef08a',\n info: '#60a5fa',\n infoBg: 'rgba(96, 165, 250, 0.15)',\n infoBorder: 'rgba(96, 165, 250, 0.5)',\n infoText: '#bfdbfe',\n}\n"],"names":["darkColors","lightColors","highContrastColors"],"mappings":"AA0CO,MAAMA,IAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AACZ,GAGaC,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AACZ,GAGaC,IAAgC;AAAA,EAC3C,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AACZ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duro-app/tokens",
3
- "version": "0.28.0",
3
+ "version": "0.30.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,6 +29,12 @@
29
29
  "types": "./dist/index.d.ts",
30
30
  "default": "./dist/index.js"
31
31
  },
32
+ "./raw": {
33
+ "source": "./src/raw.ts",
34
+ "import": "./dist/raw.js",
35
+ "types": "./dist/raw.d.ts",
36
+ "default": "./dist/raw.js"
37
+ },
32
38
  "./tokens/colors.css": "./src/tokens/colors.css.ts",
33
39
  "./tokens/spacing.css": "./src/tokens/spacing.css.ts",
34
40
  "./tokens/typography.css": "./src/tokens/typography.css.ts",
@@ -42,6 +48,7 @@
42
48
  "react-strict-dom": "^0.0.55"
43
49
  },
44
50
  "devDependencies": {
51
+ "@babel/parser": "^7.29.0",
45
52
  "@babel/preset-typescript": "^7.28.0",
46
53
  "typescript": "^5.7.0",
47
54
  "vite": "^6.0.0",
@@ -50,6 +57,7 @@
50
57
  },
51
58
  "scripts": {
52
59
  "dev": "vite build --watch",
60
+ "prebuild": "node scripts/check-token-drift.mjs",
53
61
  "build": "vite build",
54
62
  "typecheck": "tsc --noEmit"
55
63
  }
package/src/raw.ts ADDED
@@ -0,0 +1,133 @@
1
+ // Plain hex values for non-`react-strict-dom` consumers (e.g. an MUI
2
+ // `createTheme` palette). These mirror the literals defined in
3
+ // `tokens/colors.css.ts`, `themes/light.css.ts`, and `themes/high-contrast.css.ts`.
4
+ //
5
+ // We can't make the css.ts files import from here: StyleX (the babel plugin
6
+ // behind RSD's `css.defineVars` / `css.createTheme` on web) requires the
7
+ // argument to be an inline object literal. So values live in two places.
8
+ //
9
+ // `scripts/check-token-drift.mjs` runs in `prebuild` and fails the build if
10
+ // the literal in any css.ts file diverges from the corresponding export here.
11
+
12
+ export type RawColors = {
13
+ bg: string
14
+ bgCard: string
15
+ bgCardHover: string
16
+ text: string
17
+ textMuted: string
18
+ accent: string
19
+ accentHover: string
20
+ accentContrast: string
21
+ border: string
22
+ error: string
23
+ errorHover: string
24
+ errorBg: string
25
+ errorBorder: string
26
+ errorText: string
27
+ errorContrast: string
28
+ success: string
29
+ successBg: string
30
+ successBorder: string
31
+ successText: string
32
+ warning: string
33
+ warningBg: string
34
+ warningBorder: string
35
+ warningText: string
36
+ info: string
37
+ infoBg: string
38
+ infoBorder: string
39
+ infoText: string
40
+ }
41
+
42
+ // Dark theme — matches the defaults in `tokens/colors.css.ts`.
43
+ export const darkColors: RawColors = {
44
+ bg: '#0f0f0f',
45
+ bgCard: '#1a1a1a',
46
+ bgCardHover: '#242424',
47
+ text: '#e5e5e5',
48
+ textMuted: '#b0b0b0',
49
+ accent: '#6aaffc',
50
+ accentHover: '#93c5fd',
51
+ accentContrast: '#000000',
52
+ border: '#333333',
53
+ error: '#f87171',
54
+ errorHover: '#fca5a5',
55
+ errorBg: 'rgba(248, 113, 113, 0.1)',
56
+ errorBorder: 'rgba(248, 113, 113, 0.3)',
57
+ errorText: '#fca5a5',
58
+ errorContrast: '#000000',
59
+ success: '#22c55e',
60
+ successBg: 'rgba(34, 197, 94, 0.1)',
61
+ successBorder: 'rgba(34, 197, 94, 0.3)',
62
+ successText: '#86efac',
63
+ warning: '#fbbf24',
64
+ warningBg: 'rgba(251, 191, 36, 0.1)',
65
+ warningBorder: 'rgba(251, 191, 36, 0.3)',
66
+ warningText: '#fde68a',
67
+ info: '#6aaffc',
68
+ infoBg: 'rgba(106, 175, 252, 0.1)',
69
+ infoBorder: 'rgba(106, 175, 252, 0.3)',
70
+ infoText: '#93c5fd',
71
+ }
72
+
73
+ // Light theme — matches the overrides in `themes/light.css.ts`.
74
+ export const lightColors: RawColors = {
75
+ bg: '#ffffff',
76
+ bgCard: '#f5f5f5',
77
+ bgCardHover: '#ebebeb',
78
+ text: '#1a1a1a',
79
+ textMuted: '#4a4a4a',
80
+ accent: '#1e40af',
81
+ accentHover: '#1a3799',
82
+ accentContrast: '#ffffff',
83
+ border: '#d4d4d4',
84
+ error: '#991b1b',
85
+ errorHover: '#7f1d1d',
86
+ errorBg: 'rgba(153, 27, 27, 0.08)',
87
+ errorBorder: 'rgba(153, 27, 27, 0.3)',
88
+ errorText: '#7f1d1d',
89
+ errorContrast: '#ffffff',
90
+ success: '#166534',
91
+ successBg: 'rgba(22, 101, 52, 0.08)',
92
+ successBorder: 'rgba(22, 101, 52, 0.3)',
93
+ successText: '#14532d',
94
+ warning: '#92400e',
95
+ warningBg: 'rgba(146, 64, 14, 0.08)',
96
+ warningBorder: 'rgba(146, 64, 14, 0.3)',
97
+ warningText: '#78350f',
98
+ info: '#1e40af',
99
+ infoBg: 'rgba(30, 64, 175, 0.08)',
100
+ infoBorder: 'rgba(30, 64, 175, 0.3)',
101
+ infoText: '#1e40af',
102
+ }
103
+
104
+ // High-contrast theme — matches the overrides in `themes/high-contrast.css.ts`.
105
+ export const highContrastColors: RawColors = {
106
+ bg: '#000000',
107
+ bgCard: '#111111',
108
+ bgCardHover: '#1a1a1a',
109
+ text: '#ffffff',
110
+ textMuted: '#b0b0b0',
111
+ accent: '#60a5fa',
112
+ accentHover: '#93c5fd',
113
+ accentContrast: '#000000',
114
+ border: '#555555',
115
+ error: '#f87171',
116
+ errorHover: '#fca5a5',
117
+ errorBg: 'rgba(248, 113, 113, 0.15)',
118
+ errorBorder: 'rgba(248, 113, 113, 0.5)',
119
+ errorText: '#fca5a5',
120
+ errorContrast: '#000000',
121
+ success: '#4ade80',
122
+ successBg: 'rgba(74, 222, 128, 0.15)',
123
+ successBorder: 'rgba(74, 222, 128, 0.5)',
124
+ successText: '#86efac',
125
+ warning: '#fcd34d',
126
+ warningBg: 'rgba(252, 211, 77, 0.15)',
127
+ warningBorder: 'rgba(252, 211, 77, 0.5)',
128
+ warningText: '#fef08a',
129
+ info: '#60a5fa',
130
+ infoBg: 'rgba(96, 165, 250, 0.15)',
131
+ infoBorder: 'rgba(96, 165, 250, 0.5)',
132
+ infoText: '#bfdbfe',
133
+ }