@worktile/theia 3.0.8 → 3.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/toolbar/toolbar.component.d.ts +2 -3
- package/components/toolbar-dropdown/toolbar-dropdown.component.scss +0 -1
- package/components/toolbar-item/toolbar-item.component.d.ts +2 -3
- package/esm2020/components/color-select/color-select.component.mjs +109 -0
- package/{esm2015/components/column-resize/column-resize-notifier.js → esm2020/components/column-resize/column-resize-notifier.mjs} +4 -4
- package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +4 -4
- package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
- package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +4 -4
- package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +4 -4
- package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +0 -0
- package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +4 -4
- package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +0 -0
- package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
- package/esm2020/components/element/element.component.mjs +23 -0
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
- package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +4 -4
- package/esm2020/components/table-select/table-select.component.mjs +50 -0
- package/esm2020/components/template/template.component.mjs +62 -0
- package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +4 -4
- package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
- package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +0 -0
- package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +0 -0
- package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +0 -0
- package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +0 -0
- package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +0 -0
- package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +0 -0
- package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +0 -0
- package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +0 -0
- package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +0 -0
- package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +0 -0
- package/esm2020/core/create-toolbar.mjs +56 -0
- package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
- package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +0 -0
- package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +0 -0
- package/esm2020/core/utils/get-plugin-options.mjs +3 -0
- package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +0 -0
- package/esm2020/core/utils/get-plugins.mjs +4 -0
- package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
- package/esm2020/core/utils/merge-array.mjs +18 -0
- package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +0 -0
- package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +0 -0
- package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +0 -0
- package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +0 -0
- package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +0 -0
- package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +0 -0
- package/esm2020/editor.component.mjs +431 -0
- package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +5 -6
- package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +0 -0
- package/esm2020/interfaces/editor.mjs +25 -0
- package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +0 -0
- package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +0 -0
- package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
- package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +0 -0
- package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +0 -0
- package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +0 -0
- package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +0 -0
- package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +0 -0
- package/{esm2015/interfaces/reset-block-type-plugin-options.js → esm2020/interfaces/reset-block-type-plugin-options.mjs} +0 -0
- package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +0 -0
- package/{esm2015/interfaces/upload.js → esm2020/interfaces/upload.mjs} +1 -1
- package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +0 -0
- package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +0 -0
- package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +0 -0
- package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +0 -0
- package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +0 -0
- package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +4 -4
- package/{esm2015/pipes.js → esm2020/pipes.mjs} +7 -7
- package/esm2020/plugins/align/align.editor.mjs +47 -0
- package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +0 -0
- package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
- package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +0 -0
- package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +0 -0
- package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +4 -4
- package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
- package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +0 -0
- package/esm2020/plugins/code/code.component.mjs +241 -0
- package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +0 -0
- package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +0 -0
- package/esm2020/plugins/color/color.editor.mjs +44 -0
- package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +0 -0
- package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
- package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
- package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +2 -2
- package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
- package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +0 -0
- package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +0 -0
- package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +0 -0
- package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +0 -0
- package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +0 -0
- package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +0 -0
- package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +0 -0
- package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +0 -0
- package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
- package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +0 -0
- package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +0 -0
- package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +4 -4
- package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +0 -0
- package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +0 -0
- package/esm2020/plugins/image/image.component.mjs +365 -0
- package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +0 -0
- package/esm2020/plugins/image/image.plugin.mjs +57 -0
- package/esm2020/plugins/indent/indent.editor.mjs +71 -0
- package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
- package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +0 -0
- package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +0 -0
- package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +4 -4
- package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +2 -3
- package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +0 -0
- package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
- package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
- package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +7 -7
- package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +0 -0
- package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +0 -0
- package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +0 -0
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
- package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
- package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
- package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +0 -0
- package/esm2020/plugins/list/list.plugin.mjs +286 -0
- package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +0 -0
- package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
- package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +0 -0
- package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +0 -0
- package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +0 -0
- package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +0 -0
- package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +0 -0
- package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +0 -0
- package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +0 -0
- package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +0 -0
- package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +0 -0
- package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +0 -0
- package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +0 -0
- 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
- 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
- package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +0 -0
- package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +0 -0
- package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +0 -0
- package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +0 -0
- 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
- 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
- package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +0 -0
- package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +0 -0
- package/{esm2015/plugins/list/types.js → esm2020/plugins/list/types.mjs} +0 -0
- package/esm2020/plugins/mark/mark.editor.mjs +28 -0
- package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
- package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
- package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
- package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +0 -0
- package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
- package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +0 -0
- package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +0 -0
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
- package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
- package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +0 -0
- package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
- package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
- package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +0 -0
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
- package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +4 -4
- package/esm2020/plugins/table/components/table.component.mjs +461 -0
- package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
- package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +8 -5
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
- package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +0 -0
- package/esm2020/plugins/table/table.plugin.mjs +427 -0
- package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +4 -4
- package/esm2020/plugins/table/table.store.mjs +484 -0
- package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +0 -0
- package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
- package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
- package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +0 -0
- package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +0 -0
- package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +0 -0
- package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
- package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +0 -0
- package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +0 -0
- package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +0 -0
- package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +0 -0
- package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +0 -0
- package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +0 -0
- package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +0 -0
- package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +0 -0
- package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +0 -0
- package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +0 -0
- package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +5 -2
- package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +0 -0
- package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +0 -0
- package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +0 -0
- package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +0 -0
- package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +0 -0
- package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +0 -0
- package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +0 -0
- package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +0 -0
- package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +0 -0
- package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +0 -0
- package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +0 -0
- package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
- package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +0 -0
- package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +0 -0
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
- package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +0 -0
- package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +0 -0
- package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +0 -0
- package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +0 -0
- package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +0 -0
- package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +0 -0
- package/esm2020/queries/get-above-by-type.mjs +14 -0
- package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +0 -0
- package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +0 -0
- package/esm2020/queries/get-block-above.mjs +10 -0
- package/esm2020/queries/get-block-card-above.mjs +10 -0
- package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +0 -0
- package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +0 -0
- package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +0 -0
- package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +0 -0
- package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +0 -0
- package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +0 -0
- package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +0 -0
- package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +0 -0
- package/esm2020/queries/get-nodes-by-type.mjs +15 -0
- package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +0 -0
- package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +0 -0
- package/esm2020/queries/get-plain-text.mjs +16 -0
- package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +0 -0
- package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +0 -0
- package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +0 -0
- package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +0 -0
- package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +0 -0
- package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +0 -0
- package/esm2020/queries/get-selection-marks.mjs +18 -0
- package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +0 -0
- package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +0 -0
- package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
- package/esm2020/queries/index.mjs +59 -0
- package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +0 -0
- package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +0 -0
- package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +0 -0
- package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +0 -0
- package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +0 -0
- package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +0 -0
- package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +0 -0
- package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +0 -0
- package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +0 -0
- package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +0 -0
- package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +0 -0
- package/esm2020/queries/is-empty-content.mjs +15 -0
- package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +0 -0
- package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +0 -0
- package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +0 -0
- package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +0 -0
- package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +0 -0
- package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +0 -0
- package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +0 -0
- package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +0 -0
- package/esm2020/queries/is-range-across-blocks.mjs +22 -0
- package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +0 -0
- package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +0 -0
- package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +0 -0
- package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +4 -4
- package/esm2020/services/context.service.mjs +59 -0
- package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +4 -4
- package/esm2020/services/toolbar.service.mjs +48 -0
- package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +0 -0
- package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +0 -0
- package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +0 -0
- package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +0 -0
- package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +0 -0
- package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +0 -0
- package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +0 -0
- package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +0 -0
- package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +0 -0
- package/esm2020/transforms/insert-elements.mjs +34 -0
- package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +0 -0
- package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
- package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +0 -0
- package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +0 -0
- package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +0 -0
- package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +0 -0
- package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +0 -0
- package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +0 -0
- package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +0 -0
- package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +0 -0
- package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
- package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +0 -0
- package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +0 -0
- package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +0 -0
- package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +0 -0
- package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +0 -0
- package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +0 -0
- package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
- package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +0 -0
- package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +0 -0
- package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +0 -0
- package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +0 -0
- package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +0 -0
- package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
- package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +0 -0
- package/esm2020/utils/is-inline.mjs +9 -0
- package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +0 -0
- package/esm2020/utils/match.mjs +32 -0
- package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +0 -0
- package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
- package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +0 -0
- package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +257 -316
- package/fesm2015/worktile-theia.mjs.map +1 -0
- package/fesm2020/worktile-theia.mjs +13739 -0
- package/fesm2020/worktile-theia.mjs.map +1 -0
- package/interfaces/editor.d.ts +3 -3
- package/interfaces/upload.d.ts +1 -1
- package/package.json +20 -6
- package/queries/index.d.ts +2 -1
- package/queries/is-empty-content.d.ts +2 -0
- package/bundles/worktile-theia.umd.js +0 -14905
- package/bundles/worktile-theia.umd.js.map +0 -1
- package/esm2015/components/color-select/color-select.component.js +0 -113
- package/esm2015/components/column-resize/column-resize.module.js +0 -34
- package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
- package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
- package/esm2015/components/element/element.component.js +0 -24
- package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
- package/esm2015/components/table-select/table-select.component.js +0 -53
- package/esm2015/components/template/template.component.js +0 -66
- package/esm2015/components/toolbar/toolbar.component.js +0 -250
- package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
- package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
- package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
- package/esm2015/core/create-toolbar.js +0 -57
- package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
- package/esm2015/core/utils/get-plugin-options.js +0 -3
- package/esm2015/core/utils/get-plugins.js +0 -5
- package/esm2015/core/utils/merge-array.js +0 -18
- package/esm2015/editor.component.js +0 -440
- package/esm2015/interfaces/editor.js +0 -23
- package/esm2015/plugins/align/align.editor.js +0 -48
- package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
- package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
- package/esm2015/plugins/code/code.component.js +0 -245
- package/esm2015/plugins/color/color.editor.js +0 -45
- package/esm2015/plugins/color/toolbar-item.component.js +0 -124
- package/esm2015/plugins/common/auto-insert-data..js +0 -78
- package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
- package/esm2015/plugins/font-size/font-size.editor.js +0 -98
- package/esm2015/plugins/image/image.component.js +0 -370
- package/esm2015/plugins/image/image.plugin.js +0 -58
- package/esm2015/plugins/indent/indent.editor.js +0 -73
- package/esm2015/plugins/indent/indent.plugin.js +0 -60
- package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
- package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
- package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
- package/esm2015/plugins/list/components/list-item.component.js +0 -95
- package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
- package/esm2015/plugins/list/list.plugin.js +0 -281
- package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
- package/esm2015/plugins/mark/mark.editor.js +0 -29
- package/esm2015/plugins/mark/mark.plugin.js +0 -102
- package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
- package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
- package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
- package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
- package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
- package/esm2015/plugins/table/components/table.component.js +0 -470
- package/esm2015/plugins/table/components/td/td.component.js +0 -698
- package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
- package/esm2015/plugins/table/table.plugin.js +0 -424
- package/esm2015/plugins/table/table.store.js +0 -480
- package/esm2015/plugins/table/toolbar-item.component.js +0 -86
- package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
- package/esm2015/plugins/table/transforms/insert-table.js +0 -15
- package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
- package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
- package/esm2015/queries/get-above-by-type.js +0 -11
- package/esm2015/queries/get-block-above.js +0 -7
- package/esm2015/queries/get-block-card-above.js +0 -7
- package/esm2015/queries/get-nodes-by-type.js +0 -12
- package/esm2015/queries/get-plain-text.js +0 -16
- package/esm2015/queries/get-selection-marks.js +0 -19
- package/esm2015/queries/get-toolbar-disabled.js +0 -14
- package/esm2015/queries/index.js +0 -58
- package/esm2015/queries/is-range-across-blocks.js +0 -18
- package/esm2015/services/context.service.js +0 -60
- package/esm2015/services/toolbar.service.js +0 -48
- package/esm2015/transforms/insert-elements.js +0 -35
- package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
- package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
- package/esm2015/utils/is-inline.js +0 -10
- package/esm2015/utils/match.js +0 -29
- package/fesm2015/worktile-theia.js.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Transforms } from 'slate';
|
|
3
|
-
import { ColorEditor } from './color.editor';
|
|
4
|
-
import { Colors, SpecialBackgroundColor, SpecialTextColor } from '../../constants/color-select';
|
|
5
|
-
import { MarkTypes } from '../../constants/node-types';
|
|
6
|
-
import { TheColorSelectComponent } from '../../components/color-select/color-select.component';
|
|
7
|
-
import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "ngx-tethys/popover";
|
|
10
|
-
import * as i2 from "ngx-tethys/nav";
|
|
11
|
-
import * as i3 from "ngx-tethys/icon";
|
|
12
|
-
import * as i4 from "@angular/common";
|
|
13
|
-
import * as i5 from "ngx-tethys/tooltip";
|
|
14
|
-
export class TheColorToolbarItemComponent extends TheBaseToolbarItem {
|
|
15
|
-
constructor(thyPopover) {
|
|
16
|
-
super();
|
|
17
|
-
this.thyPopover = thyPopover;
|
|
18
|
-
}
|
|
19
|
-
get isOpenColorSelect() {
|
|
20
|
-
return this.colorSelectRef && this.colorSelectRef.componentInstance;
|
|
21
|
-
}
|
|
22
|
-
execute(event) {
|
|
23
|
-
var _a;
|
|
24
|
-
super.execute(event);
|
|
25
|
-
if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const type = this.toolbarItem.key;
|
|
29
|
-
this.toggleColorSelect(event, type);
|
|
30
|
-
}
|
|
31
|
-
toggleColorSelect(event, type) {
|
|
32
|
-
if (this.isOpenColorSelect) {
|
|
33
|
-
this.colorSelectRef.close();
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.colorSelectRef = this.thyPopover.open(TheColorSelectComponent, {
|
|
37
|
-
initialState: {
|
|
38
|
-
colors: Colors,
|
|
39
|
-
selectedColor: ColorEditor.getActiveColor(this.editor, type),
|
|
40
|
-
option: {
|
|
41
|
-
showCustom: true,
|
|
42
|
-
perRowColorNumbers: 8,
|
|
43
|
-
rowOptions: { 2: '#aaa' },
|
|
44
|
-
specialColor: type === MarkTypes.color ? SpecialTextColor : SpecialBackgroundColor
|
|
45
|
-
},
|
|
46
|
-
selectAction: (color) => {
|
|
47
|
-
Transforms.select(this.editor, this.editor.selection);
|
|
48
|
-
ColorEditor.setColor(this.editor, color, type);
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
origin: event.currentTarget,
|
|
52
|
-
backdropClosable: false,
|
|
53
|
-
placement: 'bottomLeft',
|
|
54
|
-
offset: 10,
|
|
55
|
-
minWidth: 0,
|
|
56
|
-
hasBackdrop: false,
|
|
57
|
-
insideClosable: false,
|
|
58
|
-
panelClass: 'color-select-container'
|
|
59
|
-
});
|
|
60
|
-
return this.colorSelectRef;
|
|
61
|
-
}
|
|
62
|
-
close() {
|
|
63
|
-
if (this.isOpenColorSelect) {
|
|
64
|
-
this.colorSelectRef.close();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
TheColorToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheColorToolbarItemComponent, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
TheColorToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheColorToolbarItemComponent, selector: "the-color-toolbar-item", host: { classAttribute: "the-toolbar-item" }, usesInheritance: true, ngImport: i0, template: `
|
|
70
|
-
<a
|
|
71
|
-
class="link-width-down"
|
|
72
|
-
thyIconNavLink
|
|
73
|
-
[ngStyle]="{
|
|
74
|
-
width: toolbarItem.key === 'color' ? '42px' : 'auto'
|
|
75
|
-
}"
|
|
76
|
-
[thyTooltip]="toolbarItem.name"
|
|
77
|
-
[thyIconNavLinkActive]="active"
|
|
78
|
-
thyTooltipPlacement="top"
|
|
79
|
-
(mousedown)="execute($event)"
|
|
80
|
-
>
|
|
81
|
-
<thy-icon [thyIconName]="toolbarItem.icon" thyIconType="twotone" [thyTwotoneColor]="active"></thy-icon>
|
|
82
|
-
<thy-icon
|
|
83
|
-
[ngClass]="{
|
|
84
|
-
'link-down-icon': true,
|
|
85
|
-
'font-size-sm': true,
|
|
86
|
-
'text-desc': true
|
|
87
|
-
}"
|
|
88
|
-
thyIconName="caret-down"
|
|
89
|
-
></thy-icon>
|
|
90
|
-
</a>
|
|
91
|
-
`, isInline: true, components: [{ type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheColorToolbarItemComponent, decorators: [{
|
|
93
|
-
type: Component,
|
|
94
|
-
args: [{
|
|
95
|
-
selector: 'the-color-toolbar-item',
|
|
96
|
-
template: `
|
|
97
|
-
<a
|
|
98
|
-
class="link-width-down"
|
|
99
|
-
thyIconNavLink
|
|
100
|
-
[ngStyle]="{
|
|
101
|
-
width: toolbarItem.key === 'color' ? '42px' : 'auto'
|
|
102
|
-
}"
|
|
103
|
-
[thyTooltip]="toolbarItem.name"
|
|
104
|
-
[thyIconNavLinkActive]="active"
|
|
105
|
-
thyTooltipPlacement="top"
|
|
106
|
-
(mousedown)="execute($event)"
|
|
107
|
-
>
|
|
108
|
-
<thy-icon [thyIconName]="toolbarItem.icon" thyIconType="twotone" [thyTwotoneColor]="active"></thy-icon>
|
|
109
|
-
<thy-icon
|
|
110
|
-
[ngClass]="{
|
|
111
|
-
'link-down-icon': true,
|
|
112
|
-
'font-size-sm': true,
|
|
113
|
-
'text-desc': true
|
|
114
|
-
}"
|
|
115
|
-
thyIconName="caret-down"
|
|
116
|
-
></thy-icon>
|
|
117
|
-
</a>
|
|
118
|
-
`,
|
|
119
|
-
host: {
|
|
120
|
-
class: 'the-toolbar-item'
|
|
121
|
-
}
|
|
122
|
-
}]
|
|
123
|
-
}], ctorParameters: function () { return [{ type: i1.ThyPopover }]; } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFhLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0csT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBK0IvRSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsa0JBQWtCO0lBT2hFLFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBTkQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsQ0FBQztJQU1ELE9BQU8sQ0FBQyxLQUFpQjs7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEtBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQWtELENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxJQUFpRDtRQUNsRixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsWUFBWSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUM1RCxNQUFNLEVBQUU7b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGtCQUFrQixFQUFFLENBQUM7b0JBQ3JCLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7b0JBQ3pCLFlBQVksRUFBRSxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtpQkFDckY7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsS0FBZ0IsRUFBRSxFQUFFO29CQUMvQixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkQsQ0FBQzthQUNKO1lBQ0QsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixjQUFjLEVBQUUsS0FBSztZQUNyQixVQUFVLEVBQUUsd0JBQXdCO1NBQ3ZDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDOzswSEF4RFEsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsbUlBM0IzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXNCVDs0RkFLUSw0QkFBNEI7a0JBN0J4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXNCVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IENvbG9yRWRpdG9yIH0gZnJvbSAnLi9jb2xvci5lZGl0b3InO1xuaW1wb3J0IHsgQ29sb3JzLCBDb2xvclR5cGUsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IsIFNwZWNpYWxUZXh0Q29sb3IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3Itc2VsZWN0JztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWNvbG9yLXRvb2xiYXItaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwibGluay13aWR0aC1kb3duXCJcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHRvb2xiYXJJdGVtLmtleSA9PT0gJ2NvbG9yJyA/ICc0MnB4JyA6ICdhdXRvJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbdGh5VG9vbHRpcF09XCJ0b29sYmFySXRlbS5uYW1lXCJcbiAgICAgICAgICAgIFt0aHlJY29uTmF2TGlua0FjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwidG9vbGJhckl0ZW0uaWNvblwiIHRoeUljb25UeXBlPVwidHdvdG9uZVwiIFt0aHlUd290b25lQ29sb3JdPVwiYWN0aXZlXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDx0aHktaWNvblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2xpbmstZG93bi1pY29uJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZS1zbSc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICd0ZXh0LWRlc2MnOiB0cnVlXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCJcbiAgICAgICAgICAgID48L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItaXRlbSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlVG9vbGJhckl0ZW0ge1xuICAgIGNvbG9yU2VsZWN0UmVmOiBUaHlQb3BvdmVyUmVmPFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50PjtcblxuICAgIGdldCBpc09wZW5Db2xvclNlbGVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sb3JTZWxlY3RSZWYgJiYgdGhpcy5jb2xvclNlbGVjdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBleGVjdXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0eXBlID0gdGhpcy50b29sYmFySXRlbS5rZXkgYXMgTWFya1R5cGVzLmNvbG9yICYgTWFya1R5cGVzLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgdGhpcy50b2dnbGVDb2xvclNlbGVjdChldmVudCwgdHlwZSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlQ29sb3JTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQsIHR5cGU6IE1hcmtUeXBlcy5jb2xvciB8IE1hcmtUeXBlcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGNvbG9yczogQ29sb3JzLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I6IENvbG9yRWRpdG9yLmdldEFjdGl2ZUNvbG9yKHRoaXMuZWRpdG9yLCB0eXBlKSxcbiAgICAgICAgICAgICAgICBvcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgc2hvd0N1c3RvbTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGVyUm93Q29sb3JOdW1iZXJzOiA4LFxuICAgICAgICAgICAgICAgICAgICByb3dPcHRpb25zOiB7IDI6ICcjYWFhJyB9LFxuICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29sb3I6IHR5cGUgPT09IE1hcmtUeXBlcy5jb2xvciA/IFNwZWNpYWxUZXh0Q29sb3IgOiBTcGVjaWFsQmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZWxlY3RBY3Rpb246IChjb2xvcjogQ29sb3JUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICBDb2xvckVkaXRvci5zZXRDb2xvcih0aGlzLmVkaXRvciwgY29sb3IsIHR5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW46IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2NvbG9yLXNlbGVjdC1jb250YWluZXInXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvclNlbGVjdFJlZjtcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Editor, Path, Transforms } from 'slate';
|
|
2
|
-
import { AngularEditor } from 'slate-angular';
|
|
3
|
-
import { DefaultElementOptions, PluginKeys } from '../../interfaces';
|
|
4
|
-
import { createPluginFactory } from '../../core';
|
|
5
|
-
import { extractFragment } from '../../utils/fragment';
|
|
6
|
-
import { mergeElementOptions } from '../../utils/merge-element-options';
|
|
7
|
-
import * as TheQueries from '../../queries';
|
|
8
|
-
import * as TheTransforms from '../../transforms';
|
|
9
|
-
export const withAutoInsertData = (editor) => {
|
|
10
|
-
const { insertData } = editor;
|
|
11
|
-
let allElementOptions = DefaultElementOptions;
|
|
12
|
-
// if (validChildren?.length) {
|
|
13
|
-
// const validInfo = mergeElementOptions(validChildren);
|
|
14
|
-
// allElementOptions = Object.values(validInfo);
|
|
15
|
-
// }
|
|
16
|
-
editor.insertData = (data) => {
|
|
17
|
-
var _a;
|
|
18
|
-
if ((_a = editor.extraElementOptions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
19
|
-
const extraInfo = mergeElementOptions(editor.extraElementOptions);
|
|
20
|
-
allElementOptions = Object.values(extraInfo);
|
|
21
|
-
}
|
|
22
|
-
const indivisibleTypes = allElementOptions.filter(item => item.isIndivisible).map(item => item.type);
|
|
23
|
-
const fragment = extractFragment(data);
|
|
24
|
-
if (fragment) {
|
|
25
|
-
if (TheQueries.isAcrossBlocks(editor, fragment) || Editor.isVoid(editor, fragment[0])) {
|
|
26
|
-
const { selection } = editor;
|
|
27
|
-
const [start] = Editor.edges(editor, selection);
|
|
28
|
-
// query whether there is a node to be verified
|
|
29
|
-
const tryVerifyNode = allElementOptions.find(item => TheQueries.getAboveByType(editor, item.type, { at: start, mode: 'lowest' }));
|
|
30
|
-
if (tryVerifyNode) {
|
|
31
|
-
// is exist invalid element type in fragment
|
|
32
|
-
const invalidIndex = fragment.findIndex(item => tryVerifyNode.inValidChildrenTypes.includes(item.type));
|
|
33
|
-
if (invalidIndex > -1) {
|
|
34
|
-
const validFragmentData = fragment.slice(0, invalidIndex);
|
|
35
|
-
const invalidFragmentData = fragment.slice(invalidIndex, fragment.length);
|
|
36
|
-
Editor.withoutNormalizing(editor, () => {
|
|
37
|
-
if (validFragmentData.length > 0) {
|
|
38
|
-
validFragmentData.forEach(item => {
|
|
39
|
-
Transforms.insertNodes(editor, item);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// split node
|
|
43
|
-
const path = TheTransforms.splitNode(editor, indivisibleTypes);
|
|
44
|
-
Transforms.insertNodes(editor, invalidFragmentData, {
|
|
45
|
-
at: Path.next(path)
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
Editor.withoutNormalizing(editor, () => {
|
|
52
|
-
const isEmptyParagraph = TheQueries.isEmptyParagraph(editor, editor.selection.anchor);
|
|
53
|
-
const emptyPath = Path.parent(editor.selection.anchor.path);
|
|
54
|
-
Transforms.insertNodes(editor, fragment);
|
|
55
|
-
if (isEmptyParagraph) {
|
|
56
|
-
Transforms.delete(editor, { at: emptyPath });
|
|
57
|
-
const lastPath = emptyPath.pop();
|
|
58
|
-
Transforms.select(editor, [...emptyPath, lastPath + fragment.length - 1]);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const lastPath = emptyPath.pop();
|
|
62
|
-
Transforms.select(editor, [...emptyPath, lastPath + fragment.length]);
|
|
63
|
-
}
|
|
64
|
-
AngularEditor.focus(editor);
|
|
65
|
-
Transforms.collapse(editor, { edge: 'end' });
|
|
66
|
-
});
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
insertData(data);
|
|
71
|
-
};
|
|
72
|
-
return editor;
|
|
73
|
-
};
|
|
74
|
-
export const createAutoInsertDataPlugin = createPluginFactory({
|
|
75
|
-
key: PluginKeys.autoInsertData,
|
|
76
|
-
withOverrides: withAutoInsertData
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1pbnNlcnQtZGF0YS4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUNqRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlCLElBQUksaUJBQWlCLEdBQUcscUJBQXFCLENBQUM7SUFDOUMsK0JBQStCO0lBQy9CLDREQUE0RDtJQUM1RCxvREFBb0Q7SUFDcEQsSUFBSTtJQUVKLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7O1FBQ3ZDLElBQUksTUFBQSxNQUFNLENBQUMsbUJBQW1CLDBDQUFFLE1BQU0sRUFBRTtZQUNwQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNsRSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25GLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDaEQsK0NBQStDO2dCQUMvQyxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDaEQsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQzlFLENBQUM7Z0JBQ0YsSUFBSSxhQUFhLEVBQUU7b0JBQ2YsNENBQTRDO29CQUM1QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDeEcsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ25CLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7d0JBQzFELE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRSxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTs0QkFDbkMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dDQUM5QixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0NBQzdCLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2dDQUN6QyxDQUFDLENBQUMsQ0FBQzs2QkFDTjs0QkFDRCxhQUFhOzRCQUNiLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7NEJBQy9ELFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFO2dDQUNoRCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ3RCLENBQUMsQ0FBQzt3QkFDUCxDQUFDLENBQUMsQ0FBQzt3QkFDSCxPQUFPO3FCQUNWO2lCQUNKO2dCQUNELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO29CQUNuQyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDNUQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ3pDLElBQUksZ0JBQWdCLEVBQUU7d0JBQ2xCLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzdDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDakMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM3RTt5QkFBTTt3QkFDSCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2pDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3FCQUN6RTtvQkFDRCxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QixVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPO2FBQ1Y7U0FDSjtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FBQztJQUMxRCxHQUFHLEVBQUUsVUFBVSxDQUFDLGNBQWM7SUFDOUIsYUFBYSxFQUFFLGtCQUFrQjtDQUNwQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBEZWZhdWx0RWxlbWVudE9wdGlvbnMsIFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IGV4dHJhY3RGcmFnbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ZyYWdtZW50JztcbmltcG9ydCB7IG1lcmdlRWxlbWVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9tZXJnZS1lbGVtZW50LW9wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b0luc2VydERhdGEgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyBpbnNlcnREYXRhIH0gPSBlZGl0b3I7XG4gICAgbGV0IGFsbEVsZW1lbnRPcHRpb25zID0gRGVmYXVsdEVsZW1lbnRPcHRpb25zO1xuICAgIC8vIGlmICh2YWxpZENoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAvLyAgICAgY29uc3QgdmFsaWRJbmZvID0gbWVyZ2VFbGVtZW50T3B0aW9ucyh2YWxpZENoaWxkcmVuKTtcbiAgICAvLyAgICAgYWxsRWxlbWVudE9wdGlvbnMgPSBPYmplY3QudmFsdWVzKHZhbGlkSW5mbyk7XG4gICAgLy8gfVxuXG4gICAgZWRpdG9yLmluc2VydERhdGEgPSAoZGF0YTogRGF0YVRyYW5zZmVyKSA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBleHRyYUluZm8gPSBtZXJnZUVsZW1lbnRPcHRpb25zKGVkaXRvci5leHRyYUVsZW1lbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGFsbEVsZW1lbnRPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhleHRyYUluZm8pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGl2aXNpYmxlVHlwZXMgPSBhbGxFbGVtZW50T3B0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzSW5kaXZpc2libGUpLm1hcChpdGVtID0+IGl0ZW0udHlwZSk7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZXh0cmFjdEZyYWdtZW50KGRhdGEpO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGlmIChUaGVRdWVyaWVzLmlzQWNyb3NzQmxvY2tzKGVkaXRvciwgZnJhZ21lbnQpIHx8IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBmcmFnbWVudFswXSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydF0gPSBFZGl0b3IuZWRnZXMoZWRpdG9yLCBzZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIC8vIHF1ZXJ5IHdoZXRoZXIgdGhlcmUgaXMgYSBub2RlIHRvIGJlIHZlcmlmaWVkXG4gICAgICAgICAgICAgICAgY29uc3QgdHJ5VmVyaWZ5Tm9kZSA9IGFsbEVsZW1lbnRPcHRpb25zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgaXRlbS50eXBlLCB7IGF0OiBzdGFydCwgbW9kZTogJ2xvd2VzdCcgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICh0cnlWZXJpZnlOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlzIGV4aXN0IGludmFsaWQgZWxlbWVudCB0eXBlIGluIGZyYWdtZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGludmFsaWRJbmRleCA9IGZyYWdtZW50LmZpbmRJbmRleChpdGVtID0+IHRyeVZlcmlmeU5vZGUuaW5WYWxpZENoaWxkcmVuVHlwZXMuaW5jbHVkZXMoaXRlbS50eXBlKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRGcmFnbWVudERhdGEgPSBmcmFnbWVudC5zbGljZSgwLCBpbnZhbGlkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW52YWxpZEZyYWdtZW50RGF0YSA9IGZyYWdtZW50LnNsaWNlKGludmFsaWRJbmRleCwgZnJhZ21lbnQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkRnJhZ21lbnREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRGcmFnbWVudERhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwbGl0IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlVHJhbnNmb3Jtcy5zcGxpdE5vZGUoZWRpdG9yLCBpbmRpdmlzaWJsZVR5cGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgaW52YWxpZEZyYWdtZW50RGF0YSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogUGF0aC5uZXh0KHBhdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0VtcHR5UGFyYWdyYXBoID0gVGhlUXVlcmllcy5pc0VtcHR5UGFyYWdyYXBoKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbXB0eVBhdGggPSBQYXRoLnBhcmVudChlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogZW1wdHlQYXRoIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoIC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbXB0eVBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFsuLi5lbXB0eVBhdGgsIGxhc3RQYXRoICsgZnJhZ21lbnQubGVuZ3RoXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5mb2N1cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBdXRvSW5zZXJ0RGF0YVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5hdXRvSW5zZXJ0RGF0YSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoQXV0b0luc2VydERhdGFcbn0pO1xuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Element } from 'slate';
|
|
2
|
-
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
3
|
-
import { PluginKeys } from '../../interfaces';
|
|
4
|
-
import * as TheQueries from '../../queries';
|
|
5
|
-
export const withGetFragment = (editor) => {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
const { getFragment } = editor;
|
|
8
|
-
const elementKinds = (_b = (_a = getPluginOptions(editor, PluginKeys.getFragment)) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : [];
|
|
9
|
-
editor.getFragment = () => {
|
|
10
|
-
const { selection } = editor;
|
|
11
|
-
const containerBlocks = [...elementKinds, ...TheQueries.getContainerBlocks(editor)];
|
|
12
|
-
if (selection && selection.anchor.path[0] === selection.focus.path[0]) {
|
|
13
|
-
const fragmentData = getFragment();
|
|
14
|
-
const nodes = TheQueries.getSelectionNodesByType(editor, fragmentData, containerBlocks);
|
|
15
|
-
return nodes && Element.isElement(nodes) ? nodes.children : fragmentData;
|
|
16
|
-
}
|
|
17
|
-
return getFragment();
|
|
18
|
-
};
|
|
19
|
-
return editor;
|
|
20
|
-
};
|
|
21
|
-
export const createGetFragmentPlugin = createPluginFactory({
|
|
22
|
-
key: PluginKeys.getFragment,
|
|
23
|
-
withOverrides: withGetFragment
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZyYWdtZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2NvbW1vbi9nZXQtZnJhZ21lbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQU01QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7O0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLGdCQUFnQixDQUEyQixNQUFNLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLEVBQUUsQ0FBQztJQUU3RyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRSxNQUFNLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUN4RixPQUFPLEtBQUssSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDNUU7UUFDRCxPQUFPLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUEyQjtJQUNqRixHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVc7SUFDM0IsYUFBYSxFQUFFLGVBQWU7Q0FDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RnJhZ21lbnRQbHVnaW5PcHRpb25zIHtcbiAgICB0eXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEdldEZyYWdtZW50ID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgIGNvbnN0IHsgZ2V0RnJhZ21lbnQgfSA9IGVkaXRvcjtcbiAgICBjb25zdCBlbGVtZW50S2luZHMgPSBnZXRQbHVnaW5PcHRpb25zPEdldEZyYWdtZW50UGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLmdldEZyYWdtZW50KT8udHlwZXMgPz8gW107XG5cbiAgICBlZGl0b3IuZ2V0RnJhZ21lbnQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFsuLi5lbGVtZW50S2luZHMsIC4uLlRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKGVkaXRvcildO1xuICAgICAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5hbmNob3IucGF0aFswXSA9PT0gc2VsZWN0aW9uLmZvY3VzLnBhdGhbMF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50RGF0YSA9IGdldEZyYWdtZW50KCk7XG4gICAgICAgICAgICBjb25zdCBub2RlcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTm9kZXNCeVR5cGUoZWRpdG9yLCBmcmFnbWVudERhdGEsIGNvbnRhaW5lckJsb2Nrcyk7XG4gICAgICAgICAgICByZXR1cm4gbm9kZXMgJiYgRWxlbWVudC5pc0VsZW1lbnQobm9kZXMpID8gbm9kZXMuY2hpbGRyZW4gOiBmcmFnbWVudERhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldEZyYWdtZW50KCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR2V0RnJhZ21lbnRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEdldEZyYWdtZW50UGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5nZXRGcmFnbWVudCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoR2V0RnJhZ21lbnRcbn0pO1xuIl19
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Editor } from 'slate';
|
|
2
|
-
import { ElementKinds, FontSizes, MarkTypes, HEADING_TYPES, FontSizeTypes, DISABLED_OPERATE_TYPES } from '../../constants';
|
|
3
|
-
import { PluginKeys, ToolbarItemType } from '../../interfaces';
|
|
4
|
-
import { createPluginFactory } from '../../core';
|
|
5
|
-
import { TheContextService } from '../../services/context.service';
|
|
6
|
-
import { TableEditor } from '../table/table.editor';
|
|
7
|
-
import * as TheQueries from '../../queries';
|
|
8
|
-
import * as TheTransforms from '../../transforms';
|
|
9
|
-
export const FontSizeEditor = {
|
|
10
|
-
setFontSize(editor, size) {
|
|
11
|
-
const contextService = editor.injector.get(TheContextService);
|
|
12
|
-
const defaultFontSize = contextService.getDefaultFontSize();
|
|
13
|
-
const marks = TheQueries.getSelectionMarks(editor);
|
|
14
|
-
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
15
|
-
const isDefaultFontSize = size === defaultFontSize;
|
|
16
|
-
if (!fontSizeMark && isDefaultFontSize) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
// unset fontSize
|
|
20
|
-
if (isDefaultFontSize) {
|
|
21
|
-
FontSizeEditor.unsetFontSize(editor, size);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
FontSizeEditor.setFontSizeMark(editor, size);
|
|
25
|
-
},
|
|
26
|
-
setFontSizeMark(editor, size) {
|
|
27
|
-
// set Table selectedCells fontSize
|
|
28
|
-
if (TableEditor.toggleMark(editor, false, MarkTypes.fontSize, Number(size))) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// set paragraph text fontSize
|
|
32
|
-
Editor.addMark(editor, MarkTypes.fontSize, Number(size));
|
|
33
|
-
},
|
|
34
|
-
unsetFontSize(editor, size) {
|
|
35
|
-
const isTable = TableEditor.isActive(editor);
|
|
36
|
-
// unset Table selectedCells fontSize
|
|
37
|
-
if (isTable && TableEditor.toggleMark(editor, true, MarkTypes.fontSize, Number(size))) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
// unset paragraph text fontSize
|
|
41
|
-
TheTransforms.setMarks(editor, {
|
|
42
|
-
[MarkTypes.fontSize]: null
|
|
43
|
-
}, editor.selection);
|
|
44
|
-
},
|
|
45
|
-
isFontSizeActive(editor, size) {
|
|
46
|
-
if (editor.selection) {
|
|
47
|
-
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
48
|
-
switch (anchorBlock === null || anchorBlock === void 0 ? void 0 : anchorBlock.type) {
|
|
49
|
-
case ElementKinds.heading_1:
|
|
50
|
-
return size === FontSizes.fontSize28;
|
|
51
|
-
case ElementKinds.heading_2:
|
|
52
|
-
return size === FontSizes.fontSize24;
|
|
53
|
-
case ElementKinds.heading_3:
|
|
54
|
-
return size === FontSizes.fontSize20;
|
|
55
|
-
case ElementKinds.heading_4:
|
|
56
|
-
return size === FontSizes.fontSize18;
|
|
57
|
-
case ElementKinds.heading_5:
|
|
58
|
-
return size === FontSizes.fontSize16;
|
|
59
|
-
case ElementKinds.heading_6:
|
|
60
|
-
return size === FontSizes.fontSize14;
|
|
61
|
-
case ElementKinds.paragraph:
|
|
62
|
-
const marks = TheQueries.getSelectionMarks(editor);
|
|
63
|
-
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
64
|
-
return Number(size) === fontSizeMark;
|
|
65
|
-
default:
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const sizeOptions = () => {
|
|
73
|
-
return FontSizeTypes.map(fontSize => {
|
|
74
|
-
return {
|
|
75
|
-
key: fontSize,
|
|
76
|
-
name: fontSize,
|
|
77
|
-
execute: editor => FontSizeEditor.setFontSize(editor, fontSize),
|
|
78
|
-
active: editor => FontSizeEditor.isFontSizeActive(editor, fontSize)
|
|
79
|
-
};
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
export const createFontSizePlugin = createPluginFactory({
|
|
83
|
-
key: PluginKeys.fontSize,
|
|
84
|
-
toolbarItems: [
|
|
85
|
-
{
|
|
86
|
-
key: MarkTypes.fontSize,
|
|
87
|
-
name: '字号',
|
|
88
|
-
type: ToolbarItemType.dropdown,
|
|
89
|
-
dropdownItemKey: FontSizes.fontSize14,
|
|
90
|
-
includes: FontSizeTypes
|
|
91
|
-
},
|
|
92
|
-
...sizeOptions()
|
|
93
|
-
],
|
|
94
|
-
options: {
|
|
95
|
-
disabledOperateTypes: [...HEADING_TYPES, ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2ZvbnQtc2l6ZS9mb250LXNpemUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzSCxPQUFPLEVBQWEsVUFBVSxFQUFlLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFdBQVcsQ0FBQyxNQUFpQixFQUFFLElBQWU7UUFDMUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQVcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxNQUFNLGlCQUFpQixHQUFHLElBQUksS0FBSyxlQUFlLENBQUM7UUFFbkQsSUFB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UTtZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQy9ELE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ3RFLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUTtJQUN4QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM5QixlQUFlLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDckMsUUFBUSxFQUFFLGFBQWE7U0FDMUI7UUFDRCxHQUFHLFdBQVcsRUFBRTtLQUNuQjtJQUNELE9BQU8sRUFBRTtRQUNMLG9CQUFvQixFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLHNCQUFzQixDQUFDO0tBQzFGO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBGb250U2l6ZXMsIE1hcmtUeXBlcywgSEVBRElOR19UWVBFUywgRm9udFNpemVUeXBlcywgRElTQUJMRURfT1BFUkFURV9UWVBFUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IsIFBsdWdpbktleXMsIFRvb2xiYXJJdGVtLCBUb29sYmFySXRlbVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUvdGFibGUuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuXG5leHBvcnQgY29uc3QgRm9udFNpemVFZGl0b3IgPSB7XG4gICAgc2V0Rm9udFNpemUoZWRpdG9yOiBUaGVFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBjb250ZXh0U2VydmljZS5nZXREZWZhdWx0Rm9udFNpemUoKTtcbiAgICAgICAgY29uc3QgbWFya3MgPSBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplTWFyazogbnVtYmVyID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcbiAgICAgICAgY29uc3QgaXNEZWZhdWx0Rm9udFNpemUgPSBzaXplID09PSBkZWZhdWx0Rm9udFNpemU7XG5cbiAgICAgICAgaWYgKCFmb250U2l6ZU1hcmsgJiYgaXNEZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVuc2V0IGZvbnRTaXplXG4gICAgICAgIGlmIChpc0RlZmF1bHRGb250U2l6ZSkge1xuICAgICAgICAgICAgRm9udFNpemVFZGl0b3IudW5zZXRGb250U2l6ZShlZGl0b3IsIHNpemUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgRm9udFNpemVFZGl0b3Iuc2V0Rm9udFNpemVNYXJrKGVkaXRvciwgc2l6ZSk7XG4gICAgfSxcbiAgICBzZXRGb250U2l6ZU1hcmsoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICAvLyBzZXQgVGFibGUgc2VsZWN0ZWRDZWxscyBmb250U2l6ZVxuICAgICAgICBpZiAoVGFibGVFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIGZhbHNlLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgRWRpdG9yLmFkZE1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuZm9udFNpemUsIE51bWJlcihzaXplKSk7XG4gICAgfSxcbiAgICB1bnNldEZvbnRTaXplKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgaXNUYWJsZSA9IFRhYmxlRWRpdG9yLmlzQWN0aXZlKGVkaXRvcik7XG5cbiAgICAgICAgLy8gdW5zZXQgVGFibGUgc2VsZWN0ZWRDZWxscyBmb250U2l6ZVxuICAgICAgICBpZiAoaXNUYWJsZSAmJiBUYWJsZUVkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgdHJ1ZSwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gdW5zZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbTWFya1R5cGVzLmZvbnRTaXplXTogbnVsbFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVkaXRvci5zZWxlY3Rpb25cbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzRm9udFNpemVBY3RpdmUoZWRpdG9yOiBFZGl0b3IsIHNpemU6IEZvbnRTaXplcykge1xuICAgICAgICBpZiAoZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgYW5jaG9yQmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgICAgICBzd2l0Y2ggKGFuY2hvckJsb2NrPy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18xOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18yOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ18zOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMjA7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ180OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTg7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ181OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTY7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMuaGVhZGluZ182OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZSA9PT0gRm9udFNpemVzLmZvbnRTaXplMTQ7XG4gICAgICAgICAgICAgICAgY2FzZSBFbGVtZW50S2luZHMucGFyYWdyYXBoOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IFRoZVF1ZXJpZXMuZ2V0U2VsZWN0aW9uTWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9udFNpemVNYXJrID0gbWFya3NbTWFya1R5cGVzLmZvbnRTaXplXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihzaXplKSA9PT0gZm9udFNpemVNYXJrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcblxuY29uc3Qgc2l6ZU9wdGlvbnMgPSAoKTogVG9vbGJhckl0ZW1bXSA9PiB7XG4gICAgcmV0dXJuIEZvbnRTaXplVHlwZXMubWFwKGZvbnRTaXplID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogZm9udFNpemUsXG4gICAgICAgICAgICBuYW1lOiBmb250U2l6ZSxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBGb250U2l6ZUVkaXRvci5zZXRGb250U2l6ZShlZGl0b3IsIGZvbnRTaXplKSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEZvbnRTaXplRWRpdG9yLmlzRm9udFNpemVBY3RpdmUoZWRpdG9yLCBmb250U2l6ZSlcbiAgICAgICAgfTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGb250U2l6ZVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5mb250U2l6ZSxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNYXJrVHlwZXMuZm9udFNpemUsXG4gICAgICAgICAgICBuYW1lOiAn5a2X5Y+3JyxcbiAgICAgICAgICAgIHR5cGU6IFRvb2xiYXJJdGVtVHlwZS5kcm9wZG93bixcbiAgICAgICAgICAgIGRyb3Bkb3duSXRlbUtleTogRm9udFNpemVzLmZvbnRTaXplMTQsXG4gICAgICAgICAgICBpbmNsdWRlczogRm9udFNpemVUeXBlc1xuICAgICAgICB9LFxuICAgICAgICAuLi5zaXplT3B0aW9ucygpXG4gICAgXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIGRpc2FibGVkT3BlcmF0ZVR5cGVzOiBbLi4uSEVBRElOR19UWVBFUywgRWxlbWVudEtpbmRzLmltYWdlLCAuLi5ESVNBQkxFRF9PUEVSQVRFX1RZUEVTXVxuICAgIH1cbn0pO1xuIl19
|