@worktile/theia 15.3.2 → 16.0.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.
- package/components/contextmenu/contextmenu.component.d.ts +1 -1
- package/components/conversion-hint/conversion-hint.component.d.ts +3 -3
- package/components/inline-toolbar/inline-toolbar.component.d.ts +3 -4
- package/components/listbox/listbox.d.ts +3 -3
- package/components/plugin-menu/plugin-menu.component.d.ts +4 -3
- package/components/table-select/table-select.component.d.ts +1 -1
- package/components/template/template.component.d.ts +2 -2
- package/components/toolbar/toolbar.component.d.ts +4 -4
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +2 -2
- package/components/toolbar-group/toolbar-group.component.d.ts +5 -6
- package/constants/default.d.ts +1 -1
- package/core/toolbar-item/base-toolbar-item.d.ts +6 -7
- package/core/utils/plugin-menu.d.ts +2 -2
- package/editor.component.d.ts +1 -1
- package/editor.module.d.ts +1 -1
- package/{esm2020 → esm2022}/components/action/prevent-default.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize-notifier.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize.directive.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/column-resize/event-dispatcher.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/overlay-handle.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/resizing.store.mjs +4 -4
- package/{esm2020 → esm2022}/components/contextmenu/contextmenu.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/element/element.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/inline-toolbar/inline-toolbar.component.mjs +6 -6
- package/esm2022/components/listbox/listbox.mjs +375 -0
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +191 -0
- package/{esm2020 → esm2022}/components/table-select/table-select.component.mjs +4 -4
- package/esm2022/components/template/template.component.mjs +62 -0
- package/{esm2020 → esm2022}/components/text/text.component.mjs +4 -4
- package/esm2022/components/toolbar/toolbar.component.mjs +266 -0
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +144 -0
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +122 -0
- package/{esm2020 → esm2022}/components/toolbar-item/toolbar-item.component.mjs +6 -6
- package/esm2022/constants/auto-format-rules.mjs +167 -0
- package/{esm2020 → esm2022}/constants/default.mjs +2 -2
- package/esm2022/constants/plugin-menu.mjs +328 -0
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +87 -0
- package/{esm2020 → esm2022}/core/utils/combine-plugins.mjs +1 -1
- package/esm2022/core/utils/plugin-menu.mjs +33 -0
- package/esm2022/custom-types.mjs +2 -0
- package/{esm2020 → esm2022}/editor.component.mjs +11 -11
- package/esm2022/editor.module.mjs +254 -0
- package/esm2022/interfaces/auto-format.mjs +2 -0
- package/esm2022/interfaces/editor.mjs +25 -0
- package/esm2022/interfaces/plugins/plugin-menu.mjs +19 -0
- package/esm2022/interfaces/plugins/with-override.mjs +2 -0
- package/esm2022/interfaces/reset-block-type-plugin-options.mjs +2 -0
- package/esm2022/interfaces/toolbar.mjs +12 -0
- package/{esm2020 → esm2022}/interfaces/view-base.mjs +4 -4
- package/esm2022/pipes.mjs +42 -0
- package/esm2022/plugins/align/align.editor.mjs +43 -0
- package/esm2022/plugins/align/align.plugin.mjs +64 -0
- package/{esm2020 → esm2022}/plugins/autoformat/autoformat.plugin.mjs +1 -1
- package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +14 -0
- package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +78 -0
- package/esm2022/plugins/blockquote/blockquote.component.mjs +21 -0
- package/esm2022/plugins/blockquote/blockquote.editor.mjs +17 -0
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +85 -0
- package/{esm2020 → esm2022}/plugins/code/code.component.mjs +4 -4
- package/esm2022/plugins/code/code.editor.mjs +48 -0
- package/{esm2020 → esm2022}/plugins/code/code.plugin.mjs +1 -1
- package/esm2022/plugins/color/color.editor.mjs +27 -0
- package/{esm2020 → esm2022}/plugins/color/toolbar-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/common/block-card.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/common.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/get-fragment.plugin.mjs +1 -1
- package/esm2022/plugins/common/history.plugin.mjs +31 -0
- package/{esm2020 → esm2022}/plugins/common/insert-data-by-invalid-type.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/move-selection.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/remove-empty.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/remove-void.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/reset-type.plugin.mjs +1 -1
- package/esm2022/plugins/common/transforms.plugin.mjs +18 -0
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +53 -0
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +130 -0
- package/esm2022/plugins/font-size/font-size.editor.mjs +98 -0
- package/esm2022/plugins/heading/heading.editor.mjs +54 -0
- package/esm2022/plugins/heading/heading.plugin.mjs +136 -0
- package/{esm2020 → esm2022}/plugins/hr/hr.component.mjs +6 -6
- package/esm2022/plugins/hr/hr.editor.mjs +16 -0
- package/esm2022/plugins/hr/hr.plugin.mjs +56 -0
- package/esm2022/plugins/image/image.component.mjs +420 -0
- package/esm2022/plugins/image/image.editor.mjs +81 -0
- package/esm2022/plugins/indent/indent.editor.mjs +78 -0
- package/{esm2020 → esm2022}/plugins/indent/indent.plugin.mjs +1 -1
- package/esm2022/plugins/indent/on-keydown-indent.mjs +59 -0
- package/esm2022/plugins/inline-code/inline-code.component.mjs +26 -0
- package/esm2022/plugins/inline-code/inline-code.editor.mjs +48 -0
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +66 -0
- package/esm2022/plugins/link/edit/link-edit.component.mjs +103 -0
- package/{esm2020 → esm2022}/plugins/link/hover/link-hover.component.mjs +4 -4
- package/esm2022/plugins/link/link.component.mjs +167 -0
- package/esm2022/plugins/link/link.editor.mjs +66 -0
- package/{esm2020 → esm2022}/plugins/link/link.plugin.mjs +1 -1
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +33 -0
- package/esm2022/plugins/list/components/list-item.component.mjs +93 -0
- package/esm2022/plugins/list/components/numbered-list.component.mjs +39 -0
- package/esm2022/plugins/list/list.editor.mjs +126 -0
- package/esm2022/plugins/list/list.plugin.mjs +312 -0
- package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +39 -0
- package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +18 -0
- package/esm2022/plugins/list/normalizers/normalize-no.mjs +43 -0
- package/esm2022/plugins/list/on-key-down-list.mjs +33 -0
- package/esm2022/plugins/list/queries/get-list-item-entry.mjs +28 -0
- package/esm2022/plugins/list/queries/get-start-list-item.mjs +27 -0
- package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +27 -0
- package/esm2022/plugins/list/queries/is-in-list.mjs +6 -0
- package/esm2022/plugins/list/queries/is-list-nested.mjs +10 -0
- package/esm2022/plugins/list/queries/is-list.mjs +5 -0
- package/{esm2020 → esm2022}/plugins/list/queries/is-node-type-list.mjs +1 -1
- package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +13 -0
- package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +17 -0
- package/{esm2020 → esm2022}/plugins/list/queries/is-single-list-item.mjs +1 -1
- package/esm2022/plugins/list/transforms/insert-list-data.mjs +72 -0
- package/esm2022/plugins/list/transforms/insert-list-item.mjs +72 -0
- package/esm2022/plugins/list/transforms/move-list-item-down.mjs +41 -0
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +43 -0
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +30 -0
- package/esm2022/plugins/list/transforms/move-list-item-up.mjs +78 -0
- package/esm2022/plugins/list/transforms/unwrap-list.mjs +10 -0
- package/esm2022/plugins/mark/mark.editor.mjs +28 -0
- package/{esm2020 → esm2022}/plugins/mark/mark.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/mention/mention.editor.mjs +1 -1
- package/esm2022/plugins/mention/mention.plugin.mjs +91 -0
- package/{esm2020 → esm2022}/plugins/mention/suggestion.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/node-id/node-id.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/normalizers/insert-paragraph-nodes.mjs +1 -1
- package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +18 -0
- package/{esm2020 → esm2022}/plugins/normalizers/trailing-node.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/paint-format/paint-format.editor.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +68 -0
- package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +104 -0
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +104 -0
- package/{esm2020 → esm2022}/plugins/table/components/row/row.component.mjs +6 -6
- package/{esm2020 → esm2022}/plugins/table/components/table.component.mjs +16 -16
- package/{esm2020 → esm2022}/plugins/table/components/td/td.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/table/components/toolbar/table-options.component.mjs +6 -6
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +189 -0
- package/esm2022/plugins/table/table.editor.mjs +209 -0
- package/{esm2020 → esm2022}/plugins/table/table.pipe.mjs +7 -7
- package/esm2022/plugins/table/table.plugin.mjs +544 -0
- package/{esm2020 → esm2022}/plugins/table/table.service.mjs +4 -4
- package/esm2022/plugins/table/table.store.mjs +426 -0
- package/esm2022/plugins/table/table.types.mjs +60 -0
- package/{esm2020 → esm2022}/plugins/table/toolbar-item.component.mjs +6 -6
- package/esm2022/plugins/table/transforms/clear-cell.mjs +14 -0
- package/esm2022/plugins/table/transforms/clear-table-node.mjs +27 -0
- package/esm2022/plugins/table/transforms/insert-column.mjs +69 -0
- package/esm2022/plugins/table/transforms/insert-row.mjs +50 -0
- package/esm2022/plugins/table/transforms/insert-table.mjs +15 -0
- package/esm2022/plugins/table/transforms/remove-column.mjs +51 -0
- package/esm2022/plugins/table/transforms/remove-row.mjs +48 -0
- package/esm2022/plugins/table/transforms/remove-table.mjs +49 -0
- package/esm2022/plugins/table/utils/calc-anchor-position.mjs +25 -0
- package/esm2022/plugins/table/utils/cell-position.mjs +60 -0
- package/esm2022/plugins/table/utils/create-table-position.mjs +10 -0
- package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +69 -0
- package/esm2022/plugins/table/utils/get-select-cell-node.mjs +23 -0
- package/esm2022/plugins/table/utils/handle-cell.mjs +25 -0
- package/esm2022/plugins/table/utils/is-range-in-table.mjs +16 -0
- package/esm2022/plugins/table/utils/is-selection-in-table.mjs +51 -0
- package/esm2022/plugins/table/utils/merge-cell.mjs +108 -0
- package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +45 -0
- package/esm2022/plugins/table/utils/split-cell.mjs +29 -0
- package/esm2022/plugins/table/utils/table-entry.mjs +21 -0
- package/{esm2020 → esm2022}/plugins/todo-item/todo-item.component.mjs +7 -7
- package/esm2022/plugins/todo-item/todo-item.editor.mjs +32 -0
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +93 -0
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +83 -0
- package/esm2022/queries/anchor-block-entry.mjs +13 -0
- package/esm2022/queries/anchor-block.mjs +6 -0
- package/esm2022/queries/anchor-inline-entry.mjs +10 -0
- package/{esm2020 → esm2022}/queries/find-descendant.mjs +1 -1
- package/esm2022/queries/find-node.mjs +45 -0
- package/esm2022/queries/get-above-by-type.mjs +14 -0
- package/esm2022/queries/get-above.mjs +9 -0
- package/esm2022/queries/get-anchor-block-entry.mjs +8 -0
- package/esm2022/queries/get-block-above.mjs +10 -0
- package/esm2022/queries/get-block-card-above.mjs +10 -0
- package/esm2022/queries/get-block-card-cursor.mjs +5 -0
- package/esm2022/queries/get-container-blocks.mjs +12 -0
- package/esm2022/queries/get-insert-elements-path.mjs +44 -0
- package/{esm2020 → esm2022}/queries/get-last-node.mjs +1 -1
- package/esm2022/queries/get-node.mjs +10 -0
- package/esm2022/queries/get-nodes-by-type.mjs +15 -0
- package/esm2022/queries/get-nodes.mjs +7 -0
- package/esm2022/queries/get-parent.mjs +12 -0
- package/esm2022/queries/get-plain-text.mjs +16 -0
- package/esm2022/queries/get-plugin-by-toolbar.mjs +13 -0
- package/{esm2020 → esm2022}/queries/get-point-before.mjs +1 -1
- package/esm2022/queries/get-point-from-location.mjs +15 -0
- package/esm2022/queries/get-rang-from-block-start.mjs +16 -0
- package/esm2022/queries/get-range-before.mjs +17 -0
- package/{esm2020 → esm2022}/queries/get-selection-marks.mjs +1 -1
- package/esm2022/queries/get-selection-nodes-by-type.mjs +30 -0
- package/esm2022/queries/get-text.mjs +9 -0
- package/esm2022/queries/get-toolbar-disabled.mjs +13 -0
- package/esm2022/queries/is-across-blocks.mjs +7 -0
- package/esm2022/queries/is-ancestor-empty.mjs +6 -0
- package/esm2022/queries/is-block-above-empty.mjs +11 -0
- package/esm2022/queries/is-block-active.mjs +8 -0
- package/esm2022/queries/is-block-card-cursor.mjs +4 -0
- package/{esm2020 → esm2022}/queries/is-block-text-empty-after-selection.mjs +1 -1
- package/esm2022/queries/is-contain-nested-type.mjs +29 -0
- package/esm2022/queries/is-container-type.mjs +3 -0
- package/esm2022/queries/is-empty-content-filter.mjs +23 -0
- package/{esm2020 → esm2022}/queries/is-empty-content.mjs +1 -1
- package/esm2022/queries/is-empty-paragraph-by-path.mjs +7 -0
- package/esm2022/queries/is-empty-paragraph.mjs +28 -0
- package/esm2022/queries/is-global-collapsed.mjs +5 -0
- package/esm2022/queries/is-include-types.mjs +12 -0
- package/esm2022/queries/is-node-type-in.mjs +9 -0
- package/esm2022/queries/is-node-type.mjs +15 -0
- package/esm2022/queries/is-paragraph.mjs +9 -0
- package/esm2022/queries/is-range-across-blocks.mjs +22 -0
- package/esm2022/queries/is-start.mjs +6 -0
- package/esm2022/queries/some-node.mjs +9 -0
- package/{esm2020 → esm2022}/services/context.service.mjs +4 -4
- package/{esm2020 → esm2022}/services/table-contextmenu.service.mjs +4 -4
- package/{esm2020 → esm2022}/services/toolbar.service.mjs +4 -4
- package/{esm2020 → esm2022}/shortcuts/index.mjs +1 -1
- package/esm2022/shortcuts/mark.mjs +25 -0
- package/esm2022/test/utils/with-editor.mjs +8 -0
- package/esm2022/test/utils/with-plugin.mjs +8 -0
- package/{esm2020 → esm2022}/transforms/clear-marks.mjs +1 -1
- package/esm2022/transforms/close-conversion-hint.mjs +8 -0
- package/{esm2020 → esm2022}/transforms/delete-element.mjs +1 -1
- package/esm2022/transforms/handle-continual-delete-backward.mjs +18 -0
- package/esm2022/transforms/handle-continual-insert-break.mjs +20 -0
- package/esm2022/transforms/insert-elements.mjs +38 -0
- package/esm2022/transforms/insert-paragraph.mjs +6 -0
- package/esm2022/transforms/move-children.mjs +22 -0
- package/esm2022/transforms/on-keydown-reset-block-type.mjs +22 -0
- package/{esm2020 → esm2022}/transforms/set-end-selection.mjs +1 -1
- package/esm2022/transforms/set-marks.mjs +9 -0
- package/esm2022/transforms/set-node.mjs +6 -0
- package/esm2022/transforms/un-hang-range.mjs +11 -0
- package/esm2022/transforms/un-wrap.mjs +12 -0
- package/esm2022/transforms/unwrap-nodes-by-type.mjs +14 -0
- package/{esm2020 → esm2022}/utils/auto-focus.mjs +1 -1
- package/esm2022/utils/copy-node.mjs +32 -0
- package/esm2022/utils/create-empty-paragraph.mjs +5 -0
- package/esm2022/utils/create-paragraph.mjs +14 -0
- package/{esm2020 → esm2022}/utils/dom.mjs +1 -1
- package/esm2022/utils/editor-uuid.mjs +8 -0
- package/esm2022/utils/fragment.mjs +74 -0
- package/esm2022/utils/get-editable-element-height.mjs +6 -0
- package/esm2022/utils/get-toolbar-class.mjs +6 -0
- package/esm2022/utils/index.mjs +20 -0
- package/esm2022/utils/insert-data-by-invalid-type.mjs +62 -0
- package/esm2022/utils/is-clean-empty-paragraph.mjs +37 -0
- package/esm2022/utils/is-inline.mjs +9 -0
- package/{esm2020 → esm2022}/utils/match.mjs +1 -1
- package/esm2022/utils/merge-element-options.mjs +19 -0
- package/esm2022/utils/scroll-into-view.mjs +38 -0
- package/{fesm2020 → fesm2022}/worktile-theia.mjs +398 -389
- package/fesm2022/worktile-theia.mjs.map +1 -0
- package/interfaces/auto-format.d.ts +5 -5
- package/interfaces/editor.d.ts +8 -6
- package/interfaces/plugins/plugin-menu.d.ts +5 -5
- package/interfaces/plugins/with-override.d.ts +2 -2
- package/interfaces/reset-block-type-plugin-options.d.ts +3 -3
- package/interfaces/toolbar.d.ts +5 -5
- package/interfaces/view-base.d.ts +3 -2
- package/package.json +11 -17
- package/pipes.d.ts +3 -3
- package/plugins/align/align.editor.d.ts +4 -4
- package/plugins/align/align.plugin.d.ts +2 -1
- package/plugins/autoformat/autoformat.plugin.d.ts +2 -1
- package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -4
- package/plugins/autoformat/transforms/auto-format-inline.d.ts +2 -2
- package/plugins/blockquote/blockquote.component.d.ts +3 -3
- package/plugins/blockquote/blockquote.editor.d.ts +2 -2
- package/plugins/blockquote/blockquote.plugin.d.ts +2 -1
- package/plugins/code/code.component.d.ts +2 -3
- package/plugins/code/code.editor.d.ts +3 -3
- package/plugins/code/code.plugin.d.ts +2 -1
- package/plugins/color/color.editor.d.ts +3 -3
- package/plugins/common/block-card.plugin.d.ts +2 -1
- package/plugins/common/common.plugin.d.ts +2 -1
- package/plugins/common/get-fragment.plugin.d.ts +2 -1
- package/plugins/common/history.plugin.d.ts +6 -6
- package/plugins/common/insert-data-by-invalid-type.d.ts +2 -1
- package/plugins/common/move-selection.plugin.d.ts +2 -1
- package/plugins/common/remove-empty.plugin.d.ts +2 -1
- package/plugins/common/remove-void.plugin.d.ts +2 -1
- package/plugins/common/reset-type.plugin.d.ts +2 -1
- package/plugins/common/transforms.plugin.d.ts +2 -1
- package/plugins/deserialize/deserialize-html.plugin.d.ts +2 -1
- package/plugins/deserialize/deserialize-md.plugin.d.ts +2 -1
- package/plugins/font-size/font-size.editor.d.ts +3 -4
- package/plugins/heading/heading.editor.d.ts +3 -4
- package/plugins/heading/heading.plugin.d.ts +2 -2
- package/plugins/hr/hr.component.d.ts +3 -3
- package/plugins/hr/hr.editor.d.ts +3 -3
- package/plugins/hr/hr.plugin.d.ts +2 -1
- package/plugins/image/image.component.d.ts +2 -3
- package/plugins/image/image.editor.d.ts +8 -7
- package/plugins/indent/indent.editor.d.ts +3 -4
- package/plugins/indent/indent.plugin.d.ts +2 -1
- package/plugins/indent/on-keydown-indent.d.ts +2 -2
- package/plugins/inline-code/inline-code.component.d.ts +2 -3
- package/plugins/inline-code/inline-code.editor.d.ts +6 -5
- package/plugins/inline-code/inline-code.plugin.d.ts +2 -1
- package/plugins/link/edit/link-edit.component.d.ts +4 -3
- package/plugins/link/hover/link-hover.component.d.ts +1 -1
- package/plugins/link/link.component.d.ts +2 -3
- package/plugins/link/link.editor.d.ts +5 -5
- package/plugins/link/link.plugin.d.ts +2 -1
- package/plugins/list/components/bulleted-list.component.d.ts +2 -3
- package/plugins/list/components/list-item.component.d.ts +3 -3
- package/plugins/list/components/numbered-list.component.d.ts +2 -3
- package/plugins/list/list.editor.d.ts +11 -9
- package/plugins/list/list.plugin.d.ts +2 -1
- package/plugins/list/normalizers/get-list-normalizer.d.ts +3 -2
- package/plugins/list/normalizers/normalize-list-item.d.ts +3 -2
- package/plugins/list/normalizers/normalize-no.d.ts +3 -2
- package/plugins/list/on-key-down-list.d.ts +2 -2
- package/plugins/list/queries/get-list-item-entry.d.ts +3 -2
- package/plugins/list/queries/get-start-list-item.d.ts +2 -2
- package/plugins/list/queries/has-list-in-list-item.d.ts +5 -4
- package/plugins/list/queries/is-in-list.d.ts +3 -2
- package/plugins/list/queries/is-list-nested.d.ts +3 -2
- package/plugins/list/queries/is-list.d.ts +2 -2
- package/plugins/list/queries/is-node-type-list.d.ts +2 -1
- package/plugins/list/queries/is-selection-at-list-item-start.d.ts +2 -2
- package/plugins/list/queries/is-selection-in-same-list-item.d.ts +2 -2
- package/plugins/list/transforms/insert-list-data.d.ts +5 -3
- package/plugins/list/transforms/insert-list-item.d.ts +2 -2
- package/plugins/list/transforms/move-list-item-down.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-up.d.ts +3 -2
- package/plugins/list/transforms/unwrap-list.d.ts +2 -2
- package/plugins/mark/mark.editor.d.ts +3 -2
- package/plugins/mark/mark.plugin.d.ts +2 -1
- package/plugins/mention/mention.plugin.d.ts +2 -1
- package/plugins/mention/suggestion.component.d.ts +1 -1
- package/plugins/node-id/node-id.plugin.d.ts +2 -2
- package/plugins/normalizers/insert-paragraph-nodes.d.ts +2 -1
- package/plugins/normalizers/trailing-node.plugin.d.ts +2 -2
- package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -3
- package/plugins/quick-insert/quick-insert.editor.d.ts +6 -6
- package/plugins/quick-insert/quick-insert.plugin.d.ts +3 -3
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +3 -3
- package/plugins/table/components/table.component.d.ts +2 -3
- package/plugins/table/components/td/td.component.d.ts +2 -2
- package/plugins/table/components/toolbar/table-options.component.d.ts +3 -3
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +3 -3
- package/plugins/table/table.editor.d.ts +11 -11
- package/plugins/table/table.store.d.ts +12 -12
- package/plugins/table/table.types.d.ts +4 -3
- package/plugins/table/transforms/clear-cell.d.ts +3 -2
- package/plugins/table/transforms/clear-table-node.d.ts +2 -2
- package/plugins/table/transforms/insert-column.d.ts +5 -4
- package/plugins/table/transforms/insert-row.d.ts +2 -2
- package/plugins/table/transforms/insert-table.d.ts +3 -2
- package/plugins/table/transforms/remove-column.d.ts +2 -2
- package/plugins/table/transforms/remove-row.d.ts +2 -2
- package/plugins/table/transforms/remove-table.d.ts +2 -2
- package/plugins/table/utils/calc-anchor-position.d.ts +2 -2
- package/plugins/table/utils/cell-position.d.ts +3 -3
- package/plugins/table/utils/create-table-position.d.ts +3 -2
- package/plugins/table/utils/get-min-max-cell-index.d.ts +2 -2
- package/plugins/table/utils/get-select-cell-node.d.ts +3 -3
- package/plugins/table/utils/handle-cell.d.ts +3 -2
- package/plugins/table/utils/is-range-in-table.d.ts +3 -2
- package/plugins/table/utils/is-selection-in-table.d.ts +3 -3
- package/plugins/table/utils/merge-cell.d.ts +6 -5
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +2 -2
- package/plugins/table/utils/split-cell.d.ts +3 -3
- package/plugins/table/utils/table-entry.d.ts +5 -5
- package/plugins/todo-item/todo-item.component.d.ts +2 -3
- package/plugins/todo-item/todo-item.editor.d.ts +3 -3
- package/plugins/todo-item/todo-item.plugin.d.ts +2 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +2 -3
- package/queries/anchor-block-entry.d.ts +4 -2
- package/queries/anchor-block.d.ts +3 -2
- package/queries/anchor-inline-entry.d.ts +3 -2
- package/queries/find-descendant.d.ts +3 -2
- package/queries/find-node.d.ts +3 -3
- package/queries/get-above-by-type.d.ts +2 -3
- package/queries/get-above.d.ts +3 -3
- package/queries/get-anchor-block-entry.d.ts +4 -2
- package/queries/get-block-above.d.ts +3 -3
- package/queries/get-block-card-above.d.ts +3 -3
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/get-container-blocks.d.ts +2 -2
- package/queries/get-last-node.d.ts +3 -2
- package/queries/get-node.d.ts +3 -2
- package/queries/get-nodes-by-type.d.ts +2 -3
- package/queries/get-nodes.d.ts +2 -3
- package/queries/get-parent.d.ts +3 -3
- package/queries/get-plain-text.d.ts +2 -2
- package/queries/get-plugin-by-toolbar.d.ts +2 -3
- package/queries/get-point-before.d.ts +3 -2
- package/queries/get-point-from-location.d.ts +3 -2
- package/queries/get-rang-from-block-start.d.ts +2 -3
- package/queries/get-range-before.d.ts +3 -2
- package/queries/get-selection-marks.d.ts +2 -2
- package/queries/get-selection-nodes-by-type.d.ts +3 -2
- package/queries/get-text.d.ts +3 -2
- package/queries/get-toolbar-disabled.d.ts +2 -3
- package/queries/is-across-blocks.d.ts +3 -2
- package/queries/is-ancestor-empty.d.ts +3 -2
- package/queries/is-block-above-empty.d.ts +2 -2
- package/queries/is-block-active.d.ts +2 -2
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/queries/is-block-text-empty-after-selection.d.ts +2 -2
- package/queries/is-contain-nested-type.d.ts +2 -2
- package/queries/is-container-type.d.ts +3 -2
- package/queries/is-empty-content-filter.d.ts +2 -2
- package/queries/is-empty-paragraph-by-path.d.ts +3 -2
- package/queries/is-empty-paragraph.d.ts +6 -4
- package/queries/is-global-collapsed.d.ts +2 -2
- package/queries/is-include-types.d.ts +2 -2
- package/queries/is-node-type-in.d.ts +2 -3
- package/queries/is-paragraph.d.ts +2 -2
- package/queries/is-range-across-blocks.d.ts +3 -3
- package/queries/is-start.d.ts +3 -2
- package/queries/some-node.d.ts +3 -2
- package/shortcuts/index.d.ts +2 -2
- package/shortcuts/mark.d.ts +2 -2
- package/test/utils/with-editor.d.ts +2 -0
- package/transforms/clear-marks.d.ts +2 -2
- package/transforms/close-conversion-hint.d.ts +2 -2
- package/transforms/delete-element.d.ts +3 -2
- package/transforms/handle-continual-delete-backward.d.ts +4 -3
- package/transforms/handle-continual-insert-break.d.ts +3 -3
- package/transforms/insert-elements.d.ts +3 -2
- package/transforms/insert-paragraph.d.ts +3 -2
- package/transforms/move-children.d.ts +3 -2
- package/transforms/on-keydown-reset-block-type.d.ts +2 -2
- package/transforms/set-end-selection.d.ts +2 -2
- package/transforms/set-marks.d.ts +3 -2
- package/transforms/set-node.d.ts +3 -2
- package/transforms/un-hang-range.d.ts +3 -2
- package/transforms/un-wrap.d.ts +2 -2
- package/transforms/unwrap-nodes-by-type.d.ts +2 -3
- package/utils/auto-focus.d.ts +2 -2
- package/utils/copy-node.d.ts +5 -3
- package/utils/create-paragraph.d.ts +2 -0
- package/utils/dom.d.ts +2 -2
- package/utils/editor-uuid.d.ts +3 -3
- package/utils/fragment.d.ts +7 -5
- package/utils/get-editable-element-height.d.ts +2 -2
- package/utils/get-toolbar-class.d.ts +2 -2
- package/utils/index.d.ts +1 -0
- package/utils/is-clean-empty-paragraph.d.ts +4 -3
- package/utils/is-inline.d.ts +3 -2
- package/utils/match.d.ts +2 -2
- package/utils/merge-element-options.d.ts +1 -1
- package/utils/scroll-into-view.d.ts +2 -2
- package/esm2020/components/listbox/listbox.mjs +0 -375
- package/esm2020/components/plugin-menu/plugin-menu.component.mjs +0 -191
- package/esm2020/components/template/template.component.mjs +0 -62
- package/esm2020/components/toolbar/toolbar.component.mjs +0 -266
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -144
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +0 -122
- package/esm2020/constants/auto-format-rules.mjs +0 -167
- package/esm2020/constants/plugin-menu.mjs +0 -325
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +0 -87
- package/esm2020/core/utils/plugin-menu.mjs +0 -33
- package/esm2020/custom-types.mjs +0 -2
- package/esm2020/editor.module.mjs +0 -254
- package/esm2020/interfaces/auto-format.mjs +0 -2
- package/esm2020/interfaces/editor.mjs +0 -25
- package/esm2020/interfaces/plugins/plugin-menu.mjs +0 -19
- package/esm2020/interfaces/plugins/with-override.mjs +0 -2
- package/esm2020/interfaces/reset-block-type-plugin-options.mjs +0 -2
- package/esm2020/interfaces/toolbar.mjs +0 -12
- package/esm2020/pipes.mjs +0 -42
- package/esm2020/plugins/align/align.editor.mjs +0 -43
- package/esm2020/plugins/align/align.plugin.mjs +0 -64
- package/esm2020/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
- package/esm2020/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
- package/esm2020/plugins/blockquote/blockquote.component.mjs +0 -21
- package/esm2020/plugins/blockquote/blockquote.editor.mjs +0 -20
- package/esm2020/plugins/blockquote/blockquote.plugin.mjs +0 -85
- package/esm2020/plugins/code/code.editor.mjs +0 -48
- package/esm2020/plugins/color/color.editor.mjs +0 -27
- package/esm2020/plugins/common/history.plugin.mjs +0 -31
- package/esm2020/plugins/common/transforms.plugin.mjs +0 -18
- package/esm2020/plugins/deserialize/deserialize-html.plugin.mjs +0 -53
- package/esm2020/plugins/deserialize/deserialize-md.plugin.mjs +0 -130
- package/esm2020/plugins/font-size/font-size.editor.mjs +0 -98
- package/esm2020/plugins/heading/heading.editor.mjs +0 -54
- package/esm2020/plugins/heading/heading.plugin.mjs +0 -136
- package/esm2020/plugins/hr/hr.editor.mjs +0 -16
- package/esm2020/plugins/hr/hr.plugin.mjs +0 -56
- package/esm2020/plugins/image/image.component.mjs +0 -420
- package/esm2020/plugins/image/image.editor.mjs +0 -81
- package/esm2020/plugins/indent/indent.editor.mjs +0 -78
- package/esm2020/plugins/indent/on-keydown-indent.mjs +0 -59
- package/esm2020/plugins/inline-code/inline-code.component.mjs +0 -26
- package/esm2020/plugins/inline-code/inline-code.editor.mjs +0 -48
- package/esm2020/plugins/inline-code/inline-code.plugin.mjs +0 -66
- package/esm2020/plugins/link/edit/link-edit.component.mjs +0 -103
- package/esm2020/plugins/link/link.component.mjs +0 -167
- package/esm2020/plugins/link/link.editor.mjs +0 -66
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +0 -33
- package/esm2020/plugins/list/components/list-item.component.mjs +0 -93
- package/esm2020/plugins/list/components/numbered-list.component.mjs +0 -39
- package/esm2020/plugins/list/list.editor.mjs +0 -126
- package/esm2020/plugins/list/list.plugin.mjs +0 -312
- package/esm2020/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
- package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +0 -18
- package/esm2020/plugins/list/normalizers/normalize-no.mjs +0 -43
- package/esm2020/plugins/list/on-key-down-list.mjs +0 -33
- package/esm2020/plugins/list/queries/get-list-item-entry.mjs +0 -28
- package/esm2020/plugins/list/queries/get-start-list-item.mjs +0 -27
- package/esm2020/plugins/list/queries/has-list-in-list-item.mjs +0 -27
- package/esm2020/plugins/list/queries/is-in-list.mjs +0 -6
- package/esm2020/plugins/list/queries/is-list-nested.mjs +0 -10
- package/esm2020/plugins/list/queries/is-list.mjs +0 -5
- package/esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
- package/esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
- package/esm2020/plugins/list/transforms/insert-list-data.mjs +0 -72
- package/esm2020/plugins/list/transforms/insert-list-item.mjs +0 -73
- package/esm2020/plugins/list/transforms/move-list-item-down.mjs +0 -41
- package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
- package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
- package/esm2020/plugins/list/transforms/move-list-item-up.mjs +0 -78
- package/esm2020/plugins/list/transforms/unwrap-list.mjs +0 -10
- package/esm2020/plugins/mark/mark.editor.mjs +0 -28
- package/esm2020/plugins/mention/mention.plugin.mjs +0 -91
- package/esm2020/plugins/normalizers/remove-empty-nodes.mjs +0 -18
- package/esm2020/plugins/quick-insert/quick-insert.editor.mjs +0 -68
- package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +0 -104
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -104
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -189
- package/esm2020/plugins/table/table.editor.mjs +0 -209
- package/esm2020/plugins/table/table.plugin.mjs +0 -544
- package/esm2020/plugins/table/table.store.mjs +0 -426
- package/esm2020/plugins/table/table.types.mjs +0 -60
- package/esm2020/plugins/table/transforms/clear-cell.mjs +0 -14
- package/esm2020/plugins/table/transforms/clear-table-node.mjs +0 -27
- package/esm2020/plugins/table/transforms/insert-column.mjs +0 -69
- package/esm2020/plugins/table/transforms/insert-row.mjs +0 -50
- package/esm2020/plugins/table/transforms/insert-table.mjs +0 -15
- package/esm2020/plugins/table/transforms/remove-column.mjs +0 -51
- package/esm2020/plugins/table/transforms/remove-row.mjs +0 -48
- package/esm2020/plugins/table/transforms/remove-table.mjs +0 -49
- package/esm2020/plugins/table/utils/calc-anchor-position.mjs +0 -25
- package/esm2020/plugins/table/utils/cell-position.mjs +0 -60
- package/esm2020/plugins/table/utils/create-table-position.mjs +0 -10
- package/esm2020/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
- package/esm2020/plugins/table/utils/get-select-cell-node.mjs +0 -23
- package/esm2020/plugins/table/utils/handle-cell.mjs +0 -25
- package/esm2020/plugins/table/utils/is-range-in-table.mjs +0 -16
- package/esm2020/plugins/table/utils/is-selection-in-table.mjs +0 -51
- package/esm2020/plugins/table/utils/merge-cell.mjs +0 -108
- package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
- package/esm2020/plugins/table/utils/split-cell.mjs +0 -29
- package/esm2020/plugins/table/utils/table-entry.mjs +0 -21
- package/esm2020/plugins/todo-item/todo-item.editor.mjs +0 -32
- package/esm2020/plugins/todo-item/todo-item.plugin.mjs +0 -93
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +0 -83
- package/esm2020/queries/anchor-block-entry.mjs +0 -13
- package/esm2020/queries/anchor-block.mjs +0 -6
- package/esm2020/queries/anchor-inline-entry.mjs +0 -10
- package/esm2020/queries/find-node.mjs +0 -45
- package/esm2020/queries/get-above-by-type.mjs +0 -14
- package/esm2020/queries/get-above.mjs +0 -9
- package/esm2020/queries/get-anchor-block-entry.mjs +0 -8
- package/esm2020/queries/get-block-above.mjs +0 -10
- package/esm2020/queries/get-block-card-above.mjs +0 -10
- package/esm2020/queries/get-block-card-cursor.mjs +0 -5
- package/esm2020/queries/get-container-blocks.mjs +0 -12
- package/esm2020/queries/get-insert-elements-path.mjs +0 -44
- package/esm2020/queries/get-node.mjs +0 -10
- package/esm2020/queries/get-nodes-by-type.mjs +0 -15
- package/esm2020/queries/get-nodes.mjs +0 -7
- package/esm2020/queries/get-parent.mjs +0 -12
- package/esm2020/queries/get-plain-text.mjs +0 -16
- package/esm2020/queries/get-plugin-by-toolbar.mjs +0 -13
- package/esm2020/queries/get-point-from-location.mjs +0 -15
- package/esm2020/queries/get-rang-from-block-start.mjs +0 -16
- package/esm2020/queries/get-range-before.mjs +0 -17
- package/esm2020/queries/get-selection-nodes-by-type.mjs +0 -30
- package/esm2020/queries/get-text.mjs +0 -9
- package/esm2020/queries/get-toolbar-disabled.mjs +0 -13
- package/esm2020/queries/is-across-blocks.mjs +0 -7
- package/esm2020/queries/is-ancestor-empty.mjs +0 -6
- package/esm2020/queries/is-block-above-empty.mjs +0 -11
- package/esm2020/queries/is-block-active.mjs +0 -8
- package/esm2020/queries/is-block-card-cursor.mjs +0 -4
- package/esm2020/queries/is-contain-nested-type.mjs +0 -29
- package/esm2020/queries/is-container-type.mjs +0 -3
- package/esm2020/queries/is-empty-content-filter.mjs +0 -23
- package/esm2020/queries/is-empty-paragraph-by-path.mjs +0 -7
- package/esm2020/queries/is-empty-paragraph.mjs +0 -28
- package/esm2020/queries/is-global-collapsed.mjs +0 -5
- package/esm2020/queries/is-include-types.mjs +0 -12
- package/esm2020/queries/is-node-type-in.mjs +0 -9
- package/esm2020/queries/is-node-type.mjs +0 -15
- package/esm2020/queries/is-paragraph.mjs +0 -9
- package/esm2020/queries/is-range-across-blocks.mjs +0 -22
- package/esm2020/queries/is-start.mjs +0 -6
- package/esm2020/queries/some-node.mjs +0 -9
- package/esm2020/shortcuts/mark.mjs +0 -25
- package/esm2020/test/utils/with-plugin.mjs +0 -11
- package/esm2020/transforms/close-conversion-hint.mjs +0 -8
- package/esm2020/transforms/handle-continual-delete-backward.mjs +0 -18
- package/esm2020/transforms/handle-continual-insert-break.mjs +0 -20
- package/esm2020/transforms/insert-elements.mjs +0 -38
- package/esm2020/transforms/insert-paragraph.mjs +0 -6
- package/esm2020/transforms/move-children.mjs +0 -22
- package/esm2020/transforms/on-keydown-reset-block-type.mjs +0 -23
- package/esm2020/transforms/set-marks.mjs +0 -9
- package/esm2020/transforms/set-node.mjs +0 -6
- package/esm2020/transforms/un-hang-range.mjs +0 -11
- package/esm2020/transforms/un-wrap.mjs +0 -12
- package/esm2020/transforms/unwrap-nodes-by-type.mjs +0 -14
- package/esm2020/utils/copy-node.mjs +0 -32
- package/esm2020/utils/create-empty-paragraph.mjs +0 -14
- package/esm2020/utils/editor-uuid.mjs +0 -8
- package/esm2020/utils/fragment.mjs +0 -74
- package/esm2020/utils/get-editable-element-height.mjs +0 -6
- package/esm2020/utils/get-toolbar-class.mjs +0 -6
- package/esm2020/utils/index.mjs +0 -19
- package/esm2020/utils/insert-data-by-invalid-type.mjs +0 -62
- package/esm2020/utils/is-clean-empty-paragraph.mjs +0 -37
- package/esm2020/utils/is-inline.mjs +0 -9
- package/esm2020/utils/merge-element-options.mjs +0 -19
- package/esm2020/utils/scroll-into-view.mjs +0 -38
- package/fesm2015/worktile-theia.mjs +0 -16674
- package/fesm2015/worktile-theia.mjs.map +0 -1
- package/fesm2020/worktile-theia.mjs.map +0 -1
- /package/{esm2020 → esm2022}/components/column-resize/resize-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/components/column-resize/selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/components/listbox/listbox.type.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/code.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/color-select.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/error.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/node-types.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/selector.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/core/create-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/core/create-toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/flatten-deep-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugin-options.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-array.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-deep-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-options.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/nested-structure-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/plugins-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/core/with-theia.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/image.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/no-infer.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/plugin-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/upload.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/nested-structure-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/override-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/types.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/valid-children-types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/color/color.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/image/image.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/link/link.types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/queries/get-list-item-sublist.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/queries/get-list-types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/mention/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/mention/mention.type.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/transforms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/add-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/calc-span.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/calculate-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-cell.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-row.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/get-grid-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-header-row.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-legal-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-virtual-key.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/next-path.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/normalize-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/remove-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/remove-row-column.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/set-cells-background-color.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/set-node-options.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/table-position.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/vertical-align/vertical-align.editor.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/find-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-directly-parent.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-last-child-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-next-sibling-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-previous-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/index.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-ancestor.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-collapsed.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-descendant.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-first-child.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-point-at-root.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-range-at-root.mjs +0 -0
- /package/{esm2020 → esm2022}/test/index.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/apply-deep-to-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/merge-deep-to-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/blob.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/cast-array.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/color-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/common.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/data-transform.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/id-creator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/lodash.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/refocus.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/weak-maps.mjs +0 -0
- /package/{esm2020 → esm2022}/worktile-theia.mjs +0 -0
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { Component, HostListener } from '@angular/core';
|
|
2
|
-
import { Element, Node as SlateNode, Transforms } from 'slate';
|
|
3
|
-
import { ElementKinds } from '../../constants';
|
|
4
|
-
import { TheBaseElementComponent } from '../../interfaces';
|
|
5
|
-
import { LinkCloseTypes, LinkTags } from './link.types';
|
|
6
|
-
import { TheLinkHoverComponent } from './hover/link-hover.component';
|
|
7
|
-
import { TheLinkEditComponent } from './edit/link-edit.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "ngx-tethys/popover";
|
|
10
|
-
import * as i2 from "@angular/cdk/overlay";
|
|
11
|
-
import * as i3 from "slate-angular";
|
|
12
|
-
export class TheBaseLinkComponent extends TheBaseElementComponent {
|
|
13
|
-
get linkHoverOpened() {
|
|
14
|
-
return this.thyPopoverHoverRef && this.thyPopoverHoverRef.componentInstance;
|
|
15
|
-
}
|
|
16
|
-
get linkEditOpened() {
|
|
17
|
-
return this.thyPopoverEditRef && this.thyPopoverEditRef.componentInstance;
|
|
18
|
-
}
|
|
19
|
-
constructor(elementRef, cdr, thyPopover, overlay, viewContainerRef) {
|
|
20
|
-
super(elementRef, cdr);
|
|
21
|
-
this.elementRef = elementRef;
|
|
22
|
-
this.cdr = cdr;
|
|
23
|
-
this.thyPopover = thyPopover;
|
|
24
|
-
this.overlay = overlay;
|
|
25
|
-
this.viewContainerRef = viewContainerRef;
|
|
26
|
-
this.beforeContextChange = (value) => {
|
|
27
|
-
if (this.thyPopoverEditRef && this.thyPopoverEditRef.componentInstance) {
|
|
28
|
-
let { originText } = this.thyPopoverEditRef.componentInstance;
|
|
29
|
-
if (originText && originText !== value.element.children[0].text) {
|
|
30
|
-
this.thyPopoverEditRef.componentInstance.originText = value.element.children[0].text;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
super.ngOnInit();
|
|
37
|
-
}
|
|
38
|
-
closeHoverPopover() {
|
|
39
|
-
if (this.linkHoverOpened) {
|
|
40
|
-
this.thyPopoverHoverRef.close();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
mousedownHandle(event) {
|
|
44
|
-
if (!this.readonly && !this.editor.disabled) {
|
|
45
|
-
this.openLinkHover();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
openLinkEdit(tag) {
|
|
49
|
-
if (this.linkHoverOpened) {
|
|
50
|
-
this.thyPopoverHoverRef.afterClosed().subscribe(() => {
|
|
51
|
-
this.internalOpenLinkEdit(tag);
|
|
52
|
-
});
|
|
53
|
-
this.thyPopover.close();
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.internalOpenLinkEdit(tag);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
isLinkEditOpenedByDom(dom) {
|
|
60
|
-
return this.linkEditOpened && this.thyPopoverEditRef.componentInstance.dom === dom;
|
|
61
|
-
}
|
|
62
|
-
closeEditPopover(type) {
|
|
63
|
-
if (this.linkEditOpened) {
|
|
64
|
-
this.thyPopoverEditRef.close(type);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
openLinkHover() {
|
|
68
|
-
const dom = this.nativeElement;
|
|
69
|
-
const url = this.element.url;
|
|
70
|
-
if (this.linkHoverOpened) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.thyPopoverHoverRef = this.thyPopover.open(TheLinkHoverComponent, {
|
|
74
|
-
initialState: {
|
|
75
|
-
link: url,
|
|
76
|
-
dom: dom,
|
|
77
|
-
editHandle: () => {
|
|
78
|
-
this.openLinkEdit(LinkTags.edit);
|
|
79
|
-
},
|
|
80
|
-
deleteHandle: () => {
|
|
81
|
-
Transforms.unwrapNodes(this.editor, { match: n => Element.isElement(n) && n.type === ElementKinds.link });
|
|
82
|
-
this.closeHoverPopover();
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
origin: dom,
|
|
86
|
-
placement: 'bottomLeft',
|
|
87
|
-
offset: 4,
|
|
88
|
-
minWidth: 0,
|
|
89
|
-
hasBackdrop: false,
|
|
90
|
-
outsideClosable: true,
|
|
91
|
-
viewContainerRef: this.viewContainerRef,
|
|
92
|
-
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
93
|
-
panelClass: 'the-link-over'
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
internalOpenLinkEdit(tag) {
|
|
97
|
-
const link = this.element.url;
|
|
98
|
-
SlateNode.get(this.editor, this.editor.selection.focus.path);
|
|
99
|
-
this.thyPopoverEditRef = this.thyPopover.open(TheLinkEditComponent, {
|
|
100
|
-
initialState: {
|
|
101
|
-
tag,
|
|
102
|
-
editor: this.editor,
|
|
103
|
-
node: this.element,
|
|
104
|
-
text: SlateNode.string(this.element),
|
|
105
|
-
link,
|
|
106
|
-
originSelection: this.editor.selection
|
|
107
|
-
},
|
|
108
|
-
minWidth: 0,
|
|
109
|
-
origin: this.elementRef.nativeElement,
|
|
110
|
-
backdropClosable: true,
|
|
111
|
-
placement: 'bottomLeft',
|
|
112
|
-
offset: 4,
|
|
113
|
-
hasBackdrop: false,
|
|
114
|
-
originActiveClass: null,
|
|
115
|
-
viewContainerRef: this.viewContainerRef,
|
|
116
|
-
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
117
|
-
panelClass: 'the-link-edit'
|
|
118
|
-
});
|
|
119
|
-
this.cdr.markForCheck();
|
|
120
|
-
}
|
|
121
|
-
close(type) {
|
|
122
|
-
this.closeHoverPopover();
|
|
123
|
-
this.closeEditPopover(type);
|
|
124
|
-
}
|
|
125
|
-
ngOnDestroy() {
|
|
126
|
-
super.ngOnDestroy();
|
|
127
|
-
this.close(LinkCloseTypes.destroy);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
TheBaseLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheBaseLinkComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
TheBaseLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheBaseLinkComponent, selector: "[TheBaseLinkComponent]", host: { listeners: { "click": "mousedownHandle($event)" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheBaseLinkComponent, decorators: [{
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{
|
|
135
|
-
selector: '[TheBaseLinkComponent]',
|
|
136
|
-
template: ''
|
|
137
|
-
}]
|
|
138
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ThyPopover }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { mousedownHandle: [{
|
|
139
|
-
type: HostListener,
|
|
140
|
-
args: ['click', ['$event']]
|
|
141
|
-
}] } });
|
|
142
|
-
export class TheLinkComponent extends TheBaseLinkComponent {
|
|
143
|
-
constructor() {
|
|
144
|
-
super(...arguments);
|
|
145
|
-
// Put this at the start and end of an inline component to work around this Chromium bug:
|
|
146
|
-
// https://bugs.chromium.org/p/chromium/issues/detail?id=1249405
|
|
147
|
-
this.inlineChromiumBugfix = String.fromCodePoint(160);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
TheLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
-
TheLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheLinkComponent, selector: "a[theLink]", host: { attributes: { "target": "_blank" }, properties: { "attr.href": "element.url" } }, usesInheritance: true, ngImport: i0, template: ` <span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>
|
|
152
|
-
<span><slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children></span>
|
|
153
|
-
<span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>`, isInline: true, dependencies: [{ kind: "component", type: i3.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheLinkComponent, decorators: [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{
|
|
157
|
-
selector: 'a[theLink]',
|
|
158
|
-
template: ` <span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>
|
|
159
|
-
<span><slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children></span>
|
|
160
|
-
<span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>`,
|
|
161
|
-
host: {
|
|
162
|
-
'[attr.href]': 'element.url',
|
|
163
|
-
target: '_blank'
|
|
164
|
-
}
|
|
165
|
-
}]
|
|
166
|
-
}] });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXNFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVwSSxPQUFPLEVBQVUsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sT0FBTyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUE0QztJQUlsRixJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztJQUM5RSxDQUFDO0lBRUQsWUFDVyxVQUFzQixFQUN0QixHQUFzQixFQUNyQixVQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQU5oQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3JCLGVBQVUsR0FB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LElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsYUFBYTt3QkFDNUIsTUFBTSxFQUFFLFFBQVE7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIE5vZGUgYXMgU2xhdGVOb2RlLCBUcmFuc2Zvcm1zLCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IExpbmtFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMaW5rQ2xvc2VUeXBlcywgTGlua1RhZ3MgfSBmcm9tICcuL2xpbmsudHlwZXMnO1xuaW1wb3J0IHsgVGhlTGlua0hvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9ob3Zlci9saW5rLWhvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC9saW5rLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNsYXRlRWxlbWVudENvbnRleHQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbVGhlQmFzZUxpbmtDb21wb25lbnRdJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgVGhlQmFzZUxpbmtDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxMaW5rRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICB0aHlQb3BvdmVySG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcbiAgICB0aHlQb3BvdmVyRWRpdFJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ2V0IGxpbmtIb3Zlck9wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmICYmIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGdldCBsaW5rRWRpdE9wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgY2xvc2VIb3ZlclBvcG92ZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtIb3Zlck9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJlZm9yZUNvbnRleHRDaGFuZ2UgPSAodmFsdWU6IFNsYXRlRWxlbWVudENvbnRleHQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudGh5UG9wb3ZlckVkaXRSZWYgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgbGV0IHsgb3JpZ2luVGV4dCB9ID0gdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgICAgIGlmIChvcmlnaW5UZXh0ICYmIG9yaWdpblRleHQgIT09ICh2YWx1ZS5lbGVtZW50LmNoaWxkcmVuWzBdIGFzIFRleHQpLnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmLmNvbXBvbmVudEluc3RhbmNlLm9yaWdpblRleHQgPSAodmFsdWUuZWxlbWVudC5jaGlsZHJlblswXSBhcyBUZXh0KS50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZWRvd25IYW5kbGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRvbmx5ICYmICF0aGlzLmVkaXRvci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuTGlua0hvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuTGlua0VkaXQodGFnOiBMaW5rVGFncykge1xuICAgICAgICBpZiAodGhpcy5saW5rSG92ZXJPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3ZlckhvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsT3BlbkxpbmtFZGl0KHRhZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3Zlci5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbE9wZW5MaW5rRWRpdCh0YWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNMaW5rRWRpdE9wZW5lZEJ5RG9tKGRvbTogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlua0VkaXRPcGVuZWQgJiYgdGhpcy50aHlQb3BvdmVyRWRpdFJlZi5jb21wb25lbnRJbnN0YW5jZS5kb20gPT09IGRvbTtcbiAgICB9XG5cbiAgICBjbG9zZUVkaXRQb3BvdmVyKHR5cGU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMubGlua0VkaXRPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3ZlckVkaXRSZWYuY2xvc2UodHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuTGlua0hvdmVyKCkge1xuICAgICAgICBjb25zdCBkb20gPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZWxlbWVudC51cmw7XG5cbiAgICAgICAgaWYgKHRoaXMubGlua0hvdmVyT3BlbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlQb3BvdmVySG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVMaW5rSG92ZXJDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGxpbms6IHVybCxcbiAgICAgICAgICAgICAgICBkb206IGRvbSxcbiAgICAgICAgICAgICAgICBlZGl0SGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkxpbmtFZGl0KExpbmtUYWdzLmVkaXQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVsZXRlSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXModGhpcy5lZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMubGluayB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZUhvdmVyUG9wb3ZlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW46IGRvbSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiA0LFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS1saW5rLW92ZXInXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW50ZXJuYWxPcGVuTGlua0VkaXQodGFnOiBMaW5rVGFncykge1xuICAgICAgICBjb25zdCBsaW5rID0gdGhpcy5lbGVtZW50LnVybDtcbiAgICAgICAgU2xhdGVOb2RlLmdldCh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3Iuc2VsZWN0aW9uLmZvY3VzLnBhdGgpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJFZGl0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlTGlua0VkaXRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIHRhZyxcbiAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yLFxuICAgICAgICAgICAgICAgIG5vZGU6IHRoaXMuZWxlbWVudCxcbiAgICAgICAgICAgICAgICB0ZXh0OiBTbGF0ZU5vZGUuc3RyaW5nKHRoaXMuZWxlbWVudCksXG4gICAgICAgICAgICAgICAgbGluayxcbiAgICAgICAgICAgICAgICBvcmlnaW5TZWxlY3Rpb246IHRoaXMuZWRpdG9yLnNlbGVjdGlvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG9mZnNldDogNCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiBudWxsLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtbGluay1lZGl0J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgY2xvc2UodHlwZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLmNsb3NlSG92ZXJQb3BvdmVyKCk7XG4gICAgICAgIHRoaXMuY2xvc2VFZGl0UG9wb3Zlcih0eXBlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jbG9zZShMaW5rQ2xvc2VUeXBlcy5kZXN0cm95KTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYVt0aGVMaW5rXScsXG4gICAgdGVtcGxhdGU6IGAgPHNwYW4gY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBjbGFzcz1cInRoZS1icmVhay1jaGFyXCI+e3sgaW5saW5lQ2hyb21pdW1CdWdmaXggfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPjxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBjbGFzcz1cInRoZS1icmVhay1jaGFyXCI+e3sgaW5saW5lQ2hyb21pdW1CdWdmaXggfX08L3NwYW4+YCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5ocmVmXSc6ICdlbGVtZW50LnVybCcsXG4gICAgICAgIHRhcmdldDogJ19ibGFuaydcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZUxpbmtDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlTGlua0NvbXBvbmVudCB7XG4gICAgLy8gUHV0IHRoaXMgYXQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgYW4gaW5saW5lIGNvbXBvbmVudCB0byB3b3JrIGFyb3VuZCB0aGlzIENocm9taXVtIGJ1ZzpcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMjQ5NDA1XG4gICAgaW5saW5lQ2hyb21pdW1CdWdmaXggPSBTdHJpbmcuZnJvbUNvZGVQb2ludCgxNjApO1xufVxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Range, Transforms, Editor, Element, Node } from 'slate';
|
|
2
|
-
import { ELEMENT_TO_COMPONENT } from 'slate-angular';
|
|
3
|
-
import { ElementKinds, LINK_DEFAULT_TEXT } from '../../constants';
|
|
4
|
-
import { getAboveByType } from '../../queries/get-above-by-type';
|
|
5
|
-
import { LinkTags } from './link.types';
|
|
6
|
-
export const LinkEditor = {
|
|
7
|
-
insertLink(editor) {
|
|
8
|
-
if (Range.isCollapsed(editor.selection)) {
|
|
9
|
-
Promise.resolve()
|
|
10
|
-
.then(() => {
|
|
11
|
-
LinkEditor.wrapLink(editor, LINK_DEFAULT_TEXT, '');
|
|
12
|
-
})
|
|
13
|
-
.then(() => {
|
|
14
|
-
const [linkNode] = getAboveByType(editor, ElementKinds.link);
|
|
15
|
-
const linkComponent = ELEMENT_TO_COMPONENT.get(linkNode);
|
|
16
|
-
linkComponent.openLinkEdit(LinkTags.insert);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
const isActive = LinkEditor.isLinkActive(editor);
|
|
21
|
-
if (isActive) {
|
|
22
|
-
LinkEditor.unwrapLink(editor);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const fragment = Node.fragment(editor, editor.selection)[0];
|
|
26
|
-
const selectNode = Node.get(fragment, []);
|
|
27
|
-
const selectText = Node.string(selectNode);
|
|
28
|
-
Promise.resolve()
|
|
29
|
-
.then(() => {
|
|
30
|
-
LinkEditor.wrapLink(editor, selectText, '');
|
|
31
|
-
})
|
|
32
|
-
.then(() => {
|
|
33
|
-
const [linkNode] = getAboveByType(editor, ElementKinds.link);
|
|
34
|
-
const linkComponent = ELEMENT_TO_COMPONENT.get(linkNode);
|
|
35
|
-
linkComponent.openLinkEdit(LinkTags.insert);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
isLinkActive(editor) {
|
|
40
|
-
const [link] = Editor.nodes(editor, { match: n => Element.isElement(n) && n.type === ElementKinds.link });
|
|
41
|
-
return !!link;
|
|
42
|
-
},
|
|
43
|
-
wrapLink(editor, text, url) {
|
|
44
|
-
if (LinkEditor.isLinkActive(editor)) {
|
|
45
|
-
LinkEditor.unwrapLink(editor);
|
|
46
|
-
}
|
|
47
|
-
const { selection } = editor;
|
|
48
|
-
const isCollapsed = selection && Range.isCollapsed(selection);
|
|
49
|
-
const link = {
|
|
50
|
-
type: ElementKinds.link,
|
|
51
|
-
url,
|
|
52
|
-
children: isCollapsed ? [{ text }] : []
|
|
53
|
-
};
|
|
54
|
-
if (isCollapsed) {
|
|
55
|
-
Transforms.insertNodes(editor, link);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
Transforms.wrapNodes(editor, link, { split: true });
|
|
59
|
-
Transforms.collapse(editor, { edge: 'end' });
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
unwrapLink(editor) {
|
|
63
|
-
Transforms.unwrapNodes(editor, { match: n => Element.isElement(n) && n.type === ElementKinds.link });
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLFVBQVUsQ0FBQyxNQUFjO1FBQ3JCLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckMsT0FBTyxDQUFDLE9BQU8sRUFBRTtpQkFDWixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQztpQkFDRCxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBcUIsQ0FBQztnQkFDN0UsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDVjthQUFNO1lBQ0gsTUFB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlLCBUcmFuc2Zvcm1zLCBFZGl0b3IsIEVsZW1lbnQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFTEVNRU5UX1RPX0NPTVBPTkVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgTGlua0VsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBMSU5LX0RFRkFVTFRfVEVYVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRBYm92ZUJ5VHlwZSB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvZ2V0LWFib3ZlLWJ5LXR5cGUnO1xuaW1wb3J0IHsgVGhlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua1RhZ3MgfSBmcm9tICcuL2xpbmsudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTGlua0VkaXRvciA9IHtcbiAgICBpbnNlcnRMaW5rKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGlmIChSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIExpbmtFZGl0b3Iud3JhcExpbmsoZWRpdG9yLCBMSU5LX0RFRkFVTFRfVEVYVCwgJycpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbGlua05vZGVdID0gZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMubGluayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQobGlua05vZGUpIGFzIFRoZUxpbmtDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmtDb21wb25lbnQub3BlbkxpbmtFZGl0KExpbmtUYWdzLmluc2VydCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IExpbmtFZGl0b3IuaXNMaW5rQWN0aXZlKGVkaXRvcik7XG4gICAgICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBMaW5rRWRpdG9yLnVud3JhcExpbmsoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gTm9kZS5mcmFnbWVudChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pWzBdO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0Tm9kZSA9IE5vZGUuZ2V0KGZyYWdtZW50LCBbXSk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RUZXh0ID0gTm9kZS5zdHJpbmcoc2VsZWN0Tm9kZSk7XG5cbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBMaW5rRWRpdG9yLndyYXBMaW5rKGVkaXRvciwgc2VsZWN0VGV4dCwgJycpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbGlua05vZGVdID0gZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMubGluayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQobGlua05vZGUpIGFzIFRoZUxpbmtDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmtDb21wb25lbnQub3BlbkxpbmtFZGl0KExpbmtUYWdzLmluc2VydCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzTGlua0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBbbGlua10gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7IG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpbmsgfSk7XG4gICAgICAgIHJldHVybiAhIWxpbms7XG4gICAgfSxcbiAgICB3cmFwTGluayhlZGl0b3I6IEVkaXRvciwgdGV4dDogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgICAgICBpZiAoTGlua0VkaXRvci5pc0xpbmtBY3RpdmUoZWRpdG9yKSkge1xuICAgICAgICAgICAgTGlua0VkaXRvci51bndyYXBMaW5rKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBzZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgbGluazogTGlua0VsZW1lbnQgPSB7XG4gICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGluayxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBpc0NvbGxhcHNlZCA/IFt7IHRleHQgfV0gOiBbXVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBsaW5rKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKGVkaXRvciwgbGluaywgeyBzcGxpdDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuY29sbGFwc2UoZWRpdG9yLCB7IGVkZ2U6ICdlbmQnIH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB1bndyYXBMaW5rKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXMoZWRpdG9yLCB7IG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpbmsgfSk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding } from '@angular/core';
|
|
2
|
-
import { TheBaseElementComponent } from '../../../interfaces';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "slate-angular";
|
|
5
|
-
export class TheBulletedListComponent extends TheBaseElementComponent {
|
|
6
|
-
get level() {
|
|
7
|
-
return this.element?.indent || null;
|
|
8
|
-
}
|
|
9
|
-
constructor(elementRef, cdr) {
|
|
10
|
-
super(elementRef, cdr);
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
super.ngOnInit();
|
|
16
|
-
}
|
|
17
|
-
ngOnDestroy() {
|
|
18
|
-
super.ngOnDestroy();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
TheBulletedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheBulletedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
TheBulletedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheBulletedListComponent, selector: "ul[theUl]", host: { properties: { "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, dependencies: [{ kind: "component", type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheBulletedListComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{
|
|
26
|
-
selector: 'ul[theUl]',
|
|
27
|
-
template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`
|
|
28
|
-
}]
|
|
29
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { level: [{
|
|
30
|
-
type: HostBinding,
|
|
31
|
-
args: ['attr.the-level']
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0ZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvYnVsbGV0ZWQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0QsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUFvRDtJQUM5RixJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBbUIsVUFBc0IsRUFBUyxHQUFzQjtRQUNwRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O3FIQWhCUSx3QkFBd0I7eUdBQXhCLHdCQUF3QixrSUFGdkIsaUhBQWlIOzJGQUVsSCx3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxpSEFBaUg7aUJBQzlIO2lJQUdPLEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEJ1bGxldGVkTGlzdEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1bFt0aGVVbF0nLFxuICAgIHRlbXBsYXRlOiBgPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+YFxufSlcbmV4cG9ydCBjbGFzcyBUaGVCdWxsZXRlZExpc3RDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxCdWxsZXRlZExpc3RFbGVtZW50LCBFZGl0b3I+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50aGUtbGV2ZWwnKVxuICAgIGdldCBsZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudD8uaW5kZW50IHx8IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Node, Text } from 'slate';
|
|
3
|
-
import { MarkTypes } from '../../../constants/node-types';
|
|
4
|
-
import { TheBaseElementComponent } from '../../../interfaces';
|
|
5
|
-
import * as TheQueries from '../../../queries';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "slate-angular";
|
|
8
|
-
export class TheListItemComponent extends TheBaseElementComponent {
|
|
9
|
-
constructor(elementRef, cdr) {
|
|
10
|
-
super(elementRef, cdr);
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
super.ngOnInit();
|
|
16
|
-
}
|
|
17
|
-
onContextChange() {
|
|
18
|
-
super.onContextChange();
|
|
19
|
-
this.addFontSize();
|
|
20
|
-
this.addMultiDigit();
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
super.ngOnDestroy();
|
|
24
|
-
}
|
|
25
|
-
addFontSize() {
|
|
26
|
-
let firstText;
|
|
27
|
-
for (const entry of Node.descendants(this.element)) {
|
|
28
|
-
const node = entry[0];
|
|
29
|
-
if (Text.isText(node) && !firstText) {
|
|
30
|
-
firstText = node;
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (!firstText) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const { text, ...rest } = firstText;
|
|
38
|
-
const size = rest[MarkTypes.fontSize];
|
|
39
|
-
if (size) {
|
|
40
|
-
const sizeClass = `font-size-${size}`;
|
|
41
|
-
const isContains = this.elementRef.nativeElement?.classList?.contains(sizeClass);
|
|
42
|
-
if (isContains) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this.clearFontSize();
|
|
46
|
-
this.elementRef.nativeElement.classList.add(sizeClass);
|
|
47
|
-
this.fontSizeClass = sizeClass;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.clearFontSize();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
clearFontSize() {
|
|
54
|
-
if (this.fontSizeClass) {
|
|
55
|
-
this.elementRef.nativeElement.classList.remove(this.fontSizeClass);
|
|
56
|
-
this.fontSizeClass = null;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
getStart() {
|
|
60
|
-
const parent = this.elementRef.nativeElement.closest('.slate-element-numbered-list');
|
|
61
|
-
const start = parent?.getAttribute('start') || 1;
|
|
62
|
-
return Number(start);
|
|
63
|
-
}
|
|
64
|
-
getLiIndex() {
|
|
65
|
-
const path = TheQueries.findPath(this.editor, this.element);
|
|
66
|
-
const index = path[path.length - 1];
|
|
67
|
-
return index || 0;
|
|
68
|
-
}
|
|
69
|
-
addMultiDigit() {
|
|
70
|
-
const start = this.getStart();
|
|
71
|
-
const index = this.getLiIndex();
|
|
72
|
-
const multiDigit = 'data-multi-digit';
|
|
73
|
-
// start number + index
|
|
74
|
-
// when it is greater than 9, it is a multi-digit serial number
|
|
75
|
-
// exclude Font size >= 20
|
|
76
|
-
if (start + index > 9) {
|
|
77
|
-
this.elementRef.nativeElement.setAttribute(multiDigit, true);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.elementRef.nativeElement.removeAttribute(multiDigit);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
TheListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheListItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
TheListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheListItemComponent, selector: "li[theLi]", usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, dependencies: [{ kind: "component", type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheListItemComponent, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
args: [{
|
|
89
|
-
selector: 'li[theLi]',
|
|
90
|
-
template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`
|
|
91
|
-
}]
|
|
92
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9ELE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBbUIsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRCxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTS9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBd0M7SUFHOUUsWUFBbUIsVUFBc0IsRUFBUyxHQUFzQjtRQUNwRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLFNBQWUsQ0FBQztRQUNwQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxHQUFH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T25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBOb2RlLCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRm9udFNpemVzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaVt0aGVMaV0nLFxuICAgIHRlbXBsYXRlOiBgPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+YFxufSlcbmV4cG9ydCBjbGFzcyBUaGVMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50PEVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZm9udFNpemVDbGFzczogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5hZGRGb250U2l6ZSgpO1xuICAgICAgICB0aGlzLmFkZE11bHRpRGlnaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBhZGRGb250U2l6ZSgpIHtcbiAgICAgICAgbGV0IGZpcnN0VGV4dDogVGV4dDtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBOb2RlLmRlc2NlbmRhbnRzKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBlbnRyeVswXTtcbiAgICAgICAgICAgIGlmIChUZXh0LmlzVGV4dChub2RlKSAmJiAhZmlyc3RUZXh0KSB7XG4gICAgICAgICAgICAgICAgZmlyc3RUZXh0ID0gbm9kZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZpcnN0VGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyB0ZXh0LCAuLi5yZXN0IH0gPSBmaXJzdFRleHQ7XG4gICAgICAgIGNvbnN0IHNpemUgPSByZXN0W01hcmtUeXBlcy5mb250U2l6ZV07XG5cbiAgICAgICAgaWYgKHNpemUpIHtcbiAgICAgICAgICAgIGNvbnN0IHNpemVDbGFzcyA9IGBmb250LXNpemUtJHtzaXplfWA7XG4gICAgICAgICAgICBjb25zdCBpc0NvbnRhaW5zID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdD8uY29udGFpbnMoc2l6ZUNsYXNzKTtcbiAgICAgICAgICAgIGlmIChpc0NvbnRhaW5zKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jbGVhckZvbnRTaXplKCk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHNpemVDbGFzcyk7XG4gICAgICAgICAgICB0aGlzLmZvbnRTaXplQ2xhc3MgPSBzaXplQ2xhc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRm9udFNpemUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyRm9udFNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvbnRTaXplQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5mb250U2l6ZUNsYXNzKTtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDbGFzcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTdGFydCgpIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnNsYXRlLWVsZW1lbnQtbnVtYmVyZWQtbGlzdCcpO1xuICAgICAgICBjb25zdCBzdGFydCA9IHBhcmVudD8uZ2V0QXR0cmlidXRlKCdzdGFydCcpIHx8IDE7XG4gICAgICAgIHJldHVybiBOdW1iZXIoc3RhcnQpO1xuICAgIH1cblxuICAgIGdldExpSW5kZXgoKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXTtcbiAgICAgICAgcmV0dXJuIGluZGV4IHx8IDA7XG4gICAgfVxuXG4gICAgYWRkTXVsdGlEaWdpdCgpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmdldFN0YXJ0KCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRMaUluZGV4KCk7XG4gICAgICAgIGNvbnN0IG11bHRpRGlnaXQgPSAnZGF0YS1tdWx0aS1kaWdpdCc7XG5cbiAgICAgICAgLy8gc3RhcnQgbnVtYmVyICsgaW5kZXhcbiAgICAgICAgLy8gd2hlbiBpdCBpcyBncmVhdGVyIHRoYW4gOSwgaXQgaXMgYSBtdWx0aS1kaWdpdCBzZXJpYWwgbnVtYmVyXG4gICAgICAgIC8vIGV4Y2x1ZGUgRm9udCBzaXplID49IDIwXG4gICAgICAgIGlmIChzdGFydCArIGluZGV4ID4gOSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKG11bHRpRGlnaXQsIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG11bHRpRGlnaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding } from '@angular/core';
|
|
2
|
-
import { TheBaseElementComponent } from '../../../interfaces';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "slate-angular";
|
|
5
|
-
export class TheNumberedListComponent extends TheBaseElementComponent {
|
|
6
|
-
get start() {
|
|
7
|
-
return this.element.start;
|
|
8
|
-
}
|
|
9
|
-
get level() {
|
|
10
|
-
return this.element?.indent || null;
|
|
11
|
-
}
|
|
12
|
-
constructor(elementRef, cdr) {
|
|
13
|
-
super(elementRef, cdr);
|
|
14
|
-
this.elementRef = elementRef;
|
|
15
|
-
this.cdr = cdr;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
super.ngOnInit();
|
|
19
|
-
}
|
|
20
|
-
ngOnDestroy() {
|
|
21
|
-
super.ngOnDestroy();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
TheNumberedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheNumberedListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
TheNumberedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheNumberedListComponent, selector: "ol[theOl]", host: { properties: { "attr.start": "this.start", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, dependencies: [{ kind: "component", type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheNumberedListComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: 'ol[theOl]',
|
|
30
|
-
template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { start: [{
|
|
33
|
-
type: HostBinding,
|
|
34
|
-
args: ['attr.start']
|
|
35
|
-
}], level: [{
|
|
36
|
-
type: HostBinding,
|
|
37
|
-
args: ['attr.the-level']
|
|
38
|
-
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvbnVtYmVyZWQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0QsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUFvRDtJQUM5RixJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBbUIsVUFBc0IsRUFBUyxHQUFzQjtRQUNwRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O3FIQXJCUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw4SkFGdkIsaUhBQWlIOzJGQUVsSCx3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxpSEFBaUg7aUJBQzlIO2lJQUdPLEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxZQUFZO2dCQU1yQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBOdW1iZXJlZExpc3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2xbdGhlT2xdJyxcbiAgICB0ZW1wbGF0ZTogYDxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPmBcbn0pXG5leHBvcnQgY2xhc3MgVGhlTnVtYmVyZWRMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8TnVtYmVyZWRMaXN0RWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuc3RhcnQnKVxuICAgIGdldCBzdGFydCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5zdGFydDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlLWxldmVsJylcbiAgICBnZXQgbGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LmluZGVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Transforms, Node, Editor, Path, Element } from 'slate';
|
|
2
|
-
import { ElementKinds, LIST_BLOCK_TYPES } from '../../constants/node-types';
|
|
3
|
-
import * as TheQueries from '../../queries';
|
|
4
|
-
import * as TheTransforms from '../../transforms';
|
|
5
|
-
import { isNodeTypeList } from './queries/is-node-type-list';
|
|
6
|
-
export const ListEditor = {
|
|
7
|
-
isList(editor, element, type) {
|
|
8
|
-
return Editor.isBlock(editor, element) && element.type === type;
|
|
9
|
-
},
|
|
10
|
-
toggleList(editor, type, startIndex) {
|
|
11
|
-
if (!editor.selection) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (!startIndex) {
|
|
15
|
-
startIndex = 1;
|
|
16
|
-
}
|
|
17
|
-
const types = [ElementKinds.bulletedList, ElementKinds.numberedList];
|
|
18
|
-
Editor.withoutNormalizing(editor, () => {
|
|
19
|
-
const [...listItems] = Editor.nodes(editor, {
|
|
20
|
-
match: node => Element.isElement(node) && node.type === ElementKinds.listItem,
|
|
21
|
-
mode: 'lowest'
|
|
22
|
-
});
|
|
23
|
-
const firstListItemPath = listItems.length && listItems[0][1];
|
|
24
|
-
const activeListPath = listItems.length && Path.parent(firstListItemPath);
|
|
25
|
-
const activeListNode = listItems.length && Node.get(editor, activeListPath);
|
|
26
|
-
// 同级且类型相同:unwrap
|
|
27
|
-
const isLowestActive = listItems.length &&
|
|
28
|
-
listItems.every(([, path]) => activeListNode.type === type && (Path.isSibling(firstListItemPath, path) || Path.equals(firstListItemPath, path)));
|
|
29
|
-
if (isLowestActive) {
|
|
30
|
-
const upListItem = Path.parent(activeListPath);
|
|
31
|
-
Transforms.unwrapNodes(editor, {
|
|
32
|
-
at: editor.selection,
|
|
33
|
-
match: node => node === activeListNode,
|
|
34
|
-
split: true,
|
|
35
|
-
mode: 'lowest'
|
|
36
|
-
});
|
|
37
|
-
if (upListItem && Node.get(editor, upListItem).type === ElementKinds.listItem) {
|
|
38
|
-
Transforms.moveNodes(editor, {
|
|
39
|
-
at: editor.selection,
|
|
40
|
-
to: Path.next(upListItem),
|
|
41
|
-
match: node => Element.isElement(node) && node.type === ElementKinds.listItem
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
Transforms.unwrapNodes(editor, {
|
|
46
|
-
match: node => Element.isElement(node) && node.type === ElementKinds.listItem
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
// 跨级、同级且类型不同
|
|
52
|
-
if (activeListNode && types.includes(activeListNode.type)) {
|
|
53
|
-
Transforms.setNodes(editor, { type }, { match: node => Element.isElement(node) && node.type !== type && types.includes(node.type) });
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
// wrap
|
|
57
|
-
ListEditor.buildListItem(editor);
|
|
58
|
-
Transforms.wrapNodes(editor, { type, children: [], start: startIndex }, {
|
|
59
|
-
at: editor.selection,
|
|
60
|
-
match: node => Element.isElement(node) && node.type === ElementKinds.listItem
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
unwrapList(editor) {
|
|
65
|
-
Editor.withoutNormalizing(editor, () => {
|
|
66
|
-
TheTransforms.unwrapNodesByType(editor, [ElementKinds.bulletedList, ElementKinds.numberedList], { split: true, mode: 'all' });
|
|
67
|
-
TheTransforms.unwrapNodesByType(editor, [ElementKinds.listItem], { split: true, mode: 'all' });
|
|
68
|
-
});
|
|
69
|
-
},
|
|
70
|
-
wrapList(editor, type) {
|
|
71
|
-
Editor.withoutNormalizing(editor, () => {
|
|
72
|
-
const listItem = {
|
|
73
|
-
type: ElementKinds.listItem,
|
|
74
|
-
children: []
|
|
75
|
-
};
|
|
76
|
-
const list = {
|
|
77
|
-
type,
|
|
78
|
-
children: []
|
|
79
|
-
};
|
|
80
|
-
Transforms.wrapNodes(editor, list, { split: true });
|
|
81
|
-
Transforms.wrapNodes(editor, listItem, { split: true });
|
|
82
|
-
});
|
|
83
|
-
},
|
|
84
|
-
isActive(editor, type) {
|
|
85
|
-
const [match] = TheQueries.getNodesByType(editor, type);
|
|
86
|
-
return !!match;
|
|
87
|
-
},
|
|
88
|
-
getActiveList(editor) {
|
|
89
|
-
const [match] = TheQueries.getNodesByType(editor, LIST_BLOCK_TYPES);
|
|
90
|
-
return match;
|
|
91
|
-
},
|
|
92
|
-
buildListItem(editor) {
|
|
93
|
-
const nodes = Editor.nodes(editor, {
|
|
94
|
-
match: node => Editor.isBlock(editor, node),
|
|
95
|
-
mode: 'lowest'
|
|
96
|
-
});
|
|
97
|
-
for (const [node, path] of nodes) {
|
|
98
|
-
if (!Editor.isVoid(editor, node) && Element.isElement(node) && node.type !== ElementKinds.paragraph) {
|
|
99
|
-
Transforms.setNodes(editor, { type: ElementKinds.paragraph, checked: undefined }, // todo remove checked
|
|
100
|
-
{ at: path });
|
|
101
|
-
}
|
|
102
|
-
else if (Element.isElement(node) && node.type === ElementKinds.paragraph) {
|
|
103
|
-
let { textIndent } = node;
|
|
104
|
-
if (textIndent) {
|
|
105
|
-
Transforms.setNodes(editor, { textIndent: undefined, indent: undefined }, // remove indent
|
|
106
|
-
{ at: path });
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (Node.parent(editor, path).type !== ElementKinds.listItem) {
|
|
110
|
-
Transforms.wrapNodes(editor, { type: ElementKinds.listItem, children: [] }, {
|
|
111
|
-
at: path,
|
|
112
|
-
split: true
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
buildInsertDataChildren(node) {
|
|
118
|
-
const { children } = node;
|
|
119
|
-
const listItem = children[0];
|
|
120
|
-
if (isNodeTypeList(node) && Element.isElement(listItem) && listItem.children[0].type === ElementKinds.paragraph) {
|
|
121
|
-
return node;
|
|
122
|
-
}
|
|
123
|
-
return ListEditor.buildInsertDataChildren(listItem);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2xpc3QuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFnQixFQUFFLElBQTJEO1FBQ2hHLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBMkQsRUFBRSxVQUFtQjtRQUN2RyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVB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LFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFtQixDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBOb2RlLCBFZGl0b3IsIFBhdGgsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIExJU1RfQkxPQ0tfVFlQRVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGlzTm9kZVR5cGVMaXN0IH0gZnJvbSAnLi9xdWVyaWVzL2lzLW5vZGUtdHlwZS1saXN0JztcblxuZXhwb3J0IGNvbnN0IExpc3RFZGl0b3IgPSB7XG4gICAgaXNMaXN0KGVkaXRvcjogRWRpdG9yLCBlbGVtZW50OiBFbGVtZW50LCB0eXBlOiBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0IHwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCkge1xuICAgICAgICByZXR1cm4gRWRpdG9yLmlzQmxvY2soZWRpdG9yLCBlbGVtZW50KSAmJiBlbGVtZW50LnR5cGUgPT09IHR5cGU7XG4gICAgfSxcbiAgICB0b2dnbGVMaXN0KGVkaXRvcjogRWRpdG9yLCB0eXBlOiBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0IHwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgc3RhcnRJbmRleD86IG51bWJlcikge1xuICAgICAgICBpZiAoIWVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0YXJ0SW5kZXgpIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGVzID0gW0VsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3RdO1xuXG4gICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBbLi4ubGlzdEl0ZW1zXSA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgICAgICAgICBtb2RlOiAnbG93ZXN0J1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBmaXJzdExpc3RJdGVtUGF0aCA9IGxpc3RJdGVtcy5sZW5ndGggJiYgbGlzdEl0ZW1zWzBdWzFdO1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlTGlzdFBhdGggPSBsaXN0SXRlbXMubGVuZ3RoICYmIFBhdGgucGFyZW50KGZpcnN0TGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUxpc3ROb2RlID0gbGlzdEl0ZW1zLmxlbmd0aCAmJiAoTm9kZS5nZXQoZWRpdG9yLCBhY3RpdmVMaXN0UGF0aCkgYXMgRWxlbWVudCk7XG5cbiAgICAgICAgICAgIC8vIOWQjOe6p+S4lOexu+Wei+ebuOWQjO+8mnVud3JhcFxuICAgICAgICAgICAgY29uc3QgaXNMb3dlc3RBY3RpdmUgPVxuICAgICAgICAgICAgICAgIGxpc3RJdGVtcy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICBsaXN0SXRlbXMuZXZlcnkoXG4gICAgICAgICAgICAgICAgICAgIChbLCBwYXRoXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUxpc3ROb2RlLnR5cGUgPT09IHR5cGUgJiYgKFBhdGguaXNTaWJsaW5nKGZpcnN0TGlzdEl0ZW1QYXRoLCBwYXRoKSB8fCBQYXRoLmVxdWFscyhmaXJzdExpc3RJdGVtUGF0aCwgcGF0aCkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChpc0xvd2VzdEFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwTGlzdEl0ZW0gPSBQYXRoLnBhcmVudChhY3RpdmVMaXN0UGF0aCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IGVkaXRvci5zZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IG5vZGUgPT09IGFjdGl2ZUxpc3ROb2RlLFxuICAgICAgICAgICAgICAgICAgICBzcGxpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodXBMaXN0SXRlbSAmJiAoTm9kZS5nZXQoZWRpdG9yLCB1cExpc3RJdGVtKSBhcyBFbGVtZW50KS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogZWRpdG9yLnNlbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBQYXRoLm5leHQodXBMaXN0SXRlbSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g6Leo57qn44CB5ZCM57qn5LiU57G75Z6L5LiN5ZCMXG4gICAgICAgICAgICBpZiAoYWN0aXZlTGlzdE5vZGUgJiYgdHlwZXMuaW5jbHVkZXMoYWN0aXZlTGlzdE5vZGUudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZSB9LFxuICAgICAgICAgICAgICAgICAgICB7IG1hdGNoOiBub2RlID0+IEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSAhPT0gdHlwZSAmJiB0eXBlcy5pbmNsdWRlcyhub2RlLnR5cGUpIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gd3JhcFxuICAgICAgICAgICAgTGlzdEVkaXRvci5idWlsZExpc3RJdGVtKGVkaXRvcik7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIHsgdHlwZSwgY2hpbGRyZW46IFtdLCBzdGFydDogc3RhcnRJbmRleCB9IGFzIEVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgICBhdDogZWRpdG9yLnNlbGVjdGlvbixcbiAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgdW53cmFwTGlzdChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XSwgeyBzcGxpdDogdHJ1ZSwgbW9kZTogJ2FsbCcgfSk7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnVud3JhcE5vZGVzQnlUeXBlKGVkaXRvciwgW0VsZW1lbnRLaW5kcy5saXN0SXRlbV0sIHsgc3BsaXQ6IHRydWUsIG1vZGU6ICdhbGwnIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHdyYXBMaXN0KGVkaXRvcjogRWRpdG9yLCB0eXBlOiBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0IHwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCkge1xuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGlzdEl0ZW06IEVsZW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSB7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIGxpc3QsIHsgc3BsaXQ6IHRydWUgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIGxpc3RJdGVtLCB7IHNwbGl0OiB0cnVlIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIGlzQWN0aXZlKGVkaXRvcjogRWRpdG9yLCB0eXBlOiBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0IHwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCkge1xuICAgICAgICBjb25zdCBbbWF0Y2hdID0gVGhlUXVlcmllcy5nZXROb2Rlc0J5VHlwZShlZGl0b3IsIHR5cGUpO1xuICAgICAgICByZXR1cm4gISFtYXRjaDtcbiAgICB9LFxuICAgIGdldEFjdGl2ZUxpc3QoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW21hdGNoXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUoZWRpdG9yLCBMSVNUX0JMT0NLX1RZUEVTKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH0sXG4gICAgYnVpbGRMaXN0SXRlbShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBub2RlcyA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgbm9kZSksXG4gICAgICAgICAgICBtb2RlOiAnbG93ZXN0J1xuICAgICAgICB9KTtcbiAgICAgICAgZm9yIChjb25zdCBbbm9kZSwgcGF0aF0gb2Ygbm9kZXMpIHtcbiAgICAgICAgICAgIGlmICghRWRpdG9yLmlzVm9pZChlZGl0b3IsIG5vZGUpICYmIEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSAhPT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLCBjaGVja2VkOiB1bmRlZmluZWQgfSBhcyBhbnksIC8vIHRvZG8gcmVtb3ZlIGNoZWNrZWRcbiAgICAgICAgICAgICAgICAgICAgeyBhdDogcGF0aCB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMucGFyYWdyYXBoKSB7XG4gICAgICAgICAgICAgICAgbGV0IHsgdGV4dEluZGVudCB9ID0gbm9kZTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dEluZGVudCkge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyB0ZXh0SW5kZW50OiB1bmRlZmluZWQsIGluZGVudDogdW5kZWZpbmVkIH0sIC8vIHJlbW92ZSBpbmRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IHBhdGggfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoTm9kZS5wYXJlbnQoZWRpdG9yLCBwYXRoKSBhcyBFbGVtZW50KS50eXBlICE9PSBFbGVtZW50S2luZHMubGlzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSwgY2hpbGRyZW46IFtdIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGJ1aWxkSW5zZXJ0RGF0YUNoaWxkcmVuKG5vZGU6IEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZTtcbiAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSBjaGlsZHJlblswXTtcbiAgICAgICAgaWYgKGlzTm9kZVR5cGVMaXN0KG5vZGUpICYmIEVsZW1lbnQuaXNFbGVtZW50KGxpc3RJdGVtKSAmJiAobGlzdEl0ZW0uY2hpbGRyZW5bMF0gYXMgRWxlbWVudCkudHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCkge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTGlzdEVkaXRvci5idWlsZEluc2VydERhdGFDaGlsZHJlbihsaXN0SXRlbSBhcyBFbGVtZW50KTtcbiAgICB9XG59O1xuIl19
|