roosterjs-content-model-types 0.14.0 → 0.16.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.
Files changed (37) hide show
  1. package/lib/context/ContentModelHandler.d.ts +11 -0
  2. package/lib/context/ContentModelHandler.js.map +1 -1
  3. package/lib/context/DomToModelOption.d.ts +1 -5
  4. package/lib/context/DomToModelOption.js.map +1 -1
  5. package/lib/context/DomToModelSettings.d.ts +0 -4
  6. package/lib/context/DomToModelSettings.js.map +1 -1
  7. package/lib/context/ModelToDomOption.d.ts +1 -11
  8. package/lib/context/ModelToDomOption.js.map +1 -1
  9. package/lib/context/ModelToDomSettings.d.ts +17 -12
  10. package/lib/context/ModelToDomSettings.js.map +1 -1
  11. package/lib/index.d.ts +1 -1
  12. package/lib/index.js.map +1 -1
  13. package/lib-amd/context/ContentModelHandler.d.ts +11 -0
  14. package/lib-amd/context/ContentModelHandler.js.map +1 -1
  15. package/lib-amd/context/DomToModelOption.d.ts +1 -5
  16. package/lib-amd/context/DomToModelOption.js.map +1 -1
  17. package/lib-amd/context/DomToModelSettings.d.ts +0 -4
  18. package/lib-amd/context/DomToModelSettings.js.map +1 -1
  19. package/lib-amd/context/ModelToDomOption.d.ts +1 -11
  20. package/lib-amd/context/ModelToDomOption.js.map +1 -1
  21. package/lib-amd/context/ModelToDomSettings.d.ts +17 -12
  22. package/lib-amd/context/ModelToDomSettings.js.map +1 -1
  23. package/lib-amd/index.d.ts +1 -1
  24. package/lib-amd/index.js.map +1 -1
  25. package/lib-mjs/context/ContentModelHandler.d.ts +11 -0
  26. package/lib-mjs/context/ContentModelHandler.js.map +1 -1
  27. package/lib-mjs/context/DomToModelOption.d.ts +1 -5
  28. package/lib-mjs/context/DomToModelOption.js.map +1 -1
  29. package/lib-mjs/context/DomToModelSettings.d.ts +0 -4
  30. package/lib-mjs/context/DomToModelSettings.js.map +1 -1
  31. package/lib-mjs/context/ModelToDomOption.d.ts +1 -11
  32. package/lib-mjs/context/ModelToDomOption.js.map +1 -1
  33. package/lib-mjs/context/ModelToDomSettings.d.ts +17 -12
  34. package/lib-mjs/context/ModelToDomSettings.js.map +1 -1
  35. package/lib-mjs/index.d.ts +1 -1
  36. package/lib-mjs/index.js.map +1 -1
  37. package/package.json +2 -2
@@ -21,3 +21,14 @@ export declare type ContentModelHandler<T extends ContentModelSegment | ContentM
21
21
  * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.
22
22
  */
23
23
  export declare type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, refNode: Node | null) => Node | null;
24
+ /**
25
+ * Type of Content Model to DOM handler for block
26
+ * @param doc Target HTML Document object
27
+ * @param parent Parent HTML node to append the new node from the given model
28
+ * @param model The Content Model to handle
29
+ * @param context The context object to provide related information
30
+ * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except
31
+ * - For segments with decorators: decorator elements will also be included
32
+ * - For inline entity segment, the delimiter SPANs will also be included
33
+ */
34
+ export declare type ContentModelSegmentHandler<T extends ContentModelSegment> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, segmentNodes: Node[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n"]}
1
+ {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except\n * - For segments with decorators: decorator elements will also be included\n * - For inline entity segment, the delimiter SPANs will also be included\n */\nexport type ContentModelSegmentHandler<T extends ContentModelSegment> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n segmentNodes: Node[]\n) => void;\n"]}
@@ -1,4 +1,4 @@
1
- import { DefaultStyleMap, ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
1
+ import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
2
2
  /**
3
3
  * Options for creating DomToModelContext
4
4
  */
@@ -7,10 +7,6 @@ export interface DomToModelOption {
7
7
  * Overrides default element processors
8
8
  */
9
9
  processorOverride?: Partial<ElementProcessorMap>;
10
- /**
11
- * Overrides default element styles
12
- */
13
- defaultStyleOverride?: DefaultStyleMap;
14
10
  /**
15
11
  * Overrides default format handlers
16
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n} from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default element styles\n */\n defaultStyleOverride?: DefaultStyleMap;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
@@ -83,10 +83,6 @@ export interface DomToModelSettings {
83
83
  * Map of element processors
84
84
  */
85
85
  elementProcessors: ElementProcessorMap;
86
- /**
87
- * Map of default styles
88
- */
89
- defaultStyles: DefaultStyleMap;
90
86
  /**
91
87
  * Map of format parsers
92
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of default styles\n */\n defaultStyles: DefaultStyleMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ContentModelHandlerMap, DefaultImplicitFormatMap, FormatAppliers, FormatAppliersPerCategory, OnNodeCreated } from './ModelToDomSettings';
1
+ import { ContentModelHandlerMap, FormatAppliers, FormatAppliersPerCategory } from './ModelToDomSettings';
2
2
  /**
3
3
  * Options for creating ModelToDomContext
4
4
  */
@@ -15,14 +15,4 @@ export interface ModelToDomOption {
15
15
  * Overrides default model handlers
16
16
  */
17
17
  modelHandlerOverride?: Partial<ContentModelHandlerMap>;
18
- /**
19
- * Overrides default element styles
20
- */
21
- defaultImplicitFormatOverride?: DefaultImplicitFormatMap;
22
- /**
23
- * An optional callback that will be called when a DOM node is created
24
- * @param modelElement The related Content Model element
25
- * @param node The node created for this model element
26
- */
27
- onNodeCreated?: OnNodeCreated;
28
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n\n /**\n * Overrides default element styles\n */\n defaultImplicitFormatOverride?: DefaultImplicitFormatMap;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import { ContentModelBlock } from '../block/ContentModelBlock';
2
2
  import { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';
3
3
  import { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';
4
- import { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';
5
4
  import { ContentModelBr } from '../segment/ContentModelBr';
6
5
  import { ContentModelDecorator } from '../decorator/ContentModelDecorator';
7
6
  import { ContentModelDivider } from '../block/ContentModelDivider';
@@ -10,6 +9,7 @@ import { ContentModelFormatBase } from '../format/ContentModelFormatBase';
10
9
  import { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';
11
10
  import { ContentModelFormatMap } from '../format/ContentModelFormatMap';
12
11
  import { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';
12
+ import { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';
13
13
  import { ContentModelImage } from '../segment/ContentModelImage';
14
14
  import { ContentModelListItem } from '../group/ContentModelListItem';
15
15
  import { ContentModelParagraph } from '../block/ContentModelParagraph';
@@ -20,6 +20,7 @@ import { ContentModelTableRow } from '../block/ContentModelTableRow';
20
20
  import { ContentModelText } from '../segment/ContentModelText';
21
21
  import { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';
22
22
  import { ModelToDomContext } from './ModelToDomContext';
23
+ import { ContentModelHandler, ContentModelBlockHandler, ContentModelSegmentHandler } from './ContentModelHandler';
23
24
  /**
24
25
  * Default implicit format map from tag name (lower case) to segment format
25
26
  */
@@ -58,15 +59,23 @@ export declare type ContentModelHandlerMap = {
58
59
  /**
59
60
  * Content Model type for ContentModelBr
60
61
  */
61
- br: ContentModelHandler<ContentModelBr>;
62
+ br: ContentModelSegmentHandler<ContentModelBr>;
62
63
  /**
63
64
  * Content Model type for child models of ContentModelEntity
64
65
  */
65
- entity: ContentModelBlockHandler<ContentModelEntity>;
66
+ entityBlock: ContentModelBlockHandler<ContentModelEntity>;
67
+ /**
68
+ * Content Model type for child models of ContentModelEntity
69
+ */
70
+ entitySegment: ContentModelSegmentHandler<ContentModelEntity>;
71
+ /**
72
+ * Content Model type for ContentModelGeneralBlock
73
+ */
74
+ generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;
66
75
  /**
67
76
  * Content Model type for ContentModelGeneralBlock
68
77
  */
69
- general: ContentModelBlockHandler<ContentModelGeneralBlock>;
78
+ generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;
70
79
  /**
71
80
  * Content Model type for ContentModelHR
72
81
  */
@@ -74,7 +83,7 @@ export declare type ContentModelHandlerMap = {
74
83
  /**
75
84
  * Content Model type for ContentModelImage
76
85
  */
77
- image: ContentModelHandler<ContentModelImage>;
86
+ image: ContentModelSegmentHandler<ContentModelImage>;
78
87
  /**
79
88
  * Content Model type for list group of ContentModelListItem
80
89
  */
@@ -94,11 +103,11 @@ export declare type ContentModelHandlerMap = {
94
103
  /**
95
104
  * Content Model type for ContentModelSegment
96
105
  */
97
- segment: ContentModelHandler<ContentModelSegment>;
106
+ segment: ContentModelSegmentHandler<ContentModelSegment>;
98
107
  /**
99
108
  * Content Model type for ContentModelCode
100
109
  */
101
- segmentDecorator: ContentModelHandler<ContentModelSegment>;
110
+ segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;
102
111
  /**
103
112
  * Content Model type for ContentModelTable
104
113
  */
@@ -106,7 +115,7 @@ export declare type ContentModelHandlerMap = {
106
115
  /**
107
116
  * Content Model type for ContentModelText
108
117
  */
109
- text: ContentModelHandler<ContentModelText>;
118
+ text: ContentModelSegmentHandler<ContentModelText>;
110
119
  };
111
120
  /**
112
121
  * An optional callback that will be called when a DOM node is created
@@ -126,10 +135,6 @@ export interface ModelToDomSettings {
126
135
  * Map of format appliers
127
136
  */
128
137
  formatAppliers: FormatAppliersPerCategory;
129
- /**
130
- * Map of default implicit format for segment
131
- */
132
- defaultImplicitFormatMap: DefaultImplicitFormatMap;
133
138
  /**
134
139
  * Default Content Model to DOM handlers before overriding.
135
140
  * This provides a way to call original handler from an overridden handler function
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entity: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n general: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Map of default implicit format for segment\n */\n defaultImplicitFormatMap: DefaultImplicitFormatMap;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\nimport {\n ContentModelHandler,\n ContentModelBlockHandler,\n ContentModelSegmentHandler,\n} from './ContentModelHandler';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelSegmentHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entityBlock: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entitySegment: ContentModelSegmentHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelSegmentHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelSegmentHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -90,6 +90,6 @@ export { DomToModelFormatContext, DomToModelDecoratorContext, DomToModelListForm
90
90
  export { ModelToDomContext } from './context/ModelToDomContext';
91
91
  export { ModelToDomBlockAndSegmentNode, ModelToDomRegularSelection, ModelToDomTableSelection, ModelToDomImageSelection, ModelToDomSelectionContext, } from './context/ModelToDomSelectionContext';
92
92
  export { ModelToDomListStackItem, ModelToDomListContext, ModelToDomFormatContext, } from './context/ModelToDomFormatContext';
93
- export { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';
93
+ export { ContentModelHandler, ContentModelSegmentHandler, ContentModelBlockHandler, } from './context/ContentModelHandler';
94
94
  export { DomToModelOption } from './context/DomToModelOption';
95
95
  export { ModelToDomOption } from './context/ModelToDomOption';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport {\n ContentModelHandler,\n ContentModelSegmentHandler,\n ContentModelBlockHandler,\n} from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
@@ -21,3 +21,14 @@ export declare type ContentModelHandler<T extends ContentModelSegment | ContentM
21
21
  * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.
22
22
  */
23
23
  export declare type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, refNode: Node | null) => Node | null;
24
+ /**
25
+ * Type of Content Model to DOM handler for block
26
+ * @param doc Target HTML Document object
27
+ * @param parent Parent HTML node to append the new node from the given model
28
+ * @param model The Content Model to handle
29
+ * @param context The context object to provide related information
30
+ * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except
31
+ * - For segments with decorators: decorator elements will also be included
32
+ * - For inline entity segment, the delimiter SPANs will also be included
33
+ */
34
+ export declare type ContentModelSegmentHandler<T extends ContentModelSegment> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, segmentNodes: Node[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n"]}
1
+ {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except\n * - For segments with decorators: decorator elements will also be included\n * - For inline entity segment, the delimiter SPANs will also be included\n */\nexport type ContentModelSegmentHandler<T extends ContentModelSegment> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n segmentNodes: Node[]\n) => void;\n"]}
@@ -1,4 +1,4 @@
1
- import { DefaultStyleMap, ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
1
+ import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
2
2
  /**
3
3
  * Options for creating DomToModelContext
4
4
  */
@@ -7,10 +7,6 @@ export interface DomToModelOption {
7
7
  * Overrides default element processors
8
8
  */
9
9
  processorOverride?: Partial<ElementProcessorMap>;
10
- /**
11
- * Overrides default element styles
12
- */
13
- defaultStyleOverride?: DefaultStyleMap;
14
10
  /**
15
11
  * Overrides default format handlers
16
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n} from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default element styles\n */\n defaultStyleOverride?: DefaultStyleMap;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
@@ -83,10 +83,6 @@ export interface DomToModelSettings {
83
83
  * Map of element processors
84
84
  */
85
85
  elementProcessors: ElementProcessorMap;
86
- /**
87
- * Map of default styles
88
- */
89
- defaultStyles: DefaultStyleMap;
90
86
  /**
91
87
  * Map of format parsers
92
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of default styles\n */\n defaultStyles: DefaultStyleMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ContentModelHandlerMap, DefaultImplicitFormatMap, FormatAppliers, FormatAppliersPerCategory, OnNodeCreated } from './ModelToDomSettings';
1
+ import { ContentModelHandlerMap, FormatAppliers, FormatAppliersPerCategory } from './ModelToDomSettings';
2
2
  /**
3
3
  * Options for creating ModelToDomContext
4
4
  */
@@ -15,14 +15,4 @@ export interface ModelToDomOption {
15
15
  * Overrides default model handlers
16
16
  */
17
17
  modelHandlerOverride?: Partial<ContentModelHandlerMap>;
18
- /**
19
- * Overrides default element styles
20
- */
21
- defaultImplicitFormatOverride?: DefaultImplicitFormatMap;
22
- /**
23
- * An optional callback that will be called when a DOM node is created
24
- * @param modelElement The related Content Model element
25
- * @param node The node created for this model element
26
- */
27
- onNodeCreated?: OnNodeCreated;
28
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n\n /**\n * Overrides default element styles\n */\n defaultImplicitFormatOverride?: DefaultImplicitFormatMap;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import { ContentModelBlock } from '../block/ContentModelBlock';
2
2
  import { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';
3
3
  import { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';
4
- import { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';
5
4
  import { ContentModelBr } from '../segment/ContentModelBr';
6
5
  import { ContentModelDecorator } from '../decorator/ContentModelDecorator';
7
6
  import { ContentModelDivider } from '../block/ContentModelDivider';
@@ -10,6 +9,7 @@ import { ContentModelFormatBase } from '../format/ContentModelFormatBase';
10
9
  import { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';
11
10
  import { ContentModelFormatMap } from '../format/ContentModelFormatMap';
12
11
  import { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';
12
+ import { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';
13
13
  import { ContentModelImage } from '../segment/ContentModelImage';
14
14
  import { ContentModelListItem } from '../group/ContentModelListItem';
15
15
  import { ContentModelParagraph } from '../block/ContentModelParagraph';
@@ -20,6 +20,7 @@ import { ContentModelTableRow } from '../block/ContentModelTableRow';
20
20
  import { ContentModelText } from '../segment/ContentModelText';
21
21
  import { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';
22
22
  import { ModelToDomContext } from './ModelToDomContext';
23
+ import { ContentModelHandler, ContentModelBlockHandler, ContentModelSegmentHandler } from './ContentModelHandler';
23
24
  /**
24
25
  * Default implicit format map from tag name (lower case) to segment format
25
26
  */
@@ -58,15 +59,23 @@ export declare type ContentModelHandlerMap = {
58
59
  /**
59
60
  * Content Model type for ContentModelBr
60
61
  */
61
- br: ContentModelHandler<ContentModelBr>;
62
+ br: ContentModelSegmentHandler<ContentModelBr>;
62
63
  /**
63
64
  * Content Model type for child models of ContentModelEntity
64
65
  */
65
- entity: ContentModelBlockHandler<ContentModelEntity>;
66
+ entityBlock: ContentModelBlockHandler<ContentModelEntity>;
67
+ /**
68
+ * Content Model type for child models of ContentModelEntity
69
+ */
70
+ entitySegment: ContentModelSegmentHandler<ContentModelEntity>;
71
+ /**
72
+ * Content Model type for ContentModelGeneralBlock
73
+ */
74
+ generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;
66
75
  /**
67
76
  * Content Model type for ContentModelGeneralBlock
68
77
  */
69
- general: ContentModelBlockHandler<ContentModelGeneralBlock>;
78
+ generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;
70
79
  /**
71
80
  * Content Model type for ContentModelHR
72
81
  */
@@ -74,7 +83,7 @@ export declare type ContentModelHandlerMap = {
74
83
  /**
75
84
  * Content Model type for ContentModelImage
76
85
  */
77
- image: ContentModelHandler<ContentModelImage>;
86
+ image: ContentModelSegmentHandler<ContentModelImage>;
78
87
  /**
79
88
  * Content Model type for list group of ContentModelListItem
80
89
  */
@@ -94,11 +103,11 @@ export declare type ContentModelHandlerMap = {
94
103
  /**
95
104
  * Content Model type for ContentModelSegment
96
105
  */
97
- segment: ContentModelHandler<ContentModelSegment>;
106
+ segment: ContentModelSegmentHandler<ContentModelSegment>;
98
107
  /**
99
108
  * Content Model type for ContentModelCode
100
109
  */
101
- segmentDecorator: ContentModelHandler<ContentModelSegment>;
110
+ segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;
102
111
  /**
103
112
  * Content Model type for ContentModelTable
104
113
  */
@@ -106,7 +115,7 @@ export declare type ContentModelHandlerMap = {
106
115
  /**
107
116
  * Content Model type for ContentModelText
108
117
  */
109
- text: ContentModelHandler<ContentModelText>;
118
+ text: ContentModelSegmentHandler<ContentModelText>;
110
119
  };
111
120
  /**
112
121
  * An optional callback that will be called when a DOM node is created
@@ -126,10 +135,6 @@ export interface ModelToDomSettings {
126
135
  * Map of format appliers
127
136
  */
128
137
  formatAppliers: FormatAppliersPerCategory;
129
- /**
130
- * Map of default implicit format for segment
131
- */
132
- defaultImplicitFormatMap: DefaultImplicitFormatMap;
133
138
  /**
134
139
  * Default Content Model to DOM handlers before overriding.
135
140
  * This provides a way to call original handler from an overridden handler function
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entity: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n general: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Map of default implicit format for segment\n */\n defaultImplicitFormatMap: DefaultImplicitFormatMap;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\nimport {\n ContentModelHandler,\n ContentModelBlockHandler,\n ContentModelSegmentHandler,\n} from './ContentModelHandler';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelSegmentHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entityBlock: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entitySegment: ContentModelSegmentHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelSegmentHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelSegmentHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
@@ -90,6 +90,6 @@ export { DomToModelFormatContext, DomToModelDecoratorContext, DomToModelListForm
90
90
  export { ModelToDomContext } from './context/ModelToDomContext';
91
91
  export { ModelToDomBlockAndSegmentNode, ModelToDomRegularSelection, ModelToDomTableSelection, ModelToDomImageSelection, ModelToDomSelectionContext, } from './context/ModelToDomSelectionContext';
92
92
  export { ModelToDomListStackItem, ModelToDomListContext, ModelToDomFormatContext, } from './context/ModelToDomFormatContext';
93
- export { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';
93
+ export { ContentModelHandler, ContentModelSegmentHandler, ContentModelBlockHandler, } from './context/ContentModelHandler';
94
94
  export { DomToModelOption } from './context/DomToModelOption';
95
95
  export { ModelToDomOption } from './context/ModelToDomOption';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport {\n ContentModelHandler,\n ContentModelSegmentHandler,\n ContentModelBlockHandler,\n} from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
@@ -21,3 +21,14 @@ export declare type ContentModelHandler<T extends ContentModelSegment | ContentM
21
21
  * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.
22
22
  */
23
23
  export declare type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, refNode: Node | null) => Node | null;
24
+ /**
25
+ * Type of Content Model to DOM handler for block
26
+ * @param doc Target HTML Document object
27
+ * @param parent Parent HTML node to append the new node from the given model
28
+ * @param model The Content Model to handle
29
+ * @param context The context object to provide related information
30
+ * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except
31
+ * - For segments with decorators: decorator elements will also be included
32
+ * - For inline entity segment, the delimiter SPANs will also be included
33
+ */
34
+ export declare type ContentModelSegmentHandler<T extends ContentModelSegment> = (doc: Document, parent: Node, model: T, context: ModelToDomContext, segmentNodes: Node[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n"]}
1
+ {"version":3,"file":"ContentModelHandler.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ContentModelHandler.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Type of Content Model to DOM handler\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n */\nexport type ContentModelHandler<\n T extends ContentModelSegment | ContentModelBlockGroup | ContentModelDecorator\n> = (doc: Document, parent: Node, model: T, context: ModelToDomContext) => void;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param refNode Reference node. This is the next node the new node to be inserted.\n * It is used when write DOM tree onto existing DOM true. If there is no reference node, pass null.\n */\nexport type ContentModelBlockHandler<T extends ContentModelBlock | ContentModelBlockGroup> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n refNode: Node | null\n) => Node | null;\n\n/**\n * Type of Content Model to DOM handler for block\n * @param doc Target HTML Document object\n * @param parent Parent HTML node to append the new node from the given model\n * @param model The Content Model to handle\n * @param context The context object to provide related information\n * @param segmentNodes Nodes that created to represent this segment. In most cases there will be one node returned, except\n * - For segments with decorators: decorator elements will also be included\n * - For inline entity segment, the delimiter SPANs will also be included\n */\nexport type ContentModelSegmentHandler<T extends ContentModelSegment> = (\n doc: Document,\n parent: Node,\n model: T,\n context: ModelToDomContext,\n segmentNodes: Node[]\n) => void;\n"]}
@@ -1,4 +1,4 @@
1
- import { DefaultStyleMap, ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
1
+ import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';
2
2
  /**
3
3
  * Options for creating DomToModelContext
4
4
  */
@@ -7,10 +7,6 @@ export interface DomToModelOption {
7
7
  * Overrides default element processors
8
8
  */
9
9
  processorOverride?: Partial<ElementProcessorMap>;
10
- /**
11
- * Overrides default element styles
12
- */
13
- defaultStyleOverride?: DefaultStyleMap;
14
10
  /**
15
11
  * Overrides default format handlers
16
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n} from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default element styles\n */\n defaultStyleOverride?: DefaultStyleMap;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelOption.ts"],"names":[],"mappings":"","sourcesContent":["import { ElementProcessorMap, FormatParsers, FormatParsersPerCategory } from './DomToModelSettings';\n\n/**\n * Options for creating DomToModelContext\n */\nexport interface DomToModelOption {\n /**\n * Overrides default element processors\n */\n processorOverride?: Partial<ElementProcessorMap>;\n\n /**\n * Overrides default format handlers\n */\n formatParserOverride?: Partial<FormatParsers>;\n\n /**\n * Provide additional format parsers for each format type\n */\n additionalFormatParsers?: Partial<FormatParsersPerCategory>;\n}\n"]}
@@ -83,10 +83,6 @@ export interface DomToModelSettings {
83
83
  * Map of element processors
84
84
  */
85
85
  elementProcessors: ElementProcessorMap;
86
- /**
87
- * Map of default styles
88
- */
89
- defaultStyles: DefaultStyleMap;
90
86
  /**
91
87
  * Map of format parsers
92
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of default styles\n */\n defaultStyles: DefaultStyleMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
1
+ {"version":3,"file":"DomToModelSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/DomToModelSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { DomToModelContext } from './DomToModelContext';\nimport { ElementProcessor } from './ElementProcessor';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\n\n/**\n * A type of Default style map, from tag name string (in upper case) to a static style object\n */\nexport type DefaultStyleMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: Readonly<Partial<CSSStyleDeclaration>>;\n } & {\n // Workaround typescript 4.4.4 which does not have these elements in its declaration file\n center?: Partial<CSSStyleDeclaration>;\n strike?: Partial<CSSStyleDeclaration>;\n };\n\n/**\n * Parse format from the given HTML element and default style\n * @param format The format object to parse into\n * @param element The HTML element to parse format from\n * @param context The context object that provide related context information\n * @param defaultStyle Default CSS style of the given HTML element\n */\nexport type FormatParser<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: DomToModelContext,\n defaultStyle: Readonly<Partial<CSSStyleDeclaration>>\n) => void;\n\n/**\n * All format parsers\n */\nexport type FormatParsers = {\n [Key in FormatKey]: FormatParser<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatParsersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatParser<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * A map from element processor name to its processor type\n */\nexport type ElementProcessorMap = {\n [key in keyof HTMLElementDeprecatedTagNameMap]?: ElementProcessor<\n HTMLElementDeprecatedTagNameMap[key]\n >;\n} &\n {\n [key in keyof HTMLElementTagNameMap]?: ElementProcessor<HTMLElementTagNameMap[key]>;\n } & {\n /**\n * Processors for all other HTML elements\n */\n '*': ElementProcessor<HTMLElement>;\n\n /**\n * Processor for text node\n */\n '#text': ElementProcessor<Text>;\n\n /**\n * Processor for entity\n */\n entity: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor dispatch for all elements\n */\n element: ElementProcessor<HTMLElement>;\n\n /**\n * Common processor for child nodes of a given element\n */\n child: ElementProcessor<ParentNode>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"strike\" in its element type\n */\n strike?: ElementProcessor<HTMLElement>;\n\n /**\n * Workaround for typescript 4.4.4 that doesn't have element \"center\" in its element type\n */\n center?: ElementProcessor<HTMLElement>;\n\n /**\n * Processor for Inline Readonly Delimiters\n */\n delimiter?: ElementProcessor<Node>;\n };\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface DomToModelSettings {\n /**\n * Map of element processors\n */\n elementProcessors: ElementProcessorMap;\n\n /**\n * Map of format parsers\n */\n formatParsers: FormatParsersPerCategory;\n\n /**\n * Default DOM to Content Model processors before overriding.\n * This provides a way to call original processor from an overridden processor function\n */\n defaultElementProcessors: Readonly<ElementProcessorMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format parser from an overridden parser function\n */\n defaultFormatParsers: Readonly<FormatParsers>;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ContentModelHandlerMap, DefaultImplicitFormatMap, FormatAppliers, FormatAppliersPerCategory, OnNodeCreated } from './ModelToDomSettings';
1
+ import { ContentModelHandlerMap, FormatAppliers, FormatAppliersPerCategory } from './ModelToDomSettings';
2
2
  /**
3
3
  * Options for creating ModelToDomContext
4
4
  */
@@ -15,14 +15,4 @@ export interface ModelToDomOption {
15
15
  * Overrides default model handlers
16
16
  */
17
17
  modelHandlerOverride?: Partial<ContentModelHandlerMap>;
18
- /**
19
- * Overrides default element styles
20
- */
21
- defaultImplicitFormatOverride?: DefaultImplicitFormatMap;
22
- /**
23
- * An optional callback that will be called when a DOM node is created
24
- * @param modelElement The related Content Model element
25
- * @param node The node created for this model element
26
- */
27
- onNodeCreated?: OnNodeCreated;
28
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n\n /**\n * Overrides default element styles\n */\n defaultImplicitFormatOverride?: DefaultImplicitFormatMap;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomOption.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomOption.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ContentModelHandlerMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n} from './ModelToDomSettings';\n\n/**\n * Options for creating ModelToDomContext\n */\nexport interface ModelToDomOption {\n /**\n * Overrides default format appliers\n */\n formatApplierOverride?: Partial<FormatAppliers>;\n\n /**\n * Provide additional format appliers for each format type\n */\n additionalFormatAppliers?: Partial<FormatAppliersPerCategory>;\n\n /**\n * Overrides default model handlers\n */\n modelHandlerOverride?: Partial<ContentModelHandlerMap>;\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import { ContentModelBlock } from '../block/ContentModelBlock';
2
2
  import { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';
3
3
  import { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';
4
- import { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';
5
4
  import { ContentModelBr } from '../segment/ContentModelBr';
6
5
  import { ContentModelDecorator } from '../decorator/ContentModelDecorator';
7
6
  import { ContentModelDivider } from '../block/ContentModelDivider';
@@ -10,6 +9,7 @@ import { ContentModelFormatBase } from '../format/ContentModelFormatBase';
10
9
  import { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';
11
10
  import { ContentModelFormatMap } from '../format/ContentModelFormatMap';
12
11
  import { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';
12
+ import { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';
13
13
  import { ContentModelImage } from '../segment/ContentModelImage';
14
14
  import { ContentModelListItem } from '../group/ContentModelListItem';
15
15
  import { ContentModelParagraph } from '../block/ContentModelParagraph';
@@ -20,6 +20,7 @@ import { ContentModelTableRow } from '../block/ContentModelTableRow';
20
20
  import { ContentModelText } from '../segment/ContentModelText';
21
21
  import { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';
22
22
  import { ModelToDomContext } from './ModelToDomContext';
23
+ import { ContentModelHandler, ContentModelBlockHandler, ContentModelSegmentHandler } from './ContentModelHandler';
23
24
  /**
24
25
  * Default implicit format map from tag name (lower case) to segment format
25
26
  */
@@ -58,15 +59,23 @@ export declare type ContentModelHandlerMap = {
58
59
  /**
59
60
  * Content Model type for ContentModelBr
60
61
  */
61
- br: ContentModelHandler<ContentModelBr>;
62
+ br: ContentModelSegmentHandler<ContentModelBr>;
62
63
  /**
63
64
  * Content Model type for child models of ContentModelEntity
64
65
  */
65
- entity: ContentModelBlockHandler<ContentModelEntity>;
66
+ entityBlock: ContentModelBlockHandler<ContentModelEntity>;
67
+ /**
68
+ * Content Model type for child models of ContentModelEntity
69
+ */
70
+ entitySegment: ContentModelSegmentHandler<ContentModelEntity>;
71
+ /**
72
+ * Content Model type for ContentModelGeneralBlock
73
+ */
74
+ generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;
66
75
  /**
67
76
  * Content Model type for ContentModelGeneralBlock
68
77
  */
69
- general: ContentModelBlockHandler<ContentModelGeneralBlock>;
78
+ generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;
70
79
  /**
71
80
  * Content Model type for ContentModelHR
72
81
  */
@@ -74,7 +83,7 @@ export declare type ContentModelHandlerMap = {
74
83
  /**
75
84
  * Content Model type for ContentModelImage
76
85
  */
77
- image: ContentModelHandler<ContentModelImage>;
86
+ image: ContentModelSegmentHandler<ContentModelImage>;
78
87
  /**
79
88
  * Content Model type for list group of ContentModelListItem
80
89
  */
@@ -94,11 +103,11 @@ export declare type ContentModelHandlerMap = {
94
103
  /**
95
104
  * Content Model type for ContentModelSegment
96
105
  */
97
- segment: ContentModelHandler<ContentModelSegment>;
106
+ segment: ContentModelSegmentHandler<ContentModelSegment>;
98
107
  /**
99
108
  * Content Model type for ContentModelCode
100
109
  */
101
- segmentDecorator: ContentModelHandler<ContentModelSegment>;
110
+ segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;
102
111
  /**
103
112
  * Content Model type for ContentModelTable
104
113
  */
@@ -106,7 +115,7 @@ export declare type ContentModelHandlerMap = {
106
115
  /**
107
116
  * Content Model type for ContentModelText
108
117
  */
109
- text: ContentModelHandler<ContentModelText>;
118
+ text: ContentModelSegmentHandler<ContentModelText>;
110
119
  };
111
120
  /**
112
121
  * An optional callback that will be called when a DOM node is created
@@ -126,10 +135,6 @@ export interface ModelToDomSettings {
126
135
  * Map of format appliers
127
136
  */
128
137
  formatAppliers: FormatAppliersPerCategory;
129
- /**
130
- * Map of default implicit format for segment
131
- */
132
- defaultImplicitFormatMap: DefaultImplicitFormatMap;
133
138
  /**
134
139
  * Default Content Model to DOM handlers before overriding.
135
140
  * This provides a way to call original handler from an overridden handler function
@@ -1 +1 @@
1
- {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBlockHandler, ContentModelHandler } from './ContentModelHandler';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entity: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n general: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Map of default implicit format for segment\n */\n defaultImplicitFormatMap: DefaultImplicitFormatMap;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
1
+ {"version":3,"file":"ModelToDomSettings.js","sourceRoot":"","sources":["../../../../packages-content-model/roosterjs-content-model-types/lib/context/ModelToDomSettings.ts"],"names":[],"mappings":"","sourcesContent":["import { ContentModelBlock } from '../block/ContentModelBlock';\nimport { ContentModelBlockFormat } from '../format/ContentModelBlockFormat';\nimport { ContentModelBlockGroup } from '../group/ContentModelBlockGroup';\nimport { ContentModelBr } from '../segment/ContentModelBr';\nimport { ContentModelDecorator } from '../decorator/ContentModelDecorator';\nimport { ContentModelDivider } from '../block/ContentModelDivider';\nimport { ContentModelEntity } from '../entity/ContentModelEntity';\nimport { ContentModelFormatBase } from '../format/ContentModelFormatBase';\nimport { ContentModelFormatContainer } from '../group/ContentModelFormatContainer';\nimport { ContentModelFormatMap } from '../format/ContentModelFormatMap';\nimport { ContentModelGeneralBlock } from '../group/ContentModelGeneralBlock';\nimport { ContentModelGeneralSegment } from '../segment/ContentModelGeneralSegment';\nimport { ContentModelImage } from '../segment/ContentModelImage';\nimport { ContentModelListItem } from '../group/ContentModelListItem';\nimport { ContentModelParagraph } from '../block/ContentModelParagraph';\nimport { ContentModelSegment } from '../segment/ContentModelSegment';\nimport { ContentModelSegmentFormat } from '../format/ContentModelSegmentFormat';\nimport { ContentModelTable } from '../block/ContentModelTable';\nimport { ContentModelTableRow } from '../block/ContentModelTableRow';\nimport { ContentModelText } from '../segment/ContentModelText';\nimport { FormatHandlerTypeMap, FormatKey } from '../format/FormatHandlerTypeMap';\nimport { ModelToDomContext } from './ModelToDomContext';\nimport {\n ContentModelHandler,\n ContentModelBlockHandler,\n ContentModelSegmentHandler,\n} from './ContentModelHandler';\n\n/**\n * Default implicit format map from tag name (lower case) to segment format\n */\nexport type DefaultImplicitFormatMap = Record<\n string,\n Readonly<ContentModelSegmentFormat & ContentModelBlockFormat>\n>;\n\n/**\n * Apply format to the given HTML element\n * @param format The format object to apply\n * @param element The HTML element to apply format to\n * @param context The context object that provide related context information\n */\nexport type FormatApplier<TFormat extends ContentModelFormatBase> = (\n format: TFormat,\n element: HTMLElement,\n context: ModelToDomContext\n) => void;\n\n/**\n * All format appliers\n */\nexport type FormatAppliers = {\n [Key in FormatKey]: FormatApplier<FormatHandlerTypeMap[Key]> | null;\n};\n\n/**\n * A map from format parser category name to an array of parsers\n */\nexport type FormatAppliersPerCategory = {\n [Key in keyof ContentModelFormatMap]: (FormatApplier<ContentModelFormatMap[Key]> | null)[];\n};\n\n/**\n * Represents a map from content model handler name to its handle type\n */\nexport type ContentModelHandlerMap = {\n /**\n * Content Model type for ContentModelBlock\n */\n block: ContentModelBlockHandler<ContentModelBlock>;\n\n /**\n * Content Model type for child models of ContentModelBlockGroup\n */\n blockGroupChildren: ContentModelHandler<ContentModelBlockGroup>;\n\n /**\n * Content Model type for ContentModelBr\n */\n br: ContentModelSegmentHandler<ContentModelBr>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entityBlock: ContentModelBlockHandler<ContentModelEntity>;\n\n /**\n * Content Model type for child models of ContentModelEntity\n */\n entitySegment: ContentModelSegmentHandler<ContentModelEntity>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalBlock: ContentModelBlockHandler<ContentModelGeneralBlock>;\n\n /**\n * Content Model type for ContentModelGeneralBlock\n */\n generalSegment: ContentModelSegmentHandler<ContentModelGeneralSegment>;\n\n /**\n * Content Model type for ContentModelHR\n */\n divider: ContentModelBlockHandler<ContentModelDivider>;\n\n /**\n * Content Model type for ContentModelImage\n */\n image: ContentModelSegmentHandler<ContentModelImage>;\n\n /**\n * Content Model type for list group of ContentModelListItem\n */\n list: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for list item of ContentModelListItem\n */\n listItem: ContentModelBlockHandler<ContentModelListItem>;\n\n /**\n * Content Model type for ContentModelParagraph\n */\n paragraph: ContentModelBlockHandler<ContentModelParagraph>;\n\n /**\n * Content Model type for ContentModelFormatContainer\n */\n formatContainer: ContentModelBlockHandler<ContentModelFormatContainer>;\n\n /**\n * Content Model type for ContentModelSegment\n */\n segment: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelCode\n */\n segmentDecorator: ContentModelSegmentHandler<ContentModelSegment>;\n\n /**\n * Content Model type for ContentModelTable\n */\n table: ContentModelBlockHandler<ContentModelTable>;\n\n /**\n * Content Model type for ContentModelText\n */\n text: ContentModelSegmentHandler<ContentModelText>;\n};\n\n/**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\nexport type OnNodeCreated = (\n modelElement:\n | ContentModelBlock\n | ContentModelBlockGroup\n | ContentModelSegment\n | ContentModelDecorator\n | ContentModelTableRow,\n node: Node\n) => void;\n\n/**\n * Represents settings to customize DOM to Content Model conversion\n */\nexport interface ModelToDomSettings {\n /**\n * Map of Content Model handlers\n */\n modelHandlers: ContentModelHandlerMap;\n\n /**\n * Map of format appliers\n */\n formatAppliers: FormatAppliersPerCategory;\n\n /**\n * Default Content Model to DOM handlers before overriding.\n * This provides a way to call original handler from an overridden handler function\n */\n defaultModelHandlers: Readonly<ContentModelHandlerMap>;\n\n /**\n * Default format parsers before overriding.\n * This provides a way to call original format applier from an overridden applier function\n */\n defaultFormatAppliers: Readonly<FormatAppliers>;\n\n /**\n * An optional callback that will be called when a DOM node is created\n * @param modelElement The related Content Model element\n * @param node The node created for this model element\n */\n onNodeCreated?: OnNodeCreated;\n}\n"]}
@@ -90,6 +90,6 @@ export { DomToModelFormatContext, DomToModelDecoratorContext, DomToModelListForm
90
90
  export { ModelToDomContext } from './context/ModelToDomContext';
91
91
  export { ModelToDomBlockAndSegmentNode, ModelToDomRegularSelection, ModelToDomTableSelection, ModelToDomImageSelection, ModelToDomSelectionContext, } from './context/ModelToDomSelectionContext';
92
92
  export { ModelToDomListStackItem, ModelToDomListContext, ModelToDomFormatContext, } from './context/ModelToDomFormatContext';
93
- export { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';
93
+ export { ContentModelHandler, ContentModelSegmentHandler, ContentModelBlockHandler, } from './context/ContentModelHandler';
94
94
  export { DomToModelOption } from './context/DomToModelOption';
95
95
  export { ModelToDomOption } from './context/ModelToDomOption';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport { ContentModelHandler, ContentModelBlockHandler } from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-content-model/roosterjs-content-model-types/lib/index.ts"],"names":[],"mappings":"","sourcesContent":["export { ContentModelSegmentFormat } from './format/ContentModelSegmentFormat';\nexport { ContentModelWithFormat } from './format/ContentModelWithFormat';\nexport { ContentModelTableFormat } from './format/ContentModelTableFormat';\nexport { ContentModelWithDataset } from './format/ContentModelWithDataset';\nexport { ContentModelBlockFormat } from './format/ContentModelBlockFormat';\nexport { ContentModelTableCellFormat } from './format/ContentModelTableCellFormat';\nexport { ContentModelListItemFormat } from './format/ContentModelListItemFormat';\nexport { ContentModelListItemLevelFormat } from './format/ContentModelListItemLevelFormat';\nexport { ContentModelHyperLinkFormat } from './format/ContentModelHyperLinkFormat';\nexport { ContentModelCodeFormat } from './format/ContentModelCodeFormat';\nexport { ContentModelFormatContainerFormat } from './format/ContentModelFormatContainerFormat';\nexport { ContentModelDividerFormat } from './format/ContentModelDividerFormat';\nexport { ContentModelFormatBase } from './format/ContentModelFormatBase';\nexport { ContentModelFormatMap } from './format/ContentModelFormatMap';\nexport { ContentModelImageFormat } from './format/ContentModelImageFormat';\nexport { FormatHandlerTypeMap, FormatKey } from './format/FormatHandlerTypeMap';\n\nexport { BackgroundColorFormat } from './format/formatParts/BackgroundColorFormat';\nexport { BoldFormat } from './format/formatParts/BoldFormat';\nexport { FontFamilyFormat } from './format/formatParts/FontFamilyFormat';\nexport { FontSizeFormat } from './format/formatParts/FontSizeFormat';\nexport { ItalicFormat } from './format/formatParts/ItalicFormat';\nexport { LetterSpacingFormat } from './format/formatParts/LetterSpacingFormat';\nexport { LineHeightFormat } from './format/formatParts/LineHeightFormat';\nexport { StrikeFormat } from './format/formatParts/StrikeFormat';\nexport { SuperOrSubScriptFormat } from './format/formatParts/SuperOrSubScriptFormat';\nexport { TextColorFormat } from './format/formatParts/TextColorFormat';\nexport { UnderlineFormat } from './format/formatParts/UnderlineFormat';\nexport { BorderBoxFormat } from './format/formatParts/BorderBoxFormat';\nexport { VerticalAlignFormat } from './format/formatParts/VerticalAlignFormat';\nexport { WordBreakFormat } from './format/formatParts/WordBreakFormat';\nexport { BorderFormat } from './format/formatParts/BorderFormat';\nexport { DirectionFormat } from './format/formatParts/DirectionFormat';\nexport { HtmlAlignFormat } from './format/formatParts/HtmlAlignFormat';\nexport { MarginFormat } from './format/formatParts/MarginFormat';\nexport { PaddingFormat } from './format/formatParts/PaddingFormat';\nexport { TextAlignFormat } from './format/formatParts/TextAlignFormat';\nexport { WhiteSpaceFormat } from './format/formatParts/WhiteSpaceFormat';\nexport { DisplayFormat } from './format/formatParts/DisplayFormat';\nexport { IdFormat } from './format/formatParts/IdFormat';\nexport { SpacingFormat } from './format/formatParts/SpacingFormat';\nexport { TableLayoutFormat } from './format/formatParts/TableLayoutFormat';\nexport { LinkFormat } from './format/formatParts/LinkFormat';\nexport { SizeFormat } from './format/formatParts/SizeFormat';\nexport { BoxShadowFormat } from './format/formatParts/BoxShadowFormat';\nexport { ListThreadFormat } from './format/formatParts/ListThreadFormat';\nexport { ListStylePositionFormat } from './format/formatParts/ListStylePositionFormat';\nexport { FloatFormat } from './format/formatParts/FloatFormat';\n\nexport { DatasetFormat } from './format/metadata/DatasetFormat';\nexport { TableMetadataFormat } from './format/metadata/TableMetadataFormat';\nexport { ListMetadataFormat } from './format/metadata/ListMetadataFormat';\nexport {\n ImageResizeMetadataFormat,\n ImageCropMetadataFormat,\n ImageMetadataFormat,\n ImageRotateMetadataFormat,\n} from './format/metadata/ImageMetadataFormat';\n\nexport { ContentModelBlockGroupType } from './enum/BlockGroupType';\nexport { ContentModelBlockType } from './enum/BlockType';\nexport { ContentModelSegmentType } from './enum/SegmentType';\n\nexport { ContentModelBlock } from './block/ContentModelBlock';\nexport { ContentModelParagraph } from './block/ContentModelParagraph';\nexport { ContentModelTable } from './block/ContentModelTable';\nexport { ContentModelDivider } from './block/ContentModelDivider';\nexport { ContentModelBlockBase } from './block/ContentModelBlockBase';\nexport { ContentModelBlockWithCache } from './block/ContentModelBlockWithCache';\nexport { ContentModelTableRow } from './block/ContentModelTableRow';\n\nexport { ContentModelEntity } from './entity/ContentModelEntity';\n\nexport { ContentModelDocument } from './group/ContentModelDocument';\nexport { ContentModelBlockGroupBase } from './group/ContentModelBlockGroupBase';\nexport { ContentModelFormatContainer } from './group/ContentModelFormatContainer';\nexport { ContentModelGeneralBlock } from './group/ContentModelGeneralBlock';\nexport { ContentModelListItem } from './group/ContentModelListItem';\nexport { ContentModelTableCell } from './group/ContentModelTableCell';\nexport { ContentModelBlockGroup } from './group/ContentModelBlockGroup';\n\nexport { ContentModelBr } from './segment/ContentModelBr';\nexport { ContentModelGeneralSegment } from './segment/ContentModelGeneralSegment';\nexport { ContentModelImage } from './segment/ContentModelImage';\nexport { ContentModelText } from './segment/ContentModelText';\nexport { ContentModelSelectionMarker } from './segment/ContentModelSelectionMarker';\nexport { ContentModelSegmentBase } from './segment/ContentModelSegmentBase';\nexport { ContentModelSegment } from './segment/ContentModelSegment';\n\nexport { ContentModelCode } from './decorator/ContentModelCode';\nexport { ContentModelLink } from './decorator/ContentModelLink';\nexport { ContentModelParagraphDecorator } from './decorator/ContentModelParagraphDecorator';\nexport { ContentModelDecorator } from './decorator/ContentModelDecorator';\nexport { ContentModelListLevel } from './decorator/ContentModelListLevel';\n\nexport { Selectable } from './selection/Selectable';\n\nexport {\n ContentModelHandlerMap,\n DefaultImplicitFormatMap,\n FormatAppliers,\n FormatAppliersPerCategory,\n OnNodeCreated,\n ModelToDomSettings,\n FormatApplier,\n} from './context/ModelToDomSettings';\nexport {\n DefaultStyleMap,\n ElementProcessorMap,\n FormatParsers,\n FormatParsersPerCategory,\n DomToModelSettings,\n FormatParser,\n} from './context/DomToModelSettings';\nexport { DomToModelContext } from './context/DomToModelContext';\nexport { ElementProcessor } from './context/ElementProcessor';\nexport { DomToModelSelectionContext } from './context/DomToModelSelectionContext';\nexport { EditorContext } from './context/EditorContext';\nexport {\n DomToModelFormatContext,\n DomToModelDecoratorContext,\n DomToModelListFormat,\n} from './context/DomToModelFormatContext';\nexport { ModelToDomContext } from './context/ModelToDomContext';\nexport {\n ModelToDomBlockAndSegmentNode,\n ModelToDomRegularSelection,\n ModelToDomTableSelection,\n ModelToDomImageSelection,\n ModelToDomSelectionContext,\n} from './context/ModelToDomSelectionContext';\nexport {\n ModelToDomListStackItem,\n ModelToDomListContext,\n ModelToDomFormatContext,\n} from './context/ModelToDomFormatContext';\nexport {\n ContentModelHandler,\n ContentModelSegmentHandler,\n ContentModelBlockHandler,\n} from './context/ContentModelHandler';\nexport { DomToModelOption } from './context/DomToModelOption';\nexport { ModelToDomOption } from './context/ModelToDomOption';\n"]}
package/package.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "roosterjs-content-model-types",
3
3
  "description": "Types for Content Model for roosterjs (Under development)",
4
4
  "dependencies": {
5
- "roosterjs-editor-types": "^8.54.0"
5
+ "roosterjs-editor-types": "^8.56.0"
6
6
  },
7
- "version": "0.14.0",
7
+ "version": "0.16.0",
8
8
  "main": "./lib/index.js",
9
9
  "typings": "./lib/index.d.ts",
10
10
  "license": "MIT",