@quilltap/theme-storybook 1.0.85 → 1.0.87
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/index.css +35 -6
- package/package.json +1 -1
- package/src/css/qt-components.css +58 -7
package/dist/index.css
CHANGED
|
@@ -300,6 +300,12 @@ body {
|
|
|
300
300
|
--qt-status-danger-border: var(--color-destructive);
|
|
301
301
|
--qt-punctuation-warning-bg: color-mix(in srgb, var(--color-warning) 35%, transparent);
|
|
302
302
|
--qt-punctuation-warning-underline: var(--color-warning);
|
|
303
|
+
--qt-punctuation-no-dialogue-bg: color-mix(in srgb, var(--color-warning) 14%, transparent);
|
|
304
|
+
--qt-punctuation-no-dialogue-underline: var(--color-warning);
|
|
305
|
+
--qt-composer-narration-fg: color-mix(in srgb, var(--color-foreground) 65%, var(--color-primary));
|
|
306
|
+
--qt-composer-narration-bg: color-mix(in srgb, var(--color-primary) 7%, transparent);
|
|
307
|
+
--qt-composer-ooc-fg: var(--qt-rp-ooc-color);
|
|
308
|
+
--qt-composer-ooc-bg: var(--qt-rp-ooc-bg);
|
|
303
309
|
--qt-badge-primary-bg: var(--color-primary);
|
|
304
310
|
--qt-badge-primary-fg: var(--color-primary-foreground);
|
|
305
311
|
--qt-badge-secondary-bg: var(--color-secondary);
|
|
@@ -505,7 +511,7 @@ body {
|
|
|
505
511
|
--qt-response-status-gathering-fg: hsl(270 55% 55%);
|
|
506
512
|
--qt-response-status-building-fg: hsl(38 85% 48%);
|
|
507
513
|
--qt-response-status-sending-fg: var(--qt-status-info-fg);
|
|
508
|
-
--qt-response-status-streaming-fg: hsl(152 55%
|
|
514
|
+
--qt-response-status-streaming-fg: hsl(152 55% 29%);
|
|
509
515
|
--qt-response-status-tool-fg: hsl(270 55% 55%);
|
|
510
516
|
--qt-participant-card-radius: var(--radius-lg);
|
|
511
517
|
--qt-participant-card-bg: var(--color-card);
|
|
@@ -985,6 +991,7 @@ body {
|
|
|
985
991
|
}
|
|
986
992
|
.qt-danger-badge {
|
|
987
993
|
--qt-concierge-badge-color: var(--color-destructive, #dc2626);
|
|
994
|
+
--qt-concierge-badge-fg: var(--qt-alert-error-fg, var(--qt-concierge-badge-color));
|
|
988
995
|
display: inline-flex;
|
|
989
996
|
align-items: center;
|
|
990
997
|
gap: 0.25rem;
|
|
@@ -994,14 +1001,15 @@ body {
|
|
|
994
1001
|
line-height: 1rem;
|
|
995
1002
|
font-weight: 500;
|
|
996
1003
|
background: color-mix(in srgb, var(--qt-concierge-badge-color) 15%, transparent);
|
|
997
|
-
color: var(--qt-concierge-badge-
|
|
1004
|
+
color: var(--qt-concierge-badge-fg);
|
|
998
1005
|
border: 1px solid color-mix(in srgb, var(--qt-concierge-badge-color) 40%, transparent);
|
|
999
1006
|
}
|
|
1000
1007
|
.qt-danger-badge-muted {
|
|
1001
1008
|
--qt-concierge-badge-color: var(--color-muted-foreground, #6b7280);
|
|
1009
|
+
--qt-concierge-badge-fg: var(--color-foreground);
|
|
1002
1010
|
}
|
|
1003
1011
|
.qt-concierge-mark {
|
|
1004
|
-
--qt-concierge-mark-color: var(--color-destructive, #dc2626);
|
|
1012
|
+
--qt-concierge-mark-color: var(--qt-alert-error-fg, var(--color-destructive, #dc2626));
|
|
1005
1013
|
display: inline-block;
|
|
1006
1014
|
font-weight: 700;
|
|
1007
1015
|
line-height: 1;
|
|
@@ -1630,6 +1638,7 @@ body {
|
|
|
1630
1638
|
color: var(--qt-response-status-streaming-fg);
|
|
1631
1639
|
}
|
|
1632
1640
|
.qt-chat-regenerating-plate-text {
|
|
1641
|
+
color: var(--qt-chat-regenerating-plate-fg, var(--qt-chat-assistant-fg, var(--color-foreground)));
|
|
1633
1642
|
font-size: 0.875rem;
|
|
1634
1643
|
line-height: 1.25rem;
|
|
1635
1644
|
font-weight: 500;
|
|
@@ -1944,6 +1953,20 @@ body {
|
|
|
1944
1953
|
text-decoration: underline wavy var(--qt-punctuation-warning-underline);
|
|
1945
1954
|
text-decoration-thickness: 2px;
|
|
1946
1955
|
}
|
|
1956
|
+
::highlight(qt-punctuation-no-dialogue) {
|
|
1957
|
+
background-color: var(--qt-punctuation-no-dialogue-bg);
|
|
1958
|
+
-webkit-text-decoration: underline dotted var(--qt-punctuation-no-dialogue-underline);
|
|
1959
|
+
text-decoration: underline dotted var(--qt-punctuation-no-dialogue-underline);
|
|
1960
|
+
text-decoration-thickness: 2px;
|
|
1961
|
+
}
|
|
1962
|
+
::highlight(qt-composer-narration) {
|
|
1963
|
+
color: var(--qt-composer-narration-fg);
|
|
1964
|
+
background-color: var(--qt-composer-narration-bg);
|
|
1965
|
+
}
|
|
1966
|
+
::highlight(qt-composer-ooc) {
|
|
1967
|
+
color: var(--qt-composer-ooc-fg);
|
|
1968
|
+
background-color: var(--qt-composer-ooc-bg);
|
|
1969
|
+
}
|
|
1947
1970
|
.qt-lexical-contenteditable {
|
|
1948
1971
|
overflow-y: auto;
|
|
1949
1972
|
position: relative;
|
|
@@ -4224,7 +4247,7 @@ body {
|
|
|
4224
4247
|
.qt-storyteller-warning {
|
|
4225
4248
|
font-size: 0.75rem;
|
|
4226
4249
|
font-weight: 600;
|
|
4227
|
-
color: var(--qt-storyteller-warning-fg, var(--
|
|
4250
|
+
color: var(--qt-storyteller-warning-fg, var(--qt-alert-error-fg));
|
|
4228
4251
|
}
|
|
4229
4252
|
.qt-storyteller-actions {
|
|
4230
4253
|
display: flex;
|
|
@@ -4287,7 +4310,7 @@ body {
|
|
|
4287
4310
|
.qt-intervention-note {
|
|
4288
4311
|
font-size: 0.75rem;
|
|
4289
4312
|
font-style: italic;
|
|
4290
|
-
color: var(--qt-intervention-note-fg, var(--
|
|
4313
|
+
color: var(--qt-intervention-note-fg, var(--qt-alert-warning-fg));
|
|
4291
4314
|
}
|
|
4292
4315
|
.qt-intervention-badge {
|
|
4293
4316
|
display: inline-flex;
|
|
@@ -4315,5 +4338,11 @@ body {
|
|
|
4315
4338
|
}
|
|
4316
4339
|
.qt-intervene-toggle--off {
|
|
4317
4340
|
color: var(--qt-intervene-toggle-off-fg, var(--color-muted-foreground));
|
|
4318
|
-
|
|
4341
|
+
background-image:
|
|
4342
|
+
linear-gradient(
|
|
4343
|
+
to top right,
|
|
4344
|
+
transparent calc(50% - 0.75px),
|
|
4345
|
+
currentColor calc(50% - 0.75px),
|
|
4346
|
+
currentColor calc(50% + 0.75px),
|
|
4347
|
+
transparent calc(50% + 0.75px));
|
|
4319
4348
|
}
|
package/package.json
CHANGED
|
@@ -169,6 +169,14 @@
|
|
|
169
169
|
/* Composer punctuation warnings (PunctuationLintPlugin, ::highlight) */
|
|
170
170
|
--qt-punctuation-warning-bg: color-mix(in srgb, var(--color-warning) 35%, transparent);
|
|
171
171
|
--qt-punctuation-warning-underline: var(--color-warning);
|
|
172
|
+
/* Prose mode (Novel-like templates): no dialogue in the draft at all */
|
|
173
|
+
--qt-punctuation-no-dialogue-bg: color-mix(in srgb, var(--color-warning) 14%, transparent);
|
|
174
|
+
--qt-punctuation-no-dialogue-underline: var(--color-warning);
|
|
175
|
+
/* Prose mode composer preview: narration, and ((out of character)) asides */
|
|
176
|
+
--qt-composer-narration-fg: color-mix(in srgb, var(--color-foreground) 65%, var(--color-primary));
|
|
177
|
+
--qt-composer-narration-bg: color-mix(in srgb, var(--color-primary) 7%, transparent);
|
|
178
|
+
--qt-composer-ooc-fg: var(--qt-rp-ooc-color);
|
|
179
|
+
--qt-composer-ooc-bg: var(--qt-rp-ooc-bg);
|
|
172
180
|
|
|
173
181
|
/* Badge palette tokens - referenced by the provider badges */
|
|
174
182
|
--qt-badge-primary-bg: var(--color-primary);
|
|
@@ -433,7 +441,7 @@
|
|
|
433
441
|
--qt-response-status-gathering-fg: hsl(270 55% 55%);
|
|
434
442
|
--qt-response-status-building-fg: hsl(38 85% 48%);
|
|
435
443
|
--qt-response-status-sending-fg: var(--qt-status-info-fg);
|
|
436
|
-
--qt-response-status-streaming-fg: hsl(152 55%
|
|
444
|
+
--qt-response-status-streaming-fg: hsl(152 55% 29%);
|
|
437
445
|
--qt-response-status-tool-fg: hsl(270 55% 55%);
|
|
438
446
|
|
|
439
447
|
/* Participant card variables */
|
|
@@ -1072,6 +1080,9 @@
|
|
|
1072
1080
|
*/
|
|
1073
1081
|
.qt-danger-badge {
|
|
1074
1082
|
--qt-concierge-badge-color: var(--color-destructive, #dc2626);
|
|
1083
|
+
/* The ink is the alert token, not the fill red: --color-destructive on its
|
|
1084
|
+
own 15% tint read at ~3.5:1 on every bundled theme. */
|
|
1085
|
+
--qt-concierge-badge-fg: var(--qt-alert-error-fg, var(--qt-concierge-badge-color));
|
|
1075
1086
|
display: inline-flex;
|
|
1076
1087
|
align-items: center;
|
|
1077
1088
|
gap: 0.25rem;
|
|
@@ -1081,13 +1092,15 @@
|
|
|
1081
1092
|
line-height: 1rem;
|
|
1082
1093
|
font-weight: 500;
|
|
1083
1094
|
background: color-mix(in srgb, var(--qt-concierge-badge-color) 15%, transparent);
|
|
1084
|
-
color: var(--qt-concierge-badge-
|
|
1095
|
+
color: var(--qt-concierge-badge-fg);
|
|
1085
1096
|
border: 1px solid color-mix(in srgb, var(--qt-concierge-badge-color) 40%, transparent);
|
|
1086
1097
|
}
|
|
1087
1098
|
|
|
1088
|
-
/* Locked — no colour: the chat keeps to the ordinary desks.
|
|
1099
|
+
/* Locked — no colour: the chat keeps to the ordinary desks. The grey lives
|
|
1100
|
+
in the tint and the rule; the word is in body ink so it stays legible. */
|
|
1089
1101
|
.qt-danger-badge-muted {
|
|
1090
1102
|
--qt-concierge-badge-color: var(--color-muted-foreground, #6b7280);
|
|
1103
|
+
--qt-concierge-badge-fg: var(--color-foreground);
|
|
1091
1104
|
}
|
|
1092
1105
|
|
|
1093
1106
|
|
|
@@ -1098,7 +1111,7 @@
|
|
|
1098
1111
|
* so there is no third modifier.
|
|
1099
1112
|
*/
|
|
1100
1113
|
.qt-concierge-mark {
|
|
1101
|
-
--qt-concierge-mark-color: var(--color-destructive, #dc2626);
|
|
1114
|
+
--qt-concierge-mark-color: var(--qt-alert-error-fg, var(--color-destructive, #dc2626));
|
|
1102
1115
|
display: inline-block;
|
|
1103
1116
|
font-weight: 700;
|
|
1104
1117
|
line-height: 1;
|
|
@@ -1967,7 +1980,11 @@
|
|
|
1967
1980
|
color: var(--qt-response-status-streaming-fg);
|
|
1968
1981
|
}
|
|
1969
1982
|
|
|
1983
|
+
/* The words are in the bubble's own ink: the streaming green is a status
|
|
1984
|
+
accent, and on a mid-tone bubble it fell below 3:1. The green stays on the
|
|
1985
|
+
border and the quill. */
|
|
1970
1986
|
.qt-chat-regenerating-plate-text {
|
|
1987
|
+
color: var(--qt-chat-regenerating-plate-fg, var(--qt-chat-assistant-fg, var(--color-foreground)));
|
|
1971
1988
|
font-size: 0.875rem;
|
|
1972
1989
|
line-height: 1.25rem;
|
|
1973
1990
|
font-weight: 500;
|
|
@@ -2339,6 +2356,27 @@
|
|
|
2339
2356
|
text-decoration-thickness: 2px;
|
|
2340
2357
|
}
|
|
2341
2358
|
|
|
2359
|
+
/* Prose mode (a template like Novel: unmarked narration, quoted dialogue).
|
|
2360
|
+
The no-dialogue tint covers every narrated run while the draft has no
|
|
2361
|
+
dialogue at all; the preview marks narration and ((asides)) the way the
|
|
2362
|
+
rendered message will set them. ::highlight cannot set font-style, so
|
|
2363
|
+
narration is told apart by colour rather than italics. */
|
|
2364
|
+
::highlight(qt-punctuation-no-dialogue) {
|
|
2365
|
+
background-color: var(--qt-punctuation-no-dialogue-bg);
|
|
2366
|
+
text-decoration: underline dotted var(--qt-punctuation-no-dialogue-underline);
|
|
2367
|
+
text-decoration-thickness: 2px;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2370
|
+
::highlight(qt-composer-narration) {
|
|
2371
|
+
color: var(--qt-composer-narration-fg);
|
|
2372
|
+
background-color: var(--qt-composer-narration-bg);
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
::highlight(qt-composer-ooc) {
|
|
2376
|
+
color: var(--qt-composer-ooc-fg);
|
|
2377
|
+
background-color: var(--qt-composer-ooc-bg);
|
|
2378
|
+
}
|
|
2379
|
+
|
|
2342
2380
|
/* Lexical editor rich text node styles */
|
|
2343
2381
|
.qt-lexical-contenteditable {
|
|
2344
2382
|
overflow-y: auto;
|
|
@@ -5215,7 +5253,9 @@
|
|
|
5215
5253
|
.qt-storyteller-warning {
|
|
5216
5254
|
font-size: 0.75rem;
|
|
5217
5255
|
font-weight: 600;
|
|
5218
|
-
|
|
5256
|
+
/* The alert token, not --color-destructive: a fill red is too dark to read
|
|
5257
|
+
as small text on a dark card. */
|
|
5258
|
+
color: var(--qt-storyteller-warning-fg, var(--qt-alert-error-fg));
|
|
5219
5259
|
}
|
|
5220
5260
|
|
|
5221
5261
|
.qt-storyteller-actions {
|
|
@@ -5305,7 +5345,9 @@
|
|
|
5305
5345
|
.qt-intervention-note {
|
|
5306
5346
|
font-size: 0.75rem;
|
|
5307
5347
|
font-style: italic;
|
|
5308
|
-
|
|
5348
|
+
/* The alert token, not --color-warning: amber fill is not amber ink, and on
|
|
5349
|
+
a light card the raw warning colour falls to ~2:1. */
|
|
5350
|
+
color: var(--qt-intervention-note-fg, var(--qt-alert-warning-fg));
|
|
5309
5351
|
}
|
|
5310
5352
|
|
|
5311
5353
|
/* The "adjusted" hand beside a Pascal chip's label. */
|
|
@@ -5340,7 +5382,16 @@
|
|
|
5340
5382
|
}
|
|
5341
5383
|
|
|
5342
5384
|
/* A field the author has hidden from the dialog. */
|
|
5385
|
+
/* A field the author has hidden from the dialog: the hand, struck through.
|
|
5386
|
+
The slash says "off" without leaning on colour, and without the half
|
|
5387
|
+
opacity that left the icon at ~2:1 on every bundled theme. */
|
|
5343
5388
|
.qt-intervene-toggle--off {
|
|
5344
5389
|
color: var(--qt-intervene-toggle-off-fg, var(--color-muted-foreground));
|
|
5345
|
-
|
|
5390
|
+
background-image: linear-gradient(
|
|
5391
|
+
to top right,
|
|
5392
|
+
transparent calc(50% - 0.75px),
|
|
5393
|
+
currentColor calc(50% - 0.75px),
|
|
5394
|
+
currentColor calc(50% + 0.75px),
|
|
5395
|
+
transparent calc(50% + 0.75px)
|
|
5396
|
+
);
|
|
5346
5397
|
}
|