@quilltap/theme-storybook 1.0.8 → 1.0.10

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/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to `@quilltap/theme-storybook` will be documented in this file.
4
4
 
5
+ ## [1.0.10] - 2026-01-16
6
+
7
+ ### Added
8
+ - Collapsed navigation classes (`qt-collapsed-nav`, `qt-collapsed-nav-button`) for sidebar quick-access buttons when collapsed
9
+
10
+ ## [1.0.9] - 2026-01-10
11
+
12
+ ### Changed
13
+ - Status badges (`qt-badge-success`, `qt-badge-warning`, `qt-badge-destructive`) now use `--qt-status-*` tokens for consistent theming
14
+ - Badges use solid backgrounds with contrasting foreground colors for better readability in dark mode
15
+
16
+ ### Added
17
+ - Status token CSS variables: `--qt-status-success-*`, `--qt-status-warning-*`, `--qt-status-info-*`, `--qt-status-danger-*`
18
+ - `qt-badge-info` class using info status tokens
19
+
5
20
  ## [1.0.5] - 2026-01-06
6
21
 
7
22
  ### Added
package/dist/index.css CHANGED
@@ -194,6 +194,18 @@ body {
194
194
  --qt-badge-padding-y: 0.25rem;
195
195
  --qt-badge-font-size: 0.875rem;
196
196
  --qt-badge-font-weight: 600;
197
+ --qt-status-success-bg: color-mix(in srgb, var(--color-success) 85%, transparent);
198
+ --qt-status-success-fg: var(--color-success-foreground);
199
+ --qt-status-success-border: var(--color-success);
200
+ --qt-status-warning-bg: color-mix(in srgb, var(--color-warning) 85%, transparent);
201
+ --qt-status-warning-fg: var(--color-warning-foreground);
202
+ --qt-status-warning-border: var(--color-warning);
203
+ --qt-status-info-bg: color-mix(in srgb, var(--color-info) 85%, transparent);
204
+ --qt-status-info-fg: var(--color-info-foreground);
205
+ --qt-status-info-border: var(--color-info);
206
+ --qt-status-danger-bg: color-mix(in srgb, var(--color-destructive) 85%, transparent);
207
+ --qt-status-danger-fg: var(--color-destructive-foreground);
208
+ --qt-status-danger-border: var(--color-destructive);
197
209
  --qt-avatar-radius: 9999px;
198
210
  --qt-avatar-size: 2.5rem;
199
211
  --qt-avatar-size-sm: 2rem;
@@ -446,16 +458,24 @@ body {
446
458
  color: var(--color-secondary-foreground);
447
459
  }
448
460
  .qt-badge-success {
449
- background-color: var(--color-success);
450
- color: var(--color-success-foreground);
461
+ background: var(--qt-status-success-bg);
462
+ color: var(--qt-status-success-fg);
463
+ border: 1px solid var(--qt-status-success-border);
451
464
  }
452
465
  .qt-badge-warning {
453
- background-color: var(--color-warning);
454
- color: var(--color-warning-foreground);
466
+ background: var(--qt-status-warning-bg);
467
+ color: var(--qt-status-warning-fg);
468
+ border: 1px solid var(--qt-status-warning-border);
455
469
  }
456
470
  .qt-badge-destructive {
457
- background-color: var(--color-destructive);
458
- color: var(--color-destructive-foreground);
471
+ background: var(--qt-status-danger-bg);
472
+ color: var(--qt-status-danger-fg);
473
+ border: 1px solid var(--qt-status-danger-border);
474
+ }
475
+ .qt-badge-info {
476
+ background: var(--qt-status-info-bg);
477
+ color: var(--qt-status-info-fg);
478
+ border: 1px solid var(--qt-status-info-border);
459
479
  }
460
480
  .qt-badge-outline {
461
481
  background-color: transparent;
@@ -730,6 +750,27 @@ body {
730
750
  white-space: nowrap;
731
751
  color: var(--color-foreground);
732
752
  }
753
+ .qt-collapsed-nav {
754
+ display: flex;
755
+ flex-direction: column;
756
+ align-items: center;
757
+ gap: 0.25rem;
758
+ padding: 0.5rem 0.75rem;
759
+ }
760
+ .qt-collapsed-nav-button {
761
+ display: flex;
762
+ align-items: center;
763
+ justify-content: center;
764
+ width: 2.5rem;
765
+ height: 2.5rem;
766
+ border-radius: var(--radius-md);
767
+ cursor: pointer;
768
+ transition: background-color 150ms;
769
+ color: var(--color-foreground);
770
+ }
771
+ .qt-collapsed-nav-button:hover {
772
+ background-color: var(--color-muted);
773
+ }
733
774
  .qt-left-sidebar-footer {
734
775
  display: flex;
735
776
  flex-direction: column;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quilltap/theme-storybook",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Storybook preset and stories for developing Quilltap theme plugins",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -69,6 +69,23 @@
69
69
  --qt-badge-font-size: 0.875rem;
70
70
  --qt-badge-font-weight: 600;
71
71
 
72
+ /* Status tokens - used by status badges for consistent theming */
73
+ --qt-status-success-bg: color-mix(in srgb, var(--color-success) 85%, transparent);
74
+ --qt-status-success-fg: var(--color-success-foreground);
75
+ --qt-status-success-border: var(--color-success);
76
+
77
+ --qt-status-warning-bg: color-mix(in srgb, var(--color-warning) 85%, transparent);
78
+ --qt-status-warning-fg: var(--color-warning-foreground);
79
+ --qt-status-warning-border: var(--color-warning);
80
+
81
+ --qt-status-info-bg: color-mix(in srgb, var(--color-info) 85%, transparent);
82
+ --qt-status-info-fg: var(--color-info-foreground);
83
+ --qt-status-info-border: var(--color-info);
84
+
85
+ --qt-status-danger-bg: color-mix(in srgb, var(--color-destructive) 85%, transparent);
86
+ --qt-status-danger-fg: var(--color-destructive-foreground);
87
+ --qt-status-danger-border: var(--color-destructive);
88
+
72
89
  /* Avatar variables */
73
90
  --qt-avatar-radius: 9999px;
74
91
  --qt-avatar-size: 2.5rem;
@@ -371,18 +388,27 @@
371
388
  }
372
389
 
373
390
  .qt-badge-success {
374
- background-color: var(--color-success);
375
- color: var(--color-success-foreground);
391
+ background: var(--qt-status-success-bg);
392
+ color: var(--qt-status-success-fg);
393
+ border: 1px solid var(--qt-status-success-border);
376
394
  }
377
395
 
378
396
  .qt-badge-warning {
379
- background-color: var(--color-warning);
380
- color: var(--color-warning-foreground);
397
+ background: var(--qt-status-warning-bg);
398
+ color: var(--qt-status-warning-fg);
399
+ border: 1px solid var(--qt-status-warning-border);
381
400
  }
382
401
 
383
402
  .qt-badge-destructive {
384
- background-color: var(--color-destructive);
385
- color: var(--color-destructive-foreground);
403
+ background: var(--qt-status-danger-bg);
404
+ color: var(--qt-status-danger-fg);
405
+ border: 1px solid var(--qt-status-danger-border);
406
+ }
407
+
408
+ .qt-badge-info {
409
+ background: var(--qt-status-info-bg);
410
+ color: var(--qt-status-info-fg);
411
+ border: 1px solid var(--qt-status-info-border);
386
412
  }
387
413
 
388
414
  .qt-badge-outline {
@@ -725,6 +751,30 @@
725
751
  color: var(--color-foreground);
726
752
  }
727
753
 
754
+ .qt-collapsed-nav {
755
+ display: flex;
756
+ flex-direction: column;
757
+ align-items: center;
758
+ gap: 0.25rem;
759
+ padding: 0.5rem 0.75rem;
760
+ }
761
+
762
+ .qt-collapsed-nav-button {
763
+ display: flex;
764
+ align-items: center;
765
+ justify-content: center;
766
+ width: 2.5rem;
767
+ height: 2.5rem;
768
+ border-radius: var(--radius-md);
769
+ cursor: pointer;
770
+ transition: background-color 150ms;
771
+ color: var(--color-foreground);
772
+ }
773
+
774
+ .qt-collapsed-nav-button:hover {
775
+ background-color: var(--color-muted);
776
+ }
777
+
728
778
  .qt-left-sidebar-footer {
729
779
  display: flex;
730
780
  flex-direction: column;