@rokkit/themes 1.0.3 → 1.0.4

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/base.css CHANGED
@@ -2,7 +2,7 @@
2
2
  :root {
3
3
  --scroll-width: 0.5rem;
4
4
  --tab-size: 2;
5
- --color-surface:148,163,184;--color-surface-50:248,250,252;--color-surface-100:241,245,249;--color-surface-200:226,232,240;--color-surface-300:203,213,225;--color-surface-400:148,163,184;--color-surface-500:100,116,139;--color-surface-600:71,85,105;--color-surface-700:51,65,85;--color-surface-800:30,41,59;--color-surface-900:15,23,42;--color-surface-950:2,6,23;--color-primary:251,146,60;--color-primary-50:255,247,237;--color-primary-100:255,237,213;--color-primary-200:254,215,170;--color-primary-300:253,186,116;--color-primary-400:251,146,60;--color-primary-500:249,115,22;--color-primary-600:234,88,12;--color-primary-700:194,65,12;--color-primary-800:154,52,18;--color-primary-900:124,45,18;--color-primary-950:67,20,7;--color-secondary:244,114,182;--color-secondary-50:253,242,248;--color-secondary-100:252,231,243;--color-secondary-200:251,207,232;--color-secondary-300:249,168,212;--color-secondary-400:244,114,182;--color-secondary-500:236,72,153;--color-secondary-600:219,39,119;--color-secondary-700:190,24,93;--color-secondary-800:157,23,77;--color-secondary-900:131,24,67;--color-secondary-950:80,7,36;--color-accent:56,189,248;--color-accent-50:240,249,255;--color-accent-100:224,242,254;--color-accent-200:186,230,253;--color-accent-300:125,211,252;--color-accent-400:56,189,248;--color-accent-500:14,165,233;--color-accent-600:2,132,199;--color-accent-700:3,105,161;--color-accent-800:7,89,133;--color-accent-900:12,74,110;--color-accent-950:8,47,73;--color-success:74,222,128;--color-success-50:240,253,244;--color-success-100:220,252,231;--color-success-200:187,247,208;--color-success-300:134,239,172;--color-success-400:74,222,128;--color-success-500:34,197,94;--color-success-600:22,163,74;--color-success-700:21,128,61;--color-success-800:22,101,52;--color-success-900:20,83,45;--color-success-950:5,46,22;--color-warning:250,204,21;--color-warning-50:254,252,232;--color-warning-100:254,249,195;--color-warning-200:254,240,138;--color-warning-300:253,224,71;--color-warning-400:250,204,21;--color-warning-500:234,179,8;--color-warning-600:202,138,4;--color-warning-700:161,98,7;--color-warning-800:133,77,14;--color-warning-900:113,63,18;--color-warning-950:66,32,6;--color-danger:248,113,113;--color-danger-50:254,242,242;--color-danger-100:254,226,226;--color-danger-200:254,202,202;--color-danger-300:252,165,165;--color-danger-400:248,113,113;--color-danger-500:239,68,68;--color-danger-600:220,38,38;--color-danger-700:185,28,28;--color-danger-800:153,27,27;--color-danger-900:127,29,29;--color-danger-950:69,10,10;--color-error:248,113,113;--color-error-50:254,242,242;--color-error-100:254,226,226;--color-error-200:254,202,202;--color-error-300:252,165,165;--color-error-400:248,113,113;--color-error-500:239,68,68;--color-error-600:220,38,38;--color-error-700:185,28,28;--color-error-800:153,27,27;--color-error-900:127,29,29;--color-error-950:69,10,10;--color-info:34,211,238;--color-info-50:236,254,255;--color-info-100:207,250,254;--color-info-200:165,243,252;--color-info-300:103,232,249;--color-info-400:34,211,238;--color-info-500:6,182,212;--color-info-600:8,145,178;--color-info-700:14,116,144;--color-info-800:21,94,117;--color-info-900:22,78,99;--color-info-950:8,51,68;
5
+ --color-surface:148,163,184;--color-surface-50:248,250,252;--color-surface-100:241,245,249;--color-surface-200:226,232,240;--color-surface-300:203,213,225;--color-surface-400:148,163,184;--color-surface-500:100,116,139;--color-surface-600:71,85,105;--color-surface-700:51,65,85;--color-surface-800:30,41,59;--color-surface-900:15,23,42;--color-surface-950:2,6,23;--color-primary:251,146,60;--color-primary-50:255,247,237;--color-primary-100:255,237,213;--color-primary-200:254,215,170;--color-primary-300:253,186,116;--color-primary-400:251,146,60;--color-primary-500:249,115,22;--color-primary-600:234,88,12;--color-primary-700:194,65,12;--color-primary-800:154,52,18;--color-primary-900:124,45,18;--color-primary-950:67,20,7;--color-secondary:244,114,182;--color-secondary-50:253,242,248;--color-secondary-100:252,231,243;--color-secondary-200:251,207,232;--color-secondary-300:249,168,212;--color-secondary-400:244,114,182;--color-secondary-500:236,72,153;--color-secondary-600:219,39,119;--color-secondary-700:190,24,93;--color-secondary-800:157,23,77;--color-secondary-900:131,24,67;--color-secondary-950:80,7,36;--color-tertiary:167,139,250;--color-tertiary-50:245,243,255;--color-tertiary-100:237,233,254;--color-tertiary-200:221,214,254;--color-tertiary-300:196,181,253;--color-tertiary-400:167,139,250;--color-tertiary-500:139,92,246;--color-tertiary-600:124,58,237;--color-tertiary-700:109,40,217;--color-tertiary-800:91,33,182;--color-tertiary-900:76,29,149;--color-tertiary-950:46,16,101;--color-accent:56,189,248;--color-accent-50:240,249,255;--color-accent-100:224,242,254;--color-accent-200:186,230,253;--color-accent-300:125,211,252;--color-accent-400:56,189,248;--color-accent-500:14,165,233;--color-accent-600:2,132,199;--color-accent-700:3,105,161;--color-accent-800:7,89,133;--color-accent-900:12,74,110;--color-accent-950:8,47,73;--color-success:74,222,128;--color-success-50:240,253,244;--color-success-100:220,252,231;--color-success-200:187,247,208;--color-success-300:134,239,172;--color-success-400:74,222,128;--color-success-500:34,197,94;--color-success-600:22,163,74;--color-success-700:21,128,61;--color-success-800:22,101,52;--color-success-900:20,83,45;--color-success-950:5,46,22;--color-warning:250,204,21;--color-warning-50:254,252,232;--color-warning-100:254,249,195;--color-warning-200:254,240,138;--color-warning-300:253,224,71;--color-warning-400:250,204,21;--color-warning-500:234,179,8;--color-warning-600:202,138,4;--color-warning-700:161,98,7;--color-warning-800:133,77,14;--color-warning-900:113,63,18;--color-warning-950:66,32,6;--color-danger:248,113,113;--color-danger-50:254,242,242;--color-danger-100:254,226,226;--color-danger-200:254,202,202;--color-danger-300:252,165,165;--color-danger-400:248,113,113;--color-danger-500:239,68,68;--color-danger-600:220,38,38;--color-danger-700:185,28,28;--color-danger-800:153,27,27;--color-danger-900:127,29,29;--color-danger-950:69,10,10;--color-error:248,113,113;--color-error-50:254,242,242;--color-error-100:254,226,226;--color-error-200:254,202,202;--color-error-300:252,165,165;--color-error-400:248,113,113;--color-error-500:239,68,68;--color-error-600:220,38,38;--color-error-700:185,28,28;--color-error-800:153,27,27;--color-error-900:127,29,29;--color-error-950:69,10,10;--color-info:34,211,238;--color-info-50:236,254,255;--color-info-100:207,250,254;--color-info-200:165,243,252;--color-info-300:103,232,249;--color-info-400:34,211,238;--color-info-500:6,182,212;--color-info-600:8,145,178;--color-info-700:14,116,144;--color-info-800:21,94,117;--color-info-900:22,78,99;--color-info-950:8,51,68;
6
6
  }
7
7
  }
8
8
 
@@ -40,6 +40,17 @@
40
40
  --color-secondary-z8: var(--color-secondary-800);
41
41
  --color-secondary-z9: var(--color-secondary-900);
42
42
  --color-secondary-z10: var(--color-secondary-950);
43
+ --color-tertiary-z0: var(--color-tertiary-50);
44
+ --color-tertiary-z1: var(--color-tertiary-100);
45
+ --color-tertiary-z2: var(--color-tertiary-200);
46
+ --color-tertiary-z3: var(--color-tertiary-300);
47
+ --color-tertiary-z4: var(--color-tertiary-400);
48
+ --color-tertiary-z5: var(--color-tertiary-500);
49
+ --color-tertiary-z6: var(--color-tertiary-600);
50
+ --color-tertiary-z7: var(--color-tertiary-700);
51
+ --color-tertiary-z8: var(--color-tertiary-800);
52
+ --color-tertiary-z9: var(--color-tertiary-900);
53
+ --color-tertiary-z10: var(--color-tertiary-950);
43
54
  --color-accent-z0: var(--color-accent-50);
44
55
  --color-accent-z1: var(--color-accent-100);
45
56
  --color-accent-z2: var(--color-accent-200);
@@ -141,6 +152,17 @@
141
152
  --color-secondary-z8: var(--color-secondary-200);
142
153
  --color-secondary-z9: var(--color-secondary-100);
143
154
  --color-secondary-z10: var(--color-secondary-50);
155
+ --color-tertiary-z0: var(--color-tertiary-950);
156
+ --color-tertiary-z1: var(--color-tertiary-900);
157
+ --color-tertiary-z2: var(--color-tertiary-800);
158
+ --color-tertiary-z3: var(--color-tertiary-700);
159
+ --color-tertiary-z4: var(--color-tertiary-600);
160
+ --color-tertiary-z5: var(--color-tertiary-500);
161
+ --color-tertiary-z6: var(--color-tertiary-400);
162
+ --color-tertiary-z7: var(--color-tertiary-300);
163
+ --color-tertiary-z8: var(--color-tertiary-200);
164
+ --color-tertiary-z9: var(--color-tertiary-100);
165
+ --color-tertiary-z10: var(--color-tertiary-50);
144
166
  --color-accent-z0: var(--color-accent-950);
145
167
  --color-accent-z1: var(--color-accent-900);
146
168
  --color-accent-z2: var(--color-accent-800);
@@ -268,7 +290,7 @@
268
290
  --density-line-height: 1.5;
269
291
  --density-icon-size: 1.25rem;
270
292
  --density-border-width: 1px;
271
- --density-radius-base: var(--radius-md, 0.375rem);
293
+ --density-radius-base: var(--radius-md);
272
294
  }
273
295
 
274
296
  [data-density='compact'] {
@@ -282,7 +304,7 @@
282
304
  --density-line-height: 1.375;
283
305
  --density-icon-size: 1rem;
284
306
  --density-border-width: 1px;
285
- --density-radius-base: var(--radius-sm, 0.25rem);
307
+ --density-radius-base: var(--radius-sm);
286
308
  }
287
309
 
288
310
  [data-density='cozy'] {
@@ -296,7 +318,100 @@
296
318
  --density-line-height: 1.75;
297
319
  --density-icon-size: 1.5rem;
298
320
  --density-border-width: 1px;
299
- --density-radius-base: var(--radius-lg, 0.5rem);
321
+ --density-radius-base: var(--radius-lg);
322
+ }
323
+
324
+ /**
325
+ * Roundedness Axis — CSS Custom Property Scale
326
+ *
327
+ * Decoupled from density. Place data-radius on any container;
328
+ * descendants inherit automatically.
329
+ *
330
+ * Presets: sharp → soft (default) → rounded → pill
331
+ */
332
+
333
+ :root,
334
+ [data-radius='soft'] {
335
+ --radius-sm: 0.125rem;
336
+ --radius-md: 0.375rem;
337
+ --radius-lg: 0.625rem;
338
+ --radius-xl: 0.75rem;
339
+ --radius-full: 9999px;
340
+ }
341
+
342
+ [data-radius='sharp'] {
343
+ --radius-sm: 0;
344
+ --radius-md: 0;
345
+ --radius-lg: 0;
346
+ --radius-xl: 0;
347
+ --radius-full: 9999px;
348
+ }
349
+
350
+ [data-radius='rounded'] {
351
+ --radius-sm: 0.25rem;
352
+ --radius-md: 0.5rem;
353
+ --radius-lg: 0.75rem;
354
+ --radius-xl: 1rem;
355
+ --radius-full: 9999px;
356
+ }
357
+
358
+ [data-radius='pill'] {
359
+ --radius-sm: 9999px;
360
+ --radius-md: 9999px;
361
+ --radius-lg: 9999px;
362
+ --radius-xl: 9999px;
363
+ --radius-full: 9999px;
364
+ }
365
+
366
+ /**
367
+ * Layout Tokens — App-Level Spacing
368
+ *
369
+ * Structural layout dimensions for app shells.
370
+ * Override per-app by redefining these custom properties.
371
+ */
372
+
373
+ :root {
374
+ --layout-sidebar-width: 240px;
375
+ --layout-sidebar-collapsed: 64px;
376
+ --layout-header-height: 56px;
377
+ --layout-content-max-width: 1280px;
378
+ --layout-section-gap: 2rem;
379
+ --layout-section-padding: 1.5rem;
380
+ --layout-content-padding: 2rem;
381
+ --layout-card-gap: 1rem;
382
+ }
383
+
384
+ /**
385
+ * Gradient Border Wrapper — Base Structural CSS
386
+ *
387
+ * Usage:
388
+ * <div data-gradient-border>
389
+ * <div data-gradient-border-inner>content</div>
390
+ * </div>
391
+ *
392
+ * Themes set the gradient on [data-gradient-border] background.
393
+ * Non-gradient themes set background: transparent and use regular border.
394
+ */
395
+
396
+ [data-gradient-border] {
397
+ padding: var(--density-border-width, 1px);
398
+ border-radius: var(--density-radius-base, var(--radius-md));
399
+ background: var(--gradient-border-bg, transparent);
400
+ }
401
+
402
+ [data-gradient-border-inner] {
403
+ border-radius: calc(var(--density-radius-base, var(--radius-md)) - var(--density-border-width, 1px));
404
+ background: var(--gradient-border-inner-bg, inherit);
405
+ }
406
+
407
+ /* Fallback: when no gradient, use a standard border */
408
+ [data-gradient-border]:not([style*='--gradient-border-bg']) {
409
+ padding: 0;
410
+ border: var(--density-border-width, 1px) solid var(--gradient-border-color, currentColor);
411
+ }
412
+
413
+ [data-gradient-border]:not([style*='--gradient-border-bg']) [data-gradient-border-inner] {
414
+ border-radius: var(--density-radius-base, var(--radius-md));
300
415
  }
301
416
 
302
417
  /**
@@ -569,6 +684,19 @@
569
684
  flex-shrink: 0;
570
685
  }
571
686
 
687
+
688
+ /* =============================================================================
689
+ Item Icon — Literal (kanji, emoji, text)
690
+ ============================================================================= */
691
+
692
+ [data-item-icon-literal] {
693
+ flex-shrink: 0;
694
+ width: var(--density-icon-size, 1.25rem);
695
+ text-align: center;
696
+ line-height: 1;
697
+ font-size: var(--density-icon-size, 1.25rem);
698
+ }
699
+
572
700
  /* =============================================================================
573
701
  Item Avatar
574
702
  ============================================================================= */
package/dist/index.css CHANGED
@@ -2,7 +2,7 @@
2
2
  :root {
3
3
  --scroll-width: 0.5rem;
4
4
  --tab-size: 2;
5
- --color-surface:148,163,184;--color-surface-50:248,250,252;--color-surface-100:241,245,249;--color-surface-200:226,232,240;--color-surface-300:203,213,225;--color-surface-400:148,163,184;--color-surface-500:100,116,139;--color-surface-600:71,85,105;--color-surface-700:51,65,85;--color-surface-800:30,41,59;--color-surface-900:15,23,42;--color-surface-950:2,6,23;--color-primary:251,146,60;--color-primary-50:255,247,237;--color-primary-100:255,237,213;--color-primary-200:254,215,170;--color-primary-300:253,186,116;--color-primary-400:251,146,60;--color-primary-500:249,115,22;--color-primary-600:234,88,12;--color-primary-700:194,65,12;--color-primary-800:154,52,18;--color-primary-900:124,45,18;--color-primary-950:67,20,7;--color-secondary:244,114,182;--color-secondary-50:253,242,248;--color-secondary-100:252,231,243;--color-secondary-200:251,207,232;--color-secondary-300:249,168,212;--color-secondary-400:244,114,182;--color-secondary-500:236,72,153;--color-secondary-600:219,39,119;--color-secondary-700:190,24,93;--color-secondary-800:157,23,77;--color-secondary-900:131,24,67;--color-secondary-950:80,7,36;--color-accent:56,189,248;--color-accent-50:240,249,255;--color-accent-100:224,242,254;--color-accent-200:186,230,253;--color-accent-300:125,211,252;--color-accent-400:56,189,248;--color-accent-500:14,165,233;--color-accent-600:2,132,199;--color-accent-700:3,105,161;--color-accent-800:7,89,133;--color-accent-900:12,74,110;--color-accent-950:8,47,73;--color-success:74,222,128;--color-success-50:240,253,244;--color-success-100:220,252,231;--color-success-200:187,247,208;--color-success-300:134,239,172;--color-success-400:74,222,128;--color-success-500:34,197,94;--color-success-600:22,163,74;--color-success-700:21,128,61;--color-success-800:22,101,52;--color-success-900:20,83,45;--color-success-950:5,46,22;--color-warning:250,204,21;--color-warning-50:254,252,232;--color-warning-100:254,249,195;--color-warning-200:254,240,138;--color-warning-300:253,224,71;--color-warning-400:250,204,21;--color-warning-500:234,179,8;--color-warning-600:202,138,4;--color-warning-700:161,98,7;--color-warning-800:133,77,14;--color-warning-900:113,63,18;--color-warning-950:66,32,6;--color-danger:248,113,113;--color-danger-50:254,242,242;--color-danger-100:254,226,226;--color-danger-200:254,202,202;--color-danger-300:252,165,165;--color-danger-400:248,113,113;--color-danger-500:239,68,68;--color-danger-600:220,38,38;--color-danger-700:185,28,28;--color-danger-800:153,27,27;--color-danger-900:127,29,29;--color-danger-950:69,10,10;--color-error:248,113,113;--color-error-50:254,242,242;--color-error-100:254,226,226;--color-error-200:254,202,202;--color-error-300:252,165,165;--color-error-400:248,113,113;--color-error-500:239,68,68;--color-error-600:220,38,38;--color-error-700:185,28,28;--color-error-800:153,27,27;--color-error-900:127,29,29;--color-error-950:69,10,10;--color-info:34,211,238;--color-info-50:236,254,255;--color-info-100:207,250,254;--color-info-200:165,243,252;--color-info-300:103,232,249;--color-info-400:34,211,238;--color-info-500:6,182,212;--color-info-600:8,145,178;--color-info-700:14,116,144;--color-info-800:21,94,117;--color-info-900:22,78,99;--color-info-950:8,51,68;
5
+ --color-surface:148,163,184;--color-surface-50:248,250,252;--color-surface-100:241,245,249;--color-surface-200:226,232,240;--color-surface-300:203,213,225;--color-surface-400:148,163,184;--color-surface-500:100,116,139;--color-surface-600:71,85,105;--color-surface-700:51,65,85;--color-surface-800:30,41,59;--color-surface-900:15,23,42;--color-surface-950:2,6,23;--color-primary:251,146,60;--color-primary-50:255,247,237;--color-primary-100:255,237,213;--color-primary-200:254,215,170;--color-primary-300:253,186,116;--color-primary-400:251,146,60;--color-primary-500:249,115,22;--color-primary-600:234,88,12;--color-primary-700:194,65,12;--color-primary-800:154,52,18;--color-primary-900:124,45,18;--color-primary-950:67,20,7;--color-secondary:244,114,182;--color-secondary-50:253,242,248;--color-secondary-100:252,231,243;--color-secondary-200:251,207,232;--color-secondary-300:249,168,212;--color-secondary-400:244,114,182;--color-secondary-500:236,72,153;--color-secondary-600:219,39,119;--color-secondary-700:190,24,93;--color-secondary-800:157,23,77;--color-secondary-900:131,24,67;--color-secondary-950:80,7,36;--color-tertiary:167,139,250;--color-tertiary-50:245,243,255;--color-tertiary-100:237,233,254;--color-tertiary-200:221,214,254;--color-tertiary-300:196,181,253;--color-tertiary-400:167,139,250;--color-tertiary-500:139,92,246;--color-tertiary-600:124,58,237;--color-tertiary-700:109,40,217;--color-tertiary-800:91,33,182;--color-tertiary-900:76,29,149;--color-tertiary-950:46,16,101;--color-accent:56,189,248;--color-accent-50:240,249,255;--color-accent-100:224,242,254;--color-accent-200:186,230,253;--color-accent-300:125,211,252;--color-accent-400:56,189,248;--color-accent-500:14,165,233;--color-accent-600:2,132,199;--color-accent-700:3,105,161;--color-accent-800:7,89,133;--color-accent-900:12,74,110;--color-accent-950:8,47,73;--color-success:74,222,128;--color-success-50:240,253,244;--color-success-100:220,252,231;--color-success-200:187,247,208;--color-success-300:134,239,172;--color-success-400:74,222,128;--color-success-500:34,197,94;--color-success-600:22,163,74;--color-success-700:21,128,61;--color-success-800:22,101,52;--color-success-900:20,83,45;--color-success-950:5,46,22;--color-warning:250,204,21;--color-warning-50:254,252,232;--color-warning-100:254,249,195;--color-warning-200:254,240,138;--color-warning-300:253,224,71;--color-warning-400:250,204,21;--color-warning-500:234,179,8;--color-warning-600:202,138,4;--color-warning-700:161,98,7;--color-warning-800:133,77,14;--color-warning-900:113,63,18;--color-warning-950:66,32,6;--color-danger:248,113,113;--color-danger-50:254,242,242;--color-danger-100:254,226,226;--color-danger-200:254,202,202;--color-danger-300:252,165,165;--color-danger-400:248,113,113;--color-danger-500:239,68,68;--color-danger-600:220,38,38;--color-danger-700:185,28,28;--color-danger-800:153,27,27;--color-danger-900:127,29,29;--color-danger-950:69,10,10;--color-error:248,113,113;--color-error-50:254,242,242;--color-error-100:254,226,226;--color-error-200:254,202,202;--color-error-300:252,165,165;--color-error-400:248,113,113;--color-error-500:239,68,68;--color-error-600:220,38,38;--color-error-700:185,28,28;--color-error-800:153,27,27;--color-error-900:127,29,29;--color-error-950:69,10,10;--color-info:34,211,238;--color-info-50:236,254,255;--color-info-100:207,250,254;--color-info-200:165,243,252;--color-info-300:103,232,249;--color-info-400:34,211,238;--color-info-500:6,182,212;--color-info-600:8,145,178;--color-info-700:14,116,144;--color-info-800:21,94,117;--color-info-900:22,78,99;--color-info-950:8,51,68;
6
6
  }
7
7
  }
8
8
 
@@ -40,6 +40,17 @@
40
40
  --color-secondary-z8: var(--color-secondary-800);
41
41
  --color-secondary-z9: var(--color-secondary-900);
42
42
  --color-secondary-z10: var(--color-secondary-950);
43
+ --color-tertiary-z0: var(--color-tertiary-50);
44
+ --color-tertiary-z1: var(--color-tertiary-100);
45
+ --color-tertiary-z2: var(--color-tertiary-200);
46
+ --color-tertiary-z3: var(--color-tertiary-300);
47
+ --color-tertiary-z4: var(--color-tertiary-400);
48
+ --color-tertiary-z5: var(--color-tertiary-500);
49
+ --color-tertiary-z6: var(--color-tertiary-600);
50
+ --color-tertiary-z7: var(--color-tertiary-700);
51
+ --color-tertiary-z8: var(--color-tertiary-800);
52
+ --color-tertiary-z9: var(--color-tertiary-900);
53
+ --color-tertiary-z10: var(--color-tertiary-950);
43
54
  --color-accent-z0: var(--color-accent-50);
44
55
  --color-accent-z1: var(--color-accent-100);
45
56
  --color-accent-z2: var(--color-accent-200);
@@ -141,6 +152,17 @@
141
152
  --color-secondary-z8: var(--color-secondary-200);
142
153
  --color-secondary-z9: var(--color-secondary-100);
143
154
  --color-secondary-z10: var(--color-secondary-50);
155
+ --color-tertiary-z0: var(--color-tertiary-950);
156
+ --color-tertiary-z1: var(--color-tertiary-900);
157
+ --color-tertiary-z2: var(--color-tertiary-800);
158
+ --color-tertiary-z3: var(--color-tertiary-700);
159
+ --color-tertiary-z4: var(--color-tertiary-600);
160
+ --color-tertiary-z5: var(--color-tertiary-500);
161
+ --color-tertiary-z6: var(--color-tertiary-400);
162
+ --color-tertiary-z7: var(--color-tertiary-300);
163
+ --color-tertiary-z8: var(--color-tertiary-200);
164
+ --color-tertiary-z9: var(--color-tertiary-100);
165
+ --color-tertiary-z10: var(--color-tertiary-50);
144
166
  --color-accent-z0: var(--color-accent-950);
145
167
  --color-accent-z1: var(--color-accent-900);
146
168
  --color-accent-z2: var(--color-accent-800);
@@ -268,7 +290,7 @@
268
290
  --density-line-height: 1.5;
269
291
  --density-icon-size: 1.25rem;
270
292
  --density-border-width: 1px;
271
- --density-radius-base: var(--radius-md, 0.375rem);
293
+ --density-radius-base: var(--radius-md);
272
294
  }
273
295
 
274
296
  [data-density='compact'] {
@@ -282,7 +304,7 @@
282
304
  --density-line-height: 1.375;
283
305
  --density-icon-size: 1rem;
284
306
  --density-border-width: 1px;
285
- --density-radius-base: var(--radius-sm, 0.25rem);
307
+ --density-radius-base: var(--radius-sm);
286
308
  }
287
309
 
288
310
  [data-density='cozy'] {
@@ -296,7 +318,100 @@
296
318
  --density-line-height: 1.75;
297
319
  --density-icon-size: 1.5rem;
298
320
  --density-border-width: 1px;
299
- --density-radius-base: var(--radius-lg, 0.5rem);
321
+ --density-radius-base: var(--radius-lg);
322
+ }
323
+
324
+ /**
325
+ * Roundedness Axis — CSS Custom Property Scale
326
+ *
327
+ * Decoupled from density. Place data-radius on any container;
328
+ * descendants inherit automatically.
329
+ *
330
+ * Presets: sharp → soft (default) → rounded → pill
331
+ */
332
+
333
+ :root,
334
+ [data-radius='soft'] {
335
+ --radius-sm: 0.125rem;
336
+ --radius-md: 0.375rem;
337
+ --radius-lg: 0.625rem;
338
+ --radius-xl: 0.75rem;
339
+ --radius-full: 9999px;
340
+ }
341
+
342
+ [data-radius='sharp'] {
343
+ --radius-sm: 0;
344
+ --radius-md: 0;
345
+ --radius-lg: 0;
346
+ --radius-xl: 0;
347
+ --radius-full: 9999px;
348
+ }
349
+
350
+ [data-radius='rounded'] {
351
+ --radius-sm: 0.25rem;
352
+ --radius-md: 0.5rem;
353
+ --radius-lg: 0.75rem;
354
+ --radius-xl: 1rem;
355
+ --radius-full: 9999px;
356
+ }
357
+
358
+ [data-radius='pill'] {
359
+ --radius-sm: 9999px;
360
+ --radius-md: 9999px;
361
+ --radius-lg: 9999px;
362
+ --radius-xl: 9999px;
363
+ --radius-full: 9999px;
364
+ }
365
+
366
+ /**
367
+ * Layout Tokens — App-Level Spacing
368
+ *
369
+ * Structural layout dimensions for app shells.
370
+ * Override per-app by redefining these custom properties.
371
+ */
372
+
373
+ :root {
374
+ --layout-sidebar-width: 240px;
375
+ --layout-sidebar-collapsed: 64px;
376
+ --layout-header-height: 56px;
377
+ --layout-content-max-width: 1280px;
378
+ --layout-section-gap: 2rem;
379
+ --layout-section-padding: 1.5rem;
380
+ --layout-content-padding: 2rem;
381
+ --layout-card-gap: 1rem;
382
+ }
383
+
384
+ /**
385
+ * Gradient Border Wrapper — Base Structural CSS
386
+ *
387
+ * Usage:
388
+ * <div data-gradient-border>
389
+ * <div data-gradient-border-inner>content</div>
390
+ * </div>
391
+ *
392
+ * Themes set the gradient on [data-gradient-border] background.
393
+ * Non-gradient themes set background: transparent and use regular border.
394
+ */
395
+
396
+ [data-gradient-border] {
397
+ padding: var(--density-border-width, 1px);
398
+ border-radius: var(--density-radius-base, var(--radius-md));
399
+ background: var(--gradient-border-bg, transparent);
400
+ }
401
+
402
+ [data-gradient-border-inner] {
403
+ border-radius: calc(var(--density-radius-base, var(--radius-md)) - var(--density-border-width, 1px));
404
+ background: var(--gradient-border-inner-bg, inherit);
405
+ }
406
+
407
+ /* Fallback: when no gradient, use a standard border */
408
+ [data-gradient-border]:not([style*='--gradient-border-bg']) {
409
+ padding: 0;
410
+ border: var(--density-border-width, 1px) solid var(--gradient-border-color, currentColor);
411
+ }
412
+
413
+ [data-gradient-border]:not([style*='--gradient-border-bg']) [data-gradient-border-inner] {
414
+ border-radius: var(--density-radius-base, var(--radius-md));
300
415
  }
301
416
 
302
417
  /**
@@ -569,6 +684,19 @@
569
684
  flex-shrink: 0;
570
685
  }
571
686
 
687
+
688
+ /* =============================================================================
689
+ Item Icon — Literal (kanji, emoji, text)
690
+ ============================================================================= */
691
+
692
+ [data-item-icon-literal] {
693
+ flex-shrink: 0;
694
+ width: var(--density-icon-size, 1.25rem);
695
+ text-align: center;
696
+ line-height: 1;
697
+ font-size: var(--density-icon-size, 1.25rem);
698
+ }
699
+
572
700
  /* =============================================================================
573
701
  Item Avatar
574
702
  ============================================================================= */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rokkit/themes",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Theme styles for @rokkit/ui components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -212,7 +212,7 @@
212
212
  "build": "bun run build.mjs"
213
213
  },
214
214
  "dependencies": {
215
- "@rokkit/core": "1.0.3"
215
+ "@rokkit/core": "1.0.4"
216
216
  },
217
217
  "devDependencies": {
218
218
  "magic-string": "^0.30.21",
@@ -19,7 +19,7 @@
19
19
  --density-line-height: 1.5;
20
20
  --density-icon-size: 1.25rem;
21
21
  --density-border-width: 1px;
22
- --density-radius-base: var(--radius-md, 0.375rem);
22
+ --density-radius-base: var(--radius-md);
23
23
  }
24
24
 
25
25
  [data-density='compact'] {
@@ -33,7 +33,7 @@
33
33
  --density-line-height: 1.375;
34
34
  --density-icon-size: 1rem;
35
35
  --density-border-width: 1px;
36
- --density-radius-base: var(--radius-sm, 0.25rem);
36
+ --density-radius-base: var(--radius-sm);
37
37
  }
38
38
 
39
39
  [data-density='cozy'] {
@@ -47,5 +47,5 @@
47
47
  --density-line-height: 1.75;
48
48
  --density-icon-size: 1.5rem;
49
49
  --density-border-width: 1px;
50
- --density-radius-base: var(--radius-lg, 0.5rem);
50
+ --density-radius-base: var(--radius-lg);
51
51
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Gradient Border Wrapper — Base Structural CSS
3
+ *
4
+ * Usage:
5
+ * <div data-gradient-border>
6
+ * <div data-gradient-border-inner>content</div>
7
+ * </div>
8
+ *
9
+ * Themes set the gradient on [data-gradient-border] background.
10
+ * Non-gradient themes set background: transparent and use regular border.
11
+ */
12
+
13
+ [data-gradient-border] {
14
+ padding: var(--density-border-width, 1px);
15
+ border-radius: var(--density-radius-base, var(--radius-md));
16
+ background: var(--gradient-border-bg, transparent);
17
+ }
18
+
19
+ [data-gradient-border-inner] {
20
+ border-radius: calc(var(--density-radius-base, var(--radius-md)) - var(--density-border-width, 1px));
21
+ background: var(--gradient-border-inner-bg, inherit);
22
+ }
23
+
24
+ /* Fallback: when no gradient, use a standard border */
25
+ [data-gradient-border]:not([style*='--gradient-border-bg']) {
26
+ padding: 0;
27
+ border: var(--density-border-width, 1px) solid var(--gradient-border-color, currentColor);
28
+ }
29
+
30
+ [data-gradient-border]:not([style*='--gradient-border-bg']) [data-gradient-border-inner] {
31
+ border-radius: var(--density-radius-base, var(--radius-md));
32
+ }
@@ -7,6 +7,9 @@
7
7
 
8
8
  @import './typography.css';
9
9
  @import './density.css';
10
+ @import './radius.css';
11
+ @import './layout.css';
12
+ @import './gradient-border.css';
10
13
  @import './button.css';
11
14
  @import './item.css';
12
15
  @import './menu.css';
package/src/base/item.css CHANGED
@@ -13,6 +13,19 @@
13
13
  flex-shrink: 0;
14
14
  }
15
15
 
16
+
17
+ /* =============================================================================
18
+ Item Icon — Literal (kanji, emoji, text)
19
+ ============================================================================= */
20
+
21
+ [data-item-icon-literal] {
22
+ flex-shrink: 0;
23
+ width: var(--density-icon-size, 1.25rem);
24
+ text-align: center;
25
+ line-height: 1;
26
+ font-size: var(--density-icon-size, 1.25rem);
27
+ }
28
+
16
29
  /* =============================================================================
17
30
  Item Avatar
18
31
  ============================================================================= */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Layout Tokens — App-Level Spacing
3
+ *
4
+ * Structural layout dimensions for app shells.
5
+ * Override per-app by redefining these custom properties.
6
+ */
7
+
8
+ :root {
9
+ --layout-sidebar-width: 240px;
10
+ --layout-sidebar-collapsed: 64px;
11
+ --layout-header-height: 56px;
12
+ --layout-content-max-width: 1280px;
13
+ --layout-section-gap: 2rem;
14
+ --layout-section-padding: 1.5rem;
15
+ --layout-content-padding: 2rem;
16
+ --layout-card-gap: 1rem;
17
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Roundedness Axis — CSS Custom Property Scale
3
+ *
4
+ * Decoupled from density. Place data-radius on any container;
5
+ * descendants inherit automatically.
6
+ *
7
+ * Presets: sharp → soft (default) → rounded → pill
8
+ */
9
+
10
+ :root,
11
+ [data-radius='soft'] {
12
+ --radius-sm: 0.125rem;
13
+ --radius-md: 0.375rem;
14
+ --radius-lg: 0.625rem;
15
+ --radius-xl: 0.75rem;
16
+ --radius-full: 9999px;
17
+ }
18
+
19
+ [data-radius='sharp'] {
20
+ --radius-sm: 0;
21
+ --radius-md: 0;
22
+ --radius-lg: 0;
23
+ --radius-xl: 0;
24
+ --radius-full: 9999px;
25
+ }
26
+
27
+ [data-radius='rounded'] {
28
+ --radius-sm: 0.25rem;
29
+ --radius-md: 0.5rem;
30
+ --radius-lg: 0.75rem;
31
+ --radius-xl: 1rem;
32
+ --radius-full: 9999px;
33
+ }
34
+
35
+ [data-radius='pill'] {
36
+ --radius-sm: 9999px;
37
+ --radius-md: 9999px;
38
+ --radius-lg: 9999px;
39
+ --radius-xl: 9999px;
40
+ --radius-full: 9999px;
41
+ }