@moda-editor/core 0.1.1 → 0.1.3
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/conformance.d.ts.map +1 -1
- package/dist/conformance.js +140 -0
- package/dist/conformance.js.map +1 -1
- package/dist/editor/extension.d.ts +4 -2
- package/dist/editor/extension.d.ts.map +1 -1
- package/dist/features/ace.d.ts.map +1 -1
- package/dist/features/ace.js +23 -12
- package/dist/features/ace.js.map +1 -1
- package/dist/features/code-block.d.ts +29 -0
- package/dist/features/code-block.d.ts.map +1 -1
- package/dist/features/code-block.js +551 -36
- package/dist/features/code-block.js.map +1 -1
- package/dist/features/image.d.ts +14 -1
- package/dist/features/image.d.ts.map +1 -1
- package/dist/features/image.js +279 -11
- package/dist/features/image.js.map +1 -1
- package/dist/features/marks.d.ts.map +1 -1
- package/dist/features/marks.js +28 -1
- package/dist/features/marks.js.map +1 -1
- package/dist/features/table.d.ts +16 -3
- package/dist/features/table.d.ts.map +1 -1
- package/dist/features/table.js +295 -8
- package/dist/features/table.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/parse/sanitize.d.ts.map +1 -1
- package/dist/parse/sanitize.js +10 -1
- package/dist/parse/sanitize.js.map +1 -1
- package/dist/presets/highlight.d.ts +17 -0
- package/dist/presets/highlight.d.ts.map +1 -1
- package/dist/presets/highlight.js +51 -0
- package/dist/presets/highlight.js.map +1 -1
- package/dist/state/transaction.d.ts +0 -7
- package/dist/state/transaction.d.ts.map +1 -1
- package/dist/state/transaction.js +30 -1
- package/dist/state/transaction.js.map +1 -1
- package/dist/styles.css +441 -28
- package/dist/view/dom.d.ts.map +1 -1
- package/dist/view/dom.js +62 -22
- package/dist/view/dom.js.map +1 -1
- package/dist/view/input.d.ts.map +1 -1
- package/dist/view/input.js +158 -20
- package/dist/view/input.js.map +1 -1
- package/dist/view/mount.d.ts.map +1 -1
- package/dist/view/mount.js +16 -4
- package/dist/view/mount.js.map +1 -1
- package/dist/view/render.d.ts +7 -1
- package/dist/view/render.d.ts.map +1 -1
- package/dist/view/render.js +5 -1
- package/dist/view/render.js.map +1 -1
- package/dist/view/serialize.d.ts +8 -0
- package/dist/view/serialize.d.ts.map +1 -1
- package/dist/view/serialize.js +19 -0
- package/dist/view/serialize.js.map +1 -1
- package/package.json +1 -1
package/dist/view/dom.js
CHANGED
|
@@ -116,38 +116,71 @@ export function pointToDOM(root, point) {
|
|
|
116
116
|
if (!holder)
|
|
117
117
|
return null;
|
|
118
118
|
if (isTextHolder(holder)) {
|
|
119
|
-
// 문자 오프셋 → 텍스트 노드 + 남은
|
|
119
|
+
// 문자 오프셋 → 텍스트 노드 + 남은 오프셋.
|
|
120
|
+
// 앵커 규칙: Chromium IME 조합은 "요소 경계 끝자락" 위치(마지막 텍스트
|
|
121
|
+
// 노드의 끝, bogus <br>, 프레임워크 빈 텍스트 앵커)에서 세션을 갱신마다
|
|
122
|
+
// 리셋해 자모가 중복으로 남는다. 그래서 텍스트 끝 경계는 뒤쪽 텍스트
|
|
123
|
+
// 노드의 시작으로 내리고, 안전한 위치가 없으면 요소 경계를 쓴다.
|
|
120
124
|
let rest = point.offset;
|
|
125
|
+
let found = null;
|
|
126
|
+
let atEnd = false; // 직전 텍스트 노드의 끝에 정확히 걸친 상태
|
|
121
127
|
const walk = (n) => {
|
|
128
|
+
if (found)
|
|
129
|
+
return;
|
|
130
|
+
// <br> 안의 텍스트 노드는 유효한 편집 위치가 아니다 — 브라우저나
|
|
131
|
+
// 프레임워크 정규화로 생기는 유령 노드다
|
|
132
|
+
if (n.nodeType === 1 && n.tagName === "BR")
|
|
133
|
+
return;
|
|
122
134
|
if (n.nodeType === 3) {
|
|
123
135
|
const len = n.textContent?.length ?? 0;
|
|
124
|
-
|
|
125
|
-
|
|
136
|
+
// 길이 0 텍스트 노드는 건너뛴다 — 프레임워크 앵커용 빈 텍스트
|
|
137
|
+
// 노드(주석과 같은 역할)는 문자를 안 실으면서 캐럿만 잘못된 위치로
|
|
138
|
+
// 잡는다
|
|
139
|
+
if (!len)
|
|
140
|
+
return;
|
|
141
|
+
if (atEnd) {
|
|
142
|
+
// 경계 뒤 첫 텍스트 — 같은 doc 오프셋의 안전한 앵커
|
|
143
|
+
found = { node: n, offset: 0 };
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (rest < len) {
|
|
147
|
+
found = { node: n, offset: rest };
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
126
150
|
rest -= len;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const r = walk(c);
|
|
131
|
-
if (r)
|
|
132
|
-
return r;
|
|
151
|
+
if (rest === 0)
|
|
152
|
+
atEnd = true;
|
|
153
|
+
return;
|
|
133
154
|
}
|
|
134
|
-
|
|
155
|
+
for (const c of Array.from(n.childNodes))
|
|
156
|
+
walk(c);
|
|
135
157
|
};
|
|
136
|
-
|
|
158
|
+
walk(holder);
|
|
137
159
|
if (found)
|
|
138
160
|
return found;
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
161
|
+
// 끝으로 클램프 — bogus <br> 자리표시자에는 절대 앵커하지 않고 그 앞의
|
|
162
|
+
// 요소 경계를 쓴다. 끝 자식이 요소면 같은 규칙으로 안쪽까지 내린다.
|
|
163
|
+
const endPos = (el) => {
|
|
164
|
+
let last = el.lastChild;
|
|
165
|
+
// 끝에서부터 마지막 "유효한" 자식을 찾는다 — 빈 텍스트 노드와
|
|
166
|
+
// 주석은 문자를 안 싣는다
|
|
167
|
+
while (last &&
|
|
168
|
+
(last.nodeType === 8 ||
|
|
169
|
+
(last.nodeType === 3 && !(last.textContent?.length ?? 0)))) {
|
|
170
|
+
last = last.previousSibling;
|
|
149
171
|
}
|
|
150
|
-
|
|
172
|
+
if (!last)
|
|
173
|
+
return { node: el, offset: 0 };
|
|
174
|
+
if (last.nodeType === 3)
|
|
175
|
+
return { node: last, offset: last.textContent?.length ?? 0 };
|
|
176
|
+
if (last.tagName === "BR")
|
|
177
|
+
return {
|
|
178
|
+
node: el,
|
|
179
|
+
offset: Array.prototype.indexOf.call(el.childNodes, last),
|
|
180
|
+
};
|
|
181
|
+
return endPos(last);
|
|
182
|
+
};
|
|
183
|
+
return endPos(holder);
|
|
151
184
|
}
|
|
152
185
|
// 컨테이너 경계를 리프 텍스트 위치로 내린다 — contenteditable 요소의
|
|
153
186
|
// (요소, 자식인덱스) 경계 셀렉션은 ce=false/중첩 editable을 건널 때
|
|
@@ -169,6 +202,13 @@ export function pointToDOM(root, point) {
|
|
|
169
202
|
if (last)
|
|
170
203
|
nodes.reverse();
|
|
171
204
|
for (const n of nodes) {
|
|
205
|
+
// <br> 안의 텍스트 노드와 길이 0 텍스트 노드는 편집 위치가 아니다 —
|
|
206
|
+
// 브라우저/프레임워크 정규화로 생기는 유령 노드라 여기에 앵커하면
|
|
207
|
+
// IME 조합이 깨진다
|
|
208
|
+
if (n.parentElement?.tagName === "BR")
|
|
209
|
+
continue;
|
|
210
|
+
if (!n.textContent?.length)
|
|
211
|
+
continue;
|
|
172
212
|
// 가장 가까운 contenteditable 조상이 false면 편집 위치가 아니다
|
|
173
213
|
// (아톰/노드뷰 크롬). 콜아웃 아울렛 안의 텍스트는 조상이 true라
|
|
174
214
|
// 통과한다
|
package/dist/view/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/view/dom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/view/dom.ts"],"names":[],"mappings":"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"}
|
package/dist/view/input.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0FlD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;IACf,yCAAyC;IACzC,gBAAgB,IAAI,IAAI,CAAC;IACzB,4BAA4B;IAC5B,gBAAgB,IAAI,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,0DAA0D;IAC1D,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM;CAO7D;AA2BD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,GACd,kBAAkB,CAk/BpB"}
|
package/dist/view/input.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { nodeAt } from "../model/traverse.js";
|
|
2
2
|
import { parseHTML } from "../parse/html.js";
|
|
3
3
|
import { pointBefore, pointAfter } from "../state/navigate.js";
|
|
4
|
-
import { normalizeRange, point, pointEq, textSelection } from "../state/selection.js";
|
|
4
|
+
import { nodeSelection, normalizeRange, point, pointEq, textSelection, } from "../state/selection.js";
|
|
5
5
|
import { applyDomSelection, domSelection, domToPoint, PATH_ATTR, pointToDOM, } from "./dom.js";
|
|
6
6
|
import { blockText, blockTextOffset, blockTextPoint, toggleMark, } from "../commands.js";
|
|
7
7
|
/** format* inputType → 마크 타입 (스펙의 inputType 이름 ↔ 스키마 마크) */
|
|
@@ -106,9 +106,26 @@ export function bindEditorInput(editor, el) {
|
|
|
106
106
|
// 입력(Enter/Backspace)은 커밋이 끝난 뒤의 것이라 브라우저에 맡기면
|
|
107
107
|
// 네이티브 split/delete가 doc 밖 DOM을 만든다
|
|
108
108
|
let pendingAbsorb = false;
|
|
109
|
+
// 실제 IME는 compositionend 뒤 같은 텍스트의 최종 커밋 beforeinput을
|
|
110
|
+
// 한 번 더 보낸다(Safari 확정, Chromium도 비동기 커밋 경로가 있다) —
|
|
111
|
+
// 타이머보다 늦게 오면 에코를 구별하기 위해 종료 시각을 기록한다
|
|
112
|
+
let compEndedAt = 0;
|
|
109
113
|
const dirtyPaths = new Set();
|
|
110
114
|
/** p가 속한 최상위 블록 경로 — 프레임워크 리마운트 대상 */
|
|
111
115
|
const topBlockKey = (p) => p?.path[0] == null ? null : String(p.path[0]);
|
|
116
|
+
/**
|
|
117
|
+
* DOM 캐럿 바로 앞 텍스트가 data로 끝나는가 — IME 커밋 에코 감지.
|
|
118
|
+
* 조합 중 브라우저가 쓴 글자가 DOM에 남아있으면 뒤에 도착하는
|
|
119
|
+
* 커밋 beforeinput은 중복이다.
|
|
120
|
+
*/
|
|
121
|
+
const domEndsWith = (focus, data) => {
|
|
122
|
+
const holder = focus.path.length
|
|
123
|
+
? el.querySelector(`[${PATH_ATTR}="${focus.path.join(",")}"]`)
|
|
124
|
+
: null;
|
|
125
|
+
if (!holder || holder.querySelector(`[${PATH_ATTR}]`))
|
|
126
|
+
return false;
|
|
127
|
+
return (holder.textContent ?? "").slice(0, focus.offset).endsWith(data);
|
|
128
|
+
};
|
|
112
129
|
const readDomSel = () => domSelection(el);
|
|
113
130
|
/**
|
|
114
131
|
* 기능 DOM 오버레이 갱신 — 활성 줄 표시·괄호 하이라이트처럼
|
|
@@ -118,7 +135,15 @@ export function bindEditorInput(editor, el) {
|
|
|
118
135
|
*/
|
|
119
136
|
const paintOverlays = () => {
|
|
120
137
|
for (const h of editor.inputHooks) {
|
|
121
|
-
h.paintOverlay?.(el, editor.state);
|
|
138
|
+
h.paintOverlay?.(el, editor.state, editor);
|
|
139
|
+
}
|
|
140
|
+
// atom 노드 셀렉션 시각화 — 선택 경로의 최외곽 요소에 is-selected를
|
|
141
|
+
// 단다. 각 기능의 오버레이(이미지 편집 바 등)와 별개로 공용으로 칠한다
|
|
142
|
+
el.querySelectorAll(".is-selected").forEach((n) => n.classList.remove("is-selected"));
|
|
143
|
+
const sel = editor.state.selection;
|
|
144
|
+
if (sel.type === "node") {
|
|
145
|
+
el.querySelector(`[${PATH_ATTR}="${sel.path.join(",")}"]`)
|
|
146
|
+
?.classList.add("is-selected");
|
|
122
147
|
}
|
|
123
148
|
};
|
|
124
149
|
/**
|
|
@@ -134,8 +159,11 @@ export function bindEditorInput(editor, el) {
|
|
|
134
159
|
};
|
|
135
160
|
const restoreSelection = () => {
|
|
136
161
|
const sel = editor.state.selection;
|
|
137
|
-
|
|
162
|
+
// 노드 셀렉션은 DOM 캐럿이 없다 — 오버레이만 갱신하고 끝낸다
|
|
163
|
+
if (sel.type !== "text") {
|
|
164
|
+
paintOverlays();
|
|
138
165
|
return;
|
|
166
|
+
}
|
|
139
167
|
// 이미 DOM 셀렉션이 doc과 같으면 건드리지 않는다 (깜빡임/역순 방지)
|
|
140
168
|
const cur = readDomSel();
|
|
141
169
|
if (cur &&
|
|
@@ -204,21 +232,54 @@ export function bindEditorInput(editor, el) {
|
|
|
204
232
|
e.inputType === "insertFromPaste" ||
|
|
205
233
|
e.inputType === "insertFromDrop" ||
|
|
206
234
|
e.inputType.startsWith("delete");
|
|
207
|
-
if (!pendingAbsorb || !structural)
|
|
235
|
+
if (!pendingAbsorb || !structural) {
|
|
236
|
+
// 커밋 에코 — DOM에 이미 같은 텍스트가 쓰여 있으면(조합 중 브라우저가
|
|
237
|
+
// 넣은 상태) 통과시키면 브라우저가 한 번 더 써서 "세세"가 된다.
|
|
238
|
+
// DOM에 없으면(Safari 최종 커밋) 살려둬야 글자가 사라지지 않는다
|
|
239
|
+
if ((e.inputType === "insertText" ||
|
|
240
|
+
e.inputType === "insertCompositionText") &&
|
|
241
|
+
e.data &&
|
|
242
|
+
domSel &&
|
|
243
|
+
domEndsWith(domSel.focus, e.data)) {
|
|
244
|
+
e.preventDefault();
|
|
245
|
+
}
|
|
208
246
|
return;
|
|
247
|
+
}
|
|
209
248
|
flushComposition();
|
|
210
249
|
}
|
|
211
|
-
// DOM 셀렉션이 무효하면(리렌더로 분리된 노드 위 등) doc 셀렉션으로
|
|
212
|
-
// 폴백 — sel 없이 리턴하면 preventDefault도 안 걸려 브라우저가
|
|
213
|
-
// 직접 DOM을 바꾸고 doc과 영구히 어긋난다. doc 셀렉션이 텍스트가
|
|
214
|
-
// 아닌 경우(노드 선택 등)도 마찬가지라 막아둔다
|
|
215
250
|
const ds = editor.state.selection;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
251
|
+
// 노드 셀렉션 — DOM 캐럿은 클릭 전 위치에 멈춰 있어 신뢰 불가.
|
|
252
|
+
// 삭제는 노드를 통째로 지우고, 텍스트/개행 입력은 노드 뒤 블록
|
|
253
|
+
// 경계에서 일어나는 것으로 처리한다 (노드는 유지)
|
|
254
|
+
if (ds.type === "node") {
|
|
219
255
|
e.preventDefault();
|
|
256
|
+
const parent = ds.path.slice(0, -1);
|
|
257
|
+
const idx = ds.path[ds.path.length - 1] ?? 0;
|
|
258
|
+
const tr = editor.state.tr();
|
|
259
|
+
if (e.inputType.startsWith("delete")) {
|
|
260
|
+
tr.delete({
|
|
261
|
+
anchor: point(parent, idx),
|
|
262
|
+
focus: point(parent, idx + 1),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
else if (e.inputType === "insertParagraph" ||
|
|
266
|
+
e.inputType === "insertLineBreak") {
|
|
267
|
+
tr.split(point(parent, idx + 1));
|
|
268
|
+
}
|
|
269
|
+
else if ((e.inputType === "insertText" ||
|
|
270
|
+
e.inputType === "insertCompositionText") &&
|
|
271
|
+
e.data) {
|
|
272
|
+
tr.insertText(e.data, point(parent, idx + 1));
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
editor.dispatch(tr);
|
|
220
278
|
return;
|
|
221
279
|
}
|
|
280
|
+
// DOM 셀렉션이 무효하면(리렌더로 분리된 노드 위 등) doc 셀렉션으로
|
|
281
|
+
// 폴백 — 여기까지 왔으면 doc 셀렉션은 항상 텍스트다
|
|
282
|
+
const sel = domSel ?? { anchor: ds.anchor, focus: ds.focus };
|
|
222
283
|
const tr = editor.state.tr();
|
|
223
284
|
switch (e.inputType) {
|
|
224
285
|
case "insertText":
|
|
@@ -227,6 +288,14 @@ export function bindEditorInput(editor, el) {
|
|
|
227
288
|
const data = e.data ?? "";
|
|
228
289
|
if (!data)
|
|
229
290
|
return;
|
|
291
|
+
// 커밋 에코가 흡수 타이머보다 늦게 도착한 경우 — DOM과 doc에
|
|
292
|
+
// 이미 같은 글자가 있으므로 다시 넣으면 "세세"가 된다
|
|
293
|
+
if (compEndedAt > 0 &&
|
|
294
|
+
performance.now() - compEndedAt < 300 &&
|
|
295
|
+
domSel &&
|
|
296
|
+
domEndsWith(domSel.focus, data)) {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
230
299
|
// 범위 삭제 뒤엔 삭제 전 좌표가 무효 — 정규화한 앞점 기준으로 삽입
|
|
231
300
|
const r = normalizeRange(sel);
|
|
232
301
|
// 입력 훅 — 기능이 글자 가로채기(코드블록 자동 쌍·타입오버 등)를
|
|
@@ -573,6 +642,48 @@ export function bindEditorInput(editor, el) {
|
|
|
573
642
|
editor.dispatch(editor.state.tr().setSelection(textSelection({ path: [], offset: 0 }, { path: [], offset: editor.state.doc.content?.length ?? 0 })));
|
|
574
643
|
return;
|
|
575
644
|
}
|
|
645
|
+
// 노드 셀렉션(이미지 클릭 등) — DOM 캐럿이 없으므로 네이티브
|
|
646
|
+
// 키 동작은 모두 무시하고 모델에서 처리한다. Backspace/Delete는
|
|
647
|
+
// 노드 삭제, Enter는 노드 뒤에 새 블록, 화살표/Escape는 텍스트
|
|
648
|
+
// 셀렉션으로 붕괴, 인쇄 문자는 노드 뒤에 삽입(노드는 유지).
|
|
649
|
+
// Mod/Alt 조합(undo·키맵 등)은 아래 키맵 루프에 넘긴다
|
|
650
|
+
const ds = editor.state.selection;
|
|
651
|
+
if (ds.type === "node") {
|
|
652
|
+
const parent = ds.path.slice(0, -1);
|
|
653
|
+
const idx = ds.path[ds.path.length - 1] ?? 0;
|
|
654
|
+
const before = point(parent, idx);
|
|
655
|
+
const after = point(parent, idx + 1);
|
|
656
|
+
const tr = editor.state.tr();
|
|
657
|
+
if (key === "Backspace" || key === "Delete") {
|
|
658
|
+
e.preventDefault();
|
|
659
|
+
tr.delete({ anchor: before, focus: after });
|
|
660
|
+
editor.dispatch(tr);
|
|
661
|
+
}
|
|
662
|
+
else if (key === "Enter") {
|
|
663
|
+
e.preventDefault();
|
|
664
|
+
tr.split(after);
|
|
665
|
+
editor.dispatch(tr);
|
|
666
|
+
}
|
|
667
|
+
else if (key === "Escape" ||
|
|
668
|
+
key === "ArrowLeft" ||
|
|
669
|
+
key === "ArrowUp") {
|
|
670
|
+
e.preventDefault();
|
|
671
|
+
editor.dispatch(tr.setSelection(textSelection(before)));
|
|
672
|
+
}
|
|
673
|
+
else if (key === "ArrowRight" || key === "ArrowDown") {
|
|
674
|
+
e.preventDefault();
|
|
675
|
+
editor.dispatch(tr.setSelection(textSelection(after)));
|
|
676
|
+
}
|
|
677
|
+
else if (e.key.length === 1 &&
|
|
678
|
+
!e.ctrlKey &&
|
|
679
|
+
!e.metaKey &&
|
|
680
|
+
!e.altKey) {
|
|
681
|
+
e.preventDefault();
|
|
682
|
+
tr.insertText(e.key, after);
|
|
683
|
+
editor.dispatch(tr);
|
|
684
|
+
}
|
|
685
|
+
return;
|
|
686
|
+
}
|
|
576
687
|
for (const km of editor.keymaps) {
|
|
577
688
|
const cmd = km[key];
|
|
578
689
|
if (!cmd)
|
|
@@ -754,8 +865,17 @@ export function bindEditorInput(editor, el) {
|
|
|
754
865
|
editor.dispatch(tr);
|
|
755
866
|
};
|
|
756
867
|
const onCompositionStart = () => {
|
|
757
|
-
|
|
868
|
+
// 이전 세션의 흡수 타이머가 남아있으면 취소한다 — 그대로 두면 새
|
|
869
|
+
// 조합 도중에 flushComposition이 composing을 해제하고 디스패치·
|
|
870
|
+
// 리렌더를 일으켜 브라우저가 살아있는 세션을 리셋한다
|
|
871
|
+
// ("안녕하세요"→"안ㄴ영ㅎ하세세요" 회귀). 커밋된 텍스트는 DOM에
|
|
872
|
+
// 남아 있으므로 다음 flush가 같은 홀더를 diff할 때 함께 흡수된다
|
|
873
|
+
if (compTimer !== null) {
|
|
874
|
+
clearTimeout(compTimer);
|
|
875
|
+
compTimer = null;
|
|
876
|
+
}
|
|
758
877
|
pendingAbsorb = false;
|
|
878
|
+
composing = true;
|
|
759
879
|
compStart = readDomSel()?.focus ?? null;
|
|
760
880
|
};
|
|
761
881
|
/**
|
|
@@ -779,6 +899,7 @@ export function bindEditorInput(editor, el) {
|
|
|
779
899
|
// composing 가드가 계속 걸러내게 하기 위해서다. 단 그 창에 도착한
|
|
780
900
|
// 구조 입력은 flushComposition이 흡수를 앞당겨 정상 처리한다.
|
|
781
901
|
pendingAbsorb = true;
|
|
902
|
+
compEndedAt = performance.now();
|
|
782
903
|
compTimer = setTimeout(flushComposition, 0);
|
|
783
904
|
};
|
|
784
905
|
/**
|
|
@@ -797,15 +918,32 @@ export function bindEditorInput(editor, el) {
|
|
|
797
918
|
const path = t.getAttribute(PATH_ATTR).split(",").map(Number);
|
|
798
919
|
const node = nodeAt(editor.state.doc, path);
|
|
799
920
|
const spec = node && editor.state.schema.nodeSpec(node.type);
|
|
800
|
-
if (
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
921
|
+
if (spec?.checkbox) {
|
|
922
|
+
// offsetX는 패딩 가장자리 기준 — 마커 존 밖이면 무시
|
|
923
|
+
if (e.offsetX > 28)
|
|
924
|
+
return;
|
|
925
|
+
e.preventDefault();
|
|
926
|
+
editor.dispatch(editor.state
|
|
927
|
+
.tr()
|
|
928
|
+
.setNodeAttr(path, "checked", !node?.attrs?.["checked"]));
|
|
804
929
|
return;
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
930
|
+
}
|
|
931
|
+
/**
|
|
932
|
+
* atom 노드(img/hr 등) 클릭 → NodeSelection — DOM 캐럿 이동을
|
|
933
|
+
* 막고(preventDefault) 모델 셀렉션만 둔다. 오버레이 표시는
|
|
934
|
+
* paintOverlays의 is-selected 마킹 + 각 기능의 paintOverlay가 담당.
|
|
935
|
+
* 같은 노드를 다시 누르면 트랜잭션을 생략한다
|
|
936
|
+
*/
|
|
937
|
+
if (spec?.atom) {
|
|
938
|
+
e.preventDefault();
|
|
939
|
+
const cur = editor.state.selection;
|
|
940
|
+
if (cur.type === "node" &&
|
|
941
|
+
cur.path.length === path.length &&
|
|
942
|
+
cur.path.every((v, i) => v === path[i])) {
|
|
943
|
+
return;
|
|
944
|
+
}
|
|
945
|
+
editor.dispatch(editor.state.tr().setSelection(nodeSelection(path)));
|
|
946
|
+
}
|
|
809
947
|
};
|
|
810
948
|
/**
|
|
811
949
|
* 파일 수신 — paste/drop의 File 목록을 기능 훅(files)에 넘긴다.
|
package/dist/view/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"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"}
|
package/dist/view/mount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/view/mount.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAG7D;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/view/mount.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAG7D;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;AA0DD,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CA6Ef"}
|
package/dist/view/mount.js
CHANGED
|
@@ -9,12 +9,24 @@ function toDOM(rn, ctx) {
|
|
|
9
9
|
const wrap = document.createElement(schema.isInline(rn.source.type) || spec?.inline ? "span" : "div");
|
|
10
10
|
wrap.className = "me-node-view";
|
|
11
11
|
wrap.setAttribute("contenteditable", "false");
|
|
12
|
-
const props = {
|
|
12
|
+
const props = {
|
|
13
|
+
node: rn.source,
|
|
14
|
+
editor: ctx.editor,
|
|
15
|
+
path: rn.path,
|
|
16
|
+
};
|
|
13
17
|
if (nodeViewEditable(schema, rn.source.type)) {
|
|
14
18
|
// 편집 가능한 콘텐츠 — 아울렛이 data-me-path를 가져 컨테이너
|
|
15
|
-
// 포인트가 아울렛 자식(AST 자식)과 1:1로
|
|
16
|
-
|
|
17
|
-
content
|
|
19
|
+
// 포인트가 아울렛 자식(AST 자식)과 1:1로 매핑된다. 아울렛은
|
|
20
|
+
// 노드의 toDOM 태그/속성을 써 codeBlock이면 <pre>가 된다
|
|
21
|
+
const content = document.createElement(rn.tag);
|
|
22
|
+
for (const [k, v] of Object.entries(rn.attrs ?? {})) {
|
|
23
|
+
if (k !== "class" && k !== "data-me-path") {
|
|
24
|
+
content.setAttribute(k, v);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
content.className = ["me-node-content", rn.attrs?.["class"]]
|
|
28
|
+
.filter(Boolean)
|
|
29
|
+
.join(" ");
|
|
18
30
|
content.setAttribute("contenteditable", "true");
|
|
19
31
|
content.setAttribute("data-me-path", rn.path.join(","));
|
|
20
32
|
for (const c of rn.children ?? []) {
|