eidotter 0.31.0 → 0.32.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eidotter",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "type": "module",
5
5
  "description": "A DOS Themed Design System",
6
6
  "main": "./dist/index.umd.js",
@@ -26,6 +26,7 @@
26
26
  "./tailwind.preset": "./tailwind.preset.cjs",
27
27
  "./fonts.css": "./src/styles/fonts.css",
28
28
  "./tokens.css": "./src/styles/tokens.css",
29
+ "./shadcn.css": "./src/styles/shadcn.css",
29
30
  "./themes/amber-mono.css": "./src/styles/theme.amber-mono.css",
30
31
  "./themes/cga-amber.css": "./src/styles/theme.cga-amber.css",
31
32
  "./themes/cga-mode4-p0.css": "./src/styles/theme.cga-mode4-p0.css",
@@ -59,6 +60,7 @@
59
60
  "src/styles/fonts/Flexi_IBM_VGA_LICENSE.txt",
60
61
  "src/styles/tokens.css",
61
62
  "src/styles/theme.*.css",
63
+ "src/styles/shadcn.css",
62
64
  "src/styles/dos-utilities.css",
63
65
  "guidelines",
64
66
  "llms.txt"
@@ -70,7 +72,7 @@
70
72
  "fetch-icons": "node scripts/icons/fetch-svgs.mjs",
71
73
  "generate-icons": "node scripts/icons/build-tsx.mjs && node scripts/icons/build-barrels.mjs",
72
74
  "prepublishOnly": "npm run build",
73
- "build-tokens": "node style-dictionary.config.mjs",
75
+ "build-tokens": "node style-dictionary.config.mjs && node scripts/generate-shadcn-shim.mjs",
74
76
  "lint": "eslint src/ --report-unused-disable-directives --max-warnings 0",
75
77
  "lint-tokens": "node scripts/lint-token-refs.mjs",
76
78
  "check-contrast": "node scripts/check-contrast.mjs",
@@ -0,0 +1,223 @@
1
+ /* =============================================================================
2
+ * eidotter — shadcn/ui token shim (DMNC-922). GENERATED — do not edit.
3
+ * Run `npm run build-tokens` to regenerate.
4
+ *
5
+ * Maps shadcn/ui CSS var names to eidotter's semantic roles as HSL channels,
6
+ * so a shadcn consumer using `hsl(var(--background))` consumes eidotter's
7
+ * themeable palette. Import this AFTER eidotter/tokens.css + eidotter/styles,
8
+ * then delete your own :root/.dark/etc. colour definitions. Re-themes via
9
+ * [data-theme]. Opt-in — NOT part of eidotter/styles.
10
+ *
11
+ * sidebar-* and chart-* are best-effort amber-family aliases; override per
12
+ * surface for real sidebar/data-viz needs.
13
+ * ========================================================================== */
14
+
15
+ :root {
16
+ --background: 280 100% 1%;
17
+ --foreground: 37 75% 41%;
18
+ --card: 240 50% 1%;
19
+ --card-foreground: 37 75% 41%;
20
+ --popover: 240 50% 1%;
21
+ --popover-foreground: 37 75% 41%;
22
+ --primary: 41 100% 50%;
23
+ --primary-foreground: 280 100% 1%;
24
+ --secondary: 240 50% 1%;
25
+ --secondary-foreground: 37 75% 41%;
26
+ --muted: 240 50% 1%;
27
+ --muted-foreground: 34 100% 30%;
28
+ --accent: 41 100% 50%;
29
+ --accent-foreground: 280 100% 1%;
30
+ --destructive: 0 100% 33%;
31
+ --destructive-foreground: 0 0% 100%;
32
+ --border: 37 75% 41%;
33
+ --input: 37 75% 41%;
34
+ --ring: 45 77% 55%;
35
+ --sidebar: 280 100% 1%;
36
+ --sidebar-foreground: 37 75% 41%;
37
+ --sidebar-primary: 41 100% 50%;
38
+ --sidebar-primary-foreground: 280 100% 1%;
39
+ --sidebar-accent: 240 50% 1%;
40
+ --sidebar-accent-foreground: 37 75% 41%;
41
+ --sidebar-border: 37 75% 41%;
42
+ --sidebar-ring: 45 77% 55%;
43
+ --chart-1: 41 100% 50%;
44
+ --chart-2: 34 100% 30%;
45
+ --chart-3: 45 77% 55%;
46
+ --chart-4: 41 100% 50%;
47
+ --chart-5: 37 75% 41%;
48
+ }
49
+
50
+ [data-theme="amber-mono"], .theme-amber-mono {
51
+ --background: 280 100% 1%;
52
+ --foreground: 41 100% 50%;
53
+ --card: 240 50% 1%;
54
+ --card-foreground: 41 100% 50%;
55
+ --popover: 240 50% 1%;
56
+ --popover-foreground: 41 100% 50%;
57
+ --primary: 41 100% 50%;
58
+ --primary-foreground: 280 100% 1%;
59
+ --secondary: 240 50% 1%;
60
+ --secondary-foreground: 41 100% 50%;
61
+ --muted: 240 50% 1%;
62
+ --muted-foreground: 37 75% 41%;
63
+ --accent: 41 100% 50%;
64
+ --accent-foreground: 280 100% 1%;
65
+ --destructive: 34 100% 30%;
66
+ --destructive-foreground: 0 0% 100%;
67
+ --border: 41 100% 50%;
68
+ --input: 41 100% 50%;
69
+ --ring: 27 96% 81%;
70
+ --sidebar: 280 100% 1%;
71
+ --sidebar-foreground: 41 100% 50%;
72
+ --sidebar-primary: 41 100% 50%;
73
+ --sidebar-primary-foreground: 280 100% 1%;
74
+ --sidebar-accent: 240 50% 1%;
75
+ --sidebar-accent-foreground: 41 100% 50%;
76
+ --sidebar-border: 41 100% 50%;
77
+ --sidebar-ring: 27 96% 81%;
78
+ --chart-1: 41 100% 50%;
79
+ --chart-2: 37 75% 41%;
80
+ --chart-3: 27 96% 81%;
81
+ --chart-4: 41 100% 50%;
82
+ --chart-5: 41 100% 50%;
83
+ }
84
+
85
+ [data-theme="cga-amber"], .theme-cga-amber {
86
+ --background: 36 100% 1%;
87
+ --foreground: 37 5% 66%;
88
+ --card: 48 5% 22%;
89
+ --card-foreground: 37 5% 66%;
90
+ --popover: 48 5% 22%;
91
+ --popover-foreground: 37 5% 66%;
92
+ --primary: 41 100% 50%;
93
+ --primary-foreground: 36 100% 1%;
94
+ --secondary: 48 5% 22%;
95
+ --secondary-foreground: 37 5% 66%;
96
+ --muted: 48 5% 22%;
97
+ --muted-foreground: 30 100% 33%;
98
+ --accent: 240 100% 33%;
99
+ --accent-foreground: 36 100% 1%;
100
+ --destructive: 0 100% 33%;
101
+ --destructive-foreground: 0 0% 100%;
102
+ --border: 37 5% 66%;
103
+ --input: 37 5% 66%;
104
+ --ring: 41 100% 50%;
105
+ --sidebar: 36 100% 1%;
106
+ --sidebar-foreground: 37 5% 66%;
107
+ --sidebar-primary: 41 100% 50%;
108
+ --sidebar-primary-foreground: 36 100% 1%;
109
+ --sidebar-accent: 48 5% 22%;
110
+ --sidebar-accent-foreground: 37 5% 66%;
111
+ --sidebar-border: 37 5% 66%;
112
+ --sidebar-ring: 41 100% 50%;
113
+ --chart-1: 41 100% 50%;
114
+ --chart-2: 30 100% 33%;
115
+ --chart-3: 41 100% 50%;
116
+ --chart-4: 240 100% 33%;
117
+ --chart-5: 37 5% 66%;
118
+ }
119
+
120
+ [data-theme="cga-mode4-p0"], .theme-cga-mode4-p0 {
121
+ --background: 36 100% 1%;
122
+ --foreground: 60 100% 50%;
123
+ --card: 36 100% 1%;
124
+ --card-foreground: 60 100% 50%;
125
+ --popover: 36 100% 1%;
126
+ --popover-foreground: 60 100% 50%;
127
+ --primary: 60 100% 50%;
128
+ --primary-foreground: 36 100% 1%;
129
+ --secondary: 36 100% 1%;
130
+ --secondary-foreground: 60 100% 50%;
131
+ --muted: 36 100% 1%;
132
+ --muted-foreground: 60 100% 50%;
133
+ --accent: 120 100% 50%;
134
+ --accent-foreground: 36 100% 1%;
135
+ --destructive: 0 100% 33%;
136
+ --destructive-foreground: 0 0% 100%;
137
+ --border: 120 100% 50%;
138
+ --input: 120 100% 50%;
139
+ --ring: 60 100% 50%;
140
+ --sidebar: 36 100% 1%;
141
+ --sidebar-foreground: 60 100% 50%;
142
+ --sidebar-primary: 60 100% 50%;
143
+ --sidebar-primary-foreground: 36 100% 1%;
144
+ --sidebar-accent: 36 100% 1%;
145
+ --sidebar-accent-foreground: 60 100% 50%;
146
+ --sidebar-border: 120 100% 50%;
147
+ --sidebar-ring: 60 100% 50%;
148
+ --chart-1: 60 100% 50%;
149
+ --chart-2: 60 100% 50%;
150
+ --chart-3: 60 100% 50%;
151
+ --chart-4: 120 100% 50%;
152
+ --chart-5: 60 100% 50%;
153
+ }
154
+
155
+ [data-theme="cga-mode4-p1"], .theme-cga-mode4-p1 {
156
+ --background: 36 100% 1%;
157
+ --foreground: 38 100% 98%;
158
+ --card: 36 100% 1%;
159
+ --card-foreground: 38 100% 98%;
160
+ --popover: 36 100% 1%;
161
+ --popover-foreground: 38 100% 98%;
162
+ --primary: 180 100% 50%;
163
+ --primary-foreground: 36 100% 1%;
164
+ --secondary: 36 100% 1%;
165
+ --secondary-foreground: 38 100% 98%;
166
+ --muted: 36 100% 1%;
167
+ --muted-foreground: 38 100% 98%;
168
+ --accent: 180 100% 50%;
169
+ --accent-foreground: 36 100% 1%;
170
+ --destructive: 0 100% 33%;
171
+ --destructive-foreground: 0 0% 100%;
172
+ --border: 180 100% 50%;
173
+ --input: 180 100% 50%;
174
+ --ring: 38 100% 98%;
175
+ --sidebar: 36 100% 1%;
176
+ --sidebar-foreground: 38 100% 98%;
177
+ --sidebar-primary: 180 100% 50%;
178
+ --sidebar-primary-foreground: 36 100% 1%;
179
+ --sidebar-accent: 36 100% 1%;
180
+ --sidebar-accent-foreground: 38 100% 98%;
181
+ --sidebar-border: 180 100% 50%;
182
+ --sidebar-ring: 38 100% 98%;
183
+ --chart-1: 180 100% 50%;
184
+ --chart-2: 38 100% 98%;
185
+ --chart-3: 38 100% 98%;
186
+ --chart-4: 180 100% 50%;
187
+ --chart-5: 38 100% 98%;
188
+ }
189
+
190
+ [data-theme="cga-mode5"], .theme-cga-mode5 {
191
+ --background: 36 100% 1%;
192
+ --foreground: 38 100% 98%;
193
+ --card: 36 100% 1%;
194
+ --card-foreground: 38 100% 98%;
195
+ --popover: 36 100% 1%;
196
+ --popover-foreground: 38 100% 98%;
197
+ --primary: 180 100% 50%;
198
+ --primary-foreground: 36 100% 1%;
199
+ --secondary: 36 100% 1%;
200
+ --secondary-foreground: 38 100% 98%;
201
+ --muted: 36 100% 1%;
202
+ --muted-foreground: 38 100% 98%;
203
+ --accent: 180 100% 50%;
204
+ --accent-foreground: 36 100% 1%;
205
+ --destructive: 0 100% 33%;
206
+ --destructive-foreground: 0 0% 100%;
207
+ --border: 180 100% 50%;
208
+ --input: 180 100% 50%;
209
+ --ring: 38 100% 98%;
210
+ --sidebar: 36 100% 1%;
211
+ --sidebar-foreground: 38 100% 98%;
212
+ --sidebar-primary: 180 100% 50%;
213
+ --sidebar-primary-foreground: 36 100% 1%;
214
+ --sidebar-accent: 36 100% 1%;
215
+ --sidebar-accent-foreground: 38 100% 98%;
216
+ --sidebar-border: 180 100% 50%;
217
+ --sidebar-ring: 38 100% 98%;
218
+ --chart-1: 180 100% 50%;
219
+ --chart-2: 38 100% 98%;
220
+ --chart-3: 38 100% 98%;
221
+ --chart-4: 180 100% 50%;
222
+ --chart-5: 38 100% 98%;
223
+ }