oasis-editor 0.0.153 → 0.0.154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/{OasisEditorApp-DjlntWNK.js → OasisEditorApp-BfdBu3ui.js} +501 -12
  2. package/dist/assets/importDocxWorker-DpJa1l2G.js +12 -0
  3. package/dist/core/commands/builtinCommands.d.ts +1 -1
  4. package/dist/core/commands/design.d.ts +11 -0
  5. package/dist/core/commands/publicCommandTypes.d.ts +11 -1
  6. package/dist/core/model/index.d.ts +1 -1
  7. package/dist/core/model/types/document.d.ts +43 -0
  8. package/dist/core/model/types/layout.d.ts +2 -0
  9. package/dist/core/pluginUiTypes.d.ts +1 -1
  10. package/dist/export/docx/docxDocumentXml.d.ts +1 -1
  11. package/dist/export/docx/docxPackageXml.d.ts +2 -2
  12. package/dist/export/docx/themeXml.d.ts +3 -0
  13. package/dist/export/pdf/OasisPdfWriter.d.ts +1 -0
  14. package/dist/export/pdf/draw/drawPageBackground.d.ts +2 -1
  15. package/dist/export/pdf/writer/PdfContentStream.d.ts +1 -0
  16. package/dist/export/pdf/writer/pdfTypes.d.ts +1 -0
  17. package/dist/i18n/locales/en.d.ts +26 -0
  18. package/dist/i18n/locales/pt-BR.d.ts +26 -0
  19. package/dist/import/docx/sectionProperties.d.ts +2 -1
  20. package/dist/import/docx/theme.d.ts +2 -0
  21. package/dist/{index-D_-RY5pS.js → index-DQLjp1z0.js} +1199 -410
  22. package/dist/oasis-editor.css +1 -1
  23. package/dist/oasis-editor.js +1 -1
  24. package/dist/oasis-editor.umd.cjs +4 -4
  25. package/dist/plugins/internal/createEssentialsPlugin.d.ts +1 -1
  26. package/dist/plugins/internal/essentialsCapabilities.d.ts +16 -1
  27. package/dist/plugins/internal/essentialsCommandGroups/design.d.ts +8 -0
  28. package/dist/ui/app/essentials/design.d.ts +4 -0
  29. package/dist/ui/app/essentials/types.d.ts +2 -0
  30. package/dist/ui/components/Toolbar/DesignGallery.d.ts +16 -0
  31. package/package.json +1 -1
  32. package/dist/assets/importDocxWorker-Ddoy1WwF.js +0 -12
@@ -1,2 +1,2 @@
1
- export declare const OASIS_BUILTIN_COMMANDS: readonly ["selectAll", "insertFootnote", "insertText", "insertEquation", "updateEquation", "insertTableOfContents", "updateTableOfContents", "pastePlainText", "bold", "italic", "underline", "strike", "superscript", "subscript", "link", "unlink", "alignLeft", "alignCenter", "alignRight", "alignJustify", "orderedList", "bulletList", "find", "replace", "toggleTrackChanges", "acceptRevisions", "rejectRevisions", "toggleShowMargins", "toggleShowParagraphMarks", "togglePreciseFonts", "undo", "redo", "pageBreak", "lineBreak", "splitBlock", "setFontFamily", "setFontSize", "increaseFontSize", "decreaseFontSize", "changeTextCase", "clearFormatting", "setColor", "setHighlight", "setTextShading", "setStyleId", "setCharacterStyleId", "setUnderlineStyle", "documentStyles", "print", "copy", "newDocument", "exportDocx", "exportPdf", "importDocument", "insertImage", "editImageAlt", "insertImageCaption", "imageContext", "imageWidthCm", "imageHeightCm", "imageCrop", "imageCropAspect", "imageCropShape", "imageCropFill", "imageCropFit", "imageCropReset", "imageBorder", "outdent", "indent", "togglePageBreakBefore", "toggleKeepWithNext", "setSpacingAfter", "setSpacingBefore", "setIndentLeft", "setIndentRight", "setIndentFirstLine", "setIndentHanging", "setSpecialIndent", "setParagraphShading", "applyParagraphBorders", "setLineHeight", "setListFormat", "setListStartAt", "toggleOrientation", "setOrientation", "sectionBreakNextPage", "sectionBreakContinuous", "setPageMargins", "tableContext", "tableMerge", "tableSplit", "tableInsertColumnBefore", "tableInsertColumnAfter", "tableDeleteColumn", "tableInsertRowBefore", "tableInsertRowAfter", "tableDeleteRow", "tableCellShading", "tableCellBorders", "tableCellNoBorders", "tableApplyBorderPreset", "toggleTableDrawBorders", "toggleTableGridlines", "tableWidth100", "tableAlignLeft", "tableAlignCenter", "tableAlignRight", "tableSetCellWidth", "tableToggleHeaderRow", "tableToggleTotalRow", "tableToggleBandedRows", "tableToggleFirstColumn", "tableToggleLastColumn", "tableToggleBandedColumns", "setTableStyle", "tableToggleAutoFit", "tableDistributeColumns", "tableDistributeRows", "insertTable", "insertShape", "openSymbolDialog", "openEquationDialog"];
1
+ export declare const OASIS_BUILTIN_COMMANDS: readonly ["selectAll", "insertFootnote", "insertText", "insertEquation", "updateEquation", "insertTableOfContents", "updateTableOfContents", "pastePlainText", "bold", "italic", "underline", "strike", "superscript", "subscript", "link", "unlink", "alignLeft", "alignCenter", "alignRight", "alignJustify", "orderedList", "bulletList", "find", "replace", "toggleTrackChanges", "acceptRevisions", "rejectRevisions", "toggleShowMargins", "toggleShowParagraphMarks", "togglePreciseFonts", "undo", "redo", "pageBreak", "lineBreak", "splitBlock", "setFontFamily", "setFontSize", "increaseFontSize", "decreaseFontSize", "changeTextCase", "clearFormatting", "setColor", "setHighlight", "setTextShading", "setStyleId", "setCharacterStyleId", "setUnderlineStyle", "documentStyles", "print", "copy", "newDocument", "exportDocx", "exportPdf", "importDocument", "insertImage", "editImageAlt", "insertImageCaption", "imageContext", "imageWidthCm", "imageHeightCm", "imageCrop", "imageCropAspect", "imageCropShape", "imageCropFill", "imageCropFit", "imageCropReset", "imageBorder", "outdent", "indent", "togglePageBreakBefore", "toggleKeepWithNext", "setSpacingAfter", "setSpacingBefore", "setIndentLeft", "setIndentRight", "setIndentFirstLine", "setIndentHanging", "setSpecialIndent", "setParagraphShading", "applyParagraphBorders", "setLineHeight", "setListFormat", "setListStartAt", "toggleOrientation", "setOrientation", "sectionBreakNextPage", "sectionBreakContinuous", "setPageMargins", "applyDocumentTheme", "setDocumentColorScheme", "setDocumentFontScheme", "setDocumentParagraphSpacing", "setDocumentEffects", "setDocumentPageColor", "setDocumentWatermark", "setDocumentPageBorder", "setDocumentDesignDefault", "tableContext", "tableMerge", "tableSplit", "tableInsertColumnBefore", "tableInsertColumnAfter", "tableDeleteColumn", "tableInsertRowBefore", "tableInsertRowAfter", "tableDeleteRow", "tableCellShading", "tableCellBorders", "tableCellNoBorders", "tableApplyBorderPreset", "toggleTableDrawBorders", "toggleTableGridlines", "tableWidth100", "tableAlignLeft", "tableAlignCenter", "tableAlignRight", "tableSetCellWidth", "tableToggleHeaderRow", "tableToggleTotalRow", "tableToggleBandedRows", "tableToggleFirstColumn", "tableToggleLastColumn", "tableToggleBandedColumns", "setTableStyle", "tableToggleAutoFit", "tableDistributeColumns", "tableDistributeRows", "insertTable", "insertShape", "openSymbolDialog", "openEquationDialog"];
2
2
  export type OasisBuiltinCommand = (typeof OASIS_BUILTIN_COMMANDS)[number];
@@ -0,0 +1,11 @@
1
+ import { EditorDocumentDesign, EditorPageBorder, EditorState, EditorWatermark } from '../model.js';
2
+
3
+ export type DesignThemeId = NonNullable<EditorDocumentDesign["themeId"]>;
4
+ export declare function setDocumentDesign(state: EditorState, patch: Partial<EditorDocumentDesign>): EditorState;
5
+ export declare function setDocumentFontScheme(state: EditorState, value: string): EditorState;
6
+ export declare function setDocumentParagraphSpacing(state: EditorState, value: NonNullable<EditorDocumentDesign["paragraphSpacingId"]>): EditorState;
7
+ export declare function applyDocumentTheme(state: EditorState, theme: DesignThemeId): EditorState;
8
+ export declare function setDocumentColorScheme(state: EditorState, value: string): EditorState;
9
+ export declare function setDocumentPageColor(state: EditorState, color: string | null): EditorState;
10
+ export declare function setDocumentWatermark(state: EditorState, watermark: EditorWatermark | null): EditorState;
11
+ export declare function setDocumentPageBorder(state: EditorState, border: EditorPageBorder | null): EditorState;
@@ -1,7 +1,8 @@
1
1
  import { CommandRef } from './CommandRef.js';
2
- import { EditorPageMargins, EditorMathExpression } from '../model.js';
2
+ import { EditorPageMargins, EditorMathExpression, EditorPageBorder, EditorWatermark } from '../model.js';
3
3
  import { TextCaseMode } from './text.js';
4
4
  import { TableBorderPreset } from './table.js';
5
+ import { DesignThemeId } from './design.js';
5
6
 
6
7
  /** Payload for the `insertTable` command. */
7
8
  export interface InsertTablePayload {
@@ -118,6 +119,15 @@ export interface OasisCommandPayloads {
118
119
  sectionBreakNextPage: undefined;
119
120
  sectionBreakContinuous: undefined;
120
121
  setPageMargins: SetPageMarginsPayload;
122
+ applyDocumentTheme: DesignThemeId;
123
+ setDocumentColorScheme: string;
124
+ setDocumentFontScheme: string;
125
+ setDocumentParagraphSpacing: "compact" | "tight" | "open" | "relaxed";
126
+ setDocumentEffects: string;
127
+ setDocumentPageColor: string | null;
128
+ setDocumentWatermark: EditorWatermark | null;
129
+ setDocumentPageBorder: EditorPageBorder | null;
130
+ setDocumentDesignDefault: undefined;
121
131
  tableContext: undefined;
122
132
  tableMerge: undefined;
123
133
  tableSplit: undefined;
@@ -18,7 +18,7 @@ export type { EditorEndnote } from './types/documentEndnotes.js';
18
18
  export type { EditorBookmark, EditorBookmarkAnchor, EditorBookmarks, } from './types/documentBookmarks.js';
19
19
  export type { EditorComment, EditorCommentAnchor, EditorComments, } from './types/documentComments.js';
20
20
  export type { EditorOpcPartKind, EditorOpcPartEncoding, EditorOpcRelationship, EditorOpcContentTypes, EditorOpcPart, EditorDocxDiagnostic, EditorDocxSourcePackage, } from './types/docxSourcePackage.js';
21
- export type { EditorPageMargins, EditorPageSettings, EditorColumnsSettings, EditorSection, EditorPageNumbering, EditorSectionVerticalAlign, EditorFontInfo, EditorFootnoteSettings, EditorFootnotes, EditorEndnoteSettings, EditorEndnotes, EditorDocument, } from './types/document.js';
21
+ export type { EditorPageMargins, EditorPageSettings, EditorColumnsSettings, EditorSection, EditorPageNumbering, EditorSectionVerticalAlign, EditorFontInfo, EditorFootnoteSettings, EditorFootnotes, EditorEndnoteSettings, EditorEndnotes, EditorDocumentDesign, EditorThemeData, EditorWatermark, EditorPageBorder, EditorDocument, } from './types/document.js';
22
22
  export type { EditorPosition, EditorSelection, EditorEditingZone, } from './types/selection.js';
23
23
  export type { EditorCaretSlot, EditorLayoutFragmentChar, EditorLayoutFragment, EditorLayoutLine, EditorLayoutParagraph, EditorLayoutBlock, TableCellBlockPosition, EditorLayoutPage, EditorLayoutDocument, } from './types/layout.js';
24
24
  export type { EditorState } from './editorState.js';
@@ -42,6 +42,47 @@ export interface EditorPageSettings {
42
42
  margins: EditorPageMargins;
43
43
  columns?: EditorColumnsSettings;
44
44
  }
45
+ /** Document-wide visual design selected from the Design ribbon. */
46
+ export interface EditorDocumentDesign {
47
+ themeId?: "oasis" | "office" | "facet" | "integral" | "ion" | "retrospect";
48
+ colorSchemeId?: string;
49
+ fontSchemeId?: string;
50
+ paragraphSpacingId?: "compact" | "tight" | "open" | "relaxed";
51
+ effectsId?: string;
52
+ /** Concrete OOXML theme data used to rebuild theme1.xml. */
53
+ themeData?: EditorThemeData;
54
+ pageColor?: string | null;
55
+ watermark?: EditorWatermark | null;
56
+ }
57
+ export interface EditorThemeData {
58
+ name?: string;
59
+ colors?: Record<string, string>;
60
+ fonts?: {
61
+ major?: Record<string, string>;
62
+ minor?: Record<string, string>;
63
+ };
64
+ /** Theme format/effect markup retained for features not rendered by Oasis. */
65
+ effectsXml?: string;
66
+ /** Original theme XML, used until the user explicitly changes theme data. */
67
+ sourceXml?: string;
68
+ }
69
+ export interface EditorWatermark {
70
+ kind: "text" | "image";
71
+ text?: string;
72
+ src?: string;
73
+ color?: string;
74
+ opacity?: number;
75
+ rotation?: number;
76
+ scale?: number;
77
+ fontFamily?: string;
78
+ fontSize?: number;
79
+ }
80
+ export interface EditorPageBorder {
81
+ style: "single" | "double" | "dashed" | "dotted";
82
+ color: string;
83
+ width: number;
84
+ distance?: number;
85
+ }
45
86
  /**
46
87
  * Page numbering settings for a section (`w:pgNumType`). Preserved for
47
88
  * round-trip; `start` is intended to seed PAGE-field numbering in a future
@@ -68,6 +109,7 @@ export interface EditorSection {
68
109
  id: string;
69
110
  blocks: EditorBlockNode[];
70
111
  pageSettings: EditorPageSettings;
112
+ pageBorder?: EditorPageBorder | null;
71
113
  header?: EditorBlockNode[];
72
114
  firstPageHeader?: EditorBlockNode[];
73
115
  evenPageHeader?: EditorBlockNode[];
@@ -143,6 +185,7 @@ export interface EditorDocument {
143
185
  schemaVersion?: number;
144
186
  id: string;
145
187
  pageSettings?: EditorPageSettings;
188
+ design?: EditorDocumentDesign;
146
189
  sections?: EditorSection[];
147
190
  styles?: Record<string, EditorNamedStyle>;
148
191
  settings?: {
@@ -93,6 +93,8 @@ export interface TableCellBlockPosition {
93
93
  export interface EditorLayoutPage {
94
94
  id: string;
95
95
  index: number;
96
+ /** Source section used for page-level design decorations. */
97
+ sectionIndex?: number;
96
98
  height: number;
97
99
  maxHeight: number;
98
100
  blocks: EditorLayoutBlock[];
@@ -1,4 +1,4 @@
1
- export declare const RIBBON_TABS: readonly ["file", "home", "insert", "draw", "layout", "references", "collaboration", "protection", "view", "tableDesign", "tableLayout", "imageFormat", "plugins", "ai"];
1
+ export declare const RIBBON_TABS: readonly ["file", "home", "insert", "design", "draw", "layout", "references", "collaboration", "protection", "view", "tableDesign", "tableLayout", "imageFormat", "plugins", "ai"];
2
2
  export type RibbonTabId = (typeof RIBBON_TABS)[number];
3
3
  /**
4
4
  * Contextual tabs are hidden from the tab strip unless their gating command
@@ -2,4 +2,4 @@ import { EditorBlockNode, EditorDocument, EditorNamedStyle } from '../../core/mo
2
2
  import { DocContext, SectionReferenceDefinition } from './docxTypes.js';
3
3
 
4
4
  export declare function buildDocumentXml(document: EditorDocument, context: DocContext, sectionReferences: SectionReferenceDefinition[]): string;
5
- export declare function buildHeaderFooterXml(kind: "header" | "footer", blocks: EditorBlockNode[], context: DocContext, styles: Record<string, EditorNamedStyle> | undefined): string;
5
+ export declare function buildHeaderFooterXml(kind: "header" | "footer", blocks: EditorBlockNode[], context: DocContext, styles: Record<string, EditorNamedStyle> | undefined, watermark?: import('../../core/model.js').EditorWatermark | null): string;
@@ -1,9 +1,9 @@
1
1
  import { EditorFontInfo, EditorFootnoteSettings } from '../../core/model.js';
2
2
  import { DocContext, PartDefinition } from './docxTypes.js';
3
3
 
4
- export declare function buildContentTypesXml(hasNumbering: boolean, imageExtensions: Iterable<string>, hasSettings: boolean, parts: PartDefinition[], hasFootnotes: boolean, hasEndnotes: boolean, hasStyles: boolean, hasComments: boolean, hasFontTable: boolean): string;
4
+ export declare function buildContentTypesXml(hasNumbering: boolean, imageExtensions: Iterable<string>, hasSettings: boolean, parts: PartDefinition[], hasFootnotes: boolean, hasEndnotes: boolean, hasStyles: boolean, hasComments: boolean, hasFontTable: boolean, hasTheme?: boolean): string;
5
5
  export declare function buildRootRelationshipsXml(): string;
6
- export declare function buildDocumentRelationshipsXml(hasNumbering: boolean, hasSettings: boolean, images: DocContext["images"], hyperlinks: DocContext["hyperlinks"], parts: PartDefinition[], hasFootnotes: boolean, hasEndnotes: boolean, hasStyles: boolean, hasComments: boolean, hasFontTable: boolean): string;
6
+ export declare function buildDocumentRelationshipsXml(hasNumbering: boolean, hasSettings: boolean, images: DocContext["images"], hyperlinks: DocContext["hyperlinks"], parts: PartDefinition[], hasFootnotes: boolean, hasEndnotes: boolean, hasStyles: boolean, hasComments: boolean, hasFontTable: boolean, hasTheme?: boolean): string;
7
7
  /**
8
8
  * Serialize the document's font declarations to `word/fontTable.xml`. Mirrors the
9
9
  * structured {@link EditorFontInfo} back to `<w:font>` entries (substitution
@@ -0,0 +1,3 @@
1
+ import { EditorDocumentDesign } from '../../core/model.js';
2
+
3
+ export declare function buildThemeXml(design?: EditorDocumentDesign): string;
@@ -19,6 +19,7 @@ export declare class OasisPdfWriter {
19
19
  drawPath(pageIndex: number, options: OasisPdfPathOptions): void;
20
20
  saveGraphicsState(pageIndex: number): void;
21
21
  restoreGraphicsState(pageIndex: number): void;
22
+ setOpacity(pageIndex: number, opacity: number): void;
22
23
  rotateAbout(pageIndex: number, centerX: number, centerY: number, degrees: number): void;
23
24
  clipRect(pageIndex: number, x: number, y: number, width: number, height: number): void;
24
25
  clipPath(pageIndex: number, segments: OasisPdfPathSegment[]): void;
@@ -1,3 +1,4 @@
1
1
  import { OasisPdfWriter } from '../OasisPdfWriter.js';
2
+ import { EditorDocument, EditorDocumentDesign, EditorPageBorder } from '../../../core/model.js';
2
3
 
3
- export declare function drawPageBackground(writer: OasisPdfWriter, pageIndex: number, width: number, height: number): void;
4
+ export declare function drawPageBackground(writer: OasisPdfWriter, pageIndex: number, width: number, height: number, design?: EditorDocumentDesign, pageBorder?: EditorPageBorder | null, document?: EditorDocument): Promise<void>;
@@ -20,6 +20,7 @@ export declare class PdfContentStream {
20
20
  drawPath(options: OasisPdfPathOptions): void;
21
21
  saveGraphicsState(): void;
22
22
  restoreGraphicsState(): void;
23
+ setOpacity(opacity: number): void;
23
24
  rotateAbout(centerX: number, centerY: number, degrees: number): void;
24
25
  clipRect(x: number, y: number, width: number, height: number): void;
25
26
  /** Intersects the current clip with an arbitrary top-left-origin path. */
@@ -14,6 +14,7 @@ export interface OasisPdfPage {
14
14
  imageResourceNames: Set<string>;
15
15
  shadingResourceNames: Set<string>;
16
16
  annotations: OasisPdfAnnotation[];
17
+ graphicsStateOpacities?: Map<string, number>;
17
18
  }
18
19
  /**
19
20
  * A clickable link annotation. The rect is given in the writer's top-left point
@@ -392,6 +392,7 @@ export declare const en: {
392
392
  "ribbon.tab.file": string;
393
393
  "ribbon.tab.home": string;
394
394
  "ribbon.tab.insert": string;
395
+ "ribbon.tab.design": string;
395
396
  "ribbon.tab.draw": string;
396
397
  "ribbon.tab.layout": string;
397
398
  "ribbon.tab.references": string;
@@ -426,6 +427,31 @@ export declare const en: {
426
427
  "ribbon.group.alignment": string;
427
428
  "ribbon.group.size": string;
428
429
  "ribbon.group.imageStyles": string;
430
+ "ribbon.group.documentFormatting": string;
431
+ "ribbon.group.pageBackground": string;
432
+ "design.themes": string;
433
+ "design.colors": string;
434
+ "design.fonts": string;
435
+ "design.spacing": string;
436
+ "design.effects": string;
437
+ "design.setDefault": string;
438
+ "design.watermark": string;
439
+ "design.pageColor": string;
440
+ "design.pageBorders": string;
441
+ "design.text": string;
442
+ "design.applyText": string;
443
+ "design.useImage": string;
444
+ "design.remove": string;
445
+ "design.apply": string;
446
+ "design.color": string;
447
+ "design.opacity": string;
448
+ "design.scale": string;
449
+ "design.rotation": string;
450
+ "design.fontFamily": string;
451
+ "design.fontSize": string;
452
+ "design.borderStyle": string;
453
+ "design.borderWidth": string;
454
+ "design.distance": string;
429
455
  "image.crop": string;
430
456
  "image.cropToShape": string;
431
457
  "image.cropAspectRatio": string;
@@ -392,6 +392,7 @@ export declare const ptBR: {
392
392
  "ribbon.tab.file": string;
393
393
  "ribbon.tab.home": string;
394
394
  "ribbon.tab.insert": string;
395
+ "ribbon.tab.design": string;
395
396
  "ribbon.tab.draw": string;
396
397
  "ribbon.tab.layout": string;
397
398
  "ribbon.tab.references": string;
@@ -426,6 +427,31 @@ export declare const ptBR: {
426
427
  "ribbon.group.alignment": string;
427
428
  "ribbon.group.size": string;
428
429
  "ribbon.group.imageStyles": string;
430
+ "ribbon.group.documentFormatting": string;
431
+ "ribbon.group.pageBackground": string;
432
+ "design.themes": string;
433
+ "design.colors": string;
434
+ "design.fonts": string;
435
+ "design.spacing": string;
436
+ "design.effects": string;
437
+ "design.setDefault": string;
438
+ "design.watermark": string;
439
+ "design.pageColor": string;
440
+ "design.pageBorders": string;
441
+ "design.text": string;
442
+ "design.applyText": string;
443
+ "design.useImage": string;
444
+ "design.remove": string;
445
+ "design.apply": string;
446
+ "design.color": string;
447
+ "design.opacity": string;
448
+ "design.scale": string;
449
+ "design.rotation": string;
450
+ "design.fontFamily": string;
451
+ "design.fontSize": string;
452
+ "design.borderStyle": string;
453
+ "design.borderWidth": string;
454
+ "design.distance": string;
429
455
  "image.crop": string;
430
456
  "image.cropToShape": string;
431
457
  "image.cropAspectRatio": string;
@@ -1,9 +1,10 @@
1
1
  import { Element as XmlElement } from '@xmldom/xmldom';
2
- import { EditorBlockNode, EditorNamedStyle, EditorPageNumbering, EditorPageSettings, EditorParagraphNode, EditorSectionVerticalAlign } from '../../core/model.js';
2
+ import { EditorBlockNode, EditorNamedStyle, EditorPageNumbering, EditorPageSettings, EditorPageBorder, EditorParagraphNode, EditorSectionVerticalAlign } from '../../core/model.js';
3
3
  import { DocxSettings } from './settings.js';
4
4
 
5
5
  export interface SectionProperties {
6
6
  pageSettings?: EditorPageSettings;
7
+ pageBorder?: EditorPageBorder;
7
8
  headerRIds: Partial<Record<"default" | "first" | "even", string>>;
8
9
  footerRIds: Partial<Record<"default" | "first" | "even", string>>;
9
10
  docGridLinePitchPx?: number;
@@ -1,3 +1,4 @@
1
+ import { EditorThemeData } from '../../core/model.js';
1
2
  import { ThemeFontMap } from './themeFonts.js';
2
3
  import { ThemeColorMap } from './themeColors.js';
3
4
 
@@ -8,6 +9,7 @@ import { ThemeColorMap } from './themeColors.js';
8
9
  export interface DocxImportTheme {
9
10
  fonts: ThemeFontMap;
10
11
  colors: ThemeColorMap;
12
+ data?: EditorThemeData;
11
13
  }
12
14
  /**
13
15
  * Parses `word/theme/theme1.xml` once and extracts both font and color scheme