@worktile/theia 3.0.9 → 3.1.0-next.2
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/README.md +11 -11
- package/components/color-select/color-select.component.d.ts +32 -32
- package/components/color-select/color-select.component.scss +107 -107
- package/components/column-resize/column-resize-notifier.d.ts +35 -35
- package/components/column-resize/column-resize.directive.d.ts +26 -26
- package/components/column-resize/column-resize.module.d.ts +14 -14
- package/components/column-resize/event-dispatcher.d.ts +31 -31
- package/components/column-resize/overlay-handle.component.d.ts +33 -33
- package/components/column-resize/resize-ref.d.ts +25 -25
- package/components/column-resize/resizing.store.d.ts +28 -28
- package/components/column-resize/selectors.d.ts +3 -3
- package/components/contextmenu/contextmenu.component.d.ts +22 -22
- package/components/conversion-hint/conversion-hint.component.d.ts +18 -18
- package/components/conversion-hint/conversion-hint.component.scss +11 -11
- package/components/element/element.component.d.ts +7 -7
- package/components/inline-toolbar/inline-toolbar.component.d.ts +26 -26
- package/components/nav-split-line/nav-split-line.component.d.ts +13 -13
- package/components/table-select/table-select.component.d.ts +20 -20
- package/components/table-select/table-select.component.scss +35 -35
- package/components/template/template.component.d.ts +15 -15
- package/components/text/text.component.d.ts +14 -14
- package/components/toolbar/toolbar.component.d.ts +64 -65
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +33 -33
- package/components/toolbar-group/toolbar-group.component.d.ts +33 -33
- package/components/toolbar-group/toolbar-group.component.scss +17 -17
- package/components/toolbar-item/toolbar-item.component.d.ts +17 -18
- package/constants/auto-format-rules.d.ts +2 -2
- package/constants/code.d.ts +9 -9
- package/constants/color-select.d.ts +14 -14
- package/constants/default.d.ts +9 -9
- package/constants/error.d.ts +5 -5
- package/constants/index.d.ts +5 -5
- package/constants/node-types.d.ts +99 -99
- package/constants/selector.d.ts +2 -2
- package/constants/toolbar.d.ts +17 -17
- package/core/create-plugin.d.ts +2 -2
- package/core/create-toolbar.d.ts +5 -5
- package/core/index.d.ts +4 -4
- package/core/toolbar-item/base-toolbar-item.d.ts +29 -29
- package/core/utils/combine-plugins.d.ts +2 -2
- package/core/utils/flatten-deep-plugins.d.ts +6 -6
- package/core/utils/get-plugin-options.d.ts +2 -2
- package/core/utils/get-plugin.d.ts +2 -2
- package/core/utils/get-plugins.d.ts +2 -2
- package/core/utils/index.d.ts +10 -10
- package/core/utils/merge-array.d.ts +1 -1
- package/core/utils/merge-deep-plugins.d.ts +2 -2
- package/core/utils/merge-options.d.ts +2 -2
- package/core/utils/nested-structure-by-key.d.ts +2 -2
- package/core/utils/plugins-by-key.d.ts +2 -2
- package/core/with-theia.d.ts +4 -4
- package/custom-types.d.ts +131 -131
- package/editor.component.d.ts +92 -92
- package/editor.module.d.ts +98 -98
- package/esm2020/components/color-select/color-select.component.mjs +109 -0
- package/esm2020/components/column-resize/column-resize-notifier.mjs +31 -0
- package/{esm2015/components/column-resize/column-resize.directive.js → esm2020/components/column-resize/column-resize.directive.mjs} +99 -99
- package/esm2020/components/column-resize/column-resize.module.mjs +33 -0
- package/{esm2015/components/column-resize/event-dispatcher.js → esm2020/components/column-resize/event-dispatcher.mjs} +56 -56
- package/{esm2015/components/column-resize/overlay-handle.component.js → esm2020/components/column-resize/overlay-handle.component.mjs} +140 -140
- package/{esm2015/components/column-resize/resize-ref.js → esm2020/components/column-resize/resize-ref.mjs} +25 -25
- package/{esm2015/components/column-resize/resizing.store.js → esm2020/components/column-resize/resizing.store.mjs} +155 -155
- package/{esm2015/components/column-resize/selectors.js → esm2020/components/column-resize/selectors.mjs} +4 -4
- package/esm2020/components/contextmenu/contextmenu.component.mjs +61 -0
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +54 -0
- package/esm2020/components/element/element.component.mjs +23 -0
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +138 -0
- package/{esm2015/components/nav-split-line/nav-split-line.component.js → esm2020/components/nav-split-line/nav-split-line.component.mjs} +37 -37
- package/esm2020/components/table-select/table-select.component.mjs +50 -0
- package/esm2020/components/template/template.component.mjs +62 -0
- package/{esm2015/components/text/text.component.js → esm2020/components/text/text.component.mjs} +58 -58
- package/esm2020/components/toolbar/toolbar.component.mjs +241 -0
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +129 -0
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +110 -0
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +101 -0
- package/{esm2015/constants/auto-format-rules.js → esm2020/constants/auto-format-rules.mjs} +166 -166
- package/{esm2015/constants/code.js → esm2020/constants/code.mjs} +88 -88
- package/{esm2015/constants/color-select.js → esm2020/constants/color-select.mjs} +61 -61
- package/{esm2015/constants/default.js → esm2020/constants/default.mjs} +9 -9
- package/{esm2015/constants/error.js → esm2020/constants/error.mjs} +7 -7
- package/{esm2015/constants/index.js → esm2020/constants/index.mjs} +5 -5
- package/{esm2015/constants/node-types.js → esm2020/constants/node-types.mjs} +132 -132
- package/{esm2015/constants/selector.js → esm2020/constants/selector.mjs} +3 -3
- package/{esm2015/constants/toolbar.js → esm2020/constants/toolbar.mjs} +69 -69
- package/{esm2015/core/create-plugin.js → esm2020/core/create-plugin.mjs} +4 -4
- package/esm2020/core/create-toolbar.mjs +56 -0
- package/{esm2015/core/index.js → esm2020/core/index.mjs} +4 -4
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +90 -0
- package/{esm2015/core/utils/combine-plugins.js → esm2020/core/utils/combine-plugins.mjs} +9 -9
- package/{esm2015/core/utils/flatten-deep-plugins.js → esm2020/core/utils/flatten-deep-plugins.mjs} +18 -18
- package/esm2020/core/utils/get-plugin-options.mjs +3 -0
- package/{esm2015/core/utils/get-plugin.js → esm2020/core/utils/get-plugin.mjs} +1 -1
- package/esm2020/core/utils/get-plugins.mjs +4 -0
- package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +10 -10
- package/esm2020/core/utils/merge-array.mjs +18 -0
- package/{esm2015/core/utils/merge-deep-plugins.js → esm2020/core/utils/merge-deep-plugins.mjs} +13 -13
- package/{esm2015/core/utils/merge-options.js → esm2020/core/utils/merge-options.mjs} +19 -19
- package/{esm2015/core/utils/nested-structure-by-key.js → esm2020/core/utils/nested-structure-by-key.mjs} +10 -10
- package/{esm2015/core/utils/plugins-by-key.js → esm2020/core/utils/plugins-by-key.mjs} +9 -9
- package/{esm2015/core/with-theia.js → esm2020/core/with-theia.mjs} +22 -22
- package/{esm2015/custom-types.js → esm2020/custom-types.mjs} +1 -1
- package/esm2020/editor.component.mjs +431 -0
- package/{esm2015/editor.module.js → esm2020/editor.module.mjs} +201 -202
- package/{esm2015/interfaces/auto-format.js → esm2020/interfaces/auto-format.mjs} +1 -1
- package/esm2020/interfaces/editor.mjs +25 -0
- package/{esm2015/interfaces/element.js → esm2020/interfaces/element.mjs} +1 -1
- package/{esm2015/interfaces/image.js → esm2020/interfaces/image.mjs} +2 -2
- package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +8 -8
- package/{esm2015/interfaces/plugins/index.js → esm2020/interfaces/plugins/index.mjs} +4 -4
- package/{esm2015/interfaces/plugins/no-infer.js → esm2020/interfaces/plugins/no-infer.mjs} +1 -1
- package/{esm2015/interfaces/plugins/plugin-key.js → esm2020/interfaces/plugins/plugin-key.mjs} +39 -39
- package/{esm2015/interfaces/plugins/plugins.js → esm2020/interfaces/plugins/plugins.mjs} +1 -1
- package/{esm2015/interfaces/plugins/with-override.js → esm2020/interfaces/plugins/with-override.mjs} +1 -1
- package/esm2020/interfaces/reset-block-type-plugin-options.mjs +2 -0
- package/{esm2015/interfaces/toolbar.js → esm2020/interfaces/toolbar.mjs} +11 -11
- package/esm2020/interfaces/upload.mjs +2 -0
- package/{esm2015/interfaces/utility/index.js → esm2020/interfaces/utility/index.mjs} +3 -3
- package/{esm2015/interfaces/utility/nested-structure-by-key.js → esm2020/interfaces/utility/nested-structure-by-key.mjs} +1 -1
- package/{esm2015/interfaces/utility/override-by-key.js → esm2020/interfaces/utility/override-by-key.mjs} +1 -1
- package/{esm2015/interfaces/utility/types.js → esm2020/interfaces/utility/types.mjs} +1 -1
- package/{esm2015/interfaces/valid-children-types.js → esm2020/interfaces/valid-children-types.mjs} +35 -35
- package/{esm2015/interfaces/view-base.js → esm2020/interfaces/view-base.mjs} +21 -21
- package/{esm2015/pipes.js → esm2020/pipes.mjs} +42 -42
- package/esm2020/plugins/align/align.editor.mjs +47 -0
- package/{esm2015/plugins/align/align.plugin.js → esm2020/plugins/align/align.plugin.mjs} +63 -63
- package/esm2020/plugins/autoformat/autoformat.plugin.mjs +109 -0
- package/{esm2015/plugins/autoformat/transforms/auto-format-block.js → esm2020/plugins/autoformat/transforms/auto-format-block.mjs} +14 -14
- package/{esm2015/plugins/autoformat/transforms/auto-format-inline.js → esm2020/plugins/autoformat/transforms/auto-format-inline.mjs} +77 -77
- package/{esm2015/plugins/blockquote/blockquote.component.js → esm2020/plugins/blockquote/blockquote.component.mjs} +21 -21
- package/esm2020/plugins/blockquote/blockquote.editor.mjs +20 -0
- package/{esm2015/plugins/blockquote/blockquote.plugin.js → esm2020/plugins/blockquote/blockquote.plugin.mjs} +70 -70
- package/esm2020/plugins/code/code.component.mjs +241 -0
- package/{esm2015/plugins/code/code.editor.js → esm2020/plugins/code/code.editor.mjs} +47 -47
- package/{esm2015/plugins/code/code.plugin.js → esm2020/plugins/code/code.plugin.mjs} +41 -41
- package/esm2020/plugins/color/color.editor.mjs +44 -0
- package/{esm2015/plugins/color/color.plugin.js → esm2020/plugins/color/color.plugin.mjs} +27 -27
- package/esm2020/plugins/color/toolbar-item.component.mjs +123 -0
- package/esm2020/plugins/common/auto-insert-data..mjs +77 -0
- package/{esm2015/plugins/common/block-card.plugin.js → esm2020/plugins/common/block-card.plugin.mjs} +287 -287
- package/esm2020/plugins/common/get-fragment.plugin.mjs +24 -0
- package/{esm2015/plugins/common/history.plugin.js → esm2020/plugins/common/history.plugin.mjs} +30 -30
- package/{esm2015/plugins/common/move-selection.plugin.js → esm2020/plugins/common/move-selection.plugin.mjs} +89 -89
- package/{esm2015/plugins/common/remove-empty.plugin.js → esm2020/plugins/common/remove-empty.plugin.mjs} +59 -59
- package/{esm2015/plugins/common/remove-void.plugin.js → esm2020/plugins/common/remove-void.plugin.mjs} +56 -56
- package/{esm2015/plugins/common/reset-type.plugin.js → esm2020/plugins/common/reset-type.plugin.mjs} +34 -34
- package/{esm2015/plugins/common/transforms.plugin.js → esm2020/plugins/common/transforms.plugin.mjs} +17 -17
- package/{esm2015/plugins/deserializers/deserialize-html.plugin.js → esm2020/plugins/deserializers/deserialize-html.plugin.mjs} +38 -38
- package/{esm2015/plugins/deserializers/deserialize-md.plugin.js → esm2020/plugins/deserializers/deserialize-md.plugin.mjs} +121 -121
- package/esm2020/plugins/font-size/font-size.editor.mjs +98 -0
- package/{esm2015/plugins/heading/heading.editor.js → esm2020/plugins/heading/heading.editor.mjs} +53 -53
- package/{esm2015/plugins/heading/heading.plugin.js → esm2020/plugins/heading/heading.plugin.mjs} +84 -84
- package/{esm2015/plugins/hr/hr.component.js → esm2020/plugins/hr/hr.component.mjs} +40 -40
- package/{esm2015/plugins/hr/hr.editor.js → esm2020/plugins/hr/hr.editor.mjs} +7 -7
- package/{esm2015/plugins/hr/hr.plugin.js → esm2020/plugins/hr/hr.plugin.mjs} +41 -41
- package/esm2020/plugins/image/image.component.mjs +365 -0
- package/{esm2015/plugins/image/image.editor.js → esm2020/plugins/image/image.editor.mjs} +57 -57
- package/esm2020/plugins/image/image.plugin.mjs +57 -0
- package/esm2020/plugins/indent/indent.editor.mjs +71 -0
- package/esm2020/plugins/indent/indent.plugin.mjs +58 -0
- package/{esm2015/plugins/indent/on-keydown-indent.js → esm2020/plugins/indent/on-keydown-indent.mjs} +53 -53
- package/{esm2015/plugins/index.js → esm2020/plugins/index.mjs} +70 -70
- package/{esm2015/plugins/inline-code/inline-code.component.js → esm2020/plugins/inline-code/inline-code.component.mjs} +23 -23
- package/{esm2015/plugins/inline-code/inline-code.editor.js → esm2020/plugins/inline-code/inline-code.editor.mjs} +48 -49
- package/{esm2015/plugins/inline-code/inline-code.plugin.js → esm2020/plugins/inline-code/inline-code.plugin.mjs} +65 -65
- package/esm2020/plugins/link/edit/link-edit.component.mjs +105 -0
- package/esm2020/plugins/link/hover/link-hover.component.mjs +36 -0
- package/{esm2015/plugins/link/link.component.js → esm2020/plugins/link/link.component.mjs} +164 -164
- package/{esm2015/plugins/link/link.editor.js → esm2020/plugins/link/link.editor.mjs} +66 -66
- package/{esm2015/plugins/link/link.plugin.js → esm2020/plugins/link/link.plugin.mjs} +58 -58
- package/{esm2015/plugins/link/link.types.js → esm2020/plugins/link/link.types.mjs} +12 -12
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +33 -0
- package/esm2020/plugins/list/components/list-item.component.mjs +93 -0
- package/esm2020/plugins/list/components/numbered-list.component.mjs +39 -0
- package/{esm2015/plugins/list/list.editor.js → esm2020/plugins/list/list.editor.mjs} +125 -125
- package/esm2020/plugins/list/list.plugin.mjs +286 -0
- package/{esm2015/plugins/list/normalizers/get-list-normalizer.js → esm2020/plugins/list/normalizers/get-list-normalizer.mjs} +39 -39
- package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +18 -0
- package/{esm2015/plugins/list/normalizers/normalize-no.js → esm2020/plugins/list/normalizers/normalize-no.mjs} +42 -42
- package/{esm2015/plugins/list/on-key-down-list.js → esm2020/plugins/list/on-key-down-list.mjs} +32 -32
- package/{esm2015/plugins/list/queries/get-list-item-entry.js → esm2020/plugins/list/queries/get-list-item-entry.mjs} +27 -27
- package/{esm2015/plugins/list/queries/get-list-item-sublist.js → esm2020/plugins/list/queries/get-list-item-sublist.mjs} +12 -12
- package/{esm2015/plugins/list/queries/get-list-types.js → esm2020/plugins/list/queries/get-list-types.mjs} +5 -5
- package/{esm2015/plugins/list/queries/get-start-list-item.js → esm2020/plugins/list/queries/get-start-list-item.mjs} +26 -26
- package/{esm2015/plugins/list/queries/has-list-in-list-item.js → esm2020/plugins/list/queries/has-list-in-list-item.mjs} +27 -27
- package/{esm2015/plugins/list/queries/is-in-list.js → esm2020/plugins/list/queries/is-in-list.mjs} +5 -5
- package/{esm2015/plugins/list/queries/is-list-nested.js → esm2020/plugins/list/queries/is-list-nested.mjs} +10 -10
- package/{esm2015/plugins/list/queries/is-list.js → esm2020/plugins/list/queries/is-list.mjs} +5 -5
- package/{esm2015/plugins/list/queries/is-node-type-list.js → esm2020/plugins/list/queries/is-node-type-list.mjs} +4 -4
- package/{esm2015/plugins/list/queries/is-selection-at-list-item-start.js → esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs} +12 -12
- package/{esm2015/plugins/list/queries/is-selection-in-same-list-item.js → esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs} +16 -16
- package/{esm2015/plugins/list/queries/is-single-list-item.js → esm2020/plugins/list/queries/is-single-list-item.mjs} +9 -9
- package/{esm2015/plugins/list/transforms/insert-list-data.js → esm2020/plugins/list/transforms/insert-list-data.mjs} +71 -71
- package/{esm2015/plugins/list/transforms/insert-list-item.js → esm2020/plugins/list/transforms/insert-list-item.mjs} +72 -72
- package/{esm2015/plugins/list/transforms/move-list-item-down.js → esm2020/plugins/list/transforms/move-list-item-down.mjs} +41 -41
- package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs} +42 -42
- package/{esm2015/plugins/list/transforms/move-list-item-sublist-items-to-list.js → esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs} +29 -29
- package/{esm2015/plugins/list/transforms/move-list-item-up.js → esm2020/plugins/list/transforms/move-list-item-up.mjs} +77 -77
- package/{esm2015/plugins/list/transforms/unwrap-list.js → esm2020/plugins/list/transforms/unwrap-list.mjs} +9 -9
- package/esm2020/plugins/list/types.mjs +2 -0
- package/esm2020/plugins/mark/mark.editor.mjs +28 -0
- package/esm2020/plugins/mark/mark.plugin.mjs +105 -0
- package/esm2020/plugins/node-id/node-id.plugin.mjs +78 -0
- package/esm2020/plugins/normalizers/insert-paragraph-nodes.mjs +28 -0
- package/{esm2015/plugins/normalizers/remove-empty-nodes.js → esm2020/plugins/normalizers/remove-empty-nodes.mjs} +17 -17
- package/esm2020/plugins/normalizers/trailing-node.plugin.mjs +33 -0
- package/{esm2015/plugins/paint-format/paint-format.editor.js → esm2020/plugins/paint-format/paint-format.editor.mjs} +122 -122
- package/{esm2015/plugins/public-api.js → esm2020/plugins/public-api.mjs} +15 -15
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +96 -0
- package/esm2020/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.mjs +80 -0
- package/{esm2015/plugins/quick-insert/quick-insert.editor.js → esm2020/plugins/quick-insert/quick-insert.editor.mjs} +52 -52
- package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +74 -0
- package/esm2020/plugins/soft-break/soft-break.plugin.mjs +36 -0
- package/{esm2015/plugins/soft-break/soft-break.types.js → esm2020/plugins/soft-break/soft-break.types.mjs} +1 -1
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +100 -0
- package/{esm2015/plugins/table/components/row/row.component.js → esm2020/plugins/table/components/row/row.component.mjs} +47 -47
- package/esm2020/plugins/table/components/table.component.mjs +461 -0
- package/esm2020/plugins/table/components/td/td.component.mjs +696 -0
- package/{esm2015/plugins/table/components/toolbar/table-options.component.js → esm2020/plugins/table/components/toolbar/table-options.component.mjs} +72 -69
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +159 -0
- package/{esm2015/plugins/table/table.editor.js → esm2020/plugins/table/table.editor.mjs} +182 -182
- package/esm2020/plugins/table/table.plugin.mjs +427 -0
- package/{esm2015/plugins/table/table.service.js → esm2020/plugins/table/table.service.mjs} +103 -103
- package/esm2020/plugins/table/table.store.mjs +484 -0
- package/{esm2015/plugins/table/table.types.js → esm2020/plugins/table/table.types.mjs} +33 -33
- package/esm2020/plugins/table/toolbar-item.component.mjs +85 -0
- package/esm2020/plugins/table/transforms/clear-cell.mjs +14 -0
- package/{esm2015/plugins/table/transforms/clear-table-node.js → esm2020/plugins/table/transforms/clear-table-node.mjs} +27 -27
- package/{esm2015/plugins/table/transforms/insert-column.js → esm2020/plugins/table/transforms/insert-column.mjs} +57 -57
- package/{esm2015/plugins/table/transforms/insert-row.js → esm2020/plugins/table/transforms/insert-row.mjs} +42 -42
- package/esm2020/plugins/table/transforms/insert-table.mjs +15 -0
- package/{esm2015/plugins/table/transforms/remove-column.js → esm2020/plugins/table/transforms/remove-column.mjs} +51 -51
- package/{esm2015/plugins/table/transforms/remove-row.js → esm2020/plugins/table/transforms/remove-row.mjs} +50 -50
- package/{esm2015/plugins/table/transforms/remove-table.js → esm2020/plugins/table/transforms/remove-table.mjs} +49 -49
- package/{esm2015/plugins/table/utils/add-columns.js → esm2020/plugins/table/utils/add-columns.mjs} +28 -28
- package/{esm2015/plugins/table/utils/calc-anchor-position.js → esm2020/plugins/table/utils/calc-anchor-position.mjs} +24 -24
- package/{esm2015/plugins/table/utils/calc-span.js → esm2020/plugins/table/utils/calc-span.mjs} +72 -72
- package/{esm2015/plugins/table/utils/create-cell.js → esm2020/plugins/table/utils/create-cell.mjs} +19 -19
- package/{esm2015/plugins/table/utils/create-row.js → esm2020/plugins/table/utils/create-row.mjs} +12 -12
- package/{esm2015/plugins/table/utils/create-table.js → esm2020/plugins/table/utils/create-table.mjs} +13 -13
- package/{esm2015/plugins/table/utils/get-base-height.js → esm2020/plugins/table/utils/get-base-height.mjs} +22 -22
- package/{esm2015/plugins/table/utils/get-select-cell-node.js → esm2020/plugins/table/utils/get-select-cell-node.mjs} +19 -16
- package/{esm2015/plugins/table/utils/index.js → esm2020/plugins/table/utils/index.mjs} +8 -8
- package/{esm2015/plugins/table/utils/is-range-in-table.js → esm2020/plugins/table/utils/is-range-in-table.mjs} +16 -16
- package/{esm2015/plugins/table/utils/is-selection-in-table.js → esm2020/plugins/table/utils/is-selection-in-table.mjs} +11 -11
- package/{esm2015/plugins/table/utils/is-virtual-key.js → esm2020/plugins/table/utils/is-virtual-key.mjs} +13 -13
- package/{esm2015/plugins/table/utils/merge-cell.js → esm2020/plugins/table/utils/merge-cell.mjs} +90 -90
- package/{esm2015/plugins/table/utils/next-path.js → esm2020/plugins/table/utils/next-path.mjs} +5 -5
- package/{esm2015/plugins/table/utils/normalize-table.js → esm2020/plugins/table/utils/normalize-table.mjs} +30 -30
- package/{esm2015/plugins/table/utils/remove-columns.js → esm2020/plugins/table/utils/remove-columns.mjs} +23 -23
- package/{esm2015/plugins/table/utils/set-menu-cell-invisibility.js → esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs} +15 -15
- package/{esm2015/plugins/table/utils/split-cell.js → esm2020/plugins/table/utils/split-cell.mjs} +31 -31
- package/{esm2015/plugins/table/utils/table-position.js → esm2020/plugins/table/utils/table-position.mjs} +242 -242
- package/esm2020/plugins/todo-item/todo-item.component.mjs +64 -0
- package/{esm2015/plugins/todo-item/todo-item.editor.js → esm2020/plugins/todo-item/todo-item.editor.mjs} +31 -31
- package/{esm2015/plugins/todo-item/todo-item.plugin.js → esm2020/plugins/todo-item/todo-item.plugin.mjs} +78 -78
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +83 -0
- package/{esm2015/plugins/vertical-align/vertical-align.editor.js → esm2020/plugins/vertical-align/vertical-align.editor.mjs} +54 -54
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +23 -23
- package/{esm2015/queries/anchor-block-entry.js → esm2020/queries/anchor-block-entry.mjs} +13 -13
- package/{esm2015/queries/anchor-block.js → esm2020/queries/anchor-block.mjs} +6 -6
- package/{esm2015/queries/anchor-inline-entry.js → esm2020/queries/anchor-inline-entry.mjs} +10 -10
- package/{esm2015/queries/find-descendant.js → esm2020/queries/find-descendant.mjs} +47 -47
- package/{esm2015/queries/find-node.js → esm2020/queries/find-node.mjs} +45 -45
- package/{esm2015/queries/find-path.js → esm2020/queries/find-path.mjs} +28 -28
- package/esm2020/queries/get-above-by-type.mjs +14 -0
- package/{esm2015/queries/get-above.js → esm2020/queries/get-above.mjs} +9 -9
- package/{esm2015/queries/get-anchor-block-entry.js → esm2020/queries/get-anchor-block-entry.mjs} +8 -8
- package/esm2020/queries/get-block-above.mjs +10 -0
- package/esm2020/queries/get-block-card-above.mjs +10 -0
- package/{esm2015/queries/get-block-card-cursor.js → esm2020/queries/get-block-card-cursor.mjs} +5 -5
- package/{esm2015/queries/get-container-blocks.js → esm2020/queries/get-container-blocks.mjs} +11 -11
- package/{esm2015/queries/get-directly-parent.js → esm2020/queries/get-directly-parent.mjs} +11 -11
- package/{esm2015/queries/get-insert-elements-path.js → esm2020/queries/get-insert-elements-path.mjs} +43 -43
- package/{esm2015/queries/get-last-child-path.js → esm2020/queries/get-last-child-path.mjs} +9 -9
- package/{esm2015/queries/get-last-node.js → esm2020/queries/get-last-node.mjs} +17 -17
- package/{esm2015/queries/get-next-sibling-nodes.js → esm2020/queries/get-next-sibling-nodes.mjs} +17 -17
- package/{esm2015/queries/get-node.js → esm2020/queries/get-node.mjs} +10 -10
- package/esm2020/queries/get-nodes-by-type.mjs +15 -0
- package/{esm2015/queries/get-nodes.js → esm2020/queries/get-nodes.mjs} +7 -7
- package/{esm2015/queries/get-parent.js → esm2020/queries/get-parent.mjs} +12 -12
- package/esm2020/queries/get-plain-text.mjs +16 -0
- package/{esm2015/queries/get-plugin-by-toolbar.js → esm2020/queries/get-plugin-by-toolbar.mjs} +12 -12
- package/{esm2015/queries/get-point-before.js → esm2020/queries/get-point-before.mjs} +62 -62
- package/{esm2015/queries/get-point-from-location.js → esm2020/queries/get-point-from-location.mjs} +15 -15
- package/{esm2015/queries/get-previous-path.js → esm2020/queries/get-previous-path.mjs} +9 -9
- package/{esm2015/queries/get-rang-from-block-start.js → esm2020/queries/get-rang-from-block-start.mjs} +16 -16
- package/{esm2015/queries/get-range-before.js → esm2020/queries/get-range-before.mjs} +17 -17
- package/esm2020/queries/get-selection-marks.mjs +18 -0
- package/{esm2015/queries/get-selection-nodes-by-type.js → esm2020/queries/get-selection-nodes-by-type.mjs} +29 -29
- package/{esm2015/queries/get-text.js → esm2020/queries/get-text.mjs} +9 -9
- package/esm2020/queries/get-toolbar-disabled.mjs +13 -0
- package/{esm2015/queries/index.js → esm2020/queries/index.mjs} +58 -58
- package/{esm2015/queries/is-across-blocks.js → esm2020/queries/is-across-blocks.mjs} +7 -7
- package/{esm2015/queries/is-ancestor-empty.js → esm2020/queries/is-ancestor-empty.mjs} +6 -6
- package/{esm2015/queries/is-ancestor.js → esm2020/queries/is-ancestor.mjs} +3 -3
- package/{esm2015/queries/is-block-above-empty.js → esm2020/queries/is-block-above-empty.mjs} +11 -11
- package/{esm2015/queries/is-block-active.js → esm2020/queries/is-block-active.mjs} +7 -7
- package/{esm2015/queries/is-block-card-cursor.js → esm2020/queries/is-block-card-cursor.mjs} +4 -4
- package/{esm2015/queries/is-block-text-empty-after-selection.js → esm2020/queries/is-block-text-empty-after-selection.mjs} +31 -31
- package/{esm2015/queries/is-collapsed.js → esm2020/queries/is-collapsed.mjs} +7 -7
- package/{esm2015/queries/is-contain-nested-type.js → esm2020/queries/is-contain-nested-type.mjs} +28 -28
- package/{esm2015/queries/is-container-type.js → esm2020/queries/is-container-type.mjs} +2 -2
- package/{esm2015/queries/is-descendant.js → esm2020/queries/is-descendant.mjs} +3 -3
- package/{esm2015/queries/is-empty-content.js → esm2020/queries/is-empty-content.mjs} +14 -14
- package/{esm2015/queries/is-empty-paragraph-by-path.js → esm2020/queries/is-empty-paragraph-by-path.mjs} +7 -7
- package/{esm2015/queries/is-empty-paragraph.js → esm2020/queries/is-empty-paragraph.mjs} +11 -11
- package/{esm2015/queries/is-first-child.js → esm2020/queries/is-first-child.mjs} +5 -5
- package/{esm2015/queries/is-include-types.js → esm2020/queries/is-include-types.mjs} +11 -11
- package/{esm2015/queries/is-node-type-in.js → esm2020/queries/is-node-type-in.mjs} +9 -9
- package/{esm2015/queries/is-node-type.js → esm2020/queries/is-node-type.mjs} +15 -15
- package/{esm2015/queries/is-paragraph.js → esm2020/queries/is-paragraph.mjs} +9 -9
- package/{esm2015/queries/is-point-at-root.js → esm2020/queries/is-point-at-root.mjs} +2 -2
- package/esm2020/queries/is-range-across-blocks.mjs +22 -0
- package/{esm2015/queries/is-range-at-root.js → esm2020/queries/is-range-at-root.mjs} +3 -3
- package/{esm2015/queries/is-start.js → esm2020/queries/is-start.mjs} +6 -6
- package/{esm2015/queries/some-node.js → esm2020/queries/some-node.mjs} +9 -9
- package/{esm2015/services/color-select.service.js → esm2020/services/color-select.service.mjs} +50 -50
- package/esm2020/services/context.service.mjs +59 -0
- package/{esm2015/services/table-contextmenu.service.js → esm2020/services/table-contextmenu.service.mjs} +190 -190
- package/esm2020/services/toolbar.service.mjs +48 -0
- package/{esm2015/shortcuts/index.js → esm2020/shortcuts/index.mjs} +5 -5
- package/{esm2015/shortcuts/mark.js → esm2020/shortcuts/mark.mjs} +24 -24
- package/{esm2015/transforms/apply-deep-to-nodes.js → esm2020/transforms/apply-deep-to-nodes.mjs} +21 -21
- package/{esm2015/transforms/clear-marks.js → esm2020/transforms/clear-marks.mjs} +23 -23
- package/{esm2015/transforms/close-conversion-hint.js → esm2020/transforms/close-conversion-hint.mjs} +8 -8
- package/{esm2015/transforms/delete-element.js → esm2020/transforms/delete-element.mjs} +11 -11
- package/{esm2015/transforms/handle-continual-delete-backward.js → esm2020/transforms/handle-continual-delete-backward.mjs} +17 -17
- package/{esm2015/transforms/handle-continual-insert-break.js → esm2020/transforms/handle-continual-insert-break.mjs} +19 -19
- package/{esm2015/transforms/index.js → esm2020/transforms/index.mjs} +18 -18
- package/esm2020/transforms/insert-elements.mjs +34 -0
- package/{esm2015/transforms/insert-paragraph.js → esm2020/transforms/insert-paragraph.mjs} +6 -6
- package/esm2020/transforms/merge-deep-to-nodes.mjs +9 -0
- package/{esm2015/transforms/move-children.js → esm2020/transforms/move-children.mjs} +21 -21
- package/{esm2015/transforms/on-keydown-reset-block-type.js → esm2020/transforms/on-keydown-reset-block-type.mjs} +22 -22
- package/{esm2015/transforms/set-end-selection.js → esm2020/transforms/set-end-selection.mjs} +10 -10
- package/{esm2015/transforms/set-marks.js → esm2020/transforms/set-marks.mjs} +9 -9
- package/{esm2015/transforms/set-node.js → esm2020/transforms/set-node.mjs} +5 -5
- package/{esm2015/transforms/split-node.js → esm2020/transforms/split-node.mjs} +31 -31
- package/{esm2015/transforms/un-hang-range.js → esm2020/transforms/un-hang-range.mjs} +11 -11
- package/{esm2015/transforms/un-wrap.js → esm2020/transforms/un-wrap.mjs} +11 -11
- package/esm2020/transforms/unwrap-nodes-by-type.mjs +14 -0
- package/{esm2015/utils/auto-focus.js → esm2020/utils/auto-focus.mjs} +13 -13
- package/{esm2015/utils/auto-scroll-view.js → esm2020/utils/auto-scroll-view.mjs} +24 -24
- package/{esm2015/utils/cast-array.js → esm2020/utils/cast-array.mjs} +7 -7
- package/{esm2015/utils/common.js → esm2020/utils/common.mjs} +2 -2
- package/{esm2015/utils/create-empty-paragraph.js → esm2020/utils/create-empty-paragraph.mjs} +14 -14
- package/{esm2015/utils/data-transform.js → esm2020/utils/data-transform.mjs} +48 -48
- package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +46 -46
- package/{esm2015/utils/editor-uuid.js → esm2020/utils/editor-uuid.mjs} +8 -8
- package/{esm2015/utils/fragment.js → esm2020/utils/fragment.mjs} +65 -65
- package/{esm2015/utils/get-editable-element-height.js → esm2020/utils/get-editable-element-height.mjs} +6 -6
- package/{esm2015/utils/get-toolbar-class.js → esm2020/utils/get-toolbar-class.mjs} +6 -6
- package/{esm2015/utils/id-creator.js → esm2020/utils/id-creator.mjs} +11 -11
- package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +13 -13
- package/{esm2015/utils/is-clean-empty-paragraph.js → esm2020/utils/is-clean-empty-paragraph.mjs} +36 -36
- package/esm2020/utils/is-inline.mjs +9 -0
- package/{esm2015/utils/lodash.js → esm2020/utils/lodash.mjs} +3 -3
- package/esm2020/utils/match.mjs +32 -0
- package/{esm2015/utils/merge-element-options.js → esm2020/utils/merge-element-options.mjs} +19 -19
- package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +3 -3
- package/{esm2015/worktile-theia.js → esm2020/worktile-theia.mjs} +4 -4
- package/fesm2015/{worktile-theia.js → worktile-theia.mjs} +13096 -13169
- package/fesm2015/worktile-theia.mjs.map +1 -0
- package/fesm2020/worktile-theia.mjs +13739 -0
- package/fesm2020/worktile-theia.mjs.map +1 -0
- package/interfaces/auto-format.d.ts +64 -64
- package/interfaces/editor.d.ts +146 -146
- package/interfaces/element.d.ts +9 -9
- package/interfaces/image.d.ts +25 -25
- package/interfaces/index.d.ts +8 -8
- package/interfaces/plugins/index.d.ts +4 -4
- package/interfaces/plugins/no-infer.d.ts +1 -1
- package/interfaces/plugins/plugin-key.d.ts +48 -48
- package/interfaces/plugins/plugins.d.ts +45 -45
- package/interfaces/plugins/with-override.d.ts +7 -7
- package/interfaces/reset-block-type-plugin-options.d.ts +23 -23
- package/interfaces/toolbar.d.ts +64 -64
- package/interfaces/upload.d.ts +11 -11
- package/interfaces/utility/index.d.ts +3 -3
- package/interfaces/utility/nested-structure-by-key.d.ts +3 -3
- package/interfaces/utility/override-by-key.d.ts +3 -3
- package/interfaces/utility/types.d.ts +1 -1
- package/interfaces/valid-children-types.d.ts +9 -9
- package/interfaces/view-base.d.ts +9 -9
- package/package.json +20 -6
- package/pipes.d.ts +16 -16
- package/plugins/align/align.editor.d.ts +7 -7
- package/plugins/align/align.plugin.d.ts +2 -2
- package/plugins/autoformat/autoformat.plugin.d.ts +6 -6
- package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -5
- package/plugins/autoformat/transforms/auto-format-inline.d.ts +9 -9
- package/plugins/blockquote/blockquote.component.d.ts +11 -11
- package/plugins/blockquote/blockquote.editor.d.ts +4 -4
- package/plugins/blockquote/blockquote.plugin.d.ts +2 -2
- package/plugins/code/code.component.d.ts +65 -65
- package/plugins/code/code.editor.d.ts +8 -8
- package/plugins/code/code.plugin.d.ts +2 -2
- package/plugins/color/color.editor.d.ts +8 -8
- package/plugins/color/color.plugin.d.ts +1 -1
- package/plugins/color/toolbar-item.component.d.ts +16 -16
- package/plugins/common/auto-insert-data..d.ts +2 -2
- package/plugins/common/block-card.plugin.d.ts +2 -2
- package/plugins/common/get-fragment.plugin.d.ts +6 -6
- package/plugins/common/history.plugin.d.ts +9 -9
- package/plugins/common/move-selection.plugin.d.ts +2 -2
- package/plugins/common/remove-empty.plugin.d.ts +2 -2
- package/plugins/common/remove-void.plugin.d.ts +2 -2
- package/plugins/common/reset-type.plugin.d.ts +2 -2
- package/plugins/common/transforms.plugin.d.ts +8 -8
- package/plugins/deserializers/deserialize-html.plugin.d.ts +2 -2
- package/plugins/deserializers/deserialize-md.plugin.d.ts +2 -2
- package/plugins/font-size/font-size.editor.d.ts +10 -10
- package/plugins/heading/heading.editor.d.ts +9 -9
- package/plugins/heading/heading.plugin.d.ts +7 -7
- package/plugins/hr/hr.component.d.ts +12 -12
- package/plugins/hr/hr.editor.d.ts +4 -4
- package/plugins/hr/hr.plugin.d.ts +2 -2
- package/plugins/image/image.component.d.ts +74 -74
- package/plugins/image/image.editor.d.ts +12 -12
- package/plugins/image/image.plugin.d.ts +7 -7
- package/plugins/indent/indent.editor.d.ts +10 -10
- package/plugins/indent/indent.plugin.d.ts +8 -8
- package/plugins/indent/on-keydown-indent.d.ts +3 -3
- package/plugins/index.d.ts +1 -1
- package/plugins/inline-code/inline-code.component.d.ts +9 -9
- package/plugins/inline-code/inline-code.editor.d.ts +7 -7
- package/plugins/inline-code/inline-code.plugin.d.ts +2 -2
- package/plugins/link/edit/link-edit.component.d.ts +36 -36
- package/plugins/link/hover/link-hover.component.d.ts +15 -15
- package/plugins/link/link.component.d.ts +39 -39
- package/plugins/link/link.editor.d.ts +7 -7
- package/plugins/link/link.plugin.d.ts +2 -2
- package/plugins/link/link.types.d.ts +9 -9
- package/plugins/list/components/bulleted-list.component.d.ts +15 -15
- package/plugins/list/components/list-item.component.d.ts +20 -20
- package/plugins/list/components/numbered-list.component.d.ts +16 -16
- package/plugins/list/list.editor.d.ts +12 -12
- package/plugins/list/list.plugin.d.ts +3 -3
- package/plugins/list/normalizers/get-list-normalizer.d.ts +6 -6
- package/plugins/list/normalizers/normalize-list-item.d.ts +5 -5
- package/plugins/list/normalizers/normalize-no.d.ts +2 -2
- package/plugins/list/on-key-down-list.d.ts +2 -2
- package/plugins/list/queries/get-list-item-entry.d.ts +10 -10
- package/plugins/list/queries/get-list-item-sublist.d.ts +6 -6
- package/plugins/list/queries/get-list-types.d.ts +2 -2
- package/plugins/list/queries/get-start-list-item.d.ts +8 -8
- package/plugins/list/queries/has-list-in-list-item.d.ts +15 -15
- package/plugins/list/queries/is-in-list.d.ts +2 -2
- package/plugins/list/queries/is-list-nested.d.ts +5 -5
- package/plugins/list/queries/is-list.d.ts +2 -2
- package/plugins/list/queries/is-node-type-list.d.ts +2 -2
- package/plugins/list/queries/is-selection-at-list-item-start.d.ts +5 -5
- package/plugins/list/queries/is-selection-in-same-list-item.d.ts +5 -5
- package/plugins/list/queries/is-single-list-item.d.ts +5 -5
- package/plugins/list/transforms/insert-list-data.d.ts +12 -12
- package/plugins/list/transforms/insert-list-item.d.ts +5 -5
- package/plugins/list/transforms/move-list-item-down.d.ts +6 -6
- package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +20 -20
- package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +19 -19
- package/plugins/list/transforms/move-list-item-up.d.ts +10 -10
- package/plugins/list/transforms/unwrap-list.d.ts +2 -2
- package/plugins/list/types.d.ts +7 -7
- package/plugins/mark/mark.editor.d.ts +8 -8
- package/plugins/mark/mark.plugin.d.ts +3 -3
- package/plugins/node-id/node-id.plugin.d.ts +8 -8
- package/plugins/normalizers/insert-paragraph-nodes.d.ts +7 -7
- package/plugins/normalizers/remove-empty-nodes.d.ts +7 -7
- package/plugins/normalizers/trailing-node.plugin.d.ts +9 -9
- package/plugins/paint-format/paint-format.editor.d.ts +8 -8
- package/plugins/public-api.d.ts +15 -15
- package/plugins/quick-insert/components/quick-insert.component.d.ts +28 -28
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +28 -28
- package/plugins/quick-insert/quick-insert.editor.d.ts +7 -7
- package/plugins/quick-insert/quick-insert.plugin.d.ts +10 -10
- package/plugins/soft-break/soft-break.plugin.d.ts +5 -5
- package/plugins/soft-break/soft-break.types.d.ts +8 -8
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +24 -24
- package/plugins/table/components/row/row.component.d.ts +14 -14
- package/plugins/table/components/table.component.d.ts +79 -79
- package/plugins/table/components/td/td.component.d.ts +95 -95
- package/plugins/table/components/toolbar/table-options.component.d.ts +20 -20
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +38 -38
- package/plugins/table/table.editor.d.ts +25 -25
- package/plugins/table/table.plugin.d.ts +3 -3
- package/plugins/table/table.service.d.ts +30 -30
- package/plugins/table/table.store.d.ts +71 -71
- package/plugins/table/table.types.d.ts +67 -67
- package/plugins/table/toolbar-item.component.d.ts +17 -17
- package/plugins/table/transforms/clear-cell.d.ts +6 -6
- package/plugins/table/transforms/clear-table-node.d.ts +6 -6
- package/plugins/table/transforms/insert-column.d.ts +12 -12
- package/plugins/table/transforms/insert-row.d.ts +6 -6
- package/plugins/table/transforms/insert-table.d.ts +6 -6
- package/plugins/table/transforms/remove-column.d.ts +3 -3
- package/plugins/table/transforms/remove-row.d.ts +3 -3
- package/plugins/table/transforms/remove-table.d.ts +3 -3
- package/plugins/table/utils/add-columns.d.ts +2 -2
- package/plugins/table/utils/calc-anchor-position.d.ts +6 -6
- package/plugins/table/utils/calc-span.d.ts +11 -11
- package/plugins/table/utils/create-cell.d.ts +16 -16
- package/plugins/table/utils/create-row.d.ts +7 -7
- package/plugins/table/utils/create-table.d.ts +7 -7
- package/plugins/table/utils/get-base-height.d.ts +9 -9
- package/plugins/table/utils/get-select-cell-node.d.ts +7 -7
- package/plugins/table/utils/index.d.ts +7 -7
- package/plugins/table/utils/is-range-in-table.d.ts +6 -6
- package/plugins/table/utils/is-selection-in-table.d.ts +6 -6
- package/plugins/table/utils/is-virtual-key.d.ts +1 -1
- package/plugins/table/utils/merge-cell.d.ts +21 -21
- package/plugins/table/utils/next-path.d.ts +2 -2
- package/plugins/table/utils/normalize-table.d.ts +2 -2
- package/plugins/table/utils/remove-columns.d.ts +2 -2
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +3 -3
- package/plugins/table/utils/split-cell.d.ts +4 -4
- package/plugins/table/utils/table-position.d.ts +97 -97
- package/plugins/todo-item/todo-item.component.d.ts +21 -21
- package/plugins/todo-item/todo-item.editor.d.ts +5 -5
- package/plugins/todo-item/todo-item.plugin.d.ts +5 -5
- package/plugins/vertical-align/toolbar-item.component.d.ts +25 -25
- package/plugins/vertical-align/vertical-align.editor.d.ts +7 -7
- package/public-api.d.ts +20 -20
- package/queries/anchor-block-entry.d.ts +2 -2
- package/queries/anchor-block.d.ts +2 -2
- package/queries/anchor-inline-entry.d.ts +2 -2
- package/queries/find-descendant.d.ts +10 -10
- package/queries/find-node.d.ts +15 -15
- package/queries/find-path.d.ts +6 -6
- package/queries/get-above-by-type.d.ts +6 -6
- package/queries/get-above.d.ts +6 -6
- package/queries/get-anchor-block-entry.d.ts +2 -2
- package/queries/get-block-above.d.ts +7 -7
- package/queries/get-block-card-above.d.ts +7 -7
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/get-container-blocks.d.ts +2 -2
- package/queries/get-directly-parent.d.ts +2 -2
- package/queries/get-insert-elements-path.d.ts +7 -7
- package/queries/get-last-child-path.d.ts +6 -6
- package/queries/get-last-node.d.ts +2 -2
- package/queries/get-next-sibling-nodes.d.ts +7 -7
- package/queries/get-node.d.ts +2 -2
- package/queries/get-nodes-by-type.d.ts +6 -6
- package/queries/get-nodes.d.ts +4 -4
- package/queries/get-parent.d.ts +7 -7
- package/queries/get-plain-text.d.ts +6 -6
- package/queries/get-plugin-by-toolbar.d.ts +3 -3
- package/queries/get-point-before.d.ts +38 -38
- package/queries/get-point-from-location.d.ts +5 -5
- package/queries/get-previous-path.d.ts +2 -2
- package/queries/get-rang-from-block-start.d.ts +9 -9
- package/queries/get-range-before.d.ts +7 -7
- package/queries/get-selection-marks.d.ts +12 -12
- package/queries/get-selection-nodes-by-type.d.ts +3 -3
- package/queries/get-text.d.ts +6 -6
- package/queries/get-toolbar-disabled.d.ts +4 -4
- package/queries/index.d.ts +58 -58
- package/queries/is-across-blocks.d.ts +2 -2
- package/queries/is-ancestor-empty.d.ts +5 -5
- package/queries/is-ancestor.d.ts +2 -2
- package/queries/is-block-above-empty.d.ts +5 -5
- package/queries/is-block-active.d.ts +3 -3
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/queries/is-block-text-empty-after-selection.d.ts +7 -7
- package/queries/is-collapsed.d.ts +6 -6
- package/queries/is-contain-nested-type.d.ts +2 -2
- package/queries/is-container-type.d.ts +2 -2
- package/queries/is-descendant.d.ts +2 -2
- package/queries/is-empty-content.d.ts +2 -2
- package/queries/is-empty-paragraph-by-path.d.ts +2 -2
- package/queries/is-empty-paragraph.d.ts +2 -2
- package/queries/is-first-child.d.ts +5 -5
- package/queries/is-include-types.d.ts +3 -3
- package/queries/is-node-type-in.d.ts +6 -6
- package/queries/is-node-type.d.ts +6 -6
- package/queries/is-paragraph.d.ts +2 -2
- package/queries/is-point-at-root.d.ts +2 -2
- package/queries/is-range-across-blocks.d.ts +8 -8
- package/queries/is-range-at-root.d.ts +2 -2
- package/queries/is-start.d.ts +5 -5
- package/queries/some-node.d.ts +7 -7
- package/services/color-select.service.d.ts +20 -20
- package/services/context.service.d.ts +49 -49
- package/services/table-contextmenu.service.d.ts +25 -25
- package/services/toolbar.service.d.ts +9 -9
- package/shortcuts/index.d.ts +2 -2
- package/shortcuts/mark.d.ts +2 -2
- package/transforms/apply-deep-to-nodes.d.ts +12 -12
- package/transforms/clear-marks.d.ts +2 -2
- package/transforms/close-conversion-hint.d.ts +2 -2
- package/transforms/delete-element.d.ts +2 -2
- package/transforms/handle-continual-delete-backward.d.ts +3 -3
- package/transforms/handle-continual-insert-break.d.ts +3 -3
- package/transforms/index.d.ts +18 -18
- package/transforms/insert-elements.d.ts +2 -2
- package/transforms/insert-paragraph.d.ts +2 -2
- package/transforms/merge-deep-to-nodes.d.ts +5 -5
- package/transforms/move-children.d.ts +24 -24
- package/transforms/on-keydown-reset-block-type.d.ts +3 -3
- package/transforms/set-end-selection.d.ts +2 -2
- package/transforms/set-marks.d.ts +12 -12
- package/transforms/set-node.d.ts +2 -2
- package/transforms/split-node.d.ts +3 -3
- package/transforms/un-hang-range.d.ts +10 -10
- package/transforms/un-wrap.d.ts +3 -3
- package/transforms/unwrap-nodes-by-type.d.ts +6 -6
- package/utils/auto-focus.d.ts +2 -2
- package/utils/auto-scroll-view.d.ts +6 -6
- package/utils/cast-array.d.ts +1 -1
- package/utils/common.d.ts +2 -2
- package/utils/create-empty-paragraph.d.ts +2 -2
- package/utils/data-transform.d.ts +6 -6
- package/utils/dom.d.ts +10 -10
- package/utils/editor-uuid.d.ts +3 -3
- package/utils/fragment.d.ts +10 -10
- package/utils/get-editable-element-height.d.ts +2 -2
- package/utils/get-toolbar-class.d.ts +2 -2
- package/utils/id-creator.d.ts +1 -1
- package/utils/index.d.ts +13 -13
- package/utils/is-clean-empty-paragraph.d.ts +9 -9
- package/utils/is-inline.d.ts +2 -2
- package/utils/lodash.d.ts +1 -1
- package/utils/match.d.ts +18 -18
- package/utils/merge-element-options.d.ts +2 -2
- package/utils/weak-maps.d.ts +5 -5
- package/worktile-theia.d.ts +5 -5
- package/bundles/worktile-theia.umd.js +0 -14919
- package/bundles/worktile-theia.umd.js.map +0 -1
- package/esm2015/components/color-select/color-select.component.js +0 -113
- package/esm2015/components/column-resize/column-resize-notifier.js +0 -31
- package/esm2015/components/column-resize/column-resize.module.js +0 -34
- package/esm2015/components/contextmenu/contextmenu.component.js +0 -64
- package/esm2015/components/conversion-hint/conversion-hint.component.js +0 -59
- package/esm2015/components/element/element.component.js +0 -24
- package/esm2015/components/inline-toolbar/inline-toolbar.component.js +0 -139
- package/esm2015/components/table-select/table-select.component.js +0 -53
- package/esm2015/components/template/template.component.js +0 -66
- package/esm2015/components/toolbar/toolbar.component.js +0 -250
- package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +0 -133
- package/esm2015/components/toolbar-group/toolbar-group.component.js +0 -116
- package/esm2015/components/toolbar-item/toolbar-item.component.js +0 -105
- package/esm2015/core/create-toolbar.js +0 -57
- package/esm2015/core/toolbar-item/base-toolbar-item.js +0 -92
- package/esm2015/core/utils/get-plugin-options.js +0 -3
- package/esm2015/core/utils/get-plugins.js +0 -5
- package/esm2015/core/utils/merge-array.js +0 -18
- package/esm2015/editor.component.js +0 -440
- package/esm2015/interfaces/editor.js +0 -23
- package/esm2015/interfaces/reset-block-type-plugin-options.js +0 -2
- package/esm2015/interfaces/upload.js +0 -2
- package/esm2015/plugins/align/align.editor.js +0 -48
- package/esm2015/plugins/autoformat/autoformat.plugin.js +0 -110
- package/esm2015/plugins/blockquote/blockquote.editor.js +0 -21
- package/esm2015/plugins/code/code.component.js +0 -245
- package/esm2015/plugins/color/color.editor.js +0 -45
- package/esm2015/plugins/color/toolbar-item.component.js +0 -124
- package/esm2015/plugins/common/auto-insert-data..js +0 -78
- package/esm2015/plugins/common/get-fragment.plugin.js +0 -25
- package/esm2015/plugins/font-size/font-size.editor.js +0 -98
- package/esm2015/plugins/image/image.component.js +0 -370
- package/esm2015/plugins/image/image.plugin.js +0 -58
- package/esm2015/plugins/indent/indent.editor.js +0 -73
- package/esm2015/plugins/indent/indent.plugin.js +0 -60
- package/esm2015/plugins/link/edit/link-edit.component.js +0 -108
- package/esm2015/plugins/link/hover/link-hover.component.js +0 -39
- package/esm2015/plugins/list/components/bulleted-list.component.js +0 -34
- package/esm2015/plugins/list/components/list-item.component.js +0 -95
- package/esm2015/plugins/list/components/numbered-list.component.js +0 -40
- package/esm2015/plugins/list/list.plugin.js +0 -281
- package/esm2015/plugins/list/normalizers/normalize-list-item.js +0 -19
- package/esm2015/plugins/list/types.js +0 -2
- package/esm2015/plugins/mark/mark.editor.js +0 -29
- package/esm2015/plugins/mark/mark.plugin.js +0 -102
- package/esm2015/plugins/node-id/node-id.plugin.js +0 -69
- package/esm2015/plugins/normalizers/insert-paragraph-nodes.js +0 -29
- package/esm2015/plugins/normalizers/trailing-node.plugin.js +0 -34
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +0 -102
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +0 -84
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +0 -75
- package/esm2015/plugins/soft-break/soft-break.plugin.js +0 -37
- package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +0 -103
- package/esm2015/plugins/table/components/table.component.js +0 -470
- package/esm2015/plugins/table/components/td/td.component.js +0 -698
- package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +0 -162
- package/esm2015/plugins/table/table.plugin.js +0 -424
- package/esm2015/plugins/table/table.store.js +0 -480
- package/esm2015/plugins/table/toolbar-item.component.js +0 -86
- package/esm2015/plugins/table/transforms/clear-cell.js +0 -11
- package/esm2015/plugins/table/transforms/insert-table.js +0 -15
- package/esm2015/plugins/todo-item/todo-item.component.js +0 -66
- package/esm2015/plugins/vertical-align/toolbar-item.component.js +0 -90
- package/esm2015/queries/get-above-by-type.js +0 -11
- package/esm2015/queries/get-block-above.js +0 -7
- package/esm2015/queries/get-block-card-above.js +0 -7
- package/esm2015/queries/get-nodes-by-type.js +0 -12
- package/esm2015/queries/get-plain-text.js +0 -16
- package/esm2015/queries/get-selection-marks.js +0 -19
- package/esm2015/queries/get-toolbar-disabled.js +0 -14
- package/esm2015/queries/is-range-across-blocks.js +0 -18
- package/esm2015/services/context.service.js +0 -60
- package/esm2015/services/toolbar.service.js +0 -48
- package/esm2015/transforms/insert-elements.js +0 -35
- package/esm2015/transforms/merge-deep-to-nodes.js +0 -9
- package/esm2015/transforms/unwrap-nodes-by-type.js +0 -11
- package/esm2015/utils/is-inline.js +0 -10
- package/esm2015/utils/match.js +0 -29
- package/fesm2015/worktile-theia.js.map +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Editor } from 'slate';
|
|
2
|
+
import * as TheQueries from '../../queries';
|
|
3
|
+
import { castArray } from '../../utils/cast-array';
|
|
4
|
+
import { autoFormatBlock } from './transforms/auto-format-block';
|
|
5
|
+
import { autoFormatInline } from './transforms/auto-format-inline';
|
|
6
|
+
import { defaultAutoFormatRules } from '../../constants/auto-format-rules';
|
|
7
|
+
import { createPluginFactory, getPluginOptions } from '../../core';
|
|
8
|
+
import { PluginKeys } from '../../interfaces';
|
|
9
|
+
const mergAutoFormateRules = (rules) => {
|
|
10
|
+
const dataInfo = {};
|
|
11
|
+
rules.forEach(item => {
|
|
12
|
+
if (!dataInfo[item.type + item.key]) {
|
|
13
|
+
dataInfo[item.type + item.key] = {
|
|
14
|
+
...item
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
dataInfo[item.type + item.key] = { ...dataInfo[item.type + item.key], ...item };
|
|
18
|
+
});
|
|
19
|
+
return dataInfo;
|
|
20
|
+
};
|
|
21
|
+
export const withAutoFormat = (editor) => {
|
|
22
|
+
const { insertText } = editor;
|
|
23
|
+
editor.insertText = text => {
|
|
24
|
+
let autoFormatRules = getPluginOptions(editor, PluginKeys.autoFormat)?.autoFormatRules;
|
|
25
|
+
const extraRules = mergAutoFormateRules(autoFormatRules);
|
|
26
|
+
autoFormatRules = Object.values(extraRules);
|
|
27
|
+
if (!TheQueries.isCollapsed(editor.selection)) {
|
|
28
|
+
return insertText(text);
|
|
29
|
+
}
|
|
30
|
+
for (const { query, ...rule } of autoFormatRules) {
|
|
31
|
+
const { trigger = ' ', mode = 'block', type, markup, preFormat, format, match, between, ignoreTrim, insertTrigger, allowSameTypeAbove = false, triggerAtBlockStart = true } = rule;
|
|
32
|
+
if (query && !query(editor, rule))
|
|
33
|
+
continue;
|
|
34
|
+
const triggers = castArray(trigger);
|
|
35
|
+
// Check trigger
|
|
36
|
+
if (!triggers.includes(text))
|
|
37
|
+
continue;
|
|
38
|
+
const valid = () => insertTrigger && insertText(text);
|
|
39
|
+
if (mode === 'block') {
|
|
40
|
+
let markups = castArray(markup);
|
|
41
|
+
let markupRange;
|
|
42
|
+
if (triggerAtBlockStart) {
|
|
43
|
+
markupRange = TheQueries.getRangeFromBlockStart(editor);
|
|
44
|
+
// Don't autoformat if there is void nodes.
|
|
45
|
+
const hasVoidNode = TheQueries.someNode(editor, {
|
|
46
|
+
at: markupRange,
|
|
47
|
+
match: n => Editor.isVoid(editor, n)
|
|
48
|
+
});
|
|
49
|
+
if (hasVoidNode)
|
|
50
|
+
continue;
|
|
51
|
+
const textFromBlockStart = TheQueries.getText(editor, markupRange);
|
|
52
|
+
if (match) {
|
|
53
|
+
markups = match(editor, textFromBlockStart);
|
|
54
|
+
}
|
|
55
|
+
if (!markups.includes(textFromBlockStart))
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
markupRange = TheQueries.getRangeBefore(editor, editor.selection, {
|
|
60
|
+
matchString: markup,
|
|
61
|
+
skipInvalid: true
|
|
62
|
+
});
|
|
63
|
+
if (!markupRange)
|
|
64
|
+
continue;
|
|
65
|
+
const blockAbovePath = TheQueries.getBlockAbove(editor)?.[1];
|
|
66
|
+
if (!blockAbovePath)
|
|
67
|
+
continue;
|
|
68
|
+
// If the markup is not at the start, insert break before autoformatting.
|
|
69
|
+
if (!Editor.isStart(editor, markupRange.anchor, blockAbovePath)) {
|
|
70
|
+
editor.insertBreak();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (!allowSameTypeAbove) {
|
|
74
|
+
// Don't autoformat if already in a block of the same type.
|
|
75
|
+
const isBelowSameBlockType = TheQueries.someNode(editor, { match: { type } });
|
|
76
|
+
if (isBelowSameBlockType)
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
// Start of the block
|
|
80
|
+
autoFormatBlock(editor, type, markupRange, {
|
|
81
|
+
preFormat,
|
|
82
|
+
format
|
|
83
|
+
}, markups);
|
|
84
|
+
return valid();
|
|
85
|
+
}
|
|
86
|
+
if (mode === 'inline') {
|
|
87
|
+
if (autoFormatInline(editor, {
|
|
88
|
+
type,
|
|
89
|
+
between,
|
|
90
|
+
ignoreTrim,
|
|
91
|
+
format,
|
|
92
|
+
markup: Array.isArray(markup) ? markup[0] : markup
|
|
93
|
+
})) {
|
|
94
|
+
return valid();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
insertText(text);
|
|
99
|
+
};
|
|
100
|
+
return editor;
|
|
101
|
+
};
|
|
102
|
+
export const createAutoFormatPlugin = createPluginFactory({
|
|
103
|
+
key: PluginKeys.autoFormat,
|
|
104
|
+
withOverrides: withAutoFormat,
|
|
105
|
+
options: {
|
|
106
|
+
autoFormatRules: defaultAutoFormatRules
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2Zvcm1hdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEVBQUU7SUFDckQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQzdCLEdBQUcsSUFBSTthQUNWLENBQUM7U0FDTDtRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFNRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBbUIsTUFBUyxFQUFFLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM5QixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLElBQUksZUFBZSxHQUFHLGdCQUFnQixDQUFvQixNQUFNLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGVBQWUsQ0FBQztRQUMxRyxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RCxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFFRCxLQUFLLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxlQUFlLEVBQUU7WUFDOUMsTUFBTSxFQUNGLE9BQU8sR0FBRyxHQUFHLEVBQ2IsSUFBSSxHQUFHLE9BQU8sRUFDZCxJQUFJLEVBQ0osTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLGtCQUFrQixHQUFHLEtBQUssRUFDMUIsbUJBQW1CLEdBQUcsSUFBSSxFQUM3QixHQUFHLElBQUksQ0FBQztZQUVULElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7Z0JBQUUsU0FBUztZQUU1QyxNQUFNLFFBQVEsR0FBYSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUMsZ0JBQWdCO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFBRSxTQUFTO1lBRXZDLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLGFBQWEsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdEQsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNsQixJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLElBQUksV0FBOEIsQ0FBQztnQkFFbkMsSUFBSSxtQkFBbUIsRUFBRTtvQkFDckIsV0FBVyxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQVUsQ0FBQztvQkFFakUsMkNBQTJDO29CQUMzQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTt3QkFDNUMsRUFBRSxFQUFFLFdBQVc7d0JBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxXQUFXO3dCQUFFLFNBQVM7b0JBRTFCLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ25FLElBQUksS0FBSyxFQUFFO3dCQUNQLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7cUJBQy9DO29CQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO3dCQUFFLFNBQVM7aUJBQ3ZEO3FCQUFNO29CQUNILFdBQVcsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBa0IsRUFBRTt3QkFDdkUsV0FBVyxFQUFFLE1BQU07d0JBQ25CLFdBQVcsRUFBRSxJQUFJO3FCQUNwQixDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLFdBQVc7d0JBQUUsU0FBUztvQkFFM0IsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsY0FBYzt3QkFBRSxTQUFTO29CQUU5Qix5RUFBeUU7b0JBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO3dCQUM3RCxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7cUJBQ3hCO2lCQUNKO2dCQUVELElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDckIsMkRBQTJEO29CQUMzRCxNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUM5RSxJQUFJLG9CQUFvQjt3QkFBRSxTQUFTO2lCQUN0QztnQkFFRCxxQkFBcUI7Z0JBQ3JCLGVBQWUsQ0FDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWDtvQkFDSSxTQUFTO29CQUNULE1BQU07aUJBQ1QsRUFDRCxPQUFPLENBQ1YsQ0FBQztnQkFDRixPQUFPLEtBQUssRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNuQixJQUNJLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtvQkFDckIsSUFBSTtvQkFDSixPQUFPO29CQUNQLFVBQVU7b0JBQ1YsTUFBTTtvQkFDTixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO2lCQUNyRCxDQUFDLEVBQ0o7b0JBQ0UsT0FBTyxLQUFLLEVBQUUsQ0FBQztpQkFDbEI7YUFDSjtTQUNKO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLG1CQUFtQixDQUFvQjtJQUN6RSxHQUFHLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDMUIsYUFBYSxFQUFFLGNBQWM7SUFDN0IsT0FBTyxFQUFFO1FBQ0wsZUFBZSxFQUFFLHNCQUFzQjtLQUMxQztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgY2FzdEFycmF5IH0gZnJvbSAnLi4vLi4vdXRpbHMvY2FzdC1hcnJheSc7XG5pbXBvcnQgeyBBdXRvRm9ybWF0UnVsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXV0by1mb3JtYXQnO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdEJsb2NrIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2F1dG8tZm9ybWF0LWJsb2NrJztcbmltcG9ydCB7IGF1dG9Gb3JtYXRJbmxpbmUgfSBmcm9tICcuL3RyYW5zZm9ybXMvYXV0by1mb3JtYXQtaW5saW5lJztcbmltcG9ydCB7IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXV0by1mb3JtYXQtcnVsZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSwgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5jb25zdCBtZXJnQXV0b0Zvcm1hdGVSdWxlcyA9IChydWxlczogQXV0b0Zvcm1hdFJ1bGVbXSkgPT4ge1xuICAgIGNvbnN0IGRhdGFJbmZvID0ge307XG4gICAgcnVsZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCFkYXRhSW5mb1tpdGVtLnR5cGUgKyBpdGVtLmtleV0pIHtcbiAgICAgICAgICAgIGRhdGFJbmZvW2l0ZW0udHlwZSArIGl0ZW0ua2V5XSA9IHtcbiAgICAgICAgICAgICAgICAuLi5pdGVtXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGRhdGFJbmZvW2l0ZW0udHlwZSArIGl0ZW0ua2V5XSA9IHsgLi4uZGF0YUluZm9baXRlbS50eXBlICsgaXRlbS5rZXldLCAuLi5pdGVtIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFJbmZvO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBdXRvRm9ybWF0T3B0aW9ucyB7XG4gICAgYXV0b0Zvcm1hdFJ1bGVzPzogQXV0b0Zvcm1hdFJ1bGVbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvRm9ybWF0ID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCkgPT4ge1xuICAgIGNvbnN0IHsgaW5zZXJ0VGV4dCB9ID0gZWRpdG9yO1xuICAgIGVkaXRvci5pbnNlcnRUZXh0ID0gdGV4dCA9PiB7XG4gICAgICAgIGxldCBhdXRvRm9ybWF0UnVsZXMgPSBnZXRQbHVnaW5PcHRpb25zPEF1dG9Gb3JtYXRPcHRpb25zPihlZGl0b3IsIFBsdWdpbktleXMuYXV0b0Zvcm1hdCk/LmF1dG9Gb3JtYXRSdWxlcztcbiAgICAgICAgY29uc3QgZXh0cmFSdWxlcyA9IG1lcmdBdXRvRm9ybWF0ZVJ1bGVzKGF1dG9Gb3JtYXRSdWxlcyk7XG4gICAgICAgIGF1dG9Gb3JtYXRSdWxlcyA9IE9iamVjdC52YWx1ZXMoZXh0cmFSdWxlcyk7XG4gICAgICAgIGlmICghVGhlUXVlcmllcy5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHsgcXVlcnksIC4uLnJ1bGUgfSBvZiBhdXRvRm9ybWF0UnVsZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICB0cmlnZ2VyID0gJyAnLFxuICAgICAgICAgICAgICAgIG1vZGUgPSAnYmxvY2snLFxuICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgbWFya3VwLFxuICAgICAgICAgICAgICAgIHByZUZvcm1hdCxcbiAgICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICAgICAgYmV0d2VlbixcbiAgICAgICAgICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICAgICAgICAgIGluc2VydFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgYWxsb3dTYW1lVHlwZUFib3ZlID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgdHJpZ2dlckF0QmxvY2tTdGFydCA9IHRydWVcbiAgICAgICAgICAgIH0gPSBydWxlO1xuXG4gICAgICAgICAgICBpZiAocXVlcnkgJiYgIXF1ZXJ5KGVkaXRvciwgcnVsZSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBjb25zdCB0cmlnZ2Vyczogc3RyaW5nW10gPSBjYXN0QXJyYXkodHJpZ2dlcik7XG5cbiAgICAgICAgICAgIC8vIENoZWNrIHRyaWdnZXJcbiAgICAgICAgICAgIGlmICghdHJpZ2dlcnMuaW5jbHVkZXModGV4dCkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBjb25zdCB2YWxpZCA9ICgpID0+IGluc2VydFRyaWdnZXIgJiYgaW5zZXJ0VGV4dCh0ZXh0KTtcblxuICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdibG9jaycpIHtcbiAgICAgICAgICAgICAgICBsZXQgbWFya3Vwczogc3RyaW5nW10gPSBjYXN0QXJyYXkobWFya3VwKTtcbiAgICAgICAgICAgICAgICBsZXQgbWFya3VwUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRyaWdnZXJBdEJsb2NrU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFya3VwUmFuZ2UgPSBUaGVRdWVyaWVzLmdldFJhbmdlRnJvbUJsb2NrU3RhcnQoZWRpdG9yKSBhcyBSYW5nZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBhdXRvZm9ybWF0IGlmIHRoZXJlIGlzIHZvaWQgbm9kZXMuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1ZvaWROb2RlID0gVGhlUXVlcmllcy5zb21lTm9kZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBtYXJrdXBSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBuKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc1ZvaWROb2RlKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RnJvbUJsb2NrU3RhcnQgPSBUaGVRdWVyaWVzLmdldFRleHQoZWRpdG9yLCBtYXJrdXBSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3VwcyA9IG1hdGNoKGVkaXRvciwgdGV4dEZyb21CbG9ja1N0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cHMuaW5jbHVkZXModGV4dEZyb21CbG9ja1N0YXJ0KSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFya3VwUmFuZ2UgPSBUaGVRdWVyaWVzLmdldFJhbmdlQmVmb3JlKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbiBhcyBSYW5nZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hTdHJpbmc6IG1hcmt1cCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBJbnZhbGlkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cFJhbmdlKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja0Fib3ZlUGF0aCA9IFRoZVF1ZXJpZXMuZ2V0QmxvY2tBYm92ZShlZGl0b3IpPy5bMV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghYmxvY2tBYm92ZVBhdGgpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtYXJrdXAgaXMgbm90IGF0IHRoZSBzdGFydCwgaW5zZXJ0IGJyZWFrIGJlZm9yZSBhdXRvZm9ybWF0dGluZy5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFFZGl0b3IuaXNTdGFydChlZGl0b3IsIG1hcmt1cFJhbmdlLmFuY2hvciwgYmxvY2tBYm92ZVBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghYWxsb3dTYW1lVHlwZUFib3ZlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGF1dG9mb3JtYXQgaWYgYWxyZWFkeSBpbiBhIGJsb2NrIG9mIHRoZSBzYW1lIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQmVsb3dTYW1lQmxvY2tUeXBlID0gVGhlUXVlcmllcy5zb21lTm9kZShlZGl0b3IsIHsgbWF0Y2g6IHsgdHlwZSB9IH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCZWxvd1NhbWVCbG9ja1R5cGUpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFN0YXJ0IG9mIHRoZSBibG9ja1xuICAgICAgICAgICAgICAgIGF1dG9Gb3JtYXRCbG9jayhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICBtYXJrdXBSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG1hcmt1cHNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobW9kZSA9PT0gJ2lubGluZScpIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG9Gb3JtYXRJbmxpbmUoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZVRyaW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrdXA6IEFycmF5LmlzQXJyYXkobWFya3VwKSA/IG1hcmt1cFswXSA6IG1hcmt1cFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnNlcnRUZXh0KHRleHQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUF1dG9Gb3JtYXRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEF1dG9Gb3JtYXRPcHRpb25zPih7XG4gICAga2V5OiBQbHVnaW5LZXlzLmF1dG9Gb3JtYXQsXG4gICAgd2l0aE92ZXJyaWRlczogd2l0aEF1dG9Gb3JtYXQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBhdXRvRm9ybWF0UnVsZXM6IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXNcbiAgICB9XG59KTtcbiJdfQ==
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Editor, Transforms } from 'slate';
|
|
2
|
-
export const autoFormatBlock = (editor, type, at, { preFormat, format }, markups) => {
|
|
3
|
-
Transforms.delete(editor, { at });
|
|
4
|
-
if (preFormat) {
|
|
5
|
-
preFormat(editor);
|
|
6
|
-
}
|
|
7
|
-
if (!format) {
|
|
8
|
-
Transforms.setNodes(editor, { type }, { match: n => Editor.isBlock(editor, n) });
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
format(editor, markups);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
export const autoFormatBlock = (editor, type, at, { preFormat, format }, markups) => {
|
|
3
|
+
Transforms.delete(editor, { at });
|
|
4
|
+
if (preFormat) {
|
|
5
|
+
preFormat(editor);
|
|
6
|
+
}
|
|
7
|
+
if (!format) {
|
|
8
|
+
Transforms.setNodes(editor, { type }, { match: n => Editor.isBlock(editor, n) });
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
format(editor, markups);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9hdXRvZm9ybWF0L3RyYW5zZm9ybXMvYXV0by1mb3JtYXQtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBWSxVQUFVLEVBQVEsTUFBTSxPQUFPLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzNCLE1BQWMsRUFDZCxJQUFZLEVBQ1osRUFBWSxFQUNaLEVBQ0ksU0FBUyxFQUNULE1BQU0sRUFJVCxFQUNELE9BQWtCLEVBQ3BCLEVBQUU7SUFDQSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFbEMsSUFBSSxTQUFTLEVBQUU7UUFDWCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckI7SUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM1RjtTQUFNO1FBQ0gsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTG9jYXRpb24sIFRyYW5zZm9ybXMsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBhdXRvRm9ybWF0QmxvY2sgPSAoXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGF0OiBMb2NhdGlvbixcbiAgICB7XG4gICAgICAgIHByZUZvcm1hdCxcbiAgICAgICAgZm9ybWF0XG4gICAgfToge1xuICAgICAgICBwcmVGb3JtYXQ/OiAoZWRpdG9yOiBFZGl0b3IpID0+IHZvaWQ7XG4gICAgICAgIGZvcm1hdD86IChlZGl0b3I6IEVkaXRvciwgbWFya3Vwcz86IHN0cmluZ1tdKSA9PiB2b2lkO1xuICAgIH0sXG4gICAgbWFya3Vwcz86IHN0cmluZ1tdXG4pID0+IHtcbiAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQgfSk7XG5cbiAgICBpZiAocHJlRm9ybWF0KSB7XG4gICAgICAgIHByZUZvcm1hdChlZGl0b3IpO1xuICAgIH1cblxuICAgIGlmICghZm9ybWF0KSB7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCB7IHR5cGUgfSBhcyBOb2RlLCB7IG1hdGNoOiBuID0+IEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgbikgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybWF0KGVkaXRvciwgbWFya3Vwcyk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
import { Transforms } from 'slate';
|
|
2
|
-
import * as TheQueries from '../../../queries';
|
|
3
|
-
export const autoFormatInline = (editor, { type, between, markup, ignoreTrim, format }) => {
|
|
4
|
-
const selection = editor.selection;
|
|
5
|
-
const startMarkup = between ? between[0] : markup;
|
|
6
|
-
const endMarkup = between ? between[1] : '';
|
|
7
|
-
let endMarkupPointBefore = selection.anchor;
|
|
8
|
-
if (endMarkup) {
|
|
9
|
-
endMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
10
|
-
matchString: endMarkup
|
|
11
|
-
});
|
|
12
|
-
if (!endMarkupPointBefore) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const startMarkupPointAfter = TheQueries.getPointBefore(editor, endMarkupPointBefore, {
|
|
17
|
-
matchString: startMarkup,
|
|
18
|
-
skipInvalid: true,
|
|
19
|
-
afterMatch: true
|
|
20
|
-
});
|
|
21
|
-
if (!startMarkupPointAfter) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
// found
|
|
25
|
-
const markupRange = {
|
|
26
|
-
anchor: startMarkupPointAfter,
|
|
27
|
-
focus: endMarkupPointBefore
|
|
28
|
-
};
|
|
29
|
-
if (!ignoreTrim) {
|
|
30
|
-
const markupText = TheQueries.getText(editor, markupRange);
|
|
31
|
-
if (markupText.trim() !== markupText) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
// delete end markup
|
|
36
|
-
if (endMarkup) {
|
|
37
|
-
endMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
38
|
-
matchString: endMarkup
|
|
39
|
-
});
|
|
40
|
-
Transforms.delete(editor, {
|
|
41
|
-
at: {
|
|
42
|
-
anchor: endMarkupPointBefore,
|
|
43
|
-
focus: selection.anchor
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const startMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
48
|
-
matchString: startMarkup,
|
|
49
|
-
skipInvalid: true
|
|
50
|
-
});
|
|
51
|
-
if (format) {
|
|
52
|
-
const markupText = TheQueries.getText(editor, markupRange);
|
|
53
|
-
format(editor, markupText);
|
|
54
|
-
// delete start to end selection
|
|
55
|
-
Transforms.delete(editor, {
|
|
56
|
-
at: {
|
|
57
|
-
anchor: startMarkupPointBefore,
|
|
58
|
-
focus: selection.anchor
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// add mark to the text between the markups
|
|
64
|
-
Transforms.select(editor, markupRange);
|
|
65
|
-
editor.addMark(type, true);
|
|
66
|
-
Transforms.collapse(editor, { edge: 'end' });
|
|
67
|
-
editor.removeMark(type, false);
|
|
68
|
-
// delete start markup
|
|
69
|
-
Transforms.delete(editor, {
|
|
70
|
-
at: {
|
|
71
|
-
anchor: startMarkupPointBefore,
|
|
72
|
-
focus: startMarkupPointAfter
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return true;
|
|
77
|
-
};
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import * as TheQueries from '../../../queries';
|
|
3
|
+
export const autoFormatInline = (editor, { type, between, markup, ignoreTrim, format }) => {
|
|
4
|
+
const selection = editor.selection;
|
|
5
|
+
const startMarkup = between ? between[0] : markup;
|
|
6
|
+
const endMarkup = between ? between[1] : '';
|
|
7
|
+
let endMarkupPointBefore = selection.anchor;
|
|
8
|
+
if (endMarkup) {
|
|
9
|
+
endMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
10
|
+
matchString: endMarkup
|
|
11
|
+
});
|
|
12
|
+
if (!endMarkupPointBefore) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const startMarkupPointAfter = TheQueries.getPointBefore(editor, endMarkupPointBefore, {
|
|
17
|
+
matchString: startMarkup,
|
|
18
|
+
skipInvalid: true,
|
|
19
|
+
afterMatch: true
|
|
20
|
+
});
|
|
21
|
+
if (!startMarkupPointAfter) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
// found
|
|
25
|
+
const markupRange = {
|
|
26
|
+
anchor: startMarkupPointAfter,
|
|
27
|
+
focus: endMarkupPointBefore
|
|
28
|
+
};
|
|
29
|
+
if (!ignoreTrim) {
|
|
30
|
+
const markupText = TheQueries.getText(editor, markupRange);
|
|
31
|
+
if (markupText.trim() !== markupText) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// delete end markup
|
|
36
|
+
if (endMarkup) {
|
|
37
|
+
endMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
38
|
+
matchString: endMarkup
|
|
39
|
+
});
|
|
40
|
+
Transforms.delete(editor, {
|
|
41
|
+
at: {
|
|
42
|
+
anchor: endMarkupPointBefore,
|
|
43
|
+
focus: selection.anchor
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const startMarkupPointBefore = TheQueries.getPointBefore(editor, selection, {
|
|
48
|
+
matchString: startMarkup,
|
|
49
|
+
skipInvalid: true
|
|
50
|
+
});
|
|
51
|
+
if (format) {
|
|
52
|
+
const markupText = TheQueries.getText(editor, markupRange);
|
|
53
|
+
format(editor, markupText);
|
|
54
|
+
// delete start to end selection
|
|
55
|
+
Transforms.delete(editor, {
|
|
56
|
+
at: {
|
|
57
|
+
anchor: startMarkupPointBefore,
|
|
58
|
+
focus: selection.anchor
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// add mark to the text between the markups
|
|
64
|
+
Transforms.select(editor, markupRange);
|
|
65
|
+
editor.addMark(type, true);
|
|
66
|
+
Transforms.collapse(editor, { edge: 'end' });
|
|
67
|
+
editor.removeMark(type, false);
|
|
68
|
+
// delete start markup
|
|
69
|
+
Transforms.delete(editor, {
|
|
70
|
+
at: {
|
|
71
|
+
anchor: startMarkupPointBefore,
|
|
72
|
+
focus: startMarkupPointAfter
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
};
|
|
78
78
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtaW5saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvYXV0b2Zvcm1hdC90cmFuc2Zvcm1zL2F1dG8tZm9ybWF0LWlubGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQzVCLE1BQWtCLEVBQ2xCLEVBQ0ksSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFPVCxFQUNILEVBQUU7SUFDQSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBa0IsQ0FBQztJQUU1QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFNUMsSUFBSSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzVDLElBQUksU0FBUyxFQUFFO1FBQ1gsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO1lBQ2hFLFdBQVcsRUFBRSxTQUFTO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN2QixPQUFPLEtBQUssQ0FBQztTQUNoQjtLQUNKO0lBRUQsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRTtRQUNsRixXQUFXLEVBQUUsV0FBVztRQUN4QixXQUFXLEVBQUUsSUFBSTtRQUNqQixVQUFVLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMscUJBQXFCLEVBQUU7UUFDeEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxRQUFRO0lBRVIsTUFBTSxXQUFXLEdBQVU7UUFDdkIsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixLQUFLLEVBQUUsb0JBQW9CO0tBQzlCLENBQUM7SUFFRixJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2IsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDM0QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFO1lBQ2xDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0tBQ0o7SUFFRCxvQkFBb0I7SUFDcEIsSUFBSSxTQUFTLEVBQUU7UUFDWCxvQkFBb0IsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDaEUsV0FBVyxFQUFFLFNBQVM7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDdEIsRUFBRSxFQUFFO2dCQUNBLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTthQUMxQjtTQUNKLENBQUMsQ0FBQztLQUNOO0lBQ0QsTUFBTSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7UUFDeEUsV0FBVyxFQUFFLFdBQVc7UUFDeEIsV0FBVyxFQUFFLElBQUk7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxNQUFNLEVBQUU7UUFDUixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTNCLGdDQUFnQztRQUNoQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN0QixFQUFFLEVBQUU7Z0JBQ0EsTUFBTSxFQUFFLHNCQUFzQjtnQkFDOUIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQzFCO1NBQ0osQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILDJDQUEyQztRQUMzQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQixVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9CLHNCQUFzQjtRQUN0QixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN0QixFQUFFLEVBQUU7Z0JBQ0EsTUFBTSxFQUFFLHNCQUFzQjtnQkFDOUIsS0FBSyxFQUFFLHFCQUFxQjthQUMvQjtTQUNKLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBNYXJrRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vcGx1Z2lucy9tYXJrL21hcmsuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IGF1dG9Gb3JtYXRJbmxpbmUgPSAoXG4gICAgZWRpdG9yOiBNYXJrRWRpdG9yLFxuICAgIHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgYmV0d2VlbixcbiAgICAgICAgbWFya3VwLFxuICAgICAgICBpZ25vcmVUcmltLFxuICAgICAgICBmb3JtYXRcbiAgICB9OiB7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgYmV0d2Vlbj86IHN0cmluZ1tdO1xuICAgICAgICBtYXJrdXA/OiBzdHJpbmc7XG4gICAgICAgIGlnbm9yZVRyaW0/OiBib29sZWFuO1xuICAgICAgICBmb3JtYXQ/OiAoZWRpdG9yOiBFZGl0b3IsIG1hcmt1cD86IHN0cmluZykgPT4gdm9pZDtcbiAgICB9XG4pID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBlZGl0b3Iuc2VsZWN0aW9uIGFzIFJhbmdlO1xuXG4gICAgY29uc3Qgc3RhcnRNYXJrdXAgPSBiZXR3ZWVuID8gYmV0d2VlblswXSA6IG1hcmt1cDtcbiAgICBjb25zdCBlbmRNYXJrdXAgPSBiZXR3ZWVuID8gYmV0d2VlblsxXSA6ICcnO1xuXG4gICAgbGV0IGVuZE1hcmt1cFBvaW50QmVmb3JlID0gc2VsZWN0aW9uLmFuY2hvcjtcbiAgICBpZiAoZW5kTWFya3VwKSB7XG4gICAgICAgIGVuZE1hcmt1cFBvaW50QmVmb3JlID0gVGhlUXVlcmllcy5nZXRQb2ludEJlZm9yZShlZGl0b3IsIHNlbGVjdGlvbiwge1xuICAgICAgICAgICAgbWF0Y2hTdHJpbmc6IGVuZE1hcmt1cFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFlbmRNYXJrdXBQb2ludEJlZm9yZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRNYXJrdXBQb2ludEFmdGVyID0gVGhlUXVlcmllcy5nZXRQb2ludEJlZm9yZShlZGl0b3IsIGVuZE1hcmt1cFBvaW50QmVmb3JlLCB7XG4gICAgICAgIG1hdGNoU3RyaW5nOiBzdGFydE1hcmt1cCxcbiAgICAgICAgc2tpcEludmFsaWQ6IHRydWUsXG4gICAgICAgIGFmdGVyTWF0Y2g6IHRydWVcbiAgICB9KTtcblxuICAgIGlmICghc3RhcnRNYXJrdXBQb2ludEFmdGVyKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBmb3VuZFxuXG4gICAgY29uc3QgbWFya3VwUmFuZ2U6IFJhbmdlID0ge1xuICAgICAgICBhbmNob3I6IHN0YXJ0TWFya3VwUG9pbnRBZnRlcixcbiAgICAgICAgZm9jdXM6IGVuZE1hcmt1cFBvaW50QmVmb3JlXG4gICAgfTtcblxuICAgIGlmICghaWdub3JlVHJpbSkge1xuICAgICAgICBjb25zdCBtYXJrdXBUZXh0ID0gVGhlUXVlcmllcy5nZXRUZXh0KGVkaXRvciwgbWFya3VwUmFuZ2UpO1xuICAgICAgICBpZiAobWFya3VwVGV4dC50cmltKCkgIT09IG1hcmt1cFRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGV0ZSBlbmQgbWFya3VwXG4gICAgaWYgKGVuZE1hcmt1cCkge1xuICAgICAgICBlbmRNYXJrdXBQb2ludEJlZm9yZSA9IFRoZVF1ZXJpZXMuZ2V0UG9pbnRCZWZvcmUoZWRpdG9yLCBzZWxlY3Rpb24sIHtcbiAgICAgICAgICAgIG1hdGNoU3RyaW5nOiBlbmRNYXJrdXBcbiAgICAgICAgfSk7XG4gICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwge1xuICAgICAgICAgICAgYXQ6IHtcbiAgICAgICAgICAgICAgICBhbmNob3I6IGVuZE1hcmt1cFBvaW50QmVmb3JlLFxuICAgICAgICAgICAgICAgIGZvY3VzOiBzZWxlY3Rpb24uYW5jaG9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBzdGFydE1hcmt1cFBvaW50QmVmb3JlID0gVGhlUXVlcmllcy5nZXRQb2ludEJlZm9yZShlZGl0b3IsIHNlbGVjdGlvbiwge1xuICAgICAgICBtYXRjaFN0cmluZzogc3RhcnRNYXJrdXAsXG4gICAgICAgIHNraXBJbnZhbGlkOiB0cnVlXG4gICAgfSk7XG5cbiAgICBpZiAoZm9ybWF0KSB7XG4gICAgICAgIGNvbnN0IG1hcmt1cFRleHQgPSBUaGVRdWVyaWVzLmdldFRleHQoZWRpdG9yLCBtYXJrdXBSYW5nZSk7XG4gICAgICAgIGZvcm1hdChlZGl0b3IsIG1hcmt1cFRleHQpO1xuXG4gICAgICAgIC8vIGRlbGV0ZSBzdGFydCB0byBlbmQgc2VsZWN0aW9uXG4gICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwge1xuICAgICAgICAgICAgYXQ6IHtcbiAgICAgICAgICAgICAgICBhbmNob3I6IHN0YXJ0TWFya3VwUG9pbnRCZWZvcmUsXG4gICAgICAgICAgICAgICAgZm9jdXM6IHNlbGVjdGlvbi5hbmNob3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYWRkIG1hcmsgdG8gdGhlIHRleHQgYmV0d2VlbiB0aGUgbWFya3Vwc1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIG1hcmt1cFJhbmdlKTtcbiAgICAgICAgZWRpdG9yLmFkZE1hcmsodHlwZSwgdHJ1ZSk7XG4gICAgICAgIFRyYW5zZm9ybXMuY29sbGFwc2UoZWRpdG9yLCB7IGVkZ2U6ICdlbmQnIH0pO1xuICAgICAgICBlZGl0b3IucmVtb3ZlTWFyayh0eXBlLCBmYWxzZSk7XG5cbiAgICAgICAgLy8gZGVsZXRlIHN0YXJ0IG1hcmt1cFxuICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHtcbiAgICAgICAgICAgIGF0OiB7XG4gICAgICAgICAgICAgICAgYW5jaG9yOiBzdGFydE1hcmt1cFBvaW50QmVmb3JlLFxuICAgICAgICAgICAgICAgIGZvY3VzOiBzdGFydE1hcmt1cFBvaW50QWZ0ZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59O1xuIl19
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Component } 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 TheBlockquoteComponent extends TheBaseElementComponent {
|
|
6
|
-
constructor(elementRef, cdr) {
|
|
7
|
-
super(elementRef, cdr);
|
|
8
|
-
this.elementRef = elementRef;
|
|
9
|
-
this.cdr = cdr;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
TheBlockquoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
TheBlockquoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
-
type: Component,
|
|
16
|
-
args: [{
|
|
17
|
-
selector: 'blockquote[theBlockquote]',
|
|
18
|
-
template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } 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 TheBlockquoteComponent extends TheBaseElementComponent {
|
|
6
|
+
constructor(elementRef, cdr) {
|
|
7
|
+
super(elementRef, cdr);
|
|
8
|
+
this.elementRef = elementRef;
|
|
9
|
+
this.cdr = cdr;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
TheBlockquoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheBlockquoteComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
TheBlockquoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TheBlockquoteComponent, selector: "blockquote[theBlockquote]", usesInheritance: true, ngImport: i0, template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`, isInline: true, components: [{ type: i1.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TheBlockquoteComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: 'blockquote[theBlockquote]',
|
|
18
|
+
template: `<slate-children [children]="children" [context]="childrenContext" [viewContext]="viewContext"></slate-children>`
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2txdW90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFNM0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHVCQUF3QztJQUNoRixZQUFtQixVQUFzQixFQUFTLEdBQXNCO1FBQ3BFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEUixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFeEUsQ0FBQzs7bUhBSFEsc0JBQXNCO3VHQUF0QixzQkFBc0Isd0ZBRnJCLGlIQUFpSDsyRkFFbEgsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxpSEFBaUg7aUJBQzlIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibG9ja3F1b3RlW3RoZUJsb2NrcXVvdGVdJyxcbiAgICB0ZW1wbGF0ZTogYDxzbGF0ZS1jaGlsZHJlbiBbY2hpbGRyZW5dPVwiY2hpbGRyZW5cIiBbY29udGV4dF09XCJjaGlsZHJlbkNvbnRleHRcIiBbdmlld0NvbnRleHRdPVwidmlld0NvbnRleHRcIj48L3NsYXRlLWNoaWxkcmVuPmBcbn0pXG5leHBvcnQgY2xhc3MgVGhlQmxvY2txdW90ZUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50PEVsZW1lbnQsIEVkaXRvcj4ge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Transforms, Element } from 'slate';
|
|
2
|
+
import { ElementKinds } from '../../constants';
|
|
3
|
+
import { PluginKeys } from '../../interfaces';
|
|
4
|
+
import { getPluginOptions } from '../../core/utils/get-plugin-options';
|
|
5
|
+
import * as TheQueries from '../../queries';
|
|
6
|
+
export const BlockquoteEditor = {
|
|
7
|
+
toggleBlockquote(editor) {
|
|
8
|
+
const isActive = TheQueries.isBlockActive(editor, ElementKinds.blockquote);
|
|
9
|
+
const allowParentTypes = getPluginOptions(editor, PluginKeys.blockquote)?.allowParentTypes || [];
|
|
10
|
+
if (!isActive) {
|
|
11
|
+
Transforms.wrapNodes(editor, { type: ElementKinds.blockquote, children: [] }, {
|
|
12
|
+
mode: 'lowest'
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
Transforms.unwrapNodes(editor, { match: n => Element.isElement(n) && n.type === ElementKinds.blockquote });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2txdW90ZS5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsZ0JBQWdCLENBQUMsTUFBYztRQUMzQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUVqRyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsVUFBVSxDQUFDLFNBQVMsQ0FDaEIsTUFBTSxFQUNOLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUMvQztnQkFDSSxJQUFJLEVBQUUsUUFBUTthQUNqQixDQUNKLENBQUM7U0FDTDthQUFNO1lBQ0gsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDOUc7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgVHJhbnNmb3JtcywgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9nZXQtcGx1Z2luLW9wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGNvbnN0IEJsb2NrcXVvdGVFZGl0b3IgPSB7XG4gICAgdG9nZ2xlQmxvY2txdW90ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IFRoZVF1ZXJpZXMuaXNCbG9ja0FjdGl2ZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlKTtcbiAgICAgICAgY29uc3QgYWxsb3dQYXJlbnRUeXBlcyA9IGdldFBsdWdpbk9wdGlvbnMoZWRpdG9yLCBQbHVnaW5LZXlzLmJsb2NrcXVvdGUpPy5hbGxvd1BhcmVudFR5cGVzIHx8IFtdO1xuXG4gICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKFxuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICB7IHR5cGU6IEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlLCBjaGlsZHJlbjogW10gfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGU6ICdsb3dlc3QnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXMoZWRpdG9yLCB7IG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmJsb2NrcXVvdGUgfSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { Editor, Transforms } from 'slate';
|
|
2
|
-
import { ElementKinds } from '../../constants';
|
|
3
|
-
import { PluginKeys } from '../../interfaces';
|
|
4
|
-
import { createEmptyParagraph } from '../../utils';
|
|
5
|
-
import { createPluginFactory } from '../../core';
|
|
6
|
-
import { TheBlockquoteComponent } from './blockquote.component';
|
|
7
|
-
import { BlockquoteEditor } from './blockquote.editor';
|
|
8
|
-
import * as TheQueries from '../../queries';
|
|
9
|
-
import * as TheTransforms from '../../transforms';
|
|
10
|
-
export const withBlockquote = (editor) => {
|
|
11
|
-
const { renderElement, deleteBackward, insertBreak, isContainer } = editor;
|
|
12
|
-
editor.renderElement = (element) => {
|
|
13
|
-
if (element.type === ElementKinds.blockquote) {
|
|
14
|
-
return TheBlockquoteComponent;
|
|
15
|
-
}
|
|
16
|
-
return renderElement(element);
|
|
17
|
-
};
|
|
18
|
-
editor.deleteBackward = unit => {
|
|
19
|
-
const aboveResult = Editor.above(editor, {
|
|
20
|
-
match: n => Editor.isBlock(editor, n) && n.type === ElementKinds.blockquote
|
|
21
|
-
});
|
|
22
|
-
if (!aboveResult) {
|
|
23
|
-
return deleteBackward(unit);
|
|
24
|
-
}
|
|
25
|
-
const hasHandled = TheTransforms.handleContinualDeleteBackward(editor, aboveResult, ElementKinds.blockquote);
|
|
26
|
-
if (hasHandled) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
return deleteBackward(unit);
|
|
30
|
-
};
|
|
31
|
-
editor.insertBreak = () => {
|
|
32
|
-
const lowestBlock = TheQueries.anchorBlock(editor);
|
|
33
|
-
if (!lowestBlock) {
|
|
34
|
-
insertBreak();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const hasHandled = TheTransforms.handleContinualInsertBreak(editor, lowestBlock, ElementKinds.blockquote);
|
|
38
|
-
if (hasHandled) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const voidEntry = Editor.above(editor, {
|
|
42
|
-
match: n => Editor.isBlock(editor, n) && Editor.isVoid(editor, n)
|
|
43
|
-
});
|
|
44
|
-
if (voidEntry && voidEntry[0]) {
|
|
45
|
-
Transforms.insertNodes(editor, createEmptyParagraph());
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
return insertBreak();
|
|
49
|
-
};
|
|
50
|
-
editor.isContainer = (element) => {
|
|
51
|
-
return element.type === ElementKinds.blockquote ? true : isContainer(element);
|
|
52
|
-
};
|
|
53
|
-
return editor;
|
|
54
|
-
};
|
|
55
|
-
export const createBlockquotePlugin = createPluginFactory({
|
|
56
|
-
key: PluginKeys.blockquote,
|
|
57
|
-
withOverrides: withBlockquote,
|
|
58
|
-
toolbarItems: [
|
|
59
|
-
{
|
|
60
|
-
key: ElementKinds.blockquote,
|
|
61
|
-
icon: 'blockquote',
|
|
62
|
-
name: '引用',
|
|
63
|
-
active: editor => TheQueries.isBlockActive(editor, ElementKinds.blockquote),
|
|
64
|
-
execute: editor => BlockquoteEditor.toggleBlockquote(editor)
|
|
65
|
-
}
|
|
66
|
-
],
|
|
67
|
-
options: {
|
|
68
|
-
allowParentTypes: [ElementKinds.tableCell]
|
|
69
|
-
}
|
|
70
|
-
});
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { ElementKinds } from '../../constants';
|
|
3
|
+
import { PluginKeys } from '../../interfaces';
|
|
4
|
+
import { createEmptyParagraph } from '../../utils';
|
|
5
|
+
import { createPluginFactory } from '../../core';
|
|
6
|
+
import { TheBlockquoteComponent } from './blockquote.component';
|
|
7
|
+
import { BlockquoteEditor } from './blockquote.editor';
|
|
8
|
+
import * as TheQueries from '../../queries';
|
|
9
|
+
import * as TheTransforms from '../../transforms';
|
|
10
|
+
export const withBlockquote = (editor) => {
|
|
11
|
+
const { renderElement, deleteBackward, insertBreak, isContainer } = editor;
|
|
12
|
+
editor.renderElement = (element) => {
|
|
13
|
+
if (element.type === ElementKinds.blockquote) {
|
|
14
|
+
return TheBlockquoteComponent;
|
|
15
|
+
}
|
|
16
|
+
return renderElement(element);
|
|
17
|
+
};
|
|
18
|
+
editor.deleteBackward = unit => {
|
|
19
|
+
const aboveResult = Editor.above(editor, {
|
|
20
|
+
match: n => Editor.isBlock(editor, n) && n.type === ElementKinds.blockquote
|
|
21
|
+
});
|
|
22
|
+
if (!aboveResult) {
|
|
23
|
+
return deleteBackward(unit);
|
|
24
|
+
}
|
|
25
|
+
const hasHandled = TheTransforms.handleContinualDeleteBackward(editor, aboveResult, ElementKinds.blockquote);
|
|
26
|
+
if (hasHandled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
return deleteBackward(unit);
|
|
30
|
+
};
|
|
31
|
+
editor.insertBreak = () => {
|
|
32
|
+
const lowestBlock = TheQueries.anchorBlock(editor);
|
|
33
|
+
if (!lowestBlock) {
|
|
34
|
+
insertBreak();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const hasHandled = TheTransforms.handleContinualInsertBreak(editor, lowestBlock, ElementKinds.blockquote);
|
|
38
|
+
if (hasHandled) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const voidEntry = Editor.above(editor, {
|
|
42
|
+
match: n => Editor.isBlock(editor, n) && Editor.isVoid(editor, n)
|
|
43
|
+
});
|
|
44
|
+
if (voidEntry && voidEntry[0]) {
|
|
45
|
+
Transforms.insertNodes(editor, createEmptyParagraph());
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
return insertBreak();
|
|
49
|
+
};
|
|
50
|
+
editor.isContainer = (element) => {
|
|
51
|
+
return element.type === ElementKinds.blockquote ? true : isContainer(element);
|
|
52
|
+
};
|
|
53
|
+
return editor;
|
|
54
|
+
};
|
|
55
|
+
export const createBlockquotePlugin = createPluginFactory({
|
|
56
|
+
key: PluginKeys.blockquote,
|
|
57
|
+
withOverrides: withBlockquote,
|
|
58
|
+
toolbarItems: [
|
|
59
|
+
{
|
|
60
|
+
key: ElementKinds.blockquote,
|
|
61
|
+
icon: 'blockquote',
|
|
62
|
+
name: '引用',
|
|
63
|
+
active: editor => TheQueries.isBlockActive(editor, ElementKinds.blockquote),
|
|
64
|
+
execute: editor => BlockquoteEditor.toggleBlockquote(editor)
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
options: {
|
|
68
|
+
allowParentTypes: [ElementKinds.tableCell]
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
71
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2txdW90ZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVcsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUM3RCxNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNFLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7UUFDeEMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDMUMsT0FBTyxzQkFBc0IsQ0FBQztTQUNqQztRQUNELE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBVSxNQUFNLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsVUFBVTtTQUM5RSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7UUFDRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsNkJBQTZCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0csSUFBSSxVQUFVLEVBQUU7WUFDWixPQUFPO1NBQ1Y7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUN0QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxXQUFXLEVBQUUsQ0FBQztZQUNkLE9BQU87U0FDVjtRQUNELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRyxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU87U0FDVjtRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQVUsTUFBTSxFQUFFO1lBQzVDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNwRSxDQUFDLENBQUM7UUFDSCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0IsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87U0FDVjtRQUNELE9BQU8sV0FBVyxFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEYsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUM7SUFDdEQsR0FBRyxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQzFCLGFBQWEsRUFBRSxjQUFjO0lBQzdCLFlBQVksRUFBRTtRQUNWO1lBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksRUFBRSxZQUFZO1lBQ2xCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUMzRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDL0Q7S0FDSjtJQUNELE9BQU8sRUFBRTtRQUNMLGdCQUFnQixFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztLQUM3QztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFRoZUJsb2NrcXVvdGVDb21wb25lbnQgfSBmcm9tICcuL2Jsb2NrcXVvdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJsb2NrcXVvdGVFZGl0b3IgfSBmcm9tICcuL2Jsb2NrcXVvdGUuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEJsb2NrcXVvdGUgPSA8VCBleHRlbmRzIEVkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgeyByZW5kZXJFbGVtZW50LCBkZWxldGVCYWNrd2FyZCwgaW5zZXJ0QnJlYWssIGlzQ29udGFpbmVyIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlKSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlQmxvY2txdW90ZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUJhY2t3YXJkID0gdW5pdCA9PiB7XG4gICAgICAgIGNvbnN0IGFib3ZlUmVzdWx0ID0gRWRpdG9yLmFib3ZlPEVsZW1lbnQ+KGVkaXRvciwge1xuICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWRpdG9yLmlzQmxvY2soZWRpdG9yLCBuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWFib3ZlUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm4gZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGFzSGFuZGxlZCA9IFRoZVRyYW5zZm9ybXMuaGFuZGxlQ29udGludWFsRGVsZXRlQmFja3dhcmQoZWRpdG9yLCBhYm92ZVJlc3VsdCwgRWxlbWVudEtpbmRzLmJsb2NrcXVvdGUpO1xuICAgICAgICBpZiAoaGFzSGFuZGxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydEJyZWFrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBsb3dlc3RCbG9jayA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcblxuICAgICAgICBpZiAoIWxvd2VzdEJsb2NrKSB7XG4gICAgICAgICAgICBpbnNlcnRCcmVhaygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhhc0hhbmRsZWQgPSBUaGVUcmFuc2Zvcm1zLmhhbmRsZUNvbnRpbnVhbEluc2VydEJyZWFrKGVkaXRvciwgbG93ZXN0QmxvY2ssIEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlKTtcbiAgICAgICAgaWYgKGhhc0hhbmRsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2b2lkRW50cnkgPSBFZGl0b3IuYWJvdmU8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pICYmIEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBuKVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHZvaWRFbnRyeSAmJiB2b2lkRW50cnlbMF0pIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBjcmVhdGVFbXB0eVBhcmFncmFwaCgpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5zZXJ0QnJlYWsoKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmlzQ29udGFpbmVyID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmJsb2NrcXVvdGUgPyB0cnVlIDogaXNDb250YWluZXIoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQmxvY2txdW90ZVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5ibG9ja3F1b3RlLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhCbG9ja3F1b3RlLFxuICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlLFxuICAgICAgICAgICAgaWNvbjogJ2Jsb2NrcXVvdGUnLFxuICAgICAgICAgICAgbmFtZTogJ+W8leeUqCcsXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBUaGVRdWVyaWVzLmlzQmxvY2tBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuYmxvY2txdW90ZSksXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gQmxvY2txdW90ZUVkaXRvci50b2dnbGVCbG9ja3F1b3RlKGVkaXRvcilcbiAgICAgICAgfVxuICAgIF0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBhbGxvd1BhcmVudFR5cGVzOiBbRWxlbWVudEtpbmRzLnRhYmxlQ2VsbF1cbiAgICB9XG59KTtcbiJdfQ==
|