@quilltap/theme-storybook 1.0.83 → 1.0.84
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 +5 -0
- package/dist/index.css +113 -0
- package/package.json +1 -1
- package/src/css/qt-components.css +133 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@quilltap/theme-storybook` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.0.84] - 2026-10-25
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- The `qt-diagram*` family in `qt-components.css`, mirroring the app's `_content.css`: the frame around a diagram drawn in the Salon (`.qt-diagram`), its toolbar (`.qt-diagram-toolbar`, `-toolbar-button`, with hover / pressed / focus states), the drawing (`.qt-diagram-canvas`), the loading placeholder (`.qt-diagram-placeholder`), the offscreen scratch space (`.qt-diagram-stage`) and the could-not-draw fallback (`.qt-diagram-error`, `-error-note`, `-error-details`). Colours, radius and fonts read new `--qt-diagram-*` variables, including `--qt-diagram-hand-font` for hand-drawn diagrams.
|
|
9
|
+
|
|
5
10
|
## [1.0.78] - 2026-10-22
|
|
6
11
|
|
|
7
12
|
### Added
|
package/dist/index.css
CHANGED
|
@@ -532,6 +532,22 @@ body {
|
|
|
532
532
|
"Liberation Mono",
|
|
533
533
|
"Courier New",
|
|
534
534
|
monospace;
|
|
535
|
+
--qt-diagram-radius: var(--radius-md);
|
|
536
|
+
--qt-diagram-bg: var(--color-card);
|
|
537
|
+
--qt-diagram-fg: var(--color-foreground);
|
|
538
|
+
--qt-diagram-border: var(--color-border);
|
|
539
|
+
--qt-diagram-muted-fg: var(--color-muted-foreground);
|
|
540
|
+
--qt-diagram-toolbar-fg: var(--color-muted-foreground);
|
|
541
|
+
--qt-diagram-toolbar-hover-bg: var(--color-muted);
|
|
542
|
+
--qt-diagram-error-fg: var(--color-muted-foreground);
|
|
543
|
+
--qt-diagram-placeholder-height: 8rem;
|
|
544
|
+
--qt-diagram-font: var(--font-sans);
|
|
545
|
+
--qt-diagram-hand-font:
|
|
546
|
+
"Segoe Print",
|
|
547
|
+
"Bradley Hand",
|
|
548
|
+
"Chalkboard SE",
|
|
549
|
+
"Marker Felt",
|
|
550
|
+
cursive;
|
|
535
551
|
--qt-link-color: var(--color-primary);
|
|
536
552
|
--qt-link-hover-color: color-mix(in srgb, var(--color-primary) 80%, black);
|
|
537
553
|
--qt-link-decoration: none;
|
|
@@ -3261,6 +3277,103 @@ body {
|
|
|
3261
3277
|
right: 0.5rem;
|
|
3262
3278
|
z-index: 10;
|
|
3263
3279
|
}
|
|
3280
|
+
.qt-diagram {
|
|
3281
|
+
position: relative;
|
|
3282
|
+
width: 100%;
|
|
3283
|
+
max-width: 100%;
|
|
3284
|
+
box-sizing: border-box;
|
|
3285
|
+
margin: 0.5rem 0;
|
|
3286
|
+
padding: 0.75rem;
|
|
3287
|
+
border-radius: var(--qt-diagram-radius);
|
|
3288
|
+
background: var(--qt-diagram-bg);
|
|
3289
|
+
border: 1px solid var(--qt-diagram-border);
|
|
3290
|
+
color: var(--qt-diagram-fg);
|
|
3291
|
+
}
|
|
3292
|
+
.qt-diagram-toolbar {
|
|
3293
|
+
display: flex;
|
|
3294
|
+
flex-wrap: wrap;
|
|
3295
|
+
justify-content: flex-end;
|
|
3296
|
+
gap: 0.25rem;
|
|
3297
|
+
margin-bottom: 0.5rem;
|
|
3298
|
+
}
|
|
3299
|
+
.qt-diagram-toolbar-button {
|
|
3300
|
+
display: inline-flex;
|
|
3301
|
+
align-items: center;
|
|
3302
|
+
gap: 0.25rem;
|
|
3303
|
+
padding: 0.125rem 0.5rem;
|
|
3304
|
+
border-radius: var(--radius-sm);
|
|
3305
|
+
border: 1px solid transparent;
|
|
3306
|
+
background: transparent;
|
|
3307
|
+
color: var(--qt-diagram-toolbar-fg);
|
|
3308
|
+
font-size: 0.75rem;
|
|
3309
|
+
line-height: 1.25rem;
|
|
3310
|
+
cursor: pointer;
|
|
3311
|
+
transition:
|
|
3312
|
+
background-color 150ms,
|
|
3313
|
+
color 150ms,
|
|
3314
|
+
border-color 150ms;
|
|
3315
|
+
}
|
|
3316
|
+
.qt-diagram-toolbar-button:hover,
|
|
3317
|
+
.qt-diagram-toolbar-button[aria-pressed=true] {
|
|
3318
|
+
background: var(--qt-diagram-toolbar-hover-bg);
|
|
3319
|
+
border-color: var(--qt-diagram-border);
|
|
3320
|
+
color: var(--qt-diagram-fg);
|
|
3321
|
+
}
|
|
3322
|
+
.qt-diagram-toolbar-button:focus-visible {
|
|
3323
|
+
outline: 2px solid var(--color-primary);
|
|
3324
|
+
outline-offset: 1px;
|
|
3325
|
+
}
|
|
3326
|
+
.qt-diagram-canvas {
|
|
3327
|
+
max-width: 100%;
|
|
3328
|
+
overflow-x: auto;
|
|
3329
|
+
overflow-y: hidden;
|
|
3330
|
+
}
|
|
3331
|
+
.qt-diagram-canvas > svg {
|
|
3332
|
+
display: block;
|
|
3333
|
+
margin: 0 auto;
|
|
3334
|
+
}
|
|
3335
|
+
.qt-diagram-placeholder {
|
|
3336
|
+
display: flex;
|
|
3337
|
+
align-items: center;
|
|
3338
|
+
justify-content: center;
|
|
3339
|
+
min-height: var(--qt-diagram-placeholder-height);
|
|
3340
|
+
color: var(--qt-diagram-muted-fg);
|
|
3341
|
+
font-size: 0.875rem;
|
|
3342
|
+
font-style: italic;
|
|
3343
|
+
}
|
|
3344
|
+
.qt-diagram-stage {
|
|
3345
|
+
position: relative;
|
|
3346
|
+
width: 0;
|
|
3347
|
+
height: 0;
|
|
3348
|
+
overflow: visible;
|
|
3349
|
+
}
|
|
3350
|
+
.qt-diagram-error {
|
|
3351
|
+
margin: 0.5rem 0;
|
|
3352
|
+
}
|
|
3353
|
+
.qt-diagram-error-note {
|
|
3354
|
+
margin: 0 0 0.25rem;
|
|
3355
|
+
color: var(--qt-diagram-error-fg);
|
|
3356
|
+
font-size: 0.875rem;
|
|
3357
|
+
font-style: italic;
|
|
3358
|
+
}
|
|
3359
|
+
.qt-diagram-error-details {
|
|
3360
|
+
margin-bottom: 0.25rem;
|
|
3361
|
+
color: var(--qt-diagram-muted-fg);
|
|
3362
|
+
font-size: 0.75rem;
|
|
3363
|
+
}
|
|
3364
|
+
.qt-diagram-error-details > summary {
|
|
3365
|
+
cursor: pointer;
|
|
3366
|
+
}
|
|
3367
|
+
.qt-diagram-error-details > pre {
|
|
3368
|
+
margin: 0.25rem 0 0;
|
|
3369
|
+
padding: 0.5rem;
|
|
3370
|
+
border-radius: var(--radius-sm);
|
|
3371
|
+
background: var(--qt-code-bg);
|
|
3372
|
+
color: var(--qt-code-fg);
|
|
3373
|
+
font-family: var(--qt-code-font);
|
|
3374
|
+
white-space: pre-wrap;
|
|
3375
|
+
word-break: break-word;
|
|
3376
|
+
}
|
|
3264
3377
|
.qt-wikilink {
|
|
3265
3378
|
color: var(--color-primary);
|
|
3266
3379
|
font-weight: 500;
|
package/package.json
CHANGED
|
@@ -460,6 +460,19 @@
|
|
|
460
460
|
--qt-code-border: var(--color-border);
|
|
461
461
|
--qt-code-font: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
462
462
|
|
|
463
|
+
/* Diagram variables */
|
|
464
|
+
--qt-diagram-radius: var(--radius-md);
|
|
465
|
+
--qt-diagram-bg: var(--color-card);
|
|
466
|
+
--qt-diagram-fg: var(--color-foreground);
|
|
467
|
+
--qt-diagram-border: var(--color-border);
|
|
468
|
+
--qt-diagram-muted-fg: var(--color-muted-foreground);
|
|
469
|
+
--qt-diagram-toolbar-fg: var(--color-muted-foreground);
|
|
470
|
+
--qt-diagram-toolbar-hover-bg: var(--color-muted);
|
|
471
|
+
--qt-diagram-error-fg: var(--color-muted-foreground);
|
|
472
|
+
--qt-diagram-placeholder-height: 8rem;
|
|
473
|
+
--qt-diagram-font: var(--font-sans);
|
|
474
|
+
--qt-diagram-hand-font: "Segoe Print", "Bradley Hand", "Chalkboard SE", "Marker Felt", cursive;
|
|
475
|
+
|
|
463
476
|
/* Link variables */
|
|
464
477
|
--qt-link-color: var(--color-primary);
|
|
465
478
|
--qt-link-hover-color: color-mix(in srgb, var(--color-primary) 80%, black);
|
|
@@ -4086,6 +4099,126 @@
|
|
|
4086
4099
|
z-index: 10;
|
|
4087
4100
|
}
|
|
4088
4101
|
|
|
4102
|
+
/* ==========================================================================
|
|
4103
|
+
DIAGRAMS
|
|
4104
|
+
Closed ```mermaid / ```dot / ```graphviz / ```svg fences drawn in the
|
|
4105
|
+
Salon (components/chat/diagrams/DiagramBlock.tsx).
|
|
4106
|
+
========================================================================== */
|
|
4107
|
+
|
|
4108
|
+
/* The frame around one drawn diagram. */
|
|
4109
|
+
.qt-diagram {
|
|
4110
|
+
position: relative;
|
|
4111
|
+
width: 100%;
|
|
4112
|
+
max-width: 100%;
|
|
4113
|
+
box-sizing: border-box;
|
|
4114
|
+
margin: 0.5rem 0;
|
|
4115
|
+
padding: 0.75rem;
|
|
4116
|
+
border-radius: var(--qt-diagram-radius);
|
|
4117
|
+
background: var(--qt-diagram-bg);
|
|
4118
|
+
border: 1px solid var(--qt-diagram-border);
|
|
4119
|
+
color: var(--qt-diagram-fg);
|
|
4120
|
+
}
|
|
4121
|
+
|
|
4122
|
+
/* View source / Copy source / Copy SVG / Download SVG. */
|
|
4123
|
+
.qt-diagram-toolbar {
|
|
4124
|
+
display: flex;
|
|
4125
|
+
flex-wrap: wrap;
|
|
4126
|
+
justify-content: flex-end;
|
|
4127
|
+
gap: 0.25rem;
|
|
4128
|
+
margin-bottom: 0.5rem;
|
|
4129
|
+
}
|
|
4130
|
+
|
|
4131
|
+
.qt-diagram-toolbar-button {
|
|
4132
|
+
display: inline-flex;
|
|
4133
|
+
align-items: center;
|
|
4134
|
+
gap: 0.25rem;
|
|
4135
|
+
padding: 0.125rem 0.5rem;
|
|
4136
|
+
border-radius: var(--radius-sm);
|
|
4137
|
+
border: 1px solid transparent;
|
|
4138
|
+
background: transparent;
|
|
4139
|
+
color: var(--qt-diagram-toolbar-fg);
|
|
4140
|
+
font-size: 0.75rem;
|
|
4141
|
+
line-height: 1.25rem;
|
|
4142
|
+
cursor: pointer;
|
|
4143
|
+
transition: background-color 150ms, color 150ms, border-color 150ms;
|
|
4144
|
+
}
|
|
4145
|
+
|
|
4146
|
+
.qt-diagram-toolbar-button:hover,
|
|
4147
|
+
.qt-diagram-toolbar-button[aria-pressed="true"] {
|
|
4148
|
+
background: var(--qt-diagram-toolbar-hover-bg);
|
|
4149
|
+
border-color: var(--qt-diagram-border);
|
|
4150
|
+
color: var(--qt-diagram-fg);
|
|
4151
|
+
}
|
|
4152
|
+
|
|
4153
|
+
.qt-diagram-toolbar-button:focus-visible {
|
|
4154
|
+
outline: 2px solid var(--color-primary);
|
|
4155
|
+
outline-offset: 1px;
|
|
4156
|
+
}
|
|
4157
|
+
|
|
4158
|
+
/* The drawing itself. A wide diagram scrolls here; it never widens the bubble. */
|
|
4159
|
+
.qt-diagram-canvas {
|
|
4160
|
+
max-width: 100%;
|
|
4161
|
+
overflow-x: auto;
|
|
4162
|
+
overflow-y: hidden;
|
|
4163
|
+
}
|
|
4164
|
+
|
|
4165
|
+
.qt-diagram-canvas > svg {
|
|
4166
|
+
display: block;
|
|
4167
|
+
margin: 0 auto;
|
|
4168
|
+
}
|
|
4169
|
+
|
|
4170
|
+
/* Fixed height while a diagram is drawn, so the transcript doesn't jump. */
|
|
4171
|
+
.qt-diagram-placeholder {
|
|
4172
|
+
display: flex;
|
|
4173
|
+
align-items: center;
|
|
4174
|
+
justify-content: center;
|
|
4175
|
+
min-height: var(--qt-diagram-placeholder-height);
|
|
4176
|
+
color: var(--qt-diagram-muted-fg);
|
|
4177
|
+
font-size: 0.875rem;
|
|
4178
|
+
font-style: italic;
|
|
4179
|
+
}
|
|
4180
|
+
|
|
4181
|
+
/* Zero-size scratch space a renderer lays a drawing out in, offscreen. */
|
|
4182
|
+
.qt-diagram-stage {
|
|
4183
|
+
position: relative;
|
|
4184
|
+
width: 0;
|
|
4185
|
+
height: 0;
|
|
4186
|
+
overflow: visible;
|
|
4187
|
+
}
|
|
4188
|
+
|
|
4189
|
+
/* A fence that could not be drawn: a note, the engine's words, the code. */
|
|
4190
|
+
.qt-diagram-error {
|
|
4191
|
+
margin: 0.5rem 0;
|
|
4192
|
+
}
|
|
4193
|
+
|
|
4194
|
+
.qt-diagram-error-note {
|
|
4195
|
+
margin: 0 0 0.25rem;
|
|
4196
|
+
color: var(--qt-diagram-error-fg);
|
|
4197
|
+
font-size: 0.875rem;
|
|
4198
|
+
font-style: italic;
|
|
4199
|
+
}
|
|
4200
|
+
|
|
4201
|
+
.qt-diagram-error-details {
|
|
4202
|
+
margin-bottom: 0.25rem;
|
|
4203
|
+
color: var(--qt-diagram-muted-fg);
|
|
4204
|
+
font-size: 0.75rem;
|
|
4205
|
+
}
|
|
4206
|
+
|
|
4207
|
+
.qt-diagram-error-details > summary {
|
|
4208
|
+
cursor: pointer;
|
|
4209
|
+
}
|
|
4210
|
+
|
|
4211
|
+
.qt-diagram-error-details > pre {
|
|
4212
|
+
margin: 0.25rem 0 0;
|
|
4213
|
+
padding: 0.5rem;
|
|
4214
|
+
border-radius: var(--radius-sm);
|
|
4215
|
+
background: var(--qt-code-bg);
|
|
4216
|
+
color: var(--qt-code-fg);
|
|
4217
|
+
font-family: var(--qt-code-font);
|
|
4218
|
+
white-space: pre-wrap;
|
|
4219
|
+
word-break: break-word;
|
|
4220
|
+
}
|
|
4221
|
+
|
|
4089
4222
|
/* ==========================================================================
|
|
4090
4223
|
WIKILINK COMPONENTS
|
|
4091
4224
|
========================================================================== */
|