ooxml-core 0.18.0 → 0.20.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/dist/automation/index.cjs +195 -193
- package/dist/automation/index.mjs +195 -193
- package/dist/diagram/index.cjs +2 -1
- package/dist/diagram/index.mjs +2 -1
- package/dist/docx/attr-units.d.ts +11 -0
- package/dist/docx/attr-units.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/case-transform.d.ts +9 -0
- package/dist/docx/case-transform.d.ts.map +1 -0
- package/dist/docx/column-settings.d.ts +16 -0
- package/dist/docx/column-settings.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +2 -1
- package/dist/docx/embedded.mjs +2 -1
- package/dist/docx/index.cjs +461 -3
- package/dist/docx/index.d.ts +8 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +426 -4
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/table-layout.d.ts.map +1 -1
- package/dist/docx/line-spacing.d.ts +9 -0
- package/dist/docx/line-spacing.d.ts.map +1 -0
- package/dist/docx/load/index.cjs +2 -1
- package/dist/docx/load/index.mjs +2 -1
- package/dist/docx/page-setup-model.d.ts +29 -0
- package/dist/docx/page-setup-model.d.ts.map +1 -0
- package/dist/docx/page-size.d.ts +11 -0
- package/dist/docx/page-size.d.ts.map +1 -0
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/section-edit.d.ts +19 -0
- package/dist/docx/section-edit.d.ts.map +1 -0
- package/dist/docx/section-layout.d.ts +14 -0
- package/dist/docx/section-layout.d.ts.map +1 -0
- package/dist/docx/tab-stops.d.ts.map +1 -1
- package/dist/docx/ui/backstage-focus.d.ts +6 -0
- package/dist/docx/ui/backstage-focus.d.ts.map +1 -0
- package/dist/docx/ui/break-note-schema.d.ts +11 -0
- package/dist/docx/ui/break-note-schema.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-authority.d.ts +31 -0
- package/dist/docx/ui/collaboration-authority.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-identity.d.ts +8 -0
- package/dist/docx/ui/collaboration-identity.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-protocol.d.ts +25 -0
- package/dist/docx/ui/collaboration-protocol.d.ts.map +1 -0
- package/dist/docx/ui/collaboration.d.ts +30 -0
- package/dist/docx/ui/collaboration.d.ts.map +1 -0
- package/dist/docx/ui/defined.d.ts +3 -0
- package/dist/docx/ui/defined.d.ts.map +1 -0
- package/dist/docx/ui/dirty-state.d.ts +9 -0
- package/dist/docx/ui/dirty-state.d.ts.map +1 -0
- package/dist/docx/ui/field-guard.d.ts +21 -0
- package/dist/docx/ui/field-guard.d.ts.map +1 -0
- package/dist/docx/ui/header-footer-history.d.ts +15 -0
- package/dist/docx/ui/header-footer-history.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +2380 -0
- package/dist/docx/ui/index.d.ts +30 -0
- package/dist/docx/ui/index.d.ts.map +1 -0
- package/dist/docx/ui/index.mjs +2317 -0
- package/dist/docx/ui/inline-content-schema.d.ts +15 -0
- package/dist/docx/ui/inline-content-schema.d.ts.map +1 -0
- package/dist/docx/ui/ligature-style.d.ts +4 -0
- package/dist/docx/ui/ligature-style.d.ts.map +1 -0
- package/dist/docx/ui/node-numbering.d.ts +8 -0
- package/dist/docx/ui/node-numbering.d.ts.map +1 -0
- package/dist/docx/ui/review-schema.d.ts +90 -0
- package/dist/docx/ui/review-schema.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts +26 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-colors.d.ts +3 -0
- package/dist/docx/ui/ribbon-colors.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts +6 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts.map +1 -0
- package/dist/docx/ui/run-compare.d.ts +5 -0
- package/dist/docx/ui/run-compare.d.ts.map +1 -0
- package/dist/docx/ui/run-extra-mark.d.ts +17 -0
- package/dist/docx/ui/run-extra-mark.d.ts.map +1 -0
- package/dist/docx/ui/schema-marks.d.ts +273 -0
- package/dist/docx/ui/schema-marks.d.ts.map +1 -0
- package/dist/docx/ui/smartart-theme.d.ts +21 -0
- package/dist/docx/ui/smartart-theme.d.ts.map +1 -0
- package/dist/docx/ui/table-render.d.ts +24 -0
- package/dist/docx/ui/table-render.d.ts.map +1 -0
- package/dist/docx/ui/table-visuals.d.ts +3 -0
- package/dist/docx/ui/table-visuals.d.ts.map +1 -0
- package/dist/docx/ui/theme/css-vars.d.ts +6 -0
- package/dist/docx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/docx/ui/theme/defaults.d.ts +12 -0
- package/dist/docx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/docx/ui/theme/element.d.ts +9 -0
- package/dist/docx/ui/theme/element.d.ts.map +1 -0
- package/dist/docx/ui/theme/index.d.ts +5 -0
- package/dist/docx/ui/theme/index.d.ts.map +1 -0
- package/dist/docx/ui/theme/types.d.ts +42 -0
- package/dist/docx/ui/theme/types.d.ts.map +1 -0
- package/dist/docx/ui/word-count.d.ts +3 -0
- package/dist/docx/ui/word-count.d.ts.map +1 -0
- package/dist/docx/ui/zoom-fit.d.ts +16 -0
- package/dist/docx/ui/zoom-fit.d.ts.map +1 -0
- package/dist/docx/validate-paragraph.d.ts.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.mjs +2 -1
- package/dist/math/index.cjs +2 -1
- package/dist/math/index.mjs +2 -1
- package/dist/opc/index.cjs +2 -1
- package/dist/opc/index.mjs +2 -1
- package/dist/visio/index.cjs +2 -1
- package/dist/visio/index.mjs +2 -1
- package/dist/visio/ui/contract.d.ts +33 -0
- package/dist/visio/ui/contract.d.ts.map +1 -0
- package/dist/visio/ui/demo-document.d.ts +4 -0
- package/dist/visio/ui/demo-document.d.ts.map +1 -0
- package/dist/visio/ui/diagnostics.d.ts +10 -0
- package/dist/visio/ui/diagnostics.d.ts.map +1 -0
- package/dist/visio/ui/document-history.d.ts +43 -0
- package/dist/visio/ui/document-history.d.ts.map +1 -0
- package/dist/visio/ui/document-text-search.d.ts +45 -0
- package/dist/visio/ui/document-text-search.d.ts.map +1 -0
- package/dist/visio/ui/edit-commands.d.ts +4 -0
- package/dist/visio/ui/edit-commands.d.ts.map +1 -0
- package/dist/visio/ui/edit-error.d.ts +5 -0
- package/dist/visio/ui/edit-error.d.ts.map +1 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts +25 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +1523 -0
- package/dist/visio/ui/index.d.ts +12 -0
- package/dist/visio/ui/index.d.ts.map +1 -0
- package/dist/visio/ui/index.mjs +1498 -0
- package/dist/visio/ui/scene-details.d.ts +8 -0
- package/dist/visio/ui/scene-details.d.ts.map +1 -0
- package/dist/visio/ui/scene-validation.d.ts +5 -0
- package/dist/visio/ui/scene-validation.d.ts.map +1 -0
- package/dist/visio/ui/snapshot-scene.d.ts +9 -0
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +100 -98
- package/dist/xlsx/index.mjs +100 -98
- package/dist/xlsx/load/index.cjs +68 -66
- package/dist/xlsx/load/index.mjs +68 -66
- package/dist/xlsx/ui/backstage/templates.d.ts +16 -0
- package/dist/xlsx/ui/backstage/templates.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/alignment.d.ts +4 -0
- package/dist/xlsx/ui/commands/alignment.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts +15 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts +22 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/contextual.d.ts +13 -0
- package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/data.d.ts +3 -0
- package/dist/xlsx/ui/commands/data.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/editing.d.ts +13 -0
- package/dist/xlsx/ui/commands/editing.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/font.d.ts +21 -0
- package/dist/xlsx/ui/commands/font.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/formulas.d.ts +15 -0
- package/dist/xlsx/ui/commands/formulas.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts +4 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts +5 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/icons.d.ts +4 -0
- package/dist/xlsx/ui/commands/icons.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/number.d.ts +11 -0
- package/dist/xlsx/ui/commands/number.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts +10 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/select-special.d.ts +12 -0
- package/dist/xlsx/ui/commands/select-special.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts +3 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts +21 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/util.d.ts +59 -0
- package/dist/xlsx/ui/commands/util.d.ts.map +1 -0
- package/dist/xlsx/ui/commands.d.ts +36 -0
- package/dist/xlsx/ui/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/context-menu/items.d.ts +36 -0
- package/dist/xlsx/ui/context-menu/items.d.ts.map +1 -0
- package/dist/xlsx/ui/context.d.ts +65 -0
- package/dist/xlsx/ui/context.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts +28 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts +40 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts +9 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs.d.ts +9 -0
- package/dist/xlsx/ui/dialogs.d.ts.map +1 -0
- package/dist/xlsx/ui/dirty-state.d.ts +9 -0
- package/dist/xlsx/ui/dirty-state.d.ts.map +1 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts +23 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts +42 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts +26 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts +47 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/geometry.d.ts +76 -0
- package/dist/xlsx/ui/grid/geometry.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts +3 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts +3 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts +32 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts +15 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -0
- package/dist/xlsx/ui/index.cjs +28484 -0
- package/dist/xlsx/ui/index.d.ts +56 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -0
- package/dist/xlsx/ui/index.mjs +28290 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/merge.d.ts +7 -0
- package/dist/xlsx/ui/locales/merge.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/localization.d.ts +23 -0
- package/dist/xlsx/ui/localization.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts +9 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts +88 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts +21 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts +5 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts +8 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts +16 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts.map +1 -0
- package/dist/xlsx/ui/selection.d.ts +34 -0
- package/dist/xlsx/ui/selection.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts +6 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/defaults.d.ts +6 -0
- package/dist/xlsx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/element.d.ts +9 -0
- package/dist/xlsx/ui/theme/element.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/types.d.ts +54 -0
- package/dist/xlsx/ui/theme/types.d.ts.map +1 -0
- package/dist/xml/index.cjs +2 -1
- package/dist/xml/index.mjs +2 -1
- package/package.json +30 -3
package/dist/docx/index.d.ts
CHANGED
|
@@ -38,4 +38,12 @@ export { withParseWarnings, enumValue, reportParseWarning } from './parse-diagno
|
|
|
38
38
|
export { PROPERTY_FIELDS, type DocumentProperties } from './core-properties.js';
|
|
39
39
|
export { captionParagraphs, isCaptionOf, tableOfFiguresInstruction, tocCaptionLabel, } from './table-of-figures.js';
|
|
40
40
|
export * from './document-stats.js';
|
|
41
|
+
export * from './column-settings.js';
|
|
42
|
+
export * from './line-spacing.js';
|
|
43
|
+
export * from './section-layout.js';
|
|
44
|
+
export * from './attr-units.js';
|
|
45
|
+
export * from './case-transform.js';
|
|
46
|
+
export * from './page-setup-model.js';
|
|
47
|
+
export * from './page-size.js';
|
|
48
|
+
export * from './section-edit.js';
|
|
41
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/docx/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docx/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docx/index.ts"],"names":[],"mappings":"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"}
|
package/dist/docx/index.mjs
CHANGED
|
@@ -31,7 +31,8 @@ function parseXml(xml, options = {}) {
|
|
|
31
31
|
}).parseFromString(xml, "application/xml");
|
|
32
32
|
} catch (error) {
|
|
33
33
|
throw new Error(
|
|
34
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
34
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
35
|
+
{ cause: error }
|
|
35
36
|
);
|
|
36
37
|
}
|
|
37
38
|
if (parseError || !parsed.documentElement)
|
|
@@ -509,7 +510,7 @@ var twipsFromPoints = (points) => roundTwips(points * 20);
|
|
|
509
510
|
var signedTwipsFromPoints = (points) => roundSignedTwips(points * 20);
|
|
510
511
|
var twipsFromPixels = (pixels) => roundTwips(pixels * 15);
|
|
511
512
|
var signedTwipsFromPixels = (pixels) => roundSignedTwips(pixels * 15);
|
|
512
|
-
var twipsFromInches = (
|
|
513
|
+
var twipsFromInches = (inches2) => roundTwips(inches2 * 1440);
|
|
513
514
|
var halfPointsFromPoints = (points) => roundHalfPoints(points * 2);
|
|
514
515
|
var eighthPointsFromPoints = (points) => roundEighthPoints(points * 8);
|
|
515
516
|
var emuFromPixels = (pixels) => roundEmu(pixels * 9525);
|
|
@@ -3667,7 +3668,7 @@ var add = (parent, ...items) => {
|
|
|
3667
3668
|
for (const item of items) parent.appendChild(item);
|
|
3668
3669
|
return parent;
|
|
3669
3670
|
};
|
|
3670
|
-
var emu2 = (
|
|
3671
|
+
var emu2 = (px3) => String(Math.max(1, Math.round(px3 * EMU_PER_PIXEL)));
|
|
3671
3672
|
var descendants = (root, ns, local) => Array.from(root.getElementsByTagNameNS(ns, local));
|
|
3672
3673
|
function paragraphsFor(doc, lines) {
|
|
3673
3674
|
return (lines.length ? lines : [""]).map((line) => {
|
|
@@ -9657,4 +9658,425 @@ function plainText2(model) {
|
|
|
9657
9658
|
).join("\n");
|
|
9658
9659
|
}
|
|
9659
9660
|
|
|
9660
|
-
|
|
9661
|
+
// src/docx/column-settings.ts
|
|
9662
|
+
var columnTextWidth = (section) => section.pageWidthTwips - section.marginLeftTwips - section.marginRightTwips - (section.gutterTwips ?? 0);
|
|
9663
|
+
function unequalColumnPreset(section, preset) {
|
|
9664
|
+
const gap = 720;
|
|
9665
|
+
const available = columnTextWidth(section) - gap;
|
|
9666
|
+
const narrow = Math.round(available / 3);
|
|
9667
|
+
const wide = available - narrow;
|
|
9668
|
+
return {
|
|
9669
|
+
count: 2,
|
|
9670
|
+
equalWidth: false,
|
|
9671
|
+
spacingTwips: twips(gap),
|
|
9672
|
+
widths: [
|
|
9673
|
+
{ widthTwips: twips(preset === "left" ? narrow : wide), spacingTwips: twips(gap) },
|
|
9674
|
+
{ widthTwips: twips(preset === "left" ? wide : narrow) }
|
|
9675
|
+
]
|
|
9676
|
+
};
|
|
9677
|
+
}
|
|
9678
|
+
function columnPreset(columns) {
|
|
9679
|
+
if (columns.equalWidth) return String(columns.count);
|
|
9680
|
+
const [a, b] = columns.widths ?? [];
|
|
9681
|
+
if (columns.count === 2 && a && b) {
|
|
9682
|
+
if (Math.abs(a.widthTwips * 2 - b.widthTwips) <= 2) return "left";
|
|
9683
|
+
if (Math.abs(b.widthTwips * 2 - a.widthTwips) <= 2) return "right";
|
|
9684
|
+
}
|
|
9685
|
+
return "";
|
|
9686
|
+
}
|
|
9687
|
+
function equalColumnDraft(total, count, gap) {
|
|
9688
|
+
const width = Math.floor((total - gap * (count - 1)) / count);
|
|
9689
|
+
return {
|
|
9690
|
+
widths: Array.from(
|
|
9691
|
+
{ length: count },
|
|
9692
|
+
(_, i) => i === count - 1 ? total - gap * (count - 1) - width * (count - 1) : width
|
|
9693
|
+
),
|
|
9694
|
+
gaps: Array.from({ length: count }, (_, i) => i === count - 1 ? 0 : gap)
|
|
9695
|
+
};
|
|
9696
|
+
}
|
|
9697
|
+
function readColumnDraft(section) {
|
|
9698
|
+
const fallback = equalColumnDraft(
|
|
9699
|
+
columnTextWidth(section),
|
|
9700
|
+
section.columns.count,
|
|
9701
|
+
section.columns.spacingTwips ?? 720
|
|
9702
|
+
);
|
|
9703
|
+
return !section.columns.equalWidth && section.columns.widths?.length === section.columns.count ? {
|
|
9704
|
+
widths: section.columns.widths.map((column) => column.widthTwips),
|
|
9705
|
+
gaps: section.columns.widths.map(
|
|
9706
|
+
(column, i) => i === section.columns.count - 1 ? 0 : column.spacingTwips ?? section.columns.spacingTwips ?? 720
|
|
9707
|
+
)
|
|
9708
|
+
} : fallback;
|
|
9709
|
+
}
|
|
9710
|
+
function changeColumnWidth(draft, index, width) {
|
|
9711
|
+
const delta = width - draft.widths[index];
|
|
9712
|
+
draft.widths[index] = width;
|
|
9713
|
+
const neighbor = index < draft.widths.length - 1 ? index + 1 : index - 1;
|
|
9714
|
+
if (neighbor >= 0) draft.widths[neighbor] = draft.widths[neighbor] - delta;
|
|
9715
|
+
}
|
|
9716
|
+
function changeColumnGap(draft, index, gap) {
|
|
9717
|
+
const delta = gap - draft.gaps[index];
|
|
9718
|
+
draft.gaps[index] = gap;
|
|
9719
|
+
if (index + 1 < draft.widths.length) draft.widths[index + 1] = draft.widths[index + 1] - delta;
|
|
9720
|
+
}
|
|
9721
|
+
function validColumnDraft(draft, total) {
|
|
9722
|
+
return draft.widths.every((width) => Number.isSafeInteger(width) && width >= 720) && draft.gaps.every((gap) => Number.isSafeInteger(gap) && gap >= 0) && Math.abs(draft.widths.reduce((sum, value, i) => sum + value + draft.gaps[i], 0) - total) <= 1;
|
|
9723
|
+
}
|
|
9724
|
+
|
|
9725
|
+
// src/docx/line-spacing.ts
|
|
9726
|
+
var lineSpacingOptions = [
|
|
9727
|
+
["inherit", "Line: style default"],
|
|
9728
|
+
["auto:240", "1.0 lines"],
|
|
9729
|
+
["auto:276", "1.15 lines"],
|
|
9730
|
+
["auto:360", "1.5 lines"],
|
|
9731
|
+
["auto:480", "2.0 lines"],
|
|
9732
|
+
["auto:600", "2.5 lines"],
|
|
9733
|
+
["auto:720", "3.0 lines"]
|
|
9734
|
+
];
|
|
9735
|
+
function lineSpacingValue(attrs) {
|
|
9736
|
+
const rule = attrs.lineSpacingRule === "exact" || attrs.lineSpacingRule === "atLeast" ? attrs.lineSpacingRule : "auto";
|
|
9737
|
+
if (!Number.isSafeInteger(attrs.lineSpacingTwips))
|
|
9738
|
+
return attrs.lineSpacingRule === "exact" || attrs.lineSpacingRule === "atLeast" ? `rule-only:${attrs.lineSpacingRule}` : "inherit";
|
|
9739
|
+
return `${rule}:${Number(attrs.lineSpacingTwips)}`;
|
|
9740
|
+
}
|
|
9741
|
+
function lineSpacingLabel(value) {
|
|
9742
|
+
if (value === "inherit") return "Style default";
|
|
9743
|
+
const ruleOnly = /^rule-only:(exact|atLeast)$/.exec(value);
|
|
9744
|
+
if (ruleOnly) return `${ruleOnly[1] === "exact" ? "Exact" : "At least"} rule (no amount)`;
|
|
9745
|
+
const match = /^(auto|exact|atLeast):(\d+)$/.exec(value);
|
|
9746
|
+
if (!match) return "Mixed paragraphs";
|
|
9747
|
+
const [, rule, rawTwips] = match;
|
|
9748
|
+
const twips3 = Number(rawTwips);
|
|
9749
|
+
if (rule === "auto") {
|
|
9750
|
+
const ratios = {
|
|
9751
|
+
240: "1.0",
|
|
9752
|
+
276: "1.15",
|
|
9753
|
+
360: "1.5",
|
|
9754
|
+
480: "2.0",
|
|
9755
|
+
600: "2.5",
|
|
9756
|
+
720: "3.0"
|
|
9757
|
+
};
|
|
9758
|
+
return ratios[twips3] ? `${ratios[twips3]} lines` : `Automatic ${(twips3 / 240).toLocaleString(void 0, { maximumFractionDigits: 3 })} lines (${twips3}/240)`;
|
|
9759
|
+
}
|
|
9760
|
+
const points = (twips3 / 20).toLocaleString(void 0, { maximumFractionDigits: 2 });
|
|
9761
|
+
return `${rule === "exact" ? "Exact" : "At least"} ${points} pt`;
|
|
9762
|
+
}
|
|
9763
|
+
function parseLineSpacingValue(value) {
|
|
9764
|
+
const match = /^(auto|exact|atLeast):(\d+)$/.exec(value);
|
|
9765
|
+
if (!match) return null;
|
|
9766
|
+
const twips3 = Number(match[2]);
|
|
9767
|
+
return Number.isSafeInteger(twips3) && twips3 >= 0 ? { rule: match[1], twips: twips3 } : null;
|
|
9768
|
+
}
|
|
9769
|
+
|
|
9770
|
+
// src/docx/section-layout.ts
|
|
9771
|
+
function sectionLayoutJson(sections) {
|
|
9772
|
+
return JSON.stringify(
|
|
9773
|
+
sections.map(({ headers: _headers, footers: _footers, ...layout2 }) => layout2)
|
|
9774
|
+
);
|
|
9775
|
+
}
|
|
9776
|
+
function sectionsFromLayout(json, prior, blocks) {
|
|
9777
|
+
const layout2 = JSON.parse(json);
|
|
9778
|
+
const order = new Map(blocks.map((block, index) => [block.id, index]));
|
|
9779
|
+
const priorSections = prior ?? [];
|
|
9780
|
+
const endOf = (section, index, list) => index === list.length - 1 ? Number.POSITIVE_INFINITY : order.get(section.endsAtBlockId) ?? -1;
|
|
9781
|
+
const kept = layout2.filter(
|
|
9782
|
+
(section, index) => index === layout2.length - 1 || order.has(section.endsAtBlockId)
|
|
9783
|
+
);
|
|
9784
|
+
return kept.map((section, index) => {
|
|
9785
|
+
const end = endOf(section, index, kept);
|
|
9786
|
+
const source = priorSections.find((candidate) => candidate.endsAtBlockId === section.endsAtBlockId) ?? priorSections.find(
|
|
9787
|
+
(candidate, position) => endOf(candidate, position, priorSections) >= end
|
|
9788
|
+
) ?? priorSections.at(-1);
|
|
9789
|
+
return {
|
|
9790
|
+
...section,
|
|
9791
|
+
...source?.headers ? { headers: source.headers } : {},
|
|
9792
|
+
...source?.footers ? { footers: source.footers } : {}
|
|
9793
|
+
};
|
|
9794
|
+
});
|
|
9795
|
+
}
|
|
9796
|
+
function sectionsOf(model) {
|
|
9797
|
+
if (model.sections?.length) return model.sections;
|
|
9798
|
+
const { page } = model;
|
|
9799
|
+
return [
|
|
9800
|
+
{
|
|
9801
|
+
endsAtBlockId: model.blocks.at(-1)?.id ?? "",
|
|
9802
|
+
type: "nextPage",
|
|
9803
|
+
pageWidthTwips: twipsFromPixels(page.width),
|
|
9804
|
+
pageHeightTwips: twipsFromPixels(page.height),
|
|
9805
|
+
orientation: page.width > page.height ? "landscape" : "portrait",
|
|
9806
|
+
marginTopTwips: signedTwipsFromPixels(page.marginTop),
|
|
9807
|
+
marginRightTwips: twipsFromPixels(page.marginRight),
|
|
9808
|
+
marginBottomTwips: signedTwipsFromPixels(page.marginBottom),
|
|
9809
|
+
marginLeftTwips: twipsFromPixels(page.marginLeft),
|
|
9810
|
+
headerDistanceTwips: twips(720),
|
|
9811
|
+
footerDistanceTwips: twips(720),
|
|
9812
|
+
gutterTwips: twips(0),
|
|
9813
|
+
columns: { count: 1, spacingTwips: twips(720), equalWidth: true }
|
|
9814
|
+
}
|
|
9815
|
+
];
|
|
9816
|
+
}
|
|
9817
|
+
|
|
9818
|
+
// src/docx/attr-units.ts
|
|
9819
|
+
function twipsAttr(value) {
|
|
9820
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? roundTwips(value) : void 0;
|
|
9821
|
+
}
|
|
9822
|
+
function signedTwipsAttr(value) {
|
|
9823
|
+
return typeof value === "number" && Number.isFinite(value) ? roundSignedTwips(value) : void 0;
|
|
9824
|
+
}
|
|
9825
|
+
function paragraphTwipsFromAttrs(attrs) {
|
|
9826
|
+
const result = {};
|
|
9827
|
+
const spacingBefore = twipsAttr(attrs.spacingBeforeTwips);
|
|
9828
|
+
const spacingAfter = twipsAttr(attrs.spacingAfterTwips);
|
|
9829
|
+
const lineSpacing = signedTwipsAttr(attrs.lineSpacingTwips);
|
|
9830
|
+
const left = signedTwipsAttr(attrs.indentLeftTwips);
|
|
9831
|
+
const right = signedTwipsAttr(attrs.indentRightTwips);
|
|
9832
|
+
const start = signedTwipsAttr(attrs.indentStartTwips);
|
|
9833
|
+
const end = signedTwipsAttr(attrs.indentEndTwips);
|
|
9834
|
+
const firstLine = twipsAttr(attrs.firstLineTwips);
|
|
9835
|
+
const hanging = twipsAttr(attrs.hangingTwips);
|
|
9836
|
+
if (spacingBefore !== void 0) result.spacingBeforeTwips = spacingBefore;
|
|
9837
|
+
if (spacingAfter !== void 0) result.spacingAfterTwips = spacingAfter;
|
|
9838
|
+
if (lineSpacing !== void 0) result.lineSpacingTwips = lineSpacing;
|
|
9839
|
+
if (left !== void 0) result.indentLeftTwips = left;
|
|
9840
|
+
if (right !== void 0) result.indentRightTwips = right;
|
|
9841
|
+
if (start !== void 0) result.indentStartTwips = start;
|
|
9842
|
+
if (end !== void 0) result.indentEndTwips = end;
|
|
9843
|
+
if (firstLine !== void 0) result.firstLineTwips = firstLine;
|
|
9844
|
+
if (hanging !== void 0) result.hangingTwips = hanging;
|
|
9845
|
+
return result;
|
|
9846
|
+
}
|
|
9847
|
+
|
|
9848
|
+
// src/docx/case-transform.ts
|
|
9849
|
+
var WORD = /[\p{L}\p{N}'’]/u;
|
|
9850
|
+
var swap = (char) => {
|
|
9851
|
+
const upper = char.toLocaleUpperCase();
|
|
9852
|
+
return char === upper ? char.toLocaleLowerCase() : upper;
|
|
9853
|
+
};
|
|
9854
|
+
function transformCase(text, mode, atSentenceStart = true) {
|
|
9855
|
+
if (mode === "lower") return text.toLocaleLowerCase();
|
|
9856
|
+
if (mode === "upper") return text.toLocaleUpperCase();
|
|
9857
|
+
if (mode === "toggle") return [...text].map(swap).join("");
|
|
9858
|
+
let start = mode === "sentence" ? atSentenceStart : true;
|
|
9859
|
+
let previousWord = false;
|
|
9860
|
+
let out = "";
|
|
9861
|
+
for (const char of text) {
|
|
9862
|
+
const isWord = WORD.test(char);
|
|
9863
|
+
if (mode === "title") {
|
|
9864
|
+
out += isWord && !previousWord ? char.toLocaleUpperCase() : char;
|
|
9865
|
+
} else if (isWord && start) {
|
|
9866
|
+
out += char.toLocaleUpperCase();
|
|
9867
|
+
start = false;
|
|
9868
|
+
} else {
|
|
9869
|
+
out += isWord ? char.toLocaleLowerCase() : char;
|
|
9870
|
+
if (/[.!?]/.test(char)) start = true;
|
|
9871
|
+
else if (isWord) start = false;
|
|
9872
|
+
}
|
|
9873
|
+
previousWord = isWord;
|
|
9874
|
+
}
|
|
9875
|
+
return out;
|
|
9876
|
+
}
|
|
9877
|
+
|
|
9878
|
+
// src/docx/section-edit.ts
|
|
9879
|
+
var px2 = twipsToPixels;
|
|
9880
|
+
function withSection(model, index, change) {
|
|
9881
|
+
const sections = sectionsOf(model).map(
|
|
9882
|
+
(section, position) => position === index ? change(structuredClone(section)) : section
|
|
9883
|
+
);
|
|
9884
|
+
const last = sections.at(-1);
|
|
9885
|
+
return {
|
|
9886
|
+
...model,
|
|
9887
|
+
sections,
|
|
9888
|
+
page: {
|
|
9889
|
+
width: px2(last.pageWidthTwips),
|
|
9890
|
+
height: px2(last.pageHeightTwips),
|
|
9891
|
+
marginTop: px2(last.marginTopTwips),
|
|
9892
|
+
marginRight: px2(last.marginRightTwips),
|
|
9893
|
+
marginBottom: px2(last.marginBottomTwips),
|
|
9894
|
+
marginLeft: px2(last.marginLeftTwips)
|
|
9895
|
+
}
|
|
9896
|
+
};
|
|
9897
|
+
}
|
|
9898
|
+
var NORMAL_MARGIN = twips(1440);
|
|
9899
|
+
var MARGINS = {
|
|
9900
|
+
normal: NORMAL_MARGIN,
|
|
9901
|
+
narrow: twips(720),
|
|
9902
|
+
wide: twips(2160)
|
|
9903
|
+
};
|
|
9904
|
+
function setMargins(model, index, preset) {
|
|
9905
|
+
if (preset === "moderate")
|
|
9906
|
+
return withSection(model, index, (section) => ({
|
|
9907
|
+
...section,
|
|
9908
|
+
marginTopTwips: NORMAL_MARGIN,
|
|
9909
|
+
marginBottomTwips: NORMAL_MARGIN,
|
|
9910
|
+
marginLeftTwips: twips(1080),
|
|
9911
|
+
marginRightTwips: twips(1080)
|
|
9912
|
+
}));
|
|
9913
|
+
const value = MARGINS[preset] ?? NORMAL_MARGIN;
|
|
9914
|
+
return withSection(model, index, (section) => ({
|
|
9915
|
+
...section,
|
|
9916
|
+
marginTopTwips: value,
|
|
9917
|
+
marginRightTwips: value,
|
|
9918
|
+
marginBottomTwips: value,
|
|
9919
|
+
marginLeftTwips: value
|
|
9920
|
+
}));
|
|
9921
|
+
}
|
|
9922
|
+
function setOrientation(model, index, orientation) {
|
|
9923
|
+
return withSection(model, index, (section) => {
|
|
9924
|
+
const { pageWidthTwips: width, pageHeightTwips: height } = section;
|
|
9925
|
+
const long = width >= height ? width : height;
|
|
9926
|
+
const short = width >= height ? height : width;
|
|
9927
|
+
return {
|
|
9928
|
+
...section,
|
|
9929
|
+
orientation,
|
|
9930
|
+
pageWidthTwips: orientation === "landscape" ? long : short,
|
|
9931
|
+
pageHeightTwips: orientation === "landscape" ? short : long
|
|
9932
|
+
};
|
|
9933
|
+
});
|
|
9934
|
+
}
|
|
9935
|
+
function setColumns(model, index, count) {
|
|
9936
|
+
return withSection(model, index, (section) => ({
|
|
9937
|
+
...section,
|
|
9938
|
+
columns: { count, spacingTwips: section.columns.spacingTwips ?? twips(720), equalWidth: true }
|
|
9939
|
+
}));
|
|
9940
|
+
}
|
|
9941
|
+
function setVerticalAlign(model, index, verticalAlign) {
|
|
9942
|
+
return withSection(model, index, (section) => {
|
|
9943
|
+
const { verticalAlign: _previous, ...rest } = section;
|
|
9944
|
+
return verticalAlign === "top" ? rest : { ...rest, verticalAlign };
|
|
9945
|
+
});
|
|
9946
|
+
}
|
|
9947
|
+
function setTitlePage(model, index, titlePage) {
|
|
9948
|
+
return withSection(model, index, (section) => ({ ...section, titlePage }));
|
|
9949
|
+
}
|
|
9950
|
+
function setPageNumbering(model, index, change) {
|
|
9951
|
+
return withSection(model, index, (section) => {
|
|
9952
|
+
const numbering = { ...section.pageNumbering };
|
|
9953
|
+
if (change.format !== void 0) numbering.format = change.format;
|
|
9954
|
+
if (change.restart === true) numbering.start = 1;
|
|
9955
|
+
if (change.restart === false) delete numbering.start;
|
|
9956
|
+
if (numbering.format === "decimal") delete numbering.format;
|
|
9957
|
+
const { pageNumbering: _previous, ...rest } = section;
|
|
9958
|
+
return Object.keys(numbering).length ? { ...rest, pageNumbering: numbering } : rest;
|
|
9959
|
+
});
|
|
9960
|
+
}
|
|
9961
|
+
function setLineNumbering(model, index, mode) {
|
|
9962
|
+
return withSection(model, index, (section) => {
|
|
9963
|
+
const { lineNumbering: _on, lineNumberSettings: previous, ...rest } = section;
|
|
9964
|
+
if (mode === "none") return rest;
|
|
9965
|
+
return {
|
|
9966
|
+
...rest,
|
|
9967
|
+
lineNumbering: true,
|
|
9968
|
+
lineNumberSettings: {
|
|
9969
|
+
countBy: previous?.countBy ?? 1,
|
|
9970
|
+
start: previous?.start ?? 1,
|
|
9971
|
+
restart: mode,
|
|
9972
|
+
...previous?.distanceTwips !== void 0 ? { distanceTwips: previous.distanceTwips } : {}
|
|
9973
|
+
}
|
|
9974
|
+
};
|
|
9975
|
+
});
|
|
9976
|
+
}
|
|
9977
|
+
|
|
9978
|
+
// src/docx/page-size.ts
|
|
9979
|
+
var PAGE_SIZES = {
|
|
9980
|
+
letter: [12240, 15840],
|
|
9981
|
+
legal: [12240, 20160],
|
|
9982
|
+
tabloid: [15840, 24480],
|
|
9983
|
+
executive: [10440, 15120],
|
|
9984
|
+
a3: [16838, 23811],
|
|
9985
|
+
a4: [11906, 16838],
|
|
9986
|
+
a5: [8391, 11906],
|
|
9987
|
+
b5: [10319, 14570]
|
|
9988
|
+
};
|
|
9989
|
+
var PAGE_SIZE_OPTIONS = [
|
|
9990
|
+
["letter", "Letter"],
|
|
9991
|
+
["legal", "Legal"],
|
|
9992
|
+
["tabloid", "Tabloid"],
|
|
9993
|
+
["executive", "Executive"],
|
|
9994
|
+
["a3", "A3"],
|
|
9995
|
+
["a4", "A4"],
|
|
9996
|
+
["a5", "A5"],
|
|
9997
|
+
["b5", "B5 (JIS)"]
|
|
9998
|
+
];
|
|
9999
|
+
function setPageSize(model, index, preset) {
|
|
10000
|
+
const size = PAGE_SIZES[preset];
|
|
10001
|
+
if (!size) return model;
|
|
10002
|
+
return withSection(model, index, (section) => {
|
|
10003
|
+
const [short, long] = size;
|
|
10004
|
+
const landscape = section.orientation === "landscape";
|
|
10005
|
+
return {
|
|
10006
|
+
...section,
|
|
10007
|
+
pageWidthTwips: twips(landscape ? long : short),
|
|
10008
|
+
pageHeightTwips: twips(landscape ? short : long)
|
|
10009
|
+
};
|
|
10010
|
+
});
|
|
10011
|
+
}
|
|
10012
|
+
function pageSizeOf(section) {
|
|
10013
|
+
const a = Math.min(section.pageWidthTwips, section.pageHeightTwips);
|
|
10014
|
+
const b = Math.max(section.pageWidthTwips, section.pageHeightTwips);
|
|
10015
|
+
for (const [key, [short, long]] of Object.entries(PAGE_SIZES))
|
|
10016
|
+
if (Math.abs(short - a) <= 2 && Math.abs(long - b) <= 2) return key;
|
|
10017
|
+
return null;
|
|
10018
|
+
}
|
|
10019
|
+
|
|
10020
|
+
// src/docx/page-setup-model.ts
|
|
10021
|
+
var TWIPS_PER_INCH2 = 1440;
|
|
10022
|
+
var MAX_PAGE_INCHES = 22;
|
|
10023
|
+
var MIN_TEXT_INCHES = 0.5;
|
|
10024
|
+
var inches = (value) => Math.round(value / TWIPS_PER_INCH2 * 1e3) / 1e3;
|
|
10025
|
+
function readPageSetup(section) {
|
|
10026
|
+
const short = Math.min(section.pageWidthTwips, section.pageHeightTwips);
|
|
10027
|
+
const long = Math.max(section.pageWidthTwips, section.pageHeightTwips);
|
|
10028
|
+
return {
|
|
10029
|
+
topIn: inches(section.marginTopTwips),
|
|
10030
|
+
bottomIn: inches(section.marginBottomTwips),
|
|
10031
|
+
leftIn: inches(section.marginLeftTwips),
|
|
10032
|
+
rightIn: inches(section.marginRightTwips),
|
|
10033
|
+
gutterIn: inches(section.gutterTwips ?? 0),
|
|
10034
|
+
headerIn: inches(section.headerDistanceTwips ?? 720),
|
|
10035
|
+
footerIn: inches(section.footerDistanceTwips ?? 720),
|
|
10036
|
+
orientation: section.orientation,
|
|
10037
|
+
widthIn: inches(short),
|
|
10038
|
+
heightIn: inches(long)
|
|
10039
|
+
};
|
|
10040
|
+
}
|
|
10041
|
+
function validatePageSetup(values) {
|
|
10042
|
+
const margins = [values.topIn, values.bottomIn, values.leftIn, values.rightIn, values.gutterIn];
|
|
10043
|
+
const measures = [...margins, values.headerIn, values.footerIn];
|
|
10044
|
+
if (measures.some((value) => !Number.isFinite(value) || value < 0 || value > MAX_PAGE_INCHES))
|
|
10045
|
+
return "range";
|
|
10046
|
+
if (![values.widthIn, values.heightIn].every((v) => v > 0 && v <= MAX_PAGE_INCHES))
|
|
10047
|
+
return "range";
|
|
10048
|
+
const short = Math.min(values.widthIn, values.heightIn);
|
|
10049
|
+
const long = Math.max(values.widthIn, values.heightIn);
|
|
10050
|
+
const [width, height] = values.orientation === "landscape" ? [long, short] : [short, long];
|
|
10051
|
+
if (width - values.leftIn - values.rightIn - values.gutterIn < MIN_TEXT_INCHES) return "width";
|
|
10052
|
+
if (height - values.topIn - values.bottomIn < MIN_TEXT_INCHES) return "height";
|
|
10053
|
+
return null;
|
|
10054
|
+
}
|
|
10055
|
+
var toTwips = (value) => Math.round(value * TWIPS_PER_INCH2);
|
|
10056
|
+
function applyPageSetup(model, index, values) {
|
|
10057
|
+
if (validatePageSetup(values)) return model;
|
|
10058
|
+
const short = Math.min(values.widthIn, values.heightIn);
|
|
10059
|
+
const long = Math.max(values.widthIn, values.heightIn);
|
|
10060
|
+
const landscape = values.orientation === "landscape";
|
|
10061
|
+
return withSection(model, index, (section) => ({
|
|
10062
|
+
...section,
|
|
10063
|
+
orientation: values.orientation,
|
|
10064
|
+
pageWidthTwips: twips(toTwips(landscape ? long : short)),
|
|
10065
|
+
pageHeightTwips: twips(toTwips(landscape ? short : long)),
|
|
10066
|
+
marginTopTwips: signedTwips(toTwips(values.topIn)),
|
|
10067
|
+
marginBottomTwips: signedTwips(toTwips(values.bottomIn)),
|
|
10068
|
+
marginLeftTwips: twips(toTwips(values.leftIn)),
|
|
10069
|
+
marginRightTwips: twips(toTwips(values.rightIn)),
|
|
10070
|
+
gutterTwips: twips(toTwips(values.gutterIn)),
|
|
10071
|
+
headerDistanceTwips: twips(toTwips(values.headerIn)),
|
|
10072
|
+
footerDistanceTwips: twips(toTwips(values.footerIn))
|
|
10073
|
+
}));
|
|
10074
|
+
}
|
|
10075
|
+
function presetOf(values) {
|
|
10076
|
+
return pageSizeOf({
|
|
10077
|
+
pageWidthTwips: twips(toTwips(values.widthIn)),
|
|
10078
|
+
pageHeightTwips: twips(toTwips(values.heightIn))
|
|
10079
|
+
});
|
|
10080
|
+
}
|
|
10081
|
+
|
|
10082
|
+
export { DEFAULT_STYLES_XML, DEFAULT_TABLE_BORDERS, DEFAULT_TOC_INSTRUCTION, DIAGRAM_GRAPHIC_URI, DocxModelValidationError, EMPTY_FIGURES_TEXT, EMPTY_TOC_TEXT, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, LIGATURE_VALUES, PAGE_SIZES, PAGE_SIZE_OPTIONS, PIXELS_PER_INCH, PROPERTY_FIELDS, ST_AlgClass, ST_AlgType, ST_AnnotationVMerge, ST_Border, ST_BrClear, ST_BrType, ST_CalendarType, ST_CaptionPos, ST_ChapterSep, ST_CharacterSpacing, ST_CombineBrackets, ST_ConformanceClass, ST_CryptProv, ST_Direction, ST_DisplacedByCustomXml, ST_DocGrid, ST_DocPartBehavior, ST_DocPartGallery, ST_DocPartType, ST_DocProtect, ST_DropCap, ST_EdGrp, ST_EdnPos, ST_Em, ST_FFTextType, ST_FldCharType, ST_FontFamily, ST_FrameLayout, ST_FrameScrollbar, ST_FtnEdn, ST_FtnPos, ST_HAnchor, ST_HdrFtr, ST_HeightRule, ST_HexColorAuto, ST_HighlightColor, ST_Hint, ST_InfoTextType, ST_Jc, ST_JcTable, ST_LevelSuffix, ST_LineNumberRestart, ST_LineSpacingRule, ST_Lock, ST_MailMergeDest, ST_MailMergeDocType, ST_MailMergeOdsoFMDFieldType, ST_MailMergeSourceType, ST_Merge, ST_MultiLevelType, ST_NumberFormat, ST_ObjectDrawAspect, ST_ObjectUpdateMode, ST_OnOff1, ST_PTabAlignment, ST_PTabLeader, ST_PTabRelativeTo, ST_PageBorderDisplay, ST_PageBorderOffset, ST_PageBorderZOrder, ST_PageOrientation, ST_Pitch, ST_Proof, ST_ProofErr, ST_RelFromH, ST_RelFromV, ST_RestartNumber, ST_RubyAlign, ST_SchemeColorVal, ST_SdtDateMappingType, ST_SectionMark, ST_Shd, ST_StyleSort, ST_StyleType, ST_TabJc, ST_TabTlc, ST_TargetScreenSz, ST_TblLayoutType, ST_TblOverlap, ST_TblStyleOverrideType, ST_TblWidth, ST_TextAlignment, ST_TextDirection, ST_TextEffect, ST_TextboxTightWrap, ST_Theme, ST_ThemeColor, ST_TrueFalse, ST_TrueFalseBlank, ST_Underline, ST_VAnchor, ST_VerticalAlignRun, ST_VerticalJc, ST_View, ST_WmlColorSchemeIndex, ST_Wrap, ST_XAlign, ST_YAlign, ST_Zoom, TWIPS_PER_INCH, TWIPS_PER_POINT, WORD, WORD_HIGHLIGHT_TOKENS, WORD_UNDERLINE_TOKENS, acceptAllRevisions, acceptRevision, alignFromJustification, applyPageSetup, applyThemeShade, applyThemeTint, assertValidDocumentModel, buildTableOfContents, captionParagraphs, changeColumnGap, changeColumnWidth, columnPreset, columnTextWidth, computeListLabels, createDocument, createListDefinition, dateFieldResult, datePicture, defaultStyleCatalogs, diagramColorTheme, diagramsIn, displayListLabel, documentStats, eighthPoints, eighthPointsFromPoints, eighthPointsToPoints, emu, emuFromPixels, emuToPixels, ensureListDefinition, enumValue, equalColumnDraft, fieldName, findRevision, findTableOfContents, formatListNumber, formatNoteNumber, formatWordDate, halfPoints, halfPointsFromPoints, halfPointsToPoints, headingLevel, headingListLevels, isCaptionOf, isHeadingListKind, isLigatures, isStAlgClass, isStAlgType, isStAnnotationVMerge, isStBorder, isStBrClear, isStBrType, isStCalendarType, isStCaptionPos, isStChapterSep, isStCharacterSpacing, isStCombineBrackets, isStConformanceClass, isStCryptProv, isStDirection, isStDisplacedByCustomXml, isStDocGrid, isStDocPartBehavior, isStDocPartGallery, isStDocPartType, isStDocProtect, isStDropCap, isStEdGrp, isStEdnPos, isStEm, isStFFTextType, isStFldCharType, isStFontFamily, isStFrameLayout, isStFrameScrollbar, isStFtnEdn, isStFtnPos, isStHAnchor, isStHdrFtr, isStHeightRule, isStHexColorAuto, isStHighlightColor, isStHint, isStInfoTextType, isStJc, isStJcTable, isStLevelSuffix, isStLineNumberRestart, isStLineSpacingRule, isStLock, isStMailMergeDest, isStMailMergeDocType, isStMailMergeOdsoFMDFieldType, isStMailMergeSourceType, isStMerge, isStMultiLevelType, isStNumberFormat, isStObjectDrawAspect, isStObjectUpdateMode, isStOnOff1, isStPTabAlignment, isStPTabLeader, isStPTabRelativeTo, isStPageBorderDisplay, isStPageBorderOffset, isStPageBorderZOrder, isStPageOrientation, isStPitch, isStProof, isStProofErr, isStRelFromH, isStRelFromV, isStRestartNumber, isStRubyAlign, isStSchemeColorVal, isStSdtDateMappingType, isStSectionMark, isStShd, isStStyleSort, isStStyleType, isStTabJc, isStTabTlc, isStTargetScreenSz, isStTblLayoutType, isStTblOverlap, isStTblStyleOverrideType, isStTblWidth, isStTextAlignment, isStTextDirection, isStTextEffect, isStTextboxTightWrap, isStTheme, isStThemeColor, isStTrueFalse, isStTrueFalseBlank, isStUnderline, isStVAnchor, isStVerticalAlignRun, isStVerticalJc, isStView, isStWmlColorSchemeIndex, isStWrap, isStXAlign, isStYAlign, isStZoom, isThemeColorToken, isValidLanguageTag, isWordHighlightToken, isWordUnderlineStyle, lineSpacingLabel, lineSpacingOptions, lineSpacingValue, linkStylesToList, listRevisions, loadDocx, numberNotesInOrder, onOffAttribute, onOffElement, pageSizeOf, paragraphTwipsFromAttrs, parseColorSchemeMapping, parseEighthPoints, parseHalfPoints, parseHexColor, parseInteger, parseJustification, parseLineSpacingValue, parseNumberingCatalog, parseOnOff, parseParagraphStyleCatalog, parseRgbColor, parseRunStyleCatalog, parseSignedHalfPoints, parseSignedTwips, parseTableStyleCatalog, parseTextScale, parseTheme, parseTintShade, parseTwips, parseUnsignedInteger, plainText2 as plainText, presetOf, readColumnDraft, readPageSetup, rejectAllRevisions, rejectRevision, reportParseWarning, resolveCellVisuals, resolveDiagramColor, resolveNumberingLevel, resolveParagraphFormatting, resolveParagraphNumbering, resolveRunFormatting, resolveStyleNumbering, resolveTableStyleFormatting, resolveThemeColorReference, resolveThemeColorToken, roundEighthPoints, roundEmu, roundHalfPoints, roundSignedTwips, roundTwips, saveDocx, sectionLayoutJson, sectionsFromLayout, sectionsOf, setColumns, setLineNumbering, setMargins, setOrientation, setPageNumbering, setPageSize, setTitlePage, setVerticalAlign, signedTwips, signedTwipsAttr, signedTwipsFromPixels, signedTwipsFromPoints, tableOfFiguresInstruction, tocBookmarks, tocCaptionLabel, tocEntries, tocHyperlinks, tocLevels, transformCase, twips, twipsAttr, twipsFromInches, twipsFromPixels, twipsFromPoints, twipsToInches, twipsToPixels, twipsToPoints, unequalColumnPreset, universalMeasureToTwips, updateTableOfContents, validColumnDraft, validateDocumentModel, validatePageSetup, withParseWarnings, withSection, withTocBookmarks };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/docx/layout/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,aAAa,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/docx/layout/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,aAAa,EAIb,MAAM,aAAa,CAAC;AAmBrB,OAAO,KAAK,EAEX,mBAAmB,EAKnB,MAAM,YAAY,CAAC;AA2BpB,oFAAoF;AACpF,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,GACxC,mBAAmB,CA8PrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-layout.d.ts","sourceRoot":"","sources":["../../../src/docx/layout/table-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"table-layout.d.ts","sourceRoot":"","sources":["../../../src/docx/layout/table-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAC9B,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,KAAK,SAAI,EACT,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAyBnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACxB,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAAE,GAChC,SAAS,CAyCX;AAsDD,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAoB9E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type LineSpacingRule = 'auto' | 'exact' | 'atLeast';
|
|
2
|
+
export declare const lineSpacingOptions: Array<[string, string]>;
|
|
3
|
+
export declare function lineSpacingValue(attrs: Record<string, unknown>): string;
|
|
4
|
+
export declare function lineSpacingLabel(value: string): string;
|
|
5
|
+
export declare function parseLineSpacingValue(value: string): {
|
|
6
|
+
rule: LineSpacingRule;
|
|
7
|
+
twips: number;
|
|
8
|
+
} | null;
|
|
9
|
+
//# sourceMappingURL=line-spacing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-spacing.d.ts","sourceRoot":"","sources":["../../src/docx/line-spacing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAQtD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUvE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOjD"}
|
package/dist/docx/load/index.cjs
CHANGED
|
@@ -1879,7 +1879,8 @@ function parseXml(xml, options = {}) {
|
|
|
1879
1879
|
}).parseFromString(xml, "application/xml");
|
|
1880
1880
|
} catch (error) {
|
|
1881
1881
|
throw new Error(
|
|
1882
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1882
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1883
|
+
{ cause: error }
|
|
1883
1884
|
);
|
|
1884
1885
|
}
|
|
1885
1886
|
if (parseError || !parsed.documentElement)
|
package/dist/docx/load/index.mjs
CHANGED
|
@@ -1873,7 +1873,8 @@ function parseXml(xml, options = {}) {
|
|
|
1873
1873
|
}).parseFromString(xml, "application/xml");
|
|
1874
1874
|
} catch (error) {
|
|
1875
1875
|
throw new Error(
|
|
1876
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1876
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1877
|
+
{ cause: error }
|
|
1877
1878
|
);
|
|
1878
1879
|
}
|
|
1879
1880
|
if (parseError || !parsed.documentElement)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DocumentModel } from './model.js';
|
|
2
|
+
import type { SectionProperties } from './section-model.js';
|
|
3
|
+
/** What Word's Page Setup dialog edits for one section, in inches. */
|
|
4
|
+
export interface PageSetupValues {
|
|
5
|
+
topIn: number;
|
|
6
|
+
bottomIn: number;
|
|
7
|
+
leftIn: number;
|
|
8
|
+
rightIn: number;
|
|
9
|
+
gutterIn: number;
|
|
10
|
+
headerIn: number;
|
|
11
|
+
footerIn: number;
|
|
12
|
+
orientation: 'portrait' | 'landscape';
|
|
13
|
+
/** Portrait width and height; landscape swaps them when applied. */
|
|
14
|
+
widthIn: number;
|
|
15
|
+
heightIn: number;
|
|
16
|
+
}
|
|
17
|
+
export type PageSetupProblem = 'range' | 'width' | 'height';
|
|
18
|
+
/** The section's current settings, with the paper always in portrait terms. */
|
|
19
|
+
export declare function readPageSetup(section: SectionProperties): PageSetupValues;
|
|
20
|
+
/**
|
|
21
|
+
* Checks the values as Word does: every measure in range, and margins that leave room for text
|
|
22
|
+
* (at least half an inch each way). Returns the first problem, or null when they can be applied.
|
|
23
|
+
*/
|
|
24
|
+
export declare function validatePageSetup(values: PageSetupValues): PageSetupProblem | null;
|
|
25
|
+
/** Applies validated values to section `index`; invalid values leave the model as it was. */
|
|
26
|
+
export declare function applyPageSetup(model: DocumentModel, index: number, values: PageSetupValues): DocumentModel;
|
|
27
|
+
/** The paper-size preset a set of values matches, or null for a custom size. */
|
|
28
|
+
export declare function presetOf(values: PageSetupValues): string | null;
|
|
29
|
+
//# sourceMappingURL=page-setup-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-setup-model.d.ts","sourceRoot":"","sources":["../../src/docx/page-setup-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,UAAU,GAAG,WAAW,CAAC;IACtC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAO5D,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAezE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,IAAI,CAalF;AAID,6FAA6F;AAC7F,wBAAgB,cAAc,CAC7B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GACrB,aAAa,CAkBf;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAK/D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DocumentModel } from './model.js';
|
|
2
|
+
import type { SectionProperties } from './section-model.js';
|
|
3
|
+
/** Word's Layout > Size presets, portrait width by height in twips (1/1440 inch). */
|
|
4
|
+
export declare const PAGE_SIZES: Record<string, readonly [width: number, height: number]>;
|
|
5
|
+
/** English labels for the size list; paper names are proper nouns and stay as they are. */
|
|
6
|
+
export declare const PAGE_SIZE_OPTIONS: Array<[string, string]>;
|
|
7
|
+
/** Sets a section's paper size, keeping its orientation (landscape swaps width and height). */
|
|
8
|
+
export declare function setPageSize(model: DocumentModel, index: number, preset: string): DocumentModel;
|
|
9
|
+
/** The preset a section's paper matches in either orientation, or null for a custom size. */
|
|
10
|
+
export declare function pageSizeOf(section: SectionProperties): string | null;
|
|
11
|
+
//# sourceMappingURL=page-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-size.d.ts","sourceRoot":"","sources":["../../src/docx/page-size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qFAAqF;AACrF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAS/E,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CASrD,CAAC;AAEF,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAY9F;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAMpE"}
|
package/dist/docx/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/docx/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/docx/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA8BvE,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3E,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACvC,CAAC,CAgLD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAUvF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DocumentModel } from './model.js';
|
|
2
|
+
import type { SectionProperties } from './section-model.js';
|
|
3
|
+
/** Returns `model` with section `index` changed; the last section also drives `model.page`. */
|
|
4
|
+
export declare function withSection(model: DocumentModel, index: number, change: (section: SectionProperties) => SectionProperties): DocumentModel;
|
|
5
|
+
export declare function setMargins(model: DocumentModel, index: number, preset: string): DocumentModel;
|
|
6
|
+
export declare function setOrientation(model: DocumentModel, index: number, orientation: 'portrait' | 'landscape'): DocumentModel;
|
|
7
|
+
export declare function setColumns(model: DocumentModel, index: number, count: number): DocumentModel;
|
|
8
|
+
/** Layout > Page Setup > Vertical alignment for one section. */
|
|
9
|
+
export declare function setVerticalAlign(model: DocumentModel, index: number, verticalAlign: NonNullable<SectionProperties['verticalAlign']>): DocumentModel;
|
|
10
|
+
/** Header & Footer > Different First Page for one section. */
|
|
11
|
+
export declare function setTitlePage(model: DocumentModel, index: number, titlePage: boolean): DocumentModel;
|
|
12
|
+
/** Page number format, and whether numbering continues or restarts at 1 in this section. */
|
|
13
|
+
export declare function setPageNumbering(model: DocumentModel, index: number, change: {
|
|
14
|
+
format?: NonNullable<SectionProperties['pageNumbering']>['format'];
|
|
15
|
+
restart?: boolean;
|
|
16
|
+
}): DocumentModel;
|
|
17
|
+
/** Layout > Line Numbers: off, or on with the restart rule; other line-number values are kept. */
|
|
18
|
+
export declare function setLineNumbering(model: DocumentModel, index: number, mode: 'none' | 'continuous' | 'newPage' | 'newSection'): DocumentModel;
|
|
19
|
+
//# sourceMappingURL=section-edit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-edit.d.ts","sourceRoot":"","sources":["../../src/docx/section-edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,+FAA+F;AAC/F,wBAAgB,WAAW,CAC1B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,iBAAiB,GACvD,aAAa,CAiBf;AASD,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAiB7F;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,UAAU,GAAG,WAAW,GACnC,aAAa,CAYf;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAK5F;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,GAC5D,aAAa,CAKf;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAC3B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GAChB,aAAa,CAEf;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/F,aAAa,CAUf;AAED,kGAAkG;AAClG,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GACpD,aAAa,CAef"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Block, DocumentModel } from './model.js';
|
|
2
|
+
import type { SectionProperties } from './section-model.js';
|
|
3
|
+
/** Section layout without header/footer content, as stored on the editor document for undo. */
|
|
4
|
+
export declare function sectionLayoutJson(sections: SectionProperties[]): string;
|
|
5
|
+
/**
|
|
6
|
+
* Rebuilds sections from the editor document's layout JSON, reattaching header/footer content
|
|
7
|
+
* from the previous model: a section keeps the content of the prior section ending at the same
|
|
8
|
+
* block, and a newly split section takes the content of the section it was split from. Sections
|
|
9
|
+
* whose ending paragraph no longer exists are dropped (deleting a break merges sections).
|
|
10
|
+
*/
|
|
11
|
+
export declare function sectionsFromLayout(json: string, prior: SectionProperties[] | undefined, blocks: Block[]): SectionProperties[];
|
|
12
|
+
/** The document's sections, creating one from the page settings for documents without any. */
|
|
13
|
+
export declare function sectionsOf(model: DocumentModel): SectionProperties[];
|
|
14
|
+
//# sourceMappingURL=section-layout.d.ts.map
|