@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.
Files changed (57) hide show
  1. package/dist/conformance.d.ts.map +1 -1
  2. package/dist/conformance.js +140 -0
  3. package/dist/conformance.js.map +1 -1
  4. package/dist/editor/extension.d.ts +4 -2
  5. package/dist/editor/extension.d.ts.map +1 -1
  6. package/dist/features/ace.d.ts.map +1 -1
  7. package/dist/features/ace.js +23 -12
  8. package/dist/features/ace.js.map +1 -1
  9. package/dist/features/code-block.d.ts +29 -0
  10. package/dist/features/code-block.d.ts.map +1 -1
  11. package/dist/features/code-block.js +551 -36
  12. package/dist/features/code-block.js.map +1 -1
  13. package/dist/features/image.d.ts +14 -1
  14. package/dist/features/image.d.ts.map +1 -1
  15. package/dist/features/image.js +279 -11
  16. package/dist/features/image.js.map +1 -1
  17. package/dist/features/marks.d.ts.map +1 -1
  18. package/dist/features/marks.js +28 -1
  19. package/dist/features/marks.js.map +1 -1
  20. package/dist/features/table.d.ts +16 -3
  21. package/dist/features/table.d.ts.map +1 -1
  22. package/dist/features/table.js +295 -8
  23. package/dist/features/table.js.map +1 -1
  24. package/dist/index.d.ts +3 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/parse/sanitize.d.ts.map +1 -1
  29. package/dist/parse/sanitize.js +10 -1
  30. package/dist/parse/sanitize.js.map +1 -1
  31. package/dist/presets/highlight.d.ts +17 -0
  32. package/dist/presets/highlight.d.ts.map +1 -1
  33. package/dist/presets/highlight.js +51 -0
  34. package/dist/presets/highlight.js.map +1 -1
  35. package/dist/state/transaction.d.ts +0 -7
  36. package/dist/state/transaction.d.ts.map +1 -1
  37. package/dist/state/transaction.js +30 -1
  38. package/dist/state/transaction.js.map +1 -1
  39. package/dist/styles.css +441 -28
  40. package/dist/view/dom.d.ts.map +1 -1
  41. package/dist/view/dom.js +62 -22
  42. package/dist/view/dom.js.map +1 -1
  43. package/dist/view/input.d.ts.map +1 -1
  44. package/dist/view/input.js +158 -20
  45. package/dist/view/input.js.map +1 -1
  46. package/dist/view/mount.d.ts.map +1 -1
  47. package/dist/view/mount.js +16 -4
  48. package/dist/view/mount.js.map +1 -1
  49. package/dist/view/render.d.ts +7 -1
  50. package/dist/view/render.d.ts.map +1 -1
  51. package/dist/view/render.js +5 -1
  52. package/dist/view/render.js.map +1 -1
  53. package/dist/view/serialize.d.ts +8 -0
  54. package/dist/view/serialize.d.ts.map +1 -1
  55. package/dist/view/serialize.js +19 -0
  56. package/dist/view/serialize.js.map +1 -1
  57. 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
- if (rest <= len)
125
- return { node: n, offset: rest };
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
- return null;
128
- }
129
- for (const c of Array.from(n.childNodes)) {
130
- const r = walk(c);
131
- if (r)
132
- return r;
151
+ if (rest === 0)
152
+ atEnd = true;
153
+ return;
133
154
  }
134
- return null;
155
+ for (const c of Array.from(n.childNodes))
156
+ walk(c);
135
157
  };
136
- const found = walk(holder);
158
+ walk(holder);
137
159
  if (found)
138
160
  return found;
139
- // 오프셋이 텍스트보다 길면 끝으로 클램프 — 요소 노드엔 자식
140
- // 인덱스로 놓는다 (textContent 길이는 문자 수라 범위를 넘는다)
141
- const last = holder.lastChild;
142
- // 빈 텍스트 홀더 — 요소 안쪽이 유효한 유일한 위치다 (빈 문단 캐럿)
143
- return last
144
- ? {
145
- node: last,
146
- offset: last.nodeType === 3
147
- ? (last.textContent?.length ?? 0)
148
- : last.childNodes.length,
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
- : { node: holder, offset: 0 };
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
  // 통과한다
@@ -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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"}
@@ -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;AAoFlD;;;;;;;;;;;;;;;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,CAy1BpB"}
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"}
@@ -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
- if (sel.type !== "text")
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
- const sel = domSel ??
217
- (ds.type === "text" ? { anchor: ds.anchor, focus: ds.focus } : null);
218
- if (!sel) {
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
- composing = true;
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 (!spec?.checkbox)
801
- return;
802
- // offsetX는 패딩 가장자리 기준 — 마커 존 밖이면 무시
803
- if (e.offsetX > 28)
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
- e.preventDefault();
806
- editor.dispatch(editor.state
807
- .tr()
808
- .setNodeAttr(path, "checked", !node?.attrs?.["checked"]));
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)에 넘긴다.
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtF,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,4DAA4D;AAC5D,MAAM,YAAY,GAA2B;IAC3C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,WAAW;IAC5B,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,aAAa;IAChC,eAAe,EAAE,WAAW;CAC7B,CAAC;AAEF,8DAA8D;AAC9D,SAAS,gBAAgB,CACvB,GAAa,EACb,IAAiB,EACjB,CAAS,EACT,CAAS;IAET,MAAM,CAAC,GAAG,GAET,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,GAAG;QAAE,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,MAAc,EACd,CAAkC,EAClC,EAAe;IAEf,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IACE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,EAAE;QACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,KAAK;QACL,SAAS;QACT,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;QACzD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAkCD;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAAxB;QACmB;;;;mBAAW,IAAI,GAAG,EAAkB;WAAC;IASxD,CAAC;IARC,0DAA0D;IAC1D,GAAG,CAAC,OAAe,EAAE,KAA8B;QACjD,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACzC,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,KAAK;IACL,YAAY;IACZ,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,sBAAsB;IACtB,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,eAAe;CAChB,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,CAAgB;IACpC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,EAAe;IAEf,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAS,GAAiB,IAAI,CAAC;IACnC,IAAI,SAAS,GAAyC,IAAI,CAAC;IAC3D,8CAA8C;IAC9C,+CAA+C;IAC/C,oCAAoC;IACpC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,sCAAsC;IACtC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAiB,EAAE,CACrD,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,GAA2C,EAAE,CAC9D,YAAY,CAAC,EAAE,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF;;;;;OAKG;IACH,IAAI,WAAW,GAA2C,IAAI,CAAC;IAE/D,MAAM,QAAQ,GAAG,CAAC,MAAa,EAAE,KAAY,EAAE,EAAE;QAC/C,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,WAAW,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAChC,4CAA4C;QAC5C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IACE,GAAG;YACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAC7B,CAAC;YACD,aAAa,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,kDAAkD;QAClD,2CAA2C;QAC3C,kCAAkC;QAClC,2CAA2C;QAC3C,4CAA4C;QAC5C,2BAA2B;QAC3B,0CAA0C;QAC1C,uCAAuC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAQ,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;QACpD,IACE,GAAG;YACH,WAAW;YACX,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;gBACvC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EACzC,CAAC;YACD,WAAW,GAAG,GAAG,CAAC;YAClB,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK;iBACT,EAAE,EAAE;iBACJ,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;iBACtC,cAAc,CAAC,EAAE,CAAC,CACtB,CAAC;YACF,aAAa,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;YACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAC3B,CAAC;YACD,OAAO;QACT,CAAC;QACD,kDAAkD;QAClD,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK;aACT,EAAE,EAAE;aACJ,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;aACpC,cAAc,CAAC,EAAE,CAAC,CACtB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,EAAE;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW;YAAE,OAAO;QAC9C,sCAAsC;QACtC,mCAAmC;QACnC,iCAAiC;QACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,SAAS,EAAE,CAAC;YACd,4CAA4C;YAC5C,2CAA2C;YAC3C,8BAA8B;YAC9B,MAAM,UAAU,GACd,CAAC,CAAC,SAAS,KAAK,iBAAiB;gBACjC,CAAC,CAAC,SAAS,KAAK,iBAAiB;gBACjC,CAAC,CAAC,SAAS,KAAK,iBAAiB;gBACjC,CAAC,CAAC,SAAS,KAAK,gBAAgB;gBAChC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC1C,gBAAgB,EAAE,CAAC;QACrB,CAAC;QACD,2CAA2C;QAC3C,8CAA8C;QAC9C,2CAA2C;QAC3C,6BAA6B;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,GAAG,GACP,MAAM;YACN,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAC7B,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,YAAY,CAAC;YAClB,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,yCAAyC;gBACzC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9B,wCAAwC;gBACxC,yCAAyC;gBACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpC,IAAI,GAAG,EAAE,CAAC;wBACR,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;4BAClC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC3C,QAAQ,GAAG,IAAI,CAAC;gCAChB,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;wBAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBAC/D,0CAA0C;oBAC1C,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9B,2BAA2B;gBAC3B,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;oBAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC;oBACtC,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,KAAK,GAAG,MAAM;oBAClB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC3C,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACb,+CAA+C;oBAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,mCAAmC;oBACnC,+BAA+B;oBAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpC,IAAI,GAAG,EAAE,CAAC;4BACR,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gCAClC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC7B,QAAQ,GAAG,IAAI,CAAC;oCAChB,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;4BACpB,uCAAuC;4BACvC,MAAM,IAAI,GAAG,MAAO,CAAC,OAAO,IAAI,EAAE,CAAC;4BACnC,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,KAAK,CAAC;gCACjB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BACxD,IAAI,KAAK,EAAE,CAAC;gCACV,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;4BAC1B,CAAC;iCAAM,CAAC;gCACN,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;4BACrC,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACrB,CAAC;wBACD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC;YAC7B,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,mCAAmC;oBACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,IACE,CAAC,CAAC,SAAS,KAAK,uBAAuB;wBACvC,MAAM,CAAC,UAAU,CAAC,MAAM,EACxB,CAAC;wBACD,MAAM,GAAG,GAAG,QAAQ,CAClB,MAAM,EACN,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EACxC,EAAE,CACH,CAAC;wBACF,IAAI,GAAG,EAAE,CAAC;4BACR,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gCAClC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC5B,QAAQ,GAAG,IAAI,CAAC;oCAChB,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,QAAQ;wBAAE,MAAM;oBACpB,iCAAiC;oBACjC,mCAAmC;oBACnC,yCAAyC;oBACzC,wCAAwC;oBACxC,oCAAoC;oBACpC,oBAAoB;oBACpB,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,EAAE,GACN,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC7D,MAAM,EAAE,GACN,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,KAAK,uBAAuB,CAAC;oBACzD,MAAM,OAAO,GAAG,QAAQ;wBACtB,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;wBAC9B,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjC,4CAA4C;oBAC5C,4CAA4C;oBAC5C,qCAAqC;oBACrC,MAAM,IAAI,GAAG,CAAC,CAAe,EAAE,EAAE,CAC/B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;oBAC3D,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACpE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;wBACrD,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;wBACtC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpB,MAAM;oBACR,CAAC;oBACD,MAAM,QAAQ,GACZ,CAAC,CAAC,SAAS,KAAK,uBAAuB;wBACrC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;wBAC1C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,QAAQ;wBAAE,OAAO;oBACtB,EAAE,CAAC,MAAM,CACP,CAAC,CAAC,SAAS,KAAK,uBAAuB;wBACrC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;wBACxC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAC3C,CAAC;gBACJ,CAAC;gBACD,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9B,mCAAmC;gBACnC,wBAAwB;gBACxB,MAAM,GAAG,GAAa;oBACpB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,EAAE;oBACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC;gBACF,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAClC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;wBACnC,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,QAAQ;oBAAE,MAAM;gBACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBACjB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACvD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpB,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC;YACtB,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,uCAAuC;gBACvC,0CAA0C;gBAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACxD,6CAA6C;gBAC7C,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,CAAC,SAAS,KAAK,uBAAuB,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,CAAC,GACL,GAAG;wBACH,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;oBACtD,MAAM,CAAC,GACL,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC;wBAAE,CAAC,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,aAAa,CAAC;YACnB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,4CAA4C;gBAC5C,8BAA8B;gBAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CACb,CAAC,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAChD,EAAE,EAAE,CAAC;gBACN,MAAM;YACR,CAAC;YACD,6CAA6C;YAC7C,6DAA6D;YAC7D,6CAA6C;YAC7C,qCAAqC;YACrC,0CAA0C;YAC1C,KAAK,oBAAoB,CAAC;YAC1B,KAAK,mBAAmB,CAAC;YACzB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,uBAAuB,CAAC;YAC7B,KAAK,sBAAsB,CAAC;YAC5B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,uBAAuB,CAAC;YAC7B,KAAK,cAAc,CAAC;YACpB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GACL,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC7D,MAAM,CAAC,GACL,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzD,oCAAoC;gBACpC,uCAAuC;gBACvC,6CAA6C;gBAC7C,qCAAqC;gBACrC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,KAAK,GAAG,CAAC,CAAe,EAAE,EAAE,CAChC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;gBAC3D,MAAM,OAAO,GACX,CAAC;oBACD,CAAC;oBACD,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;oBACd,KAAK,CAAC,CAAC,CAAC;oBACR,KAAK,CAAC,CAAC,CAAC;oBACR,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,OAAO;oBACf,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACzC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACxB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,4CAA4C;YAC5C,iCAAiC;YACjC,KAAK,YAAY,CAAC;YAClB,KAAK,cAAc,CAAC;YACpB,KAAK,iBAAiB,CAAC;YACvB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,mBAAmB,CAAC;YACzB,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACf,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,EAAE;wBACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,KAAK,mBAAmB,CAAC;YACzB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG;oBACZ,iBAAiB,EAAE,MAAM;oBACzB,mBAAmB,EAAE,QAAQ;oBAC7B,kBAAkB,EAAE,OAAO;iBAC5B,CAAC,CAAC,CAAC,SAAS,CAAgC,CAAC;gBAC9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CACb,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACjE,EAAE,EAAE,CAAC;gBACN,MAAM;YACR,CAAC;YACD,KAAK,qBAAqB,CAAC;YAC3B,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CACb,CAAC,CAAC,SAAS,KAAK,mBAAmB;oBACjC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,kBAAkB,CACvB,EAAE,EAAE,CAAC;gBACN,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACzC,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC;YACtB,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,yCAAyC;gBACzC,YAAY;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC/D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,kDAAkD;YAClD,uCAAuC;YACvC,iCAAiC;YACjC;gBACE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAE,EAAE;QACrC,IAAI,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC3D,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,kDAAkD;QAClD,sDAAsD;QACtD,kCAAkC;QAClC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAC5B,aAAa,CACX,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EACvB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,CAC5D,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,EAAE;gBACF,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QACD,2DAA2D;QAC3D,iDAAiD;QACjD,6CAA6C;QAC7C,0CAA0C;QAC1C,kDAAkD;QAClD,IACE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,EACZ,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAW,EAAE;QACvC,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC;QAC7B,0CAA0C;QAC1C,yCAAyC;QACzC,oCAAoC;QACpC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,MAAM,IAAI,GAAG,CAAC,CAA2B,EAAE,EAAE,CAC3C,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,GAAiB,EAAE,CAChC,MAAM;YACJ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;gBACpB,CAAC,CAAC,MAAO,CAAC,MAAM;gBAChB,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM;oBAClB,CAAC,CAAC,EAAE,CAAC,MAAM;oBACX,CAAC,CAAC,IAAI;YACV,CAAC,CAAC,IAAI,CAAC;QACX,4CAA4C;QAC5C,iDAAiD;QACjD,0CAA0C;QAC1C,+CAA+C;QAC/C,IACE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YACrB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1B,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC3B,CAAC;YACD,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACd,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK;iBACT,EAAE,EAAE;iBACJ,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CACnE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,qDAAqD;QACrD,uCAAuC;QACvC,2BAA2B;QAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,GACN,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC7D,wCAAwC;QACxC,oDAAoD;QACpD,OAAO;QACP,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACxB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,IAAI,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GACV,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa;gBAC3B,CAAC,CAAE,MAAM,CAAC,IAAgB,CAAC;YAC/B,IAAI,GAAG,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,0CAA0C;QAC1C,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa;YAC3B,CAAC,CAAE,MAAM,CAAC,IAAgB,CAAC;QAC/B,OAAO,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,MAAM;YACxD,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,gBAAgB,CACxB,GAAG,EACH,EAAE,EACF,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC;YACd,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EACf,CAAC,CACF,CAAC;QACF,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,mCAAmC;QACnC,MAAM,SAAS,GACb,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM;YACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK;aACT,EAAE,EAAE;aACJ,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CACnE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,EAAE,EAAE,KAAK,IAAI,SAAS,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAC7B,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC3C,CAAC;QACF,wCAAwC;QACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO;QAChC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,EAAE,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;YAAE,EAAE,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,OAAO,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;QACV,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC;gBACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ;YAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC,UAAU;YAAE,OAAO;QAC3B,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzD,wCAAwC;QACxC,gCAAgC;QAChC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,EAAE,IAAI,IAAI;YAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,SAAS,GAAG,IAAI,CAAC;QACjB,aAAa,GAAG,KAAK,CAAC;QACtB,SAAS,GAAG,UAAU,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC;IAC1C,CAAC,CAAC;IACF;;;OAGG;IACH,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,SAAS,GAAG,KAAK,CAAC;QAClB,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,MAAM,CAAC,QAAQ;YAAE,iBAAiB,EAAE,CAAC;QACzC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,0CAA0C;QAC1C,uDAAuD;QACvD,4CAA4C;QAC5C,4CAA4C;QAC5C,aAAa,GAAG,IAAI,CAAC;QACrB,SAAS,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;YAAE,OAAO;QAClE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,QAAQ;YAAE,OAAO;QAC5B,oCAAoC;QACpC,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;YAAE,OAAO;QAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK;aACT,EAAE,EAAE;aACJ,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,aAAa,GAAG,CACpB,EAAuB,EACvB,MAA6B,EAC7B,EAAgB,EACP,EAAE;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,GAAG,GAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAE,EAAE;QACpC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC1C,uCAAuC;QACvC,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;YAAE,CAAC,CAAC,cAAc,EAAE,CAAC;IACxE,CAAC,CAAC;IAEF;2DACuD;IACvD,MAAM,UAAU,GAAG,CAAC,CAAY,EAAE,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC;QAChC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAY,EAAE,EAAE;QAC9B,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC1C,MAAM,EAAE,GAAG,gBAAgB,CACzB,EAAE,CAAC,aAAa,EAChB,EAAE,EACF,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,OAAO,CACV,CAAC;QACF,uCAAuC;QACvC,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;YAAE,CAAC,CAAC,cAAc,EAAE,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,SAAS;YAAE,OAAO;QACtB,8BAA8B;QAC9B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,yCAAyC;QACzC,WAAW,GAAG,GAAG,CAAC;QAClB,aAAa,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACrD,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;YACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAC9B,CAAC;YACD,OAAO;QACT,CAAC;QACD,kDAAkD;QAClD,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CACxD,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAClD,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1C,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9C,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5C,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAExE,OAAO;QACL,UAAU;QACV,MAAM;YACJ,IAAI,SAAS,KAAK,IAAI;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAChD,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACrD,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7C,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACjD,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC/C,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YAC/D,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC3D,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAClC,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/view/input.ts"],"names":[],"mappings":"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"}
@@ -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;AA8CD,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CA6Ef"}
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"}
@@ -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 = { node: rn.source, editor: ctx.editor };
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
- const content = document.createElement("div");
17
- content.className = "me-node-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 ?? []) {