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.
- package/lib/context/ContentModelHandler.d.ts +11 -0
- package/lib/context/ContentModelHandler.js.map +1 -1
- package/lib/context/DomToModelOption.d.ts +1 -5
- package/lib/context/DomToModelOption.js.map +1 -1
- package/lib/context/DomToModelSettings.d.ts +0 -4
- package/lib/context/DomToModelSettings.js.map +1 -1
- package/lib/context/ModelToDomOption.d.ts +1 -11
- package/lib/context/ModelToDomOption.js.map +1 -1
- package/lib/context/ModelToDomSettings.d.ts +17 -12
- package/lib/context/ModelToDomSettings.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -1
- package/lib-amd/context/ContentModelHandler.d.ts +11 -0
- package/lib-amd/context/ContentModelHandler.js.map +1 -1
- package/lib-amd/context/DomToModelOption.d.ts +1 -5
- package/lib-amd/context/DomToModelOption.js.map +1 -1
- package/lib-amd/context/DomToModelSettings.d.ts +0 -4
- package/lib-amd/context/DomToModelSettings.js.map +1 -1
- package/lib-amd/context/ModelToDomOption.d.ts +1 -11
- package/lib-amd/context/ModelToDomOption.js.map +1 -1
- package/lib-amd/context/ModelToDomSettings.d.ts +17 -12
- package/lib-amd/context/ModelToDomSettings.js.map +1 -1
- package/lib-amd/index.d.ts +1 -1
- package/lib-amd/index.js.map +1 -1
- package/lib-mjs/context/ContentModelHandler.d.ts +11 -0
- package/lib-mjs/context/ContentModelHandler.js.map +1 -1
- package/lib-mjs/context/DomToModelOption.d.ts +1 -5
- package/lib-mjs/context/DomToModelOption.js.map +1 -1
- package/lib-mjs/context/DomToModelSettings.d.ts +0 -4
- package/lib-mjs/context/DomToModelSettings.js.map +1 -1
- package/lib-mjs/context/ModelToDomOption.d.ts +1 -11
- package/lib-mjs/context/ModelToDomOption.js.map +1 -1
- package/lib-mjs/context/ModelToDomSettings.d.ts +17 -12
- package/lib-mjs/context/ModelToDomSettings.js.map +1 -1
- package/lib-mjs/index.d.ts +1 -1
- package/lib-mjs/index.js.map +1 -1
- 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 {
|
|
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 {
|
|
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"]}
|
|
@@ -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
|
|
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,
|
|
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
|
|
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:
|
|
62
|
+
br: ContentModelSegmentHandler<ContentModelBr>;
|
|
62
63
|
/**
|
|
63
64
|
* Content Model type for child models of ContentModelEntity
|
|
64
65
|
*/
|
|
65
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
106
|
+
segment: ContentModelSegmentHandler<ContentModelSegment>;
|
|
98
107
|
/**
|
|
99
108
|
* Content Model type for ContentModelCode
|
|
100
109
|
*/
|
|
101
|
-
segmentDecorator:
|
|
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:
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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"]}
|
|
@@ -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
|
|
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,
|
|
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
|
|
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:
|
|
62
|
+
br: ContentModelSegmentHandler<ContentModelBr>;
|
|
62
63
|
/**
|
|
63
64
|
* Content Model type for child models of ContentModelEntity
|
|
64
65
|
*/
|
|
65
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
106
|
+
segment: ContentModelSegmentHandler<ContentModelSegment>;
|
|
98
107
|
/**
|
|
99
108
|
* Content Model type for ContentModelCode
|
|
100
109
|
*/
|
|
101
|
-
segmentDecorator:
|
|
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:
|
|
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 {
|
|
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-amd/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-amd/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 {
|
|
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 {
|
|
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 {
|
|
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"]}
|
|
@@ -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
|
|
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,
|
|
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
|
|
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:
|
|
62
|
+
br: ContentModelSegmentHandler<ContentModelBr>;
|
|
62
63
|
/**
|
|
63
64
|
* Content Model type for child models of ContentModelEntity
|
|
64
65
|
*/
|
|
65
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
106
|
+
segment: ContentModelSegmentHandler<ContentModelSegment>;
|
|
98
107
|
/**
|
|
99
108
|
* Content Model type for ContentModelCode
|
|
100
109
|
*/
|
|
101
|
-
segmentDecorator:
|
|
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:
|
|
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 {
|
|
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-mjs/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-mjs/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 {
|
|
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.
|
|
5
|
+
"roosterjs-editor-types": "^8.56.0"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.16.0",
|
|
8
8
|
"main": "./lib/index.js",
|
|
9
9
|
"typings": "./lib/index.d.ts",
|
|
10
10
|
"license": "MIT",
|