docxmlater 10.3.5 → 10.4.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/README.md +158 -7
- package/dist/core/Document.d.ts +102 -3
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +775 -50
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js +0 -8
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +9 -5
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +588 -102
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +4 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/Bookmark.d.ts +7 -0
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js +24 -4
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js +4 -3
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts +2 -2
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +14 -1
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/Field.d.ts +1 -1
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +1 -1
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/Footer.d.ts +2 -0
- package/dist/elements/Footer.d.ts.map +1 -1
- package/dist/elements/Footer.js +6 -0
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Header.d.ts +2 -0
- package/dist/elements/Header.d.ts.map +1 -1
- package/dist/elements/Header.js +6 -0
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/Image.d.ts +1 -0
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +17 -2
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +81 -1
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +515 -21
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/Revision.d.ts +0 -1
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +0 -12
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts +0 -1
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +0 -2
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts +16 -4
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +114 -22
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts +7 -1
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +185 -4
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/Table.d.ts +30 -1
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +357 -40
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +3 -0
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +30 -3
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.d.ts +0 -1
- package/dist/elements/TableGridChange.d.ts.map +1 -1
- package/dist/elements/TableGridChange.js +0 -10
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableRow.d.ts +4 -0
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +31 -3
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/formatting/AbstractNumbering.d.ts +5 -0
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +22 -0
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +3 -3
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/Style.d.ts +1 -0
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +25 -59
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +1 -0
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js +12 -0
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/images/ImageOptimizer.d.ts.map +1 -1
- package/dist/images/ImageOptimizer.js +0 -1
- package/dist/images/ImageOptimizer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/DrawingManager.d.ts.map +1 -1
- package/dist/managers/DrawingManager.js +4 -2
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/types/formatting.d.ts +2 -2
- package/dist/types/formatting.d.ts.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts +2 -2
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
- package/dist/utils/ChangelogGenerator.js +4 -5
- package/dist/utils/ChangelogGenerator.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +0 -1
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/dist/utils/RevisionAwareProcessor.d.ts +2 -2
- package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -1
- package/dist/utils/RevisionAwareProcessor.js +2 -2
- package/dist/utils/RevisionAwareProcessor.js.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.d.ts +0 -2
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.js +0 -26
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
- package/dist/utils/ShadingResolver.d.ts.map +1 -1
- package/dist/utils/ShadingResolver.js.map +1 -1
- package/dist/utils/acceptRevisions.js +1 -1
- package/dist/utils/acceptRevisions.js.map +1 -1
- package/dist/utils/stripTrackedChanges.js +1 -1
- package/dist/utils/stripTrackedChanges.js.map +1 -1
- package/dist/utils/units.d.ts.map +1 -1
- package/dist/utils/units.js +1 -1
- package/dist/utils/units.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.d.ts +2 -1
- package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/package.json +10 -1
- package/src/constants/CLAUDE.md +28 -0
- package/src/core/CLAUDE.md +4 -0
- package/src/core/Document.ts +1888 -137
- package/src/core/DocumentContent.ts +0 -11
- package/src/core/DocumentGenerator.ts +11 -12
- package/src/core/DocumentParser.ts +620 -139
- package/src/core/RelationshipManager.ts +6 -3
- package/src/elements/Bookmark.ts +39 -4
- package/src/elements/BookmarkManager.ts +4 -3
- package/src/elements/CLAUDE.md +18 -2
- package/src/elements/CommonTypes.ts +35 -8
- package/src/elements/Field.ts +1 -1
- package/src/elements/Footer.ts +23 -0
- package/src/elements/Header.ts +25 -0
- package/src/elements/Image.ts +28 -5
- package/src/elements/Paragraph.ts +1069 -41
- package/src/elements/Revision.ts +0 -19
- package/src/elements/RevisionManager.ts +1 -3
- package/src/elements/Run.ts +265 -35
- package/src/elements/Section.ts +214 -8
- package/src/elements/Shape.ts +1 -1
- package/src/elements/Table.ts +850 -61
- package/src/elements/TableCell.ts +84 -10
- package/src/elements/TableGridChange.ts +2 -16
- package/src/elements/TableRow.ts +94 -9
- package/src/formatting/AbstractNumbering.ts +42 -1
- package/src/formatting/CLAUDE.md +4 -0
- package/src/formatting/NumberingLevel.ts +11 -7
- package/src/formatting/Style.ts +39 -71
- package/src/formatting/StylesManager.ts +36 -0
- package/src/helpers/CleanupHelper.ts +1 -1
- package/src/images/ImageOptimizer.ts +0 -3
- package/src/index.ts +1 -1
- package/src/managers/DrawingManager.ts +5 -3
- package/src/tracking/CLAUDE.md +30 -0
- package/src/types/CLAUDE.md +39 -0
- package/src/types/formatting.ts +2 -2
- package/src/utils/CLAUDE.md +15 -0
- package/src/utils/ChangelogGenerator.ts +4 -5
- package/src/utils/InMemoryRevisionAcceptor.ts +0 -9
- package/src/utils/RevisionAwareProcessor.ts +2 -3
- package/src/utils/SelectiveRevisionAcceptor.ts +0 -39
- package/src/utils/ShadingResolver.ts +0 -1
- package/src/utils/acceptRevisions.ts +1 -1
- package/src/utils/stripTrackedChanges.ts +1 -1
- package/src/utils/units.ts +2 -1
- package/src/validation/CLAUDE.md +40 -0
- package/src/validation/RevisionAutoFixer.ts +2 -1
package/dist/elements/Run.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface RunContent {
|
|
|
7
7
|
type: RunContentType;
|
|
8
8
|
value?: string;
|
|
9
9
|
breakType?: BreakType;
|
|
10
|
+
breakClear?: 'none' | 'left' | 'right' | 'all';
|
|
10
11
|
fieldCharType?: 'begin' | 'separate' | 'end';
|
|
11
12
|
fieldCharDirty?: boolean;
|
|
12
13
|
fieldCharLocked?: boolean;
|
|
@@ -30,6 +31,11 @@ export interface TextBorder {
|
|
|
30
31
|
}
|
|
31
32
|
export type ShadingPattern = CommonShadingPattern;
|
|
32
33
|
export type CharacterShading = ShadingConfig;
|
|
34
|
+
export interface LanguageConfig {
|
|
35
|
+
val?: string;
|
|
36
|
+
eastAsia?: string;
|
|
37
|
+
bidi?: string;
|
|
38
|
+
}
|
|
33
39
|
export interface EastAsianLayout {
|
|
34
40
|
id?: number;
|
|
35
41
|
vert?: boolean;
|
|
@@ -81,7 +87,7 @@ export interface RunFormatting {
|
|
|
81
87
|
scaling?: number;
|
|
82
88
|
position?: number;
|
|
83
89
|
kerning?: number;
|
|
84
|
-
language?: string;
|
|
90
|
+
language?: string | LanguageConfig;
|
|
85
91
|
underline?: boolean | 'single' | 'double' | 'thick' | 'dotted' | 'dash' | 'none';
|
|
86
92
|
underlineColor?: string;
|
|
87
93
|
underlineThemeColor?: ThemeColorValue;
|
|
@@ -91,6 +97,7 @@ export interface RunFormatting {
|
|
|
91
97
|
dstrike?: boolean;
|
|
92
98
|
subscript?: boolean;
|
|
93
99
|
superscript?: boolean;
|
|
100
|
+
vertAlignBaseline?: boolean;
|
|
94
101
|
font?: string;
|
|
95
102
|
size?: number;
|
|
96
103
|
sizeCs?: number;
|
|
@@ -98,7 +105,7 @@ export interface RunFormatting {
|
|
|
98
105
|
themeColor?: ThemeColorValue;
|
|
99
106
|
themeTint?: number;
|
|
100
107
|
themeShade?: number;
|
|
101
|
-
highlight?: 'yellow' | 'green' | 'cyan' | 'magenta' | 'blue' | 'red' | 'darkBlue' | 'darkCyan' | 'darkGreen' | 'darkMagenta' | 'darkRed' | 'darkYellow' | 'darkGray' | 'lightGray' | 'black' | 'white';
|
|
108
|
+
highlight?: 'yellow' | 'green' | 'cyan' | 'magenta' | 'blue' | 'red' | 'darkBlue' | 'darkCyan' | 'darkGreen' | 'darkMagenta' | 'darkRed' | 'darkYellow' | 'darkGray' | 'lightGray' | 'black' | 'white' | 'none';
|
|
102
109
|
smallCaps?: boolean;
|
|
103
110
|
allCaps?: boolean;
|
|
104
111
|
outline?: boolean;
|
|
@@ -135,6 +142,9 @@ export declare class Run {
|
|
|
135
142
|
constructor(text: string, formatting?: RunFormatting);
|
|
136
143
|
private parseTextWithSpecialCharacters;
|
|
137
144
|
getText(): string;
|
|
145
|
+
getPlainText(): string;
|
|
146
|
+
equals(other: Run): boolean;
|
|
147
|
+
hasSameFormatting(other: Run): boolean;
|
|
138
148
|
setText(text: string): void;
|
|
139
149
|
getFormatting(): RunFormatting;
|
|
140
150
|
getBold(): boolean;
|
|
@@ -176,7 +186,7 @@ export declare class Run {
|
|
|
176
186
|
setScaling(scaling: number): this;
|
|
177
187
|
setPosition(position: number): this;
|
|
178
188
|
setKerning(kerning: number): this;
|
|
179
|
-
setLanguage(language: string): this;
|
|
189
|
+
setLanguage(language: string | LanguageConfig): this;
|
|
180
190
|
setUnderline(underline?: RunFormatting['underline']): this;
|
|
181
191
|
setUnderlineColor(color: string): this;
|
|
182
192
|
setUnderlineThemeColor(themeColor: ThemeColorValue, themeTint?: number, themeShade?: number): this;
|
|
@@ -222,7 +232,7 @@ export declare class Run {
|
|
|
222
232
|
isValid(): boolean;
|
|
223
233
|
getContent(): RunContent[];
|
|
224
234
|
addTab(): this;
|
|
225
|
-
addBreak(breakType?: BreakType): this;
|
|
235
|
+
addBreak(breakType?: BreakType, breakClear?: 'none' | 'left' | 'right' | 'all'): this;
|
|
226
236
|
appendText(text: string): this;
|
|
227
237
|
addCarriageReturn(): this;
|
|
228
238
|
static createFromContent(content: RunContent[], formatting?: RunFormatting): Run;
|
|
@@ -231,6 +241,8 @@ export declare class Run {
|
|
|
231
241
|
clone(): Run;
|
|
232
242
|
insertText(index: number, text: string): this;
|
|
233
243
|
replaceText(start: number, end: number, text: string): this;
|
|
244
|
+
splitAt(offset: number): Run;
|
|
245
|
+
private getContentItemLength;
|
|
234
246
|
clearFormattingConflicts(styleRunFormatting: RunFormatting): this;
|
|
235
247
|
clearMatchingFormatting(styleRunFormatting: Partial<RunFormatting>): this;
|
|
236
248
|
clearFormatting(): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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"}
|
package/dist/elements/Run.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Run = void 0;
|
|
4
4
|
const deepClone_1 = require("../utils/deepClone");
|
|
5
5
|
const dateFormatting_1 = require("../utils/dateFormatting");
|
|
6
|
+
const formatting_1 = require("../utils/formatting");
|
|
6
7
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
7
8
|
const logger_1 = require("../utils/logger");
|
|
8
9
|
const validation_1 = require("../utils/validation");
|
|
@@ -118,6 +119,20 @@ class Run {
|
|
|
118
119
|
})
|
|
119
120
|
.join('');
|
|
120
121
|
}
|
|
122
|
+
getPlainText() {
|
|
123
|
+
return this.content
|
|
124
|
+
.filter((c) => c.type === 'text')
|
|
125
|
+
.map((c) => c.value || '')
|
|
126
|
+
.join('');
|
|
127
|
+
}
|
|
128
|
+
equals(other) {
|
|
129
|
+
if (this.getText() !== other.getText())
|
|
130
|
+
return false;
|
|
131
|
+
return (0, formatting_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
|
|
132
|
+
}
|
|
133
|
+
hasSameFormatting(other) {
|
|
134
|
+
return (0, formatting_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
|
|
135
|
+
}
|
|
121
136
|
setText(text) {
|
|
122
137
|
const oldText = this.getText();
|
|
123
138
|
const oldContent = [...this.content];
|
|
@@ -803,6 +818,9 @@ class Run {
|
|
|
803
818
|
if (contentElement.breakType) {
|
|
804
819
|
attrs['w:type'] = contentElement.breakType;
|
|
805
820
|
}
|
|
821
|
+
if (contentElement.breakClear) {
|
|
822
|
+
attrs['w:clear'] = contentElement.breakClear;
|
|
823
|
+
}
|
|
806
824
|
runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('br', Object.keys(attrs).length > 0 ? attrs : undefined));
|
|
807
825
|
}
|
|
808
826
|
break;
|
|
@@ -1029,8 +1047,8 @@ class Run {
|
|
|
1029
1047
|
this.content.push({ type: 'tab' });
|
|
1030
1048
|
return this;
|
|
1031
1049
|
}
|
|
1032
|
-
addBreak(breakType) {
|
|
1033
|
-
this.content.push({ type: 'break', breakType });
|
|
1050
|
+
addBreak(breakType, breakClear) {
|
|
1051
|
+
this.content.push({ type: 'break', breakType, breakClear });
|
|
1034
1052
|
return this;
|
|
1035
1053
|
}
|
|
1036
1054
|
appendText(text) {
|
|
@@ -1091,29 +1109,29 @@ class Run {
|
|
|
1091
1109
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rFonts', rFontsAttrs));
|
|
1092
1110
|
}
|
|
1093
1111
|
}
|
|
1094
|
-
if (formatting.bold) {
|
|
1095
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('b', { 'w:val': '1' }));
|
|
1112
|
+
if (formatting.bold !== undefined) {
|
|
1113
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('b', { 'w:val': formatting.bold ? '1' : '0' }));
|
|
1096
1114
|
}
|
|
1097
|
-
if (formatting.complexScriptBold) {
|
|
1098
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bCs', { 'w:val': '1' }));
|
|
1115
|
+
if (formatting.complexScriptBold !== undefined) {
|
|
1116
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bCs', { 'w:val': formatting.complexScriptBold ? '1' : '0' }));
|
|
1099
1117
|
}
|
|
1100
|
-
if (formatting.italic) {
|
|
1101
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('i', { 'w:val': '1' }));
|
|
1118
|
+
if (formatting.italic !== undefined) {
|
|
1119
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('i', { 'w:val': formatting.italic ? '1' : '0' }));
|
|
1102
1120
|
}
|
|
1103
|
-
if (formatting.complexScriptItalic) {
|
|
1104
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('iCs', { 'w:val': '1' }));
|
|
1121
|
+
if (formatting.complexScriptItalic !== undefined) {
|
|
1122
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('iCs', { 'w:val': formatting.complexScriptItalic ? '1' : '0' }));
|
|
1105
1123
|
}
|
|
1106
|
-
if (formatting.allCaps) {
|
|
1107
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('caps', { 'w:val': '1' }));
|
|
1124
|
+
if (formatting.allCaps !== undefined) {
|
|
1125
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('caps', { 'w:val': formatting.allCaps ? '1' : '0' }));
|
|
1108
1126
|
}
|
|
1109
|
-
if (formatting.smallCaps) {
|
|
1110
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('smallCaps', { 'w:val': '1' }));
|
|
1127
|
+
if (formatting.smallCaps !== undefined) {
|
|
1128
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('smallCaps', { 'w:val': formatting.smallCaps ? '1' : '0' }));
|
|
1111
1129
|
}
|
|
1112
|
-
if (formatting.strike) {
|
|
1113
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('strike', { 'w:val': '1' }));
|
|
1130
|
+
if (formatting.strike !== undefined) {
|
|
1131
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('strike', { 'w:val': formatting.strike ? '1' : '0' }));
|
|
1114
1132
|
}
|
|
1115
|
-
if (formatting.dstrike) {
|
|
1116
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dstrike', { 'w:val': '1' }));
|
|
1133
|
+
if (formatting.dstrike !== undefined) {
|
|
1134
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dstrike', { 'w:val': formatting.dstrike ? '1' : '0' }));
|
|
1117
1135
|
}
|
|
1118
1136
|
if (formatting.outline) {
|
|
1119
1137
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('outline', { 'w:val': '1' }));
|
|
@@ -1130,8 +1148,8 @@ class Run {
|
|
|
1130
1148
|
if (formatting.noProof) {
|
|
1131
1149
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('noProof', { 'w:val': '1' }));
|
|
1132
1150
|
}
|
|
1133
|
-
if (formatting.snapToGrid) {
|
|
1134
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('snapToGrid', { 'w:val': '1' }));
|
|
1151
|
+
if (formatting.snapToGrid !== undefined) {
|
|
1152
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('snapToGrid', { 'w:val': formatting.snapToGrid ? '1' : '0' }));
|
|
1135
1153
|
}
|
|
1136
1154
|
if (formatting.vanish) {
|
|
1137
1155
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vanish', { 'w:val': '1' }));
|
|
@@ -1235,9 +1253,12 @@ class Run {
|
|
|
1235
1253
|
if (formatting.subscript) {
|
|
1236
1254
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'subscript' }));
|
|
1237
1255
|
}
|
|
1238
|
-
if (formatting.superscript) {
|
|
1256
|
+
else if (formatting.superscript) {
|
|
1239
1257
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'superscript' }));
|
|
1240
1258
|
}
|
|
1259
|
+
else if (formatting.vertAlignBaseline) {
|
|
1260
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'baseline' }));
|
|
1261
|
+
}
|
|
1241
1262
|
if (formatting.rtl) {
|
|
1242
1263
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rtl', { 'w:val': '1' }));
|
|
1243
1264
|
}
|
|
@@ -1248,7 +1269,21 @@ class Run {
|
|
|
1248
1269
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('em', { 'w:val': formatting.emphasis }));
|
|
1249
1270
|
}
|
|
1250
1271
|
if (formatting.language) {
|
|
1251
|
-
|
|
1272
|
+
const langAttrs = {};
|
|
1273
|
+
if (typeof formatting.language === 'string') {
|
|
1274
|
+
langAttrs['w:val'] = formatting.language;
|
|
1275
|
+
}
|
|
1276
|
+
else {
|
|
1277
|
+
if (formatting.language.val)
|
|
1278
|
+
langAttrs['w:val'] = formatting.language.val;
|
|
1279
|
+
if (formatting.language.eastAsia)
|
|
1280
|
+
langAttrs['w:eastAsia'] = formatting.language.eastAsia;
|
|
1281
|
+
if (formatting.language.bidi)
|
|
1282
|
+
langAttrs['w:bidi'] = formatting.language.bidi;
|
|
1283
|
+
}
|
|
1284
|
+
if (Object.keys(langAttrs).length > 0) {
|
|
1285
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('lang', langAttrs));
|
|
1286
|
+
}
|
|
1252
1287
|
}
|
|
1253
1288
|
if (formatting.eastAsianLayout) {
|
|
1254
1289
|
const layout = formatting.eastAsianLayout;
|
|
@@ -1310,6 +1345,63 @@ class Run {
|
|
|
1310
1345
|
this.setText(newText);
|
|
1311
1346
|
return this;
|
|
1312
1347
|
}
|
|
1348
|
+
splitAt(offset) {
|
|
1349
|
+
const totalLength = this.getText().length;
|
|
1350
|
+
if (offset >= totalLength) {
|
|
1351
|
+
return Run.createFromContent([], (0, deepClone_1.deepClone)(this.formatting));
|
|
1352
|
+
}
|
|
1353
|
+
if (offset <= 0) {
|
|
1354
|
+
const allContent = this.content;
|
|
1355
|
+
this.content = [];
|
|
1356
|
+
return Run.createFromContent(allContent, (0, deepClone_1.deepClone)(this.formatting));
|
|
1357
|
+
}
|
|
1358
|
+
const beforeContent = [];
|
|
1359
|
+
const afterContent = [];
|
|
1360
|
+
let charPos = 0;
|
|
1361
|
+
let splitDone = false;
|
|
1362
|
+
for (const item of this.content) {
|
|
1363
|
+
if (splitDone) {
|
|
1364
|
+
afterContent.push((0, deepClone_1.deepClone)(item));
|
|
1365
|
+
continue;
|
|
1366
|
+
}
|
|
1367
|
+
const itemLength = this.getContentItemLength(item);
|
|
1368
|
+
if (charPos + itemLength <= offset) {
|
|
1369
|
+
beforeContent.push((0, deepClone_1.deepClone)(item));
|
|
1370
|
+
charPos += itemLength;
|
|
1371
|
+
}
|
|
1372
|
+
else if (charPos >= offset) {
|
|
1373
|
+
afterContent.push((0, deepClone_1.deepClone)(item));
|
|
1374
|
+
splitDone = true;
|
|
1375
|
+
}
|
|
1376
|
+
else {
|
|
1377
|
+
if (item.type === 'text' && item.value) {
|
|
1378
|
+
const splitIndex = offset - charPos;
|
|
1379
|
+
beforeContent.push({ type: 'text', value: item.value.slice(0, splitIndex) });
|
|
1380
|
+
afterContent.push({ type: 'text', value: item.value.slice(splitIndex) });
|
|
1381
|
+
}
|
|
1382
|
+
else {
|
|
1383
|
+
afterContent.push((0, deepClone_1.deepClone)(item));
|
|
1384
|
+
}
|
|
1385
|
+
splitDone = true;
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
this.content = beforeContent;
|
|
1389
|
+
return Run.createFromContent(afterContent, (0, deepClone_1.deepClone)(this.formatting));
|
|
1390
|
+
}
|
|
1391
|
+
getContentItemLength(item) {
|
|
1392
|
+
switch (item.type) {
|
|
1393
|
+
case 'text':
|
|
1394
|
+
return (item.value || '').length;
|
|
1395
|
+
case 'tab':
|
|
1396
|
+
case 'break':
|
|
1397
|
+
case 'carriageReturn':
|
|
1398
|
+
case 'softHyphen':
|
|
1399
|
+
case 'noBreakHyphen':
|
|
1400
|
+
return 1;
|
|
1401
|
+
default:
|
|
1402
|
+
return 0;
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1313
1405
|
clearFormattingConflicts(styleRunFormatting) {
|
|
1314
1406
|
const conflictingProperties = [];
|
|
1315
1407
|
for (const key in this.formatting) {
|