@worktile/theia 18.0.16 → 18.1.0

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 (369) hide show
  1. package/constants/node-types.d.ts +1 -0
  2. package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
  3. package/fesm2022/worktile-theia.mjs +297 -310
  4. package/fesm2022/worktile-theia.mjs.map +1 -1
  5. package/interfaces/view-base.d.ts +1 -1
  6. package/package.json +2 -4
  7. package/plugins/code/code.component.scss +1 -2
  8. package/plugins/image/image.component.d.ts +1 -1
  9. package/plugins/link/link.component.d.ts +1 -1
  10. package/plugins/mention/suggestion.component.d.ts +1 -1
  11. package/esm2022/components/action/prevent-default.mjs +0 -21
  12. package/esm2022/components/column-resize/column-resize-notifier.mjs +0 -31
  13. package/esm2022/components/column-resize/column-resize.directive.mjs +0 -124
  14. package/esm2022/components/column-resize/event-dispatcher.mjs +0 -56
  15. package/esm2022/components/column-resize/overlay-handle.component.mjs +0 -144
  16. package/esm2022/components/column-resize/resize-ref.mjs +0 -26
  17. package/esm2022/components/column-resize/resizing.store.mjs +0 -92
  18. package/esm2022/components/column-resize/selectors.mjs +0 -4
  19. package/esm2022/components/contextmenu/contextmenu.component.mjs +0 -99
  20. package/esm2022/components/conversion-hint/conversion-hint.component.mjs +0 -56
  21. package/esm2022/components/element/element.component.mjs +0 -23
  22. package/esm2022/components/index.mjs +0 -24
  23. package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +0 -131
  24. package/esm2022/components/listbox/listbox.mjs +0 -380
  25. package/esm2022/components/listbox/listbox.type.mjs +0 -5
  26. package/esm2022/components/plugin-menu/plugin-menu.component.mjs +0 -272
  27. package/esm2022/components/table-select/table-select.component.mjs +0 -49
  28. package/esm2022/components/template/template.component.mjs +0 -62
  29. package/esm2022/components/text/text.component.mjs +0 -57
  30. package/esm2022/components/toolbar/toolbar.component.mjs +0 -262
  31. package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -137
  32. package/esm2022/components/toolbar-group/toolbar-group.component.mjs +0 -125
  33. package/esm2022/components/toolbar-item/toolbar-item.component.mjs +0 -80
  34. package/esm2022/constants/auto-format-rules.mjs +0 -167
  35. package/esm2022/constants/code.mjs +0 -85
  36. package/esm2022/constants/color-select.mjs +0 -3
  37. package/esm2022/constants/default.mjs +0 -11
  38. package/esm2022/constants/error.mjs +0 -7
  39. package/esm2022/constants/index.mjs +0 -9
  40. package/esm2022/constants/node-types.mjs +0 -136
  41. package/esm2022/constants/plugin-menu.mjs +0 -311
  42. package/esm2022/constants/selector.mjs +0 -3
  43. package/esm2022/constants/toolbar.mjs +0 -53
  44. package/esm2022/core/create-plugin.mjs +0 -5
  45. package/esm2022/core/create-toolbar.mjs +0 -55
  46. package/esm2022/core/index.mjs +0 -6
  47. package/esm2022/core/toolbar-item/base-toolbar-item.mjs +0 -95
  48. package/esm2022/core/utils/combine-plugins.mjs +0 -10
  49. package/esm2022/core/utils/flatten-deep-plugins.mjs +0 -19
  50. package/esm2022/core/utils/get-plugin-options.mjs +0 -3
  51. package/esm2022/core/utils/get-plugin.mjs +0 -2
  52. package/esm2022/core/utils/get-plugins.mjs +0 -4
  53. package/esm2022/core/utils/index.mjs +0 -12
  54. package/esm2022/core/utils/merge-array.mjs +0 -18
  55. package/esm2022/core/utils/merge-deep-plugins.mjs +0 -14
  56. package/esm2022/core/utils/merge-options.mjs +0 -25
  57. package/esm2022/core/utils/nested-structure-by-key.mjs +0 -11
  58. package/esm2022/core/utils/plugin-menu.mjs +0 -63
  59. package/esm2022/core/utils/plugins-by-key.mjs +0 -10
  60. package/esm2022/core/with-theia.mjs +0 -25
  61. package/esm2022/custom-types.mjs +0 -2
  62. package/esm2022/editor.component.mjs +0 -488
  63. package/esm2022/editor.module.mjs +0 -18
  64. package/esm2022/i18n/i18n.mjs +0 -10
  65. package/esm2022/i18n/i18n.service.mjs +0 -46
  66. package/esm2022/i18n/i18n.token.mjs +0 -9
  67. package/esm2022/i18n/index.mjs +0 -10
  68. package/esm2022/i18n/locales/de-de.mjs +0 -102
  69. package/esm2022/i18n/locales/en-us.mjs +0 -102
  70. package/esm2022/i18n/locales/ja-jp.mjs +0 -102
  71. package/esm2022/i18n/locales/ru-ru.mjs +0 -102
  72. package/esm2022/i18n/locales/zh-hans.mjs +0 -102
  73. package/esm2022/i18n/locales/zh-hant.mjs +0 -102
  74. package/esm2022/interfaces/auto-format.mjs +0 -2
  75. package/esm2022/interfaces/editor.mjs +0 -26
  76. package/esm2022/interfaces/element.mjs +0 -2
  77. package/esm2022/interfaces/image.mjs +0 -3
  78. package/esm2022/interfaces/index.mjs +0 -11
  79. package/esm2022/interfaces/plugins/index.mjs +0 -6
  80. package/esm2022/interfaces/plugins/no-infer.mjs +0 -2
  81. package/esm2022/interfaces/plugins/plugin-key.mjs +0 -42
  82. package/esm2022/interfaces/plugins/plugin-menu.mjs +0 -19
  83. package/esm2022/interfaces/plugins/plugins.mjs +0 -2
  84. package/esm2022/interfaces/plugins/with-override.mjs +0 -2
  85. package/esm2022/interfaces/preset.mjs +0 -3
  86. package/esm2022/interfaces/reset-block-type-plugin-options.mjs +0 -2
  87. package/esm2022/interfaces/toolbar.mjs +0 -12
  88. package/esm2022/interfaces/upload.mjs +0 -2
  89. package/esm2022/interfaces/utility/index.mjs +0 -4
  90. package/esm2022/interfaces/utility/nested-structure-by-key.mjs +0 -2
  91. package/esm2022/interfaces/utility/override-by-key.mjs +0 -2
  92. package/esm2022/interfaces/utility/types.mjs +0 -2
  93. package/esm2022/interfaces/valid-children-types.mjs +0 -36
  94. package/esm2022/interfaces/view-base.mjs +0 -38
  95. package/esm2022/pipes.mjs +0 -61
  96. package/esm2022/plugins/align/align.editor.mjs +0 -41
  97. package/esm2022/plugins/align/align.plugin.mjs +0 -64
  98. package/esm2022/plugins/autoformat/autoformat.plugin.mjs +0 -109
  99. package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
  100. package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
  101. package/esm2022/plugins/blockquote/blockquote.component.mjs +0 -16
  102. package/esm2022/plugins/blockquote/blockquote.editor.mjs +0 -20
  103. package/esm2022/plugins/blockquote/blockquote.plugin.mjs +0 -84
  104. package/esm2022/plugins/code/code.component.mjs +0 -255
  105. package/esm2022/plugins/code/code.editor.mjs +0 -59
  106. package/esm2022/plugins/code/code.plugin.mjs +0 -67
  107. package/esm2022/plugins/color/color.editor.mjs +0 -27
  108. package/esm2022/plugins/color/color.plugin.mjs +0 -32
  109. package/esm2022/plugins/color/toolbar-item.component.mjs +0 -99
  110. package/esm2022/plugins/common/block-card.plugin.mjs +0 -330
  111. package/esm2022/plugins/common/common.plugin.mjs +0 -49
  112. package/esm2022/plugins/common/get-fragment.plugin.mjs +0 -24
  113. package/esm2022/plugins/common/history.plugin.mjs +0 -31
  114. package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +0 -23
  115. package/esm2022/plugins/common/move-selection.plugin.mjs +0 -105
  116. package/esm2022/plugins/common/remove-empty.plugin.mjs +0 -61
  117. package/esm2022/plugins/common/remove-void.plugin.mjs +0 -60
  118. package/esm2022/plugins/common/reset-type.plugin.mjs +0 -35
  119. package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +0 -61
  120. package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +0 -142
  121. package/esm2022/plugins/font-size/font-size.editor.mjs +0 -98
  122. package/esm2022/plugins/heading/heading.editor.mjs +0 -54
  123. package/esm2022/plugins/heading/heading.plugin.mjs +0 -136
  124. package/esm2022/plugins/hr/hr.component.mjs +0 -37
  125. package/esm2022/plugins/hr/hr.editor.mjs +0 -16
  126. package/esm2022/plugins/hr/hr.plugin.mjs +0 -56
  127. package/esm2022/plugins/image/image.component.mjs +0 -474
  128. package/esm2022/plugins/image/image.editor.mjs +0 -116
  129. package/esm2022/plugins/image/image.plugin.mjs +0 -90
  130. package/esm2022/plugins/indent/indent.editor.mjs +0 -78
  131. package/esm2022/plugins/indent/indent.plugin.mjs +0 -59
  132. package/esm2022/plugins/indent/on-keydown-indent.mjs +0 -59
  133. package/esm2022/plugins/index.mjs +0 -73
  134. package/esm2022/plugins/inline-code/inline-code.component.mjs +0 -28
  135. package/esm2022/plugins/inline-code/inline-code.editor.mjs +0 -49
  136. package/esm2022/plugins/inline-code/inline-code.plugin.mjs +0 -67
  137. package/esm2022/plugins/link/edit/link-edit.component.mjs +0 -104
  138. package/esm2022/plugins/link/hover/link-hover.component.mjs +0 -38
  139. package/esm2022/plugins/link/link.component.mjs +0 -170
  140. package/esm2022/plugins/link/link.editor.mjs +0 -87
  141. package/esm2022/plugins/link/link.plugin.mjs +0 -89
  142. package/esm2022/plugins/link/link.types.mjs +0 -12
  143. package/esm2022/plugins/list/components/bulleted-list.component.mjs +0 -28
  144. package/esm2022/plugins/list/components/list-item.component.mjs +0 -88
  145. package/esm2022/plugins/list/components/numbered-list.component.mjs +0 -37
  146. package/esm2022/plugins/list/list.editor.mjs +0 -128
  147. package/esm2022/plugins/list/list.plugin.mjs +0 -302
  148. package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
  149. package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +0 -18
  150. package/esm2022/plugins/list/normalizers/normalize-no.mjs +0 -43
  151. package/esm2022/plugins/list/on-key-down-list.mjs +0 -33
  152. package/esm2022/plugins/list/queries/get-list-item-entry.mjs +0 -28
  153. package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +0 -12
  154. package/esm2022/plugins/list/queries/get-list-types.mjs +0 -5
  155. package/esm2022/plugins/list/queries/get-start-list-item.mjs +0 -27
  156. package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +0 -27
  157. package/esm2022/plugins/list/queries/is-in-list.mjs +0 -6
  158. package/esm2022/plugins/list/queries/is-list-nested.mjs +0 -10
  159. package/esm2022/plugins/list/queries/is-list.mjs +0 -5
  160. package/esm2022/plugins/list/queries/is-node-type-list.mjs +0 -5
  161. package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
  162. package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
  163. package/esm2022/plugins/list/queries/is-single-list-item.mjs +0 -9
  164. package/esm2022/plugins/list/transforms/insert-list-data.mjs +0 -72
  165. package/esm2022/plugins/list/transforms/insert-list-item.mjs +0 -73
  166. package/esm2022/plugins/list/transforms/move-list-item-down.mjs +0 -41
  167. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
  168. package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
  169. package/esm2022/plugins/list/transforms/move-list-item-up.mjs +0 -78
  170. package/esm2022/plugins/list/transforms/unwrap-list.mjs +0 -10
  171. package/esm2022/plugins/list/types.mjs +0 -2
  172. package/esm2022/plugins/mark/mark.editor.mjs +0 -28
  173. package/esm2022/plugins/mark/mark.plugin.mjs +0 -105
  174. package/esm2022/plugins/mention/index.mjs +0 -5
  175. package/esm2022/plugins/mention/mention.editor.mjs +0 -179
  176. package/esm2022/plugins/mention/mention.plugin.mjs +0 -92
  177. package/esm2022/plugins/mention/mention.type.mjs +0 -2
  178. package/esm2022/plugins/mention/suggestion.component.mjs +0 -22
  179. package/esm2022/plugins/node-id/node-id.plugin.mjs +0 -78
  180. package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +0 -28
  181. package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +0 -18
  182. package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +0 -33
  183. package/esm2022/plugins/paint-format/paint-format.editor.mjs +0 -126
  184. package/esm2022/plugins/public-api.mjs +0 -20
  185. package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +0 -126
  186. package/esm2022/plugins/quick-insert/index.mjs +0 -4
  187. package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +0 -70
  188. package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +0 -109
  189. package/esm2022/plugins/soft-break/soft-break.plugin.mjs +0 -36
  190. package/esm2022/plugins/soft-break/soft-break.types.mjs +0 -2
  191. package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -132
  192. package/esm2022/plugins/table/components/row/row.component.mjs +0 -93
  193. package/esm2022/plugins/table/components/table.component.mjs +0 -887
  194. package/esm2022/plugins/table/components/td/td.component.mjs +0 -610
  195. package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +0 -102
  196. package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -179
  197. package/esm2022/plugins/table/table.editor.mjs +0 -301
  198. package/esm2022/plugins/table/table.pipe.mjs +0 -66
  199. package/esm2022/plugins/table/table.plugin.mjs +0 -556
  200. package/esm2022/plugins/table/table.service.mjs +0 -122
  201. package/esm2022/plugins/table/table.store.mjs +0 -417
  202. package/esm2022/plugins/table/table.types.mjs +0 -68
  203. package/esm2022/plugins/table/toolbar-item.component.mjs +0 -95
  204. package/esm2022/plugins/table/transforms/clear-cell.mjs +0 -14
  205. package/esm2022/plugins/table/transforms/clear-table-node.mjs +0 -27
  206. package/esm2022/plugins/table/transforms/index.mjs +0 -8
  207. package/esm2022/plugins/table/transforms/insert-column.mjs +0 -69
  208. package/esm2022/plugins/table/transforms/insert-row.mjs +0 -50
  209. package/esm2022/plugins/table/transforms/insert-table.mjs +0 -15
  210. package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +0 -91
  211. package/esm2022/plugins/table/transforms/remove-column.mjs +0 -51
  212. package/esm2022/plugins/table/transforms/remove-row.mjs +0 -48
  213. package/esm2022/plugins/table/transforms/remove-table.mjs +0 -49
  214. package/esm2022/plugins/table/utils/add-columns.mjs +0 -38
  215. package/esm2022/plugins/table/utils/calc-anchor-position.mjs +0 -26
  216. package/esm2022/plugins/table/utils/calc-span.mjs +0 -73
  217. package/esm2022/plugins/table/utils/calculate-table.mjs +0 -116
  218. package/esm2022/plugins/table/utils/cell-position.mjs +0 -57
  219. package/esm2022/plugins/table/utils/create-cell.mjs +0 -19
  220. package/esm2022/plugins/table/utils/create-row.mjs +0 -12
  221. package/esm2022/plugins/table/utils/create-table-position.mjs +0 -10
  222. package/esm2022/plugins/table/utils/create-table.mjs +0 -15
  223. package/esm2022/plugins/table/utils/get-grid-columns.mjs +0 -79
  224. package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
  225. package/esm2022/plugins/table/utils/get-next-cell.mjs +0 -44
  226. package/esm2022/plugins/table/utils/get-select-cell-node.mjs +0 -16
  227. package/esm2022/plugins/table/utils/handle-cell.mjs +0 -25
  228. package/esm2022/plugins/table/utils/index.mjs +0 -16
  229. package/esm2022/plugins/table/utils/is-header-row.mjs +0 -15
  230. package/esm2022/plugins/table/utils/is-legal-table.mjs +0 -26
  231. package/esm2022/plugins/table/utils/is-range-in-table.mjs +0 -16
  232. package/esm2022/plugins/table/utils/is-selection-in-table.mjs +0 -51
  233. package/esm2022/plugins/table/utils/is-virtual-key.mjs +0 -13
  234. package/esm2022/plugins/table/utils/merge-cell.mjs +0 -110
  235. package/esm2022/plugins/table/utils/next-path.mjs +0 -5
  236. package/esm2022/plugins/table/utils/normalize-table.mjs +0 -31
  237. package/esm2022/plugins/table/utils/remove-columns.mjs +0 -23
  238. package/esm2022/plugins/table/utils/remove-row-column.mjs +0 -45
  239. package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
  240. package/esm2022/plugins/table/utils/split-cell.mjs +0 -29
  241. package/esm2022/plugins/table/utils/table-entry.mjs +0 -21
  242. package/esm2022/plugins/table/utils/table-position.mjs +0 -251
  243. package/esm2022/plugins/table/utils/table-viewport.mjs +0 -41
  244. package/esm2022/plugins/todo-item/todo-item.component.mjs +0 -65
  245. package/esm2022/plugins/todo-item/todo-item.editor.mjs +0 -32
  246. package/esm2022/plugins/todo-item/todo-item.plugin.mjs +0 -93
  247. package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +0 -95
  248. package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +0 -59
  249. package/esm2022/public-api.mjs +0 -22
  250. package/esm2022/queries/anchor-block-entry.mjs +0 -13
  251. package/esm2022/queries/anchor-block.mjs +0 -6
  252. package/esm2022/queries/anchor-inline-entry.mjs +0 -10
  253. package/esm2022/queries/find-descendant.mjs +0 -47
  254. package/esm2022/queries/find-node.mjs +0 -45
  255. package/esm2022/queries/find-path.mjs +0 -28
  256. package/esm2022/queries/get-above-by-type.mjs +0 -14
  257. package/esm2022/queries/get-above.mjs +0 -9
  258. package/esm2022/queries/get-anchor-block-entry.mjs +0 -8
  259. package/esm2022/queries/get-block-above.mjs +0 -10
  260. package/esm2022/queries/get-block-card-above.mjs +0 -10
  261. package/esm2022/queries/get-block-card-cursor.mjs +0 -9
  262. package/esm2022/queries/get-container-blocks.mjs +0 -12
  263. package/esm2022/queries/get-directly-parent.mjs +0 -12
  264. package/esm2022/queries/get-insert-elements-path.mjs +0 -46
  265. package/esm2022/queries/get-last-child-path.mjs +0 -9
  266. package/esm2022/queries/get-last-node.mjs +0 -17
  267. package/esm2022/queries/get-next-sibling-nodes.mjs +0 -17
  268. package/esm2022/queries/get-node.mjs +0 -10
  269. package/esm2022/queries/get-nodes-by-type.mjs +0 -15
  270. package/esm2022/queries/get-nodes.mjs +0 -7
  271. package/esm2022/queries/get-parent.mjs +0 -12
  272. package/esm2022/queries/get-plain-text.mjs +0 -16
  273. package/esm2022/queries/get-plugin-by-toolbar.mjs +0 -13
  274. package/esm2022/queries/get-point-before.mjs +0 -62
  275. package/esm2022/queries/get-point-from-location.mjs +0 -15
  276. package/esm2022/queries/get-previous-path.mjs +0 -9
  277. package/esm2022/queries/get-rang-from-block-start.mjs +0 -16
  278. package/esm2022/queries/get-range-before.mjs +0 -17
  279. package/esm2022/queries/get-selection-marks.mjs +0 -18
  280. package/esm2022/queries/get-selection-nodes-by-type.mjs +0 -30
  281. package/esm2022/queries/get-text.mjs +0 -9
  282. package/esm2022/queries/get-toolbar-disabled.mjs +0 -13
  283. package/esm2022/queries/index.mjs +0 -62
  284. package/esm2022/queries/is-across-blocks.mjs +0 -7
  285. package/esm2022/queries/is-ancestor-empty.mjs +0 -6
  286. package/esm2022/queries/is-ancestor.mjs +0 -3
  287. package/esm2022/queries/is-block-above-empty.mjs +0 -11
  288. package/esm2022/queries/is-block-active.mjs +0 -8
  289. package/esm2022/queries/is-block-card-cursor.mjs +0 -16
  290. package/esm2022/queries/is-block-text-empty-after-selection.mjs +0 -31
  291. package/esm2022/queries/is-collapsed.mjs +0 -7
  292. package/esm2022/queries/is-contain-nested-type.mjs +0 -29
  293. package/esm2022/queries/is-container-type.mjs +0 -3
  294. package/esm2022/queries/is-descendant.mjs +0 -3
  295. package/esm2022/queries/is-empty-content-filter.mjs +0 -22
  296. package/esm2022/queries/is-empty-content.mjs +0 -15
  297. package/esm2022/queries/is-empty-paragraph-by-path.mjs +0 -7
  298. package/esm2022/queries/is-empty-paragraph.mjs +0 -28
  299. package/esm2022/queries/is-first-child.mjs +0 -5
  300. package/esm2022/queries/is-global-collapsed.mjs +0 -5
  301. package/esm2022/queries/is-include-types.mjs +0 -12
  302. package/esm2022/queries/is-node-type-in.mjs +0 -9
  303. package/esm2022/queries/is-node-type.mjs +0 -15
  304. package/esm2022/queries/is-paragraph.mjs +0 -9
  305. package/esm2022/queries/is-point-at-root.mjs +0 -2
  306. package/esm2022/queries/is-range-across-blocks.mjs +0 -22
  307. package/esm2022/queries/is-range-at-root.mjs +0 -3
  308. package/esm2022/queries/is-root-path.mjs +0 -2
  309. package/esm2022/queries/is-start.mjs +0 -6
  310. package/esm2022/queries/some-node.mjs +0 -9
  311. package/esm2022/services/context.service.mjs +0 -140
  312. package/esm2022/services/table-contextmenu.service.mjs +0 -288
  313. package/esm2022/services/toolbar.service.mjs +0 -47
  314. package/esm2022/shortcuts/index.mjs +0 -5
  315. package/esm2022/shortcuts/mark.mjs +0 -25
  316. package/esm2022/test/basic/basic.component.mjs +0 -61
  317. package/esm2022/test/faker/data-transfer-faker.mjs +0 -13
  318. package/esm2022/test/faker/tethys-icon-faker.mjs +0 -22
  319. package/esm2022/test/index.mjs +0 -7
  320. package/esm2022/test/utils/mock-plugins.mjs +0 -104
  321. package/esm2022/test/utils/preset-config.mjs +0 -17
  322. package/esm2022/test/utils/with-plugin.mjs +0 -11
  323. package/esm2022/transforms/apply-deep-to-nodes.mjs +0 -22
  324. package/esm2022/transforms/clear-marks.mjs +0 -23
  325. package/esm2022/transforms/delete-element.mjs +0 -12
  326. package/esm2022/transforms/delete-node-by-type.mjs +0 -10
  327. package/esm2022/transforms/handle-continual-delete-backward.mjs +0 -18
  328. package/esm2022/transforms/handle-continual-insert-break.mjs +0 -20
  329. package/esm2022/transforms/index.mjs +0 -19
  330. package/esm2022/transforms/insert-elements.mjs +0 -55
  331. package/esm2022/transforms/insert-paragraph.mjs +0 -6
  332. package/esm2022/transforms/merge-deep-to-nodes.mjs +0 -9
  333. package/esm2022/transforms/move-children.mjs +0 -22
  334. package/esm2022/transforms/on-keydown-reset-block-type.mjs +0 -23
  335. package/esm2022/transforms/set-end-selection.mjs +0 -10
  336. package/esm2022/transforms/set-marks.mjs +0 -9
  337. package/esm2022/transforms/set-node-by-type.mjs +0 -10
  338. package/esm2022/transforms/set-node.mjs +0 -6
  339. package/esm2022/transforms/un-hang-range.mjs +0 -11
  340. package/esm2022/transforms/un-wrap.mjs +0 -12
  341. package/esm2022/transforms/unwrap-nodes-by-type.mjs +0 -14
  342. package/esm2022/utils/auto-focus.mjs +0 -24
  343. package/esm2022/utils/blob.mjs +0 -16
  344. package/esm2022/utils/cast-array.mjs +0 -7
  345. package/esm2022/utils/color-picker.mjs +0 -15
  346. package/esm2022/utils/common.mjs +0 -11
  347. package/esm2022/utils/copy-node.mjs +0 -38
  348. package/esm2022/utils/create-empty-paragraph.mjs +0 -14
  349. package/esm2022/utils/data-transform.mjs +0 -48
  350. package/esm2022/utils/dom.mjs +0 -56
  351. package/esm2022/utils/editor-uuid.mjs +0 -8
  352. package/esm2022/utils/fragment.mjs +0 -82
  353. package/esm2022/utils/get-editable-element-height.mjs +0 -6
  354. package/esm2022/utils/get-mode.mjs +0 -14
  355. package/esm2022/utils/get-toolbar-class.mjs +0 -6
  356. package/esm2022/utils/id-creator.mjs +0 -11
  357. package/esm2022/utils/index.mjs +0 -23
  358. package/esm2022/utils/insert-data-by-invalid-type.mjs +0 -70
  359. package/esm2022/utils/is-clean-empty-paragraph.mjs +0 -37
  360. package/esm2022/utils/is-inline.mjs +0 -9
  361. package/esm2022/utils/lodash.mjs +0 -3
  362. package/esm2022/utils/match.mjs +0 -32
  363. package/esm2022/utils/merge-element-options.mjs +0 -19
  364. package/esm2022/utils/normalize.mjs +0 -61
  365. package/esm2022/utils/refocus.mjs +0 -47
  366. package/esm2022/utils/scrolling.mjs +0 -43
  367. package/esm2022/utils/update-popover-position.mjs +0 -26
  368. package/esm2022/utils/weak-maps.mjs +0 -9
  369. package/esm2022/worktile-theia.mjs +0 -5
@@ -1,142 +0,0 @@
1
- import { Overlay } from '@angular/cdk/overlay';
2
- import { ChangeDetectorRef, ViewContainerRef } from '@angular/core';
3
- import { TheiaConverter } from '@atinc/selene';
4
- import { marked } from 'marked';
5
- import { ThyPopover } from 'ngx-tethys/popover';
6
- import { Element, Text, Transforms } from 'slate';
7
- import { AngularEditor, getClipboardData } from 'slate-angular';
8
- import { TheConversionHint } from '../../components';
9
- import { ElementKinds } from '../../constants';
10
- import { createPluginFactory } from '../../core';
11
- import { PluginKeys } from '../../interfaces';
12
- import { THE_EDITOR_CONVERSION_HINT_REF, getToolbarClass, recursionNodes } from '../../utils';
13
- import { ImageEditor } from '../image/image.editor';
14
- export const closeConversionHint = (editor) => {
15
- const hintRef = THE_EDITOR_CONVERSION_HINT_REF.get(editor);
16
- if (hintRef) {
17
- hintRef.close();
18
- }
19
- };
20
- export const withDeserializeMd = (editor) => {
21
- const { insertFragmentData, onKeydown } = editor;
22
- editor.onKeydown = (event) => {
23
- closeConversionHint(editor);
24
- onKeydown(event);
25
- };
26
- editor.insertFragmentData = async (data) => {
27
- const popover = editor.injector.get(ThyPopover);
28
- const viewContainerRef = editor.injector.get(ViewContainerRef);
29
- const cdr = editor.injector.get(ChangeDetectorRef);
30
- const oldRange = editor.selection;
31
- const clipboardData = await getClipboardData(data);
32
- const plainFragment = clipboardData?.text;
33
- closeConversionHint(editor);
34
- if (plainFragment && isMarkdownSyntax(plainFragment) && !clipboardData?.elements) {
35
- setTimeout(() => {
36
- const overlay = editor.injector.get(Overlay);
37
- const bodyElement = document.body;
38
- const toolbarClass = getToolbarClass(editor);
39
- const toolbarElement = document.querySelector(`.${toolbarClass}`);
40
- const origin = toolbarElement ? toolbarElement : bodyElement;
41
- const placement = toolbarElement ? 'top' : 'topRight';
42
- const hintPopoverRef = popover.open(TheConversionHint, {
43
- initialState: {
44
- editor,
45
- conversion: () => {
46
- try {
47
- const html = marked(plainFragment.replace(/\n```/g, '\n\n```'), { gfm: true });
48
- const htmlDom = new DOMParser().parseFromString(html, 'text/html');
49
- const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
50
- if (!isUnformatted(fragment)) {
51
- closeConversionHint(editor);
52
- editor.undo();
53
- setTimeout(() => {
54
- Transforms.select(editor, oldRange);
55
- // base 64 图片处理
56
- recursionNodes(fragment, (node) => {
57
- const isImage = Element.isElement(node) && node.type === ElementKinds.image;
58
- if (isImage) {
59
- const isBase64 = ImageEditor.isBase64(node?.originUrl);
60
- if (isBase64) {
61
- ImageEditor.handleBase64ImageElement(editor, node);
62
- }
63
- else {
64
- ImageEditor.handleExternalImageElement(editor, node);
65
- }
66
- }
67
- });
68
- Transforms.insertFragment(editor, fragment);
69
- AngularEditor.focus(editor);
70
- });
71
- return true;
72
- }
73
- else {
74
- closeConversionHint(editor);
75
- }
76
- }
77
- catch (error) {
78
- closeConversionHint(editor);
79
- }
80
- }
81
- },
82
- origin,
83
- viewContainerRef,
84
- placement,
85
- offset: -100,
86
- minWidth: 0,
87
- hasBackdrop: false,
88
- backdropClosable: false,
89
- closeOnNavigation: false,
90
- outsideClosable: true,
91
- scrollStrategy: overlay.scrollStrategies.reposition()
92
- });
93
- THE_EDITOR_CONVERSION_HINT_REF.set(editor, hintPopoverRef);
94
- cdr.markForCheck();
95
- });
96
- }
97
- return insertFragmentData(data);
98
- };
99
- return editor;
100
- };
101
- export const createDeserializeMdPlugin = createPluginFactory({
102
- key: PluginKeys.deserializeMd,
103
- withOverrides: withDeserializeMd
104
- });
105
- const isUnformatted = (elements) => {
106
- return elements.every(element => element.type === ElementKinds.default &&
107
- element.children.every((node) => {
108
- return Text.isText(node) && Object.keys(node).length === 1;
109
- }));
110
- };
111
- const isMarkdownSyntax = content => {
112
- // https://github.com/Chalarangelo/parse-md-js/blob/master/parsemd.js
113
- const codeBlockRegex = /((\n\t)(.*))+/g;
114
- const inlineCodeRegex = /(`)(.*?)\1/g;
115
- const imageRegex = /!\[([^\[]+)\]\(([^\)]+)\)/g;
116
- const linkRegex = /\[([^\[]+)\]\(([^\)]+)\)/g;
117
- const headingRegex = /(#+\s*)(.*)/g;
118
- const boldItalicsRegex = /(\*{1,2})(\S+)\1/g;
119
- const strikethroughRegex = /(\~\~)(.*?)\1/g;
120
- const blockquoteRegex = /\n(>|\>)(.*)/g;
121
- const horizontalRuleRegex = /\n((\-{3,})|(={3,}))/g;
122
- const unorderedListRegex = /(\n\s*(\-|\+)\s.*)+/g;
123
- const orderedListRegex = /(\n\s*([0-9]+\.)\s.*)+/g;
124
- const paragraphRegex = /\n+(?!<pre>)(?!<h)(?!<ul>)(?!<blockquote)(?!<hr)(?!\t)([^\n]+)\n/g;
125
- // from marked
126
- const table = /^\s*([^\s].*\|.*)\s{0,3}(?:\|\s*)?(:?-+:?\s*(?:\|\s*:?-+:?\s*)*)\|?(?:\s*((?:(?!|hr|heading|blockquote|code|fences|list|html).*(?:|$))*)*|$)/g;
127
- const regexps = [
128
- inlineCodeRegex,
129
- imageRegex,
130
- linkRegex,
131
- headingRegex,
132
- boldItalicsRegex,
133
- strikethroughRegex,
134
- blockquoteRegex,
135
- horizontalRuleRegex,
136
- unorderedListRegex,
137
- orderedListRegex,
138
- table
139
- ];
140
- return regexps.some(regexp => regexp.test(content));
141
- };
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemUtbWQucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvZGVzZXJpYWxpemUvZGVzZXJpYWxpemUtbWQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQVUsT0FBTyxFQUFRLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUNsRCxNQUFNLE9BQU8sR0FBRyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7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Q2hELE1BQU0sU0FBUyxHQUFHLDJCQUEyQixDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQztJQUNwQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBQzdDLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUM7SUFDNUMsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUM7SUFDM0MsTUFBTSxtQkFBbUIsR0FBRyx1QkFBdUIsQ0FBQztJQUNwRCxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixDQUFDO0lBQ2xELE1BQU0sZ0JBQWdCLEdBQUcseUJBQXlCLENBQUM7SUFDbkQsTUFBTSxjQUFjLEdBQUcsbUVBQW1FLENBQUM7SUFDM0YsY0FBYztJQUNkLE1BQU0sS0FBSyxHQUNQLCtJQUErSSxDQUFDO0lBQ3BKLE1BQU0sT0FBTyxHQUFHO1FBQ1osZUFBZTtRQUNmLFVBQVU7UUFDVixTQUFTO1FBQ1QsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLEtBQUs7S0FDUixDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlaWFDb252ZXJ0ZXIgfSBmcm9tICdAYXRpbmMvc2VsZW5lJztcbmltcG9ydCB7IG1hcmtlZCB9IGZyb20gJ21hcmtlZCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTm9kZSwgVGV4dCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIGdldENsaXBib2FyZERhdGEgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZUNvbnZlcnNpb25IaW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVEhFX0VESVRPUl9DT05WRVJTSU9OX0hJTlRfUkVGLCBnZXRUb29sYmFyQ2xhc3MsIHJlY3Vyc2lvbk5vZGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuLi9pbWFnZS9pbWFnZS5lZGl0b3InO1xuXG5leHBvcnQgY29uc3QgY2xvc2VDb252ZXJzaW9uSGludCA9IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgIGNvbnN0IGhpbnRSZWYgPSBUSEVfRURJVE9SX0NPTlZFUlNJT05fSElOVF9SRUYuZ2V0KGVkaXRvcik7XG4gICAgaWYgKGhpbnRSZWYpIHtcbiAgICAgICAgaGludFJlZi5jbG9zZSgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoRGVzZXJpYWxpemVNZCA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IGluc2VydEZyYWdtZW50RGF0YSwgb25LZXlkb3duIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNsb3NlQ29udmVyc2lvbkhpbnQoZWRpdG9yKTtcbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydEZyYWdtZW50RGF0YSA9IGFzeW5jIChkYXRhOiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgICAgY29uc3QgcG9wb3ZlciA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGh5UG9wb3Zlcik7XG4gICAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICBjb25zdCBjZHIgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICAgICAgY29uc3Qgb2xkUmFuZ2UgPSBlZGl0b3Iuc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYXdhaXQgZ2V0Q2xpcGJvYXJkRGF0YShkYXRhKTtcbiAgICAgICAgY29uc3QgcGxhaW5GcmFnbWVudCA9IGNsaXBib2FyZERhdGE/LnRleHQ7XG5cbiAgICAgICAgY2xvc2VDb252ZXJzaW9uSGludChlZGl0b3IpO1xuICAgICAgICBpZiAocGxhaW5GcmFnbWVudCAmJiBpc01hcmtkb3duU3ludGF4KHBsYWluRnJhZ21lbnQpICYmICFjbGlwYm9hcmREYXRhPy5lbGVtZW50cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3ZlcmxheSA9IGVkaXRvci5pbmplY3Rvci5nZXQoT3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5ib2R5O1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2xiYXJDbGFzcyA9IGdldFRvb2xiYXJDbGFzcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2xiYXJFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7dG9vbGJhckNsYXNzfWApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHRvb2xiYXJFbGVtZW50ID8gdG9vbGJhckVsZW1lbnQgOiBib2R5RWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBwbGFjZW1lbnQgPSB0b29sYmFyRWxlbWVudCA/ICd0b3AnIDogJ3RvcFJpZ2h0JztcblxuICAgICAgICAgICAgICAgIGNvbnN0IGhpbnRQb3BvdmVyUmVmID0gcG9wb3Zlci5vcGVuKFRoZUNvbnZlcnNpb25IaW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udmVyc2lvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBtYXJrZWQocGxhaW5GcmFnbWVudC5yZXBsYWNlKC9cXG5gYGAvZywgJ1xcblxcbmBgYCcpLCB7IGdmbTogdHJ1ZSB9KSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxEb20gPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGh0bWwsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBUaGVpYUNvbnZlcnRlci5jb252ZXJ0VG9UaGVpYShBcnJheS5mcm9tKGh0bWxEb20uYm9keS5jaGlsZHJlbikpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNVbmZvcm1hdHRlZChmcmFnbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQ29udmVyc2lvbkhpbnQoZWRpdG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnVuZG8oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBvbGRSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmFzZSA2NCDlm77niYflpITnkIZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN1cnNpb25Ob2RlcyhmcmFnbWVudCwgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNJbWFnZSA9IEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLmltYWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNCYXNlNjQgPSBJbWFnZUVkaXRvci5pc0Jhc2U2NChub2RlPy5vcmlnaW5VcmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQmFzZTY0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VFZGl0b3IuaGFuZGxlQmFzZTY0SW1hZ2VFbGVtZW50KGVkaXRvciwgbm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlRWRpdG9yLmhhbmRsZUV4dGVybmFsSW1hZ2VFbGVtZW50KGVkaXRvciwgbm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydEZyYWdtZW50KGVkaXRvciwgZnJhZ21lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXMoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUNvbnZlcnNpb25IaW50KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUNvbnZlcnNpb25IaW50KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAtMTAwLFxuICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgVEhFX0VESVRPUl9DT05WRVJTSU9OX0hJTlRfUkVGLnNldChlZGl0b3IsIGhpbnRQb3BvdmVyUmVmKTtcbiAgICAgICAgICAgICAgICBjZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5zZXJ0RnJhZ21lbnREYXRhKGRhdGEpO1xuICAgIH07XG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZXNlcmlhbGl6ZU1kUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeSh7XG4gICAga2V5OiBQbHVnaW5LZXlzLmRlc2VyaWFsaXplTWQsXG4gICAgd2l0aE92ZXJyaWRlczogd2l0aERlc2VyaWFsaXplTWRcbn0pO1xuXG5jb25zdCBpc1VuZm9ybWF0dGVkID0gKGVsZW1lbnRzOiBFbGVtZW50W10pID0+IHtcbiAgICByZXR1cm4gZWxlbWVudHMuZXZlcnkoXG4gICAgICAgIGVsZW1lbnQgPT5cbiAgICAgICAgICAgIGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmRlZmF1bHQgJiZcbiAgICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW4uZXZlcnkoKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVGV4dC5pc1RleHQobm9kZSkgJiYgT2JqZWN0LmtleXMobm9kZSkubGVuZ3RoID09PSAxO1xuICAgICAgICAgICAgfSlcbiAgICApO1xufTtcblxuY29uc3QgaXNNYXJrZG93blN5bnRheCA9IGNvbnRlbnQgPT4ge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9DaGFsYXJhbmdlbG8vcGFyc2UtbWQtanMvYmxvYi9tYXN0ZXIvcGFyc2VtZC5qc1xuICAgIGNvbnN0IGNvZGVCbG9ja1JlZ2V4ID0gLygoXFxuXFx0KSguKikpKy9nO1xuICAgIGNvbnN0IGlubGluZUNvZGVSZWdleCA9IC8oYCkoLio/KVxcMS9nO1xuICAgIGNvbnN0IGltYWdlUmVnZXggPSAvIVxcWyhbXlxcW10rKVxcXVxcKChbXlxcKV0rKVxcKS9nO1xuICAgIGNvbnN0IGxpbmtSZWdleCA9IC9cXFsoW15cXFtdKylcXF1cXCgoW15cXCldKylcXCkvZztcbiAgICBjb25zdCBoZWFkaW5nUmVnZXggPSAvKCMrXFxzKikoLiopL2c7XG4gICAgY29uc3QgYm9sZEl0YWxpY3NSZWdleCA9IC8oXFwqezEsMn0pKFxcUyspXFwxL2c7XG4gICAgY29uc3Qgc3RyaWtldGhyb3VnaFJlZ2V4ID0gLyhcXH5cXH4pKC4qPylcXDEvZztcbiAgICBjb25zdCBibG9ja3F1b3RlUmVnZXggPSAvXFxuKCZndDt8XFw+KSguKikvZztcbiAgICBjb25zdCBob3Jpem9udGFsUnVsZVJlZ2V4ID0gL1xcbigoXFwtezMsfSl8KD17Myx9KSkvZztcbiAgICBjb25zdCB1bm9yZGVyZWRMaXN0UmVnZXggPSAvKFxcblxccyooXFwtfFxcKylcXHMuKikrL2c7XG4gICAgY29uc3Qgb3JkZXJlZExpc3RSZWdleCA9IC8oXFxuXFxzKihbMC05XStcXC4pXFxzLiopKy9nO1xuICAgIGNvbnN0IHBhcmFncmFwaFJlZ2V4ID0gL1xcbisoPyE8cHJlPikoPyE8aCkoPyE8dWw+KSg/ITxibG9ja3F1b3RlKSg/ITxocikoPyFcXHQpKFteXFxuXSspXFxuL2c7XG4gICAgLy8gZnJvbSBtYXJrZWRcbiAgICBjb25zdCB0YWJsZSA9XG4gICAgICAgIC9eXFxzKihbXlxcc10uKlxcfC4qKVxcc3swLDN9KD86XFx8XFxzKik/KDo/LSs6P1xccyooPzpcXHxcXHMqOj8tKzo/XFxzKikqKVxcfD8oPzpcXHMqKCg/Oig/IXxocnxoZWFkaW5nfGJsb2NrcXVvdGV8Y29kZXxmZW5jZXN8bGlzdHxodG1sKS4qKD86fCQpKSopKnwkKS9nO1xuICAgIGNvbnN0IHJlZ2V4cHMgPSBbXG4gICAgICAgIGlubGluZUNvZGVSZWdleCxcbiAgICAgICAgaW1hZ2VSZWdleCxcbiAgICAgICAgbGlua1JlZ2V4LFxuICAgICAgICBoZWFkaW5nUmVnZXgsXG4gICAgICAgIGJvbGRJdGFsaWNzUmVnZXgsXG4gICAgICAgIHN0cmlrZXRocm91Z2hSZWdleCxcbiAgICAgICAgYmxvY2txdW90ZVJlZ2V4LFxuICAgICAgICBob3Jpem9udGFsUnVsZVJlZ2V4LFxuICAgICAgICB1bm9yZGVyZWRMaXN0UmVnZXgsXG4gICAgICAgIG9yZGVyZWRMaXN0UmVnZXgsXG4gICAgICAgIHRhYmxlXG4gICAgXTtcbiAgICByZXR1cm4gcmVnZXhwcy5zb21lKHJlZ2V4cCA9PiByZWdleHAudGVzdChjb250ZW50KSk7XG59O1xuIl19
@@ -1,98 +0,0 @@
1
- import { Editor } from 'slate';
2
- import { DISABLED_OPERATE_TYPES, ElementKinds, FontSizeTypes, FontSizes, HEADING_TYPES, MarkTypes } from '../../constants';
3
- import { createPluginFactory } from '../../core';
4
- import { PluginKeys, ToolbarItemType } from '../../interfaces';
5
- import * as TheQueries from '../../queries';
6
- import { TheContextService } from '../../services/context.service';
7
- import * as TheTransforms from '../../transforms';
8
- import { TableEditor } from '../table/table.editor';
9
- export const FontSizeEditor = {
10
- setFontSize(editor, size) {
11
- const contextService = editor.injector.get(TheContextService);
12
- const defaultFontSize = contextService.getDefaultFontSize();
13
- const marks = TheQueries.getSelectionMarks(editor);
14
- const fontSizeMark = marks[MarkTypes.fontSize];
15
- const isDefaultFontSize = size === defaultFontSize;
16
- if (!fontSizeMark && isDefaultFontSize) {
17
- return;
18
- }
19
- // unset fontSize
20
- if (isDefaultFontSize) {
21
- FontSizeEditor.unsetFontSize(editor, size);
22
- return;
23
- }
24
- FontSizeEditor.setFontSizeMark(editor, size);
25
- },
26
- setFontSizeMark(editor, size) {
27
- // set Table selectedCells fontSize
28
- if (TableEditor.toggleMark(editor, false, MarkTypes.fontSize, Number(size))) {
29
- return;
30
- }
31
- // set paragraph text fontSize
32
- Editor.addMark(editor, MarkTypes.fontSize, Number(size));
33
- },
34
- unsetFontSize(editor, size) {
35
- const isTable = TableEditor.isActive(editor);
36
- // unset Table selectedCells fontSize
37
- if (isTable && TableEditor.toggleMark(editor, true, MarkTypes.fontSize, Number(size))) {
38
- return;
39
- }
40
- // unset paragraph text fontSize
41
- TheTransforms.setMarks(editor, {
42
- [MarkTypes.fontSize]: null
43
- }, editor.selection);
44
- },
45
- isFontSizeActive(editor, size) {
46
- if (editor.selection) {
47
- const anchorBlock = TheQueries.anchorBlock(editor);
48
- switch (anchorBlock?.type) {
49
- case ElementKinds.heading_1:
50
- return size === FontSizes.fontSize28;
51
- case ElementKinds.heading_2:
52
- return size === FontSizes.fontSize24;
53
- case ElementKinds.heading_3:
54
- return size === FontSizes.fontSize20;
55
- case ElementKinds.heading_4:
56
- return size === FontSizes.fontSize18;
57
- case ElementKinds.heading_5:
58
- return size === FontSizes.fontSize16;
59
- case ElementKinds.heading_6:
60
- return size === FontSizes.fontSize14;
61
- case ElementKinds.paragraph:
62
- const marks = TheQueries.getSelectionMarks(editor);
63
- const fontSizeMark = marks[MarkTypes.fontSize];
64
- return Number(size) === fontSizeMark;
65
- default:
66
- return false;
67
- }
68
- }
69
- return false;
70
- }
71
- };
72
- const sizeOptions = () => {
73
- return FontSizeTypes.map(fontSize => {
74
- return {
75
- key: fontSize,
76
- name: fontSize,
77
- execute: editor => FontSizeEditor.setFontSize(editor, fontSize),
78
- active: editor => FontSizeEditor.isFontSizeActive(editor, fontSize)
79
- };
80
- });
81
- };
82
- export const createFontSizePlugin = (locale) => createPluginFactory({
83
- key: PluginKeys.fontSize,
84
- toolbarItems: [
85
- {
86
- key: MarkTypes.fontSize,
87
- name: locale().fontSize,
88
- type: ToolbarItemType.dropdown,
89
- dropdownItemKey: FontSizes.fontSize14,
90
- includes: FontSizeTypes
91
- },
92
- ...sizeOptions()
93
- ],
94
- options: {
95
- disabledOperateTypes: [...HEADING_TYPES, ElementKinds.image, ...DISABLED_OPERATE_TYPES]
96
- }
97
- })();
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2ZvbnQtc2l6ZS9mb250LXNpemUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBMEIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkYsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJcEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFdBQVcsQ0FBQyxNQUFpQixFQUFFLElBQWU7UUFDMUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQVcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxNQUFNLGlCQUFpQixHQUFHLElBQUksS0FBSyxlQUFlLENBQUM7UUFFbkQsSUFB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Q0FBQyxFQUFFO1FBQ2hDLE9BQU87WUFDSCxHQUFHLEVBQUUsUUFBUTtZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQy9ELE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ3RFLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBa0MsRUFBRSxFQUFFLENBQ3ZFLG1CQUFtQixDQUFDO0lBQ2hCLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUTtJQUN4QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVE7WUFDOUIsZUFBZSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ3JDLFFBQVEsRUFBRSxhQUFhO1NBQzFCO1FBQ0QsR0FBRyxXQUFXLEVBQUU7S0FDbkI7SUFDRCxPQUFPLEVBQUU7UUFDTCxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQztLQUMxRjtDQUNKLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRElTQUJMRURfT1BFUkFURV9UWVBFUywgRWxlbWVudEtpbmRzLCBGb250U2l6ZVR5cGVzLCBGb250U2l6ZXMsIEhFQURJTkdfVFlQRVMsIE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzLCBUaGVFZGl0b3IsIFRvb2xiYXJJdGVtLCBUb29sYmFySXRlbVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi90YWJsZS90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVJMThuVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9pMThuJztcblxuZXhwb3J0IGNvbnN0IEZvbnRTaXplRWRpdG9yID0ge1xuICAgIHNldEZvbnRTaXplKGVkaXRvcjogVGhlRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZvbnRTaXplID0gY29udGV4dFNlcnZpY2UuZ2V0RGVmYXVsdEZvbnRTaXplKCk7XG4gICAgICAgIGNvbnN0IG1hcmtzID0gVGhlUXVlcmllcy5nZXRTZWxlY3Rpb25NYXJrcyhlZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZU1hcms6IG51bWJlciA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG4gICAgICAgIGNvbnN0IGlzRGVmYXVsdEZvbnRTaXplID0gc2l6ZSA9PT0gZGVmYXVsdEZvbnRTaXplO1xuXG4gICAgICAgIGlmICghZm9udFNpemVNYXJrICYmIGlzRGVmYXVsdEZvbnRTaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1bnNldCBmb250U2l6ZVxuICAgICAgICBpZiAoaXNEZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgIEZvbnRTaXplRWRpdG9yLnVuc2V0Rm9udFNpemUoZWRpdG9yLCBzaXplKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIEZvbnRTaXplRWRpdG9yLnNldEZvbnRTaXplTWFyayhlZGl0b3IsIHNpemUpO1xuICAgIH0sXG4gICAgc2V0Rm9udFNpemVNYXJrKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgLy8gc2V0IFRhYmxlIHNlbGVjdGVkQ2VsbHMgZm9udFNpemVcbiAgICAgICAgaWYgKFRhYmxlRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBmYWxzZSwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IHBhcmFncmFwaCB0ZXh0IGZvbnRTaXplXG4gICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpO1xuICAgIH0sXG4gICAgdW5zZXRGb250U2l6ZShlZGl0b3I6IEVkaXRvciwgc2l6ZTogRm9udFNpemVzKSB7XG4gICAgICAgIGNvbnN0IGlzVGFibGUgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZShlZGl0b3IpO1xuXG4gICAgICAgIC8vIHVuc2V0IFRhYmxlIHNlbGVjdGVkQ2VsbHMgZm9udFNpemVcbiAgICAgICAgaWYgKGlzVGFibGUgJiYgVGFibGVFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIHRydWUsIE1hcmtUeXBlcy5mb250U2l6ZSwgTnVtYmVyKHNpemUpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVuc2V0IHBhcmFncmFwaCB0ZXh0IGZvbnRTaXplXG4gICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW01hcmtUeXBlcy5mb250U2l6ZV06IG51bGxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlZGl0b3Iuc2VsZWN0aW9uXG4gICAgICAgICk7XG4gICAgfSxcbiAgICBpc0ZvbnRTaXplQWN0aXZlKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvckJsb2NrID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICAgICAgc3dpdGNoIChhbmNob3JCbG9jaz8udHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMTpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTI4O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTI0O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfMzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTIwO1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE4O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNTpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE2O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLmhlYWRpbmdfNjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpemUgPT09IEZvbnRTaXplcy5mb250U2l6ZTE0O1xuICAgICAgICAgICAgICAgIGNhc2UgRWxlbWVudEtpbmRzLnBhcmFncmFwaDpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbnRTaXplTWFyayA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXIoc2l6ZSkgPT09IGZvbnRTaXplTWFyaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn07XG5cbmNvbnN0IHNpemVPcHRpb25zID0gKCk6IFRvb2xiYXJJdGVtW10gPT4ge1xuICAgIHJldHVybiBGb250U2l6ZVR5cGVzLm1hcChmb250U2l6ZSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXk6IGZvbnRTaXplLFxuICAgICAgICAgICAgbmFtZTogZm9udFNpemUsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gRm9udFNpemVFZGl0b3Iuc2V0Rm9udFNpemUoZWRpdG9yLCBmb250U2l6ZSksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBGb250U2l6ZUVkaXRvci5pc0ZvbnRTaXplQWN0aXZlKGVkaXRvciwgZm9udFNpemUpXG4gICAgICAgIH07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRm9udFNpemVQbHVnaW4gPSAobG9jYWxlOiBTaWduYWw8VGhlSTE4blRyYW5zbGF0aW9uPikgPT5cbiAgICBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICAgICAga2V5OiBQbHVnaW5LZXlzLmZvbnRTaXplLFxuICAgICAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IE1hcmtUeXBlcy5mb250U2l6ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5mb250U2l6ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBUb29sYmFySXRlbVR5cGUuZHJvcGRvd24sXG4gICAgICAgICAgICAgICAgZHJvcGRvd25JdGVtS2V5OiBGb250U2l6ZXMuZm9udFNpemUxNCxcbiAgICAgICAgICAgICAgICBpbmNsdWRlczogRm9udFNpemVUeXBlc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLnNpemVPcHRpb25zKClcbiAgICAgICAgXSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgZGlzYWJsZWRPcGVyYXRlVHlwZXM6IFsuLi5IRUFESU5HX1RZUEVTLCBFbGVtZW50S2luZHMuaW1hZ2UsIC4uLkRJU0FCTEVEX09QRVJBVEVfVFlQRVNdXG4gICAgICAgIH1cbiAgICB9KSgpO1xuIl19
@@ -1,54 +0,0 @@
1
- import { Editor, Element, Transforms } from 'slate';
2
- import { DISABLED_OPERATE_TYPES, ElementKinds, HEADING_TYPES, MarkTypes } from '../../constants';
3
- import { getPluginOptions } from '../../core';
4
- import { PluginKeys } from '../../interfaces';
5
- import * as TheQueries from '../../queries';
6
- import * as TheTransforms from '../../transforms';
7
- export const headingOptions = {
8
- allowParentTypes: [ElementKinds.tableCell, ElementKinds.blockquote],
9
- disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES],
10
- cleanupTypes: [ElementKinds.bulletedList, ElementKinds.numberedList, ElementKinds.listItem]
11
- };
12
- export const HeadingEditor = {
13
- setHeading(editor, heading) {
14
- Editor.withoutNormalizing(editor, () => {
15
- const cleanupTypes = getPluginOptions(editor, PluginKeys.heading).cleanupTypes;
16
- Transforms.unwrapNodes(editor, {
17
- at: editor.selection,
18
- match: n => Element.isElement(n) && cleanupTypes.includes(n.type),
19
- mode: 'all',
20
- split: true
21
- });
22
- Transforms.setNodes(editor, { type: heading });
23
- const entry = TheQueries.anchorBlockEntry(editor);
24
- const unMarks = {
25
- [MarkTypes.fontSize]: null
26
- };
27
- if (entry) {
28
- TheTransforms.setMarks(editor, unMarks, entry[1]);
29
- return;
30
- }
31
- TheTransforms.setMarks(editor, unMarks, editor.selection);
32
- });
33
- },
34
- isHeadingActive(editor, heading) {
35
- const [match] = Editor.nodes(editor, {
36
- match: n => Element.isElement(n) && n.type === heading,
37
- universal: true
38
- });
39
- return !!match;
40
- },
41
- headingPlugins() {
42
- const plugins = [];
43
- for (let level = 1; level <= HEADING_TYPES.length; level++) {
44
- const key = ElementKinds[`heading_${level}`];
45
- const plugin = {
46
- key,
47
- options: headingOptions
48
- };
49
- plugins.push(plugin);
50
- }
51
- return plugins;
52
- }
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9oZWFkaW5nL2hlYWRpbmcuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUF1QixVQUFVLEVBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBeUI7SUFDaEQsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDbkUsb0JBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7SUFDckUsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUM7Q0FDOUYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixVQUFVLENBQUMsTUFBYyxFQUFFLE9BQTRCO1FBQ25ELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ25DLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUF1QixNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNyRyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDM0IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUNwQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDakUsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRCxNQUFNLE9BQU8sR0FBRztnQkFDWixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO2FBQzdCLENBQUM7WUFDRixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsT0FBTztZQUNYLENBQUM7WUFDRCxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFjLEVBQUUsT0FBNEI7UUFDeEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ3RELFNBQVMsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBQ0QsY0FBYztRQUNWLE1BQU0sT0FBTyxHQUEwQyxFQUFFLENBQUM7UUFFMUQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6RCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUF3QztnQkFDaEQsR0FBRztnQkFDSCxPQUFPLEVBQUUsY0FBYzthQUMxQixDQUFDO1lBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBESVNBQkxFRF9PUEVSQVRFX1RZUEVTLCBFbGVtZW50S2luZHMsIEhFQURJTkdfVFlQRVMsIE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBIZWFkaW5nRWxlbWVudEtpbmRzLCBQbHVnaW5LZXlzLCBUaGVQbHVnaW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBIZWFkaW5nUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy5wbHVnaW4nO1xuXG5leHBvcnQgY29uc3QgaGVhZGluZ09wdGlvbnM6IEhlYWRpbmdQbHVnaW5PcHRpb25zID0ge1xuICAgIGFsbG93UGFyZW50VHlwZXM6IFtFbGVtZW50S2luZHMudGFibGVDZWxsLCBFbGVtZW50S2luZHMuYmxvY2txdW90ZV0sXG4gICAgZGlzYWJsZWRPcGVyYXRlVHlwZXM6IFtFbGVtZW50S2luZHMuaW1hZ2UsIC4uLkRJU0FCTEVEX09QRVJBVEVfVFlQRVNdLFxuICAgIGNsZWFudXBUeXBlczogW0VsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5saXN0SXRlbV1cbn07XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nRWRpdG9yID0ge1xuICAgIHNldEhlYWRpbmcoZWRpdG9yOiBFZGl0b3IsIGhlYWRpbmc6IEhlYWRpbmdFbGVtZW50S2luZHMpIHtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsZWFudXBUeXBlcyA9IGdldFBsdWdpbk9wdGlvbnM8SGVhZGluZ1BsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5oZWFkaW5nKS5jbGVhbnVwVHlwZXM7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIGF0OiBlZGl0b3Iuc2VsZWN0aW9uLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGNsZWFudXBUeXBlcy5pbmNsdWRlcyhuLnR5cGUpLFxuICAgICAgICAgICAgICAgIG1vZGU6ICdhbGwnLFxuICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCB7IHR5cGU6IGhlYWRpbmcgfSk7XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpO1xuICAgICAgICAgICAgY29uc3QgdW5NYXJrcyA9IHtcbiAgICAgICAgICAgICAgICBbTWFya1R5cGVzLmZvbnRTaXplXTogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCB1bk1hcmtzLCBlbnRyeVsxXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhlZGl0b3IsIHVuTWFya3MsIGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIGlzSGVhZGluZ0FjdGl2ZShlZGl0b3I6IEVkaXRvciwgaGVhZGluZzogSGVhZGluZ0VsZW1lbnRLaW5kcykge1xuICAgICAgICBjb25zdCBbbWF0Y2hdID0gRWRpdG9yLm5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBoZWFkaW5nLFxuICAgICAgICAgICAgdW5pdmVyc2FsOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gISFtYXRjaDtcbiAgICB9LFxuICAgIGhlYWRpbmdQbHVnaW5zKCk6IFRoZVBsdWdpbjx7fSwge30+W10ge1xuICAgICAgICBjb25zdCBwbHVnaW5zOiBUaGVQbHVnaW48e30sIEhlYWRpbmdQbHVnaW5PcHRpb25zPltdID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgbGV2ZWwgPSAxOyBsZXZlbCA8PSBIRUFESU5HX1RZUEVTLmxlbmd0aDsgbGV2ZWwrKykge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gRWxlbWVudEtpbmRzW2BoZWFkaW5nXyR7bGV2ZWx9YF07XG4gICAgICAgICAgICBjb25zdCBwbHVnaW46IFRoZVBsdWdpbjx7fSwgSGVhZGluZ1BsdWdpbk9wdGlvbnM+ID0ge1xuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBoZWFkaW5nT3B0aW9uc1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHBsdWdpbnMucHVzaChwbHVnaW4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwbHVnaW5zO1xuICAgIH1cbn07XG4iXX0=
@@ -1,136 +0,0 @@
1
- import { Editor, Range, Transforms } from 'slate';
2
- import { DropdownMode, ElementKinds, PluginMenuIcons, STANDARD_HEADING_TYPES, ThePluginMenuItemType } from '../../constants';
3
- import { createPluginFactory } from '../../core';
4
- import { PluginKeys, ToolbarItemType } from '../../interfaces';
5
- import * as TheQueries from '../../queries';
6
- import { HeadingEditor, headingOptions } from './heading.editor';
7
- export const withHeading = (editor) => {
8
- const { insertBreak } = editor;
9
- editor.insertBreak = () => {
10
- const { selection } = editor;
11
- const anchorBlock = TheQueries.getAnchorBlockEntry(editor);
12
- if (anchorBlock && Range.isCollapsed(selection) && anchorBlock[0].type.startsWith('heading')) {
13
- if (Editor.isStart(editor, selection.anchor, anchorBlock[1])) {
14
- insertBreak();
15
- Transforms.setNodes(editor, { type: ElementKinds.paragraph }, {
16
- at: selection
17
- });
18
- return;
19
- }
20
- if (Editor.isEnd(editor, selection.focus, anchorBlock[1])) {
21
- insertBreak();
22
- Transforms.setNodes(editor, { type: ElementKinds.paragraph });
23
- return;
24
- }
25
- }
26
- insertBreak();
27
- };
28
- return editor;
29
- };
30
- const headingListPlugins = HeadingEditor.headingPlugins();
31
- export const createHeadingPlugin = (locale) => createPluginFactory({
32
- key: PluginKeys.heading,
33
- withOverrides: withHeading,
34
- plugins: headingListPlugins,
35
- toolbarItems: [
36
- {
37
- key: ElementKinds.headingList,
38
- name: locale().headingList,
39
- type: ToolbarItemType.dropdown,
40
- dropdownMode: DropdownMode.text,
41
- dropdownItemKey: ElementKinds.paragraph,
42
- includes: [ElementKinds.paragraph, ...STANDARD_HEADING_TYPES]
43
- },
44
- {
45
- key: ElementKinds.paragraph,
46
- name: locale().paragraph,
47
- styles: { height: '40px' },
48
- execute: editor => Transforms.setNodes(editor, { type: ElementKinds.paragraph }),
49
- active: editor => TheQueries.isParagraph(editor)
50
- },
51
- {
52
- key: ElementKinds.heading_1,
53
- name: locale().heading1,
54
- icon: 'header-1',
55
- styles: { height: '40px', fontSize: '28px' },
56
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_1),
57
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_1)
58
- },
59
- {
60
- key: ElementKinds.heading_2,
61
- icon: 'header-2',
62
- name: locale().heading2,
63
- styles: { height: '38px', fontSize: '24px' },
64
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_2),
65
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_2)
66
- },
67
- {
68
- key: ElementKinds.heading_3,
69
- icon: 'header-3',
70
- name: locale().heading3,
71
- styles: { height: '34px', fontSize: '20px' },
72
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_3),
73
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_3)
74
- },
75
- {
76
- key: ElementKinds.heading_4,
77
- icon: 'header-4',
78
- name: locale().heading4,
79
- styles: { height: '30px', fontSize: '16px' },
80
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_4),
81
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_4)
82
- }
83
- ],
84
- menuItems: [
85
- {
86
- key: ElementKinds.heading_1,
87
- type: ThePluginMenuItemType.icon,
88
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_1),
89
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_1),
90
- name: locale().heading1,
91
- displayKey: '/h1',
92
- description: locale().heading1Desc,
93
- icon: 'header-1',
94
- menuIcon: PluginMenuIcons.heading_1,
95
- keywords: `h,H,bt,heading1,h1,${locale().heading1}`
96
- },
97
- {
98
- key: ElementKinds.heading_2,
99
- type: ThePluginMenuItemType.icon,
100
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_2),
101
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_2),
102
- name: locale().heading2,
103
- icon: 'header-2',
104
- description: locale().heading2Desc,
105
- displayKey: '/h2',
106
- menuIcon: PluginMenuIcons.heading_2,
107
- keywords: `h,H,bt,heading2,h2,${locale().heading2}`
108
- },
109
- {
110
- key: ElementKinds.heading_3,
111
- type: ThePluginMenuItemType.icon,
112
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_3),
113
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_3),
114
- name: locale().heading3,
115
- icon: 'header-3',
116
- description: locale().heading3Desc,
117
- displayKey: '/h3',
118
- menuIcon: PluginMenuIcons.heading_3,
119
- keywords: `h,H,bt,heading3,h3,${locale().heading3}`
120
- },
121
- {
122
- key: ElementKinds.heading_4,
123
- type: ThePluginMenuItemType.icon,
124
- execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_4),
125
- active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_4),
126
- name: locale().heading4,
127
- icon: 'header-4',
128
- description: locale().heading4Desc,
129
- displayKey: '/h4',
130
- menuIcon: PluginMenuIcons.heading_4,
131
- keywords: `h,H,bt,heading4,BT,h4,${locale().heading4}`
132
- }
133
- ],
134
- options: headingOptions
135
- })();
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9oZWFkaW5nL2hlYWRpbmcucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBdUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVFqRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBbUIsTUFBUyxFQUFLLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUvQixNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDM0YsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFdB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QzNFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDL0UsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVE7WUFDdkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLFlBQVk7WUFDbEMsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQ25DLFFBQVEsRUFBRSxzQkFBc0IsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1NBQ3REO1FBQ0Q7WUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLFNBQVM7WUFDM0IsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQztZQUMzRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQy9FLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRO1lBQ3ZCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxZQUFZO1lBQ2xDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxlQUFlLENBQUMsU0FBUztZQUNuQyxRQUFRLEVBQUUseUJBQXlCLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUN6RDtLQUNKO0lBQ0QsT0FBTyxFQUFFLGNBQWM7Q0FDMUIsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2RlLCBFbGVtZW50S2luZHMsIFBsdWdpbk1lbnVJY29ucywgU1RBTkRBUkRfSEVBRElOR19UWVBFUywgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzLCBUaGVQbHVnaW5CYXNlT3B0aW9uLCBUb29sYmFySXRlbVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBIZWFkaW5nRWRpdG9yLCBoZWFkaW5nT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy5lZGl0b3InO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVJMThuVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9pMThuJztcblxuZXhwb3J0IHR5cGUgSGVhZGluZ1BsdWdpbk9wdGlvbnMgPSB7XG4gICAgY2xlYW51cFR5cGVzOiBDdXN0b21FbGVtZW50S2luZHNbXTtcbn0gJiBUaGVQbHVnaW5CYXNlT3B0aW9uO1xuXG5leHBvcnQgY29uc3Qgd2l0aEhlYWRpbmcgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnRCcmVhayB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmluc2VydEJyZWFrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICBjb25zdCBhbmNob3JCbG9jayA9IFRoZVF1ZXJpZXMuZ2V0QW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpO1xuICAgICAgICBpZiAoYW5jaG9yQmxvY2sgJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKSAmJiBhbmNob3JCbG9ja1swXS50eXBlLnN0YXJ0c1dpdGgoJ2hlYWRpbmcnKSkge1xuICAgICAgICAgICAgaWYgKEVkaXRvci5pc1N0YXJ0KGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvciwgYW5jaG9yQmxvY2tbMV0pKSB7XG4gICAgICAgICAgICAgICAgaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogc2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChFZGl0b3IuaXNFbmQoZWRpdG9yLCBzZWxlY3Rpb24uZm9jdXMsIGFuY2hvckJsb2NrWzFdKSkge1xuICAgICAgICAgICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0QnJlYWsoKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmNvbnN0IGhlYWRpbmdMaXN0UGx1Z2lucyA9IEhlYWRpbmdFZGl0b3IuaGVhZGluZ1BsdWdpbnMoKTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhlYWRpbmdQbHVnaW4gPSAobG9jYWxlOiBTaWduYWw8VGhlSTE4blRyYW5zbGF0aW9uPikgPT5cbiAgICBjcmVhdGVQbHVnaW5GYWN0b3J5PEhlYWRpbmdQbHVnaW5PcHRpb25zPih7XG4gICAgICAgIGtleTogUGx1Z2luS2V5cy5oZWFkaW5nLFxuICAgICAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoSGVhZGluZyxcbiAgICAgICAgcGx1Z2luczogaGVhZGluZ0xpc3RQbHVnaW5zLFxuICAgICAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nTGlzdCxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5oZWFkaW5nTGlzdCxcbiAgICAgICAgICAgICAgICB0eXBlOiBUb29sYmFySXRlbVR5cGUuZHJvcGRvd24sXG4gICAgICAgICAgICAgICAgZHJvcGRvd25Nb2RlOiBEcm9wZG93bk1vZGUudGV4dCxcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW1LZXk6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsXG4gICAgICAgICAgICAgICAgaW5jbHVkZXM6IFtFbGVtZW50S2luZHMucGFyYWdyYXBoLCAuLi5TVEFOREFSRF9IRUFESU5HX1RZUEVTXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkucGFyYWdyYXBoLFxuICAgICAgICAgICAgICAgIHN0eWxlczogeyBoZWlnaHQ6ICc0MHB4JyB9LFxuICAgICAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoIH0pLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IFRoZVF1ZXJpZXMuaXNQYXJhZ3JhcGgoZWRpdG9yKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEsXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuaGVhZGluZzEsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci0xJyxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHsgaGVpZ2h0OiAnNDBweCcsIGZvbnRTaXplOiAnMjhweCcgfSxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMSksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5pc0hlYWRpbmdBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18xKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci0yJyxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5oZWFkaW5nMixcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHsgaGVpZ2h0OiAnMzhweCcsIGZvbnRTaXplOiAnMjRweCcgfSxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMiksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5pc0hlYWRpbmdBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18yKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci0zJyxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5oZWFkaW5nMyxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHsgaGVpZ2h0OiAnMzRweCcsIGZvbnRTaXplOiAnMjBweCcgfSxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMyksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5pc0hlYWRpbmdBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18zKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci00JyxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5oZWFkaW5nNCxcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHsgaGVpZ2h0OiAnMzBweCcsIGZvbnRTaXplOiAnMTZweCcgfSxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNCksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gSGVhZGluZ0VkaXRvci5pc0hlYWRpbmdBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ180KVxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBtZW51SXRlbXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEsXG4gICAgICAgICAgICAgICAgdHlwZTogVGhlUGx1Z2luTWVudUl0ZW1UeXBlLmljb24sXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3IuaXNIZWFkaW5nQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMSksXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuaGVhZGluZzEsXG4gICAgICAgICAgICAgICAgZGlzcGxheUtleTogJy9oMScsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGxvY2FsZSgpLmhlYWRpbmcxRGVzYyxcbiAgICAgICAgICAgICAgICBpY29uOiAnaGVhZGVyLTEnLFxuICAgICAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuaGVhZGluZ18xLFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBgaCxILGJ0LGhlYWRpbmcxLGgxLCR7bG9jYWxlKCkuaGVhZGluZzF9YFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIsXG4gICAgICAgICAgICAgICAgdHlwZTogVGhlUGx1Z2luTWVudUl0ZW1UeXBlLmljb24sXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIpLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3IuaXNIZWFkaW5nQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMiksXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuaGVhZGluZzIsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci0yJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogbG9jYWxlKCkuaGVhZGluZzJEZXNjLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlLZXk6ICcvaDInLFxuICAgICAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuaGVhZGluZ18yLFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBgaCxILGJ0LGhlYWRpbmcyLGgyLCR7bG9jYWxlKCkuaGVhZGluZzJ9YFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMsXG4gICAgICAgICAgICAgICAgdHlwZTogVGhlUGx1Z2luTWVudUl0ZW1UeXBlLmljb24sXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMpLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3IuaXNIZWFkaW5nQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMyksXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuaGVhZGluZzMsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci0zJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogbG9jYWxlKCkuaGVhZGluZzNEZXNjLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlLZXk6ICcvaDMnLFxuICAgICAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuaGVhZGluZ18zLFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBgaCxILGJ0LGhlYWRpbmczLGgzLCR7bG9jYWxlKCkuaGVhZGluZzN9YFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQsXG4gICAgICAgICAgICAgICAgdHlwZTogVGhlUGx1Z2luTWVudUl0ZW1UeXBlLmljb24sXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEhlYWRpbmdFZGl0b3IuaXNIZWFkaW5nQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNCksXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuaGVhZGluZzQsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2hlYWRlci00JyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogbG9jYWxlKCkuaGVhZGluZzREZXNjLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlLZXk6ICcvaDQnLFxuICAgICAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuaGVhZGluZ180LFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBgaCxILGJ0LGhlYWRpbmc0LEJULGg0LCR7bG9jYWxlKCkuaGVhZGluZzR9YFxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBvcHRpb25zOiBoZWFkaW5nT3B0aW9uc1xuICAgIH0pKCk7XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { SlateChildrenOutlet } from 'slate-angular';
4
- import { TheBaseElement } from '../../interfaces';
5
- import * as i0 from "@angular/core";
6
- export class TheHr extends TheBaseElement {
7
- ngAfterViewInit() {
8
- setTimeout(() => {
9
- const blockCardElement = this.nativeElement.closest('slate-block-card');
10
- if (blockCardElement) {
11
- blockCardElement.classList.add(`slate-block-card-${this.element.type}`);
12
- }
13
- });
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheHr, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TheHr, isStandalone: true, selector: "the-hr, [theHr]", usesInheritance: true, ngImport: i0, template: `
17
- <div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
18
- <hr class="the-hr" />
19
- <slate-children-outlet></slate-children-outlet>
20
- </div>
21
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SlateChildrenOutlet, selector: "slate-children-outlet" }] }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheHr, decorators: [{
24
- type: Component,
25
- args: [{
26
- selector: 'the-hr, [theHr]',
27
- template: `
28
- <div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
29
- <hr class="the-hr" />
30
- <slate-children-outlet></slate-children-outlet>
31
- </div>
32
- `,
33
- standalone: true,
34
- imports: [NgClass, SlateChildrenOutlet]
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaHIvaHIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWFsRCxNQUFNLE9BQU8sS0FBTSxTQUFRLGNBQStCO0lBQ3RELGVBQWU7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3hFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBUlEsS0FBSzttR0FBTCxLQUFLLGtHQVRKOzs7OztLQUtULDREQUVTLE9BQU8sb0ZBQUUsbUJBQW1COzs0RkFFN0IsS0FBSztrQkFYakIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVDaGlsZHJlbk91dGxldCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtaHIsIFt0aGVIcl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aGUtaHJcIiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpc0NvbGxhcHNlZEFuZE5vblJlYWRvbmx5IH1cIj5cbiAgICAgICAgICAgIDxociBjbGFzcz1cInRoZS1oclwiIC8+XG4gICAgICAgICAgICA8c2xhdGUtY2hpbGRyZW4tb3V0bGV0Pjwvc2xhdGUtY2hpbGRyZW4tb3V0bGV0PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIFNsYXRlQ2hpbGRyZW5PdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoZUhyIGV4dGVuZHMgVGhlQmFzZUVsZW1lbnQ8RWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmRFbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ3NsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIGlmIChibG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYmxvY2tDYXJkRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBzbGF0ZS1ibG9jay1jYXJkLSR7dGhpcy5lbGVtZW50LnR5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { Editor, Element } from 'slate';
2
- import { ElementKinds } from '../../constants/node-types';
3
- import * as TheTransforms from '../../transforms';
4
- export const HrEditor = {
5
- insertHr(editor) {
6
- TheTransforms.insertElements(editor, { type: ElementKinds.hr, children: [{ text: '' }] });
7
- },
8
- isHrActive(editor) {
9
- const [match] = Editor.nodes(editor, {
10
- match: n => Element.isElement(n) && n.type === ElementKinds.hr,
11
- universal: true
12
- });
13
- return !!match;
14
- }
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaHIvaHIuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixRQUFRLENBQUMsTUFBYztRQUNuQixhQUFhLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUNyQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFO1lBQzlELFNBQVMsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBIckVkaXRvciA9IHtcbiAgICBpbnNlcnRIcihlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnRzKGVkaXRvciwgeyB0eXBlOiBFbGVtZW50S2luZHMuaHIsIGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XSB9KTtcbiAgICB9LFxuICAgIGlzSHJBY3RpdmUoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW21hdGNoXSA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmhyLFxuICAgICAgICAgICAgdW5pdmVyc2FsOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gISFtYXRjaDtcbiAgICB9XG59O1xuIl19