@gomiui/theme-dovisual 0.0.1

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 ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@gomiui/theme-dovisual",
3
+ "version": "0.0.1",
4
+ "displayName": "Dovisual Theme",
5
+ "private": false,
6
+ "description": "Restrained warm grays. Minimal and quiet, so the content stays the focus.",
7
+ "author": "Gomidot Platforms",
8
+ "license": "MIT",
9
+ "homepage": "https://github.com/gomidots/gomiui#readme",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/gomidots/gomiui.git",
13
+ "directory": "packages/themes/dovisual"
14
+ },
15
+ "bugs": {
16
+ "url": "https://github.com/gomidots/gomiui/issues"
17
+ },
18
+ "keywords": [
19
+ "gomiui",
20
+ "theme",
21
+ "design-system",
22
+ "lucide",
23
+ "design-tokens"
24
+ ],
25
+ "sideEffects": false,
26
+ "main": "./dist/source.js",
27
+ "types": "./dist/source.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/source.d.ts",
31
+ "import": "./dist/source.mjs",
32
+ "require": "./dist/source.js"
33
+ },
34
+ "./built": {
35
+ "types": "./dist/dovisual.d.ts",
36
+ "import": "./dist/dovisual.js",
37
+ "require": "./dist/dovisual.js"
38
+ },
39
+ "./theme.css": {
40
+ "types": "./theme.css.d.ts",
41
+ "default": "./dist/theme.css"
42
+ }
43
+ },
44
+ "files": [
45
+ "dist",
46
+ "src"
47
+ ],
48
+ "scripts": {
49
+ "build": "rimraf dist && gomiui theme build src/dovisualTheme.ts -o dist/theme.css --icons-specifier ./icons.mjs && tsup && tsc --project tsconfig.build.json && node ../../../scripts/check-fully-specified.mjs"
50
+ },
51
+ "dependencies": {
52
+ "lucide-react": "^1.18.0"
53
+ },
54
+ "peerDependencies": {
55
+ "@gomiui/core": "0.0.1",
56
+ "react": ">=19"
57
+ },
58
+ "devDependencies": {
59
+ "@gomiui/cli": "0.0.2",
60
+ "rimraf": "^6.0.1"
61
+ },
62
+ "module": "./dist/source.mjs",
63
+ "trustedDependencies": [
64
+ "@gomiui/cli",
65
+ "@gomiui/core"
66
+ ]
67
+ }
@@ -0,0 +1,474 @@
1
+ import {defineTheme} from '@gomiui/core/theme';
2
+ import {dovisualIconRegistry} from './icons';
3
+
4
+ export const dovisualTheme = defineTheme({
5
+ name: 'dovisual',
6
+
7
+ // Typography: Poppins (body) / DM Sans (heading) / JetBrains Mono (code),
8
+ // ported from the Astryx design system. Scale stays at the platform
9
+ // default (base=14, ratio=1.2); --text-display-3-leading is overridden
10
+ // below to give Poppins slightly more breathing room at that size.
11
+ //
12
+ // NOTE: defineTheme only ever emits `font-family:` — it never loads a
13
+ // font file. Poppins, DM Sans, and JetBrains Mono must still be loaded
14
+ // by the consuming app (Google Fonts <link> or self-hosted @font-face).
15
+ // See `bun gomiui docs typography` for the snippet.
16
+ typography: {
17
+ scale: {base: 14, ratio: 1.2},
18
+ body: {
19
+ family: 'Poppins',
20
+ fallbacks:
21
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
22
+ },
23
+ heading: {
24
+ family: 'DM Sans',
25
+ fallbacks:
26
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
27
+ },
28
+ code: {
29
+ family: 'JetBrains Mono',
30
+ fallbacks:
31
+ '"SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
32
+ },
33
+ },
34
+
35
+ tokens: {
36
+ '--color-accent': 'light-dark(#87E64B, #87E64B)',
37
+ '--color-accent-muted': 'light-dark(#25252a14, #f3f3f520)',
38
+ '--color-on-accent': 'light-dark(#ffffff, #25252a)',
39
+ '--color-neutral': 'light-dark(#25252a0f, #f3f3f51a)',
40
+ '--color-background-surface': 'light-dark(#E0E0E0, #1b1b1f)',
41
+ '--color-background-body': 'light-dark(#F2F2F2, #111015)',
42
+ '--color-overlay': 'light-dark(#25252a80, #28282acc)',
43
+ '--color-overlay-hover': 'light-dark(#25252a0d, #f3f3f50d)',
44
+ '--color-overlay-pressed': 'light-dark(#25252a1a, #f3f3f51a)',
45
+ '--color-background-muted': 'light-dark(#A9A9B2, #3b3b3f)',
46
+ '--color-text-primary': 'light-dark(#25252a, #f3f3f5)',
47
+ '--color-text-secondary': 'light-dark(#5e5e63, #ababb0)',
48
+ '--color-text-disabled': 'light-dark(#d7d7da, #5e5e61)',
49
+ '--color-text-accent': 'light-dark(#25252a, #f3f3f5)',
50
+ '--color-on-dark': '#FFFFFF',
51
+ '--color-on-light': 'light-dark(#25252a, #28282a)',
52
+ '--color-icon-accent': 'light-dark(#25252a, #f3f3f5)',
53
+ '--color-icon-primary': 'light-dark(#25252a, #f3f3f5)',
54
+ '--color-icon-secondary': 'light-dark(#83838a, #9d9da3)',
55
+ '--color-icon-disabled': 'light-dark(#d7d7da, #5e5e61)',
56
+ '--color-background-card': 'light-dark(#F7F7F7, #242325)',
57
+ '--color-background-popover': 'light-dark(#ffffff, #25252a)',
58
+ '--color-background-inverted': 'light-dark(#25252a, #f3f3f5)',
59
+ '--color-success': 'light-dark(#374c36, #b4cdb2)',
60
+ '--color-success-muted': 'light-dark(#d0e9ce, #b4cdb2)',
61
+ '--color-on-success': 'light-dark(#374c36, #d0e9ce)',
62
+ '--color-error': 'light-dark(#58413e, #dcc0bc)',
63
+ '--color-error-muted': 'light-dark(#f9dcd7, #dcc0bc)',
64
+ '--color-on-error': 'light-dark(#58413e, #f9dcd7)',
65
+ '--color-warning': 'light-dark(#524622, #d7c59c)',
66
+ '--color-warning-muted': 'light-dark(#f4e1b7, #d7c59c)',
67
+ '--color-on-warning': 'light-dark(#524622, #f4e1b7)',
68
+ '--color-border': 'light-dark(#e2e2e8, #f3f3f51a)',
69
+ '--color-border-emphasized': 'light-dark(#83838a, #5e5e61)',
70
+ '--color-skeleton': 'light-dark(#d4d4da, #5e5e64)',
71
+ '--color-shadow': 'light-dark(#25252a1a, #0000004d)',
72
+ '--color-background-blue': 'light-dark(#d7e4f5, #485362)',
73
+ '--color-border-blue': 'light-dark(#c9d6e7, #313c4a)',
74
+ '--color-icon-blue': 'light-dark(#3c4856, #d7e4f5)',
75
+ '--color-text-blue': 'light-dark(#3c4856, #d7e4f5)',
76
+ '--color-background-cyan': 'light-dark(#cce8e5, #3e5755)',
77
+ '--color-border-cyan': 'light-dark(#bedad7, #28403e)',
78
+ '--color-icon-cyan': 'light-dark(#334b49, #cce8e5)',
79
+ '--color-text-cyan': 'light-dark(#334b49, #cce8e5)',
80
+ '--color-background-gray': 'light-dark(#e2e2e8, #525257)',
81
+ '--color-border-gray': 'light-dark(#d4d4da, #3b3b3f)',
82
+ '--color-icon-gray': 'light-dark(#46464b, #e2e2e8)',
83
+ '--color-text-gray': 'light-dark(#46464b, #e2e2e8)',
84
+ '--color-background-green': 'light-dark(#d0e9ce, #425841)',
85
+ '--color-border-green': 'light-dark(#c2dbc0, #2b402b)',
86
+ '--color-icon-green': 'light-dark(#374c36, #d0e9ce)',
87
+ '--color-text-green': 'light-dark(#374c36, #d0e9ce)',
88
+ '--color-background-orange': 'light-dark(#ffdcbb, #684d32)',
89
+ '--color-border-orange': 'light-dark(#f1ceae, #4f361c)',
90
+ '--color-icon-orange': 'light-dark(#5b4227, #ffdcbb)',
91
+ '--color-text-orange': 'light-dark(#5b4227, #ffdcbb)',
92
+ '--color-background-pink': 'light-dark(#f0dde8, #5e4e57)',
93
+ '--color-border-pink': 'light-dark(#e2cfda, #463740)',
94
+ '--color-icon-pink': 'light-dark(#52424c, #f0dde8)',
95
+ '--color-text-pink': 'light-dark(#52424c, #f0dde8)',
96
+ '--color-background-purple': 'light-dark(#e8dff3, #564f60)',
97
+ '--color-border-purple': 'light-dark(#d9d1e5, #3f3949)',
98
+ '--color-icon-purple': 'light-dark(#4b4454, #e8dff3)',
99
+ '--color-text-purple': 'light-dark(#4b4454, #e8dff3)',
100
+ '--color-background-red': 'light-dark(#f9dcd7, #644d49)',
101
+ '--color-border-red': 'light-dark(#ebcec9, #4c3633)',
102
+ '--color-icon-red': 'light-dark(#58413e, #f9dcd7)',
103
+ '--color-text-red': 'light-dark(#58413e, #f9dcd7)',
104
+ '--color-background-teal': 'light-dark(#d4e7dc, #46564d)',
105
+ '--color-border-teal': 'light-dark(#c6d9ce, #303f36)',
106
+ '--color-icon-teal': 'light-dark(#3b4a41, #d4e7dc)',
107
+ '--color-text-teal': 'light-dark(#3b4a41, #d4e7dc)',
108
+ '--color-background-yellow': 'light-dark(#f4e1b7, #5e512d)',
109
+ '--color-border-yellow': 'light-dark(#e5d3a9, #463a18)',
110
+ '--color-icon-yellow': 'light-dark(#524622, #f4e1b7)',
111
+ '--color-text-yellow': 'light-dark(#524622, #f4e1b7)',
112
+ '--spacing-0-5': '4px',
113
+ '--spacing-1': '8px',
114
+ '--spacing-1-5': '12px',
115
+ '--spacing-2': '16px',
116
+ '--spacing-3': '24px',
117
+ '--spacing-4': '32px',
118
+ '--spacing-5': '40px',
119
+ '--spacing-6': '48px',
120
+ '--spacing-7': '56px',
121
+ '--spacing-8': '64px',
122
+ '--spacing-9': '72px',
123
+ '--spacing-10': '80px',
124
+ '--spacing-11': '88px',
125
+ '--spacing-12': '96px',
126
+ '--radius-inner': '8px',
127
+ '--radius-element': '16px',
128
+ '--radius-container': '24px',
129
+ '--radius-page': '56px',
130
+ '--radius-chat': '56px',
131
+ '--text-display-3-leading': '1.3793',
132
+ '--shadow-low': '0 2px 4px #28282A0D, 0 4px 8px #28282A1A',
133
+ '--shadow-med': '0 2px 4px #28282A0D, 0 4px 12px #28282A1A',
134
+ '--shadow-high': '0 4px 6px #28282A1A, 0 12px 24px #28282A26',
135
+ '--shadow-inset-hover': 'inset 0px 0px 0px 2px #28282A30',
136
+ '--shadow-inset-selected': 'inset 0px 0px 0px 2px #28282A50',
137
+ '--shadow-inset-success': 'inset 0px 0px 0px 2px #83838a30',
138
+ '--shadow-inset-warning': 'inset 0px 0px 0px 2px #83838a30',
139
+ '--shadow-inset-error': 'inset 0px 0px 0px 2px #83838a30',
140
+ '--duration-fast-min': '95ms',
141
+ '--duration-fast': '125ms',
142
+ '--duration-fast-max': '165ms',
143
+ '--duration-medium-min': '225ms',
144
+ '--duration-medium': '300ms',
145
+ '--duration-medium-max': '400ms',
146
+ '--duration-slow-min': '525ms',
147
+ '--duration-slow': '700ms',
148
+ '--duration-slow-max': '935ms',
149
+ '--color-syntax-keyword': 'light-dark(#645a72, #b2a7c1)',
150
+ '--color-syntax-string': 'light-dark(#4e6357, #9bb19a)',
151
+ '--color-syntax-comment': 'light-dark(#5e5e5e, #ababb0)',
152
+ '--color-syntax-number': 'light-dark(#755752, #bea792)',
153
+ '--color-syntax-function': 'light-dark(#506072, #99adc6)',
154
+ '--color-syntax-type': 'light-dark(#645a72, #b2a7c1)',
155
+ '--color-syntax-variable': 'light-dark(#5e5e5e, #ababb0)',
156
+ '--color-syntax-operator': 'light-dark(#5e5e5e, #ababb0)',
157
+ '--color-syntax-constant': 'light-dark(#755752, #bea792)',
158
+ '--color-syntax-tag': 'light-dark(#775751, #c7a39d)',
159
+ '--color-syntax-attribute': 'light-dark(#79693f, #b6aa90)',
160
+ '--color-syntax-property': 'light-dark(#4e6357, #94b2a0)',
161
+ '--color-syntax-punctuation': 'light-dark(#5e5e5e, #ababb0)',
162
+ '--color-syntax-background': 'light-dark(#f3f3f5, #171719)',
163
+ },
164
+
165
+ components: {
166
+ 'heading': {
167
+ 'level:1': {
168
+ 'fontFamily': 'var(--font-family-heading)',
169
+ 'fontSize': 'var(--text-heading-1-size)',
170
+ 'fontWeight': 'var(--text-heading-1-weight)',
171
+ 'lineHeight': 'var(--text-heading-1-leading)',
172
+ },
173
+ 'level:2': {
174
+ 'fontFamily': 'var(--font-family-heading)',
175
+ 'fontSize': 'var(--text-heading-2-size)',
176
+ 'fontWeight': 'var(--text-heading-2-weight)',
177
+ 'lineHeight': 'var(--text-heading-2-leading)',
178
+ },
179
+ 'level:3': {
180
+ 'fontFamily': 'var(--font-family-heading)',
181
+ 'fontSize': 'var(--text-heading-3-size)',
182
+ 'fontWeight': 'var(--text-heading-3-weight)',
183
+ 'lineHeight': 'var(--text-heading-3-leading)',
184
+ },
185
+ 'level:4': {
186
+ 'fontFamily': 'var(--font-family-heading)',
187
+ 'fontSize': 'var(--text-heading-4-size)',
188
+ 'fontWeight': 'var(--text-heading-4-weight)',
189
+ 'lineHeight': 'var(--text-heading-4-leading)',
190
+ },
191
+ 'level:5': {
192
+ 'fontFamily': 'var(--font-family-heading)',
193
+ 'fontSize': 'var(--text-heading-5-size)',
194
+ 'fontWeight': 'var(--text-heading-5-weight)',
195
+ 'lineHeight': 'var(--text-heading-5-leading)',
196
+ },
197
+ 'level:6': {
198
+ 'fontFamily': 'var(--font-family-heading)',
199
+ 'fontSize': 'var(--text-heading-6-size)',
200
+ 'fontWeight': 'var(--text-heading-6-weight)',
201
+ 'lineHeight': 'var(--text-heading-6-leading)',
202
+ },
203
+ 'type:display-1': {
204
+ 'fontFamily': 'var(--font-family-heading)',
205
+ 'fontSize': 'var(--text-display-1-size)',
206
+ 'lineHeight': 'var(--text-display-1-leading)',
207
+ },
208
+ 'type:display-2': {
209
+ 'fontFamily': 'var(--font-family-heading)',
210
+ 'fontSize': 'var(--text-display-2-size)',
211
+ 'lineHeight': 'var(--text-display-2-leading)',
212
+ },
213
+ 'type:display-3': {
214
+ 'fontFamily': 'var(--font-family-heading)',
215
+ 'fontSize': 'var(--text-display-3-size)',
216
+ 'lineHeight': 'var(--text-display-3-leading)',
217
+ },
218
+ },
219
+ 'text': {
220
+ 'type:body': {
221
+ 'fontFamily': 'var(--font-family-body)',
222
+ 'fontSize': 'var(--text-body-size)',
223
+ 'lineHeight': 'var(--text-body-leading)',
224
+ },
225
+ 'type:large': {
226
+ 'fontFamily': 'var(--font-family-body)',
227
+ 'fontSize': 'var(--text-large-size)',
228
+ 'lineHeight': 'var(--text-large-leading)',
229
+ },
230
+ 'type:label': {
231
+ 'fontFamily': 'var(--font-family-body)',
232
+ 'fontSize': 'var(--text-label-size)',
233
+ 'lineHeight': 'var(--text-label-leading)',
234
+ },
235
+ 'type:code': {
236
+ 'fontFamily': 'var(--font-family-code)',
237
+ 'fontSize': 'var(--text-code-size)',
238
+ 'lineHeight': 'var(--text-code-leading)',
239
+ },
240
+ 'type:supporting': {
241
+ 'fontFamily': 'var(--font-family-body)',
242
+ 'fontSize': 'var(--text-supporting-size)',
243
+ 'lineHeight': 'var(--text-supporting-leading)',
244
+ },
245
+ 'type:display-1': {
246
+ 'fontFamily': 'var(--font-family-heading)',
247
+ 'fontSize': 'var(--text-display-1-size)',
248
+ 'lineHeight': 'var(--text-display-1-leading)',
249
+ },
250
+ 'type:display-2': {
251
+ 'fontFamily': 'var(--font-family-heading)',
252
+ 'fontSize': 'var(--text-display-2-size)',
253
+ 'lineHeight': 'var(--text-display-2-leading)',
254
+ },
255
+ 'type:display-3': {
256
+ 'fontFamily': 'var(--font-family-heading)',
257
+ 'fontSize': 'var(--text-display-3-size)',
258
+ 'lineHeight': 'var(--text-display-3-leading)',
259
+ },
260
+ },
261
+ 'button': {
262
+ 'base': {
263
+ 'borderRadius': 'var(--radius-full)',
264
+ },
265
+ 'variant:secondary': {
266
+ 'backgroundColor': 'transparent',
267
+ 'borderWidth': '1.5px',
268
+ 'borderStyle': 'solid',
269
+ 'borderColor': 'var(--color-border-emphasized)',
270
+ ':hover': {
271
+ 'backgroundColor': 'var(--color-neutral)',
272
+ },
273
+ },
274
+ 'variant:destructive': {
275
+ 'backgroundColor': 'var(--color-background-red)',
276
+ 'color': 'var(--color-text-red)',
277
+ },
278
+ },
279
+ 'badge': {
280
+ 'variant:info': {
281
+ 'backgroundColor': 'var(--color-background-blue)',
282
+ 'color': 'var(--color-text-blue)',
283
+ },
284
+ 'variant:neutral': {
285
+ 'backgroundColor': 'var(--color-background-gray)',
286
+ 'color': 'var(--color-text-gray)',
287
+ },
288
+ 'variant:success': {
289
+ 'backgroundColor': 'var(--color-background-green)',
290
+ 'color': 'var(--color-text-green)',
291
+ },
292
+ 'variant:warning': {
293
+ 'backgroundColor': 'var(--color-background-yellow)',
294
+ 'color': 'var(--color-text-yellow)',
295
+ },
296
+ 'variant:error': {
297
+ 'backgroundColor': 'var(--color-background-red)',
298
+ 'color': 'var(--color-text-red)',
299
+ },
300
+ },
301
+ 'banner': {
302
+ 'status:info': {
303
+ '--color-accent-muted': 'var(--color-background-blue)',
304
+ '--color-text-primary': 'var(--color-text-blue)',
305
+ '--color-text-secondary': 'var(--color-text-blue)',
306
+ '--color-accent': 'var(--color-text-blue)',
307
+ },
308
+ 'status:success': {
309
+ '--color-success-muted': 'var(--color-background-green)',
310
+ '--color-text-primary': 'var(--color-text-green)',
311
+ '--color-text-secondary': 'var(--color-text-green)',
312
+ '--color-success': 'var(--color-text-green)',
313
+ },
314
+ 'status:warning': {
315
+ '--color-warning-muted': 'var(--color-background-yellow)',
316
+ '--color-text-primary': 'var(--color-text-yellow)',
317
+ '--color-text-secondary': 'var(--color-text-yellow)',
318
+ '--color-warning': 'var(--color-text-yellow)',
319
+ },
320
+ 'status:error': {
321
+ '--color-error-muted': 'var(--color-background-red)',
322
+ '--color-text-primary': 'var(--color-text-red)',
323
+ '--color-text-secondary': 'var(--color-text-red)',
324
+ '--color-error': 'var(--color-text-red)',
325
+ },
326
+ },
327
+ 'progressbar-fill': {
328
+ 'variant:accent': {
329
+ 'backgroundColor': 'light-dark(#d7e4f5, #a0acbc)',
330
+ },
331
+ 'variant:success': {
332
+ 'backgroundColor': 'light-dark(#d0e9ce, #9ab298)',
333
+ },
334
+ 'variant:warning': {
335
+ 'backgroundColor': 'light-dark(#f4e1b7, #bbaa82)',
336
+ },
337
+ 'variant:error': {
338
+ 'backgroundColor': 'light-dark(#f9dcd7, #c0a5a0)',
339
+ },
340
+ },
341
+ 'progressbar-track': {
342
+ 'base': {
343
+ 'backgroundColor': 'var(--color-skeleton)',
344
+ },
345
+ },
346
+ 'switch': {
347
+ 'base': {
348
+ '--color-background-gray': 'var(--color-skeleton)',
349
+ },
350
+ },
351
+ 'field-status': {
352
+ 'type:success': {
353
+ 'backgroundColor': 'var(--color-background-green)',
354
+ },
355
+ 'type:warning': {
356
+ 'backgroundColor': 'var(--color-background-yellow)',
357
+ },
358
+ 'type:error': {
359
+ 'backgroundColor': 'var(--color-background-red)',
360
+ },
361
+ },
362
+ 'text-input': {
363
+ 'status:success': {
364
+ '--color-success': 'light-dark(#7f977e, #99b298)',
365
+ },
366
+ 'status:warning': {
367
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
368
+ },
369
+ 'status:error': {
370
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
371
+ },
372
+ },
373
+ 'textarea': {
374
+ 'status:success': {
375
+ '--color-success': 'light-dark(#7f977e, #99b298)',
376
+ },
377
+ 'status:warning': {
378
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
379
+ },
380
+ 'status:error': {
381
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
382
+ },
383
+ },
384
+ 'number-input': {
385
+ 'status:success': {
386
+ '--color-success': 'light-dark(#7f977e, #99b298)',
387
+ },
388
+ 'status:warning': {
389
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
390
+ },
391
+ 'status:error': {
392
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
393
+ },
394
+ },
395
+ 'date-input': {
396
+ 'status:success': {
397
+ '--color-success': 'light-dark(#7f977e, #99b298)',
398
+ },
399
+ 'status:warning': {
400
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
401
+ },
402
+ 'status:error': {
403
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
404
+ },
405
+ },
406
+ 'time-input': {
407
+ 'status:success': {
408
+ '--color-success': 'light-dark(#7f977e, #99b298)',
409
+ },
410
+ 'status:warning': {
411
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
412
+ },
413
+ 'status:error': {
414
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
415
+ },
416
+ },
417
+ 'selector': {
418
+ 'status:success': {
419
+ '--color-success': 'light-dark(#7f977e, #99b298)',
420
+ },
421
+ 'status:warning': {
422
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
423
+ },
424
+ 'status:error': {
425
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
426
+ },
427
+ },
428
+ 'multi-selector': {
429
+ 'status:success': {
430
+ '--color-success': 'light-dark(#7f977e, #99b298)',
431
+ },
432
+ 'status:warning': {
433
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
434
+ },
435
+ 'status:error': {
436
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
437
+ },
438
+ },
439
+ 'typeahead': {
440
+ 'status:success': {
441
+ '--color-success': 'light-dark(#7f977e, #99b298)',
442
+ },
443
+ 'status:warning': {
444
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
445
+ },
446
+ 'status:error': {
447
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
448
+ },
449
+ },
450
+ 'tokenizer': {
451
+ 'status:success': {
452
+ '--color-success': 'light-dark(#7f977e, #99b298)',
453
+ },
454
+ 'status:warning': {
455
+ '--color-warning': 'light-dark(#9f8f68, #bbaa81)',
456
+ },
457
+ 'status:error': {
458
+ '--color-error': 'light-dark(#a58b86, #c0a5a1)',
459
+ },
460
+ },
461
+ 'card': {
462
+ 'base': {
463
+ 'padding': 'var(--spacing-3)',
464
+ },
465
+ },
466
+ 'section': {
467
+ 'base': {
468
+ 'padding': 'var(--spacing-3)',
469
+ },
470
+ },
471
+ },
472
+
473
+ icons: dovisualIconRegistry,
474
+ });
package/src/icons.tsx ADDED
@@ -0,0 +1,81 @@
1
+ // Copyright (c) Gomidot, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file icons.tsx
5
+ * @input Uses lucide-react icon components, IconRegistry type
6
+ * @output Exports neutralIconRegistry for the neutral theme
7
+ * @position Icon configuration for the neutral theme; consumed by index.ts
8
+ *
9
+ * Maps semantic icon names to Lucide icon components.
10
+ * These icons are bundled with the theme, not with @gomiui/core.
11
+ */
12
+
13
+ import React from 'react';
14
+ import type {IconRegistry} from '@gomiui/core/Icon';
15
+
16
+ import {
17
+ X,
18
+ ChevronDown,
19
+ ChevronLeft,
20
+ ChevronRight,
21
+ ChevronsLeft,
22
+ ChevronsRight,
23
+ Check,
24
+ CheckCircle,
25
+ XCircle,
26
+ AlertTriangle,
27
+ Info,
28
+ Calendar,
29
+ Clock,
30
+ ExternalLink,
31
+ Menu,
32
+ MoreHorizontal,
33
+ Search,
34
+ ArrowUp,
35
+ ArrowDown,
36
+ ArrowUpDown,
37
+ Filter,
38
+ EyeOff,
39
+ Columns,
40
+ Copy,
41
+ CheckCheck,
42
+ Wrench,
43
+ Square,
44
+ Mic,
45
+ } from 'lucide-react';
46
+
47
+ const iconProps = {
48
+ size: '1em',
49
+ 'aria-hidden': true as const,
50
+ };
51
+
52
+ export const dovisualIconRegistry: IconRegistry = {
53
+ close: <X {...iconProps} />,
54
+ chevronDown: <ChevronDown {...iconProps} />,
55
+ chevronLeft: <ChevronLeft {...iconProps} />,
56
+ chevronRight: <ChevronRight {...iconProps} />,
57
+ chevronsLeft: <ChevronsLeft {...iconProps} />,
58
+ chevronsRight: <ChevronsRight {...iconProps} />,
59
+ check: <Check {...iconProps} />,
60
+ success: <CheckCircle {...iconProps} />,
61
+ error: <XCircle {...iconProps} />,
62
+ warning: <AlertTriangle {...iconProps} />,
63
+ info: <Info {...iconProps} />,
64
+ calendar: <Calendar {...iconProps} />,
65
+ clock: <Clock {...iconProps} />,
66
+ externalLink: <ExternalLink {...iconProps} />,
67
+ menu: <Menu {...iconProps} />,
68
+ moreHorizontal: <MoreHorizontal {...iconProps} />,
69
+ search: <Search {...iconProps} />,
70
+ arrowUp: <ArrowUp {...iconProps} />,
71
+ arrowDown: <ArrowDown {...iconProps} />,
72
+ arrowsUpDown: <ArrowUpDown {...iconProps} />,
73
+ funnel: <Filter {...iconProps} />,
74
+ eyeSlash: <EyeOff {...iconProps} />,
75
+ viewColumns: <Columns {...iconProps} />,
76
+ copy: <Copy {...iconProps} />,
77
+ checkDouble: <CheckCheck {...iconProps} />,
78
+ wrench: <Wrench {...iconProps} />,
79
+ stop: <Square {...iconProps} />,
80
+ microphone: <Mic {...iconProps} />,
81
+ };
package/src/source.ts ADDED
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Gomidot, Inc. and affiliates.
2
+
3
+ export {dovisualTheme} from './dovisualTheme';
4
+ export {dovisualIconRegistry} from './icons';