@worktile/theia 3.0.0-next.1 → 3.0.0-next.4

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.
Files changed (51) hide show
  1. package/bundles/worktile-theia.umd.js +201 -210
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/core/utils/combine-plugins.d.ts +2 -0
  4. package/core/utils/get-plugin-by-key.d.ts +2 -0
  5. package/core/utils/index.d.ts +5 -2
  6. package/core/utils/merge-deep-plugins.d.ts +2 -0
  7. package/core/utils/merge-options.d.ts +1 -1
  8. package/core/utils/nested-structure-by-key.d.ts +2 -0
  9. package/core/utils/plugins-by-key.d.ts +2 -0
  10. package/esm2015/core/create-plugin.js +2 -4
  11. package/esm2015/core/utils/combine-plugins.js +10 -0
  12. package/esm2015/core/utils/flatten-deep-plugins.js +2 -20
  13. package/esm2015/core/utils/get-plugin-by-key.js +8 -0
  14. package/esm2015/core/utils/get-plugin.js +3 -3
  15. package/esm2015/core/utils/index.js +6 -3
  16. package/esm2015/core/utils/merge-deep-plugins.js +16 -0
  17. package/esm2015/core/utils/merge-options.js +5 -5
  18. package/esm2015/core/utils/nested-structure-by-key.js +11 -0
  19. package/esm2015/core/utils/plugins-by-key.js +10 -0
  20. package/esm2015/core/with-theia.js +9 -22
  21. package/esm2015/editor.component.js +2 -3
  22. package/esm2015/interfaces/editor.js +1 -1
  23. package/esm2015/plugins/autoformat/autoformat.plugin.js +11 -11
  24. package/esm2015/plugins/blockquote/blockquote.editor.js +8 -8
  25. package/esm2015/plugins/code/code.editor.js +3 -3
  26. package/esm2015/plugins/hr/hr.editor.js +2 -2
  27. package/esm2015/plugins/list/list.editor.js +1 -2
  28. package/esm2015/plugins/quick-insert/quick-insert.plugin.js +4 -4
  29. package/esm2015/plugins/table/transforms/insert-table.js +2 -2
  30. package/esm2015/plugins/todo-item/todo-item.component.js +8 -9
  31. package/esm2015/plugins/todo-item/todo-item.plugin.js +3 -2
  32. package/esm2015/transforms/index.js +3 -4
  33. package/esm2015/transforms/insert-elements.js +40 -0
  34. package/fesm2015/worktile-theia.js +189 -203
  35. package/fesm2015/worktile-theia.js.map +1 -1
  36. package/interfaces/editor.d.ts +1 -7
  37. package/package.json +1 -1
  38. package/plugins/autoformat/autoformat.plugin.d.ts +5 -1
  39. package/plugins/quick-insert/quick-insert.plugin.d.ts +2 -0
  40. package/plugins/todo-item/todo-item.component.d.ts +1 -0
  41. package/plugins/todo-item/todo-item.plugin.d.ts +4 -1
  42. package/transforms/index.d.ts +2 -3
  43. package/transforms/insert-elements.d.ts +2 -0
  44. package/core/utils/get-plugins-by-key.d.ts +0 -2
  45. package/core/utils/override-plugins-by-key.d.ts +0 -5
  46. package/esm2015/core/utils/get-plugins-by-key.js +0 -8
  47. package/esm2015/core/utils/override-plugins-by-key.js +0 -27
  48. package/esm2015/transforms/insert-element-next.js +0 -40
  49. package/esm2015/transforms/insert-element.js +0 -2
  50. package/transforms/insert-element-next.d.ts +0 -2
  51. package/transforms/insert-element.d.ts +0 -3
@@ -6,9 +6,8 @@ import { ElementOptionsInfo } from './valid-children-types';
6
6
  import { Predicate } from '../utils/match';
7
7
  import { ToolbarOption } from './toolbar';
8
8
  import { CustomElementKinds } from '../custom-types';
9
- import { ElementKinds, FontSizes } from '../constants';
9
+ import { FontSizes } from '../constants';
10
10
  import { ThePlugin } from './plugins';
11
- import { AutoFormatRule } from './auto-format';
12
11
  import { OverrideByKey, NestedStructureByKey } from './utility';
13
12
  export interface TheEditor extends AngularEditor, HistoryEditor {
14
13
  [key: string]: any;
@@ -18,10 +17,8 @@ export interface TheEditor extends AngularEditor, HistoryEditor {
18
17
  pluginsByKey: OverrideByKey;
19
18
  nestedStructureByKey: NestedStructureByKey;
20
19
  extraElementOptions: ElementOptionsInfo[];
21
- extraAutoFormatRules: AutoFormatRule[];
22
20
  renderElement: (element: Element) => ViewType;
23
21
  renderLeaf: (text: Text) => ViewType;
24
- insertElement: (nodes: Node | Node[]) => void;
25
22
  isContainer: (element: Element) => boolean;
26
23
  }
27
24
  export declare const TheEditor: {
@@ -87,7 +84,6 @@ export declare const THE_MODE_PROVIDER: {
87
84
  };
88
85
  };
89
86
  export interface TheOptions {
90
- allowContainerOperateTypes?: CustomElementKinds[];
91
87
  mode?: TheDataMode;
92
88
  readonly?: boolean;
93
89
  disabled?: boolean;
@@ -103,8 +99,6 @@ export interface TheOptions {
103
99
  toolbar?: ToolbarOption;
104
100
  disablePlugins?: string[];
105
101
  extraElementOptions?: ElementOptionsInfo[];
106
- extraAutoFormatRules?: AutoFormatRule[];
107
- noBindReadonlyPlugins?: (ElementKinds | string)[];
108
102
  }
109
103
  export declare type NodeMatch<T = Node> = Predicate<T>;
110
104
  export interface MatchOptions<T = Node> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worktile/theia",
3
- "version": "3.0.0-next.1",
3
+ "version": "3.0.0-next.4",
4
4
  "description": "theia editor",
5
5
  "author": "YanDong <nanianqiumo@foxmail.com>",
6
6
  "homepage": "https://github.com/atinc/theia#readme",
@@ -1,2 +1,6 @@
1
+ import { AutoFormatRule } from '../../interfaces/auto-format';
2
+ export interface AutoFormatOptions {
3
+ autoFormatRules: AutoFormatRule[];
4
+ }
1
5
  export declare const withAutoFormat: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
2
- export declare const createAutoFormatPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
6
+ export declare const createAutoFormatPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, AutoFormatOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, AutoFormatOptions>;
@@ -1,7 +1,9 @@
1
1
  import { Editor } from 'slate';
2
2
  import { ElementKinds } from '../../constants';
3
+ import { CustomElementKinds } from '../../custom-types';
3
4
  export interface QuickInsertPluginOptions {
4
5
  hotKey?: string;
6
+ allowHotkeyInTypes?: CustomElementKinds[];
5
7
  }
6
8
  export declare const withQuickInsert: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
7
9
  export declare const createQuickInsertPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, QuickInsertPluginOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, QuickInsertPluginOptions>;
@@ -11,6 +11,7 @@ export declare class TheTodoItemComponent extends TheBaseElementComponent<TodoIt
11
11
  checked: boolean;
12
12
  checkItemClass: boolean;
13
13
  get level(): number;
14
+ get editableWithReadonly(): boolean;
14
15
  constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, ctxService: TheContextService);
15
16
  ngOnInit(): void;
16
17
  onCheck(checked: boolean): boolean;
@@ -1,2 +1,5 @@
1
+ export interface TodoItemPluginOptions {
2
+ editableWithReadonly?: boolean;
3
+ }
1
4
  export declare const withTodoItem: <T extends import("../../interfaces").TheEditor>(editor: T) => T;
2
- export declare const createTodoItemPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, {}>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, {}>;
5
+ export declare const createTodoItemPlugin: <T = {}>(override?: Partial<import("../../interfaces").ThePlugin<T, TodoItemPluginOptions>>, overrideByKey?: import("../../interfaces").OverrideByKey) => import("../../interfaces").ThePlugin<T, TodoItemPluginOptions>;
@@ -1,7 +1,6 @@
1
1
  import { setMarks } from './set-marks';
2
2
  import { clearMarks } from './clear-marks';
3
- import { insertElement } from './insert-element';
4
- import { insertElementNext } from './insert-element-next';
3
+ import { insertElements } from './insert-elements';
5
4
  import { setNode } from './set-node';
6
5
  import { unwrapNodesByType } from './unwrap-nodes-by-type';
7
6
  import { onKeyDownResetBlockType } from './on-keydown-reset-block-type';
@@ -16,4 +15,4 @@ import { setEndSelection } from './set-end-selection';
16
15
  import { closeConversionHint } from './close-conversion-hint';
17
16
  import { handleContinualDeleteBackward } from './handle-continual-delete-backward';
18
17
  import { handleContinualInsertBreak } from './handle-continual-insert-break';
19
- export { setMarks, clearMarks, insertElement, insertElementNext, insertParagraph, setNode, unwrapNodesByType, onKeyDownResetBlockType, moveChildren, applyDeepToNodes, mergeDeepToNodes, unWrap, splitNode, deleteElement, setEndSelection, closeConversionHint, handleContinualDeleteBackward, handleContinualInsertBreak };
18
+ export { setMarks, clearMarks, insertElements, insertParagraph, setNode, unwrapNodesByType, onKeyDownResetBlockType, moveChildren, applyDeepToNodes, mergeDeepToNodes, unWrap, splitNode, deleteElement, setEndSelection, closeConversionHint, handleContinualDeleteBackward, handleContinualInsertBreak };
@@ -0,0 +1,2 @@
1
+ import { Editor, Element } from 'slate';
2
+ export declare const insertElements: (editor: Editor, element: Element) => void;
@@ -1,2 +0,0 @@
1
- import { PluginKey, TheEditor, WithThePlugin } from '../../interfaces';
2
- export declare const getPluginsByKey: <T = {}, P = {}>(editor?: TheEditor) => Record<string, WithThePlugin<T, P>>;
@@ -1,5 +0,0 @@
1
- import { NoInfer, OverrideByKey, ThePlugin } from '../../interfaces';
2
- /**
3
- * 将每个 plugin 从 `overrideByKey` 递归深度合并到具有相同 key 的 plugin(plugin > plugin.plugins)。
4
- */
5
- export declare const overridePluginsByKey: <T = {}, P = {}>(plugin: ThePlugin<T, NoInfer<P>>, overrideByKey?: OverrideByKey, nested?: boolean) => ThePlugin<T, NoInfer<P>>;
@@ -1,8 +0,0 @@
1
- export const getPluginsByKey = (editor) => {
2
- const plugins = {};
3
- if (editor === null || editor === void 0 ? void 0 : editor.pluginsByKey) {
4
- return editor.pluginsByKey;
5
- }
6
- return plugins;
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbnMtYnkta2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvcmUvdXRpbHMvZ2V0LXBsdWdpbnMtYnkta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFpQixNQUFrQixFQUEwQyxFQUFFO0lBQzFHLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVuQixJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxZQUFZLEVBQUU7UUFDdEIsT0FBTyxNQUFNLENBQUMsWUFBc0QsQ0FBQztLQUN4RTtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbktleSwgVGhlRWRpdG9yLCBXaXRoVGhlUGx1Z2luIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRQbHVnaW5zQnlLZXkgPSA8VCA9IHt9LCBQID0ge30+KGVkaXRvcj86IFRoZUVkaXRvcik6IFJlY29yZDxQbHVnaW5LZXksIFdpdGhUaGVQbHVnaW48VCwgUD4+ID0+IHtcbiAgICBjb25zdCBwbHVnaW5zID0ge307XG5cbiAgICBpZiAoZWRpdG9yPy5wbHVnaW5zQnlLZXkpIHtcbiAgICAgICAgcmV0dXJuIGVkaXRvci5wbHVnaW5zQnlLZXkgYXMgUmVjb3JkPFBsdWdpbktleSwgV2l0aFRoZVBsdWdpbjxULCBQPj47XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdWdpbnM7XG59O1xuIl19
@@ -1,27 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { _ } from '../../utils/lodash';
3
- import { mergeOptions } from './merge-options';
4
- /**
5
- * 将每个 plugin 从 `overrideByKey` 递归深度合并到具有相同 key 的 plugin(plugin > plugin.plugins)。
6
- */
7
- export const overridePluginsByKey = (plugin, overrideByKey = {}, nested) => {
8
- if (overrideByKey[plugin.key]) {
9
- plugin = mergeOptions(plugin, overrideByKey);
10
- const _a = overrideByKey[plugin.key], { plugins: pluginOverridesPlugins } = _a, pluginOverrides = __rest(_a, ["plugins"]);
11
- plugin = _.defaultsDeep(pluginOverrides, plugin);
12
- if (!nested) {
13
- pluginOverridesPlugins === null || pluginOverridesPlugins === void 0 ? void 0 : pluginOverridesPlugins.forEach(pOverrides => {
14
- if (!plugin.plugins)
15
- plugin.plugins = [];
16
- const found = plugin.plugins.find(p => p.key === pOverrides.key);
17
- if (!found)
18
- plugin.plugins.push(pOverrides);
19
- });
20
- }
21
- }
22
- if (plugin.plugins) {
23
- plugin.plugins = plugin.plugins.map(p => overridePluginsByKey(p, overrideByKey, true));
24
- }
25
- return plugin;
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGUtcGx1Z2lucy1ieS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29yZS91dGlscy9vdmVycmlkZS1wbHVnaW5zLWJ5LWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2hDLE1BQWdDLEVBQ2hDLGdCQUErQixFQUFFLEVBQ2pDLE1BQWdCLEVBQ1EsRUFBRTtJQUMxQixJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0IsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFN0MsTUFBTSxLQUEwRCxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFuRixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsT0FBa0QsRUFBN0MsZUFBZSxjQUFyRCxXQUF1RCxDQUE0QixDQUFDO1FBRTFGLE1BQU0sR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1Qsc0JBQXNCLGFBQXRCLHNCQUFzQix1QkFBdEIsc0JBQXNCLENBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBRXpDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxLQUFLO29CQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ047S0FDSjtJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNoQixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ2pHO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBOb0luZmVyLCBPdmVycmlkZUJ5S2V5LCBUaGVQbHVnaW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1lcmdlT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICog5bCG5q+P5LiqIHBsdWdpbiDku44gYG92ZXJyaWRlQnlLZXlgIOmAkuW9kua3seW6puWQiOW5tuWIsOWFt+acieebuOWQjCBrZXkg55qEIHBsdWdpbu+8iHBsdWdpbiA+IHBsdWdpbi5wbHVnaW5z77yJ44CCXG4gKi9cbmV4cG9ydCBjb25zdCBvdmVycmlkZVBsdWdpbnNCeUtleSA9IDxUID0ge30sIFAgPSB7fT4oXG4gICAgcGx1Z2luOiBUaGVQbHVnaW48VCwgTm9JbmZlcjxQPj4sXG4gICAgb3ZlcnJpZGVCeUtleTogT3ZlcnJpZGVCeUtleSA9IHt9LFxuICAgIG5lc3RlZD86IGJvb2xlYW5cbik6IFRoZVBsdWdpbjxULCBOb0luZmVyPFA+PiA9PiB7XG4gICAgaWYgKG92ZXJyaWRlQnlLZXlbcGx1Z2luLmtleV0pIHtcbiAgICAgICAgcGx1Z2luID0gbWVyZ2VPcHRpb25zKHBsdWdpbiwgb3ZlcnJpZGVCeUtleSk7XG5cbiAgICAgICAgY29uc3QgeyBwbHVnaW5zOiBwbHVnaW5PdmVycmlkZXNQbHVnaW5zLCAuLi5wbHVnaW5PdmVycmlkZXMgfSA9IG92ZXJyaWRlQnlLZXlbcGx1Z2luLmtleV07XG5cbiAgICAgICAgcGx1Z2luID0gXy5kZWZhdWx0c0RlZXAocGx1Z2luT3ZlcnJpZGVzLCBwbHVnaW4pO1xuXG4gICAgICAgIGlmICghbmVzdGVkKSB7XG4gICAgICAgICAgICBwbHVnaW5PdmVycmlkZXNQbHVnaW5zPy5mb3JFYWNoKHBPdmVycmlkZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcGx1Z2luLnBsdWdpbnMpIHBsdWdpbi5wbHVnaW5zID0gW107XG5cbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZCA9IHBsdWdpbi5wbHVnaW5zLmZpbmQocCA9PiBwLmtleSA9PT0gcE92ZXJyaWRlcy5rZXkpO1xuICAgICAgICAgICAgICAgIGlmICghZm91bmQpIHBsdWdpbi5wbHVnaW5zLnB1c2gocE92ZXJyaWRlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwbHVnaW4ucGx1Z2lucykge1xuICAgICAgICBwbHVnaW4ucGx1Z2lucyA9IHBsdWdpbi5wbHVnaW5zLm1hcChwID0+IG92ZXJyaWRlUGx1Z2luc0J5S2V5PFQsIHt9PihwLCBvdmVycmlkZUJ5S2V5LCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdWdpbjtcbn07XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Editor, Range, Path, Transforms } from 'slate';
2
- import { getPluginOptions } from '../core/utils/get-plugin-options';
3
- import * as TheQueries from '../queries';
4
- export const insertElementNext = (editor, element) => {
5
- var _a;
6
- if (Range.isExpanded(editor.selection)) {
7
- Editor.deleteFragment(editor);
8
- }
9
- const type = element.type;
10
- const allowParentTypes = ((_a = getPluginOptions(editor, type)) === null || _a === void 0 ? void 0 : _a.allowParentTypes) || [];
11
- const isAllowInsert = TheQueries.isTypesInParent(editor, allowParentTypes);
12
- const [anchorBlock, anchorBlockPath] = TheQueries.anchorBlockEntry(editor);
13
- const isEmpty = Editor.isEmpty(editor, anchorBlock);
14
- const isContainNested = TheQueries.isContainNestedType(editor, allowParentTypes);
15
- if (isAllowInsert && isContainNested) {
16
- const [, containerPath] = Editor.above(editor, {
17
- match: n => Editor.isBlock(editor, n) && allowParentTypes.includes(n.type),
18
- at: editor.selection
19
- });
20
- Editor.withoutNormalizing(editor, () => {
21
- const containerPathFirstPath = anchorBlockPath.slice(0, containerPath.length + 1);
22
- Transforms.insertNodes(editor, element, { at: Path.next(containerPathFirstPath) });
23
- Transforms.select(editor, Editor.start(editor, Path.next(containerPathFirstPath)));
24
- if (isEmpty) {
25
- Transforms.removeNodes(editor, { at: anchorBlockPath });
26
- }
27
- });
28
- return;
29
- }
30
- const nextPath = Path.next([anchorBlockPath[0]]);
31
- Transforms.insertNodes(editor, element, { at: nextPath });
32
- if (isEmpty && anchorBlockPath.length === 1) {
33
- Transforms.delete(editor, { at: anchorBlockPath });
34
- Transforms.select(editor, Editor.start(editor, anchorBlockPath));
35
- }
36
- else {
37
- Transforms.select(editor, Editor.start(editor, nextPath));
38
- }
39
- };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWVsZW1lbnQtbmV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy90cmFuc2Zvcm1zL2luc2VydC1lbGVtZW50LW5leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBVyxNQUFNLE9BQU8sQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxPQUFnQixFQUFFLEVBQUU7O0lBQ2xFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDcEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFBLE1BQUEsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQywwQ0FBRSxnQkFBZ0IsS0FBSSxFQUFFLENBQUM7SUFDaEYsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRSxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFakYsSUFBSSxhQUFhLElBQUksZUFBZSxFQUFFO1FBQ2xDLE1BQU0sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzNDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFFLEVBQUUsRUFBRSxNQUFNLENBQUMsU0FBUztTQUN2QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNuQyxNQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkYsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixJQUFJLE9BQU8sRUFBRTtnQkFDVCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO2FBQzNEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO0tBQ1Y7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUUxRCxJQUFJLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN6QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7S0FDcEU7U0FBTTtRQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDN0Q7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBQYXRoLCBUcmFuc2Zvcm1zLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uL2NvcmUvdXRpbHMvZ2V0LXBsdWdpbi1vcHRpb25zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vcXVlcmllcyc7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50TmV4dCA9IChlZGl0b3I6IEVkaXRvciwgZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgIGlmIChSYW5nZS5pc0V4cGFuZGVkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgIEVkaXRvci5kZWxldGVGcmFnbWVudChlZGl0b3IpO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBlbGVtZW50LnR5cGU7XG4gICAgY29uc3QgYWxsb3dQYXJlbnRUeXBlcyA9IGdldFBsdWdpbk9wdGlvbnMoZWRpdG9yLCB0eXBlKT8uYWxsb3dQYXJlbnRUeXBlcyB8fCBbXTtcbiAgICBjb25zdCBpc0FsbG93SW5zZXJ0ID0gVGhlUXVlcmllcy5pc1R5cGVzSW5QYXJlbnQoZWRpdG9yLCBhbGxvd1BhcmVudFR5cGVzKTtcbiAgICBjb25zdCBbYW5jaG9yQmxvY2ssIGFuY2hvckJsb2NrUGF0aF0gPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrRW50cnkoZWRpdG9yKTtcbiAgICBjb25zdCBpc0VtcHR5ID0gRWRpdG9yLmlzRW1wdHkoZWRpdG9yLCBhbmNob3JCbG9jayk7XG4gICAgY29uc3QgaXNDb250YWluTmVzdGVkID0gVGhlUXVlcmllcy5pc0NvbnRhaW5OZXN0ZWRUeXBlKGVkaXRvciwgYWxsb3dQYXJlbnRUeXBlcyk7XG5cbiAgICBpZiAoaXNBbGxvd0luc2VydCAmJiBpc0NvbnRhaW5OZXN0ZWQpIHtcbiAgICAgICAgY29uc3QgWywgY29udGFpbmVyUGF0aF0gPSBFZGl0b3IuYWJvdmUoZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pICYmIGFsbG93UGFyZW50VHlwZXMuaW5jbHVkZXMobi50eXBlKSxcbiAgICAgICAgICAgIGF0OiBlZGl0b3Iuc2VsZWN0aW9uXG4gICAgICAgIH0pO1xuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUGF0aEZpcnN0UGF0aCA9IGFuY2hvckJsb2NrUGF0aC5zbGljZSgwLCBjb250YWluZXJQYXRoLmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGVsZW1lbnQsIHsgYXQ6IFBhdGgubmV4dChjb250YWluZXJQYXRoRmlyc3RQYXRoKSB9KTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgUGF0aC5uZXh0KGNvbnRhaW5lclBhdGhGaXJzdFBhdGgpKSk7XG4gICAgICAgICAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBhbmNob3JCbG9ja1BhdGggfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFBhdGggPSBQYXRoLm5leHQoW2FuY2hvckJsb2NrUGF0aFswXV0pO1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBlbGVtZW50LCB7IGF0OiBuZXh0UGF0aCB9KTtcblxuICAgIGlmIChpc0VtcHR5ICYmIGFuY2hvckJsb2NrUGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBhbmNob3JCbG9ja1BhdGggfSk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLnN0YXJ0KGVkaXRvciwgYW5jaG9yQmxvY2tQYXRoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBuZXh0UGF0aCkpO1xuICAgIH1cbn07XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const insertElement = (editor, element) => editor.insertElement(element);
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdHJhbnNmb3Jtcy9pbnNlcnQtZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFpQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50ID0gKGVkaXRvcjogVGhlRWRpdG9yLCBlbGVtZW50OiBFbGVtZW50KSA9PiBlZGl0b3IuaW5zZXJ0RWxlbWVudChlbGVtZW50KTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- import { Editor, Element } from 'slate';
2
- export declare const insertElementNext: (editor: Editor, element: Element) => void;
@@ -1,3 +0,0 @@
1
- import { Element } from 'slate';
2
- import { TheEditor } from '../interfaces';
3
- export declare const insertElement: (editor: TheEditor, element: Element) => void;