roosterjs-content-model-dom 9.26.0 → 9.27.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/constants/BulletListType.d.ts +12 -0
- package/lib/constants/BulletListType.js +13 -1
- package/lib/constants/BulletListType.js.map +1 -1
- package/lib/constants/UnorderedListStyleMap.js +4 -1
- package/lib/constants/UnorderedListStyleMap.js.map +1 -1
- package/lib/domToModel/processors/knownElementProcessor.js +3 -1
- package/lib/domToModel/processors/knownElementProcessor.js.map +1 -1
- package/lib/domUtils/hiddenProperties/hiddenProperty.d.ts +4 -0
- package/lib/domUtils/hiddenProperties/hiddenProperty.js.map +1 -1
- package/lib/domUtils/hiddenProperties/imageState.d.ts +8 -0
- package/lib/domUtils/hiddenProperties/imageState.js +19 -0
- package/lib/domUtils/hiddenProperties/imageState.js.map +1 -0
- package/lib/formatHandlers/defaultFormatHandlers.js +4 -1
- package/lib/formatHandlers/defaultFormatHandlers.js.map +1 -1
- package/lib/formatHandlers/segment/imageStateFormatHandler.d.ts +6 -0
- package/lib/formatHandlers/segment/imageStateFormatHandler.js +21 -0
- package/lib/formatHandlers/segment/imageStateFormatHandler.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -3
- package/lib/index.js.map +1 -1
- package/lib/modelApi/common/normalizeSegmentFormat.d.ts +8 -0
- package/lib/modelApi/common/normalizeSegmentFormat.js +28 -0
- package/lib/modelApi/common/normalizeSegmentFormat.js.map +1 -0
- package/lib/modelApi/editing/retrieveModelFormatState.js +3 -0
- package/lib/modelApi/editing/retrieveModelFormatState.js.map +1 -1
- package/lib-amd/constants/BulletListType.d.ts +12 -0
- package/lib-amd/constants/BulletListType.js +13 -1
- package/lib-amd/constants/BulletListType.js.map +1 -1
- package/lib-amd/constants/UnorderedListStyleMap.js +4 -1
- package/lib-amd/constants/UnorderedListStyleMap.js.map +1 -1
- package/lib-amd/domToModel/processors/knownElementProcessor.js +3 -1
- package/lib-amd/domToModel/processors/knownElementProcessor.js.map +1 -1
- package/lib-amd/domUtils/hiddenProperties/hiddenProperty.d.ts +4 -0
- package/lib-amd/domUtils/hiddenProperties/hiddenProperty.js.map +1 -1
- package/lib-amd/domUtils/hiddenProperties/imageState.d.ts +8 -0
- package/lib-amd/domUtils/hiddenProperties/imageState.js +20 -0
- package/lib-amd/domUtils/hiddenProperties/imageState.js.map +1 -0
- package/lib-amd/formatHandlers/defaultFormatHandlers.js +4 -2
- package/lib-amd/formatHandlers/defaultFormatHandlers.js.map +1 -1
- package/lib-amd/formatHandlers/segment/imageStateFormatHandler.d.ts +6 -0
- package/lib-amd/formatHandlers/segment/imageStateFormatHandler.js +22 -0
- package/lib-amd/formatHandlers/segment/imageStateFormatHandler.js.map +1 -0
- package/lib-amd/index.d.ts +2 -0
- package/lib-amd/index.js +5 -2
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/modelApi/common/normalizeSegmentFormat.d.ts +8 -0
- package/lib-amd/modelApi/common/normalizeSegmentFormat.js +25 -0
- package/lib-amd/modelApi/common/normalizeSegmentFormat.js.map +1 -0
- package/lib-amd/modelApi/editing/retrieveModelFormatState.js +3 -1
- package/lib-amd/modelApi/editing/retrieveModelFormatState.js.map +1 -1
- package/lib-mjs/constants/BulletListType.d.ts +12 -0
- package/lib-mjs/constants/BulletListType.js +13 -1
- package/lib-mjs/constants/BulletListType.js.map +1 -1
- package/lib-mjs/constants/UnorderedListStyleMap.js +4 -1
- package/lib-mjs/constants/UnorderedListStyleMap.js.map +1 -1
- package/lib-mjs/domToModel/processors/knownElementProcessor.js +3 -1
- package/lib-mjs/domToModel/processors/knownElementProcessor.js.map +1 -1
- package/lib-mjs/domUtils/hiddenProperties/hiddenProperty.d.ts +4 -0
- package/lib-mjs/domUtils/hiddenProperties/hiddenProperty.js.map +1 -1
- package/lib-mjs/domUtils/hiddenProperties/imageState.d.ts +8 -0
- package/lib-mjs/domUtils/hiddenProperties/imageState.js +14 -0
- package/lib-mjs/domUtils/hiddenProperties/imageState.js.map +1 -0
- package/lib-mjs/formatHandlers/defaultFormatHandlers.js +4 -1
- package/lib-mjs/formatHandlers/defaultFormatHandlers.js.map +1 -1
- package/lib-mjs/formatHandlers/segment/imageStateFormatHandler.d.ts +6 -0
- package/lib-mjs/formatHandlers/segment/imageStateFormatHandler.js +18 -0
- package/lib-mjs/formatHandlers/segment/imageStateFormatHandler.js.map +1 -0
- package/lib-mjs/index.d.ts +2 -0
- package/lib-mjs/index.js +2 -0
- package/lib-mjs/index.js.map +1 -1
- package/lib-mjs/modelApi/common/normalizeSegmentFormat.d.ts +8 -0
- package/lib-mjs/modelApi/common/normalizeSegmentFormat.js +24 -0
- package/lib-mjs/modelApi/common/normalizeSegmentFormat.js.map +1 -0
- package/lib-mjs/modelApi/editing/retrieveModelFormatState.js +3 -0
- package/lib-mjs/modelApi/editing/retrieveModelFormatState.js.map +1 -1
- package/package.json +2 -2
|
@@ -42,6 +42,18 @@ export declare const BulletListType: {
|
|
|
42
42
|
* Bullet type circle
|
|
43
43
|
*/
|
|
44
44
|
Circle: number;
|
|
45
|
+
/**
|
|
46
|
+
* Box Shadow bullet type
|
|
47
|
+
*/
|
|
48
|
+
BoxShadow: number;
|
|
49
|
+
/**
|
|
50
|
+
* Rhombus with a cross inside
|
|
51
|
+
*/
|
|
52
|
+
Xrhombus: number;
|
|
53
|
+
/**
|
|
54
|
+
* Check mark bullet type
|
|
55
|
+
*/
|
|
56
|
+
CheckMark: number;
|
|
45
57
|
/**
|
|
46
58
|
* Maximum value of the enum
|
|
47
59
|
*/
|
|
@@ -45,9 +45,21 @@ exports.BulletListType = {
|
|
|
45
45
|
* Bullet type circle
|
|
46
46
|
*/
|
|
47
47
|
Circle: 9,
|
|
48
|
+
/**
|
|
49
|
+
* Box Shadow bullet type
|
|
50
|
+
*/
|
|
51
|
+
BoxShadow: 10,
|
|
52
|
+
/**
|
|
53
|
+
* Rhombus with a cross inside
|
|
54
|
+
*/
|
|
55
|
+
Xrhombus: 11,
|
|
56
|
+
/**
|
|
57
|
+
* Check mark bullet type
|
|
58
|
+
*/
|
|
59
|
+
CheckMark: 12,
|
|
48
60
|
/**
|
|
49
61
|
* Maximum value of the enum
|
|
50
62
|
*/
|
|
51
|
-
Max:
|
|
63
|
+
Max: 12,
|
|
52
64
|
};
|
|
53
65
|
//# sourceMappingURL=BulletListType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulletListType.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/constants/BulletListType.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,cAAc,GAAG;IAC1B;;OAEG;IACH,GAAG,EAAE,CAAC;IACN;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,UAAU,EAAE,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,CAAC;IACZ;;OAEG;IACH,aAAa,EAAE,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,eAAe,EAAE,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"BulletListType.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/constants/BulletListType.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,cAAc,GAAG;IAC1B;;OAEG;IACH,GAAG,EAAE,CAAC;IACN;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,UAAU,EAAE,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,CAAC;IACZ;;OAEG;IACH,aAAa,EAAE,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,eAAe,EAAE,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,CAAC;IACT;;OAEG;IACH,SAAS,EAAE,EAAE;IACb;;OAEG;IACH,QAAQ,EAAE,EAAE;IACZ;;OAEG;IACH,SAAS,EAAE,EAAE;IACb;;OAEG;IACH,GAAG,EAAE,EAAE;CACV,CAAC","sourcesContent":["/**\n * Enum used to control the different types of bullet list\n */\nexport const BulletListType = {\n /**\n * Minimum value of the enum\n */\n Min: 1,\n /**\n * Bullet triggered by *\n */\n Disc: 1,\n /**\n * Bullet triggered by -\n */\n Dash: 2,\n /**\n * Bullet triggered by --\n */\n Square: 3,\n /**\n * Bullet triggered by >\n */\n ShortArrow: 4,\n /**\n * Bullet triggered by ->\n */\n LongArrow: 5,\n /**\n * Bullet triggered by =>\n */\n UnfilledArrow: 6,\n /**\n * Bullet triggered by —\n */\n Hyphen: 7,\n /**\n * Bullet triggered by -->\n */\n DoubleLongArrow: 8,\n /**\n * Bullet type circle\n */\n Circle: 9,\n /**\n * Box Shadow bullet type\n */\n BoxShadow: 10,\n /**\n * Rhombus with a cross inside\n */\n Xrhombus: 11,\n /**\n * Check mark bullet type\n */\n CheckMark: 12,\n /**\n * Maximum value of the enum\n */\n Max: 12,\n};\n"]}
|
|
@@ -8,7 +8,7 @@ var BulletListType_1 = require("./BulletListType");
|
|
|
8
8
|
*/
|
|
9
9
|
exports.UnorderedListStyleMap = (_a = {},
|
|
10
10
|
_a[BulletListType_1.BulletListType.Disc] = 'disc',
|
|
11
|
-
_a[BulletListType_1.BulletListType.Square] = '
|
|
11
|
+
_a[BulletListType_1.BulletListType.Square] = 'square',
|
|
12
12
|
_a[BulletListType_1.BulletListType.Circle] = 'circle',
|
|
13
13
|
_a[BulletListType_1.BulletListType.Dash] = '"- "',
|
|
14
14
|
_a[BulletListType_1.BulletListType.LongArrow] = '"➔ "',
|
|
@@ -16,5 +16,8 @@ exports.UnorderedListStyleMap = (_a = {},
|
|
|
16
16
|
_a[BulletListType_1.BulletListType.ShortArrow] = '"➢ "',
|
|
17
17
|
_a[BulletListType_1.BulletListType.UnfilledArrow] = '"➪ "',
|
|
18
18
|
_a[BulletListType_1.BulletListType.Hyphen] = '"— "',
|
|
19
|
+
_a[BulletListType_1.BulletListType.CheckMark] = '"✔ "',
|
|
20
|
+
_a[BulletListType_1.BulletListType.Xrhombus] = '"❖ "',
|
|
21
|
+
_a[BulletListType_1.BulletListType.BoxShadow] = '"❑ "',
|
|
19
22
|
_a);
|
|
20
23
|
//# sourceMappingURL=UnorderedListStyleMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnorderedListStyleMap.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/constants/UnorderedListStyleMap.ts"],"names":[],"mappings":";;;;AAAA,mDAAkD;AAElD;;GAEG;AACU,QAAA,qBAAqB;IAC9B,GAAC,+BAAc,CAAC,IAAI,IAAG,MAAM;IAC7B,GAAC,+BAAc,CAAC,MAAM,IAAG,
|
|
1
|
+
{"version":3,"file":"UnorderedListStyleMap.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/constants/UnorderedListStyleMap.ts"],"names":[],"mappings":";;;;AAAA,mDAAkD;AAElD;;GAEG;AACU,QAAA,qBAAqB;IAC9B,GAAC,+BAAc,CAAC,IAAI,IAAG,MAAM;IAC7B,GAAC,+BAAc,CAAC,MAAM,IAAG,QAAQ;IACjC,GAAC,+BAAc,CAAC,MAAM,IAAG,QAAQ;IACjC,GAAC,+BAAc,CAAC,IAAI,IAAG,MAAM;IAC7B,GAAC,+BAAc,CAAC,SAAS,IAAG,MAAM;IAClC,GAAC,+BAAc,CAAC,eAAe,IAAG,MAAM;IACxC,GAAC,+BAAc,CAAC,UAAU,IAAG,MAAM;IACnC,GAAC,+BAAc,CAAC,aAAa,IAAG,MAAM;IACtC,GAAC,+BAAc,CAAC,MAAM,IAAG,MAAM;IAC/B,GAAC,+BAAc,CAAC,SAAS,IAAG,MAAM;IAClC,GAAC,+BAAc,CAAC,QAAQ,IAAG,MAAM;IACjC,GAAC,+BAAc,CAAC,SAAS,IAAG,MAAM;QACpC","sourcesContent":["import { BulletListType } from './BulletListType';\n\n/**\n * Style map for unordered list\n */\nexport const UnorderedListStyleMap: Record<number, string> = {\n [BulletListType.Disc]: 'disc',\n [BulletListType.Square]: 'square',\n [BulletListType.Circle]: 'circle',\n [BulletListType.Dash]: '\"- \"',\n [BulletListType.LongArrow]: '\"➔ \"',\n [BulletListType.DoubleLongArrow]: '\"➔ \"',\n [BulletListType.ShortArrow]: '\"➢ \"',\n [BulletListType.UnfilledArrow]: '\"➪ \"',\n [BulletListType.Hyphen]: '\"— \"',\n [BulletListType.CheckMark]: '\"✔ \"',\n [BulletListType.Xrhombus]: '\"❖ \"',\n [BulletListType.BoxShadow]: '\"❑ \"',\n};\n"]}
|
|
@@ -27,6 +27,7 @@ var FormatContainerTriggerStyles = [
|
|
|
27
27
|
'minWidth',
|
|
28
28
|
'minHeight',
|
|
29
29
|
];
|
|
30
|
+
var FormatContainerTriggerAttributes = ['id'];
|
|
30
31
|
var ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];
|
|
31
32
|
var SegmentDecoratorTags = ['A', 'CODE'];
|
|
32
33
|
/**
|
|
@@ -80,7 +81,8 @@ function shouldUseFormatContainer(element, context) {
|
|
|
80
81
|
}
|
|
81
82
|
// For block element with positive value of border width or top/bottom margin/padding,
|
|
82
83
|
// we need to use format container
|
|
83
|
-
if (FormatContainerTriggerStyles.some(function (key) { return parseInt(style[key] || defaultStyle[key] || '') > 0; })
|
|
84
|
+
if (FormatContainerTriggerStyles.some(function (key) { return parseInt(style[key] || defaultStyle[key] || '') > 0; }) ||
|
|
85
|
+
FormatContainerTriggerAttributes.some(function (attr) { return element.hasAttribute(attr); })) {
|
|
84
86
|
return true;
|
|
85
87
|
}
|
|
86
88
|
// For margin left/right with value "auto", we need to use format container
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knownElementProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/knownElementProcessor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"knownElementProcessor.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domToModel/processors/knownElementProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { addBlock } from '../../modelApi/common/addBlock';\nimport { blockProcessor } from './blockProcessor';\nimport { createParagraph } from '../../modelApi/creators/createParagraph';\nimport { formatContainerProcessor } from './formatContainerProcessor';\nimport { getDefaultStyle } from '../utils/getDefaultStyle';\nimport { isBlockElement } from '../utils/isBlockElement';\nimport { parseFormat } from '../utils/parseFormat';\nimport { stackFormat } from '../utils/stackFormat';\nimport type {\n ContentModelSegmentFormat,\n DomToModelContext,\n ElementProcessor,\n} from 'roosterjs-content-model-types';\n\nconst FormatContainerTriggerStyles: (keyof CSSStyleDeclaration)[] = [\n 'marginBottom',\n 'marginTop',\n 'paddingBottom',\n 'paddingTop',\n 'paddingLeft',\n 'paddingRight',\n 'borderTopWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n];\nconst FormatContainerTriggerAttributes = ['id'];\nconst ByPassFormatContainerTags = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'P', 'A'];\nconst SegmentDecoratorTags = ['A', 'CODE'];\n\n/**\n * @internal\n */\nexport const knownElementProcessor: ElementProcessor<HTMLElement> = (group, element, context) => {\n const isBlock = isBlockElement(element);\n\n if (\n (isBlock || element.style.display == 'inline-block') && // For inline-block here, we will also check if it should be represented as Format Container\n shouldUseFormatContainer(element, context)\n ) {\n formatContainerProcessor(group, element, context);\n } else if (isBlock) {\n const decorator = context.blockDecorator.tagName ? context.blockDecorator : undefined;\n const isSegmentDecorator = SegmentDecoratorTags.indexOf(element.tagName) >= 0;\n\n stackFormat(context, { segment: 'shallowCloneForBlock', paragraph: 'shallowClone' }, () => {\n const segmentFormat: ContentModelSegmentFormat = {};\n\n parseFormat(element, context.formatParsers.segmentOnBlock, segmentFormat, context);\n Object.assign(context.segmentFormat, segmentFormat);\n\n blockProcessor(group, element, context, segmentFormat);\n });\n\n if (isBlock && !isSegmentDecorator) {\n addBlock(\n group,\n createParagraph(\n true /*isImplicit*/,\n context.blockFormat,\n undefined /*segmentFormat*/,\n decorator\n )\n );\n }\n } else {\n stackFormat(\n context,\n {\n segment: 'shallowClone',\n paragraph: 'shallowClone',\n link: 'cloneFormat',\n },\n () => {\n parseFormat(element, context.formatParsers.segment, context.segmentFormat, context);\n\n if (context.link.format.href && element.tagName != 'A') {\n parseFormat(\n element,\n context.formatParsers.segmentUnderLink,\n context.link.format,\n context\n );\n }\n\n context.elementProcessors.child(group, element, context);\n }\n );\n }\n};\n\nfunction shouldUseFormatContainer(element: HTMLElement, context: DomToModelContext) {\n // For those tags that we know we should not use format container, just return false\n if (ByPassFormatContainerTags.indexOf(element.tagName) >= 0) {\n return false;\n }\n\n const style = element.style;\n const defaultStyle = getDefaultStyle(element);\n\n const bgcolor = style.getPropertyValue('background-color');\n\n // For block element with background, we need to use format container\n if (bgcolor && bgcolor != 'transparent') {\n return true;\n }\n\n // For block element with positive value of border width or top/bottom margin/padding,\n // we need to use format container\n if (\n FormatContainerTriggerStyles.some(\n key => parseInt((style[key] as string) || (defaultStyle[key] as string) || '') > 0\n ) ||\n FormatContainerTriggerAttributes.some(attr => element.hasAttribute(attr))\n ) {\n return true;\n }\n\n // For margin left/right with value \"auto\", we need to use format container\n if (style.marginLeft == 'auto' || style.marginRight == 'auto') {\n return true;\n }\n\n // For element with \"align\" attribute, we need to use format container\n if (element.getAttribute('align')) {\n return true;\n }\n\n return false;\n}\n"]}
|
|
@@ -11,6 +11,10 @@ export interface HiddenProperty {
|
|
|
11
11
|
* Specify we should not delete this element when delete/backspace key is pressed
|
|
12
12
|
*/
|
|
13
13
|
undeletable?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Specify the image state. Example: if the image is in editable state
|
|
16
|
+
*/
|
|
17
|
+
imageState?: string;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
20
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hiddenProperty.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domUtils/hiddenProperties/hiddenProperty.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hiddenProperty.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domUtils/hiddenProperties/hiddenProperty.ts"],"names":[],"mappings":";;;AAyBA;;GAEG;AACH,SAAgB,iBAAiB,CAC7B,IAAU,EACV,GAAQ;IAER,IAAM,sBAAsB,GAAG,IAA8B,CAAC;IAC9D,IAAM,cAAc,GAAG,sBAAsB,CAAC,yBAAyB,CAAC;IAExE,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AARD,8CAQC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC7B,IAAU,EACV,GAAQ,EACR,KAA0B;IAE1B,IAAM,sBAAsB,GAAG,IAA8B,CAAC;IAC9D,IAAM,cAAc,GAAG,sBAAsB,CAAC,yBAAyB,IAAI,EAAE,CAAC;IAE9E,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,sBAAsB,CAAC,yBAAyB,GAAG,cAAc,CAAC;AACtE,CAAC;AAVD,8CAUC","sourcesContent":["/**\n * @internal\n */\nexport interface HiddenProperty {\n /**\n * A marker string that can be used to identify a specific paragraph in the DOM.\n * This is useful for scenarios where you need to track or manipulate specific paragraphs\n */\n paragraphMarker?: string;\n\n /**\n * Specify we should not delete this element when delete/backspace key is pressed\n */\n undeletable?: boolean;\n\n /**\n * Specify the image state. Example: if the image is in editable state\n */\n imageState?: string;\n}\n\ninterface NodeWithHiddenProperty extends Node {\n __roosterjsHiddenProperty?: HiddenProperty;\n}\n\n/**\n * @internal\n */\nexport function getHiddenProperty<Key extends keyof HiddenProperty>(\n node: Node,\n key: Key\n): HiddenProperty[Key] | undefined {\n const nodeWithHiddenProperty = node as NodeWithHiddenProperty;\n const hiddenProperty = nodeWithHiddenProperty.__roosterjsHiddenProperty;\n\n return hiddenProperty ? hiddenProperty[key] : undefined;\n}\n\n/**\n * @internal\n */\nexport function setHiddenProperty<Key extends keyof HiddenProperty>(\n node: Node,\n key: Key,\n value: HiddenProperty[Key]\n) {\n const nodeWithHiddenProperty = node as NodeWithHiddenProperty;\n const hiddenProperty = nodeWithHiddenProperty.__roosterjsHiddenProperty || {};\n\n hiddenProperty[key] = value;\n nodeWithHiddenProperty.__roosterjsHiddenProperty = hiddenProperty;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get image state from element. This is used to store a image state.
|
|
3
|
+
*/
|
|
4
|
+
export declare function getImageState(element: HTMLElement): string | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Set image state to element. This is used to store a image state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function setImageState(element: HTMLElement, marker: string): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setImageState = exports.getImageState = void 0;
|
|
4
|
+
var hiddenProperty_1 = require("./hiddenProperty");
|
|
5
|
+
/**
|
|
6
|
+
* Get image state from element. This is used to store a image state.
|
|
7
|
+
*/
|
|
8
|
+
function getImageState(element) {
|
|
9
|
+
return (0, hiddenProperty_1.getHiddenProperty)(element, 'imageState');
|
|
10
|
+
}
|
|
11
|
+
exports.getImageState = getImageState;
|
|
12
|
+
/**
|
|
13
|
+
* Set image state to element. This is used to store a image state.
|
|
14
|
+
*/
|
|
15
|
+
function setImageState(element, marker) {
|
|
16
|
+
(0, hiddenProperty_1.setHiddenProperty)(element, 'imageState', marker);
|
|
17
|
+
}
|
|
18
|
+
exports.setImageState = setImageState;
|
|
19
|
+
//# sourceMappingURL=imageState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageState.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/domUtils/hiddenProperties/imageState.ts"],"names":[],"mappings":";;;AAAA,mDAAwE;AAExE;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAoB;IAC9C,OAAO,IAAA,kCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAoB,EAAE,MAAc;IAC9D,IAAA,kCAAiB,EAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAFD,sCAEC","sourcesContent":["import { getHiddenProperty, setHiddenProperty } from './hiddenProperty';\n\n/**\n * Get image state from element. This is used to store a image state.\n */\nexport function getImageState(element: HTMLElement): string | undefined {\n return getHiddenProperty(element, 'imageState');\n}\n\n/**\n * Set image state to element. This is used to store a image state.\n */\nexport function setImageState(element: HTMLElement, marker: string): void {\n setHiddenProperty(element, 'imageState', marker);\n}\n"]}
|
|
@@ -18,6 +18,7 @@ var fontSizeFormatHandler_1 = require("./segment/fontSizeFormatHandler");
|
|
|
18
18
|
var getObjectKeys_1 = require("../domUtils/getObjectKeys");
|
|
19
19
|
var htmlAlignFormatHandler_1 = require("./block/htmlAlignFormatHandler");
|
|
20
20
|
var idFormatHandler_1 = require("./common/idFormatHandler");
|
|
21
|
+
var imageStateFormatHandler_1 = require("./segment/imageStateFormatHandler");
|
|
21
22
|
var italicFormatHandler_1 = require("./segment/italicFormatHandler");
|
|
22
23
|
var letterSpacingFormatHandler_1 = require("./segment/letterSpacingFormatHandler");
|
|
23
24
|
var lineHeightFormatHandler_1 = require("./block/lineHeightFormatHandler");
|
|
@@ -57,6 +58,7 @@ var defaultFormatHandlerMap = {
|
|
|
57
58
|
entity: entityFormatHandler_1.entityFormatHandler,
|
|
58
59
|
htmlAlign: htmlAlignFormatHandler_1.htmlAlignFormatHandler,
|
|
59
60
|
id: idFormatHandler_1.idFormatHandler,
|
|
61
|
+
imageState: imageStateFormatHandler_1.imageStateFormatHandler,
|
|
60
62
|
italic: italicFormatHandler_1.italicFormatHandler,
|
|
61
63
|
letterSpacing: letterSpacingFormatHandler_1.letterSpacingFormatHandler,
|
|
62
64
|
lineHeight: lineHeightFormatHandler_1.lineHeightFormatHandler,
|
|
@@ -169,6 +171,7 @@ exports.defaultFormatKeysPerCategory = {
|
|
|
169
171
|
'display',
|
|
170
172
|
'float',
|
|
171
173
|
'verticalAlign',
|
|
174
|
+
'imageState',
|
|
172
175
|
],
|
|
173
176
|
link: [
|
|
174
177
|
'link',
|
|
@@ -187,7 +190,7 @@ exports.defaultFormatKeysPerCategory = {
|
|
|
187
190
|
code: ['fontFamily', 'display'],
|
|
188
191
|
dataset: ['dataset'],
|
|
189
192
|
divider: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(sharedBlockFormats), false), (0, tslib_1.__read)(sharedContainerFormats), false), ['display', 'size', 'htmlAlign'], false),
|
|
190
|
-
container: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(sharedContainerFormats), false), ['htmlAlign', 'size', 'display'], false),
|
|
193
|
+
container: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(sharedContainerFormats), false), ['htmlAlign', 'size', 'display', 'id'], false),
|
|
191
194
|
entity: ['entity'],
|
|
192
195
|
general: ['textColor', 'backgroundColor'], // General model still need to do color transformation in dark mode
|
|
193
196
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultFormatHandlers.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/formatHandlers/defaultFormatHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { ariaFormatHandler } from './common/ariaFormatHandler';\nimport { backgroundColorFormatHandler } from './common/backgroundColorFormatHandler';\nimport { boldFormatHandler } from './segment/boldFormatHandler';\nimport { borderBoxFormatHandler } from './common/borderBoxFormatHandler';\nimport { borderFormatHandler } from './common/borderFormatHandler';\nimport { boxShadowFormatHandler } from './common/boxShadowFormatHandler';\nimport { datasetFormatHandler } from './common/datasetFormatHandler';\nimport { directionFormatHandler } from './block/directionFormatHandler';\nimport { displayFormatHandler } from './block/displayFormatHandler';\nimport { entityFormatHandler } from './entity/entityFormatHandler';\nimport { floatFormatHandler } from './common/floatFormatHandler';\nimport { fontFamilyFormatHandler } from './segment/fontFamilyFormatHandler';\nimport { fontSizeFormatHandler } from './segment/fontSizeFormatHandler';\nimport { getObjectKeys } from '../domUtils/getObjectKeys';\nimport { htmlAlignFormatHandler } from './block/htmlAlignFormatHandler';\nimport { idFormatHandler } from './common/idFormatHandler';\nimport { italicFormatHandler } from './segment/italicFormatHandler';\nimport { letterSpacingFormatHandler } from './segment/letterSpacingFormatHandler';\nimport { lineHeightFormatHandler } from './block/lineHeightFormatHandler';\nimport { linkFormatHandler } from './segment/linkFormatHandler';\nimport { listItemThreadFormatHandler } from './list/listItemThreadFormatHandler';\nimport { listLevelThreadFormatHandler } from './list/listLevelThreadFormatHandler';\nimport { listStyleFormatHandler } from './list/listStyleFormatHandler';\nimport { marginFormatHandler } from './block/marginFormatHandler';\nimport { paddingFormatHandler } from './block/paddingFormatHandler';\nimport { sizeFormatHandler } from './common/sizeFormatHandler';\nimport { strikeFormatHandler } from './segment/strikeFormatHandler';\nimport { superOrSubScriptFormatHandler } from './segment/superOrSubScriptFormatHandler';\nimport { tableLayoutFormatHandler } from './table/tableLayoutFormatHandler';\nimport { tableSpacingFormatHandler } from './table/tableSpacingFormatHandler';\nimport { textAlignFormatHandler } from './block/textAlignFormatHandler';\nimport { textColorFormatHandler } from './segment/textColorFormatHandler';\nimport { textColorOnTableCellFormatHandler } from './table/textColorOnTableCellFormatHandler';\nimport { textIndentFormatHandler } from './block/textIndentFormatHandler';\nimport { undeletableLinkFormatHandler } from './segment/undeletableLinkFormatHandler';\nimport { underlineFormatHandler } from './segment/underlineFormatHandler';\nimport { verticalAlignFormatHandler } from './common/verticalAlignFormatHandler';\nimport { whiteSpaceFormatHandler } from './block/whiteSpaceFormatHandler';\nimport { wordBreakFormatHandler } from './common/wordBreakFormatHandler';\nimport type { FormatHandler } from './FormatHandler';\nimport type {\n ContentModelFormatMap,\n FormatApplier,\n FormatAppliers,\n FormatHandlerTypeMap,\n FormatKey,\n FormatParser,\n FormatParsers,\n} from 'roosterjs-content-model-types';\n\ntype FormatHandlers = {\n [Key in FormatKey]: FormatHandler<FormatHandlerTypeMap[Key]>;\n};\n\nconst defaultFormatHandlerMap: FormatHandlers = {\n aria: ariaFormatHandler,\n backgroundColor: backgroundColorFormatHandler,\n bold: boldFormatHandler,\n border: borderFormatHandler,\n borderBox: borderBoxFormatHandler,\n boxShadow: boxShadowFormatHandler,\n dataset: datasetFormatHandler,\n direction: directionFormatHandler,\n display: displayFormatHandler,\n float: floatFormatHandler,\n fontFamily: fontFamilyFormatHandler,\n fontSize: fontSizeFormatHandler,\n entity: entityFormatHandler,\n htmlAlign: htmlAlignFormatHandler,\n id: idFormatHandler,\n italic: italicFormatHandler,\n letterSpacing: letterSpacingFormatHandler,\n lineHeight: lineHeightFormatHandler,\n link: linkFormatHandler,\n listItemThread: listItemThreadFormatHandler,\n listLevelThread: listLevelThreadFormatHandler,\n listStyle: listStyleFormatHandler,\n margin: marginFormatHandler,\n padding: paddingFormatHandler,\n size: sizeFormatHandler,\n strike: strikeFormatHandler,\n superOrSubScript: superOrSubScriptFormatHandler,\n tableLayout: tableLayoutFormatHandler,\n tableSpacing: tableSpacingFormatHandler,\n textAlign: textAlignFormatHandler,\n textColor: textColorFormatHandler,\n textColorOnTableCell: textColorOnTableCellFormatHandler,\n textIndent: textIndentFormatHandler,\n undeletableLink: undeletableLinkFormatHandler,\n underline: underlineFormatHandler,\n verticalAlign: verticalAlignFormatHandler,\n whiteSpace: whiteSpaceFormatHandler,\n wordBreak: wordBreakFormatHandler,\n};\n\nconst styleBasedSegmentFormats: (keyof FormatHandlerTypeMap)[] = [\n 'letterSpacing',\n 'fontFamily',\n 'fontSize',\n];\n\nconst elementBasedSegmentFormats: (keyof FormatHandlerTypeMap)[] = [\n 'strike',\n 'underline',\n 'superOrSubScript',\n 'italic',\n 'bold',\n];\nconst sharedBlockFormats: (keyof FormatHandlerTypeMap)[] = [\n 'direction',\n 'textAlign',\n 'textIndent',\n 'lineHeight',\n 'whiteSpace',\n];\nconst sharedContainerFormats: (keyof FormatHandlerTypeMap)[] = [\n 'backgroundColor',\n 'margin',\n 'padding',\n 'border',\n];\n\n/**\n * @internal\n */\nexport const defaultFormatKeysPerCategory: {\n [key in keyof ContentModelFormatMap]: (keyof FormatHandlerTypeMap)[];\n} = {\n block: sharedBlockFormats,\n listItemThread: ['listItemThread'],\n listLevelThread: ['listLevelThread'],\n listItemElement: [\n ...sharedBlockFormats,\n 'direction',\n 'textAlign',\n 'lineHeight',\n 'margin',\n 'listStyle',\n ],\n listLevel: ['direction', 'textAlign', 'margin', 'padding', 'listStyle', 'backgroundColor'],\n styleBasedSegment: [...styleBasedSegmentFormats, 'textColor', 'backgroundColor', 'lineHeight'],\n elementBasedSegment: elementBasedSegmentFormats,\n segment: [\n ...styleBasedSegmentFormats,\n ...elementBasedSegmentFormats,\n 'textColor',\n 'backgroundColor',\n 'lineHeight',\n ],\n segmentOnBlock: [...styleBasedSegmentFormats, ...elementBasedSegmentFormats, 'textColor'],\n segmentOnTableCell: [\n ...styleBasedSegmentFormats,\n ...elementBasedSegmentFormats,\n 'textColorOnTableCell',\n ],\n tableCell: [\n 'border',\n 'backgroundColor',\n 'padding',\n 'verticalAlign',\n 'wordBreak',\n 'textColor',\n 'htmlAlign',\n 'size',\n ],\n tableRow: ['backgroundColor'],\n tableColumn: ['size'],\n table: [\n 'aria',\n 'id',\n 'border',\n 'backgroundColor',\n 'display',\n 'htmlAlign',\n 'margin',\n 'size',\n 'tableLayout',\n 'textColor',\n ],\n tableBorder: ['borderBox', 'tableSpacing'],\n tableCellBorder: ['borderBox'],\n image: [\n 'id',\n 'size',\n 'margin',\n 'padding',\n 'borderBox',\n 'border',\n 'boxShadow',\n 'display',\n 'float',\n 'verticalAlign',\n ],\n link: [\n 'link',\n 'textColor',\n 'underline',\n 'display',\n 'margin',\n 'padding',\n 'backgroundColor',\n 'border',\n 'size',\n 'textAlign',\n 'undeletableLink',\n ],\n segmentUnderLink: ['textColor'],\n code: ['fontFamily', 'display'],\n dataset: ['dataset'],\n divider: [...sharedBlockFormats, ...sharedContainerFormats, 'display', 'size', 'htmlAlign'],\n container: [...sharedContainerFormats, 'htmlAlign', 'size', 'display'],\n entity: ['entity'],\n general: ['textColor', 'backgroundColor'], // General model still need to do color transformation in dark mode\n};\n\n/**\n * @internal\n */\nexport const defaultFormatParsers: FormatParsers = getObjectKeys(defaultFormatHandlerMap).reduce(\n (result, key) => {\n result[key] = defaultFormatHandlerMap[key].parse as FormatParser<any>;\n return result;\n },\n <FormatParsers>{}\n);\n\n/**\n * @internal\n */\nexport const defaultFormatAppliers: FormatAppliers = getObjectKeys(defaultFormatHandlerMap).reduce(\n (result, key) => {\n result[key] = defaultFormatHandlerMap[key].apply as FormatApplier<any>;\n return result;\n },\n <FormatAppliers>{}\n);\n"]}
|
|
1
|
+
{"version":3,"file":"defaultFormatHandlers.js","sourceRoot":"","sources":["../../../../packages/roosterjs-content-model-dom/lib/formatHandlers/defaultFormatHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { ariaFormatHandler } from './common/ariaFormatHandler';\nimport { backgroundColorFormatHandler } from './common/backgroundColorFormatHandler';\nimport { boldFormatHandler } from './segment/boldFormatHandler';\nimport { borderBoxFormatHandler } from './common/borderBoxFormatHandler';\nimport { borderFormatHandler } from './common/borderFormatHandler';\nimport { boxShadowFormatHandler } from './common/boxShadowFormatHandler';\nimport { datasetFormatHandler } from './common/datasetFormatHandler';\nimport { directionFormatHandler } from './block/directionFormatHandler';\nimport { displayFormatHandler } from './block/displayFormatHandler';\nimport { entityFormatHandler } from './entity/entityFormatHandler';\nimport { floatFormatHandler } from './common/floatFormatHandler';\nimport { fontFamilyFormatHandler } from './segment/fontFamilyFormatHandler';\nimport { fontSizeFormatHandler } from './segment/fontSizeFormatHandler';\nimport { getObjectKeys } from '../domUtils/getObjectKeys';\nimport { htmlAlignFormatHandler } from './block/htmlAlignFormatHandler';\nimport { idFormatHandler } from './common/idFormatHandler';\nimport { imageStateFormatHandler } from './segment/imageStateFormatHandler';\nimport { italicFormatHandler } from './segment/italicFormatHandler';\nimport { letterSpacingFormatHandler } from './segment/letterSpacingFormatHandler';\nimport { lineHeightFormatHandler } from './block/lineHeightFormatHandler';\nimport { linkFormatHandler } from './segment/linkFormatHandler';\nimport { listItemThreadFormatHandler } from './list/listItemThreadFormatHandler';\nimport { listLevelThreadFormatHandler } from './list/listLevelThreadFormatHandler';\nimport { listStyleFormatHandler } from './list/listStyleFormatHandler';\nimport { marginFormatHandler } from './block/marginFormatHandler';\nimport { paddingFormatHandler } from './block/paddingFormatHandler';\nimport { sizeFormatHandler } from './common/sizeFormatHandler';\nimport { strikeFormatHandler } from './segment/strikeFormatHandler';\nimport { superOrSubScriptFormatHandler } from './segment/superOrSubScriptFormatHandler';\nimport { tableLayoutFormatHandler } from './table/tableLayoutFormatHandler';\nimport { tableSpacingFormatHandler } from './table/tableSpacingFormatHandler';\nimport { textAlignFormatHandler } from './block/textAlignFormatHandler';\nimport { textColorFormatHandler } from './segment/textColorFormatHandler';\nimport { textColorOnTableCellFormatHandler } from './table/textColorOnTableCellFormatHandler';\nimport { textIndentFormatHandler } from './block/textIndentFormatHandler';\nimport { undeletableLinkFormatHandler } from './segment/undeletableLinkFormatHandler';\nimport { underlineFormatHandler } from './segment/underlineFormatHandler';\nimport { verticalAlignFormatHandler } from './common/verticalAlignFormatHandler';\nimport { whiteSpaceFormatHandler } from './block/whiteSpaceFormatHandler';\nimport { wordBreakFormatHandler } from './common/wordBreakFormatHandler';\nimport type { FormatHandler } from './FormatHandler';\nimport type {\n ContentModelFormatMap,\n FormatApplier,\n FormatAppliers,\n FormatHandlerTypeMap,\n FormatKey,\n FormatParser,\n FormatParsers,\n} from 'roosterjs-content-model-types';\n\ntype FormatHandlers = {\n [Key in FormatKey]: FormatHandler<FormatHandlerTypeMap[Key]>;\n};\n\nconst defaultFormatHandlerMap: FormatHandlers = {\n aria: ariaFormatHandler,\n backgroundColor: backgroundColorFormatHandler,\n bold: boldFormatHandler,\n border: borderFormatHandler,\n borderBox: borderBoxFormatHandler,\n boxShadow: boxShadowFormatHandler,\n dataset: datasetFormatHandler,\n direction: directionFormatHandler,\n display: displayFormatHandler,\n float: floatFormatHandler,\n fontFamily: fontFamilyFormatHandler,\n fontSize: fontSizeFormatHandler,\n entity: entityFormatHandler,\n htmlAlign: htmlAlignFormatHandler,\n id: idFormatHandler,\n imageState: imageStateFormatHandler,\n italic: italicFormatHandler,\n letterSpacing: letterSpacingFormatHandler,\n lineHeight: lineHeightFormatHandler,\n link: linkFormatHandler,\n listItemThread: listItemThreadFormatHandler,\n listLevelThread: listLevelThreadFormatHandler,\n listStyle: listStyleFormatHandler,\n margin: marginFormatHandler,\n padding: paddingFormatHandler,\n size: sizeFormatHandler,\n strike: strikeFormatHandler,\n superOrSubScript: superOrSubScriptFormatHandler,\n tableLayout: tableLayoutFormatHandler,\n tableSpacing: tableSpacingFormatHandler,\n textAlign: textAlignFormatHandler,\n textColor: textColorFormatHandler,\n textColorOnTableCell: textColorOnTableCellFormatHandler,\n textIndent: textIndentFormatHandler,\n undeletableLink: undeletableLinkFormatHandler,\n underline: underlineFormatHandler,\n verticalAlign: verticalAlignFormatHandler,\n whiteSpace: whiteSpaceFormatHandler,\n wordBreak: wordBreakFormatHandler,\n};\n\nconst styleBasedSegmentFormats: (keyof FormatHandlerTypeMap)[] = [\n 'letterSpacing',\n 'fontFamily',\n 'fontSize',\n];\n\nconst elementBasedSegmentFormats: (keyof FormatHandlerTypeMap)[] = [\n 'strike',\n 'underline',\n 'superOrSubScript',\n 'italic',\n 'bold',\n];\nconst sharedBlockFormats: (keyof FormatHandlerTypeMap)[] = [\n 'direction',\n 'textAlign',\n 'textIndent',\n 'lineHeight',\n 'whiteSpace',\n];\nconst sharedContainerFormats: (keyof FormatHandlerTypeMap)[] = [\n 'backgroundColor',\n 'margin',\n 'padding',\n 'border',\n];\n\n/**\n * @internal\n */\nexport const defaultFormatKeysPerCategory: {\n [key in keyof ContentModelFormatMap]: (keyof FormatHandlerTypeMap)[];\n} = {\n block: sharedBlockFormats,\n listItemThread: ['listItemThread'],\n listLevelThread: ['listLevelThread'],\n listItemElement: [\n ...sharedBlockFormats,\n 'direction',\n 'textAlign',\n 'lineHeight',\n 'margin',\n 'listStyle',\n ],\n listLevel: ['direction', 'textAlign', 'margin', 'padding', 'listStyle', 'backgroundColor'],\n styleBasedSegment: [...styleBasedSegmentFormats, 'textColor', 'backgroundColor', 'lineHeight'],\n elementBasedSegment: elementBasedSegmentFormats,\n segment: [\n ...styleBasedSegmentFormats,\n ...elementBasedSegmentFormats,\n 'textColor',\n 'backgroundColor',\n 'lineHeight',\n ],\n segmentOnBlock: [...styleBasedSegmentFormats, ...elementBasedSegmentFormats, 'textColor'],\n segmentOnTableCell: [\n ...styleBasedSegmentFormats,\n ...elementBasedSegmentFormats,\n 'textColorOnTableCell',\n ],\n tableCell: [\n 'border',\n 'backgroundColor',\n 'padding',\n 'verticalAlign',\n 'wordBreak',\n 'textColor',\n 'htmlAlign',\n 'size',\n ],\n tableRow: ['backgroundColor'],\n tableColumn: ['size'],\n table: [\n 'aria',\n 'id',\n 'border',\n 'backgroundColor',\n 'display',\n 'htmlAlign',\n 'margin',\n 'size',\n 'tableLayout',\n 'textColor',\n ],\n tableBorder: ['borderBox', 'tableSpacing'],\n tableCellBorder: ['borderBox'],\n image: [\n 'id',\n 'size',\n 'margin',\n 'padding',\n 'borderBox',\n 'border',\n 'boxShadow',\n 'display',\n 'float',\n 'verticalAlign',\n 'imageState',\n ],\n link: [\n 'link',\n 'textColor',\n 'underline',\n 'display',\n 'margin',\n 'padding',\n 'backgroundColor',\n 'border',\n 'size',\n 'textAlign',\n 'undeletableLink',\n ],\n segmentUnderLink: ['textColor'],\n code: ['fontFamily', 'display'],\n dataset: ['dataset'],\n divider: [...sharedBlockFormats, ...sharedContainerFormats, 'display', 'size', 'htmlAlign'],\n container: [...sharedContainerFormats, 'htmlAlign', 'size', 'display', 'id'],\n entity: ['entity'],\n general: ['textColor', 'backgroundColor'], // General model still need to do color transformation in dark mode\n};\n\n/**\n * @internal\n */\nexport const defaultFormatParsers: FormatParsers = getObjectKeys(defaultFormatHandlerMap).reduce(\n (result, key) => {\n result[key] = defaultFormatHandlerMap[key].parse as FormatParser<any>;\n return result;\n },\n <FormatParsers>{}\n);\n\n/**\n * @internal\n */\nexport const defaultFormatAppliers: FormatAppliers = getObjectKeys(defaultFormatHandlerMap).reduce(\n (result, key) => {\n result[key] = defaultFormatHandlerMap[key].apply as FormatApplier<any>;\n return result;\n },\n <FormatAppliers>{}\n);\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.imageStateFormatHandler = void 0;
|
|
4
|
+
var imageState_1 = require("../../domUtils/hiddenProperties/imageState");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.imageStateFormatHandler = {
|
|
9
|
+
parse: function (format, element) {
|
|
10
|
+
var marker = (0, imageState_1.getImageState)(element);
|
|
11
|
+
if (marker) {
|
|
12
|
+
format.imageState = marker;
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
apply: function (format, element) {
|
|
16
|
+
if (format.imageState) {
|
|
17
|
+
(0, imageState_1.setImageState)(element, format.imageState);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=imageStateFormatHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageStateFormatHandler.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/formatHandlers/segment/imageStateFormatHandler.ts"],"names":[],"mappings":";;;AAAA,yEAA0F;AAI1F;;GAEG;AACU,QAAA,uBAAuB,GAAoC;IACpE,KAAK,EAAE,UAAC,MAAM,EAAE,OAAO;QACnB,IAAM,MAAM,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;SAC9B;IACL,CAAC;IACD,KAAK,EAAE,UAAC,MAAM,EAAE,OAAO;QACnB,IAAI,MAAM,CAAC,UAAU,EAAE;YACnB,IAAA,0BAAa,EAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7C;IACL,CAAC;CACJ,CAAC","sourcesContent":["import { getImageState, setImageState } from '../../domUtils/hiddenProperties/imageState';\nimport type { ImageStateFormat } from 'roosterjs-content-model-types';\nimport type { FormatHandler } from '../FormatHandler';\n\n/**\n * @internal\n */\nexport const imageStateFormatHandler: FormatHandler<ImageStateFormat> = {\n parse: (format, element) => {\n const marker = getImageState(element);\n if (marker) {\n format.imageState = marker;\n }\n },\n apply: (format, element) => {\n if (format.imageState) {\n setImageState(element, format.imageState);\n }\n },\n};\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -54,6 +54,7 @@ export { addSegment } from './modelApi/common/addSegment';
|
|
|
54
54
|
export { isEmpty } from './modelApi/common/isEmpty';
|
|
55
55
|
export { normalizeSingleSegment } from './modelApi/common/normalizeSegment';
|
|
56
56
|
export { mergeTextSegments } from './modelApi/common/mergeTextSegments';
|
|
57
|
+
export { normalizeSegmentFormat } from './modelApi/common/normalizeSegmentFormat';
|
|
57
58
|
export { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit';
|
|
58
59
|
export { getOrderedListNumberStr } from './modelApi/list/getOrderedListNumberStr';
|
|
59
60
|
export { getAutoListStyleType } from './modelApi/list/getAutoListStyleType';
|
|
@@ -74,6 +75,7 @@ export { transformColor } from './domUtils/style/transformColor';
|
|
|
74
75
|
export { extractClipboardItems } from './domUtils/event/extractClipboardItems';
|
|
75
76
|
export { cacheGetEventData } from './domUtils/event/cacheGetEventData';
|
|
76
77
|
export { setParagraphMarker, getParagraphMarker, } from './domUtils/hiddenProperties/paragraphMarker';
|
|
78
|
+
export { setImageState, getImageState } from './domUtils/hiddenProperties/imageState';
|
|
77
79
|
export { isBlockGroupOfType } from './modelApi/typeCheck/isBlockGroupOfType';
|
|
78
80
|
export { iterateSelections } from './modelApi/selection/iterateSelections';
|
|
79
81
|
export { getFirstSelectedListItem, getFirstSelectedTable, getOperationalBlocks, getSelectedParagraphs, getSelectedSegments, getSelectedSegmentsAndParagraphs, } from './modelApi/selection/collectSelections';
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createParagraphDecorator = exports.createContentModelDocument = exports.createImage = exports.createText = exports.createTableCell = exports.createTable = exports.createSelectionMarker = exports.createParagraph = exports.createFormatContainer = exports.createListItem = exports.createBr = exports.isLinkUndeletable = exports.setLinkUndeletable = exports.normalizeRect = exports.isWhiteSpacePreserved = exports.reuseCachedElement = exports.findClosestBlockEntityContainer = exports.isBlockEntityContainer = exports.isEntityDelimiter = exports.addDelimiters = exports.generateEntityClassNames = exports.parseEntityFormat = exports.getAllEntityWrappers = exports.findClosestEntityWrapper = exports.isEntityElement = exports.unwrap = exports.wrap = exports.wrapAllChildNodes = exports.moveChildNodes = exports.toArray = exports.getSafeIdSelector = exports.getObjectKeys = exports.isElementOfType = exports.isNodeOfType = exports.hasMetadata = exports.getMetadata = exports.updateMetadata = exports.buildSelectionMarker = exports.isBlockElement = exports.areSameFormats = exports.parseFormat = exports.getRegularSelectionOffsets = exports.tableProcessor = exports.entityProcessor = exports.processChildNode = exports.handleRegularSelection = exports.childProcessor = exports.contentModelToText = exports.contentModelToDom = exports.domToContentModel = void 0;
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.EmptySegmentFormat = void 0;
|
|
4
|
+
exports.normalizeText = exports.isSpace = exports.isPunctuation = exports.extractBorderValues = exports.combineBorderValue = exports.isCursorMovingKey = exports.isModifierKey = exports.isCharacterValue = exports.getDOMInsertPointRect = exports.getSelectionRootNode = exports.isBold = exports.createModelToDomConfig = exports.createModelToDomContextWithConfig = exports.createModelToDomContext = exports.createDomToModelConfig = exports.createDomToModelContextWithConfig = exports.createDomToModelContext = exports.defaultGenerateColorKey = exports.parseColor = exports.setColor = exports.getColor = exports.DeprecatedColors = exports.BorderKeys = exports.parseValueWithUnit = exports.getAutoListStyleType = exports.getOrderedListNumberStr = exports.setParagraphNotImplicit = exports.normalizeSegmentFormat = exports.mergeTextSegments = exports.normalizeSingleSegment = exports.isEmpty = exports.addSegment = exports.unwrapBlock = exports.isGeneralSegment = exports.normalizeContentModel = exports.normalizeParagraph = exports.addTextSegment = exports.addLink = exports.addCode = exports.addBlock = exports.mutateSegment = exports.mutateSegments = exports.mutateBlock = exports.createTableRow = exports.createEmptyModel = exports.createListLevel = exports.createDivider = exports.createEntity = exports.createGeneralBlock = exports.createGeneralSegment = void 0;
|
|
5
|
+
exports.NumberingListType = exports.BulletListType = exports.ChangeSource = exports.ListMetadataDefinition = exports.getListMetadata = exports.updateListMetadata = exports.getTableMetadata = exports.updateTableMetadata = exports.getTableCellMetadata = exports.updateTableCellMetadata = exports.getImageMetadata = exports.updateImageMetadata = exports.runEditSteps = exports.getClosestAncestorBlockGroupIndex = exports.getSegmentTextFormat = exports.getListStyleTypeFromString = exports.retrieveModelFormatState = exports.setTableCellBackgroundColor = exports.MIN_ALLOWED_TABLE_CELL_HEIGHT = exports.MIN_ALLOWED_TABLE_CELL_WIDTH = exports.normalizeTable = exports.setFirstColumnFormatBorders = exports.applyTableFormat = exports.deleteBlock = exports.deleteSegment = exports.deleteSelection = exports.mergeModel = exports.cloneModel = exports.setSelection = exports.hasSelectionInBlockGroup = exports.hasSelectionInSegment = exports.hasSelectionInBlock = exports.getSelectedCells = exports.getSelectedSegmentsAndParagraphs = exports.getSelectedSegments = exports.getSelectedParagraphs = exports.getOperationalBlocks = exports.getFirstSelectedTable = exports.getFirstSelectedListItem = exports.iterateSelections = exports.isBlockGroupOfType = exports.getImageState = exports.setImageState = exports.getParagraphMarker = exports.setParagraphMarker = exports.cacheGetEventData = exports.extractClipboardItems = exports.transformColor = exports.readFile = exports.parseTableCells = void 0;
|
|
6
|
+
exports.EmptySegmentFormat = exports.UnorderedListStyleMap = exports.OrderedListStyleMap = exports.TableBorderFormat = void 0;
|
|
7
7
|
var domToContentModel_1 = require("./domToModel/domToContentModel");
|
|
8
8
|
Object.defineProperty(exports, "domToContentModel", { enumerable: true, get: function () { return domToContentModel_1.domToContentModel; } });
|
|
9
9
|
var contentModelToDom_1 = require("./modelToDom/contentModelToDom");
|
|
@@ -132,6 +132,8 @@ var normalizeSegment_1 = require("./modelApi/common/normalizeSegment");
|
|
|
132
132
|
Object.defineProperty(exports, "normalizeSingleSegment", { enumerable: true, get: function () { return normalizeSegment_1.normalizeSingleSegment; } });
|
|
133
133
|
var mergeTextSegments_1 = require("./modelApi/common/mergeTextSegments");
|
|
134
134
|
Object.defineProperty(exports, "mergeTextSegments", { enumerable: true, get: function () { return mergeTextSegments_1.mergeTextSegments; } });
|
|
135
|
+
var normalizeSegmentFormat_1 = require("./modelApi/common/normalizeSegmentFormat");
|
|
136
|
+
Object.defineProperty(exports, "normalizeSegmentFormat", { enumerable: true, get: function () { return normalizeSegmentFormat_1.normalizeSegmentFormat; } });
|
|
135
137
|
var setParagraphNotImplicit_1 = require("./modelApi/block/setParagraphNotImplicit");
|
|
136
138
|
Object.defineProperty(exports, "setParagraphNotImplicit", { enumerable: true, get: function () { return setParagraphNotImplicit_1.setParagraphNotImplicit; } });
|
|
137
139
|
var getOrderedListNumberStr_1 = require("./modelApi/list/getOrderedListNumberStr");
|
|
@@ -186,6 +188,9 @@ Object.defineProperty(exports, "cacheGetEventData", { enumerable: true, get: fun
|
|
|
186
188
|
var paragraphMarker_1 = require("./domUtils/hiddenProperties/paragraphMarker");
|
|
187
189
|
Object.defineProperty(exports, "setParagraphMarker", { enumerable: true, get: function () { return paragraphMarker_1.setParagraphMarker; } });
|
|
188
190
|
Object.defineProperty(exports, "getParagraphMarker", { enumerable: true, get: function () { return paragraphMarker_1.getParagraphMarker; } });
|
|
191
|
+
var imageState_1 = require("./domUtils/hiddenProperties/imageState");
|
|
192
|
+
Object.defineProperty(exports, "setImageState", { enumerable: true, get: function () { return imageState_1.setImageState; } });
|
|
193
|
+
Object.defineProperty(exports, "getImageState", { enumerable: true, get: function () { return imageState_1.getImageState; } });
|
|
189
194
|
var isBlockGroupOfType_1 = require("./modelApi/typeCheck/isBlockGroupOfType");
|
|
190
195
|
Object.defineProperty(exports, "isBlockGroupOfType", { enumerable: true, get: function () { return isBlockGroupOfType_1.isBlockGroupOfType; } });
|
|
191
196
|
var iterateSelections_1 = require("./modelApi/selection/iterateSelections");
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/roosterjs-content-model-dom/lib/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { domToContentModel } from './domToModel/domToContentModel';\nexport { contentModelToDom } from './modelToDom/contentModelToDom';\nexport { contentModelToText } from './modelToText/contentModelToText';\n\nexport {\n childProcessor,\n handleRegularSelection,\n processChildNode,\n} from './domToModel/processors/childProcessor';\nexport { entityProcessor } from './domToModel/processors/entityProcessor';\nexport { tableProcessor } from './domToModel/processors/tableProcessor';\nexport { getRegularSelectionOffsets } from './domToModel/utils/getRegularSelectionOffsets';\nexport { parseFormat } from './domToModel/utils/parseFormat';\nexport { areSameFormats } from './domToModel/utils/areSameFormats';\nexport { isBlockElement } from './domToModel/utils/isBlockElement';\nexport { buildSelectionMarker } from './domToModel/utils/buildSelectionMarker';\n\nexport { updateMetadata, getMetadata, hasMetadata } from './modelApi/metadata/updateMetadata';\nexport { isNodeOfType } from './domUtils/isNodeOfType';\nexport { isElementOfType } from './domUtils/isElementOfType';\nexport { getObjectKeys } from './domUtils/getObjectKeys';\nexport { getSafeIdSelector } from './domUtils/getSafeIdSelector';\nexport { toArray } from './domUtils/toArray';\nexport { moveChildNodes, wrapAllChildNodes } from './domUtils/moveChildNodes';\nexport { wrap } from './domUtils/wrap';\nexport { unwrap } from './domUtils/unwrap';\nexport {\n isEntityElement,\n findClosestEntityWrapper,\n getAllEntityWrappers,\n parseEntityFormat,\n generateEntityClassNames,\n addDelimiters,\n isEntityDelimiter,\n isBlockEntityContainer,\n findClosestBlockEntityContainer,\n} from './domUtils/entityUtils';\nexport { reuseCachedElement } from './domUtils/reuseCachedElement';\nexport { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved';\nexport { normalizeRect } from './domUtils/normalizeRect';\n\nexport { setLinkUndeletable, isLinkUndeletable } from './domUtils/hiddenProperties/undeletableLink';\n\nexport { createBr } from './modelApi/creators/createBr';\nexport { createListItem } from './modelApi/creators/createListItem';\nexport { createFormatContainer } from './modelApi/creators/createFormatContainer';\nexport { createParagraph } from './modelApi/creators/createParagraph';\nexport { createSelectionMarker } from './modelApi/creators/createSelectionMarker';\nexport { createTable } from './modelApi/creators/createTable';\nexport { createTableCell } from './modelApi/creators/createTableCell';\nexport { createText } from './modelApi/creators/createText';\nexport { createImage } from './modelApi/creators/createImage';\nexport { createContentModelDocument } from './modelApi/creators/createContentModelDocument';\nexport { createParagraphDecorator } from './modelApi/creators/createParagraphDecorator';\nexport { createGeneralSegment } from './modelApi/creators/createGeneralSegment';\nexport { createGeneralBlock } from './modelApi/creators/createGeneralBlock';\nexport { createEntity } from './modelApi/creators/createEntity';\nexport { createDivider } from './modelApi/creators/createDivider';\nexport { createListLevel } from './modelApi/creators/createListLevel';\nexport { createEmptyModel } from './modelApi/creators/createEmptyModel';\nexport { createTableRow } from './modelApi/creators/createTableRow';\n\nexport { mutateBlock, mutateSegments, mutateSegment } from './modelApi/common/mutate';\nexport { addBlock } from './modelApi/common/addBlock';\nexport { addCode } from './modelApi/common/addDecorators';\nexport { addLink } from './modelApi/common/addDecorators';\nexport { addTextSegment } from './modelApi/common/addTextSegment';\nexport { normalizeParagraph } from './modelApi/common/normalizeParagraph';\n\nexport { normalizeContentModel } from './modelApi/common/normalizeContentModel';\nexport { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';\nexport { unwrapBlock } from './modelApi/common/unwrapBlock';\nexport { addSegment } from './modelApi/common/addSegment';\nexport { isEmpty } from './modelApi/common/isEmpty';\nexport { normalizeSingleSegment } from './modelApi/common/normalizeSegment';\nexport { mergeTextSegments } from './modelApi/common/mergeTextSegments';\n\nexport { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit';\nexport { getOrderedListNumberStr } from './modelApi/list/getOrderedListNumberStr';\nexport { getAutoListStyleType } from './modelApi/list/getAutoListStyleType';\n\nexport { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit';\nexport { BorderKeys } from './formatHandlers/common/borderFormatHandler';\nexport {\n DeprecatedColors,\n getColor,\n setColor,\n parseColor,\n defaultGenerateColorKey,\n} from './formatHandlers/utils/color';\n\nexport {\n createDomToModelContext,\n createDomToModelContextWithConfig,\n createDomToModelConfig,\n} from './domToModel/context/createDomToModelContext';\nexport {\n createModelToDomContext,\n createModelToDomContextWithConfig,\n createModelToDomConfig,\n} from './modelToDom/context/createModelToDomContext';\n\nexport { isBold } from './domUtils/style/isBold';\nexport { getSelectionRootNode } from './domUtils/selection/getSelectionRootNode';\nexport { getDOMInsertPointRect } from './domUtils/selection/getDOMInsertPointRect';\nexport { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/event/eventUtils';\nexport { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';\nexport { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';\nexport { parseTableCells } from './domUtils/table/parseTableCells';\nexport { readFile } from './domUtils/readFile';\nexport { transformColor } from './domUtils/style/transformColor';\nexport { extractClipboardItems } from './domUtils/event/extractClipboardItems';\nexport { cacheGetEventData } from './domUtils/event/cacheGetEventData';\nexport {\n setParagraphMarker,\n getParagraphMarker,\n} from './domUtils/hiddenProperties/paragraphMarker';\n\nexport { isBlockGroupOfType } from './modelApi/typeCheck/isBlockGroupOfType';\n\nexport { iterateSelections } from './modelApi/selection/iterateSelections';\nexport {\n getFirstSelectedListItem,\n getFirstSelectedTable,\n getOperationalBlocks,\n getSelectedParagraphs,\n getSelectedSegments,\n getSelectedSegmentsAndParagraphs,\n} from './modelApi/selection/collectSelections';\nexport { getSelectedCells } from './modelApi/selection/getSelectedCells';\nexport { hasSelectionInBlock } from './modelApi/selection/hasSelectionInBlock';\nexport { hasSelectionInSegment } from './modelApi/selection/hasSelectionInSegment';\nexport { hasSelectionInBlockGroup } from './modelApi/selection/hasSelectionInBlockGroup';\nexport { setSelection } from './modelApi/selection/setSelection';\n\nexport { cloneModel } from './modelApi/editing/cloneModel';\nexport { mergeModel } from './modelApi/editing/mergeModel';\nexport { deleteSelection } from './modelApi/editing/deleteSelection';\nexport { deleteSegment } from './modelApi/editing/deleteSegment';\nexport { deleteBlock } from './modelApi/editing/deleteBlock';\nexport { applyTableFormat, setFirstColumnFormatBorders } from './modelApi/editing/applyTableFormat';\nexport {\n normalizeTable,\n MIN_ALLOWED_TABLE_CELL_WIDTH,\n MIN_ALLOWED_TABLE_CELL_HEIGHT,\n} from './modelApi/editing/normalizeTable';\nexport { setTableCellBackgroundColor } from './modelApi/editing/setTableCellBackgroundColor';\nexport { retrieveModelFormatState } from './modelApi/editing/retrieveModelFormatState';\nexport { getListStyleTypeFromString } from './modelApi/editing/getListStyleTypeFromString';\nexport { getSegmentTextFormat } from './modelApi/editing/getSegmentTextFormat';\nexport { getClosestAncestorBlockGroupIndex } from './modelApi/editing/getClosestAncestorBlockGroupIndex';\nexport { runEditSteps } from './modelApi/editing/runEditSteps';\n\nexport { updateImageMetadata, getImageMetadata } from './modelApi/metadata/updateImageMetadata';\nexport {\n updateTableCellMetadata,\n getTableCellMetadata,\n} from './modelApi/metadata/updateTableCellMetadata';\nexport { updateTableMetadata, getTableMetadata } from './modelApi/metadata/updateTableMetadata';\nexport {\n updateListMetadata,\n getListMetadata,\n ListMetadataDefinition,\n} from './modelApi/metadata/updateListMetadata';\n\nexport { ChangeSource } from './constants/ChangeSource';\nexport { BulletListType } from './constants/BulletListType';\nexport { NumberingListType } from './constants/NumberingListType';\nexport { TableBorderFormat } from './constants/TableBorderFormat';\nexport { OrderedListStyleMap } from './constants/OrderedListStyleMap';\nexport { UnorderedListStyleMap } from './constants/UnorderedListStyleMap';\nexport { EmptySegmentFormat } from './constants/EmptySegmentFormat';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/roosterjs-content-model-dom/lib/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { domToContentModel } from './domToModel/domToContentModel';\nexport { contentModelToDom } from './modelToDom/contentModelToDom';\nexport { contentModelToText } from './modelToText/contentModelToText';\n\nexport {\n childProcessor,\n handleRegularSelection,\n processChildNode,\n} from './domToModel/processors/childProcessor';\nexport { entityProcessor } from './domToModel/processors/entityProcessor';\nexport { tableProcessor } from './domToModel/processors/tableProcessor';\nexport { getRegularSelectionOffsets } from './domToModel/utils/getRegularSelectionOffsets';\nexport { parseFormat } from './domToModel/utils/parseFormat';\nexport { areSameFormats } from './domToModel/utils/areSameFormats';\nexport { isBlockElement } from './domToModel/utils/isBlockElement';\nexport { buildSelectionMarker } from './domToModel/utils/buildSelectionMarker';\n\nexport { updateMetadata, getMetadata, hasMetadata } from './modelApi/metadata/updateMetadata';\nexport { isNodeOfType } from './domUtils/isNodeOfType';\nexport { isElementOfType } from './domUtils/isElementOfType';\nexport { getObjectKeys } from './domUtils/getObjectKeys';\nexport { getSafeIdSelector } from './domUtils/getSafeIdSelector';\nexport { toArray } from './domUtils/toArray';\nexport { moveChildNodes, wrapAllChildNodes } from './domUtils/moveChildNodes';\nexport { wrap } from './domUtils/wrap';\nexport { unwrap } from './domUtils/unwrap';\nexport {\n isEntityElement,\n findClosestEntityWrapper,\n getAllEntityWrappers,\n parseEntityFormat,\n generateEntityClassNames,\n addDelimiters,\n isEntityDelimiter,\n isBlockEntityContainer,\n findClosestBlockEntityContainer,\n} from './domUtils/entityUtils';\nexport { reuseCachedElement } from './domUtils/reuseCachedElement';\nexport { isWhiteSpacePreserved } from './domUtils/isWhiteSpacePreserved';\nexport { normalizeRect } from './domUtils/normalizeRect';\n\nexport { setLinkUndeletable, isLinkUndeletable } from './domUtils/hiddenProperties/undeletableLink';\n\nexport { createBr } from './modelApi/creators/createBr';\nexport { createListItem } from './modelApi/creators/createListItem';\nexport { createFormatContainer } from './modelApi/creators/createFormatContainer';\nexport { createParagraph } from './modelApi/creators/createParagraph';\nexport { createSelectionMarker } from './modelApi/creators/createSelectionMarker';\nexport { createTable } from './modelApi/creators/createTable';\nexport { createTableCell } from './modelApi/creators/createTableCell';\nexport { createText } from './modelApi/creators/createText';\nexport { createImage } from './modelApi/creators/createImage';\nexport { createContentModelDocument } from './modelApi/creators/createContentModelDocument';\nexport { createParagraphDecorator } from './modelApi/creators/createParagraphDecorator';\nexport { createGeneralSegment } from './modelApi/creators/createGeneralSegment';\nexport { createGeneralBlock } from './modelApi/creators/createGeneralBlock';\nexport { createEntity } from './modelApi/creators/createEntity';\nexport { createDivider } from './modelApi/creators/createDivider';\nexport { createListLevel } from './modelApi/creators/createListLevel';\nexport { createEmptyModel } from './modelApi/creators/createEmptyModel';\nexport { createTableRow } from './modelApi/creators/createTableRow';\n\nexport { mutateBlock, mutateSegments, mutateSegment } from './modelApi/common/mutate';\nexport { addBlock } from './modelApi/common/addBlock';\nexport { addCode } from './modelApi/common/addDecorators';\nexport { addLink } from './modelApi/common/addDecorators';\nexport { addTextSegment } from './modelApi/common/addTextSegment';\nexport { normalizeParagraph } from './modelApi/common/normalizeParagraph';\n\nexport { normalizeContentModel } from './modelApi/common/normalizeContentModel';\nexport { isGeneralSegment } from './modelApi/typeCheck/isGeneralSegment';\nexport { unwrapBlock } from './modelApi/common/unwrapBlock';\nexport { addSegment } from './modelApi/common/addSegment';\nexport { isEmpty } from './modelApi/common/isEmpty';\nexport { normalizeSingleSegment } from './modelApi/common/normalizeSegment';\nexport { mergeTextSegments } from './modelApi/common/mergeTextSegments';\nexport { normalizeSegmentFormat } from './modelApi/common/normalizeSegmentFormat';\n\nexport { setParagraphNotImplicit } from './modelApi/block/setParagraphNotImplicit';\nexport { getOrderedListNumberStr } from './modelApi/list/getOrderedListNumberStr';\nexport { getAutoListStyleType } from './modelApi/list/getAutoListStyleType';\n\nexport { parseValueWithUnit } from './formatHandlers/utils/parseValueWithUnit';\nexport { BorderKeys } from './formatHandlers/common/borderFormatHandler';\nexport {\n DeprecatedColors,\n getColor,\n setColor,\n parseColor,\n defaultGenerateColorKey,\n} from './formatHandlers/utils/color';\n\nexport {\n createDomToModelContext,\n createDomToModelContextWithConfig,\n createDomToModelConfig,\n} from './domToModel/context/createDomToModelContext';\nexport {\n createModelToDomContext,\n createModelToDomContextWithConfig,\n createModelToDomConfig,\n} from './modelToDom/context/createModelToDomContext';\n\nexport { isBold } from './domUtils/style/isBold';\nexport { getSelectionRootNode } from './domUtils/selection/getSelectionRootNode';\nexport { getDOMInsertPointRect } from './domUtils/selection/getDOMInsertPointRect';\nexport { isCharacterValue, isModifierKey, isCursorMovingKey } from './domUtils/event/eventUtils';\nexport { combineBorderValue, extractBorderValues } from './domUtils/style/borderValues';\nexport { isPunctuation, isSpace, normalizeText } from './domUtils/stringUtil';\nexport { parseTableCells } from './domUtils/table/parseTableCells';\nexport { readFile } from './domUtils/readFile';\nexport { transformColor } from './domUtils/style/transformColor';\nexport { extractClipboardItems } from './domUtils/event/extractClipboardItems';\nexport { cacheGetEventData } from './domUtils/event/cacheGetEventData';\nexport {\n setParagraphMarker,\n getParagraphMarker,\n} from './domUtils/hiddenProperties/paragraphMarker';\nexport { setImageState, getImageState } from './domUtils/hiddenProperties/imageState';\n\nexport { isBlockGroupOfType } from './modelApi/typeCheck/isBlockGroupOfType';\n\nexport { iterateSelections } from './modelApi/selection/iterateSelections';\nexport {\n getFirstSelectedListItem,\n getFirstSelectedTable,\n getOperationalBlocks,\n getSelectedParagraphs,\n getSelectedSegments,\n getSelectedSegmentsAndParagraphs,\n} from './modelApi/selection/collectSelections';\nexport { getSelectedCells } from './modelApi/selection/getSelectedCells';\nexport { hasSelectionInBlock } from './modelApi/selection/hasSelectionInBlock';\nexport { hasSelectionInSegment } from './modelApi/selection/hasSelectionInSegment';\nexport { hasSelectionInBlockGroup } from './modelApi/selection/hasSelectionInBlockGroup';\nexport { setSelection } from './modelApi/selection/setSelection';\n\nexport { cloneModel } from './modelApi/editing/cloneModel';\nexport { mergeModel } from './modelApi/editing/mergeModel';\nexport { deleteSelection } from './modelApi/editing/deleteSelection';\nexport { deleteSegment } from './modelApi/editing/deleteSegment';\nexport { deleteBlock } from './modelApi/editing/deleteBlock';\nexport { applyTableFormat, setFirstColumnFormatBorders } from './modelApi/editing/applyTableFormat';\nexport {\n normalizeTable,\n MIN_ALLOWED_TABLE_CELL_WIDTH,\n MIN_ALLOWED_TABLE_CELL_HEIGHT,\n} from './modelApi/editing/normalizeTable';\nexport { setTableCellBackgroundColor } from './modelApi/editing/setTableCellBackgroundColor';\nexport { retrieveModelFormatState } from './modelApi/editing/retrieveModelFormatState';\nexport { getListStyleTypeFromString } from './modelApi/editing/getListStyleTypeFromString';\nexport { getSegmentTextFormat } from './modelApi/editing/getSegmentTextFormat';\nexport { getClosestAncestorBlockGroupIndex } from './modelApi/editing/getClosestAncestorBlockGroupIndex';\nexport { runEditSteps } from './modelApi/editing/runEditSteps';\n\nexport { updateImageMetadata, getImageMetadata } from './modelApi/metadata/updateImageMetadata';\nexport {\n updateTableCellMetadata,\n getTableCellMetadata,\n} from './modelApi/metadata/updateTableCellMetadata';\nexport { updateTableMetadata, getTableMetadata } from './modelApi/metadata/updateTableMetadata';\nexport {\n updateListMetadata,\n getListMetadata,\n ListMetadataDefinition,\n} from './modelApi/metadata/updateListMetadata';\n\nexport { ChangeSource } from './constants/ChangeSource';\nexport { BulletListType } from './constants/BulletListType';\nexport { NumberingListType } from './constants/NumberingListType';\nexport { TableBorderFormat } from './constants/TableBorderFormat';\nexport { OrderedListStyleMap } from './constants/OrderedListStyleMap';\nexport { UnorderedListStyleMap } from './constants/UnorderedListStyleMap';\nexport { EmptySegmentFormat } from './constants/EmptySegmentFormat';\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ContentModelSegmentFormat, EditorEnvironment } from 'roosterjs-content-model-types';
|
|
2
|
+
/**
|
|
3
|
+
* Some format values can be changed when apply to DOM, such as font family.
|
|
4
|
+
* This function will normalize the format and return the same string after DOM modification.
|
|
5
|
+
* @param format The format to be normalized
|
|
6
|
+
* @return Normalized format
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeSegmentFormat(format: ContentModelSegmentFormat, environment: EditorEnvironment): ContentModelSegmentFormat;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeSegmentFormat = void 0;
|
|
4
|
+
var createContentModelDocument_1 = require("../creators/createContentModelDocument");
|
|
5
|
+
var createText_1 = require("../creators/createText");
|
|
6
|
+
var ensureParagraph_1 = require("./ensureParagraph");
|
|
7
|
+
var createModelToDomContext_1 = require("../../modelToDom/context/createModelToDomContext");
|
|
8
|
+
var createDomToModelContext_1 = require("../../domToModel/context/createDomToModelContext");
|
|
9
|
+
/**
|
|
10
|
+
* Some format values can be changed when apply to DOM, such as font family.
|
|
11
|
+
* This function will normalize the format and return the same string after DOM modification.
|
|
12
|
+
* @param format The format to be normalized
|
|
13
|
+
* @return Normalized format
|
|
14
|
+
*/
|
|
15
|
+
function normalizeSegmentFormat(format, environment) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
var span = document.createElement('span');
|
|
18
|
+
var segment = (0, createText_1.createText)('text', format);
|
|
19
|
+
var domToModelContext = (0, createDomToModelContext_1.createDomToModelContextWithConfig)(environment.domToModelSettings.calculated);
|
|
20
|
+
var modelToDomContext = (0, createModelToDomContext_1.createModelToDomContextWithConfig)(environment.modelToDomSettings.calculated);
|
|
21
|
+
var model = (0, createContentModelDocument_1.createContentModelDocument)();
|
|
22
|
+
modelToDomContext.modelHandlers.segment(span.ownerDocument, span, segment, modelToDomContext, []);
|
|
23
|
+
domToModelContext.elementProcessors.element(model, span, domToModelContext);
|
|
24
|
+
var paragraph = (0, ensureParagraph_1.ensureParagraph)(model);
|
|
25
|
+
return (_b = (_a = paragraph.segments[0]) === null || _a === void 0 ? void 0 : _a.format) !== null && _b !== void 0 ? _b : format;
|
|
26
|
+
}
|
|
27
|
+
exports.normalizeSegmentFormat = normalizeSegmentFormat;
|
|
28
|
+
//# sourceMappingURL=normalizeSegmentFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeSegmentFormat.js","sourceRoot":"","sources":["../../../../../packages/roosterjs-content-model-dom/lib/modelApi/common/normalizeSegmentFormat.ts"],"names":[],"mappings":";;;AAAA,qFAAoF;AACpF,qDAAoD;AACpD,qDAAoD;AACpD,4FAAqG;AACrG,4FAAqG;AAQrG;;;;;GAKG;AACH,SAAgB,sBAAsB,CAClC,MAAiC,EACjC,WAA8B;;IAE9B,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAM,iBAAiB,GAAsB,IAAA,2DAAiC,EAC1E,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAC5C,CAAC;IACF,IAAM,iBAAiB,GAAsB,IAAA,2DAAiC,EAC1E,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAC5C,CAAC;IACF,IAAM,KAAK,GAAG,IAAA,uDAA0B,GAAE,CAAC;IAE3C,iBAAiB,CAAC,aAAa,CAAC,OAAO,CACnC,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,EAAE,CACL,CAAC;IAEF,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAE5E,IAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,MAAA,MAAA,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,MAAM,CAAC;AACnD,CAAC;AA5BD,wDA4BC","sourcesContent":["import { createContentModelDocument } from '../creators/createContentModelDocument';\nimport { createText } from '../creators/createText';\nimport { ensureParagraph } from './ensureParagraph';\nimport { createModelToDomContextWithConfig } from '../../modelToDom/context/createModelToDomContext';\nimport { createDomToModelContextWithConfig } from '../../domToModel/context/createDomToModelContext';\nimport type {\n ContentModelSegmentFormat,\n DomToModelContext,\n EditorEnvironment,\n ModelToDomContext,\n} from 'roosterjs-content-model-types';\n\n/**\n * Some format values can be changed when apply to DOM, such as font family.\n * This function will normalize the format and return the same string after DOM modification.\n * @param format The format to be normalized\n * @return Normalized format\n */\nexport function normalizeSegmentFormat(\n format: ContentModelSegmentFormat,\n environment: EditorEnvironment\n): ContentModelSegmentFormat {\n const span = document.createElement('span');\n const segment = createText('text', format);\n\n const domToModelContext: DomToModelContext = createDomToModelContextWithConfig(\n environment.domToModelSettings.calculated\n );\n const modelToDomContext: ModelToDomContext = createModelToDomContextWithConfig(\n environment.modelToDomSettings.calculated\n );\n const model = createContentModelDocument();\n\n modelToDomContext.modelHandlers.segment(\n span.ownerDocument,\n span,\n segment,\n modelToDomContext,\n []\n );\n\n domToModelContext.elementProcessors.element(model, span, domToModelContext);\n\n const paragraph = ensureParagraph(model);\n\n return paragraph.segments[0]?.format ?? format;\n}\n"]}
|
|
@@ -4,6 +4,7 @@ exports.retrieveModelFormatState = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var borderValues_1 = require("../../domUtils/style/borderValues");
|
|
6
6
|
var getClosestAncestorBlockGroupIndex_1 = require("./getClosestAncestorBlockGroupIndex");
|
|
7
|
+
var updateImageMetadata_1 = require("../metadata/updateImageMetadata");
|
|
7
8
|
var updateTableMetadata_1 = require("../metadata/updateTableMetadata");
|
|
8
9
|
var isBold_1 = require("../../domUtils/style/isBold");
|
|
9
10
|
var iterateSelections_1 = require("../selection/iterateSelections");
|
|
@@ -76,6 +77,7 @@ function retrieveModelFormatState(model, pendingFormat, formatState, conflictSol
|
|
|
76
77
|
}
|
|
77
78
|
else {
|
|
78
79
|
formatState.imageFormat = undefined;
|
|
80
|
+
formatState.imageEditingMetadata = undefined;
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
});
|
|
@@ -172,6 +174,7 @@ function retrieveImageFormat(image, result) {
|
|
|
172
174
|
boxShadow: format.boxShadow,
|
|
173
175
|
borderRadius: format.borderRadius,
|
|
174
176
|
};
|
|
177
|
+
result.imageEditingMetadata = (0, updateImageMetadata_1.getImageMetadata)(image);
|
|
175
178
|
}
|
|
176
179
|
function mergeValue(format, key, newValue, isFirst, conflictSolution, parseFn) {
|
|
177
180
|
if (conflictSolution === void 0) { conflictSolution = 'remove'; }
|