@worktile/theia 3.0.8 → 3.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/components/toolbar/toolbar.component.d.ts +2 -3
  2. package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
  3. package/components/toolbar-item/toolbar-item.component.d.ts +2 -3
  4. package/esm2020/components/color-select/color-select.component.mjs +109 -0
  5. package/{esm2015/components/column-resize/column-resize-notifier.js → esm2020/components/column-resize/column-resize-notifier.mjs} +4 -4
  6. package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +4 -4
  7. package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
  8. package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +4 -4
  9. package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +4 -4
  10. package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +0 -0
  11. package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +4 -4
  12. package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +0 -0
  13. package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
  14. package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
  15. package/esm2020/components/element/element.component.mjs +23 -0
  16. package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
  17. package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +4 -4
  18. package/esm2020/components/table-select/table-select.component.mjs +50 -0
  19. package/esm2020/components/template/template.component.mjs +62 -0
  20. package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +4 -4
  21. package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
  22. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
  23. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
  24. package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
  25. package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +0 -0
  26. package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +0 -0
  27. package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +0 -0
  28. package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +0 -0
  29. package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +0 -0
  30. package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +0 -0
  31. package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +0 -0
  32. package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +0 -0
  33. package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +0 -0
  34. package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +0 -0
  35. package/esm2020/core/create-toolbar.mjs +56 -0
  36. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  37. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
  38. package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +0 -0
  39. package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +0 -0
  40. package/esm2020/core/utils/get-plugin-options.mjs +3 -0
  41. package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +0 -0
  42. package/esm2020/core/utils/get-plugins.mjs +4 -0
  43. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  44. package/esm2020/core/utils/merge-array.mjs +18 -0
  45. package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +0 -0
  46. package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +0 -0
  47. package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +0 -0
  48. package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +0 -0
  49. package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +0 -0
  50. package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +0 -0
  51. package/esm2020/editor.component.mjs +431 -0
  52. package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +5 -6
  53. package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +0 -0
  54. package/esm2020/interfaces/editor.mjs +25 -0
  55. package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +0 -0
  56. package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +0 -0
  57. package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
  58. package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +0 -0
  59. package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +0 -0
  60. package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +0 -0
  61. package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +0 -0
  62. package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +0 -0
  63. package/{esm2015/interfaces/reset-block-type-plugin-options.js → esm2020/interfaces/reset-block-type-plugin-options.mjs} +0 -0
  64. package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +0 -0
  65. package/{esm2015/interfaces/upload.js → esm2020/interfaces/upload.mjs} +1 -1
  66. package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +0 -0
  67. package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +0 -0
  68. package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +0 -0
  69. package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +0 -0
  70. package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +0 -0
  71. package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +4 -4
  72. package/{esm2015/pipes.js → esm2020/pipes.mjs} +7 -7
  73. package/esm2020/plugins/align/align.editor.mjs +47 -0
  74. package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +0 -0
  75. package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
  76. package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +0 -0
  77. package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +0 -0
  78. package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +4 -4
  79. package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
  80. package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +0 -0
  81. package/esm2020/plugins/code/code.component.mjs +241 -0
  82. package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +0 -0
  83. package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +0 -0
  84. package/esm2020/plugins/color/color.editor.mjs +44 -0
  85. package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +0 -0
  86. package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
  87. package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
  88. package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +2 -2
  89. package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
  90. package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +0 -0
  91. package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +0 -0
  92. package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +0 -0
  93. package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +0 -0
  94. package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +0 -0
  95. package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +0 -0
  96. package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +0 -0
  97. package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +0 -0
  98. package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
  99. package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +0 -0
  100. package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +0 -0
  101. package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +4 -4
  102. package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +0 -0
  103. package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +0 -0
  104. package/esm2020/plugins/image/image.component.mjs +365 -0
  105. package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +0 -0
  106. package/esm2020/plugins/image/image.plugin.mjs +57 -0
  107. package/esm2020/plugins/indent/indent.editor.mjs +71 -0
  108. package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
  109. package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +0 -0
  110. package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +0 -0
  111. package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +4 -4
  112. package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +2 -3
  113. package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +0 -0
  114. package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
  115. package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
  116. package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +7 -7
  117. package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +0 -0
  118. package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +0 -0
  119. package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +0 -0
  120. package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
  121. package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
  122. package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
  123. package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +0 -0
  124. package/esm2020/plugins/list/list.plugin.mjs +286 -0
  125. package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +0 -0
  126. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  127. package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +0 -0
  128. package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +0 -0
  129. package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +0 -0
  130. package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +0 -0
  131. package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +0 -0
  132. package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +0 -0
  133. package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +0 -0
  134. package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +0 -0
  135. package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +0 -0
  136. package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +0 -0
  137. package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +0 -0
  138. package/{esm2015/plugins/list/queries/is-selection-at-list-item-start.js → esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs} +0 -0
  139. package/{esm2015/plugins/list/queries/is-selection-in-same-list-item.js → esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs} +0 -0
  140. package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +0 -0
  141. package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +0 -0
  142. package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +0 -0
  143. package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +0 -0
  144. package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs} +0 -0
  145. package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs} +0 -0
  146. package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +0 -0
  147. package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +0 -0
  148. package/{esm2015/plugins/list/types.js → esm2020/plugins/list/types.mjs} +0 -0
  149. package/esm2020/plugins/mark/mark.editor.mjs +28 -0
  150. package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
  151. package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
  152. package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
  153. package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +0 -0
  154. package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
  155. package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +0 -0
  156. package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +0 -0
  157. package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
  158. package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
  159. package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +0 -0
  160. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
  161. package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
  162. package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +0 -0
  163. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
  164. package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +4 -4
  165. package/esm2020/plugins/table/components/table.component.mjs +461 -0
  166. package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
  167. package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +8 -5
  168. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
  169. package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +0 -0
  170. package/esm2020/plugins/table/table.plugin.mjs +427 -0
  171. package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +4 -4
  172. package/esm2020/plugins/table/table.store.mjs +484 -0
  173. package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +0 -0
  174. package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
  175. package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
  176. package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +0 -0
  177. package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +0 -0
  178. package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +0 -0
  179. package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
  180. package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +0 -0
  181. package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +0 -0
  182. package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +0 -0
  183. package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +0 -0
  184. package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +0 -0
  185. package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +0 -0
  186. package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +0 -0
  187. package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +0 -0
  188. package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +0 -0
  189. package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +0 -0
  190. package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +5 -2
  191. package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +0 -0
  192. package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +0 -0
  193. package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +0 -0
  194. package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +0 -0
  195. package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +0 -0
  196. package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +0 -0
  197. package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +0 -0
  198. package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +0 -0
  199. package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +0 -0
  200. package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +0 -0
  201. package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +0 -0
  202. package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
  203. package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +0 -0
  204. package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +0 -0
  205. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  206. package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +0 -0
  207. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  208. package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +0 -0
  209. package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +0 -0
  210. package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +0 -0
  211. package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +0 -0
  212. package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +0 -0
  213. package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +0 -0
  214. package/esm2020/queries/get-above-by-type.mjs +14 -0
  215. package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +0 -0
  216. package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +0 -0
  217. package/esm2020/queries/get-block-above.mjs +10 -0
  218. package/esm2020/queries/get-block-card-above.mjs +10 -0
  219. package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +0 -0
  220. package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +0 -0
  221. package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +0 -0
  222. package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +0 -0
  223. package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +0 -0
  224. package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +0 -0
  225. package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +0 -0
  226. package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +0 -0
  227. package/esm2020/queries/get-nodes-by-type.mjs +15 -0
  228. package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +0 -0
  229. package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +0 -0
  230. package/esm2020/queries/get-plain-text.mjs +16 -0
  231. package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +0 -0
  232. package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +0 -0
  233. package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +0 -0
  234. package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +0 -0
  235. package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +0 -0
  236. package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +0 -0
  237. package/esm2020/queries/get-selection-marks.mjs +18 -0
  238. package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +0 -0
  239. package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +0 -0
  240. package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
  241. package/esm2020/queries/index.mjs +59 -0
  242. package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +0 -0
  243. package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +0 -0
  244. package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +0 -0
  245. package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +0 -0
  246. package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +0 -0
  247. package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +0 -0
  248. package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +0 -0
  249. package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +0 -0
  250. package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +0 -0
  251. package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +0 -0
  252. package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +0 -0
  253. package/esm2020/queries/is-empty-content.mjs +15 -0
  254. package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +0 -0
  255. package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +0 -0
  256. package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +0 -0
  257. package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +0 -0
  258. package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +0 -0
  259. package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +0 -0
  260. package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +0 -0
  261. package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +0 -0
  262. package/esm2020/queries/is-range-across-blocks.mjs +22 -0
  263. package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +0 -0
  264. package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +0 -0
  265. package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +0 -0
  266. package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +4 -4
  267. package/esm2020/services/context.service.mjs +59 -0
  268. package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +4 -4
  269. package/esm2020/services/toolbar.service.mjs +48 -0
  270. package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +0 -0
  271. package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +0 -0
  272. package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +0 -0
  273. package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +0 -0
  274. package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +0 -0
  275. package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +0 -0
  276. package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +0 -0
  277. package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +0 -0
  278. package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +0 -0
  279. package/esm2020/transforms/insert-elements.mjs +34 -0
  280. package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +0 -0
  281. package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
  282. package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +0 -0
  283. package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +0 -0
  284. package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +0 -0
  285. package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +0 -0
  286. package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +0 -0
  287. package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +0 -0
  288. package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +0 -0
  289. package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +0 -0
  290. package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
  291. package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +0 -0
  292. package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +0 -0
  293. package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +0 -0
  294. package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +0 -0
  295. package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +0 -0
  296. package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +0 -0
  297. package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
  298. package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +0 -0
  299. package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +0 -0
  300. package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +0 -0
  301. package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +0 -0
  302. package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +0 -0
  303. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  304. package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +0 -0
  305. package/esm2020/utils/is-inline.mjs +9 -0
  306. package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +0 -0
  307. package/esm2020/utils/match.mjs +32 -0
  308. package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +0 -0
  309. package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
  310. package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +0 -0
  311. package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +257 -316
  312. package/fesm2015/worktile-theia.mjs.map +1 -0
  313. package/fesm2020/worktile-theia.mjs +13739 -0
  314. package/fesm2020/worktile-theia.mjs.map +1 -0
  315. package/interfaces/editor.d.ts +3 -3
  316. package/interfaces/upload.d.ts +1 -1
  317. package/package.json +20 -6
  318. package/queries/index.d.ts +2 -1
  319. package/queries/is-empty-content.d.ts +2 -0
  320. package/bundles/worktile-theia.umd.js +0 -14905
  321. package/bundles/worktile-theia.umd.js.map +0 -1
  322. package/esm2015/components/color-select/color-select.component.js +0 -113
  323. package/esm2015/components/column-resize/column-resize.module.js +0 -34
  324. package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
  325. package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
  326. package/esm2015/components/element/element.component.js +0 -24
  327. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
  328. package/esm2015/components/table-select/table-select.component.js +0 -53
  329. package/esm2015/components/template/template.component.js +0 -66
  330. package/esm2015/components/toolbar/toolbar.component.js +0 -250
  331. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
  332. package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
  333. package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
  334. package/esm2015/core/create-toolbar.js +0 -57
  335. package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
  336. package/esm2015/core/utils/get-plugin-options.js +0 -3
  337. package/esm2015/core/utils/get-plugins.js +0 -5
  338. package/esm2015/core/utils/merge-array.js +0 -18
  339. package/esm2015/editor.component.js +0 -440
  340. package/esm2015/interfaces/editor.js +0 -23
  341. package/esm2015/plugins/align/align.editor.js +0 -48
  342. package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
  343. package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
  344. package/esm2015/plugins/code/code.component.js +0 -245
  345. package/esm2015/plugins/color/color.editor.js +0 -45
  346. package/esm2015/plugins/color/toolbar-item.component.js +0 -124
  347. package/esm2015/plugins/common/auto-insert-data..js +0 -78
  348. package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
  349. package/esm2015/plugins/font-size/font-size.editor.js +0 -98
  350. package/esm2015/plugins/image/image.component.js +0 -370
  351. package/esm2015/plugins/image/image.plugin.js +0 -58
  352. package/esm2015/plugins/indent/indent.editor.js +0 -73
  353. package/esm2015/plugins/indent/indent.plugin.js +0 -60
  354. package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
  355. package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
  356. package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
  357. package/esm2015/plugins/list/components/list-item.component.js +0 -95
  358. package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
  359. package/esm2015/plugins/list/list.plugin.js +0 -281
  360. package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
  361. package/esm2015/plugins/mark/mark.editor.js +0 -29
  362. package/esm2015/plugins/mark/mark.plugin.js +0 -102
  363. package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
  364. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
  365. package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
  366. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
  367. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
  368. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
  369. package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
  370. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
  371. package/esm2015/plugins/table/components/table.component.js +0 -470
  372. package/esm2015/plugins/table/components/td/td.component.js +0 -698
  373. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
  374. package/esm2015/plugins/table/table.plugin.js +0 -424
  375. package/esm2015/plugins/table/table.store.js +0 -480
  376. package/esm2015/plugins/table/toolbar-item.component.js +0 -86
  377. package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
  378. package/esm2015/plugins/table/transforms/insert-table.js +0 -15
  379. package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
  380. package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
  381. package/esm2015/queries/get-above-by-type.js +0 -11
  382. package/esm2015/queries/get-block-above.js +0 -7
  383. package/esm2015/queries/get-block-card-above.js +0 -7
  384. package/esm2015/queries/get-nodes-by-type.js +0 -12
  385. package/esm2015/queries/get-plain-text.js +0 -16
  386. package/esm2015/queries/get-selection-marks.js +0 -19
  387. package/esm2015/queries/get-toolbar-disabled.js +0 -14
  388. package/esm2015/queries/index.js +0 -58
  389. package/esm2015/queries/is-range-across-blocks.js +0 -18
  390. package/esm2015/services/context.service.js +0 -60
  391. package/esm2015/services/toolbar.service.js +0 -48
  392. package/esm2015/transforms/insert-elements.js +0 -35
  393. package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
  394. package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
  395. package/esm2015/utils/is-inline.js +0 -10
  396. package/esm2015/utils/match.js +0 -29
  397. package/fesm2015/worktile-theia.js.map +0 -1
@@ -1,124 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Transforms } from 'slate';
3
- import { ColorEditor } from './color.editor';
4
- import { Colors, SpecialBackgroundColor, SpecialTextColor } from '../../constants/color-select';
5
- import { MarkTypes } from '../../constants/node-types';
6
- import { TheColorSelectComponent } from '../../components/color-select/color-select.component';
7
- import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "ngx-tethys/popover";
10
- import * as i2 from "ngx-tethys/nav";
11
- import * as i3 from "ngx-tethys/icon";
12
- import * as i4 from "@angular/common";
13
- import * as i5 from "ngx-tethys/tooltip";
14
- export class TheColorToolbarItemComponent extends TheBaseToolbarItem {
15
- constructor(thyPopover) {
16
- super();
17
- this.thyPopover = thyPopover;
18
- }
19
- get isOpenColorSelect() {
20
- return this.colorSelectRef && this.colorSelectRef.componentInstance;
21
- }
22
- execute(event) {
23
- var _a;
24
- super.execute(event);
25
- if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled) {
26
- return;
27
- }
28
- const type = this.toolbarItem.key;
29
- this.toggleColorSelect(event, type);
30
- }
31
- toggleColorSelect(event, type) {
32
- if (this.isOpenColorSelect) {
33
- this.colorSelectRef.close();
34
- return;
35
- }
36
- this.colorSelectRef = this.thyPopover.open(TheColorSelectComponent, {
37
- initialState: {
38
- colors: Colors,
39
- selectedColor: ColorEditor.getActiveColor(this.editor, type),
40
- option: {
41
- showCustom: true,
42
- perRowColorNumbers: 8,
43
- rowOptions: { 2: '#aaa' },
44
- specialColor: type === MarkTypes.color ? SpecialTextColor : SpecialBackgroundColor
45
- },
46
- selectAction: (color) => {
47
- Transforms.select(this.editor, this.editor.selection);
48
- ColorEditor.setColor(this.editor, color, type);
49
- }
50
- },
51
- origin: event.currentTarget,
52
- backdropClosable: false,
53
- placement: 'bottomLeft',
54
- offset: 10,
55
- minWidth: 0,
56
- hasBackdrop: false,
57
- insideClosable: false,
58
- panelClass: 'color-select-container'
59
- });
60
- return this.colorSelectRef;
61
- }
62
- close() {
63
- if (this.isOpenColorSelect) {
64
- this.colorSelectRef.close();
65
- }
66
- }
67
- }
68
- TheColorToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheColorToolbarItemComponent, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Component });
69
- TheColorToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0, template: `
70
- <a
71
- class="link-width-down"
72
- thyIconNavLink
73
- [ngStyle]="{
74
- width: toolbarItem.key === 'color' ? '42px' : 'auto'
75
- }"
76
- [thyTooltip]="toolbarItem.name"
77
- [thyIconNavLinkActive]="active"
78
- thyTooltipPlacement="top"
79
- (mousedown)="execute($event)"
80
- >
81
- <thy-icon [thyIconName]="toolbarItem.icon" thyIconType="twotone" [thyTwotoneColor]="active"></thy-icon>
82
- <thy-icon
83
- [ngClass]="{
84
- 'link-down-icon': true,
85
- 'font-size-sm': true,
86
- 'text-desc': true
87
- }"
88
- thyIconName="caret-down"
89
- ></thy-icon>
90
- </a>
91
- `, isInline: true, components: [{ type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheColorToolbarItemComponent, decorators: [{
93
- type: Component,
94
- args: [{
95
- selector: 'the-color-toolbar-item',
96
- template: `
97
- <a
98
- class="link-width-down"
99
- thyIconNavLink
100
- [ngStyle]="{
101
- width: toolbarItem.key === 'color' ? '42px' : 'auto'
102
- }"
103
- [thyTooltip]="toolbarItem.name"
104
- [thyIconNavLinkActive]="active"
105
- thyTooltipPlacement="top"
106
- (mousedown)="execute($event)"
107
- >
108
- <thy-icon [thyIconName]="toolbarItem.icon" thyIconType="twotone" [thyTwotoneColor]="active"></thy-icon>
109
- <thy-icon
110
- [ngClass]="{
111
- 'link-down-icon': true,
112
- 'font-size-sm': true,
113
- 'text-desc': true
114
- }"
115
- thyIconName="caret-down"
116
- ></thy-icon>
117
- </a>
118
- `,
119
- host: {
120
- class: 'the-toolbar-item'
121
- }
122
- }]
123
- }], ctorParameters: function () { return [{ type: i1.ThyPopover }]; } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFhLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBK0IvRSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsa0JBQWtCO0lBT2hFLFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBTkQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsQ0FBQztJQU1ELE9BQU8sQ0FBQyxLQUFpQjs7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEtBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQWtELENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxJQUFpRDtRQUNsRixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsWUFBWSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUM1RCxNQUFNLEVBQUU7b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGtCQUFrQixFQUFFLENBQUM7b0JBQ3JCLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7b0JBQ3pCLFlBQVksRUFBRSxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtpQkFDckY7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsS0FBZ0IsRUFBRSxFQUFFO29CQUMvQixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkQsQ0FBQzthQUNKO1lBQ0QsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixjQUFjLEVBQUUsS0FBSztZQUNyQixVQUFVLEVBQUUsd0JBQXdCO1NBQ3ZDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDOzswSEF4RFEsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsbUlBM0IzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXNCVDs0RkFLUSw0QkFBNEI7a0JBN0J4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXNCVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IENvbG9yRWRpdG9yIH0gZnJvbSAnLi9jb2xvci5lZGl0b3InO1xuaW1wb3J0IHsgQ29sb3JzLCBDb2xvclR5cGUsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IsIFNwZWNpYWxUZXh0Q29sb3IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWNvbG9yLXRvb2xiYXItaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwibGluay13aWR0aC1kb3duXCJcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHRvb2xiYXJJdGVtLmtleSA9PT0gJ2NvbG9yJyA/ICc0MnB4JyA6ICdhdXRvJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbdGh5VG9vbHRpcF09XCJ0b29sYmFySXRlbS5uYW1lXCJcbiAgICAgICAgICAgIFt0aHlJY29uTmF2TGlua0FjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwidG9vbGJhckl0ZW0uaWNvblwiIHRoeUljb25UeXBlPVwidHdvdG9uZVwiIFt0aHlUd290b25lQ29sb3JdPVwiYWN0aXZlXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDx0aHktaWNvblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2xpbmstZG93bi1pY29uJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZS1zbSc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICd0ZXh0LWRlc2MnOiB0cnVlXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCJcbiAgICAgICAgICAgID48L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItaXRlbSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlVG9vbGJhckl0ZW0ge1xuICAgIGNvbG9yU2VsZWN0UmVmOiBUaHlQb3BvdmVyUmVmPFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50PjtcblxuICAgIGdldCBpc09wZW5Db2xvclNlbGVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sb3JTZWxlY3RSZWYgJiYgdGhpcy5jb2xvclNlbGVjdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBleGVjdXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0eXBlID0gdGhpcy50b29sYmFySXRlbS5rZXkgYXMgTWFya1R5cGVzLmNvbG9yICYgTWFya1R5cGVzLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgdGhpcy50b2dnbGVDb2xvclNlbGVjdChldmVudCwgdHlwZSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlQ29sb3JTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQsIHR5cGU6IE1hcmtUeXBlcy5jb2xvciB8IE1hcmtUeXBlcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGNvbG9yczogQ29sb3JzLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I6IENvbG9yRWRpdG9yLmdldEFjdGl2ZUNvbG9yKHRoaXMuZWRpdG9yLCB0eXBlKSxcbiAgICAgICAgICAgICAgICBvcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgc2hvd0N1c3RvbTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGVyUm93Q29sb3JOdW1iZXJzOiA4LFxuICAgICAgICAgICAgICAgICAgICByb3dPcHRpb25zOiB7IDI6ICcjYWFhJyB9LFxuICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29sb3I6IHR5cGUgPT09IE1hcmtUeXBlcy5jb2xvciA/IFNwZWNpYWxUZXh0Q29sb3IgOiBTcGVjaWFsQmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZWxlY3RBY3Rpb246IChjb2xvcjogQ29sb3JUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICBDb2xvckVkaXRvci5zZXRDb2xvcih0aGlzLmVkaXRvciwgY29sb3IsIHR5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW46IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2NvbG9yLXNlbGVjdC1jb250YWluZXInXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZjtcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,78 +0,0 @@
1
- import { Editor, Path, Transforms } from 'slate';
2
- import { AngularEditor } from 'slate-angular';
3
- import { DefaultElementOptions, PluginKeys } from '../../interfaces';
4
- import { createPluginFactory } from '../../core';
5
- import { extractFragment } from '../../utils/fragment';
6
- import { mergeElementOptions } from '../../utils/merge-element-options';
7
- import * as TheQueries from '../../queries';
8
- import * as TheTransforms from '../../transforms';
9
- export const withAutoInsertData = (editor) => {
10
- const { insertData } = editor;
11
- let allElementOptions = DefaultElementOptions;
12
- // if (validChildren?.length) {
13
- // const validInfo = mergeElementOptions(validChildren);
14
- // allElementOptions = Object.values(validInfo);
15
- // }
16
- editor.insertData = (data) => {
17
- var _a;
18
- if ((_a = editor.extraElementOptions) === null || _a === void 0 ? void 0 : _a.length) {
19
- const extraInfo = mergeElementOptions(editor.extraElementOptions);
20
- allElementOptions = Object.values(extraInfo);
21
- }
22
- const indivisibleTypes = allElementOptions.filter(item => item.isIndivisible).map(item => item.type);
23
- const fragment = extractFragment(data);
24
- if (fragment) {
25
- if (TheQueries.isAcrossBlocks(editor, fragment) || Editor.isVoid(editor, fragment[0])) {
26
- const { selection } = editor;
27
- const [start] = Editor.edges(editor, selection);
28
- // query whether there is a node to be verified
29
- const tryVerifyNode = allElementOptions.find(item => TheQueries.getAboveByType(editor, item.type, { at: start, mode: 'lowest' }));
30
- if (tryVerifyNode) {
31
- // is exist invalid element type in fragment
32
- const invalidIndex = fragment.findIndex(item => tryVerifyNode.inValidChildrenTypes.includes(item.type));
33
- if (invalidIndex > -1) {
34
- const validFragmentData = fragment.slice(0, invalidIndex);
35
- const invalidFragmentData = fragment.slice(invalidIndex, fragment.length);
36
- Editor.withoutNormalizing(editor, () => {
37
- if (validFragmentData.length > 0) {
38
- validFragmentData.forEach(item => {
39
- Transforms.insertNodes(editor, item);
40
- });
41
- }
42
- // split node
43
- const path = TheTransforms.splitNode(editor, indivisibleTypes);
44
- Transforms.insertNodes(editor, invalidFragmentData, {
45
- at: Path.next(path)
46
- });
47
- });
48
- return;
49
- }
50
- }
51
- Editor.withoutNormalizing(editor, () => {
52
- const isEmptyParagraph = TheQueries.isEmptyParagraph(editor, editor.selection.anchor);
53
- const emptyPath = Path.parent(editor.selection.anchor.path);
54
- Transforms.insertNodes(editor, fragment);
55
- if (isEmptyParagraph) {
56
- Transforms.delete(editor, { at: emptyPath });
57
- const lastPath = emptyPath.pop();
58
- Transforms.select(editor, [...emptyPath, lastPath + fragment.length - 1]);
59
- }
60
- else {
61
- const lastPath = emptyPath.pop();
62
- Transforms.select(editor, [...emptyPath, lastPath + fragment.length]);
63
- }
64
- AngularEditor.focus(editor);
65
- Transforms.collapse(editor, { edge: 'end' });
66
- });
67
- return;
68
- }
69
- }
70
- insertData(data);
71
- };
72
- return editor;
73
- };
74
- export const createAutoInsertDataPlugin = createPluginFactory({
75
- key: PluginKeys.autoInsertData,
76
- withOverrides: withAutoInsertData
77
- });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1pbnNlcnQtZGF0YS4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUNqRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlCLElBQUksaUJBQWlCLEdBQUcscUJBQXFCLENBQUM7SUFDOUMsK0JBQStCO0lBQy9CLDREQUE0RDtJQUM1RCxvREFBb0Q7SUFDcEQsSUFBSTtJQUVKLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7O1FBQ3ZDLElBQUksTUFBQSxNQUFNLENBQUMsbUJBQW1CLDBDQUFFLE1BQU0sRUFBRTtZQUNwQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNsRSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMs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LFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzdDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDakMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM3RTt5QkFBTTt3QkFDSCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2pDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3FCQUN6RTtvQkFDRCxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QixVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPO2FBQ1Y7U0FDSjtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FBQztJQUMxRCxHQUFHLEVBQUUsVUFBVSxDQUFDLGNBQWM7SUFDOUIsYUFBYSxFQUFFLGtCQUFrQjtDQUNwQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBEZWZhdWx0RWxlbWVudE9wdGlvbnMsIFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IGV4dHJhY3RGcmFnbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ZyYWdtZW50JztcbmltcG9ydCB7IG1lcmdlRWxlbWVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9tZXJnZS1lbGVtZW50LW9wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b0luc2VydERhdGEgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnREYXRhIH0gPSBlZGl0b3I7XG4gICAgbGV0IGFsbEVsZW1lbnRPcHRpb25zID0gRGVmYXVsdEVsZW1lbnRPcHRpb25zO1xuICAgIC8vIGlmICh2YWxpZENoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAvLyAgICAgY29uc3QgdmFsaWRJbmZvID0gbWVyZ2VFbGVtZW50T3B0aW9ucyh2YWxpZENoaWxkcmVuKTtcbiAgICAvLyAgICAgYWxsRWxlbWVudE9wdGlvbnMgPSBPYmplY3QudmFsdWVzKHZhbGlkSW5mbyk7XG4gICAgLy8gfVxuXG4gICAgZWRpdG9yLmluc2VydERhdGEgPSAoZGF0YTogRGF0YVRyYW5zZmVyKSA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBleHRyYUluZm8gPSBtZXJnZUVsZW1lbnRPcHRpb25zKGVkaXRvci5leHRyYUVsZW1lbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGFsbEVsZW1lbnRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhleHRyYUluZm8pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGl2aXNpYmxlVHlwZXMgPSBhbGxFbGVtZW50T3B0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzSW5kaXZpc2libGUpLm1hcChpdGVtID0+IGl0ZW0udHlwZSk7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZXh0cmFjdEZyYWdtZW50KGRhdGEpO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGlmIChUaGVRdWVyaWVzLmlzQWNyb3NzQmxvY2tzKGVkaXRvciwgZnJhZ21lbnQpIHx8IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBmcmFnbWVudFswXSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydF0gPSBFZGl0b3IuZWRnZXMoZWRpdG9yLCBzZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIC8vIHF1ZXJ5IHdoZXRoZXIgdGhlcmUgaXMgYSBub2RlIHRvIGJlIHZlcmlmaWVkXG4gICAgICAgICAgICAgICAgY29uc3QgdHJ5VmVyaWZ5Tm9kZSA9IGFsbEVsZW1lbnRPcHRpb25zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgaXRlbS50eXBlLCB7IGF0OiBzdGFydCwgbW9kZTogJ2xvd2VzdCcgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICh0cnlWZXJpZnlOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGV4aXN0IGludmFsaWQgZWxlbWVudCB0eXBlIGluIGZyYWdtZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGludmFsaWRJbmRleCA9IGZyYWdtZW50LmZpbmRJbmRleChpdGVtID0+IHRyeVZlcmlmeU5vZGUuaW5WYWxpZENoaWxkcmVuVHlwZXMuaW5jbHVkZXMoaXRlbS50eXBlKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRGcmFnbWVudERhdGEgPSBmcmFnbWVudC5zbGljZSgwLCBpbnZhbGlkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW52YWxpZEZyYWdtZW50RGF0YSA9IGZyYWdtZW50LnNsaWNlKGludmFsaWRJbmRleCwgZnJhZ21lbnQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkRnJhZ21lbnREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRGcmFnbWVudERhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwbGl0IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlVHJhbnNmb3Jtcy5zcGxpdE5vZGUoZWRpdG9yLCBpbmRpdmlzaWJsZVR5cGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgaW52YWxpZEZyYWdtZW50RGF0YSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogUGF0aC5uZXh0KHBhdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0VtcHR5UGFyYWdyYXBoID0gVGhlUXVlcmllcy5pc0VtcHR5UGFyYWdyYXBoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbXB0eVBhdGggPSBQYXRoLnBhcmVudChlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogZW1wdHlQYXRoIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5mb2N1cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBdXRvSW5zZXJ0RGF0YVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5hdXRvSW5zZXJ0RGF0YSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoQXV0b0luc2VydERhdGFcbn0pO1xuIl19
@@ -1,25 +0,0 @@
1
- import { Element } from 'slate';
2
- import { createPluginFactory, getPluginOptions } from '../../core';
3
- import { PluginKeys } from '../../interfaces';
4
- import * as TheQueries from '../../queries';
5
- export const withGetFragment = (editor) => {
6
- var _a, _b;
7
- const { getFragment } = editor;
8
- const elementKinds = (_b = (_a = getPluginOptions(editor, PluginKeys.getFragment)) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : [];
9
- editor.getFragment = () => {
10
- const { selection } = editor;
11
- const containerBlocks = [...elementKinds, ...TheQueries.getContainerBlocks(editor)];
12
- if (selection && selection.anchor.path[0] === selection.focus.path[0]) {
13
- const fragmentData = getFragment();
14
- const nodes = TheQueries.getSelectionNodesByType(editor, fragmentData, containerBlocks);
15
- return nodes && Element.isElement(nodes) ? nodes.children : fragmentData;
16
- }
17
- return getFragment();
18
- };
19
- return editor;
20
- };
21
- export const createGetFragmentPlugin = createPluginFactory({
22
- key: PluginKeys.getFragment,
23
- withOverrides: withGetFragment
24
- });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZyYWdtZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbW1vbi9nZXQtZnJhZ21lbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQU01QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7O0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLGdCQUFnQixDQUEyQixNQUFNLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUU3RyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRSxNQUFNLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUN4RixPQUFPLEtBQUssSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDNUU7UUFDRCxPQUFPLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUEyQjtJQUNqRixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVc7SUFDM0IsYUFBYSxFQUFFLGVBQWU7Q0FDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RnJhZ21lbnRQbHVnaW5PcHRpb25zIHtcbiAgICB0eXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEdldEZyYWdtZW50ID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgIGNvbnN0IHsgZ2V0RnJhZ21lbnQgfSA9IGVkaXRvcjtcbiAgICBjb25zdCBlbGVtZW50S2luZHMgPSBnZXRQbHVnaW5PcHRpb25zPEdldEZyYWdtZW50UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLmdldEZyYWdtZW50KT8udHlwZXMgPz8gW107XG5cbiAgICBlZGl0b3IuZ2V0RnJhZ21lbnQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFsuLi5lbGVtZW50S2luZHMsIC4uLlRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKGVkaXRvcildO1xuICAgICAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5hbmNob3IucGF0aFswXSA9PT0gc2VsZWN0aW9uLmZvY3VzLnBhdGhbMF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50RGF0YSA9IGdldEZyYWdtZW50KCk7XG4gICAgICAgICAgICBjb25zdCBub2RlcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTm9kZXNCeVR5cGUoZWRpdG9yLCBmcmFnbWVudERhdGEsIGNvbnRhaW5lckJsb2Nrcyk7XG4gICAgICAgICAgICByZXR1cm4gbm9kZXMgJiYgRWxlbWVudC5pc0VsZW1lbnQobm9kZXMpID8gbm9kZXMuY2hpbGRyZW4gOiBmcmFnbWVudERhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldEZyYWdtZW50KCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR2V0RnJhZ21lbnRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEdldEZyYWdtZW50UGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5nZXRGcmFnbWVudCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoR2V0RnJhZ21lbnRcbn0pO1xuIl19
@@ -1,98 +0,0 @@
1
- import { Editor } from 'slate';
2
- import { ElementKinds, FontSizes, MarkTypes, HEADING_TYPES, FontSizeTypes, DISABLED_OPERATE_TYPES } from '../../constants';
3
- import { PluginKeys, ToolbarItemType } from '../../interfaces';
4
- import { createPluginFactory } from '../../core';
5
- import { TheContextService } from '../../services/context.service';
6
- import { TableEditor } from '../table/table.editor';
7
- import * as TheQueries from '../../queries';
8
- import * as TheTransforms from '../../transforms';
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 === null || anchorBlock === void 0 ? void 0 : 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 = createPluginFactory({
83
- key: PluginKeys.fontSize,
84
- toolbarItems: [
85
- {
86
- key: MarkTypes.fontSize,
87
- name: '字号',
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2ZvbnQtc2l6ZS9mb250LXNpemUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzSCxPQUFPLEVBQWEsVUFBVSxFQUFlLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFdBQVcsQ0FBQyxNQUFpQixFQUFFLElBQWU7UUFDMUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQVcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxNQUFNLGlCQUFpQixHQUFHLElBQUksS0FBSyxlQUFlLENBQUM7UUFFbkQsSUFB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UTtZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQy9ELE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ3RFLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUTtJQUN4QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM5QixlQUFlLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDckMsUUFBUSxFQUFFLGFBQWE7U0FDMUI7UUFDRCxHQUFHLFdBQVcsRUFBRTtLQUNuQjtJQUNELE9BQU8sRUFBRTtRQUNMLG9CQUFvQixFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLHNCQUFzQixDQUFDO0tBQzFGO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBGb250U2l6ZXMsIE1hcmtUeXBlcywgSEVBRElOR19UWVBFUywgRm9udFNpemVUeXBlcywgRElTQUJMRURfT1BFUkFURV9UWVBFUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IsIFBsdWdpbktleXMsIFRvb2xiYXJJdGVtLCBUb29sYmFySXRlbVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUvdGFibGUuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuXG5leHBvcnQgY29uc3QgRm9udFNpemVFZGl0b3IgPSB7XG4gICAgc2V0Rm9udFNpemUoZWRpdG9yOiBUaGVFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBjb250ZXh0U2VydmljZS5nZXREZWZhdWx0Rm9udFNpemUoKTtcbiAgICAgICAgY29uc3QgbWFya3MgPSBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplTWFyazogbnVtYmVyID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcbiAgICAgICAgY29uc3QgaXNEZWZhdWx0Rm9udFNpemUgPSBzaXplID09PSBkZWZhdWx0Rm9udFNpemU7XG5cbiAgICAgICAgaWYgKCFmb250U2l6ZU1hcmsgJiYgaXNEZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVuc2V0IGZvbnRTaXplXG4gICAgICAgIGlmIChpc0RlZmF1bHRGb250U2l6ZSkge1xuICAgICAgICAgICAgRm9udFNpemVFZGl0b3IudW5zZXRGb250U2l6ZShlZGl0b3IsIHNpemUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgRm9udFNpemVFZGl0b3Iuc2V0Rm9udFNpemVNYXJrKGVkaXRvciwgc2l6ZSk7XG4gICAgfSxcbiAgICBzZXRGb250U2l6ZU1hcmsoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICAvLyBzZXQgVGFibGUgc2VsZWN0ZWRDZWxscyBmb250U2l6ZVxuICAgICAgICBpZiAoVGFibGVFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIGZhbHNlLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgRWRpdG9yLmFkZE1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSk7XG4gICAgfSxcbiAgICB1bnNldEZvbnRTaXplKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgaXNUYWJsZSA9IFRhYmxlRWRpdG9yLmlzQWN0aXZlKGVkaXRvcik7XG5cbiAgICAgICAgLy8gdW5zZXQgVGFibGUgc2VsZWN0ZWRDZWxscyBmb250U2l6ZVxuICAgICAgICBpZiAoaXNUYWJsZSAmJiBUYWJsZUVkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgdHJ1ZSwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gdW5zZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbTWFya1R5cGVzLmZvbnRTaXplXTogbnVsbFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVkaXRvci5zZWxlY3Rpb25cbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzRm9udFNpemVBY3RpdmUoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yQmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgICAgICBzd2l0Y2ggKGFuY2hvckJsb2NrPy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18xOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18yOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18zOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjA7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ180OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ181OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTY7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ182OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMucGFyYWdyYXBoOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9udFNpemVNYXJrID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihzaXplKSA9PT0gZm9udFNpemVNYXJrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcblxuY29uc3Qgc2l6ZU9wdGlvbnMgPSAoKTogVG9vbGJhckl0ZW1bXSA9PiB7XG4gICAgcmV0dXJuIEZvbnRTaXplVHlwZXMubWFwKGZvbnRTaXplID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogZm9udFNpemUsXG4gICAgICAgICAgICBuYW1lOiBmb250U2l6ZSxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBGb250U2l6ZUVkaXRvci5zZXRGb250U2l6ZShlZGl0b3IsIGZvbnRTaXplKSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEZvbnRTaXplRWRpdG9yLmlzRm9udFNpemVBY3RpdmUoZWRpdG9yLCBmb250U2l6ZSlcbiAgICAgICAgfTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGb250U2l6ZVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5mb250U2l6ZSxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNYXJrVHlwZXMuZm9udFNpemUsXG4gICAgICAgICAgICBuYW1lOiAn5a2X5Y+3JyxcbiAgICAgICAgICAgIHR5cGU6IFRvb2xiYXJJdGVtVHlwZS5kcm9wZG93bixcbiAgICAgICAgICAgIGRyb3Bkb3duSXRlbUtleTogRm9udFNpemVzLmZvbnRTaXplMTQsXG4gICAgICAgICAgICBpbmNsdWRlczogRm9udFNpemVUeXBlc1xuICAgICAgICB9LFxuICAgICAgICAuLi5zaXplT3B0aW9ucygpXG4gICAgXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIGRpc2FibGVkT3BlcmF0ZVR5cGVzOiBbLi4uSEVBRElOR19UWVBFUywgRWxlbWVudEtpbmRzLmltYWdlLCAuLi5ESVNBQkxFRF9PUEVSQVRFX1RZUEVTXVxuICAgIH1cbn0pO1xuIl19