@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
@@ -0,0 +1,85 @@
1
+ import { Component } from '@angular/core';
2
+ import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
3
+ import { TheTableSelectComponent } from '../../components/table-select/table-select.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "ngx-tethys";
6
+ import * as i2 from "@angular/cdk/overlay";
7
+ import * as i3 from "ngx-tethys/nav";
8
+ import * as i4 from "ngx-tethys/icon";
9
+ import * as i5 from "ngx-tethys/tooltip";
10
+ export class TheTableToolbarItemComponent extends TheBaseToolbarItem {
11
+ constructor(thyPopover, overlay) {
12
+ super();
13
+ this.thyPopover = thyPopover;
14
+ this.overlay = overlay;
15
+ }
16
+ get isOpenTableSelect() {
17
+ return this.tableSelectRef && this.tableSelectRef.componentInstance;
18
+ }
19
+ execute(event) {
20
+ super.execute(event);
21
+ if (this.editor?.disabled) {
22
+ return;
23
+ }
24
+ this.toggleTableSelect(event);
25
+ }
26
+ toggleTableSelect(event, optionsParam) {
27
+ if (this.isOpenTableSelect) {
28
+ this.tableSelectRef.close();
29
+ return;
30
+ }
31
+ this.tableSelectRef = this.thyPopover.open(TheTableSelectComponent, {
32
+ origin: event.currentTarget,
33
+ initialState: {
34
+ editor: this.editor,
35
+ optionsParam
36
+ },
37
+ minWidth: 0,
38
+ backdropClosable: false,
39
+ hasBackdrop: false,
40
+ insideClosable: false,
41
+ placement: 'bottomLeft',
42
+ offset: 10,
43
+ panelClass: 'the-table-selector-pannel',
44
+ scrollStrategy: this.overlay.scrollStrategies.reposition()
45
+ });
46
+ return this.tableSelectRef;
47
+ }
48
+ }
49
+ TheTableToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableToolbarItemComponent, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component });
50
+ TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
51
+ <a
52
+ thyIconNavLink
53
+ class="link-with-down"
54
+ [thyTooltip]="toolbarItem?.name"
55
+ thyTooltipPlacement="top"
56
+ [thyIconNavLinkActive]="active"
57
+ (mousedown)="execute($event)"
58
+ >
59
+ <thy-icon [thyIconName]="toolbarItem.icon"></thy-icon>
60
+ <thy-icon class="link-down-icon font-size-sm text-desc table-down-icon" thyIconName="caret-down"> </thy-icon>
61
+ </a>
62
+ `, isInline: true, components: [{ type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTableToolbarItemComponent, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ selector: 'the-table-toolbar-item',
67
+ template: `
68
+ <a
69
+ thyIconNavLink
70
+ class="link-with-down"
71
+ [thyTooltip]="toolbarItem?.name"
72
+ thyTooltipPlacement="top"
73
+ [thyIconNavLinkActive]="active"
74
+ (mousedown)="execute($event)"
75
+ >
76
+ <thy-icon [thyIconName]="toolbarItem.icon"></thy-icon>
77
+ <thy-icon class="link-down-icon font-size-sm text-desc table-down-icon" thyIconName="caret-down"> </thy-icon>
78
+ </a>
79
+ `,
80
+ host: {
81
+ class: 'the-toolbar-dropdown-container'
82
+ }
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }]; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQXNCL0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQU9oRSxZQUFvQixVQUFzQixFQUFVLE9BQWdCO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFFcEUsQ0FBQztJQU5ELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hFLENBQUM7SUFNRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxZQUEyQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxZQUFZLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixZQUFZO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUM3RCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs7eUhBekNRLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGlKQWpCM0I7Ozs7Ozs7Ozs7OztLQVlUOzJGQUtRLDRCQUE0QjtrQkFuQnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7S0FZVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGdDQUFnQztxQkFDMUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cyc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5pbXBvcnQgeyBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXItaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rXG4gICAgICAgICAgICBjbGFzcz1cImxpbmstd2l0aC1kb3duXCJcbiAgICAgICAgICAgIFt0aHlUb29sdGlwXT1cInRvb2xiYXJJdGVtPy5uYW1lXCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgW3RoeUljb25OYXZMaW5rQWN0aXZlXT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwidG9vbGJhckl0ZW0uaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJsaW5rLWRvd24taWNvbiBmb250LXNpemUtc20gdGV4dC1kZXNjIHRhYmxlLWRvd24taWNvblwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPiA8L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VUb29sYmFySXRlbSB7XG4gICAgdGFibGVTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlblRhYmxlU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZiAmJiB0aGlzLnRhYmxlU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZXhlY3V0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2dnbGVUYWJsZVNlbGVjdChldmVudCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlVGFibGVTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5UYWJsZVNlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy50YWJsZVNlbGVjdFJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFibGVTZWxlY3RSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVUYWJsZVNlbGVjdENvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICBvcHRpb25zUGFyYW1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS10YWJsZS1zZWxlY3Rvci1wYW5uZWwnLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTZWxlY3RSZWY7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Transforms } from 'slate';
2
+ import { createCell } from '../utils/create-cell';
3
+ /**
4
+ * Clear the content of the given cell
5
+ */
6
+ export function clearCell(opts, editor, cellEntry) {
7
+ Transforms.removeNodes(editor, { at: cellEntry[1] });
8
+ const cellNode = {
9
+ ...cellEntry[0],
10
+ ...createCell(opts)
11
+ };
12
+ Transforms.insertNodes(editor, { ...cellNode }, { at: cellEntry[1] });
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvY2xlYXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE4QixNQUFNLE9BQU8sQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWtCLEVBQUUsTUFBYyxFQUFFLFNBQTZCO0lBQ3ZGLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckQsTUFBTSxRQUFRLEdBQUc7UUFDYixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDZixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7S0FDdEIsQ0FBQztJQUNGLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBOb2RlRW50cnksIEVkaXRvciwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNlbGwgfSBmcm9tICcuLi91dGlscy9jcmVhdGUtY2VsbCc7XG5cbi8qKlxuICogQ2xlYXIgdGhlIGNvbnRlbnQgb2YgdGhlIGdpdmVuIGNlbGxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQ2VsbChvcHRzOiBUYWJsZU9wdGlvbnMsIGVkaXRvcjogRWRpdG9yLCBjZWxsRW50cnk6IE5vZGVFbnRyeTxFbGVtZW50Pikge1xuICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBjZWxsRW50cnlbMV0gfSk7XG4gICAgY29uc3QgY2VsbE5vZGUgPSB7XG4gICAgICAgIC4uLmNlbGxFbnRyeVswXSxcbiAgICAgICAgLi4uY3JlYXRlQ2VsbChvcHRzKVxuICAgIH07XG4gICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIHsgLi4uY2VsbE5vZGUgfSwgeyBhdDogY2VsbEVudHJ5WzFdIH0pO1xufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { createTable } from '../utils';
2
+ import * as TheTransforms from '../../../transforms';
3
+ /**
4
+ * Insert a new table
5
+ */
6
+ export function insertTable(opts, editor, rows = 3, columns = 3, getCellContent) {
7
+ const { selection } = editor;
8
+ if (!selection?.anchor) {
9
+ return;
10
+ }
11
+ // Create the table node
12
+ const table = createTable(opts, columns, rows, getCellContent);
13
+ TheTransforms.insertElements(editor, table);
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9pbnNlcnQtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEtBQUssYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsSUFBa0IsRUFDbEIsTUFBYyxFQUNkLE9BQWUsQ0FBQyxFQUNoQixVQUFrQixDQUFDLEVBQ25CLGNBQXdEO0lBRXhELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7UUFDcEIsT0FBTztLQUNWO0lBQ0Qsd0JBQXdCO0lBQ3hCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRCxhQUFhLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uLy4uL3RyYW5zZm9ybXMnO1xuXG4vKipcbiAqIEluc2VydCBhIG5ldyB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VGFibGUoXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIHJvd3M6IG51bWJlciA9IDMsXG4gICAgY29sdW1uczogbnVtYmVyID0gMyxcbiAgICBnZXRDZWxsQ29udGVudD86IChjb2x1bW46IG51bWJlciwgcm93OiBudW1iZXIpID0+IE5vZGVbXVxuKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBpZiAoIXNlbGVjdGlvbj8uYW5jaG9yKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gQ3JlYXRlIHRoZSB0YWJsZSBub2RlXG4gICAgY29uc3QgdGFibGUgPSBjcmVhdGVUYWJsZShvcHRzLCBjb2x1bW5zLCByb3dzLCBnZXRDZWxsQ29udGVudCk7XG4gICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50cyhlZGl0b3IsIHRhYmxlKTtcbn1cbiJdfQ==
@@ -8,9 +8,12 @@ export function getSelectCellNode(editor, selectedCells) {
8
8
  .map(item => {
9
9
  const node = pos.findCellByPath(item);
10
10
  if (node) {
11
- return Object.assign(Object.assign({}, item), { node: node });
11
+ return {
12
+ ...item,
13
+ node: node
14
+ };
12
15
  }
13
16
  })
14
17
  .filter(item => item);
15
18
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdC1jZWxsLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9nZXQtc2VsZWN0LWNlbGwtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQ2xDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxhQUE2QjtJQUMzRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2hDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsT0FBTyxhQUFhO1NBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksRUFBRTtZQUNOLHVDQUNPLElBQUksS0FDUCxJQUFJLEVBQUUsSUFBSSxJQUNaO1NBQ0w7SUFDTCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiB9IGZyb20gJy4nO1xuaW1wb3J0IHsgU2VsZWN0ZWRDZWxsLCBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3I6IEVkaXRvciwgc2VsZWN0ZWRDZWxsczogU2VsZWN0ZWRDZWxsW10pIHtcbiAgICBjb25zdCB7IGFuY2hvciB9ID0gZWRpdG9yLnNlbGVjdGlvbjtcbiAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYW5jaG9yLnBhdGgpO1xuXG4gICAgcmV0dXJuIHNlbGVjdGVkQ2VsbHNcbiAgICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBwb3MuZmluZENlbGxCeVBhdGgoaXRlbSk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIG5vZGU6IG5vZGVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbSk7XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdC1jZWxsLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9nZXQtc2VsZWN0LWNlbGwtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQ2xDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxhQUE2QjtJQUMzRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2hDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsT0FBTyxhQUFhO1NBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU87Z0JBQ0gsR0FBRyxJQUFJO2dCQUNQLElBQUksRUFBRSxJQUFJO2FBQ2IsQ0FBQztTQUNMO0lBQ0wsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuJztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0Q2VsbE5vZGUoZWRpdG9yOiBFZGl0b3IsIHNlbGVjdGVkQ2VsbHM6IFNlbGVjdGVkQ2VsbFtdKSB7XG4gICAgY29uc3QgeyBhbmNob3IgfSA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICBjb25zdCBwb3MgPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGFuY2hvci5wYXRoKTtcblxuICAgIHJldHVybiBzZWxlY3RlZENlbGxzXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gcG9zLmZpbmRDZWxsQnlQYXRoKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBub2RlOiBub2RlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0pO1xufVxuIl19
@@ -0,0 +1,64 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import * as TheTransforms from '../../transforms';
3
+ import { PluginKeys, TheBaseElementComponent } from '../../interfaces';
4
+ import { getPluginOptions } from '../../core/utils/get-plugin-options';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../services/context.service";
7
+ import * as i2 from "slate-angular";
8
+ export class TheTodoItemComponent extends TheBaseElementComponent {
9
+ constructor(elementRef, cdr, ctxService) {
10
+ super(elementRef, cdr);
11
+ this.elementRef = elementRef;
12
+ this.cdr = cdr;
13
+ this.ctxService = ctxService;
14
+ // 类名 the-temp-*: 临时解决因受portal影响样式问题,后期改回the-
15
+ this.checkItemClass = true;
16
+ }
17
+ get checkItemSelectable() {
18
+ return this.editableWithReadonly && this.readonly;
19
+ }
20
+ get level() {
21
+ return this.element?.indent;
22
+ }
23
+ get editableWithReadonly() {
24
+ return getPluginOptions(this.editor, PluginKeys.checkItem)?.editableWithReadonly;
25
+ }
26
+ ngOnInit() {
27
+ super.ngOnInit();
28
+ }
29
+ onCheck(checked) {
30
+ if (this.readonly && !this.editableWithReadonly) {
31
+ return false;
32
+ }
33
+ TheTransforms.setNode(this.editor, { checked }, this.element);
34
+ }
35
+ }
36
+ TheTodoItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTodoItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.TheContextService }], target: i0.ɵɵFactoryTarget.Component });
37
+ TheTodoItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheTodoItemComponent, selector: "div[theTodoItem]", host: { properties: { "class.the-temp-check-item": "this.checkItemClass", "class.the-todo-item-selectable": "this.checkItemSelectable", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: `
38
+ <span contenteditable="false" class="todo-item-status">
39
+ <input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
40
+ </span>
41
+ <span><slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children></span>
42
+ `, isInline: true, components: [{ type: i2.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheTodoItemComponent, decorators: [{
44
+ type: Component,
45
+ args: [{
46
+ selector: 'div[theTodoItem]',
47
+ template: `
48
+ <span contenteditable="false" class="todo-item-status">
49
+ <input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
50
+ </span>
51
+ <span><slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children></span>
52
+ `
53
+ }]
54
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.TheContextService }]; }, propDecorators: { checkItemClass: [{
55
+ type: HostBinding,
56
+ args: ['class.the-temp-check-item']
57
+ }], checkItemSelectable: [{
58
+ type: HostBinding,
59
+ args: ['class.the-todo-item-selectable']
60
+ }], level: [{
61
+ type: HostBinding,
62
+ args: ['attr.the-level']
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9kby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQVl2RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQWdEO0lBbUJ0RixZQUFtQixVQUFzQixFQUFTLEdBQXNCLEVBQVUsVUFBNkI7UUFDM0csS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURSLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBaEIvRyw2Q0FBNkM7UUFDSCxtQkFBYyxHQUFHLElBQUksQ0FBQztJQWlCaEUsQ0FBQztJQWZELElBQW1ELG1CQUFtQjtRQUNsRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLGdCQUFnQixDQUF3QixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxvQkFBb0IsQ0FBQztJQUM1RyxDQUFDO0lBTUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDOztpSEFoQ1Esb0JBQW9CO3FHQUFwQixvQkFBb0IsMlBBUG5COzs7OztLQUtUOzJGQUVRLG9CQUFvQjtrQkFUaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7O0tBS1Q7aUJBQ0o7aUtBSzZDLGNBQWM7c0JBQXZELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUVXLG1CQUFtQjtzQkFBckUsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBS3pDLEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRvZG9JdGVtRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9nZXQtcGx1Z2luLW9wdGlvbnMnO1xuaW1wb3J0IHsgVG9kb0l0ZW1QbHVnaW5PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0ucGx1Z2luJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlVG9kb0l0ZW1dJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIGNsYXNzPVwidG9kby1pdGVtLXN0YXR1c1wiPlxuICAgICAgICAgICAgPGlucHV0ICNjaGVja2JveCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJlbGVtZW50LmNoZWNrZWRcIiAoY2xpY2spPVwib25DaGVjayhjaGVja2JveC5jaGVja2VkKVwiIC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+PHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+PC9zcGFuPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgVGhlVG9kb0l0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxUb2RvSXRlbUVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICAvLyDnsbvlkI0gdGhlLXRlbXAtKjog5Li05pe26Kej5Yaz5Zug5Y+XcG9ydGFs5b2x5ZON5qC35byP6Zeu6aKY77yM5ZCO5pyf5pS55ZuedGhlLVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGhlLXRlbXAtY2hlY2staXRlbScpIGNoZWNrSXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGhlLXRvZG8taXRlbS1zZWxlY3RhYmxlJykgZ2V0IGNoZWNrSXRlbVNlbGVjdGFibGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRhYmxlV2l0aFJlYWRvbmx5ICYmIHRoaXMucmVhZG9ubHk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRoZS1sZXZlbCcpXG4gICAgZ2V0IGxldmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Py5pbmRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGVkaXRhYmxlV2l0aFJlYWRvbmx5KCkge1xuICAgICAgICByZXR1cm4gZ2V0UGx1Z2luT3B0aW9uczxUb2RvSXRlbVBsdWdpbk9wdGlvbnM+KHRoaXMuZWRpdG9yLCBQbHVnaW5LZXlzLmNoZWNrSXRlbSk/LmVkaXRhYmxlV2l0aFJlYWRvbmx5O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjdHhTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIG9uQ2hlY2soY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSAmJiAhdGhpcy5lZGl0YWJsZVdpdGhSZWFkb25seSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0Tm9kZSh0aGlzLmVkaXRvciwgeyBjaGVja2VkIH0sIHRoaXMuZWxlbWVudCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,83 @@
1
+ import { Component, HostListener, TemplateRef, ViewChild } from '@angular/core';
2
+ import { TheBaseToolbarDropdown } from '../../core/toolbar-item/base-toolbar-item';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-tethys";
5
+ import * as i2 from "ngx-tethys/nav";
6
+ import * as i3 from "ngx-tethys/icon";
7
+ import * as i4 from "ngx-tethys/action-menu";
8
+ import * as i5 from "ngx-tethys/tooltip";
9
+ import * as i6 from "@angular/common";
10
+ export class TheVerticalToolbarItemComponent extends TheBaseToolbarDropdown {
11
+ constructor(elementRef, thyPopover, viewContainerRef) {
12
+ super();
13
+ this.elementRef = elementRef;
14
+ this.thyPopover = thyPopover;
15
+ this.viewContainerRef = viewContainerRef;
16
+ this.isHide = true;
17
+ }
18
+ get isOpened() {
19
+ return this.dropdownPopoverRef && this.dropdownPopoverRef.getOverlayRef() && this.dropdownPopoverRef.getOverlayRef().hasAttached();
20
+ }
21
+ handleDocumentMouseDown(event) {
22
+ if (!this.elementRef.nativeElement.contains(event.target)) {
23
+ this.close();
24
+ }
25
+ }
26
+ ngOnInit() { }
27
+ menusActive(editor) {
28
+ return this.menus.find(i => {
29
+ if (this.editor?.selection && i?.active) {
30
+ return i?.active(editor);
31
+ }
32
+ });
33
+ }
34
+ execute(event) {
35
+ super.execute(event);
36
+ if (this.editor?.readOnly || this.editor?.disabled) {
37
+ return;
38
+ }
39
+ this.openPopover();
40
+ }
41
+ itemMousedown(event, item) {
42
+ event.preventDefault();
43
+ event.stopPropagation();
44
+ this.close();
45
+ if (item?.execute) {
46
+ item?.execute(this.editor);
47
+ }
48
+ }
49
+ openPopover() {
50
+ this.dropdownPopoverRef = this.thyPopover.open(this.template, {
51
+ origin: this.elementRef,
52
+ panelClass: ['the-toolbar-dropdown-popover', this.toolbarItem?.key],
53
+ placement: 'bottomLeft',
54
+ offset: 10,
55
+ minWidth: 0,
56
+ viewContainerRef: this.viewContainerRef,
57
+ insideClosable: false,
58
+ backdropClosable: false,
59
+ hasBackdrop: false
60
+ });
61
+ }
62
+ close() {
63
+ if (this.dropdownPopoverRef) {
64
+ this.dropdownPopoverRef.close();
65
+ }
66
+ }
67
+ }
68
+ TheVerticalToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheVerticalToolbarItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
69
+ TheVerticalToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenuItem?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span *ngIf=\"menu.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu?.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i4.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }], directives: [{ type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i4.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i4.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheVerticalToolbarItemComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'the-toolbar-vertical-align-item', host: {
73
+ class: 'the-toolbar-dropdown-container verticalAlign',
74
+ '[class.hide]': '!active'
75
+ }, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenuItem?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span *ngIf=\"menu.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu?.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n" }]
76
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }]; }, propDecorators: { template: [{
77
+ type: ViewChild,
78
+ args: ['VerticalAlignItems', { read: TemplateRef, static: true }]
79
+ }], handleDocumentMouseDown: [{
80
+ type: HostListener,
81
+ args: ['document: mousedown', ['$event']]
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHdEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7O0FBV25GLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxzQkFBc0I7SUFrQnZFLFlBQW1CLFVBQXNCLEVBQVUsVUFBc0IsRUFBVSxnQkFBa0M7UUFDakgsS0FBSyxFQUFFLENBQUM7UUFETyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFqQnJILFdBQU0sR0FBRyxJQUFJLENBQUM7SUFtQmQsQ0FBQztJQWJELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUdELHVCQUF1QixDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRTtZQUN0RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBTUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUU7Z0JBQ3JDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDaEQsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxJQUFpQjtRQUM5QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUViLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNmLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdkIsVUFBVSxFQUFFLENBQUMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7WUFDbkUsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsY0FBYyxFQUFFLEtBQUs7WUFDckIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQztJQUNMLENBQUM7OzRIQXJFUSwrQkFBK0I7Z0hBQS9CLCtCQUErQiw4VkFJQyxXQUFXLGtFQ2xCeEQsK2tDQTZCQTsyRkRmYSwrQkFBK0I7a0JBUjNDLFNBQVM7K0JBQ0ksaUNBQWlDLFFBRXJDO3dCQUNGLEtBQUssRUFBRSw4Q0FBOEM7d0JBQ3JELGNBQWMsRUFBRSxTQUFTO3FCQUM1Qjt5SkFPRCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBUXBFLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUJhc2VUb29sYmFyRHJvcGRvd24gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10b29sYmFyLXZlcnRpY2FsLWFsaWduLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1kcm9wZG93bi1jb250YWluZXIgdmVydGljYWxBbGlnbicsXG4gICAgICAgICdbY2xhc3MuaGlkZV0nOiAnIWFjdGl2ZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlVG9vbGJhckRyb3Bkb3duIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpc0hpZGUgPSB0cnVlO1xuICAgIGRyb3Bkb3duUG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgnVmVydGljYWxBbGlnbkl0ZW1zJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiAmJiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhhc0F0dGFjaGVkKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlRG9jdW1lbnRNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBtZW51c0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51cy5maW5kKGkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5zZWxlY3Rpb24gJiYgaT8uYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk/LmFjdGl2ZShlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBleGVjdXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnJlYWRPbmx5IHx8IHRoaXMuZWRpdG9yPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlblBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBUb29sYmFySXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgaWYgKGl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIGl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4odGhpcy50ZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbJ3RoZS10b29sYmFyLWRyb3Bkb3duLXBvcG92ZXInLCB0aGlzLnRvb2xiYXJJdGVtPy5rZXldLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGFcbiAgICB0aHlJY29uTmF2TGlua1xuICAgIGNsYXNzPVwiaWNvbi1tb2RlIGxpbmstd2l0aC1kb3duXCJcbiAgICBbdGh5VG9vbHRpcF09XCJ0b29sYmFySXRlbT8ubmFtZVwiXG4gICAgW3RoeUljb25OYXZMaW5rQWN0aXZlXT1cImlzT3BlbmVkXCJcbiAgICB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4+XG4gICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJhY3RpdmVNZW51SXRlbT8uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiY2FyZXQtZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2NcIiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuPC9hPlxuXG48bmctdGVtcGxhdGUgI1ZlcnRpY2FsQWxpZ25JdGVtcz5cbiAgICA8dGh5LWFjdGlvbi1tZW51IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiB0b29sYmFySXRlbT8uaW5jbHVkZXNcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdGh5QWN0aW9uTWVudUl0ZW1cbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgICAgICBbdGh5QWN0aW9uTWVudUl0ZW1BY3RpdmVdPVwibWVudS5rZXkgPT09IGFjdGl2ZU1lbnVJdGVtPy5rZXlcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiaXRlbU1vdXNlZG93bigkZXZlbnQsIG1lbnUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lbnUuaWNvblwiIHRoeUFjdGlvbk1lbnVJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJtZW51Py5pY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gdGh5QWN0aW9uTWVudUl0ZW1OYW1lPnt7IG1lbnUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90aHktYWN0aW9uLW1lbnU+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,14 @@
1
+ import { Editor, Element } from 'slate';
2
+ /**
3
+ * Get the block above a location (default: selection) by type.
4
+ */
5
+ export const getAboveByType = (editor, types, options = {}) => {
6
+ if (!Array.isArray(types)) {
7
+ types = [types];
8
+ }
9
+ return Editor.above(editor, {
10
+ match: n => Element.isElement(n) && types.includes(n.type),
11
+ ...options
12
+ });
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFib3ZlLWJ5LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtYWJvdmUtYnktdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUd4Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWMsRUFBRSxLQUF3QixFQUFFLFVBQTZDLEVBQUUsRUFBRSxFQUFFO0lBQ3hILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ25CO0lBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUN4QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRCxHQUFHLE9BQU87S0FDYixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFZGl0b3JBYm92ZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBHZXQgdGhlIGJsb2NrIGFib3ZlIGEgbG9jYXRpb24gKGRlZmF1bHQ6IHNlbGVjdGlvbikgYnkgdHlwZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFib3ZlQnlUeXBlID0gKGVkaXRvcjogRWRpdG9yLCB0eXBlczogc3RyaW5nW10gfCBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8RWRpdG9yQWJvdmVPcHRpb25zLCAnbWF0Y2gnPiA9IHt9KSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGVzKSkge1xuICAgICAgICB0eXBlcyA9IFt0eXBlc107XG4gICAgfVxuXG4gICAgcmV0dXJuIEVkaXRvci5hYm92ZShlZGl0b3IsIHtcbiAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgdHlwZXMuaW5jbHVkZXMobi50eXBlKSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH0pO1xufTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { Editor } from 'slate';
2
+ /**
3
+ * Get the block above a location (default: selection).
4
+ * If not found, return the editor entry.
5
+ */
6
+ export const getBlockAbove = (editor, options = {}) => Editor.above(editor, {
7
+ match: n => Editor.isBlock(editor, n),
8
+ ...options
9
+ }) || [editor, []];
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2NrLWFib3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LWJsb2NrLWFib3ZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQWEsTUFBTSxPQUFPLENBQUM7QUFHcEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxFQUFFLFVBQTZDLEVBQUUsRUFBdUIsRUFBRSxDQUNsSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtJQUNqQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsR0FBRyxPQUFPO0NBQ2IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgTm9kZUVudHJ5IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWRpdG9yQWJvdmVPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogR2V0IHRoZSBibG9jayBhYm92ZSBhIGxvY2F0aW9uIChkZWZhdWx0OiBzZWxlY3Rpb24pLlxuICogSWYgbm90IGZvdW5kLCByZXR1cm4gdGhlIGVkaXRvciBlbnRyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEJsb2NrQWJvdmUgPSAoZWRpdG9yOiBFZGl0b3IsIG9wdGlvbnM6IE9taXQ8RWRpdG9yQWJvdmVPcHRpb25zLCAnbWF0Y2gnPiA9IHt9KTogTm9kZUVudHJ5PEFuY2VzdG9yPiA9PlxuICAgIEVkaXRvci5hYm92ZShlZGl0b3IsIHtcbiAgICAgICAgbWF0Y2g6IG4gPT4gRWRpdG9yLmlzQmxvY2soZWRpdG9yLCBuKSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH0pIHx8IFtlZGl0b3IsIFtdXTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { Editor } from 'slate';
2
+ /**
3
+ * Get the block above a location (default: selection).
4
+ * If not found, return the editor entry.
5
+ */
6
+ export const getBlockCardAbove = (editor, options = {}) => Editor.above(editor, {
7
+ match: n => editor.isBlockCard(n),
8
+ ...options
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2NrLWNhcmQtYWJvdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtYmxvY2stY2FyZC1hYm92ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksTUFBTSxFQUFhLE1BQU0sT0FBTyxDQUFDO0FBR3BEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLFVBQTZDLEVBQUUsRUFBdUIsRUFBRSxDQUN0SCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtJQUNqQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxHQUFHLE9BQU87Q0FDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRWRpdG9yLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFZGl0b3JBYm92ZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5cbi8qKlxuICogR2V0IHRoZSBibG9jayBhYm92ZSBhIGxvY2F0aW9uIChkZWZhdWx0OiBzZWxlY3Rpb24pLlxuICogSWYgbm90IGZvdW5kLCByZXR1cm4gdGhlIGVkaXRvciBlbnRyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEJsb2NrQ2FyZEFib3ZlID0gKGVkaXRvcjogRWRpdG9yLCBvcHRpb25zOiBPbWl0PEVkaXRvckFib3ZlT3B0aW9ucywgJ21hdGNoJz4gPSB7fSk6IE5vZGVFbnRyeTxBbmNlc3Rvcj4gPT5cbiAgICBFZGl0b3IuYWJvdmUoZWRpdG9yLCB7XG4gICAgICAgIG1hdGNoOiBuID0+IGVkaXRvci5pc0Jsb2NrQ2FyZChuKSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH0pO1xuIl19
@@ -0,0 +1,15 @@
1
+ import { Element } from 'slate';
2
+ import { getNodes } from './get-nodes';
3
+ /**
4
+ * Get the nodes with a type included in `types` at a location (default: selection).
5
+ */
6
+ export const getNodesByType = (editor, types, options = {}) => {
7
+ if (!Array.isArray(types)) {
8
+ types = [types];
9
+ }
10
+ return getNodes(editor, {
11
+ match: n => Element.isElement(n) && types.includes(n.type),
12
+ ...options
13
+ });
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLWJ5LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtbm9kZXMtYnktdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBd0IsRUFBRSxVQUE2QyxFQUFFLEVBQUUsRUFBRTtJQUN4SCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNuQjtJQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNwQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQWMsQ0FBQztRQUNwRSxHQUFHLE9BQU87S0FDYixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFZGl0b3JOb2Rlc09wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldE5vZGVzIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuXG4vKipcbiAqIEdldCB0aGUgbm9kZXMgd2l0aCBhIHR5cGUgaW5jbHVkZWQgaW4gYHR5cGVzYCBhdCBhIGxvY2F0aW9uIChkZWZhdWx0OiBzZWxlY3Rpb24pLlxuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9kZXNCeVR5cGUgPSAoZWRpdG9yOiBFZGl0b3IsIHR5cGVzOiBzdHJpbmdbXSB8IHN0cmluZywgb3B0aW9uczogT21pdDxFZGl0b3JOb2Rlc09wdGlvbnMsICdtYXRjaCc+ID0ge30pID0+IHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodHlwZXMpKSB7XG4gICAgICAgIHR5cGVzID0gW3R5cGVzXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0Tm9kZXMoZWRpdG9yLCB7XG4gICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIHR5cGVzLmluY2x1ZGVzKG4udHlwZSBhcyBzdHJpbmcpLFxuICAgICAgICAuLi5vcHRpb25zXG4gICAgfSk7XG59O1xuIl19
@@ -0,0 +1,16 @@
1
+ import { Node } from 'slate';
2
+ /**
3
+ * get plain text
4
+ * can specify node text interval, the default is \n
5
+ */
6
+ export const getPlainText = (editor, format = '\n') => {
7
+ let text = '';
8
+ if (editor && editor?.children) {
9
+ for (let i = 0; i < editor?.children.length; i++) {
10
+ const node = editor?.children[i];
11
+ text += `${i === 0 ? '' : format}${Node.string(node)}`;
12
+ }
13
+ }
14
+ return text;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsYWluLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtcGxhaW4tdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXJDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUU7SUFDMUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLFFBQVEsRUFBRTtRQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDMUQ7S0FDSjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcblxuLyoqXG4gKiBnZXQgcGxhaW4gdGV4dFxuICogY2FuIHNwZWNpZnkgbm9kZSB0ZXh0IGludGVydmFsLCB0aGUgZGVmYXVsdCBpcyBcXG5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFBsYWluVGV4dCA9IChlZGl0b3I6IEVkaXRvciwgZm9ybWF0ID0gJ1xcbicpID0+IHtcbiAgICBsZXQgdGV4dCA9ICcnO1xuICAgIGlmIChlZGl0b3IgJiYgZWRpdG9yPy5jaGlsZHJlbikge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVkaXRvcj8uY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBlZGl0b3I/LmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgdGV4dCArPSBgJHtpID09PSAwID8gJycgOiBmb3JtYXR9JHtOb2RlLnN0cmluZyhub2RlKX1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xufTtcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Editor, Text } from 'slate';
2
+ import { MarkProps } from '../constants';
3
+ export const getSelectionMarks = (editor) => {
4
+ const matchs = Editor.nodes(editor, { match: Text.isText });
5
+ const marks = {};
6
+ for (const match of matchs) {
7
+ const [node] = match;
8
+ const { text, ...rest } = node;
9
+ Object.assign(marks, rest);
10
+ }
11
+ for (const key in marks) {
12
+ if (!MarkProps.includes(key)) {
13
+ delete marks[key];
14
+ }
15
+ }
16
+ return marks;
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGlvbi1tYXJrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2dldC1zZWxlY3Rpb24tbWFya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDaEQsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBZ0MsRUFBRTtJQUM5RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQXdCLENBQUM7UUFDeEMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUM5QjtJQUNELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQWdCLENBQUMsRUFBRTtZQUN2QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlRW50cnksIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBNYXJrVHlwZXMsIE1hcmtQcm9wcyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3Rpb25NYXJrcyA9IChlZGl0b3I6IEVkaXRvcik6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH0gPT4ge1xuICAgIGNvbnN0IG1hdGNocyA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHsgbWF0Y2g6IFRleHQuaXNUZXh0IH0pO1xuICAgIGNvbnN0IG1hcmtzID0ge307XG4gICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaHMpIHtcbiAgICAgICAgY29uc3QgW25vZGVdID0gbWF0Y2ggYXMgTm9kZUVudHJ5PFRleHQ+O1xuICAgICAgICBjb25zdCB7IHRleHQsIC4uLnJlc3QgfSA9IG5vZGU7XG4gICAgICAgIE9iamVjdC5hc3NpZ24obWFya3MsIHJlc3QpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBtYXJrcykge1xuICAgICAgICBpZiAoIU1hcmtQcm9wcy5pbmNsdWRlcyhrZXkgYXMgTWFya1R5cGVzKSkge1xuICAgICAgICAgICAgZGVsZXRlIG1hcmtzW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcmtzO1xufTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { getPluginOptions } from '../core';
2
+ import { anchorBlock } from './anchor-block';
3
+ export const getToolbarItemDisabled = (editor, key, customTypes) => {
4
+ if (editor.selection) {
5
+ let disabledOperateTypes = getPluginOptions(editor, key)?.disabledOperateTypes ?? [];
6
+ if (customTypes?.length) {
7
+ disabledOperateTypes = Array.from(new Set([...disabledOperateTypes, ...customTypes]));
8
+ }
9
+ const anchorNode = anchorBlock(editor);
10
+ return anchorNode && disabledOperateTypes.includes(anchorNode?.type);
11
+ }
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRvb2xiYXItZGlzYWJsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9nZXQtdG9vbGJhci1kaXNhYmxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBYyxFQUFFLEdBQWMsRUFBRSxXQUFrQyxFQUFFLEVBQUU7SUFDekcsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2xCLElBQUksb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUNyRixJQUFJLFdBQVcsRUFBRSxNQUFNLEVBQUU7WUFDckIsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekY7UUFDRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsT0FBTyxVQUFVLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN4RTtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFBsdWdpbktleSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2sgfSBmcm9tICcuL2FuY2hvci1ibG9jayc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50S2luZHMgfSBmcm9tICcuLi9jdXN0b20tdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCA9IChlZGl0b3I6IEVkaXRvciwga2V5OiBQbHVnaW5LZXksIGN1c3RvbVR5cGVzPzogQ3VzdG9tRWxlbWVudEtpbmRzW10pID0+IHtcbiAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICBsZXQgZGlzYWJsZWRPcGVyYXRlVHlwZXMgPSBnZXRQbHVnaW5PcHRpb25zKGVkaXRvciwga2V5KT8uZGlzYWJsZWRPcGVyYXRlVHlwZXMgPz8gW107XG4gICAgICAgIGlmIChjdXN0b21UeXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBkaXNhYmxlZE9wZXJhdGVUeXBlcyA9IEFycmF5LmZyb20obmV3IFNldChbLi4uZGlzYWJsZWRPcGVyYXRlVHlwZXMsIC4uLmN1c3RvbVR5cGVzXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFuY2hvck5vZGUgPSBhbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICByZXR1cm4gYW5jaG9yTm9kZSAmJiBkaXNhYmxlZE9wZXJhdGVUeXBlcy5pbmNsdWRlcyhhbmNob3JOb2RlPy50eXBlKTtcbiAgICB9XG59O1xuIl19