@worktile/theia 18.0.15 → 18.1.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/constants/node-types.d.ts +1 -0
- package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
- package/fesm2022/worktile-theia.mjs +304 -311
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/view-base.d.ts +1 -1
- package/package.json +2 -4
- package/plugins/code/code.component.scss +1 -2
- package/plugins/image/image.component.d.ts +1 -1
- package/plugins/link/link.component.d.ts +1 -1
- package/plugins/mention/suggestion.component.d.ts +1 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +3 -2
- package/esm2022/components/action/prevent-default.mjs +0 -21
- package/esm2022/components/column-resize/column-resize-notifier.mjs +0 -31
- package/esm2022/components/column-resize/column-resize.directive.mjs +0 -124
- package/esm2022/components/column-resize/event-dispatcher.mjs +0 -56
- package/esm2022/components/column-resize/overlay-handle.component.mjs +0 -144
- package/esm2022/components/column-resize/resize-ref.mjs +0 -26
- package/esm2022/components/column-resize/resizing.store.mjs +0 -92
- package/esm2022/components/column-resize/selectors.mjs +0 -4
- package/esm2022/components/contextmenu/contextmenu.component.mjs +0 -99
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +0 -56
- package/esm2022/components/element/element.component.mjs +0 -23
- package/esm2022/components/index.mjs +0 -24
- package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +0 -131
- package/esm2022/components/listbox/listbox.mjs +0 -380
- package/esm2022/components/listbox/listbox.type.mjs +0 -5
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +0 -272
- package/esm2022/components/table-select/table-select.component.mjs +0 -49
- package/esm2022/components/template/template.component.mjs +0 -62
- package/esm2022/components/text/text.component.mjs +0 -57
- package/esm2022/components/toolbar/toolbar.component.mjs +0 -262
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -137
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +0 -125
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +0 -80
- package/esm2022/constants/auto-format-rules.mjs +0 -167
- package/esm2022/constants/code.mjs +0 -85
- package/esm2022/constants/color-select.mjs +0 -3
- package/esm2022/constants/default.mjs +0 -11
- package/esm2022/constants/error.mjs +0 -7
- package/esm2022/constants/index.mjs +0 -9
- package/esm2022/constants/node-types.mjs +0 -136
- package/esm2022/constants/plugin-menu.mjs +0 -311
- package/esm2022/constants/selector.mjs +0 -3
- package/esm2022/constants/toolbar.mjs +0 -53
- package/esm2022/core/create-plugin.mjs +0 -5
- package/esm2022/core/create-toolbar.mjs +0 -55
- package/esm2022/core/index.mjs +0 -6
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +0 -95
- package/esm2022/core/utils/combine-plugins.mjs +0 -10
- package/esm2022/core/utils/flatten-deep-plugins.mjs +0 -19
- package/esm2022/core/utils/get-plugin-options.mjs +0 -3
- package/esm2022/core/utils/get-plugin.mjs +0 -2
- package/esm2022/core/utils/get-plugins.mjs +0 -4
- package/esm2022/core/utils/index.mjs +0 -12
- package/esm2022/core/utils/merge-array.mjs +0 -18
- package/esm2022/core/utils/merge-deep-plugins.mjs +0 -14
- package/esm2022/core/utils/merge-options.mjs +0 -25
- package/esm2022/core/utils/nested-structure-by-key.mjs +0 -11
- package/esm2022/core/utils/plugin-menu.mjs +0 -63
- package/esm2022/core/utils/plugins-by-key.mjs +0 -10
- package/esm2022/core/with-theia.mjs +0 -25
- package/esm2022/custom-types.mjs +0 -2
- package/esm2022/editor.component.mjs +0 -488
- package/esm2022/editor.module.mjs +0 -18
- package/esm2022/i18n/i18n.mjs +0 -10
- package/esm2022/i18n/i18n.service.mjs +0 -46
- package/esm2022/i18n/i18n.token.mjs +0 -9
- package/esm2022/i18n/index.mjs +0 -10
- package/esm2022/i18n/locales/de-de.mjs +0 -102
- package/esm2022/i18n/locales/en-us.mjs +0 -102
- package/esm2022/i18n/locales/ja-jp.mjs +0 -102
- package/esm2022/i18n/locales/ru-ru.mjs +0 -102
- package/esm2022/i18n/locales/zh-hans.mjs +0 -102
- package/esm2022/i18n/locales/zh-hant.mjs +0 -102
- package/esm2022/interfaces/auto-format.mjs +0 -2
- package/esm2022/interfaces/editor.mjs +0 -26
- package/esm2022/interfaces/element.mjs +0 -2
- package/esm2022/interfaces/image.mjs +0 -3
- package/esm2022/interfaces/index.mjs +0 -11
- package/esm2022/interfaces/plugins/index.mjs +0 -6
- package/esm2022/interfaces/plugins/no-infer.mjs +0 -2
- package/esm2022/interfaces/plugins/plugin-key.mjs +0 -42
- package/esm2022/interfaces/plugins/plugin-menu.mjs +0 -19
- package/esm2022/interfaces/plugins/plugins.mjs +0 -2
- package/esm2022/interfaces/plugins/with-override.mjs +0 -2
- package/esm2022/interfaces/preset.mjs +0 -3
- package/esm2022/interfaces/reset-block-type-plugin-options.mjs +0 -2
- package/esm2022/interfaces/toolbar.mjs +0 -12
- package/esm2022/interfaces/upload.mjs +0 -2
- package/esm2022/interfaces/utility/index.mjs +0 -4
- package/esm2022/interfaces/utility/nested-structure-by-key.mjs +0 -2
- package/esm2022/interfaces/utility/override-by-key.mjs +0 -2
- package/esm2022/interfaces/utility/types.mjs +0 -2
- package/esm2022/interfaces/valid-children-types.mjs +0 -36
- package/esm2022/interfaces/view-base.mjs +0 -38
- package/esm2022/pipes.mjs +0 -61
- package/esm2022/plugins/align/align.editor.mjs +0 -41
- package/esm2022/plugins/align/align.plugin.mjs +0 -64
- package/esm2022/plugins/autoformat/autoformat.plugin.mjs +0 -109
- package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
- package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
- package/esm2022/plugins/blockquote/blockquote.component.mjs +0 -16
- package/esm2022/plugins/blockquote/blockquote.editor.mjs +0 -20
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +0 -84
- package/esm2022/plugins/code/code.component.mjs +0 -255
- package/esm2022/plugins/code/code.editor.mjs +0 -59
- package/esm2022/plugins/code/code.plugin.mjs +0 -67
- package/esm2022/plugins/color/color.editor.mjs +0 -27
- package/esm2022/plugins/color/color.plugin.mjs +0 -32
- package/esm2022/plugins/color/toolbar-item.component.mjs +0 -99
- package/esm2022/plugins/common/block-card.plugin.mjs +0 -330
- package/esm2022/plugins/common/common.plugin.mjs +0 -49
- package/esm2022/plugins/common/get-fragment.plugin.mjs +0 -24
- package/esm2022/plugins/common/history.plugin.mjs +0 -31
- package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +0 -23
- package/esm2022/plugins/common/move-selection.plugin.mjs +0 -105
- package/esm2022/plugins/common/remove-empty.plugin.mjs +0 -61
- package/esm2022/plugins/common/remove-void.plugin.mjs +0 -60
- package/esm2022/plugins/common/reset-type.plugin.mjs +0 -35
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +0 -61
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +0 -142
- package/esm2022/plugins/font-size/font-size.editor.mjs +0 -98
- package/esm2022/plugins/heading/heading.editor.mjs +0 -54
- package/esm2022/plugins/heading/heading.plugin.mjs +0 -136
- package/esm2022/plugins/hr/hr.component.mjs +0 -37
- package/esm2022/plugins/hr/hr.editor.mjs +0 -16
- package/esm2022/plugins/hr/hr.plugin.mjs +0 -56
- package/esm2022/plugins/image/image.component.mjs +0 -474
- package/esm2022/plugins/image/image.editor.mjs +0 -116
- package/esm2022/plugins/image/image.plugin.mjs +0 -90
- package/esm2022/plugins/indent/indent.editor.mjs +0 -78
- package/esm2022/plugins/indent/indent.plugin.mjs +0 -59
- package/esm2022/plugins/indent/on-keydown-indent.mjs +0 -59
- package/esm2022/plugins/index.mjs +0 -73
- package/esm2022/plugins/inline-code/inline-code.component.mjs +0 -28
- package/esm2022/plugins/inline-code/inline-code.editor.mjs +0 -49
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +0 -67
- package/esm2022/plugins/link/edit/link-edit.component.mjs +0 -104
- package/esm2022/plugins/link/hover/link-hover.component.mjs +0 -38
- package/esm2022/plugins/link/link.component.mjs +0 -170
- package/esm2022/plugins/link/link.editor.mjs +0 -87
- package/esm2022/plugins/link/link.plugin.mjs +0 -89
- package/esm2022/plugins/link/link.types.mjs +0 -12
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +0 -28
- package/esm2022/plugins/list/components/list-item.component.mjs +0 -88
- package/esm2022/plugins/list/components/numbered-list.component.mjs +0 -37
- package/esm2022/plugins/list/list.editor.mjs +0 -128
- package/esm2022/plugins/list/list.plugin.mjs +0 -302
- package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
- package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +0 -18
- package/esm2022/plugins/list/normalizers/normalize-no.mjs +0 -43
- package/esm2022/plugins/list/on-key-down-list.mjs +0 -33
- package/esm2022/plugins/list/queries/get-list-item-entry.mjs +0 -28
- package/esm2022/plugins/list/queries/get-list-item-sublist.mjs +0 -12
- package/esm2022/plugins/list/queries/get-list-types.mjs +0 -5
- package/esm2022/plugins/list/queries/get-start-list-item.mjs +0 -27
- package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +0 -27
- package/esm2022/plugins/list/queries/is-in-list.mjs +0 -6
- package/esm2022/plugins/list/queries/is-list-nested.mjs +0 -10
- package/esm2022/plugins/list/queries/is-list.mjs +0 -5
- package/esm2022/plugins/list/queries/is-node-type-list.mjs +0 -5
- package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
- package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
- package/esm2022/plugins/list/queries/is-single-list-item.mjs +0 -9
- package/esm2022/plugins/list/transforms/insert-list-data.mjs +0 -72
- package/esm2022/plugins/list/transforms/insert-list-item.mjs +0 -73
- package/esm2022/plugins/list/transforms/move-list-item-down.mjs +0 -41
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
- package/esm2022/plugins/list/transforms/move-list-item-up.mjs +0 -78
- package/esm2022/plugins/list/transforms/unwrap-list.mjs +0 -10
- package/esm2022/plugins/list/types.mjs +0 -2
- package/esm2022/plugins/mark/mark.editor.mjs +0 -28
- package/esm2022/plugins/mark/mark.plugin.mjs +0 -105
- package/esm2022/plugins/mention/index.mjs +0 -5
- package/esm2022/plugins/mention/mention.editor.mjs +0 -179
- package/esm2022/plugins/mention/mention.plugin.mjs +0 -92
- package/esm2022/plugins/mention/mention.type.mjs +0 -2
- package/esm2022/plugins/mention/suggestion.component.mjs +0 -22
- package/esm2022/plugins/node-id/node-id.plugin.mjs +0 -78
- package/esm2022/plugins/normalizers/insert-paragraph-nodes.mjs +0 -28
- package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +0 -18
- package/esm2022/plugins/normalizers/trailing-node.plugin.mjs +0 -33
- package/esm2022/plugins/paint-format/paint-format.editor.mjs +0 -126
- package/esm2022/plugins/public-api.mjs +0 -20
- package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +0 -126
- package/esm2022/plugins/quick-insert/index.mjs +0 -4
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +0 -70
- package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +0 -109
- package/esm2022/plugins/soft-break/soft-break.plugin.mjs +0 -36
- package/esm2022/plugins/soft-break/soft-break.types.mjs +0 -2
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -132
- package/esm2022/plugins/table/components/row/row.component.mjs +0 -93
- package/esm2022/plugins/table/components/table.component.mjs +0 -887
- package/esm2022/plugins/table/components/td/td.component.mjs +0 -610
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +0 -102
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -179
- package/esm2022/plugins/table/table.editor.mjs +0 -301
- package/esm2022/plugins/table/table.pipe.mjs +0 -66
- package/esm2022/plugins/table/table.plugin.mjs +0 -556
- package/esm2022/plugins/table/table.service.mjs +0 -122
- package/esm2022/plugins/table/table.store.mjs +0 -417
- package/esm2022/plugins/table/table.types.mjs +0 -68
- package/esm2022/plugins/table/toolbar-item.component.mjs +0 -95
- package/esm2022/plugins/table/transforms/clear-cell.mjs +0 -14
- package/esm2022/plugins/table/transforms/clear-table-node.mjs +0 -27
- package/esm2022/plugins/table/transforms/index.mjs +0 -8
- package/esm2022/plugins/table/transforms/insert-column.mjs +0 -69
- package/esm2022/plugins/table/transforms/insert-row.mjs +0 -50
- package/esm2022/plugins/table/transforms/insert-table.mjs +0 -15
- package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +0 -91
- package/esm2022/plugins/table/transforms/remove-column.mjs +0 -51
- package/esm2022/plugins/table/transforms/remove-row.mjs +0 -48
- package/esm2022/plugins/table/transforms/remove-table.mjs +0 -49
- package/esm2022/plugins/table/utils/add-columns.mjs +0 -38
- package/esm2022/plugins/table/utils/calc-anchor-position.mjs +0 -26
- package/esm2022/plugins/table/utils/calc-span.mjs +0 -73
- package/esm2022/plugins/table/utils/calculate-table.mjs +0 -116
- package/esm2022/plugins/table/utils/cell-position.mjs +0 -57
- package/esm2022/plugins/table/utils/create-cell.mjs +0 -19
- package/esm2022/plugins/table/utils/create-row.mjs +0 -12
- package/esm2022/plugins/table/utils/create-table-position.mjs +0 -10
- package/esm2022/plugins/table/utils/create-table.mjs +0 -15
- package/esm2022/plugins/table/utils/get-grid-columns.mjs +0 -79
- package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
- package/esm2022/plugins/table/utils/get-next-cell.mjs +0 -44
- package/esm2022/plugins/table/utils/get-select-cell-node.mjs +0 -16
- package/esm2022/plugins/table/utils/handle-cell.mjs +0 -25
- package/esm2022/plugins/table/utils/index.mjs +0 -16
- package/esm2022/plugins/table/utils/is-header-row.mjs +0 -15
- package/esm2022/plugins/table/utils/is-legal-table.mjs +0 -26
- package/esm2022/plugins/table/utils/is-range-in-table.mjs +0 -16
- package/esm2022/plugins/table/utils/is-selection-in-table.mjs +0 -51
- package/esm2022/plugins/table/utils/is-virtual-key.mjs +0 -13
- package/esm2022/plugins/table/utils/merge-cell.mjs +0 -110
- package/esm2022/plugins/table/utils/next-path.mjs +0 -5
- package/esm2022/plugins/table/utils/normalize-table.mjs +0 -31
- package/esm2022/plugins/table/utils/remove-columns.mjs +0 -23
- package/esm2022/plugins/table/utils/remove-row-column.mjs +0 -45
- package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
- package/esm2022/plugins/table/utils/split-cell.mjs +0 -29
- package/esm2022/plugins/table/utils/table-entry.mjs +0 -21
- package/esm2022/plugins/table/utils/table-position.mjs +0 -251
- package/esm2022/plugins/table/utils/table-viewport.mjs +0 -41
- package/esm2022/plugins/todo-item/todo-item.component.mjs +0 -65
- package/esm2022/plugins/todo-item/todo-item.editor.mjs +0 -32
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +0 -93
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +0 -89
- package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +0 -59
- package/esm2022/public-api.mjs +0 -22
- package/esm2022/queries/anchor-block-entry.mjs +0 -13
- package/esm2022/queries/anchor-block.mjs +0 -6
- package/esm2022/queries/anchor-inline-entry.mjs +0 -10
- package/esm2022/queries/find-descendant.mjs +0 -47
- package/esm2022/queries/find-node.mjs +0 -45
- package/esm2022/queries/find-path.mjs +0 -28
- package/esm2022/queries/get-above-by-type.mjs +0 -14
- package/esm2022/queries/get-above.mjs +0 -9
- package/esm2022/queries/get-anchor-block-entry.mjs +0 -8
- package/esm2022/queries/get-block-above.mjs +0 -10
- package/esm2022/queries/get-block-card-above.mjs +0 -10
- package/esm2022/queries/get-block-card-cursor.mjs +0 -9
- package/esm2022/queries/get-container-blocks.mjs +0 -12
- package/esm2022/queries/get-directly-parent.mjs +0 -12
- package/esm2022/queries/get-insert-elements-path.mjs +0 -46
- package/esm2022/queries/get-last-child-path.mjs +0 -9
- package/esm2022/queries/get-last-node.mjs +0 -17
- package/esm2022/queries/get-next-sibling-nodes.mjs +0 -17
- package/esm2022/queries/get-node.mjs +0 -10
- package/esm2022/queries/get-nodes-by-type.mjs +0 -15
- package/esm2022/queries/get-nodes.mjs +0 -7
- package/esm2022/queries/get-parent.mjs +0 -12
- package/esm2022/queries/get-plain-text.mjs +0 -16
- package/esm2022/queries/get-plugin-by-toolbar.mjs +0 -13
- package/esm2022/queries/get-point-before.mjs +0 -62
- package/esm2022/queries/get-point-from-location.mjs +0 -15
- package/esm2022/queries/get-previous-path.mjs +0 -9
- package/esm2022/queries/get-rang-from-block-start.mjs +0 -16
- package/esm2022/queries/get-range-before.mjs +0 -17
- package/esm2022/queries/get-selection-marks.mjs +0 -18
- package/esm2022/queries/get-selection-nodes-by-type.mjs +0 -30
- package/esm2022/queries/get-text.mjs +0 -9
- package/esm2022/queries/get-toolbar-disabled.mjs +0 -13
- package/esm2022/queries/index.mjs +0 -62
- package/esm2022/queries/is-across-blocks.mjs +0 -7
- package/esm2022/queries/is-ancestor-empty.mjs +0 -6
- package/esm2022/queries/is-ancestor.mjs +0 -3
- package/esm2022/queries/is-block-above-empty.mjs +0 -11
- package/esm2022/queries/is-block-active.mjs +0 -8
- package/esm2022/queries/is-block-card-cursor.mjs +0 -16
- package/esm2022/queries/is-block-text-empty-after-selection.mjs +0 -31
- package/esm2022/queries/is-collapsed.mjs +0 -7
- package/esm2022/queries/is-contain-nested-type.mjs +0 -29
- package/esm2022/queries/is-container-type.mjs +0 -3
- package/esm2022/queries/is-descendant.mjs +0 -3
- package/esm2022/queries/is-empty-content-filter.mjs +0 -22
- package/esm2022/queries/is-empty-content.mjs +0 -15
- package/esm2022/queries/is-empty-paragraph-by-path.mjs +0 -7
- package/esm2022/queries/is-empty-paragraph.mjs +0 -28
- package/esm2022/queries/is-first-child.mjs +0 -5
- package/esm2022/queries/is-global-collapsed.mjs +0 -5
- package/esm2022/queries/is-include-types.mjs +0 -12
- package/esm2022/queries/is-node-type-in.mjs +0 -9
- package/esm2022/queries/is-node-type.mjs +0 -15
- package/esm2022/queries/is-paragraph.mjs +0 -9
- package/esm2022/queries/is-point-at-root.mjs +0 -2
- package/esm2022/queries/is-range-across-blocks.mjs +0 -22
- package/esm2022/queries/is-range-at-root.mjs +0 -3
- package/esm2022/queries/is-root-path.mjs +0 -2
- package/esm2022/queries/is-start.mjs +0 -6
- package/esm2022/queries/some-node.mjs +0 -9
- package/esm2022/services/context.service.mjs +0 -140
- package/esm2022/services/table-contextmenu.service.mjs +0 -288
- package/esm2022/services/toolbar.service.mjs +0 -47
- package/esm2022/shortcuts/index.mjs +0 -5
- package/esm2022/shortcuts/mark.mjs +0 -25
- package/esm2022/test/basic/basic.component.mjs +0 -61
- package/esm2022/test/faker/data-transfer-faker.mjs +0 -13
- package/esm2022/test/faker/tethys-icon-faker.mjs +0 -22
- package/esm2022/test/index.mjs +0 -7
- package/esm2022/test/utils/mock-plugins.mjs +0 -104
- package/esm2022/test/utils/preset-config.mjs +0 -17
- package/esm2022/test/utils/with-plugin.mjs +0 -11
- package/esm2022/transforms/apply-deep-to-nodes.mjs +0 -22
- package/esm2022/transforms/clear-marks.mjs +0 -23
- package/esm2022/transforms/delete-element.mjs +0 -12
- package/esm2022/transforms/delete-node-by-type.mjs +0 -10
- package/esm2022/transforms/handle-continual-delete-backward.mjs +0 -18
- package/esm2022/transforms/handle-continual-insert-break.mjs +0 -20
- package/esm2022/transforms/index.mjs +0 -19
- package/esm2022/transforms/insert-elements.mjs +0 -55
- package/esm2022/transforms/insert-paragraph.mjs +0 -6
- package/esm2022/transforms/merge-deep-to-nodes.mjs +0 -9
- package/esm2022/transforms/move-children.mjs +0 -22
- package/esm2022/transforms/on-keydown-reset-block-type.mjs +0 -23
- package/esm2022/transforms/set-end-selection.mjs +0 -10
- package/esm2022/transforms/set-marks.mjs +0 -9
- package/esm2022/transforms/set-node-by-type.mjs +0 -10
- package/esm2022/transforms/set-node.mjs +0 -6
- package/esm2022/transforms/un-hang-range.mjs +0 -11
- package/esm2022/transforms/un-wrap.mjs +0 -12
- package/esm2022/transforms/unwrap-nodes-by-type.mjs +0 -14
- package/esm2022/utils/auto-focus.mjs +0 -24
- package/esm2022/utils/blob.mjs +0 -16
- package/esm2022/utils/cast-array.mjs +0 -7
- package/esm2022/utils/color-picker.mjs +0 -15
- package/esm2022/utils/common.mjs +0 -11
- package/esm2022/utils/copy-node.mjs +0 -38
- package/esm2022/utils/create-empty-paragraph.mjs +0 -14
- package/esm2022/utils/data-transform.mjs +0 -48
- package/esm2022/utils/dom.mjs +0 -56
- package/esm2022/utils/editor-uuid.mjs +0 -8
- package/esm2022/utils/fragment.mjs +0 -82
- package/esm2022/utils/get-editable-element-height.mjs +0 -6
- package/esm2022/utils/get-mode.mjs +0 -14
- package/esm2022/utils/get-toolbar-class.mjs +0 -6
- package/esm2022/utils/id-creator.mjs +0 -11
- package/esm2022/utils/index.mjs +0 -23
- package/esm2022/utils/insert-data-by-invalid-type.mjs +0 -70
- package/esm2022/utils/is-clean-empty-paragraph.mjs +0 -37
- package/esm2022/utils/is-inline.mjs +0 -9
- package/esm2022/utils/lodash.mjs +0 -3
- package/esm2022/utils/match.mjs +0 -32
- package/esm2022/utils/merge-element-options.mjs +0 -19
- package/esm2022/utils/normalize.mjs +0 -61
- package/esm2022/utils/refocus.mjs +0 -47
- package/esm2022/utils/scrolling.mjs +0 -43
- package/esm2022/utils/update-popover-position.mjs +0 -26
- package/esm2022/utils/weak-maps.mjs +0 -9
- package/esm2022/worktile-theia.mjs +0 -5
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Editor, Range, Text, Transforms } from 'slate';
|
|
2
|
-
import { DISABLED_OPERATE_TYPES, ElementKinds, MarkTypes } from '../../constants';
|
|
3
|
-
import { PluginKeys } from '../../interfaces';
|
|
4
|
-
import { createPluginFactory } from '../../core';
|
|
5
|
-
import { CONTROL_KEY } from '../../utils';
|
|
6
|
-
import { MarkEditor } from './mark.editor';
|
|
7
|
-
export const withMark = (editor) => {
|
|
8
|
-
const e = editor;
|
|
9
|
-
e.removeMark = (key, shouldChange = true) => {
|
|
10
|
-
const { selection } = e;
|
|
11
|
-
if (selection) {
|
|
12
|
-
if (Range.isExpanded(selection)) {
|
|
13
|
-
Transforms.unsetNodes(e, key, {
|
|
14
|
-
match: Text.isText,
|
|
15
|
-
split: true
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
const marks = { ...(Editor.marks(e) || {}) };
|
|
20
|
-
delete marks[key];
|
|
21
|
-
editor.marks = marks;
|
|
22
|
-
const text = Editor.string(e, selection.anchor.path);
|
|
23
|
-
if (text !== '') {
|
|
24
|
-
Editor.setNormalizing(editor, false);
|
|
25
|
-
e.insertText('');
|
|
26
|
-
editor.marks = marks;
|
|
27
|
-
Editor.setNormalizing(editor, true);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
Transforms.unsetNodes(e, key, { at: selection.anchor.path });
|
|
31
|
-
}
|
|
32
|
-
if (shouldChange) {
|
|
33
|
-
editor.onChange();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
e.addMark = (key, value) => {
|
|
39
|
-
const { selection } = editor;
|
|
40
|
-
if (selection) {
|
|
41
|
-
if (Range.isExpanded(selection)) {
|
|
42
|
-
Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const marks = {
|
|
46
|
-
...(Editor.marks(e) || {}),
|
|
47
|
-
[key]: value
|
|
48
|
-
};
|
|
49
|
-
editor.marks = marks;
|
|
50
|
-
const text = Editor.string(e, selection.anchor.path);
|
|
51
|
-
if (text !== '') {
|
|
52
|
-
Editor.setNormalizing(editor, false);
|
|
53
|
-
e.insertText('');
|
|
54
|
-
editor.marks = marks;
|
|
55
|
-
Editor.setNormalizing(editor, true);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
return e;
|
|
64
|
-
};
|
|
65
|
-
export const createMarkPlugin = (locale) => createPluginFactory({
|
|
66
|
-
key: PluginKeys.mark,
|
|
67
|
-
withOverrides: withMark,
|
|
68
|
-
toolbarItems: [
|
|
69
|
-
{
|
|
70
|
-
key: MarkTypes.bold,
|
|
71
|
-
icon: 'bold',
|
|
72
|
-
name: locale().bold,
|
|
73
|
-
shortcutKey: `${CONTROL_KEY}+B`,
|
|
74
|
-
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.bold),
|
|
75
|
-
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.bold)
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
key: MarkTypes.italic,
|
|
79
|
-
icon: 'italic',
|
|
80
|
-
name: locale().italic,
|
|
81
|
-
shortcutKey: `${CONTROL_KEY}+I`,
|
|
82
|
-
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.italic),
|
|
83
|
-
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.italic)
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
key: MarkTypes.strike,
|
|
87
|
-
icon: 'strike',
|
|
88
|
-
name: locale().strike,
|
|
89
|
-
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.strike),
|
|
90
|
-
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.strike)
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
key: MarkTypes.underline,
|
|
94
|
-
icon: 'underline',
|
|
95
|
-
name: locale().underline,
|
|
96
|
-
shortcutKey: `${CONTROL_KEY}+U`,
|
|
97
|
-
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.underline),
|
|
98
|
-
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.underline)
|
|
99
|
-
}
|
|
100
|
-
],
|
|
101
|
-
options: {
|
|
102
|
-
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
103
|
-
}
|
|
104
|
-
})();
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tYXJrL21hcmsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBZ0MsTUFBUyxFQUFLLEVBQUU7SUFDcEUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBRWpCLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ2hELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7b0JBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbEIsS0FBSyxFQUFFLElBQUk7aUJBQ2QsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxL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Q0FBQztTQUN0RTtRQUNEO1lBQ0ksR0FBRyxFQUFFLFNBQVMsQ0FBQyxTQUFTO1lBQ3hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxTQUFTO1lBQ3hCLFdBQVcsRUFBRSxHQUFHLFdBQVcsSUFBSTtZQUMvQixPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3JFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDekU7S0FDSjtJQUNELE9BQU8sRUFBRTtRQUNMLG9CQUFvQixFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLHNCQUFzQixDQUFDO0tBQ3hFO0NBQ0osQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRElTQUJMRURfT1BFUkFURV9UWVBFUywgRWxlbWVudEtpbmRzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ09OVFJPTF9LRVkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNYXJrRWRpdG9yIH0gZnJvbSAnLi9tYXJrLmVkaXRvcic7XG5pbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZUkxOG5UcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL2kxOG4nO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1hcmsgPSA8VCBleHRlbmRzIEVkaXRvciAmIE1hcmtFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IGUgPSBlZGl0b3I7XG5cbiAgICBlLnJlbW92ZU1hcmsgPSAoa2V5OiBzdHJpbmcsIHNob3VsZENoYW5nZSA9IHRydWUpID0+IHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGU7XG4gICAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChSYW5nZS5pc0V4cGFuZGVkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVuc2V0Tm9kZXMoZSwga2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIG1hdGNoOiBUZXh0LmlzVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSB7IC4uLihFZGl0b3IubWFya3MoZSkgfHwge30pIH07XG4gICAgICAgICAgICAgICAgZGVsZXRlIG1hcmtzW2tleV07XG4gICAgICAgICAgICAgICAgZWRpdG9yLm1hcmtzID0gbWFya3M7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IEVkaXRvci5zdHJpbmcoZSwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgRWRpdG9yLnNldE5vcm1hbGl6aW5nKGVkaXRvciwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBlLmluc2VydFRleHQoJycpO1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3IubWFya3MgPSBtYXJrcztcbiAgICAgICAgICAgICAgICAgICAgRWRpdG9yLnNldE5vcm1hbGl6aW5nKGVkaXRvciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bnNldE5vZGVzKGUsIGtleSwgeyBhdDogc2VsZWN0aW9uLmFuY2hvci5wYXRoIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc2hvdWxkQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5vbkNoYW5nZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBlLmFkZE1hcmsgPSAoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAoUmFuZ2UuaXNFeHBhbmRlZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlLCB7IFtrZXldOiB2YWx1ZSB9LCB7IG1hdGNoOiBUZXh0LmlzVGV4dCwgc3BsaXQ6IHRydWUgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi4oRWRpdG9yLm1hcmtzKGUpIHx8IHt9KSxcbiAgICAgICAgICAgICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBlZGl0b3IubWFya3MgPSBtYXJrcztcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gRWRpdG9yLnN0cmluZyhlLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGUuaW5zZXJ0VGV4dCgnJyk7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGUsIHsgW2tleV06IHZhbHVlIH0sIHsgYXQ6IHNlbGVjdGlvbi5hbmNob3IucGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIGU7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFya1BsdWdpbiA9IChsb2NhbGU6IFNpZ25hbDxUaGVJMThuVHJhbnNsYXRpb24+KSA9PlxuICAgIGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgICAgICBrZXk6IFBsdWdpbktleXMubWFyayxcbiAgICAgICAgd2l0aE92ZXJyaWRlczogd2l0aE1hcmssXG4gICAgICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2JvbGQnLFxuICAgICAgICAgICAgICAgIG5hbWU6IGxvY2FsZSgpLmJvbGQsXG4gICAgICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStCYCxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLmJvbGQpLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IE1hcmtFZGl0b3IuaXNNYXJrQWN0aXZlKGVkaXRvciwgTWFya1R5cGVzLmJvbGQpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogTWFya1R5cGVzLml0YWxpYyxcbiAgICAgICAgICAgICAgICBpY29uOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS5pdGFsaWMsXG4gICAgICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStJYCxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLml0YWxpYyksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBNYXJrVHlwZXMuaXRhbGljKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgICAgICAgICAgaWNvbjogJ3N0cmlrZScsXG4gICAgICAgICAgICAgICAgbmFtZTogbG9jYWxlKCkuc3RyaWtlLFxuICAgICAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuc3RyaWtlKSxcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy5zdHJpa2UpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogTWFya1R5cGVzLnVuZGVybGluZSxcbiAgICAgICAgICAgICAgICBpY29uOiAndW5kZXJsaW5lJyxcbiAgICAgICAgICAgICAgICBuYW1lOiBsb2NhbGUoKS51bmRlcmxpbmUsXG4gICAgICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStVYCxcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLnVuZGVybGluZSksXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBNYXJrVHlwZXMudW5kZXJsaW5lKVxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBkaXNhYmxlZE9wZXJhdGVUeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZSwgLi4uRElTQUJMRURfT1BFUkFURV9UWVBFU11cbiAgICAgICAgfVxuICAgIH0pKCk7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './mention.type';
|
|
2
|
-
export * from './mention.editor';
|
|
3
|
-
export * from './mention.plugin';
|
|
4
|
-
export * from './suggestion.component';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tZW50aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lbnRpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnRpb24uZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudGlvbi5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zdWdnZXN0aW9uLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
-
import { ChangeDetectorRef, ElementRef, ViewContainerRef } from '@angular/core';
|
|
3
|
-
import { ThyPopover } from 'ngx-tethys/popover';
|
|
4
|
-
import { Editor, Transforms } from 'slate';
|
|
5
|
-
import { AngularEditor } from 'slate-angular';
|
|
6
|
-
import { ElementKinds } from '../../constants';
|
|
7
|
-
import { getPluginOptions } from '../../core';
|
|
8
|
-
import { PluginKeys, TheEditor } from '../../interfaces';
|
|
9
|
-
import * as TheQueries from '../../queries';
|
|
10
|
-
import { createEmptyParagraph, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, updatePopoverPosition } from '../../utils';
|
|
11
|
-
export const MentionEditor = {
|
|
12
|
-
insertTrigger(editor, type) {
|
|
13
|
-
MentionEditor.close(editor);
|
|
14
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
15
|
-
const currentMention = mentions.find(m => m?.type === type);
|
|
16
|
-
const insertPath = TheQueries.getInsertElementsPath(editor, [ElementKinds.paragraph]);
|
|
17
|
-
if (!insertPath) {
|
|
18
|
-
Transforms.insertNodes(editor, createEmptyParagraph(), { select: true });
|
|
19
|
-
}
|
|
20
|
-
Transforms.insertText(editor, ` ${currentMention.trigger}`);
|
|
21
|
-
setTimeout(() => {
|
|
22
|
-
THE_EDITOR_ORIGIN_ANCHOR.set(editor, Editor.before(editor, editor.selection.anchor));
|
|
23
|
-
const textElement = AngularEditor.toDOMNode(editor, TheQueries.anchorBlockEntry(editor)[0]);
|
|
24
|
-
MentionEditor.openSelectOverlay(editor, type, textElement);
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
deleteTriggerText(editor) {
|
|
28
|
-
const searchInfo = MentionEditor.getSearchInfo(editor);
|
|
29
|
-
const { currentRange } = searchInfo;
|
|
30
|
-
Transforms.delete(editor, { at: currentRange });
|
|
31
|
-
},
|
|
32
|
-
openSuggestion(editor, type) {
|
|
33
|
-
const { selection } = editor;
|
|
34
|
-
const elementRef = editor.injector.get(ElementRef);
|
|
35
|
-
const isParagraphStart = Editor.isStart(editor, selection?.anchor, TheQueries.anchorBlockEntry(editor)[1]);
|
|
36
|
-
const originAnchor = THE_EDITOR_ORIGIN_ANCHOR.get(editor);
|
|
37
|
-
let text = '';
|
|
38
|
-
if (!isParagraphStart) {
|
|
39
|
-
const beforeRange = {
|
|
40
|
-
anchor: Editor.before(editor, selection.anchor),
|
|
41
|
-
focus: selection.focus
|
|
42
|
-
};
|
|
43
|
-
text = Editor.string(editor, beforeRange);
|
|
44
|
-
}
|
|
45
|
-
const isSoftBreak = text === '\n';
|
|
46
|
-
if (isParagraphStart || text === ' ' || isSoftBreak) {
|
|
47
|
-
if (!originAnchor) {
|
|
48
|
-
THE_EDITOR_ORIGIN_ANCHOR.set(editor, editor.selection.anchor);
|
|
49
|
-
}
|
|
50
|
-
const textElement = AngularEditor.toDOMNode(editor, TheQueries.anchorBlockEntry(editor)[0]);
|
|
51
|
-
const origin = isParagraphStart ? textElement : elementRef;
|
|
52
|
-
MentionEditor.openSelectOverlay(editor, type, origin, isSoftBreak);
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
getSearchInfo(editor) {
|
|
56
|
-
const popoverRef = THE_EDITOR_POPOVER_REF.get(editor);
|
|
57
|
-
const originAnchor = THE_EDITOR_ORIGIN_ANCHOR.get(editor);
|
|
58
|
-
if (originAnchor && popoverRef && popoverRef.componentInstance) {
|
|
59
|
-
const currentRange = Editor.range(editor, originAnchor, editor.selection?.focus);
|
|
60
|
-
const currentText = Editor.string(editor, currentRange);
|
|
61
|
-
return {
|
|
62
|
-
currentRange,
|
|
63
|
-
currentText
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return null;
|
|
67
|
-
},
|
|
68
|
-
updateSearchText(editor, text) {
|
|
69
|
-
const popoverRef = THE_EDITOR_POPOVER_REF.get(editor);
|
|
70
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
71
|
-
const panelClass = popoverRef.getOverlayRef().getConfig().panelClass;
|
|
72
|
-
const type = Array.isArray(panelClass)
|
|
73
|
-
? panelClass.find(i => i.indexOf('the-mention-') > -1).split('the-mention-')[1]
|
|
74
|
-
: panelClass.split('the-mention-')[1];
|
|
75
|
-
const currentMention = mentions.find(m => m.type === type);
|
|
76
|
-
const regex = new RegExp(`^${currentMention.trigger}`);
|
|
77
|
-
const beforeMatch = text && text.match(regex);
|
|
78
|
-
const keywords = text.slice(1);
|
|
79
|
-
const cdr = editor.injector.get(ChangeDetectorRef);
|
|
80
|
-
if (popoverRef?.componentInstance && beforeMatch && !keywords.match(/^\s|\s$/)) {
|
|
81
|
-
popoverRef.componentInstance.keywords = keywords;
|
|
82
|
-
popoverRef.componentInstance.getSearchResult(keywords);
|
|
83
|
-
cdr.markForCheck();
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
openSelectOverlay(editor, type, origin, isSoftBreak = false) {
|
|
87
|
-
const overlay = editor.injector.get(Overlay);
|
|
88
|
-
const thyPopover = editor.injector.get(ThyPopover);
|
|
89
|
-
const viewContainerRef = editor.injector.get(ViewContainerRef);
|
|
90
|
-
const cdr = editor.injector.get(ChangeDetectorRef);
|
|
91
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
92
|
-
const currentMention = mentions.find(m => m.type === type);
|
|
93
|
-
const suggestionComponent = currentMention?.suggestion;
|
|
94
|
-
const popoverRef = thyPopover.open(suggestionComponent, {
|
|
95
|
-
origin,
|
|
96
|
-
initialState: {
|
|
97
|
-
editor,
|
|
98
|
-
type
|
|
99
|
-
},
|
|
100
|
-
panelClass: `the-mention-${type}`,
|
|
101
|
-
placement: 'bottomLeft',
|
|
102
|
-
insideClosable: false,
|
|
103
|
-
outsideClosable: true,
|
|
104
|
-
hasBackdrop: false,
|
|
105
|
-
offset: 4,
|
|
106
|
-
minWidth: 0,
|
|
107
|
-
viewContainerRef: viewContainerRef,
|
|
108
|
-
scrollStrategy: overlay.scrollStrategies.reposition(),
|
|
109
|
-
autoAdaptive: true
|
|
110
|
-
});
|
|
111
|
-
THE_EDITOR_POPOVER_REF.set(editor, popoverRef);
|
|
112
|
-
popoverRef?.afterClosed().subscribe(() => {
|
|
113
|
-
MentionEditor.close(editor);
|
|
114
|
-
});
|
|
115
|
-
MentionEditor.updatePositionStrategy(editor, isSoftBreak);
|
|
116
|
-
cdr.markForCheck();
|
|
117
|
-
},
|
|
118
|
-
close(editor) {
|
|
119
|
-
const popoverRef = THE_EDITOR_POPOVER_REF.get(editor);
|
|
120
|
-
if (popoverRef) {
|
|
121
|
-
popoverRef.close();
|
|
122
|
-
THE_EDITOR_POPOVER_REF.set(editor, null);
|
|
123
|
-
THE_EDITOR_ORIGIN_ANCHOR.set(editor, null);
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
insertMention(editor, type, data) {
|
|
127
|
-
const element = {
|
|
128
|
-
type,
|
|
129
|
-
...data,
|
|
130
|
-
children: [
|
|
131
|
-
{
|
|
132
|
-
text: ''
|
|
133
|
-
}
|
|
134
|
-
]
|
|
135
|
-
};
|
|
136
|
-
Transforms.insertNodes(editor, element);
|
|
137
|
-
Transforms.select(editor, editor.selection);
|
|
138
|
-
Transforms.move(editor);
|
|
139
|
-
TheEditor.focus(editor);
|
|
140
|
-
editor.insertText(' ');
|
|
141
|
-
},
|
|
142
|
-
isActive(editor, type) {
|
|
143
|
-
const [match] = TheQueries.getNodesByType(editor, type);
|
|
144
|
-
return !!match;
|
|
145
|
-
},
|
|
146
|
-
updatePositionStrategy(editor, isSoftBreak = false) {
|
|
147
|
-
const textElement = AngularEditor.toDOMNode(editor, TheQueries.anchorBlockEntry(editor)[0]);
|
|
148
|
-
const nativeRange = AngularEditor.toDOMRange(editor, editor.selection);
|
|
149
|
-
const cursorRect = nativeRange.getBoundingClientRect();
|
|
150
|
-
const textElementRect = textElement.getBoundingClientRect();
|
|
151
|
-
const bottomPosition = {
|
|
152
|
-
originX: 'start',
|
|
153
|
-
originY: 'top',
|
|
154
|
-
overlayX: 'start',
|
|
155
|
-
overlayY: 'top',
|
|
156
|
-
offsetX: isSoftBreak ? 0 : cursorRect.x - textElementRect.x,
|
|
157
|
-
offsetY: isSoftBreak ? textElementRect.height : cursorRect.y - textElementRect.y + 20
|
|
158
|
-
};
|
|
159
|
-
const bottomLeftPosition = {
|
|
160
|
-
...bottomPosition,
|
|
161
|
-
overlayX: 'end',
|
|
162
|
-
offsetX: isSoftBreak ? 0 : cursorRect.x - textElementRect.x + 10
|
|
163
|
-
};
|
|
164
|
-
const topRightPosition = {
|
|
165
|
-
...bottomPosition,
|
|
166
|
-
overlayY: 'bottom',
|
|
167
|
-
offsetY: cursorRect.y - textElementRect.y + (isSoftBreak ? cursorRect.height : 0)
|
|
168
|
-
};
|
|
169
|
-
const topLeftPosition = {
|
|
170
|
-
...topRightPosition,
|
|
171
|
-
overlayX: 'end',
|
|
172
|
-
overlayY: 'bottom',
|
|
173
|
-
offsetX: isSoftBreak ? 0 : cursorRect.x - textElementRect.x + 10
|
|
174
|
-
};
|
|
175
|
-
const overlayRef = THE_EDITOR_POPOVER_REF.get(editor)?.getOverlayRef();
|
|
176
|
-
updatePopoverPosition(overlayRef, textElement, [bottomPosition, bottomLeftPosition, topRightPosition, topLeftPosition]);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tZW50aW9uL21lbnRpb24uZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBVyxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixhQUFhLENBQUMsTUFBaUIsRUFBRSxJQUFZO1FBQ3pDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQXVCLE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQzlGLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFD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QUN4QyxHQUFHLGNBQWM7WUFDakIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BGLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBc0I7WUFDdkMsR0FBRyxnQkFBZ0I7WUFDbkIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsR0FBRyxFQUFFO1NBQ25FLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDdkUscUJBQXFCLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzVILENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlQYXJhZ3JhcGgsIFRIRV9FRElUT1JfT1JJR0lOX0FOQ0hPUiwgVEhFX0VESVRPUl9QT1BPVkVSX1JFRiwgdXBkYXRlUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWVudGlvblBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL21lbnRpb24udHlwZSc7XG5cbmV4cG9ydCBjb25zdCBNZW50aW9uRWRpdG9yID0ge1xuICAgIGluc2VydFRyaWdnZXIoZWRpdG9yOiBUaGVFZGl0b3IsIHR5cGU6IHN0cmluZykge1xuICAgICAgICBNZW50aW9uRWRpdG9yLmNsb3NlKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IG1lbnRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxNZW50aW9uUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLm1lbnRpb24pPy5tZW50aW9ucztcbiAgICAgICAgY29uc3QgY3VycmVudE1lbnRpb24gPSBtZW50aW9ucy5maW5kKG0gPT4gbT8udHlwZSA9PT0gdHlwZSk7XG4gICAgICAgIGNvbnN0IGluc2VydFBhdGggPSBUaGVRdWVyaWVzLmdldEluc2VydEVsZW1lbnRzUGF0aChlZGl0b3IsIFtFbGVtZW50S2luZHMucGFyYWdyYXBoXSk7XG5cbiAgICAgICAgaWYgKCFpbnNlcnRQYXRoKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY3JlYXRlRW1wdHlQYXJhZ3JhcGgoKSwgeyBzZWxlY3Q6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBUcmFuc2Zvcm1zLmluc2VydFRleHQoZWRpdG9yLCBgICR7Y3VycmVudE1lbnRpb24udHJpZ2dlcn1gKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBUSEVfRURJVE9SX09SSUdJTl9BTkNIT1Iuc2V0KGVkaXRvciwgRWRpdG9yLmJlZm9yZShlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yKSk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgVGhlUXVlcmllcy5hbmNob3JCbG9ja0VudHJ5KGVkaXRvcilbMF0pO1xuICAgICAgICAgICAgTWVudGlvbkVkaXRvci5vcGVuU2VsZWN0T3ZlcmxheShlZGl0b3IsIHR5cGUsIHRleHRFbGVtZW50KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBkZWxldGVUcmlnZ2VyVGV4dChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBzZWFyY2hJbmZvID0gTWVudGlvbkVkaXRvci5nZXRTZWFyY2hJbmZvKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IHsgY3VycmVudFJhbmdlIH0gPSBzZWFyY2hJbmZvO1xuICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IGN1cnJlbnRSYW5nZSB9KTtcbiAgICB9LFxuICAgIG9wZW5TdWdnZXN0aW9uKGVkaXRvcjogVGhlRWRpdG9yLCB0eXBlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZiA9IGVkaXRvci5pbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XG4gICAgICAgIGNvbnN0IGlzUGFyYWdyYXBoU3RhcnQgPSBFZGl0b3IuaXNTdGFydChlZGl0b3IsIHNlbGVjdGlvbj8uYW5jaG9yLCBUaGVRdWVyaWVzLmFuY2hvckJsb2NrRW50cnkoZWRpdG9yKVsxXSk7XG4gICAgICAgIGNvbnN0IG9yaWdpbkFuY2hvciA9IFRIRV9FRElUT1JfT1JJR0lOX0FOQ0hPUi5nZXQoZWRpdG9yKTtcbiAgICAgICAgbGV0IHRleHQgPSAnJztcblxuICAgICAgICBpZiAoIWlzUGFyYWdyYXBoU3RhcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJlZm9yZVJhbmdlID0ge1xuICAgICAgICAgICAgICAgIGFuY2hvcjogRWRpdG9yLmJlZm9yZShlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IpLFxuICAgICAgICAgICAgICAgIGZvY3VzOiBzZWxlY3Rpb24uZm9jdXNcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0ZXh0ID0gRWRpdG9yLnN0cmluZyhlZGl0b3IsIGJlZm9yZVJhbmdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzU29mdEJyZWFrID0gdGV4dCA9PT0gJ1xcbic7XG4gICAgICAgIGlmIChpc1BhcmFncmFwaFN0YXJ0IHx8IHRleHQgPT09ICcgJyB8fCBpc1NvZnRCcmVhaykge1xuICAgICAgICAgICAgaWYgKCFvcmlnaW5BbmNob3IpIHtcbiAgICAgICAgICAgICAgICBUSEVfRURJVE9SX09SSUdJTl9BTkNIT1Iuc2V0KGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IGlzUGFyYWdyYXBoU3RhcnQgPyB0ZXh0RWxlbWVudCA6IGVsZW1lbnRSZWY7XG4gICAgICAgICAgICBNZW50aW9uRWRpdG9yLm9wZW5TZWxlY3RPdmVybGF5KGVkaXRvciwgdHlwZSwgb3JpZ2luLCBpc1NvZnRCcmVhayk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGdldFNlYXJjaEluZm8oZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IFRIRV9FRElUT1JfUE9QT1ZFUl9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIGNvbnN0IG9yaWdpbkFuY2hvciA9IFRIRV9FRElUT1JfT1JJR0lOX0FOQ0hPUi5nZXQoZWRpdG9yKTtcblxuICAgICAgICBpZiAob3JpZ2luQW5jaG9yICYmIHBvcG92ZXJSZWYgJiYgcG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJhbmdlID0gRWRpdG9yLnJhbmdlKGVkaXRvciwgb3JpZ2luQW5jaG9yLCBlZGl0b3Iuc2VsZWN0aW9uPy5mb2N1cyk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGV4dCA9IEVkaXRvci5zdHJpbmcoZWRpdG9yLCBjdXJyZW50UmFuZ2UpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSYW5nZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50VGV4dFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgdXBkYXRlU2VhcmNoVGV4dChlZGl0b3I6IFRoZUVkaXRvciwgdGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBUSEVfRURJVE9SX1BPUE9WRVJfUkVGLmdldChlZGl0b3IpO1xuICAgICAgICBjb25zdCBtZW50aW9ucyA9IGdldFBsdWdpbk9wdGlvbnM8TWVudGlvblBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5tZW50aW9uKT8ubWVudGlvbnM7XG4gICAgICAgIGNvbnN0IHBhbmVsQ2xhc3MgPSBwb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKS5nZXRDb25maWcoKS5wYW5lbENsYXNzO1xuICAgICAgICBjb25zdCB0eXBlID0gQXJyYXkuaXNBcnJheShwYW5lbENsYXNzKVxuICAgICAgICAgICAgPyBwYW5lbENsYXNzLmZpbmQoaSA9PiBpLmluZGV4T2YoJ3RoZS1tZW50aW9uLScpID4gLTEpLnNwbGl0KCd0aGUtbWVudGlvbi0nKVsxXVxuICAgICAgICAgICAgOiBwYW5lbENsYXNzLnNwbGl0KCd0aGUtbWVudGlvbi0nKVsxXTtcbiAgICAgICAgY29uc3QgY3VycmVudE1lbnRpb24gPSBtZW50aW9ucy5maW5kKG0gPT4gbS50eXBlID09PSB0eXBlKTtcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeJHtjdXJyZW50TWVudGlvbi50cmlnZ2VyfWApO1xuICAgICAgICBjb25zdCBiZWZvcmVNYXRjaCA9IHRleHQgJiYgdGV4dC5tYXRjaChyZWdleCk7XG4gICAgICAgIGNvbnN0IGtleXdvcmRzID0gdGV4dC5zbGljZSgxKTtcbiAgICAgICAgY29uc3QgY2RyID0gZWRpdG9yLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgaWYgKHBvcG92ZXJSZWY/LmNvbXBvbmVudEluc3RhbmNlICYmIGJlZm9yZU1hdGNoICYmICFrZXl3b3Jkcy5tYXRjaCgvXlxcc3xcXHMkLykpIHtcbiAgICAgICAgICAgIHBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2Uua2V5d29yZHMgPSBrZXl3b3JkcztcbiAgICAgICAgICAgIHBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2UuZ2V0U2VhcmNoUmVzdWx0KGtleXdvcmRzKTtcbiAgICAgICAgICAgIGNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgb3BlblNlbGVjdE92ZXJsYXkoZWRpdG9yOiBUaGVFZGl0b3IsIHR5cGU6IHN0cmluZywgb3JpZ2luOiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQsIGlzU29mdEJyZWFrID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IGVkaXRvci5pbmplY3Rvci5nZXQoT3ZlcmxheSk7XG4gICAgICAgIGNvbnN0IHRoeVBvcG92ZXIgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoeVBvcG92ZXIpO1xuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gZWRpdG9yLmluamVjdG9yLmdldChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgY29uc3QgY2RyID0gZWRpdG9yLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgICAgIGNvbnN0IG1lbnRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxNZW50aW9uUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLm1lbnRpb24pPy5tZW50aW9ucztcbiAgICAgICAgY29uc3QgY3VycmVudE1lbnRpb24gPSBtZW50aW9ucy5maW5kKG0gPT4gbS50eXBlID09PSB0eXBlKTtcbiAgICAgICAgY29uc3Qgc3VnZ2VzdGlvbkNvbXBvbmVudCA9IGN1cnJlbnRNZW50aW9uPy5zdWdnZXN0aW9uO1xuXG4gICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSB0aHlQb3BvdmVyLm9wZW4oc3VnZ2VzdGlvbkNvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBgdGhlLW1lbnRpb24tJHt0eXBlfWAsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG9mZnNldDogNCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBUSEVfRURJVE9SX1BPUE9WRVJfUkVGLnNldChlZGl0b3IsIHBvcG92ZXJSZWYpO1xuICAgICAgICBwb3BvdmVyUmVmPy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBNZW50aW9uRWRpdG9yLmNsb3NlKGVkaXRvcik7XG4gICAgICAgIH0pO1xuICAgICAgICBNZW50aW9uRWRpdG9yLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koZWRpdG9yLCBpc1NvZnRCcmVhayk7XG5cbiAgICAgICAgY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sXG4gICAgY2xvc2UoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IFRIRV9FRElUT1JfUE9QT1ZFUl9SRUYuZ2V0KGVkaXRvcik7XG4gICAgICAgIGlmIChwb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBwb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICBUSEVfRURJVE9SX1BPUE9WRVJfUkVGLnNldChlZGl0b3IsIG51bGwpO1xuICAgICAgICAgICAgVEhFX0VESVRPUl9PUklHSU5fQU5DSE9SLnNldChlZGl0b3IsIG51bGwpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpbnNlcnRNZW50aW9uPFQ+KGVkaXRvcjogVGhlRWRpdG9yLCB0eXBlOiBzdHJpbmcsIGRhdGE6IFQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICcnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgZWxlbWVudCBhcyBFbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlKGVkaXRvcik7XG4gICAgICAgIFRoZUVkaXRvci5mb2N1cyhlZGl0b3IpO1xuXG4gICAgICAgIGVkaXRvci5pbnNlcnRUZXh0KCcgJyk7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IFRoZUVkaXRvciwgdHlwZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IFttYXRjaF0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKGVkaXRvciwgdHlwZSk7XG4gICAgICAgIHJldHVybiAhIW1hdGNoO1xuICAgIH0sXG4gICAgdXBkYXRlUG9zaXRpb25TdHJhdGVneShlZGl0b3I6IFRoZUVkaXRvciwgaXNTb2Z0QnJlYWsgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgVGhlUXVlcmllcy5hbmNob3JCbG9ja0VudHJ5KGVkaXRvcilbMF0pO1xuICAgICAgICBjb25zdCBuYXRpdmVSYW5nZSA9IEFuZ3VsYXJFZGl0b3IudG9ET01SYW5nZShlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBjdXJzb3JSZWN0ID0gbmF0aXZlUmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHRleHRFbGVtZW50UmVjdCA9IHRleHRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBib3R0b21Qb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgIG9mZnNldFg6IGlzU29mdEJyZWFrID8gMCA6IGN1cnNvclJlY3QueCAtIHRleHRFbGVtZW50UmVjdC54LFxuICAgICAgICAgICAgb2Zmc2V0WTogaXNTb2Z0QnJlYWsgPyB0ZXh0RWxlbWVudFJlY3QuaGVpZ2h0IDogY3Vyc29yUmVjdC55IC0gdGV4dEVsZW1lbnRSZWN0LnkgKyAyMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBib3R0b21MZWZ0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgLi4uYm90dG9tUG9zaXRpb24sXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvZmZzZXRYOiBpc1NvZnRCcmVhayA/IDAgOiBjdXJzb3JSZWN0LnggLSB0ZXh0RWxlbWVudFJlY3QueCArIDEwXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRvcFJpZ2h0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgLi4uYm90dG9tUG9zaXRpb24sXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRZOiBjdXJzb3JSZWN0LnkgLSB0ZXh0RWxlbWVudFJlY3QueSArIChpc1NvZnRCcmVhayA/IGN1cnNvclJlY3QuaGVpZ2h0IDogMClcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgdG9wTGVmdFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLnRvcFJpZ2h0UG9zaXRpb24sXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRYOiBpc1NvZnRCcmVhayA/IDAgOiBjdXJzb3JSZWN0LnggLSB0ZXh0RWxlbWVudFJlY3QueCArIDEwXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IFRIRV9FRElUT1JfUE9QT1ZFUl9SRUYuZ2V0KGVkaXRvcik/LmdldE92ZXJsYXlSZWYoKTtcbiAgICAgICAgdXBkYXRlUG9wb3ZlclBvc2l0aW9uKG92ZXJsYXlSZWYsIHRleHRFbGVtZW50LCBbYm90dG9tUG9zaXRpb24sIGJvdHRvbUxlZnRQb3NpdGlvbiwgdG9wUmlnaHRQb3NpdGlvbiwgdG9wTGVmdFBvc2l0aW9uXSk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
2
|
-
import { PluginKeys } from '../../interfaces';
|
|
3
|
-
import { isDirectionKeydown, THE_EDITOR_POPOVER_REF } from '../../utils';
|
|
4
|
-
import { MentionEditor } from './mention.editor';
|
|
5
|
-
import { isMobileMode } from '../../utils/get-mode';
|
|
6
|
-
export const withMention = (editor) => {
|
|
7
|
-
const { isInline, isVoid, insertText, deleteBackward, renderElement, deleteFragment, onKeydown } = editor;
|
|
8
|
-
editor.isInline = element => {
|
|
9
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
10
|
-
if (mentions?.some(mention => element?.type === mention?.type)) {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return isInline(element);
|
|
14
|
-
};
|
|
15
|
-
editor.isVoid = element => {
|
|
16
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
17
|
-
if (mentions?.some(mention => element?.type === mention?.type)) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
return isVoid(element);
|
|
21
|
-
};
|
|
22
|
-
editor.renderElement = (element) => {
|
|
23
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
24
|
-
const currentMention = mentions?.find(mention => element?.type === mention?.type);
|
|
25
|
-
if (currentMention && currentMention?.render) {
|
|
26
|
-
return currentMention?.render;
|
|
27
|
-
}
|
|
28
|
-
return renderElement(element);
|
|
29
|
-
};
|
|
30
|
-
editor.insertText = text => {
|
|
31
|
-
if (text === ' ') {
|
|
32
|
-
MentionEditor.close(editor);
|
|
33
|
-
}
|
|
34
|
-
else if (!isMobileMode(editor)) {
|
|
35
|
-
const mentions = getPluginOptions(editor, PluginKeys.mention)?.mentions;
|
|
36
|
-
const currentMention = mentions?.find(m => m?.trigger === text);
|
|
37
|
-
const isDisabledTrigger = currentMention && currentMention.disableTrigger ? currentMention?.disableTrigger(editor) : false;
|
|
38
|
-
if (editor.selection && currentMention && !isDisabledTrigger) {
|
|
39
|
-
MentionEditor.openSuggestion(editor, currentMention.type);
|
|
40
|
-
}
|
|
41
|
-
const searchInfo = MentionEditor.getSearchInfo(editor);
|
|
42
|
-
if (searchInfo) {
|
|
43
|
-
const { currentText } = searchInfo;
|
|
44
|
-
const searchText = `${currentText}${text}`;
|
|
45
|
-
MentionEditor.updateSearchText(editor, searchText);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
insertText(text);
|
|
49
|
-
};
|
|
50
|
-
editor.deleteBackward = unit => {
|
|
51
|
-
const searchInfo = MentionEditor.getSearchInfo(editor);
|
|
52
|
-
if (searchInfo) {
|
|
53
|
-
const { currentText } = searchInfo;
|
|
54
|
-
const searchText = currentText.slice(0, -1);
|
|
55
|
-
if (!!searchText) {
|
|
56
|
-
MentionEditor.updateSearchText(editor, searchText);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
MentionEditor.close(editor);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
deleteBackward(unit);
|
|
63
|
-
};
|
|
64
|
-
editor.deleteFragment = direction => {
|
|
65
|
-
const searchInfo = MentionEditor.getSearchInfo(editor);
|
|
66
|
-
if (searchInfo) {
|
|
67
|
-
const { currentText } = searchInfo;
|
|
68
|
-
if (!!currentText) {
|
|
69
|
-
MentionEditor.updateSearchText(editor, currentText);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
MentionEditor.close(editor);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
deleteFragment(direction);
|
|
76
|
-
};
|
|
77
|
-
editor.onKeydown = (event) => {
|
|
78
|
-
if (THE_EDITOR_POPOVER_REF.get(editor)) {
|
|
79
|
-
if (isDirectionKeydown(event)) {
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
onKeydown(event);
|
|
85
|
-
};
|
|
86
|
-
return editor;
|
|
87
|
-
};
|
|
88
|
-
export const createMentionPlugin = createPluginFactory({
|
|
89
|
-
key: PluginKeys.mention,
|
|
90
|
-
withOverrides: withMention
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tZW50aW9uL21lbnRpb24ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQzFELE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFMUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsRUFBRTtRQUN4QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBdUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDOUYsSUFBSSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRTtRQUN0QixNQUFN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RSxVQUFVLENBQUMsT0FBTztJQUN2QixhQUFhLEVBQUUsV0FBVztDQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBpc0RpcmVjdGlvbktleWRvd24sIFRIRV9FRElUT1JfUE9QT1ZFUl9SRUYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNZW50aW9uRWRpdG9yIH0gZnJvbSAnLi9tZW50aW9uLmVkaXRvcic7XG5pbXBvcnQgeyBNZW50aW9uUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vbWVudGlvbi50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlTW9kZSB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1tb2RlJztcblxuZXhwb3J0IGNvbnN0IHdpdGhNZW50aW9uID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaXNJbmxpbmUsIGlzVm9pZCwgaW5zZXJ0VGV4dCwgZGVsZXRlQmFja3dhcmQsIHJlbmRlckVsZW1lbnQsIGRlbGV0ZUZyYWdtZW50LCBvbktleWRvd24gfSA9IGVkaXRvcjtcblxuICAgIGVkaXRvci5pc0lubGluZSA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBtZW50aW9ucyA9IGdldFBsdWdpbk9wdGlvbnM8TWVudGlvblBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5tZW50aW9uKT8ubWVudGlvbnM7XG4gICAgICAgIGlmIChtZW50aW9ucz8uc29tZShtZW50aW9uID0+IGVsZW1lbnQ/LnR5cGUgPT09IG1lbnRpb24/LnR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNJbmxpbmUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pc1ZvaWQgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3QgbWVudGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPE1lbnRpb25QbHVnaW5PcHRpb25zPihlZGl0b3IsIFBsdWdpbktleXMubWVudGlvbik/Lm1lbnRpb25zO1xuICAgICAgICBpZiAobWVudGlvbnM/LnNvbWUobWVudGlvbiA9PiBlbGVtZW50Py50eXBlID09PSBtZW50aW9uPy50eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzVm9pZChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBtZW50aW9ucyA9IGdldFBsdWdpbk9wdGlvbnM8TWVudGlvblBsdWdpbk9wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5tZW50aW9uKT8ubWVudGlvbnM7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNZW50aW9uID0gbWVudGlvbnM/LmZpbmQobWVudGlvbiA9PiBlbGVtZW50Py50eXBlID09PSBtZW50aW9uPy50eXBlKTtcbiAgICAgICAgaWYgKGN1cnJlbnRNZW50aW9uICYmIGN1cnJlbnRNZW50aW9uPy5yZW5kZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50TWVudGlvbj8ucmVuZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnRUZXh0ID0gdGV4dCA9PiB7XG4gICAgICAgIGlmICh0ZXh0ID09PSAnICcpIHtcbiAgICAgICAgICAgIE1lbnRpb25FZGl0b3IuY2xvc2UoZWRpdG9yKTtcbiAgICAgICAgfSBlbHNlIGlmICghaXNNb2JpbGVNb2RlKGVkaXRvcikpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxNZW50aW9uUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLm1lbnRpb24pPy5tZW50aW9ucztcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRNZW50aW9uID0gbWVudGlvbnM/LmZpbmQobSA9PiBtPy50cmlnZ2VyID09PSB0ZXh0KTtcbiAgICAgICAgICAgIGNvbnN0IGlzRGlzYWJsZWRUcmlnZ2VyID0gY3VycmVudE1lbnRpb24gJiYgY3VycmVudE1lbnRpb24uZGlzYWJsZVRyaWdnZXIgPyBjdXJyZW50TWVudGlvbj8uZGlzYWJsZVRyaWdnZXIoZWRpdG9yKSA6IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgY3VycmVudE1lbnRpb24gJiYgIWlzRGlzYWJsZWRUcmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgTWVudGlvbkVkaXRvci5vcGVuU3VnZ2VzdGlvbihlZGl0b3IsIGN1cnJlbnRNZW50aW9uLnR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzZWFyY2hJbmZvID0gTWVudGlvbkVkaXRvci5nZXRTZWFyY2hJbmZvKGVkaXRvcik7XG4gICAgICAgICAgICBpZiAoc2VhcmNoSW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudFRleHQgfSA9IHNlYXJjaEluZm87XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoVGV4dCA9IGAke2N1cnJlbnRUZXh0fSR7dGV4dH1gO1xuICAgICAgICAgICAgICAgIE1lbnRpb25FZGl0b3IudXBkYXRlU2VhcmNoVGV4dChlZGl0b3IsIHNlYXJjaFRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUJhY2t3YXJkID0gdW5pdCA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXJjaEluZm8gPSBNZW50aW9uRWRpdG9yLmdldFNlYXJjaEluZm8oZWRpdG9yKTtcbiAgICAgICAgaWYgKHNlYXJjaEluZm8pIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudFRleHQgfSA9IHNlYXJjaEluZm87XG4gICAgICAgICAgICBjb25zdCBzZWFyY2hUZXh0ID0gY3VycmVudFRleHQuc2xpY2UoMCwgLTEpO1xuXG4gICAgICAgICAgICBpZiAoISFzZWFyY2hUZXh0KSB7XG4gICAgICAgICAgICAgICAgTWVudGlvbkVkaXRvci51cGRhdGVTZWFyY2hUZXh0KGVkaXRvciwgc2VhcmNoVGV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE1lbnRpb25FZGl0b3IuY2xvc2UoZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRlbGV0ZUJhY2t3YXJkKHVuaXQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuZGVsZXRlRnJhZ21lbnQgPSBkaXJlY3Rpb24gPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2hJbmZvID0gTWVudGlvbkVkaXRvci5nZXRTZWFyY2hJbmZvKGVkaXRvcik7XG5cbiAgICAgICAgaWYgKHNlYXJjaEluZm8pIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudFRleHQgfSA9IHNlYXJjaEluZm87XG5cbiAgICAgICAgICAgIGlmICghIWN1cnJlbnRUZXh0KSB7XG4gICAgICAgICAgICAgICAgTWVudGlvbkVkaXRvci51cGRhdGVTZWFyY2hUZXh0KGVkaXRvciwgY3VycmVudFRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBNZW50aW9uRWRpdG9yLmNsb3NlKGVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkZWxldGVGcmFnbWVudChkaXJlY3Rpb24pO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChUSEVfRURJVE9SX1BPUE9WRVJfUkVGLmdldChlZGl0b3IpKSB7XG4gICAgICAgICAgICBpZiAoaXNEaXJlY3Rpb25LZXlkb3duKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWVudGlvblBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnk8TWVudGlvblBsdWdpbk9wdGlvbnM+KHtcbiAgICBrZXk6IFBsdWdpbktleXMubWVudGlvbixcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoTWVudGlvblxufSk7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvbWVudGlvbi9tZW50aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZU1lbnRpb24ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICB0cmlnZ2VyOiBzdHJpbmc7XG4gICAgc3VnZ2VzdGlvbjogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIHJlbmRlcjogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIGRpc2FibGVUcmlnZ2VyPzogKGVkaXRvcjogVGhlRWRpdG9yKSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnRpb25QbHVnaW5PcHRpb25zIHtcbiAgICBtZW50aW9uczogVGhlTWVudGlvbltdO1xufVxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TheBaseSuggestion {
|
|
4
|
-
handleMousedown(event) {
|
|
5
|
-
event.preventDefault();
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseSuggestion, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TheBaseSuggestion, inputs: { editor: "editor", type: "type", keywords: "keywords" }, host: { listeners: { "mousedown": "handleMousedown($event)" } }, ngImport: i0 }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseSuggestion, decorators: [{
|
|
11
|
-
type: Directive
|
|
12
|
-
}], propDecorators: { editor: [{
|
|
13
|
-
type: Input
|
|
14
|
-
}], type: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}], keywords: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}], handleMousedown: [{
|
|
19
|
-
type: HostListener,
|
|
20
|
-
args: ['mousedown', ['$event']]
|
|
21
|
-
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tZW50aW9uL3N1Z2dlc3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJL0QsTUFBTSxPQUFnQixpQkFBaUI7SUFRbkMsZUFBZSxDQUFDLEtBQVk7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBVmlCLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTOzhCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFHTixlQUFlO3NCQURkLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGhlQmFzZVN1Z2dlc3Rpb24ge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogVGhlRWRpdG9yO1xuXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkga2V5d29yZHM6IHN0cmluZztcblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IGdldFNlYXJjaFJlc3VsdChrZXl3b3Jkczogc3RyaW5nKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHNlbGVjdE1lbnRpb248VD4oZXZlbnQ6IFQpOiB2b2lkO1xufVxuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Element } from 'slate';
|
|
2
|
-
import { ELEMENT_UNIQUE_ID } from '../../constants';
|
|
3
|
-
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
4
|
-
import { PluginKeys } from '../../interfaces';
|
|
5
|
-
import * as TheQueries from '../../queries';
|
|
6
|
-
import * as TheTransforms from '../../transforms';
|
|
7
|
-
import { idCreator } from '../../utils';
|
|
8
|
-
import { deleteElementKey } from '../../utils/fragment';
|
|
9
|
-
import { cloneDeep } from '../../utils/lodash';
|
|
10
|
-
export const withNodeID = (e) => {
|
|
11
|
-
const editor = e;
|
|
12
|
-
let props = { idKey: 'id', idCreator: () => Date.now(), filterText: true, filter: () => true };
|
|
13
|
-
const options = getPluginOptions(editor, PluginKeys.nodeID);
|
|
14
|
-
props = { ...props, ...options };
|
|
15
|
-
const { idKey, idCreator, filterText, filter } = props;
|
|
16
|
-
const { apply, getFragment } = editor;
|
|
17
|
-
const idPropsCreator = () => ({ [idKey]: idCreator() });
|
|
18
|
-
editor.removedIDs = new Set();
|
|
19
|
-
editor.apply = (operation) => {
|
|
20
|
-
if (operation.type === 'insert_node') {
|
|
21
|
-
const newFilter = (entry) => {
|
|
22
|
-
const [_node] = entry;
|
|
23
|
-
return filter(entry) && filterText ? Element.isElement(_node) : TheQueries.isDescendant(_node);
|
|
24
|
-
};
|
|
25
|
-
// fix can not find path by orign node
|
|
26
|
-
let node = operation.node;
|
|
27
|
-
if (!Object.isExtensible(node)) {
|
|
28
|
-
node = cloneDeep(node);
|
|
29
|
-
}
|
|
30
|
-
// it will not overwrite ids once it's set as it's read-only
|
|
31
|
-
TheTransforms.mergeDeepToNodes({
|
|
32
|
-
node,
|
|
33
|
-
source: idPropsCreator,
|
|
34
|
-
query: {
|
|
35
|
-
filter: newFilter
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
return apply({
|
|
39
|
-
...operation,
|
|
40
|
-
node
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
if (operation.type === 'split_node' && (!filterText || operation.properties.type)) {
|
|
44
|
-
let id = operation.properties[idKey];
|
|
45
|
-
if (editor.removedIDs.has(id)) {
|
|
46
|
-
editor.removedIDs.delete(id);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
id = idCreator();
|
|
50
|
-
}
|
|
51
|
-
return apply({
|
|
52
|
-
...operation,
|
|
53
|
-
properties: {
|
|
54
|
-
...operation.properties,
|
|
55
|
-
[idKey]: id
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
if (operation.type === 'merge_node' && (!filterText || operation.properties.type)) {
|
|
60
|
-
editor.removedIDs.add(operation.properties[idKey]);
|
|
61
|
-
}
|
|
62
|
-
return apply(operation);
|
|
63
|
-
};
|
|
64
|
-
editor.getFragment = () => {
|
|
65
|
-
const fragment = cloneDeep(getFragment());
|
|
66
|
-
return deleteElementKey(fragment, idKey);
|
|
67
|
-
};
|
|
68
|
-
return editor;
|
|
69
|
-
};
|
|
70
|
-
export const createNodeIDPlugin = createPluginFactory({
|
|
71
|
-
key: PluginKeys.nodeID,
|
|
72
|
-
withOverrides: withNodeID,
|
|
73
|
-
options: {
|
|
74
|
-
idKey: ELEMENT_UNIQUE_ID,
|
|
75
|
-
idCreator
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1pZC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9ub2RlLWlkL25vZGUtaWQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsT0FBTyxFQUE4QixNQUFNLE9BQU8sQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBVy9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFtQixDQUFJLEVBQUssRUFBRTtJQUNwRCxNQUFNLE1BQU0sR0FBRyxDQUFpQyxDQUFDO0lBRWpELElBQUksS0FBSyxHQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoSCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBa0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLE9BQU8s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S0FBSyxDQUFpQixDQUFDO0lBQzdELENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFrQjtJQUNuRSxHQUFHLEVBQUUsVUFBVSxDQUFDLE1BQU07SUFDdEIsYUFBYSxFQUFFLFVBQVU7SUFDekIsT0FBTyxFQUFFO1FBQ0wsS0FBSyxFQUFFLGlCQUFpQjtRQUN4QixTQUFTO0tBQ1o7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjZW5kYW50LCBFZGl0b3IsIEVsZW1lbnQsIE5vZGUsIE5vZGVFbnRyeSwgT3BlcmF0aW9uIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRUxFTUVOVF9VTklRVUVfSUQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGRlbGV0ZUVsZW1lbnRLZXkgfSBmcm9tICcuLi8uLi91dGlscy9mcmFnbWVudCc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICcuLi8uLi91dGlscy9sb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhOb2RlSURQcm9wcyBleHRlbmRzIFF1ZXJ5T3B0aW9ucyB7XG4gICAgLy8gS2V5IHVzZWQgZm9yIHRoZSBpZC4gRGVmYXVsdCBpcyBgaWRgLlxuICAgIGlkS2V5Pzogc3RyaW5nO1xuICAgIC8vIElEIGZhY3RvcnksIGUuZy4gYHV1aWRgXG4gICAgaWRDcmVhdG9yPzogKCkgPT4gdm9pZDtcbiAgICAvLyBGaWx0ZXIgYFRleHRgIG5vZGVzLlxuICAgIGZpbHRlclRleHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aE5vZGVJRCA9IDxUIGV4dGVuZHMgRWRpdG9yPihlOiBUKTogVCA9PiB7XG4gICAgY29uc3QgZWRpdG9yID0gZSBhcyBUICYgeyByZW1vdmVkSURzOiBTZXQ8YW55PiB9O1xuXG4gICAgbGV0IHByb3BzOiBXaXRoTm9kZUlEUHJvcHMgPSB7IGlkS2V5OiAnaWQnLCBpZENyZWF0b3I6ICgpID0+IERhdGUubm93KCksIGZpbHRlclRleHQ6IHRydWUsIGZpbHRlcjogKCkgPT4gdHJ1ZSB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPFdpdGhOb2RlSURQcm9wcz4oZWRpdG9yLCBQbHVnaW5LZXlzLm5vZGVJRCk7XG4gICAgcHJvcHMgPSB7IC4uLnByb3BzLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgeyBpZEtleSwgaWRDcmVhdG9yLCBmaWx0ZXJUZXh0LCBmaWx0ZXIgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgeyBhcHBseSwgZ2V0RnJhZ21lbnQgfSA9IGVkaXRvcjtcblxuICAgIGNvbnN0IGlkUHJvcHNDcmVhdG9yID0gKCkgPT4gKHsgW2lkS2V5XTogaWRDcmVhdG9yKCkgfSk7XG5cbiAgICBlZGl0b3IucmVtb3ZlZElEcyA9IG5ldyBTZXQoKTtcblxuICAgIGVkaXRvci5hcHBseSA9IChvcGVyYXRpb246IE9wZXJhdGlvbikgPT4ge1xuICAgICAgICBpZiAob3BlcmF0aW9uLnR5cGUgPT09ICdpbnNlcnRfbm9kZScpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZpbHRlciA9IChlbnRyeTogTm9kZUVudHJ5PE5vZGU+KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgW19ub2RlXSA9IGVudHJ5O1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIoZW50cnkpICYmIGZpbHRlclRleHQgPyBFbGVtZW50LmlzRWxlbWVudChfbm9kZSkgOiBUaGVRdWVyaWVzLmlzRGVzY2VuZGFudChfbm9kZSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyBmaXggY2FuIG5vdCBmaW5kIHBhdGggYnkgb3JpZ24gbm9kZVxuICAgICAgICAgICAgbGV0IG5vZGUgPSBvcGVyYXRpb24ubm9kZTtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShub2RlKSkge1xuICAgICAgICAgICAgICAgIG5vZGUgPSBjbG9uZURlZXAobm9kZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGl0IHdpbGwgbm90IG92ZXJ3cml0ZSBpZHMgb25jZSBpdCdzIHNldCBhcyBpdCdzIHJlYWQtb25seVxuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5tZXJnZURlZXBUb05vZGVzKHtcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogaWRQcm9wc0NyZWF0b3IsXG4gICAgICAgICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBuZXdGaWx0ZXJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwcGx5KHtcbiAgICAgICAgICAgICAgICAuLi5vcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgbm9kZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3BlcmF0aW9uLnR5cGUgPT09ICdzcGxpdF9ub2RlJyAmJiAoIWZpbHRlclRleHQgfHwgKG9wZXJhdGlvbi5wcm9wZXJ0aWVzIGFzIEVsZW1lbnQpLnR5cGUpKSB7XG4gICAgICAgICAgICBsZXQgaWQgPSBvcGVyYXRpb24ucHJvcGVydGllc1tpZEtleV07XG4gICAgICAgICAgICBpZiAoZWRpdG9yLnJlbW92ZWRJRHMuaGFzKGlkKSkge1xuICAgICAgICAgICAgICAgIGVkaXRvci5yZW1vdmVkSURzLmRlbGV0ZShpZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhcHBseSh7XG4gICAgICAgICAgICAgICAgLi4ub3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ub3BlcmF0aW9uLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgICAgIFtpZEtleV06IGlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3BlcmF0aW9uLnR5cGUgPT09ICdtZXJnZV9ub2RlJyAmJiAoIWZpbHRlclRleHQgfHwgKG9wZXJhdGlvbi5wcm9wZXJ0aWVzIGFzIEVsZW1lbnQpLnR5cGUpKSB7XG4gICAgICAgICAgICBlZGl0b3IucmVtb3ZlZElEcy5hZGQoKG9wZXJhdGlvbi5wcm9wZXJ0aWVzIGFzIEVsZW1lbnQpW2lkS2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXBwbHkob3BlcmF0aW9uKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmdldEZyYWdtZW50ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGNsb25lRGVlcChnZXRGcmFnbWVudCgpKTtcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUVsZW1lbnRLZXkoZnJhZ21lbnQsIGlkS2V5KSBhcyBEZXNjZW5kYW50W107XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTm9kZUlEUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeTxXaXRoTm9kZUlEUHJvcHM+KHtcbiAgICBrZXk6IFBsdWdpbktleXMubm9kZUlELFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhOb2RlSUQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsXG4gICAgICAgIGlkQ3JlYXRvclxuICAgIH1cbn0pO1xuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Editor, Element, Text, Transforms } from 'slate';
|
|
2
|
-
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
3
|
-
import { PluginKeys } from '../../interfaces';
|
|
4
|
-
import * as TheQueries from '../../queries';
|
|
5
|
-
import { createEmptyParagraph } from '../../utils/create-empty-paragraph';
|
|
6
|
-
export const withInsertParagraphNodes = (editor) => {
|
|
7
|
-
const { normalizeNode } = editor;
|
|
8
|
-
const types = getPluginOptions(editor, PluginKeys.insertParagraphNodes)?.types ?? [];
|
|
9
|
-
editor.normalizeNode = ([currentNode, currentPath]) => {
|
|
10
|
-
if (Text.isText(currentNode) && currentPath.length) {
|
|
11
|
-
const [node] = Editor.parent(editor, currentPath);
|
|
12
|
-
const containerBlocks = [...types, ...TheQueries.getContainerBlocks(editor)];
|
|
13
|
-
if (Element.isElement(node) && containerBlocks.includes(node.type)) {
|
|
14
|
-
const paragraph = createEmptyParagraph();
|
|
15
|
-
paragraph.children[0].text = currentNode.text;
|
|
16
|
-
Transforms.insertNodes(editor, paragraph, { at: currentPath });
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return normalizeNode([currentNode, currentPath]);
|
|
21
|
-
};
|
|
22
|
-
return editor;
|
|
23
|
-
};
|
|
24
|
-
export const createInsertParagraphNodesPlugin = createPluginFactory({
|
|
25
|
-
key: PluginKeys.insertParagraphNodes,
|
|
26
|
-
withOverrides: withInsertParagraphNodes
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL25vcm1hbGl6ZXJzL2luc2VydC1wYXJhZ3JhcGgtbm9kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTTFFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ3ZFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQThCLE1BQU0sRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBRWxILE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1FBQ2xELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3RSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDakUsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztnQkFDeEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQVUsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDeEQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQy9ELE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsbUJBQW1CLENBQThCO0lBQzdGLEdBQUcsRUFBRSxVQUFVLENBQUMsb0JBQW9CO0lBQ3BDLGFBQWEsRUFBRSx3QkFBd0I7Q0FDMUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uL3V0aWxzL2NyZWF0ZS1lbXB0eS1wYXJhZ3JhcGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydFBhcmFncmFwaE5vZGVzT3B0aW9ucyB7XG4gICAgdHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgbm9ybWFsaXplTm9kZSB9ID0gZWRpdG9yO1xuICAgIGNvbnN0IHR5cGVzID0gZ2V0UGx1Z2luT3B0aW9uczxJbnNlcnRQYXJhZ3JhcGhOb2Rlc09wdGlvbnM+KGVkaXRvciwgUGx1Z2luS2V5cy5pbnNlcnRQYXJhZ3JhcGhOb2Rlcyk/LnR5cGVzID8/IFtdO1xuXG4gICAgZWRpdG9yLm5vcm1hbGl6ZU5vZGUgPSAoW2N1cnJlbnROb2RlLCBjdXJyZW50UGF0aF0pID0+IHtcbiAgICAgICAgaWYgKFRleHQuaXNUZXh0KGN1cnJlbnROb2RlKSAmJiBjdXJyZW50UGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IFtub2RlXSA9IEVkaXRvci5wYXJlbnQoZWRpdG9yLCBjdXJyZW50UGF0aCk7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJCbG9ja3MgPSBbLi4udHlwZXMsIC4uLlRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKGVkaXRvcildO1xuICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIGNvbnRhaW5lckJsb2Nrcy5pbmNsdWRlcyhub2RlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYWdyYXBoID0gY3JlYXRlRW1wdHlQYXJhZ3JhcGgoKTtcbiAgICAgICAgICAgICAgICAocGFyYWdyYXBoLmNoaWxkcmVuWzBdIGFzIFRleHQpLnRleHQgPSBjdXJyZW50Tm9kZS50ZXh0O1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBwYXJhZ3JhcGgsIHsgYXQ6IGN1cnJlbnRQYXRoIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9ybWFsaXplTm9kZShbY3VycmVudE5vZGUsIGN1cnJlbnRQYXRoXSk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSW5zZXJ0UGFyYWdyYXBoTm9kZXNQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEluc2VydFBhcmFncmFwaE5vZGVzT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5pbnNlcnRQYXJhZ3JhcGhOb2RlcyxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXNcbn0pO1xuIl19
|