@firestitch/markdown-editor 18.0.0 → 18.0.1

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.
@@ -0,0 +1,131 @@
1
+ .milkdown .milkdown-block-handle[data-show='false'] {
2
+ opacity: 0;
3
+ pointer-events: none;
4
+ }
5
+ .milkdown .milkdown-block-handle {
6
+ transition: all 0.2s;
7
+ position: absolute;
8
+ cursor: pointer;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ gap: 2px;
13
+ }
14
+ .milkdown .milkdown-block-handle .operation-item {
15
+ border-radius: 4px;
16
+ width: 32px;
17
+ height: 32px;
18
+ padding: 4px;
19
+ }
20
+ .milkdown .milkdown-block-handle .operation-item svg {
21
+ width: 24px;
22
+ height: 24px;
23
+ fill: var(--crepe-color-outline);
24
+ }
25
+ .milkdown .milkdown-block-handle .operation-item:hover {
26
+ background: var(--crepe-color-hover);
27
+ }
28
+ .milkdown .milkdown-block-handle .operation-item.active {
29
+ background: var(--crepe-color-selected);
30
+ }
31
+ .milkdown .milkdown-slash-menu[data-show='false'] {
32
+ display: none;
33
+ }
34
+ .milkdown .milkdown-slash-menu {
35
+ position: absolute;
36
+ z-index: 10;
37
+ display: block;
38
+ font-family: var(--crepe-font-default);
39
+ color: var(--crepe-color-on-surface);
40
+ background: var(--crepe-color-surface);
41
+ border-radius: 12px;
42
+ box-shadow: var(--crepe-shadow-1);
43
+ }
44
+ .milkdown .milkdown-slash-menu ul {
45
+ list-style-type: none;
46
+ }
47
+ .milkdown .milkdown-slash-menu ul li {
48
+ cursor: pointer;
49
+ border-radius: 8px;
50
+ }
51
+ .milkdown .milkdown-slash-menu .tab-group {
52
+ border-bottom: 1px solid
53
+ color-mix(in srgb, var(--crepe-color-outline), transparent 80%);
54
+ padding: 12px 12px 0;
55
+ }
56
+ .milkdown .milkdown-slash-menu .tab-group ul {
57
+ padding: 8px 10px;
58
+ display: flex;
59
+ gap: 10px;
60
+ flex-wrap: nowrap;
61
+ }
62
+ .milkdown .milkdown-slash-menu .tab-group ul li {
63
+ padding: 6px 10px;
64
+ font-size: 14px;
65
+ font-style: normal;
66
+ font-weight: 600;
67
+ line-height: 20px;
68
+ }
69
+ .milkdown .milkdown-slash-menu .tab-group ul li:hover {
70
+ background: var(--crepe-color-hover);
71
+ }
72
+ .milkdown .milkdown-slash-menu .tab-group ul li.selected {
73
+ background: var(--crepe-color-selected);
74
+ }
75
+ .milkdown .milkdown-slash-menu .menu-groups {
76
+ padding: 0 12px 12px;
77
+ max-height: 420px;
78
+ overflow: auto;
79
+ overscroll-behavior: contain;
80
+ scroll-behavior: smooth;
81
+ }
82
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group h6 {
83
+ font-size: 14px;
84
+ font-style: normal;
85
+ font-weight: 600;
86
+ line-height: 20px;
87
+ padding: 14px 10px;
88
+ text-transform: uppercase;
89
+ color: color-mix(
90
+ in srgb,
91
+ var(--crepe-color-on-surface),
92
+ transparent 40%
93
+ );
94
+ }
95
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li {
96
+ min-width: 220px;
97
+ display: flex;
98
+ justify-content: flex-start;
99
+ align-items: center;
100
+ gap: 16px;
101
+ padding: 14px 10px;
102
+ }
103
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li.hover {
104
+ background: var(--crepe-color-hover);
105
+ }
106
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li.active {
107
+ background: var(--crepe-color-selected);
108
+ }
109
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li svg {
110
+ width: 24px;
111
+ height: 24px;
112
+ color: var(--crepe-color-outline);
113
+ fill: var(--crepe-color-outline);
114
+ }
115
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li > span {
116
+ font-size: 14px;
117
+ font-style: normal;
118
+ font-weight: 600;
119
+ line-height: 20px;
120
+ }
121
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group + .menu-group::before {
122
+ content: '';
123
+ display: block;
124
+ height: 1px;
125
+ background: color-mix(
126
+ in srgb,
127
+ var(--crepe-color-outline),
128
+ transparent 80%
129
+ );
130
+ margin: 0 10px;
131
+ }
@@ -0,0 +1,333 @@
1
+ .milkdown .milkdown-code-block {
2
+ display: block;
3
+ position: relative;
4
+ padding: 8px 20px 20px;
5
+ background: var(--crepe-color-surface);
6
+ margin: 4px 0;
7
+ }
8
+
9
+ .milkdown .milkdown-code-block .language-picker {
10
+ padding-top: 10px;
11
+ width: -moz-max-content;
12
+ width: max-content;
13
+ position: absolute;
14
+ z-index: 999;
15
+ }
16
+
17
+ .milkdown .milkdown-code-block .hidden {
18
+ display: none !important;
19
+ }
20
+
21
+ .milkdown .milkdown-code-block.selected {
22
+ outline: 1px solid var(--crepe-color-primary);
23
+ }
24
+
25
+ .milkdown .milkdown-code-block .cm-editor {
26
+ outline: none !important;
27
+ background: var(--crepe-color-surface);
28
+ }
29
+
30
+ .milkdown .milkdown-code-block .cm-gutters {
31
+ border-right: none;
32
+ background: var(--crepe-color-surface);
33
+ }
34
+
35
+ .milkdown .milkdown-code-block .cm-panel {
36
+ font-family: var(--crepe-font-default);
37
+ background: var(--crepe-color-surface);
38
+ color: var(--crepe-color-on-surface);
39
+ }
40
+
41
+ .milkdown .milkdown-code-block .cm-panel input {
42
+ caret-color: var(--crepe-color-outline);
43
+ border-radius: 4px;
44
+ background: var(--crepe-color-surface-low);
45
+ }
46
+
47
+ .milkdown .milkdown-code-block .cm-panel > button {
48
+ text-transform: capitalize;
49
+ background: var(--crepe-color-surface-low);
50
+ color: var(--crepe-color-on-surface-variant);
51
+ border: 1px solid var(--crepe-color-outline);
52
+ font-weight: 600;
53
+ cursor: pointer;
54
+ border-radius: 4px;
55
+ }
56
+
57
+ .milkdown .milkdown-code-block .cm-panel > button:hover {
58
+ background: var(--crepe-color-hover);
59
+ }
60
+
61
+ .milkdown .milkdown-code-block .cm-panel > label {
62
+ display: inline-flex;
63
+ align-items: center;
64
+ text-transform: capitalize;
65
+ }
66
+
67
+ .milkdown .milkdown-code-block .cm-panel > label input[type='checkbox'] {
68
+ border-radius: 4px;
69
+ cursor: pointer;
70
+ -moz-appearance: none;
71
+ appearance: none;
72
+ -webkit-appearance: none;
73
+ background: var(--crepe-color-surface-low);
74
+ width: 1.15em;
75
+ height: 1.15em;
76
+ border: 1px solid var(--crepe-color-outline);
77
+ display: grid;
78
+ place-content: center;
79
+ }
80
+
81
+ .milkdown .milkdown-code-block .cm-panel > label input[type='checkbox']::before {
82
+ content: '';
83
+ transform-origin: bottom left;
84
+ width: 0.65em;
85
+ height: 0.65em;
86
+ transform: scale(0);
87
+ transition: 120ms transform ease-in-out;
88
+ box-shadow: inset 1em 1em var(--crepe-color-outline);
89
+ clip-path: polygon(
90
+ 14% 44%,
91
+ 0 65%,
92
+ 50% 100%,
93
+ 100% 16%,
94
+ 80% 0%,
95
+ 43% 62%
96
+ );
97
+ }
98
+
99
+ .milkdown .milkdown-code-block .cm-panel > label input[type='checkbox']:checked::before {
100
+ transform: scale(1);
101
+ }
102
+
103
+ .milkdown .milkdown-code-block .tools {
104
+ display: flex;
105
+ justify-content: space-between;
106
+ align-items: center;
107
+ }
108
+
109
+ .milkdown .milkdown-code-block .tools input {
110
+ caret-color: var(--crepe-color-outline);
111
+ }
112
+
113
+ .milkdown .milkdown-code-block .tools .tools-button-group {
114
+ display: flex;
115
+ gap: 2px;
116
+ }
117
+
118
+ .milkdown .milkdown-code-block .tools .tools-button-group button {
119
+ background: var(--crepe-color-secondary);
120
+ color: var(--crepe-color-on-surface-variant);
121
+ padding: 4px 10px;
122
+ opacity: 0;
123
+ cursor: pointer;
124
+ border-radius: 4px;
125
+ font-size: 12px;
126
+ line-height: 16px;
127
+ font-weight: 600;
128
+ font-family: var(--crepe-font-default);
129
+ transition: opacity 0.2s ease-in-out;
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ gap: 4px;
134
+ }
135
+
136
+ .milkdown .milkdown-code-block .tools .tools-button-group button svg {
137
+ width: 14px;
138
+ height: 14px;
139
+ fill: var(--crepe-color-on-surface-variant);
140
+ }
141
+
142
+ .milkdown .milkdown-code-block .tools .tools-button-group button:first-child {
143
+ border-top-left-radius: 100px;
144
+ border-bottom-left-radius: 100px;
145
+ }
146
+
147
+ .milkdown .milkdown-code-block .tools .tools-button-group button:last-child {
148
+ border-top-right-radius: 100px;
149
+ border-bottom-right-radius: 100px;
150
+ }
151
+
152
+ .milkdown .milkdown-code-block .tools .language-button {
153
+ display: flex;
154
+ align-items: center;
155
+ font-family: var(--crepe-font-default);
156
+ gap: 6px;
157
+ padding: 2px 4px 2px 8px;
158
+ background: var(--crepe-color-surface-low);
159
+ color: var(--crepe-color-on-surface-variant);
160
+ border-radius: 4px;
161
+ font-size: 12px;
162
+ font-weight: 600;
163
+ line-height: 16px;
164
+ margin-bottom: 8px;
165
+ opacity: 0;
166
+ cursor: pointer;
167
+ transition: opacity 0.2s ease-in-out;
168
+ }
169
+
170
+ .milkdown .milkdown-code-block .tools .language-button:hover {
171
+ background: var(--crepe-color-hover);
172
+ }
173
+
174
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon {
175
+ transition: transform 0.2s ease-in-out;
176
+ width: 18px;
177
+ height: 18px;
178
+ display: flex;
179
+ justify-content: center;
180
+ align-items: center;
181
+ }
182
+
183
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon svg {
184
+ width: 14px;
185
+ height: 14px;
186
+ color: var(--crepe-color-outline);
187
+ }
188
+
189
+ .milkdown .milkdown-code-block .tools .language-button[data-expanded='true'] .expand-icon {
190
+ transform: rotate(180deg);
191
+ }
192
+
193
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon svg:focus,
194
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon:focus-visible {
195
+ outline: none;
196
+ }
197
+
198
+ .milkdown .milkdown-code-block:hover .language-button {
199
+ opacity: 1;
200
+ }
201
+
202
+ .milkdown .milkdown-code-block:hover .tools-button-group > button {
203
+ opacity: 1;
204
+ }
205
+
206
+ .milkdown .milkdown-code-block .list-wrapper {
207
+ background: var(--crepe-color-surface-low);
208
+ border-radius: 12px;
209
+ box-shadow: var(--crepe-shadow-1);
210
+ width: 240px;
211
+ padding-top: 12px;
212
+ }
213
+
214
+ .milkdown .milkdown-code-block .language-list {
215
+ height: 410px;
216
+ overflow-y: auto;
217
+ overscroll-behavior: contain;
218
+ margin: 0;
219
+ padding: 0;
220
+ }
221
+
222
+ .milkdown .milkdown-code-block .language-list-item {
223
+ cursor: pointer;
224
+ margin: 0;
225
+ display: flex;
226
+ align-items: center;
227
+ gap: 8px;
228
+ padding: 4px 22px;
229
+ font-size: 14px;
230
+ font-weight: 600;
231
+ line-height: 20px;
232
+ }
233
+
234
+ .milkdown .milkdown-code-block .language-list-item:hover {
235
+ background: var(--crepe-color-hover);
236
+ }
237
+
238
+ .milkdown .milkdown-code-block .language-list-item:focus-visible {
239
+ outline: none;
240
+ background: var(--crepe-color-hover);
241
+ }
242
+
243
+ .milkdown .milkdown-code-block .language-list-item .leading,
244
+ .milkdown .milkdown-code-block .language-list-item .leading svg {
245
+ width: 24px;
246
+ height: 24px;
247
+ }
248
+
249
+ .milkdown .milkdown-code-block .language-list-item.no-result {
250
+ cursor: default;
251
+ opacity: 0.6;
252
+ }
253
+
254
+ .milkdown .milkdown-code-block .language-list-item.no-result:hover {
255
+ background: transparent;
256
+ }
257
+
258
+ .milkdown .milkdown-code-block .search-box {
259
+ display: flex;
260
+ align-items: center;
261
+ margin: 0 12px 8px;
262
+ background: transparent;
263
+ border-radius: 4px;
264
+ outline: 1px solid var(--crepe-color-primary);
265
+ gap: 8px;
266
+ padding: 6px 10px;
267
+ }
268
+
269
+ .milkdown .milkdown-code-block .search-box:has(input:focus) {
270
+ outline: 2px solid var(--crepe-color-primary);
271
+ }
272
+
273
+ .milkdown .milkdown-code-block .search-box .search-input {
274
+ width: 100%;
275
+ color: var(--crepe-color-on-surface);
276
+ }
277
+
278
+ .milkdown .milkdown-code-block .search-box .search-icon {
279
+ display: none;
280
+ }
281
+
282
+ .milkdown .milkdown-code-block .search-box .clear-icon {
283
+ cursor: pointer;
284
+ width: 20px;
285
+ height: 20px;
286
+ }
287
+
288
+ .milkdown .milkdown-code-block .search-box .clear-icon svg {
289
+ width: 20px;
290
+ height: 20px;
291
+ color: var(--crepe-color-primary);
292
+ fill: var(--crepe-color-primary);
293
+ }
294
+
295
+ .milkdown .milkdown-code-block .search-box .clear-icon:hover {
296
+ background: var(--crepe-color-hover);
297
+ }
298
+
299
+ .milkdown .milkdown-code-block .search-box input {
300
+ font-family: var(--crepe-font-default);
301
+ font-size: 14px;
302
+ line-height: 20px;
303
+ background: transparent;
304
+ }
305
+
306
+ .milkdown .milkdown-code-block .search-box input:focus {
307
+ outline: none;
308
+ }
309
+
310
+ .milkdown .milkdown-code-block .preview-panel .preview-divider {
311
+ height: 1px;
312
+ opacity: 0.2;
313
+ background: var(--crepe-color-outline);
314
+ margin: 6px 0;
315
+ }
316
+
317
+ .milkdown .milkdown-code-block .preview-panel .preview-label {
318
+ margin: 6px 0;
319
+ font-size: 12px;
320
+ color: color-mix(
321
+ in srgb,
322
+ var(--crepe-color-on-surface),
323
+ transparent 40%
324
+ );
325
+ font-weight: 600;
326
+ text-transform: uppercase;
327
+ font-family: var(--crepe-font-default);
328
+ }
329
+
330
+ .milkdown .milkdown-code-block .preview-panel .preview {
331
+ text-align: center;
332
+ overflow-x: auto;
333
+ }
@@ -0,0 +1,22 @@
1
+ @import '@milkdown/kit/prose/gapcursor/style/gapcursor.css';
2
+ @import 'prosemirror-virtual-cursor/style/virtual-cursor.css';
3
+
4
+ .milkdown .crepe-drop-cursor {
5
+ background-color: color-mix(
6
+ in srgb,
7
+ var(--crepe-color-outline),
8
+ transparent 50%
9
+ );
10
+ opacity: 0.5;
11
+ transition: all 0.2s;
12
+ pointer-events: none;
13
+ }
14
+
15
+ .milkdown .ProseMirror-gapcursor:after {
16
+ box-sizing: border-box;
17
+ border-top: 1px solid var(--crepe-color-on-background);
18
+ }
19
+
20
+ .milkdown .ProseMirror-focused {
21
+ --prosemirror-virtual-cursor-color: var(--crepe-color-outline);
22
+ }