@domternal/theme 0.7.0 → 0.7.2

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.
@@ -50,6 +50,7 @@
50
50
  --dm-editor-font-size: 1rem;
51
51
  --dm-editor-line-height: 1.6;
52
52
  --dm-editor-padding: 1rem;
53
+ --dm-editor-padding-top-extra: 0.5rem;
53
54
  --dm-editor-border: 1px solid var(--dm-border-color);
54
55
  --dm-editor-border-radius: 0.75rem;
55
56
  --dm-editor-focus-ring: none;
@@ -330,6 +331,7 @@ img.ProseMirror-separator {
330
331
  }
331
332
  .dm-editor .ProseMirror {
332
333
  padding: var(--dm-editor-padding);
334
+ padding-top: calc(var(--dm-editor-padding) + var(--dm-editor-padding-top-extra, 0px));
333
335
  min-height: 6rem;
334
336
  }
335
337
  .dm-editor .ProseMirror:focus-visible {
@@ -456,11 +458,13 @@ img.ProseMirror-separator {
456
458
  .dm-editor .ProseMirror table {
457
459
  border: var(--dm-table-border);
458
460
  margin: 0.75em 0;
461
+ font-size: 0.9375rem;
462
+ line-height: 1.5;
459
463
  }
460
464
  .dm-editor .ProseMirror table td,
461
465
  .dm-editor .ProseMirror table th {
462
466
  border: var(--dm-table-border);
463
- padding: 0.5em 0.75em;
467
+ padding: 0.375em 0.625em;
464
468
  min-width: 100px;
465
469
  }
466
470
  .dm-editor .ProseMirror table th {
@@ -831,6 +835,8 @@ img.ProseMirror-separator {
831
835
  }
832
836
  .dm-bubble-menu {
833
837
  position: absolute;
838
+ top: 0;
839
+ left: 0;
834
840
  display: flex;
835
841
  align-items: center;
836
842
  gap: var(--dm-toolbar-gap);
@@ -851,6 +857,8 @@ img.ProseMirror-separator {
851
857
 
852
858
  .dm-floating-menu {
853
859
  position: absolute;
860
+ top: 0;
861
+ left: 0;
854
862
  display: flex;
855
863
  flex-direction: column;
856
864
  gap: 0.25rem;
@@ -975,10 +983,10 @@ img.ProseMirror-separator {
975
983
  align-items: center;
976
984
  gap: 0.25rem;
977
985
  padding: 0.25rem;
978
- background: #f8f9fa;
979
- border: 1px solid #e0e0e0;
986
+ background: var(--dm-surface);
987
+ border: 1px solid var(--dm-border-color);
980
988
  border-radius: 0.25rem;
981
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
989
+ box-shadow: var(--dm-popover-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
982
990
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
983
991
  visibility: hidden;
984
992
  opacity: 0;
@@ -991,18 +999,18 @@ img.ProseMirror-separator {
991
999
  }
992
1000
 
993
1001
  .dm-link-popover-input {
994
- border: 1px solid #e0e0e0;
1002
+ border: 1px solid var(--dm-border-color);
995
1003
  border-radius: 0.25rem;
996
1004
  padding: 0.25rem 0.5rem;
997
1005
  font-size: 0.8125rem;
998
1006
  font-family: inherit;
999
1007
  min-width: 14rem;
1000
1008
  outline: none;
1001
- background: #fff;
1002
- color: #1a1a1a;
1009
+ background: var(--dm-bg);
1010
+ color: var(--dm-text);
1003
1011
  }
1004
1012
  .dm-link-popover-input:focus {
1005
- border-color: #2563eb;
1013
+ border-color: var(--dm-accent);
1006
1014
  }
1007
1015
 
1008
1016
  .dm-link-popover-btn {
@@ -1015,15 +1023,15 @@ img.ProseMirror-separator {
1015
1023
  border: none;
1016
1024
  border-radius: 0.25rem;
1017
1025
  background: transparent;
1018
- color: #1a1a1a;
1026
+ color: var(--dm-text);
1019
1027
  cursor: pointer;
1020
1028
  transition: background-color 0.15s, color 0.15s;
1021
1029
  }
1022
1030
  .dm-link-popover-btn:hover {
1023
- background: rgba(0, 0, 0, 0.06);
1031
+ background: var(--dm-hover);
1024
1032
  }
1025
1033
  .dm-link-popover-btn:focus-visible {
1026
- outline: 2px solid var(--dm-accent, #2563eb);
1034
+ outline: 2px solid var(--dm-accent);
1027
1035
  outline-offset: 1px;
1028
1036
  }
1029
1037
  .dm-link-popover-btn svg {
@@ -1032,7 +1040,7 @@ img.ProseMirror-separator {
1032
1040
  }
1033
1041
 
1034
1042
  .dm-link-popover-apply:hover {
1035
- color: #2563eb;
1043
+ color: var(--dm-accent);
1036
1044
  }
1037
1045
 
1038
1046
  .dm-link-popover-remove:hover {
@@ -1040,61 +1048,10 @@ img.ProseMirror-separator {
1040
1048
  }
1041
1049
 
1042
1050
  .dm-link-pending {
1043
- background-color: rgba(37, 99, 235, 0.12);
1051
+ background-color: color-mix(in srgb, var(--dm-accent) 12%, transparent);
1044
1052
  border-radius: 1px;
1045
1053
  }
1046
1054
 
1047
- [data-theme=dark] .dm-link-popover,
1048
- .dm-theme-dark .dm-link-popover {
1049
- background: #2a2a2a;
1050
- border-color: #404040;
1051
- }
1052
- [data-theme=dark] .dm-link-popover .dm-link-popover-input,
1053
- .dm-theme-dark .dm-link-popover .dm-link-popover-input {
1054
- background: #1a1a1a;
1055
- border-color: #404040;
1056
- color: #e0e0e0;
1057
- }
1058
- [data-theme=dark] .dm-link-popover .dm-link-popover-input:focus,
1059
- .dm-theme-dark .dm-link-popover .dm-link-popover-input:focus {
1060
- border-color: #3b82f6;
1061
- }
1062
- [data-theme=dark] .dm-link-popover .dm-link-popover-btn,
1063
- .dm-theme-dark .dm-link-popover .dm-link-popover-btn {
1064
- color: #e0e0e0;
1065
- }
1066
- [data-theme=dark] .dm-link-popover .dm-link-popover-btn:hover,
1067
- .dm-theme-dark .dm-link-popover .dm-link-popover-btn:hover {
1068
- background: rgba(255, 255, 255, 0.1);
1069
- }
1070
- [data-theme=dark] .dm-link-popover .dm-link-popover-apply:hover,
1071
- .dm-theme-dark .dm-link-popover .dm-link-popover-apply:hover {
1072
- color: #3b82f6;
1073
- }
1074
-
1075
- @media (prefers-color-scheme: dark) {
1076
- .dm-theme-auto .dm-link-popover {
1077
- background: #2a2a2a;
1078
- border-color: #404040;
1079
- }
1080
- .dm-theme-auto .dm-link-popover .dm-link-popover-input {
1081
- background: #1a1a1a;
1082
- border-color: #404040;
1083
- color: #e0e0e0;
1084
- }
1085
- .dm-theme-auto .dm-link-popover .dm-link-popover-input:focus {
1086
- border-color: #3b82f6;
1087
- }
1088
- .dm-theme-auto .dm-link-popover .dm-link-popover-btn {
1089
- color: #e0e0e0;
1090
- }
1091
- .dm-theme-auto .dm-link-popover .dm-link-popover-btn:hover {
1092
- background: rgba(255, 255, 255, 0.1);
1093
- }
1094
- .dm-theme-auto .dm-link-popover .dm-link-popover-apply:hover {
1095
- color: #3b82f6;
1096
- }
1097
- }
1098
1055
  .dm-editor--has-block-handle {
1099
1056
  overflow: visible;
1100
1057
  }
@@ -1118,8 +1075,13 @@ img.ProseMirror-separator {
1118
1075
  z-index: -1;
1119
1076
  }
1120
1077
 
1078
+ .dm-editor--has-block-handle li.ProseMirror-selectednode::after {
1079
+ display: none;
1080
+ }
1081
+
1121
1082
  .dm-block-handle {
1122
1083
  position: absolute;
1084
+ top: 0;
1123
1085
  left: var(--dm-block-handle-left, -0.5rem);
1124
1086
  display: flex;
1125
1087
  align-items: center;
@@ -1200,6 +1162,11 @@ img.ProseMirror-separator {
1200
1162
  transform: translateY(-2px);
1201
1163
  }
1202
1164
 
1165
+ .dm-block-handle-dragging .prosemirror-dropcursor-block,
1166
+ .dm-block-handle-dragging .prosemirror-dropcursor-inline {
1167
+ display: none;
1168
+ }
1169
+
1203
1170
  .dm-slash-command-menu {
1204
1171
  position: absolute;
1205
1172
  display: flex;
@@ -1625,10 +1592,10 @@ img.ProseMirror-separator {
1625
1592
  align-items: center;
1626
1593
  gap: 0.25rem;
1627
1594
  padding: 0.25rem;
1628
- background: #f8f9fa;
1629
- border: 1px solid #e0e0e0;
1595
+ background: var(--dm-surface);
1596
+ border: 1px solid var(--dm-border-color);
1630
1597
  border-radius: 0.25rem;
1631
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
1598
+ box-shadow: var(--dm-popover-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
1632
1599
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
1633
1600
  visibility: hidden;
1634
1601
  opacity: 0;
@@ -1641,18 +1608,18 @@ img.ProseMirror-separator {
1641
1608
  }
1642
1609
 
1643
1610
  .dm-image-popover-input {
1644
- border: 1px solid #e0e0e0;
1611
+ border: 1px solid var(--dm-border-color);
1645
1612
  border-radius: 0.25rem;
1646
1613
  padding: 0.25rem 0.5rem;
1647
1614
  font-size: 0.8125rem;
1648
1615
  font-family: inherit;
1649
1616
  min-width: 14rem;
1650
1617
  outline: none;
1651
- background: #fff;
1652
- color: #1a1a1a;
1618
+ background: var(--dm-bg);
1619
+ color: var(--dm-text);
1653
1620
  }
1654
1621
  .dm-image-popover-input:focus {
1655
- border-color: #2563eb;
1622
+ border-color: var(--dm-accent);
1656
1623
  }
1657
1624
 
1658
1625
  .dm-image-popover-btn {
@@ -1665,15 +1632,15 @@ img.ProseMirror-separator {
1665
1632
  border: none;
1666
1633
  border-radius: 0.25rem;
1667
1634
  background: transparent;
1668
- color: #1a1a1a;
1635
+ color: var(--dm-text);
1669
1636
  cursor: pointer;
1670
1637
  transition: background-color 0.15s, color 0.15s;
1671
1638
  }
1672
1639
  .dm-image-popover-btn:hover {
1673
- background: rgba(0, 0, 0, 0.06);
1640
+ background: var(--dm-hover);
1674
1641
  }
1675
1642
  .dm-image-popover-btn:focus-visible {
1676
- outline: 2px solid var(--dm-accent, #2563eb);
1643
+ outline: 2px solid var(--dm-accent);
1677
1644
  outline-offset: 1px;
1678
1645
  }
1679
1646
  .dm-image-popover-btn svg {
@@ -1681,65 +1648,11 @@ img.ProseMirror-separator {
1681
1648
  height: 0.875rem;
1682
1649
  }
1683
1650
 
1684
- .dm-image-popover-apply:hover {
1685
- color: #2563eb;
1686
- }
1687
-
1651
+ .dm-image-popover-apply:hover,
1688
1652
  .dm-image-popover-browse:hover {
1689
- color: #2563eb;
1653
+ color: var(--dm-accent);
1690
1654
  }
1691
1655
 
1692
- [data-theme=dark] .dm-image-popover,
1693
- .dm-theme-dark .dm-image-popover {
1694
- background: #2a2a2a;
1695
- border-color: #404040;
1696
- }
1697
- [data-theme=dark] .dm-image-popover .dm-image-popover-input,
1698
- .dm-theme-dark .dm-image-popover .dm-image-popover-input {
1699
- background: #1a1a1a;
1700
- border-color: #404040;
1701
- color: #e0e0e0;
1702
- }
1703
- [data-theme=dark] .dm-image-popover .dm-image-popover-input:focus,
1704
- .dm-theme-dark .dm-image-popover .dm-image-popover-input:focus {
1705
- border-color: #3b82f6;
1706
- }
1707
- [data-theme=dark] .dm-image-popover .dm-image-popover-btn,
1708
- .dm-theme-dark .dm-image-popover .dm-image-popover-btn {
1709
- color: #e0e0e0;
1710
- }
1711
- [data-theme=dark] .dm-image-popover .dm-image-popover-btn:hover,
1712
- .dm-theme-dark .dm-image-popover .dm-image-popover-btn:hover {
1713
- background: rgba(255, 255, 255, 0.1);
1714
- }
1715
- [data-theme=dark] .dm-image-popover .dm-image-popover-apply:hover,
1716
- .dm-theme-dark .dm-image-popover .dm-image-popover-apply:hover {
1717
- color: #3b82f6;
1718
- }
1719
-
1720
- @media (prefers-color-scheme: dark) {
1721
- .dm-theme-auto .dm-image-popover {
1722
- background: #2a2a2a;
1723
- border-color: #404040;
1724
- }
1725
- .dm-theme-auto .dm-image-popover .dm-image-popover-input {
1726
- background: #1a1a1a;
1727
- border-color: #404040;
1728
- color: #e0e0e0;
1729
- }
1730
- .dm-theme-auto .dm-image-popover .dm-image-popover-input:focus {
1731
- border-color: #3b82f6;
1732
- }
1733
- .dm-theme-auto .dm-image-popover .dm-image-popover-btn {
1734
- color: #e0e0e0;
1735
- }
1736
- .dm-theme-auto .dm-image-popover .dm-image-popover-btn:hover {
1737
- background: rgba(255, 255, 255, 0.1);
1738
- }
1739
- .dm-theme-auto .dm-image-popover .dm-image-popover-apply:hover {
1740
- color: #3b82f6;
1741
- }
1742
- }
1743
1656
  .dm-editor.dm-dragover {
1744
1657
  outline: 2px dashed var(--dm-accent);
1745
1658
  outline-offset: -2px;
@@ -2283,9 +2196,9 @@ img.ProseMirror-separator {
2283
2196
  width: 100%;
2284
2197
  padding: 0.375rem 0.5rem;
2285
2198
  border: none;
2286
- border-radius: var(--dm-button-border-radius);
2199
+ border-radius: var(--dm-button-border-radius, 0.375rem);
2287
2200
  background: transparent;
2288
- color: var(--dm-button-color);
2201
+ color: var(--dm-button-color, var(--dm-text));
2289
2202
  cursor: pointer;
2290
2203
  font-size: 0.8125rem;
2291
2204
  line-height: 1.4;
@@ -2688,8 +2601,6 @@ img.ProseMirror-separator {
2688
2601
  display: flex;
2689
2602
  flex-direction: column;
2690
2603
  align-items: flex-end;
2691
- gap: var(--dm-toc-tick-gap, 10px);
2692
- padding: var(--dm-toc-padding-block, 12px) var(--dm-toc-padding-inline, 8px);
2693
2604
  z-index: var(--dm-toc-z-index, 10);
2694
2605
  background: transparent;
2695
2606
  border: 0;
@@ -2703,6 +2614,11 @@ img.ProseMirror-separator {
2703
2614
  .dm-toc-outline[data-anchor=editor][data-bottom-visible=true] {
2704
2615
  top: var(--dm-toc-editor-top, 1rem);
2705
2616
  }
2617
+ .dm-toc-outline[data-anchor=editor][data-scroll-mode=container] {
2618
+ position: sticky;
2619
+ top: calc(50% - var(--dm-toc-mid-half-height, 0px));
2620
+ right: 0;
2621
+ }
2706
2622
  .dm-toc-outline[data-anchor=viewport] {
2707
2623
  position: fixed;
2708
2624
  top: 50%;
@@ -2731,6 +2647,21 @@ img.ProseMirror-separator {
2731
2647
  justify-content: flex-end;
2732
2648
  }
2733
2649
 
2650
+ .dm-toc-outline-shell[data-anchor=editor][data-scroll-mode=container] {
2651
+ top: 0;
2652
+ bottom: 0;
2653
+ }
2654
+
2655
+ .dm-toc-outline-ticks {
2656
+ display: flex;
2657
+ flex-direction: column;
2658
+ align-items: flex-end;
2659
+ gap: var(--dm-toc-tick-gap, 10px);
2660
+ padding: var(--dm-toc-padding-block, 12px) var(--dm-toc-padding-inline, 8px);
2661
+ max-height: var(--dm-toc-ticks-max-h, 50vh);
2662
+ overflow: hidden;
2663
+ }
2664
+
2734
2665
  .dm-toc-outline-tick {
2735
2666
  appearance: none;
2736
2667
  border: 0;
@@ -2739,6 +2670,7 @@ img.ProseMirror-separator {
2739
2670
  font: inherit;
2740
2671
  cursor: pointer;
2741
2672
  background: var(--dm-toc-tick-color, rgba(55, 53, 47, 0.4));
2673
+ flex-shrink: 0;
2742
2674
  height: var(--dm-toc-tick-height, 2px);
2743
2675
  border-radius: var(--dm-toc-tick-radius, 1px);
2744
2676
  width: var(--dm-toc-tick-h3-width, 8px);
@@ -2786,13 +2718,32 @@ img.ProseMirror-separator {
2786
2718
  transform: translateY(calc(-50% + var(--dm-toc-card-shift-y, 0px))) translateX(var(--dm-toc-card-offset, 8px));
2787
2719
  min-width: var(--dm-toc-card-min-width, 180px);
2788
2720
  max-width: var(--dm-toc-card-max-width, 260px);
2789
- max-height: calc(100vh - 2 * var(--dm-toc-card-viewport-margin, 16px));
2721
+ max-height: var(--dm-toc-ticks-max-h, 50vh);
2790
2722
  overflow-y: auto;
2791
2723
  padding: var(--dm-toc-card-padding-block, 6px) 0;
2792
2724
  background: var(--dm-toc-card-bg, rgba(255, 255, 255, 0.98));
2793
2725
  border: var(--dm-toc-card-border, 1px solid rgba(0, 0, 0, 0.06));
2794
2726
  border-radius: var(--dm-toc-card-radius, 6px);
2795
2727
  box-shadow: var(--dm-toc-card-shadow, 0 8px 24px rgba(0, 0, 0, 0.08));
2728
+ scrollbar-width: thin;
2729
+ scrollbar-color: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18)) transparent;
2730
+ }
2731
+ .dm-toc-outline-card::-webkit-scrollbar {
2732
+ width: 6px;
2733
+ }
2734
+ .dm-toc-outline-card::-webkit-scrollbar-track {
2735
+ background: transparent;
2736
+ margin: 0.375rem 0;
2737
+ }
2738
+ .dm-toc-outline-card::-webkit-scrollbar-thumb {
2739
+ background: var(--dm-scrollbar-thumb, rgba(0, 0, 0, 0.18));
2740
+ border-radius: 3px;
2741
+ transition: background-color 0.15s;
2742
+ }
2743
+ .dm-toc-outline-card::-webkit-scrollbar-thumb:hover {
2744
+ background: var(--dm-scrollbar-thumb-hover, rgba(0, 0, 0, 0.28));
2745
+ }
2746
+ .dm-toc-outline-card {
2796
2747
  display: flex;
2797
2748
  flex-direction: column;
2798
2749
  align-items: stretch;
@@ -2818,6 +2769,7 @@ img.ProseMirror-separator {
2818
2769
  font-size: var(--dm-toc-row-font-size, 13px);
2819
2770
  line-height: var(--dm-toc-row-line-height, 1.4);
2820
2771
  color: var(--dm-toc-row-color, rgba(55, 53, 47, 0.7));
2772
+ flex-shrink: 0;
2821
2773
  padding: var(--dm-toc-row-padding-block, 4px) var(--dm-toc-row-padding-inline-end, 16px) var(--dm-toc-row-padding-block, 4px) var(--dm-toc-row-padding-inline-start, 12px);
2822
2774
  white-space: nowrap;
2823
2775
  overflow: hidden;
@@ -2980,7 +2932,6 @@ img.ProseMirror-separator {
2980
2932
  background: transparent;
2981
2933
  max-width: 38rem;
2982
2934
  margin: 0 auto;
2983
- --dm-editor-font-size: 1.0625rem;
2984
2935
  --dm-editor-line-height: 1.7;
2985
2936
  --dm-editor-padding: 0;
2986
2937
  --dm-block-handle-gutter: 0;
@@ -2992,19 +2943,16 @@ img.ProseMirror-separator {
2992
2943
  outline: none;
2993
2944
  }
2994
2945
  .dm-editor.dm-notion-mode .ProseMirror h1 {
2995
- font-size: 2.25rem;
2996
2946
  font-weight: 700;
2997
2947
  margin-top: 1.5rem;
2998
2948
  margin-bottom: 0.75rem;
2999
2949
  }
3000
2950
  .dm-editor.dm-notion-mode .ProseMirror h2 {
3001
- font-size: 1.625rem;
3002
2951
  font-weight: 600;
3003
2952
  margin-top: 1.5rem;
3004
2953
  margin-bottom: 0.5rem;
3005
2954
  }
3006
2955
  .dm-editor.dm-notion-mode .ProseMirror h3 {
3007
- font-size: 1.25rem;
3008
2956
  font-weight: 600;
3009
2957
  margin-top: 1.25rem;
3010
2958
  margin-bottom: 0.375rem;
@@ -3012,6 +2960,14 @@ img.ProseMirror-separator {
3012
2960
  .dm-editor.dm-notion-mode .ProseMirror p {
3013
2961
  margin: 0.25rem 0;
3014
2962
  }
2963
+ .dm-editor.dm-notion-mode .ProseMirror td > p,
2964
+ .dm-editor.dm-notion-mode .ProseMirror th > p {
2965
+ margin: 0;
2966
+ }
2967
+ .dm-editor.dm-notion-mode .ProseMirror td .is-empty::before,
2968
+ .dm-editor.dm-notion-mode .ProseMirror th .is-empty::before {
2969
+ content: none;
2970
+ }
3015
2971
 
3016
2972
  .dm-theme-light,
3017
2973
  .dm-theme-light .dm-editor,
@@ -3055,7 +3011,9 @@ img.ProseMirror-separator {
3055
3011
  .dm-theme-dark .dm-mention-suggestion,
3056
3012
  .dm-theme-dark .dm-table-controls-dropdown,
3057
3013
  .dm-theme-dark .dm-slash-command-menu,
3058
- .dm-theme-dark .dm-block-context-menu {
3014
+ .dm-theme-dark .dm-block-context-menu,
3015
+ .dm-theme-dark .dm-link-popover,
3016
+ .dm-theme-dark .dm-image-popover {
3059
3017
  --dm-color-scheme: dark;
3060
3018
  --dm-bg: #1e1e1e;
3061
3019
  --dm-text: #e0e0e0;
@@ -3121,7 +3079,9 @@ img.ProseMirror-separator {
3121
3079
  .dm-theme-auto .dm-mention-suggestion,
3122
3080
  .dm-theme-auto .dm-table-controls-dropdown,
3123
3081
  .dm-theme-auto .dm-slash-command-menu,
3124
- .dm-theme-auto .dm-block-context-menu {
3082
+ .dm-theme-auto .dm-block-context-menu,
3083
+ .dm-theme-auto .dm-link-popover,
3084
+ .dm-theme-auto .dm-image-popover {
3125
3085
  --dm-color-scheme: dark;
3126
3086
  --dm-bg: #1e1e1e;
3127
3087
  --dm-text: #e0e0e0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domternal/theme",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Default themes and styles for Domternal editor",
5
5
  "author": "https://github.com/ThomasNowHere",
6
6
  "license": "MIT",
package/src/_base.scss CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  .ProseMirror {
21
21
  padding: var(--dm-editor-padding);
22
+ padding-top: calc(var(--dm-editor-padding) + var(--dm-editor-padding-top-extra, 0px));
22
23
  min-height: 6rem;
23
24
 
24
25
  &:focus-visible {
@@ -48,8 +48,19 @@
48
48
  }
49
49
  }
50
50
 
51
+ // `_prosemirror.scss` draws a sharp 2px accent border on selected list
52
+ // items via `li.ProseMirror-selectednode::after`. With BlockHandle the
53
+ // translucent halo above is the canonical selection visual, so suppress
54
+ // the list-item-specific border to avoid a doubled frame.
55
+ .dm-editor--has-block-handle li.ProseMirror-selectednode::after {
56
+ display: none;
57
+ }
58
+
51
59
  .dm-block-handle {
52
60
  position: absolute;
61
+ // Pin static position to parent top so the hidden box doesn't
62
+ // inflate parent scrollHeight. JS sets `top` inline on show.
63
+ top: 0;
53
64
  // Tokenised so demos with a centered narrower content column can move
54
65
  // the handle further out (e.g., `--dm-block-handle-left: -3.5rem`) to
55
66
  // place it fully in the surrounding whitespace. Default `-0.5rem` keeps
@@ -187,3 +198,12 @@
187
198
  transform: translateY(-2px);
188
199
  }
189
200
  }
201
+
202
+ // Hide the native dropcursor during a handle drag so it doesn't double up
203
+ // with `.dm-block-drop-indicator`. `prosemirror-dropcursor` emits one of
204
+ // two classes depending on the drop target ('-block' between blocks,
205
+ // '-inline' within inline content); both must be hidden.
206
+ .dm-block-handle-dragging .prosemirror-dropcursor-block,
207
+ .dm-block-handle-dragging .prosemirror-dropcursor-inline {
208
+ display: none;
209
+ }
@@ -32,6 +32,10 @@
32
32
  }
33
33
 
34
34
  position: absolute;
35
+ // Pin static position to parent top-left so the hidden box doesn't
36
+ // inflate parent scrollHeight. JS overrides on show.
37
+ top: 0;
38
+ left: 0;
35
39
  display: flex;
36
40
  align-items: center;
37
41
  gap: var(--dm-toolbar-gap);
package/src/_content.scss CHANGED
@@ -197,14 +197,17 @@
197
197
  // Tables
198
198
  // ---------------------------------------------------------------------------
199
199
 
200
+ // Data view: smaller than body, tight padding.
200
201
  table {
201
202
  border: var(--dm-table-border);
202
203
  margin: 0.75em 0;
204
+ font-size: 0.9375rem;
205
+ line-height: 1.5;
203
206
 
204
207
  td,
205
208
  th {
206
209
  border: var(--dm-table-border);
207
- padding: 0.5em 0.75em;
210
+ padding: 0.375em 0.625em;
208
211
  min-width: 100px;
209
212
  }
210
213
 
@@ -6,6 +6,11 @@
6
6
 
7
7
  .dm-floating-menu {
8
8
  position: absolute;
9
+ // Pin static position to parent top-left; otherwise the hidden box
10
+ // inherits an end-of-content static position and inflates parent
11
+ // scrollHeight. `positionFloating` overrides via transform on show.
12
+ top: 0;
13
+ left: 0;
9
14
  display: flex;
10
15
  flex-direction: column;
11
16
  gap: 0.25rem;