roosterjs-content-model-types 9.27.0 → 9.29.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.
@@ -42,6 +42,11 @@ export interface DomIndexer {
42
42
  * Node1 will become "FooBar", Node2 will be removed from DOM tree
43
43
  */
44
44
  onMergeText: (targetText: Text, sourceText: Text) => void;
45
+ /**
46
+ * Clear index from the given container and all its descendants
47
+ * @param container The root container to clear index from
48
+ */
49
+ clearIndex: (container: Node) => void;
45
50
  /**
46
51
  * When document content or selection is changed by user, we need to use this function to update the content model
47
52
  * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.
@@ -1 +1 @@
1
- {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
1
+ {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * Clear index from the given container and all its descendants\n * @param container The root container to clear index from\n */\n clearIndex: (container: Node) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
@@ -42,6 +42,11 @@ export interface DomIndexer {
42
42
  * Node1 will become "FooBar", Node2 will be removed from DOM tree
43
43
  */
44
44
  onMergeText: (targetText: Text, sourceText: Text) => void;
45
+ /**
46
+ * Clear index from the given container and all its descendants
47
+ * @param container The root container to clear index from
48
+ */
49
+ clearIndex: (container: Node) => void;
45
50
  /**
46
51
  * When document content or selection is changed by user, we need to use this function to update the content model
47
52
  * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.
@@ -1 +1 @@
1
- {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
1
+ {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * Clear index from the given container and all its descendants\n * @param container The root container to clear index from\n */\n clearIndex: (container: Node) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
@@ -42,6 +42,11 @@ export interface DomIndexer {
42
42
  * Node1 will become "FooBar", Node2 will be removed from DOM tree
43
43
  */
44
44
  onMergeText: (targetText: Text, sourceText: Text) => void;
45
+ /**
46
+ * Clear index from the given container and all its descendants
47
+ * @param container The root container to clear index from
48
+ */
49
+ clearIndex: (container: Node) => void;
45
50
  /**
46
51
  * When document content or selection is changed by user, we need to use this function to update the content model
47
52
  * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.
@@ -1 +1 @@
1
- {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
1
+ {"version":3,"file":"DomIndexer.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-types/lib/context/DomIndexer.ts"],"names":[],"mappings":"","sourcesContent":["import type { ContentModelBlockGroup } from '../contentModel/blockGroup/ContentModelBlockGroup';\nimport type { CacheSelection } from '../pluginState/CachePluginState';\nimport type { ContentModelDocument } from '../contentModel/blockGroup/ContentModelDocument';\nimport type { ContentModelParagraph } from '../contentModel/block/ContentModelParagraph';\nimport type { ContentModelSegment } from '../contentModel/segment/ContentModelSegment';\nimport type { ContentModelTable } from '../contentModel/block/ContentModelTable';\nimport type { DOMSelection } from '../selection/DOMSelection';\nimport type { ContentModelEntity } from '../contentModel/entity/ContentModelEntity';\n\n/**\n * Represents an indexer object which provides methods to help build backward relationship\n * from DOM node to Content Model\n */\nexport interface DomIndexer {\n /**\n * Invoked when processing a segment\n * @param segmentNode The new DOM node for this segment\n * @param paragraph Parent paragraph of this segment\n * @param segments The source segments\n */\n onSegment: (\n segmentNode: Node,\n paragraph: ContentModelParagraph,\n segments: ContentModelSegment[]\n ) => void;\n\n /**\n * Invoked when new paragraph node is created in DOM tree\n * @param paragraphElement The new DOM node for this paragraph\n */\n onParagraph: (paragraphElement: HTMLElement) => void;\n\n /**\n * Invoked when new table node is created in DOM tree\n * @param tableElement The new DOM node for this table\n */\n onTable: (tableElement: HTMLTableElement, tableModel: ContentModelTable) => void;\n\n /**\n * Invoke when new block entity is created in DOM tree\n * @param entity The related entity\n * @param parent Parent of entity. For block element, this should be the parent block group. For inline entity, this should be the parent paragraph\n */\n onBlockEntity: (entity: ContentModelEntity, group: ContentModelBlockGroup) => void;\n\n /**\n * Invoke when merge two continuous text nodes, we need to merge their indexes as well\n * @param targetText Target text node to merge into\n * @param sourceText Source text node to merge from\n * @example Assume we have two text nodes: Node1=\"Foo\", Node2=\"Bar\", after merge,\n * Node1 will become \"FooBar\", Node2 will be removed from DOM tree\n */\n onMergeText: (targetText: Text, sourceText: Text) => void;\n\n /**\n * Clear index from the given container and all its descendants\n * @param container The root container to clear index from\n */\n clearIndex: (container: Node) => void;\n\n /**\n * When document content or selection is changed by user, we need to use this function to update the content model\n * to reflect the latest document. This process can fail since the selected node may not have a related model data structure.\n * @param model Current cached content model\n * @param newSelection Latest selection\n * @param oldSelection @optional Original selection before this change\n * @returns True if reconcile successfully, otherwise false\n */\n reconcileSelection: (\n model: ContentModelDocument,\n newSelection: DOMSelection,\n oldSelection?: CacheSelection\n ) => boolean;\n\n /**\n * When id is changed from DOM element, update the new ID to related content model if possible\n * @param element The element that has id changed\n * @returns True if successfully updated, otherwise false\n */\n reconcileElementId: (element: HTMLElement) => boolean;\n\n /**\n * When child list of editor content is changed, we can use this method to do sync the change from editor into content model.\n * This is mostly used when user start to type in an empty line. In that case browser will remove the existing BR node in the empty line if any,\n * and create a new TEXT node for the typed text. Here we use these information to remove original Br segment and create a new Text segment\n * in content model. But if we find anything that cannot be handled, return false so caller will invalidate the cached model\n * @param addedNodes Nodes added by browser during mutation\n * @param removedNodes Nodes removed by browser during mutation\n * @returns True if the changed nodes are successfully reconciled, otherwise false\n */\n reconcileChildList: (addedNodes: ArrayLike<Node>, removedNodes: ArrayLike<Node>) => boolean;\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "roosterjs-content-model-types",
3
3
  "description": "Types for roosterjs",
4
4
  "dependencies": {},
5
- "version": "9.27.0",
5
+ "version": "9.29.0",
6
6
  "main": "./lib/index.js",
7
7
  "typings": "./lib/index.d.ts",
8
8
  "module": "./lib-mjs/index.js",