@jvs-milkdown/crepe 1.2.13 → 1.2.15

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 (100) hide show
  1. package/lib/cjs/builder.js +41 -2
  2. package/lib/cjs/builder.js.map +1 -1
  3. package/lib/cjs/feature/block-edit/index.js +9 -2
  4. package/lib/cjs/feature/block-edit/index.js.map +1 -1
  5. package/lib/cjs/feature/code-mirror/index.js +9 -2
  6. package/lib/cjs/feature/code-mirror/index.js.map +1 -1
  7. package/lib/cjs/feature/cursor/index.js +9 -2
  8. package/lib/cjs/feature/cursor/index.js.map +1 -1
  9. package/lib/cjs/feature/image-block/index.js +9 -2
  10. package/lib/cjs/feature/image-block/index.js.map +1 -1
  11. package/lib/cjs/feature/inline-diff/index.js +1298 -0
  12. package/lib/cjs/feature/inline-diff/index.js.map +1 -0
  13. package/lib/cjs/feature/latex/index.js +9 -2
  14. package/lib/cjs/feature/latex/index.js.map +1 -1
  15. package/lib/cjs/feature/link-tooltip/index.js +9 -2
  16. package/lib/cjs/feature/link-tooltip/index.js.map +1 -1
  17. package/lib/cjs/feature/list-item/index.js +9 -2
  18. package/lib/cjs/feature/list-item/index.js.map +1 -1
  19. package/lib/cjs/feature/placeholder/index.js +9 -2
  20. package/lib/cjs/feature/placeholder/index.js.map +1 -1
  21. package/lib/cjs/feature/table/index.js +9 -2
  22. package/lib/cjs/feature/table/index.js.map +1 -1
  23. package/lib/cjs/feature/toolbar/index.js +14 -6
  24. package/lib/cjs/feature/toolbar/index.js.map +1 -1
  25. package/lib/cjs/index.js +1280 -260
  26. package/lib/cjs/index.js.map +1 -1
  27. package/lib/esm/builder.js +41 -2
  28. package/lib/esm/builder.js.map +1 -1
  29. package/lib/esm/feature/block-edit/index.js +9 -2
  30. package/lib/esm/feature/block-edit/index.js.map +1 -1
  31. package/lib/esm/feature/code-mirror/index.js +9 -2
  32. package/lib/esm/feature/code-mirror/index.js.map +1 -1
  33. package/lib/esm/feature/cursor/index.js +9 -2
  34. package/lib/esm/feature/cursor/index.js.map +1 -1
  35. package/lib/esm/feature/image-block/index.js +9 -2
  36. package/lib/esm/feature/image-block/index.js.map +1 -1
  37. package/lib/esm/feature/inline-diff/index.js +1274 -0
  38. package/lib/esm/feature/inline-diff/index.js.map +1 -0
  39. package/lib/esm/feature/latex/index.js +9 -2
  40. package/lib/esm/feature/latex/index.js.map +1 -1
  41. package/lib/esm/feature/link-tooltip/index.js +9 -2
  42. package/lib/esm/feature/link-tooltip/index.js.map +1 -1
  43. package/lib/esm/feature/list-item/index.js +9 -2
  44. package/lib/esm/feature/list-item/index.js.map +1 -1
  45. package/lib/esm/feature/placeholder/index.js +9 -2
  46. package/lib/esm/feature/placeholder/index.js.map +1 -1
  47. package/lib/esm/feature/table/index.js +9 -2
  48. package/lib/esm/feature/table/index.js.map +1 -1
  49. package/lib/esm/feature/toolbar/index.js +14 -6
  50. package/lib/esm/feature/toolbar/index.js.map +1 -1
  51. package/lib/esm/index.js +1262 -261
  52. package/lib/esm/index.js.map +1 -1
  53. package/lib/theme/common/diff-block.css +41 -0
  54. package/lib/theme/common/inline-diff.css +142 -0
  55. package/lib/theme/common/list-item.css +113 -0
  56. package/lib/theme/common/style.css +2 -0
  57. package/lib/tsconfig.tsbuildinfo +1 -1
  58. package/lib/types/core/builder.d.ts +2 -0
  59. package/lib/types/core/builder.d.ts.map +1 -1
  60. package/lib/types/core/locale.d.ts +4 -0
  61. package/lib/types/core/locale.d.ts.map +1 -1
  62. package/lib/types/feature/diff-block/index.d.ts +10 -0
  63. package/lib/types/feature/diff-block/index.d.ts.map +1 -0
  64. package/lib/types/feature/fixed-toolbar/index.d.ts.map +1 -1
  65. package/lib/types/feature/fixed-toolbar/outline-panel.d.ts.map +1 -1
  66. package/lib/types/feature/index.d.ts +7 -1
  67. package/lib/types/feature/index.d.ts.map +1 -1
  68. package/lib/types/feature/inline-diff/change-panel.d.ts +4 -0
  69. package/lib/types/feature/inline-diff/change-panel.d.ts.map +1 -0
  70. package/lib/types/feature/inline-diff/config.d.ts +12 -0
  71. package/lib/types/feature/inline-diff/config.d.ts.map +1 -0
  72. package/lib/types/feature/inline-diff/diff-engine.d.ts +20 -0
  73. package/lib/types/feature/inline-diff/diff-engine.d.ts.map +1 -0
  74. package/lib/types/feature/inline-diff/diff-view.d.ts +2 -0
  75. package/lib/types/feature/inline-diff/diff-view.d.ts.map +1 -0
  76. package/lib/types/feature/inline-diff/doc-builder.d.ts +21 -0
  77. package/lib/types/feature/inline-diff/doc-builder.d.ts.map +1 -0
  78. package/lib/types/feature/inline-diff/index.d.ts +9 -0
  79. package/lib/types/feature/inline-diff/index.d.ts.map +1 -0
  80. package/lib/types/feature/loader.d.ts.map +1 -1
  81. package/lib/types/feature/toolbar/component.d.ts.map +1 -1
  82. package/package.json +15 -4
  83. package/src/core/builder.ts +19 -0
  84. package/src/core/locale.ts +7 -0
  85. package/src/feature/diff-block/index.ts +48 -0
  86. package/src/feature/fixed-toolbar/index.ts +62 -23
  87. package/src/feature/fixed-toolbar/outline-panel.tsx +5 -3
  88. package/src/feature/index.ts +12 -0
  89. package/src/feature/inline-diff/change-panel.ts +280 -0
  90. package/src/feature/inline-diff/config.ts +28 -0
  91. package/src/feature/inline-diff/diff-engine.ts +181 -0
  92. package/src/feature/inline-diff/diff-view.ts +2 -0
  93. package/src/feature/inline-diff/doc-builder.ts +139 -0
  94. package/src/feature/inline-diff/index.ts +514 -0
  95. package/src/feature/loader.ts +8 -0
  96. package/src/feature/toolbar/component.tsx +3 -2
  97. package/src/theme/common/diff-block.css +43 -0
  98. package/src/theme/common/inline-diff.css +148 -0
  99. package/src/theme/common/list-item.css +122 -0
  100. package/src/theme/common/style.css +2 -0
@@ -0,0 +1,41 @@
1
+ .milkdown .milkdown-diff-block {
2
+ display: block;
3
+ position: relative;
4
+ padding: 16px 0;
5
+ margin: 20px 0;
6
+ border-radius: 8px;
7
+ background: var(--crepe-color-surface-low);
8
+ overflow: hidden;
9
+ }
10
+
11
+ .milkdown .milkdown-diff-block .cm-editor {
12
+ outline: none !important;
13
+ background: transparent;
14
+ }
15
+
16
+ .milkdown .milkdown-diff-block .cm-merge-a .cm-merge-chunk {
17
+ background-color: rgba(244, 63, 94, 0.15) !important;
18
+ }
19
+
20
+ .milkdown .milkdown-diff-block .cm-merge-b .cm-merge-chunk {
21
+ background-color: rgba(16, 185, 129, 0.15) !important;
22
+ }
23
+
24
+ .milkdown .milkdown-diff-block .cm-merge-chunk-a {
25
+ background-color: rgba(244, 63, 94, 0.3) !important;
26
+ }
27
+
28
+ .milkdown .milkdown-diff-block .cm-merge-chunk-b {
29
+ background-color: rgba(16, 185, 129, 0.3) !important;
30
+ }
31
+
32
+ .milkdown .milkdown-diff-block .cm-merge-spacer {
33
+ background-color: transparent !important;
34
+ background-image: repeating-linear-gradient(
35
+ 45deg,
36
+ rgba(150, 150, 150, 0.05),
37
+ rgba(150, 150, 150, 0.05) 10px,
38
+ transparent 10px,
39
+ transparent 20px
40
+ );
41
+ }
@@ -0,0 +1,142 @@
1
+ .milkdown .crepe-diff-added,
2
+ .milkdown .crepe-diff-deleted {
3
+ position: relative;
4
+ display: block;
5
+ border-radius: 0;
6
+ padding: 2px 4px 2px 12px !important;
7
+ margin: 0 !important;
8
+ }
9
+ .milkdown .crepe-diff-added {
10
+ background-color: rgba(46, 160, 67, 0.08);
11
+ border-left: 3px solid #2ea043;
12
+ }
13
+ .milkdown .crepe-diff-deleted {
14
+ background-color: rgba(248, 81, 73, 0.08);
15
+ border-left: 3px solid #f85149;
16
+ }
17
+ .milkdown .crepe-diff-inline-added {
18
+ background-color: rgba(46, 160, 67, 0.25);
19
+ border-radius: 2px;
20
+ }
21
+ .milkdown .crepe-diff-inline-deleted {
22
+ background-color: rgba(248, 81, 73, 0.25);
23
+ border-radius: 2px;
24
+ }
25
+
26
+ .crepe-diff-panel {
27
+ display: flex;
28
+ flex-direction: column;
29
+ height: 100%;
30
+ background: #fff;
31
+ border-left: 1px solid #e8e8e8;
32
+ font-family:
33
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
34
+ font-size: 14px;
35
+ color: #333;
36
+ }
37
+
38
+ .crepe-diff-panel-header {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ padding: 12px 16px;
43
+ font-size: 14px;
44
+ font-weight: 600;
45
+ border-bottom: 1px solid #eee;
46
+ flex-shrink: 0;
47
+ }
48
+
49
+ .crepe-diff-panel-close {
50
+ width: 24px;
51
+ height: 24px;
52
+ border: none;
53
+ background: none;
54
+ font-size: 16px;
55
+ color: #999;
56
+ cursor: pointer;
57
+ border-radius: 4px;
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ }
62
+
63
+ .crepe-diff-panel-close:hover {
64
+ background: #f0f0f0;
65
+ color: #333;
66
+ }
67
+
68
+ .crepe-diff-panel-tabs {
69
+ display: flex;
70
+ border-bottom: 1px solid #eee;
71
+ padding: 0 8px;
72
+ flex-shrink: 0;
73
+ }
74
+
75
+ .crepe-diff-panel-tab {
76
+ padding: 6px 10px;
77
+ border: none;
78
+ background: none;
79
+ cursor: pointer;
80
+ font-size: 12px;
81
+ color: #666;
82
+ border-bottom: 2px solid transparent;
83
+ transition: color 0.2s;
84
+ }
85
+
86
+ .crepe-diff-panel-tab:hover {
87
+ color: #333;
88
+ }
89
+
90
+ .crepe-diff-panel-tab.active {
91
+ color: #1890ff;
92
+ border-bottom-color: #1890ff;
93
+ }
94
+
95
+ .crepe-diff-panel-list {
96
+ flex: 1;
97
+ overflow-y: auto;
98
+ padding: 8px;
99
+ }
100
+
101
+ .crepe-diff-panel-item {
102
+ padding: 8px 10px;
103
+ border-radius: 4px;
104
+ margin-bottom: 6px;
105
+ background: #fafafa;
106
+ border: 1px solid #eee;
107
+ cursor: pointer;
108
+ transition:
109
+ border-color 0.2s,
110
+ background 0.2s;
111
+ }
112
+
113
+ .crepe-diff-panel-item:hover {
114
+ border-color: #1890ff;
115
+ background: #f0f7ff;
116
+ }
117
+
118
+ .crepe-diff-panel-item-header {
119
+ margin-bottom: 4px;
120
+ }
121
+
122
+ .crepe-diff-panel-item-badge {
123
+ display: inline-block;
124
+ padding: 1px 6px;
125
+ border-radius: 3px;
126
+ color: #fff;
127
+ font-size: 11px;
128
+ font-weight: 500;
129
+ }
130
+
131
+ .crepe-diff-panel-item-row {
132
+ margin-top: 3px;
133
+ font-size: 12px;
134
+ line-height: 1.5;
135
+ color: #555;
136
+ word-break: break-all;
137
+ }
138
+
139
+ .crepe-diff-panel-item-label {
140
+ color: #999;
141
+ font-size: 11px;
142
+ }
@@ -48,3 +48,116 @@
48
48
  .milkdown .milkdown-list-item-block li .label-wrapper .readonly {
49
49
  cursor: not-allowed;
50
50
  }
51
+ /* Unordered List Nested Markers */
52
+ .milkdown ul ul .milkdown-list-item-block li .label-wrapper .label.bullet svg circle {
53
+ fill: none;
54
+ stroke: currentColor;
55
+ stroke-width: 1.5px;
56
+ }
57
+ .milkdown ul ul ul .milkdown-list-item-block li .label-wrapper .label.bullet {
58
+ display: flex;
59
+ justify-content: center;
60
+ align-items: center;
61
+ }
62
+ .milkdown ul ul ul .milkdown-list-item-block li .label-wrapper .label.bullet svg {
63
+ display: none;
64
+ }
65
+ .milkdown ul ul ul .milkdown-list-item-block li .label-wrapper .label.bullet::before {
66
+ content: '';
67
+ display: block;
68
+ width: 5px;
69
+ height: 5px;
70
+ background-color: currentColor;
71
+ }
72
+ .milkdown ul ul ul ul .milkdown-list-item-block li .label-wrapper .label.bullet svg {
73
+ display: block;
74
+ }
75
+ .milkdown ul
76
+ ul
77
+ ul
78
+ ul
79
+ .milkdown-list-item-block
80
+ li
81
+ .label-wrapper
82
+ .label.bullet
83
+ svg
84
+ circle {
85
+ fill: currentColor;
86
+ stroke: none;
87
+ }
88
+ .milkdown ul
89
+ ul
90
+ ul
91
+ ul
92
+ .milkdown-list-item-block
93
+ li
94
+ .label-wrapper
95
+ .label.bullet::before {
96
+ content: none;
97
+ }
98
+ /* Ordered List Nested Counters */
99
+ .milkdown ol {
100
+ counter-reset: crepe-ol-level;
101
+ }
102
+ .milkdown ol ol {
103
+ counter-reset: crepe-ol-level-2;
104
+ }
105
+ .milkdown ol ol ol {
106
+ counter-reset: crepe-ol-level-3;
107
+ }
108
+ .milkdown ol ol ol ol {
109
+ counter-reset: crepe-ol-level-4;
110
+ }
111
+ .milkdown ol > .milkdown-list-item-block {
112
+ counter-increment: crepe-ol-level;
113
+ }
114
+ .milkdown ol ol > .milkdown-list-item-block {
115
+ counter-increment: crepe-ol-level-2;
116
+ }
117
+ .milkdown ol ol ol > .milkdown-list-item-block {
118
+ counter-increment: crepe-ol-level-3;
119
+ }
120
+ .milkdown ol ol ol ol > .milkdown-list-item-block {
121
+ counter-increment: crepe-ol-level-4;
122
+ }
123
+ .milkdown ol > .milkdown-list-item-block li .label-wrapper .label.ordered {
124
+ font-size: 0 !important;
125
+ }
126
+ .milkdown ol > .milkdown-list-item-block li .label-wrapper .label.ordered::before {
127
+ content: counter(crepe-ol-level, decimal) '.';
128
+ font-size: 13px !important;
129
+ }
130
+ .milkdown ol ol > .milkdown-list-item-block li .label-wrapper .label.ordered {
131
+ font-size: 0 !important;
132
+ }
133
+ .milkdown ol ol > .milkdown-list-item-block li .label-wrapper .label.ordered::before {
134
+ content: counter(crepe-ol-level-2, lower-latin) '.';
135
+ font-size: 13px !important;
136
+ }
137
+ .milkdown ol ol ol > .milkdown-list-item-block li .label-wrapper .label.ordered {
138
+ font-size: 0 !important;
139
+ }
140
+ .milkdown ol
141
+ ol
142
+ ol
143
+ > .milkdown-list-item-block
144
+ li
145
+ .label-wrapper
146
+ .label.ordered::before {
147
+ content: counter(crepe-ol-level-3, lower-roman) '.';
148
+ font-size: 13px !important;
149
+ }
150
+ .milkdown ol ol ol ol > .milkdown-list-item-block li .label-wrapper .label.ordered {
151
+ font-size: 0 !important;
152
+ }
153
+ .milkdown ol
154
+ ol
155
+ ol
156
+ ol
157
+ > .milkdown-list-item-block
158
+ li
159
+ .label-wrapper
160
+ .label.ordered::before {
161
+ content: counter(crepe-ol-level-4, decimal) '.';
162
+ font-size: 13px !important;
163
+ }
@@ -11,3 +11,5 @@
11
11
  @import './table.css';
12
12
  @import './latex.css';
13
13
  @import './attachment-block.css';
14
+ @import './inline-diff.css';
15
+ @import './diff-block.css';