@meowdown/core 0.82.0 → 0.83.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.
package/dist/style.css CHANGED
@@ -856,6 +856,14 @@
856
856
  }
857
857
  }
858
858
  }
859
+
860
+ :where(.ProseMirror) {
861
+ tab-size: 4;
862
+ }
863
+
864
+ :where(.ProseMirror) :where(p, h1, h2, h3, h4, h5, h6, blockquote, pre, ul, ol, figure, hr) {
865
+ margin: 0;
866
+ }
859
867
  }
860
868
 
861
869
  @layer meowdown.theme {
@@ -886,9 +894,13 @@
886
894
  --meowdown-mermaid-surface: color-mix(in srgb,
887
895
  var(--meowdown-mermaid-fg) 3%,
888
896
  var(--meowdown-mermaid-bg));
897
+ --meowdown-mermaid-surface-alt: color-mix(in srgb,
898
+ var(--meowdown-mermaid-fg) 8%,
899
+ var(--meowdown-mermaid-bg));
889
900
  --meowdown-mermaid-border: color-mix(in srgb,
890
901
  var(--meowdown-mermaid-fg) 20%,
891
902
  var(--meowdown-mermaid-bg));
903
+ --meowdown-mermaid-critical: var(--meowdown-danger);
892
904
  --meowdown-mermaid-error: var(--meowdown-danger);
893
905
  --meowdown-image-loading-bg: light-dark(oklch(96.7% 0 0), oklch(27.4% .005 286));
894
906
  --meowdown-image-radius: .5rem;
@@ -917,6 +929,18 @@
917
929
  --meowdown-bullet-halo-radius: 5.5px;
918
930
  --meowdown-bullet-collapsed: var(--meowdown-accent);
919
931
  --meowdown-gutter: 3.5rem;
932
+ --meowdown-block-padding: .3em;
933
+ --meowdown-h1-size: 1.75rem;
934
+ --meowdown-h2-size: 1.4rem;
935
+ --meowdown-h3-size: 1.2rem;
936
+ --meowdown-h4-size: 1.1rem;
937
+ --meowdown-h5-size: 1rem;
938
+ --meowdown-h6-size: .95rem;
939
+ --meowdown-heading-line-height: 1.25;
940
+ --meowdown-code-block-font-size: .9rem;
941
+ --meowdown-code-block-line-height: 1.5;
942
+ --meowdown-code-block-padding-block: .9rem;
943
+ --meowdown-code-block-margin-block: .3rem;
920
944
  }
921
945
  }
922
946
 
@@ -1024,44 +1048,47 @@
1024
1048
  padding-left: var(--meowdown-gutter);
1025
1049
  }
1026
1050
 
1027
- .ProseMirror > * + * {
1028
- margin-top: .85em;
1029
- }
1030
-
1031
1051
  .ProseMirror p {
1052
+ padding-block: var(--meowdown-block-padding);
1032
1053
  white-space: pre-wrap;
1033
1054
  }
1034
1055
 
1035
1056
  .ProseMirror h1, .ProseMirror h2, .ProseMirror h3, .ProseMirror h4, .ProseMirror h5, .ProseMirror h6 {
1057
+ font-weight: 600;
1058
+ line-height: var(--meowdown-heading-line-height);
1036
1059
  letter-spacing: -.01em;
1037
1060
  color: var(--meowdown-heading);
1038
1061
  white-space: pre-wrap;
1039
- font-weight: 600;
1040
- line-height: 1.25;
1062
+ padding-top: .8em;
1063
+ padding-bottom: .2em;
1064
+
1065
+ &:first-child {
1066
+ padding-top: 0;
1067
+ }
1041
1068
  }
1042
1069
 
1043
1070
  .ProseMirror h1 {
1044
- font-size: 1.75rem;
1071
+ font-size: var(--meowdown-h1-size);
1045
1072
  }
1046
1073
 
1047
1074
  .ProseMirror h2 {
1048
- font-size: 1.4rem;
1075
+ font-size: var(--meowdown-h2-size);
1049
1076
  }
1050
1077
 
1051
1078
  .ProseMirror h3 {
1052
- font-size: 1.2rem;
1079
+ font-size: var(--meowdown-h3-size);
1053
1080
  }
1054
1081
 
1055
1082
  .ProseMirror h4 {
1056
- font-size: 1.1rem;
1083
+ font-size: var(--meowdown-h4-size);
1057
1084
  }
1058
1085
 
1059
1086
  .ProseMirror h5 {
1060
- font-size: 1rem;
1087
+ font-size: var(--meowdown-h5-size);
1061
1088
  }
1062
1089
 
1063
1090
  .ProseMirror h6 {
1064
- font-size: .95rem;
1091
+ font-size: var(--meowdown-h6-size);
1065
1092
  }
1066
1093
 
1067
1094
  .ProseMirror .md-link {
@@ -1119,11 +1146,60 @@
1119
1146
  margin-top: .25em;
1120
1147
  }
1121
1148
 
1149
+ .ProseMirror .prosemirror-flat-list {
1150
+ flex-direction: column;
1151
+ display: flex;
1152
+ }
1153
+
1122
1154
  .ProseMirror .prosemirror-flat-list > .list-marker {
1123
1155
  -webkit-user-select: none;
1124
1156
  user-select: none;
1125
1157
  }
1126
1158
 
1159
+ .ProseMirror .prosemirror-flat-list {
1160
+ --meowdown-list-first-line-top: var(--meowdown-block-padding);
1161
+ --meowdown-list-first-line-height: 1lh;
1162
+
1163
+ &:has( > .list-content > [data-code-block]:first-child) {
1164
+ --meowdown-list-first-line-top: calc(var(--meowdown-code-block-margin-block) + var(--meowdown-code-block-padding-block));
1165
+ --meowdown-list-first-line-height: calc(var(--meowdown-code-block-line-height) * var(--meowdown-code-block-font-size));
1166
+ }
1167
+
1168
+ &:has( > .list-content > h1:first-child) {
1169
+ --meowdown-list-first-line-top: 0px;
1170
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h1-size));
1171
+ }
1172
+
1173
+ &:has( > .list-content > h2:first-child) {
1174
+ --meowdown-list-first-line-top: 0px;
1175
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h2-size));
1176
+ }
1177
+
1178
+ &:has( > .list-content > h3:first-child) {
1179
+ --meowdown-list-first-line-top: 0px;
1180
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h3-size));
1181
+ }
1182
+
1183
+ &:has( > .list-content > h4:first-child) {
1184
+ --meowdown-list-first-line-top: 0px;
1185
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h4-size));
1186
+ }
1187
+
1188
+ &:has( > .list-content > h5:first-child) {
1189
+ --meowdown-list-first-line-top: 0px;
1190
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h5-size));
1191
+ }
1192
+
1193
+ &:has( > .list-content > h6:first-child) {
1194
+ --meowdown-list-first-line-top: 0px;
1195
+ --meowdown-list-first-line-height: calc(var(--meowdown-heading-line-height) * var(--meowdown-h6-size));
1196
+ }
1197
+
1198
+ & > .list-marker, &:before {
1199
+ top: calc(var(--meowdown-list-first-line-top) + (var(--meowdown-list-first-line-height) - 1lh) / 2);
1200
+ }
1201
+ }
1202
+
1127
1203
  .ProseMirror .prosemirror-flat-list[data-list-kind="bullet"] > .list-marker {
1128
1204
  background: radial-gradient(circle at center,
1129
1205
  var(--meowdown-bullet) 0 var(--meowdown-bullet-radius),
@@ -1203,17 +1279,19 @@
1203
1279
  }
1204
1280
 
1205
1281
  .ProseMirror pre {
1282
+ margin-block: var(--meowdown-code-block-margin-block);
1283
+ padding: var(--meowdown-code-block-padding-block) 1rem;
1206
1284
  background: var(--meowdown-code-bg);
1207
1285
  font-family: var(--meowdown-font-mono);
1286
+ font-size: var(--meowdown-code-block-font-size);
1287
+ line-height: var(--meowdown-code-block-line-height);
1208
1288
  border-radius: .6rem;
1209
- padding: .9rem 1rem;
1210
- font-size: .9em;
1211
- line-height: 1.5;
1212
1289
  overflow-x: auto;
1213
1290
  }
1214
1291
 
1215
1292
  .ProseMirror pre code {
1216
1293
  color: inherit;
1294
+ font-size: inherit;
1217
1295
  background: none;
1218
1296
  padding: 0;
1219
1297
  }
@@ -1280,6 +1358,7 @@
1280
1358
  }
1281
1359
 
1282
1360
  .ProseMirror table {
1361
+ margin-block: var(--meowdown-block-padding);
1283
1362
  border-collapse: collapse;
1284
1363
  width: 100%;
1285
1364
  overflow: hidden;
@@ -1311,22 +1390,45 @@
1311
1390
  text-align: right;
1312
1391
  }
1313
1392
 
1314
- .ProseMirror table.ProseMirror-selectednode td, .ProseMirror table.ProseMirror-selectednode th {
1315
- border-color: var(--meowdown-node-outline);
1393
+ .ProseMirror table.ProseMirror-selectednode {
1394
+ outline-offset: -1px;
1395
+ background: none;
1396
+ }
1397
+
1398
+ .ProseMirror table.ProseMirror-selectednode :is(td, th), .ProseMirror .selectedCell {
1399
+ background-image: linear-gradient(var(--meowdown-node-selection),
1400
+ var(--meowdown-node-selection));
1316
1401
  }
1317
1402
 
1318
1403
  .ProseMirror .selectedCell {
1319
- border: 1px double var(--meowdown-node-outline);
1320
- background: var(--meowdown-node-selection);
1321
1404
  caret-color: #0000;
1322
1405
  }
1323
1406
 
1407
+ .ProseMirror tr > .selectedCell:first-child, .ProseMirror :not(.selectedCell) + .selectedCell {
1408
+ border-inline-start: 1px double var(--meowdown-node-outline);
1409
+ }
1410
+
1411
+ .ProseMirror tr > .selectedCell:last-child, .ProseMirror .selectedCell:has( + :not(.selectedCell)) {
1412
+ border-inline-end: 1px double var(--meowdown-node-outline);
1413
+ }
1414
+
1415
+ .ProseMirror :is(tr:first-child, tr:not(:has(.selectedCell)) + tr) > .selectedCell {
1416
+ border-top: 1px double var(--meowdown-node-outline);
1417
+ }
1418
+
1419
+ .ProseMirror tr:not(:has( + tr > .selectedCell)) > .selectedCell {
1420
+ border-bottom: 1px double var(--meowdown-node-outline);
1421
+ }
1422
+
1324
1423
  .ProseMirror ::selection, .ProseMirror .prosekit-virtual-selection {
1325
1424
  background: var(--meowdown-selection);
1326
1425
  }
1327
1426
 
1328
- .ProseMirror.ProseMirror-hideselection ::selection {
1427
+ .ProseMirror.ProseMirror-hideselection {
1329
1428
  caret-color: #0000;
1429
+ }
1430
+
1431
+ .ProseMirror.ProseMirror-hideselection ::selection {
1330
1432
  background: none;
1331
1433
  }
1332
1434
 
@@ -1340,10 +1442,14 @@
1340
1442
  border-radius: .6rem;
1341
1443
  }
1342
1444
 
1343
- .ProseMirror.prosekit-dragging .ProseMirror-selectednode, .ProseMirror.prosekit-dragging .selectedCell {
1445
+ .ProseMirror.prosekit-dragging .ProseMirror-selectednode {
1344
1446
  background: none;
1345
1447
  }
1346
1448
 
1449
+ .ProseMirror.prosekit-dragging :is(table.ProseMirror-selectednode :is(td, th), .selectedCell) {
1450
+ background-image: none;
1451
+ }
1452
+
1347
1453
  .ProseMirror .md-tag {
1348
1454
  background: color-mix(in oklab, var(--meowdown-accent) 10%, transparent);
1349
1455
  color: color-mix(in oklab, var(--meowdown-accent) 80%, var(--meowdown-heading));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meowdown/core",
3
3
  "type": "module",
4
- "version": "0.82.0",
4
+ "version": "0.83.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -26,20 +26,20 @@
26
26
  "@floating-ui/dom": "^1.8.0",
27
27
  "@lezer/highlight": "^1.2.5",
28
28
  "@meowdown/embed": "0.3.1",
29
- "@meowdown/markdown": "0.77.0",
30
- "@ocavue/utils": "^1.9.0",
29
+ "@meowdown/markdown": "0.78.0",
30
+ "@ocavue/utils": "^1.11.0",
31
31
  "@post-embed/exporter": "^0.5.0",
32
32
  "@post-embed/schema": "^0.5.2",
33
33
  "@post-embed/types": "^0.5.0",
34
- "@prosekit/core": "^0.13.3",
35
- "@prosekit/extensions": "^0.18.4",
36
- "@prosekit/pm": "^0.1.20",
37
- "@prosekit/web": "^0.9.4",
34
+ "@prosekit/core": "^0.13.4",
35
+ "@prosekit/extensions": "^0.18.5",
36
+ "@prosekit/pm": "^0.1.21",
37
+ "@prosekit/web": "^0.10.0",
38
38
  "hast-util-from-dom": "^5.0.1",
39
39
  "hast-util-to-mdast": "^10.1.2",
40
- "katex": "^0.19.0",
40
+ "katex": "^0.19.1",
41
41
  "lru.min": "^1.1.5",
42
- "mdast-util-to-markdown": "^2.2.0",
42
+ "mdast-util-to-markdown": "^2.2.1",
43
43
  "micromark-util-decode-string": "^2.0.1",
44
44
  "micromark-util-normalize-identifier": "^2.0.1",
45
45
  "prosemirror-enter-rules": "^0.1.6",
@@ -55,13 +55,13 @@
55
55
  "devDependencies": {
56
56
  "@meowdown/vitest": "0.0.0",
57
57
  "@ocavue/tsconfig": "^0.7.1",
58
- "@tsdown/css": "^0.23.1",
58
+ "@tsdown/css": "^0.23.3",
59
59
  "@types/hast": "^3.0.5",
60
60
  "@types/mdast": "^4.0.4",
61
61
  "@vitest/browser-playwright": "^5.0.5",
62
62
  "dedent": "^1.7.2",
63
- "diffable-html-snapshot": "^0.3.0",
64
- "tsdown": "^0.23.1",
63
+ "diffable-html-snapshot": "^0.4.0",
64
+ "tsdown": "^0.23.3",
65
65
  "vitest": "^5.0.5"
66
66
  },
67
67
  "publishConfig": {