@quilltap/theme-storybook 1.0.19 → 1.0.21

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,25 @@
2
2
 
3
3
  All notable changes to `@quilltap/theme-storybook` will be documented in this file.
4
4
 
5
+ ## [1.0.21] - 2026-02-20
6
+
7
+ ### Added
8
+ - Overlay utility classes: `qt-bg-overlay`, `qt-bg-overlay-medium`, `qt-bg-overlay-light`, `qt-bg-overlay-none`, `qt-bg-overlay-caption`
9
+ - Overlay button utility classes: `qt-bg-overlay-btn`, `hover:qt-bg-overlay-btn`
10
+ - Overlay text utilities: `qt-text-overlay`, `qt-text-overlay-muted`
11
+ - Spinner utility classes: `qt-spinner`, `qt-spinner-lg` (themed loading spinners)
12
+ - Favorite color utility: `qt-text-favorite` (themed amber star color)
13
+ - Toggle knob utility: `qt-bg-toggle-knob` (themed toggle switch circle)
14
+ - Warning box utilities: `qt-warning-box`, `qt-warning-box-text` (themed warning container)
15
+ - Prose dark mode utility: `qt-prose-auto` (handles dark mode prose automatically via `.dark` selector)
16
+ - CSS custom properties for all new utilities: `--qt-overlay-*`, `--qt-spinner-*`, `--qt-favorite-color`, `--qt-toggle-knob-bg`, `--qt-warning-box-*`
17
+
18
+ ## [1.0.20] - 2026-02-09
19
+
20
+ ### Added
21
+ - `qt-shadow-lg` utility class for elevated surfaces (dropdowns, modals)
22
+ - `hover:qt-bg-primary/10` hover background utility class
23
+
5
24
  ## [1.0.18] - 2026-02-08
6
25
 
7
26
  ### Changed
package/dist/index.css CHANGED
@@ -500,6 +500,21 @@ body {
500
500
  --qt-filter-chip-inactive-fg: var(--color-muted-foreground);
501
501
  --qt-filter-chip-inactive-border: transparent;
502
502
  --qt-filter-chip-inactive-hover-bg: color-mix(in srgb, var(--color-muted) 80%, var(--color-foreground) 5%);
503
+ --qt-overlay-bg: rgb(0 0 0 / 0.85);
504
+ --qt-overlay-medium-bg: rgb(0 0 0 / 0.6);
505
+ --qt-overlay-light-bg: rgb(0 0 0 / 0.2);
506
+ --qt-overlay-caption-bg: rgb(0 0 0 / 0.5);
507
+ --qt-overlay-btn-bg: rgb(255 255 255 / 0.1);
508
+ --qt-overlay-btn-hover-bg: rgb(255 255 255 / 0.2);
509
+ --qt-overlay-fg: rgb(255 255 255);
510
+ --qt-overlay-muted-fg: rgb(255 255 255 / 0.7);
511
+ --qt-spinner-track: color-mix(in srgb, var(--color-primary) 20%, transparent);
512
+ --qt-spinner-indicator: var(--color-primary);
513
+ --qt-favorite-color: hsl(45 96% 58%);
514
+ --qt-toggle-knob-bg: white;
515
+ --qt-warning-box-bg: color-mix(in srgb, var(--color-warning) 8%, transparent);
516
+ --qt-warning-box-border: color-mix(in srgb, var(--color-warning) 30%, transparent);
517
+ --qt-warning-box-fg: var(--color-warning);
503
518
  }
504
519
  .qt-button {
505
520
  display: inline-flex;
@@ -1030,6 +1045,76 @@ body {
1030
1045
  .hover\:qt-bg-info\/10:hover {
1031
1046
  background-color: color-mix(in srgb, var(--color-info) 10%, transparent);
1032
1047
  }
1048
+ .hover\:qt-bg-primary\/10:hover {
1049
+ background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
1050
+ }
1051
+ .qt-bg-overlay {
1052
+ background-color: var(--qt-overlay-bg, rgb(0 0 0 / 0.85));
1053
+ }
1054
+ .qt-bg-overlay-medium {
1055
+ background-color: var(--qt-overlay-medium-bg, rgb(0 0 0 / 0.6));
1056
+ }
1057
+ .qt-bg-overlay-light {
1058
+ background-color: var(--qt-overlay-light-bg, rgb(0 0 0 / 0.2));
1059
+ }
1060
+ .qt-bg-overlay-none {
1061
+ background-color: transparent;
1062
+ }
1063
+ .qt-bg-overlay-caption {
1064
+ background-color: var(--qt-overlay-caption-bg, rgb(0 0 0 / 0.5));
1065
+ }
1066
+ .qt-bg-overlay-btn {
1067
+ background-color: var(--qt-overlay-btn-bg, rgb(255 255 255 / 0.1));
1068
+ }
1069
+ .hover\:qt-bg-overlay-btn:hover {
1070
+ background-color: var(--qt-overlay-btn-hover-bg, rgb(255 255 255 / 0.2));
1071
+ }
1072
+ .qt-text-overlay {
1073
+ color: var(--qt-overlay-fg, rgb(255 255 255));
1074
+ }
1075
+ .qt-text-overlay-muted {
1076
+ color: var(--qt-overlay-muted-fg, rgb(255 255 255 / 0.7));
1077
+ }
1078
+ .qt-spinner {
1079
+ border: 2px solid var(--qt-spinner-track, color-mix(in srgb, var(--color-primary) 20%, transparent));
1080
+ border-right-color: var(--qt-spinner-indicator, var(--color-primary));
1081
+ }
1082
+ .qt-spinner-lg {
1083
+ border: 4px solid var(--qt-spinner-track, color-mix(in srgb, var(--color-primary) 20%, transparent));
1084
+ border-right-color: var(--qt-spinner-indicator, var(--color-primary));
1085
+ }
1086
+ .qt-text-favorite {
1087
+ color: var(--qt-favorite-color, hsl(45 96% 58%));
1088
+ }
1089
+ .qt-bg-toggle-knob {
1090
+ background-color: var(--qt-toggle-knob-bg, white);
1091
+ }
1092
+ .qt-warning-box {
1093
+ background-color: var(--qt-warning-box-bg, color-mix(in srgb, var(--color-warning) 8%, transparent));
1094
+ border: 1px solid var(--qt-warning-box-border, color-mix(in srgb, var(--color-warning) 30%, transparent));
1095
+ }
1096
+ .qt-warning-box-text {
1097
+ color: var(--qt-warning-box-fg, var(--color-warning));
1098
+ }
1099
+ .qt-prose-auto {
1100
+ }
1101
+ .dark .qt-prose-auto {
1102
+ --tw-prose-body: var(--color-foreground);
1103
+ --tw-prose-headings: var(--color-foreground);
1104
+ --tw-prose-links: var(--color-primary);
1105
+ --tw-prose-bold: var(--color-foreground);
1106
+ --tw-prose-counters: var(--color-muted-foreground);
1107
+ --tw-prose-bullets: var(--color-muted-foreground);
1108
+ --tw-prose-hr: var(--color-border);
1109
+ --tw-prose-quotes: var(--color-foreground);
1110
+ --tw-prose-quote-borders: var(--color-border);
1111
+ --tw-prose-captions: var(--color-muted-foreground);
1112
+ --tw-prose-code: var(--color-foreground);
1113
+ --tw-prose-pre-code: var(--color-foreground);
1114
+ --tw-prose-pre-bg: var(--color-muted);
1115
+ --tw-prose-th-borders: var(--color-border);
1116
+ --tw-prose-td-borders: var(--color-border);
1117
+ }
1033
1118
  .qt-left-sidebar {
1034
1119
  display: flex;
1035
1120
  flex-direction: column;
@@ -1460,6 +1545,9 @@ body {
1460
1545
  .qt-shadow-md {
1461
1546
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1462
1547
  }
1548
+ .qt-shadow-lg {
1549
+ box-shadow: var(--qt-dialog-shadow, 0 10px 25px hsl(225 18% 10% / 0.15), 0 4px 10px hsl(225 18% 10% / 0.08));
1550
+ }
1463
1551
  .hover\:qt-bg-surface-alt:hover {
1464
1552
  background-color: var(--color-muted);
1465
1553
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quilltap/theme-storybook",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
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",
@@ -416,6 +416,31 @@
416
416
  --qt-filter-chip-inactive-fg: var(--color-muted-foreground);
417
417
  --qt-filter-chip-inactive-border: transparent;
418
418
  --qt-filter-chip-inactive-hover-bg: color-mix(in srgb, var(--color-muted) 80%, var(--color-foreground) 5%);
419
+
420
+ /* Overlay variables (image modals, lightboxes, overlay UI elements) */
421
+ --qt-overlay-bg: rgb(0 0 0 / 0.85);
422
+ --qt-overlay-medium-bg: rgb(0 0 0 / 0.6);
423
+ --qt-overlay-light-bg: rgb(0 0 0 / 0.2);
424
+ --qt-overlay-caption-bg: rgb(0 0 0 / 0.5);
425
+ --qt-overlay-btn-bg: rgb(255 255 255 / 0.1);
426
+ --qt-overlay-btn-hover-bg: rgb(255 255 255 / 0.2);
427
+ --qt-overlay-fg: rgb(255 255 255);
428
+ --qt-overlay-muted-fg: rgb(255 255 255 / 0.7);
429
+
430
+ /* Spinner variables */
431
+ --qt-spinner-track: color-mix(in srgb, var(--color-primary) 20%, transparent);
432
+ --qt-spinner-indicator: var(--color-primary);
433
+
434
+ /* Favorite star color */
435
+ --qt-favorite-color: hsl(45 96% 58%);
436
+
437
+ /* Toggle switch knob */
438
+ --qt-toggle-knob-bg: white;
439
+
440
+ /* Warning box variables */
441
+ --qt-warning-box-bg: color-mix(in srgb, var(--color-warning) 8%, transparent);
442
+ --qt-warning-box-border: color-mix(in srgb, var(--color-warning) 30%, transparent);
443
+ --qt-warning-box-fg: var(--color-warning);
419
444
  }
420
445
 
421
446
  /* ==========================================================================
@@ -1093,6 +1118,112 @@
1093
1118
  background-color: color-mix(in srgb, var(--color-info) 10%, transparent);
1094
1119
  }
1095
1120
 
1121
+ .hover\:qt-bg-primary\/10:hover {
1122
+ background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
1123
+ }
1124
+
1125
+ /* ==========================================================================
1126
+ OVERLAY UTILITIES
1127
+ For image modals, lightboxes, and overlay UI elements.
1128
+ ========================================================================== */
1129
+
1130
+ .qt-bg-overlay {
1131
+ background-color: var(--qt-overlay-bg, rgb(0 0 0 / 0.85));
1132
+ }
1133
+
1134
+ .qt-bg-overlay-medium {
1135
+ background-color: var(--qt-overlay-medium-bg, rgb(0 0 0 / 0.6));
1136
+ }
1137
+
1138
+ .qt-bg-overlay-light {
1139
+ background-color: var(--qt-overlay-light-bg, rgb(0 0 0 / 0.2));
1140
+ }
1141
+
1142
+ .qt-bg-overlay-none {
1143
+ background-color: transparent;
1144
+ }
1145
+
1146
+ .qt-bg-overlay-caption {
1147
+ background-color: var(--qt-overlay-caption-bg, rgb(0 0 0 / 0.5));
1148
+ }
1149
+
1150
+ .qt-bg-overlay-btn {
1151
+ background-color: var(--qt-overlay-btn-bg, rgb(255 255 255 / 0.1));
1152
+ }
1153
+
1154
+ .hover\:qt-bg-overlay-btn:hover {
1155
+ background-color: var(--qt-overlay-btn-hover-bg, rgb(255 255 255 / 0.2));
1156
+ }
1157
+
1158
+ .qt-text-overlay {
1159
+ color: var(--qt-overlay-fg, rgb(255 255 255));
1160
+ }
1161
+
1162
+ .qt-text-overlay-muted {
1163
+ color: var(--qt-overlay-muted-fg, rgb(255 255 255 / 0.7));
1164
+ }
1165
+
1166
+ /* ==========================================================================
1167
+ SPINNER UTILITIES
1168
+ ========================================================================== */
1169
+
1170
+ .qt-spinner {
1171
+ border: 2px solid var(--qt-spinner-track, color-mix(in srgb, var(--color-primary) 20%, transparent));
1172
+ border-right-color: var(--qt-spinner-indicator, var(--color-primary));
1173
+ }
1174
+
1175
+ .qt-spinner-lg {
1176
+ border: 4px solid var(--qt-spinner-track, color-mix(in srgb, var(--color-primary) 20%, transparent));
1177
+ border-right-color: var(--qt-spinner-indicator, var(--color-primary));
1178
+ }
1179
+
1180
+ /* ==========================================================================
1181
+ FAVORITE / TOGGLE / WARNING BOX UTILITIES
1182
+ ========================================================================== */
1183
+
1184
+ .qt-text-favorite {
1185
+ color: var(--qt-favorite-color, hsl(45 96% 58%));
1186
+ }
1187
+
1188
+ .qt-bg-toggle-knob {
1189
+ background-color: var(--qt-toggle-knob-bg, white);
1190
+ }
1191
+
1192
+ .qt-warning-box {
1193
+ background-color: var(--qt-warning-box-bg, color-mix(in srgb, var(--color-warning) 8%, transparent));
1194
+ border: 1px solid var(--qt-warning-box-border, color-mix(in srgb, var(--color-warning) 30%, transparent));
1195
+ }
1196
+
1197
+ .qt-warning-box-text {
1198
+ color: var(--qt-warning-box-fg, var(--color-warning));
1199
+ }
1200
+
1201
+ /* ==========================================================================
1202
+ PROSE DARK MODE UTILITY
1203
+ ========================================================================== */
1204
+
1205
+ .qt-prose-auto {
1206
+ /* Light mode: default prose colors (no override needed) */
1207
+ }
1208
+
1209
+ .dark .qt-prose-auto {
1210
+ --tw-prose-body: var(--color-foreground);
1211
+ --tw-prose-headings: var(--color-foreground);
1212
+ --tw-prose-links: var(--color-primary);
1213
+ --tw-prose-bold: var(--color-foreground);
1214
+ --tw-prose-counters: var(--color-muted-foreground);
1215
+ --tw-prose-bullets: var(--color-muted-foreground);
1216
+ --tw-prose-hr: var(--color-border);
1217
+ --tw-prose-quotes: var(--color-foreground);
1218
+ --tw-prose-quote-borders: var(--color-border);
1219
+ --tw-prose-captions: var(--color-muted-foreground);
1220
+ --tw-prose-code: var(--color-foreground);
1221
+ --tw-prose-pre-code: var(--color-foreground);
1222
+ --tw-prose-pre-bg: var(--color-muted);
1223
+ --tw-prose-th-borders: var(--color-border);
1224
+ --tw-prose-td-borders: var(--color-border);
1225
+ }
1226
+
1096
1227
  /* ==========================================================================
1097
1228
  LEFT SIDEBAR COMPONENTS
1098
1229
  ========================================================================== */
@@ -1641,6 +1772,10 @@
1641
1772
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1642
1773
  }
1643
1774
 
1775
+ .qt-shadow-lg {
1776
+ box-shadow: var(--qt-dialog-shadow, 0 10px 25px hsl(225 18% 10% / 0.15), 0 4px 10px hsl(225 18% 10% / 0.08));
1777
+ }
1778
+
1644
1779
  .hover\:qt-bg-surface-alt:hover {
1645
1780
  background-color: var(--color-muted);
1646
1781
  }