@worktile/theia 15.3.2 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/contextmenu/contextmenu.component.d.ts +1 -1
- package/components/conversion-hint/conversion-hint.component.d.ts +3 -3
- package/components/inline-toolbar/inline-toolbar.component.d.ts +3 -4
- package/components/listbox/listbox.d.ts +3 -3
- package/components/plugin-menu/plugin-menu.component.d.ts +4 -3
- package/components/table-select/table-select.component.d.ts +1 -1
- package/components/template/template.component.d.ts +2 -2
- package/components/toolbar/toolbar.component.d.ts +4 -4
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +2 -2
- package/components/toolbar-group/toolbar-group.component.d.ts +5 -6
- package/constants/default.d.ts +1 -1
- package/core/toolbar-item/base-toolbar-item.d.ts +6 -7
- package/core/utils/plugin-menu.d.ts +2 -2
- package/editor.component.d.ts +1 -1
- package/editor.module.d.ts +1 -1
- package/{esm2020 → esm2022}/components/action/prevent-default.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize-notifier.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize.directive.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/column-resize.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/column-resize/event-dispatcher.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/overlay-handle.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/column-resize/resizing.store.mjs +4 -4
- package/{esm2020 → esm2022}/components/contextmenu/contextmenu.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/element/element.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/inline-toolbar/inline-toolbar.component.mjs +6 -6
- package/esm2022/components/listbox/listbox.mjs +375 -0
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +191 -0
- package/{esm2020 → esm2022}/components/table-select/table-select.component.mjs +4 -4
- package/esm2022/components/template/template.component.mjs +62 -0
- package/{esm2020 → esm2022}/components/text/text.component.mjs +4 -4
- package/esm2022/components/toolbar/toolbar.component.mjs +266 -0
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +144 -0
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +122 -0
- package/{esm2020 → esm2022}/components/toolbar-item/toolbar-item.component.mjs +6 -6
- package/esm2022/constants/auto-format-rules.mjs +167 -0
- package/{esm2020 → esm2022}/constants/default.mjs +2 -2
- package/esm2022/constants/plugin-menu.mjs +328 -0
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +87 -0
- package/{esm2020 → esm2022}/core/utils/combine-plugins.mjs +1 -1
- package/esm2022/core/utils/plugin-menu.mjs +33 -0
- package/esm2022/custom-types.mjs +2 -0
- package/{esm2020 → esm2022}/editor.component.mjs +11 -11
- package/esm2022/editor.module.mjs +254 -0
- package/esm2022/interfaces/auto-format.mjs +2 -0
- package/esm2022/interfaces/editor.mjs +25 -0
- package/esm2022/interfaces/plugins/plugin-menu.mjs +19 -0
- package/esm2022/interfaces/plugins/with-override.mjs +2 -0
- package/esm2022/interfaces/reset-block-type-plugin-options.mjs +2 -0
- package/esm2022/interfaces/toolbar.mjs +12 -0
- package/{esm2020 → esm2022}/interfaces/view-base.mjs +4 -4
- package/esm2022/pipes.mjs +42 -0
- package/esm2022/plugins/align/align.editor.mjs +43 -0
- package/esm2022/plugins/align/align.plugin.mjs +64 -0
- package/{esm2020 → esm2022}/plugins/autoformat/autoformat.plugin.mjs +1 -1
- package/esm2022/plugins/autoformat/transforms/auto-format-block.mjs +14 -0
- package/esm2022/plugins/autoformat/transforms/auto-format-inline.mjs +78 -0
- package/esm2022/plugins/blockquote/blockquote.component.mjs +21 -0
- package/esm2022/plugins/blockquote/blockquote.editor.mjs +17 -0
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +85 -0
- package/{esm2020 → esm2022}/plugins/code/code.component.mjs +4 -4
- package/esm2022/plugins/code/code.editor.mjs +48 -0
- package/{esm2020 → esm2022}/plugins/code/code.plugin.mjs +1 -1
- package/esm2022/plugins/color/color.editor.mjs +27 -0
- package/{esm2020 → esm2022}/plugins/color/toolbar-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/common/block-card.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/common.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/get-fragment.plugin.mjs +1 -1
- package/esm2022/plugins/common/history.plugin.mjs +31 -0
- package/{esm2020 → esm2022}/plugins/common/insert-data-by-invalid-type.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/move-selection.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/remove-empty.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/remove-void.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/common/reset-type.plugin.mjs +1 -1
- package/esm2022/plugins/common/transforms.plugin.mjs +18 -0
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +53 -0
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +130 -0
- package/esm2022/plugins/font-size/font-size.editor.mjs +98 -0
- package/esm2022/plugins/heading/heading.editor.mjs +54 -0
- package/esm2022/plugins/heading/heading.plugin.mjs +136 -0
- package/{esm2020 → esm2022}/plugins/hr/hr.component.mjs +6 -6
- package/esm2022/plugins/hr/hr.editor.mjs +16 -0
- package/esm2022/plugins/hr/hr.plugin.mjs +56 -0
- package/esm2022/plugins/image/image.component.mjs +420 -0
- package/esm2022/plugins/image/image.editor.mjs +81 -0
- package/esm2022/plugins/indent/indent.editor.mjs +78 -0
- package/{esm2020 → esm2022}/plugins/indent/indent.plugin.mjs +1 -1
- package/esm2022/plugins/indent/on-keydown-indent.mjs +59 -0
- package/esm2022/plugins/inline-code/inline-code.component.mjs +26 -0
- package/esm2022/plugins/inline-code/inline-code.editor.mjs +48 -0
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +66 -0
- package/esm2022/plugins/link/edit/link-edit.component.mjs +103 -0
- package/{esm2020 → esm2022}/plugins/link/hover/link-hover.component.mjs +4 -4
- package/esm2022/plugins/link/link.component.mjs +167 -0
- package/esm2022/plugins/link/link.editor.mjs +66 -0
- package/{esm2020 → esm2022}/plugins/link/link.plugin.mjs +1 -1
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +33 -0
- package/esm2022/plugins/list/components/list-item.component.mjs +93 -0
- package/esm2022/plugins/list/components/numbered-list.component.mjs +39 -0
- package/esm2022/plugins/list/list.editor.mjs +126 -0
- package/esm2022/plugins/list/list.plugin.mjs +312 -0
- package/esm2022/plugins/list/normalizers/get-list-normalizer.mjs +39 -0
- package/esm2022/plugins/list/normalizers/normalize-list-item.mjs +18 -0
- package/esm2022/plugins/list/normalizers/normalize-no.mjs +43 -0
- package/esm2022/plugins/list/on-key-down-list.mjs +33 -0
- package/esm2022/plugins/list/queries/get-list-item-entry.mjs +28 -0
- package/esm2022/plugins/list/queries/get-start-list-item.mjs +27 -0
- package/esm2022/plugins/list/queries/has-list-in-list-item.mjs +27 -0
- package/esm2022/plugins/list/queries/is-in-list.mjs +6 -0
- package/esm2022/plugins/list/queries/is-list-nested.mjs +10 -0
- package/esm2022/plugins/list/queries/is-list.mjs +5 -0
- package/{esm2020 → esm2022}/plugins/list/queries/is-node-type-list.mjs +1 -1
- package/esm2022/plugins/list/queries/is-selection-at-list-item-start.mjs +13 -0
- package/esm2022/plugins/list/queries/is-selection-in-same-list-item.mjs +17 -0
- package/{esm2020 → esm2022}/plugins/list/queries/is-single-list-item.mjs +1 -1
- package/esm2022/plugins/list/transforms/insert-list-data.mjs +72 -0
- package/esm2022/plugins/list/transforms/insert-list-item.mjs +72 -0
- package/esm2022/plugins/list/transforms/move-list-item-down.mjs +41 -0
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +43 -0
- package/esm2022/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +30 -0
- package/esm2022/plugins/list/transforms/move-list-item-up.mjs +78 -0
- package/esm2022/plugins/list/transforms/unwrap-list.mjs +10 -0
- package/esm2022/plugins/mark/mark.editor.mjs +28 -0
- package/{esm2020 → esm2022}/plugins/mark/mark.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/mention/mention.editor.mjs +1 -1
- package/esm2022/plugins/mention/mention.plugin.mjs +91 -0
- package/{esm2020 → esm2022}/plugins/mention/suggestion.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/node-id/node-id.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/normalizers/insert-paragraph-nodes.mjs +1 -1
- package/esm2022/plugins/normalizers/remove-empty-nodes.mjs +18 -0
- package/{esm2020 → esm2022}/plugins/normalizers/trailing-node.plugin.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/paint-format/paint-format.editor.mjs +1 -1
- package/{esm2020 → esm2022}/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +68 -0
- package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +104 -0
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +104 -0
- package/{esm2020 → esm2022}/plugins/table/components/row/row.component.mjs +6 -6
- package/{esm2020 → esm2022}/plugins/table/components/table.component.mjs +16 -16
- package/{esm2020 → esm2022}/plugins/table/components/td/td.component.mjs +4 -4
- package/{esm2020 → esm2022}/plugins/table/components/toolbar/table-options.component.mjs +6 -6
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +189 -0
- package/esm2022/plugins/table/table.editor.mjs +209 -0
- package/{esm2020 → esm2022}/plugins/table/table.pipe.mjs +7 -7
- package/esm2022/plugins/table/table.plugin.mjs +544 -0
- package/{esm2020 → esm2022}/plugins/table/table.service.mjs +4 -4
- package/esm2022/plugins/table/table.store.mjs +426 -0
- package/esm2022/plugins/table/table.types.mjs +60 -0
- package/{esm2020 → esm2022}/plugins/table/toolbar-item.component.mjs +6 -6
- package/esm2022/plugins/table/transforms/clear-cell.mjs +14 -0
- package/esm2022/plugins/table/transforms/clear-table-node.mjs +27 -0
- package/esm2022/plugins/table/transforms/insert-column.mjs +69 -0
- package/esm2022/plugins/table/transforms/insert-row.mjs +50 -0
- package/esm2022/plugins/table/transforms/insert-table.mjs +15 -0
- package/esm2022/plugins/table/transforms/remove-column.mjs +51 -0
- package/esm2022/plugins/table/transforms/remove-row.mjs +48 -0
- package/esm2022/plugins/table/transforms/remove-table.mjs +49 -0
- package/esm2022/plugins/table/utils/calc-anchor-position.mjs +25 -0
- package/esm2022/plugins/table/utils/cell-position.mjs +60 -0
- package/esm2022/plugins/table/utils/create-table-position.mjs +10 -0
- package/esm2022/plugins/table/utils/get-min-max-cell-index.mjs +69 -0
- package/esm2022/plugins/table/utils/get-select-cell-node.mjs +23 -0
- package/esm2022/plugins/table/utils/handle-cell.mjs +25 -0
- package/esm2022/plugins/table/utils/is-range-in-table.mjs +16 -0
- package/esm2022/plugins/table/utils/is-selection-in-table.mjs +51 -0
- package/esm2022/plugins/table/utils/merge-cell.mjs +108 -0
- package/esm2022/plugins/table/utils/set-menu-cell-invisibility.mjs +45 -0
- package/esm2022/plugins/table/utils/split-cell.mjs +29 -0
- package/esm2022/plugins/table/utils/table-entry.mjs +21 -0
- package/{esm2020 → esm2022}/plugins/todo-item/todo-item.component.mjs +7 -7
- package/esm2022/plugins/todo-item/todo-item.editor.mjs +32 -0
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +93 -0
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +83 -0
- package/esm2022/queries/anchor-block-entry.mjs +13 -0
- package/esm2022/queries/anchor-block.mjs +6 -0
- package/esm2022/queries/anchor-inline-entry.mjs +10 -0
- package/{esm2020 → esm2022}/queries/find-descendant.mjs +1 -1
- package/esm2022/queries/find-node.mjs +45 -0
- package/esm2022/queries/get-above-by-type.mjs +14 -0
- package/esm2022/queries/get-above.mjs +9 -0
- package/esm2022/queries/get-anchor-block-entry.mjs +8 -0
- package/esm2022/queries/get-block-above.mjs +10 -0
- package/esm2022/queries/get-block-card-above.mjs +10 -0
- package/esm2022/queries/get-block-card-cursor.mjs +5 -0
- package/esm2022/queries/get-container-blocks.mjs +12 -0
- package/esm2022/queries/get-insert-elements-path.mjs +44 -0
- package/{esm2020 → esm2022}/queries/get-last-node.mjs +1 -1
- package/esm2022/queries/get-node.mjs +10 -0
- package/esm2022/queries/get-nodes-by-type.mjs +15 -0
- package/esm2022/queries/get-nodes.mjs +7 -0
- package/esm2022/queries/get-parent.mjs +12 -0
- package/esm2022/queries/get-plain-text.mjs +16 -0
- package/esm2022/queries/get-plugin-by-toolbar.mjs +13 -0
- package/{esm2020 → esm2022}/queries/get-point-before.mjs +1 -1
- package/esm2022/queries/get-point-from-location.mjs +15 -0
- package/esm2022/queries/get-rang-from-block-start.mjs +16 -0
- package/esm2022/queries/get-range-before.mjs +17 -0
- package/{esm2020 → esm2022}/queries/get-selection-marks.mjs +1 -1
- package/esm2022/queries/get-selection-nodes-by-type.mjs +30 -0
- package/esm2022/queries/get-text.mjs +9 -0
- package/esm2022/queries/get-toolbar-disabled.mjs +13 -0
- package/esm2022/queries/is-across-blocks.mjs +7 -0
- package/esm2022/queries/is-ancestor-empty.mjs +6 -0
- package/esm2022/queries/is-block-above-empty.mjs +11 -0
- package/esm2022/queries/is-block-active.mjs +8 -0
- package/esm2022/queries/is-block-card-cursor.mjs +4 -0
- package/{esm2020 → esm2022}/queries/is-block-text-empty-after-selection.mjs +1 -1
- package/esm2022/queries/is-contain-nested-type.mjs +29 -0
- package/esm2022/queries/is-container-type.mjs +3 -0
- package/esm2022/queries/is-empty-content-filter.mjs +23 -0
- package/{esm2020 → esm2022}/queries/is-empty-content.mjs +1 -1
- package/esm2022/queries/is-empty-paragraph-by-path.mjs +7 -0
- package/esm2022/queries/is-empty-paragraph.mjs +28 -0
- package/esm2022/queries/is-global-collapsed.mjs +5 -0
- package/esm2022/queries/is-include-types.mjs +12 -0
- package/esm2022/queries/is-node-type-in.mjs +9 -0
- package/esm2022/queries/is-node-type.mjs +15 -0
- package/esm2022/queries/is-paragraph.mjs +9 -0
- package/esm2022/queries/is-range-across-blocks.mjs +22 -0
- package/esm2022/queries/is-start.mjs +6 -0
- package/esm2022/queries/some-node.mjs +9 -0
- package/{esm2020 → esm2022}/services/context.service.mjs +4 -4
- package/{esm2020 → esm2022}/services/table-contextmenu.service.mjs +4 -4
- package/{esm2020 → esm2022}/services/toolbar.service.mjs +4 -4
- package/{esm2020 → esm2022}/shortcuts/index.mjs +1 -1
- package/esm2022/shortcuts/mark.mjs +25 -0
- package/esm2022/test/utils/with-editor.mjs +8 -0
- package/esm2022/test/utils/with-plugin.mjs +8 -0
- package/{esm2020 → esm2022}/transforms/clear-marks.mjs +1 -1
- package/esm2022/transforms/close-conversion-hint.mjs +8 -0
- package/{esm2020 → esm2022}/transforms/delete-element.mjs +1 -1
- package/esm2022/transforms/handle-continual-delete-backward.mjs +18 -0
- package/esm2022/transforms/handle-continual-insert-break.mjs +20 -0
- package/esm2022/transforms/insert-elements.mjs +38 -0
- package/esm2022/transforms/insert-paragraph.mjs +6 -0
- package/esm2022/transforms/move-children.mjs +22 -0
- package/esm2022/transforms/on-keydown-reset-block-type.mjs +22 -0
- package/{esm2020 → esm2022}/transforms/set-end-selection.mjs +1 -1
- package/esm2022/transforms/set-marks.mjs +9 -0
- package/esm2022/transforms/set-node.mjs +6 -0
- package/esm2022/transforms/un-hang-range.mjs +11 -0
- package/esm2022/transforms/un-wrap.mjs +12 -0
- package/esm2022/transforms/unwrap-nodes-by-type.mjs +14 -0
- package/{esm2020 → esm2022}/utils/auto-focus.mjs +1 -1
- package/esm2022/utils/copy-node.mjs +32 -0
- package/esm2022/utils/create-empty-paragraph.mjs +5 -0
- package/esm2022/utils/create-paragraph.mjs +14 -0
- package/{esm2020 → esm2022}/utils/dom.mjs +1 -1
- package/esm2022/utils/editor-uuid.mjs +8 -0
- package/esm2022/utils/fragment.mjs +74 -0
- package/esm2022/utils/get-editable-element-height.mjs +6 -0
- package/esm2022/utils/get-toolbar-class.mjs +6 -0
- package/esm2022/utils/index.mjs +20 -0
- package/esm2022/utils/insert-data-by-invalid-type.mjs +62 -0
- package/esm2022/utils/is-clean-empty-paragraph.mjs +37 -0
- package/esm2022/utils/is-inline.mjs +9 -0
- package/{esm2020 → esm2022}/utils/match.mjs +1 -1
- package/esm2022/utils/merge-element-options.mjs +19 -0
- package/esm2022/utils/scroll-into-view.mjs +38 -0
- package/{fesm2020 → fesm2022}/worktile-theia.mjs +398 -389
- package/fesm2022/worktile-theia.mjs.map +1 -0
- package/interfaces/auto-format.d.ts +5 -5
- package/interfaces/editor.d.ts +8 -6
- package/interfaces/plugins/plugin-menu.d.ts +5 -5
- package/interfaces/plugins/with-override.d.ts +2 -2
- package/interfaces/reset-block-type-plugin-options.d.ts +3 -3
- package/interfaces/toolbar.d.ts +5 -5
- package/interfaces/view-base.d.ts +3 -2
- package/package.json +11 -17
- package/pipes.d.ts +3 -3
- package/plugins/align/align.editor.d.ts +4 -4
- package/plugins/align/align.plugin.d.ts +2 -1
- package/plugins/autoformat/autoformat.plugin.d.ts +2 -1
- package/plugins/autoformat/transforms/auto-format-block.d.ts +5 -4
- package/plugins/autoformat/transforms/auto-format-inline.d.ts +2 -2
- package/plugins/blockquote/blockquote.component.d.ts +3 -3
- package/plugins/blockquote/blockquote.editor.d.ts +2 -2
- package/plugins/blockquote/blockquote.plugin.d.ts +2 -1
- package/plugins/code/code.component.d.ts +2 -3
- package/plugins/code/code.editor.d.ts +3 -3
- package/plugins/code/code.plugin.d.ts +2 -1
- package/plugins/color/color.editor.d.ts +3 -3
- package/plugins/common/block-card.plugin.d.ts +2 -1
- package/plugins/common/common.plugin.d.ts +2 -1
- package/plugins/common/get-fragment.plugin.d.ts +2 -1
- package/plugins/common/history.plugin.d.ts +6 -6
- package/plugins/common/insert-data-by-invalid-type.d.ts +2 -1
- package/plugins/common/move-selection.plugin.d.ts +2 -1
- package/plugins/common/remove-empty.plugin.d.ts +2 -1
- package/plugins/common/remove-void.plugin.d.ts +2 -1
- package/plugins/common/reset-type.plugin.d.ts +2 -1
- package/plugins/common/transforms.plugin.d.ts +2 -1
- package/plugins/deserialize/deserialize-html.plugin.d.ts +2 -1
- package/plugins/deserialize/deserialize-md.plugin.d.ts +2 -1
- package/plugins/font-size/font-size.editor.d.ts +3 -4
- package/plugins/heading/heading.editor.d.ts +3 -4
- package/plugins/heading/heading.plugin.d.ts +2 -2
- package/plugins/hr/hr.component.d.ts +3 -3
- package/plugins/hr/hr.editor.d.ts +3 -3
- package/plugins/hr/hr.plugin.d.ts +2 -1
- package/plugins/image/image.component.d.ts +2 -3
- package/plugins/image/image.editor.d.ts +8 -7
- package/plugins/indent/indent.editor.d.ts +3 -4
- package/plugins/indent/indent.plugin.d.ts +2 -1
- package/plugins/indent/on-keydown-indent.d.ts +2 -2
- package/plugins/inline-code/inline-code.component.d.ts +2 -3
- package/plugins/inline-code/inline-code.editor.d.ts +6 -5
- package/plugins/inline-code/inline-code.plugin.d.ts +2 -1
- package/plugins/link/edit/link-edit.component.d.ts +4 -3
- package/plugins/link/hover/link-hover.component.d.ts +1 -1
- package/plugins/link/link.component.d.ts +2 -3
- package/plugins/link/link.editor.d.ts +5 -5
- package/plugins/link/link.plugin.d.ts +2 -1
- package/plugins/list/components/bulleted-list.component.d.ts +2 -3
- package/plugins/list/components/list-item.component.d.ts +3 -3
- package/plugins/list/components/numbered-list.component.d.ts +2 -3
- package/plugins/list/list.editor.d.ts +11 -9
- package/plugins/list/list.plugin.d.ts +2 -1
- package/plugins/list/normalizers/get-list-normalizer.d.ts +3 -2
- package/plugins/list/normalizers/normalize-list-item.d.ts +3 -2
- package/plugins/list/normalizers/normalize-no.d.ts +3 -2
- package/plugins/list/on-key-down-list.d.ts +2 -2
- package/plugins/list/queries/get-list-item-entry.d.ts +3 -2
- package/plugins/list/queries/get-start-list-item.d.ts +2 -2
- package/plugins/list/queries/has-list-in-list-item.d.ts +5 -4
- package/plugins/list/queries/is-in-list.d.ts +3 -2
- package/plugins/list/queries/is-list-nested.d.ts +3 -2
- package/plugins/list/queries/is-list.d.ts +2 -2
- package/plugins/list/queries/is-node-type-list.d.ts +2 -1
- package/plugins/list/queries/is-selection-at-list-item-start.d.ts +2 -2
- package/plugins/list/queries/is-selection-in-same-list-item.d.ts +2 -2
- package/plugins/list/transforms/insert-list-data.d.ts +5 -3
- package/plugins/list/transforms/insert-list-item.d.ts +2 -2
- package/plugins/list/transforms/move-list-item-down.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-sublist-items-to-list.d.ts +3 -2
- package/plugins/list/transforms/move-list-item-up.d.ts +3 -2
- package/plugins/list/transforms/unwrap-list.d.ts +2 -2
- package/plugins/mark/mark.editor.d.ts +3 -2
- package/plugins/mark/mark.plugin.d.ts +2 -1
- package/plugins/mention/mention.plugin.d.ts +2 -1
- package/plugins/mention/suggestion.component.d.ts +1 -1
- package/plugins/node-id/node-id.plugin.d.ts +2 -2
- package/plugins/normalizers/insert-paragraph-nodes.d.ts +2 -1
- package/plugins/normalizers/trailing-node.plugin.d.ts +2 -2
- package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -3
- package/plugins/quick-insert/quick-insert.editor.d.ts +6 -6
- package/plugins/quick-insert/quick-insert.plugin.d.ts +3 -3
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +3 -3
- package/plugins/table/components/table.component.d.ts +2 -3
- package/plugins/table/components/td/td.component.d.ts +2 -2
- package/plugins/table/components/toolbar/table-options.component.d.ts +3 -3
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +3 -3
- package/plugins/table/table.editor.d.ts +11 -11
- package/plugins/table/table.store.d.ts +12 -12
- package/plugins/table/table.types.d.ts +4 -3
- package/plugins/table/transforms/clear-cell.d.ts +3 -2
- package/plugins/table/transforms/clear-table-node.d.ts +2 -2
- package/plugins/table/transforms/insert-column.d.ts +5 -4
- package/plugins/table/transforms/insert-row.d.ts +2 -2
- package/plugins/table/transforms/insert-table.d.ts +3 -2
- package/plugins/table/transforms/remove-column.d.ts +2 -2
- package/plugins/table/transforms/remove-row.d.ts +2 -2
- package/plugins/table/transforms/remove-table.d.ts +2 -2
- package/plugins/table/utils/calc-anchor-position.d.ts +2 -2
- package/plugins/table/utils/cell-position.d.ts +3 -3
- package/plugins/table/utils/create-table-position.d.ts +3 -2
- package/plugins/table/utils/get-min-max-cell-index.d.ts +2 -2
- package/plugins/table/utils/get-select-cell-node.d.ts +3 -3
- package/plugins/table/utils/handle-cell.d.ts +3 -2
- package/plugins/table/utils/is-range-in-table.d.ts +3 -2
- package/plugins/table/utils/is-selection-in-table.d.ts +3 -3
- package/plugins/table/utils/merge-cell.d.ts +6 -5
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +2 -2
- package/plugins/table/utils/split-cell.d.ts +3 -3
- package/plugins/table/utils/table-entry.d.ts +5 -5
- package/plugins/todo-item/todo-item.component.d.ts +2 -3
- package/plugins/todo-item/todo-item.editor.d.ts +3 -3
- package/plugins/todo-item/todo-item.plugin.d.ts +2 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +2 -3
- package/queries/anchor-block-entry.d.ts +4 -2
- package/queries/anchor-block.d.ts +3 -2
- package/queries/anchor-inline-entry.d.ts +3 -2
- package/queries/find-descendant.d.ts +3 -2
- package/queries/find-node.d.ts +3 -3
- package/queries/get-above-by-type.d.ts +2 -3
- package/queries/get-above.d.ts +3 -3
- package/queries/get-anchor-block-entry.d.ts +4 -2
- package/queries/get-block-above.d.ts +3 -3
- package/queries/get-block-card-above.d.ts +3 -3
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/get-container-blocks.d.ts +2 -2
- package/queries/get-last-node.d.ts +3 -2
- package/queries/get-node.d.ts +3 -2
- package/queries/get-nodes-by-type.d.ts +2 -3
- package/queries/get-nodes.d.ts +2 -3
- package/queries/get-parent.d.ts +3 -3
- package/queries/get-plain-text.d.ts +2 -2
- package/queries/get-plugin-by-toolbar.d.ts +2 -3
- package/queries/get-point-before.d.ts +3 -2
- package/queries/get-point-from-location.d.ts +3 -2
- package/queries/get-rang-from-block-start.d.ts +2 -3
- package/queries/get-range-before.d.ts +3 -2
- package/queries/get-selection-marks.d.ts +2 -2
- package/queries/get-selection-nodes-by-type.d.ts +3 -2
- package/queries/get-text.d.ts +3 -2
- package/queries/get-toolbar-disabled.d.ts +2 -3
- package/queries/is-across-blocks.d.ts +3 -2
- package/queries/is-ancestor-empty.d.ts +3 -2
- package/queries/is-block-above-empty.d.ts +2 -2
- package/queries/is-block-active.d.ts +2 -2
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/queries/is-block-text-empty-after-selection.d.ts +2 -2
- package/queries/is-contain-nested-type.d.ts +2 -2
- package/queries/is-container-type.d.ts +3 -2
- package/queries/is-empty-content-filter.d.ts +2 -2
- package/queries/is-empty-paragraph-by-path.d.ts +3 -2
- package/queries/is-empty-paragraph.d.ts +6 -4
- package/queries/is-global-collapsed.d.ts +2 -2
- package/queries/is-include-types.d.ts +2 -2
- package/queries/is-node-type-in.d.ts +2 -3
- package/queries/is-paragraph.d.ts +2 -2
- package/queries/is-range-across-blocks.d.ts +3 -3
- package/queries/is-start.d.ts +3 -2
- package/queries/some-node.d.ts +3 -2
- package/shortcuts/index.d.ts +2 -2
- package/shortcuts/mark.d.ts +2 -2
- package/test/utils/with-editor.d.ts +2 -0
- package/transforms/clear-marks.d.ts +2 -2
- package/transforms/close-conversion-hint.d.ts +2 -2
- package/transforms/delete-element.d.ts +3 -2
- package/transforms/handle-continual-delete-backward.d.ts +4 -3
- package/transforms/handle-continual-insert-break.d.ts +3 -3
- package/transforms/insert-elements.d.ts +3 -2
- package/transforms/insert-paragraph.d.ts +3 -2
- package/transforms/move-children.d.ts +3 -2
- package/transforms/on-keydown-reset-block-type.d.ts +2 -2
- package/transforms/set-end-selection.d.ts +2 -2
- package/transforms/set-marks.d.ts +3 -2
- package/transforms/set-node.d.ts +3 -2
- package/transforms/un-hang-range.d.ts +3 -2
- package/transforms/un-wrap.d.ts +2 -2
- package/transforms/unwrap-nodes-by-type.d.ts +2 -3
- package/utils/auto-focus.d.ts +2 -2
- package/utils/copy-node.d.ts +5 -3
- package/utils/create-paragraph.d.ts +2 -0
- package/utils/dom.d.ts +2 -2
- package/utils/editor-uuid.d.ts +3 -3
- package/utils/fragment.d.ts +7 -5
- package/utils/get-editable-element-height.d.ts +2 -2
- package/utils/get-toolbar-class.d.ts +2 -2
- package/utils/index.d.ts +1 -0
- package/utils/is-clean-empty-paragraph.d.ts +4 -3
- package/utils/is-inline.d.ts +3 -2
- package/utils/match.d.ts +2 -2
- package/utils/merge-element-options.d.ts +1 -1
- package/utils/scroll-into-view.d.ts +2 -2
- package/esm2020/components/listbox/listbox.mjs +0 -375
- package/esm2020/components/plugin-menu/plugin-menu.component.mjs +0 -191
- package/esm2020/components/template/template.component.mjs +0 -62
- package/esm2020/components/toolbar/toolbar.component.mjs +0 -266
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +0 -144
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +0 -122
- package/esm2020/constants/auto-format-rules.mjs +0 -167
- package/esm2020/constants/plugin-menu.mjs +0 -325
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +0 -87
- package/esm2020/core/utils/plugin-menu.mjs +0 -33
- package/esm2020/custom-types.mjs +0 -2
- package/esm2020/editor.module.mjs +0 -254
- package/esm2020/interfaces/auto-format.mjs +0 -2
- package/esm2020/interfaces/editor.mjs +0 -25
- package/esm2020/interfaces/plugins/plugin-menu.mjs +0 -19
- package/esm2020/interfaces/plugins/with-override.mjs +0 -2
- package/esm2020/interfaces/reset-block-type-plugin-options.mjs +0 -2
- package/esm2020/interfaces/toolbar.mjs +0 -12
- package/esm2020/pipes.mjs +0 -42
- package/esm2020/plugins/align/align.editor.mjs +0 -43
- package/esm2020/plugins/align/align.plugin.mjs +0 -64
- package/esm2020/plugins/autoformat/transforms/auto-format-block.mjs +0 -14
- package/esm2020/plugins/autoformat/transforms/auto-format-inline.mjs +0 -78
- package/esm2020/plugins/blockquote/blockquote.component.mjs +0 -21
- package/esm2020/plugins/blockquote/blockquote.editor.mjs +0 -20
- package/esm2020/plugins/blockquote/blockquote.plugin.mjs +0 -85
- package/esm2020/plugins/code/code.editor.mjs +0 -48
- package/esm2020/plugins/color/color.editor.mjs +0 -27
- package/esm2020/plugins/common/history.plugin.mjs +0 -31
- package/esm2020/plugins/common/transforms.plugin.mjs +0 -18
- package/esm2020/plugins/deserialize/deserialize-html.plugin.mjs +0 -53
- package/esm2020/plugins/deserialize/deserialize-md.plugin.mjs +0 -130
- package/esm2020/plugins/font-size/font-size.editor.mjs +0 -98
- package/esm2020/plugins/heading/heading.editor.mjs +0 -54
- package/esm2020/plugins/heading/heading.plugin.mjs +0 -136
- package/esm2020/plugins/hr/hr.editor.mjs +0 -16
- package/esm2020/plugins/hr/hr.plugin.mjs +0 -56
- package/esm2020/plugins/image/image.component.mjs +0 -420
- package/esm2020/plugins/image/image.editor.mjs +0 -81
- package/esm2020/plugins/indent/indent.editor.mjs +0 -78
- package/esm2020/plugins/indent/on-keydown-indent.mjs +0 -59
- package/esm2020/plugins/inline-code/inline-code.component.mjs +0 -26
- package/esm2020/plugins/inline-code/inline-code.editor.mjs +0 -48
- package/esm2020/plugins/inline-code/inline-code.plugin.mjs +0 -66
- package/esm2020/plugins/link/edit/link-edit.component.mjs +0 -103
- package/esm2020/plugins/link/link.component.mjs +0 -167
- package/esm2020/plugins/link/link.editor.mjs +0 -66
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +0 -33
- package/esm2020/plugins/list/components/list-item.component.mjs +0 -93
- package/esm2020/plugins/list/components/numbered-list.component.mjs +0 -39
- package/esm2020/plugins/list/list.editor.mjs +0 -126
- package/esm2020/plugins/list/list.plugin.mjs +0 -312
- package/esm2020/plugins/list/normalizers/get-list-normalizer.mjs +0 -39
- package/esm2020/plugins/list/normalizers/normalize-list-item.mjs +0 -18
- package/esm2020/plugins/list/normalizers/normalize-no.mjs +0 -43
- package/esm2020/plugins/list/on-key-down-list.mjs +0 -33
- package/esm2020/plugins/list/queries/get-list-item-entry.mjs +0 -28
- package/esm2020/plugins/list/queries/get-start-list-item.mjs +0 -27
- package/esm2020/plugins/list/queries/has-list-in-list-item.mjs +0 -27
- package/esm2020/plugins/list/queries/is-in-list.mjs +0 -6
- package/esm2020/plugins/list/queries/is-list-nested.mjs +0 -10
- package/esm2020/plugins/list/queries/is-list.mjs +0 -5
- package/esm2020/plugins/list/queries/is-selection-at-list-item-start.mjs +0 -13
- package/esm2020/plugins/list/queries/is-selection-in-same-list-item.mjs +0 -17
- package/esm2020/plugins/list/transforms/insert-list-data.mjs +0 -72
- package/esm2020/plugins/list/transforms/insert-list-item.mjs +0 -73
- package/esm2020/plugins/list/transforms/move-list-item-down.mjs +0 -41
- package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list-item-sublist.mjs +0 -43
- package/esm2020/plugins/list/transforms/move-list-item-sublist-items-to-list.mjs +0 -30
- package/esm2020/plugins/list/transforms/move-list-item-up.mjs +0 -78
- package/esm2020/plugins/list/transforms/unwrap-list.mjs +0 -10
- package/esm2020/plugins/mark/mark.editor.mjs +0 -28
- package/esm2020/plugins/mention/mention.plugin.mjs +0 -91
- package/esm2020/plugins/normalizers/remove-empty-nodes.mjs +0 -18
- package/esm2020/plugins/quick-insert/quick-insert.editor.mjs +0 -68
- package/esm2020/plugins/quick-insert/quick-insert.plugin.mjs +0 -104
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +0 -104
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +0 -189
- package/esm2020/plugins/table/table.editor.mjs +0 -209
- package/esm2020/plugins/table/table.plugin.mjs +0 -544
- package/esm2020/plugins/table/table.store.mjs +0 -426
- package/esm2020/plugins/table/table.types.mjs +0 -60
- package/esm2020/plugins/table/transforms/clear-cell.mjs +0 -14
- package/esm2020/plugins/table/transforms/clear-table-node.mjs +0 -27
- package/esm2020/plugins/table/transforms/insert-column.mjs +0 -69
- package/esm2020/plugins/table/transforms/insert-row.mjs +0 -50
- package/esm2020/plugins/table/transforms/insert-table.mjs +0 -15
- package/esm2020/plugins/table/transforms/remove-column.mjs +0 -51
- package/esm2020/plugins/table/transforms/remove-row.mjs +0 -48
- package/esm2020/plugins/table/transforms/remove-table.mjs +0 -49
- package/esm2020/plugins/table/utils/calc-anchor-position.mjs +0 -25
- package/esm2020/plugins/table/utils/cell-position.mjs +0 -60
- package/esm2020/plugins/table/utils/create-table-position.mjs +0 -10
- package/esm2020/plugins/table/utils/get-min-max-cell-index.mjs +0 -69
- package/esm2020/plugins/table/utils/get-select-cell-node.mjs +0 -23
- package/esm2020/plugins/table/utils/handle-cell.mjs +0 -25
- package/esm2020/plugins/table/utils/is-range-in-table.mjs +0 -16
- package/esm2020/plugins/table/utils/is-selection-in-table.mjs +0 -51
- package/esm2020/plugins/table/utils/merge-cell.mjs +0 -108
- package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +0 -45
- package/esm2020/plugins/table/utils/split-cell.mjs +0 -29
- package/esm2020/plugins/table/utils/table-entry.mjs +0 -21
- package/esm2020/plugins/todo-item/todo-item.editor.mjs +0 -32
- package/esm2020/plugins/todo-item/todo-item.plugin.mjs +0 -93
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +0 -83
- package/esm2020/queries/anchor-block-entry.mjs +0 -13
- package/esm2020/queries/anchor-block.mjs +0 -6
- package/esm2020/queries/anchor-inline-entry.mjs +0 -10
- package/esm2020/queries/find-node.mjs +0 -45
- package/esm2020/queries/get-above-by-type.mjs +0 -14
- package/esm2020/queries/get-above.mjs +0 -9
- package/esm2020/queries/get-anchor-block-entry.mjs +0 -8
- package/esm2020/queries/get-block-above.mjs +0 -10
- package/esm2020/queries/get-block-card-above.mjs +0 -10
- package/esm2020/queries/get-block-card-cursor.mjs +0 -5
- package/esm2020/queries/get-container-blocks.mjs +0 -12
- package/esm2020/queries/get-insert-elements-path.mjs +0 -44
- package/esm2020/queries/get-node.mjs +0 -10
- package/esm2020/queries/get-nodes-by-type.mjs +0 -15
- package/esm2020/queries/get-nodes.mjs +0 -7
- package/esm2020/queries/get-parent.mjs +0 -12
- package/esm2020/queries/get-plain-text.mjs +0 -16
- package/esm2020/queries/get-plugin-by-toolbar.mjs +0 -13
- package/esm2020/queries/get-point-from-location.mjs +0 -15
- package/esm2020/queries/get-rang-from-block-start.mjs +0 -16
- package/esm2020/queries/get-range-before.mjs +0 -17
- package/esm2020/queries/get-selection-nodes-by-type.mjs +0 -30
- package/esm2020/queries/get-text.mjs +0 -9
- package/esm2020/queries/get-toolbar-disabled.mjs +0 -13
- package/esm2020/queries/is-across-blocks.mjs +0 -7
- package/esm2020/queries/is-ancestor-empty.mjs +0 -6
- package/esm2020/queries/is-block-above-empty.mjs +0 -11
- package/esm2020/queries/is-block-active.mjs +0 -8
- package/esm2020/queries/is-block-card-cursor.mjs +0 -4
- package/esm2020/queries/is-contain-nested-type.mjs +0 -29
- package/esm2020/queries/is-container-type.mjs +0 -3
- package/esm2020/queries/is-empty-content-filter.mjs +0 -23
- package/esm2020/queries/is-empty-paragraph-by-path.mjs +0 -7
- package/esm2020/queries/is-empty-paragraph.mjs +0 -28
- package/esm2020/queries/is-global-collapsed.mjs +0 -5
- package/esm2020/queries/is-include-types.mjs +0 -12
- package/esm2020/queries/is-node-type-in.mjs +0 -9
- package/esm2020/queries/is-node-type.mjs +0 -15
- package/esm2020/queries/is-paragraph.mjs +0 -9
- package/esm2020/queries/is-range-across-blocks.mjs +0 -22
- package/esm2020/queries/is-start.mjs +0 -6
- package/esm2020/queries/some-node.mjs +0 -9
- package/esm2020/shortcuts/mark.mjs +0 -25
- package/esm2020/test/utils/with-plugin.mjs +0 -11
- package/esm2020/transforms/close-conversion-hint.mjs +0 -8
- package/esm2020/transforms/handle-continual-delete-backward.mjs +0 -18
- package/esm2020/transforms/handle-continual-insert-break.mjs +0 -20
- package/esm2020/transforms/insert-elements.mjs +0 -38
- package/esm2020/transforms/insert-paragraph.mjs +0 -6
- package/esm2020/transforms/move-children.mjs +0 -22
- package/esm2020/transforms/on-keydown-reset-block-type.mjs +0 -23
- package/esm2020/transforms/set-marks.mjs +0 -9
- package/esm2020/transforms/set-node.mjs +0 -6
- package/esm2020/transforms/un-hang-range.mjs +0 -11
- package/esm2020/transforms/un-wrap.mjs +0 -12
- package/esm2020/transforms/unwrap-nodes-by-type.mjs +0 -14
- package/esm2020/utils/copy-node.mjs +0 -32
- package/esm2020/utils/create-empty-paragraph.mjs +0 -14
- package/esm2020/utils/editor-uuid.mjs +0 -8
- package/esm2020/utils/fragment.mjs +0 -74
- package/esm2020/utils/get-editable-element-height.mjs +0 -6
- package/esm2020/utils/get-toolbar-class.mjs +0 -6
- package/esm2020/utils/index.mjs +0 -19
- package/esm2020/utils/insert-data-by-invalid-type.mjs +0 -62
- package/esm2020/utils/is-clean-empty-paragraph.mjs +0 -37
- package/esm2020/utils/is-inline.mjs +0 -9
- package/esm2020/utils/merge-element-options.mjs +0 -19
- package/esm2020/utils/scroll-into-view.mjs +0 -38
- package/fesm2015/worktile-theia.mjs +0 -16674
- package/fesm2015/worktile-theia.mjs.map +0 -1
- package/fesm2020/worktile-theia.mjs.map +0 -1
- /package/{esm2020 → esm2022}/components/column-resize/resize-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/components/column-resize/selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/components/listbox/listbox.type.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/code.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/color-select.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/error.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/node-types.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/selector.mjs +0 -0
- /package/{esm2020 → esm2022}/constants/toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/core/create-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/core/create-toolbar.mjs +0 -0
- /package/{esm2020 → esm2022}/core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/flatten-deep-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugin-options.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/get-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-array.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-deep-plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/merge-options.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/nested-structure-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/plugins-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/core/with-theia.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/image.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/no-infer.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/plugin-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/plugins/plugins.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/upload.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/index.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/nested-structure-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/override-by-key.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/utility/types.mjs +0 -0
- /package/{esm2020 → esm2022}/interfaces/valid-children-types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/color/color.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/image/image.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/link/link.types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/queries/get-list-item-sublist.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/queries/get-list-types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/list/types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/mention/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/mention/mention.type.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/soft-break/soft-break.types.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/transforms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/add-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/calc-span.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/calculate-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-cell.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-row.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/create-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/get-grid-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-header-row.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-legal-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/is-virtual-key.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/next-path.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/normalize-table.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/remove-columns.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/remove-row-column.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/set-cells-background-color.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/set-node-options.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/table/utils/table-position.mjs +0 -0
- /package/{esm2020 → esm2022}/plugins/vertical-align/vertical-align.editor.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/find-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-directly-parent.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-last-child-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-next-sibling-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/get-previous-path.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/index.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-ancestor.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-collapsed.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-descendant.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-first-child.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-point-at-root.mjs +0 -0
- /package/{esm2020 → esm2022}/queries/is-range-at-root.mjs +0 -0
- /package/{esm2020 → esm2022}/test/index.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/apply-deep-to-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/transforms/merge-deep-to-nodes.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/blob.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/cast-array.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/color-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/common.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/data-transform.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/id-creator.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/lodash.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/refocus.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/weak-maps.mjs +0 -0
- /package/{esm2020 → esm2022}/worktile-theia.mjs +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { ElementKinds } from '../../constants/node-types';
|
|
3
|
+
export const THE_TABLE_COMPONENT_TOKEN = new InjectionToken('the-Table-token');
|
|
4
|
+
export const HEADER_CELL_CLASS = 'the-header-cell';
|
|
5
|
+
export const TOP_CELL_CLASS = 'the-top-cell';
|
|
6
|
+
export var TableOperations;
|
|
7
|
+
(function (TableOperations) {
|
|
8
|
+
TableOperations["headerRow"] = "headerRow";
|
|
9
|
+
TableOperations["headerColumn"] = "headerColumn";
|
|
10
|
+
TableOperations["numberedColumn"] = "numberedColumn";
|
|
11
|
+
})(TableOperations || (TableOperations = {}));
|
|
12
|
+
export const BASE_CELL_HEIGHT = 41; // min height
|
|
13
|
+
export const BASE_FILL_HEIGHT = 2 * 8 + 1; // padding * 2 + border 1
|
|
14
|
+
export const BASE_CELL_INNER_HEIGHT = BASE_CELL_HEIGHT - BASE_FILL_HEIGHT; // 24
|
|
15
|
+
export const TABLE_INSERT_MASK = 19;
|
|
16
|
+
export const TABLE_BORDER = 1;
|
|
17
|
+
export const TABLE_PADDING = 8;
|
|
18
|
+
export const TABLE_CONTROL = 11;
|
|
19
|
+
export const TABLE_NUMBER_COLUMN = 45;
|
|
20
|
+
export const TableWithStickyRowClass = 'the-table-with-sticky-row';
|
|
21
|
+
export var FullscreenState;
|
|
22
|
+
(function (FullscreenState) {
|
|
23
|
+
FullscreenState["on"] = "on";
|
|
24
|
+
FullscreenState["off"] = "off";
|
|
25
|
+
})(FullscreenState || (FullscreenState = {}));
|
|
26
|
+
export class TableOptions {
|
|
27
|
+
constructor(options) {
|
|
28
|
+
// The type of table blocks
|
|
29
|
+
this.typeTable = ElementKinds.table;
|
|
30
|
+
// The type of row blocks
|
|
31
|
+
this.typeRow = ElementKinds.tableRow;
|
|
32
|
+
// The type of cell blocks
|
|
33
|
+
this.typeCell = ElementKinds.tableCell;
|
|
34
|
+
// The default type for blocks in cells
|
|
35
|
+
this.typeContent = ElementKinds.tableContent;
|
|
36
|
+
// The type of block inserted when exiting
|
|
37
|
+
this.exitBlockType = ElementKinds.paragraph;
|
|
38
|
+
this.defaultWidth = 200;
|
|
39
|
+
this.minWidthPx = 52;
|
|
40
|
+
this.maxWidthPx = 1000;
|
|
41
|
+
this.minHeightPx = 41;
|
|
42
|
+
this.maxHeightPx = 1000;
|
|
43
|
+
if (!options) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const { typeTable, typeRow, typeCell, typeContent } = options;
|
|
47
|
+
this.typeTable = typeTable;
|
|
48
|
+
this.typeRow = typeRow;
|
|
49
|
+
this.typeCell = typeCell;
|
|
50
|
+
this.typeContent = typeContent;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export var TableInsertType;
|
|
54
|
+
(function (TableInsertType) {
|
|
55
|
+
TableInsertType["insertRowsUp"] = "insert-rows-up";
|
|
56
|
+
TableInsertType["insertRowsDown"] = "insert-rows-down";
|
|
57
|
+
TableInsertType["insertColumnsLeft"] = "insert-columns-left";
|
|
58
|
+
TableInsertType["insertColumnsRight"] = "insert-columns-right";
|
|
59
|
+
})(TableInsertType || (TableInsertType = {}));
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU0xRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUMsaUJBQWlCLENBQUMsQ0FBQztBQUVqSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBRTdDLE1BQU0sQ0FBTixJQUFZLGVBTVg7QUFORCxXQUFZLGVBQWU7SUFDdkIsMENBQXVCLENBQUE7SUFFdkIsZ0RBQTZCLENBQUE7SUFFN0Isb0RBQWlDLENBQUE7QUFDckMsQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCO0FBUUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsYUFBYTtBQUNqRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtBQUNwRSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUs7QUFDaEYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQztBQTRCbkUsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2Qiw0QkFBUyxDQUFBO0lBQ1QsOEJBQVcsQ0FBQTtBQUNmLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQWlDRCxNQUFNLE9BQU8sWUFBWTtJQXNCckIsWUFBWSxPQUE0QjtRQXJCeEMsMkJBQTJCO1FBQzNCLGNBQVMsR0FBdUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCx5QkFBeUI7UUFDekIsWUFBTyxHQUEwQixZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3ZELDBCQUEwQjtRQUMxQixhQUFRLEdBQTJCLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDMUQsdUNBQXVDO1FBQ3ZDLGdCQUFXLEdBQThCLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDbkUsMENBQTBDO1FBQzFDLGtCQUFhLEdBQTJCLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFFL0QsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFFbkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBR2YsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUNELE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN2QixrREFBK0IsQ0FBQTtJQUMvQixzREFBbUMsQ0FBQTtJQUNuQyw0REFBeUMsQ0FBQTtJQUN6Qyw4REFBMkMsQ0FBQTtBQUMvQyxDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZpZXctYmFzZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBUSEVfVEFCTEVfQ09NUE9ORU5UX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8VGhlVGFibGVDb21wb25lbnQ+PigndGhlLVRhYmxlLXRva2VuJyk7XG5cbmV4cG9ydCBjb25zdCBIRUFERVJfQ0VMTF9DTEFTUyA9ICd0aGUtaGVhZGVyLWNlbGwnO1xuXG5leHBvcnQgY29uc3QgVE9QX0NFTExfQ0xBU1MgPSAndGhlLXRvcC1jZWxsJztcblxuZXhwb3J0IGVudW0gVGFibGVPcGVyYXRpb25zIHtcbiAgICBoZWFkZXJSb3cgPSAnaGVhZGVyUm93JyxcblxuICAgIGhlYWRlckNvbHVtbiA9ICdoZWFkZXJDb2x1bW4nLFxuXG4gICAgbnVtYmVyZWRDb2x1bW4gPSAnbnVtYmVyZWRDb2x1bW4nXG59XG5leHBvcnQgaW50ZXJmYWNlIFRoZVRhYmxlQ29tcG9uZW50QmFzZSBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IHtcbiAgICBpbml0aWFsaXplQ29sdW1uczogKCkgPT4gdm9pZDtcbiAgICB0cmFuc2Zvcm1Db2x1bW5zV2lkdGg6ICgpID0+IHZvaWQ7XG4gICAgaW5pdGlhbGl6ZVJvd3M6ICgpID0+IHZvaWQ7XG4gICAgdHJhbnNmb3JtUm93SGVpZ2h0OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgQkFTRV9DRUxMX0hFSUdIVCA9IDQxOyAvLyBtaW4gaGVpZ2h0XG5leHBvcnQgY29uc3QgQkFTRV9GSUxMX0hFSUdIVCA9IDIgKiA4ICsgMTsgLy8gcGFkZGluZyAqIDIgKyBib3JkZXIgMVxuZXhwb3J0IGNvbnN0IEJBU0VfQ0VMTF9JTk5FUl9IRUlHSFQgPSBCQVNFX0NFTExfSEVJR0hUIC0gQkFTRV9GSUxMX0hFSUdIVDsgLy8gMjRcbmV4cG9ydCBjb25zdCBUQUJMRV9JTlNFUlRfTUFTSyA9IDE5O1xuZXhwb3J0IGNvbnN0IFRBQkxFX0JPUkRFUiA9IDE7XG5leHBvcnQgY29uc3QgVEFCTEVfUEFERElORyA9IDg7XG5leHBvcnQgY29uc3QgVEFCTEVfQ09OVFJPTCA9IDExO1xuZXhwb3J0IGNvbnN0IFRBQkxFX05VTUJFUl9DT0xVTU4gPSA0NTtcblxuZXhwb3J0IGNvbnN0IFRhYmxlV2l0aFN0aWNreVJvd0NsYXNzID0gJ3RoZS10YWJsZS13aXRoLXN0aWNreS1yb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVRhYmxlQ29sdW1uIHtcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVRhYmxlT3B0aW9ucyB7XG4gICAgaGVhZGVyUm93PzogYm9vbGVhbjtcbiAgICBoZWFkZXJDb2x1bW4/OiBib29sZWFuO1xuICAgIG51bWJlcmVkQ29sdW1uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW51RW50aXR5IHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRpdmlkZXI/OiBib29sZWFuO1xuICAgIGV4dGVuZEljb24/OiBzdHJpbmc7XG4gICAgdmlzaWJpbGl0eT86IGJvb2xlYW47XG4gICAgaXNJbnB1dE51bWJlcj86IGJvb2xlYW47XG4gICAgbmFtZVN1ZmZpeD86IHN0cmluZztcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgYWN0aW9uSGFuZGxlOiAoZW50aXR5OiBNZW51RW50aXR5KSA9PiB2b2lkO1xuICAgIGFjdGl2ZUhhbmRsZT86IChldmVudDogTW91c2VFdmVudCwgZW50aXR5PzogTWVudUVudGl0eSkgPT4gdm9pZDtcbiAgICBkZWFjdGl2YXRlSGFuZGxlPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBGdWxsc2NyZWVuU3RhdGUge1xuICAgIG9uID0gJ29uJyxcbiAgICBvZmYgPSAnb2ZmJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVBsdWdpblRhYmxlT3B0aW9uIHtcbiAgICBmcmVlemVDb2x1bW5IZWFkZXI/OiBib29sZWFuOyAvLyDmoIfpopjliJflkI7mu5rliqjmmK/lkKbmlK/mjIHlhrvnu5NcbiAgICBmcmVlemVSb3dIZWFkZXI/OiBib29sZWFuOyAvLyDmoIfpopjooYzlkI7mu5rliqjmmK/lkKbmlK/mjIHlhrvnu5NcbiAgICAvLyDlkI7mnJ/mj5Lku7bnmoTlt6XlhbfmoI/mlK/mjIHlpJbpg6joh6rlrprkuYnml7blj6/ku6XliKDpmaRcbiAgICBzaG93RnVsbHNjcmVlbj86IGJvb2xlYW47XG4gICAgc2V0RnVsbHNjcmVlbj86IChlZGl0b3I6IFRoZUVkaXRvciwgZXZlbnQ6IE1vdXNlRXZlbnQsIGVsZW1lbnQ6IEVsZW1lbnQpID0+IHZvaWQ7XG4gICAgZnVsbHNjcmVlbkFjdGlvbj86IChlZGl0b3I6IFRoZUVkaXRvcikgPT4gT2JzZXJ2YWJsZTx7IGVsZW1lbnQ6IEVsZW1lbnQgfCB1bmRlZmluZWQ7IHN0YXRlOiBGdWxsc2NyZWVuU3RhdGUgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFBvc2l0aW9uIHtcbiAgICByb3c6IG51bWJlcjtcbiAgICBjb2w6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURyb3Bkb3duT3B0aW9uIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlT3B0aW9uc0Zvcm1hdCB7XG4gICAgdHlwZVRhYmxlPzogRWxlbWVudEtpbmRzLnRhYmxlO1xuICAgIHR5cGVSb3c/OiBFbGVtZW50S2luZHMudGFibGVSb3c7XG4gICAgdHlwZUNlbGw/OiBFbGVtZW50S2luZHMudGFibGVDZWxsO1xuICAgIHR5cGVDb250ZW50PzogRWxlbWVudEtpbmRzLnRhYmxlQ29udGVudDtcbiAgICBleGl0QmxvY2tUeXBlPzogc3RyaW5nO1xuICAgIGRlZmF1bHRXaWR0aD86IG51bWJlcjtcbiAgICBtaW5XaWR0aD86IG51bWJlcjtcbiAgICBtYXhXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlT3B0aW9ucyB7XG4gICAgLy8gVGhlIHR5cGUgb2YgdGFibGUgYmxvY2tzXG4gICAgdHlwZVRhYmxlOiBFbGVtZW50S2luZHMudGFibGUgPSBFbGVtZW50S2luZHMudGFibGU7XG4gICAgLy8gVGhlIHR5cGUgb2Ygcm93IGJsb2Nrc1xuICAgIHR5cGVSb3c6IEVsZW1lbnRLaW5kcy50YWJsZVJvdyA9IEVsZW1lbnRLaW5kcy50YWJsZVJvdztcbiAgICAvLyBUaGUgdHlwZSBvZiBjZWxsIGJsb2Nrc1xuICAgIHR5cGVDZWxsOiBFbGVtZW50S2luZHMudGFibGVDZWxsID0gRWxlbWVudEtpbmRzLnRhYmxlQ2VsbDtcbiAgICAvLyBUaGUgZGVmYXVsdCB0eXBlIGZvciBibG9ja3MgaW4gY2VsbHNcbiAgICB0eXBlQ29udGVudDogRWxlbWVudEtpbmRzLnRhYmxlQ29udGVudCA9IEVsZW1lbnRLaW5kcy50YWJsZUNvbnRlbnQ7XG4gICAgLy8gVGhlIHR5cGUgb2YgYmxvY2sgaW5zZXJ0ZWQgd2hlbiBleGl0aW5nXG4gICAgZXhpdEJsb2NrVHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCA9IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG5cbiAgICBkZWZhdWx0V2lkdGggPSAyMDA7XG5cbiAgICBtaW5XaWR0aFB4ID0gNTI7XG5cbiAgICBtYXhXaWR0aFB4ID0gMTAwMDtcblxuICAgIG1pbkhlaWdodFB4ID0gNDE7XG5cbiAgICBtYXhIZWlnaHRQeCA9IDEwMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogVGFibGVPcHRpb25zRm9ybWF0KSB7XG4gICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgdHlwZVRhYmxlLCB0eXBlUm93LCB0eXBlQ2VsbCwgdHlwZUNvbnRlbnQgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudHlwZVRhYmxlID0gdHlwZVRhYmxlO1xuICAgICAgICB0aGlzLnR5cGVSb3cgPSB0eXBlUm93O1xuICAgICAgICB0aGlzLnR5cGVDZWxsID0gdHlwZUNlbGw7XG4gICAgICAgIHRoaXMudHlwZUNvbnRlbnQgPSB0eXBlQ29udGVudDtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFRhYmxlSW5zZXJ0VHlwZSB7XG4gICAgaW5zZXJ0Um93c1VwID0gJ2luc2VydC1yb3dzLXVwJyxcbiAgICBpbnNlcnRSb3dzRG93biA9ICdpbnNlcnQtcm93cy1kb3duJyxcbiAgICBpbnNlcnRDb2x1bW5zTGVmdCA9ICdpbnNlcnQtY29sdW1ucy1sZWZ0JyxcbiAgICBpbnNlcnRDb2x1bW5zUmlnaHQgPSAnaW5zZXJ0LWNvbHVtbnMtcmlnaHQnXG59XG4iXX0=
|
|
@@ -50,9 +50,8 @@ export class TheTableToolbarItemComponent extends TheBaseToolbarItem {
|
|
|
50
50
|
});
|
|
51
51
|
return this.tableSelectRef;
|
|
52
52
|
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TheTableToolbarItemComponent, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
56
55
|
<a
|
|
57
56
|
href="javascript:;"
|
|
58
57
|
class="link-with-down"
|
|
@@ -66,8 +65,9 @@ TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
66
65
|
>
|
|
67
66
|
<thy-icon class="link-down-icon font-size-sm text-desc ml-1" thyIconName="caret-down"> </thy-icon>
|
|
68
67
|
</a>
|
|
69
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i4.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i5.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] });
|
|
70
|
-
|
|
68
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i4.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i5.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] }); }
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TheTableToolbarItemComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{
|
|
73
73
|
selector: 'the-table-toolbar-item',
|
|
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
91
91
|
}
|
|
92
92
|
}]
|
|
93
93
|
}], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }]; } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQXdCL0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQUdoRSxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RSxDQUFDO0lBRUQsWUFBb0IsVUFBc0IsRUFBVSxPQUFnQjtRQUNoRSxLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBRXBFLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxZQUEyQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxZQUFZLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixZQUFZO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsZUFBZSxFQUFFLElBQUk7WUFDckIsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLENBQUM7WUFDVCxVQUFVLEVBQUUsMEJBQTBCO1lBQ3RDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUM3RCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs4R0EvQ1EsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsaUpBbkIzQjs7Ozs7Ozs7Ozs7Ozs7S0FjVDs7MkZBS1EsNEJBQTRCO2tCQXJCeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxnQ0FBZ0M7cUJBQzFDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5pbXBvcnQgeyBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXItaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgY2xhc3M9XCJsaW5rLXdpdGgtZG93blwiXG4gICAgICAgICAgICB0aHlBY3Rpb25cbiAgICAgICAgICAgIFt0aHlBY3Rpb25JY29uXT1cInRvb2xiYXJJdGVtLmljb25cIlxuICAgICAgICAgICAgW3RoeUFjdGlvbkFjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgW3RoeVRvb2x0aXBdPVwidG9vbGJhckl0ZW0/Lm5hbWVcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBjbGFzcz1cImxpbmstZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2MgbWwtMVwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPiA8L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VUb29sYmFySXRlbSB7XG4gICAgdGFibGVTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlblRhYmxlU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZiAmJiB0aGlzLnRhYmxlU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGV4ZWN1dGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlVGFibGVTZWxlY3QoZXZlbnQpO1xuICAgIH1cblxuICAgIHRvZ2dsZVRhYmxlU2VsZWN0KGV2ZW50OiBNb3VzZUV2ZW50LCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuVGFibGVTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYmxlU2VsZWN0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlVGFibGVTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgICAgb3B0aW9uc1BhcmFtXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS10YWJsZS1zZWxlY3Rvci1wYW5lbCcsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import { createCell } from '../utils/create-cell';
|
|
3
|
+
/**
|
|
4
|
+
* Clear the content of the given cell
|
|
5
|
+
*/
|
|
6
|
+
export function clearCell(opts, editor, cellEntry) {
|
|
7
|
+
Transforms.removeNodes(editor, { at: cellEntry[1] });
|
|
8
|
+
const cellNode = {
|
|
9
|
+
...cellEntry[0],
|
|
10
|
+
...createCell(opts)
|
|
11
|
+
};
|
|
12
|
+
Transforms.insertNodes(editor, { ...cellNode }, { at: cellEntry[1] });
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvY2xlYXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLE9BQU8sQ0FBQztBQUd2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWtCLEVBQUUsTUFBaUIsRUFBRSxTQUE2QjtJQUMxRixVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHO1FBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2YsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0tBQ3RCLENBQUM7SUFDRixVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtcywgTm9kZUVudHJ5LCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDZWxsIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWNlbGwnO1xuXG4vKipcbiAqIENsZWFyIHRoZSBjb250ZW50IG9mIHRoZSBnaXZlbiBjZWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNlbGwob3B0czogVGFibGVPcHRpb25zLCBlZGl0b3I6IFRoZUVkaXRvciwgY2VsbEVudHJ5OiBOb2RlRW50cnk8RWxlbWVudD4pIHtcbiAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogY2VsbEVudHJ5WzFdIH0pO1xuICAgIGNvbnN0IGNlbGxOb2RlID0ge1xuICAgICAgICAuLi5jZWxsRW50cnlbMF0sXG4gICAgICAgIC4uLmNyZWF0ZUNlbGwob3B0cylcbiAgICB9O1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCB7IC4uLmNlbGxOb2RlIH0sIHsgYXQ6IGNlbGxFbnRyeVsxXSB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Transforms, Range } from 'slate';
|
|
2
|
+
import { createCell } from '../utils/create-cell';
|
|
3
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
4
|
+
/**
|
|
5
|
+
* Clear the content of the given node
|
|
6
|
+
*/
|
|
7
|
+
export function clearTableNode(opts, editor, isTopToBot) {
|
|
8
|
+
const { selection } = editor;
|
|
9
|
+
const element = createTablePosition(editor, selection.focus.path);
|
|
10
|
+
const rowIndex = element.getRowIndex();
|
|
11
|
+
const colIndex = element.getColumnIndex();
|
|
12
|
+
const removeRow = isTopToBot ? 0 : rowIndex + 1;
|
|
13
|
+
for (let i = 0; i < element.getWidth(); i++) {
|
|
14
|
+
const inColRange = Range.includes(selection, [...element.tableEntry[1], rowIndex, i]);
|
|
15
|
+
if (inColRange && i !== colIndex) {
|
|
16
|
+
Transforms.removeNodes(editor, { at: [...element.tableEntry[1], rowIndex, i] });
|
|
17
|
+
Transforms.insertNodes(editor, createCell(opts), { at: [...element.tableEntry[1], rowIndex, i] });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (let i = 0; i < element.getHeight(); i++) {
|
|
21
|
+
const inRowRange = Range.includes(selection, [...element.tableEntry[1], i]);
|
|
22
|
+
if (inRowRange && i !== rowIndex) {
|
|
23
|
+
Transforms.removeNodes(editor, { at: [...element.tableEntry[1], removeRow] });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItdGFibGUtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvY2xlYXItdGFibGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQWtCLEVBQUUsTUFBaUIsRUFBRSxVQUFvQjtJQUN0RixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDaEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDckc7S0FDSjtJQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLFVBQVUsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqRjtLQUNKO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZm9ybXMsIFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDZWxsIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWNlbGwnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS10YWJsZS1wb3NpdGlvbic7XG5cbi8qKlxuICogQ2xlYXIgdGhlIGNvbnRlbnQgb2YgdGhlIGdpdmVuIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyVGFibGVOb2RlKG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBUaGVFZGl0b3IsIGlzVG9wVG9Cb3Q/OiBib29sZWFuKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IsIHNlbGVjdGlvbi5mb2N1cy5wYXRoKTtcbiAgICBjb25zdCByb3dJbmRleCA9IGVsZW1lbnQuZ2V0Um93SW5kZXgoKTtcbiAgICBjb25zdCBjb2xJbmRleCA9IGVsZW1lbnQuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICBjb25zdCByZW1vdmVSb3cgPSBpc1RvcFRvQm90ID8gMCA6IHJvd0luZGV4ICsgMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnQuZ2V0V2lkdGgoKTsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGluQ29sUmFuZ2UgPSBSYW5nZS5pbmNsdWRlcyhzZWxlY3Rpb24sIFsuLi5lbGVtZW50LnRhYmxlRW50cnlbMV0sIHJvd0luZGV4LCBpXSk7XG4gICAgICAgIGlmIChpbkNvbFJhbmdlICYmIGkgIT09IGNvbEluZGV4KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogWy4uLmVsZW1lbnQudGFibGVFbnRyeVsxXSwgcm93SW5kZXgsIGldIH0pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNyZWF0ZUNlbGwob3B0cyksIHsgYXQ6IFsuLi5lbGVtZW50LnRhYmxlRW50cnlbMV0sIHJvd0luZGV4LCBpXSB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnQuZ2V0SGVpZ2h0KCk7IGkrKykge1xuICAgICAgICBjb25zdCBpblJvd1JhbmdlID0gUmFuZ2UuaW5jbHVkZXMoc2VsZWN0aW9uLCBbLi4uZWxlbWVudC50YWJsZUVudHJ5WzFdLCBpXSk7XG4gICAgICAgIGlmIChpblJvd1JhbmdlICYmIGkgIT09IHJvd0luZGV4KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdDogWy4uLmVsZW1lbnQudGFibGVFbnRyeVsxXSwgcmVtb3ZlUm93XSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Transforms, Editor } from 'slate';
|
|
2
|
+
import { AngularEditor } from 'slate-angular';
|
|
3
|
+
import { createCell } from '../utils';
|
|
4
|
+
import { calcSpanForColumn } from '../utils/calc-span';
|
|
5
|
+
import { addColumns } from '../utils/add-columns';
|
|
6
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
7
|
+
/**
|
|
8
|
+
* Insert a new column in current table
|
|
9
|
+
*/
|
|
10
|
+
export function insertColumn(opts, editor, count = 1, at, // Column index
|
|
11
|
+
getCell) {
|
|
12
|
+
const { selection } = editor;
|
|
13
|
+
const { anchor: { path } } = selection;
|
|
14
|
+
const tablePosition = createTablePosition(editor, path);
|
|
15
|
+
let table = tablePosition.table;
|
|
16
|
+
let tableEntry = tablePosition.tableEntry;
|
|
17
|
+
const insertColumnIndex = typeof at === 'undefined' ? tablePosition.getColumnIndex() + 1 : at;
|
|
18
|
+
// Insert the new cell
|
|
19
|
+
Editor.withoutNormalizing(editor, () => {
|
|
20
|
+
const colspan = calcSpanForColumn(table, insertColumnIndex);
|
|
21
|
+
for (let i = 0; i < count; i++) {
|
|
22
|
+
table.children.forEach((row, rowIndex) => {
|
|
23
|
+
const isInside = colspan[rowIndex];
|
|
24
|
+
const newCell = getCell ? getCell(insertColumnIndex, rowIndex) : createCell(opts);
|
|
25
|
+
if (isInside) {
|
|
26
|
+
newCell.hidden = true;
|
|
27
|
+
const dirtyCell = row.children.find((cell, columnIndex) => !cell.hidden &&
|
|
28
|
+
columnIndex < insertColumnIndex &&
|
|
29
|
+
cell.colspan &&
|
|
30
|
+
cell.colspan + columnIndex > insertColumnIndex);
|
|
31
|
+
if (dirtyCell) {
|
|
32
|
+
Transforms.setNodes(editor, { colspan: dirtyCell.colspan + 1 }, {
|
|
33
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
Transforms.insertNodes(editor, [newCell], {
|
|
38
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(insertColumnIndex)
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const theTableWrapper = AngularEditor.toDOMNode(editor, table).querySelector('.the-table-wrapper');
|
|
43
|
+
const scrollWidth = theTableWrapper.scrollWidth;
|
|
44
|
+
const clientWidth = theTableWrapper.clientWidth;
|
|
45
|
+
const columnLength = table?.children[0].children.length;
|
|
46
|
+
const columnWidth = clientWidth / (columnLength + count);
|
|
47
|
+
if (table?.columns) {
|
|
48
|
+
Transforms.setNodes(editor, { columns: addColumns(table, table.columns.length + count, insertColumnIndex, scrollWidth > clientWidth) }, { at: tableEntry[1] });
|
|
49
|
+
}
|
|
50
|
+
else if (columnWidth < opts.minWidthPx) {
|
|
51
|
+
const columns = Array(columnLength + count).fill({ width: opts.minWidthPx });
|
|
52
|
+
Transforms.setNodes(editor, { columns }, { at: tableEntry[1] });
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Insert new column in the row
|
|
58
|
+
*/
|
|
59
|
+
export function insertColumnAtRow(opts, editor, count = 1, tableEntry, rowIndex, columnIndex, getCell) {
|
|
60
|
+
Editor.withoutNormalizing(editor, () => {
|
|
61
|
+
for (let i = 0; i < count; i++) {
|
|
62
|
+
const newCell = getCell ? getCell(columnIndex, rowIndex) : createCell(opts);
|
|
63
|
+
Transforms.insertNodes(editor, [newCell], {
|
|
64
|
+
at: tableEntry[1].concat([rowIndex, columnIndex])
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLE9BQU8sQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDeEIsSUFBa0IsRUFDbEIsTUFBaUIsRUFDakIsS0FBSyxHQUFHLENBQUMsRUFDVCxFQUFXLEVBQUUsZUFBZTtBQUM1QixPQUEyRDtJQUUzRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sRUFDRixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDbkIsR0FBRyxTQUFTLENBQUM7SUFFZCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsSUFBSSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNoQyxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBRTFDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFOUYsc0JBQXNCO0lBRXRCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxRQUFRLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ3RCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMvQixDQUFDLElBQXNCLEVBQUUsV0FBbUIsRUFBRSxFQUFFLENBQzVDLENBQUMsSUFBSSxDQUFDLE1BQU07d0JBQ1osV0FBVyxHQUFHLGlCQUFpQjt3QkFDL0IsSUFBSSxDQUFDLE9BQU87d0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUcsaUJBQWlCLENBQ2pDLENBQUM7b0JBQ3RCLElBQUksU0FBUyxFQUFFO3dCQUNYLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEVBQ2xDOzRCQUNJLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQzNGLENBQ0osQ0FBQztxQkFDTDtpQkFDSjtnQkFDRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN0QyxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3RSxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbkcsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN4RCxNQUFNLFdBQVcsR0FBRyxXQUFXLEdBQUcsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ2hCLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsR0FBRyxXQUFXLENBQUMsRUFBRSxFQUMxRyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDeEIsQ0FBQztTQUNMO2FBQU0sSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN0QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUM3RSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDN0IsSUFBa0IsRUFDbEIsTUFBaUIsRUFDakIsS0FBSyxHQUFHLENBQUMsRUFDVCxVQUFtQyxFQUNuQyxRQUFnQixFQUNoQixXQUFtQixFQUNuQixPQUEyRDtJQUUzRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVFLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3BELENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtcywgRWRpdG9yLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDZWxsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY2FsY1NwYW5Gb3JDb2x1bW4gfSBmcm9tICcuLi91dGlscy9jYWxjLXNwYW4nO1xuaW1wb3J0IHsgYWRkQ29sdW1ucyB9IGZyb20gJy4uL3V0aWxzL2FkZC1jb2x1bW5zJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuXG4vKipcbiAqIEluc2VydCBhIG5ldyBjb2x1bW4gaW4gY3VycmVudCB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Q29sdW1uKFxuICAgIG9wdHM6IFRhYmxlT3B0aW9ucyxcbiAgICBlZGl0b3I6IFRoZUVkaXRvcixcbiAgICBjb3VudCA9IDEsXG4gICAgYXQ/OiBudW1iZXIsIC8vIENvbHVtbiBpbmRleFxuICAgIGdldENlbGw/OiAoY29sdW1uOiBudW1iZXIsIHJvdzogbnVtYmVyKSA9PiBUYWJsZUNlbGxFbGVtZW50XG4pIHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgIGNvbnN0IHtcbiAgICAgICAgYW5jaG9yOiB7IHBhdGggfVxuICAgIH0gPSBzZWxlY3Rpb247XG5cbiAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IsIHBhdGgpO1xuICAgIGxldCB0YWJsZSA9IHRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgbGV0IHRhYmxlRW50cnkgPSB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnk7XG5cbiAgICBjb25zdCBpbnNlcnRDb2x1bW5JbmRleCA9IHR5cGVvZiBhdCA9PT0gJ3VuZGVmaW5lZCcgPyB0YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KCkgKyAxIDogYXQ7XG5cbiAgICAvLyBJbnNlcnQgdGhlIG5ldyBjZWxsXG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xzcGFuID0gY2FsY1NwYW5Gb3JDb2x1bW4odGFibGUsIGluc2VydENvbHVtbkluZGV4KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgICAgICB0YWJsZS5jaGlsZHJlbi5mb3JFYWNoKChyb3csIHJvd0luZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNJbnNpZGUgPSBjb2xzcGFuW3Jvd0luZGV4XTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDZWxsID0gZ2V0Q2VsbCA/IGdldENlbGwoaW5zZXJ0Q29sdW1uSW5kZXgsIHJvd0luZGV4KSA6IGNyZWF0ZUNlbGwob3B0cyk7XG4gICAgICAgICAgICAgICAgaWYgKGlzSW5zaWRlKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0NlbGwuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlydHlDZWxsID0gcm93LmNoaWxkcmVuLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2VsbDogVGFibGVDZWxsRWxlbWVudCwgY29sdW1uSW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhY2VsbC5oaWRkZW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCA8IGluc2VydENvbHVtbkluZGV4ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC5jb2xzcGFuICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC5jb2xzcGFuICsgY29sdW1uSW5kZXggPiBpbnNlcnRDb2x1bW5JbmRleFxuICAgICAgICAgICAgICAgICAgICApIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkaXJ0eUNlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgY29sc3BhbjogZGlydHlDZWxsLmNvbHNwYW4gKyAxIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChyb3dJbmRleCkuY29uY2F0KHJvdy5jaGlsZHJlbi5pbmRleE9mKGRpcnR5Q2VsbCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgW25ld0NlbGxdLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHJvd0luZGV4KS5jb25jYXQoaW5zZXJ0Q29sdW1uSW5kZXgpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRoZVRhYmxlV3JhcHBlciA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgdGFibGUpLnF1ZXJ5U2VsZWN0b3IoJy50aGUtdGFibGUtd3JhcHBlcicpO1xuICAgICAgICBjb25zdCBzY3JvbGxXaWR0aCA9IHRoZVRhYmxlV3JhcHBlci5zY3JvbGxXaWR0aDtcbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSB0aGVUYWJsZVdyYXBwZXIuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IGNvbHVtbkxlbmd0aCA9IHRhYmxlPy5jaGlsZHJlblswXS5jaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGNvbHVtbldpZHRoID0gY2xpZW50V2lkdGggLyAoY29sdW1uTGVuZ3RoICsgY291bnQpO1xuXG4gICAgICAgIGlmICh0YWJsZT8uY29sdW1ucykge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgeyBjb2x1bW5zOiBhZGRDb2x1bW5zKHRhYmxlLCB0YWJsZS5jb2x1bW5zLmxlbmd0aCArIGNvdW50LCBpbnNlcnRDb2x1bW5JbmRleCwgc2Nyb2xsV2lkdGggPiBjbGllbnRXaWR0aCkgfSxcbiAgICAgICAgICAgICAgICB7IGF0OiB0YWJsZUVudHJ5WzFdIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29sdW1uV2lkdGggPCBvcHRzLm1pbldpZHRoUHgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBBcnJheShjb2x1bW5MZW5ndGggKyBjb3VudCkuZmlsbCh7IHdpZHRoOiBvcHRzLm1pbldpZHRoUHggfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2x1bW5zIH0sIHsgYXQ6IHRhYmxlRW50cnlbMV0gfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqXG4gKiBJbnNlcnQgbmV3IGNvbHVtbiBpbiB0aGUgcm93XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRDb2x1bW5BdFJvdyhcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBUaGVFZGl0b3IsXG4gICAgY291bnQgPSAxLFxuICAgIHRhYmxlRW50cnk6IE5vZGVFbnRyeTxUYWJsZUVsZW1lbnQ+LFxuICAgIHJvd0luZGV4OiBudW1iZXIsXG4gICAgY29sdW1uSW5kZXg6IG51bWJlcixcbiAgICBnZXRDZWxsPzogKGNvbHVtbjogbnVtYmVyLCByb3c6IG51bWJlcikgPT4gVGFibGVDZWxsRWxlbWVudFxuKSB7XG4gICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdDZWxsID0gZ2V0Q2VsbCA/IGdldENlbGwoY29sdW1uSW5kZXgsIHJvd0luZGV4KSA6IGNyZWF0ZUNlbGwob3B0cyk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgW25ld0NlbGxdLCB7XG4gICAgICAgICAgICAgICAgYXQ6IHRhYmxlRW50cnlbMV0uY29uY2F0KFtyb3dJbmRleCwgY29sdW1uSW5kZXhdKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Transforms } from 'slate';
|
|
2
|
+
import { createRow, calcSpanForRow } from '../utils';
|
|
3
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
4
|
+
function getInsertRowState(opts, editor, count = 1, at) {
|
|
5
|
+
const tablePosition = createTablePosition(editor);
|
|
6
|
+
let table = tablePosition.table;
|
|
7
|
+
let tableEntry = tablePosition.tableEntry;
|
|
8
|
+
// Create a new row with the right count of cells
|
|
9
|
+
const columns = table.children[0].children.length;
|
|
10
|
+
const rowIndex = tablePosition.getRowIndex();
|
|
11
|
+
const insertRowIndex = typeof at === 'undefined' ? rowIndex + 1 : at;
|
|
12
|
+
return { table, tableEntry, columns, rowIndex, insertRowIndex };
|
|
13
|
+
}
|
|
14
|
+
function packNewRow(opts, editor, count = 1, at) {
|
|
15
|
+
const { table, tableEntry, columns, insertRowIndex } = getInsertRowState(opts, editor, count, at);
|
|
16
|
+
const rowspan = calcSpanForRow(table, insertRowIndex);
|
|
17
|
+
const newRow = createRow(opts, columns);
|
|
18
|
+
newRow.children.forEach((cell, columnIndex) => {
|
|
19
|
+
const isInside = rowspan[columnIndex];
|
|
20
|
+
if (isInside) {
|
|
21
|
+
cell.hidden = true;
|
|
22
|
+
const dirtyRow = table.children.find((row, rowIndex) => !row.children[columnIndex].hidden &&
|
|
23
|
+
rowIndex < insertRowIndex &&
|
|
24
|
+
row.children[columnIndex].rowspan &&
|
|
25
|
+
row.children[columnIndex].rowspan + rowIndex > insertRowIndex);
|
|
26
|
+
if (dirtyRow) {
|
|
27
|
+
Transforms.setNodes(editor, { rowspan: dirtyRow.children[columnIndex].rowspan + 1 }, {
|
|
28
|
+
at: tableEntry[1].concat(table.children.indexOf(dirtyRow)).concat(columnIndex)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return newRow;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Insert a new row in current table
|
|
37
|
+
*/
|
|
38
|
+
export function insertRow(opts, editor, count = 1, at // row index
|
|
39
|
+
) {
|
|
40
|
+
const { tableEntry, insertRowIndex } = getInsertRowState(opts, editor, count, at);
|
|
41
|
+
const newRows = [];
|
|
42
|
+
for (let i = 0; i < count; i++) {
|
|
43
|
+
const newRow = packNewRow(opts, editor, count, at);
|
|
44
|
+
newRows.push(newRow);
|
|
45
|
+
}
|
|
46
|
+
Transforms.insertNodes(editor, newRows, {
|
|
47
|
+
at: tableEntry[1].concat(insertRowIndex)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBSW5DLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXJFLFNBQVMsaUJBQWlCLENBQUMsSUFBa0IsRUFBRSxNQUFpQixFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsRUFBVztJQUNwRixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2hDLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFFMUMsaURBQWlEO0lBQ2pELE1BQU0sT0FBTyxHQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBNEIsQ0FBQyxNQUFNLENBQUM7SUFFdkUsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLE1BQU0sY0FBYyxHQUFHLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXJFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQWtCLEVBQUUsTUFBaUIsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQVc7SUFDN0UsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV4QyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEMsQ0FBQyxHQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRSxDQUN2QyxDQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFzQixDQUFDLE1BQU07Z0JBQ3ZELFFBQVEsR0FBRyxjQUFjO2dCQUN4QixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBc0IsQ0FBQyxPQUFPO2dCQUN0RCxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBc0IsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLGNBQWMsQ0FDMUYsQ0FBQztZQUNGLElBQUksUUFBUSxFQUFFO2dCQUNWLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFzQixDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFDN0U7b0JBQ0ksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUNqRixDQUNKLENBQUM7YUFDTDtTQUNKO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUNyQixJQUFrQixFQUNsQixNQUFpQixFQUNqQixLQUFLLEdBQUcsQ0FBQyxFQUNULEVBQVcsQ0FBQyxZQUFZOztJQUV4QixNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sT0FBTyxHQUFzQixFQUFFLENBQUM7SUFFdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM1QixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN4QjtJQUVELFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtRQUNwQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FDM0MsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnQsIFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlUm93RWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVSb3csIGNhbGNTcGFuRm9yUm93IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS10YWJsZS1wb3NpdGlvbic7XG5cbmZ1bmN0aW9uIGdldEluc2VydFJvd1N0YXRlKG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBUaGVFZGl0b3IsIGNvdW50ID0gMSwgYXQ/OiBudW1iZXIpIHtcbiAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IpO1xuICAgIGxldCB0YWJsZSA9IHRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgbGV0IHRhYmxlRW50cnkgPSB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnk7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgcm93IHdpdGggdGhlIHJpZ2h0IGNvdW50IG9mIGNlbGxzXG4gICAgY29uc3QgY29sdW1ucyA9ICh0YWJsZS5jaGlsZHJlblswXS5jaGlsZHJlbiBhcyBDdXN0b21FbGVtZW50W10pLmxlbmd0aDtcblxuICAgIGNvbnN0IHJvd0luZGV4ID0gdGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpO1xuICAgIGNvbnN0IGluc2VydFJvd0luZGV4ID0gdHlwZW9mIGF0ID09PSAndW5kZWZpbmVkJyA/IHJvd0luZGV4ICsgMSA6IGF0O1xuXG4gICAgcmV0dXJuIHsgdGFibGUsIHRhYmxlRW50cnksIGNvbHVtbnMsIHJvd0luZGV4LCBpbnNlcnRSb3dJbmRleCB9O1xufVxuXG5mdW5jdGlvbiBwYWNrTmV3Um93KG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBUaGVFZGl0b3IsIGNvdW50ID0gMSwgYXQ/OiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHRhYmxlLCB0YWJsZUVudHJ5LCBjb2x1bW5zLCBpbnNlcnRSb3dJbmRleCB9ID0gZ2V0SW5zZXJ0Um93U3RhdGUob3B0cywgZWRpdG9yLCBjb3VudCwgYXQpO1xuICAgIGNvbnN0IHJvd3NwYW4gPSBjYWxjU3BhbkZvclJvdyh0YWJsZSwgaW5zZXJ0Um93SW5kZXgpO1xuICAgIGNvbnN0IG5ld1JvdyA9IGNyZWF0ZVJvdyhvcHRzLCBjb2x1bW5zKTtcblxuICAgIG5ld1Jvdy5jaGlsZHJlbi5mb3JFYWNoKChjZWxsLCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBpc0luc2lkZSA9IHJvd3NwYW5bY29sdW1uSW5kZXhdO1xuICAgICAgICBpZiAoaXNJbnNpZGUpIHtcbiAgICAgICAgICAgIGNlbGwuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGRpcnR5Um93ID0gdGFibGUuY2hpbGRyZW4uZmluZChcbiAgICAgICAgICAgICAgICAocm93OiBUYWJsZVJvd0VsZW1lbnQsIHJvd0luZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgICAgICAgICAgICEocm93LmNoaWxkcmVuW2NvbHVtbkluZGV4XSBhcyBUYWJsZUNlbGxFbGVtZW50KS5oaWRkZW4gJiZcbiAgICAgICAgICAgICAgICAgICAgcm93SW5kZXggPCBpbnNlcnRSb3dJbmRleCAmJlxuICAgICAgICAgICAgICAgICAgICAocm93LmNoaWxkcmVuW2NvbHVtbkluZGV4XSBhcyBUYWJsZUNlbGxFbGVtZW50KS5yb3dzcGFuICYmXG4gICAgICAgICAgICAgICAgICAgIChyb3cuY2hpbGRyZW5bY29sdW1uSW5kZXhdIGFzIFRhYmxlQ2VsbEVsZW1lbnQpLnJvd3NwYW4gKyByb3dJbmRleCA+IGluc2VydFJvd0luZGV4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGRpcnR5Um93KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHJvd3NwYW46IChkaXJ0eVJvdy5jaGlsZHJlbltjb2x1bW5JbmRleF0gYXMgVGFibGVDZWxsRWxlbWVudCkucm93c3BhbiArIDEgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IHRhYmxlRW50cnlbMV0uY29uY2F0KHRhYmxlLmNoaWxkcmVuLmluZGV4T2YoZGlydHlSb3cpKS5jb25jYXQoY29sdW1uSW5kZXgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ld1Jvdztcbn1cblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgcm93IGluIGN1cnJlbnQgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFJvdyhcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBUaGVFZGl0b3IsXG4gICAgY291bnQgPSAxLFxuICAgIGF0PzogbnVtYmVyIC8vIHJvdyBpbmRleFxuKSB7XG4gICAgY29uc3QgeyB0YWJsZUVudHJ5LCBpbnNlcnRSb3dJbmRleCB9ID0gZ2V0SW5zZXJ0Um93U3RhdGUob3B0cywgZWRpdG9yLCBjb3VudCwgYXQpO1xuICAgIGNvbnN0IG5ld1Jvd3M6IFRhYmxlUm93RWxlbWVudFtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgY29uc3QgbmV3Um93ID0gcGFja05ld1JvdyhvcHRzLCBlZGl0b3IsIGNvdW50LCBhdCk7XG4gICAgICAgIG5ld1Jvd3MucHVzaChuZXdSb3cpO1xuICAgIH1cblxuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBuZXdSb3dzLCB7XG4gICAgICAgIGF0OiB0YWJsZUVudHJ5WzFdLmNvbmNhdChpbnNlcnRSb3dJbmRleClcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createTable } from '../utils';
|
|
2
|
+
import * as TheTransforms from '../../../transforms';
|
|
3
|
+
/**
|
|
4
|
+
* Insert a new table
|
|
5
|
+
*/
|
|
6
|
+
export function insertTable(opts, editor, rows = 3, columns = 3, getCellContent) {
|
|
7
|
+
const { selection } = editor;
|
|
8
|
+
if (!selection?.anchor) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
// Create the table node
|
|
12
|
+
const table = createTable(opts, columns, rows, getCellContent);
|
|
13
|
+
TheTransforms.insertElements(editor, table);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9pbnNlcnQtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEtBQUssYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsSUFBa0IsRUFDbEIsTUFBaUIsRUFDakIsT0FBZSxDQUFDLEVBQ2hCLFVBQWtCLENBQUMsRUFDbkIsY0FBd0Q7SUFFeEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRTtRQUNwQixPQUFPO0tBQ1Y7SUFDRCx3QkFBd0I7SUFDeEIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbi8qKlxuICogSW5zZXJ0IGEgbmV3IHRhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUYWJsZShcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBUaGVFZGl0b3IsXG4gICAgcm93czogbnVtYmVyID0gMyxcbiAgICBjb2x1bW5zOiBudW1iZXIgPSAzLFxuICAgIGdldENlbGxDb250ZW50PzogKGNvbHVtbjogbnVtYmVyLCByb3c6IG51bWJlcikgPT4gTm9kZVtdXG4pIHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgIGlmICghc2VsZWN0aW9uPy5hbmNob3IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDcmVhdGUgdGhlIHRhYmxlIG5vZGVcbiAgICBjb25zdCB0YWJsZSA9IGNyZWF0ZVRhYmxlKG9wdHMsIGNvbHVtbnMsIHJvd3MsIGdldENlbGxDb250ZW50KTtcbiAgICBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnRzKGVkaXRvciwgdGFibGUpO1xufVxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { clearCell } from './clear-cell';
|
|
3
|
+
import { removeColumns } from '../utils/remove-columns';
|
|
4
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
5
|
+
export function removeColumn(opts, editor, selectColIndex) {
|
|
6
|
+
const { selection } = editor;
|
|
7
|
+
const { anchor: { path } } = selection;
|
|
8
|
+
const tablePosition = createTablePosition(editor, path);
|
|
9
|
+
const { tableEntry, table, row, cellEntry: [cellNode, cellPath] } = tablePosition;
|
|
10
|
+
const rows = tableEntry[0].children;
|
|
11
|
+
selectColIndex = selectColIndex === undefined ? [...cellPath].pop() : selectColIndex;
|
|
12
|
+
Editor.withoutNormalizing(editor, () => {
|
|
13
|
+
table.children.map((row, rowIndex) => {
|
|
14
|
+
const dirtyCell = row.children.find((cell, columnIndex) => !cell.hidden && columnIndex < selectColIndex && cell.colspan && cell.colspan + columnIndex > selectColIndex);
|
|
15
|
+
if (dirtyCell) {
|
|
16
|
+
const colspan = dirtyCell.colspan - 1 > 1 ? dirtyCell.colspan - 1 : null;
|
|
17
|
+
Transforms.setNodes(editor, { colspan }, {
|
|
18
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const removeCell = row.children[selectColIndex];
|
|
22
|
+
const nextCell = row.children[selectColIndex + 1];
|
|
23
|
+
if (nextCell && nextCell.hidden && removeCell.colspan > 1) {
|
|
24
|
+
const colspan = removeCell.colspan - 1 > 1 ? removeCell.colspan - 1 : null;
|
|
25
|
+
Transforms.setNodes(editor, { colspan, rowspan: removeCell.rowspan || null, hidden: null }, { at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(nextCell)) });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
// Remove the cell from every row
|
|
30
|
+
Editor.withoutNormalizing(editor, () => {
|
|
31
|
+
if (tablePosition.getWidth() > 1) {
|
|
32
|
+
rows.forEach((row, rowIndex) => {
|
|
33
|
+
const at = tableEntry[1].concat([rowIndex, selectColIndex]);
|
|
34
|
+
Transforms.removeNodes(editor, { at });
|
|
35
|
+
});
|
|
36
|
+
if (table.columns) {
|
|
37
|
+
Transforms.setNodes(editor, { columns: removeColumns(table, table.columns.length - 1, selectColIndex) }, { at: tableEntry[1] });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// If last column, clear text in cells instead
|
|
42
|
+
rows.forEach((row, rowIndex) => {
|
|
43
|
+
row.children.forEach((cell, cellIndex) => {
|
|
44
|
+
const at = tableEntry[1].concat([rowIndex, cellIndex]);
|
|
45
|
+
clearCell(opts, editor, [cell, at]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvcmVtb3ZlLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVyRSxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQWtCLEVBQUUsTUFBaUIsRUFBRSxjQUF1QjtJQUN2RixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sRUFDRixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDbkIsR0FBRyxTQUFTLENBQUM7SUFFZCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsTUFBTSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsR0FBRyxFQUNILFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFDbEMsR0FBRyxhQUFhLENBQUM7SUFFbEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQTJCLENBQUM7SUFFdkQsY0FBYyxHQUFHLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBRXJGLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMvQixDQUFDLElBQXNCLEVBQUUsV0FBbUIsRUFBRSxFQUFFLENBQzVDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxXQUFXLEdBQUcsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUcsY0FBYyxDQUM5RixDQUFDO1lBQ3RCLElBQUksU0FBUyxFQUFFO2dCQUNYLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDekUsVUFBVSxDQUFDLFFBQVEsQ0FDZixNQUFNLEVBQ04sRUFBRSxPQUFPLEVBQUUsRUFDWDtvQkFDSSxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMzRixDQUNKLENBQUM7YUFDTDtZQUNELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFxQixDQUFDO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBcUIsQ0FBQztZQUN0RSxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzNFLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQzlELEVBQUUsRUFBRSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQzlGLENBQUM7YUFDTDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFSCxpQ0FBaUM7SUFDakMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkMsSUFBSSxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNmLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQzNFLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4QixDQUFDO2FBQ0w7U0FDSjthQUFNO1lBQ0gsOENBQThDO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQzNCLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFO29CQUNyQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNsZWFyQ2VsbCB9IGZyb20gJy4vY2xlYXItY2VsbCc7XG5pbXBvcnQgeyByZW1vdmVDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvcmVtb3ZlLWNvbHVtbnMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCwgVGFibGVDZWxsRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNvbHVtbihvcHRzOiBUYWJsZU9wdGlvbnMsIGVkaXRvcjogVGhlRWRpdG9yLCBzZWxlY3RDb2xJbmRleD86IG51bWJlcikge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgY29uc3Qge1xuICAgICAgICBhbmNob3I6IHsgcGF0aCB9XG4gICAgfSA9IHNlbGVjdGlvbjtcblxuICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvciwgcGF0aCk7XG4gICAgY29uc3Qge1xuICAgICAgICB0YWJsZUVudHJ5LFxuICAgICAgICB0YWJsZSxcbiAgICAgICAgcm93LFxuICAgICAgICBjZWxsRW50cnk6IFtjZWxsTm9kZSwgY2VsbFBhdGhdXG4gICAgfSA9IHRhYmxlUG9zaXRpb247XG5cbiAgICBjb25zdCByb3dzID0gdGFibGVFbnRyeVswXS5jaGlsZHJlbiBhcyBDdXN0b21FbGVtZW50W107XG5cbiAgICBzZWxlY3RDb2xJbmRleCA9IHNlbGVjdENvbEluZGV4ID09PSB1bmRlZmluZWQgPyBbLi4uY2VsbFBhdGhdLnBvcCgpIDogc2VsZWN0Q29sSW5kZXg7XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICB0YWJsZS5jaGlsZHJlbi5tYXAoKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRpcnR5Q2VsbCA9IHJvdy5jaGlsZHJlbi5maW5kKFxuICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICAhY2VsbC5oaWRkZW4gJiYgY29sdW1uSW5kZXggPCBzZWxlY3RDb2xJbmRleCAmJiBjZWxsLmNvbHNwYW4gJiYgY2VsbC5jb2xzcGFuICsgY29sdW1uSW5kZXggPiBzZWxlY3RDb2xJbmRleFxuICAgICAgICAgICAgKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHNwYW4gPSBkaXJ0eUNlbGwuY29sc3BhbiAtIDEgPiAxID8gZGlydHlDZWxsLmNvbHNwYW4gLSAxIDogbnVsbDtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgY29sc3BhbiB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChyb3dJbmRleCkuY29uY2F0KHJvdy5jaGlsZHJlbi5pbmRleE9mKGRpcnR5Q2VsbCkpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVtb3ZlQ2VsbCA9IHJvdy5jaGlsZHJlbltzZWxlY3RDb2xJbmRleF0gYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IG5leHRDZWxsID0gcm93LmNoaWxkcmVuW3NlbGVjdENvbEluZGV4ICsgMV0gYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4gJiYgcmVtb3ZlQ2VsbC5jb2xzcGFuID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHNwYW4gPSByZW1vdmVDZWxsLmNvbHNwYW4gLSAxID4gMSA/IHJlbW92ZUNlbGwuY29sc3BhbiAtIDEgOiBudWxsO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuLCByb3dzcGFuOiByZW1vdmVDZWxsLnJvd3NwYW4gfHwgbnVsbCwgaGlkZGVuOiBudWxsIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgYXQ6IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeVsxXS5jb25jYXQocm93SW5kZXgpLmNvbmNhdChyb3cuY2hpbGRyZW4uaW5kZXhPZihuZXh0Q2VsbCkpIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIFJlbW92ZSB0aGUgY2VsbCBmcm9tIGV2ZXJ5IHJvd1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGlmICh0YWJsZVBvc2l0aW9uLmdldFdpZHRoKCkgPiAxKSB7XG4gICAgICAgICAgICByb3dzLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdCA9IHRhYmxlRW50cnlbMV0uY29uY2F0KFtyb3dJbmRleCwgc2VsZWN0Q29sSW5kZXhdKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdCB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRhYmxlLmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgY29sdW1uczogcmVtb3ZlQ29sdW1ucyh0YWJsZSwgdGFibGUuY29sdW1ucy5sZW5ndGggLSAxLCBzZWxlY3RDb2xJbmRleCkgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBhdDogdGFibGVFbnRyeVsxXSB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmIGxhc3QgY29sdW1uLCBjbGVhciB0ZXh0IGluIGNlbGxzIGluc3RlYWRcbiAgICAgICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHJvdy5jaGlsZHJlbi5mb3JFYWNoKChjZWxsLCBjZWxsSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXQgPSB0YWJsZUVudHJ5WzFdLmNvbmNhdChbcm93SW5kZXgsIGNlbGxJbmRleF0pO1xuICAgICAgICAgICAgICAgICAgICBjbGVhckNlbGwob3B0cywgZWRpdG9yLCBbY2VsbCBhcyBDdXN0b21FbGVtZW50LCBhdF0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Editor, Transforms } from 'slate';
|
|
2
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
3
|
+
import { clearCell } from './clear-cell';
|
|
4
|
+
export function removeRow(opts, editor, selectRowIndex) {
|
|
5
|
+
const tablePosition = createTablePosition(editor);
|
|
6
|
+
const { tableEntry, table, rowEntry: [rowNode, rowPath] } = tablePosition;
|
|
7
|
+
selectRowIndex = selectRowIndex === undefined ? [...rowPath].pop() : selectRowIndex;
|
|
8
|
+
const at = tableEntry[1].concat(selectRowIndex);
|
|
9
|
+
Editor.withoutNormalizing(editor, () => {
|
|
10
|
+
table.children.map((row, rowIndex) => {
|
|
11
|
+
if (rowIndex < selectRowIndex) {
|
|
12
|
+
const dirtyCells = row.children.filter((cell, columnIndex) => !cell.hidden && cell.rowspan && cell.rowspan + rowIndex > selectRowIndex);
|
|
13
|
+
if (dirtyCells.length) {
|
|
14
|
+
dirtyCells.map((dirtyCell) => {
|
|
15
|
+
const rowspan = dirtyCell.rowspan - 1 > 1 ? dirtyCell.rowspan - 1 : null;
|
|
16
|
+
Transforms.setNodes(editor, { rowspan }, {
|
|
17
|
+
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const removeRow = table.children[selectRowIndex];
|
|
24
|
+
const nextRow = table.children[selectRowIndex + 1];
|
|
25
|
+
if (nextRow) {
|
|
26
|
+
removeRow.children.map((cell, cellIndex) => {
|
|
27
|
+
const nextCell = nextRow.children[cellIndex];
|
|
28
|
+
if (nextCell && cell.rowspan > 1 && nextCell.hidden) {
|
|
29
|
+
const rowspan = cell.rowspan - 1 > 1 ? cell.rowspan - 1 : null;
|
|
30
|
+
Transforms.setNodes(editor, { colspan: cell.colspan || null, rowspan, hidden: null }, { at: tablePosition.tableEntry[1].concat(selectRowIndex + 1).concat(cellIndex) });
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
// Update table by removing the row
|
|
36
|
+
if (tablePosition.getHeight() > 1) {
|
|
37
|
+
Transforms.removeNodes(editor, { at });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// If last remaining row, clear it instead
|
|
41
|
+
Editor.withoutNormalizing(editor, () => {
|
|
42
|
+
rowNode.children.forEach((cell, cellIndex) => {
|
|
43
|
+
clearCell(opts, editor, [cell, at.concat(cellIndex)]);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvcmVtb3ZlLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUkzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBa0IsRUFBRSxNQUFpQixFQUFFLGNBQXVCO0lBQ3BGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFDRixVQUFVLEVBQ1YsS0FBSyxFQUNMLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFDL0IsR0FBRyxhQUFhLENBQUM7SUFFbEIsY0FBYyxHQUFHLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ3BGLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDbkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDakMsSUFBSSxRQUFRLEdBQUcsY0FBYyxFQUFFO2dCQUMzQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxJQUFzQixFQUFFLFdBQW1CLEVBQUUsRUFBRSxDQUM1QyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsR0FBRyxjQUFjLENBQy9FLENBQUM7Z0JBQ0YsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBMkIsRUFBRSxFQUFFO3dCQUMzQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ3pFLFVBQVUsQ0FBQyxRQUFRLENBQ2YsTUFBTSxFQUNOLEVBQUUsT0FBTyxFQUFFLEVBQ1g7NEJBQ0ksRUFBRSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQzt5QkFDM0YsQ0FDSixDQUFDO29CQUNOLENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFvQixDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBb0IsQ0FBQztRQUN0RSxJQUFJLE9BQU8sRUFBRTtZQUNULFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBc0IsRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMvRCxVQUFVLENBQUMsUUFBUSxDQUNmLE1BQU0sRUFDTixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUN4RCxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ25GLENBQUM7aUJBQ0w7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxtQ0FBbUM7SUFDbkMsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQy9CLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUMxQztTQUFNO1FBQ0gsMENBQTBDO1FBQzFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxRQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDOUQsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztLQUNOO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCwgVGFibGVDZWxsRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVRhYmxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9jcmVhdGUtdGFibGUtcG9zaXRpb24nO1xuaW1wb3J0IHsgY2xlYXJDZWxsIH0gZnJvbSAnLi9jbGVhci1jZWxsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJvdyhvcHRzOiBUYWJsZU9wdGlvbnMsIGVkaXRvcjogVGhlRWRpdG9yLCBzZWxlY3RSb3dJbmRleD86IG51bWJlcikge1xuICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvcik7XG4gICAgY29uc3Qge1xuICAgICAgICB0YWJsZUVudHJ5LFxuICAgICAgICB0YWJsZSxcbiAgICAgICAgcm93RW50cnk6IFtyb3dOb2RlLCByb3dQYXRoXVxuICAgIH0gPSB0YWJsZVBvc2l0aW9uO1xuXG4gICAgc2VsZWN0Um93SW5kZXggPSBzZWxlY3RSb3dJbmRleCA9PT0gdW5kZWZpbmVkID8gWy4uLnJvd1BhdGhdLnBvcCgpIDogc2VsZWN0Um93SW5kZXg7XG4gICAgY29uc3QgYXQgPSB0YWJsZUVudHJ5WzFdLmNvbmNhdChzZWxlY3RSb3dJbmRleCk7XG5cbiAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICB0YWJsZS5jaGlsZHJlbi5tYXAoKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChyb3dJbmRleCA8IHNlbGVjdFJvd0luZGV4KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlydHlDZWxscyA9IHJvdy5jaGlsZHJlbi5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIWNlbGwuaGlkZGVuICYmIGNlbGwucm93c3BhbiAmJiBjZWxsLnJvd3NwYW4gKyByb3dJbmRleCA+IHNlbGVjdFJvd0luZGV4XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoZGlydHlDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlydHlDZWxscy5tYXAoKGRpcnR5Q2VsbDogVGFibGVDZWxsRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93c3BhbiA9IGRpcnR5Q2VsbC5yb3dzcGFuIC0gMSA+IDEgPyBkaXJ0eUNlbGwucm93c3BhbiAtIDEgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyByb3dzcGFuIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLmNvbmNhdChyb3dJbmRleCkuY29uY2F0KHJvdy5jaGlsZHJlbi5pbmRleE9mKGRpcnR5Q2VsbCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVtb3ZlUm93ID0gdGFibGUuY2hpbGRyZW5bc2VsZWN0Um93SW5kZXhdIGFzIFRhYmxlUm93RWxlbWVudDtcbiAgICAgICAgY29uc3QgbmV4dFJvdyA9IHRhYmxlLmNoaWxkcmVuW3NlbGVjdFJvd0luZGV4ICsgMV0gYXMgVGFibGVSb3dFbGVtZW50O1xuICAgICAgICBpZiAobmV4dFJvdykge1xuICAgICAgICAgICAgcmVtb3ZlUm93LmNoaWxkcmVuLm1hcCgoY2VsbDogVGFibGVDZWxsRWxlbWVudCwgY2VsbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dENlbGwgPSBuZXh0Um93LmNoaWxkcmVuW2NlbGxJbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKG5leHRDZWxsICYmIGNlbGwucm93c3BhbiA+IDEgJiYgbmV4dENlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvd3NwYW4gPSBjZWxsLnJvd3NwYW4gLSAxID4gMSA/IGNlbGwucm93c3BhbiAtIDEgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuOiBjZWxsLmNvbHNwYW4gfHwgbnVsbCwgcm93c3BhbiwgaGlkZGVuOiBudWxsIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHNlbGVjdFJvd0luZGV4ICsgMSkuY29uY2F0KGNlbGxJbmRleCkgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGFibGUgYnkgcmVtb3ZpbmcgdGhlIHJvd1xuICAgIGlmICh0YWJsZVBvc2l0aW9uLmdldEhlaWdodCgpID4gMSkge1xuICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBsYXN0IHJlbWFpbmluZyByb3csIGNsZWFyIGl0IGluc3RlYWRcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIChyb3dOb2RlLmNoaWxkcmVuIGFzIEN1c3RvbUVsZW1lbnRbXSkuZm9yRWFjaCgoY2VsbCwgY2VsbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJDZWxsKG9wdHMsIGVkaXRvciwgW2NlbGwsIGF0LmNvbmNhdChjZWxsSW5kZXgpXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Editor, Path, Transforms } from 'slate';
|
|
2
|
+
import { createEmptyParagraph } from '../../../utils/create-empty-paragraph';
|
|
3
|
+
import { createTablePosition } from '../utils/create-table-position';
|
|
4
|
+
import { NextPath } from '../utils/next-path';
|
|
5
|
+
export function removeTable(opts, editor) {
|
|
6
|
+
const { selection } = editor;
|
|
7
|
+
const { anchor: { path } } = selection;
|
|
8
|
+
const pos = createTablePosition(editor, path);
|
|
9
|
+
const { tableEntry: [, tablePath] } = pos;
|
|
10
|
+
let nextFocusEntry = null;
|
|
11
|
+
let shouldCollapseToEnd = false;
|
|
12
|
+
const nextEntry = Editor.next(editor, { at: tablePath });
|
|
13
|
+
if (nextEntry) {
|
|
14
|
+
nextFocusEntry = nextEntry;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const prevEntry = Editor.previous(editor, { at: tablePath });
|
|
18
|
+
if (prevEntry) {
|
|
19
|
+
nextFocusEntry = prevEntry;
|
|
20
|
+
shouldCollapseToEnd = true;
|
|
21
|
+
}
|
|
22
|
+
else if (opts.exitBlockType) {
|
|
23
|
+
nextFocusEntry = [
|
|
24
|
+
{
|
|
25
|
+
type: opts.exitBlockType,
|
|
26
|
+
children: [{ text: '' }]
|
|
27
|
+
},
|
|
28
|
+
null
|
|
29
|
+
];
|
|
30
|
+
nextFocusEntry[1] = NextPath(tablePath);
|
|
31
|
+
Transforms.insertNodes(editor, nextFocusEntry[0], { at: nextFocusEntry[1] });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
Transforms.removeNodes(editor, { at: tablePath });
|
|
35
|
+
Transforms.insertNodes(editor, createEmptyParagraph(), { at: tablePath });
|
|
36
|
+
if (!nextFocusEntry) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (shouldCollapseToEnd) {
|
|
40
|
+
const endPoint = Editor.end(editor, nextFocusEntry[1]);
|
|
41
|
+
Transforms.select(editor, endPoint);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const previousPath = Path.previous(nextFocusEntry[1]);
|
|
45
|
+
const startPoint = Editor.start(editor, previousPath);
|
|
46
|
+
Transforms.select(editor, startPoint);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9yZW1vdmUtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFhLE1BQU0sT0FBTyxDQUFDO0FBRzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWtCLEVBQUUsTUFBaUI7SUFDN0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM3QixNQUFNLEVBQ0YsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQ25CLEdBQUcsU0FBUyxDQUFDO0lBQ2QsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLE1BQU0sRUFDRixVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUM1QixHQUFHLEdBQUcsQ0FBQztJQUNSLElBQUksY0FBYyxHQUE2QixJQUFJLENBQUM7SUFDcEQsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFFaEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBZ0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEUsSUFBSSxTQUFTLEVBQUU7UUFDWCxjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQzlCO1NBQU07UUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFnQixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLFNBQVMsRUFBRTtZQUNYLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDM0IsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1NBQzlCO2FBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLGNBQWMsR0FBRztnQkFDYjtvQkFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWE7b0JBQ3hCLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUNWO2dCQUNsQixJQUFJO2FBQ1AsQ0FBQztZQUNGLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEY7S0FDSjtJQUVELFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTFFLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDakIsT0FBTztLQUNWO0lBRUQsSUFBSSxtQkFBbUIsRUFBRTtRQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN2QztTQUFNO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN0RCxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztLQUN6QztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFBhdGgsIFRyYW5zZm9ybXMsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NyZWF0ZS1lbXB0eS1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS10YWJsZS1wb3NpdGlvbic7XG5pbXBvcnQgeyBOZXh0UGF0aCB9IGZyb20gJy4uL3V0aWxzL25leHQtcGF0aCc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUYWJsZShvcHRzOiBUYWJsZU9wdGlvbnMsIGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCB7XG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICB9ID0gc2VsZWN0aW9uO1xuICAgIGNvbnN0IHBvcyA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yLCBwYXRoKTtcbiAgICBjb25zdCB7XG4gICAgICAgIHRhYmxlRW50cnk6IFssIHRhYmxlUGF0aF1cbiAgICB9ID0gcG9zO1xuICAgIGxldCBuZXh0Rm9jdXNFbnRyeTogTm9kZUVudHJ5PEN1c3RvbUVsZW1lbnQ+ID0gbnVsbDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2VUb0VuZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbmV4dEVudHJ5ID0gRWRpdG9yLm5leHQ8Q3VzdG9tRWxlbWVudD4oZWRpdG9yLCB7IGF0OiB0YWJsZVBhdGggfSk7XG4gICAgaWYgKG5leHRFbnRyeSkge1xuICAgICAgICBuZXh0Rm9jdXNFbnRyeSA9IG5leHRFbnRyeTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2RW50cnkgPSBFZGl0b3IucHJldmlvdXM8Q3VzdG9tRWxlbWVudD4oZWRpdG9yLCB7IGF0OiB0YWJsZVBhdGggfSk7XG4gICAgICAgIGlmIChwcmV2RW50cnkpIHtcbiAgICAgICAgICAgIG5leHRGb2N1c0VudHJ5ID0gcHJldkVudHJ5O1xuICAgICAgICAgICAgc2hvdWxkQ29sbGFwc2VUb0VuZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAob3B0cy5leGl0QmxvY2tUeXBlKSB7XG4gICAgICAgICAgICBuZXh0Rm9jdXNFbnRyeSA9IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IG9wdHMuZXhpdEJsb2NrVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dXG4gICAgICAgICAgICAgICAgfSBhcyBDdXN0b21FbGVtZW50LFxuICAgICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBuZXh0Rm9jdXNFbnRyeVsxXSA9IE5leHRQYXRoKHRhYmxlUGF0aCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgbmV4dEZvY3VzRW50cnlbMF0sIHsgYXQ6IG5leHRGb2N1c0VudHJ5WzFdIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IHRhYmxlUGF0aCB9KTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY3JlYXRlRW1wdHlQYXJhZ3JhcGgoKSwgeyBhdDogdGFibGVQYXRoIH0pO1xuXG4gICAgaWYgKCFuZXh0Rm9jdXNFbnRyeSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZENvbGxhcHNlVG9FbmQpIHtcbiAgICAgICAgY29uc3QgZW5kUG9pbnQgPSBFZGl0b3IuZW5kKGVkaXRvciwgbmV4dEZvY3VzRW50cnlbMV0pO1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGVuZFBvaW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2aW91c1BhdGggPSBQYXRoLnByZXZpb3VzKG5leHRGb2N1c0VudHJ5WzFdKTtcbiAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IEVkaXRvci5zdGFydChlZGl0b3IsIHByZXZpb3VzUGF0aCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgc3RhcnRQb2ludCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AngularEditor } from 'slate-angular';
|
|
2
|
+
import * as TheQueries from '../../../queries';
|
|
3
|
+
export function calculateAnchorPositionInCell(editor) {
|
|
4
|
+
let isFirstLine = false;
|
|
5
|
+
let isLastLine = false;
|
|
6
|
+
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
7
|
+
const anchorBlockPath = TheQueries.findPath(editor, anchorBlock);
|
|
8
|
+
const anchorBlockDom = AngularEditor.toDOMNode(editor, anchorBlock);
|
|
9
|
+
const valueRangeRect = anchorBlockDom.getBoundingClientRect();
|
|
10
|
+
const anchorBlockHeight = window.getComputedStyle(anchorBlockDom).lineHeight;
|
|
11
|
+
const nativeSelection = window.getSelection();
|
|
12
|
+
const nativeRange = nativeSelection && nativeSelection.getRangeAt(0);
|
|
13
|
+
const nativeRangeRect = nativeRange && nativeRange.getBoundingClientRect();
|
|
14
|
+
if (valueRangeRect && nativeRangeRect && anchorBlockHeight) {
|
|
15
|
+
const lineHeight = parseInt(anchorBlockHeight, 10);
|
|
16
|
+
isFirstLine = nativeRangeRect.top - valueRangeRect.top < lineHeight;
|
|
17
|
+
isLastLine = valueRangeRect.bottom - nativeRangeRect.bottom < lineHeight;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
isFirstLine,
|
|
21
|
+
isLastLine,
|
|
22
|
+
anchorBlockPath
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsYy1hbmNob3ItcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9jYWxjLWFuY2hvci1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE9BQU8sS0FBSyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxVQUFVLDZCQUE2QixDQUFDLE1BQWlCO0lBQzNELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN4QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDdkIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqRSxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDN0UsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLGVBQWUsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sZUFBZSxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMzRSxJQUFJLGNBQWMsSUFBSSxlQUFlLElBQUksaUJBQWlCLEVBQUU7UUFDeEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELFdBQVcsR0FBRyxlQUFlLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBQ3BFLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO0tBQzVFO0lBQ0QsT0FBTztRQUNILFdBQVc7UUFDWCxVQUFVO1FBQ1YsZUFBZTtLQUNsQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi8uLi9xdWVyaWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgbGV0IGlzRmlyc3RMaW5lID0gZmFsc2U7XG4gICAgbGV0IGlzTGFzdExpbmUgPSBmYWxzZTtcbiAgICBjb25zdCBhbmNob3JCbG9jayA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcbiAgICBjb25zdCBhbmNob3JCbG9ja1BhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKGVkaXRvciwgYW5jaG9yQmxvY2spO1xuICAgIGNvbnN0IGFuY2hvckJsb2NrRG9tID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUoZWRpdG9yLCBhbmNob3JCbG9jayk7XG4gICAgY29uc3QgdmFsdWVSYW5nZVJlY3QgPSBhbmNob3JCbG9ja0RvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBhbmNob3JCbG9ja0hlaWdodCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGFuY2hvckJsb2NrRG9tKS5saW5lSGVpZ2h0O1xuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICBjb25zdCBuYXRpdmVSYW5nZSA9IG5hdGl2ZVNlbGVjdGlvbiAmJiBuYXRpdmVTZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTtcbiAgICBjb25zdCBuYXRpdmVSYW5nZVJlY3QgPSBuYXRpdmVSYW5nZSAmJiBuYXRpdmVSYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAodmFsdWVSYW5nZVJlY3QgJiYgbmF0aXZlUmFuZ2VSZWN0ICYmIGFuY2hvckJsb2NrSGVpZ2h0KSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUludChhbmNob3JCbG9ja0hlaWdodCwgMTApO1xuICAgICAgICBpc0ZpcnN0TGluZSA9IG5hdGl2ZVJhbmdlUmVjdC50b3AgLSB2YWx1ZVJhbmdlUmVjdC50b3AgPCBsaW5lSGVpZ2h0O1xuICAgICAgICBpc0xhc3RMaW5lID0gdmFsdWVSYW5nZVJlY3QuYm90dG9tIC0gbmF0aXZlUmFuZ2VSZWN0LmJvdHRvbSA8IGxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGlzRmlyc3RMaW5lLFxuICAgICAgICBpc0xhc3RMaW5lLFxuICAgICAgICBhbmNob3JCbG9ja1BhdGhcbiAgICB9O1xufVxuIl19
|