@loworbitstudio/visor-core 0.3.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.
@@ -0,0 +1,272 @@
1
+ /* ============================================
2
+ Visor Design Tokens — Dark Theme
3
+ Generated by @loworbitstudio/visor-core
4
+ DO NOT EDIT — run `npm run build` to regenerate
5
+ ============================================ */
6
+
7
+ /* --- Adaptive: Text (dark) — manual toggle --- */
8
+ .dark,
9
+ .theme-dark,
10
+ [data-theme="dark"] {
11
+ --text-primary: var(--color-neutral-50);
12
+ --text-secondary: var(--color-neutral-400);
13
+ --text-tertiary: var(--color-neutral-500);
14
+ --text-disabled: var(--color-neutral-600);
15
+ --text-inverse: var(--color-neutral-900);
16
+ --text-inverse-secondary: var(--color-neutral-700);
17
+ --text-link: var(--color-primary-400);
18
+ --text-link-hover: var(--color-primary-300);
19
+ --text-success: var(--color-success-500);
20
+ --text-warning: var(--color-warning-500);
21
+ --text-error: var(--color-error-500);
22
+ --text-info: var(--color-info-500);
23
+ }
24
+
25
+
26
+ /* --- Adaptive: Surface (dark) — manual toggle --- */
27
+ .dark,
28
+ .theme-dark,
29
+ [data-theme="dark"] {
30
+ --surface-page: var(--color-neutral-950);
31
+ --surface-card: var(--color-neutral-900);
32
+ --surface-subtle: var(--color-neutral-800);
33
+ --surface-muted: var(--color-neutral-700);
34
+ --surface-overlay: var(--color-neutral-950);
35
+ --surface-popover: var(--color-neutral-900);
36
+ --surface-interactive-default: var(--color-neutral-800);
37
+ --surface-interactive-hover: var(--color-neutral-700);
38
+ --surface-interactive-active: var(--color-neutral-600);
39
+ --surface-interactive-disabled: var(--color-neutral-800);
40
+ --surface-accent-subtle: var(--color-primary-900);
41
+ --surface-accent-default: var(--color-primary-500);
42
+ --surface-accent-strong: var(--color-primary-400);
43
+ --surface-success-subtle: var(--color-success-900);
44
+ --surface-success-default: var(--color-success-500);
45
+ --surface-warning-subtle: var(--color-warning-900);
46
+ --surface-warning-default: var(--color-warning-500);
47
+ --surface-error-subtle: var(--color-error-900);
48
+ --surface-error-default: var(--color-error-500);
49
+ --surface-info-subtle: var(--color-info-900);
50
+ --surface-info-default: var(--color-info-500);
51
+ }
52
+
53
+
54
+ /* --- Adaptive: Border (dark) — manual toggle --- */
55
+ .dark,
56
+ .theme-dark,
57
+ [data-theme="dark"] {
58
+ --border-default: var(--color-neutral-700);
59
+ --border-muted: var(--color-neutral-800);
60
+ --border-strong: var(--color-neutral-600);
61
+ --border-focus: var(--color-primary-400);
62
+ --border-disabled: var(--color-neutral-800);
63
+ --border-input: var(--color-neutral-700);
64
+ --border-success: var(--color-success-500);
65
+ --border-warning: var(--color-warning-500);
66
+ --border-error: var(--color-error-500);
67
+ --border-info: var(--color-info-500);
68
+ }
69
+
70
+
71
+ /* --- Adaptive: Interactive (dark) — manual toggle --- */
72
+ .dark,
73
+ .theme-dark,
74
+ [data-theme="dark"] {
75
+ --interactive-primary-bg: var(--color-primary-500);
76
+ --interactive-primary-bg-hover: var(--color-primary-400);
77
+ --interactive-primary-bg-active: var(--color-primary-300);
78
+ --interactive-primary-text: var(--color-white);
79
+ --interactive-secondary-bg: var(--color-neutral-800);
80
+ --interactive-secondary-bg-hover: var(--color-neutral-700);
81
+ --interactive-secondary-bg-active: var(--color-neutral-600);
82
+ --interactive-secondary-text: var(--color-neutral-50);
83
+ --interactive-secondary-border: var(--color-neutral-600);
84
+ --interactive-destructive-bg: var(--color-error-500);
85
+ --interactive-destructive-bg-hover: var(--color-error-600);
86
+ --interactive-destructive-text: var(--color-white);
87
+ --interactive-ghost-bg: var(--color-neutral-800);
88
+ --interactive-ghost-bg-hover: var(--color-neutral-700);
89
+ }
90
+
91
+
92
+ /* --- Adaptive: Skeleton (dark) — manual toggle --- */
93
+ .dark,
94
+ .theme-dark,
95
+ [data-theme="dark"] {
96
+ --skeleton-from: var(--color-neutral-800);
97
+ --skeleton-to: var(--color-neutral-700);
98
+ }
99
+
100
+
101
+ /* --- Adaptive: Shadows (dark) — manual toggle --- */
102
+ .dark,
103
+ .theme-dark,
104
+ [data-theme="dark"] {
105
+ --shadow-xs: inset 0 1px 2px 0 rgba(0, 0, 0, 0.15);
106
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
107
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
108
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.35);
109
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.45), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
110
+ }
111
+
112
+
113
+ /* --- Adaptive: Chart (dark) — manual toggle --- */
114
+ .dark,
115
+ .theme-dark,
116
+ [data-theme="dark"] {
117
+ --chart-1: var(--color-primary-400);
118
+ --chart-2: var(--color-success-500);
119
+ --chart-3: var(--color-warning-500);
120
+ --chart-4: var(--color-info-500);
121
+ --chart-5: var(--color-error-500);
122
+ }
123
+
124
+
125
+ /* --- Adaptive: Sidebar (dark) — manual toggle --- */
126
+ .dark,
127
+ .theme-dark,
128
+ [data-theme="dark"] {
129
+ --sidebar-bg: var(--color-neutral-900);
130
+ --sidebar-text: var(--color-neutral-300);
131
+ --sidebar-primary-bg: var(--color-primary-500);
132
+ --sidebar-primary-text: var(--color-white);
133
+ --sidebar-accent-bg: var(--color-neutral-800);
134
+ --sidebar-accent-text: var(--color-neutral-50);
135
+ --sidebar-border: var(--color-neutral-700);
136
+ --sidebar-ring: var(--color-primary-400);
137
+ --sidebar-text-muted: var(--color-neutral-400);
138
+ }
139
+
140
+
141
+ /* --- Adaptive: Text (dark) — prefers-color-scheme --- */
142
+ @media (prefers-color-scheme: dark) {
143
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
144
+ --text-primary: var(--color-neutral-50);
145
+ --text-secondary: var(--color-neutral-400);
146
+ --text-tertiary: var(--color-neutral-500);
147
+ --text-disabled: var(--color-neutral-600);
148
+ --text-inverse: var(--color-neutral-900);
149
+ --text-inverse-secondary: var(--color-neutral-700);
150
+ --text-link: var(--color-primary-400);
151
+ --text-link-hover: var(--color-primary-300);
152
+ --text-success: var(--color-success-500);
153
+ --text-warning: var(--color-warning-500);
154
+ --text-error: var(--color-error-500);
155
+ --text-info: var(--color-info-500);
156
+ }
157
+ }
158
+
159
+
160
+ /* --- Adaptive: Surface (dark) — prefers-color-scheme --- */
161
+ @media (prefers-color-scheme: dark) {
162
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
163
+ --surface-page: var(--color-neutral-950);
164
+ --surface-card: var(--color-neutral-900);
165
+ --surface-subtle: var(--color-neutral-800);
166
+ --surface-muted: var(--color-neutral-700);
167
+ --surface-overlay: var(--color-neutral-950);
168
+ --surface-popover: var(--color-neutral-900);
169
+ --surface-interactive-default: var(--color-neutral-800);
170
+ --surface-interactive-hover: var(--color-neutral-700);
171
+ --surface-interactive-active: var(--color-neutral-600);
172
+ --surface-interactive-disabled: var(--color-neutral-800);
173
+ --surface-accent-subtle: var(--color-primary-900);
174
+ --surface-accent-default: var(--color-primary-500);
175
+ --surface-accent-strong: var(--color-primary-400);
176
+ --surface-success-subtle: var(--color-success-900);
177
+ --surface-success-default: var(--color-success-500);
178
+ --surface-warning-subtle: var(--color-warning-900);
179
+ --surface-warning-default: var(--color-warning-500);
180
+ --surface-error-subtle: var(--color-error-900);
181
+ --surface-error-default: var(--color-error-500);
182
+ --surface-info-subtle: var(--color-info-900);
183
+ --surface-info-default: var(--color-info-500);
184
+ }
185
+ }
186
+
187
+
188
+ /* --- Adaptive: Border (dark) — prefers-color-scheme --- */
189
+ @media (prefers-color-scheme: dark) {
190
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
191
+ --border-default: var(--color-neutral-700);
192
+ --border-muted: var(--color-neutral-800);
193
+ --border-strong: var(--color-neutral-600);
194
+ --border-focus: var(--color-primary-400);
195
+ --border-disabled: var(--color-neutral-800);
196
+ --border-input: var(--color-neutral-700);
197
+ --border-success: var(--color-success-500);
198
+ --border-warning: var(--color-warning-500);
199
+ --border-error: var(--color-error-500);
200
+ --border-info: var(--color-info-500);
201
+ }
202
+ }
203
+
204
+
205
+ /* --- Adaptive: Interactive (dark) — prefers-color-scheme --- */
206
+ @media (prefers-color-scheme: dark) {
207
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
208
+ --interactive-primary-bg: var(--color-primary-500);
209
+ --interactive-primary-bg-hover: var(--color-primary-400);
210
+ --interactive-primary-bg-active: var(--color-primary-300);
211
+ --interactive-primary-text: var(--color-white);
212
+ --interactive-secondary-bg: var(--color-neutral-800);
213
+ --interactive-secondary-bg-hover: var(--color-neutral-700);
214
+ --interactive-secondary-bg-active: var(--color-neutral-600);
215
+ --interactive-secondary-text: var(--color-neutral-50);
216
+ --interactive-secondary-border: var(--color-neutral-600);
217
+ --interactive-destructive-bg: var(--color-error-500);
218
+ --interactive-destructive-bg-hover: var(--color-error-600);
219
+ --interactive-destructive-text: var(--color-white);
220
+ --interactive-ghost-bg: var(--color-neutral-800);
221
+ --interactive-ghost-bg-hover: var(--color-neutral-700);
222
+ }
223
+ }
224
+
225
+
226
+ /* --- Adaptive: Skeleton (dark) — prefers-color-scheme --- */
227
+ @media (prefers-color-scheme: dark) {
228
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
229
+ --skeleton-from: var(--color-neutral-800);
230
+ --skeleton-to: var(--color-neutral-700);
231
+ }
232
+ }
233
+
234
+
235
+ /* --- Adaptive: Shadows (dark) — prefers-color-scheme --- */
236
+ @media (prefers-color-scheme: dark) {
237
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
238
+ --shadow-xs: inset 0 1px 2px 0 rgba(0, 0, 0, 0.15);
239
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
240
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
241
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.35);
242
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.45), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
243
+ }
244
+ }
245
+
246
+
247
+ /* --- Adaptive: Chart (dark) — prefers-color-scheme --- */
248
+ @media (prefers-color-scheme: dark) {
249
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
250
+ --chart-1: var(--color-primary-400);
251
+ --chart-2: var(--color-success-500);
252
+ --chart-3: var(--color-warning-500);
253
+ --chart-4: var(--color-info-500);
254
+ --chart-5: var(--color-error-500);
255
+ }
256
+ }
257
+
258
+
259
+ /* --- Adaptive: Sidebar (dark) — prefers-color-scheme --- */
260
+ @media (prefers-color-scheme: dark) {
261
+ :root:not(.light):not(.theme-light):not([data-theme="light"]) {
262
+ --sidebar-bg: var(--color-neutral-900);
263
+ --sidebar-text: var(--color-neutral-300);
264
+ --sidebar-primary-bg: var(--color-primary-500);
265
+ --sidebar-primary-text: var(--color-white);
266
+ --sidebar-accent-bg: var(--color-neutral-800);
267
+ --sidebar-accent-text: var(--color-neutral-50);
268
+ --sidebar-border: var(--color-neutral-700);
269
+ --sidebar-ring: var(--color-primary-400);
270
+ --sidebar-text-muted: var(--color-neutral-400);
271
+ }
272
+ }
@@ -0,0 +1,122 @@
1
+ /* ============================================
2
+ Visor Design Tokens — Light Theme
3
+ Generated by @loworbitstudio/visor-core
4
+ DO NOT EDIT — run `npm run build` to regenerate
5
+ ============================================ */
6
+
7
+ /* --- Adaptive: Text (light) --- */
8
+ :root {
9
+ --text-primary: var(--color-neutral-900);
10
+ --text-secondary: var(--color-neutral-600);
11
+ --text-tertiary: var(--color-neutral-400);
12
+ --text-disabled: var(--color-neutral-300);
13
+ --text-inverse: var(--color-white);
14
+ --text-inverse-secondary: var(--color-neutral-200);
15
+ --text-link: var(--color-primary-600);
16
+ --text-link-hover: var(--color-primary-700);
17
+ --text-success: var(--color-success-700);
18
+ --text-warning: var(--color-warning-700);
19
+ --text-error: var(--color-error-700);
20
+ --text-info: var(--color-info-700);
21
+ }
22
+
23
+
24
+ /* --- Adaptive: Surface (light) --- */
25
+ :root {
26
+ --surface-page: var(--color-white);
27
+ --surface-card: var(--color-white);
28
+ --surface-subtle: var(--color-neutral-50);
29
+ --surface-muted: var(--color-neutral-100);
30
+ --surface-overlay: var(--color-neutral-900);
31
+ --surface-popover: var(--color-white);
32
+ --surface-interactive-default: var(--color-white);
33
+ --surface-interactive-hover: var(--color-neutral-50);
34
+ --surface-interactive-active: var(--color-neutral-100);
35
+ --surface-interactive-disabled: var(--color-neutral-50);
36
+ --surface-accent-subtle: var(--color-primary-50);
37
+ --surface-accent-default: var(--color-primary-500);
38
+ --surface-accent-strong: var(--color-primary-600);
39
+ --surface-success-subtle: var(--color-success-50);
40
+ --surface-success-default: var(--color-success-500);
41
+ --surface-warning-subtle: var(--color-warning-50);
42
+ --surface-warning-default: var(--color-warning-500);
43
+ --surface-error-subtle: var(--color-error-50);
44
+ --surface-error-default: var(--color-error-500);
45
+ --surface-info-subtle: var(--color-info-50);
46
+ --surface-info-default: var(--color-info-500);
47
+ }
48
+
49
+
50
+ /* --- Adaptive: Border (light) --- */
51
+ :root {
52
+ --border-default: var(--color-neutral-200);
53
+ --border-muted: var(--color-neutral-100);
54
+ --border-strong: var(--color-neutral-300);
55
+ --border-focus: var(--color-primary-500);
56
+ --border-disabled: var(--color-neutral-100);
57
+ --border-input: var(--color-neutral-200);
58
+ --border-success: var(--color-success-500);
59
+ --border-warning: var(--color-warning-500);
60
+ --border-error: var(--color-error-500);
61
+ --border-info: var(--color-info-500);
62
+ }
63
+
64
+
65
+ /* --- Adaptive: Interactive (light) --- */
66
+ :root {
67
+ --interactive-primary-bg: var(--color-primary-600);
68
+ --interactive-primary-bg-hover: var(--color-primary-700);
69
+ --interactive-primary-bg-active: var(--color-primary-800);
70
+ --interactive-primary-text: var(--color-white);
71
+ --interactive-secondary-bg: var(--color-white);
72
+ --interactive-secondary-bg-hover: var(--color-neutral-50);
73
+ --interactive-secondary-bg-active: var(--color-neutral-100);
74
+ --interactive-secondary-text: var(--color-neutral-900);
75
+ --interactive-secondary-border: var(--color-neutral-300);
76
+ --interactive-destructive-bg: var(--color-error-600);
77
+ --interactive-destructive-bg-hover: var(--color-error-700);
78
+ --interactive-destructive-text: var(--color-white);
79
+ --interactive-ghost-bg: var(--color-white);
80
+ --interactive-ghost-bg-hover: var(--color-neutral-100);
81
+ }
82
+
83
+
84
+ /* --- Adaptive: Skeleton (light) --- */
85
+ :root {
86
+ --skeleton-from: var(--color-neutral-100);
87
+ --skeleton-to: var(--color-neutral-200);
88
+ }
89
+
90
+
91
+ /* --- Adaptive: Shadows (light) --- */
92
+ :root {
93
+ --shadow-xs: inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);
94
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
95
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
96
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
97
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
98
+ }
99
+
100
+
101
+ /* --- Adaptive: Chart (light) --- */
102
+ :root {
103
+ --chart-1: var(--color-primary-500);
104
+ --chart-2: var(--color-success-500);
105
+ --chart-3: var(--color-warning-500);
106
+ --chart-4: var(--color-info-500);
107
+ --chart-5: var(--color-error-500);
108
+ }
109
+
110
+
111
+ /* --- Adaptive: Sidebar (light) --- */
112
+ :root {
113
+ --sidebar-bg: var(--color-neutral-50);
114
+ --sidebar-text: var(--color-neutral-700);
115
+ --sidebar-primary-bg: var(--color-primary-600);
116
+ --sidebar-primary-text: var(--color-white);
117
+ --sidebar-accent-bg: var(--color-neutral-100);
118
+ --sidebar-accent-text: var(--color-neutral-900);
119
+ --sidebar-border: var(--color-neutral-200);
120
+ --sidebar-ring: var(--color-primary-500);
121
+ --sidebar-text-muted: var(--color-neutral-500);
122
+ }