@schlenkr/quassel 0.5.6 → 0.6.0
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/README.md +16 -18
- package/chat.css +150 -209
- package/index.js +63 -71
- package/index.js.map +2 -2
- package/options.d.ts +0 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ variables too.
|
|
|
49
49
|
actions are announced once, with the host in control of the wording.
|
|
50
50
|
- Complete English and German UI labels through `englishTexts` / `germanTexts`; `texts` can override any label (English by default).
|
|
51
51
|
- Grouped steps show their error count even while collapsed.
|
|
52
|
-
-
|
|
52
|
+
- One text size per host, a fixed small size and shared Markdown typography (see below).
|
|
53
53
|
|
|
54
54
|
## Install
|
|
55
55
|
|
|
@@ -93,28 +93,26 @@ Any backend that emits the `@schlenkr/quassel/events` stream works with the same
|
|
|
93
93
|
|
|
94
94
|
## Text size
|
|
95
95
|
|
|
96
|
-
quassel
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
quassel defaults to 13px. Set `--qsl-font-size` on a wrapper, or `1em` to inherit the host's
|
|
97
|
+
font size. Messages, the composer, action cards and text buttons use that base with line height
|
|
98
|
+
1.5. All small UI text, including tools and timestamps, uses 85% with line height 1.4.
|
|
99
|
+
`--qsl-font` and `--qsl-mono` select the font families. There are no other typography inputs.
|
|
100
|
+
Sizes derive from an absolute base, so nested small elements never compound.
|
|
99
101
|
|
|
100
|
-
|
|
101
|
-
on a wrapper, or `appearance.fontSize`, to change it. Use `1em` to follow the host's font size.
|
|
102
|
-
`appearance` also offers `toolFontScale`, `toolGroupGap` and `toolRowPadding`.
|
|
103
|
-
|
|
104
|
-
User message backgrounds fill the available row by default while text keeps its width and
|
|
105
|
-
alignment. `bubbleOptions={{ userBackgroundFullWidth: false }}` restores a fitted background.
|
|
106
|
-
Timestamps sit beside messages by default; their size follows the tool text unless overridden:
|
|
102
|
+
`Markdown` uses the same typography in answers and standalone documents:
|
|
107
103
|
|
|
108
104
|
```tsx
|
|
109
|
-
<
|
|
110
|
-
messages={messages}
|
|
111
|
-
showTimestamps
|
|
112
|
-
timestampOptions={{ position: "above", fontScale: 0.88 }}
|
|
113
|
-
/>
|
|
105
|
+
<Markdown text={documentText} />
|
|
114
106
|
```
|
|
115
107
|
|
|
116
|
-
|
|
117
|
-
|
|
108
|
+
User message backgrounds fill the available row by default while text keeps its width and
|
|
109
|
+
alignment. `bubbleOptions={{ userBackgroundFullWidth: false }}` restores a fitted background.
|
|
110
|
+
Timestamps sit beside messages by default; `timestampOptions={{ position: "above" }}` moves
|
|
111
|
+
them above. Message gaps and tool row spacing remain configurable through `appearance`.
|
|
112
|
+
|
|
113
|
+
For 0.6, replace separate size and line-height overrides with `--qsl-font-size` and remove
|
|
114
|
+
all typography fields from `appearance` and timestamp options. The [migration guide](https://github.com/SchlenkR/quassel/blob/main/docs/guide.md#migration-to-06)
|
|
115
|
+
lists the removed variables and options.
|
|
118
116
|
|
|
119
117
|
## Development
|
|
120
118
|
|
package/chat.css
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
--qsl-spacing: 0.235rem;
|
|
9
9
|
--qsl-font-weight-medium: 500;
|
|
10
10
|
--qsl-font-weight-semibold: 600;
|
|
11
|
-
--qsl-leading-normal: 1.5;
|
|
12
|
-
--qsl-leading-relaxed: 1.625;
|
|
13
11
|
--qsl-animate-spin: qsl-spin 1s linear infinite;
|
|
14
12
|
--qsl-default-transition-duration: 150ms;
|
|
15
13
|
--qsl-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -97,15 +95,6 @@
|
|
|
97
95
|
.qsl\:mx-auto {
|
|
98
96
|
margin-inline: auto;
|
|
99
97
|
}
|
|
100
|
-
.qsl\:my-1 {
|
|
101
|
-
margin-block: var(--qsl-spacing);
|
|
102
|
-
}
|
|
103
|
-
.qsl\:my-2 {
|
|
104
|
-
margin-block: calc(var(--qsl-spacing) * 2);
|
|
105
|
-
}
|
|
106
|
-
.qsl\:my-3 {
|
|
107
|
-
margin-block: calc(var(--qsl-spacing) * 3);
|
|
108
|
-
}
|
|
109
98
|
.qsl\:mt-0 {
|
|
110
99
|
margin-top: 0px;
|
|
111
100
|
}
|
|
@@ -121,9 +110,6 @@
|
|
|
121
110
|
.qsl\:mt-2\.5 {
|
|
122
111
|
margin-top: calc(var(--qsl-spacing) * 2.5);
|
|
123
112
|
}
|
|
124
|
-
.qsl\:mt-3 {
|
|
125
|
-
margin-top: calc(var(--qsl-spacing) * 3);
|
|
126
|
-
}
|
|
127
113
|
.qsl\:mt-4 {
|
|
128
114
|
margin-top: calc(var(--qsl-spacing) * 4);
|
|
129
115
|
}
|
|
@@ -136,9 +122,6 @@
|
|
|
136
122
|
.qsl\:mb-0\.5 {
|
|
137
123
|
margin-bottom: calc(var(--qsl-spacing) * 0.5);
|
|
138
124
|
}
|
|
139
|
-
.qsl\:mb-1 {
|
|
140
|
-
margin-bottom: var(--qsl-spacing);
|
|
141
|
-
}
|
|
142
125
|
.qsl\:mb-1\.5 {
|
|
143
126
|
margin-bottom: calc(var(--qsl-spacing) * 1.5);
|
|
144
127
|
}
|
|
@@ -265,9 +248,6 @@
|
|
|
265
248
|
.qsl\:w-max {
|
|
266
249
|
width: max-content;
|
|
267
250
|
}
|
|
268
|
-
.qsl\:max-w-\[44ch\] {
|
|
269
|
-
max-width: 44ch;
|
|
270
|
-
}
|
|
271
251
|
.qsl\:max-w-\[86\%\] {
|
|
272
252
|
max-width: 86%;
|
|
273
253
|
}
|
|
@@ -354,12 +334,6 @@
|
|
|
354
334
|
.qsl\:\[scrollbar-width\:thin\] {
|
|
355
335
|
scrollbar-width: thin;
|
|
356
336
|
}
|
|
357
|
-
.qsl\:list-decimal {
|
|
358
|
-
list-style-type: decimal;
|
|
359
|
-
}
|
|
360
|
-
.qsl\:list-disc {
|
|
361
|
-
list-style-type: disc;
|
|
362
|
-
}
|
|
363
337
|
.qsl\:flex-col {
|
|
364
338
|
flex-direction: column;
|
|
365
339
|
}
|
|
@@ -426,11 +400,6 @@
|
|
|
426
400
|
.qsl\:gap-\[var\(--qsl-tool-group-gap\,1px\)\] {
|
|
427
401
|
gap: var(--qsl-tool-group-gap,1px);
|
|
428
402
|
}
|
|
429
|
-
:where(.qsl\:space-y-0 > :not(:last-child)) {
|
|
430
|
-
--tw-space-y-reverse: 0;
|
|
431
|
-
margin-block-start: 0;
|
|
432
|
-
margin-block-end: 0;
|
|
433
|
-
}
|
|
434
403
|
.qsl\:gap-x-1\.5 {
|
|
435
404
|
column-gap: calc(var(--qsl-spacing) * 1.5);
|
|
436
405
|
}
|
|
@@ -488,9 +457,6 @@
|
|
|
488
457
|
.qsl\:rounded-panel {
|
|
489
458
|
border-radius: var(--qsl-radius-panel);
|
|
490
459
|
}
|
|
491
|
-
.qsl\:rounded-sm {
|
|
492
|
-
border-radius: var(--qsl-radius-sm, calc(var(--qsl-radius) * 0.6));
|
|
493
|
-
}
|
|
494
460
|
.qsl\:border {
|
|
495
461
|
border-style: var(--tw-border-style);
|
|
496
462
|
border-width: 1px;
|
|
@@ -617,9 +583,6 @@
|
|
|
617
583
|
.qsl\:p-4 {
|
|
618
584
|
padding: calc(var(--qsl-spacing) * 4);
|
|
619
585
|
}
|
|
620
|
-
.qsl\:px-1 {
|
|
621
|
-
padding-inline: var(--qsl-spacing);
|
|
622
|
-
}
|
|
623
586
|
.qsl\:px-2 {
|
|
624
587
|
padding-inline: calc(var(--qsl-spacing) * 2);
|
|
625
588
|
}
|
|
@@ -650,9 +613,6 @@
|
|
|
650
613
|
.qsl\:py-0\.5 {
|
|
651
614
|
padding-block: calc(var(--qsl-spacing) * 0.5);
|
|
652
615
|
}
|
|
653
|
-
.qsl\:py-1 {
|
|
654
|
-
padding-block: var(--qsl-spacing);
|
|
655
|
-
}
|
|
656
616
|
.qsl\:py-1\.5 {
|
|
657
617
|
padding-block: calc(var(--qsl-spacing) * 1.5);
|
|
658
618
|
}
|
|
@@ -716,79 +676,19 @@
|
|
|
716
676
|
.qsl\:text-left {
|
|
717
677
|
text-align: left;
|
|
718
678
|
}
|
|
719
|
-
.qsl\:align-top {
|
|
720
|
-
vertical-align: top;
|
|
721
|
-
}
|
|
722
679
|
.qsl\:font-mono {
|
|
723
680
|
font-family: var(--qsl-mono);
|
|
724
681
|
}
|
|
725
|
-
.qsl\:text-
|
|
726
|
-
font-size: var(--qsl-
|
|
727
|
-
line-height:
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
line-height: var(--tw-leading, var(--qsl-text-sm--line-height, 1.45));
|
|
732
|
-
}
|
|
733
|
-
.qsl\:text-xs {
|
|
734
|
-
font-size: var(--qsl-text-xs, calc(var(--qsl-base) * 0.8));
|
|
735
|
-
line-height: var(--tw-leading, var(--qsl-text-xs--line-height, 1.45));
|
|
736
|
-
}
|
|
737
|
-
.qsl\:text-\[length\:1\.1em\] {
|
|
738
|
-
font-size: 1.1em;
|
|
739
|
-
}
|
|
740
|
-
.qsl\:text-\[length\:1\.2em\] {
|
|
741
|
-
font-size: 1.2em;
|
|
742
|
-
}
|
|
743
|
-
.qsl\:text-\[length\:1em\] {
|
|
744
|
-
font-size: 1em;
|
|
745
|
-
}
|
|
746
|
-
.qsl\:text-chat {
|
|
747
|
-
font-size: var(--qsl-chat-font-size, var(--qsl-base));
|
|
748
|
-
}
|
|
749
|
-
.qsl\:text-label {
|
|
750
|
-
font-size: var(--qsl-text-label, calc(var(--qsl-base) * 0.85));
|
|
751
|
-
}
|
|
752
|
-
.qsl\:text-meta {
|
|
753
|
-
font-size: var(--qsl-text-meta, calc(var(--qsl-base) * 0.8));
|
|
754
|
-
}
|
|
755
|
-
.qsl\:text-timestamp {
|
|
756
|
-
font-size: var(--qsl-timestamp-font-size, var(--qsl-text-trace, calc(var(--qsl-base) * var(--qsl-tool-font-scale, 0.88))));
|
|
757
|
-
}
|
|
758
|
-
.qsl\:text-trace {
|
|
759
|
-
font-size: var(--qsl-text-trace, calc(var(--qsl-base) * var(--qsl-tool-font-scale, 0.88)));
|
|
760
|
-
}
|
|
761
|
-
.qsl\:leading-\[1\.3\] {
|
|
762
|
-
--tw-leading: 1.3;
|
|
763
|
-
line-height: 1.3;
|
|
764
|
-
}
|
|
765
|
-
.qsl\:leading-\[1\.6\] {
|
|
766
|
-
--tw-leading: 1.6;
|
|
767
|
-
line-height: 1.6;
|
|
768
|
-
}
|
|
769
|
-
.qsl\:leading-\[1\.45\] {
|
|
770
|
-
--tw-leading: 1.45;
|
|
771
|
-
line-height: 1.45;
|
|
772
|
-
}
|
|
773
|
-
.qsl\:leading-\[1\.375\] {
|
|
774
|
-
--tw-leading: 1.375;
|
|
775
|
-
line-height: 1.375;
|
|
776
|
-
}
|
|
777
|
-
.qsl\:leading-\[1\.625\] {
|
|
778
|
-
--tw-leading: 1.625;
|
|
779
|
-
line-height: 1.625;
|
|
780
|
-
}
|
|
781
|
-
.qsl\:leading-\[var\(--qsl-chat-line-height\,1\.65\)\] {
|
|
782
|
-
--tw-leading: var(--qsl-chat-line-height,1.65);
|
|
783
|
-
line-height: var(--qsl-chat-line-height,1.65);
|
|
784
|
-
}
|
|
785
|
-
.qsl\:leading-normal {
|
|
786
|
-
--tw-leading: var(--qsl-leading-normal);
|
|
787
|
-
line-height: var(--qsl-leading-normal);
|
|
682
|
+
.qsl\:text-body {
|
|
683
|
+
font-size: var(--qsl-base);
|
|
684
|
+
line-height: 1.5;
|
|
685
|
+
&:where([data-quassel]:not([data-quassel] *)) {
|
|
686
|
+
font-size: var(--qsl-font-size, 13px);
|
|
687
|
+
}
|
|
788
688
|
}
|
|
789
|
-
.qsl\:
|
|
790
|
-
|
|
791
|
-
line-height:
|
|
689
|
+
.qsl\:text-small {
|
|
690
|
+
font-size: calc(var(--qsl-base) * 0.85);
|
|
691
|
+
line-height: 1.4;
|
|
792
692
|
}
|
|
793
693
|
.qsl\:font-medium {
|
|
794
694
|
--tw-font-weight: var(--qsl-font-weight-medium);
|
|
@@ -815,9 +715,6 @@
|
|
|
815
715
|
.qsl\:text-ellipsis {
|
|
816
716
|
text-overflow: ellipsis;
|
|
817
717
|
}
|
|
818
|
-
.qsl\:whitespace-normal {
|
|
819
|
-
white-space: normal;
|
|
820
|
-
}
|
|
821
718
|
.qsl\:whitespace-nowrap {
|
|
822
719
|
white-space: nowrap;
|
|
823
720
|
}
|
|
@@ -873,9 +770,6 @@
|
|
|
873
770
|
.qsl\:underline {
|
|
874
771
|
text-decoration-line: underline;
|
|
875
772
|
}
|
|
876
|
-
.qsl\:\[text-underline-offset\:2px\] {
|
|
877
|
-
text-underline-offset: 2px;
|
|
878
|
-
}
|
|
879
773
|
.qsl\:underline-offset-4 {
|
|
880
774
|
text-underline-offset: 4px;
|
|
881
775
|
}
|
|
@@ -1015,18 +909,6 @@
|
|
|
1015
909
|
opacity: 100%;
|
|
1016
910
|
}
|
|
1017
911
|
}
|
|
1018
|
-
.qsl\:marker\:text-muted-foreground ::marker {
|
|
1019
|
-
color: var(--qsl-muted-foreground);
|
|
1020
|
-
}
|
|
1021
|
-
.qsl\:marker\:text-muted-foreground::marker {
|
|
1022
|
-
color: var(--qsl-muted-foreground);
|
|
1023
|
-
}
|
|
1024
|
-
.qsl\:marker\:text-muted-foreground ::-webkit-details-marker {
|
|
1025
|
-
color: var(--qsl-muted-foreground);
|
|
1026
|
-
}
|
|
1027
|
-
.qsl\:marker\:text-muted-foreground::-webkit-details-marker {
|
|
1028
|
-
color: var(--qsl-muted-foreground);
|
|
1029
|
-
}
|
|
1030
912
|
.qsl\:placeholder\:text-muted-foreground::placeholder {
|
|
1031
913
|
color: var(--qsl-muted-foreground);
|
|
1032
914
|
}
|
|
@@ -1189,54 +1071,6 @@
|
|
|
1189
1071
|
:where([data-tone="material"]) .qsl\:in-data-\[tone\=material\]\:p-0 {
|
|
1190
1072
|
padding: 0px;
|
|
1191
1073
|
}
|
|
1192
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:border-white\/35 {
|
|
1193
|
-
border-color: var(--qsl-color-white);
|
|
1194
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1195
|
-
border-color: color-mix(in oklab, var(--qsl-color-white) 35%, transparent);
|
|
1196
|
-
}
|
|
1197
|
-
}
|
|
1198
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:border-white\/50 {
|
|
1199
|
-
border-color: var(--qsl-color-white);
|
|
1200
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1201
|
-
border-color: color-mix(in oklab, var(--qsl-color-white) 50%, transparent);
|
|
1202
|
-
}
|
|
1203
|
-
}
|
|
1204
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:bg-black\/30 {
|
|
1205
|
-
background-color: var(--qsl-color-black);
|
|
1206
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1207
|
-
background-color: color-mix(in oklab, var(--qsl-color-black) 30%, transparent);
|
|
1208
|
-
}
|
|
1209
|
-
}
|
|
1210
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:bg-white\/15 {
|
|
1211
|
-
background-color: var(--qsl-color-white);
|
|
1212
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1213
|
-
background-color: color-mix(in oklab, var(--qsl-color-white) 15%, transparent);
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:bg-white\/20 {
|
|
1217
|
-
background-color: var(--qsl-color-white);
|
|
1218
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
1219
|
-
background-color: color-mix(in oklab, var(--qsl-color-white) 20%, transparent);
|
|
1220
|
-
}
|
|
1221
|
-
}
|
|
1222
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:text-inherit {
|
|
1223
|
-
color: inherit;
|
|
1224
|
-
}
|
|
1225
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:underline {
|
|
1226
|
-
text-decoration-line: underline;
|
|
1227
|
-
}
|
|
1228
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:marker\:text-inherit ::marker {
|
|
1229
|
-
color: inherit;
|
|
1230
|
-
}
|
|
1231
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:marker\:text-inherit::marker {
|
|
1232
|
-
color: inherit;
|
|
1233
|
-
}
|
|
1234
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:marker\:text-inherit ::-webkit-details-marker {
|
|
1235
|
-
color: inherit;
|
|
1236
|
-
}
|
|
1237
|
-
:where([data-tone="on-color"]) .qsl\:in-data-\[tone\=on-color\]\:marker\:text-inherit::-webkit-details-marker {
|
|
1238
|
-
color: inherit;
|
|
1239
|
-
}
|
|
1240
1074
|
:where([data-tone="overseer-details"]) .qsl\:in-data-\[tone\=overseer-details\]\:max-h-40 {
|
|
1241
1075
|
max-height: calc(var(--qsl-spacing) * 40);
|
|
1242
1076
|
}
|
|
@@ -1608,9 +1442,6 @@
|
|
|
1608
1442
|
:where([data-tone="material"]) .qsl\:in-data-\[tone\=material\]\:\[\&\>\*\:first-child\]\:mt-0 > :first-child {
|
|
1609
1443
|
margin-top: 0px;
|
|
1610
1444
|
}
|
|
1611
|
-
.qsl\:\[\&\>\*\:last-child\]\:mb-0 > :last-child {
|
|
1612
|
-
margin-bottom: 0px;
|
|
1613
|
-
}
|
|
1614
1445
|
@media (hover:none) {
|
|
1615
1446
|
.qsl\:\[\@media\(hover\:none\)\]\:pointer-events-auto {
|
|
1616
1447
|
pointer-events: auto;
|
|
@@ -1622,21 +1453,6 @@
|
|
|
1622
1453
|
opacity: 100%;
|
|
1623
1454
|
}
|
|
1624
1455
|
}
|
|
1625
|
-
li + .qsl\:\[li\+\&\]\:mt-1 {
|
|
1626
|
-
margin-top: var(--qsl-spacing);
|
|
1627
|
-
}
|
|
1628
|
-
li > .qsl\:\[li\>\&\]\:my-0 {
|
|
1629
|
-
margin-block: 0px;
|
|
1630
|
-
}
|
|
1631
|
-
p + .qsl\:\[p\+\&\]\:mt-3 {
|
|
1632
|
-
margin-top: calc(var(--qsl-spacing) * 3);
|
|
1633
|
-
}
|
|
1634
|
-
pre > .qsl\:\[pre\>\&\]\:bg-transparent {
|
|
1635
|
-
background-color: transparent;
|
|
1636
|
-
}
|
|
1637
|
-
pre > .qsl\:\[pre\>\&\]\:p-0 {
|
|
1638
|
-
padding: 0px;
|
|
1639
|
-
}
|
|
1640
1456
|
}
|
|
1641
1457
|
@property --tw-animation-delay {
|
|
1642
1458
|
syntax: "*";
|
|
@@ -1727,6 +1543,139 @@
|
|
|
1727
1543
|
inherits: true;
|
|
1728
1544
|
initial-value: 13px;
|
|
1729
1545
|
}
|
|
1546
|
+
@layer components {
|
|
1547
|
+
[data-quassel-markdown] {
|
|
1548
|
+
overflow-wrap: anywhere;
|
|
1549
|
+
white-space: normal;
|
|
1550
|
+
}
|
|
1551
|
+
[data-quassel-markdown] :where(strong, b) {
|
|
1552
|
+
font-weight: 700;
|
|
1553
|
+
}
|
|
1554
|
+
[data-quassel-markdown] em {
|
|
1555
|
+
font-style: italic;
|
|
1556
|
+
}
|
|
1557
|
+
[data-quassel-markdown] :where(h1, h2, h3, h4, h5, h6) {
|
|
1558
|
+
font-weight: 700;
|
|
1559
|
+
color: inherit;
|
|
1560
|
+
}
|
|
1561
|
+
[data-quassel-markdown] h1 {
|
|
1562
|
+
margin: 1.5em 0 0.5em;
|
|
1563
|
+
font-size: calc(var(--qsl-base) * 1.3);
|
|
1564
|
+
line-height: 1.25;
|
|
1565
|
+
}
|
|
1566
|
+
[data-quassel-markdown] h2 {
|
|
1567
|
+
margin: 1.5em 0 0.45em;
|
|
1568
|
+
font-size: calc(var(--qsl-base) * 1.15);
|
|
1569
|
+
line-height: 1.3;
|
|
1570
|
+
}
|
|
1571
|
+
[data-quassel-markdown] h3 {
|
|
1572
|
+
margin: 1.35em 0 0.4em;
|
|
1573
|
+
font-size: calc(var(--qsl-base) * 1.05);
|
|
1574
|
+
line-height: 1.35;
|
|
1575
|
+
}
|
|
1576
|
+
[data-quassel-markdown] :where(h4, h5, h6) {
|
|
1577
|
+
margin: 1.2em 0 0.3em;
|
|
1578
|
+
font-size: var(--qsl-base);
|
|
1579
|
+
line-height: 1.4;
|
|
1580
|
+
color: var(--qsl-muted-foreground);
|
|
1581
|
+
}
|
|
1582
|
+
[data-quassel-markdown] :where(p, ul, ol, blockquote, [data-quassel-table]) {
|
|
1583
|
+
margin-block: 0.75em;
|
|
1584
|
+
}
|
|
1585
|
+
[data-quassel-markdown] :where(ul, ol) {
|
|
1586
|
+
padding-left: 1.5em;
|
|
1587
|
+
}
|
|
1588
|
+
[data-quassel-markdown] ul {
|
|
1589
|
+
list-style: disc;
|
|
1590
|
+
}
|
|
1591
|
+
[data-quassel-markdown] ol {
|
|
1592
|
+
list-style: decimal;
|
|
1593
|
+
}
|
|
1594
|
+
[data-quassel-markdown] li {
|
|
1595
|
+
margin-block: 0.3em;
|
|
1596
|
+
}
|
|
1597
|
+
[data-quassel-markdown] li :where(ul, ol) {
|
|
1598
|
+
margin-block: 0.25em 0;
|
|
1599
|
+
}
|
|
1600
|
+
[data-quassel-markdown] li > p {
|
|
1601
|
+
margin: 0;
|
|
1602
|
+
}
|
|
1603
|
+
[data-quassel-markdown] code {
|
|
1604
|
+
padding: 0.12em 0.4em;
|
|
1605
|
+
border-radius: 0.38em;
|
|
1606
|
+
background: var(--qsl-inline-code-background, var(--qsl-secondary));
|
|
1607
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1608
|
+
background: var(--qsl-inline-code-background, color-mix(in srgb, var(--qsl-secondary) 70%, transparent));
|
|
1609
|
+
}
|
|
1610
|
+
box-shadow: inset 0 0 0 1px var(--qsl-inline-code-edge, transparent);
|
|
1611
|
+
color: var(--qsl-inline-code-foreground, inherit);
|
|
1612
|
+
font-size: 0.9em;
|
|
1613
|
+
}
|
|
1614
|
+
[data-quassel-markdown] pre {
|
|
1615
|
+
margin-block: 0.9em;
|
|
1616
|
+
padding: 0.85em 1.05em;
|
|
1617
|
+
border: 1px solid var(--qsl-code-border, var(--qsl-border));
|
|
1618
|
+
border-radius: 0.7em;
|
|
1619
|
+
background: var(--qsl-code-background, var(--qsl-secondary));
|
|
1620
|
+
font-size: 0.9em;
|
|
1621
|
+
}
|
|
1622
|
+
[data-quassel-markdown] pre code {
|
|
1623
|
+
padding: 0;
|
|
1624
|
+
border-radius: 0;
|
|
1625
|
+
background: transparent;
|
|
1626
|
+
box-shadow: none;
|
|
1627
|
+
color: inherit;
|
|
1628
|
+
font-size: inherit;
|
|
1629
|
+
}
|
|
1630
|
+
[data-quassel-markdown] a {
|
|
1631
|
+
color: var(--qsl-primary);
|
|
1632
|
+
text-decoration: underline;
|
|
1633
|
+
text-decoration-thickness: 1px;
|
|
1634
|
+
text-underline-offset: 3px;
|
|
1635
|
+
}
|
|
1636
|
+
[data-quassel-markdown] a:hover {
|
|
1637
|
+
text-decoration-thickness: 2px;
|
|
1638
|
+
}
|
|
1639
|
+
[data-quassel-markdown] blockquote {
|
|
1640
|
+
padding: 0.25em 1em;
|
|
1641
|
+
border-left: 3px solid var(--qsl-primary);
|
|
1642
|
+
background: var(--qsl-blockquote-background, var(--qsl-primary));
|
|
1643
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1644
|
+
background: var(--qsl-blockquote-background, color-mix(in srgb, var(--qsl-primary) 6%, transparent));
|
|
1645
|
+
}
|
|
1646
|
+
color: var(--qsl-muted-foreground);
|
|
1647
|
+
}
|
|
1648
|
+
[data-quassel-markdown] :where(th, td) {
|
|
1649
|
+
max-width: 44ch;
|
|
1650
|
+
padding: 0.5em 0.85em;
|
|
1651
|
+
border: 1px solid var(--qsl-border);
|
|
1652
|
+
text-align: left;
|
|
1653
|
+
vertical-align: top;
|
|
1654
|
+
}
|
|
1655
|
+
[data-quassel-markdown] th {
|
|
1656
|
+
background: var(--qsl-secondary);
|
|
1657
|
+
font-weight: 700;
|
|
1658
|
+
}
|
|
1659
|
+
[data-quassel-markdown] tbody tr:nth-child(even) {
|
|
1660
|
+
background: var(--qsl-secondary);
|
|
1661
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1662
|
+
background: color-mix(in srgb, var(--qsl-secondary) 35%, transparent);
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
[data-quassel-markdown] hr {
|
|
1666
|
+
margin-block: 1.6em;
|
|
1667
|
+
border-color: var(--qsl-border);
|
|
1668
|
+
}
|
|
1669
|
+
[data-quassel-markdown] > div > :first-child {
|
|
1670
|
+
margin-top: 0;
|
|
1671
|
+
}
|
|
1672
|
+
[data-quassel-markdown] > div > :last-child {
|
|
1673
|
+
margin-bottom: 0;
|
|
1674
|
+
}
|
|
1675
|
+
:where([data-tone="on-color"]) [data-quassel-markdown] :where(a, blockquote, h4, h5, h6) {
|
|
1676
|
+
color: inherit;
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1730
1679
|
@layer theme {
|
|
1731
1680
|
:where(:root, :host, [data-theme="light"], [data-theme="system"]) {
|
|
1732
1681
|
--qsl-color-scheme: light;
|
|
@@ -1838,14 +1787,17 @@
|
|
|
1838
1787
|
font-family: var(--qsl-mono);
|
|
1839
1788
|
font-feature-settings: normal;
|
|
1840
1789
|
font-variation-settings: normal;
|
|
1841
|
-
font-size:
|
|
1790
|
+
font-size: 0.9em;
|
|
1791
|
+
line-height: inherit;
|
|
1842
1792
|
}
|
|
1843
|
-
:where([data-quassel], [data-quassel] *):where(
|
|
1844
|
-
font-size:
|
|
1793
|
+
:where([data-quassel], [data-quassel] *):where(pre, pre code) {
|
|
1794
|
+
font-size: inherit;
|
|
1795
|
+
}
|
|
1796
|
+
:where([data-quassel], [data-quassel] *):where(small, sub, sup) {
|
|
1797
|
+
font-size: calc(var(--qsl-base) * 0.85);
|
|
1798
|
+
line-height: 1.4;
|
|
1845
1799
|
}
|
|
1846
1800
|
:where([data-quassel], [data-quassel] *):where(sub, sup) {
|
|
1847
|
-
font-size: 75%;
|
|
1848
|
-
line-height: 0;
|
|
1849
1801
|
position: relative;
|
|
1850
1802
|
vertical-align: baseline;
|
|
1851
1803
|
}
|
|
@@ -1938,20 +1890,11 @@
|
|
|
1938
1890
|
inherits: false;
|
|
1939
1891
|
initial-value: 0;
|
|
1940
1892
|
}
|
|
1941
|
-
@property --tw-space-y-reverse {
|
|
1942
|
-
syntax: "*";
|
|
1943
|
-
inherits: false;
|
|
1944
|
-
initial-value: 0;
|
|
1945
|
-
}
|
|
1946
1893
|
@property --tw-border-style {
|
|
1947
1894
|
syntax: "*";
|
|
1948
1895
|
inherits: false;
|
|
1949
1896
|
initial-value: solid;
|
|
1950
1897
|
}
|
|
1951
|
-
@property --tw-leading {
|
|
1952
|
-
syntax: "*";
|
|
1953
|
-
inherits: false;
|
|
1954
|
-
}
|
|
1955
1898
|
@property --tw-font-weight {
|
|
1956
1899
|
syntax: "*";
|
|
1957
1900
|
inherits: false;
|
|
@@ -2097,9 +2040,7 @@
|
|
|
2097
2040
|
--tw-translate-x: 0;
|
|
2098
2041
|
--tw-translate-y: 0;
|
|
2099
2042
|
--tw-translate-z: 0;
|
|
2100
|
-
--tw-space-y-reverse: 0;
|
|
2101
2043
|
--tw-border-style: solid;
|
|
2102
|
-
--tw-leading: initial;
|
|
2103
2044
|
--tw-font-weight: initial;
|
|
2104
2045
|
--tw-tracking: initial;
|
|
2105
2046
|
--tw-ordinal: initial;
|