@milkdown/crepe 7.5.6 → 7.5.8

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 (227) hide show
  1. package/lib/cjs/{index-_mXHbJMH.js → index-3mj4YaCA.js} +5 -8
  2. package/lib/cjs/index-3mj4YaCA.js.map +1 -0
  3. package/lib/cjs/{index-wORIFtqa.js → index-A8IrOmzS.js} +33 -12
  4. package/lib/cjs/index-A8IrOmzS.js.map +1 -0
  5. package/lib/cjs/{index-z6pe2alg.js → index-AlHHvSR_.js} +1 -1
  6. package/lib/cjs/index-AlHHvSR_.js.map +1 -0
  7. package/lib/cjs/{index-YoPS8A3_.js → index-BIXWL4Or.js} +2 -2
  8. package/lib/cjs/index-BIXWL4Or.js.map +1 -0
  9. package/lib/cjs/{index-MLK151KV.js → index-BrCpWPcp.js} +2 -2
  10. package/lib/cjs/index-BrCpWPcp.js.map +1 -0
  11. package/lib/cjs/{index-uleaJDBC.js → index-BuSAwj4j.js} +1 -1
  12. package/lib/cjs/index-BuSAwj4j.js.map +1 -0
  13. package/lib/cjs/{index-vNNxr8yy.js → index-By3ewOiO.js} +173 -139
  14. package/lib/cjs/index-By3ewOiO.js.map +1 -0
  15. package/lib/cjs/{index-KeJUBENN.js → index-DmOOfQPi.js} +2 -2
  16. package/lib/cjs/index-DmOOfQPi.js.map +1 -0
  17. package/lib/cjs/index-Dt55rF23.js +35 -0
  18. package/lib/cjs/index-Dt55rF23.js.map +1 -0
  19. package/lib/cjs/{index-rFFAL9YA.js → index-Dub20F3z.js} +15 -17
  20. package/lib/cjs/index-Dub20F3z.js.map +1 -0
  21. package/lib/cjs/index.js +11 -13
  22. package/lib/cjs/index.js.map +1 -1
  23. package/lib/cjs/todoList-V4JWO5-M.js +675 -0
  24. package/lib/cjs/todoList-V4JWO5-M.js.map +1 -0
  25. package/lib/esm/{index-HHuxH8Dm.js → index-6VoEpEnX.js} +2 -2
  26. package/lib/esm/index-6VoEpEnX.js.map +1 -0
  27. package/lib/esm/{index-RJV0C6Af.js → index-BB3Rq6BU.js} +5 -8
  28. package/lib/esm/index-BB3Rq6BU.js.map +1 -0
  29. package/lib/esm/{index-uThMsyF6.js → index-BDGHz9p-.js} +2 -2
  30. package/lib/esm/index-BDGHz9p-.js.map +1 -0
  31. package/lib/esm/{index-X2mjLDJS.js → index-BoTKwL_u.js} +2 -2
  32. package/lib/esm/index-BoTKwL_u.js.map +1 -0
  33. package/lib/esm/{index-6JoGWH2I.js → index-CxJ9fxJm.js} +1 -1
  34. package/lib/esm/index-CxJ9fxJm.js.map +1 -0
  35. package/lib/esm/{index-Jvxff1vU.js → index-D6fLMv29.js} +1 -1
  36. package/lib/esm/index-D6fLMv29.js.map +1 -0
  37. package/lib/esm/{index-CMGDOz11.js → index-DOrkOhki.js} +15 -17
  38. package/lib/esm/index-DOrkOhki.js.map +1 -0
  39. package/lib/esm/index-DlX33Dj0.js +33 -0
  40. package/lib/esm/index-DlX33Dj0.js.map +1 -0
  41. package/lib/esm/{index-eZXAY3yz.js → index-kGl7HgN2.js} +33 -12
  42. package/lib/esm/index-kGl7HgN2.js.map +1 -0
  43. package/lib/esm/{index-sE0tYrbc.js → index-zKiGjwHz.js} +173 -139
  44. package/lib/esm/index-zKiGjwHz.js.map +1 -0
  45. package/lib/esm/index.js +11 -13
  46. package/lib/esm/index.js.map +1 -1
  47. package/lib/esm/todoList-CAbx4396.js +638 -0
  48. package/lib/esm/todoList-CAbx4396.js.map +1 -0
  49. package/lib/theme/_internal/classic-common.css +44 -19
  50. package/lib/theme/common/block-edit.css +12 -3
  51. package/lib/theme/common/code-mirror.css +1 -1
  52. package/lib/theme/common/cursor.css +7 -3
  53. package/lib/theme/common/image-block.css +28 -7
  54. package/lib/theme/common/link-tooltip.css +1 -0
  55. package/lib/theme/common/placeholder.css +5 -1
  56. package/lib/theme/common/prosemirror.css +1 -1
  57. package/lib/theme/common/style.css +10 -10
  58. package/lib/theme/common/table.css +17 -15
  59. package/lib/theme/common/toolbar.css +7 -3
  60. package/lib/theme/crepe/style.css +22 -20
  61. package/lib/theme/crepe-dark/style.css +25 -23
  62. package/lib/theme/frame/style.css +23 -20
  63. package/lib/theme/frame-dark/style.css +23 -20
  64. package/lib/theme/nord/style.css +25 -22
  65. package/lib/theme/nord-dark/style.css +23 -20
  66. package/lib/types/core/crepe.d.ts.map +1 -1
  67. package/lib/types/core/slice.d.ts +1 -1
  68. package/lib/types/core/slice.d.ts.map +1 -1
  69. package/lib/types/feature/block-edit/handle/component.d.ts.map +1 -1
  70. package/lib/types/feature/block-edit/handle/index.d.ts.map +1 -1
  71. package/lib/types/feature/block-edit/index.d.ts.map +1 -1
  72. package/lib/types/feature/block-edit/menu/component.d.ts.map +1 -1
  73. package/lib/types/feature/block-edit/menu/config.d.ts +2 -7
  74. package/lib/types/feature/block-edit/menu/config.d.ts.map +1 -1
  75. package/lib/types/feature/block-edit/menu/group-builder.d.ts +2 -2
  76. package/lib/types/feature/block-edit/menu/group-builder.d.ts.map +1 -1
  77. package/lib/types/feature/block-edit/menu/index.d.ts +2 -2
  78. package/lib/types/feature/block-edit/menu/index.d.ts.map +1 -1
  79. package/lib/types/feature/block-edit/menu/utils.d.ts.map +1 -1
  80. package/lib/types/feature/code-mirror/index.d.ts.map +1 -1
  81. package/lib/types/feature/cursor/index.d.ts.map +1 -1
  82. package/lib/types/feature/image-block/index.d.ts.map +1 -1
  83. package/lib/types/feature/index.d.ts.map +1 -1
  84. package/lib/types/feature/link-tooltip/index.d.ts.map +1 -1
  85. package/lib/types/feature/list-item/index.d.ts.map +1 -1
  86. package/lib/types/feature/placeholder/index.d.ts +2 -2
  87. package/lib/types/feature/placeholder/index.d.ts.map +1 -1
  88. package/lib/types/feature/shared.d.ts.map +1 -1
  89. package/lib/types/feature/table/index.d.ts.map +1 -1
  90. package/lib/types/feature/toolbar/component.d.ts.map +1 -1
  91. package/lib/types/feature/toolbar/index.d.ts.map +1 -1
  92. package/lib/types/icons/alignCenter.d.ts.map +1 -1
  93. package/lib/types/icons/alignLeft.d.ts.map +1 -1
  94. package/lib/types/icons/alignRight.d.ts.map +1 -1
  95. package/lib/types/icons/bold.d.ts.map +1 -1
  96. package/lib/types/icons/bullet.d.ts.map +1 -1
  97. package/lib/types/icons/bulletList.d.ts.map +1 -1
  98. package/lib/types/icons/caption.d.ts.map +1 -1
  99. package/lib/types/icons/checkBoxChecked.d.ts.map +1 -1
  100. package/lib/types/icons/checkBoxUnchecked.d.ts.map +1 -1
  101. package/lib/types/icons/chevronDown.d.ts.map +1 -1
  102. package/lib/types/icons/clear.d.ts.map +1 -1
  103. package/lib/types/icons/code.d.ts.map +1 -1
  104. package/lib/types/icons/confirm.d.ts.map +1 -1
  105. package/lib/types/icons/divider.d.ts.map +1 -1
  106. package/lib/types/icons/dragHandle.d.ts.map +1 -1
  107. package/lib/types/icons/edit.d.ts.map +1 -1
  108. package/lib/types/icons/h1.d.ts.map +1 -1
  109. package/lib/types/icons/h2.d.ts.map +1 -1
  110. package/lib/types/icons/h3.d.ts.map +1 -1
  111. package/lib/types/icons/h4.d.ts.map +1 -1
  112. package/lib/types/icons/h5.d.ts.map +1 -1
  113. package/lib/types/icons/h6.d.ts.map +1 -1
  114. package/lib/types/icons/image.d.ts.map +1 -1
  115. package/lib/types/icons/italic.d.ts.map +1 -1
  116. package/lib/types/icons/link.d.ts.map +1 -1
  117. package/lib/types/icons/menu.d.ts.map +1 -1
  118. package/lib/types/icons/orderedList.d.ts.map +1 -1
  119. package/lib/types/icons/plus.d.ts.map +1 -1
  120. package/lib/types/icons/quote.d.ts.map +1 -1
  121. package/lib/types/icons/remove.d.ts.map +1 -1
  122. package/lib/types/icons/search.d.ts.map +1 -1
  123. package/lib/types/icons/strikethrough.d.ts.map +1 -1
  124. package/lib/types/icons/table.d.ts.map +1 -1
  125. package/lib/types/icons/text.d.ts.map +1 -1
  126. package/lib/types/icons/todoList.d.ts.map +1 -1
  127. package/lib/types/utils/index.d.ts.map +1 -1
  128. package/package.json +3 -3
  129. package/src/core/crepe.ts +18 -12
  130. package/src/feature/block-edit/handle/component.ts +7 -4
  131. package/src/feature/block-edit/handle/index.ts +14 -11
  132. package/src/feature/block-edit/index.ts +6 -3
  133. package/src/feature/block-edit/menu/component.ts +138 -117
  134. package/src/feature/block-edit/menu/config.ts +42 -23
  135. package/src/feature/block-edit/menu/group-builder.ts +2 -3
  136. package/src/feature/block-edit/menu/index.ts +25 -15
  137. package/src/feature/block-edit/menu/utils.ts +45 -25
  138. package/src/feature/code-mirror/index.ts +20 -12
  139. package/src/feature/cursor/index.ts +4 -1
  140. package/src/feature/image-block/index.ts +20 -8
  141. package/src/feature/index.ts +5 -1
  142. package/src/feature/link-tooltip/index.ts +10 -3
  143. package/src/feature/list-item/index.ts +25 -8
  144. package/src/feature/placeholder/index.ts +19 -18
  145. package/src/feature/shared.ts +4 -1
  146. package/src/feature/table/index.ts +37 -29
  147. package/src/feature/toolbar/component.ts +40 -10
  148. package/src/feature/toolbar/index.ts +15 -9
  149. package/src/icons/alignCenter.ts +9 -2
  150. package/src/icons/alignLeft.ts +9 -2
  151. package/src/icons/alignRight.ts +9 -2
  152. package/src/icons/bold.ts +9 -2
  153. package/src/icons/bullet.ts +8 -3
  154. package/src/icons/bulletList.ts +10 -3
  155. package/src/icons/caption.ts +10 -2
  156. package/src/icons/checkBoxChecked.ts +10 -3
  157. package/src/icons/checkBoxUnchecked.ts +10 -3
  158. package/src/icons/chevronDown.ts +13 -2
  159. package/src/icons/clear.ts +10 -3
  160. package/src/icons/code.ts +10 -3
  161. package/src/icons/confirm.ts +11 -2
  162. package/src/icons/divider.ts +12 -3
  163. package/src/icons/dragHandle.ts +9 -2
  164. package/src/icons/edit.ts +10 -3
  165. package/src/icons/h1.ts +10 -3
  166. package/src/icons/h2.ts +10 -3
  167. package/src/icons/h3.ts +10 -3
  168. package/src/icons/h4.ts +10 -3
  169. package/src/icons/h5.ts +10 -3
  170. package/src/icons/h6.ts +10 -3
  171. package/src/icons/image.ts +10 -3
  172. package/src/icons/italic.ts +9 -2
  173. package/src/icons/link.ts +9 -2
  174. package/src/icons/menu.ts +10 -3
  175. package/src/icons/orderedList.ts +10 -3
  176. package/src/icons/plus.ts +10 -3
  177. package/src/icons/quote.ts +10 -3
  178. package/src/icons/remove.ts +9 -2
  179. package/src/icons/search.ts +13 -2
  180. package/src/icons/strikethrough.ts +9 -2
  181. package/src/icons/table.ts +10 -3
  182. package/src/icons/text.ts +10 -3
  183. package/src/icons/todoList.ts +9 -2
  184. package/src/theme/_internal/classic-common.css +39 -14
  185. package/src/theme/common/block-edit.css +12 -3
  186. package/src/theme/common/code-mirror.css +1 -1
  187. package/src/theme/common/cursor.css +7 -3
  188. package/src/theme/common/image-block.css +28 -7
  189. package/src/theme/common/link-tooltip.css +1 -0
  190. package/src/theme/common/placeholder.css +5 -1
  191. package/src/theme/common/prosemirror.css +1 -1
  192. package/src/theme/common/style.css +10 -10
  193. package/src/theme/common/table.css +17 -14
  194. package/src/theme/common/toolbar.css +7 -3
  195. package/src/theme/crepe/style.css +22 -20
  196. package/src/theme/crepe-dark/style.css +25 -23
  197. package/src/theme/frame/style.css +23 -20
  198. package/src/theme/frame-dark/style.css +23 -20
  199. package/src/theme/nord/style.css +25 -22
  200. package/src/theme/nord-dark/style.css +23 -20
  201. package/src/utils/index.ts +4 -1
  202. package/lib/cjs/index-9Lsv_-NW.js +0 -28
  203. package/lib/cjs/index-9Lsv_-NW.js.map +0 -1
  204. package/lib/cjs/index-KeJUBENN.js.map +0 -1
  205. package/lib/cjs/index-MLK151KV.js.map +0 -1
  206. package/lib/cjs/index-YoPS8A3_.js.map +0 -1
  207. package/lib/cjs/index-_mXHbJMH.js.map +0 -1
  208. package/lib/cjs/index-rFFAL9YA.js.map +0 -1
  209. package/lib/cjs/index-uleaJDBC.js.map +0 -1
  210. package/lib/cjs/index-vNNxr8yy.js.map +0 -1
  211. package/lib/cjs/index-wORIFtqa.js.map +0 -1
  212. package/lib/cjs/index-z6pe2alg.js.map +0 -1
  213. package/lib/cjs/todoList-Qb2JsRGC.js +0 -419
  214. package/lib/cjs/todoList-Qb2JsRGC.js.map +0 -1
  215. package/lib/esm/index-6JoGWH2I.js.map +0 -1
  216. package/lib/esm/index-CMGDOz11.js.map +0 -1
  217. package/lib/esm/index-HHuxH8Dm.js.map +0 -1
  218. package/lib/esm/index-J3c6JQEf.js +0 -26
  219. package/lib/esm/index-J3c6JQEf.js.map +0 -1
  220. package/lib/esm/index-Jvxff1vU.js.map +0 -1
  221. package/lib/esm/index-RJV0C6Af.js.map +0 -1
  222. package/lib/esm/index-X2mjLDJS.js.map +0 -1
  223. package/lib/esm/index-eZXAY3yz.js.map +0 -1
  224. package/lib/esm/index-sE0tYrbc.js.map +0 -1
  225. package/lib/esm/index-uThMsyF6.js.map +0 -1
  226. package/lib/esm/todoList-eAxCDaQj.js +0 -382
  227. package/lib/esm/todoList-eAxCDaQj.js.map +0 -1
@@ -4,22 +4,19 @@ var codeBlock = require('@milkdown/kit/component/code-block');
4
4
  var codemirror = require('codemirror');
5
5
  var view = require('@codemirror/view');
6
6
  var commands = require('@codemirror/commands');
7
- var todoList = require('./todoList-Qb2JsRGC.js');
7
+ var todoList = require('./todoList-V4JWO5-M.js');
8
8
  require('atomico');
9
9
 
10
10
  const defineFeature = (editor, config = {}) => {
11
11
  editor.config(async (ctx) => {
12
- let {
13
- languages,
14
- theme
15
- } = config;
12
+ let { languages, theme } = config;
16
13
  if (!languages) {
17
14
  const { languages: langList } = await import('@codemirror/language-data');
18
15
  languages = langList;
19
16
  }
20
17
  if (!theme) {
21
- const { nord } = await import('@uiw/codemirror-theme-nord');
22
- theme = nord;
18
+ const { oneDark } = await import('@codemirror/theme-one-dark');
19
+ theme = oneDark;
23
20
  }
24
21
  ctx.update(codeBlock.codeBlockConfig.key, (defaultConfig) => {
25
22
  var _a;
@@ -43,4 +40,4 @@ const defineFeature = (editor, config = {}) => {
43
40
  };
44
41
 
45
42
  exports.defineFeature = defineFeature;
46
- //# sourceMappingURL=index-_mXHbJMH.js.map
43
+ //# sourceMappingURL=index-3mj4YaCA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-3mj4YaCA.js","sources":["../../src/feature/code-mirror/index.ts"],"sourcesContent":["import {\n codeBlockComponent,\n codeBlockConfig,\n} from '@milkdown/kit/component/code-block'\nimport type { LanguageDescription } from '@codemirror/language'\nimport type { Extension } from '@codemirror/state'\nimport { basicSetup } from 'codemirror'\nimport { keymap } from '@codemirror/view'\nimport { defaultKeymap, indentWithTab } from '@codemirror/commands'\nimport type { html } from 'atomico'\nimport type { DefineFeature, Icon } from '../shared'\nimport { chevronDownIcon, clearIcon, searchIcon } from '../../icons'\n\ninterface CodeMirrorConfig {\n extensions: Extension[]\n languages: LanguageDescription[]\n theme: Extension\n\n expandIcon: Icon\n searchIcon: Icon\n clearSearchIcon: Icon\n\n searchPlaceholder: string\n noResultText: string\n\n renderLanguage: (\n language: string,\n selected: boolean\n ) => ReturnType<typeof html> | string | HTMLElement\n}\nexport type CodeMirrorFeatureConfig = Partial<CodeMirrorConfig>\n\nexport const defineFeature: DefineFeature<CodeMirrorFeatureConfig> = (\n editor,\n config = {}\n) => {\n editor\n .config(async (ctx) => {\n let { languages, theme } = config\n if (!languages) {\n const { languages: langList } = await import(\n '@codemirror/language-data'\n )\n languages = langList\n }\n if (!theme) {\n const { oneDark } = await import('@codemirror/theme-one-dark')\n theme = oneDark\n }\n ctx.update(codeBlockConfig.key, (defaultConfig) => ({\n extensions: [\n keymap.of(defaultKeymap.concat(indentWithTab)),\n basicSetup,\n theme,\n ...(config?.extensions ?? []),\n ],\n languages,\n\n expandIcon: config.expandIcon || (() => chevronDownIcon),\n searchIcon: config.searchIcon || (() => searchIcon),\n clearSearchIcon: config.clearSearchIcon || (() => clearIcon),\n searchPlaceholder: config.searchPlaceholder || 'Search language',\n noResultText: config.noResultText || 'No result',\n renderLanguage: config.renderLanguage || defaultConfig.renderLanguage,\n }))\n })\n .use(codeBlockComponent)\n}\n"],"names":["codeBlockConfig","keymap","defaultKeymap","indentWithTab","basicSetup","chevronDownIcon","searchIcon","clearIcon","codeBlockComponent"],"mappings":";;;;;;;;;AAgCO,MAAM,aAAwD,GAAA,CACnE,MACA,EAAA,MAAA,GAAS,EACN,KAAA;AACH,EACG,MAAA,CAAA,MAAA,CAAO,OAAO,GAAQ,KAAA;AACrB,IAAI,IAAA,EAAE,SAAW,EAAA,KAAA,EAAU,GAAA,MAAA;AAC3B,IAAA,IAAI,CAAC,SAAW,EAAA;AACd,MAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAa,GAAA,MAAM,OACpC,2BACF,CAAA;AACA,MAAY,SAAA,GAAA,QAAA;AAAA;AAEd,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAA,MAAM,EAAE,OAAA,EAAY,GAAA,MAAM,OAAO,4BAA4B,CAAA;AAC7D,MAAQ,KAAA,GAAA,OAAA;AAAA;AAEV,IAAA,GAAA,CAAI,MAAO,CAAAA,yBAAA,CAAgB,GAAK,EAAA,CAAC,aAAe,KAAA;AAjDtD,MAAA,IAAA,EAAA;AAiD0D,MAAA,OAAA;AAAA,QAClD,UAAY,EAAA;AAAA,UACVC,WAAO,CAAA,EAAA,CAAGC,sBAAc,CAAA,MAAA,CAAOC,sBAAa,CAAC,CAAA;AAAA,UAC7CC,qBAAA;AAAA,UACA,KAAA;AAAA,UACA,GAAI,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,UAAR,KAAA,IAAA,GAAA,EAAA,GAAsB;AAAC,SAC7B;AAAA,QACA,SAAA;AAAA,QAEA,UAAA,EAAY,MAAO,CAAA,UAAA,KAAe,MAAMC,wBAAA,CAAA;AAAA,QACxC,UAAA,EAAY,MAAO,CAAA,UAAA,KAAe,MAAMC,mBAAA,CAAA;AAAA,QACxC,eAAA,EAAiB,MAAO,CAAA,eAAA,KAAoB,MAAMC,kBAAA,CAAA;AAAA,QAClD,iBAAA,EAAmB,OAAO,iBAAqB,IAAA,iBAAA;AAAA,QAC/C,YAAA,EAAc,OAAO,YAAgB,IAAA,WAAA;AAAA,QACrC,cAAA,EAAgB,MAAO,CAAA,cAAA,IAAkB,aAAc,CAAA;AAAA,OACzD;AAAA,KAAE,CAAA;AAAA,GACH,CACA,CAAA,GAAA,CAAIC,4BAAkB,CAAA;AAC3B;;;;"}
@@ -2,14 +2,14 @@
2
2
 
3
3
  var tooltip = require('@milkdown/kit/plugin/tooltip');
4
4
  var state = require('@milkdown/kit/prose/state');
5
- var index = require('./index-z6pe2alg.js');
5
+ var index = require('./index-AlHHvSR_.js');
6
6
  var atomico = require('atomico');
7
7
  var core = require('@milkdown/kit/core');
8
8
  var commonmark = require('@milkdown/kit/preset/commonmark');
9
9
  var clsx = require('clsx');
10
10
  var linkTooltip = require('@milkdown/kit/component/link-tooltip');
11
11
  var gfm = require('@milkdown/kit/preset/gfm');
12
- var todoList = require('./todoList-Qb2JsRGC.js');
12
+ var todoList = require('./todoList-V4JWO5-M.js');
13
13
 
14
14
  const toolbarComponent = ({
15
15
  ctx,
@@ -28,15 +28,20 @@ const toolbarComponent = ({
28
28
  update();
29
29
  };
30
30
  const isActive = (mark) => {
31
- if (!ctx)
32
- return false;
31
+ if (!ctx) return false;
33
32
  const view = ctx.get(core.editorViewCtx);
34
- const { state: { doc, selection } } = view;
33
+ const {
34
+ state: { doc, selection }
35
+ } = view;
35
36
  return doc.rangeHasMark(selection.from, selection.to, mark);
36
37
  };
37
38
  return atomico.html`<host>
38
39
  <button
39
- class=${clsx("toolbar-item", ctx && isActive(commonmark.strongSchema.type(ctx)) && "active")}
40
+ type="button"
41
+ class=${clsx(
42
+ "toolbar-item",
43
+ ctx && isActive(commonmark.strongSchema.type(ctx)) && "active"
44
+ )}
40
45
  onmousedown=${onClick((ctx2) => {
41
46
  const commands = ctx2.get(core.commandsCtx);
42
47
  commands.call(commonmark.toggleStrongCommand.key);
@@ -45,7 +50,11 @@ const toolbarComponent = ({
45
50
  ${(_b = (_a = config == null ? void 0 : config.boldIcon) == null ? void 0 : _a.call(config)) != null ? _b : todoList.boldIcon}
46
51
  </button>
47
52
  <button
48
- class=${clsx("toolbar-item", ctx && isActive(commonmark.emphasisSchema.type(ctx)) && "active")}
53
+ type="button"
54
+ class=${clsx(
55
+ "toolbar-item",
56
+ ctx && isActive(commonmark.emphasisSchema.type(ctx)) && "active"
57
+ )}
49
58
  onmousedown=${onClick((ctx2) => {
50
59
  const commands = ctx2.get(core.commandsCtx);
51
60
  commands.call(commonmark.toggleEmphasisCommand.key);
@@ -54,7 +63,11 @@ const toolbarComponent = ({
54
63
  ${(_d = (_c = config == null ? void 0 : config.italicIcon) == null ? void 0 : _c.call(config)) != null ? _d : todoList.italicIcon}
55
64
  </button>
56
65
  <button
57
- class=${clsx("toolbar-item", ctx && isActive(gfm.strikethroughSchema.type(ctx)) && "active")}
66
+ type="button"
67
+ class=${clsx(
68
+ "toolbar-item",
69
+ ctx && isActive(gfm.strikethroughSchema.type(ctx)) && "active"
70
+ )}
58
71
  onmousedown=${onClick((ctx2) => {
59
72
  const commands = ctx2.get(core.commandsCtx);
60
73
  commands.call(gfm.toggleStrikethroughCommand.key);
@@ -64,7 +77,11 @@ const toolbarComponent = ({
64
77
  </button>
65
78
  <div class="divider"></div>
66
79
  <button
67
- class=${clsx("toolbar-item", ctx && isActive(commonmark.inlineCodeSchema.type(ctx)) && "active")}
80
+ type="button"
81
+ class=${clsx(
82
+ "toolbar-item",
83
+ ctx && isActive(commonmark.inlineCodeSchema.type(ctx)) && "active"
84
+ )}
68
85
  onmousedown=${onClick((ctx2) => {
69
86
  const commands = ctx2.get(core.commandsCtx);
70
87
  commands.call(commonmark.toggleInlineCodeCommand.key);
@@ -73,7 +90,11 @@ const toolbarComponent = ({
73
90
  ${(_h = (_g = config == null ? void 0 : config.codeIcon) == null ? void 0 : _g.call(config)) != null ? _h : todoList.codeIcon}
74
91
  </button>
75
92
  <button
76
- class=${clsx("toolbar-item", ctx && isActive(commonmark.linkSchema.type(ctx)) && "active")}
93
+ type="button"
94
+ class=${clsx(
95
+ "toolbar-item",
96
+ ctx && isActive(commonmark.linkSchema.type(ctx)) && "active"
97
+ )}
77
98
  onmousedown=${onClick((ctx2) => {
78
99
  const view = ctx2.get(core.editorViewCtx);
79
100
  const { selection } = view.state;
@@ -103,7 +124,7 @@ var __typeError = (msg) => {
103
124
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
104
125
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
105
126
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
106
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
127
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
107
128
  var _tooltipProvider, _content;
108
129
  const toolbar = tooltip.tooltipFactory("CREPE_TOOLBAR");
109
130
  class ToolbarView {
@@ -164,4 +185,4 @@ const defineFeature = (editor, config) => {
164
185
  };
165
186
 
166
187
  exports.defineFeature = defineFeature;
167
- //# sourceMappingURL=index-wORIFtqa.js.map
188
+ //# sourceMappingURL=index-A8IrOmzS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-A8IrOmzS.js","sources":["../../src/feature/toolbar/component.ts","../../src/feature/toolbar/index.ts"],"sourcesContent":["import type { Component } from 'atomico'\nimport { c, html, useEffect, useUpdate } from 'atomico'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport { commandsCtx, editorViewCtx } from '@milkdown/kit/core'\nimport {\n emphasisSchema,\n inlineCodeSchema,\n linkSchema,\n strongSchema,\n toggleEmphasisCommand,\n toggleInlineCodeCommand,\n toggleStrongCommand,\n} from '@milkdown/kit/preset/commonmark'\nimport type { MarkType } from '@milkdown/kit/prose/model'\nimport clsx from 'clsx'\nimport { linkTooltipAPI } from '@milkdown/kit/component/link-tooltip'\nimport {\n strikethroughSchema,\n toggleStrikethroughCommand,\n} from '@milkdown/kit/preset/gfm'\nimport {\n boldIcon,\n codeIcon,\n italicIcon,\n linkIcon,\n strikethroughIcon,\n} from '../../icons'\nimport type { ToolbarFeatureConfig } from './index'\n\nexport interface ToolbarProps {\n ctx: Ctx\n hide: () => void\n show: boolean\n config?: ToolbarFeatureConfig\n}\n\nexport const toolbarComponent: Component<ToolbarProps> = ({\n ctx,\n hide,\n show,\n config,\n}) => {\n const update = useUpdate()\n useEffect(() => {\n update()\n }, [show])\n\n const onClick = (fn: (ctx: Ctx) => void) => (e: MouseEvent) => {\n e.preventDefault()\n ctx && fn(ctx)\n update()\n }\n\n const isActive = (mark: MarkType) => {\n if (!ctx) return false\n const view = ctx.get(editorViewCtx)\n const {\n state: { doc, selection },\n } = view\n return doc.rangeHasMark(selection.from, selection.to, mark)\n }\n\n return html`<host>\n <button\n type=\"button\"\n class=${clsx(\n 'toolbar-item',\n ctx && isActive(strongSchema.type(ctx)) && 'active'\n )}\n onmousedown=${onClick((ctx) => {\n const commands = ctx.get(commandsCtx)\n commands.call(toggleStrongCommand.key)\n })}\n >\n ${config?.boldIcon?.() ?? boldIcon}\n </button>\n <button\n type=\"button\"\n class=${clsx(\n 'toolbar-item',\n ctx && isActive(emphasisSchema.type(ctx)) && 'active'\n )}\n onmousedown=${onClick((ctx) => {\n const commands = ctx.get(commandsCtx)\n commands.call(toggleEmphasisCommand.key)\n })}\n >\n ${config?.italicIcon?.() ?? italicIcon}\n </button>\n <button\n type=\"button\"\n class=${clsx(\n 'toolbar-item',\n ctx && isActive(strikethroughSchema.type(ctx)) && 'active'\n )}\n onmousedown=${onClick((ctx) => {\n const commands = ctx.get(commandsCtx)\n commands.call(toggleStrikethroughCommand.key)\n })}\n >\n ${config?.strikethroughIcon?.() ?? strikethroughIcon}\n </button>\n <div class=\"divider\"></div>\n <button\n type=\"button\"\n class=${clsx(\n 'toolbar-item',\n ctx && isActive(inlineCodeSchema.type(ctx)) && 'active'\n )}\n onmousedown=${onClick((ctx) => {\n const commands = ctx.get(commandsCtx)\n commands.call(toggleInlineCodeCommand.key)\n })}\n >\n ${config?.codeIcon?.() ?? codeIcon}\n </button>\n <button\n type=\"button\"\n class=${clsx(\n 'toolbar-item',\n ctx && isActive(linkSchema.type(ctx)) && 'active'\n )}\n onmousedown=${onClick((ctx) => {\n const view = ctx.get(editorViewCtx)\n const { selection } = view.state\n\n if (isActive(linkSchema.type(ctx))) {\n ctx.get(linkTooltipAPI.key).removeLink(selection.from, selection.to)\n return\n }\n\n ctx.get(linkTooltipAPI.key).addLink(selection.from, selection.to)\n hide?.()\n })}\n >\n ${config?.linkIcon?.() ?? linkIcon}\n </button>\n </host>`\n}\n\ntoolbarComponent.props = {\n ctx: Object,\n hide: Function,\n show: Boolean,\n config: Object,\n}\n\nexport const ToolbarElement = c(toolbarComponent)\n","import { TooltipProvider, tooltipFactory } from '@milkdown/kit/plugin/tooltip'\nimport type { EditorState, PluginView } from '@milkdown/kit/prose/state'\nimport { TextSelection } from '@milkdown/kit/prose/state'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { EditorView } from '@milkdown/kit/prose/view'\nimport type { AtomicoThis } from 'atomico/types/dom'\nimport type { DefineFeature, Icon } from '../shared'\nimport { defIfNotExists } from '../../utils'\nimport type { ToolbarProps } from './component'\nimport { ToolbarElement } from './component'\n\ninterface ToolbarConfig {\n boldIcon: Icon\n codeIcon: Icon\n italicIcon: Icon\n linkIcon: Icon\n strikethroughIcon: Icon\n}\n\nexport type ToolbarFeatureConfig = Partial<ToolbarConfig>\n\nconst toolbar = tooltipFactory('CREPE_TOOLBAR')\n\nclass ToolbarView implements PluginView {\n #tooltipProvider: TooltipProvider\n #content: AtomicoThis<ToolbarProps>\n constructor(ctx: Ctx, view: EditorView, config?: ToolbarFeatureConfig) {\n const content = new ToolbarElement()\n this.#content = content\n this.#content.ctx = ctx\n this.#content.hide = this.hide\n this.#content.config = config\n\n this.#tooltipProvider = new TooltipProvider({\n content: this.#content,\n debounce: 20,\n offset: 10,\n shouldShow(view: EditorView) {\n const { doc, selection } = view.state\n const { empty, from, to } = selection\n\n const isEmptyTextBlock =\n !doc.textBetween(from, to).length &&\n selection instanceof TextSelection\n\n const isNotTextBlock = !(selection instanceof TextSelection)\n\n const activeElement = (view.dom.getRootNode() as ShadowRoot | Document)\n .activeElement\n const isTooltipChildren = content.contains(activeElement)\n\n const notHasFocus = !view.hasFocus() && !isTooltipChildren\n\n const isReadonly = !view.editable\n\n if (\n notHasFocus ||\n isNotTextBlock ||\n empty ||\n isEmptyTextBlock ||\n isReadonly\n )\n return false\n\n return true\n },\n })\n this.#tooltipProvider.onShow = () => {\n this.#content.show = true\n }\n this.#tooltipProvider.onHide = () => {\n this.#content.show = false\n }\n this.update(view)\n }\n\n update = (view: EditorView, prevState?: EditorState) => {\n this.#tooltipProvider.update(view, prevState)\n }\n\n destroy = () => {\n this.#tooltipProvider.destroy()\n this.#content.remove()\n }\n\n hide = () => {\n this.#tooltipProvider.hide()\n }\n}\n\ndefIfNotExists('milkdown-toolbar', ToolbarElement)\nexport const defineFeature: DefineFeature<ToolbarFeatureConfig> = (\n editor,\n config\n) => {\n editor\n .config((ctx) => {\n ctx.set(toolbar.key, {\n view: (view) => new ToolbarView(ctx, view, config),\n })\n })\n .use(toolbar)\n}\n"],"names":["useUpdate","useEffect","editorViewCtx","html","strongSchema","ctx","commandsCtx","toggleStrongCommand","boldIcon","emphasisSchema","toggleEmphasisCommand","italicIcon","strikethroughSchema","toggleStrikethroughCommand","strikethroughIcon","inlineCodeSchema","toggleInlineCodeCommand","codeIcon","linkSchema","linkTooltipAPI","linkIcon","c","tooltipFactory","TooltipProvider","view","TextSelection","defIfNotExists"],"mappings":";;;;;;;;;;;;;AAoCO,MAAM,mBAA4C,CAAC;AAAA,EACxD,GAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAM,KAAA;AAzCN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0CE,EAAA,MAAM,SAASA,iBAAU,EAAA;AACzB,EAAAC,iBAAA,CAAU,MAAM;AACd,IAAO,MAAA,EAAA;AAAA,GACT,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,OAAU,GAAA,CAAC,EAA2B,KAAA,CAAC,CAAkB,KAAA;AAC7D,IAAA,CAAA,CAAE,cAAe,EAAA;AACjB,IAAA,GAAA,IAAO,GAAG,GAAG,CAAA;AACb,IAAO,MAAA,EAAA;AAAA,GACT;AAEA,EAAM,MAAA,QAAA,GAAW,CAAC,IAAmB,KAAA;AACnC,IAAI,IAAA,CAAC,KAAY,OAAA,KAAA;AACjB,IAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIC,kBAAa,CAAA;AAClC,IAAM,MAAA;AAAA,MACJ,KAAA,EAAO,EAAE,GAAA,EAAK,SAAU;AAAA,KACtB,GAAA,IAAA;AACJ,IAAA,OAAO,IAAI,YAAa,CAAA,SAAA,CAAU,IAAM,EAAA,SAAA,CAAU,IAAI,IAAI,CAAA;AAAA,GAC5D;AAEA,EAAO,OAAAC,YAAA,CAAA;AAAA;AAAA;AAAA,YAGK,EAAA,IAAA;AAAA,IACN,cAAA;AAAA,IACA,OAAO,QAAS,CAAAC,uBAAA,CAAa,IAAK,CAAA,GAAG,CAAC,CAAK,IAAA;AAAA,GAC5C;AAAA,kBACa,EAAA,OAAA,CAAQ,CAACC,IAAQ,KAAA;AAC7B,IAAM,MAAA,QAAA,GAAWA,IAAI,CAAA,GAAA,CAAIC,gBAAW,CAAA;AACpC,IAAS,QAAA,CAAA,IAAA,CAAKC,+BAAoB,GAAG,CAAA;AAAA,GACtC,CAAC;AAAA;AAAA,MAEA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAwBC,iBAAQ;AAAA;AAAA;AAAA;AAAA,YAI1B,EAAA,IAAA;AAAA,IACN,cAAA;AAAA,IACA,OAAO,QAAS,CAAAC,yBAAA,CAAe,IAAK,CAAA,GAAG,CAAC,CAAK,IAAA;AAAA,GAC9C;AAAA,kBACa,EAAA,OAAA,CAAQ,CAACJ,IAAQ,KAAA;AAC7B,IAAM,MAAA,QAAA,GAAWA,IAAI,CAAA,GAAA,CAAIC,gBAAW,CAAA;AACpC,IAAS,QAAA,CAAA,IAAA,CAAKI,iCAAsB,GAAG,CAAA;AAAA,GACxC,CAAC;AAAA;AAAA,MAEA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,UAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAA0BC,mBAAU;AAAA;AAAA;AAAA;AAAA,YAI9B,EAAA,IAAA;AAAA,IACN,cAAA;AAAA,IACA,OAAO,QAAS,CAAAC,uBAAA,CAAoB,IAAK,CAAA,GAAG,CAAC,CAAK,IAAA;AAAA,GACnD;AAAA,kBACa,EAAA,OAAA,CAAQ,CAACP,IAAQ,KAAA;AAC7B,IAAM,MAAA,QAAA,GAAWA,IAAI,CAAA,GAAA,CAAIC,gBAAW,CAAA;AACpC,IAAS,QAAA,CAAA,IAAA,CAAKO,+BAA2B,GAAG,CAAA;AAAA,GAC7C,CAAC;AAAA;AAAA,MAEA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,iBAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAiCC,0BAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,YAK5C,EAAA,IAAA;AAAA,IACN,cAAA;AAAA,IACA,OAAO,QAAS,CAAAC,2BAAA,CAAiB,IAAK,CAAA,GAAG,CAAC,CAAK,IAAA;AAAA,GAChD;AAAA,kBACa,EAAA,OAAA,CAAQ,CAACV,IAAQ,KAAA;AAC7B,IAAM,MAAA,QAAA,GAAWA,IAAI,CAAA,GAAA,CAAIC,gBAAW,CAAA;AACpC,IAAS,QAAA,CAAA,IAAA,CAAKU,mCAAwB,GAAG,CAAA;AAAA,GAC1C,CAAC;AAAA;AAAA,MAEA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAwBC,iBAAQ;AAAA;AAAA;AAAA;AAAA,YAI1B,EAAA,IAAA;AAAA,IACN,cAAA;AAAA,IACA,OAAO,QAAS,CAAAC,qBAAA,CAAW,IAAK,CAAA,GAAG,CAAC,CAAK,IAAA;AAAA,GAC1C;AAAA,kBACa,EAAA,OAAA,CAAQ,CAACb,IAAQ,KAAA;AAC7B,IAAM,MAAA,IAAA,GAAOA,IAAI,CAAA,GAAA,CAAIH,kBAAa,CAAA;AAClC,IAAM,MAAA,EAAE,SAAU,EAAA,GAAI,IAAK,CAAA,KAAA;AAE3B,IAAA,IAAI,QAAS,CAAAgB,qBAAA,CAAW,IAAKb,CAAAA,IAAG,CAAC,CAAG,EAAA;AAClC,MAAAA,IAAAA,CAAI,IAAIc,0BAAe,CAAA,GAAG,EAAE,UAAW,CAAA,SAAA,CAAU,IAAM,EAAA,SAAA,CAAU,EAAE,CAAA;AACnE,MAAA;AAAA;AAGF,IAAAd,IAAAA,CAAI,IAAIc,0BAAe,CAAA,GAAG,EAAE,OAAQ,CAAA,SAAA,CAAU,IAAM,EAAA,SAAA,CAAU,EAAE,CAAA;AAChE,IAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,EAAA;AAAA,GACD,CAAC;AAAA;AAAA,MAEA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAwBC,iBAAQ;AAAA;AAAA,SAAA,CAAA;AAGxC,CAAA;AAEA,gBAAA,CAAiB,KAAQ,GAAA;AAAA,EACvB,GAAK,EAAA,MAAA;AAAA,EACL,IAAM,EAAA,QAAA;AAAA,EACN,IAAM,EAAA,OAAA;AAAA,EACN,MAAQ,EAAA;AACV,CAAA;AAEa,MAAA,cAAA,GAAiBC,UAAE,gBAAgB,CAAA;;;;;;;;;ACnJhD,IAAA,gBAAA,EAAA,QAAA;AAqBA,MAAM,OAAA,GAAUC,uBAAe,eAAe,CAAA;AAE9C,MAAM,WAAkC,CAAA;AAAA,EAGtC,WAAA,CAAY,GAAU,EAAA,IAAA,EAAkB,MAA+B,EAAA;AAFvE,IAAA,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAmDA,IAAS,IAAA,CAAA,MAAA,GAAA,CAAC,MAAkB,SAA4B,KAAA;AACtD,MAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,MAAO,CAAA,IAAA,EAAM,SAAS,CAAA;AAAA,KAC9C;AAEA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AACd,MAAA,YAAA,CAAA,IAAA,EAAK,kBAAiB,OAAQ,EAAA;AAC9B,MAAA,YAAA,CAAA,IAAA,EAAK,UAAS,MAAO,EAAA;AAAA,KACvB;AAEA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAA,YAAA,CAAA,IAAA,EAAK,kBAAiB,IAAK,EAAA;AAAA,KAC7B;AA5DE,IAAM,MAAA,OAAA,GAAU,IAAI,cAAe,EAAA;AACnC,IAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,OAAA,CAAA;AAChB,IAAA,YAAA,CAAA,IAAA,EAAK,UAAS,GAAM,GAAA,GAAA;AACpB,IAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,OAAO,IAAK,CAAA,IAAA;AAC1B,IAAA,YAAA,CAAA,IAAA,EAAK,UAAS,MAAS,GAAA,MAAA;AAEvB,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,EAAmB,IAAIC,uBAAgB,CAAA;AAAA,MAC1C,SAAS,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA,MACd,QAAU,EAAA,EAAA;AAAA,MACV,MAAQ,EAAA,EAAA;AAAA,MACR,WAAWC,KAAkB,EAAA;AAC3B,QAAA,MAAM,EAAE,GAAA,EAAK,SAAU,EAAA,GAAIA,KAAK,CAAA,KAAA;AAChC,QAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,EAAA,EAAO,GAAA,SAAA;AAE5B,QAAM,MAAA,gBAAA,GACJ,CAAC,GAAI,CAAA,WAAA,CAAY,MAAM,EAAE,CAAA,CAAE,UAC3B,SAAqB,YAAAC,mBAAA;AAEvB,QAAM,MAAA,cAAA,GAAiB,EAAE,SAAqB,YAAAA,mBAAA,CAAA;AAE9C,QAAA,MAAM,aAAiBD,GAAAA,KAAAA,CAAK,GAAI,CAAA,WAAA,EAC7B,CAAA,aAAA;AACH,QAAM,MAAA,iBAAA,GAAoB,OAAQ,CAAA,QAAA,CAAS,aAAa,CAAA;AAExD,QAAA,MAAM,WAAc,GAAA,CAACA,KAAK,CAAA,QAAA,MAAc,CAAC,iBAAA;AAEzC,QAAM,MAAA,UAAA,GAAa,CAACA,KAAK,CAAA,QAAA;AAEzB,QACE,IAAA,WAAA,IACA,cACA,IAAA,KAAA,IACA,gBACA,IAAA,UAAA;AAEA,UAAO,OAAA,KAAA;AAET,QAAO,OAAA,IAAA;AAAA;AACT,KACD,CAAA,CAAA;AACD,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,SAAS,MAAM;AACnC,MAAA,YAAA,CAAA,IAAA,EAAK,UAAS,IAAO,GAAA,IAAA;AAAA,KACvB;AACA,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,SAAS,MAAM;AACnC,MAAA,YAAA,CAAA,IAAA,EAAK,UAAS,IAAO,GAAA,KAAA;AAAA,KACvB;AACA,IAAA,IAAA,CAAK,OAAO,IAAI,CAAA;AAAA;AAepB;AAhEE,gBAAA,GAAA,IAAA,OAAA,EAAA;AACA,QAAA,GAAA,IAAA,OAAA,EAAA;AAiEFE,oBAAA,CAAe,oBAAoB,cAAc,CAAA;AACpC,MAAA,aAAA,GAAqD,CAChE,MAAA,EACA,MACG,KAAA;AACH,EACG,MAAA,CAAA,MAAA,CAAO,CAAC,GAAQ,KAAA;AACf,IAAI,GAAA,CAAA,GAAA,CAAI,QAAQ,GAAK,EAAA;AAAA,MACnB,MAAM,CAAC,IAAA,KAAS,IAAI,WAAY,CAAA,GAAA,EAAK,MAAM,MAAM;AAAA,KAClD,CAAA;AAAA,GACF,CACA,CAAA,GAAA,CAAI,OAAO,CAAA;AAChB;;;;"}
@@ -17,4 +17,4 @@ function defIfNotExists(tagName, element) {
17
17
  exports.defIfNotExists = defIfNotExists;
18
18
  exports.isInCodeBlock = isInCodeBlock;
19
19
  exports.isInList = isInList;
20
- //# sourceMappingURL=index-z6pe2alg.js.map
20
+ //# sourceMappingURL=index-AlHHvSR_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-AlHHvSR_.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import type { Selection } from '@milkdown/kit/prose/state'\n\nexport function isInCodeBlock(selection: Selection) {\n const type = selection.$from.parent.type\n return type.name === 'code_block'\n}\n\nexport function isInList(selection: Selection) {\n const type = selection.$from.node(selection.$from.depth - 1)?.type\n return type?.name === 'list_item'\n}\n\nexport function defIfNotExists(\n tagName: string,\n element: CustomElementConstructor\n) {\n if (customElements.get(tagName) == null)\n customElements.define(tagName, element)\n}\n"],"names":[],"mappings":";;AAEO,SAAS,cAAc,SAAsB,EAAA;AAClD,EAAM,MAAA,IAAA,GAAO,SAAU,CAAA,KAAA,CAAM,MAAO,CAAA,IAAA;AACpC,EAAA,OAAO,KAAK,IAAS,KAAA,YAAA;AACvB;AAEO,SAAS,SAAS,SAAsB,EAAA;AAP/C,EAAA,IAAA,EAAA;AAQE,EAAM,MAAA,IAAA,GAAA,CAAO,eAAU,KAAM,CAAA,IAAA,CAAK,UAAU,KAAM,CAAA,KAAA,GAAQ,CAAC,CAAA,KAA9C,IAAiD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;AAC9D,EAAA,OAAA,CAAO,6BAAM,IAAS,MAAA,WAAA;AACxB;AAEgB,SAAA,cAAA,CACd,SACA,OACA,EAAA;AACA,EAAI,IAAA,cAAA,CAAe,GAAI,CAAA,OAAO,CAAK,IAAA,IAAA;AACjC,IAAe,cAAA,CAAA,MAAA,CAAO,SAAS,OAAO,CAAA;AAC1C;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var linkTooltip = require('@milkdown/kit/component/link-tooltip');
4
- var todoList = require('./todoList-Qb2JsRGC.js');
4
+ var todoList = require('./todoList-V4JWO5-M.js');
5
5
  require('atomico');
6
6
 
7
7
  const defineFeature = (editor, config) => {
@@ -23,4 +23,4 @@ const defineFeature = (editor, config) => {
23
23
  };
24
24
 
25
25
  exports.defineFeature = defineFeature;
26
- //# sourceMappingURL=index-YoPS8A3_.js.map
26
+ //# sourceMappingURL=index-BIXWL4Or.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BIXWL4Or.js","sources":["../../src/feature/link-tooltip/index.ts"],"sourcesContent":["import {\n configureLinkTooltip,\n linkTooltipConfig,\n linkTooltipPlugin,\n} from '@milkdown/kit/component/link-tooltip'\nimport type { DefineFeature, Icon } from '../shared'\nimport { confirmIcon, copyIcon, editIcon, removeIcon } from '../../icons'\n\ninterface LinkTooltipConfig {\n linkIcon: Icon\n editButton: Icon\n removeButton: Icon\n confirmButton: Icon\n inputPlaceholder: string\n onCopyLink: (link: string) => void\n}\n\nexport type LinkTooltipFeatureConfig = Partial<LinkTooltipConfig>\n\nexport const defineFeature: DefineFeature<LinkTooltipFeatureConfig> = (\n editor,\n config\n) => {\n editor\n .config(configureLinkTooltip)\n .config((ctx) => {\n ctx.update(linkTooltipConfig.key, (prev) => ({\n ...prev,\n linkIcon: config?.linkIcon ?? (() => copyIcon),\n editButton: config?.editButton ?? (() => editIcon),\n removeButton: config?.removeButton ?? (() => removeIcon),\n confirmButton: config?.confirmButton ?? (() => confirmIcon),\n inputPlaceholder: config?.inputPlaceholder ?? 'Paste link...',\n onCopyLink: config?.onCopyLink ?? (() => {}),\n }))\n })\n .use(linkTooltipPlugin)\n}\n"],"names":["configureLinkTooltip","linkTooltipConfig","copyIcon","editIcon","removeIcon","confirmIcon","linkTooltipPlugin"],"mappings":";;;;;;AAmBa,MAAA,aAAA,GAAyD,CACpE,MAAA,EACA,MACG,KAAA;AACH,EAAA,MAAA,CACG,MAAO,CAAAA,gCAAoB,CAC3B,CAAA,MAAA,CAAO,CAAC,GAAQ,KAAA;AACf,IAAA,GAAA,CAAI,MAAO,CAAAC,6BAAA,CAAkB,GAAK,EAAA,CAAC,IAAM,KAAA;AA1B/C,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0BmD,MAAA,OAAA;AAAA,QAC3C,GAAG,IAAA;AAAA,QACH,QAAU,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,EAAA,GAAqB,MAAMC,iBAAA;AAAA,QACrC,UAAY,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,UAAR,KAAA,IAAA,GAAA,EAAA,GAAuB,MAAMC,iBAAA;AAAA,QACzC,YAAc,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,YAAR,KAAA,IAAA,GAAA,EAAA,GAAyB,MAAMC,mBAAA;AAAA,QAC7C,aAAe,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,aAAR,KAAA,IAAA,GAAA,EAAA,GAA0B,MAAMC,oBAAA;AAAA,QAC/C,gBAAA,EAAA,CAAkB,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,eAAA;AAAA,QAC9C,UAAY,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,UAAR,KAAA,IAAA,GAAA,EAAA,GAAuB,MAAM;AAAA;AAAC,OAC5C;AAAA,KAAE,CAAA;AAAA,GACH,CACA,CAAA,GAAA,CAAIC,6BAAiB,CAAA;AAC1B;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var imageBlock = require('@milkdown/kit/component/image-block');
4
4
  var imageInline = require('@milkdown/kit/component/image-inline');
5
- var todoList = require('./todoList-Qb2JsRGC.js');
5
+ var todoList = require('./todoList-V4JWO5-M.js');
6
6
  require('atomico');
7
7
 
8
8
  const defineFeature = (editor, config) => {
@@ -33,4 +33,4 @@ const defineFeature = (editor, config) => {
33
33
  };
34
34
 
35
35
  exports.defineFeature = defineFeature;
36
- //# sourceMappingURL=index-MLK151KV.js.map
36
+ //# sourceMappingURL=index-BrCpWPcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BrCpWPcp.js","sources":["../../src/feature/image-block/index.ts"],"sourcesContent":["import {\n imageBlockComponent,\n imageBlockConfig,\n} from '@milkdown/kit/component/image-block'\nimport {\n imageInlineComponent,\n inlineImageConfig,\n} from '@milkdown/kit/component/image-inline'\nimport type { DefineFeature, Icon } from '../shared'\nimport { captionIcon, confirmIcon, imageIcon } from '../../icons'\n\ninterface ImageBlockConfig {\n onUpload: (file: File) => Promise<string>\n\n inlineImageIcon: Icon\n inlineConfirmButton: Icon\n inlineUploadButton: Icon\n inlineUploadPlaceholderText: string\n inlineOnUpload: (file: File) => Promise<string>\n\n blockImageIcon: Icon\n blockConfirmButton: Icon\n blockCaptionIcon: Icon\n blockUploadButton: Icon\n blockCaptionPlaceholderText: string\n blockUploadPlaceholderText: string\n blockOnUpload: (file: File) => Promise<string>\n}\n\nexport type ImageBlockFeatureConfig = Partial<ImageBlockConfig>\n\nexport const defineFeature: DefineFeature<ImageBlockFeatureConfig> = (\n editor,\n config\n) => {\n editor\n .config((ctx) => {\n ctx.update(inlineImageConfig.key, (value) => ({\n uploadButton: config?.inlineUploadButton ?? (() => 'Upload'),\n imageIcon: config?.inlineImageIcon ?? (() => imageIcon),\n confirmButton: config?.inlineConfirmButton ?? (() => confirmIcon),\n uploadPlaceholderText:\n config?.inlineUploadPlaceholderText ?? 'or paste link',\n onUpload: config?.inlineOnUpload ?? config?.onUpload ?? value.onUpload,\n }))\n ctx.update(imageBlockConfig.key, (value) => ({\n uploadButton: config?.blockUploadButton ?? (() => 'Upload file'),\n imageIcon: config?.blockImageIcon ?? (() => imageIcon),\n captionIcon: config?.blockCaptionIcon ?? (() => captionIcon),\n confirmButton: config?.blockConfirmButton ?? (() => 'Confirm'),\n captionPlaceholderText:\n config?.blockCaptionPlaceholderText ?? 'Write Image Caption',\n uploadPlaceholderText:\n config?.blockUploadPlaceholderText ?? 'or paste link',\n onUpload: config?.blockOnUpload ?? config?.onUpload ?? value.onUpload,\n }))\n })\n .use(imageBlockComponent)\n .use(imageInlineComponent)\n}\n"],"names":["inlineImageConfig","imageIcon","confirmIcon","imageBlockConfig","captionIcon","imageBlockComponent","imageInlineComponent"],"mappings":"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"}
@@ -16,4 +16,4 @@ const defineFeature = (editor, config) => {
16
16
  };
17
17
 
18
18
  exports.defineFeature = defineFeature;
19
- //# sourceMappingURL=index-uleaJDBC.js.map
19
+ //# sourceMappingURL=index-BuSAwj4j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BuSAwj4j.js","sources":["../../src/feature/cursor/index.ts"],"sourcesContent":["import { cursor, dropCursorConfig } from '@milkdown/kit/plugin/cursor'\n\nimport type { DefineFeature } from '../shared'\n\ninterface CursorConfig {\n color: string | false\n width: number\n}\nexport type CursorFeatureConfig = Partial<CursorConfig>\n\nexport const defineFeature: DefineFeature<CursorFeatureConfig> = (\n editor,\n config\n) => {\n editor\n .config((ctx) => {\n ctx.update(dropCursorConfig.key, () => ({\n class: 'crepe-drop-cursor',\n width: config?.width ?? 4,\n color: config?.color ?? false,\n }))\n })\n .use(cursor)\n}\n"],"names":["dropCursorConfig","cursor"],"mappings":";;;;AAUa,MAAA,aAAA,GAAoD,CAC/D,MAAA,EACA,MACG,KAAA;AACH,EACG,MAAA,CAAA,MAAA,CAAO,CAAC,GAAQ,KAAA;AACf,IAAI,GAAA,CAAA,MAAA,CAAOA,uBAAiB,CAAA,GAAA,EAAK,MAAG;AAhB1C,MAAA,IAAA,EAAA,EAAA,EAAA;AAgB8C,MAAA,OAAA;AAAA,QACtC,KAAO,EAAA,mBAAA;AAAA,QACP,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,KAAR,IAAiB,GAAA,EAAA,GAAA,CAAA;AAAA,QACxB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,KAAR,IAAiB,GAAA,EAAA,GAAA;AAAA,OAC1B;AAAA,KAAE,CAAA;AAAA,GACH,CACA,CAAA,GAAA,CAAIC,aAAM,CAAA;AACf;;;;"}