@wtasnorg/candi 0.0.32 → 0.0.36

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/README.md CHANGED
@@ -174,6 +174,20 @@ Tailwind v4 (Recommended):
174
174
  @import "@wtasnorg/candi/v4";
175
175
  ```
176
176
 
177
+ The v4 theme uses the `--color-candi-` prefix for CSS variables (e.g., `--color-candi-bg`), which generates utility classes like `bg-candi-bg`, `text-candi-text`, etc.
178
+
179
+ Quick start example:
180
+
181
+ ```css
182
+ @import "tailwindcss";
183
+ @import "@wtasnorg/candi/v4";
184
+
185
+ body {
186
+ background-color: var(--color-candi-bg);
187
+ color: var(--color-candi-text);
188
+ }
189
+ ```
190
+
177
191
  Tailwind v3:
178
192
 
179
193
  ```js
@@ -204,17 +218,17 @@ module.exports = {
204
218
 
205
219
  | Token | Light | Dark | Usage |
206
220
  | :--- | :--- | :--- | :--- |
207
- | `bg` | Warm white | Warm dark (Hygge) | Page background |
208
- | `surface` | Soft cream | Warm dark surface | Cards, sections |
209
- | `elevated` | Pure white | Warm elevated dark | Modals, popups |
221
+ | `bg` | Bright white | Warm dark gray | Page background |
222
+ | `surface` | Warm off-white | Warm dark surface | Cards, sections |
223
+ | `elevated` | Pure near-white | Warm elevated dark | Modals, popups |
210
224
  | `text` | Warm charcoal | Off-white | Primary text |
211
- | `text-subtle` | Medium gray | Light gray | Secondary text |
212
- | `text-muted` | Light gray | Muted gray | Tertiary text |
213
- | `accent` | Steel blue | Lighter steel | Primary actions |
214
- | `secondary` | Terracotta | Lighter terracotta | Secondary actions |
215
- | `success` | Forest green | Lighter green | Success states |
216
- | `warning` | Amber | Lighter amber | Warning states |
217
- | `error` | Coral red | Lighter coral | Error states |
225
+ | `text-subtle` | Medium charcoal | Light gray | Secondary text |
226
+ | `text-muted` | Warm gray | Muted warm gray | Tertiary text |
227
+ | `accent` | Balanced steel blue | Lighter steel | Primary actions |
228
+ | `secondary` | Balanced terracotta | Lighter terracotta | Secondary actions |
229
+ | `success` | Balanced forest | Lighter forest | Success states |
230
+ | `warning` | Balanced amber | Lighter amber | Warning states |
231
+ | `error` | Balanced brick | Lighter brick | Error states |
218
232
 
219
233
  ### Primitive Colors
220
234
 
package/dist/base.css CHANGED
@@ -12,26 +12,26 @@
12
12
 
13
13
  :root {
14
14
  /* @tokens-start-light */
15
- --candi-bg: oklch(97.8% 0.005 80);
16
- --candi-surface: oklch(95.5% 0.01 80);
17
- --candi-elevated: oklch(100% 0 0);
18
- --candi-text: oklch(28% 0.015 80);
19
- --candi-text-subtle: oklch(50% 0.01 80);
20
- --candi-text-muted: oklch(55% 0.01 80);
21
- --candi-border: oklch(84% 0.01 80);
22
- --candi-border-strong: oklch(75% 0.01 80);
23
- --candi-divider: oklch(88% 0.01 80);
24
- --candi-link: oklch(50% 0.08 230);
25
- --candi-disabled: oklch(75% 0.005 250);
15
+ --candi-bg: oklch(97.5% 0.005 80);
16
+ --candi-surface: oklch(95% 0.008 80);
17
+ --candi-elevated: oklch(99.5% 0.003 80);
18
+ --candi-text: oklch(15% 0.01 80);
19
+ --candi-text-subtle: oklch(40% 0.008 80);
20
+ --candi-text-muted: oklch(52% 0.006 80);
21
+ --candi-border: oklch(84% 0.005 80);
22
+ --candi-border-strong: oklch(77% 0.006 80);
23
+ --candi-divider: oklch(90% 0.004 80);
24
+ --candi-link: oklch(48% 0.14 240);
25
+ --candi-disabled: oklch(82% 0.004 80);
26
26
  --candi-overlay: oklch(0% 0 0 / 0.5);
27
27
  --candi-scrim: oklch(0% 0 0 / 0.32);
28
- --candi-inverse-surface: oklch(25% 0.015 250);
29
- --candi-inverse-text: oklch(92% 0.01 250);
28
+ --candi-inverse-surface: oklch(25% 0.005 80);
29
+ --candi-inverse-text: oklch(92% 0.005 80);
30
30
  --candi-shadow: 0 2px 8px rgba(45, 50, 57, 0.06);
31
31
  --candi-shadow-md: 0 4px 20px rgba(45, 50, 57, 0.1);
32
32
  --candi-shadow-lg: 0 8px 40px rgba(45, 50, 57, 0.15);
33
- --candi-shadow-color: oklch(25% 0.01 250 / 0.15);
34
- --candi-focus-ring: oklch(52% 0.06 230 / 0.4);
33
+ --candi-shadow-color: oklch(25% 0.005 80 / 0.15);
34
+ --candi-focus-ring: oklch(52% 0.06 240 / 0.4);
35
35
  --candi-syntax-keyword: oklch(60% 0.15 0);
36
36
  --candi-syntax-type: oklch(65% 0.12 280);
37
37
  --candi-syntax-var: oklch(65% 0.1 200);
@@ -40,7 +40,7 @@
40
40
  --candi-syntax-string: oklch(60% 0.12 140);
41
41
  --candi-hover: oklch(0% 0 0 / 0.05);
42
42
  --candi-active: oklch(0% 0 0 / 0.1);
43
- --candi-terminal-black: oklch(25% 0.01 250);
43
+ --candi-terminal-black: oklch(25% 0.005 80);
44
44
  --candi-terminal-red: oklch(58% 0.12 25);
45
45
  --candi-terminal-green: oklch(52% 0.08 145);
46
46
  --candi-terminal-yellow: oklch(68% 0.13 70);
@@ -51,12 +51,16 @@
51
51
  --candi-red: oklch(55% 0.14 25);
52
52
  --candi-red-subtle: oklch(88% 0.11 25);
53
53
  --candi-red-soft: oklch(65% 0.13 25);
54
+ --candi-red-warm: oklch(70% 0.12 25);
55
+ --candi-red-hot: oklch(50% 0.16 25);
54
56
  --candi-red-strong: oklch(45% 0.15 25);
55
57
  --candi-red-outline: oklch(40% 0.13 25);
56
58
  --candi-on-red: oklch(100% 0 0);
57
59
  --candi-blue: oklch(50% 0.12 250);
58
60
  --candi-blue-subtle: oklch(83% 0.10 250);
59
61
  --candi-blue-soft: oklch(60% 0.11 250);
62
+ --candi-blue-warm: oklch(65% 0.10 250);
63
+ --candi-blue-hot: oklch(45% 0.14 250);
60
64
  --candi-blue-strong: oklch(40% 0.13 250);
61
65
  --candi-blue-outline: oklch(35% 0.11 250);
62
66
  --candi-on-blue: oklch(100% 0 0);
@@ -108,67 +112,79 @@
108
112
  --candi-silver-strong: oklch(65% 0.012 250);
109
113
  --candi-silver-outline: oklch(60% 0.009 250);
110
114
  --candi-on-silver: oklch(0% 0 0);
111
- --candi-accent: oklch(52% 0.08 250);
112
- --candi-accent-subtle: oklch(85% 0.048 250);
113
- --candi-accent-soft: oklch(62% 0.064 250);
114
- --candi-accent-strong: oklch(42% 0.088 250);
115
- --candi-accent-outline: oklch(37% 0.056 250);
115
+ --candi-accent: oklch(50% 0.13 245);
116
+ --candi-accent-subtle: oklch(83% 0.078 245);
117
+ --candi-accent-soft: oklch(60% 0.104 245);
118
+ --candi-accent-warm: oklch(65% 0.1105 245);
119
+ --candi-accent-hot: oklch(45% 0.1495 245);
120
+ --candi-accent-strong: oklch(40% 0.143 245);
121
+ --candi-accent-outline: oklch(35% 0.091 245);
116
122
  --candi-on-accent: oklch(100% 0 0);
117
- --candi-secondary: oklch(60% 0.07 15);
118
- --candi-secondary-subtle: oklch(93% 0.042 15);
119
- --candi-secondary-soft: oklch(70% 0.056 15);
120
- --candi-secondary-strong: oklch(50% 0.077 15);
121
- --candi-secondary-outline: oklch(45% 0.049 15);
122
- --candi-on-secondary: oklch(0% 0 0);
123
- --candi-success: oklch(50% 0.06 145);
124
- --candi-success-subtle: oklch(83% 0.036 145);
125
- --candi-success-soft: oklch(60% 0.048 145);
126
- --candi-success-strong: oklch(40% 0.066 145);
127
- --candi-success-outline: oklch(35% 0.042 145);
123
+ --candi-secondary: oklch(55% 0.12 20);
124
+ --candi-secondary-subtle: oklch(88% 0.072 20);
125
+ --candi-secondary-soft: oklch(65% 0.096 20);
126
+ --candi-secondary-warm: oklch(70% 0.102 20);
127
+ --candi-secondary-hot: oklch(50% 0.138 20);
128
+ --candi-secondary-strong: oklch(45% 0.132 20);
129
+ --candi-secondary-outline: oklch(40% 0.084 20);
130
+ --candi-on-secondary: oklch(100% 0 0);
131
+ --candi-success: oklch(50% 0.10 150);
132
+ --candi-success-subtle: oklch(83% 0.06 150);
133
+ --candi-success-soft: oklch(60% 0.08 150);
134
+ --candi-success-warm: oklch(65% 0.085 150);
135
+ --candi-success-hot: oklch(45% 0.115 150);
136
+ --candi-success-strong: oklch(40% 0.11 150);
137
+ --candi-success-outline: oklch(35% 0.07 150);
128
138
  --candi-on-success: oklch(100% 0 0);
129
- --candi-warning: oklch(60% 0.07 75);
130
- --candi-warning-subtle: oklch(93% 0.042 75);
131
- --candi-warning-soft: oklch(70% 0.056 75);
132
- --candi-warning-strong: oklch(50% 0.077 75);
133
- --candi-warning-outline: oklch(45% 0.049 75);
139
+ --candi-warning: oklch(60% 0.13 80);
140
+ --candi-warning-subtle: oklch(93% 0.078 80);
141
+ --candi-warning-soft: oklch(70% 0.104 80);
142
+ --candi-warning-warm: oklch(75% 0.1105 80);
143
+ --candi-warning-hot: oklch(55% 0.1495 80);
144
+ --candi-warning-strong: oklch(50% 0.143 80);
145
+ --candi-warning-outline: oklch(45% 0.091 80);
134
146
  --candi-on-warning: oklch(0% 0 0);
135
- --candi-error: oklch(50% 0.08 25);
136
- --candi-error-subtle: oklch(83% 0.048 25);
137
- --candi-error-soft: oklch(60% 0.064 25);
138
- --candi-error-strong: oklch(40% 0.088 25);
139
- --candi-error-outline: oklch(35% 0.056 25);
147
+ --candi-error: oklch(50% 0.14 25);
148
+ --candi-error-subtle: oklch(83% 0.084 25);
149
+ --candi-error-soft: oklch(60% 0.112 25);
150
+ --candi-error-warm: oklch(65% 0.119 25);
151
+ --candi-error-hot: oklch(45% 0.161 25);
152
+ --candi-error-strong: oklch(40% 0.154 25);
153
+ --candi-error-outline: oklch(35% 0.098 25);
140
154
  --candi-on-error: oklch(100% 0 0);
141
- --candi-info: oklch(50% 0.06 225);
142
- --candi-info-subtle: oklch(83% 0.036 225);
143
- --candi-info-soft: oklch(60% 0.048 225);
144
- --candi-info-strong: oklch(40% 0.066 225);
145
- --candi-info-outline: oklch(35% 0.042 225);
155
+ --candi-info: oklch(50% 0.10 225);
156
+ --candi-info-subtle: oklch(83% 0.06 225);
157
+ --candi-info-soft: oklch(60% 0.08 225);
158
+ --candi-info-warm: oklch(65% 0.085 225);
159
+ --candi-info-hot: oklch(45% 0.115 225);
160
+ --candi-info-strong: oklch(40% 0.11 225);
161
+ --candi-info-outline: oklch(35% 0.07 225);
146
162
  --candi-on-info: oklch(100% 0 0);
147
163
  /* @tokens-end-light */
148
164
  }
149
165
 
150
166
  .dark {
151
167
  /* @tokens-start-dark */
152
- --candi-bg: oklch(18% 0.015 250);
153
- --candi-surface: oklch(22% 0.012 250);
154
- --candi-elevated: oklch(25% 0.015 250);
155
- --candi-text: oklch(92% 0.01 250);
156
- --candi-text-subtle: oklch(75% 0.01 250);
157
- --candi-text-muted: oklch(62% 0.008 250);
158
- --candi-border: oklch(35% 0.01 250);
159
- --candi-border-strong: oklch(45% 0.012 250);
160
- --candi-divider: oklch(32% 0.008 250);
161
- --candi-link: oklch(65% 0.08 250);
162
- --candi-disabled: oklch(45% 0.005 250);
168
+ --candi-bg: oklch(20% 0.005 80);
169
+ --candi-surface: oklch(26% 0.005 80);
170
+ --candi-elevated: oklch(32% 0.006 80);
171
+ --candi-text: oklch(90% 0.005 80);
172
+ --candi-text-subtle: oklch(70% 0.005 80);
173
+ --candi-text-muted: oklch(60% 0.004 80);
174
+ --candi-border: oklch(40% 0.005 80);
175
+ --candi-border-strong: oklch(45% 0.006 80);
176
+ --candi-divider: oklch(35% 0.004 80);
177
+ --candi-link: oklch(65% 0.14 240);
178
+ --candi-disabled: oklch(45% 0.004 80);
163
179
  --candi-overlay: oklch(0% 0 0 / 0.7);
164
180
  --candi-scrim: oklch(0% 0 0 / 0.6);
165
- --candi-inverse-surface: oklch(92% 0.01 250);
166
- --candi-inverse-text: oklch(25% 0.015 250);
181
+ --candi-inverse-surface: oklch(92% 0.005 80);
182
+ --candi-inverse-text: oklch(20% 0.005 80);
167
183
  --candi-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
168
184
  --candi-shadow-md: 0 4px 20px rgba(0, 0, 0, 0.35);
169
185
  --candi-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.45);
170
186
  --candi-shadow-color: oklch(0% 0 0 / 0.4);
171
- --candi-focus-ring: oklch(62% 0.08 275 / 0.5);
187
+ --candi-focus-ring: oklch(62% 0.08 80 / 0.5);
172
188
  --candi-syntax-keyword: oklch(70% 0.15 0);
173
189
  --candi-syntax-type: oklch(75% 0.12 280);
174
190
  --candi-syntax-var: oklch(75% 0.1 200);
@@ -177,23 +193,27 @@
177
193
  --candi-syntax-string: oklch(70% 0.12 140);
178
194
  --candi-hover: oklch(100% 0 0 / 0.1);
179
195
  --candi-active: oklch(100% 0 0 / 0.2);
180
- --candi-terminal-black: oklch(15% 0.01 275);
181
- --candi-terminal-red: oklch(65% 0.05 25);
182
- --candi-terminal-green: oklch(65% 0.04 145);
183
- --candi-terminal-yellow: oklch(75% 0.06 75);
184
- --candi-terminal-blue: oklch(65% 0.13 275);
185
- --candi-terminal-magenta: oklch(70% 0.10 15);
186
- --candi-terminal-cyan: oklch(70% 0.04 225);
187
- --candi-terminal-white: oklch(92% 0.01 85);
196
+ --candi-terminal-black: oklch(15% 0.005 80);
197
+ --candi-terminal-red: oklch(68% 0.11 25);
198
+ --candi-terminal-green: oklch(68% 0.09 145);
199
+ --candi-terminal-yellow: oklch(78% 0.11 75);
200
+ --candi-terminal-blue: oklch(65% 0.13 245);
201
+ --candi-terminal-magenta: oklch(72% 0.12 330);
202
+ --candi-terminal-cyan: oklch(72% 0.09 200);
203
+ --candi-terminal-white: oklch(92% 0.005 80);
188
204
  --candi-red: oklch(70% 0.12 25);
189
205
  --candi-red-subtle: oklch(40% 0.10 25);
190
206
  --candi-red-soft: oklch(78% 0.11 25);
207
+ --candi-red-warm: oklch(55% 0.10 25);
208
+ --candi-red-hot: oklch(65% 0.14 25);
191
209
  --candi-red-strong: oklch(60% 0.13 25);
192
210
  --candi-red-outline: oklch(55% 0.11 25);
193
211
  --candi-on-red: oklch(0% 0 0);
194
212
  --candi-blue: oklch(70% 0.10 250);
195
213
  --candi-blue-subtle: oklch(38% 0.08 250);
196
214
  --candi-blue-soft: oklch(78% 0.09 250);
215
+ --candi-blue-warm: oklch(55% 0.08 250);
216
+ --candi-blue-hot: oklch(65% 0.12 250);
197
217
  --candi-blue-strong: oklch(60% 0.11 250);
198
218
  --candi-blue-outline: oklch(55% 0.09 250);
199
219
  --candi-on-blue: oklch(0% 0 0);
@@ -245,41 +265,53 @@
245
265
  --candi-silver-strong: oklch(50% 0.012 250);
246
266
  --candi-silver-outline: oklch(45% 0.009 250);
247
267
  --candi-on-silver: oklch(100% 0 0);
248
- --candi-accent: oklch(65% 0.08 250);
249
- --candi-accent-subtle: oklch(38% 0.048 250);
250
- --candi-accent-soft: oklch(75% 0.064 250);
251
- --candi-accent-strong: oklch(55% 0.088 250);
252
- --candi-accent-outline: oklch(50% 0.056 250);
268
+ --candi-accent: oklch(72% 0.12 245);
269
+ --candi-accent-subtle: oklch(45% 0.072 245);
270
+ --candi-accent-soft: oklch(82% 0.096 245);
271
+ --candi-accent-warm: oklch(57% 0.102 245);
272
+ --candi-accent-hot: oklch(67% 0.138 245);
273
+ --candi-accent-strong: oklch(62% 0.132 245);
274
+ --candi-accent-outline: oklch(57% 0.084 245);
253
275
  --candi-on-accent: oklch(0% 0 0);
254
- --candi-secondary: oklch(70% 0.07 15);
255
- --candi-secondary-subtle: oklch(43% 0.042 15);
256
- --candi-secondary-soft: oklch(80% 0.056 15);
257
- --candi-secondary-strong: oklch(60% 0.077 15);
258
- --candi-secondary-outline: oklch(55% 0.049 15);
276
+ --candi-secondary: oklch(75% 0.11 20);
277
+ --candi-secondary-subtle: oklch(48% 0.066 20);
278
+ --candi-secondary-soft: oklch(85% 0.088 20);
279
+ --candi-secondary-warm: oklch(60% 0.0935 20);
280
+ --candi-secondary-hot: oklch(70% 0.1265 20);
281
+ --candi-secondary-strong: oklch(65% 0.121 20);
282
+ --candi-secondary-outline: oklch(60% 0.077 20);
259
283
  --candi-on-secondary: oklch(0% 0 0);
260
- --candi-success: oklch(75% 0.06 145);
261
- --candi-success-subtle: oklch(48% 0.036 145);
262
- --candi-success-soft: oklch(85% 0.048 145);
263
- --candi-success-strong: oklch(65% 0.066 145);
264
- --candi-success-outline: oklch(60% 0.042 145);
284
+ --candi-success: oklch(78% 0.10 150);
285
+ --candi-success-subtle: oklch(51% 0.06 150);
286
+ --candi-success-soft: oklch(88% 0.08 150);
287
+ --candi-success-warm: oklch(63% 0.085 150);
288
+ --candi-success-hot: oklch(73% 0.115 150);
289
+ --candi-success-strong: oklch(68% 0.11 150);
290
+ --candi-success-outline: oklch(63% 0.07 150);
265
291
  --candi-on-success: oklch(0% 0 0);
266
- --candi-warning: oklch(80% 0.07 75);
267
- --candi-warning-subtle: oklch(53% 0.042 75);
268
- --candi-warning-soft: oklch(90% 0.056 75);
269
- --candi-warning-strong: oklch(70% 0.077 75);
270
- --candi-warning-outline: oklch(65% 0.049 75);
292
+ --candi-warning: oklch(82% 0.12 80);
293
+ --candi-warning-subtle: oklch(55% 0.072 80);
294
+ --candi-warning-soft: oklch(92% 0.096 80);
295
+ --candi-warning-warm: oklch(67% 0.102 80);
296
+ --candi-warning-hot: oklch(77% 0.138 80);
297
+ --candi-warning-strong: oklch(72% 0.132 80);
298
+ --candi-warning-outline: oklch(67% 0.084 80);
271
299
  --candi-on-warning: oklch(0% 0 0);
272
- --candi-error: oklch(75% 0.08 25);
273
- --candi-error-subtle: oklch(48% 0.048 25);
274
- --candi-error-soft: oklch(85% 0.064 25);
275
- --candi-error-strong: oklch(65% 0.088 25);
276
- --candi-error-outline: oklch(60% 0.056 25);
300
+ --candi-error: oklch(78% 0.12 25);
301
+ --candi-error-subtle: oklch(51% 0.072 25);
302
+ --candi-error-soft: oklch(88% 0.096 25);
303
+ --candi-error-warm: oklch(63% 0.102 25);
304
+ --candi-error-hot: oklch(73% 0.138 25);
305
+ --candi-error-strong: oklch(68% 0.132 25);
306
+ --candi-error-outline: oklch(63% 0.084 25);
277
307
  --candi-on-error: oklch(0% 0 0);
278
- --candi-info: oklch(75% 0.06 225);
279
- --candi-info-subtle: oklch(48% 0.036 225);
280
- --candi-info-soft: oklch(85% 0.048 225);
281
- --candi-info-strong: oklch(65% 0.066 225);
282
- --candi-info-outline: oklch(60% 0.042 225);
308
+ --candi-info: oklch(78% 0.10 225);
309
+ --candi-info-subtle: oklch(51% 0.06 225);
310
+ --candi-info-soft: oklch(88% 0.08 225);
311
+ --candi-info-warm: oklch(63% 0.085 225);
312
+ --candi-info-hot: oklch(73% 0.115 225);
313
+ --candi-info-strong: oklch(68% 0.11 225);
314
+ --candi-info-outline: oklch(63% 0.07 225);
283
315
  --candi-on-info: oklch(0% 0 0);
284
316
  /* @tokens-end-dark */
285
317
  }