@worktile/theia 3.0.7 → 3.1.0-next.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 (400) 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/editor.component.d.ts +2 -1
  5. package/esm2020/components/color-select/color-select.component.mjs +109 -0
  6. package/{esm2015/components/column-resize/column-resize-notifier.js → esm2020/components/column-resize/column-resize-notifier.mjs} +4 -4
  7. package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +4 -4
  8. package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
  9. package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +4 -4
  10. package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +4 -4
  11. package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +0 -0
  12. package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +4 -4
  13. package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +0 -0
  14. package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
  15. package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
  16. package/esm2020/components/element/element.component.mjs +23 -0
  17. package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
  18. package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +4 -4
  19. package/esm2020/components/table-select/table-select.component.mjs +50 -0
  20. package/esm2020/components/template/template.component.mjs +62 -0
  21. package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +4 -4
  22. package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
  23. package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
  24. package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
  25. package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
  26. package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +0 -0
  27. package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +0 -0
  28. package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +0 -0
  29. package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +0 -0
  30. package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +0 -0
  31. package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +0 -0
  32. package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +0 -0
  33. package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +0 -0
  34. package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +0 -0
  35. package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +0 -0
  36. package/esm2020/core/create-toolbar.mjs +56 -0
  37. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  38. package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
  39. package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +0 -0
  40. package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +0 -0
  41. package/esm2020/core/utils/get-plugin-options.mjs +3 -0
  42. package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +0 -0
  43. package/esm2020/core/utils/get-plugins.mjs +4 -0
  44. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  45. package/esm2020/core/utils/merge-array.mjs +18 -0
  46. package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +0 -0
  47. package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +0 -0
  48. package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +0 -0
  49. package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +0 -0
  50. package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +0 -0
  51. package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +0 -0
  52. package/esm2020/editor.component.mjs +431 -0
  53. package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +5 -6
  54. package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +0 -0
  55. package/esm2020/interfaces/editor.mjs +25 -0
  56. package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +0 -0
  57. package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +0 -0
  58. package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
  59. package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +0 -0
  60. package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +0 -0
  61. package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +0 -0
  62. package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +0 -0
  63. package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +0 -0
  64. package/{esm2015/interfaces/reset-block-type-plugin-options.js → esm2020/interfaces/reset-block-type-plugin-options.mjs} +0 -0
  65. package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +0 -0
  66. package/{esm2015/interfaces/upload.js → esm2020/interfaces/upload.mjs} +1 -1
  67. package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +0 -0
  68. package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +0 -0
  69. package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +0 -0
  70. package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +0 -0
  71. package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +0 -0
  72. package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +4 -4
  73. package/{esm2015/pipes.js → esm2020/pipes.mjs} +7 -7
  74. package/esm2020/plugins/align/align.editor.mjs +47 -0
  75. package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +0 -0
  76. package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
  77. package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +0 -0
  78. package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +0 -0
  79. package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +4 -4
  80. package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
  81. package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +0 -0
  82. package/esm2020/plugins/code/code.component.mjs +241 -0
  83. package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +0 -0
  84. package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +0 -0
  85. package/esm2020/plugins/color/color.editor.mjs +44 -0
  86. package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +0 -0
  87. package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
  88. package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
  89. package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +2 -2
  90. package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
  91. package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +0 -0
  92. package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +0 -0
  93. package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +0 -0
  94. package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +0 -0
  95. package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +0 -0
  96. package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +0 -0
  97. package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +0 -0
  98. package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +0 -0
  99. package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
  100. package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +0 -0
  101. package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +0 -0
  102. package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +4 -4
  103. package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +0 -0
  104. package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +0 -0
  105. package/esm2020/plugins/image/image.component.mjs +365 -0
  106. package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +3 -5
  107. package/esm2020/plugins/image/image.plugin.mjs +57 -0
  108. package/esm2020/plugins/indent/indent.editor.mjs +71 -0
  109. package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
  110. package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +0 -0
  111. package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +0 -0
  112. package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +4 -4
  113. package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +2 -3
  114. package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +0 -0
  115. package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
  116. package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
  117. package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +7 -7
  118. package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +0 -0
  119. package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +0 -0
  120. package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +0 -0
  121. package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
  122. package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
  123. package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
  124. package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +0 -0
  125. package/esm2020/plugins/list/list.plugin.mjs +286 -0
  126. package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +0 -0
  127. package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
  128. package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +0 -0
  129. package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +0 -0
  130. package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +0 -0
  131. package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +0 -0
  132. package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +0 -0
  133. package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +0 -0
  134. package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +0 -0
  135. package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +0 -0
  136. package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +0 -0
  137. package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +0 -0
  138. package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +0 -0
  139. 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
  140. 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
  141. package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +0 -0
  142. package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +0 -0
  143. package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +0 -0
  144. package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +0 -0
  145. 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
  146. 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
  147. package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +0 -0
  148. package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +0 -0
  149. package/{esm2015/plugins/list/types.js → esm2020/plugins/list/types.mjs} +0 -0
  150. package/esm2020/plugins/mark/mark.editor.mjs +28 -0
  151. package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
  152. package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
  153. package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
  154. package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +0 -0
  155. package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
  156. package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +0 -0
  157. package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +0 -0
  158. package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
  159. package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
  160. package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +0 -0
  161. package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
  162. package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
  163. package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +0 -0
  164. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
  165. package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +4 -4
  166. package/esm2020/plugins/table/components/table.component.mjs +461 -0
  167. package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
  168. package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +8 -5
  169. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
  170. package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +0 -0
  171. package/esm2020/plugins/table/table.plugin.mjs +427 -0
  172. package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +4 -4
  173. package/esm2020/plugins/table/table.store.mjs +484 -0
  174. package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +0 -0
  175. package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
  176. package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
  177. package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +0 -0
  178. package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +0 -0
  179. package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +0 -0
  180. package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
  181. package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +0 -0
  182. package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +0 -0
  183. package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +0 -0
  184. package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +0 -0
  185. package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +0 -0
  186. package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +0 -0
  187. package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +0 -0
  188. package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +0 -0
  189. package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +0 -0
  190. package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +0 -0
  191. package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +5 -2
  192. package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +0 -0
  193. package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +0 -0
  194. package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +0 -0
  195. package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +0 -0
  196. package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +0 -0
  197. package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +0 -0
  198. package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +0 -0
  199. package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +0 -0
  200. package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +0 -0
  201. package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +0 -0
  202. package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +0 -0
  203. package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
  204. package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +0 -0
  205. package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +0 -0
  206. package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
  207. package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +0 -0
  208. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  209. package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +0 -0
  210. package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +0 -0
  211. package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +0 -0
  212. package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +0 -0
  213. package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +0 -0
  214. package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +0 -0
  215. package/esm2020/queries/get-above-by-type.mjs +14 -0
  216. package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +0 -0
  217. package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +0 -0
  218. package/esm2020/queries/get-block-above.mjs +10 -0
  219. package/esm2020/queries/get-block-card-above.mjs +10 -0
  220. package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +0 -0
  221. package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +0 -0
  222. package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +0 -0
  223. package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +0 -0
  224. package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +0 -0
  225. package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +0 -0
  226. package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +0 -0
  227. package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +0 -0
  228. package/esm2020/queries/get-nodes-by-type.mjs +15 -0
  229. package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +0 -0
  230. package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +0 -0
  231. package/esm2020/queries/get-plain-text.mjs +16 -0
  232. package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +0 -0
  233. package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +0 -0
  234. package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +0 -0
  235. package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +0 -0
  236. package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +0 -0
  237. package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +0 -0
  238. package/esm2020/queries/get-selection-marks.mjs +18 -0
  239. package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +0 -0
  240. package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +0 -0
  241. package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
  242. package/esm2020/queries/index.mjs +59 -0
  243. package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +0 -0
  244. package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +0 -0
  245. package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +0 -0
  246. package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +0 -0
  247. package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +0 -0
  248. package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +0 -0
  249. package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +0 -0
  250. package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +0 -0
  251. package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +0 -0
  252. package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +0 -0
  253. package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +0 -0
  254. package/esm2020/queries/is-empty-content.mjs +15 -0
  255. package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +0 -0
  256. package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +0 -0
  257. package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +0 -0
  258. package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +0 -0
  259. package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +0 -0
  260. package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +0 -0
  261. package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +0 -0
  262. package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +0 -0
  263. package/esm2020/queries/is-range-across-blocks.mjs +22 -0
  264. package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +0 -0
  265. package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +0 -0
  266. package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +0 -0
  267. package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +4 -4
  268. package/esm2020/services/context.service.mjs +59 -0
  269. package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +4 -4
  270. package/esm2020/services/toolbar.service.mjs +48 -0
  271. package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +0 -0
  272. package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +0 -0
  273. package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +0 -0
  274. package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +0 -0
  275. package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +0 -0
  276. package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +0 -0
  277. package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +0 -0
  278. package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +0 -0
  279. package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +0 -0
  280. package/esm2020/transforms/insert-elements.mjs +34 -0
  281. package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +0 -0
  282. package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
  283. package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +0 -0
  284. package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +0 -0
  285. package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +0 -0
  286. package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +0 -0
  287. package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +0 -0
  288. package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +0 -0
  289. package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +0 -0
  290. package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +0 -0
  291. package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
  292. package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +0 -0
  293. package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +0 -0
  294. package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +0 -0
  295. package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +0 -0
  296. package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +0 -0
  297. package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +0 -0
  298. package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
  299. package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +0 -0
  300. package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +0 -0
  301. package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +0 -0
  302. package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +0 -0
  303. package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +0 -0
  304. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  305. package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +0 -0
  306. package/esm2020/utils/is-inline.mjs +9 -0
  307. package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +0 -0
  308. package/esm2020/utils/match.mjs +32 -0
  309. package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +0 -0
  310. package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
  311. package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +0 -0
  312. package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +289 -332
  313. package/fesm2015/worktile-theia.mjs.map +1 -0
  314. package/fesm2020/worktile-theia.mjs +13739 -0
  315. package/fesm2020/worktile-theia.mjs.map +1 -0
  316. package/interfaces/editor.d.ts +3 -3
  317. package/interfaces/upload.d.ts +1 -1
  318. package/package.json +19 -6
  319. package/plugins/image/image.component.d.ts +4 -1
  320. package/queries/index.d.ts +2 -1
  321. package/queries/is-empty-content.d.ts +2 -0
  322. package/services/context.service.d.ts +8 -4
  323. package/bundles/worktile-theia.umd.js +0 -14888
  324. package/bundles/worktile-theia.umd.js.map +0 -1
  325. package/esm2015/components/color-select/color-select.component.js +0 -113
  326. package/esm2015/components/column-resize/column-resize.module.js +0 -34
  327. package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
  328. package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
  329. package/esm2015/components/element/element.component.js +0 -24
  330. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
  331. package/esm2015/components/table-select/table-select.component.js +0 -53
  332. package/esm2015/components/template/template.component.js +0 -66
  333. package/esm2015/components/toolbar/toolbar.component.js +0 -250
  334. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
  335. package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
  336. package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
  337. package/esm2015/core/create-toolbar.js +0 -57
  338. package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
  339. package/esm2015/core/utils/get-plugin-options.js +0 -3
  340. package/esm2015/core/utils/get-plugins.js +0 -5
  341. package/esm2015/core/utils/merge-array.js +0 -18
  342. package/esm2015/editor.component.js +0 -427
  343. package/esm2015/interfaces/editor.js +0 -23
  344. package/esm2015/plugins/align/align.editor.js +0 -48
  345. package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
  346. package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
  347. package/esm2015/plugins/code/code.component.js +0 -245
  348. package/esm2015/plugins/color/color.editor.js +0 -45
  349. package/esm2015/plugins/color/toolbar-item.component.js +0 -124
  350. package/esm2015/plugins/common/auto-insert-data..js +0 -78
  351. package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
  352. package/esm2015/plugins/font-size/font-size.editor.js +0 -98
  353. package/esm2015/plugins/image/image.component.js +0 -366
  354. package/esm2015/plugins/image/image.plugin.js +0 -58
  355. package/esm2015/plugins/indent/indent.editor.js +0 -73
  356. package/esm2015/plugins/indent/indent.plugin.js +0 -60
  357. package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
  358. package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
  359. package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
  360. package/esm2015/plugins/list/components/list-item.component.js +0 -95
  361. package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
  362. package/esm2015/plugins/list/list.plugin.js +0 -281
  363. package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
  364. package/esm2015/plugins/mark/mark.editor.js +0 -29
  365. package/esm2015/plugins/mark/mark.plugin.js +0 -102
  366. package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
  367. package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
  368. package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
  369. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
  370. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
  371. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
  372. package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
  373. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
  374. package/esm2015/plugins/table/components/table.component.js +0 -470
  375. package/esm2015/plugins/table/components/td/td.component.js +0 -698
  376. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
  377. package/esm2015/plugins/table/table.plugin.js +0 -424
  378. package/esm2015/plugins/table/table.store.js +0 -480
  379. package/esm2015/plugins/table/toolbar-item.component.js +0 -86
  380. package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
  381. package/esm2015/plugins/table/transforms/insert-table.js +0 -15
  382. package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
  383. package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
  384. package/esm2015/queries/get-above-by-type.js +0 -11
  385. package/esm2015/queries/get-block-above.js +0 -7
  386. package/esm2015/queries/get-block-card-above.js +0 -7
  387. package/esm2015/queries/get-nodes-by-type.js +0 -12
  388. package/esm2015/queries/get-plain-text.js +0 -16
  389. package/esm2015/queries/get-selection-marks.js +0 -19
  390. package/esm2015/queries/get-toolbar-disabled.js +0 -14
  391. package/esm2015/queries/index.js +0 -58
  392. package/esm2015/queries/is-range-across-blocks.js +0 -18
  393. package/esm2015/services/context.service.js +0 -59
  394. package/esm2015/services/toolbar.service.js +0 -48
  395. package/esm2015/transforms/insert-elements.js +0 -35
  396. package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
  397. package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
  398. package/esm2015/utils/is-inline.js +0 -10
  399. package/esm2015/utils/match.js +0 -29
  400. package/fesm2015/worktile-theia.js.map +0 -1
@@ -1,29 +0,0 @@
1
- import { Transforms, Element, Text, Editor } from 'slate';
2
- import { PluginKeys } from '../../interfaces';
3
- import { createPluginFactory, getPluginOptions } from '../../core';
4
- import { createEmptyParagraph } from '../../utils/create-empty-paragraph';
5
- import * as TheQueries from '../../queries';
6
- export const withInsertParagraphNodes = (editor) => {
7
- var _a, _b;
8
- const { normalizeNode } = editor;
9
- const types = (_b = (_a = getPluginOptions(editor, PluginKeys.insertParagraphNodes)) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : [];
10
- editor.normalizeNode = ([currentNode, currentPath]) => {
11
- if (Text.isText(currentNode) && currentPath.length) {
12
- const [node] = Editor.parent(editor, currentPath);
13
- const containerBlocks = [...types, ...TheQueries.getContainerBlocks(editor)];
14
- if (Element.isElement(node) && containerBlocks.includes(node.type)) {
15
- const paragraph = createEmptyParagraph();
16
- paragraph.children[0].text = currentNode.text;
17
- Transforms.insertNodes(editor, paragraph, { at: currentPath });
18
- return;
19
- }
20
- }
21
- return normalizeNode([currentNode, currentPath]);
22
- };
23
- return editor;
24
- };
25
- export const createInsertParagraphNodesPlugin = createPluginFactory({
26
- key: PluginKeys.insertParagraphNodes,
27
- withOverrides: withInsertParagraphNodes
28
- });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL25vcm1hbGl6ZXJzL2luc2VydC1wYXJhZ3JhcGgtbm9kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBTTVDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQXFDLE1BQVMsRUFBSyxFQUFFOztJQUN6RixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLE1BQUEsTUFBQSxnQkFBZ0IsQ0FBOEIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUVsSCxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEUsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztnQkFDeEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQVUsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDeEQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQy9ELE9BQU87YUFDVjtTQUNKO1FBQ0QsT0FBTyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxtQkFBbUIsQ0FBOEI7SUFDN0YsR0FBRyxFQUFFLFVBQVUsQ0FBQyxvQkFBb0I7SUFDcEMsYUFBYSxFQUFFLHdCQUF3QjtDQUMxQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBFbGVtZW50LCBUZXh0LCBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlQYXJhZ3JhcGggfSBmcm9tICcuLi8uLi91dGlscy9jcmVhdGUtZW1wdHktcGFyYWdyYXBoJztcbmltcG9ydCB7IFRyYW5zZm9ybUVkaXRvciB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2Zvcm1zLnBsdWdpbic7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydFBhcmFncmFwaE5vZGVzT3B0aW9ucyB7XG4gICAgdHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzID0gPFQgZXh0ZW5kcyBFZGl0b3IgJiBUcmFuc2Zvcm1FZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgbm9ybWFsaXplTm9kZSB9ID0gZWRpdG9yO1xuICAgIGNvbnN0IHR5cGVzID0gZ2V0UGx1Z2luT3B0aW9uczxJbnNlcnRQYXJhZ3JhcGhOb2Rlc09wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5pbnNlcnRQYXJhZ3JhcGhOb2Rlcyk/LnR5cGVzID8/IFtdO1xuXG4gICAgZWRpdG9yLm5vcm1hbGl6ZU5vZGUgPSAoW2N1cnJlbnROb2RlLCBjdXJyZW50UGF0aF0pID0+IHtcbiAgICAgICAgaWYgKFRleHQuaXNUZXh0KGN1cnJlbnROb2RlKSAmJiBjdXJyZW50UGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IFtub2RlXSA9IEVkaXRvci5wYXJlbnQoZWRpdG9yLCBjdXJyZW50UGF0aCk7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJCbG9ja3MgPSBbLi4udHlwZXMsIC4uLlRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKGVkaXRvcildO1xuICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIGNvbnRhaW5lckJsb2Nrcy5pbmNsdWRlcyhub2RlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYWdyYXBoID0gY3JlYXRlRW1wdHlQYXJhZ3JhcGgoKTtcbiAgICAgICAgICAgICAgICAocGFyYWdyYXBoLmNoaWxkcmVuWzBdIGFzIFRleHQpLnRleHQgPSBjdXJyZW50Tm9kZS50ZXh0O1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBwYXJhZ3JhcGgsIHsgYXQ6IGN1cnJlbnRQYXRoIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9ybWFsaXplTm9kZShbY3VycmVudE5vZGUsIGN1cnJlbnRQYXRoXSk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSW5zZXJ0UGFyYWdyYXBoTm9kZXNQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEluc2VydFBhcmFncmFwaE5vZGVzT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5pbnNlcnRQYXJhZ3JhcGhOb2RlcyxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXNcbn0pO1xuIl19
@@ -1,34 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { Path, Element } from 'slate';
3
- import { PluginKeys } from '../../interfaces';
4
- import { ElementKinds } from '../../constants';
5
- import { createPluginFactory, getPluginOptions } from '../../core';
6
- import * as TheQueries from '../../queries';
7
- export const withTrailingNode = (editor) => {
8
- const { normalizeNode } = editor;
9
- const options = getPluginOptions(editor, PluginKeys.trailingNode);
10
- const { type, level } = options, query = __rest(options, ["type", "level"]);
11
- editor.normalizeNode = ([currentNode, currentPath]) => {
12
- if (!currentPath.length) {
13
- const entry = TheQueries.getLastNode(editor, level);
14
- const [lastNode, lastPath] = entry;
15
- if (Element.isElement(lastNode) && lastNode.type !== type && TheQueries.isNodeType(entry, query)) {
16
- editor.insertNodes({
17
- type,
18
- children: [{ text: '' }]
19
- }, { at: Path.next(lastPath) });
20
- }
21
- }
22
- return normalizeNode([currentNode, currentPath]);
23
- };
24
- return editor;
25
- };
26
- export const createTrailingNodePlugin = createPluginFactory({
27
- key: PluginKeys.trailingNode,
28
- withOverrides: withTrailingNode,
29
- options: {
30
- type: ElementKinds.paragraph,
31
- level: 0
32
- }
33
- });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaWxpbmctbm9kZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9ub3JtYWxpemVycy90cmFpbGluZy1ub2RlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFVLElBQUksRUFBRSxPQUFPLEVBQVEsTUFBTSxPQUFPLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBTzVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQXFDLE1BQVMsRUFBRSxFQUFFO0lBQzlFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakMsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQW1CLE1BQU0sRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEYsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEtBQWUsT0FBTyxFQUFqQixLQUFLLFVBQUssT0FBTyxFQUFuQyxpQkFBeUIsQ0FBVSxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBRW5DLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDOUYsTUFBTSxDQUFDLFdBQVcsQ0FDZDtvQkFDSSxJQUFJO29CQUNKLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUNuQixFQUNULEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDOUIsQ0FBQzthQUNMO1NBQ0o7UUFFRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLG1CQUFtQixDQUFDO0lBQ3hELEdBQUcsRUFBRSxVQUFVLENBQUMsWUFBWTtJQUM1QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLE9BQU8sRUFBRTtRQUNMLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixLQUFLLEVBQUUsQ0FBQztLQUNYO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBQYXRoLCBFbGVtZW50LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtRWRpdG9yIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zZm9ybXMucGx1Z2luJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhUcmFpbGluZ05vZGUgZXh0ZW5kcyBRdWVyeU9wdGlvbnMge1xuICAgIHR5cGU/OiBDdXN0b21FbGVtZW50S2luZHM7XG4gICAgbGV2ZWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoVHJhaWxpbmdOb2RlID0gPFQgZXh0ZW5kcyBFZGl0b3IgJiBUcmFuc2Zvcm1FZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgIGNvbnN0IHsgbm9ybWFsaXplTm9kZSB9ID0gZWRpdG9yO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGdldFBsdWdpbk9wdGlvbnM8V2l0aFRyYWlsaW5nTm9kZT4oZWRpdG9yLCBQbHVnaW5LZXlzLnRyYWlsaW5nTm9kZSk7XG4gICAgY29uc3QgeyB0eXBlLCBsZXZlbCwgLi4ucXVlcnkgfSA9IG9wdGlvbnM7XG5cbiAgICBlZGl0b3Iubm9ybWFsaXplTm9kZSA9IChbY3VycmVudE5vZGUsIGN1cnJlbnRQYXRoXSkgPT4ge1xuICAgICAgICBpZiAoIWN1cnJlbnRQYXRoLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBUaGVRdWVyaWVzLmdldExhc3ROb2RlKGVkaXRvciwgbGV2ZWwpO1xuICAgICAgICAgICAgY29uc3QgW2xhc3ROb2RlLCBsYXN0UGF0aF0gPSBlbnRyeTtcblxuICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KGxhc3ROb2RlKSAmJiBsYXN0Tm9kZS50eXBlICE9PSB0eXBlICYmIFRoZVF1ZXJpZXMuaXNOb2RlVHlwZShlbnRyeSwgcXVlcnkpKSB7XG4gICAgICAgICAgICAgICAgZWRpdG9yLmluc2VydE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dXG4gICAgICAgICAgICAgICAgICAgIH0gYXMgTm9kZSxcbiAgICAgICAgICAgICAgICAgICAgeyBhdDogUGF0aC5uZXh0KGxhc3RQYXRoKSB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub3JtYWxpemVOb2RlKFtjdXJyZW50Tm9kZSwgY3VycmVudFBhdGhdKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUcmFpbGluZ05vZGVQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMudHJhaWxpbmdOb2RlLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhUcmFpbGluZ05vZGUsXG4gICAgb3B0aW9uczoge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLFxuICAgICAgICBsZXZlbDogMFxuICAgIH1cbn0pO1xuIl19
@@ -1,102 +0,0 @@
1
- import { Component, ElementRef, Input, HostListener, ViewChild } from '@angular/core';
2
- import { Node } from 'slate';
3
- import { AngularEditor } from 'slate-angular';
4
- import { MarkTypes } from '../../../constants/node-types';
5
- import { isCleanEmptyParagraph } from '../../../utils/is-clean-empty-paragraph';
6
- import { QuickInsertEditor } from '../quick-insert.editor';
7
- import * as TheQueries from '../../../queries';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "ngx-tethys/icon";
10
- export class TheQuickInsertComponent {
11
- constructor(renderer, elementRef, cdr) {
12
- this.renderer = renderer;
13
- this.elementRef = elementRef;
14
- this.cdr = cdr;
15
- this.isVisible = false;
16
- this.isHide = true;
17
- this.defaultIconName = 'plus-circle-thin';
18
- this.iconNameFill = 'plus-circle-thin-fill';
19
- this.displayIconName = this.defaultIconName;
20
- }
21
- handleMousedownNativeElement(event) {
22
- event.preventDefault();
23
- event.stopPropagation();
24
- }
25
- checkStatus() {
26
- var _a;
27
- const { editor } = this;
28
- if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute() && !this.isRichMediaScope()) {
29
- const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
30
- const rootNode = AngularEditor.toDOMNode(editor, block);
31
- this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
32
- return;
33
- }
34
- this.isHide = true;
35
- }
36
- isRichMediaScope() {
37
- var _a;
38
- const { editor } = this;
39
- if (editor === null || editor === void 0 ? void 0 : editor.selection) {
40
- const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
41
- const rootElement = AngularEditor.toDOMNode(editor, block);
42
- const leafElement = rootElement.querySelector('[data-slate-leaf="true"]');
43
- const rootElementRect = rootElement.getBoundingClientRect();
44
- const leafElementRect = leafElement.getBoundingClientRect();
45
- return (leafElementRect === null || leafElementRect === void 0 ? void 0 : leafElementRect.x) !== (rootElementRect === null || rootElementRect === void 0 ? void 0 : rootElementRect.x);
46
- }
47
- return false;
48
- }
49
- hasExcludeAttribute() {
50
- const marks = TheQueries.getSelectionMarks(this.editor);
51
- const fontSizeMark = marks[MarkTypes.fontSize];
52
- return fontSizeMark;
53
- }
54
- updatePosition(left, top) {
55
- this.isHide = false;
56
- this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
57
- this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
58
- }
59
- mouseEnter(event) {
60
- this.displayIconName = this.iconNameFill;
61
- this.cdr.markForCheck();
62
- }
63
- mouseLeave(event) {
64
- this.displayIconName = this.defaultIconName;
65
- this.cdr.markForCheck();
66
- }
67
- handleClick(event) {
68
- event.stopPropagation();
69
- event.preventDefault();
70
- if (QuickInsertEditor.isOpenedToolbar(this.editor)) {
71
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
72
- return;
73
- }
74
- QuickInsertEditor.openQuickInsertToolbar(this.editor, this.quickToolbarItems, this.iconElement.nativeElement);
75
- }
76
- }
77
- TheQuickInsertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickInsertComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
78
- TheQuickInsertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickInsertComponent, selector: "[theQuickInsert]", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-quick-insert" }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", components: [{ type: i1.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickInsertComponent, decorators: [{
80
- type: Component,
81
- args: [{
82
- selector: '[theQuickInsert]',
83
- templateUrl: './quick-insert.component.html',
84
- host: {
85
- class: 'the-quick-insert',
86
- '[class.hide]': 'isHide'
87
- }
88
- }]
89
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
90
- type: Input
91
- }], quickToolbarItems: [{
92
- type: Input
93
- }], isVisible: [{
94
- type: Input
95
- }], iconElement: [{
96
- type: ViewChild,
97
- args: ['iconElement', { read: ElementRef, static: false }]
98
- }], handleMousedownNativeElement: [{
99
- type: HostListener,
100
- args: ['mousedown', ['$event']]
101
- }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBZ0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBVy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0IsRUFBVSxHQUFzQjtRQUFuRixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBaEI5RixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxvQkFBZSxHQUFHLGtCQUFrQixDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsdUJBQXVCLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLENBQUMsZUFB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aW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjIsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IGlzQ2xlYW5FbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBRdWlja0luc2VydEVkaXRvciB9IGZyb20gJy4uL3F1aWNrLWluc2VydC5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy90b29sYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbdGhlUXVpY2tJbnNlcnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVpY2staW5zZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXF1aWNrLWluc2VydCcsXG4gICAgICAgICdbY2xhc3MuaGlkZV0nOiAnaXNIaWRlJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogRWRpdG9yO1xuICAgIEBJbnB1dCgpIHF1aWNrVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdO1xuICAgIEBJbnB1dCgpIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXNIaWRlID0gdHJ1ZTtcbiAgICBkZWZhdWx0SWNvbk5hbWUgPSAncGx1cy1jaXJjbGUtdGhpbic7XG4gICAgaWNvbk5hbWVGaWxsID0gJ3BsdXMtY2lyY2xlLXRoaW4tZmlsbCc7XG4gICAgZGlzcGxheUljb25OYW1lID0gdGhpcy5kZWZhdWx0SWNvbk5hbWU7XG5cbiAgICBAVmlld0NoaWxkKCdpY29uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICAgIGljb25FbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZU1vdXNlZG93bk5hdGl2ZUVsZW1lbnQoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBjaGVja1N0YXR1cygpIHtcbiAgICAgICAgY29uc3QgeyBlZGl0b3IgfSA9IHRoaXM7XG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSAmJiBpc0NsZWFuRW1wdHlQYXJhZ3JhcGgoZWRpdG9yKSAmJiAhdGhpcy5oYXNFeGNsdWRlQXR0cmlidXRlKCkgJiYgIXRoaXMuaXNSaWNoTWVkaWFTY29wZSgpKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290Tm9kZTogSFRNTEVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocm9vdE5vZGUub2Zmc2V0TGVmdCwgcm9vdE5vZGUub2Zmc2V0VG9wKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JpY2hNZWRpYVNjb3BlKCkge1xuICAgICAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICAgICAgaWYgKGVkaXRvcj8uc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBibG9jayA9IE5vZGUuYW5jZXN0b3IoZWRpdG9yLCBbZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvci5wYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCByb290RWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgYmxvY2spO1xuICAgICAgICAgICAgY29uc3QgbGVhZkVsZW1lbnQgPSByb290RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zbGF0ZS1sZWFmPVwidHJ1ZVwiXScpO1xuICAgICAgICAgICAgY29uc3Qgcm9vdEVsZW1lbnRSZWN0ID0gcm9vdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBsZWFmRWxlbWVudFJlY3QgPSBsZWFmRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIHJldHVybiBsZWFmRWxlbWVudFJlY3Q/LnggIT09IHJvb3RFbGVtZW50UmVjdD8ueDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNFeGNsdWRlQXR0cmlidXRlKCkge1xuICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3ModGhpcy5lZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZU1hcms6IG51bWJlciA9IG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV07XG5cbiAgICAgICAgcmV0dXJuIGZvbnRTaXplTWFyaztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKGxlZnQ6IG51bWJlciwgdG9wPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXNIaWRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gICAgfVxuXG4gICAgbW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlJY29uTmFtZSA9IHRoaXMuaWNvbk5hbWVGaWxsO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBtb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUljb25OYW1lID0gdGhpcy5kZWZhdWx0SWNvbk5hbWU7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoUXVpY2tJbnNlcnRFZGl0b3IuaXNPcGVuZWRUb29sYmFyKHRoaXMuZWRpdG9yKSkge1xuICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja0luc2VydFRvb2xiYXIodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLm9wZW5RdWlja0luc2VydFRvb2xiYXIodGhpcy5lZGl0b3IsIHRoaXMucXVpY2tUb29sYmFySXRlbXMsIHRoaXMuaWNvbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uXG4gICAgI2ljb25FbGVtZW50XG4gICAgW3RoeUljb25OYW1lXT1cImRpc3BsYXlJY29uTmFtZVwiXG4gICAgY2xhc3M9XCJxdWljay1pbnNlcnQtaWNvbiB0ZXh0LWRlc2MgZm9udC1zaXplLXhsZ1wiXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4+PC90aHktaWNvbj5cbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
3
- import { Editor, Node } from 'slate';
4
- import { AngularEditor } from 'slate-angular';
5
- import { getPluginOptions } from '../../../../core';
6
- import { PluginKeys } from '../../../../interfaces';
7
- import { ToolbarActionTypes, ToolbarItemMode } from '../../../../constants';
8
- import { QuickInsertEditor } from '../../quick-insert.editor';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "ngx-tethys/list";
11
- import * as i2 from "ngx-tethys/shared";
12
- import * as i3 from "../../../../components/toolbar-item/toolbar-item.component";
13
- import * as i4 from "../../../../components/nav-split-line/nav-split-line.component";
14
- import * as i5 from "@angular/common";
15
- export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
16
- constructor(elementRef, cdr) {
17
- super();
18
- this.elementRef = elementRef;
19
- this.cdr = cdr;
20
- this.ToolbarItemMode = ToolbarItemMode;
21
- this.ToolbarActionTypes = ToolbarActionTypes;
22
- }
23
- handleMouseDown(event) {
24
- if (!this.elementRef.nativeElement.contains(event.target)) {
25
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
26
- }
27
- else {
28
- event.preventDefault();
29
- }
30
- }
31
- handleEnter() {
32
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
33
- }
34
- handleEsc() {
35
- QuickInsertEditor.closeQuickInsertToolbar(this.editor);
36
- }
37
- ngOnInit() {
38
- this.editorElement = AngularEditor.toDOMNode(this.editor, this.editor);
39
- }
40
- stopPropagation(event) {
41
- event.preventDefault();
42
- }
43
- selectionChange(event) {
44
- this.removeHotKey();
45
- const toolbarItem = this.quickToolbarItems.find(item => item.key === event.value);
46
- if (toolbarItem === null || toolbarItem === void 0 ? void 0 : toolbarItem.execute) {
47
- toolbarItem.execute(this.editor);
48
- }
49
- }
50
- removeHotKey() {
51
- var _a;
52
- const hotkey = (_a = getPluginOptions(this.editor, PluginKeys.quickInsert)) === null || _a === void 0 ? void 0 : _a.hotkey;
53
- const node = Node.get(this.editor, this.editor.selection.anchor.path);
54
- if (node && hotkey === node.text) {
55
- Editor.deleteBackward(this.editor);
56
- }
57
- }
58
- ngOnDestroy() {
59
- super.ngOnDestroy();
60
- }
61
- }
62
- TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
- TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [toolbarItem]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i1.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i2.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i3.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["itemMode"] }, { type: i4.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
65
- type: Component,
66
- args: [{
67
- selector: 'the-quick-toolbar',
68
- templateUrl: 'quick-toolbar.component.html'
69
- }]
70
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { editor: [{
71
- type: Input
72
- }], quickToolbarItems: [{
73
- type: Input
74
- }], handleMouseDown: [{
75
- type: HostListener,
76
- args: ['document: mousedown', ['$event']]
77
- }], handleEnter: [{
78
- type: HostListener,
79
- args: ['document: keydown.enter']
80
- }], handleEsc: [{
81
- type: HostListener,
82
- args: ['document: keydown.escape']
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvcXVpY2staW5zZXJ0L2NvbXBvbmVudHMvcXVpY2stdG9vbGJhci9xdWljay10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQVEsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQU85RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBMkJyRSxZQUFtQixVQUFzQixFQUFTLEdBQXNCO1FBQ3BFLEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdEJ4RSxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQXVCeEMsQ0FBQztJQXBCRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQ3RFLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUdELFdBQVc7UUFDUCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELFNBQVM7UUFDTCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRixJQUFJLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxPQUFPLEVBQUU7WUFDdEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsWUFBWTs7UUFDUixNQUFNLE1BQU0sR0FBRyxNQUFBLGdCQUFnQixDQUEyQixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsMENBQUUsTUFBTSxDQUFDO1FBQ3ZHLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFTLENBQUM7UUFDOUUsSUFBSSxJQUFJLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDOUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOztzSEF6RFEsd0JBQXdCOzBHQUF4Qix3QkFBd0Isd1RDZHJDLDZ4QkFrQkE7NEZESmEsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSw4QkFBOEI7aUJBQzlDO2lJQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVUvQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMseUJBQXlCO2dCQU12QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1peGluVW5zdWJzY3JpYmUsIE1peGluQmFzZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IsIFRleHQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzLCBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVG9vbGJhckFjdGlvblR5cGVzLCBUb29sYmFySXRlbU1vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUXVpY2tJbnNlcnRFZGl0b3IgfSBmcm9tICcuLi8uLi9xdWljay1pbnNlcnQuZWRpdG9yJztcbmltcG9ydCB0eXBlIHsgUXVpY2tJbnNlcnRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vcXVpY2staW5zZXJ0LnBsdWdpbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXF1aWNrLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAncXVpY2stdG9vbGJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogRWRpdG9yO1xuICAgIEBJbnB1dCgpIHF1aWNrVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdO1xuXG4gICAgZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgVG9vbGJhckl0ZW1Nb2RlID0gVG9vbGJhckl0ZW1Nb2RlO1xuICAgIFRvb2xiYXJBY3Rpb25UeXBlcyA9IFRvb2xiYXJBY3Rpb25UeXBlcztcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLmNsb3NlUXVpY2tJbnNlcnRUb29sYmFyKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDoga2V5ZG93bi5lbnRlcicpXG4gICAgaGFuZGxlRW50ZXIoKSB7XG4gICAgICAgIFF1aWNrSW5zZXJ0RWRpdG9yLmNsb3NlUXVpY2tJbnNlcnRUb29sYmFyKHRoaXMuZWRpdG9yKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDoga2V5ZG93bi5lc2NhcGUnKVxuICAgIGhhbmRsZUVzYygpIHtcbiAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja0luc2VydFRvb2xiYXIodGhpcy5lZGl0b3IpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmVkaXRvckVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgIH1cblxuICAgIHN0b3BQcm9wYWdhdGlvbihldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHNlbGVjdGlvbkNoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLnJlbW92ZUhvdEtleSgpO1xuICAgICAgICBjb25zdCB0b29sYmFySXRlbSA9IHRoaXMucXVpY2tUb29sYmFySXRlbXMuZmluZChpdGVtID0+IGl0ZW0ua2V5ID09PSBldmVudC52YWx1ZSk7XG4gICAgICAgIGlmICh0b29sYmFySXRlbT8uZXhlY3V0ZSkge1xuICAgICAgICAgICAgdG9vbGJhckl0ZW0uZXhlY3V0ZSh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVIb3RLZXkoKSB7XG4gICAgICAgIGNvbnN0IGhvdGtleSA9IGdldFBsdWdpbk9wdGlvbnM8UXVpY2tJbnNlcnRQbHVnaW5PcHRpb25zPih0aGlzLmVkaXRvciwgUGx1Z2luS2V5cy5xdWlja0luc2VydCk/LmhvdGtleTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IE5vZGUuZ2V0KHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpIGFzIFRleHQ7XG4gICAgICAgIGlmIChub2RlICYmIGhvdGtleSA9PT0gbm9kZS50ZXh0KSB7XG4gICAgICAgICAgICBFZGl0b3IuZGVsZXRlQmFja3dhcmQodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPHRoeS1zZWxlY3Rpb24tbGlzdFxuICAgIGNsYXNzPVwidGhlLXF1aWNrLXRvb2xiYXJcIlxuICAgIFt0aHlCaW5kS2V5RXZlbnRDb250YWluZXJdPVwiZWRpdG9yRWxlbWVudFwiXG4gICAgKHRoeVNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgW3RoeU11bHRpcGxlXT1cImZhbHNlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHF1aWNrVG9vbGJhckl0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmtleSAhPT0gVG9vbGJhckFjdGlvblR5cGVzLnNwbGl0OyBlbHNlIHNwbGl0TGluZVwiPlxuICAgICAgICAgICAgPHRoeS1saXN0LW9wdGlvbiBbdGh5VmFsdWVdPVwiaXRlbT8ua2V5XCIgKG1vdXNlZG93bik9XCJzdG9wUHJvcGFnYXRpb24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDx0aGUtdG9vbGJhci1pdGVtIFtlZGl0b3JdPVwiZWRpdG9yXCIgW3Rvb2xiYXJJdGVtXT1cIml0ZW1cIiBbaXRlbU1vZGVdPVwiVG9vbGJhckl0ZW1Nb2RlLnZlcnRpY2FsXCI+PC90aGUtdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPC90aHktbGlzdC1vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC90aHktc2VsZWN0aW9uLWxpc3Q+XG5cbjxuZy10ZW1wbGF0ZSAjc3BsaXRMaW5lPlxuICAgIDxuYXYtc3BsaXQtbGluZSBbbW9kZV09XCJUb29sYmFySXRlbU1vZGUuaG9yaXpvbnRhbFwiPjwvbmF2LXNwbGl0LWxpbmU+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,75 +0,0 @@
1
- import { Node } from 'slate';
2
- import { hotkeys } from 'slate-angular';
3
- import { TheEditorComponent } from '../../editor.component';
4
- import { THE_EDITOR_QUICK_TOOLBAR_REF, isPureEmptyParagraph } from '../../utils';
5
- import { createPluginFactory, getPluginOptions } from '../../core';
6
- import { PluginKeys } from '../../interfaces';
7
- import { QuickInsertEditor } from './quick-insert.editor';
8
- import { getBlockAbove } from '../../queries/get-block-above';
9
- export const withQuickInsert = (editor) => {
10
- const { onKeydown, deleteBackward, onChange } = editor;
11
- let presseingQuickInsertHotkey = false;
12
- editor.onKeydown = (event) => {
13
- const options = getPluginOptions(editor, PluginKeys.quickInsert);
14
- const { hotkey, allowHotkeyInTypes } = options;
15
- if (event.key === hotkey) {
16
- const types = [...(allowHotkeyInTypes || [])];
17
- const [block] = getBlockAbove(editor);
18
- if (isPureEmptyParagraph(editor, block) && allowOpenQuickToolbar(editor, types)) {
19
- presseingQuickInsertHotkey = true;
20
- }
21
- }
22
- const quickToolbarRef = THE_EDITOR_QUICK_TOOLBAR_REF.get(editor);
23
- const isMoveUp = hotkeys.isMoveUp(event);
24
- const isMoveDown = hotkeys.isMoveDown(event);
25
- if (quickToolbarRef && (isMoveUp || isMoveDown)) {
26
- return;
27
- }
28
- onKeydown(event);
29
- };
30
- editor.deleteBackward = unit => {
31
- if (QuickInsertEditor.isOpenedToolbar(editor)) {
32
- QuickInsertEditor.closeQuickInsertToolbar(editor);
33
- }
34
- deleteBackward(unit);
35
- };
36
- editor.onChange = () => {
37
- var _a, _b;
38
- onChange();
39
- if (editor.selection) {
40
- const hotkey = (_a = getPluginOptions(editor, PluginKeys.quickInsert)) === null || _a === void 0 ? void 0 : _a.hotkey;
41
- const [block] = getBlockAbove(editor);
42
- // quick insert plus
43
- const editorComponent = editor.injector.get(TheEditorComponent);
44
- (_b = editorComponent.quickInsertInstance) === null || _b === void 0 ? void 0 : _b.checkStatus();
45
- if (presseingQuickInsertHotkey && Node.string(block) === hotkey) {
46
- QuickInsertEditor.openQuickInsertToolbar(editor, editorComponent.quickToolbarItems);
47
- presseingQuickInsertHotkey = false;
48
- return;
49
- }
50
- else {
51
- presseingQuickInsertHotkey = false;
52
- }
53
- if (QuickInsertEditor.isOpenedToolbar(editor) && !isPureEmptyParagraph(editor, block) && Node.string(block) !== hotkey) {
54
- QuickInsertEditor.closeQuickInsertToolbar(editor);
55
- }
56
- }
57
- };
58
- return editor;
59
- };
60
- export const createQuickInsertPlugin = createPluginFactory({
61
- key: PluginKeys.quickInsert,
62
- withOverrides: withQuickInsert,
63
- options: {
64
- hotkey: '/'
65
- }
66
- });
67
- export const allowOpenQuickToolbar = (editor, allowTypes) => {
68
- const [, path] = getBlockAbove(editor);
69
- const parentNode = Node.parent(editor, path);
70
- if (path.length === 1 || (parentNode && allowTypes.includes(parentNode.type))) {
71
- return true;
72
- }
73
- return false;
74
- };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFROUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQzlELE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN2RCxJQUFJLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUV2QyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUEyQixNQUFNLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN0QixN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QUMsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDM0UsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGhvdGtleXMgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRIRV9FRElUT1JfUVVJQ0tfVE9PTEJBUl9SRUYsIGlzUHVyZUVtcHR5UGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUXVpY2tJbnNlcnRFZGl0b3IgfSBmcm9tICcuL3F1aWNrLWluc2VydC5lZGl0b3InO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVpY2tJbnNlcnRQbHVnaW5PcHRpb25zIHtcbiAgICBob3RLZXk/OiBzdHJpbmc7XG4gICAgYWxsb3dIb3RrZXlJblR5cGVzPzogQ3VzdG9tRWxlbWVudEtpbmRzW107XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoUXVpY2tJbnNlcnQgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBvbktleWRvd24sIGRlbGV0ZUJhY2t3YXJkLCBvbkNoYW5nZSB9ID0gZWRpdG9yO1xuICAgIGxldCBwcmVzc2VpbmdRdWlja0luc2VydEhvdGtleSA9IGZhbHNlO1xuXG4gICAgZWRpdG9yLm9uS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxRdWlja0luc2VydFBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5xdWlja0luc2VydCk7XG4gICAgICAgIGNvbnN0IHsgaG90a2V5LCBhbGxvd0hvdGtleUluVHlwZXMgfSA9IG9wdGlvbnM7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IGhvdGtleSkge1xuICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBbLi4uKGFsbG93SG90a2V5SW5UeXBlcyB8fCBbXSldO1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGdldEJsb2NrQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIGlmIChpc1B1cmVFbXB0eVBhcmFncmFwaChlZGl0b3IsIGJsb2NrKSAmJiBhbGxvd09wZW5RdWlja1Rvb2xiYXIoZWRpdG9yLCB0eXBlcykpIHtcbiAgICAgICAgICAgICAgICBwcmVzc2VpbmdRdWlja0luc2VydEhvdGtleSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVpY2tUb29sYmFyUmVmID0gVEhFX0VESVRPUl9RVUlDS19UT09MQkFSX1JFRi5nZXQoZWRpdG9yKTtcbiAgICAgICAgY29uc3QgaXNNb3ZlVXAgPSBob3RrZXlzLmlzTW92ZVVwKGV2ZW50KTtcbiAgICAgICAgY29uc3QgaXNNb3ZlRG93biA9IGhvdGtleXMuaXNNb3ZlRG93bihldmVudCk7XG4gICAgICAgIGlmIChxdWlja1Rvb2xiYXJSZWYgJiYgKGlzTW92ZVVwIHx8IGlzTW92ZURvd24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUJhY2t3YXJkID0gdW5pdCA9PiB7XG4gICAgICAgIGlmIChRdWlja0luc2VydEVkaXRvci5pc09wZW5lZFRvb2xiYXIoZWRpdG9yKSkge1xuICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja0luc2VydFRvb2xiYXIoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBvbkNoYW5nZSgpO1xuXG4gICAgICAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBob3RrZXkgPSBnZXRQbHVnaW5PcHRpb25zPFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLnF1aWNrSW5zZXJ0KT8uaG90a2V5O1xuICAgICAgICAgICAgY29uc3QgW2Jsb2NrXSA9IGdldEJsb2NrQWJvdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIC8vIHF1aWNrIGluc2VydCBwbHVzXG4gICAgICAgICAgICBjb25zdCBlZGl0b3JDb21wb25lbnQgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUVkaXRvckNvbXBvbmVudCk7XG4gICAgICAgICAgICBlZGl0b3JDb21wb25lbnQucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcblxuICAgICAgICAgICAgaWYgKHByZXNzZWluZ1F1aWNrSW5zZXJ0SG90a2V5ICYmIE5vZGUuc3RyaW5nKGJsb2NrKSA9PT0gaG90a2V5KSB7XG4gICAgICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3Iub3BlblF1aWNrSW5zZXJ0VG9vbGJhcihlZGl0b3IsIGVkaXRvckNvbXBvbmVudC5xdWlja1Rvb2xiYXJJdGVtcyk7XG4gICAgICAgICAgICAgICAgcHJlc3NlaW5nUXVpY2tJbnNlcnRIb3RrZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByZXNzZWluZ1F1aWNrSW5zZXJ0SG90a2V5ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChRdWlja0luc2VydEVkaXRvci5pc09wZW5lZFRvb2xiYXIoZWRpdG9yKSAmJiAhaXNQdXJlRW1wdHlQYXJhZ3JhcGgoZWRpdG9yLCBibG9jaykgJiYgTm9kZS5zdHJpbmcoYmxvY2spICE9PSBob3RrZXkpIHtcbiAgICAgICAgICAgICAgICBRdWlja0luc2VydEVkaXRvci5jbG9zZVF1aWNrSW5zZXJ0VG9vbGJhcihlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVpY2tJbnNlcnRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PFF1aWNrSW5zZXJ0UGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5xdWlja0luc2VydCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoUXVpY2tJbnNlcnQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBob3RrZXk6ICcvJ1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgYWxsb3dPcGVuUXVpY2tUb29sYmFyID0gKGVkaXRvcjogRWRpdG9yLCBhbGxvd1R5cGVzOiBFbGVtZW50S2luZHNbXSkgPT4ge1xuICAgIGNvbnN0IFssIHBhdGhdID0gZ2V0QmxvY2tBYm92ZShlZGl0b3IpO1xuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBOb2RlLnBhcmVudChlZGl0b3IsIHBhdGgpO1xuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMSB8fCAocGFyZW50Tm9kZSAmJiBhbGxvd1R5cGVzLmluY2x1ZGVzKHBhcmVudE5vZGUudHlwZSkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuIl19
@@ -1,37 +0,0 @@
1
- import isHotkey from 'is-hotkey';
2
- import { createPluginFactory, getPluginOptions } from '../../core';
3
- import { PluginKeys } from '../../interfaces';
4
- import { ElementKinds } from '../../constants';
5
- import * as TheQueries from '../../queries';
6
- export const withSoftBreak = (editor) => {
7
- var _a, _b;
8
- const { onKeydown } = editor;
9
- const rules = (_b = (_a = getPluginOptions(editor, PluginKeys.softBreak)) === null || _a === void 0 ? void 0 : _a.rules) !== null && _b !== void 0 ? _b : [];
10
- editor.onKeydown = (event) => {
11
- const entry = TheQueries.getBlockAbove(editor);
12
- rules.forEach(({ hotkey, query }) => {
13
- if (isHotkey(hotkey, event) && TheQueries.isNodeType(entry, query)) {
14
- event.preventDefault();
15
- editor.insertText('\n');
16
- }
17
- });
18
- onKeydown(event);
19
- };
20
- return editor;
21
- };
22
- export const createSoftBreakPlugin = createPluginFactory({
23
- key: PluginKeys.softBreak,
24
- withOverrides: withSoftBreak,
25
- options: {
26
- rules: [
27
- { hotkey: 'shift+enter' },
28
- {
29
- hotkey: 'enter',
30
- query: {
31
- allow: [ElementKinds.blockquote]
32
- }
33
- }
34
- ]
35
- }
36
- });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdC1icmVhay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9zb2Z0LWJyZWFrL3NvZnQtYnJlYWsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBd0MsTUFBUyxFQUFLLEVBQUU7O0lBQ2pGLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFN0IsTUFBTSxLQUFLLEdBQUcsTUFBQSxNQUFBLGdCQUFnQixDQUE0QixNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUVyRyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBYSxDQUFDLENBQUM7UUFFdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNoRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBRXZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBNEI7SUFDaEYsR0FBRyxFQUFFLFVBQVUsQ0FBQyxTQUFTO0lBQ3pCLGFBQWEsRUFBRSxhQUFhO0lBQzVCLE9BQU8sRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNILEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRTtZQUN6QjtnQkFDSSxNQUFNLEVBQUUsT0FBTztnQkFDZixLQUFLLEVBQUU7b0JBQ0gsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztpQkFDbkM7YUFDSjtTQUNKO0tBQ0o7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNIb3RrZXkgZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRyYW5zZm9ybUVkaXRvciB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2Zvcm1zLnBsdWdpbic7XG5pbXBvcnQgeyBTb2Z0QnJlYWtPbktleURvd25PcHRpb25zIH0gZnJvbSAnLi9zb2Z0LWJyZWFrLnR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoU29mdEJyZWFrID0gPFQgZXh0ZW5kcyBUaGVFZGl0b3IgJiBUcmFuc2Zvcm1FZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgb25LZXlkb3duIH0gPSBlZGl0b3I7XG5cbiAgICBjb25zdCBydWxlcyA9IGdldFBsdWdpbk9wdGlvbnM8U29mdEJyZWFrT25LZXlEb3duT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLnNvZnRCcmVhayk/LnJ1bGVzID8/IFtdO1xuXG4gICAgZWRpdG9yLm9uS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyeSA9IFRoZVF1ZXJpZXMuZ2V0QmxvY2tBYm92ZShlZGl0b3IgYXMgYW55KTtcblxuICAgICAgICBydWxlcy5mb3JFYWNoKCh7IGhvdGtleSwgcXVlcnkgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpICYmIFRoZVF1ZXJpZXMuaXNOb2RlVHlwZShlbnRyeSwgcXVlcnkpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgICAgIGVkaXRvci5pbnNlcnRUZXh0KCdcXG4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU29mdEJyZWFrUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeTxTb2Z0QnJlYWtPbktleURvd25PcHRpb25zPih7XG4gICAga2V5OiBQbHVnaW5LZXlzLnNvZnRCcmVhayxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoU29mdEJyZWFrLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgIHsgaG90a2V5OiAnc2hpZnQrZW50ZXInIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaG90a2V5OiAnZW50ZXInLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgIGFsbG93OiBbRWxlbWVudEtpbmRzLmJsb2NrcXVvdGVdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfVxufSk7XG4iXX0=
@@ -1,103 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Range, Transforms } from 'slate';
3
- import { ELEMENT_TO_COMPONENT } from 'slate-angular';
4
- import { TableEditor } from '../../table.editor';
5
- import { TablePosition } from '../../utils/table-position';
6
- import { TableOptions } from '../../table.types';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "ngx-tethys/tooltip";
9
- import * as i2 from "@angular/common";
10
- export class TheInsertMarkComponent {
11
- constructor(cdr) {
12
- this.cdr = cdr;
13
- this.tooltipContent = '';
14
- }
15
- get disabled() {
16
- return this.tableStore && !!this.tableStore.selectedCells.length;
17
- }
18
- get editor() {
19
- return this.tableStore && this.tableStore.editor;
20
- }
21
- ngOnInit() {
22
- this.tooltipContent = this.type === 'row' ? '插入行' : '插入列';
23
- }
24
- onMouseDown(event) {
25
- event.preventDefault();
26
- event.stopPropagation();
27
- if (this.disabled) {
28
- return;
29
- }
30
- const fun = this.type === 'row' ? TableEditor.insertRow : TableEditor.insertColumn;
31
- fun(this.editor, 1, this.at);
32
- // update header
33
- if (this.type === 'row' && this.at === 0) {
34
- const { selection } = this.editor;
35
- const opts = new TableOptions();
36
- const table = TablePosition.create(opts, this.editor, selection.anchor.path);
37
- Transforms.setNodes(this.editor, { header: true }, { at: table.tableEntry[1].concat(0) });
38
- Transforms.setNodes(this.editor, { header: null }, { at: table.tableEntry[1].concat(1) });
39
- }
40
- this.tableStore.changeCells();
41
- }
42
- onMouseEnter(event) {
43
- event.preventDefault();
44
- event.stopPropagation();
45
- if (this.disabled) {
46
- return;
47
- }
48
- this.dotWrapperHovered = true;
49
- this.insertLength = this.getLength();
50
- this.cdr.detectChanges();
51
- }
52
- onMouseLeave(event) {
53
- event.preventDefault();
54
- event.stopPropagation();
55
- if (this.disabled) {
56
- return;
57
- }
58
- this.dotWrapperHovered = false;
59
- this.cdr.detectChanges();
60
- }
61
- getLength() {
62
- const { selection } = this.editor;
63
- if (selection && Range.isCollapsed(selection)) {
64
- const { table } = TablePosition.create(new TableOptions(), this.editor, selection.anchor.path);
65
- if (!table) {
66
- return;
67
- }
68
- const tableComponent = ELEMENT_TO_COMPONENT.get(table);
69
- const tableWrapper = tableComponent.tableWrapper.nativeElement;
70
- const tableElement = tableComponent.theTableElement.nativeElement;
71
- let result = 0;
72
- const rowControl = tableComponent.nativeElement.querySelector('.the-temp-table-row-controls');
73
- let rowControlWidth = 11;
74
- if (rowControl) {
75
- rowControlWidth = rowControl.getBoundingClientRect().width;
76
- }
77
- if (this.type === 'row') {
78
- result = tableWrapper.offsetWidth + rowControlWidth - 2;
79
- }
80
- else {
81
- result = tableElement.offsetHeight - 1;
82
- }
83
- return result + 'px';
84
- }
85
- }
86
- ngOnDestroy() { }
87
- }
88
- TheInsertMarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheInsertMarkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89
- TheInsertMarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-temp-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-temp-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheInsertMarkComponent, decorators: [{
91
- type: Component,
92
- args: [{
93
- selector: 'the-table-insert-mark',
94
- templateUrl: './insert-mark.component.html'
95
- }]
96
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
97
- type: Input
98
- }], at: [{
99
- type: Input
100
- }], tableStore: [{
101
- type: Input
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LW1hcmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy9pbnNlcnQtbWFyay9pbnNlcnQtbWFyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTyxzQkFBc0I7SUFtQi9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVjFDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBVXlCLENBQUM7SUFSOUMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDckUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNyRCxDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxj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ZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4uLy4uL3RhYmxlLmVkaXRvcic7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL3RhYmxlLnN0b3JlJztcbmltcG9ydCB0eXBlIHsgVGhlVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdGFibGUudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10YWJsZS1pbnNlcnQtbWFyaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luc2VydC1tYXJrLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUaGVJbnNlcnRNYXJrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbic7XG4gICAgQElucHV0KCkgYXQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSB0YWJsZVN0b3JlOiBUYWJsZVN0b3JlO1xuXG4gICAgcHVibGljIGluc2VydExlbmd0aDogc3RyaW5nO1xuXG4gICAgcHVibGljIGRvdFdyYXBwZXJIb3ZlcmVkOiBib29sZWFuO1xuXG4gICAgdG9vbHRpcENvbnRlbnQgPSAnJztcblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiAhIXRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZWRpdG9yKCk6IEVkaXRvciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlU3RvcmUgJiYgdGhpcy50YWJsZVN0b3JlLmVkaXRvcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwQ29udGVudCA9IHRoaXMudHlwZSA9PT0gJ3JvdycgPyAn5o+S5YWl6KGMJyA6ICfmj5LlhaXliJcnO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZ1biA9IHRoaXMudHlwZSA9PT0gJ3JvdycgPyBUYWJsZUVkaXRvci5pbnNlcnRSb3cgOiBUYWJsZUVkaXRvci5pbnNlcnRDb2x1bW47XG4gICAgICAgIGZ1bih0aGlzLmVkaXRvciwgMSwgdGhpcy5hdCk7XG4gICAgICAgIC8vIHVwZGF0ZSBoZWFkZXJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3JvdycgJiYgdGhpcy5hdCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHRoaXMuZWRpdG9yO1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgdGhpcy5lZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKHRoaXMuZWRpdG9yLCB7IGhlYWRlcjogdHJ1ZSB9LCB7IGF0OiB0YWJsZS50YWJsZUVudHJ5WzFdLmNvbmNhdCgwKSB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXModGhpcy5lZGl0b3IsIHsgaGVhZGVyOiBudWxsIH0sIHsgYXQ6IHRhYmxlLnRhYmxlRW50cnlbMV0uY29uY2F0KDEpIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFibGVTdG9yZS5jaGFuZ2VDZWxscygpO1xuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRvdFdyYXBwZXJIb3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbnNlcnRMZW5ndGggPSB0aGlzLmdldExlbmd0aCgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZG90V3JhcHBlckhvdmVyZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldExlbmd0aCgpIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHRoaXMuZWRpdG9yO1xuICAgICAgICBpZiAoc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG5ldyBUYWJsZU9wdGlvbnMoKSwgdGhpcy5lZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICBpZiAoIXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQodGFibGUpIGFzIFRoZVRhYmxlQ29tcG9uZW50O1xuICAgICAgICAgICAgY29uc3QgdGFibGVXcmFwcGVyID0gdGFibGVDb21wb25lbnQudGFibGVXcmFwcGVyLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCB0YWJsZUVsZW1lbnQgPSB0YWJsZUNvbXBvbmVudC50aGVUYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgY29uc3Qgcm93Q29udHJvbCA9IHRhYmxlQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoZS10ZW1wLXRhYmxlLXJvdy1jb250cm9scycpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgbGV0IHJvd0NvbnRyb2xXaWR0aCA9IDExO1xuICAgICAgICAgICAgaWYgKHJvd0NvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICByb3dDb250cm9sV2lkdGggPSByb3dDb250cm9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3JvdycpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJsZVdyYXBwZXIub2Zmc2V0V2lkdGggKyByb3dDb250cm9sV2lkdGggLSAyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJsZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQgKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7fVxufVxuIiwiPGRpdlxuICAgIFt0aHlUb29sdGlwXT1cIiFkaXNhYmxlZCAmJiB0b29sdGlwQ29udGVudFwiXG4gICAgY2xhc3M9XCJ0aGUtdGVtcC10YWJsZS1jb250cm9scy1pbnNlcnQtd3JhcHBlclwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiXG4gICAgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4gICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKCRldmVudClcIlxuICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgkZXZlbnQpXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGhlLXRlbXAtdGFibGUtY29udHJvbHMtaW5zZXJ0LWxpbmVcIlxuICAgICAgICAqbmdJZj1cImRvdFdyYXBwZXJIb3ZlcmVkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1kb3QtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHR5cGUgPT09ICdjb2x1bW4nICYmIGluc2VydExlbmd0aCwgd2lkdGg6IHR5cGUgPT09ICdyb3cnICYmIGluc2VydExlbmd0aCB9XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==