docxmlater 10.3.4 → 10.3.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
@@ -119,7 +119,8 @@ class Section {
119
119
  return this;
120
120
  }
121
121
  setOrientation(orientation) {
122
- const prev = this.properties.pageSize?.orientation;
122
+ const prevOrientation = this.properties.pageSize?.orientation;
123
+ const prevPageSize = this.properties.pageSize ? { ...this.properties.pageSize } : undefined;
123
124
  if (!this.properties.pageSize) {
124
125
  this.properties.pageSize = {
125
126
  width: units_1.PAGE_SIZES.LETTER.width,
@@ -133,8 +134,10 @@ class Section {
133
134
  this.properties.pageSize.width = this.properties.pageSize.height;
134
135
  this.properties.pageSize.height = temp;
135
136
  }
136
- if (this.trackingContext?.isEnabled() && prev !== orientation) {
137
- this.trackingContext.trackSectionChange(this, 'orientation', prev, orientation);
137
+ if (this.trackingContext?.isEnabled() && prevOrientation !== orientation) {
138
+ this.trackingContext.trackSectionChange(this, 'pageSize', prevPageSize, {
139
+ ...this.properties.pageSize,
140
+ });
138
141
  }
139
142
  return this;
140
143
  }
@@ -695,6 +698,18 @@ class Section {
695
698
  'w:val': tdMap[prev.textDirection] || prev.textDirection,
696
699
  }));
697
700
  }
701
+ if (prev.docGrid) {
702
+ const dgAttrs = {};
703
+ if (prev.docGrid.type)
704
+ dgAttrs['w:type'] = prev.docGrid.type;
705
+ if (prev.docGrid.linePitch !== undefined)
706
+ dgAttrs['w:linePitch'] = prev.docGrid.linePitch.toString();
707
+ if (prev.docGrid.charSpace !== undefined)
708
+ dgAttrs['w:charSpace'] = prev.docGrid.charSpace.toString();
709
+ if (Object.keys(dgAttrs).length > 0) {
710
+ prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('docGrid', dgAttrs));
711
+ }
712
+ }
698
713
  }
699
714
  const prevSectPr = XMLBuilder_1.XMLBuilder.w('sectPr', undefined, prevChildren);
700
715
  children.push(XMLBuilder_1.XMLBuilder.w('sectPrChange', changeAttrs, [prevSectPr]));
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Section - Represents a document section with page setup properties\n *\n * Sections allow different page setups within a single document (margins, orientation, etc.)\n * Each section can have its own headers, footers, and page numbering.\n */\n\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\nimport { PAGE_SIZES } from '../utils/units';\n\n/**\n * Page orientation\n */\nexport type PageOrientation = 'portrait' | 'landscape';\n\n/**\n * Section break type\n */\nexport type SectionType = 'nextPage' | 'continuous' | 'evenPage' | 'oddPage' | 'nextColumn';\n\n/**\n * Page numbering format\n */\n/**\n * Per ECMA-376 Part 1 §17.18.59 (ST_NumberFormat)\n * Comprehensive set of page number formats\n */\nexport type PageNumberFormat =\n | 'decimal'\n | 'lowerRoman'\n | 'upperRoman'\n | 'lowerLetter'\n | 'upperLetter'\n | 'ordinal'\n | 'cardinalText'\n | 'ordinalText'\n | 'hex'\n | 'chicago'\n | 'decimalZero'\n | 'decimalEnclosedCircle'\n | 'decimalEnclosedFullstop'\n | 'decimalEnclosedParen'\n | 'ideographDigital'\n | 'ideographTraditional'\n | 'ideographLegalTraditional'\n | 'ideographEnclosedCircle'\n | 'ideographZodiac'\n | 'ideographZodiacTraditional'\n | 'chineseCounting'\n | 'chineseCountingThousand'\n | 'chineseLegalSimplified'\n | 'japaneseCounting'\n | 'japaneseDigitalTenThousand'\n | 'japaneseLegal'\n | 'koreanCounting'\n | 'koreanDigital'\n | 'koreanDigital2'\n | 'koreanLegal'\n | 'taiwaneseCounting'\n | 'taiwaneseCountingThousand'\n | 'taiwaneseDigital'\n | 'aiueo'\n | 'aiueoFullWidth'\n | 'iroha'\n | 'irohaFullWidth'\n | 'arabicAbjad'\n | 'arabicAlpha'\n | 'hebrew1'\n | 'hebrew2'\n | 'hindiConsonants'\n | 'hindiCounting'\n | 'hindiNumbers'\n | 'hindiVowels'\n | 'thaiCounting'\n | 'thaiLetters'\n | 'thaiNumbers'\n | 'vietnameseCounting'\n | 'russianLower'\n | 'russianUpper'\n | 'numberInDash'\n | 'dollarText'\n | 'bullet'\n | 'bahtText'\n | 'ganada'\n | 'chosung'\n | 'none'\n | string; // Allow any format string for forward compatibility\n\n/**\n * Page size properties\n */\nexport interface PageSize {\n /** Width in twips */\n width: number;\n /** Height in twips */\n height: number;\n /** Orientation */\n orientation?: PageOrientation;\n}\n\n/**\n * Margin properties\n */\nexport interface Margins {\n /** Top margin in twips */\n top: number;\n /** Bottom margin in twips */\n bottom: number;\n /** Left margin in twips */\n left: number;\n /** Right margin in twips */\n right: number;\n /** Header distance from top in twips */\n header?: number;\n /** Footer distance from bottom in twips */\n footer?: number;\n /** Gutter margin in twips */\n gutter?: number;\n}\n\n/**\n * Column properties\n */\nexport interface Columns {\n /** Number of columns */\n count: number;\n /** Space between columns in twips */\n space?: number;\n /** Equal column widths */\n equalWidth?: boolean;\n /** Show column separator line */\n separator?: boolean;\n /** Individual column widths (for unequal columns) in twips */\n columnWidths?: number[];\n}\n\n/**\n * Page numbering properties\n */\nexport interface PageNumbering {\n /** Starting page number */\n start?: number;\n /** Number format */\n format?: PageNumberFormat;\n}\n\n/**\n * Paper source (printer tray) properties\n */\nexport interface PaperSource {\n /** First page tray number */\n first?: number;\n /** Other pages tray number */\n other?: number;\n}\n\n/**\n * Vertical page alignment\n */\nexport type VerticalAlignment = 'top' | 'center' | 'bottom' | 'both';\n\n/**\n * Text direction\n */\nexport type TextDirection = 'ltr' | 'rtl' | 'tbRl' | 'btLr';\n\n/**\n * Document grid type for East Asian typography\n */\nexport type DocumentGridType = 'default' | 'lines' | 'linesAndChars' | 'snapToChars';\n\n/**\n * Document grid properties\n */\nexport interface DocumentGrid {\n /** Grid type */\n type?: DocumentGridType;\n /** Lines per page */\n linePitch?: number;\n /** Characters per line */\n charSpace?: number;\n}\n\n/**\n * Line numbering restart mode\n */\nexport type LineNumberingRestart = 'newPage' | 'newSection' | 'continuous';\n\n/**\n * Line numbering properties\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType element)\n */\nexport interface LineNumbering {\n /** Display line number every N lines (countBy attribute) */\n countBy?: number;\n /** Starting line number */\n start?: number;\n /** Distance from text margin in twips */\n distance?: number;\n /** When to restart line numbering */\n restart?: LineNumberingRestart;\n}\n\n/**\n * Footnote/endnote position\n * Per ECMA-376 Part 1 §17.11.6 and §17.11.7\n */\nexport type NotePosition = 'pageBottom' | 'beneathText' | 'sectEnd' | 'docEnd';\n\n/**\n * Note numbering restart mode\n */\nexport type NoteNumberRestart = 'continuous' | 'eachSect' | 'eachPage';\n\n/**\n * Chapter separator character for page numbering\n * Per ECMA-376 Part 1 §17.18.5\n */\nexport type ChapterSeparator = 'colon' | 'emDash' | 'enDash' | 'hyphen' | 'period';\n\n/**\n * Footnote/endnote section-level properties\n */\nexport interface NoteProperties {\n /** Note positioning */\n position?: NotePosition;\n /** Number format */\n numberFormat?: PageNumberFormat;\n /** Starting number */\n startNumber?: number;\n /** Restart numbering mode */\n restart?: NoteNumberRestart;\n}\n\n/**\n * Page border definition for a single side\n * Per ECMA-376 Part 1 §17.6.10\n */\nexport interface PageBorderDef {\n /** Border style (single, double, dashed, etc.) */\n style?: string;\n /** Border size in eighths of a point */\n size?: number;\n /** Border color in hex format (without #) */\n color?: string;\n /** Space between border and page edge/text in points */\n space?: number;\n /** Whether to show shadow */\n shadow?: boolean;\n /** Whether to include frame around page */\n frame?: boolean;\n /** Theme color reference */\n themeColor?: string;\n /** Art border ID (for decorative borders) */\n artId?: number;\n}\n\n/**\n * Page borders configuration\n * Per ECMA-376 Part 1 §17.6.10\n */\nexport interface PageBorders {\n /** Top page border */\n top?: PageBorderDef;\n /** Bottom page border */\n bottom?: PageBorderDef;\n /** Left page border */\n left?: PageBorderDef;\n /** Right page border */\n right?: PageBorderDef;\n /** Whether border is measured from page edge or text edge */\n offsetFrom?: 'page' | 'text';\n /** Display on all pages, first page only, or not first page */\n display?: 'allPages' | 'firstPage' | 'notFirstPage';\n /** Z-ordering relative to text */\n zOrder?: 'front' | 'back';\n}\n\n/**\n * Section properties\n */\nexport interface SectionProperties {\n /** Page size */\n pageSize?: PageSize;\n /** Margins */\n margins?: Margins;\n /** Column layout */\n columns?: Columns;\n /** Section break type */\n type?: SectionType;\n /** Page numbering */\n pageNumbering?: PageNumbering;\n /** Header reference IDs */\n headers?: {\n default?: string; // rId for default header\n first?: string; // rId for first page header\n even?: string; // rId for even page header\n };\n /** Footer reference IDs */\n footers?: {\n default?: string; // rId for default footer\n first?: string; // rId for first page footer\n even?: string; // rId for even page footer\n };\n /** Title page (different first page) */\n titlePage?: boolean;\n /** Vertical page alignment */\n verticalAlignment?: VerticalAlignment;\n /** Paper source (printer tray) */\n paperSource?: PaperSource;\n /** Text direction (LTR/RTL support) */\n textDirection?: TextDirection;\n /** Right-to-left section layout */\n bidi?: boolean;\n /** Gutter on right side (for RTL) */\n rtlGutter?: boolean;\n /** Document grid for snapping text to grid */\n docGrid?: DocumentGrid;\n /** Line numbering configuration */\n lineNumbering?: LineNumbering;\n /** Section-level footnote properties (w:footnotePr) */\n footnotePr?: NoteProperties;\n /** Section-level endnote properties (w:endnotePr) */\n endnotePr?: NoteProperties;\n /** Suppress endnotes in this section (w:noEndnote) */\n noEndnote?: boolean;\n /** Form protection for this section (w:formProt) */\n formProt?: boolean;\n /** Page borders per ECMA-376 Part 1 §17.6.10 */\n pageBorders?: PageBorders;\n /** Printer settings relationship ID (w:printerSettings r:id) */\n printerSettingsId?: string;\n /** Chapter style heading level for page numbering (w:pgNumType w:chapStyle) */\n chapStyle?: number;\n /** Chapter separator for page numbering (w:pgNumType w:chapSep) */\n chapSep?: ChapterSeparator;\n}\n\n/**\n * Represents a document section\n */\n/**\n * Section property change tracking (w:sectPrChange)\n * Per ECMA-376 Part 1 §17.13.5.32\n */\nexport interface SectPrChange {\n author: string;\n date: string;\n id: string;\n previousProperties: Record<string, any>;\n}\n\nexport class Section {\n private properties: SectionProperties;\n /** Tracking context for automatic change tracking */\n private trackingContext?: import('../tracking/TrackingContext').TrackingContext;\n /** Section property change tracking (w:sectPrChange) */\n private sectPrChange?: SectPrChange;\n\n /**\n * Creates a new section\n * @param properties Section properties\n */\n constructor(properties: SectionProperties = {}) {\n // Set defaults only where necessary\n this.properties = {\n pageSize: properties.pageSize || {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n orientation: 'portrait',\n },\n margins: properties.margins || {\n top: 1440, // 1 inch\n bottom: 1440,\n left: 1440,\n right: 1440,\n header: 720, // 0.5 inch\n footer: 720,\n },\n // Default to single column layout\n columns: properties.columns || {\n count: 1,\n },\n // Default to next page section break\n type: properties.type || 'nextPage',\n pageNumbering: properties.pageNumbering,\n headers: properties.headers,\n footers: properties.footers,\n titlePage: properties.titlePage,\n // Phase 4.5 - New properties\n verticalAlignment: properties.verticalAlignment,\n paperSource: properties.paperSource,\n textDirection: properties.textDirection,\n pageBorders: properties.pageBorders,\n };\n }\n\n /**\n * Sets the tracking context for automatic change tracking.\n * Called by Document when track changes is enabled.\n * @internal\n */\n _setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {\n this.trackingContext = context;\n }\n\n /**\n * Gets the section property change tracking info\n */\n getSectPrChange(): SectPrChange | undefined {\n return this.sectPrChange;\n }\n\n /**\n * Sets the section property change tracking info\n */\n setSectPrChange(change: SectPrChange | undefined): void {\n this.sectPrChange = change;\n }\n\n /**\n * Clears the section property change tracking\n */\n clearSectPrChange(): void {\n this.sectPrChange = undefined;\n }\n\n /**\n * Gets the section properties\n */\n getProperties(): SectionProperties {\n return { ...this.properties };\n }\n\n // ============================================================================\n // Individual Property Getters\n // ============================================================================\n\n /**\n * Gets the page size settings\n * @returns Page size object with width, height, and orientation, or undefined\n */\n getPageSize(): PageSize | undefined {\n return this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\n }\n\n /**\n * Gets the page orientation\n * @returns 'portrait' or 'landscape', or undefined if not set\n */\n getOrientation(): PageOrientation | undefined {\n return this.properties.pageSize?.orientation;\n }\n\n /**\n * Gets the margin settings\n * @returns Margins object or undefined if not set\n */\n getMargins(): Margins | undefined {\n return this.properties.margins ? { ...this.properties.margins } : undefined;\n }\n\n /**\n * Gets the column layout settings\n * @returns Columns object or undefined if not set\n */\n getColumns(): Columns | undefined {\n return this.properties.columns ? { ...this.properties.columns } : undefined;\n }\n\n /**\n * Gets the section type (break type)\n * @returns Section type or undefined if not set\n */\n getSectionType(): SectionType | undefined {\n return this.properties.type;\n }\n\n /**\n * Gets the page numbering settings\n * @returns PageNumbering object or undefined if not set\n */\n getPageNumbering(): PageNumbering | undefined {\n return this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\n }\n\n /**\n * Gets whether this section has a title page (different first page)\n * @returns true if title page is enabled, false otherwise\n */\n getTitlePage(): boolean {\n return this.properties.titlePage ?? false;\n }\n\n /**\n * Gets header references\n * @returns Object with default, first, and even header relationship IDs, or undefined\n */\n getHeaderReferences(): { default?: string; first?: string; even?: string } | undefined {\n return this.properties.headers ? { ...this.properties.headers } : undefined;\n }\n\n /**\n * Gets a specific header reference\n * @param type Header type (default, first, even)\n * @returns Relationship ID or undefined if not set\n */\n getHeaderReference(type: 'default' | 'first' | 'even'): string | undefined {\n return this.properties.headers?.[type];\n }\n\n /**\n * Gets footer references\n * @returns Object with default, first, and even footer relationship IDs, or undefined\n */\n getFooterReferences(): { default?: string; first?: string; even?: string } | undefined {\n return this.properties.footers ? { ...this.properties.footers } : undefined;\n }\n\n /**\n * Gets a specific footer reference\n * @param type Footer type (default, first, even)\n * @returns Relationship ID or undefined if not set\n */\n getFooterReference(type: 'default' | 'first' | 'even'): string | undefined {\n return this.properties.footers?.[type];\n }\n\n /**\n * Gets the vertical page alignment\n * @returns Vertical alignment or undefined if not set\n */\n getVerticalAlignment(): VerticalAlignment | undefined {\n return this.properties.verticalAlignment;\n }\n\n /**\n * Gets the paper source (printer tray) settings\n * @returns PaperSource object or undefined if not set\n */\n getPaperSource(): PaperSource | undefined {\n return this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\n }\n\n /**\n * Gets whether column separator is enabled\n * @returns true if separator is enabled, false otherwise\n */\n getColumnSeparator(): boolean {\n return this.properties.columns?.separator ?? false;\n }\n\n /**\n * Gets custom column widths\n * @returns Array of column widths in twips, or undefined if not set\n */\n getColumnWidths(): number[] | undefined {\n return this.properties.columns?.columnWidths\n ? [...this.properties.columns.columnWidths]\n : undefined;\n }\n\n /**\n * Gets the text direction\n * @returns Text direction or undefined if not set\n */\n getTextDirection(): TextDirection | undefined {\n return this.properties.textDirection;\n }\n\n /**\n * Gets whether the section is bidirectional (RTL)\n * @returns true if bidi is enabled, false otherwise\n */\n getBidi(): boolean {\n return this.properties.bidi ?? false;\n }\n\n /**\n * Gets whether RTL gutter is enabled (gutter on right side)\n * @returns true if RTL gutter is enabled, false otherwise\n */\n getRtlGutter(): boolean {\n return this.properties.rtlGutter ?? false;\n }\n\n /**\n * Gets the document grid settings\n * @returns DocumentGrid object or undefined if not set\n */\n getDocGrid(): DocumentGrid | undefined {\n return this.properties.docGrid ? { ...this.properties.docGrid } : undefined;\n }\n\n // ============================================================================\n // Setters\n // ============================================================================\n\n /**\n * Sets page size\n * @param width Width in twips\n * @param height Height in twips\n * @param orientation Page orientation\n */\n setPageSize(width: number, height: number, orientation: PageOrientation = 'portrait'): this {\n const prev = this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\n this.properties.pageSize = { width, height, orientation };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'pageSize', prev, this.properties.pageSize);\n }\n return this;\n }\n\n /**\n * Sets page orientation\n * @param orientation Page orientation\n */\n setOrientation(orientation: PageOrientation): this {\n const prev = this.properties.pageSize?.orientation;\n if (!this.properties.pageSize) {\n this.properties.pageSize = {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n };\n }\n this.properties.pageSize.orientation = orientation;\n\n // Swap width/height for landscape\n if (\n orientation === 'landscape' &&\n this.properties.pageSize.width < this.properties.pageSize.height\n ) {\n const temp = this.properties.pageSize.width;\n this.properties.pageSize.width = this.properties.pageSize.height;\n this.properties.pageSize.height = temp;\n }\n\n if (this.trackingContext?.isEnabled() && prev !== orientation) {\n this.trackingContext.trackSectionChange(this, 'orientation', prev, orientation);\n }\n return this;\n }\n\n /**\n * Sets margins\n * @param margins Margin properties\n */\n setMargins(margins: Margins): this {\n const prev = this.properties.margins ? { ...this.properties.margins } : undefined;\n const existing = this.properties.margins;\n this.properties.margins = {\n top: margins.top,\n bottom: margins.bottom,\n left: margins.left,\n right: margins.right,\n header: margins.header ?? existing?.header ?? 720,\n footer: margins.footer ?? existing?.footer ?? 720,\n gutter: margins.gutter ?? existing?.gutter,\n };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'margins', prev, this.properties.margins);\n }\n return this;\n }\n\n /**\n * Sets column layout\n * @param count Number of columns\n * @param space Space between columns in twips\n */\n setColumns(count: number, space = 720): this {\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\n this.properties.columns = {\n count,\n space,\n equalWidth: true,\n };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'columns', prev, this.properties.columns);\n }\n return this;\n }\n\n /**\n * Sets section type\n * @param type Section break type\n */\n setSectionType(type: SectionType): this {\n const prev = this.properties.type;\n this.properties.type = type;\n if (this.trackingContext?.isEnabled() && prev !== type) {\n this.trackingContext.trackSectionChange(this, 'type', prev, type);\n }\n return this;\n }\n\n /**\n * Sets page numbering\n * @param start Starting page number\n * @param format Number format\n */\n setPageNumbering(start?: number, format?: PageNumberFormat): this {\n const prev = this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\n this.properties.pageNumbering = { start, format };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'pageNumbering',\n prev,\n this.properties.pageNumbering\n );\n }\n return this;\n }\n\n /**\n * Sets title page flag (different first page)\n * @param titlePage Whether this section has a different first page\n */\n setTitlePage(titlePage = true): this {\n const prev = this.properties.titlePage;\n this.properties.titlePage = titlePage;\n if (this.trackingContext?.isEnabled() && prev !== titlePage) {\n this.trackingContext.trackSectionChange(this, 'titlePage', prev, titlePage);\n }\n return this;\n }\n\n /**\n * Sets header reference\n * @param type Header type (default, first, even)\n * @param rId Relationship ID\n */\n setHeaderReference(type: 'default' | 'first' | 'even', rId: string): this {\n const prev = this.properties.headers?.[type];\n if (!this.properties.headers) {\n this.properties.headers = {};\n }\n this.properties.headers[type] = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, `headerReference:${type}`, prev, rId);\n }\n return this;\n }\n\n /**\n * Sets footer reference\n * @param type Footer type (default, first, even)\n * @param rId Relationship ID\n */\n setFooterReference(type: 'default' | 'first' | 'even', rId: string): this {\n const prev = this.properties.footers?.[type];\n if (!this.properties.footers) {\n this.properties.footers = {};\n }\n this.properties.footers[type] = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, `footerReference:${type}`, prev, rId);\n }\n return this;\n }\n\n /**\n * Sets vertical page alignment\n * Controls how content is vertically aligned on the page\n * @param alignment Vertical alignment (top, center, bottom, both=justified)\n */\n setVerticalAlignment(alignment: VerticalAlignment): this {\n const prev = this.properties.verticalAlignment;\n this.properties.verticalAlignment = alignment;\n if (this.trackingContext?.isEnabled() && prev !== alignment) {\n this.trackingContext.trackSectionChange(this, 'verticalAlignment', prev, alignment);\n }\n return this;\n }\n\n /**\n * Sets paper source (printer tray selection)\n * @param first First page tray number\n * @param other Other pages tray number\n */\n setPaperSource(first?: number, other?: number): this {\n const prev = this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\n this.properties.paperSource = { first, other };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'paperSource',\n prev,\n this.properties.paperSource\n );\n }\n return this;\n }\n\n /**\n * Sets column separator line\n * Shows a vertical line between columns\n * @param separator Whether to show column separator line\n */\n setColumnSeparator(separator = true): this {\n const prev = this.properties.columns?.separator;\n if (!this.properties.columns) {\n this.properties.columns = { count: 1 };\n }\n this.properties.columns.separator = separator;\n if (this.trackingContext?.isEnabled() && prev !== separator) {\n this.trackingContext.trackSectionChange(this, 'columnSeparator', prev, separator);\n }\n return this;\n }\n\n /**\n * Sets custom column widths (for unequal columns)\n * @param widths Array of column widths in twips\n */\n setColumnWidths(widths: number[]): this {\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\n if (!this.properties.columns) {\n this.properties.columns = { count: widths.length };\n }\n this.properties.columns.columnWidths = widths;\n this.properties.columns.equalWidth = false;\n this.properties.columns.count = widths.length;\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'columns', prev, {\n ...this.properties.columns,\n });\n }\n return this;\n }\n\n /**\n * Sets text direction for the section\n * @param direction Text direction (ltr=left-to-right, rtl=right-to-left, tbRl=top-to-bottom-right-to-left, btLr=bottom-to-top-left-to-right)\n */\n setTextDirection(direction: TextDirection): this {\n const prev = this.properties.textDirection;\n this.properties.textDirection = direction;\n if (this.trackingContext?.isEnabled() && prev !== direction) {\n this.trackingContext.trackSectionChange(this, 'textDirection', prev, direction);\n }\n return this;\n }\n\n /**\n * Sets line numbering for the section\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType)\n * @param options Line numbering configuration\n */\n setLineNumbering(options: LineNumbering): this {\n const prev = this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\n this.properties.lineNumbering = { ...options };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'lineNumbering',\n prev,\n this.properties.lineNumbering\n );\n }\n return this;\n }\n\n /**\n * Gets line numbering configuration\n * @returns Line numbering settings or undefined if not set\n */\n getLineNumbering(): LineNumbering | undefined {\n return this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\n }\n\n /**\n * Clears line numbering for the section\n */\n clearLineNumbering(): this {\n this.properties.lineNumbering = undefined;\n return this;\n }\n\n /**\n * Sets section-level footnote properties\n * Per ECMA-376 Part 1 §17.11.6\n */\n setFootnoteProperties(props: NoteProperties): this {\n const prev = this.properties.footnotePr ? { ...this.properties.footnotePr } : undefined;\n this.properties.footnotePr = { ...props };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'footnotePr', prev, this.properties.footnotePr);\n }\n return this;\n }\n\n /**\n * Sets section-level endnote properties\n * Per ECMA-376 Part 1 §17.11.7\n */\n setEndnoteProperties(props: NoteProperties): this {\n const prev = this.properties.endnotePr ? { ...this.properties.endnotePr } : undefined;\n this.properties.endnotePr = { ...props };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'endnotePr', prev, this.properties.endnotePr);\n }\n return this;\n }\n\n /**\n * Sets whether endnotes are suppressed in this section\n * Per ECMA-376 Part 1 §17.6.14\n */\n setNoEndnote(noEndnote = true): this {\n const prev = this.properties.noEndnote;\n this.properties.noEndnote = noEndnote;\n if (this.trackingContext?.isEnabled() && prev !== noEndnote) {\n this.trackingContext.trackSectionChange(this, 'noEndnote', prev, noEndnote);\n }\n return this;\n }\n\n /**\n * Sets form protection for this section\n * Per ECMA-376 Part 1 §17.6.4\n */\n setFormProtection(formProt = true): this {\n const prev = this.properties.formProt;\n this.properties.formProt = formProt;\n if (this.trackingContext?.isEnabled() && prev !== formProt) {\n this.trackingContext.trackSectionChange(this, 'formProt', prev, formProt);\n }\n return this;\n }\n\n /**\n * Sets printer settings relationship ID\n * Per ECMA-376 Part 1 §17.6.6\n */\n setPrinterSettings(rId: string): this {\n const prev = this.properties.printerSettingsId;\n this.properties.printerSettingsId = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, 'printerSettings', prev, rId);\n }\n return this;\n }\n\n /**\n * Sets chapter numbering for page numbers\n * Per ECMA-376 Part 1 §17.6.12\n * @param chapStyle - Heading level (1-9) to use for chapter numbering\n * @param chapSep - Separator between chapter and page number\n */\n setChapterNumbering(chapStyle: number, chapSep?: ChapterSeparator): this {\n const prevStyle = this.properties.chapStyle;\n const prevSep = this.properties.chapSep;\n this.properties.chapStyle = chapStyle;\n if (chapSep) this.properties.chapSep = chapSep;\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'chapterNumbering',\n { chapStyle: prevStyle, chapSep: prevSep },\n { chapStyle, chapSep: chapSep || prevSep }\n );\n }\n return this;\n }\n\n /**\n * Generates WordprocessingML XML for section properties\n */\n toXML(): XMLElement {\n const children: XMLElement[] = [];\n\n // Header references\n if (this.properties.headers) {\n if (this.properties.headers.first) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'first',\n 'r:id': this.properties.headers.first,\n })\n );\n }\n if (this.properties.headers.even) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'even',\n 'r:id': this.properties.headers.even,\n })\n );\n }\n if (this.properties.headers.default) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'default',\n 'r:id': this.properties.headers.default,\n })\n );\n }\n }\n\n // Footer references\n if (this.properties.footers) {\n if (this.properties.footers.first) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'first',\n 'r:id': this.properties.footers.first,\n })\n );\n }\n if (this.properties.footers.even) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'even',\n 'r:id': this.properties.footers.even,\n })\n );\n }\n if (this.properties.footers.default) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'default',\n 'r:id': this.properties.footers.default,\n })\n );\n }\n }\n\n // CT_SectPr element order per ECMA-376:\n // footnotePr → endnotePr → type → pgSz → pgMar → paperSrc → pgBorders →\n // lnNumType → pgNumType → cols → formProt → vAlign → noEndnote → titlePg →\n // textDirection → bidi → rtlGutter → docGrid → printerSettings → sectPrChange\n\n // Footnote properties (w:footnotePr)\n if (this.properties.footnotePr) {\n const fnChildren: XMLElement[] = [];\n if (this.properties.footnotePr.position) {\n fnChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.footnotePr.position }));\n }\n if (this.properties.footnotePr.numberFormat) {\n fnChildren.push(\n XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.footnotePr.numberFormat })\n );\n }\n if (this.properties.footnotePr.startNumber !== undefined) {\n fnChildren.push(\n XMLBuilder.wSelf('numStart', {\n 'w:val': this.properties.footnotePr.startNumber.toString(),\n })\n );\n }\n if (this.properties.footnotePr.restart) {\n fnChildren.push(\n XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.footnotePr.restart })\n );\n }\n if (fnChildren.length > 0) {\n children.push(XMLBuilder.w('footnotePr', undefined, fnChildren));\n }\n }\n\n // Endnote properties (w:endnotePr)\n if (this.properties.endnotePr) {\n const enChildren: XMLElement[] = [];\n if (this.properties.endnotePr.position) {\n enChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.endnotePr.position }));\n }\n if (this.properties.endnotePr.numberFormat) {\n enChildren.push(\n XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.endnotePr.numberFormat })\n );\n }\n if (this.properties.endnotePr.startNumber !== undefined) {\n enChildren.push(\n XMLBuilder.wSelf('numStart', {\n 'w:val': this.properties.endnotePr.startNumber.toString(),\n })\n );\n }\n if (this.properties.endnotePr.restart) {\n enChildren.push(\n XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.endnotePr.restart })\n );\n }\n if (enChildren.length > 0) {\n children.push(XMLBuilder.w('endnotePr', undefined, enChildren));\n }\n }\n\n // Section type\n if (this.properties.type) {\n children.push(XMLBuilder.wSelf('type', { 'w:val': this.properties.type }));\n }\n\n // Page size\n if (this.properties.pageSize) {\n const attrs: Record<string, string> = {\n 'w:w': this.properties.pageSize.width.toString(),\n 'w:h': this.properties.pageSize.height.toString(),\n };\n if (this.properties.pageSize.orientation === 'landscape') {\n attrs['w:orient'] = 'landscape';\n }\n children.push(XMLBuilder.wSelf('pgSz', attrs));\n }\n\n // Margins\n if (this.properties.margins) {\n const attrs: Record<string, string> = {\n 'w:top': this.properties.margins.top.toString(),\n 'w:right': this.properties.margins.right.toString(),\n 'w:bottom': this.properties.margins.bottom.toString(),\n 'w:left': this.properties.margins.left.toString(),\n };\n attrs['w:header'] = (this.properties.margins.header ?? 720).toString();\n attrs['w:footer'] = (this.properties.margins.footer ?? 720).toString();\n if (this.properties.margins.gutter !== undefined) {\n attrs['w:gutter'] = this.properties.margins.gutter.toString();\n }\n children.push(XMLBuilder.wSelf('pgMar', attrs));\n }\n\n // Paper source\n if (this.properties.paperSource) {\n const attrs: Record<string, string> = {};\n if (this.properties.paperSource.first !== undefined) {\n attrs['w:first'] = this.properties.paperSource.first.toString();\n }\n if (this.properties.paperSource.other !== undefined) {\n attrs['w:other'] = this.properties.paperSource.other.toString();\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('paperSrc', attrs));\n }\n }\n\n // Page borders per ECMA-376 Part 1 §17.6.10\n if (this.properties.pageBorders) {\n const pgBorders = this.properties.pageBorders;\n const pgBordersAttrs: Record<string, string> = {};\n if (pgBorders.offsetFrom) pgBordersAttrs['w:offsetFrom'] = pgBorders.offsetFrom;\n if (pgBorders.display) pgBordersAttrs['w:display'] = pgBorders.display;\n if (pgBorders.zOrder) pgBordersAttrs['w:zOrder'] = pgBorders.zOrder;\n\n const borderChildren: XMLElement[] = [];\n const buildBorder = (side: string, def: PageBorderDef) => {\n const bAttrs: Record<string, string | number> = {};\n if (def.style) bAttrs['w:val'] = def.style;\n // ECMA-376 Part 1 §17.18.2: sz valid range 2-96 (eighths of a point)\n if (def.size !== undefined) bAttrs['w:sz'] = Math.max(2, Math.min(96, def.size));\n if (def.color) bAttrs['w:color'] = def.color;\n // ECMA-376 Part 1 §17.18.88: space valid range 0-31680 (points)\n if (def.space !== undefined) bAttrs['w:space'] = Math.max(0, Math.min(31680, def.space));\n if (def.shadow) bAttrs['w:shadow'] = '1';\n if (def.frame) bAttrs['w:frame'] = '1';\n if (def.themeColor) bAttrs['w:themeColor'] = def.themeColor;\n if (def.artId !== undefined) bAttrs['w:id'] = def.artId;\n borderChildren.push(XMLBuilder.wSelf(side, bAttrs));\n };\n\n if (pgBorders.top) buildBorder('top', pgBorders.top);\n if (pgBorders.left) buildBorder('left', pgBorders.left);\n if (pgBorders.bottom) buildBorder('bottom', pgBorders.bottom);\n if (pgBorders.right) buildBorder('right', pgBorders.right);\n\n children.push(XMLBuilder.w('pgBorders', pgBordersAttrs, borderChildren));\n }\n\n // Line numbering (w:lnNumType)\n if (this.properties.lineNumbering) {\n const attrs: Record<string, string> = {};\n if (this.properties.lineNumbering.countBy !== undefined) {\n attrs['w:countBy'] = this.properties.lineNumbering.countBy.toString();\n }\n if (this.properties.lineNumbering.start !== undefined) {\n attrs['w:start'] = this.properties.lineNumbering.start.toString();\n }\n if (this.properties.lineNumbering.distance !== undefined) {\n attrs['w:distance'] = this.properties.lineNumbering.distance.toString();\n }\n if (this.properties.lineNumbering.restart) {\n attrs['w:restart'] = this.properties.lineNumbering.restart;\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('lnNumType', attrs));\n }\n }\n\n // Page numbering\n if (this.properties.pageNumbering || this.properties.chapStyle !== undefined) {\n const attrs: Record<string, string> = {};\n if (this.properties.pageNumbering?.start !== undefined) {\n attrs['w:start'] = this.properties.pageNumbering.start.toString();\n }\n if (this.properties.pageNumbering?.format) {\n attrs['w:fmt'] = this.properties.pageNumbering.format;\n }\n if (this.properties.chapStyle !== undefined) {\n attrs['w:chapStyle'] = this.properties.chapStyle.toString();\n }\n if (this.properties.chapSep) {\n attrs['w:chapSep'] = this.properties.chapSep;\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('pgNumType', attrs));\n }\n }\n\n // Columns\n if (this.properties.columns) {\n const attrs: Record<string, string> = {\n 'w:num': this.properties.columns.count.toString(),\n };\n if (this.properties.columns.space !== undefined) {\n attrs['w:space'] = this.properties.columns.space.toString();\n }\n if (this.properties.columns.equalWidth !== undefined) {\n attrs['w:equalWidth'] = this.properties.columns.equalWidth ? '1' : '0';\n }\n if (this.properties.columns.separator !== undefined) {\n attrs['w:sep'] = this.properties.columns.separator ? '1' : '0';\n }\n\n const colChildren: XMLElement[] = [];\n if (this.properties.columns.columnWidths) {\n for (const width of this.properties.columns.columnWidths) {\n colChildren.push(XMLBuilder.wSelf('col', { 'w:w': width.toString() }));\n }\n }\n\n children.push(\n colChildren.length > 0\n ? XMLBuilder.w('cols', attrs, colChildren)\n : XMLBuilder.wSelf('cols', attrs)\n );\n }\n\n // Form protection (w:formProt)\n if (this.properties.formProt) {\n children.push(XMLBuilder.wSelf('formProt'));\n }\n\n // Vertical alignment\n if (this.properties.verticalAlignment) {\n children.push(XMLBuilder.wSelf('vAlign', { 'w:val': this.properties.verticalAlignment }));\n }\n\n // Suppress endnotes (w:noEndnote)\n if (this.properties.noEndnote) {\n children.push(XMLBuilder.wSelf('noEndnote'));\n }\n\n // Title page\n if (this.properties.titlePage) {\n children.push(XMLBuilder.wSelf('titlePg', { 'w:val': '1' }));\n }\n\n // Text direction (map to valid ST_TextDirection values per ECMA-376 §17.18.93)\n if (this.properties.textDirection) {\n const textDirMap: Record<string, string> = {\n ltr: 'lrTb',\n rtl: 'tbRl',\n tbRl: 'tbRl',\n btLr: 'btLr',\n lrTb: 'lrTb',\n lrTbV: 'lrTbV',\n tbRlV: 'tbRlV',\n tbLrV: 'tbLrV',\n };\n const val = textDirMap[this.properties.textDirection] || this.properties.textDirection;\n children.push(XMLBuilder.wSelf('textDirection', { 'w:val': val }));\n }\n\n // Bidirectional section (RTL)\n if (this.properties.bidi) {\n children.push(XMLBuilder.wSelf('bidi'));\n }\n\n // RTL gutter (gutter on right side)\n if (this.properties.rtlGutter) {\n children.push(XMLBuilder.wSelf('rtlGutter'));\n }\n\n // Document grid\n if (this.properties.docGrid) {\n const attrs: Record<string, string> = {};\n if (this.properties.docGrid.type) {\n attrs['w:type'] = this.properties.docGrid.type;\n }\n if (this.properties.docGrid.linePitch !== undefined) {\n attrs['w:linePitch'] = this.properties.docGrid.linePitch.toString();\n }\n if (this.properties.docGrid.charSpace !== undefined) {\n attrs['w:charSpace'] = this.properties.docGrid.charSpace.toString();\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('docGrid', attrs));\n }\n }\n\n // Printer settings (w:printerSettings)\n if (this.properties.printerSettingsId) {\n children.push(\n XMLBuilder.wSelf('printerSettings', {\n 'r:id': this.properties.printerSettingsId,\n })\n );\n }\n\n // Add section property change (w:sectPrChange) per ECMA-376 Part 1 §17.13.5.32\n // Must be last child of w:sectPr\n if (this.sectPrChange) {\n const changeAttrs: Record<string, string | number> = {\n 'w:id': this.sectPrChange.id,\n 'w:author': this.sectPrChange.author,\n 'w:date': this.sectPrChange.date,\n };\n const prevChildren: XMLElement[] = [];\n const prev = this.sectPrChange.previousProperties;\n if (prev) {\n // Ordered per CT_SectPrBase:\n // type → pgSz → pgMar → lnNumType → pgNumType → cols → formProt → vAlign → titlePg → textDirection\n if (prev.type) {\n prevChildren.push(XMLBuilder.wSelf('type', { 'w:val': prev.type }));\n }\n if (prev.pageSize) {\n const pgSzAttrs: Record<string, string> = {\n 'w:w': prev.pageSize.width?.toString() || '12240',\n 'w:h': prev.pageSize.height?.toString() || '15840',\n };\n if (prev.pageSize.orientation === 'landscape') {\n pgSzAttrs['w:orient'] = 'landscape';\n }\n prevChildren.push(XMLBuilder.wSelf('pgSz', pgSzAttrs));\n }\n if (prev.margins) {\n const pgMarAttrs: Record<string, string> = {};\n if (prev.margins.top !== undefined) pgMarAttrs['w:top'] = prev.margins.top.toString();\n if (prev.margins.bottom !== undefined)\n pgMarAttrs['w:bottom'] = prev.margins.bottom.toString();\n if (prev.margins.left !== undefined) pgMarAttrs['w:left'] = prev.margins.left.toString();\n if (prev.margins.right !== undefined)\n pgMarAttrs['w:right'] = prev.margins.right.toString();\n if (prev.margins.header !== undefined)\n pgMarAttrs['w:header'] = prev.margins.header.toString();\n if (prev.margins.footer !== undefined)\n pgMarAttrs['w:footer'] = prev.margins.footer.toString();\n prevChildren.push(XMLBuilder.wSelf('pgMar', pgMarAttrs));\n }\n if (prev.lineNumbering) {\n const lnAttrs: Record<string, string> = {};\n if (prev.lineNumbering.countBy !== undefined)\n lnAttrs['w:countBy'] = prev.lineNumbering.countBy.toString();\n if (prev.lineNumbering.start !== undefined)\n lnAttrs['w:start'] = prev.lineNumbering.start.toString();\n if (prev.lineNumbering.restart) lnAttrs['w:restart'] = prev.lineNumbering.restart;\n if (prev.lineNumbering.distance !== undefined)\n lnAttrs['w:distance'] = prev.lineNumbering.distance.toString();\n if (Object.keys(lnAttrs).length > 0) {\n prevChildren.push(XMLBuilder.wSelf('lnNumType', lnAttrs));\n }\n }\n if (prev.pageNumbering) {\n const pnAttrs: Record<string, string> = {};\n if (prev.pageNumbering.start !== undefined)\n pnAttrs['w:start'] = prev.pageNumbering.start.toString();\n if (prev.pageNumbering.format) pnAttrs['w:fmt'] = prev.pageNumbering.format;\n if (Object.keys(pnAttrs).length > 0) {\n prevChildren.push(XMLBuilder.wSelf('pgNumType', pnAttrs));\n }\n }\n if (prev.columns) {\n const colAttrs: Record<string, string> = {\n 'w:num': prev.columns.count?.toString() || '1',\n };\n if (prev.columns.space !== undefined) colAttrs['w:space'] = prev.columns.space.toString();\n prevChildren.push(XMLBuilder.wSelf('cols', colAttrs));\n }\n if (prev.formProt) {\n prevChildren.push(XMLBuilder.wSelf('formProt'));\n }\n if (prev.verticalAlignment) {\n prevChildren.push(XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));\n }\n if (prev.titlePage) {\n prevChildren.push(XMLBuilder.wSelf('titlePg'));\n }\n if (prev.textDirection) {\n const tdMap: Record<string, string> = {\n ltr: 'lrTb',\n rtl: 'tbRl',\n tbRl: 'tbRl',\n btLr: 'btLr',\n lrTb: 'lrTb',\n lrTbV: 'lrTbV',\n tbRlV: 'tbRlV',\n tbLrV: 'tbLrV',\n };\n prevChildren.push(\n XMLBuilder.wSelf('textDirection', {\n 'w:val': tdMap[prev.textDirection] || prev.textDirection,\n })\n );\n }\n }\n const prevSectPr = XMLBuilder.w('sectPr', undefined, prevChildren);\n children.push(XMLBuilder.w('sectPrChange', changeAttrs, [prevSectPr]));\n }\n\n return XMLBuilder.w('sectPr', undefined, children);\n }\n\n /**\n * Creates a deep clone of this section\n * @returns New Section instance with copied properties\n */\n clone(): Section {\n // Deep clone all nested objects\n const clonedProperties: SectionProperties = {};\n\n if (this.properties.pageSize) {\n clonedProperties.pageSize = { ...this.properties.pageSize };\n }\n\n if (this.properties.margins) {\n clonedProperties.margins = { ...this.properties.margins };\n }\n\n if (this.properties.columns) {\n clonedProperties.columns = {\n ...this.properties.columns,\n columnWidths: this.properties.columns.columnWidths\n ? [...this.properties.columns.columnWidths]\n : undefined,\n };\n }\n\n if (this.properties.pageNumbering) {\n clonedProperties.pageNumbering = { ...this.properties.pageNumbering };\n }\n\n if (this.properties.headers) {\n clonedProperties.headers = { ...this.properties.headers };\n }\n\n if (this.properties.footers) {\n clonedProperties.footers = { ...this.properties.footers };\n }\n\n if (this.properties.paperSource) {\n clonedProperties.paperSource = { ...this.properties.paperSource };\n }\n\n if (this.properties.docGrid) {\n clonedProperties.docGrid = { ...this.properties.docGrid };\n }\n\n if (this.properties.lineNumbering) {\n clonedProperties.lineNumbering = { ...this.properties.lineNumbering };\n }\n\n // Copy primitive properties\n clonedProperties.type = this.properties.type;\n clonedProperties.titlePage = this.properties.titlePage;\n clonedProperties.verticalAlignment = this.properties.verticalAlignment;\n clonedProperties.textDirection = this.properties.textDirection;\n clonedProperties.bidi = this.properties.bidi;\n clonedProperties.rtlGutter = this.properties.rtlGutter;\n\n return new Section(clonedProperties);\n }\n\n /**\n * Creates a section with default properties\n */\n static create(properties?: SectionProperties): Section {\n return new Section(properties);\n }\n\n /**\n * Creates a letter-sized section (8.5\" x 11\")\n */\n static createLetter(): Section {\n return new Section({\n pageSize: {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n orientation: 'portrait',\n },\n });\n }\n\n /**\n * Creates an A4-sized section (21cm x 29.7cm)\n */\n static createA4(): Section {\n return new Section({\n pageSize: {\n width: PAGE_SIZES.A4.width,\n height: PAGE_SIZES.A4.height,\n orientation: 'portrait',\n },\n });\n }\n\n /**\n * Creates a landscape section\n * @param pageSize Page size (default: Letter)\n */\n static createLandscape(pageSize: 'letter' | 'a4' = 'letter'): Section {\n const size = pageSize === 'a4' ? PAGE_SIZES.A4 : PAGE_SIZES.LETTER;\n return new Section({\n pageSize: {\n width: size.height, // Swap for landscape\n height: size.width,\n orientation: 'landscape',\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Section - Represents a document section with page setup properties\n *\n * Sections allow different page setups within a single document (margins, orientation, etc.)\n * Each section can have its own headers, footers, and page numbering.\n */\n\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\nimport { PAGE_SIZES } from '../utils/units';\n\n/**\n * Page orientation\n */\nexport type PageOrientation = 'portrait' | 'landscape';\n\n/**\n * Section break type\n */\nexport type SectionType = 'nextPage' | 'continuous' | 'evenPage' | 'oddPage' | 'nextColumn';\n\n/**\n * Page numbering format\n */\n/**\n * Per ECMA-376 Part 1 §17.18.59 (ST_NumberFormat)\n * Comprehensive set of page number formats\n */\nexport type PageNumberFormat =\n | 'decimal'\n | 'lowerRoman'\n | 'upperRoman'\n | 'lowerLetter'\n | 'upperLetter'\n | 'ordinal'\n | 'cardinalText'\n | 'ordinalText'\n | 'hex'\n | 'chicago'\n | 'decimalZero'\n | 'decimalEnclosedCircle'\n | 'decimalEnclosedFullstop'\n | 'decimalEnclosedParen'\n | 'ideographDigital'\n | 'ideographTraditional'\n | 'ideographLegalTraditional'\n | 'ideographEnclosedCircle'\n | 'ideographZodiac'\n | 'ideographZodiacTraditional'\n | 'chineseCounting'\n | 'chineseCountingThousand'\n | 'chineseLegalSimplified'\n | 'japaneseCounting'\n | 'japaneseDigitalTenThousand'\n | 'japaneseLegal'\n | 'koreanCounting'\n | 'koreanDigital'\n | 'koreanDigital2'\n | 'koreanLegal'\n | 'taiwaneseCounting'\n | 'taiwaneseCountingThousand'\n | 'taiwaneseDigital'\n | 'aiueo'\n | 'aiueoFullWidth'\n | 'iroha'\n | 'irohaFullWidth'\n | 'arabicAbjad'\n | 'arabicAlpha'\n | 'hebrew1'\n | 'hebrew2'\n | 'hindiConsonants'\n | 'hindiCounting'\n | 'hindiNumbers'\n | 'hindiVowels'\n | 'thaiCounting'\n | 'thaiLetters'\n | 'thaiNumbers'\n | 'vietnameseCounting'\n | 'russianLower'\n | 'russianUpper'\n | 'numberInDash'\n | 'dollarText'\n | 'bullet'\n | 'bahtText'\n | 'ganada'\n | 'chosung'\n | 'none'\n | string; // Allow any format string for forward compatibility\n\n/**\n * Page size properties\n */\nexport interface PageSize {\n /** Width in twips */\n width: number;\n /** Height in twips */\n height: number;\n /** Orientation */\n orientation?: PageOrientation;\n}\n\n/**\n * Margin properties\n */\nexport interface Margins {\n /** Top margin in twips */\n top: number;\n /** Bottom margin in twips */\n bottom: number;\n /** Left margin in twips */\n left: number;\n /** Right margin in twips */\n right: number;\n /** Header distance from top in twips */\n header?: number;\n /** Footer distance from bottom in twips */\n footer?: number;\n /** Gutter margin in twips */\n gutter?: number;\n}\n\n/**\n * Column properties\n */\nexport interface Columns {\n /** Number of columns */\n count: number;\n /** Space between columns in twips */\n space?: number;\n /** Equal column widths */\n equalWidth?: boolean;\n /** Show column separator line */\n separator?: boolean;\n /** Individual column widths (for unequal columns) in twips */\n columnWidths?: number[];\n}\n\n/**\n * Page numbering properties\n */\nexport interface PageNumbering {\n /** Starting page number */\n start?: number;\n /** Number format */\n format?: PageNumberFormat;\n}\n\n/**\n * Paper source (printer tray) properties\n */\nexport interface PaperSource {\n /** First page tray number */\n first?: number;\n /** Other pages tray number */\n other?: number;\n}\n\n/**\n * Vertical page alignment\n */\nexport type VerticalAlignment = 'top' | 'center' | 'bottom' | 'both';\n\n/**\n * Text direction\n */\nexport type TextDirection = 'ltr' | 'rtl' | 'tbRl' | 'btLr';\n\n/**\n * Document grid type for East Asian typography\n */\nexport type DocumentGridType = 'default' | 'lines' | 'linesAndChars' | 'snapToChars';\n\n/**\n * Document grid properties\n */\nexport interface DocumentGrid {\n /** Grid type */\n type?: DocumentGridType;\n /** Lines per page */\n linePitch?: number;\n /** Characters per line */\n charSpace?: number;\n}\n\n/**\n * Line numbering restart mode\n */\nexport type LineNumberingRestart = 'newPage' | 'newSection' | 'continuous';\n\n/**\n * Line numbering properties\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType element)\n */\nexport interface LineNumbering {\n /** Display line number every N lines (countBy attribute) */\n countBy?: number;\n /** Starting line number */\n start?: number;\n /** Distance from text margin in twips */\n distance?: number;\n /** When to restart line numbering */\n restart?: LineNumberingRestart;\n}\n\n/**\n * Footnote/endnote position\n * Per ECMA-376 Part 1 §17.11.6 and §17.11.7\n */\nexport type NotePosition = 'pageBottom' | 'beneathText' | 'sectEnd' | 'docEnd';\n\n/**\n * Note numbering restart mode\n */\nexport type NoteNumberRestart = 'continuous' | 'eachSect' | 'eachPage';\n\n/**\n * Chapter separator character for page numbering\n * Per ECMA-376 Part 1 §17.18.5\n */\nexport type ChapterSeparator = 'colon' | 'emDash' | 'enDash' | 'hyphen' | 'period';\n\n/**\n * Footnote/endnote section-level properties\n */\nexport interface NoteProperties {\n /** Note positioning */\n position?: NotePosition;\n /** Number format */\n numberFormat?: PageNumberFormat;\n /** Starting number */\n startNumber?: number;\n /** Restart numbering mode */\n restart?: NoteNumberRestart;\n}\n\n/**\n * Page border definition for a single side\n * Per ECMA-376 Part 1 §17.6.10\n */\nexport interface PageBorderDef {\n /** Border style (single, double, dashed, etc.) */\n style?: string;\n /** Border size in eighths of a point */\n size?: number;\n /** Border color in hex format (without #) */\n color?: string;\n /** Space between border and page edge/text in points */\n space?: number;\n /** Whether to show shadow */\n shadow?: boolean;\n /** Whether to include frame around page */\n frame?: boolean;\n /** Theme color reference */\n themeColor?: string;\n /** Art border ID (for decorative borders) */\n artId?: number;\n}\n\n/**\n * Page borders configuration\n * Per ECMA-376 Part 1 §17.6.10\n */\nexport interface PageBorders {\n /** Top page border */\n top?: PageBorderDef;\n /** Bottom page border */\n bottom?: PageBorderDef;\n /** Left page border */\n left?: PageBorderDef;\n /** Right page border */\n right?: PageBorderDef;\n /** Whether border is measured from page edge or text edge */\n offsetFrom?: 'page' | 'text';\n /** Display on all pages, first page only, or not first page */\n display?: 'allPages' | 'firstPage' | 'notFirstPage';\n /** Z-ordering relative to text */\n zOrder?: 'front' | 'back';\n}\n\n/**\n * Section properties\n */\nexport interface SectionProperties {\n /** Page size */\n pageSize?: PageSize;\n /** Margins */\n margins?: Margins;\n /** Column layout */\n columns?: Columns;\n /** Section break type */\n type?: SectionType;\n /** Page numbering */\n pageNumbering?: PageNumbering;\n /** Header reference IDs */\n headers?: {\n default?: string; // rId for default header\n first?: string; // rId for first page header\n even?: string; // rId for even page header\n };\n /** Footer reference IDs */\n footers?: {\n default?: string; // rId for default footer\n first?: string; // rId for first page footer\n even?: string; // rId for even page footer\n };\n /** Title page (different first page) */\n titlePage?: boolean;\n /** Vertical page alignment */\n verticalAlignment?: VerticalAlignment;\n /** Paper source (printer tray) */\n paperSource?: PaperSource;\n /** Text direction (LTR/RTL support) */\n textDirection?: TextDirection;\n /** Right-to-left section layout */\n bidi?: boolean;\n /** Gutter on right side (for RTL) */\n rtlGutter?: boolean;\n /** Document grid for snapping text to grid */\n docGrid?: DocumentGrid;\n /** Line numbering configuration */\n lineNumbering?: LineNumbering;\n /** Section-level footnote properties (w:footnotePr) */\n footnotePr?: NoteProperties;\n /** Section-level endnote properties (w:endnotePr) */\n endnotePr?: NoteProperties;\n /** Suppress endnotes in this section (w:noEndnote) */\n noEndnote?: boolean;\n /** Form protection for this section (w:formProt) */\n formProt?: boolean;\n /** Page borders per ECMA-376 Part 1 §17.6.10 */\n pageBorders?: PageBorders;\n /** Printer settings relationship ID (w:printerSettings r:id) */\n printerSettingsId?: string;\n /** Chapter style heading level for page numbering (w:pgNumType w:chapStyle) */\n chapStyle?: number;\n /** Chapter separator for page numbering (w:pgNumType w:chapSep) */\n chapSep?: ChapterSeparator;\n}\n\n/**\n * Represents a document section\n */\n/**\n * Section property change tracking (w:sectPrChange)\n * Per ECMA-376 Part 1 §17.13.5.32\n */\nexport interface SectPrChange {\n author: string;\n date: string;\n id: string;\n previousProperties: Record<string, any>;\n}\n\nexport class Section {\n private properties: SectionProperties;\n /** Tracking context for automatic change tracking */\n private trackingContext?: import('../tracking/TrackingContext').TrackingContext;\n /** Section property change tracking (w:sectPrChange) */\n private sectPrChange?: SectPrChange;\n\n /**\n * Creates a new section\n * @param properties Section properties\n */\n constructor(properties: SectionProperties = {}) {\n // Set defaults only where necessary\n this.properties = {\n pageSize: properties.pageSize || {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n orientation: 'portrait',\n },\n margins: properties.margins || {\n top: 1440, // 1 inch\n bottom: 1440,\n left: 1440,\n right: 1440,\n header: 720, // 0.5 inch\n footer: 720,\n },\n // Default to single column layout\n columns: properties.columns || {\n count: 1,\n },\n // Default to next page section break\n type: properties.type || 'nextPage',\n pageNumbering: properties.pageNumbering,\n headers: properties.headers,\n footers: properties.footers,\n titlePage: properties.titlePage,\n // Phase 4.5 - New properties\n verticalAlignment: properties.verticalAlignment,\n paperSource: properties.paperSource,\n textDirection: properties.textDirection,\n pageBorders: properties.pageBorders,\n };\n }\n\n /**\n * Sets the tracking context for automatic change tracking.\n * Called by Document when track changes is enabled.\n * @internal\n */\n _setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {\n this.trackingContext = context;\n }\n\n /**\n * Gets the section property change tracking info\n */\n getSectPrChange(): SectPrChange | undefined {\n return this.sectPrChange;\n }\n\n /**\n * Sets the section property change tracking info\n */\n setSectPrChange(change: SectPrChange | undefined): void {\n this.sectPrChange = change;\n }\n\n /**\n * Clears the section property change tracking\n */\n clearSectPrChange(): void {\n this.sectPrChange = undefined;\n }\n\n /**\n * Gets the section properties\n */\n getProperties(): SectionProperties {\n return { ...this.properties };\n }\n\n // ============================================================================\n // Individual Property Getters\n // ============================================================================\n\n /**\n * Gets the page size settings\n * @returns Page size object with width, height, and orientation, or undefined\n */\n getPageSize(): PageSize | undefined {\n return this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\n }\n\n /**\n * Gets the page orientation\n * @returns 'portrait' or 'landscape', or undefined if not set\n */\n getOrientation(): PageOrientation | undefined {\n return this.properties.pageSize?.orientation;\n }\n\n /**\n * Gets the margin settings\n * @returns Margins object or undefined if not set\n */\n getMargins(): Margins | undefined {\n return this.properties.margins ? { ...this.properties.margins } : undefined;\n }\n\n /**\n * Gets the column layout settings\n * @returns Columns object or undefined if not set\n */\n getColumns(): Columns | undefined {\n return this.properties.columns ? { ...this.properties.columns } : undefined;\n }\n\n /**\n * Gets the section type (break type)\n * @returns Section type or undefined if not set\n */\n getSectionType(): SectionType | undefined {\n return this.properties.type;\n }\n\n /**\n * Gets the page numbering settings\n * @returns PageNumbering object or undefined if not set\n */\n getPageNumbering(): PageNumbering | undefined {\n return this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\n }\n\n /**\n * Gets whether this section has a title page (different first page)\n * @returns true if title page is enabled, false otherwise\n */\n getTitlePage(): boolean {\n return this.properties.titlePage ?? false;\n }\n\n /**\n * Gets header references\n * @returns Object with default, first, and even header relationship IDs, or undefined\n */\n getHeaderReferences(): { default?: string; first?: string; even?: string } | undefined {\n return this.properties.headers ? { ...this.properties.headers } : undefined;\n }\n\n /**\n * Gets a specific header reference\n * @param type Header type (default, first, even)\n * @returns Relationship ID or undefined if not set\n */\n getHeaderReference(type: 'default' | 'first' | 'even'): string | undefined {\n return this.properties.headers?.[type];\n }\n\n /**\n * Gets footer references\n * @returns Object with default, first, and even footer relationship IDs, or undefined\n */\n getFooterReferences(): { default?: string; first?: string; even?: string } | undefined {\n return this.properties.footers ? { ...this.properties.footers } : undefined;\n }\n\n /**\n * Gets a specific footer reference\n * @param type Footer type (default, first, even)\n * @returns Relationship ID or undefined if not set\n */\n getFooterReference(type: 'default' | 'first' | 'even'): string | undefined {\n return this.properties.footers?.[type];\n }\n\n /**\n * Gets the vertical page alignment\n * @returns Vertical alignment or undefined if not set\n */\n getVerticalAlignment(): VerticalAlignment | undefined {\n return this.properties.verticalAlignment;\n }\n\n /**\n * Gets the paper source (printer tray) settings\n * @returns PaperSource object or undefined if not set\n */\n getPaperSource(): PaperSource | undefined {\n return this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\n }\n\n /**\n * Gets whether column separator is enabled\n * @returns true if separator is enabled, false otherwise\n */\n getColumnSeparator(): boolean {\n return this.properties.columns?.separator ?? false;\n }\n\n /**\n * Gets custom column widths\n * @returns Array of column widths in twips, or undefined if not set\n */\n getColumnWidths(): number[] | undefined {\n return this.properties.columns?.columnWidths\n ? [...this.properties.columns.columnWidths]\n : undefined;\n }\n\n /**\n * Gets the text direction\n * @returns Text direction or undefined if not set\n */\n getTextDirection(): TextDirection | undefined {\n return this.properties.textDirection;\n }\n\n /**\n * Gets whether the section is bidirectional (RTL)\n * @returns true if bidi is enabled, false otherwise\n */\n getBidi(): boolean {\n return this.properties.bidi ?? false;\n }\n\n /**\n * Gets whether RTL gutter is enabled (gutter on right side)\n * @returns true if RTL gutter is enabled, false otherwise\n */\n getRtlGutter(): boolean {\n return this.properties.rtlGutter ?? false;\n }\n\n /**\n * Gets the document grid settings\n * @returns DocumentGrid object or undefined if not set\n */\n getDocGrid(): DocumentGrid | undefined {\n return this.properties.docGrid ? { ...this.properties.docGrid } : undefined;\n }\n\n // ============================================================================\n // Setters\n // ============================================================================\n\n /**\n * Sets page size\n * @param width Width in twips\n * @param height Height in twips\n * @param orientation Page orientation\n */\n setPageSize(width: number, height: number, orientation: PageOrientation = 'portrait'): this {\n const prev = this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\n this.properties.pageSize = { width, height, orientation };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'pageSize', prev, this.properties.pageSize);\n }\n return this;\n }\n\n /**\n * Sets page orientation\n * @param orientation Page orientation\n */\n setOrientation(orientation: PageOrientation): this {\n const prevOrientation = this.properties.pageSize?.orientation;\n // Capture full pageSize BEFORE mutation for tracking\n const prevPageSize = this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\n if (!this.properties.pageSize) {\n this.properties.pageSize = {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n };\n }\n this.properties.pageSize.orientation = orientation;\n\n // Swap width/height for landscape\n if (\n orientation === 'landscape' &&\n this.properties.pageSize.width < this.properties.pageSize.height\n ) {\n const temp = this.properties.pageSize.width;\n this.properties.pageSize.width = this.properties.pageSize.height;\n this.properties.pageSize.height = temp;\n }\n\n if (this.trackingContext?.isEnabled() && prevOrientation !== orientation) {\n // Track the full pageSize change (not just orientation) since width/height are swapped\n this.trackingContext.trackSectionChange(this, 'pageSize', prevPageSize, {\n ...this.properties.pageSize,\n });\n }\n return this;\n }\n\n /**\n * Sets margins\n * @param margins Margin properties\n */\n setMargins(margins: Margins): this {\n const prev = this.properties.margins ? { ...this.properties.margins } : undefined;\n const existing = this.properties.margins;\n this.properties.margins = {\n top: margins.top,\n bottom: margins.bottom,\n left: margins.left,\n right: margins.right,\n header: margins.header ?? existing?.header ?? 720,\n footer: margins.footer ?? existing?.footer ?? 720,\n gutter: margins.gutter ?? existing?.gutter,\n };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'margins', prev, this.properties.margins);\n }\n return this;\n }\n\n /**\n * Sets column layout\n * @param count Number of columns\n * @param space Space between columns in twips\n */\n setColumns(count: number, space = 720): this {\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\n this.properties.columns = {\n count,\n space,\n equalWidth: true,\n };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'columns', prev, this.properties.columns);\n }\n return this;\n }\n\n /**\n * Sets section type\n * @param type Section break type\n */\n setSectionType(type: SectionType): this {\n const prev = this.properties.type;\n this.properties.type = type;\n if (this.trackingContext?.isEnabled() && prev !== type) {\n this.trackingContext.trackSectionChange(this, 'type', prev, type);\n }\n return this;\n }\n\n /**\n * Sets page numbering\n * @param start Starting page number\n * @param format Number format\n */\n setPageNumbering(start?: number, format?: PageNumberFormat): this {\n const prev = this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\n this.properties.pageNumbering = { start, format };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'pageNumbering',\n prev,\n this.properties.pageNumbering\n );\n }\n return this;\n }\n\n /**\n * Sets title page flag (different first page)\n * @param titlePage Whether this section has a different first page\n */\n setTitlePage(titlePage = true): this {\n const prev = this.properties.titlePage;\n this.properties.titlePage = titlePage;\n if (this.trackingContext?.isEnabled() && prev !== titlePage) {\n this.trackingContext.trackSectionChange(this, 'titlePage', prev, titlePage);\n }\n return this;\n }\n\n /**\n * Sets header reference\n * @param type Header type (default, first, even)\n * @param rId Relationship ID\n */\n setHeaderReference(type: 'default' | 'first' | 'even', rId: string): this {\n const prev = this.properties.headers?.[type];\n if (!this.properties.headers) {\n this.properties.headers = {};\n }\n this.properties.headers[type] = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, `headerReference:${type}`, prev, rId);\n }\n return this;\n }\n\n /**\n * Sets footer reference\n * @param type Footer type (default, first, even)\n * @param rId Relationship ID\n */\n setFooterReference(type: 'default' | 'first' | 'even', rId: string): this {\n const prev = this.properties.footers?.[type];\n if (!this.properties.footers) {\n this.properties.footers = {};\n }\n this.properties.footers[type] = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, `footerReference:${type}`, prev, rId);\n }\n return this;\n }\n\n /**\n * Sets vertical page alignment\n * Controls how content is vertically aligned on the page\n * @param alignment Vertical alignment (top, center, bottom, both=justified)\n */\n setVerticalAlignment(alignment: VerticalAlignment): this {\n const prev = this.properties.verticalAlignment;\n this.properties.verticalAlignment = alignment;\n if (this.trackingContext?.isEnabled() && prev !== alignment) {\n this.trackingContext.trackSectionChange(this, 'verticalAlignment', prev, alignment);\n }\n return this;\n }\n\n /**\n * Sets paper source (printer tray selection)\n * @param first First page tray number\n * @param other Other pages tray number\n */\n setPaperSource(first?: number, other?: number): this {\n const prev = this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\n this.properties.paperSource = { first, other };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'paperSource',\n prev,\n this.properties.paperSource\n );\n }\n return this;\n }\n\n /**\n * Sets column separator line\n * Shows a vertical line between columns\n * @param separator Whether to show column separator line\n */\n setColumnSeparator(separator = true): this {\n const prev = this.properties.columns?.separator;\n if (!this.properties.columns) {\n this.properties.columns = { count: 1 };\n }\n this.properties.columns.separator = separator;\n if (this.trackingContext?.isEnabled() && prev !== separator) {\n this.trackingContext.trackSectionChange(this, 'columnSeparator', prev, separator);\n }\n return this;\n }\n\n /**\n * Sets custom column widths (for unequal columns)\n * @param widths Array of column widths in twips\n */\n setColumnWidths(widths: number[]): this {\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\n if (!this.properties.columns) {\n this.properties.columns = { count: widths.length };\n }\n this.properties.columns.columnWidths = widths;\n this.properties.columns.equalWidth = false;\n this.properties.columns.count = widths.length;\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'columns', prev, {\n ...this.properties.columns,\n });\n }\n return this;\n }\n\n /**\n * Sets text direction for the section\n * @param direction Text direction (ltr=left-to-right, rtl=right-to-left, tbRl=top-to-bottom-right-to-left, btLr=bottom-to-top-left-to-right)\n */\n setTextDirection(direction: TextDirection): this {\n const prev = this.properties.textDirection;\n this.properties.textDirection = direction;\n if (this.trackingContext?.isEnabled() && prev !== direction) {\n this.trackingContext.trackSectionChange(this, 'textDirection', prev, direction);\n }\n return this;\n }\n\n /**\n * Sets line numbering for the section\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType)\n * @param options Line numbering configuration\n */\n setLineNumbering(options: LineNumbering): this {\n const prev = this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\n this.properties.lineNumbering = { ...options };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'lineNumbering',\n prev,\n this.properties.lineNumbering\n );\n }\n return this;\n }\n\n /**\n * Gets line numbering configuration\n * @returns Line numbering settings or undefined if not set\n */\n getLineNumbering(): LineNumbering | undefined {\n return this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\n }\n\n /**\n * Clears line numbering for the section\n */\n clearLineNumbering(): this {\n this.properties.lineNumbering = undefined;\n return this;\n }\n\n /**\n * Sets section-level footnote properties\n * Per ECMA-376 Part 1 §17.11.6\n */\n setFootnoteProperties(props: NoteProperties): this {\n const prev = this.properties.footnotePr ? { ...this.properties.footnotePr } : undefined;\n this.properties.footnotePr = { ...props };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'footnotePr', prev, this.properties.footnotePr);\n }\n return this;\n }\n\n /**\n * Sets section-level endnote properties\n * Per ECMA-376 Part 1 §17.11.7\n */\n setEndnoteProperties(props: NoteProperties): this {\n const prev = this.properties.endnotePr ? { ...this.properties.endnotePr } : undefined;\n this.properties.endnotePr = { ...props };\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(this, 'endnotePr', prev, this.properties.endnotePr);\n }\n return this;\n }\n\n /**\n * Sets whether endnotes are suppressed in this section\n * Per ECMA-376 Part 1 §17.6.14\n */\n setNoEndnote(noEndnote = true): this {\n const prev = this.properties.noEndnote;\n this.properties.noEndnote = noEndnote;\n if (this.trackingContext?.isEnabled() && prev !== noEndnote) {\n this.trackingContext.trackSectionChange(this, 'noEndnote', prev, noEndnote);\n }\n return this;\n }\n\n /**\n * Sets form protection for this section\n * Per ECMA-376 Part 1 §17.6.4\n */\n setFormProtection(formProt = true): this {\n const prev = this.properties.formProt;\n this.properties.formProt = formProt;\n if (this.trackingContext?.isEnabled() && prev !== formProt) {\n this.trackingContext.trackSectionChange(this, 'formProt', prev, formProt);\n }\n return this;\n }\n\n /**\n * Sets printer settings relationship ID\n * Per ECMA-376 Part 1 §17.6.6\n */\n setPrinterSettings(rId: string): this {\n const prev = this.properties.printerSettingsId;\n this.properties.printerSettingsId = rId;\n if (this.trackingContext?.isEnabled() && prev !== rId) {\n this.trackingContext.trackSectionChange(this, 'printerSettings', prev, rId);\n }\n return this;\n }\n\n /**\n * Sets chapter numbering for page numbers\n * Per ECMA-376 Part 1 §17.6.12\n * @param chapStyle - Heading level (1-9) to use for chapter numbering\n * @param chapSep - Separator between chapter and page number\n */\n setChapterNumbering(chapStyle: number, chapSep?: ChapterSeparator): this {\n const prevStyle = this.properties.chapStyle;\n const prevSep = this.properties.chapSep;\n this.properties.chapStyle = chapStyle;\n if (chapSep) this.properties.chapSep = chapSep;\n if (this.trackingContext?.isEnabled()) {\n this.trackingContext.trackSectionChange(\n this,\n 'chapterNumbering',\n { chapStyle: prevStyle, chapSep: prevSep },\n { chapStyle, chapSep: chapSep || prevSep }\n );\n }\n return this;\n }\n\n /**\n * Generates WordprocessingML XML for section properties\n */\n toXML(): XMLElement {\n const children: XMLElement[] = [];\n\n // Header references\n if (this.properties.headers) {\n if (this.properties.headers.first) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'first',\n 'r:id': this.properties.headers.first,\n })\n );\n }\n if (this.properties.headers.even) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'even',\n 'r:id': this.properties.headers.even,\n })\n );\n }\n if (this.properties.headers.default) {\n children.push(\n XMLBuilder.wSelf('headerReference', {\n 'w:type': 'default',\n 'r:id': this.properties.headers.default,\n })\n );\n }\n }\n\n // Footer references\n if (this.properties.footers) {\n if (this.properties.footers.first) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'first',\n 'r:id': this.properties.footers.first,\n })\n );\n }\n if (this.properties.footers.even) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'even',\n 'r:id': this.properties.footers.even,\n })\n );\n }\n if (this.properties.footers.default) {\n children.push(\n XMLBuilder.wSelf('footerReference', {\n 'w:type': 'default',\n 'r:id': this.properties.footers.default,\n })\n );\n }\n }\n\n // CT_SectPr element order per ECMA-376:\n // footnotePr → endnotePr → type → pgSz → pgMar → paperSrc → pgBorders →\n // lnNumType → pgNumType → cols → formProt → vAlign → noEndnote → titlePg →\n // textDirection → bidi → rtlGutter → docGrid → printerSettings → sectPrChange\n\n // Footnote properties (w:footnotePr)\n if (this.properties.footnotePr) {\n const fnChildren: XMLElement[] = [];\n if (this.properties.footnotePr.position) {\n fnChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.footnotePr.position }));\n }\n if (this.properties.footnotePr.numberFormat) {\n fnChildren.push(\n XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.footnotePr.numberFormat })\n );\n }\n if (this.properties.footnotePr.startNumber !== undefined) {\n fnChildren.push(\n XMLBuilder.wSelf('numStart', {\n 'w:val': this.properties.footnotePr.startNumber.toString(),\n })\n );\n }\n if (this.properties.footnotePr.restart) {\n fnChildren.push(\n XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.footnotePr.restart })\n );\n }\n if (fnChildren.length > 0) {\n children.push(XMLBuilder.w('footnotePr', undefined, fnChildren));\n }\n }\n\n // Endnote properties (w:endnotePr)\n if (this.properties.endnotePr) {\n const enChildren: XMLElement[] = [];\n if (this.properties.endnotePr.position) {\n enChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.endnotePr.position }));\n }\n if (this.properties.endnotePr.numberFormat) {\n enChildren.push(\n XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.endnotePr.numberFormat })\n );\n }\n if (this.properties.endnotePr.startNumber !== undefined) {\n enChildren.push(\n XMLBuilder.wSelf('numStart', {\n 'w:val': this.properties.endnotePr.startNumber.toString(),\n })\n );\n }\n if (this.properties.endnotePr.restart) {\n enChildren.push(\n XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.endnotePr.restart })\n );\n }\n if (enChildren.length > 0) {\n children.push(XMLBuilder.w('endnotePr', undefined, enChildren));\n }\n }\n\n // Section type\n if (this.properties.type) {\n children.push(XMLBuilder.wSelf('type', { 'w:val': this.properties.type }));\n }\n\n // Page size\n if (this.properties.pageSize) {\n const attrs: Record<string, string> = {\n 'w:w': this.properties.pageSize.width.toString(),\n 'w:h': this.properties.pageSize.height.toString(),\n };\n if (this.properties.pageSize.orientation === 'landscape') {\n attrs['w:orient'] = 'landscape';\n }\n children.push(XMLBuilder.wSelf('pgSz', attrs));\n }\n\n // Margins\n if (this.properties.margins) {\n const attrs: Record<string, string> = {\n 'w:top': this.properties.margins.top.toString(),\n 'w:right': this.properties.margins.right.toString(),\n 'w:bottom': this.properties.margins.bottom.toString(),\n 'w:left': this.properties.margins.left.toString(),\n };\n attrs['w:header'] = (this.properties.margins.header ?? 720).toString();\n attrs['w:footer'] = (this.properties.margins.footer ?? 720).toString();\n if (this.properties.margins.gutter !== undefined) {\n attrs['w:gutter'] = this.properties.margins.gutter.toString();\n }\n children.push(XMLBuilder.wSelf('pgMar', attrs));\n }\n\n // Paper source\n if (this.properties.paperSource) {\n const attrs: Record<string, string> = {};\n if (this.properties.paperSource.first !== undefined) {\n attrs['w:first'] = this.properties.paperSource.first.toString();\n }\n if (this.properties.paperSource.other !== undefined) {\n attrs['w:other'] = this.properties.paperSource.other.toString();\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('paperSrc', attrs));\n }\n }\n\n // Page borders per ECMA-376 Part 1 §17.6.10\n if (this.properties.pageBorders) {\n const pgBorders = this.properties.pageBorders;\n const pgBordersAttrs: Record<string, string> = {};\n if (pgBorders.offsetFrom) pgBordersAttrs['w:offsetFrom'] = pgBorders.offsetFrom;\n if (pgBorders.display) pgBordersAttrs['w:display'] = pgBorders.display;\n if (pgBorders.zOrder) pgBordersAttrs['w:zOrder'] = pgBorders.zOrder;\n\n const borderChildren: XMLElement[] = [];\n const buildBorder = (side: string, def: PageBorderDef) => {\n const bAttrs: Record<string, string | number> = {};\n if (def.style) bAttrs['w:val'] = def.style;\n // ECMA-376 Part 1 §17.18.2: sz valid range 2-96 (eighths of a point)\n if (def.size !== undefined) bAttrs['w:sz'] = Math.max(2, Math.min(96, def.size));\n if (def.color) bAttrs['w:color'] = def.color;\n // ECMA-376 Part 1 §17.18.88: space valid range 0-31680 (points)\n if (def.space !== undefined) bAttrs['w:space'] = Math.max(0, Math.min(31680, def.space));\n if (def.shadow) bAttrs['w:shadow'] = '1';\n if (def.frame) bAttrs['w:frame'] = '1';\n if (def.themeColor) bAttrs['w:themeColor'] = def.themeColor;\n if (def.artId !== undefined) bAttrs['w:id'] = def.artId;\n borderChildren.push(XMLBuilder.wSelf(side, bAttrs));\n };\n\n if (pgBorders.top) buildBorder('top', pgBorders.top);\n if (pgBorders.left) buildBorder('left', pgBorders.left);\n if (pgBorders.bottom) buildBorder('bottom', pgBorders.bottom);\n if (pgBorders.right) buildBorder('right', pgBorders.right);\n\n children.push(XMLBuilder.w('pgBorders', pgBordersAttrs, borderChildren));\n }\n\n // Line numbering (w:lnNumType)\n if (this.properties.lineNumbering) {\n const attrs: Record<string, string> = {};\n if (this.properties.lineNumbering.countBy !== undefined) {\n attrs['w:countBy'] = this.properties.lineNumbering.countBy.toString();\n }\n if (this.properties.lineNumbering.start !== undefined) {\n attrs['w:start'] = this.properties.lineNumbering.start.toString();\n }\n if (this.properties.lineNumbering.distance !== undefined) {\n attrs['w:distance'] = this.properties.lineNumbering.distance.toString();\n }\n if (this.properties.lineNumbering.restart) {\n attrs['w:restart'] = this.properties.lineNumbering.restart;\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('lnNumType', attrs));\n }\n }\n\n // Page numbering\n if (this.properties.pageNumbering || this.properties.chapStyle !== undefined) {\n const attrs: Record<string, string> = {};\n if (this.properties.pageNumbering?.start !== undefined) {\n attrs['w:start'] = this.properties.pageNumbering.start.toString();\n }\n if (this.properties.pageNumbering?.format) {\n attrs['w:fmt'] = this.properties.pageNumbering.format;\n }\n if (this.properties.chapStyle !== undefined) {\n attrs['w:chapStyle'] = this.properties.chapStyle.toString();\n }\n if (this.properties.chapSep) {\n attrs['w:chapSep'] = this.properties.chapSep;\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('pgNumType', attrs));\n }\n }\n\n // Columns\n if (this.properties.columns) {\n const attrs: Record<string, string> = {\n 'w:num': this.properties.columns.count.toString(),\n };\n if (this.properties.columns.space !== undefined) {\n attrs['w:space'] = this.properties.columns.space.toString();\n }\n if (this.properties.columns.equalWidth !== undefined) {\n attrs['w:equalWidth'] = this.properties.columns.equalWidth ? '1' : '0';\n }\n if (this.properties.columns.separator !== undefined) {\n attrs['w:sep'] = this.properties.columns.separator ? '1' : '0';\n }\n\n const colChildren: XMLElement[] = [];\n if (this.properties.columns.columnWidths) {\n for (const width of this.properties.columns.columnWidths) {\n colChildren.push(XMLBuilder.wSelf('col', { 'w:w': width.toString() }));\n }\n }\n\n children.push(\n colChildren.length > 0\n ? XMLBuilder.w('cols', attrs, colChildren)\n : XMLBuilder.wSelf('cols', attrs)\n );\n }\n\n // Form protection (w:formProt)\n if (this.properties.formProt) {\n children.push(XMLBuilder.wSelf('formProt'));\n }\n\n // Vertical alignment\n if (this.properties.verticalAlignment) {\n children.push(XMLBuilder.wSelf('vAlign', { 'w:val': this.properties.verticalAlignment }));\n }\n\n // Suppress endnotes (w:noEndnote)\n if (this.properties.noEndnote) {\n children.push(XMLBuilder.wSelf('noEndnote'));\n }\n\n // Title page\n if (this.properties.titlePage) {\n children.push(XMLBuilder.wSelf('titlePg', { 'w:val': '1' }));\n }\n\n // Text direction (map to valid ST_TextDirection values per ECMA-376 §17.18.93)\n if (this.properties.textDirection) {\n const textDirMap: Record<string, string> = {\n ltr: 'lrTb',\n rtl: 'tbRl',\n tbRl: 'tbRl',\n btLr: 'btLr',\n lrTb: 'lrTb',\n lrTbV: 'lrTbV',\n tbRlV: 'tbRlV',\n tbLrV: 'tbLrV',\n };\n const val = textDirMap[this.properties.textDirection] || this.properties.textDirection;\n children.push(XMLBuilder.wSelf('textDirection', { 'w:val': val }));\n }\n\n // Bidirectional section (RTL)\n if (this.properties.bidi) {\n children.push(XMLBuilder.wSelf('bidi'));\n }\n\n // RTL gutter (gutter on right side)\n if (this.properties.rtlGutter) {\n children.push(XMLBuilder.wSelf('rtlGutter'));\n }\n\n // Document grid\n if (this.properties.docGrid) {\n const attrs: Record<string, string> = {};\n if (this.properties.docGrid.type) {\n attrs['w:type'] = this.properties.docGrid.type;\n }\n if (this.properties.docGrid.linePitch !== undefined) {\n attrs['w:linePitch'] = this.properties.docGrid.linePitch.toString();\n }\n if (this.properties.docGrid.charSpace !== undefined) {\n attrs['w:charSpace'] = this.properties.docGrid.charSpace.toString();\n }\n if (Object.keys(attrs).length > 0) {\n children.push(XMLBuilder.wSelf('docGrid', attrs));\n }\n }\n\n // Printer settings (w:printerSettings)\n if (this.properties.printerSettingsId) {\n children.push(\n XMLBuilder.wSelf('printerSettings', {\n 'r:id': this.properties.printerSettingsId,\n })\n );\n }\n\n // Add section property change (w:sectPrChange) per ECMA-376 Part 1 §17.13.5.32\n // Must be last child of w:sectPr\n if (this.sectPrChange) {\n const changeAttrs: Record<string, string | number> = {\n 'w:id': this.sectPrChange.id,\n 'w:author': this.sectPrChange.author,\n 'w:date': this.sectPrChange.date,\n };\n const prevChildren: XMLElement[] = [];\n const prev = this.sectPrChange.previousProperties;\n if (prev) {\n // Ordered per CT_SectPrBase:\n // type → pgSz → pgMar → lnNumType → pgNumType → cols → formProt → vAlign → titlePg → textDirection\n if (prev.type) {\n prevChildren.push(XMLBuilder.wSelf('type', { 'w:val': prev.type }));\n }\n if (prev.pageSize) {\n const pgSzAttrs: Record<string, string> = {\n 'w:w': prev.pageSize.width?.toString() || '12240',\n 'w:h': prev.pageSize.height?.toString() || '15840',\n };\n if (prev.pageSize.orientation === 'landscape') {\n pgSzAttrs['w:orient'] = 'landscape';\n }\n prevChildren.push(XMLBuilder.wSelf('pgSz', pgSzAttrs));\n }\n if (prev.margins) {\n const pgMarAttrs: Record<string, string> = {};\n if (prev.margins.top !== undefined) pgMarAttrs['w:top'] = prev.margins.top.toString();\n if (prev.margins.bottom !== undefined)\n pgMarAttrs['w:bottom'] = prev.margins.bottom.toString();\n if (prev.margins.left !== undefined) pgMarAttrs['w:left'] = prev.margins.left.toString();\n if (prev.margins.right !== undefined)\n pgMarAttrs['w:right'] = prev.margins.right.toString();\n if (prev.margins.header !== undefined)\n pgMarAttrs['w:header'] = prev.margins.header.toString();\n if (prev.margins.footer !== undefined)\n pgMarAttrs['w:footer'] = prev.margins.footer.toString();\n prevChildren.push(XMLBuilder.wSelf('pgMar', pgMarAttrs));\n }\n if (prev.lineNumbering) {\n const lnAttrs: Record<string, string> = {};\n if (prev.lineNumbering.countBy !== undefined)\n lnAttrs['w:countBy'] = prev.lineNumbering.countBy.toString();\n if (prev.lineNumbering.start !== undefined)\n lnAttrs['w:start'] = prev.lineNumbering.start.toString();\n if (prev.lineNumbering.restart) lnAttrs['w:restart'] = prev.lineNumbering.restart;\n if (prev.lineNumbering.distance !== undefined)\n lnAttrs['w:distance'] = prev.lineNumbering.distance.toString();\n if (Object.keys(lnAttrs).length > 0) {\n prevChildren.push(XMLBuilder.wSelf('lnNumType', lnAttrs));\n }\n }\n if (prev.pageNumbering) {\n const pnAttrs: Record<string, string> = {};\n if (prev.pageNumbering.start !== undefined)\n pnAttrs['w:start'] = prev.pageNumbering.start.toString();\n if (prev.pageNumbering.format) pnAttrs['w:fmt'] = prev.pageNumbering.format;\n if (Object.keys(pnAttrs).length > 0) {\n prevChildren.push(XMLBuilder.wSelf('pgNumType', pnAttrs));\n }\n }\n if (prev.columns) {\n const colAttrs: Record<string, string> = {\n 'w:num': prev.columns.count?.toString() || '1',\n };\n if (prev.columns.space !== undefined) colAttrs['w:space'] = prev.columns.space.toString();\n prevChildren.push(XMLBuilder.wSelf('cols', colAttrs));\n }\n if (prev.formProt) {\n prevChildren.push(XMLBuilder.wSelf('formProt'));\n }\n if (prev.verticalAlignment) {\n prevChildren.push(XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));\n }\n if (prev.titlePage) {\n prevChildren.push(XMLBuilder.wSelf('titlePg'));\n }\n if (prev.textDirection) {\n const tdMap: Record<string, string> = {\n ltr: 'lrTb',\n rtl: 'tbRl',\n tbRl: 'tbRl',\n btLr: 'btLr',\n lrTb: 'lrTb',\n lrTbV: 'lrTbV',\n tbRlV: 'tbRlV',\n tbLrV: 'tbLrV',\n };\n prevChildren.push(\n XMLBuilder.wSelf('textDirection', {\n 'w:val': tdMap[prev.textDirection] || prev.textDirection,\n })\n );\n }\n if (prev.docGrid) {\n const dgAttrs: Record<string, string> = {};\n if (prev.docGrid.type) dgAttrs['w:type'] = prev.docGrid.type;\n if (prev.docGrid.linePitch !== undefined)\n dgAttrs['w:linePitch'] = prev.docGrid.linePitch.toString();\n if (prev.docGrid.charSpace !== undefined)\n dgAttrs['w:charSpace'] = prev.docGrid.charSpace.toString();\n if (Object.keys(dgAttrs).length > 0) {\n prevChildren.push(XMLBuilder.wSelf('docGrid', dgAttrs));\n }\n }\n }\n const prevSectPr = XMLBuilder.w('sectPr', undefined, prevChildren);\n children.push(XMLBuilder.w('sectPrChange', changeAttrs, [prevSectPr]));\n }\n\n return XMLBuilder.w('sectPr', undefined, children);\n }\n\n /**\n * Creates a deep clone of this section\n * @returns New Section instance with copied properties\n */\n clone(): Section {\n // Deep clone all nested objects\n const clonedProperties: SectionProperties = {};\n\n if (this.properties.pageSize) {\n clonedProperties.pageSize = { ...this.properties.pageSize };\n }\n\n if (this.properties.margins) {\n clonedProperties.margins = { ...this.properties.margins };\n }\n\n if (this.properties.columns) {\n clonedProperties.columns = {\n ...this.properties.columns,\n columnWidths: this.properties.columns.columnWidths\n ? [...this.properties.columns.columnWidths]\n : undefined,\n };\n }\n\n if (this.properties.pageNumbering) {\n clonedProperties.pageNumbering = { ...this.properties.pageNumbering };\n }\n\n if (this.properties.headers) {\n clonedProperties.headers = { ...this.properties.headers };\n }\n\n if (this.properties.footers) {\n clonedProperties.footers = { ...this.properties.footers };\n }\n\n if (this.properties.paperSource) {\n clonedProperties.paperSource = { ...this.properties.paperSource };\n }\n\n if (this.properties.docGrid) {\n clonedProperties.docGrid = { ...this.properties.docGrid };\n }\n\n if (this.properties.lineNumbering) {\n clonedProperties.lineNumbering = { ...this.properties.lineNumbering };\n }\n\n // Copy primitive properties\n clonedProperties.type = this.properties.type;\n clonedProperties.titlePage = this.properties.titlePage;\n clonedProperties.verticalAlignment = this.properties.verticalAlignment;\n clonedProperties.textDirection = this.properties.textDirection;\n clonedProperties.bidi = this.properties.bidi;\n clonedProperties.rtlGutter = this.properties.rtlGutter;\n\n return new Section(clonedProperties);\n }\n\n /**\n * Creates a section with default properties\n */\n static create(properties?: SectionProperties): Section {\n return new Section(properties);\n }\n\n /**\n * Creates a letter-sized section (8.5\" x 11\")\n */\n static createLetter(): Section {\n return new Section({\n pageSize: {\n width: PAGE_SIZES.LETTER.width,\n height: PAGE_SIZES.LETTER.height,\n orientation: 'portrait',\n },\n });\n }\n\n /**\n * Creates an A4-sized section (21cm x 29.7cm)\n */\n static createA4(): Section {\n return new Section({\n pageSize: {\n width: PAGE_SIZES.A4.width,\n height: PAGE_SIZES.A4.height,\n orientation: 'portrait',\n },\n });\n }\n\n /**\n * Creates a landscape section\n * @param pageSize Page size (default: Letter)\n */\n static createLandscape(pageSize: 'letter' | 'a4' = 'letter'): Section {\n const size = pageSize === 'a4' ? PAGE_SIZES.A4 : PAGE_SIZES.LETTER;\n return new Section({\n pageSize: {\n width: size.height, // Swap for landscape\n height: size.width,\n orientation: 'landscape',\n },\n });\n }\n}\n"]}
@@ -2,6 +2,7 @@ import { Paragraph } from './Paragraph';
2
2
  import { TableRow, RowFormatting } from './TableRow';
3
3
  import { TableCell, CellFormatting } from './TableCell';
4
4
  import { XMLElement } from '../xml/XMLBuilder';
5
+ import { TableGridChange } from './TableGridChange';
5
6
  import { TableAlignment as CommonTableAlignment, BorderStyle, HorizontalAnchor, VerticalAnchor, HorizontalAlignment, VerticalAlignment, ShadingConfig } from './CommonTypes';
6
7
  export type TableAlignment = CommonTableAlignment;
7
8
  export type TableLayout = 'auto' | 'autofit' | 'fixed';
@@ -86,11 +87,14 @@ export declare class Table {
86
87
  private _stylesManager?;
87
88
  private trackingContext?;
88
89
  private tblPrChange?;
90
+ private tblGridChange?;
89
91
  constructor(rows?: number, columns?: number, formatting?: TableFormatting);
90
92
  _setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void;
91
93
  getTblPrChange(): TblPrChange | undefined;
92
94
  setTblPrChange(change: TblPrChange | undefined): void;
93
95
  clearTblPrChange(): void;
96
+ getTblGridChange(): TableGridChange | undefined;
97
+ setTblGridChange(change: TableGridChange | undefined): void;
94
98
  addRow(row: TableRow): this;
95
99
  createRow(cellCount?: number, formatting?: RowFormatting): TableRow;
96
100
  getRow(index: number): TableRow | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/elements/Table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/elements/Table.ts"],"names":[],"mappings":"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"}