@byline/richtext-lexical 6.10.0 → 6.11.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.
Files changed (60) hide show
  1. package/dist/field/content-editable.css +22 -18
  2. package/dist/field/editor-component.css +33 -29
  3. package/dist/field/editor.css +1218 -1214
  4. package/dist/field/extensions/admonition/admonition-modal.css +20 -16
  5. package/dist/field/extensions/admonition/admonition-node.css +114 -110
  6. package/dist/field/extensions/admonition/icons/danger-icon.css +13 -9
  7. package/dist/field/extensions/admonition/icons/note-icon.css +13 -9
  8. package/dist/field/extensions/admonition/icons/tip-icon.css +13 -9
  9. package/dist/field/extensions/admonition/icons/warning-icon.css +13 -9
  10. package/dist/field/extensions/auto-embed/auto-embed-modal.css +14 -10
  11. package/dist/field/extensions/floating-text-format/index.css +130 -126
  12. package/dist/field/extensions/inline-image/inline-image-modal.css +120 -116
  13. package/dist/field/extensions/inline-image/inline-image-node-component.css +243 -239
  14. package/dist/field/extensions/layout/insert-layout-modal.css +16 -12
  15. package/dist/field/extensions/link/floating-link-editor.css +113 -109
  16. package/dist/field/extensions/link/link-target-fields.css +61 -57
  17. package/dist/field/normalize/adapted-notice.css +2 -4
  18. package/dist/field/plugins/table-plugin/table-modal.css +17 -13
  19. package/dist/field/themes/lexical-editor-theme.css +471 -467
  20. package/dist/field/ui/button.css +28 -24
  21. package/dist/field/ui/checkbox.css +43 -39
  22. package/dist/field/ui/color-picker.css +69 -65
  23. package/dist/field/ui/dialog.css +18 -14
  24. package/dist/field/ui/input.css +23 -19
  25. package/dist/field/ui/modal.css +66 -62
  26. package/dist/field/ui/placeholder.css +25 -21
  27. package/dist/field/ui/select.css +32 -28
  28. package/dist/field/ui/text-area.css +29 -25
  29. package/dist/richtext-field_module.css +21 -17
  30. package/package.json +6 -6
  31. package/src/field/content-editable.css +31 -17
  32. package/src/field/editor-component.css +56 -40
  33. package/src/field/editor.css +1248 -1232
  34. package/src/field/extensions/admonition/admonition-modal.css +32 -16
  35. package/src/field/extensions/admonition/admonition-node.css +105 -89
  36. package/src/field/extensions/admonition/icons/danger-icon.css +25 -9
  37. package/src/field/extensions/admonition/icons/note-icon.css +25 -9
  38. package/src/field/extensions/admonition/icons/tip-icon.css +25 -9
  39. package/src/field/extensions/admonition/icons/warning-icon.css +25 -9
  40. package/src/field/extensions/auto-embed/auto-embed-modal.css +25 -9
  41. package/src/field/extensions/floating-text-format/index.css +142 -126
  42. package/src/field/extensions/inline-image/inline-image-modal.css +144 -128
  43. package/src/field/extensions/inline-image/inline-image-node-component.css +258 -242
  44. package/src/field/extensions/layout/insert-layout-modal.css +28 -12
  45. package/src/field/extensions/link/floating-link-editor.css +129 -113
  46. package/src/field/extensions/link/link-target-fields.css +68 -52
  47. package/src/field/normalize/adapted-notice.css +5 -4
  48. package/src/field/plugins/table-plugin/table-modal.css +29 -13
  49. package/src/field/themes/lexical-editor-theme.css +508 -494
  50. package/src/field/ui/button.css +46 -30
  51. package/src/field/ui/checkbox.css +62 -46
  52. package/src/field/ui/color-picker.css +89 -73
  53. package/src/field/ui/dialog.css +30 -14
  54. package/src/field/ui/input.css +38 -22
  55. package/src/field/ui/modal.css +81 -65
  56. package/src/field/ui/placeholder.css +36 -20
  57. package/src/field/ui/select.css +46 -30
  58. package/src/field/ui/text-area.css +45 -29
  59. package/src/lexical-editor.tsx +2 -0
  60. package/src/richtext-field.module.css +38 -22
@@ -1,3 +1,17 @@
1
+ @layer base,
2
+ byline-base,
3
+ theme,
4
+ byline-theme,
5
+ byline-functional,
6
+ byline-typography,
7
+ components,
8
+ byline-components,
9
+ overrides,
10
+ byline-utilities,
11
+ utilities;
12
+
13
+ @layer byline-components.primitives, byline-components.cms;
14
+
1
15
  /**
2
16
  * Copyright (c) Meta Platforms, Inc. and affiliates.
3
17
  *
@@ -6,1507 +20,1509 @@
6
20
  *
7
21
  */
8
22
 
9
- .editor-shell {
10
- margin: 0 auto;
11
- border-radius: 2px;
12
- color: #000;
13
- position: relative;
14
- line-height: 1.7;
15
- font-weight: 400;
16
- font-family:
17
- -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
18
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
19
- }
23
+ @layer byline-components.cms {
24
+ .editor-shell {
25
+ margin: 0 auto;
26
+ border-radius: 2px;
27
+ color: #000;
28
+ position: relative;
29
+ line-height: 1.7;
30
+ font-weight: 400;
31
+ font-family:
32
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
33
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
34
+ }
20
35
 
21
- .editor-shell .editor-container {
22
- position: relative;
23
- display: block;
24
- border-bottom-left-radius: 10px;
25
- border-bottom-right-radius: 10px;
26
- }
36
+ .editor-shell .editor-container {
37
+ position: relative;
38
+ display: block;
39
+ border-bottom-left-radius: 10px;
40
+ border-bottom-right-radius: 10px;
41
+ }
27
42
 
28
- .editor-shell .editor-container.tree-view {
29
- border-radius: 0;
30
- }
43
+ .editor-shell .editor-container.tree-view {
44
+ border-radius: 0;
45
+ }
31
46
 
32
- .editor-shell .editor-container.plain-text {
33
- border-top-left-radius: 10px;
34
- border-top-right-radius: 10px;
35
- }
47
+ .editor-shell .editor-container.plain-text {
48
+ border-top-left-radius: 10px;
49
+ border-top-right-radius: 10px;
50
+ }
36
51
 
37
- .editor-scroller {
38
- border: 0;
39
- display: flex;
40
- position: relative;
41
- outline: 0;
42
- z-index: 0;
43
- overflow: auto;
44
- resize: vertical;
45
- }
52
+ .editor-scroller {
53
+ border: 0;
54
+ display: flex;
55
+ position: relative;
56
+ outline: 0;
57
+ z-index: 0;
58
+ overflow: auto;
59
+ resize: vertical;
60
+ }
46
61
 
47
- .editor {
48
- flex: auto;
49
- position: relative;
50
- max-width: 100%;
51
- /* Flex item default min-width:auto would let a wide (white-space:pre) code
62
+ .editor {
63
+ flex: auto;
64
+ position: relative;
65
+ max-width: 100%;
66
+ /* Flex item default min-width:auto would let a wide (white-space:pre) code
52
67
  * block grow this wrapper to its content width and scroll the whole editor.
53
68
  * min-width:0 keeps the wrapper at the container width so the code block's
54
69
  * own overflow-x scrolls internally and its sticky gutter stays pinned. */
55
- min-width: 0;
56
- resize: vertical;
57
- z-index: -1;
58
- }
59
-
60
- .test-recorder-output {
61
- margin: 20px auto 20px auto;
62
- width: 100%;
63
- }
64
-
65
- .editor-shell pre {
66
- line-height: 1.1;
67
- background: #222;
68
- color: #fff;
69
- margin: 0;
70
- padding: 10px;
71
- font-size: 12px;
72
- overflow: auto;
73
- max-height: 400px;
74
- }
75
-
76
- .tree-view-output {
77
- display: block;
78
- background: #222;
79
- color: #fff;
80
- padding: 0;
81
- font-size: 12px;
82
- margin: 1px auto 10px auto;
83
- position: relative;
84
- overflow: hidden;
85
- border-bottom-left-radius: 10px;
86
- border-bottom-right-radius: 10px;
87
- }
88
-
89
- .editor-shell pre::-webkit-scrollbar {
90
- background: transparent;
91
- width: 10px;
92
- }
93
-
94
- .editor-shell pre::-webkit-scrollbar-thumb {
95
- background: #999;
96
- }
97
-
98
- .editor-dev-button {
99
- position: relative;
100
- display: block;
101
- width: 40px;
102
- height: 40px;
103
- font-size: 12px;
104
- border-radius: 20px;
105
- border: none;
106
- cursor: pointer;
107
- outline: none;
108
- box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.3);
109
- background-color: #444;
110
- }
111
-
112
- .editor-dev-button::after {
113
- content: "";
114
- position: absolute;
115
- top: 10px;
116
- right: 10px;
117
- bottom: 10px;
118
- left: 10px;
119
- display: block;
120
- background-size: contain;
121
- filter: invert(1);
122
- }
123
-
124
- .editor-dev-button:hover {
125
- background-color: #555;
126
- }
127
-
128
- .editor-dev-button.active {
129
- background-color: rgb(233, 35, 35);
130
- }
131
-
132
- .test-recorder-toolbar {
133
- display: flex;
134
- }
70
+ min-width: 0;
71
+ resize: vertical;
72
+ z-index: -1;
73
+ }
135
74
 
136
- .test-recorder-button {
137
- position: relative;
138
- display: block;
139
- width: 32px;
140
- height: 32px;
141
- font-size: 10px;
142
- padding: 6px 6px;
143
- border-radius: 4px;
144
- border: none;
145
- cursor: pointer;
146
- outline: none;
147
- box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
148
- background-color: #222;
149
- transition: box-shadow 50ms ease-out;
150
- }
75
+ .test-recorder-output {
76
+ margin: 20px auto 20px auto;
77
+ width: 100%;
78
+ }
151
79
 
152
- .test-recorder-button:active {
153
- box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
154
- }
80
+ .editor-shell pre {
81
+ line-height: 1.1;
82
+ background: #222;
83
+ color: #fff;
84
+ margin: 0;
85
+ padding: 10px;
86
+ font-size: 12px;
87
+ overflow: auto;
88
+ max-height: 400px;
89
+ }
155
90
 
156
- .test-recorder-button + .test-recorder-button {
157
- margin-left: 4px;
158
- }
91
+ .tree-view-output {
92
+ display: block;
93
+ background: #222;
94
+ color: #fff;
95
+ padding: 0;
96
+ font-size: 12px;
97
+ margin: 1px auto 10px auto;
98
+ position: relative;
99
+ overflow: hidden;
100
+ border-bottom-left-radius: 10px;
101
+ border-bottom-right-radius: 10px;
102
+ }
159
103
 
160
- .test-recorder-button::after {
161
- content: "";
162
- position: absolute;
163
- top: 8px;
164
- right: 8px;
165
- bottom: 8px;
166
- left: 8px;
167
- display: block;
168
- background-size: contain;
169
- filter: invert(1);
170
- }
104
+ .editor-shell pre::-webkit-scrollbar {
105
+ background: transparent;
106
+ width: 10px;
107
+ }
171
108
 
172
- #options-button {
173
- position: fixed;
174
- left: 100px;
175
- bottom: 20px;
176
- }
109
+ .editor-shell pre::-webkit-scrollbar-thumb {
110
+ background: #999;
111
+ }
177
112
 
178
- #test-recorder-button {
179
- position: fixed;
180
- left: 150px;
181
- bottom: 20px;
182
- }
113
+ .editor-dev-button {
114
+ position: relative;
115
+ display: block;
116
+ width: 40px;
117
+ height: 40px;
118
+ font-size: 12px;
119
+ border-radius: 20px;
120
+ border: none;
121
+ cursor: pointer;
122
+ outline: none;
123
+ box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.3);
124
+ background-color: #444;
125
+ }
183
126
 
184
- #paste-log-button {
185
- position: fixed;
186
- left: 200px;
187
- bottom: 20px;
188
- }
127
+ .editor-dev-button::after {
128
+ content: "";
129
+ position: absolute;
130
+ top: 10px;
131
+ right: 10px;
132
+ bottom: 10px;
133
+ left: 10px;
134
+ display: block;
135
+ background-size: contain;
136
+ filter: invert(1);
137
+ }
189
138
 
190
- #options-button::after {
191
- background-image: url(images/icons/gear.svg);
192
- }
139
+ .editor-dev-button:hover {
140
+ background-color: #555;
141
+ }
193
142
 
194
- #test-recorder-button::after {
195
- background-image: url(images/icons/journal-code.svg);
196
- }
143
+ .editor-dev-button.active {
144
+ background-color: rgb(233, 35, 35);
145
+ }
197
146
 
198
- #paste-log-button::after {
199
- background-image: url(images/icons/clipboard.svg);
200
- }
147
+ .test-recorder-toolbar {
148
+ display: flex;
149
+ }
201
150
 
202
- #test-recorder-button-snapshot {
203
- margin-right: auto;
204
- }
151
+ .test-recorder-button {
152
+ position: relative;
153
+ display: block;
154
+ width: 32px;
155
+ height: 32px;
156
+ font-size: 10px;
157
+ padding: 6px 6px;
158
+ border-radius: 4px;
159
+ border: none;
160
+ cursor: pointer;
161
+ outline: none;
162
+ box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
163
+ background-color: #222;
164
+ transition: box-shadow 50ms ease-out;
165
+ }
205
166
 
206
- #test-recorder-button-snapshot::after {
207
- background-image: url(images/icons/camera.svg);
208
- }
167
+ .test-recorder-button:active {
168
+ box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
169
+ }
209
170
 
210
- #test-recorder-button-copy::after {
211
- background-image: url(images/icons/clipboard.svg);
212
- }
171
+ .test-recorder-button + .test-recorder-button {
172
+ margin-left: 4px;
173
+ }
213
174
 
214
- #test-recorder-button-download::after {
215
- background-image: url(images/icons/download.svg);
216
- }
175
+ .test-recorder-button::after {
176
+ content: "";
177
+ position: absolute;
178
+ top: 8px;
179
+ right: 8px;
180
+ bottom: 8px;
181
+ left: 8px;
182
+ display: block;
183
+ background-size: contain;
184
+ filter: invert(1);
185
+ }
217
186
 
218
- .typeahead-popover {
219
- background: #fff;
220
- box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
221
- border-radius: 4px;
222
- margin-top: 25px;
223
- }
187
+ #options-button {
188
+ position: fixed;
189
+ left: 100px;
190
+ bottom: 20px;
191
+ }
224
192
 
225
- .typeahead-popover ul {
226
- padding: 0;
227
- list-style: none;
228
- margin: 0;
229
- border-radius: 4px;
230
- max-height: 200px;
231
- overflow-y: scroll;
232
- }
193
+ #test-recorder-button {
194
+ position: fixed;
195
+ left: 150px;
196
+ bottom: 20px;
197
+ }
233
198
 
234
- .typeahead-popover ul::-webkit-scrollbar {
235
- display: none;
236
- }
199
+ #paste-log-button {
200
+ position: fixed;
201
+ left: 200px;
202
+ bottom: 20px;
203
+ }
237
204
 
238
- .typeahead-popover ul {
239
- -ms-overflow-style: none;
240
- scrollbar-width: none;
241
- }
205
+ #options-button::after {
206
+ background-image: url(images/icons/gear.svg);
207
+ }
242
208
 
243
- .typeahead-popover ul li {
244
- margin: 0;
245
- min-width: 180px;
246
- font-size: 14px;
247
- outline: none;
248
- cursor: pointer;
249
- border-radius: 4px;
250
- }
209
+ #test-recorder-button::after {
210
+ background-image: url(images/icons/journal-code.svg);
211
+ }
251
212
 
252
- .typeahead-popover ul li.selected {
253
- background: #eee;
254
- }
213
+ #paste-log-button::after {
214
+ background-image: url(images/icons/clipboard.svg);
215
+ }
255
216
 
256
- .typeahead-popover li {
257
- margin: 0 8px 0 8px;
258
- padding: 8px;
259
- color: #050505;
260
- cursor: pointer;
261
- line-height: 16px;
262
- font-size: 15px;
263
- display: flex;
264
- align-content: center;
265
- flex-direction: row;
266
- flex-shrink: 0;
267
- background-color: #fff;
268
- border-radius: 4px;
269
- border: 0;
270
- }
217
+ #test-recorder-button-snapshot {
218
+ margin-right: auto;
219
+ }
271
220
 
272
- .typeahead-popover li.active {
273
- display: flex;
274
- width: 20px;
275
- height: 20px;
276
- background-size: contain;
277
- }
221
+ #test-recorder-button-snapshot::after {
222
+ background-image: url(images/icons/camera.svg);
223
+ }
278
224
 
279
- .typeahead-popover li:first-child {
280
- border-radius: 8px 8px 0px 0px;
281
- }
225
+ #test-recorder-button-copy::after {
226
+ background-image: url(images/icons/clipboard.svg);
227
+ }
282
228
 
283
- .typeahead-popover li:last-child {
284
- border-radius: 0px 0px 8px 8px;
285
- }
229
+ #test-recorder-button-download::after {
230
+ background-image: url(images/icons/download.svg);
231
+ }
286
232
 
287
- .typeahead-popover li:hover {
288
- background-color: #eee;
289
- }
233
+ .typeahead-popover {
234
+ background: #fff;
235
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
236
+ border-radius: 4px;
237
+ margin-top: 25px;
238
+ }
290
239
 
291
- .typeahead-popover li .text {
292
- display: flex;
293
- line-height: 20px;
294
- flex-grow: 1;
295
- min-width: 150px;
296
- }
240
+ .typeahead-popover ul {
241
+ padding: 0;
242
+ list-style: none;
243
+ margin: 0;
244
+ border-radius: 4px;
245
+ max-height: 200px;
246
+ overflow-y: scroll;
247
+ }
297
248
 
298
- .typeahead-popover li .icon {
299
- display: flex;
300
- width: 20px;
301
- height: 20px;
302
- user-select: none;
303
- margin-right: 8px;
304
- line-height: 16px;
305
- background-size: contain;
306
- background-repeat: no-repeat;
307
- background-position: center;
308
- }
249
+ .typeahead-popover ul::-webkit-scrollbar {
250
+ display: none;
251
+ }
309
252
 
310
- .component-picker-menu {
311
- width: 200px;
312
- }
253
+ .typeahead-popover ul {
254
+ -ms-overflow-style: none;
255
+ scrollbar-width: none;
256
+ }
313
257
 
314
- .auto-embed-menu {
315
- width: 150px;
316
- }
258
+ .typeahead-popover ul li {
259
+ margin: 0;
260
+ min-width: 180px;
261
+ font-size: 14px;
262
+ outline: none;
263
+ cursor: pointer;
264
+ border-radius: 4px;
265
+ }
317
266
 
318
- i.palette {
319
- background-image: url(images/icons/palette.svg);
320
- }
267
+ .typeahead-popover ul li.selected {
268
+ background: #eee;
269
+ }
321
270
 
322
- i.bucket {
323
- background-image: url(images/icons/paint-bucket.svg);
324
- }
271
+ .typeahead-popover li {
272
+ margin: 0 8px 0 8px;
273
+ padding: 8px;
274
+ color: #050505;
275
+ cursor: pointer;
276
+ line-height: 16px;
277
+ font-size: 15px;
278
+ display: flex;
279
+ align-content: center;
280
+ flex-direction: row;
281
+ flex-shrink: 0;
282
+ background-color: #fff;
283
+ border-radius: 4px;
284
+ border: 0;
285
+ }
325
286
 
326
- i.bold {
327
- background-image: url(images/icons/type-bold.svg);
328
- }
287
+ .typeahead-popover li.active {
288
+ display: flex;
289
+ width: 20px;
290
+ height: 20px;
291
+ background-size: contain;
292
+ }
329
293
 
330
- i.italic {
331
- background-image: url(images/icons/type-italic.svg);
332
- }
294
+ .typeahead-popover li:first-child {
295
+ border-radius: 8px 8px 0px 0px;
296
+ }
333
297
 
334
- i.clear {
335
- background-image: url(images/icons/trash.svg);
336
- }
298
+ .typeahead-popover li:last-child {
299
+ border-radius: 0px 0px 8px 8px;
300
+ }
337
301
 
338
- i.code {
339
- background-image: url(images/icons/code.svg);
340
- }
302
+ .typeahead-popover li:hover {
303
+ background-color: #eee;
304
+ }
341
305
 
342
- i.ai {
343
- background-image: url(images/icons/ai.svg);
344
- }
306
+ .typeahead-popover li .text {
307
+ display: flex;
308
+ line-height: 20px;
309
+ flex-grow: 1;
310
+ min-width: 150px;
311
+ }
345
312
 
346
- i.underline {
347
- background-image: url(images/icons/type-underline.svg);
348
- }
313
+ .typeahead-popover li .icon {
314
+ display: flex;
315
+ width: 20px;
316
+ height: 20px;
317
+ user-select: none;
318
+ margin-right: 8px;
319
+ line-height: 16px;
320
+ background-size: contain;
321
+ background-repeat: no-repeat;
322
+ background-position: center;
323
+ }
349
324
 
350
- i.strikethrough {
351
- background-image: url(images/icons/type-strikethrough.svg);
352
- }
325
+ .component-picker-menu {
326
+ width: 200px;
327
+ }
353
328
 
354
- i.subscript {
355
- background-image: url(images/icons/type-subscript.svg);
356
- }
329
+ .auto-embed-menu {
330
+ width: 150px;
331
+ }
357
332
 
358
- i.superscript {
359
- background-image: url(images/icons/type-superscript.svg);
360
- }
333
+ i.palette {
334
+ background-image: url(images/icons/palette.svg);
335
+ }
361
336
 
362
- i.link {
363
- background-image: url(images/icons/link.svg);
364
- }
337
+ i.bucket {
338
+ background-image: url(images/icons/paint-bucket.svg);
339
+ }
365
340
 
366
- i.columns {
367
- background-image: url(images/icons/3-columns.svg);
368
- }
341
+ i.bold {
342
+ background-image: url(images/icons/type-bold.svg);
343
+ }
369
344
 
370
- .icon.plus {
371
- background-image: url(images/icons/plus.svg);
372
- }
345
+ i.italic {
346
+ background-image: url(images/icons/type-italic.svg);
347
+ }
373
348
 
374
- .icon.caret-right {
375
- background-image: url(images/icons/caret-right-fill.svg);
376
- }
349
+ i.clear {
350
+ background-image: url(images/icons/trash.svg);
351
+ }
377
352
 
378
- .icon.dropdown-more {
379
- background-image: url(images/icons/dropdown-more.svg);
380
- }
353
+ i.code {
354
+ background-image: url(images/icons/code.svg);
355
+ }
381
356
 
382
- .icon.font-color {
383
- background-image: url(images/icons/font-color.svg);
384
- }
357
+ i.ai {
358
+ background-image: url(images/icons/ai.svg);
359
+ }
385
360
 
386
- .icon.font-family {
387
- background-image: url(images/icons/font-family.svg);
388
- }
361
+ i.underline {
362
+ background-image: url(images/icons/type-underline.svg);
363
+ }
389
364
 
390
- .icon.bg-color {
391
- background-image: url(images/icons/bg-color.svg);
392
- }
365
+ i.strikethrough {
366
+ background-image: url(images/icons/type-strikethrough.svg);
367
+ }
393
368
 
394
- .icon.table {
395
- background-color: #6c757d;
396
- mask-image: url(images/icons/table.svg);
397
- -webkit-mask-image: url(images/icons/table.svg);
398
- mask-repeat: no-repeat;
399
- -webkit-mask-repeat: no-repeat;
400
- mask-size: contain;
401
- -webkit-mask-size: contain;
402
- }
369
+ i.subscript {
370
+ background-image: url(images/icons/type-subscript.svg);
371
+ }
403
372
 
404
- i.horizontal-rule {
405
- background-image: url(images/icons/horizontal-rule.svg);
406
- }
373
+ i.superscript {
374
+ background-image: url(images/icons/type-superscript.svg);
375
+ }
407
376
 
408
- i.image {
409
- background-image: url(images/icons/file-image.svg);
410
- }
377
+ i.link {
378
+ background-image: url(images/icons/link.svg);
379
+ }
411
380
 
412
- i.admonition {
413
- background-image: url(images/icons/admonition.svg);
414
- }
381
+ i.columns {
382
+ background-image: url(images/icons/3-columns.svg);
383
+ }
415
384
 
416
- i.youtube {
417
- background-image: url(images/icons/youtube.svg);
418
- }
385
+ .icon.plus {
386
+ background-image: url(images/icons/plus.svg);
387
+ }
419
388
 
420
- i.vimeo {
421
- background-image: url(images/icons/vimeo.svg);
422
- }
389
+ .icon.caret-right {
390
+ background-image: url(images/icons/caret-right-fill.svg);
391
+ }
423
392
 
424
- i.table {
425
- background-image: url(images/icons/table.svg);
426
- margin-bottom: unset;
427
- overflow: unset;
428
- max-width: unset;
429
- }
393
+ .icon.dropdown-more {
394
+ background-image: url(images/icons/dropdown-more.svg);
395
+ }
430
396
 
431
- i.close {
432
- background-image: url(images/icons/close.svg);
433
- }
397
+ .icon.font-color {
398
+ background-image: url(images/icons/font-color.svg);
399
+ }
434
400
 
435
- .icon.left-align,
436
- i.left-align {
437
- background-image: url(images/icons/text-left.svg);
438
- }
401
+ .icon.font-family {
402
+ background-image: url(images/icons/font-family.svg);
403
+ }
439
404
 
440
- i.center-align {
441
- background-image: url(images/icons/text-center.svg);
442
- }
405
+ .icon.bg-color {
406
+ background-image: url(images/icons/bg-color.svg);
407
+ }
443
408
 
444
- i.right-align {
445
- background-image: url(images/icons/text-right.svg);
446
- }
409
+ .icon.table {
410
+ background-color: #6c757d;
411
+ mask-image: url(images/icons/table.svg);
412
+ -webkit-mask-image: url(images/icons/table.svg);
413
+ mask-repeat: no-repeat;
414
+ -webkit-mask-repeat: no-repeat;
415
+ mask-size: contain;
416
+ -webkit-mask-size: contain;
417
+ }
447
418
 
448
- i.justify-align {
449
- background-image: url(images/icons/justify.svg);
450
- }
419
+ i.horizontal-rule {
420
+ background-image: url(images/icons/horizontal-rule.svg);
421
+ }
451
422
 
452
- i.indent {
453
- background-image: url(images/icons/indent.svg);
454
- }
423
+ i.image {
424
+ background-image: url(images/icons/file-image.svg);
425
+ }
455
426
 
456
- i.markdown {
457
- background-image: url(images/icons/markdown.svg);
458
- }
427
+ i.admonition {
428
+ background-image: url(images/icons/admonition.svg);
429
+ }
459
430
 
460
- i.outdent {
461
- background-image: url(images/icons/outdent.svg);
462
- }
431
+ i.youtube {
432
+ background-image: url(images/icons/youtube.svg);
433
+ }
463
434
 
464
- i.undo {
465
- background-image: url(images/icons/arrow-counterclockwise.svg);
466
- }
435
+ i.vimeo {
436
+ background-image: url(images/icons/vimeo.svg);
437
+ }
467
438
 
468
- i.redo {
469
- background-image: url(images/icons/arrow-clockwise.svg);
470
- }
439
+ i.table {
440
+ background-image: url(images/icons/table.svg);
441
+ margin-bottom: unset;
442
+ overflow: unset;
443
+ max-width: unset;
444
+ }
471
445
 
472
- i.mic {
473
- background-image: url(images/icons/mic.svg);
474
- }
446
+ i.close {
447
+ background-image: url(images/icons/close.svg);
448
+ }
475
449
 
476
- i.import {
477
- background-image: url(images/icons/upload.svg);
478
- }
450
+ .icon.left-align,
451
+ i.left-align {
452
+ background-image: url(images/icons/text-left.svg);
453
+ }
479
454
 
480
- i.export {
481
- background-image: url(images/icons/download.svg);
482
- }
455
+ i.center-align {
456
+ background-image: url(images/icons/text-center.svg);
457
+ }
483
458
 
484
- i.diagram-2 {
485
- background-image: url(images/icons/diagram-2.svg);
486
- }
459
+ i.right-align {
460
+ background-image: url(images/icons/text-right.svg);
461
+ }
487
462
 
488
- i.user {
489
- background-image: url(images/icons/user.svg);
490
- }
463
+ i.justify-align {
464
+ background-image: url(images/icons/justify.svg);
465
+ }
491
466
 
492
- i.gif {
493
- background-image: url(images/icons/filetype-gif.svg);
494
- }
467
+ i.indent {
468
+ background-image: url(images/icons/indent.svg);
469
+ }
495
470
 
496
- i.copy {
497
- background-image: url(images/icons/copy.svg);
498
- }
471
+ i.markdown {
472
+ background-image: url(images/icons/markdown.svg);
473
+ }
499
474
 
500
- i.success {
501
- background-image: url(images/icons/success.svg);
502
- }
475
+ i.outdent {
476
+ background-image: url(images/icons/outdent.svg);
477
+ }
503
478
 
504
- i.prettier {
505
- background-image: url(images/icons/prettier.svg);
506
- }
479
+ i.undo {
480
+ background-image: url(images/icons/arrow-counterclockwise.svg);
481
+ }
507
482
 
508
- i.prettier-error {
509
- background-image: url(images/icons/prettier-error.svg);
510
- }
483
+ i.redo {
484
+ background-image: url(images/icons/arrow-clockwise.svg);
485
+ }
511
486
 
512
- #block-controls {
513
- display: block;
514
- position: absolute;
515
- right: 10px;
516
- width: 32px;
517
- height: 32px;
518
- box-sizing: border-box;
519
- box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
520
- top: 16px;
521
- z-index: 9;
522
- border-radius: 4px;
523
- border: 1px solid rgb(206, 208, 212);
524
- overflow: hidden;
525
- }
487
+ i.mic {
488
+ background-image: url(images/icons/mic.svg);
489
+ }
526
490
 
527
- #block-controls button {
528
- border: 1px solid white;
529
- background-color: #fff;
530
- display: block;
531
- transition: background-color 0.1s ease;
532
- cursor: pointer;
533
- outline: none;
534
- border-radius: 4px;
535
- padding: 3px;
536
- }
491
+ i.import {
492
+ background-image: url(images/icons/upload.svg);
493
+ }
537
494
 
538
- #block-controls button:hover {
539
- background-color: #efefef;
540
- }
495
+ i.export {
496
+ background-image: url(images/icons/download.svg);
497
+ }
541
498
 
542
- #block-controls button:focus-visible {
543
- border-color: blue;
544
- }
499
+ i.diagram-2 {
500
+ background-image: url(images/icons/diagram-2.svg);
501
+ }
545
502
 
546
- #block-controls span.block-type {
547
- background-size: contain;
548
- display: block;
549
- width: 18px;
550
- height: 18px;
551
- margin: 2px;
552
- }
503
+ i.user {
504
+ background-image: url(images/icons/user.svg);
505
+ }
553
506
 
554
- #block-controls span.block-type.paragraph {
555
- background-image: url(images/icons/text-paragraph.svg);
556
- }
507
+ i.gif {
508
+ background-image: url(images/icons/filetype-gif.svg);
509
+ }
557
510
 
558
- #block-controls span.block-type.h1 {
559
- background-image: url(images/icons/type-h1.svg);
560
- }
511
+ i.copy {
512
+ background-image: url(images/icons/copy.svg);
513
+ }
561
514
 
562
- #block-controls span.block-type.h2 {
563
- background-image: url(images/icons/type-h2.svg);
564
- }
515
+ i.success {
516
+ background-image: url(images/icons/success.svg);
517
+ }
565
518
 
566
- #block-controls span.block-type.quote {
567
- background-image: url(images/icons/chat-square-quote.svg);
568
- }
519
+ i.prettier {
520
+ background-image: url(images/icons/prettier.svg);
521
+ }
569
522
 
570
- #block-controls span.block-type.ul {
571
- background-image: url(images/icons/list-ul.svg);
572
- }
523
+ i.prettier-error {
524
+ background-image: url(images/icons/prettier-error.svg);
525
+ }
573
526
 
574
- #block-controls span.block-type.ol {
575
- background-image: url(images/icons/list-ol.svg);
576
- }
527
+ #block-controls {
528
+ display: block;
529
+ position: absolute;
530
+ right: 10px;
531
+ width: 32px;
532
+ height: 32px;
533
+ box-sizing: border-box;
534
+ box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
535
+ top: 16px;
536
+ z-index: 9;
537
+ border-radius: 4px;
538
+ border: 1px solid rgb(206, 208, 212);
539
+ overflow: hidden;
540
+ }
577
541
 
578
- #block-controls span.block-type.code {
579
- background-image: url(images/icons/code.svg);
580
- }
542
+ #block-controls button {
543
+ border: 1px solid white;
544
+ background-color: #fff;
545
+ display: block;
546
+ transition: background-color 0.1s ease;
547
+ cursor: pointer;
548
+ outline: none;
549
+ border-radius: 4px;
550
+ padding: 3px;
551
+ }
581
552
 
582
- .characters-limit {
583
- color: #888;
584
- font-size: 12px;
585
- text-align: right;
586
- display: block;
587
- position: absolute;
588
- left: 12px;
589
- bottom: 5px;
590
- }
553
+ #block-controls button:hover {
554
+ background-color: #efefef;
555
+ }
591
556
 
592
- .characters-limit.characters-limit-exceeded {
593
- color: red;
594
- }
557
+ #block-controls button:focus-visible {
558
+ border-color: blue;
559
+ }
595
560
 
596
- .dropdown {
597
- z-index: 100;
598
- display: block;
599
- position: fixed;
600
- box-shadow:
601
- 0 12px 28px 0 rgba(0, 0, 0, 0.2),
602
- 0 2px 4px 0 rgba(0, 0, 0, 0.1),
603
- inset 0 0 0 1px rgba(255, 255, 255, 0.5);
604
- border-radius: 4px;
605
- min-height: 40px;
606
- background-color: #fff;
607
- }
561
+ #block-controls span.block-type {
562
+ background-size: contain;
563
+ display: block;
564
+ width: 18px;
565
+ height: 18px;
566
+ margin: 2px;
567
+ }
608
568
 
609
- .dropdown .item {
610
- margin: 0 8px 0 8px;
611
- padding: 8px;
612
- color: #050505;
613
- cursor: pointer;
614
- line-height: 16px;
615
- font-size: 15px;
616
- display: flex;
617
- align-content: center;
618
- flex-direction: row;
619
- flex-shrink: 0;
620
- justify-content: space-between;
621
- background-color: #fff;
622
- border-radius: 4px;
623
- border: 0;
624
- max-width: 250px;
625
- min-width: 100px;
626
- }
569
+ #block-controls span.block-type.paragraph {
570
+ background-image: url(images/icons/text-paragraph.svg);
571
+ }
627
572
 
628
- .dropdown .item.fontsize-item,
629
- .dropdown .item.fontsize-item .text {
630
- min-width: unset;
631
- }
573
+ #block-controls span.block-type.h1 {
574
+ background-image: url(images/icons/type-h1.svg);
575
+ }
632
576
 
633
- .dropdown .item .active {
634
- display: flex;
635
- width: 20px;
636
- height: 20px;
637
- background-size: contain;
638
- }
577
+ #block-controls span.block-type.h2 {
578
+ background-image: url(images/icons/type-h2.svg);
579
+ }
639
580
 
640
- .dropdown .item:first-child {
641
- margin-top: 8px;
642
- }
581
+ #block-controls span.block-type.quote {
582
+ background-image: url(images/icons/chat-square-quote.svg);
583
+ }
643
584
 
644
- .dropdown .item:last-child {
645
- margin-bottom: 8px;
646
- }
585
+ #block-controls span.block-type.ul {
586
+ background-image: url(images/icons/list-ul.svg);
587
+ }
647
588
 
648
- .dropdown .item:hover {
649
- background-color: #eee;
650
- }
589
+ #block-controls span.block-type.ol {
590
+ background-image: url(images/icons/list-ol.svg);
591
+ }
651
592
 
652
- .dropdown .item .text {
653
- display: flex;
654
- line-height: 20px;
655
- flex-grow: 1;
656
- min-width: 150px;
657
- }
593
+ #block-controls span.block-type.code {
594
+ background-image: url(images/icons/code.svg);
595
+ }
658
596
 
659
- .dropdown .item .icon {
660
- display: flex;
661
- width: 20px;
662
- height: 20px;
663
- user-select: none;
664
- margin-right: 12px;
665
- line-height: 16px;
666
- background-size: contain;
667
- background-position: center;
668
- background-repeat: no-repeat;
669
- }
597
+ .characters-limit {
598
+ color: #888;
599
+ font-size: 12px;
600
+ text-align: right;
601
+ display: block;
602
+ position: absolute;
603
+ left: 12px;
604
+ bottom: 5px;
605
+ }
670
606
 
671
- .dropdown .divider {
672
- width: auto;
673
- background-color: var(--border-color);
674
- margin: 4px 8px;
675
- height: 1px;
676
- }
607
+ .characters-limit.characters-limit-exceeded {
608
+ color: red;
609
+ }
677
610
 
678
- @media screen and (max-width: 1100px) {
679
- .dropdown-button-text {
680
- display: none;
611
+ .dropdown {
612
+ z-index: 100;
613
+ display: block;
614
+ position: fixed;
615
+ box-shadow:
616
+ 0 12px 28px 0 rgba(0, 0, 0, 0.2),
617
+ 0 2px 4px 0 rgba(0, 0, 0, 0.1),
618
+ inset 0 0 0 1px rgba(255, 255, 255, 0.5);
619
+ border-radius: 4px;
620
+ min-height: 40px;
621
+ background-color: #fff;
681
622
  }
682
623
 
683
- .dialog-dropdown > .dropdown-button-text {
624
+ .dropdown .item {
625
+ margin: 0 8px 0 8px;
626
+ padding: 8px;
627
+ color: #050505;
628
+ cursor: pointer;
629
+ line-height: 16px;
630
+ font-size: 15px;
684
631
  display: flex;
632
+ align-content: center;
633
+ flex-direction: row;
634
+ flex-shrink: 0;
635
+ justify-content: space-between;
636
+ background-color: #fff;
637
+ border-radius: 4px;
638
+ border: 0;
639
+ max-width: 250px;
640
+ min-width: 100px;
685
641
  }
686
642
 
687
- .font-size .dropdown-button-text {
688
- display: flex;
643
+ .dropdown .item.fontsize-item,
644
+ .dropdown .item.fontsize-item .text {
645
+ min-width: unset;
689
646
  }
690
647
 
691
- .code-language .dropdown-button-text {
648
+ .dropdown .item .active {
692
649
  display: flex;
650
+ width: 20px;
651
+ height: 20px;
652
+ background-size: contain;
693
653
  }
694
- }
695
-
696
- .icon.paragraph {
697
- background-image: url(images/icons/text-paragraph.svg);
698
- }
699
-
700
- .icon.h1 {
701
- background-image: url(images/icons/type-h1.svg);
702
- }
703
-
704
- .icon.h2 {
705
- background-image: url(images/icons/type-h2.svg);
706
- }
707
-
708
- .icon.h3 {
709
- background-image: url(images/icons/type-h3.svg);
710
- }
711
654
 
712
- .icon.h4 {
713
- background-image: url(images/icons/type-h4.svg);
714
- }
715
-
716
- .icon.h5 {
717
- background-image: url(images/icons/type-h5.svg);
718
- }
719
-
720
- .icon.h6 {
721
- background-image: url(images/icons/type-h6.svg);
722
- }
655
+ .dropdown .item:first-child {
656
+ margin-top: 8px;
657
+ }
723
658
 
724
- .icon.bullet-list,
725
- .icon.bullet {
726
- background-image: url(images/icons/list-ul.svg);
727
- }
659
+ .dropdown .item:last-child {
660
+ margin-bottom: 8px;
661
+ }
728
662
 
729
- .icon.check-list,
730
- .icon.check {
731
- background-image: url(images/icons/square-check.svg);
732
- }
663
+ .dropdown .item:hover {
664
+ background-color: #eee;
665
+ }
733
666
 
734
- .icon.numbered-list,
735
- .icon.number {
736
- background-image: url(images/icons/list-ol.svg);
737
- }
667
+ .dropdown .item .text {
668
+ display: flex;
669
+ line-height: 20px;
670
+ flex-grow: 1;
671
+ min-width: 150px;
672
+ }
738
673
 
739
- .icon.quote {
740
- background-image: url(images/icons/chat-square-quote.svg);
741
- }
674
+ .dropdown .item .icon {
675
+ display: flex;
676
+ width: 20px;
677
+ height: 20px;
678
+ user-select: none;
679
+ margin-right: 12px;
680
+ line-height: 16px;
681
+ background-size: contain;
682
+ background-position: center;
683
+ background-repeat: no-repeat;
684
+ }
742
685
 
743
- .icon.admonition {
744
- background-image: url(images/icons/admonition.svg);
745
- }
686
+ .dropdown .divider {
687
+ width: auto;
688
+ background-color: var(--border-color);
689
+ margin: 4px 8px;
690
+ height: 1px;
691
+ }
746
692
 
747
- .icon.youtube {
748
- background-image: url(images/icons/youtube.svg);
749
- }
693
+ @media screen and (max-width: 1100px) {
694
+ .dropdown-button-text {
695
+ display: none;
696
+ }
750
697
 
751
- .icon.vimeo {
752
- background-image: url(images/icons/vimeo.svg);
753
- }
698
+ .dialog-dropdown > .dropdown-button-text {
699
+ display: flex;
700
+ }
754
701
 
755
- .icon.code {
756
- background-image: url(images/icons/code.svg);
757
- }
702
+ .font-size .dropdown-button-text {
703
+ display: flex;
704
+ }
758
705
 
759
- .switches {
760
- background: #ffffff;
761
- border: 2px solid #cccccc;
762
- border-radius: 15px;
763
- z-index: 6;
764
- position: fixed;
765
- left: 10px;
766
- bottom: 70px;
767
- animation: slide-in 0.4s ease;
768
- }
706
+ .code-language .dropdown-button-text {
707
+ display: flex;
708
+ }
709
+ }
769
710
 
770
- @keyframes slide-in {
771
- 0% {
772
- opacity: 0;
773
- transform: translateX(-200px);
711
+ .icon.paragraph {
712
+ background-image: url(images/icons/text-paragraph.svg);
774
713
  }
775
714
 
776
- 100% {
777
- opacity: 1;
778
- transform: translateX(0);
715
+ .icon.h1 {
716
+ background-image: url(images/icons/type-h1.svg);
779
717
  }
780
- }
781
718
 
782
- .switch {
783
- display: block;
784
- color: #444;
785
- margin: 5px 0;
786
- background-color: rgba(238, 238, 238, 0.7);
787
- padding: 5px 10px;
788
- border-radius: 10px;
789
- }
719
+ .icon.h2 {
720
+ background-image: url(images/icons/type-h2.svg);
721
+ }
790
722
 
791
- #rich-text-switch {
792
- right: 0;
793
- }
723
+ .icon.h3 {
724
+ background-image: url(images/icons/type-h3.svg);
725
+ }
794
726
 
795
- #character-count-switch {
796
- right: 130px;
797
- }
727
+ .icon.h4 {
728
+ background-image: url(images/icons/type-h4.svg);
729
+ }
798
730
 
799
- .switch label {
800
- margin-right: 5px;
801
- line-height: 24px;
802
- width: 100px;
803
- font-size: 14px;
804
- display: inline-block;
805
- vertical-align: middle;
806
- }
731
+ .icon.h5 {
732
+ background-image: url(images/icons/type-h5.svg);
733
+ }
807
734
 
808
- .switch button {
809
- background-color: rgb(206, 208, 212);
810
- height: 24px;
811
- box-sizing: border-box;
812
- border-radius: 12px;
813
- width: 44px;
814
- display: inline-block;
815
- vertical-align: middle;
816
- position: relative;
817
- outline: none;
818
- cursor: pointer;
819
- transition: background-color 0.1s;
820
- border: 2px solid transparent;
821
- }
735
+ .icon.h6 {
736
+ background-image: url(images/icons/type-h6.svg);
737
+ }
822
738
 
823
- .switch button:focus-visible {
824
- border-color: blue;
825
- }
739
+ .icon.bullet-list,
740
+ .icon.bullet {
741
+ background-image: url(images/icons/list-ul.svg);
742
+ }
826
743
 
827
- .switch button span {
828
- top: 0px;
829
- left: 0px;
830
- display: block;
831
- position: absolute;
832
- width: 20px;
833
- height: 20px;
834
- border-radius: 12px;
835
- background-color: white;
836
- transition: transform 0.2s;
837
- }
744
+ .icon.check-list,
745
+ .icon.check {
746
+ background-image: url(images/icons/square-check.svg);
747
+ }
838
748
 
839
- .switch button[aria-checked="true"] {
840
- background-color: rgb(24, 119, 242);
841
- }
749
+ .icon.numbered-list,
750
+ .icon.number {
751
+ background-image: url(images/icons/list-ol.svg);
752
+ }
842
753
 
843
- .switch button[aria-checked="true"] span {
844
- transform: translateX(20px);
845
- }
754
+ .icon.quote {
755
+ background-image: url(images/icons/chat-square-quote.svg);
756
+ }
846
757
 
847
- .editor-shell span.editor-image {
848
- cursor: default;
849
- display: inline-block;
850
- position: relative;
851
- user-select: none;
852
- }
758
+ .icon.admonition {
759
+ background-image: url(images/icons/admonition.svg);
760
+ }
853
761
 
854
- .editor-shell .editor-image img {
855
- max-width: 100%;
856
- cursor: default;
857
- }
762
+ .icon.youtube {
763
+ background-image: url(images/icons/youtube.svg);
764
+ }
858
765
 
859
- .editor-shell .editor-image img.focused {
860
- outline: 2px solid rgb(60, 132, 244);
861
- user-select: none;
862
- }
766
+ .icon.vimeo {
767
+ background-image: url(images/icons/vimeo.svg);
768
+ }
863
769
 
864
- .editor-shell .editor-image img.focused.draggable {
865
- cursor: grab;
866
- }
770
+ .icon.code {
771
+ background-image: url(images/icons/code.svg);
772
+ }
867
773
 
868
- .editor-shell .editor-image img.focused.draggable:active {
869
- cursor: grabbing;
870
- }
774
+ .switches {
775
+ background: #ffffff;
776
+ border: 2px solid #cccccc;
777
+ border-radius: 15px;
778
+ z-index: 6;
779
+ position: fixed;
780
+ left: 10px;
781
+ bottom: 70px;
782
+ animation: slide-in 0.4s ease;
783
+ }
871
784
 
872
- .editor-shell .editor-image .image-caption-container .tree-view-output {
873
- margin: 0;
874
- border-radius: 0;
875
- }
785
+ @keyframes slide-in {
786
+ 0% {
787
+ opacity: 0;
788
+ transform: translateX(-200px);
789
+ }
876
790
 
877
- .editor-shell .editor-image .image-caption-container {
878
- min-height: 25px;
879
- display: block;
880
- position: relative;
881
- padding: 0;
882
- margin: 0;
883
- min-width: 100px;
884
- overflow: hidden;
885
- }
791
+ 100% {
792
+ opacity: 1;
793
+ transform: translateX(0);
794
+ }
795
+ }
886
796
 
887
- .editor-shell .editor-image .image-caption-button {
888
- display: block;
889
- position: absolute;
890
- bottom: 20px;
891
- left: 0;
892
- right: 0;
893
- width: 30%;
894
- padding: 10px;
895
- margin: 0 auto;
896
- border: 1px solid rgba(255, 255, 255, 0.3);
897
- border-radius: 5px;
898
- background-color: rgba(0, 0, 0, 0.5);
899
- min-width: 100px;
900
- color: #fff;
901
- cursor: pointer;
902
- user-select: none;
903
- }
797
+ .switch {
798
+ display: block;
799
+ color: #444;
800
+ margin: 5px 0;
801
+ background-color: rgba(238, 238, 238, 0.7);
802
+ padding: 5px 10px;
803
+ border-radius: 10px;
804
+ }
904
805
 
905
- .editor-shell .editor-image .image-caption-button:hover {
906
- background-color: rgba(60, 132, 244, 0.5);
907
- }
806
+ #rich-text-switch {
807
+ right: 0;
808
+ }
908
809
 
909
- .editor-shell .editor-image .image-resizer {
910
- display: block;
911
- width: 7px;
912
- height: 7px;
913
- position: absolute;
914
- background-color: rgb(60, 132, 244);
915
- border: 1px solid #fff;
916
- }
810
+ #character-count-switch {
811
+ right: 130px;
812
+ }
917
813
 
918
- .editor-shell .editor-image .image-resizer.image-resizer-n {
919
- top: -6px;
920
- left: 48%;
921
- cursor: n-resize;
922
- }
814
+ .switch label {
815
+ margin-right: 5px;
816
+ line-height: 24px;
817
+ width: 100px;
818
+ font-size: 14px;
819
+ display: inline-block;
820
+ vertical-align: middle;
821
+ }
923
822
 
924
- .editor-shell .editor-image .image-resizer.image-resizer-ne {
925
- top: -6px;
926
- right: -6px;
927
- cursor: ne-resize;
928
- }
823
+ .switch button {
824
+ background-color: rgb(206, 208, 212);
825
+ height: 24px;
826
+ box-sizing: border-box;
827
+ border-radius: 12px;
828
+ width: 44px;
829
+ display: inline-block;
830
+ vertical-align: middle;
831
+ position: relative;
832
+ outline: none;
833
+ cursor: pointer;
834
+ transition: background-color 0.1s;
835
+ border: 2px solid transparent;
836
+ }
929
837
 
930
- .editor-shell .editor-image .image-resizer.image-resizer-e {
931
- bottom: 48%;
932
- right: -6px;
933
- cursor: e-resize;
934
- }
838
+ .switch button:focus-visible {
839
+ border-color: blue;
840
+ }
935
841
 
936
- .editor-shell .editor-image .image-resizer.image-resizer-se {
937
- bottom: -2px;
938
- right: -6px;
939
- cursor: nwse-resize;
940
- }
842
+ .switch button span {
843
+ top: 0px;
844
+ left: 0px;
845
+ display: block;
846
+ position: absolute;
847
+ width: 20px;
848
+ height: 20px;
849
+ border-radius: 12px;
850
+ background-color: white;
851
+ transition: transform 0.2s;
852
+ }
941
853
 
942
- .editor-shell .editor-image .image-resizer.image-resizer-s {
943
- bottom: -2px;
944
- left: 48%;
945
- cursor: s-resize;
946
- }
854
+ .switch button[aria-checked="true"] {
855
+ background-color: rgb(24, 119, 242);
856
+ }
947
857
 
948
- .editor-shell .editor-image .image-resizer.image-resizer-sw {
949
- bottom: -2px;
950
- left: -6px;
951
- cursor: sw-resize;
952
- }
858
+ .switch button[aria-checked="true"] span {
859
+ transform: translateX(20px);
860
+ }
953
861
 
954
- .editor-shell .editor-image .image-resizer.image-resizer-w {
955
- bottom: 48%;
956
- left: -6px;
957
- cursor: w-resize;
958
- }
862
+ .editor-shell span.editor-image {
863
+ cursor: default;
864
+ display: inline-block;
865
+ position: relative;
866
+ user-select: none;
867
+ }
959
868
 
960
- .editor-shell .editor-image .image-resizer.image-resizer-nw {
961
- top: -6px;
962
- left: -6px;
963
- cursor: nw-resize;
964
- }
869
+ .editor-shell .editor-image img {
870
+ max-width: 100%;
871
+ cursor: default;
872
+ }
965
873
 
966
- .actions {
967
- position: absolute;
968
- text-align: right;
969
- margin: 10px;
970
- bottom: 0;
971
- right: 0;
972
- }
874
+ .editor-shell .editor-image img.focused {
875
+ outline: 2px solid rgb(60, 132, 244);
876
+ user-select: none;
877
+ }
973
878
 
974
- .actions.tree-view {
975
- border-bottom-left-radius: 0;
976
- border-bottom-right-radius: 0;
977
- }
879
+ .editor-shell .editor-image img.focused.draggable {
880
+ cursor: grab;
881
+ }
978
882
 
979
- .actions i {
980
- background-size: contain;
981
- display: inline-block;
982
- height: 15px;
983
- width: 15px;
984
- vertical-align: -0.25em;
985
- }
883
+ .editor-shell .editor-image img.focused.draggable:active {
884
+ cursor: grabbing;
885
+ }
986
886
 
987
- .actions i.indent {
988
- background-image: url(images/icons/indent.svg);
989
- }
887
+ .editor-shell .editor-image .image-caption-container .tree-view-output {
888
+ margin: 0;
889
+ border-radius: 0;
890
+ }
990
891
 
991
- .actions i.outdent {
992
- background-image: url(images/icons/outdent.svg);
993
- }
892
+ .editor-shell .editor-image .image-caption-container {
893
+ min-height: 25px;
894
+ display: block;
895
+ position: relative;
896
+ padding: 0;
897
+ margin: 0;
898
+ min-width: 100px;
899
+ overflow: hidden;
900
+ }
994
901
 
995
- .actions i.lock {
996
- background-image: url(images/icons/lock-fill.svg);
997
- }
902
+ .editor-shell .editor-image .image-caption-button {
903
+ display: block;
904
+ position: absolute;
905
+ bottom: 20px;
906
+ left: 0;
907
+ right: 0;
908
+ width: 30%;
909
+ padding: 10px;
910
+ margin: 0 auto;
911
+ border: 1px solid rgba(255, 255, 255, 0.3);
912
+ border-radius: 5px;
913
+ background-color: rgba(0, 0, 0, 0.5);
914
+ min-width: 100px;
915
+ color: #fff;
916
+ cursor: pointer;
917
+ user-select: none;
918
+ }
998
919
 
999
- .actions i.image {
1000
- background-image: url(images/icons/file-image.svg);
1001
- }
920
+ .editor-shell .editor-image .image-caption-button:hover {
921
+ background-color: rgba(60, 132, 244, 0.5);
922
+ }
1002
923
 
1003
- .actions i.admonition {
1004
- background-image: url(images/icons/admonition.svg);
1005
- }
924
+ .editor-shell .editor-image .image-resizer {
925
+ display: block;
926
+ width: 7px;
927
+ height: 7px;
928
+ position: absolute;
929
+ background-color: rgb(60, 132, 244);
930
+ border: 1px solid #fff;
931
+ }
1006
932
 
1007
- .actions i.table {
1008
- background-image: url(images/icons/table.svg);
1009
- }
933
+ .editor-shell .editor-image .image-resizer.image-resizer-n {
934
+ top: -6px;
935
+ left: 48%;
936
+ cursor: n-resize;
937
+ }
1010
938
 
1011
- .actions i.unlock {
1012
- background-image: url(images/icons/lock.svg);
1013
- }
939
+ .editor-shell .editor-image .image-resizer.image-resizer-ne {
940
+ top: -6px;
941
+ right: -6px;
942
+ cursor: ne-resize;
943
+ }
1014
944
 
1015
- .actions i.left-align {
1016
- background-image: url(images/icons/text-left.svg);
1017
- }
945
+ .editor-shell .editor-image .image-resizer.image-resizer-e {
946
+ bottom: 48%;
947
+ right: -6px;
948
+ cursor: e-resize;
949
+ }
1018
950
 
1019
- .actions i.center-align {
1020
- background-image: url(images/icons/text-center.svg);
1021
- }
951
+ .editor-shell .editor-image .image-resizer.image-resizer-se {
952
+ bottom: -2px;
953
+ right: -6px;
954
+ cursor: nwse-resize;
955
+ }
1022
956
 
1023
- .actions i.right-align {
1024
- background-image: url(images/icons/text-right.svg);
1025
- }
957
+ .editor-shell .editor-image .image-resizer.image-resizer-s {
958
+ bottom: -2px;
959
+ left: 48%;
960
+ cursor: s-resize;
961
+ }
1026
962
 
1027
- .actions i.justify-align {
1028
- background-image: url(images/icons/justify.svg);
1029
- }
963
+ .editor-shell .editor-image .image-resizer.image-resizer-sw {
964
+ bottom: -2px;
965
+ left: -6px;
966
+ cursor: sw-resize;
967
+ }
1030
968
 
1031
- .actions i.disconnect {
1032
- background-image: url(images/icons/plug.svg);
1033
- }
969
+ .editor-shell .editor-image .image-resizer.image-resizer-w {
970
+ bottom: 48%;
971
+ left: -6px;
972
+ cursor: w-resize;
973
+ }
1034
974
 
1035
- .actions i.connect {
1036
- background-image: url(images/icons/plug-fill.svg);
1037
- }
975
+ .editor-shell .editor-image .image-resizer.image-resizer-nw {
976
+ top: -6px;
977
+ left: -6px;
978
+ cursor: nw-resize;
979
+ }
1038
980
 
1039
- table.disable-selection {
1040
- -webkit-touch-callout: none;
1041
- -webkit-user-select: none;
1042
- -moz-user-select: none;
1043
- -ms-user-select: none;
1044
- user-select: none;
1045
- }
981
+ .actions {
982
+ position: absolute;
983
+ text-align: right;
984
+ margin: 10px;
985
+ bottom: 0;
986
+ right: 0;
987
+ }
1046
988
 
1047
- table.disable-selection span::selection {
1048
- background-color: transparent;
1049
- }
989
+ .actions.tree-view {
990
+ border-bottom-left-radius: 0;
991
+ border-bottom-right-radius: 0;
992
+ }
1050
993
 
1051
- table.disable-selection br::selection {
1052
- background-color: transparent;
1053
- }
994
+ .actions i {
995
+ background-size: contain;
996
+ display: inline-block;
997
+ height: 15px;
998
+ width: 15px;
999
+ vertical-align: -0.25em;
1000
+ }
1054
1001
 
1055
- .table-cell-action-button-container {
1056
- position: absolute;
1057
- top: 0;
1058
- left: 0;
1059
- will-change: transform;
1060
- }
1002
+ .actions i.indent {
1003
+ background-image: url(images/icons/indent.svg);
1004
+ }
1061
1005
 
1062
- .table-cell-action-button {
1063
- background-color: none;
1064
- display: flex;
1065
- justify-content: center;
1066
- align-items: center;
1067
- border: 0;
1068
- position: relative;
1069
- border-radius: 15px;
1070
- color: #222;
1071
- cursor: pointer;
1072
- }
1006
+ .actions i.outdent {
1007
+ background-image: url(images/icons/outdent.svg);
1008
+ }
1073
1009
 
1074
- i.chevron-down {
1075
- background-color: transparent;
1076
- background-size: contain;
1077
- display: inline-block;
1078
- height: 8px;
1079
- width: 8px;
1080
- background-image: url(images/icons/chevron-down.svg);
1081
- }
1010
+ .actions i.lock {
1011
+ background-image: url(images/icons/lock-fill.svg);
1012
+ }
1082
1013
 
1083
- .action-button {
1084
- background-color: #eee;
1085
- border: 0;
1086
- padding: 8px 12px;
1087
- position: relative;
1088
- margin-left: 5px;
1089
- border-radius: 15px;
1090
- color: #222;
1091
- display: inline-block;
1092
- cursor: pointer;
1093
- }
1014
+ .actions i.image {
1015
+ background-image: url(images/icons/file-image.svg);
1016
+ }
1094
1017
 
1095
- .action-button:hover {
1096
- background-color: #ddd;
1097
- color: #000;
1098
- }
1018
+ .actions i.admonition {
1019
+ background-image: url(images/icons/admonition.svg);
1020
+ }
1099
1021
 
1100
- .action-button-mic.active {
1101
- animation: mic-pulsate-color 3s infinite;
1102
- }
1022
+ .actions i.table {
1023
+ background-image: url(images/icons/table.svg);
1024
+ }
1103
1025
 
1104
- button.action-button:disabled {
1105
- opacity: 0.6;
1106
- background: #eee;
1107
- cursor: not-allowed;
1108
- }
1026
+ .actions i.unlock {
1027
+ background-image: url(images/icons/lock.svg);
1028
+ }
1109
1029
 
1110
- @keyframes mic-pulsate-color {
1111
- 0% {
1112
- background-color: #ffdcdc;
1030
+ .actions i.left-align {
1031
+ background-image: url(images/icons/text-left.svg);
1113
1032
  }
1114
1033
 
1115
- 50% {
1116
- background-color: #ff8585;
1034
+ .actions i.center-align {
1035
+ background-image: url(images/icons/text-center.svg);
1117
1036
  }
1118
1037
 
1119
- 100% {
1120
- background-color: #ffdcdc;
1038
+ .actions i.right-align {
1039
+ background-image: url(images/icons/text-right.svg);
1121
1040
  }
1122
- }
1123
1041
 
1124
- .debug-timetravel-panel {
1125
- overflow: hidden;
1126
- padding: 0 0 10px 0;
1127
- margin: auto;
1128
- display: flex;
1129
- }
1042
+ .actions i.justify-align {
1043
+ background-image: url(images/icons/justify.svg);
1044
+ }
1130
1045
 
1131
- .debug-timetravel-panel-slider {
1132
- padding: 0;
1133
- flex: 8;
1134
- }
1046
+ .actions i.disconnect {
1047
+ background-image: url(images/icons/plug.svg);
1048
+ }
1135
1049
 
1136
- .debug-timetravel-panel-button {
1137
- padding: 0;
1138
- border: 0;
1139
- background: none;
1140
- flex: 1;
1141
- color: #fff;
1142
- font-size: 12px;
1143
- }
1050
+ .actions i.connect {
1051
+ background-image: url(images/icons/plug-fill.svg);
1052
+ }
1144
1053
 
1145
- .debug-timetravel-panel-button:hover {
1146
- text-decoration: underline;
1147
- }
1054
+ table.disable-selection {
1055
+ -webkit-touch-callout: none;
1056
+ -webkit-user-select: none;
1057
+ -moz-user-select: none;
1058
+ -ms-user-select: none;
1059
+ user-select: none;
1060
+ }
1148
1061
 
1149
- .debug-timetravel-button {
1150
- border: 0;
1151
- padding: 0;
1152
- font-size: 12px;
1153
- top: 10px;
1154
- right: 15px;
1155
- position: absolute;
1156
- background: none;
1157
- color: #fff;
1158
- }
1062
+ table.disable-selection span::selection {
1063
+ background-color: transparent;
1064
+ }
1159
1065
 
1160
- .debug-timetravel-button:hover {
1161
- text-decoration: underline;
1162
- }
1066
+ table.disable-selection br::selection {
1067
+ background-color: transparent;
1068
+ }
1163
1069
 
1164
- .debug-treetype-button {
1165
- border: 0;
1166
- padding: 0;
1167
- font-size: 12px;
1168
- top: 10px;
1169
- right: 85px;
1170
- position: absolute;
1171
- background: none;
1172
- color: #fff;
1173
- }
1070
+ .table-cell-action-button-container {
1071
+ position: absolute;
1072
+ top: 0;
1073
+ left: 0;
1074
+ will-change: transform;
1075
+ }
1174
1076
 
1175
- .debug-treetype-button:hover {
1176
- text-decoration: underline;
1177
- }
1077
+ .table-cell-action-button {
1078
+ background-color: none;
1079
+ display: flex;
1080
+ justify-content: center;
1081
+ align-items: center;
1082
+ border: 0;
1083
+ position: relative;
1084
+ border-radius: 15px;
1085
+ color: #222;
1086
+ cursor: pointer;
1087
+ }
1178
1088
 
1179
- .connecting {
1180
- font-size: 15px;
1181
- color: #999;
1182
- overflow: hidden;
1183
- position: absolute;
1184
- text-overflow: ellipsis;
1185
- top: 10px;
1186
- left: 10px;
1187
- user-select: none;
1188
- white-space: nowrap;
1189
- display: inline-block;
1190
- pointer-events: none;
1191
- }
1089
+ i.chevron-down {
1090
+ background-color: transparent;
1091
+ background-size: contain;
1092
+ display: inline-block;
1093
+ height: 8px;
1094
+ width: 8px;
1095
+ background-image: url(images/icons/chevron-down.svg);
1096
+ }
1192
1097
 
1193
- .ltr {
1194
- text-align: left;
1195
- }
1098
+ .action-button {
1099
+ background-color: #eee;
1100
+ border: 0;
1101
+ padding: 8px 12px;
1102
+ position: relative;
1103
+ margin-left: 5px;
1104
+ border-radius: 15px;
1105
+ color: #222;
1106
+ display: inline-block;
1107
+ cursor: pointer;
1108
+ }
1196
1109
 
1197
- .rtl {
1198
- text-align: right;
1199
- }
1110
+ .action-button:hover {
1111
+ background-color: #ddd;
1112
+ color: #000;
1113
+ }
1200
1114
 
1201
- .toolbar {
1202
- display: flex;
1203
- flex-wrap: wrap;
1204
- margin-bottom: 1rem;
1205
- padding: 4px;
1206
- vertical-align: middle;
1207
- border: 1px solid var(--border-color);
1208
- position: sticky;
1209
- top: 100px;
1210
- background-color: var(--background);
1211
- z-index: 9;
1212
- }
1115
+ .action-button-mic.active {
1116
+ animation: mic-pulsate-color 3s infinite;
1117
+ }
1213
1118
 
1214
- button.toolbar-item {
1215
- border: 0;
1216
- display: flex;
1217
- background: none;
1218
- border-radius: 6px;
1219
- padding: 8px;
1220
- cursor: pointer;
1221
- vertical-align: middle;
1222
- flex-shrink: 0;
1223
- align-items: center;
1224
- justify-content: space-between;
1225
- }
1119
+ button.action-button:disabled {
1120
+ opacity: 0.6;
1121
+ background: #eee;
1122
+ cursor: not-allowed;
1123
+ }
1226
1124
 
1227
- button.toolbar-item:disabled {
1228
- cursor: not-allowed;
1229
- }
1125
+ @keyframes mic-pulsate-color {
1126
+ 0% {
1127
+ background-color: #ffdcdc;
1128
+ }
1230
1129
 
1231
- button.toolbar-item.spaced {
1232
- margin-right: 2px;
1233
- }
1130
+ 50% {
1131
+ background-color: #ff8585;
1132
+ }
1234
1133
 
1235
- button.toolbar-item i.format {
1236
- background-size: contain;
1237
- display: inline-block;
1238
- height: 18px;
1239
- width: 18px;
1240
- vertical-align: -0.25em;
1241
- opacity: 0.6;
1242
- }
1134
+ 100% {
1135
+ background-color: #ffdcdc;
1136
+ }
1137
+ }
1243
1138
 
1244
- button.toolbar-item:disabled .icon,
1245
- button.toolbar-item:disabled .text,
1246
- button.toolbar-item:disabled i.format,
1247
- button.toolbar-item:disabled .chevron-down {
1248
- opacity: 0.2;
1249
- }
1139
+ .debug-timetravel-panel {
1140
+ overflow: hidden;
1141
+ padding: 0 0 10px 0;
1142
+ margin: auto;
1143
+ display: flex;
1144
+ }
1250
1145
 
1251
- .toolbar-item:hover:not([disabled]) {
1252
- background-color: #dfdfdf;
1253
- }
1146
+ .debug-timetravel-panel-slider {
1147
+ padding: 0;
1148
+ flex: 8;
1149
+ }
1254
1150
 
1255
- button.toolbar-item.active {
1256
- background-color: #eee;
1257
- }
1151
+ .debug-timetravel-panel-button {
1152
+ padding: 0;
1153
+ border: 0;
1154
+ background: none;
1155
+ flex: 1;
1156
+ color: #fff;
1157
+ font-size: 12px;
1158
+ }
1258
1159
 
1259
- button.toolbar-item.active i {
1260
- opacity: 1;
1261
- }
1160
+ .debug-timetravel-panel-button:hover {
1161
+ text-decoration: underline;
1162
+ }
1262
1163
 
1263
- button.toolbar-item .markdown-toggle-label {
1264
- font-family: var(--font-mono, ui-monospace, monospace);
1265
- font-size: 15px;
1266
- font-weight: 700;
1267
- line-height: 18px;
1268
- width: 18px;
1269
- text-align: center;
1270
- /* Explicit color (like `.toolbar-item .text`) rather than inheriting —
1271
- * in dark mode `.editor-shell` sets the inherited color to #fff, which the
1272
- * `.toolbar span { filter: invert(1) }` rule would then flip to black.
1273
- * A mid-gray inverts to a visible mid-gray in both themes. */
1274
- color: #777;
1275
- }
1164
+ .debug-timetravel-button {
1165
+ border: 0;
1166
+ padding: 0;
1167
+ font-size: 12px;
1168
+ top: 10px;
1169
+ right: 15px;
1170
+ position: absolute;
1171
+ background: none;
1172
+ color: #fff;
1173
+ }
1276
1174
 
1277
- button.toolbar-item.active .markdown-toggle-label {
1278
- color: #1a1a1a;
1279
- }
1175
+ .debug-timetravel-button:hover {
1176
+ text-decoration: underline;
1177
+ }
1280
1178
 
1281
- button.toolbar-item:disabled .markdown-toggle-label {
1282
- color: #bbb;
1283
- }
1179
+ .debug-treetype-button {
1180
+ border: 0;
1181
+ padding: 0;
1182
+ font-size: 12px;
1183
+ top: 10px;
1184
+ right: 85px;
1185
+ position: absolute;
1186
+ background: none;
1187
+ color: #fff;
1188
+ }
1284
1189
 
1285
- .toolbar-item.font-family .text {
1286
- display: block;
1287
- max-width: 40px;
1288
- }
1190
+ .debug-treetype-button:hover {
1191
+ text-decoration: underline;
1192
+ }
1289
1193
 
1290
- .toolbar .code-language {
1291
- width: 150px;
1292
- }
1194
+ .connecting {
1195
+ font-size: 15px;
1196
+ color: #999;
1197
+ overflow: hidden;
1198
+ position: absolute;
1199
+ text-overflow: ellipsis;
1200
+ top: 10px;
1201
+ left: 10px;
1202
+ user-select: none;
1203
+ white-space: nowrap;
1204
+ display: inline-block;
1205
+ pointer-events: none;
1206
+ }
1293
1207
 
1294
- .toolbar .toolbar-item .text {
1295
- display: flex;
1296
- line-height: 20px;
1297
- vertical-align: middle;
1298
- font-size: 14px;
1299
- color: #777;
1300
- text-overflow: ellipsis;
1301
- overflow: hidden;
1302
- height: 20px;
1303
- text-align: left;
1304
- padding-right: 10px;
1305
- }
1208
+ .ltr {
1209
+ text-align: left;
1210
+ }
1306
1211
 
1307
- .toolbar .toolbar-item .icon {
1308
- display: flex;
1309
- width: 20px;
1310
- height: 20px;
1311
- user-select: none;
1312
- margin-right: 8px;
1313
- line-height: 16px;
1314
- background-size: contain;
1315
- }
1212
+ .rtl {
1213
+ text-align: right;
1214
+ }
1316
1215
 
1317
- .toolbar i.chevron-down {
1318
- margin-top: 3px;
1319
- width: 16px;
1320
- height: 16px;
1321
- display: flex;
1322
- user-select: none;
1323
- }
1216
+ .toolbar {
1217
+ display: flex;
1218
+ flex-wrap: wrap;
1219
+ margin-bottom: 1rem;
1220
+ padding: 4px;
1221
+ vertical-align: middle;
1222
+ border: 1px solid var(--border-color);
1223
+ position: sticky;
1224
+ top: 100px;
1225
+ background-color: var(--background);
1226
+ z-index: 9;
1227
+ }
1324
1228
 
1325
- .toolbar i.chevron-down.inside {
1326
- width: 16px;
1327
- height: 16px;
1328
- display: flex;
1329
- margin-left: -25px;
1330
- margin-top: 11px;
1331
- margin-right: 10px;
1332
- pointer-events: none;
1333
- }
1229
+ button.toolbar-item {
1230
+ border: 0;
1231
+ display: flex;
1232
+ background: none;
1233
+ border-radius: 6px;
1234
+ padding: 8px;
1235
+ cursor: pointer;
1236
+ vertical-align: middle;
1237
+ flex-shrink: 0;
1238
+ align-items: center;
1239
+ justify-content: space-between;
1240
+ }
1334
1241
 
1335
- .toolbar .divider {
1336
- width: 1px;
1337
- background-color: #eee;
1338
- margin: 0 4px;
1339
- }
1242
+ button.toolbar-item:disabled {
1243
+ cursor: not-allowed;
1244
+ }
1340
1245
 
1341
- .spacer {
1342
- letter-spacing: -2px;
1343
- }
1246
+ button.toolbar-item.spaced {
1247
+ margin-right: 2px;
1248
+ }
1344
1249
 
1345
- .editor-equation {
1346
- cursor: default;
1347
- user-select: none;
1348
- }
1250
+ button.toolbar-item i.format {
1251
+ background-size: contain;
1252
+ display: inline-block;
1253
+ height: 18px;
1254
+ width: 18px;
1255
+ vertical-align: -0.25em;
1256
+ opacity: 0.6;
1257
+ }
1349
1258
 
1350
- .editor-equation.focused {
1351
- outline: 2px solid rgb(60, 132, 244);
1352
- }
1259
+ button.toolbar-item:disabled .icon,
1260
+ button.toolbar-item:disabled .text,
1261
+ button.toolbar-item:disabled i.format,
1262
+ button.toolbar-item:disabled .chevron-down {
1263
+ opacity: 0.2;
1264
+ }
1353
1265
 
1354
- .editor-shell button.item i {
1355
- opacity: 0.6;
1356
- }
1266
+ .toolbar-item:hover:not([disabled]) {
1267
+ background-color: #dfdfdf;
1268
+ }
1357
1269
 
1358
- button.item.dropdown-item-active {
1359
- background-color: rgba(223, 232, 250, 0.3);
1360
- }
1270
+ button.toolbar-item.active {
1271
+ background-color: #eee;
1272
+ }
1361
1273
 
1362
- button.item.dropdown-item-active i {
1363
- opacity: 1;
1364
- }
1274
+ button.toolbar-item.active i {
1275
+ opacity: 1;
1276
+ }
1365
1277
 
1366
- .editor-shell hr {
1367
- padding: 2px 2px;
1368
- border: none;
1369
- margin: 1em 0;
1370
- cursor: pointer;
1371
- }
1278
+ button.toolbar-item .markdown-toggle-label {
1279
+ font-family: var(--font-mono, ui-monospace, monospace);
1280
+ font-size: 15px;
1281
+ font-weight: 700;
1282
+ line-height: 18px;
1283
+ width: 18px;
1284
+ text-align: center;
1285
+ /* Explicit color (like `.toolbar-item .text`) rather than inheriting —
1286
+ * in dark mode `.editor-shell` sets the inherited color to #fff, which the
1287
+ * `.toolbar span { filter: invert(1) }` rule would then flip to black.
1288
+ * A mid-gray inverts to a visible mid-gray in both themes. */
1289
+ color: #777;
1290
+ }
1372
1291
 
1373
- .editor-shell hr:after {
1374
- content: "";
1375
- display: block;
1376
- height: 2px;
1377
- background-color: #ccc;
1378
- line-height: 2px;
1379
- }
1292
+ button.toolbar-item.active .markdown-toggle-label {
1293
+ color: #1a1a1a;
1294
+ }
1380
1295
 
1381
- .editor-shell hr.selected {
1382
- outline: 2px solid rgb(60, 132, 244);
1383
- user-select: none;
1384
- }
1296
+ button.toolbar-item:disabled .markdown-toggle-label {
1297
+ color: #bbb;
1298
+ }
1385
1299
 
1386
- .TableNode__contentEditable {
1387
- min-height: 20px;
1388
- border: 0px;
1389
- resize: none;
1390
- cursor: text;
1391
- display: block;
1392
- position: relative;
1393
- tab-size: 1;
1394
- outline: 0px;
1395
- padding: 0;
1396
- user-select: text;
1397
- font-size: 15px;
1398
- white-space: pre-wrap;
1399
- word-break: break-word;
1400
- z-index: 3;
1401
- }
1300
+ .toolbar-item.font-family .text {
1301
+ display: block;
1302
+ max-width: 40px;
1303
+ }
1402
1304
 
1403
- .LexicalEditorTheme__blockCursor {
1404
- display: block;
1405
- pointer-events: none;
1406
- position: absolute;
1407
- }
1305
+ .toolbar .code-language {
1306
+ width: 150px;
1307
+ }
1408
1308
 
1409
- .LexicalEditorTheme__blockCursor:after {
1410
- content: "";
1411
- display: block;
1412
- position: absolute;
1413
- top: -2px;
1414
- width: 20px;
1415
- border-top: 1px solid black;
1416
- animation: CursorBlink 1.1s steps(2, start) infinite;
1417
- }
1309
+ .toolbar .toolbar-item .text {
1310
+ display: flex;
1311
+ line-height: 20px;
1312
+ vertical-align: middle;
1313
+ font-size: 14px;
1314
+ color: #777;
1315
+ text-overflow: ellipsis;
1316
+ overflow: hidden;
1317
+ height: 20px;
1318
+ text-align: left;
1319
+ padding-right: 10px;
1320
+ }
1418
1321
 
1419
- @keyframes CursorBlink {
1420
- to {
1421
- visibility: hidden;
1322
+ .toolbar .toolbar-item .icon {
1323
+ display: flex;
1324
+ width: 20px;
1325
+ height: 20px;
1326
+ user-select: none;
1327
+ margin-right: 8px;
1328
+ line-height: 16px;
1329
+ background-size: contain;
1422
1330
  }
1423
- }
1424
1331
 
1425
- .dialog-dropdown {
1426
- background-color: #eee;
1427
- margin-bottom: 10px;
1428
- width: 100%;
1429
- }
1332
+ .toolbar i.chevron-down {
1333
+ margin-top: 3px;
1334
+ width: 16px;
1335
+ height: 16px;
1336
+ display: flex;
1337
+ user-select: none;
1338
+ }
1430
1339
 
1431
- .dark,
1432
- [data-theme="dark"] {
1433
- .toolbar i,
1434
- .toolbar span {
1435
- filter: invert(1) brightness(1.2);
1340
+ .toolbar i.chevron-down.inside {
1341
+ width: 16px;
1342
+ height: 16px;
1343
+ display: flex;
1344
+ margin-left: -25px;
1345
+ margin-top: 11px;
1346
+ margin-right: 10px;
1347
+ pointer-events: none;
1436
1348
  }
1437
1349
 
1438
- .toolbar .toolbar-item:hover:not([disabled]),
1439
1350
  .toolbar .divider {
1440
- background-color: #1c1c1c;
1351
+ width: 1px;
1352
+ background-color: #eee;
1353
+ margin: 0 4px;
1441
1354
  }
1442
1355
 
1443
- button.toolbar-item.active {
1444
- background-color: #1e1e1e;
1356
+ .spacer {
1357
+ letter-spacing: -2px;
1445
1358
  }
1446
1359
 
1447
- .editor-shell {
1448
- color: #fff;
1360
+ .editor-equation {
1361
+ cursor: default;
1362
+ user-select: none;
1449
1363
  }
1450
1364
 
1451
- .dropdown {
1452
- border: 1px solid var(--border-color);
1453
- background: var(--canvas-800);
1454
- color: var(--canvas-800);
1455
- box-shadow: none;
1365
+ .editor-equation.focused {
1366
+ outline: 2px solid rgb(60, 132, 244);
1456
1367
  }
1457
1368
 
1458
- .dropdown i {
1459
- filter: invert(1);
1369
+ .editor-shell button.item i {
1370
+ opacity: 0.6;
1460
1371
  }
1461
1372
 
1462
- .dropdown .item {
1463
- color: #ccc;
1464
- background-color: unset;
1373
+ button.item.dropdown-item-active {
1374
+ background-color: rgba(223, 232, 250, 0.3);
1465
1375
  }
1466
1376
 
1467
- .dropdown .item:hover {
1468
- background-color: #1c1c1c;
1377
+ button.item.dropdown-item-active i {
1378
+ opacity: 1;
1469
1379
  }
1470
1380
 
1471
- .action-button {
1472
- background-color: #262626;
1381
+ .editor-shell hr {
1382
+ padding: 2px 2px;
1383
+ border: none;
1384
+ margin: 1em 0;
1385
+ cursor: pointer;
1473
1386
  }
1474
1387
 
1475
- .action-button:hover {
1476
- background-color: #383838;
1477
- color: #fff;
1388
+ .editor-shell hr:after {
1389
+ content: "";
1390
+ display: block;
1391
+ height: 2px;
1392
+ background-color: #ccc;
1393
+ line-height: 2px;
1478
1394
  }
1479
1395
 
1480
- .action-button i {
1481
- filter: invert(1);
1396
+ .editor-shell hr.selected {
1397
+ outline: 2px solid rgb(60, 132, 244);
1398
+ user-select: none;
1482
1399
  }
1483
1400
 
1484
- .link-editor .link-input {
1485
- background-color: var(--canvas-700);
1486
- color: #fff;
1401
+ .TableNode__contentEditable {
1402
+ min-height: 20px;
1403
+ border: 0px;
1404
+ resize: none;
1405
+ cursor: text;
1406
+ display: block;
1407
+ position: relative;
1408
+ tab-size: 1;
1409
+ outline: 0px;
1410
+ padding: 0;
1411
+ user-select: text;
1412
+ font-size: 15px;
1413
+ white-space: pre-wrap;
1414
+ word-break: break-word;
1415
+ z-index: 3;
1487
1416
  }
1488
1417
 
1489
- .link-editor div.link-edit,
1490
- .link-editor div.link-trash {
1491
- filter: invert(1);
1418
+ .LexicalEditorTheme__blockCursor {
1419
+ display: block;
1420
+ pointer-events: none;
1421
+ position: absolute;
1492
1422
  }
1493
1423
 
1494
- .link-editor .link-input a {
1495
- color: rgb(102, 167, 255);
1424
+ .LexicalEditorTheme__blockCursor:after {
1425
+ content: "";
1426
+ display: block;
1427
+ position: absolute;
1428
+ top: -2px;
1429
+ width: 20px;
1430
+ border-top: 1px solid black;
1431
+ animation: CursorBlink 1.1s steps(2, start) infinite;
1496
1432
  }
1497
1433
 
1498
- .editor-shell .inline-editor-image .image-caption-container {
1499
- display: block;
1500
- /* position: absolute; */
1501
- background-color: #222222;
1502
- min-width: 100%;
1503
- color: #eeeeee;
1504
- overflow: hidden;
1434
+ @keyframes CursorBlink {
1435
+ to {
1436
+ visibility: hidden;
1437
+ }
1505
1438
  }
1506
1439
 
1507
1440
  .dialog-dropdown {
1508
- background-color: #222;
1441
+ background-color: #eee;
1509
1442
  margin-bottom: 10px;
1510
1443
  width: 100%;
1511
1444
  }
1445
+
1446
+ .dark,
1447
+ [data-theme="dark"] {
1448
+ .toolbar i,
1449
+ .toolbar span {
1450
+ filter: invert(1) brightness(1.2);
1451
+ }
1452
+
1453
+ .toolbar .toolbar-item:hover:not([disabled]),
1454
+ .toolbar .divider {
1455
+ background-color: #1c1c1c;
1456
+ }
1457
+
1458
+ button.toolbar-item.active {
1459
+ background-color: #1e1e1e;
1460
+ }
1461
+
1462
+ .editor-shell {
1463
+ color: #fff;
1464
+ }
1465
+
1466
+ .dropdown {
1467
+ border: 1px solid var(--border-color);
1468
+ background: var(--canvas-800);
1469
+ color: var(--canvas-800);
1470
+ box-shadow: none;
1471
+ }
1472
+
1473
+ .dropdown i {
1474
+ filter: invert(1);
1475
+ }
1476
+
1477
+ .dropdown .item {
1478
+ color: #ccc;
1479
+ background-color: unset;
1480
+ }
1481
+
1482
+ .dropdown .item:hover {
1483
+ background-color: #1c1c1c;
1484
+ }
1485
+
1486
+ .action-button {
1487
+ background-color: #262626;
1488
+ }
1489
+
1490
+ .action-button:hover {
1491
+ background-color: #383838;
1492
+ color: #fff;
1493
+ }
1494
+
1495
+ .action-button i {
1496
+ filter: invert(1);
1497
+ }
1498
+
1499
+ .link-editor .link-input {
1500
+ background-color: var(--canvas-700);
1501
+ color: #fff;
1502
+ }
1503
+
1504
+ .link-editor div.link-edit,
1505
+ .link-editor div.link-trash {
1506
+ filter: invert(1);
1507
+ }
1508
+
1509
+ .link-editor .link-input a {
1510
+ color: rgb(102, 167, 255);
1511
+ }
1512
+
1513
+ .editor-shell .inline-editor-image .image-caption-container {
1514
+ display: block;
1515
+ /* position: absolute; */
1516
+ background-color: #222222;
1517
+ min-width: 100%;
1518
+ color: #eeeeee;
1519
+ overflow: hidden;
1520
+ }
1521
+
1522
+ .dialog-dropdown {
1523
+ background-color: #222;
1524
+ margin-bottom: 10px;
1525
+ width: 100%;
1526
+ }
1527
+ }
1512
1528
  }