@tldraw/commenting 0.0.0-bootstrap → 5.3.0-internal.c5c7f1d817d0
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/commenting.css +131 -131
- package/dist-cjs/canvas/comment-body.js +1 -1
- package/dist-cjs/canvas/comment-body.js.map +2 -2
- package/dist-cjs/canvas/comments-filter-menu.js +1 -1
- package/dist-cjs/canvas/comments-filter-menu.js.map +1 -1
- package/dist-cjs/canvas/comments-overflow-menu.js +3 -3
- package/dist-cjs/canvas/comments-overflow-menu.js.map +2 -2
- package/dist-cjs/canvas/comments-overlay.js +65 -50
- package/dist-cjs/canvas/comments-overlay.js.map +2 -2
- package/dist-cjs/canvas/comments-sidebar.js +2 -2
- package/dist-cjs/canvas/comments-sidebar.js.map +2 -2
- package/dist-cjs/clustering/runtime.js +119 -7
- package/dist-cjs/clustering/runtime.js.map +2 -2
- package/dist-cjs/index.d.ts +28 -8
- package/dist-cjs/index.js +1 -1
- package/dist-cjs/ui/avatar.js +10 -2
- package/dist-cjs/ui/avatar.js.map +2 -2
- package/dist-cjs/ui/byline.js +4 -4
- package/dist-cjs/ui/byline.js.map +2 -2
- package/dist-cjs/ui/comment-card.js +3 -3
- package/dist-cjs/ui/comment-card.js.map +2 -2
- package/dist-cjs/ui/comment-composer.js +30 -24
- package/dist-cjs/ui/comment-composer.js.map +2 -2
- package/dist-cjs/ui/comment-mention.js +1 -1
- package/dist-cjs/ui/comment-mention.js.map +2 -2
- package/dist-cjs/ui/comment-pin.js +5 -1
- package/dist-cjs/ui/comment-pin.js.map +2 -2
- package/dist-cjs/ui/comment-text.js +1 -1
- package/dist-cjs/ui/comment-text.js.map +2 -2
- package/dist-cjs/ui/comment-thread.js +6 -6
- package/dist-cjs/ui/comment-thread.js.map +2 -2
- package/dist-cjs/ui/comments-list.js +11 -11
- package/dist-cjs/ui/comments-list.js.map +2 -2
- package/dist-cjs/ui/count-badge.js +1 -1
- package/dist-cjs/ui/count-badge.js.map +2 -2
- package/dist-cjs/ui/empty-state.js +3 -3
- package/dist-cjs/ui/empty-state.js.map +2 -2
- package/dist-cjs/ui/mention-list.js +7 -7
- package/dist-cjs/ui/mention-list.js.map +2 -2
- package/dist-cjs/ui/mention-suggestion.js +3 -3
- package/dist-cjs/ui/mention-suggestion.js.map +2 -2
- package/dist-cjs/ui/mention.js +1 -1
- package/dist-cjs/ui/mention.js.map +2 -2
- package/dist-cjs/ui/reaction.js +11 -4
- package/dist-cjs/ui/reaction.js.map +2 -2
- package/dist-cjs/ui/reactions.js +10 -2
- package/dist-cjs/ui/reactions.js.map +2 -2
- package/dist-cjs/ui/send-button.js +1 -1
- package/dist-cjs/ui/send-button.js.map +2 -2
- package/dist-esm/canvas/comment-body.mjs +1 -1
- package/dist-esm/canvas/comment-body.mjs.map +2 -2
- package/dist-esm/canvas/comments-filter-menu.mjs +1 -1
- package/dist-esm/canvas/comments-filter-menu.mjs.map +1 -1
- package/dist-esm/canvas/comments-overflow-menu.mjs +3 -3
- package/dist-esm/canvas/comments-overflow-menu.mjs.map +2 -2
- package/dist-esm/canvas/comments-overlay.mjs +65 -50
- package/dist-esm/canvas/comments-overlay.mjs.map +2 -2
- package/dist-esm/canvas/comments-sidebar.mjs +2 -2
- package/dist-esm/canvas/comments-sidebar.mjs.map +2 -2
- package/dist-esm/clustering/runtime.mjs +119 -7
- package/dist-esm/clustering/runtime.mjs.map +2 -2
- package/dist-esm/index.d.mts +28 -8
- package/dist-esm/index.mjs +1 -1
- package/dist-esm/ui/avatar.mjs +10 -2
- package/dist-esm/ui/avatar.mjs.map +2 -2
- package/dist-esm/ui/byline.mjs +4 -4
- package/dist-esm/ui/byline.mjs.map +2 -2
- package/dist-esm/ui/comment-card.mjs +3 -3
- package/dist-esm/ui/comment-card.mjs.map +2 -2
- package/dist-esm/ui/comment-composer.mjs +30 -24
- package/dist-esm/ui/comment-composer.mjs.map +2 -2
- package/dist-esm/ui/comment-mention.mjs +1 -1
- package/dist-esm/ui/comment-mention.mjs.map +2 -2
- package/dist-esm/ui/comment-pin.mjs +5 -1
- package/dist-esm/ui/comment-pin.mjs.map +2 -2
- package/dist-esm/ui/comment-text.mjs +1 -1
- package/dist-esm/ui/comment-text.mjs.map +2 -2
- package/dist-esm/ui/comment-thread.mjs +6 -6
- package/dist-esm/ui/comment-thread.mjs.map +2 -2
- package/dist-esm/ui/comments-list.mjs +11 -11
- package/dist-esm/ui/comments-list.mjs.map +2 -2
- package/dist-esm/ui/count-badge.mjs +1 -1
- package/dist-esm/ui/count-badge.mjs.map +2 -2
- package/dist-esm/ui/empty-state.mjs +3 -3
- package/dist-esm/ui/empty-state.mjs.map +2 -2
- package/dist-esm/ui/mention-list.mjs +7 -7
- package/dist-esm/ui/mention-list.mjs.map +2 -2
- package/dist-esm/ui/mention-suggestion.mjs +3 -3
- package/dist-esm/ui/mention-suggestion.mjs.map +2 -2
- package/dist-esm/ui/mention.mjs +1 -1
- package/dist-esm/ui/mention.mjs.map +2 -2
- package/dist-esm/ui/reaction.mjs +11 -4
- package/dist-esm/ui/reaction.mjs.map +2 -2
- package/dist-esm/ui/reactions.mjs +10 -2
- package/dist-esm/ui/reactions.mjs.map +2 -2
- package/dist-esm/ui/send-button.mjs +1 -1
- package/dist-esm/ui/send-button.mjs.map +2 -2
- package/package.json +3 -3
- package/src/canvas/canvas.css +25 -25
- package/src/canvas/comment-body.tsx +1 -1
- package/src/canvas/comment-render.test.ts +1 -1
- package/src/canvas/comments-filter-menu.tsx +1 -1
- package/src/canvas/comments-overflow-menu.tsx +3 -3
- package/src/canvas/comments-overlay.tsx +109 -76
- package/src/canvas/comments-sidebar.tsx +2 -2
- package/src/clustering/runtime.test.ts +183 -7
- package/src/clustering/runtime.ts +164 -15
- package/src/ui/avatar.tsx +9 -2
- package/src/ui/byline.tsx +4 -4
- package/src/ui/comment-card.tsx +3 -3
- package/src/ui/comment-composer.tsx +49 -30
- package/src/ui/comment-mention.ts +2 -2
- package/src/ui/comment-pin.tsx +5 -1
- package/src/ui/comment-text.tsx +1 -1
- package/src/ui/comment-thread.tsx +8 -6
- package/src/ui/comments-list.tsx +16 -12
- package/src/ui/comments.css +106 -106
- package/src/ui/count-badge.tsx +1 -1
- package/src/ui/empty-state.tsx +3 -3
- package/src/ui/mention-list.tsx +8 -8
- package/src/ui/mention-suggestion.tsx +3 -3
- package/src/ui/mention.tsx +1 -1
- package/src/ui/reaction.tsx +6 -3
- package/src/ui/reactions.tsx +6 -2
- package/src/ui/send-button.tsx +1 -1
package/commenting.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/* Real comment UI components. Co-located so styles travel to any view (studio,
|
|
6
6
|
canvas), and themed via tldraw's --tl-color tokens so they follow light/dark. */
|
|
7
|
-
.cmt-card {
|
|
7
|
+
.tlui-cmt-card {
|
|
8
8
|
position: relative;
|
|
9
9
|
display: flex;
|
|
10
10
|
gap: 10px;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/* hover-revealed controls (edit…) at the card's top-right */
|
|
19
|
-
.cmt-card__actions {
|
|
19
|
+
.tlui-cmt-card__actions {
|
|
20
20
|
position: absolute;
|
|
21
21
|
top: 6px;
|
|
22
22
|
right: 6px;
|
|
@@ -24,65 +24,65 @@
|
|
|
24
24
|
gap: 2px;
|
|
25
25
|
opacity: 0;
|
|
26
26
|
}
|
|
27
|
-
.cmt-card:hover .cmt-card__actions,
|
|
28
|
-
.cmt-card:focus-within .cmt-card__actions {
|
|
27
|
+
.tlui-cmt-card:hover .tlui-cmt-card__actions,
|
|
28
|
+
.tlui-cmt-card:focus-within .tlui-cmt-card__actions {
|
|
29
29
|
opacity: 1;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
.cmt-body {
|
|
32
|
+
.tlui-cmt-body {
|
|
33
33
|
flex: 1;
|
|
34
34
|
min-width: 0;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.cmt-head {
|
|
37
|
+
.tlui-cmt-head {
|
|
38
38
|
display: flex;
|
|
39
39
|
align-items: baseline;
|
|
40
40
|
gap: 6px;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
.cmt-author {
|
|
43
|
+
.tlui-cmt-author {
|
|
44
44
|
font-weight: 600;
|
|
45
45
|
font-size: 13px;
|
|
46
46
|
color: var(--tl-color-text-1);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
.cmt-time {
|
|
49
|
+
.tlui-cmt-time {
|
|
50
50
|
font-size: 11px;
|
|
51
51
|
color: var(--tl-color-text-3);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.cmt-text {
|
|
54
|
+
.tlui-cmt-text {
|
|
55
55
|
margin: 3px 0 0;
|
|
56
56
|
font-size: 13px;
|
|
57
57
|
line-height: 1.4;
|
|
58
58
|
color: var(--tl-color-text-1);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
.cmt-edited {
|
|
61
|
+
.tlui-cmt-edited {
|
|
62
62
|
font-style: italic;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/* rendered rich text inside a comment body — bare tags emitted by the comment renderer
|
|
66
66
|
(paragraphs, lists, code, highlight, links), matching the limited comment extension set. */
|
|
67
|
-
.cmt-text p {
|
|
67
|
+
.tlui-cmt-text p {
|
|
68
68
|
margin: 0;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
.cmt-text p + p,
|
|
72
|
-
.cmt-text p + ul,
|
|
73
|
-
.cmt-text p + ol,
|
|
74
|
-
.cmt-text ul + p,
|
|
75
|
-
.cmt-text ol + p {
|
|
71
|
+
.tlui-cmt-text p + p,
|
|
72
|
+
.tlui-cmt-text p + ul,
|
|
73
|
+
.tlui-cmt-text p + ol,
|
|
74
|
+
.tlui-cmt-text ul + p,
|
|
75
|
+
.tlui-cmt-text ol + p {
|
|
76
76
|
margin-top: 6px;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
.cmt-text ul,
|
|
80
|
-
.cmt-text ol {
|
|
79
|
+
.tlui-cmt-text ul,
|
|
80
|
+
.tlui-cmt-text ol {
|
|
81
81
|
margin: 0;
|
|
82
82
|
padding-left: 18px;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
.cmt-text code {
|
|
85
|
+
.tlui-cmt-text code {
|
|
86
86
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
87
87
|
font-size: 0.92em;
|
|
88
88
|
background: var(--tl-color-muted-2);
|
|
@@ -90,18 +90,18 @@
|
|
|
90
90
|
padding: 0 3px;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
.cmt-text mark {
|
|
93
|
+
.tlui-cmt-text mark {
|
|
94
94
|
background: color-mix(in srgb, #ffeb3b 60%, transparent);
|
|
95
95
|
color: inherit;
|
|
96
96
|
border-radius: 2px;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
.cmt-text a {
|
|
99
|
+
.tlui-cmt-text a {
|
|
100
100
|
color: var(--tl-color-selected);
|
|
101
101
|
text-decoration: underline;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
.cmt-avatar {
|
|
104
|
+
.tlui-cmt-avatar {
|
|
105
105
|
width: 28px;
|
|
106
106
|
height: 28px;
|
|
107
107
|
border-radius: 50%;
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
flex-shrink: 0;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
.cmt-avatar--image {
|
|
118
|
+
.tlui-cmt-avatar--image {
|
|
119
119
|
object-fit: cover;
|
|
120
120
|
background: none;
|
|
121
121
|
}
|
|
@@ -123,14 +123,14 @@
|
|
|
123
123
|
/* composer — an avatar beside a rounded-rect field holding the rich-text input and the send button.
|
|
124
124
|
Formatting is applied via markdown and keyboard shortcuts (no toolbar). The avatar aligns to the
|
|
125
125
|
top so it stays put as the field grows to multiple lines. */
|
|
126
|
-
.cmt-composer {
|
|
126
|
+
.tlui-cmt-composer {
|
|
127
127
|
display: flex;
|
|
128
128
|
align-items: flex-start;
|
|
129
129
|
gap: 10px;
|
|
130
130
|
padding: 4px 0 8px 4px;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
.cmt-composer__field {
|
|
133
|
+
.tlui-cmt-composer__field {
|
|
134
134
|
flex: 1;
|
|
135
135
|
min-width: 0;
|
|
136
136
|
display: flex;
|
|
@@ -142,19 +142,19 @@
|
|
|
142
142
|
border-radius: var(--tl-radius-3);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
.cmt-composer__field:focus-within {
|
|
145
|
+
.tlui-cmt-composer__field:focus-within {
|
|
146
146
|
border-color: var(--tl-color-selected);
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/* the editable area, with the placeholder overlaid while it's empty */
|
|
150
|
-
.cmt-composer__input-wrap {
|
|
150
|
+
.tlui-cmt-composer__input-wrap {
|
|
151
151
|
position: relative;
|
|
152
152
|
flex: 1;
|
|
153
153
|
min-width: 0;
|
|
154
154
|
padding: 3px 0;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
.cmt-input {
|
|
157
|
+
.tlui-cmt-input {
|
|
158
158
|
font: inherit;
|
|
159
159
|
font-size: 13px;
|
|
160
160
|
line-height: 1.4;
|
|
@@ -167,23 +167,23 @@
|
|
|
167
167
|
word-break: break-word;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
.cmt-input p {
|
|
170
|
+
.tlui-cmt-input p {
|
|
171
171
|
margin: 0;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
.cmt-input p + p,
|
|
175
|
-
.cmt-input p + ul,
|
|
176
|
-
.cmt-input p + ol {
|
|
174
|
+
.tlui-cmt-input p + p,
|
|
175
|
+
.tlui-cmt-input p + ul,
|
|
176
|
+
.tlui-cmt-input p + ol {
|
|
177
177
|
margin-top: 4px;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
.cmt-input ul,
|
|
181
|
-
.cmt-input ol {
|
|
180
|
+
.tlui-cmt-input ul,
|
|
181
|
+
.tlui-cmt-input ol {
|
|
182
182
|
margin: 0;
|
|
183
183
|
padding-left: 18px;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
.cmt-input__placeholder {
|
|
186
|
+
.tlui-cmt-input__placeholder {
|
|
187
187
|
position: absolute;
|
|
188
188
|
top: 3px;
|
|
189
189
|
left: 0;
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
pointer-events: none;
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
.cmt-send {
|
|
196
|
+
.tlui-cmt-send {
|
|
197
197
|
border: 0;
|
|
198
198
|
border-radius: var(--tl-radius-2);
|
|
199
199
|
background: var(--tl-color-selected);
|
|
@@ -206,29 +206,29 @@
|
|
|
206
206
|
align-self: flex-end;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
.cmt-send:hover,
|
|
210
|
-
.pseudo-hover .cmt-send {
|
|
209
|
+
.tlui-cmt-send:hover,
|
|
210
|
+
.pseudo-hover .tlui-cmt-send {
|
|
211
211
|
background: color-mix(in srgb, var(--tl-color-selected) 88%, black);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
.cmt-send:active,
|
|
215
|
-
.pseudo-active .cmt-send {
|
|
214
|
+
.tlui-cmt-send:active,
|
|
215
|
+
.pseudo-active .tlui-cmt-send {
|
|
216
216
|
background: color-mix(in srgb, var(--tl-color-selected) 78%, black);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
.cmt-send:focus-visible,
|
|
220
|
-
.pseudo-focus-visible .cmt-send {
|
|
219
|
+
.tlui-cmt-send:focus-visible,
|
|
220
|
+
.pseudo-focus-visible .tlui-cmt-send {
|
|
221
221
|
outline: 2px solid var(--tl-color-selected);
|
|
222
222
|
outline-offset: 2px;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
.cmt-send:disabled {
|
|
225
|
+
.tlui-cmt-send:disabled {
|
|
226
226
|
opacity: 0.45;
|
|
227
227
|
cursor: not-allowed;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
/* pin */
|
|
231
|
-
.cmt-pin {
|
|
231
|
+
.tlui-cmt-pin {
|
|
232
232
|
width: 34px;
|
|
233
233
|
height: 34px;
|
|
234
234
|
border-radius: 50% 50% 50% 3px;
|
|
@@ -246,14 +246,14 @@
|
|
|
246
246
|
box-shadow 0.08s ease;
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
-
.cmt-pin:hover,
|
|
250
|
-
.pseudo-hover .cmt-pin {
|
|
249
|
+
.tlui-cmt-pin:hover,
|
|
250
|
+
.pseudo-hover .tlui-cmt-pin {
|
|
251
251
|
transform: scale(1.08);
|
|
252
252
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.32);
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
/* open: the thread is showing — a selection ring marks the active pin */
|
|
256
|
-
.cmt-pin--open {
|
|
256
|
+
.tlui-cmt-pin--open {
|
|
257
257
|
box-shadow:
|
|
258
258
|
0 0 0 3px var(--tl-color-panel),
|
|
259
259
|
0 0 0 5px var(--tl-color-selected),
|
|
@@ -262,17 +262,17 @@
|
|
|
262
262
|
|
|
263
263
|
/* resolved: a solid, muted grey (the default --tl-color-muted-1 is 10% black, so it goes
|
|
264
264
|
translucent over the canvas). Dark mode gets its own grey — the token's dark value is near-black. */
|
|
265
|
-
.cmt-pin--resolved {
|
|
265
|
+
.tlui-cmt-pin--resolved {
|
|
266
266
|
background: #dfe0e1;
|
|
267
267
|
color: hsl(214, 8%, 42%);
|
|
268
268
|
}
|
|
269
|
-
.tl-theme__dark .cmt-pin--resolved {
|
|
269
|
+
.tl-theme__dark .tlui-cmt-pin--resolved {
|
|
270
270
|
background: hsl(240, 5%, 30%);
|
|
271
271
|
color: hsl(0, 0%, 72%);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
/* count badge */
|
|
275
|
-
.cmt-count-badge {
|
|
275
|
+
.tlui-cmt-count-badge {
|
|
276
276
|
width: 34px;
|
|
277
277
|
height: 34px;
|
|
278
278
|
border-radius: 50%;
|
|
@@ -288,14 +288,14 @@
|
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
/* thread */
|
|
291
|
-
.cmt-thread {
|
|
291
|
+
.tlui-cmt-thread {
|
|
292
292
|
display: flex;
|
|
293
293
|
flex-direction: column;
|
|
294
294
|
gap: 8px;
|
|
295
295
|
width: 300px;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
.cmt-thread__head {
|
|
298
|
+
.tlui-cmt-thread__head {
|
|
299
299
|
display: flex;
|
|
300
300
|
align-items: center;
|
|
301
301
|
gap: 8px;
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
letter-spacing: 0.04em;
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
.cmt-badge {
|
|
309
|
+
.tlui-cmt-badge {
|
|
310
310
|
font-size: 10px;
|
|
311
311
|
font-weight: 600;
|
|
312
312
|
text-transform: none;
|
|
@@ -318,12 +318,12 @@
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
/* reactions */
|
|
321
|
-
.cmt-reactions {
|
|
321
|
+
.tlui-cmt-reactions {
|
|
322
322
|
display: flex;
|
|
323
323
|
gap: 6px;
|
|
324
324
|
}
|
|
325
325
|
|
|
326
|
-
.cmt-reaction {
|
|
326
|
+
.tlui-cmt-reaction {
|
|
327
327
|
display: inline-flex;
|
|
328
328
|
align-items: center;
|
|
329
329
|
gap: 5px;
|
|
@@ -337,27 +337,27 @@
|
|
|
337
337
|
cursor: pointer;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
.cmt-reaction:hover,
|
|
341
|
-
.pseudo-hover .cmt-reaction {
|
|
340
|
+
.tlui-cmt-reaction:hover,
|
|
341
|
+
.pseudo-hover .tlui-cmt-reaction {
|
|
342
342
|
border-color: var(--tl-color-selected);
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
.cmt-reaction--active {
|
|
345
|
+
.tlui-cmt-reaction--active {
|
|
346
346
|
border-color: var(--tl-color-selected);
|
|
347
347
|
background: color-mix(in srgb, var(--tl-color-selected) 12%, var(--tl-color-panel));
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
.cmt-reaction__count {
|
|
350
|
+
.tlui-cmt-reaction__count {
|
|
351
351
|
color: var(--tl-color-text-3);
|
|
352
352
|
}
|
|
353
353
|
|
|
354
|
-
.cmt-reaction--add {
|
|
354
|
+
.tlui-cmt-reaction--add {
|
|
355
355
|
color: var(--tl-color-text-3);
|
|
356
356
|
font-weight: 600;
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
/* mention */
|
|
360
|
-
.cmt-mention {
|
|
360
|
+
.tlui-cmt-mention {
|
|
361
361
|
color: var(--tl-color-selected);
|
|
362
362
|
font-weight: 600;
|
|
363
363
|
background: color-mix(in srgb, var(--tl-color-selected) 12%, transparent);
|
|
@@ -366,7 +366,7 @@
|
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
/* mention picker */
|
|
369
|
-
.cmt-mention-list {
|
|
369
|
+
.tlui-cmt-mention-list {
|
|
370
370
|
display: flex;
|
|
371
371
|
flex-direction: column;
|
|
372
372
|
gap: 1px;
|
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
box-shadow: var(--tl-shadow-2, 0 2px 12px rgba(0, 0, 0, 0.14));
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
.cmt-mention-list__item {
|
|
385
|
+
.tlui-cmt-mention-list__item {
|
|
386
386
|
display: flex;
|
|
387
387
|
align-items: center;
|
|
388
388
|
gap: 8px;
|
|
@@ -396,19 +396,19 @@
|
|
|
396
396
|
font: inherit;
|
|
397
397
|
}
|
|
398
398
|
|
|
399
|
-
.cmt-mention-list__item--active,
|
|
400
|
-
.cmt-mention-list__item:hover {
|
|
399
|
+
.tlui-cmt-mention-list__item--active,
|
|
400
|
+
.tlui-cmt-mention-list__item:hover {
|
|
401
401
|
background: var(--tl-color-muted-2, rgba(0, 0, 0, 0.06));
|
|
402
402
|
}
|
|
403
403
|
|
|
404
|
-
.cmt-mention-list__text {
|
|
404
|
+
.tlui-cmt-mention-list__text {
|
|
405
405
|
display: flex;
|
|
406
406
|
flex-direction: column;
|
|
407
407
|
min-width: 0;
|
|
408
408
|
line-height: 1.3;
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
.cmt-mention-list__name {
|
|
411
|
+
.tlui-cmt-mention-list__name {
|
|
412
412
|
font-size: 13px;
|
|
413
413
|
font-weight: 500;
|
|
414
414
|
white-space: nowrap;
|
|
@@ -416,13 +416,13 @@
|
|
|
416
416
|
text-overflow: ellipsis;
|
|
417
417
|
}
|
|
418
418
|
|
|
419
|
-
.cmt-mention-list__you {
|
|
419
|
+
.tlui-cmt-mention-list__you {
|
|
420
420
|
margin-left: 4px;
|
|
421
421
|
font-weight: 400;
|
|
422
422
|
color: var(--tl-color-text-3);
|
|
423
423
|
}
|
|
424
424
|
|
|
425
|
-
.cmt-mention-list__secondary {
|
|
425
|
+
.tlui-cmt-mention-list__secondary {
|
|
426
426
|
font-size: 12px;
|
|
427
427
|
color: var(--tl-color-text-3);
|
|
428
428
|
white-space: nowrap;
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
text-overflow: ellipsis;
|
|
431
431
|
}
|
|
432
432
|
|
|
433
|
-
.cmt-mention-list--empty {
|
|
433
|
+
.tlui-cmt-mention-list--empty {
|
|
434
434
|
padding: 8px 10px;
|
|
435
435
|
width: 100%;
|
|
436
436
|
box-sizing: border-box;
|
|
@@ -439,13 +439,13 @@
|
|
|
439
439
|
}
|
|
440
440
|
|
|
441
441
|
/* the @-picker popup — caret-anchored above the page, positioned by the suggestion plugin */
|
|
442
|
-
.cmt-mention-popup {
|
|
442
|
+
.tlui-cmt-mention-popup {
|
|
443
443
|
position: fixed;
|
|
444
444
|
z-index: var(--tl-layer-menus);
|
|
445
445
|
}
|
|
446
446
|
|
|
447
447
|
/* empty state */
|
|
448
|
-
.cmt-empty {
|
|
448
|
+
.tlui-cmt-empty {
|
|
449
449
|
display: flex;
|
|
450
450
|
flex-direction: column;
|
|
451
451
|
align-items: center;
|
|
@@ -455,11 +455,11 @@
|
|
|
455
455
|
width: 240px;
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
.cmt-empty__icon {
|
|
458
|
+
.tlui-cmt-empty__icon {
|
|
459
459
|
font-size: 28px;
|
|
460
460
|
}
|
|
461
461
|
|
|
462
|
-
.cmt-empty__message {
|
|
462
|
+
.tlui-cmt-empty__message {
|
|
463
463
|
margin: 0;
|
|
464
464
|
color: var(--tl-color-text-3);
|
|
465
465
|
font-size: 13px;
|
|
@@ -468,7 +468,7 @@
|
|
|
468
468
|
|
|
469
469
|
/* a comment thread: an elevated panel — the same surface treatment as the toolbar — holding a
|
|
470
470
|
header, an optional resolved banner, the comments, and a reply composer */
|
|
471
|
-
.cmt-thread {
|
|
471
|
+
.tlui-cmt-thread {
|
|
472
472
|
display: flex;
|
|
473
473
|
flex-direction: column;
|
|
474
474
|
gap: 6px;
|
|
@@ -478,22 +478,22 @@
|
|
|
478
478
|
border-radius: var(--tl-radius-4);
|
|
479
479
|
box-shadow: var(--tl-shadow-2);
|
|
480
480
|
}
|
|
481
|
-
.cmt-thread__header {
|
|
481
|
+
.tlui-cmt-thread__header {
|
|
482
482
|
display: flex;
|
|
483
483
|
align-items: center;
|
|
484
484
|
justify-content: space-between;
|
|
485
485
|
padding: 2px 2px 2px 4px;
|
|
486
486
|
}
|
|
487
|
-
.cmt-thread__title {
|
|
487
|
+
.tlui-cmt-thread__title {
|
|
488
488
|
font-size: 12px;
|
|
489
489
|
font-weight: 600;
|
|
490
490
|
color: var(--tl-color-text-1);
|
|
491
491
|
}
|
|
492
|
-
.cmt-thread__actions {
|
|
492
|
+
.tlui-cmt-thread__actions {
|
|
493
493
|
display: flex;
|
|
494
494
|
gap: 2px;
|
|
495
495
|
}
|
|
496
|
-
.cmt-thread__action {
|
|
496
|
+
.tlui-cmt-thread__action {
|
|
497
497
|
display: flex;
|
|
498
498
|
align-items: center;
|
|
499
499
|
justify-content: center;
|
|
@@ -508,25 +508,25 @@
|
|
|
508
508
|
line-height: 1;
|
|
509
509
|
cursor: pointer;
|
|
510
510
|
}
|
|
511
|
-
.cmt-thread__action:hover {
|
|
511
|
+
.tlui-cmt-thread__action:hover {
|
|
512
512
|
background: var(--tl-color-muted-2);
|
|
513
513
|
color: var(--tl-color-text-1);
|
|
514
514
|
}
|
|
515
|
-
.cmt-thread__resolved {
|
|
515
|
+
.tlui-cmt-thread__resolved {
|
|
516
516
|
padding: 6px 10px;
|
|
517
517
|
border-radius: 8px;
|
|
518
518
|
background: var(--tl-color-muted-2);
|
|
519
519
|
font-size: 12px;
|
|
520
520
|
color: var(--tl-color-text-3);
|
|
521
521
|
}
|
|
522
|
-
.cmt-thread__list {
|
|
522
|
+
.tlui-cmt-thread__list {
|
|
523
523
|
display: flex;
|
|
524
524
|
flex-direction: column;
|
|
525
525
|
gap: 6px;
|
|
526
526
|
}
|
|
527
527
|
/* inside the panel, comments are plain content — no surrounding box; the composer's field carries
|
|
528
528
|
its own surface. */
|
|
529
|
-
.cmt-thread .cmt-card {
|
|
529
|
+
.tlui-cmt-thread .tlui-cmt-card {
|
|
530
530
|
width: 100%;
|
|
531
531
|
padding: 6px 0 6px 4px;
|
|
532
532
|
background: transparent;
|
|
@@ -534,13 +534,13 @@
|
|
|
534
534
|
}
|
|
535
535
|
|
|
536
536
|
/* comments list — thread summaries, one per row (used by the canvas sidebar) */
|
|
537
|
-
.cmt-list {
|
|
537
|
+
.tlui-cmt-list {
|
|
538
538
|
display: flex;
|
|
539
539
|
flex-direction: column;
|
|
540
540
|
width: 100%;
|
|
541
541
|
min-height: 0;
|
|
542
542
|
}
|
|
543
|
-
.cmt-list__header {
|
|
543
|
+
.tlui-cmt-list__header {
|
|
544
544
|
flex-shrink: 0;
|
|
545
545
|
display: flex;
|
|
546
546
|
align-items: center;
|
|
@@ -549,7 +549,7 @@
|
|
|
549
549
|
padding: 6px 6px 6px 14px;
|
|
550
550
|
border-bottom: 1px solid var(--tl-color-divider);
|
|
551
551
|
}
|
|
552
|
-
.cmt-list__header-title {
|
|
552
|
+
.tlui-cmt-list__header-title {
|
|
553
553
|
font-size: 11px;
|
|
554
554
|
font-weight: 600;
|
|
555
555
|
letter-spacing: 0.06em;
|
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
}
|
|
559
559
|
|
|
560
560
|
/* a small square icon button in the sidebar header (filter funnel, overflow …) */
|
|
561
|
-
.cmt-header-btn {
|
|
561
|
+
.tlui-cmt-header-btn {
|
|
562
562
|
display: flex;
|
|
563
563
|
align-items: center;
|
|
564
564
|
justify-content: center;
|
|
@@ -571,19 +571,19 @@
|
|
|
571
571
|
color: var(--tl-color-text-2);
|
|
572
572
|
cursor: pointer;
|
|
573
573
|
}
|
|
574
|
-
.cmt-header-btn:hover,
|
|
575
|
-
.cmt-header-btn[data-state='open'] {
|
|
574
|
+
.tlui-cmt-header-btn:hover,
|
|
575
|
+
.tlui-cmt-header-btn[data-state='open'] {
|
|
576
576
|
background: var(--tl-color-muted-2);
|
|
577
577
|
color: var(--tl-color-text-1);
|
|
578
578
|
}
|
|
579
|
-
.cmt-list__header-actions {
|
|
579
|
+
.tlui-cmt-list__header-actions {
|
|
580
580
|
display: flex;
|
|
581
581
|
align-items: center;
|
|
582
582
|
gap: 2px;
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
/* a menu row with a label and a right-aligned shortcut hint (overflow menu) */
|
|
586
|
-
.cmt-menu-item {
|
|
586
|
+
.tlui-cmt-menu-item {
|
|
587
587
|
display: flex;
|
|
588
588
|
align-items: center;
|
|
589
589
|
justify-content: space-between;
|
|
@@ -598,24 +598,24 @@
|
|
|
598
598
|
color: var(--tl-color-text-1);
|
|
599
599
|
cursor: pointer;
|
|
600
600
|
}
|
|
601
|
-
.cmt-menu-item:hover {
|
|
601
|
+
.tlui-cmt-menu-item:hover {
|
|
602
602
|
background: var(--tl-color-muted-2);
|
|
603
603
|
}
|
|
604
|
-
.cmt-menu-item__shortcut {
|
|
604
|
+
.tlui-cmt-menu-item__shortcut {
|
|
605
605
|
color: var(--tl-color-text-3);
|
|
606
606
|
font-size: 12px;
|
|
607
607
|
}
|
|
608
|
-
.cmt-list__items {
|
|
608
|
+
.tlui-cmt-list__items {
|
|
609
609
|
flex: 1;
|
|
610
610
|
min-height: 0;
|
|
611
611
|
overflow-y: auto;
|
|
612
612
|
}
|
|
613
|
-
.cmt-list__empty {
|
|
613
|
+
.tlui-cmt-list__empty {
|
|
614
614
|
padding: 20px 14px;
|
|
615
615
|
color: var(--tl-color-text-3);
|
|
616
616
|
font-size: 13px;
|
|
617
617
|
}
|
|
618
|
-
.cmt-list__item {
|
|
618
|
+
.tlui-cmt-list__item {
|
|
619
619
|
display: flex;
|
|
620
620
|
gap: 10px;
|
|
621
621
|
width: 100%;
|
|
@@ -627,22 +627,22 @@
|
|
|
627
627
|
text-align: left;
|
|
628
628
|
cursor: pointer;
|
|
629
629
|
}
|
|
630
|
-
.cmt-list__item:hover {
|
|
630
|
+
.tlui-cmt-list__item:hover {
|
|
631
631
|
background: var(--tl-color-muted-2);
|
|
632
632
|
}
|
|
633
|
-
.cmt-list__item--selected {
|
|
633
|
+
.tlui-cmt-list__item--selected {
|
|
634
634
|
background: var(--tl-color-muted-1);
|
|
635
635
|
}
|
|
636
636
|
/* resolved rows mute their content but keep the "Resolved" marker legible */
|
|
637
|
-
.cmt-list__item[data-resolved] .cmt-head,
|
|
638
|
-
.cmt-list__item[data-resolved] .cmt-list__item-preview {
|
|
637
|
+
.tlui-cmt-list__item[data-resolved] .tlui-cmt-head,
|
|
638
|
+
.tlui-cmt-list__item[data-resolved] .tlui-cmt-list__item-preview {
|
|
639
639
|
opacity: 0.55;
|
|
640
640
|
}
|
|
641
|
-
.cmt-list__item-body {
|
|
641
|
+
.tlui-cmt-list__item-body {
|
|
642
642
|
flex: 1;
|
|
643
643
|
min-width: 0;
|
|
644
644
|
}
|
|
645
|
-
.cmt-list__item-preview {
|
|
645
|
+
.tlui-cmt-list__item-preview {
|
|
646
646
|
margin-top: 2px;
|
|
647
647
|
font-size: 13px;
|
|
648
648
|
color: var(--tl-color-text-1);
|
|
@@ -653,7 +653,7 @@
|
|
|
653
653
|
-webkit-box-orient: vertical;
|
|
654
654
|
}
|
|
655
655
|
/* meta line under the preview: page label and/or a resolved marker */
|
|
656
|
-
.cmt-list__item-meta {
|
|
656
|
+
.tlui-cmt-list__item-meta {
|
|
657
657
|
display: flex;
|
|
658
658
|
align-items: center;
|
|
659
659
|
gap: 8px;
|
|
@@ -661,20 +661,20 @@
|
|
|
661
661
|
font-size: 11px;
|
|
662
662
|
color: var(--tl-color-text-3);
|
|
663
663
|
}
|
|
664
|
-
.cmt-list__item-resolved {
|
|
664
|
+
.tlui-cmt-list__item-resolved {
|
|
665
665
|
display: inline-flex;
|
|
666
666
|
align-items: center;
|
|
667
667
|
gap: 3px;
|
|
668
668
|
font-weight: 600;
|
|
669
669
|
}
|
|
670
|
-
.cmt-list__item-page {
|
|
670
|
+
.tlui-cmt-list__item-page {
|
|
671
671
|
display: inline-flex;
|
|
672
672
|
align-items: center;
|
|
673
673
|
padding: 1px 6px;
|
|
674
674
|
border-radius: 4px;
|
|
675
675
|
background: var(--tl-color-muted-2);
|
|
676
676
|
}
|
|
677
|
-
.cmt-list__item-count {
|
|
677
|
+
.tlui-cmt-list__item-count {
|
|
678
678
|
flex-shrink: 0;
|
|
679
679
|
align-self: center;
|
|
680
680
|
font-size: 12px;
|
|
@@ -683,70 +683,70 @@
|
|
|
683
683
|
|
|
684
684
|
/* The comments layer is portaled into the editor container. Pins live in the canvas-in-front layer
|
|
685
685
|
(beneath the UI panels at z-index 300), so the toolbar and style panel draw over them; the open
|
|
686
|
-
thread's popover portals up to the menus layer separately (`.cmt-canvas-popover`) so it isn't
|
|
686
|
+
thread's popover portals up to the menus layer separately (`.tlui-cmt-canvas-popover`) so it isn't
|
|
687
687
|
clipped. Click-through except on its own children. */
|
|
688
|
-
.cmt-canvas-layer {
|
|
688
|
+
.tlui-cmt-canvas-layer {
|
|
689
689
|
position: absolute;
|
|
690
690
|
inset: 0;
|
|
691
691
|
z-index: var(--tl-layer-canvas-in-front);
|
|
692
692
|
pointer-events: none;
|
|
693
693
|
}
|
|
694
694
|
|
|
695
|
-
.cmt-canvas-pin,
|
|
696
|
-
.cmt-canvas-cluster,
|
|
697
|
-
.cmt-canvas-composer {
|
|
695
|
+
.tlui-cmt-canvas-pin,
|
|
696
|
+
.tlui-cmt-canvas-cluster,
|
|
697
|
+
.tlui-cmt-canvas-composer {
|
|
698
698
|
position: absolute;
|
|
699
699
|
}
|
|
700
700
|
|
|
701
|
-
.cmt-canvas-pin,
|
|
702
|
-
.cmt-canvas-composer {
|
|
701
|
+
.tlui-cmt-canvas-pin,
|
|
702
|
+
.tlui-cmt-canvas-composer {
|
|
703
703
|
pointer-events: auto;
|
|
704
704
|
}
|
|
705
705
|
|
|
706
706
|
/* Badges are clickable (zoom to the cluster's first split). */
|
|
707
|
-
.cmt-canvas-cluster {
|
|
707
|
+
.tlui-cmt-canvas-cluster {
|
|
708
708
|
transform: translate(-50%, -50%);
|
|
709
709
|
pointer-events: auto;
|
|
710
710
|
cursor: pointer;
|
|
711
711
|
}
|
|
712
712
|
|
|
713
|
-
.cmt-cluster-fade {
|
|
713
|
+
.tlui-cmt-cluster-fade {
|
|
714
714
|
opacity: 1;
|
|
715
715
|
transition: opacity 150ms ease;
|
|
716
716
|
}
|
|
717
717
|
|
|
718
|
-
.cmt-cluster-fade--entering {
|
|
718
|
+
.tlui-cmt-cluster-fade--entering {
|
|
719
719
|
opacity: 0;
|
|
720
720
|
}
|
|
721
721
|
|
|
722
|
-
.cmt-cluster-fade--present {
|
|
722
|
+
.tlui-cmt-cluster-fade--present {
|
|
723
723
|
opacity: 1;
|
|
724
724
|
}
|
|
725
725
|
|
|
726
|
-
.cmt-cluster-fade--exiting {
|
|
726
|
+
.tlui-cmt-cluster-fade--exiting {
|
|
727
727
|
opacity: 0;
|
|
728
728
|
}
|
|
729
729
|
|
|
730
|
-
.cmt-cluster-fade--entering *,
|
|
731
|
-
.cmt-cluster-fade--exiting * {
|
|
730
|
+
.tlui-cmt-cluster-fade--entering *,
|
|
731
|
+
.tlui-cmt-cluster-fade--exiting * {
|
|
732
732
|
pointer-events: none !important;
|
|
733
733
|
}
|
|
734
734
|
|
|
735
735
|
@media (prefers-reduced-motion: reduce) {
|
|
736
|
-
.cmt-cluster-fade {
|
|
736
|
+
.tlui-cmt-cluster-fade {
|
|
737
737
|
transition: none;
|
|
738
738
|
}
|
|
739
739
|
}
|
|
740
740
|
|
|
741
741
|
/* The open thread (its pin + popover) sits above the other pins, so nearby markers don't
|
|
742
742
|
overlap its popover — they tuck behind it. */
|
|
743
|
-
.cmt-canvas-pin--open {
|
|
743
|
+
.tlui-cmt-canvas-pin--open {
|
|
744
744
|
z-index: 1;
|
|
745
745
|
}
|
|
746
746
|
|
|
747
747
|
/* A region anchor's area: a dashed box under the pins, non-interactive so canvas events pass
|
|
748
748
|
through. Drawn for the live drag draft and for a region thread while hovered or open. */
|
|
749
|
-
.cmt-canvas-region {
|
|
749
|
+
.tlui-cmt-canvas-region {
|
|
750
750
|
position: absolute;
|
|
751
751
|
pointer-events: none;
|
|
752
752
|
border: 2px dashed var(--tl-color-selected);
|
|
@@ -756,13 +756,13 @@
|
|
|
756
756
|
|
|
757
757
|
/* A movable region body (the 'body'/'both' move modes): draggable to translate the whole region.
|
|
758
758
|
Interactive, so it captures the interior while shown — the tradeoff of dragging the body. */
|
|
759
|
-
.cmt-canvas-region--movable {
|
|
759
|
+
.tlui-cmt-canvas-region--movable {
|
|
760
760
|
pointer-events: auto;
|
|
761
761
|
cursor: move;
|
|
762
762
|
}
|
|
763
763
|
|
|
764
764
|
/* Corner resize handles on a region box (three corners; the pin corner is the move handle). */
|
|
765
|
-
.cmt-canvas-region-handle {
|
|
765
|
+
.tlui-cmt-canvas-region-handle {
|
|
766
766
|
position: absolute;
|
|
767
767
|
width: 9px;
|
|
768
768
|
height: 9px;
|
|
@@ -775,18 +775,18 @@
|
|
|
775
775
|
}
|
|
776
776
|
|
|
777
777
|
/* Centre the pin marker on its anchor point. */
|
|
778
|
-
.cmt-canvas-pin__marker {
|
|
778
|
+
.tlui-cmt-canvas-pin__marker {
|
|
779
779
|
width: max-content;
|
|
780
780
|
transform: translate(-50%, -50%);
|
|
781
781
|
cursor: grab;
|
|
782
782
|
touch-action: none;
|
|
783
783
|
}
|
|
784
|
-
.cmt-canvas-pin__marker:active {
|
|
784
|
+
.tlui-cmt-canvas-pin__marker:active {
|
|
785
785
|
cursor: grabbing;
|
|
786
786
|
}
|
|
787
787
|
|
|
788
788
|
/* The open thread's popover — portaled to the menus layer (above the UI), positioned at the pin. */
|
|
789
|
-
.cmt-canvas-popover {
|
|
789
|
+
.tlui-cmt-canvas-popover {
|
|
790
790
|
position: absolute;
|
|
791
791
|
z-index: var(--tl-layer-menus);
|
|
792
792
|
pointer-events: auto;
|
|
@@ -795,7 +795,7 @@
|
|
|
795
795
|
/* The placement composer — a distinct floating view (portaled to the menus layer, below the click
|
|
796
796
|
point): a pencil "draft" avatar beside a pill field that is itself the surface (no wrapping
|
|
797
797
|
panel). Scoped here so the in-thread reply composer keeps its own squarer look. */
|
|
798
|
-
.cmt-canvas-composer {
|
|
798
|
+
.tlui-cmt-canvas-composer {
|
|
799
799
|
position: absolute;
|
|
800
800
|
z-index: var(--tl-layer-menus);
|
|
801
801
|
pointer-events: auto;
|
|
@@ -804,7 +804,7 @@
|
|
|
804
804
|
placement composer a definite width or it collapses to nothing. */
|
|
805
805
|
width: 280px;
|
|
806
806
|
}
|
|
807
|
-
.cmt-canvas-composer .cmt-composer__field {
|
|
807
|
+
.tlui-cmt-canvas-composer .tlui-cmt-composer__field {
|
|
808
808
|
background: var(--tl-color-panel);
|
|
809
809
|
border-color: transparent;
|
|
810
810
|
border-radius: var(--tl-radius-4);
|
|
@@ -815,7 +815,7 @@
|
|
|
815
815
|
the popover layer, so an open thread still draws over it. Sits under the top-right share panel
|
|
816
816
|
(top offset clears its ~48px height) and sizes to its content, scrolling past max-height rather
|
|
817
817
|
than stretching the full canvas height. */
|
|
818
|
-
.cmt-canvas-sidebar {
|
|
818
|
+
.tlui-cmt-canvas-sidebar {
|
|
819
819
|
position: absolute;
|
|
820
820
|
top: 56px;
|
|
821
821
|
right: 8px;
|