prosekit 0.18.3 → 0.19.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 (135) hide show
  1. package/dist/basic/style.css +97 -91
  2. package/dist/basic/typography.css +246 -119
  3. package/dist/extensions/commit/style.css +1 -3
  4. package/dist/extensions/gap-cursor/style.css +8 -8
  5. package/dist/extensions/list/style.css +43 -38
  6. package/dist/extensions/loro/style.css +20 -19
  7. package/dist/extensions/page/style.css +43 -0
  8. package/dist/extensions/placeholder/style.css +4 -7
  9. package/dist/extensions/search/style.css +5 -8
  10. package/dist/extensions/table/style.css +19 -20
  11. package/dist/extensions/virtual-selection/style.css +1 -4
  12. package/dist/extensions/yjs/style.css +15 -20
  13. package/dist/pm/view/style/prosemirror.css +21 -21
  14. package/dist/prosekit-basic.js +2 -3
  15. package/dist/prosekit-core-test.js +2 -3
  16. package/dist/prosekit-core.js +2 -3
  17. package/dist/prosekit-extensions-autocomplete.js +2 -3
  18. package/dist/prosekit-extensions-background-color.js +2 -3
  19. package/dist/prosekit-extensions-blockquote.js +2 -3
  20. package/dist/prosekit-extensions-bold.js +2 -3
  21. package/dist/prosekit-extensions-code-block.js +2 -3
  22. package/dist/prosekit-extensions-code.js +2 -3
  23. package/dist/prosekit-extensions-commit.js +2 -3
  24. package/dist/prosekit-extensions-doc.js +2 -3
  25. package/dist/prosekit-extensions-drop-cursor.js +2 -3
  26. package/dist/prosekit-extensions-drop-indicator.js +2 -3
  27. package/dist/prosekit-extensions-enter-rule.js +2 -3
  28. package/dist/prosekit-extensions-file.js +2 -3
  29. package/dist/prosekit-extensions-gap-cursor.js +2 -3
  30. package/dist/prosekit-extensions-hard-break.js +2 -3
  31. package/dist/prosekit-extensions-heading.js +2 -3
  32. package/dist/prosekit-extensions-horizontal-rule.js +2 -3
  33. package/dist/prosekit-extensions-image.js +2 -3
  34. package/dist/prosekit-extensions-input-rule.js +2 -3
  35. package/dist/prosekit-extensions-italic.js +2 -3
  36. package/dist/prosekit-extensions-link.js +2 -3
  37. package/dist/prosekit-extensions-list.js +2 -3
  38. package/dist/prosekit-extensions-loro.js +2 -3
  39. package/dist/prosekit-extensions-mark-rule.js +2 -3
  40. package/dist/prosekit-extensions-math.js +2 -3
  41. package/dist/prosekit-extensions-mention.js +2 -3
  42. package/dist/prosekit-extensions-mod-click-prevention.js +2 -3
  43. package/dist/prosekit-extensions-page.d.ts +1 -0
  44. package/dist/prosekit-extensions-page.js +2 -0
  45. package/dist/prosekit-extensions-paragraph.js +2 -3
  46. package/dist/prosekit-extensions-paste-rule.js +2 -3
  47. package/dist/prosekit-extensions-placeholder.js +2 -3
  48. package/dist/prosekit-extensions-readonly.js +2 -3
  49. package/dist/prosekit-extensions-search.js +2 -3
  50. package/dist/prosekit-extensions-strike.js +2 -3
  51. package/dist/prosekit-extensions-table.js +2 -3
  52. package/dist/prosekit-extensions-text-align.js +2 -3
  53. package/dist/prosekit-extensions-text-color.js +2 -3
  54. package/dist/prosekit-extensions-text.js +2 -3
  55. package/dist/prosekit-extensions-underline.js +2 -3
  56. package/dist/prosekit-extensions-virtual-selection.js +2 -3
  57. package/dist/prosekit-extensions-yjs.js +2 -3
  58. package/dist/prosekit-extensions.js +2 -3
  59. package/dist/prosekit-lit-autocomplete.js +2 -3
  60. package/dist/prosekit-lit-block-handle.js +2 -3
  61. package/dist/prosekit-lit-drop-indicator.js +2 -3
  62. package/dist/prosekit-lit-inline-popover.js +2 -3
  63. package/dist/prosekit-lit-popover.js +2 -3
  64. package/dist/prosekit-lit-resizable.js +2 -3
  65. package/dist/prosekit-lit-table-handle.js +2 -3
  66. package/dist/prosekit-lit-tooltip.js +2 -3
  67. package/dist/prosekit-lit.js +2 -3
  68. package/dist/prosekit-pm-commands.js +2 -3
  69. package/dist/prosekit-pm-history.js +2 -3
  70. package/dist/prosekit-pm-inputrules.js +2 -3
  71. package/dist/prosekit-pm-keymap.js +2 -3
  72. package/dist/prosekit-pm-model.js +2 -3
  73. package/dist/prosekit-pm-state.js +2 -3
  74. package/dist/prosekit-pm-transform.js +2 -3
  75. package/dist/prosekit-pm-view.js +2 -3
  76. package/dist/prosekit-pm.js +2 -3
  77. package/dist/prosekit-preact-autocomplete.js +2 -3
  78. package/dist/prosekit-preact-block-handle.js +2 -3
  79. package/dist/prosekit-preact-drop-indicator.js +2 -3
  80. package/dist/prosekit-preact-inline-popover.js +2 -3
  81. package/dist/prosekit-preact-popover.js +2 -3
  82. package/dist/prosekit-preact-resizable.js +2 -3
  83. package/dist/prosekit-preact-table-handle.js +2 -3
  84. package/dist/prosekit-preact-tooltip.js +2 -3
  85. package/dist/prosekit-preact.js +2 -3
  86. package/dist/prosekit-react-autocomplete.js +2 -3
  87. package/dist/prosekit-react-block-handle.js +2 -3
  88. package/dist/prosekit-react-drop-indicator.js +2 -3
  89. package/dist/prosekit-react-inline-popover.js +2 -3
  90. package/dist/prosekit-react-popover.js +2 -3
  91. package/dist/prosekit-react-resizable.js +2 -3
  92. package/dist/prosekit-react-table-handle.js +2 -3
  93. package/dist/prosekit-react-tooltip.js +2 -3
  94. package/dist/prosekit-react.js +2 -3
  95. package/dist/prosekit-solid-autocomplete.js +2 -3
  96. package/dist/prosekit-solid-block-handle.js +2 -3
  97. package/dist/prosekit-solid-drop-indicator.js +2 -3
  98. package/dist/prosekit-solid-inline-popover.js +2 -3
  99. package/dist/prosekit-solid-popover.js +2 -3
  100. package/dist/prosekit-solid-resizable.js +2 -3
  101. package/dist/prosekit-solid-table-handle.js +2 -3
  102. package/dist/prosekit-solid-tooltip.js +2 -3
  103. package/dist/prosekit-solid.js +2 -3
  104. package/dist/prosekit-svelte-autocomplete.js +2 -3
  105. package/dist/prosekit-svelte-block-handle.js +2 -3
  106. package/dist/prosekit-svelte-drop-indicator.js +2 -3
  107. package/dist/prosekit-svelte-inline-popover.js +2 -3
  108. package/dist/prosekit-svelte-popover.js +2 -3
  109. package/dist/prosekit-svelte-resizable.js +2 -3
  110. package/dist/prosekit-svelte-table-handle.js +2 -3
  111. package/dist/prosekit-svelte-tooltip.js +2 -3
  112. package/dist/prosekit-svelte.js +2 -3
  113. package/dist/prosekit-vue-autocomplete.js +2 -3
  114. package/dist/prosekit-vue-block-handle.js +2 -3
  115. package/dist/prosekit-vue-drop-indicator.js +2 -3
  116. package/dist/prosekit-vue-inline-popover.js +2 -3
  117. package/dist/prosekit-vue-popover.js +2 -3
  118. package/dist/prosekit-vue-resizable.js +2 -3
  119. package/dist/prosekit-vue-table-handle.js +2 -3
  120. package/dist/prosekit-vue-tooltip.js +2 -3
  121. package/dist/prosekit-vue.js +2 -3
  122. package/dist/prosekit-web-autocomplete.js +2 -3
  123. package/dist/prosekit-web-block-handle.js +2 -3
  124. package/dist/prosekit-web-drop-indicator.js +2 -3
  125. package/dist/prosekit-web-inline-popover.js +2 -3
  126. package/dist/prosekit-web-popover.js +2 -3
  127. package/dist/prosekit-web-resizable.js +2 -3
  128. package/dist/prosekit-web-table-handle.js +2 -3
  129. package/dist/prosekit-web-tooltip.js +2 -3
  130. package/dist/prosekit-web.js +2 -3
  131. package/dist/prosekit.js +1 -1
  132. package/package.json +31 -20
  133. package/src/extensions/page/style-css.ts +10 -0
  134. package/src/extensions/page/style.css +1 -0
  135. package/src/extensions/page.gen.ts +5 -0
@@ -1,189 +1,316 @@
1
- /* ../basic/src/typography.css */
2
- :root {
3
- --prosekit-node-selection-color: rgba(57, 136, 255, 0.2);
4
- --prosekit-autocomplete-color: rgba(209, 213, 219, 0.15);
5
- }
6
- .ProseMirror {
7
- display: flex;
8
- flex-direction: column;
9
- }
10
1
  .ProseMirror {
11
- line-height: 1.5;
2
+ --prosekit-hue: 250;
3
+ --prosekit-outline-color: hsl(var(--prosekit-hue) 100% 60%);
4
+ --prosekit-node-selection-color: hsl(var(--prosekit-hue) 100% 60% / .22);
5
+ --prosekit-border-color: #9993;
6
+ --prosekit-blockquote-color: #9996;
7
+ --prosekit-autocomplete-color: #8080801a;
12
8
  }
13
- .ProseMirror p:first-child,
14
- .ProseMirror h1:first-child,
15
- .ProseMirror h2:first-child,
16
- .ProseMirror h3:first-child,
17
- .ProseMirror h4:first-child,
18
- .ProseMirror h5:first-child,
19
- .ProseMirror h6:first-child {
20
- margin-top: 0;
21
- }
22
- .ProseMirror p:last-child,
23
- .ProseMirror h1:last-child,
24
- .ProseMirror h2:last-child,
25
- .ProseMirror h3:last-child,
26
- .ProseMirror h4:last-child,
27
- .ProseMirror h5:last-child,
28
- .ProseMirror h6:last-child {
29
- margin-bottom: 0;
30
- }
31
- .ProseMirror h1,
32
- .ProseMirror h2,
33
- .ProseMirror h3,
34
- .ProseMirror h4,
35
- .ProseMirror h5,
36
- .ProseMirror h6 {
37
- padding-top: 0;
38
- padding-bottom: 0;
39
- border-style: none;
40
- font-weight: 600;
41
- line-height: 1.25;
9
+
10
+ @supports (color: oklch(70% 0.2 240deg)) {
11
+ .ProseMirror {
12
+ --prosekit-outline-color: oklch(.66 .2 var(--prosekit-hue));
13
+ --prosekit-node-selection-color: oklch(.66 .2 var(--prosekit-hue) / .1);
14
+ }
42
15
  }
43
- .ProseMirror a {
44
- font-weight: 500;
45
- text-decoration: underline;
16
+
17
+ @supports (color: color-mix(in srgb, CanvasText 15%, Canvas)) {
18
+ .ProseMirror {
19
+ --prosekit-border-color: color-mix(in srgb, CanvasText 15%, Canvas);
20
+ --prosekit-blockquote-color: color-mix(in srgb, CanvasText 40%, Canvas);
21
+ --prosekit-autocomplete-color: color-mix(in srgb, CanvasText 5%, Canvas);
22
+ }
46
23
  }
47
- .ProseMirror p,
48
- .ProseMirror ul,
49
- .ProseMirror ol,
50
- .ProseMirror pre {
51
- margin: 0;
52
- padding: 0.5rem 0;
24
+
25
+ .ProseMirror {
26
+ flex-direction: column;
53
27
  line-height: 1.5;
28
+ display: flex;
54
29
  }
55
- .ProseMirror blockquote {
56
- padding-inline-start: 1em;
57
- border-inline-start: 0.25em solid hsl(0 0% 60% / 0.4);
58
- }
30
+
59
31
  .ProseMirror h1 {
60
- margin: 1rem 0;
61
- font-size: 2.25em;
32
+ margin: 36px 0 4px;
33
+ padding: 3px 2px;
34
+ font-size: 40px;
35
+ font-weight: 700;
36
+ line-height: 44px;
62
37
  }
38
+
63
39
  .ProseMirror h2 {
64
- margin: 1.75em 0 0.5em;
65
- font-size: 1.75em;
40
+ margin: 32px 0 4px;
41
+ padding: 3px 2px;
42
+ font-size: 30px;
43
+ font-weight: 600;
44
+ line-height: 39px;
66
45
  }
46
+
67
47
  .ProseMirror h3 {
68
- margin: 1.5em 0 0.5em;
69
- font-size: 1.375em;
48
+ margin: 22px 0 1px;
49
+ padding: 3px 2px;
50
+ font-size: 24px;
51
+ font-weight: 600;
52
+ line-height: 32px;
70
53
  }
54
+
71
55
  .ProseMirror h4 {
72
- margin: 1em 0;
73
- font-size: 1.125em;
56
+ margin: 16px 0 1px;
57
+ padding: 3px 2px;
58
+ font-size: 20px;
59
+ font-weight: 600;
60
+ line-height: 26px;
74
61
  }
62
+
75
63
  .ProseMirror h5 {
76
- margin: 0.5em 0;
64
+ margin: 14px 0 1px;
65
+ padding: 3px 2px;
66
+ font-size: 18px;
67
+ font-weight: 600;
68
+ line-height: 22px;
77
69
  }
70
+
78
71
  .ProseMirror h6 {
79
- opacity: 0.8;
72
+ margin: 12px 0 1px;
73
+ padding: 3px 2px;
74
+ font-size: 16px;
75
+ font-weight: 600;
76
+ line-height: 20px;
80
77
  }
81
- .ProseMirror img,
82
- .ProseMirror video {
83
- width: min-content;
84
- max-width: 100%;
85
- margin: 0.5em 0;
78
+
79
+ .ProseMirror p {
80
+ margin: 1px 0 0;
81
+ padding: 3px 2px;
82
+ font-size: 16px;
83
+ line-height: 24px;
86
84
  }
85
+
87
86
  .ProseMirror code {
88
- font-weight: 600;
89
- font-size: 0.875em;
87
+ font-size: .875em;
88
+ font-weight: 500;
90
89
  }
90
+
91
91
  .ProseMirror pre {
92
- margin: 0.5rem 0;
93
- padding: 2rem 2rem;
94
- overflow-x: auto;
95
- border: 1px solid hsl(0 0% 50% / 0.2);
96
- border-radius: 0.375rem;
92
+ border: 1px solid var(--prosekit-border-color);
97
93
  background-color: var(--prosemirror-highlight-bg, inherit);
98
94
  color: var(--prosemirror-highlight, inherit);
95
+ border-radius: .375rem;
96
+ margin: .5rem 0;
97
+ padding: 2rem;
98
+ overflow-x: auto;
99
99
  }
100
- .ProseMirror pre,
101
- .ProseMirror code {
100
+
101
+ .ProseMirror pre, .ProseMirror code {
102
+ hyphens: none;
102
103
  white-space: pre;
103
104
  word-break: normal;
104
105
  word-spacing: normal;
105
- word-wrap: normal;
106
- hyphens: none;
106
+ overflow-wrap: normal;
107
107
  tab-size: 4;
108
108
  }
109
+
109
110
  .ProseMirror pre code {
110
111
  font-weight: inherit;
111
112
  }
113
+
112
114
  .ProseMirror pre:has(code) {
113
115
  direction: ltr;
114
116
  }
117
+
118
+ .ProseMirror img, .ProseMirror video {
119
+ width: min-content;
120
+ max-width: 100%;
121
+ margin: .5em 0;
122
+ }
123
+
124
+ .ProseMirror blockquote {
125
+ padding-top: 3px;
126
+ padding-bottom: 3px;
127
+ margin: 4px 0;
128
+ padding-inline: 1em 2px;
129
+ position: relative;
130
+ }
131
+
132
+ .ProseMirror blockquote:before {
133
+ top: 2px;
134
+ bottom: 2px;
135
+ border-inline-start: .25em solid var(--prosekit-blockquote-color);
136
+ content: "";
137
+ display: block;
138
+ position: absolute;
139
+ inset-inline-start: 2px;
140
+ }
141
+
115
142
  .ProseMirror hr {
116
- margin: 2em 0;
117
- border-width: 1px;
143
+ color: var(--prosekit-border-color);
144
+ border-width: 1px 0 0;
145
+ margin: 13px 0;
118
146
  }
147
+
119
148
  .ProseMirror .prosekit-horizontal-rule {
120
- margin: 1em 0;
121
- padding: 1em 0;
149
+ border-width: 0;
150
+ margin: 1px 0;
151
+ padding: 12px 2px;
122
152
  line-height: 1px;
123
153
  }
154
+
124
155
  .ProseMirror .prosekit-horizontal-rule hr {
125
156
  margin: 0;
126
157
  }
158
+
159
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break {
160
+ position: relative;
161
+ }
162
+
163
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break hr {
164
+ border-style: dashed;
165
+ font-size: 12px;
166
+ mask-image: linear-gradient(to right, #000, #000 calc(50% - 6ch), #0000 calc(50% - 6ch) calc(50% + 6ch), #000 calc(50% + 6ch), #000);
167
+ }
168
+
169
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break:after {
170
+ content: "Page break";
171
+ color: var(--prosekit-border-color);
172
+ pointer-events: none;
173
+ font-size: 12px;
174
+ position: absolute;
175
+ top: 50%;
176
+ left: 50%;
177
+ transform: translate(-50%, -50%);
178
+ }
179
+
180
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break.ProseMirror-selectednode hr {
181
+ border-color: var(--prosekit-outline-color);
182
+ }
183
+
184
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break.ProseMirror-selectednode:after {
185
+ color: var(--prosekit-outline-color);
186
+ }
187
+
188
+ @media print {
189
+ .ProseMirror .prosekit-horizontal-rule.prosekit-page-break {
190
+ opacity: 0;
191
+ }
192
+ }
193
+
127
194
  .ProseMirror .tableWrapper {
128
- margin-top: 0.5em;
195
+ margin-top: .5em;
129
196
  margin-bottom: 1em;
130
197
  }
131
- .ProseMirror .prosemirror-flat-list {
132
- line-height: 1.5;
198
+
199
+ .ProseMirror .tableWrapper table, .ProseMirror .tableWrapper tr, .ProseMirror .tableWrapper th, .ProseMirror .tableWrapper td {
200
+ border: 1px solid var(--prosekit-border-color);
201
+ border-collapse: collapse;
202
+ border-spacing: 0;
203
+ }
204
+
205
+ .ProseMirror .tableWrapper .selectedCell {
206
+ --color: 210, 100%, 56%;
207
+ border: 1px solid var(--prosekit-outline-color);
208
+ background-color: var(--prosekit-node-selection-color);
209
+ border-style: double;
210
+ }
211
+
212
+ .ProseMirror .tableWrapper .column-resize-handle {
213
+ outline-color: var(--prosekit-outline-color);
214
+ background-color: var(--prosekit-outline-color);
215
+ outline-width: 1px;
216
+ outline-style: solid;
217
+ }
218
+
219
+ .ProseMirror a {
220
+ text-decoration: underline;
221
+ }
222
+
223
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h1):before {
224
+ top: 49px;
225
+ }
226
+
227
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h1) > .list-marker {
228
+ top: 49px;
133
229
  }
134
- .ProseMirror .prosemirror-flat-list::before,
135
- .ProseMirror .prosemirror-flat-list > .list-marker {
136
- top: 0.5rem;
230
+
231
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h2):before {
232
+ top: 42.5px;
233
+ }
234
+
235
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h2) > .list-marker {
236
+ top: 42.5px;
137
237
  }
138
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h1)::before,
139
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h1) > .list-marker {
140
- top: 0.75em;
238
+
239
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h3):before {
240
+ top: 29px;
141
241
  }
142
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h2)::before,
143
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h2) > .list-marker {
144
- top: 0.5em;
242
+
243
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h3) > .list-marker {
244
+ top: 29px;
145
245
  }
146
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h3)::before,
147
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h3) > .list-marker {
148
- top: 0.25em;
246
+
247
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h4):before {
248
+ top: 20px;
149
249
  }
150
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h4)::before,
151
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h4) > .list-marker {
152
- top: 0;
250
+
251
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h4) > .list-marker {
252
+ top: 20px;
153
253
  }
154
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h5)::before,
155
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h5) > .list-marker {
156
- top: -0.2em;
254
+
255
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h5):before {
256
+ top: 16px;
157
257
  }
158
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h6)::before,
159
- .ProseMirror .prosemirror-flat-list:has(> div.list-content > h6) > .list-marker {
160
- top: -0.3em;
258
+
259
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h5) > .list-marker {
260
+ top: 16px;
261
+ }
262
+
263
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h6):before {
264
+ top: 13px;
265
+ }
266
+
267
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > h6) > .list-marker {
268
+ top: 13px;
269
+ }
270
+
271
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > p):before {
272
+ top: 4px;
161
273
  }
162
- .ProseMirror div[data-node-view-root=true] {
274
+
275
+ .ProseMirror .prosemirror-flat-list:has( > div.list-content > p) > .list-marker {
276
+ top: 4px;
277
+ }
278
+
279
+ .ProseMirror div[data-node-view-root="true"] {
163
280
  display: contents;
164
281
  }
282
+
165
283
  .ProseMirror .ProseMirror-selectednode {
166
- border-radius: 0.2rem;
167
- outline-color: var(--prosekit-node-selection-color);
168
- outline-style: solid;
169
- outline-width: 0.3rem;
284
+ outline-color: var(--prosekit-outline-color);
170
285
  background-color: var(--prosekit-node-selection-color);
286
+ border-radius: 2px;
287
+ outline-width: 1px;
288
+ outline-style: solid;
289
+ }
290
+
291
+ .ProseMirror pre.ProseMirror-selectednode {
292
+ border-radius: .375rem;
171
293
  }
294
+
172
295
  .ProseMirror .prosekit-autocomplete-match {
173
- border-radius: 0.1em;
174
296
  background-color: var(--prosekit-autocomplete-color);
175
- box-shadow: 0 0 0 0.3em var(--prosekit-autocomplete-color);
297
+ box-shadow: 0 0 0 .3em var(--prosekit-autocomplete-color);
298
+ border-radius: .1em;
176
299
  }
300
+
177
301
  .ProseMirror.prosekit-dragging {
178
302
  --prosekit-node-selection-color: transparent;
179
303
  }
180
- .ProseMirror .prosemirror-math-inline.prosemirror-math-head-inside .prosemirror-math-source::before {
304
+
305
+ .ProseMirror .prosemirror-math-inline.prosemirror-math-head-inside .prosemirror-math-source:before, .ProseMirror .prosemirror-math-inline.prosemirror-math-head-inside .prosemirror-math-source:after {
181
306
  content: "$";
182
- opacity: 0.5;
307
+ opacity: .5;
183
308
  }
184
- .ProseMirror .prosemirror-math-inline.prosemirror-math-head-inside .prosemirror-math-source::after {
185
- content: "$";
186
- opacity: 0.5;
309
+
310
+ .ProseMirror .prosemirror-math-block:not(.prosemirror-math-head-inside) {
311
+ margin: .5rem 0;
187
312
  }
188
313
 
189
- /* src/basic/typography.css */
314
+ .ProseMirror .prosemirror-math-block .prosemirror-math-display {
315
+ padding: .5rem;
316
+ }
@@ -1,10 +1,8 @@
1
- /* ../extensions/src/commit/style.css */
2
1
  .prosekit-commit-deletion {
3
2
  background-color: #e5534b80;
4
3
  text-decoration: line-through;
5
4
  }
5
+
6
6
  .prosekit-commit-addition {
7
7
  background-color: #53e54b80;
8
8
  }
9
-
10
- /* src/extensions/commit/style.css */
@@ -1,25 +1,25 @@
1
- /* ../extensions/src/gap-cursor/style.css */
2
1
  .ProseMirror-gapcursor {
2
+ pointer-events: none;
3
3
  display: none;
4
4
  position: relative;
5
- pointer-events: none;
6
5
  }
6
+
7
7
  .ProseMirror-gapcursor:after {
8
+ content: "";
9
+ border-top: 1px solid;
10
+ width: 20px;
11
+ animation: 1.1s steps(2, start) infinite ProseMirror-cursor-blink;
8
12
  display: block;
9
13
  position: absolute;
10
14
  top: -2px;
11
- width: 20px;
12
- border-top: 1px solid currentColor;
13
- content: "";
14
- animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
15
15
  }
16
+
16
17
  @keyframes ProseMirror-cursor-blink {
17
18
  to {
18
19
  visibility: hidden;
19
20
  }
20
21
  }
22
+
21
23
  .ProseMirror-focused .ProseMirror-gapcursor {
22
24
  display: block;
23
25
  }
24
-
25
- /* src/extensions/gap-cursor/style.css */
@@ -1,95 +1,100 @@
1
- /* ../extensions/src/list/style.css */
2
1
  :root {
3
2
  --prosekit-list-bullet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='2.5' fill='currentColor'/%3E%3C/svg%3E");
4
3
  --prosekit-list-toggle-open-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='8,10 12,14 16,10' fill='currentColor'/%3E%3C/svg%3E");
5
4
  --prosekit-list-toggle-closed-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='10,8 14,12 10,16' fill='currentColor'/%3E%3C/svg%3E");
6
5
  }
6
+
7
7
  .prosemirror-flat-list {
8
- position: relative;
9
8
  margin: 0;
10
9
  padding: 0;
11
10
  list-style: none;
11
+ position: relative;
12
12
  }
13
+
13
14
  .prosemirror-flat-list > .list-marker {
14
- position: absolute;
15
15
  width: 1.5em;
16
16
  width: 1lh;
17
17
  height: 1.5em;
18
+ text-align: center;
18
19
  height: 1lh;
20
+ position: absolute;
19
21
  inset-inline-start: 0;
20
- text-align: center;
21
22
  }
23
+
22
24
  .prosemirror-flat-list > .list-content {
23
25
  margin-inline-start: 1.5em;
24
26
  margin-inline-start: 1lh;
25
27
  }
26
- .prosemirror-flat-list[data-list-kind=bullet] > .list-marker,
27
- .prosemirror-flat-list[data-list-kind=toggle] > .list-marker {
28
+
29
+ .prosemirror-flat-list[data-list-kind="bullet"] > .list-marker, .prosemirror-flat-list[data-list-kind="toggle"] > .list-marker {
28
30
  background-color: currentColor;
29
- -webkit-mask-position: center;
30
31
  mask-position: center;
31
- -webkit-mask-repeat: no-repeat;
32
- mask-repeat: no-repeat;
33
- -webkit-mask-size: contain;
34
32
  mask-size: contain;
33
+ mask-repeat: no-repeat;
35
34
  }
36
- .prosemirror-flat-list[data-list-kind=bullet] > .list-marker {
37
- -webkit-mask-image: var(--prosekit-list-bullet-icon);
35
+
36
+ .prosemirror-flat-list[data-list-kind="bullet"] > .list-marker {
38
37
  mask-image: var(--prosekit-list-bullet-icon);
39
38
  }
40
- .prosemirror-flat-list[data-list-kind=toggle] > .list-marker {
41
- -webkit-mask-image: var(--prosekit-list-toggle-open-icon);
39
+
40
+ .prosemirror-flat-list[data-list-kind="toggle"] > .list-marker {
42
41
  mask-image: var(--prosekit-list-toggle-open-icon);
43
42
  }
44
- .prosemirror-flat-list[data-list-kind=toggle][data-list-collapsable][data-list-collapsed] > .list-marker {
45
- -webkit-mask-image: var(--prosekit-list-toggle-closed-icon);
43
+
44
+ .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed] > .list-marker {
46
45
  mask-image: var(--prosekit-list-toggle-closed-icon);
47
46
  }
48
- .prosemirror-flat-list[data-list-kind=ordered] {
49
- counter-increment: prosemirror-flat-list-counter;
50
- }
51
- .prosemirror-flat-list[data-list-kind=ordered] > * {
47
+
48
+ .prosemirror-flat-list[data-list-kind="ordered"] > * {
52
49
  contain: style;
53
50
  }
54
- .prosemirror-flat-list[data-list-kind=ordered]::before {
55
- position: absolute;
51
+
52
+ .prosemirror-flat-list[data-list-kind="ordered"]:before {
56
53
  inset-inline-end: calc(100% - 1.5em);
57
- inset-inline-end: calc(100% - 1lh);
58
54
  content: counter(prosemirror-flat-list-counter, decimal) ". ";
59
55
  font-variant-numeric: tabular-nums;
56
+ position: absolute;
57
+ inset-inline-end: calc(100% - 1lh);
58
+ }
59
+
60
+ .prosemirror-flat-list[data-list-kind="ordered"] {
61
+ counter-increment: prosemirror-flat-list-counter;
60
62
  }
61
- .prosemirror-flat-list[data-list-kind=ordered]:first-child,
62
- :not(.prosemirror-flat-list[data-list-kind=ordered]) + .prosemirror-flat-list[data-list-kind=ordered] {
63
+
64
+ .prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"] {
63
65
  counter-reset: prosemirror-flat-list-counter;
64
66
  }
67
+
65
68
  @supports (counter-set: prosemirror-flat-list-counter 1) {
66
- :is(.prosemirror-flat-list[data-list-kind=ordered]:first-child, :not(.prosemirror-flat-list[data-list-kind=ordered]) + .prosemirror-flat-list[data-list-kind=ordered])[data-list-order] {
69
+ :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
67
70
  counter-set: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
68
71
  }
69
72
  }
73
+
70
74
  @supports not (counter-set: prosemirror-flat-list-counter 1) {
71
- :is(.prosemirror-flat-list[data-list-kind=ordered]:first-child, :not(.prosemirror-flat-list[data-list-kind=ordered]) + .prosemirror-flat-list[data-list-kind=ordered])[data-list-order] {
75
+ :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
72
76
  counter-increment: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
73
77
  }
74
78
  }
75
- .prosemirror-flat-list[data-list-kind=task] > .list-marker,
76
- .prosemirror-flat-list[data-list-kind=task] > .list-marker * {
77
- display: flex;
78
- align-items: center;
79
+
80
+ .prosemirror-flat-list[data-list-kind="task"] > .list-marker, .prosemirror-flat-list[data-list-kind="task"] > .list-marker * {
81
+ cursor: pointer;
79
82
  justify-content: center;
83
+ align-items: center;
80
84
  margin: 0;
81
85
  padding: 0;
82
- cursor: pointer;
86
+ display: flex;
83
87
  }
84
- .prosemirror-flat-list[data-list-kind=toggle][data-list-collapsable] > .list-marker {
88
+
89
+ .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable] > .list-marker {
85
90
  cursor: pointer;
86
91
  }
87
- .prosemirror-flat-list[data-list-kind=toggle]:not([data-list-collapsable]) > .list-marker {
88
- opacity: 40%;
92
+
93
+ .prosemirror-flat-list[data-list-kind="toggle"]:not([data-list-collapsable]) > .list-marker {
94
+ opacity: .4;
89
95
  pointer-events: none;
90
96
  }
91
- .prosemirror-flat-list[data-list-kind=toggle][data-list-collapsable][data-list-collapsed] > .list-content > *:nth-child(n+2) {
97
+
98
+ .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed] > .list-content > :nth-child(n+2) {
92
99
  display: none;
93
100
  }
94
-
95
- /* src/extensions/list/style.css */
@@ -1,32 +1,33 @@
1
- /* ../extensions/src/loro/style.css */
2
1
  .ProseMirror-loro-cursor:first-child {
3
2
  margin-top: 16px;
4
3
  }
4
+
5
5
  .ProseMirror-loro-cursor {
6
- position: relative;
7
- margin-right: -1px;
8
- margin-left: -1px;
9
- border-right: 1px solid black;
10
- border-left: 1px solid black;
11
- border-color: orange;
12
6
  word-break: normal;
13
7
  pointer-events: none;
8
+ border-color: orange;
9
+ border-left-style: solid;
10
+ border-left-width: 1px;
11
+ border-right-style: solid;
12
+ border-right-width: 1px;
13
+ margin-left: -1px;
14
+ margin-right: -1px;
15
+ position: relative;
14
16
  }
17
+
15
18
  .ProseMirror-loro-cursor > div {
16
- position: absolute;
17
- top: -1.05em;
18
- left: -1px;
19
- padding-right: 2px;
19
+ color: #fff;
20
+ white-space: nowrap;
21
+ user-select: none;
22
+ background-color: #fa8100;
20
23
  padding-left: 2px;
21
- background-color: rgb(250, 129, 0);
22
- color: white;
24
+ padding-right: 2px;
25
+ font-family: serif;
26
+ font-size: 13px;
23
27
  font-style: normal;
24
28
  font-weight: normal;
25
- font-size: 13px;
26
29
  line-height: normal;
27
- font-family: serif;
28
- white-space: nowrap;
29
- user-select: none;
30
+ position: absolute;
31
+ top: -1.05em;
32
+ left: -1px;
30
33
  }
31
-
32
- /* src/extensions/loro/style.css */