@milkdown/crepe 7.5.0 → 7.5.1

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 (197) hide show
  1. package/lib/cjs/{index--tnUmqZ_.js → index--2zEz40J.js} +8 -23
  2. package/lib/cjs/{index--tnUmqZ_.js.map → index--2zEz40J.js.map} +1 -1
  3. package/lib/cjs/{index-92bwto5V.js → index-5n9R-QCl.js} +5 -20
  4. package/lib/cjs/{index-92bwto5V.js.map → index-5n9R-QCl.js.map} +1 -1
  5. package/lib/cjs/{index-HH5lPgpj.js → index-HEdBw63r.js} +8 -23
  6. package/lib/cjs/{index-HH5lPgpj.js.map → index-HEdBw63r.js.map} +1 -1
  7. package/lib/cjs/{index-J1-yHn7v.js → index-Hlt9dRH5.js} +5 -20
  8. package/lib/cjs/{index-J1-yHn7v.js.map → index-Hlt9dRH5.js.map} +1 -1
  9. package/lib/cjs/{index-cb-5m0vG.js → index-KCW2CzRk.js} +8 -23
  10. package/lib/cjs/index-KCW2CzRk.js.map +1 -0
  11. package/lib/cjs/{index-VYwHTL3F.js → index-KSZhahYb.js} +6 -21
  12. package/lib/cjs/{index-VYwHTL3F.js.map → index-KSZhahYb.js.map} +1 -1
  13. package/lib/cjs/index-N1cRxqdw.js +39 -0
  14. package/lib/cjs/index-N1cRxqdw.js.map +1 -0
  15. package/lib/cjs/{index-c_OzudR7.js → index-NNo_VSEA.js} +5 -20
  16. package/lib/{esm/index-DS7Z4Ach.js.map → cjs/index-NNo_VSEA.js.map} +1 -1
  17. package/lib/cjs/{index-Tjg8KyK7.js → index-O1bDbloo.js} +5 -20
  18. package/lib/{esm/index-eqd5wtjX.js.map → cjs/index-O1bDbloo.js.map} +1 -1
  19. package/lib/cjs/{index-55VIM-52.js → index-OPh9naof.js} +8 -23
  20. package/lib/cjs/{index-55VIM-52.js.map → index-OPh9naof.js.map} +1 -1
  21. package/lib/cjs/{index-E4Ist86Z.js → index-PAhfZtcH.js} +5 -20
  22. package/lib/cjs/{index-E4Ist86Z.js.map → index-PAhfZtcH.js.map} +1 -1
  23. package/lib/cjs/{index-vfzLCXfi.js → index-PeRHVz4A.js} +5 -20
  24. package/lib/{esm/index-3bDzhU6z.js.map → cjs/index-PeRHVz4A.js.map} +1 -1
  25. package/lib/cjs/{index-Jztk6JlP.js → index-U7GWrg-w.js} +9 -456
  26. package/lib/cjs/index-U7GWrg-w.js.map +1 -0
  27. package/lib/cjs/{index-zXSAHvAj.js → index-UTb0Az5e.js} +2 -2
  28. package/lib/cjs/{index-zXSAHvAj.js.map → index-UTb0Az5e.js.map} +1 -1
  29. package/lib/cjs/{index-lBumFRUQ.js → index-UnEAyH8X.js} +5 -20
  30. package/lib/cjs/{index-lBumFRUQ.js.map → index-UnEAyH8X.js.map} +1 -1
  31. package/lib/cjs/{index-1vHyMXH8.js → index-VCkq0ru1.js} +5 -20
  32. package/lib/{esm/index-g_3dzLYU.js.map → cjs/index-VCkq0ru1.js.map} +1 -1
  33. package/lib/cjs/{index-FbNqlZU8.js → index-WQl7Du53.js} +4 -19
  34. package/lib/cjs/index-WQl7Du53.js.map +1 -0
  35. package/lib/cjs/{index-nTfDKYYi.js → index-ahL5MvrQ.js} +28 -43
  36. package/lib/cjs/{index-nTfDKYYi.js.map → index-ahL5MvrQ.js.map} +1 -1
  37. package/lib/cjs/{index--sa4NMpW.js → index-bpgWLeRY.js} +5 -20
  38. package/lib/cjs/{index--sa4NMpW.js.map → index-bpgWLeRY.js.map} +1 -1
  39. package/lib/cjs/index-dEVmN_aj.js +26 -0
  40. package/lib/cjs/index-dEVmN_aj.js.map +1 -0
  41. package/lib/cjs/{index-von4W2LG.js → index-fZupvR_f.js} +8 -23
  42. package/lib/{esm/index-NZ5-xr5_.js.map → cjs/index-fZupvR_f.js.map} +1 -1
  43. package/lib/cjs/{index-mcxgNBq9.js → index-gSM-jgti.js} +5 -20
  44. package/lib/cjs/{index-mcxgNBq9.js.map → index-gSM-jgti.js.map} +1 -1
  45. package/lib/cjs/{index-lUNj3xuC.js → index-jlPr_A_N.js} +5 -20
  46. package/lib/cjs/{index-lUNj3xuC.js.map → index-jlPr_A_N.js.map} +1 -1
  47. package/lib/cjs/index-ocxd4A-M.js +675 -0
  48. package/lib/cjs/index-ocxd4A-M.js.map +1 -0
  49. package/lib/cjs/{index-J3XY9IPt.js → index-rFFAL9YA.js} +9 -17
  50. package/lib/cjs/{index-J3XY9IPt.js.map → index-rFFAL9YA.js.map} +1 -1
  51. package/lib/cjs/index-tlx25I_m.js +36 -0
  52. package/lib/cjs/index-tlx25I_m.js.map +1 -0
  53. package/lib/cjs/index-tqAbVyds.js +28 -0
  54. package/lib/cjs/index-tqAbVyds.js.map +1 -0
  55. package/lib/cjs/{index-cpC-j5Nt.js → index-udZSknd8.js} +30 -39
  56. package/lib/cjs/{index-cpC-j5Nt.js.map → index-udZSknd8.js.map} +1 -1
  57. package/lib/cjs/index-uleaJDBC.js +19 -0
  58. package/lib/cjs/index-uleaJDBC.js.map +1 -0
  59. package/lib/cjs/{index-jn036wuh.js → index-urB-WDqA.js} +7 -22
  60. package/lib/{esm/index-VoX_n1l_.js.map → cjs/index-urB-WDqA.js.map} +1 -1
  61. package/lib/cjs/{index-jlfsu92T.js → index-xWgWtxUR.js} +6 -21
  62. package/lib/cjs/{index-jlfsu92T.js.map → index-xWgWtxUR.js.map} +1 -1
  63. package/lib/cjs/index.js +150 -14
  64. package/lib/cjs/index.js.map +1 -1
  65. package/lib/cjs/{todoList-Ze4FLMlx.js → todoList-YYRQo7wG.js} +1 -12
  66. package/lib/cjs/todoList-YYRQo7wG.js.map +1 -0
  67. package/lib/esm/{index-Yuj7sNhQ.js → index-1NetiFdJ.js} +8 -23
  68. package/lib/esm/{index-Yuj7sNhQ.js.map → index-1NetiFdJ.js.map} +1 -1
  69. package/lib/esm/{index-6GrVnloh.js → index-2I_xbjAZ.js} +28 -43
  70. package/lib/esm/{index-6GrVnloh.js.map → index-2I_xbjAZ.js.map} +1 -1
  71. package/lib/esm/{index-bexsWrgs.js → index-2huXYfuJ.js} +8 -23
  72. package/lib/esm/{index-bexsWrgs.js.map → index-2huXYfuJ.js.map} +1 -1
  73. package/lib/esm/{index-zrQXXSXm.js → index-4x6_TVZv.js} +5 -20
  74. package/lib/esm/{index-zrQXXSXm.js.map → index-4x6_TVZv.js.map} +1 -1
  75. package/lib/esm/index-6JoGWH2I.js +17 -0
  76. package/lib/esm/index-6JoGWH2I.js.map +1 -0
  77. package/lib/esm/{index-OpUb5xP6.js → index-A-dNwMMf.js} +2 -2
  78. package/lib/esm/{index-OpUb5xP6.js.map → index-A-dNwMMf.js.map} +1 -1
  79. package/lib/esm/{index-SDPCpsD5.js → index-AV99ipmP.js} +5 -20
  80. package/lib/esm/{index-SDPCpsD5.js.map → index-AV99ipmP.js.map} +1 -1
  81. package/lib/esm/{index-MB6wQe1U.js → index-CMGDOz11.js} +5 -13
  82. package/lib/esm/{index-MB6wQe1U.js.map → index-CMGDOz11.js.map} +1 -1
  83. package/lib/esm/index-HlPKwzLC.js +34 -0
  84. package/lib/esm/index-HlPKwzLC.js.map +1 -0
  85. package/lib/esm/{index-MxgqkRtj.js → index-PC2bahtq.js} +5 -20
  86. package/lib/esm/{index-MxgqkRtj.js.map → index-PC2bahtq.js.map} +1 -1
  87. package/lib/esm/{index-eqd5wtjX.js → index-QBYz82jZ.js} +5 -20
  88. package/lib/{cjs/index-Tjg8KyK7.js.map → esm/index-QBYz82jZ.js.map} +1 -1
  89. package/lib/esm/{index-VP76m4nW.js → index-W1pAMr_8.js} +6 -21
  90. package/lib/esm/{index-VP76m4nW.js.map → index-W1pAMr_8.js.map} +1 -1
  91. package/lib/esm/{index-i79QMXpJ.js → index-Xzdc2jbA.js} +7 -454
  92. package/lib/esm/index-Xzdc2jbA.js.map +1 -0
  93. package/lib/esm/{index-_4fWmRbN.js → index-ZAtZWqJQ.js} +5 -20
  94. package/lib/esm/{index-_4fWmRbN.js.map → index-ZAtZWqJQ.js.map} +1 -1
  95. package/lib/esm/index-_A9vu1ED.js +673 -0
  96. package/lib/esm/index-_A9vu1ED.js.map +1 -0
  97. package/lib/esm/{index-x8SyiPMC.js → index-bnSKBrbD.js} +5 -20
  98. package/lib/esm/{index-x8SyiPMC.js.map → index-bnSKBrbD.js.map} +1 -1
  99. package/lib/esm/index-fVrfHXda.js +24 -0
  100. package/lib/esm/index-fVrfHXda.js.map +1 -0
  101. package/lib/esm/{index-Vl0W0S3h.js → index-ftnOhuRS.js} +4 -19
  102. package/lib/esm/index-ftnOhuRS.js.map +1 -0
  103. package/lib/esm/{index-1l-61HI-.js → index-iQPB0Rdl.js} +6 -21
  104. package/lib/esm/{index-1l-61HI-.js.map → index-iQPB0Rdl.js.map} +1 -1
  105. package/lib/esm/{index-grT-Kuf2.js → index-kPj3-TKp.js} +5 -20
  106. package/lib/esm/{index-grT-Kuf2.js.map → index-kPj3-TKp.js.map} +1 -1
  107. package/lib/esm/{index-NZ5-xr5_.js → index-kgOR7SZ6.js} +8 -23
  108. package/lib/{cjs/index-von4W2LG.js.map → esm/index-kgOR7SZ6.js.map} +1 -1
  109. package/lib/esm/{index-A83StUe6.js → index-lm00PM0y.js} +8 -17
  110. package/lib/esm/{index-A83StUe6.js.map → index-lm00PM0y.js.map} +1 -1
  111. package/lib/esm/{index-g_3dzLYU.js → index-m49Bj3q7.js} +5 -20
  112. package/lib/{cjs/index-1vHyMXH8.js.map → esm/index-m49Bj3q7.js.map} +1 -1
  113. package/lib/esm/index-ohmbt6Ys.js +37 -0
  114. package/lib/esm/index-ohmbt6Ys.js.map +1 -0
  115. package/lib/esm/{index-rvOBAXap.js → index-sWVjGw-3.js} +8 -23
  116. package/lib/esm/index-sWVjGw-3.js.map +1 -0
  117. package/lib/esm/{index-DS7Z4Ach.js → index-twh8lL5o.js} +5 -20
  118. package/lib/{cjs/index-c_OzudR7.js.map → esm/index-twh8lL5o.js.map} +1 -1
  119. package/lib/esm/{index-3bDzhU6z.js → index-v02MCz4_.js} +5 -20
  120. package/lib/{cjs/index-vfzLCXfi.js.map → esm/index-v02MCz4_.js.map} +1 -1
  121. package/lib/esm/index-v3rvbocl.js +26 -0
  122. package/lib/esm/index-v3rvbocl.js.map +1 -0
  123. package/lib/esm/{index-XH7OnwZl.js → index-wEXT8mbN.js} +5 -20
  124. package/lib/esm/{index-XH7OnwZl.js.map → index-wEXT8mbN.js.map} +1 -1
  125. package/lib/esm/{index-VoX_n1l_.js → index-wFIac5Kw.js} +7 -22
  126. package/lib/{cjs/index-jn036wuh.js.map → esm/index-wFIac5Kw.js.map} +1 -1
  127. package/lib/esm/{index-3HeWs5rX.js → index-wg94ewRo.js} +8 -23
  128. package/lib/esm/{index-3HeWs5rX.js.map → index-wg94ewRo.js.map} +1 -1
  129. package/lib/esm/index.js +152 -12
  130. package/lib/esm/index.js.map +1 -1
  131. package/lib/esm/{todoList-M-PGJKde.js → todoList-9QsDDcmB.js} +2 -12
  132. package/lib/esm/todoList-9QsDDcmB.js.map +1 -0
  133. package/package.json +1 -1
  134. package/lib/cjs/_view-N32ied53.js +0 -27
  135. package/lib/cjs/_view-N32ied53.js.map +0 -1
  136. package/lib/cjs/floating-ui.dom-2cjBpir5.js +0 -1134
  137. package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +0 -1
  138. package/lib/cjs/helper-1aludV1Z.js +0 -15
  139. package/lib/cjs/helper-1aludV1Z.js.map +0 -1
  140. package/lib/cjs/index-28q261C7.js +0 -448
  141. package/lib/cjs/index-28q261C7.js.map +0 -1
  142. package/lib/cjs/index-Buu2tD9O.js +0 -534
  143. package/lib/cjs/index-Buu2tD9O.js.map +0 -1
  144. package/lib/cjs/index-FbNqlZU8.js.map +0 -1
  145. package/lib/cjs/index-Jztk6JlP.js.map +0 -1
  146. package/lib/cjs/index-N6pPZY61.js +0 -191
  147. package/lib/cjs/index-N6pPZY61.js.map +0 -1
  148. package/lib/cjs/index-TUJs6KKL.js +0 -472
  149. package/lib/cjs/index-TUJs6KKL.js.map +0 -1
  150. package/lib/cjs/index-_GOdKqUK.js +0 -1147
  151. package/lib/cjs/index-_GOdKqUK.js.map +0 -1
  152. package/lib/cjs/index-cKQcw-eu.js +0 -386
  153. package/lib/cjs/index-cKQcw-eu.js.map +0 -1
  154. package/lib/cjs/index-cb-5m0vG.js.map +0 -1
  155. package/lib/cjs/index-crv_k6dv.js +0 -1353
  156. package/lib/cjs/index-crv_k6dv.js.map +0 -1
  157. package/lib/cjs/index-kqz-P6o6.js +0 -55
  158. package/lib/cjs/index-kqz-P6o6.js.map +0 -1
  159. package/lib/cjs/index-tBw4NmwY.js +0 -33852
  160. package/lib/cjs/index-tBw4NmwY.js.map +0 -1
  161. package/lib/cjs/schema-RVrwDDcq.js +0 -74
  162. package/lib/cjs/schema-RVrwDDcq.js.map +0 -1
  163. package/lib/cjs/todoList-Ze4FLMlx.js.map +0 -1
  164. package/lib/cjs/tooltip-plugin--lhebztC.js +0 -191
  165. package/lib/cjs/tooltip-plugin--lhebztC.js.map +0 -1
  166. package/lib/esm/_view-IlZC8FA6.js +0 -25
  167. package/lib/esm/_view-IlZC8FA6.js.map +0 -1
  168. package/lib/esm/floating-ui.dom-CAYjY8Gv.js +0 -1130
  169. package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +0 -1
  170. package/lib/esm/helper-wZAtC67x.js +0 -13
  171. package/lib/esm/helper-wZAtC67x.js.map +0 -1
  172. package/lib/esm/index-0-j8Icms.js +0 -384
  173. package/lib/esm/index-0-j8Icms.js.map +0 -1
  174. package/lib/esm/index-8QJbxTYk.js +0 -1145
  175. package/lib/esm/index-8QJbxTYk.js.map +0 -1
  176. package/lib/esm/index-9w_hdnvb.js +0 -532
  177. package/lib/esm/index-9w_hdnvb.js.map +0 -1
  178. package/lib/esm/index-AOoFzBaK.js +0 -53
  179. package/lib/esm/index-AOoFzBaK.js.map +0 -1
  180. package/lib/esm/index-LAdX6LsO.js +0 -33805
  181. package/lib/esm/index-LAdX6LsO.js.map +0 -1
  182. package/lib/esm/index-Vl0W0S3h.js.map +0 -1
  183. package/lib/esm/index-chrnjY1D.js +0 -470
  184. package/lib/esm/index-chrnjY1D.js.map +0 -1
  185. package/lib/esm/index-hF04phbf.js +0 -189
  186. package/lib/esm/index-hF04phbf.js.map +0 -1
  187. package/lib/esm/index-i79QMXpJ.js.map +0 -1
  188. package/lib/esm/index-rvOBAXap.js.map +0 -1
  189. package/lib/esm/index-uP9BKsTM.js +0 -446
  190. package/lib/esm/index-uP9BKsTM.js.map +0 -1
  191. package/lib/esm/index-ueQQMSgm.js +0 -1351
  192. package/lib/esm/index-ueQQMSgm.js.map +0 -1
  193. package/lib/esm/schema-JWJqD9qa.js +0 -71
  194. package/lib/esm/schema-JWJqD9qa.js.map +0 -1
  195. package/lib/esm/todoList-M-PGJKde.js.map +0 -1
  196. package/lib/esm/tooltip-plugin-iw2EQWIG.js +0 -185
  197. package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +0 -1
@@ -1,189 +0,0 @@
1
- import { c, useHost, useRef, useLayoutEffect, html } from 'atomico';
2
- import { c as clsx } from './clsx-RxCLxYpD.js';
3
- import { w as withMeta, b as bulletIcon, d as checkBoxCheckedIcon, e as checkBoxUncheckedIcon } from './todoList-M-PGJKde.js';
4
- import { TextSelection } from '@milkdown/prose/state';
5
- import { d as defIfNotExists } from './helper-wZAtC67x.js';
6
- import { $ as $ctx, l as listItemSchema } from './index-LAdX6LsO.js';
7
- import { $ as $view } from './_view-IlZC8FA6.js';
8
- import '@milkdown/prose/model';
9
- import '@milkdown/prose';
10
- import '@milkdown/prose/commands';
11
- import '@milkdown/prose/inputrules';
12
- import '@milkdown/prose/keymap';
13
- import '@milkdown/prose/view';
14
- import '@milkdown/prose/schema-list';
15
- import '@milkdown/prose/transform';
16
- import '@milkdown/prose/history';
17
- import '@milkdown/prose/tables';
18
-
19
- const listItemComponent = ({
20
- selected,
21
- label = "",
22
- listType = "",
23
- checked,
24
- onMount,
25
- setAttr,
26
- config,
27
- readonly
28
- }) => {
29
- const host = useHost();
30
- const contentWrapperRef = useRef();
31
- useLayoutEffect(() => {
32
- const current = contentWrapperRef.current;
33
- if (!current)
34
- return;
35
- const contentDOM = host.current.querySelector("[data-content-dom]");
36
- if (contentDOM) {
37
- current.appendChild(contentDOM);
38
- onMount == null ? void 0 : onMount();
39
- }
40
- }, []);
41
- const onClickLabel = () => {
42
- if (checked == null)
43
- return;
44
- setAttr == null ? void 0 : setAttr("checked", !checked);
45
- };
46
- const labelProps = {
47
- label,
48
- listType,
49
- checked,
50
- readonly
51
- };
52
- return html`<host class=${selected && "ProseMirror-selectednode"}>
53
- <li class='list-item'>
54
- <div class="label-wrapper" onclick=${onClickLabel} contenteditable="false">
55
- ${config == null ? void 0 : config.renderLabel(labelProps)}
56
- </div>
57
- <div class="children" ref=${contentWrapperRef}></div>
58
- </li>
59
- </host>`;
60
- };
61
- listItemComponent.props = {
62
- label: String,
63
- checked: Boolean,
64
- readonly: Boolean,
65
- listType: String,
66
- config: Object,
67
- selected: Boolean,
68
- setAttr: Function,
69
- onMount: Function
70
- };
71
- const ListItemElement = c(listItemComponent);
72
-
73
- const defaultListItemBlockConfig = {
74
- renderLabel: ({ label, listType, checked, readonly }) => {
75
- if (checked == null)
76
- return html`<span class='label'>${listType === "bullet" ? "\u29BF" : label}</span>`;
77
- return html`<input disabled=${readonly} class='label' type="checkbox" checked=${checked} />`;
78
- }
79
- };
80
- const listItemBlockConfig = $ctx(defaultListItemBlockConfig, "listItemBlockConfigCtx");
81
- withMeta(listItemBlockConfig, {
82
- displayName: "Config<list-item-block>",
83
- group: "ListItemBlock"
84
- });
85
-
86
- defIfNotExists("milkdown-list-item-block", ListItemElement);
87
- const listItemBlockView = $view(listItemSchema.node, (ctx) => {
88
- return (initialNode, view, getPos) => {
89
- const dom = document.createElement("milkdown-list-item-block");
90
- const contentDOM = document.createElement("div");
91
- contentDOM.setAttribute("data-content-dom", "true");
92
- contentDOM.classList.add("content-dom");
93
- const config = ctx.get(listItemBlockConfig.key);
94
- const bindAttrs = (node2) => {
95
- dom.listType = node2.attrs.listType;
96
- dom.label = node2.attrs.label;
97
- dom.checked = node2.attrs.checked;
98
- dom.readonly = !view.editable;
99
- };
100
- bindAttrs(initialNode);
101
- dom.appendChild(contentDOM);
102
- dom.selected = false;
103
- dom.setAttr = (attr, value) => {
104
- const pos = getPos();
105
- if (pos == null)
106
- return;
107
- view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value));
108
- };
109
- dom.onMount = () => {
110
- var _a;
111
- const pos = (_a = getPos()) != null ? _a : 0;
112
- const end = pos + initialNode.nodeSize;
113
- const { from, to } = view.state.selection;
114
- if (view.hasFocus() && pos < from && to < end) {
115
- Promise.resolve().then(() => {
116
- const p = view.state.doc.resolve(pos);
117
- view.dispatch(view.state.tr.setSelection(TextSelection.near(p, 1)));
118
- });
119
- }
120
- };
121
- let node = initialNode;
122
- dom.config = config;
123
- return {
124
- dom,
125
- contentDOM,
126
- update: (updatedNode) => {
127
- if (updatedNode.type !== initialNode.type)
128
- return false;
129
- if (updatedNode.sameMarkup(node) && updatedNode.content.eq(node.content))
130
- return false;
131
- node = updatedNode;
132
- bindAttrs(updatedNode);
133
- return true;
134
- },
135
- ignoreMutation: (mutation) => {
136
- if (!dom || !contentDOM)
137
- return true;
138
- if (mutation.type === "selection")
139
- return false;
140
- if (contentDOM === mutation.target && mutation.type === "attributes")
141
- return true;
142
- if (contentDOM.contains(mutation.target))
143
- return false;
144
- return true;
145
- },
146
- selectNode: () => {
147
- dom.selected = true;
148
- },
149
- deselectNode: () => {
150
- dom.selected = false;
151
- },
152
- destroy: () => {
153
- dom.remove();
154
- contentDOM.remove();
155
- }
156
- };
157
- };
158
- });
159
- withMeta(listItemBlockView, {
160
- displayName: "NodeView<list-item-block>",
161
- group: "ListItemBlock"
162
- });
163
-
164
- const listItemBlockComponent = [
165
- listItemBlockConfig,
166
- listItemBlockView
167
- ];
168
-
169
- function configureListItem(ctx, config) {
170
- ctx.set(listItemBlockConfig.key, {
171
- renderLabel: ({ label, listType, checked, readonly }) => {
172
- var _a, _b, _c, _d, _e, _f;
173
- if (checked == null) {
174
- if (listType === "bullet")
175
- return html`<span class='label'>${(_b = (_a = config == null ? void 0 : config.bulletIcon) == null ? void 0 : _a.call(config)) != null ? _b : bulletIcon}</span>`;
176
- return html`<span class='label'>${label}</span>`;
177
- }
178
- if (checked)
179
- return html`<span class=${clsx("label checkbox", readonly && "readonly")}>${(_d = (_c = config == null ? void 0 : config.checkBoxCheckedIcon) == null ? void 0 : _c.call(config)) != null ? _d : checkBoxCheckedIcon}</span>`;
180
- return html`<span class=${clsx("label checkbox", readonly && "readonly")}>${(_f = (_e = config == null ? void 0 : config.checkBoxUncheckedIcon) == null ? void 0 : _e.call(config)) != null ? _f : checkBoxUncheckedIcon}</span>`;
181
- }
182
- });
183
- }
184
- const defineFeature = (editor, config) => {
185
- editor.config((ctx) => configureListItem(ctx, config)).use(listItemBlockComponent);
186
- };
187
-
188
- export { defineFeature };
189
- //# sourceMappingURL=index-hF04phbf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-hF04phbf.js","sources":["../../../components/src/list-item-block/component.ts","../../../components/src/list-item-block/config.ts","../../../components/src/list-item-block/view.ts","../../../components/src/list-item-block/index.ts","../../src/feature/list-item/index.ts"],"sourcesContent":["import type { Component } from 'atomico'\nimport { c, html, useHost, useLayoutEffect, useRef } from 'atomico'\nimport type { ListItemBlockConfig } from './config'\n\ninterface Attrs {\n label: string\n checked: boolean\n listType: string\n}\n\nexport type ListItemComponentProps = Attrs & {\n config: ListItemBlockConfig\n readonly: boolean\n selected: boolean\n setAttr: <T extends keyof Attrs>(attr: T, value: Attrs[T]) => void\n onMount: () => void\n}\n\nexport const listItemComponent: Component<ListItemComponentProps> = ({\n selected,\n label = '',\n listType = '',\n checked,\n onMount,\n setAttr,\n config,\n readonly,\n}) => {\n const host = useHost()\n const contentWrapperRef = useRef<HTMLDivElement>()\n\n useLayoutEffect(() => {\n const current = contentWrapperRef.current\n if (!current)\n return\n\n const contentDOM = host.current.querySelector('[data-content-dom]')\n\n if (contentDOM) {\n current.appendChild(contentDOM)\n onMount?.()\n }\n }, [])\n\n const onClickLabel = () => {\n if (checked == null)\n return\n\n setAttr?.('checked', !checked)\n }\n\n const labelProps = {\n label,\n listType,\n checked,\n readonly,\n }\n\n return html`<host class=${selected && 'ProseMirror-selectednode'}>\n <li class='list-item'>\n <div class=\"label-wrapper\" onclick=${onClickLabel} contenteditable=\"false\">\n ${config?.renderLabel(labelProps)}\n </div>\n <div class=\"children\" ref=${contentWrapperRef}></div>\n </li>\n </host>`\n}\n\nlistItemComponent.props = {\n label: String,\n checked: Boolean,\n readonly: Boolean,\n listType: String,\n config: Object,\n selected: Boolean,\n setAttr: Function,\n onMount: Function,\n}\n\nexport const ListItemElement = c(listItemComponent)\n","import { $ctx } from '@milkdown/utils'\nimport { html } from 'atomico'\nimport { withMeta } from '../__internal__/meta'\n\ninterface RenderLabelProps {\n label: string\n listType: string\n readonly?: boolean\n checked?: boolean\n}\n\nexport interface ListItemBlockConfig {\n renderLabel: (props: RenderLabelProps) => void\n}\n\nexport const defaultListItemBlockConfig: ListItemBlockConfig = {\n renderLabel: ({ label, listType, checked, readonly }: RenderLabelProps) => {\n if (checked == null)\n return html`<span class='label'>${listType === 'bullet' ? '⦿' : label}</span>`\n\n return html`<input disabled=${readonly} class='label' type=\"checkbox\" checked=${checked} />`\n },\n}\n\nexport const listItemBlockConfig = $ctx(defaultListItemBlockConfig, 'listItemBlockConfigCtx')\n\nwithMeta(listItemBlockConfig, {\n displayName: 'Config<list-item-block>',\n group: 'ListItemBlock',\n})\n","import { $view } from '@milkdown/utils'\nimport type { NodeViewConstructor } from '@milkdown/prose/view'\nimport { TextSelection } from '@milkdown/prose/state'\nimport type { Node } from '@milkdown/prose/model'\nimport { listItemSchema } from '@milkdown/preset-commonmark'\nimport { withMeta } from '../__internal__/meta'\nimport { defIfNotExists } from '../__internal__/helper'\nimport type { ListItemComponentProps } from './component'\nimport { ListItemElement } from './component'\nimport { listItemBlockConfig } from './config'\n\ndefIfNotExists('milkdown-list-item-block', ListItemElement)\nexport const listItemBlockView = $view(listItemSchema.node, (ctx): NodeViewConstructor => {\n return (initialNode, view, getPos) => {\n const dom = document.createElement('milkdown-list-item-block') as HTMLElement & ListItemComponentProps\n const contentDOM = document.createElement('div')\n contentDOM.setAttribute('data-content-dom', 'true')\n contentDOM.classList.add('content-dom')\n const config = ctx.get(listItemBlockConfig.key)\n const bindAttrs = (node: Node) => {\n dom.listType = node.attrs.listType\n dom.label = node.attrs.label\n dom.checked = node.attrs.checked\n\n dom.readonly = !view.editable\n }\n\n bindAttrs(initialNode)\n dom.appendChild(contentDOM)\n dom.selected = false\n dom.setAttr = (attr, value) => {\n const pos = getPos()\n if (pos == null)\n return\n\n view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value))\n }\n dom.onMount = () => {\n const pos = getPos() ?? 0\n const end = pos + initialNode.nodeSize\n const { from, to } = view.state.selection\n if (view.hasFocus() && pos < from && to < end) {\n Promise.resolve().then(() => {\n const p = view.state.doc.resolve(pos)\n view.dispatch(view.state.tr.setSelection(TextSelection.near(p, 1)))\n })\n }\n }\n let node = initialNode\n dom.config = config\n return {\n dom,\n contentDOM,\n update: (updatedNode) => {\n if (updatedNode.type !== initialNode.type)\n return false\n\n if (updatedNode.sameMarkup(node) && updatedNode.content.eq(node.content))\n return false\n\n node = updatedNode\n bindAttrs(updatedNode)\n return true\n },\n ignoreMutation: (mutation) => {\n if (!dom || !contentDOM)\n return true\n\n if ((mutation.type as unknown) === 'selection')\n return false\n\n if (contentDOM === mutation.target && mutation.type === 'attributes')\n return true\n\n if (contentDOM.contains(mutation.target))\n return false\n\n return true\n },\n selectNode: () => {\n dom.selected = true\n },\n deselectNode: () => {\n dom.selected = false\n },\n destroy: () => {\n dom.remove()\n contentDOM.remove()\n },\n }\n }\n})\n\nwithMeta(listItemBlockView, {\n displayName: 'NodeView<list-item-block>',\n group: 'ListItemBlock',\n})\n","import type { MilkdownPlugin } from '@milkdown/ctx'\nimport { listItemBlockView } from './view'\nimport { listItemBlockConfig } from './config'\n\nexport * from './component'\nexport * from './config'\nexport * from './view'\n\nexport const listItemBlockComponent: MilkdownPlugin[] = [\n listItemBlockConfig,\n listItemBlockView,\n]\n","import type { Ctx } from '@milkdown/kit/ctx'\nimport { listItemBlockComponent, listItemBlockConfig } from '@milkdown/kit/component/list-item-block'\nimport { html } from 'atomico'\nimport clsx from 'clsx'\nimport type { DefineFeature, Icon } from '../shared'\nimport { bulletIcon, checkBoxCheckedIcon, checkBoxUncheckedIcon } from '../../icons'\n\nexport interface ListItemConfig {\n bulletIcon: Icon\n checkBoxCheckedIcon: Icon\n checkBoxUncheckedIcon: Icon\n}\n\nexport type ListItemFeatureConfig = Partial<ListItemConfig>\n\nfunction configureListItem(ctx: Ctx, config?: ListItemFeatureConfig) {\n ctx.set(listItemBlockConfig.key, {\n renderLabel: ({ label, listType, checked, readonly }) => {\n if (checked == null) {\n if (listType === 'bullet')\n return html`<span class='label'>${config?.bulletIcon?.() ?? bulletIcon}</span>`\n\n return html`<span class='label'>${label}</span>`\n }\n\n if (checked)\n return html`<span class=${clsx('label checkbox', readonly && 'readonly')}>${config?.checkBoxCheckedIcon?.() ?? checkBoxCheckedIcon}</span>`\n\n return html`<span class=${clsx('label checkbox', readonly && 'readonly')}>${config?.checkBoxUncheckedIcon?.() ?? checkBoxUncheckedIcon}</span>`\n },\n })\n}\n\nexport const defineFeature: DefineFeature<ListItemFeatureConfig> = (editor, config) => {\n editor\n .config(ctx => configureListItem(ctx, config))\n .use(listItemBlockComponent)\n}\n"],"names":["node"],"mappings":"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"}