@moda-editor/core 0.3.1 → 0.3.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 (137) hide show
  1. package/dist/commands.d.ts.map +1 -1
  2. package/dist/commands.js +14 -1
  3. package/dist/commands.js.map +1 -1
  4. package/dist/editor/editor.d.ts.map +1 -1
  5. package/dist/editor/editor.js +3 -1
  6. package/dist/editor/editor.js.map +1 -1
  7. package/dist/features/code-block.d.ts.map +1 -1
  8. package/dist/features/code-block.js +10 -2
  9. package/dist/features/code-block.js.map +1 -1
  10. package/dist/features/code-edit.d.ts.map +1 -1
  11. package/dist/features/code-edit.js.map +1 -1
  12. package/dist/features/code-format.js.map +1 -1
  13. package/dist/features/hard-break.d.ts.map +1 -1
  14. package/dist/features/hard-break.js +2 -0
  15. package/dist/features/hard-break.js.map +1 -1
  16. package/dist/features/heading.d.ts.map +1 -1
  17. package/dist/features/heading.js +3 -1
  18. package/dist/features/heading.js.map +1 -1
  19. package/dist/features/horizontal-rule.d.ts.map +1 -1
  20. package/dist/features/horizontal-rule.js.map +1 -1
  21. package/dist/features/image.d.ts.map +1 -1
  22. package/dist/features/image.js.map +1 -1
  23. package/dist/features/link.d.ts.map +1 -1
  24. package/dist/features/link.js.map +1 -1
  25. package/dist/features/marks.d.ts.map +1 -1
  26. package/dist/features/marks.js +25 -3
  27. package/dist/features/marks.js.map +1 -1
  28. package/dist/features/search.d.ts.map +1 -1
  29. package/dist/features/search.js +1 -7
  30. package/dist/features/search.js.map +1 -1
  31. package/dist/features/table.d.ts.map +1 -1
  32. package/dist/features/table.js +30 -7
  33. package/dist/features/table.js.map +1 -1
  34. package/dist/fixtures/external-pastes.d.ts +33 -0
  35. package/dist/fixtures/external-pastes.d.ts.map +1 -0
  36. package/dist/fixtures/external-pastes.js +134 -0
  37. package/dist/fixtures/external-pastes.js.map +1 -0
  38. package/dist/history.d.ts.map +1 -1
  39. package/dist/history.js +57 -2
  40. package/dist/history.js.map +1 -1
  41. package/dist/index.d.ts +6 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +3 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/model/node.d.ts.map +1 -1
  46. package/dist/model/node.js +1 -2
  47. package/dist/model/node.js.map +1 -1
  48. package/dist/model/schema.d.ts +7 -0
  49. package/dist/model/schema.d.ts.map +1 -1
  50. package/dist/model/schema.js.map +1 -1
  51. package/dist/model/traverse.d.ts +10 -3
  52. package/dist/model/traverse.d.ts.map +1 -1
  53. package/dist/model/traverse.js +13 -5
  54. package/dist/model/traverse.js.map +1 -1
  55. package/dist/parse/html.d.ts.map +1 -1
  56. package/dist/parse/html.js +33 -3
  57. package/dist/parse/html.js.map +1 -1
  58. package/dist/presets/markdown-parse.d.ts.map +1 -1
  59. package/dist/presets/markdown-parse.js +9 -0
  60. package/dist/presets/markdown-parse.js.map +1 -1
  61. package/dist/presets/markdown.d.ts.map +1 -1
  62. package/dist/presets/markdown.js +7 -6
  63. package/dist/presets/markdown.js.map +1 -1
  64. package/dist/presets/starter.d.ts.map +1 -1
  65. package/dist/presets/starter.js.map +1 -1
  66. package/dist/state/apply.d.ts.map +1 -1
  67. package/dist/state/apply.js +1 -3
  68. package/dist/state/apply.js.map +1 -1
  69. package/dist/state/input-rules.d.ts.map +1 -1
  70. package/dist/state/input-rules.js +4 -0
  71. package/dist/state/input-rules.js.map +1 -1
  72. package/dist/state/insert-ops.d.ts.map +1 -1
  73. package/dist/state/insert-ops.js +9 -2
  74. package/dist/state/insert-ops.js.map +1 -1
  75. package/dist/state/list-ops.d.ts.map +1 -1
  76. package/dist/state/list-ops.js.map +1 -1
  77. package/dist/state/navigate.d.ts.map +1 -1
  78. package/dist/state/navigate.js +14 -4
  79. package/dist/state/navigate.js.map +1 -1
  80. package/dist/state/resolve-insert.d.ts.map +1 -1
  81. package/dist/state/resolve-insert.js +12 -1
  82. package/dist/state/resolve-insert.js.map +1 -1
  83. package/dist/styles.css +27 -12
  84. package/dist/theme.d.ts.map +1 -1
  85. package/dist/theme.js.map +1 -1
  86. package/dist/view/decoration.d.ts.map +1 -1
  87. package/dist/view/decoration.js +60 -44
  88. package/dist/view/decoration.js.map +1 -1
  89. package/dist/view/highlight-registry.d.ts.map +1 -1
  90. package/dist/view/highlight-registry.js.map +1 -1
  91. package/dist/view/ime.d.ts +22 -1
  92. package/dist/view/ime.d.ts.map +1 -1
  93. package/dist/view/ime.js +124 -56
  94. package/dist/view/ime.js.map +1 -1
  95. package/dist/view/input-beforeinput.d.ts +25 -0
  96. package/dist/view/input-beforeinput.d.ts.map +1 -0
  97. package/dist/view/input-beforeinput.js +330 -0
  98. package/dist/view/input-beforeinput.js.map +1 -0
  99. package/dist/view/input-keys.d.ts +25 -0
  100. package/dist/view/input-keys.d.ts.map +1 -0
  101. package/dist/view/input-keys.js +69 -0
  102. package/dist/view/input-keys.js.map +1 -0
  103. package/dist/view/input-pointer.d.ts +24 -0
  104. package/dist/view/input-pointer.d.ts.map +1 -0
  105. package/dist/view/input-pointer.js +96 -0
  106. package/dist/view/input-pointer.js.map +1 -0
  107. package/dist/view/input-selection.d.ts +41 -0
  108. package/dist/view/input-selection.d.ts.map +1 -0
  109. package/dist/view/input-selection.js +219 -0
  110. package/dist/view/input-selection.js.map +1 -0
  111. package/dist/view/input.d.ts +39 -30
  112. package/dist/view/input.d.ts.map +1 -1
  113. package/dist/view/input.js +84 -679
  114. package/dist/view/input.js.map +1 -1
  115. package/dist/view/mount.d.ts +7 -0
  116. package/dist/view/mount.d.ts.map +1 -1
  117. package/dist/view/mount.js +107 -19
  118. package/dist/view/mount.js.map +1 -1
  119. package/dist/view/node-selection.d.ts.map +1 -1
  120. package/dist/view/node-selection.js +1 -3
  121. package/dist/view/node-selection.js.map +1 -1
  122. package/dist/view/render.d.ts.map +1 -1
  123. package/dist/view/render.js +10 -3
  124. package/dist/view/render.js.map +1 -1
  125. package/dist/widget/core.d.ts +37 -0
  126. package/dist/widget/core.d.ts.map +1 -0
  127. package/dist/widget/core.js +117 -0
  128. package/dist/widget/core.js.map +1 -0
  129. package/dist/widget/mount.d.ts +24 -0
  130. package/dist/widget/mount.d.ts.map +1 -0
  131. package/dist/widget/mount.js +45 -0
  132. package/dist/widget/mount.js.map +1 -0
  133. package/dist/widget/types.d.ts +44 -0
  134. package/dist/widget/types.d.ts.map +1 -0
  135. package/dist/widget/types.js +8 -0
  136. package/dist/widget/types.js.map +1 -0
  137. package/package.json +2 -6
@@ -0,0 +1,134 @@
1
+ /**
2
+ * 외부 클립보드 페이로드 픽스처 — MS Word / Google Docs 복사물의
3
+ * 실제 출력 형태를 축약 재현한다 (네임스페이스·조건부 주석·Mso*
4
+ * 클래스·과도한 인라인 스타일·래퍼 관례를 모두 포함).
5
+ *
6
+ * 단위 테스트(parse-external.test.ts)와 e2e(editor.spec.ts의
7
+ * 붙여넣기 스크롤 스펙)가 같은 페이로드를 공유한다 — 현실성이
8
+ * 달라지면 두 계층이 함께 깨지므로 여기 한 곳만 수정한다.
9
+ */
10
+ /**
11
+ * MS Word(데스크톱, 한국어 로케일)의 복사 페이로드 관례:
12
+ * - o:/w:/m: 네임스페이스와 `<xml>` 조건부 주석 블록
13
+ * - `<o:p>` 빈 채움 태그, StartFragment/EndFragment 주석
14
+ * - MsoNormal/MsoListParagraphCxSpFirst~/MsoTableGrid 클래스와
15
+ * mso-* 인라인 스타일 난사
16
+ * - 불릿 목록은 ul/li가 아니라 MsoListParagraph + downlevel-revealed
17
+ * 조건부 주석 속 글리프(`·`)로 표현된다 — 실제 브라우저에는
18
+ * 주석 두 개 사이의 스팬이 보이는 DOM으로 남는다
19
+ * - 표 안에 표가 중첩될 수 있다
20
+ */
21
+ export const MS_WORD_PASTE = `<html xmlns:o="urn:schemas-microsoft-com:office:office"
22
+ xmlns:w="urn:schemas-microsoft-com:office:word"
23
+ xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
24
+ xmlns="http://www.w3.org/TR/REC-html40">
25
+ <head>
26
+ <meta http-equiv=Content-Type content="text/html; charset=utf-8">
27
+ <meta name=ProgId content=Word.Document>
28
+ <meta name=Generator content="Microsoft Word 15">
29
+ <!--[if gte mso 9]><xml>
30
+ <o:OfficeDocumentSettings><o:AllowPNG/></o:OfficeDocumentSettings>
31
+ </xml><![endif]-->
32
+ <!--[if gte mso 9]><xml>
33
+ <w:WordDocument><w:View>Normal</w:View><w:Zoom>0</w:Zoom>
34
+ <w:TrackChanges/><w:PunctuationKerning/></w:WordDocument>
35
+ </xml><![endif]-->
36
+ <style>
37
+ <!--
38
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
39
+ {margin:0cm;font-size:12.0pt;font-family:"Cambria",serif;
40
+ mso-fareast-font-family:"맑은 고딕";}
41
+ p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst
42
+ {margin-top:0cm;margin-right:0cm;margin-bottom:0cm;
43
+ margin-left:36.0pt;text-indent:-18.0pt;}
44
+ -->
45
+ </style>
46
+ </head>
47
+ <body lang=KO link=blue vlink=purple style='tab-interval:40.0pt'>
48
+ <!--StartFragment-->
49
+ <div class=WordSection1>
50
+ <h1 style='mso-outline-level:1'><span style='font-family:"맑은 고딕";
51
+ mso-fareast-font-family:"맑은 고딕";mso-bidi-font-weight:bold'>분기 회의록</span></h1>
52
+ <p class=MsoNormal><span style='font-size:11.0pt;font-family:"맑은 고딕";
53
+ mso-fareast-font-family:"맑은 고딕"'>본문에 <b style='mso-bidi-font-weight:
54
+ normal'>굵은 강조</b>와 <i style='mso-bidi-font-style:normal'>기울임
55
+ 표현</i>이 섞여 있다<o:p></o:p></span></p>
56
+ <p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;
57
+ mso-list:l0 level1 lfo1'><!--[if !supportLists]--><span style='font-family:
58
+ Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'>·<span
59
+ style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
60
+ </span></span><!--[endif]--><span style='font-family:"맑은 고딕"'>첫 번째 안건
61
+ 검토<o:p></o:p></span></p>
62
+ <p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;
63
+ mso-list:l0 level1 lfo1'><!--[if !supportLists]--><span style='font-family:
64
+ Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
65
+ </span></span><!--[endif]--><span style='font-family:"맑은 고딕"'>두 번째 안건
66
+ 승인<o:p></o:p></span></p>
67
+ <p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;
68
+ mso-list:l0 level1 lfo1'><!--[if !supportLists]--><span style='font-family:
69
+ Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
70
+ </span></span><!--[endif]--><span style='font-family:"맑은 고딕"'>세 번째 안건
71
+ 보류<o:p></o:p></span></p>
72
+ <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
73
+ style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
74
+ mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
75
+ <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
76
+ <td width=200 valign=top style='width:150.0pt;border:solid windowtext 1.0pt;
77
+ padding:0cm 5.4pt 0cm 5.4pt'>
78
+ <p class=MsoNormal style='margin-bottom:0cm'><b>항목명</b></p>
79
+ </td>
80
+ <td width=200 valign=top style='border:solid windowtext 1.0pt'>
81
+ <p class=MsoNormal style='margin-bottom:0cm'><b>담당자</b></p>
82
+ </td>
83
+ </tr>
84
+ <tr style='mso-yfti-irow:1'>
85
+ <td width=200 valign=top style='border:solid windowtext 1.0pt'>
86
+ <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
87
+ style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt'>
88
+ <tr><td width=100 valign=top style='border:solid windowtext 1.0pt'>
89
+ <p class=MsoNormal style='margin-bottom:0cm'>중첩 셀</p>
90
+ </td></tr>
91
+ </table>
92
+ </td>
93
+ <td width=200 valign=top style='border:solid windowtext 1.0pt'>
94
+ <p class=MsoNormal style='margin-bottom:0cm'>김대리</p>
95
+ </td>
96
+ </tr>
97
+ </table>
98
+ <p class=MsoNormal><o:p>&nbsp;</o:p></p>
99
+ </div>
100
+ <!--EndFragment-->
101
+ </body>
102
+ </html>`;
103
+ /**
104
+ * Google Docs의 복사 페이로드 관례:
105
+ * - 전체를 `<b style="font-weight:normal" id="docs-internal-guid-…">`
106
+ * 가 감싼다 — 태그만 보는 bold 규칙이 있으면 문서 전체가 bold로
107
+ * 물든다 (이 픽스처가 해당 회귀의 red-green 가드)
108
+ * - h1/p/li에 dir="ltr"와 line-height·margin·font 인라인 스타일 난사
109
+ * - 마크는 <b>/<i> 태그가 아니라 span의 font-weight:700 /
110
+ * font-style:italic 선언으로 온다
111
+ * - 리스트는 ul/li + li 안의 p 구조, 표는 inline border 스타일
112
+ */
113
+ export const GOOGLE_DOCS_PASTE = `<meta charset="utf-8"><b style="font-weight:normal;"
114
+ id="docs-internal-guid-3f0e8a4a-7fff-1a2b-3c4d-5e6f7a8b9c0d"><h1 dir="ltr"
115
+ style="line-height:1.38;margin-top:20pt;margin-bottom:6pt;"><span
116
+ style="font-size:20pt;font-family:Arial,sans-serif;color:#000000;
117
+ background-color:transparent;font-weight:700;font-style:normal;">분기
118
+ 보고서</span></h1><p dir="ltr" style="line-height:1.38;margin-top:0pt;
119
+ margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial,sans-serif;
120
+ color:#000000;background-color:transparent;font-weight:400;">일반 문단과
121
+ </span><span style="font-size:11pt;font-family:Arial,sans-serif;color:#000000;
122
+ font-weight:700;">굵은 단어</span><span style="font-size:11pt;">,
123
+ </span><span style="font-size:11pt;font-style:italic;">기울인 단어</span><span
124
+ style="font-size:11pt;">가 섞인다.</span></p><br><ul style="margin-top:0;
125
+ margin-bottom:0;padding-inline-start:48px;"><li dir="ltr"
126
+ style="list-style-type:disc;font-size:11pt;"><p dir="ltr"
127
+ style="margin-top:0pt;margin-bottom:0pt;"><span>목록 항목 하나</span></p></li>
128
+ <li dir="ltr" style="list-style-type:disc;font-size:11pt;"><p dir="ltr"
129
+ style="margin-top:0pt;margin-bottom:0pt;"><span>목록 항목 둘</span></p></li>
130
+ </ul><table style="border:none;border-collapse:collapse;"><tbody><tr
131
+ style="min-height:21pt"><td style="border:solid #000000 1pt;padding:5pt;">
132
+ <p dir="ltr"><span>셀 A</span></p></td><td style="border:solid #000000 1pt;
133
+ padding:5pt;"><p dir="ltr"><span>셀 B</span></p></td></tr></tbody></table></b>`;
134
+ //# sourceMappingURL=external-pastes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-pastes.js","sourceRoot":"","sources":["../../src/fixtures/external-pastes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiFrB,CAAC;AAET;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;8EAoB6C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,SAAS,EAAU,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,iBAAiB,CAAC;AAUrD,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAmBnD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,gBAAgB;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,YAAY,CAOf;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,OAAO,CAEV;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,OAAO,CAEV;AAED,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE,CA6J3D;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,SAAS,EAAE,OAAO,GACjB,IAAI,EAAE,CAQR;AAgFD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,CAY5C"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,SAAS,EAAU,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,iBAAiB,CAAC;AAUrD,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAmBnD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,gBAAgB;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,YAAY,CAOf;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,OAAO,CAEV;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,GAAG,OAAO,CAEV;AAED,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE,CA4J3D;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,SAAS,EAAE,OAAO,GACjB,IAAI,EAAE,CAQR;AAwID;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,CAY5C"}
package/dist/history.js CHANGED
@@ -241,8 +241,63 @@ const historyPlugin = {
241
241
  // 기록 제외 표시 — 협업 계층이 원격 반영 tr에 다는 메타
242
242
  // (collab-yjs의 REMOTE_META와 함께 설정). 원격 편집을 done에
243
243
  // 쌓으면 로컬 undo가 남의 편집을 되돌린다
244
- if (tr.meta["history.skip"])
245
- return h;
244
+ if (tr.meta["history.skip"]) {
245
+ if (!h.done.length && !h.undone.length)
246
+ return h;
247
+ // 원격 스텝도 좌표를 바꾼다 — 저장된 스텝·셀렉션을 그대로 두면
248
+ // undo가 옛 좌표에 적용돼 원격이 쓴 내용을 지우고(역스텝 오적용)
249
+ // 캐럿을 사라진 경로로 복원한다. 엔트리의 스텝·역스텝·셀렉션을
250
+ // 원격 스텝으로 전진 매핑한다 — 위치 매핑이라 겹치는 편집의 의미
251
+ // 병합까지는 하지 않는다 (PM 히스토리 리베이스와 같은 수준의 근사)
252
+ const docs = [prevState.doc];
253
+ for (const s of tr.steps) {
254
+ docs.push(applyStep(docs[docs.length - 1], s));
255
+ }
256
+ const mapP = (p) => tr.steps.reduce((q, s, i) => mapPoint(q, s, docs[i]), p);
257
+ // 스텝의 위치 필드(at/path/range)를 같은 체인으로 옮긴다 —
258
+ // remove의 at이 옛 오프셋에 머물면 원격 삽입물을 대신 지운다
259
+ const mapStep = (s) => {
260
+ switch (s.op) {
261
+ case "insert":
262
+ case "remove":
263
+ case "split":
264
+ case "join":
265
+ return { ...s, at: mapP(s.at) };
266
+ case "setAttr":
267
+ return { ...s, path: mapP({ path: s.path, offset: 0 }).path };
268
+ case "addMark":
269
+ case "removeMark":
270
+ return {
271
+ ...s,
272
+ range: {
273
+ anchor: mapP(s.range.anchor),
274
+ focus: mapP(s.range.focus),
275
+ },
276
+ };
277
+ case "replaceDoc":
278
+ // 통째 교체는 위치 매핑이 성립하지 않는다 — 그대로 둔다
279
+ return s;
280
+ }
281
+ };
282
+ const mapSel = (s) => {
283
+ if (s.type === "text") {
284
+ return { ...s, anchor: mapP(s.anchor), focus: mapP(s.focus) };
285
+ }
286
+ if (s.type === "node") {
287
+ return { ...s, path: mapP({ path: s.path, offset: 0 }).path };
288
+ }
289
+ return s;
290
+ };
291
+ const remap = (e) => ({
292
+ steps: e.steps.map(mapStep),
293
+ inverse: e.inverse.map(mapStep),
294
+ selBefore: mapSel(e.selBefore),
295
+ selAfter: mapSel(e.selAfter),
296
+ group: e.group,
297
+ time: e.time,
298
+ });
299
+ return { done: h.done.map(remap), undone: h.undone.map(remap) };
300
+ }
246
301
  const now = Date.now();
247
302
  const entry = {
248
303
  steps: [...tr.steps],
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- export { WidgetCore } from "./core.js";
2
- export type { Widget } from "./core.js";
3
- export { mountWidget } from "./mount.js";
4
- export type { MountedWidget, MountWidgetOptions } from "./mount.js";
5
- export type { WidgetCoreOptions, WidgetEventHandlers, WidgetEventMap, WidgetEventType, WidgetSnapshot, RowData, } from "./types.js";
1
+ export { WidgetCore } from "./widget/core.js";
2
+ export type { Widget } from "./widget/core.js";
3
+ export { mountWidget } from "./widget/mount.js";
4
+ export type { MountedWidget, MountWidgetOptions } from "./widget/mount.js";
5
+ export type { WidgetCoreOptions, WidgetEventHandlers, WidgetEventMap, WidgetEventType, WidgetSnapshot, RowData, } from "./widget/types.js";
6
6
  export type { Attrs, DocNode, EditorNode, Mark } from "./model/node.js";
7
7
  export { attrsJsonEqual, createDoc, createText, docJsonEqual, isLeaf, isTextNode, marksJsonEqual, } from "./model/node.js";
8
8
  export type { AttrSpec, DOMSpec, MarkSpec, NodeSpec, ParseRule, Schema, SchemaSpec, } from "./model/schema.js";
9
9
  export { createSchema, normalizeDoc } from "./model/schema.js";
10
10
  export { docText, firstTextPath, lastTextPath, nodeAt, textOfNode, } from "./model/traverse.js";
11
+ export type { LeafTextOf } from "./model/traverse.js";
11
12
  export { applyStep, computeSplitOps, coveredOffsets, leafPoint, mapPoint, marksEq, resolveMarkPoint, } from "./state/apply.js";
12
13
  export type { SplitOp } from "./state/apply.js";
13
14
  export type { NodeSelection, Point, Range, Selection, TextSelection, } from "./state/selection.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- // ── 템플릿 예시 (골든 패스 레퍼런스) — 에디터 뷰로 교체 예정 ──
2
- export { WidgetCore } from "./core.js";
3
- export { mountWidget } from "./mount.js";
1
+ // ── 위젯 예시 (골든 패스 레퍼런스) — widget/ 서브디렉터리 ──
2
+ export { WidgetCore } from "./widget/core.js";
3
+ export { mountWidget } from "./widget/mount.js";
4
4
  export { attrsJsonEqual, createDoc, createText, docJsonEqual, isLeaf, isTextNode, marksJsonEqual, } from "./model/node.js";
5
5
  export { createSchema, normalizeDoc } from "./model/schema.js";
6
6
  // ── 상태 계층: 셀렉션/트랜잭션/에디터 상태 ───────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,2CAA2C;AAC3C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C,8CAA8C;AAC9C,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEhD;AAED,mBAAmB;AACnB,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,SAAS,UAAU,EAAO,GAAG,OAAO,CAEtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,UAAU,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,OAAO,GAAG,UAAU,EACvB,CAAC,EAAE,OAAO,GAAG,UAAU,GACtB,OAAO,CAWT;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACtC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACrC,OAAO,CAKT;AAwBD,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,EAC9B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,GAC7B,OAAO,CAaT"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,2CAA2C;AAC3C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C,8CAA8C;AAC9C,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEhD;AAED,mBAAmB;AACnB,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,SAAS,UAAU,EAAO,GAAG,OAAO,CAEtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,UAAU,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,OAAO,GAAG,UAAU,EACvB,CAAC,EAAE,OAAO,GAAG,UAAU,GACtB,OAAO,CAWT;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACtC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACrC,OAAO,CAKT;AAuBD,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,EAC9B,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,GAC7B,OAAO,CAaT"}
@@ -74,8 +74,7 @@ function jsonValueEqual(a, b) {
74
74
  if (aArr) {
75
75
  const aa = a;
76
76
  const bb = b;
77
- return (aa.length === bb.length &&
78
- aa.every((v, i) => jsonValueEqual(v, bb[i])));
77
+ return (aa.length === bb.length && aa.every((v, i) => jsonValueEqual(v, bb[i])));
79
78
  }
80
79
  return attrsJsonEqual(a, b);
81
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export interface NodeSpec {
42
42
  draggable?: boolean;
43
43
  /** 코드 블록 — Enter가 개행이고 입력 규칙/마크 변환이 비활성 */
44
44
  code?: boolean;
45
+ /**
46
+ * 리프 노드의 평문 표현 — docText/getText가 텍스트가 아닌 리프
47
+ * (인라인 atom 등)를 만날 때 쓴다 (PM의 leafText 관례). 선언이
48
+ * 없으면 리프는 ""로 직렬화된다 — hardBreak가 "\n"을 노출해
49
+ * 강제 개행이 평문에 살아남는다
50
+ */
51
+ leafText?: (node: EditorNode) => string;
45
52
  /**
46
53
  * 구문 하이라이트 — 뷰 레벨 데코레이션 (Tiptap lowlight 관례).
47
54
  * doc을 오염시키지 않고 렌더 시 텍스트 자식을 `me-tok-<kind>`
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"AAmHA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IAE1C,SAAS,YAAY,CACnB,SAA+C,EAC/C,KAAwB;QAExB,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,GAAG,GAAU,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW;QACX,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,QAAQ,CAAC,IAAI;YACX,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CACL,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI;QAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,KAAK;YACd,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAY;IACvD,MAAM,CAAC,GAAY;QACjB,GAAG,GAAG;QACN,IAAI,EAAE,MAAM,CAAC,WAAW;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;KAC3B,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1B,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC;IAChE,OAAO;QACL,GAAG,CAAC;QACJ,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B,IAAI,IAAI,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAC1C,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CACxC,IAAI,IAAI,CACV,CAAC;AACJ,CAAC"}
@@ -33,8 +33,15 @@ export declare function expandTextNodes(node: EditorNode, path: readonly number[
33
33
  export declare function lastTextPath(doc: EditorNode): readonly number[] | null;
34
34
  /** 문서의 첫 텍스트 노드 경로 — 없으면 null */
35
35
  export declare function firstTextPath(doc: EditorNode): readonly number[] | null;
36
- /** 노드의 평문 — 텍스트 리프는 text, 컨테이너는 자식을 재귀 결합 */
37
- export declare function textOfNode(node: EditorNode): string;
36
+ /** 비텍스트 리프의 평문 표현 리졸버 — NodeSpec.leafText를 감싼 것 */
37
+ export type LeafTextOf = (node: EditorNode) => string | undefined;
38
+ /**
39
+ * 노드의 평문 — 텍스트 리프는 text, 컨테이너는 자식을 재귀 결합.
40
+ * 텍스트도 content도 없는 리프(인라인 atom 등)는 leafText 리졸버의
41
+ * 표현을 쓰고, 없으면 ""다 — 스키마를 모르는 순수 호출은 원래 계약
42
+ * (atom 무시)을 유지한다
43
+ */
44
+ export declare function textOfNode(node: EditorNode, leafText?: LeafTextOf): string;
38
45
  /** 문서 전체 평문 — 최상위 블록 사이는 \n */
39
- export declare function docText(doc: EditorNode): string;
46
+ export declare function docText(doc: EditorNode, leafText?: LeafTextOf): string;
40
47
  //# sourceMappingURL=traverse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/model/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;GAMG;AAEH,wCAAwC;AACxC,wBAAgB,MAAM,CACpB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAIxB;AAED,gCAAgC;AAChC,wBAAgB,QAAQ,CACtB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAExB;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CACxB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAGxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,GACnC,UAAU,CAUZ;AAED,kCAAkC;AAClC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,GAChB,UAAU,CAMZ;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,UAAU,CAOZ;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,UAAU,CAMZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,UAAU,EAAE,GACvE,SAAS,UAAU,EAAE,CAYvB;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAYtE;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAYvE;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAGnD;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAE/C"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/model/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;GAMG;AAEH,wCAAwC;AACxC,wBAAgB,MAAM,CACpB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAIxB;AAED,gCAAgC;AAChC,wBAAgB,QAAQ,CACtB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAExB;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CACxB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,UAAU,GAAG,SAAS,CAGxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,GACnC,UAAU,CAUZ;AAED,kCAAkC;AAClC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,GAChB,UAAU,CAMZ;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,UAAU,CAOZ;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,UAAU,CAMZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,UAAU,EAAE,GACvE,SAAS,UAAU,EAAE,CAYvB;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAYtE;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAYvE;AAED,mDAAmD;AACnD,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,GAAG,SAAS,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAM1E;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAEtE"}
@@ -120,14 +120,22 @@ export function firstTextPath(doc) {
120
120
  };
121
121
  return walk(doc, []);
122
122
  }
123
- /** 노드의 평문 — 텍스트 리프는 text, 컨테이너는 자식을 재귀 결합 */
124
- export function textOfNode(node) {
123
+ /**
124
+ * 노드의 평문 — 텍스트 리프는 text, 컨테이너는 자식을 재귀 결합.
125
+ * 텍스트도 content도 없는 리프(인라인 atom 등)는 leafText 리졸버의
126
+ * 표현을 쓰고, 없으면 ""다 — 스키마를 모르는 순수 호출은 원래 계약
127
+ * (atom 무시)을 유지한다
128
+ */
129
+ export function textOfNode(node, leafText) {
125
130
  if (node.text !== undefined)
126
131
  return node.text;
127
- return (node.content ?? []).map(textOfNode).join("");
132
+ if (node.content !== undefined) {
133
+ return node.content.map((c) => textOfNode(c, leafText)).join("");
134
+ }
135
+ return leafText?.(node) ?? "";
128
136
  }
129
137
  /** 문서 전체 평문 — 최상위 블록 사이는 \n */
130
- export function docText(doc) {
131
- return (doc.content ?? []).map(textOfNode).join("\n");
138
+ export function docText(doc, leafText) {
139
+ return (doc.content ?? []).map((c) => textOfNode(c, leafText)).join("\n");
132
140
  }
133
141
  //# sourceMappingURL=traverse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/model/traverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/model/traverse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/parse/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,UAAU,EAAQ,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAwW5D;;;GAGG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,QAAQ,GACb,UAAU,EAAE,CAMd"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/parse/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,UAAU,EAAQ,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAoY5D;;;GAGG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,QAAQ,GACb,UAAU,EAAE,CAMd"}
@@ -263,7 +263,18 @@ class Parser {
263
263
  }
264
264
  const mark = this.matchMark(cel);
265
265
  if (mark) {
266
- run.push(...this.walkInline(cel, [...marks, mark]));
266
+ const next = [...marks, mark];
267
+ // 마크가 블록을 감싸는 경우(Word/Google Docs의 흔한 출력) —
268
+ // walkInline으로 내리면 블록이 전부 언랩돼 <b><p>x</p><p>y</p>
269
+ // </b>가 한 문단으로 뭉개진다. 블록 구조를 유지한 채 마크를
270
+ // 내부 텍스트로 전파하기 위해 블록 컨텍스트로 내려간다
271
+ if (this.hasBlockChild(cel)) {
272
+ flush();
273
+ out.push(...this.walkBlocks(cel, next, expr));
274
+ }
275
+ else {
276
+ run.push(...this.walkInline(cel, next));
277
+ }
267
278
  continue;
268
279
  }
269
280
  if (nodeMatch) {
@@ -275,8 +286,11 @@ class Parser {
275
286
  }));
276
287
  continue;
277
288
  }
278
- // 미매칭 — blockish면 경계, 아니면 투명 언랩
279
- if (BLOCKISH.has(cel.tagName.toLowerCase())) {
289
+ // 미매칭 — blockish면 경계로 내려간다. 인라인 태그래도 블록 자식을
290
+ // 품으면(GDocs의 <b font-weight:normal> 래퍼처럼) 투명 래퍼로
291
+ // 재귀한다 — walkInline으로 평탄화하면 안의 h1·ul·table이 전부
292
+ // 한 문단으로 뭉개진다 (마크 분기의 hasBlockChild와 같은 판정)
293
+ if (BLOCKISH.has(cel.tagName.toLowerCase()) || this.hasBlockChild(cel)) {
280
294
  flush();
281
295
  out.push(...this.walkBlocks(cel, marks, expr));
282
296
  }
@@ -287,6 +301,22 @@ class Parser {
287
301
  flush();
288
302
  return out;
289
303
  }
304
+ /**
305
+ * 자식 중 블록 경계를 만들 요소가 있는가 — 마크 태그 안쪽의
306
+ * 내리기 방향(블록 보존 vs 인라인 평탄화)을 결정한다.
307
+ * 블록 노드 매칭이나 미매칭 BLOCKISH 태그를 본다
308
+ */
309
+ hasBlockChild(el) {
310
+ for (const c of Array.from(el.childNodes)) {
311
+ if (c.nodeType !== 1)
312
+ continue;
313
+ const ce = c;
314
+ const m = this.matchNode(ce);
315
+ if (m ? !this.isInline(m.type) : BLOCKISH.has(ce.tagName.toLowerCase()))
316
+ return true;
317
+ }
318
+ return false;
319
+ }
290
320
  /** 매칭된 노드의 content — inline 계열이면 walkInline, 아니면 walkBlocks */
291
321
  nodeContent(el, type, marks) {
292
322
  const spec = this.schema.nodeSpec(type);