Fix: separate vertical alignment enums for ITableCellOptions and ISectionPropertiesOptions (#3079)
* fix: separate vertical alignment enums for table and section properties - Introduced `VerticalAlignTable` for table-cell vertical alignment with valid values: `top`, `center`, and `bottom`. - Added `VerticalAlignSection` for section properties, extending `VerticalAlignTable` with an additional value `both`. - Marked the original `VerticalAlign` as deprecated for backward compatibility, directing users to the new enums. - Updated type definitions for better clarity on valid vertical alignments. * refactor: update vertical alignment imports and types for section and table properties - Renamed `VerticalAlign` to `VerticalAlignSection` in section properties and `VerticalAlignTable` in table-cell properties for clarity. - Updated type definitions to reflect the new enum names, ensuring better organization and understanding of vertical alignment options. - Adjusted related test cases to utilize the new imports and types. * refactor: update demos to use new enums for table and section properties for vertical alignment
This commit is contained in:
@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest";
|
||||
|
||||
import { Formatter } from "@export/formatter";
|
||||
import { BorderStyle } from "@file/border";
|
||||
import { VerticalAlign } from "@file/vertical-align";
|
||||
import { VerticalAlignTable } from "@file/vertical-align";
|
||||
|
||||
import { WidthType } from "../table-width";
|
||||
import { VerticalMergeType } from "./table-cell-components";
|
||||
@ -32,7 +32,7 @@ describe("TableCellProperties", () => {
|
||||
});
|
||||
|
||||
it("sets vertical align", () => {
|
||||
const properties = new TableCellProperties({ verticalAlign: VerticalAlign.BOTTOM });
|
||||
const properties = new TableCellProperties({ verticalAlign: VerticalAlignTable.BOTTOM });
|
||||
const tree = new Formatter().format(properties);
|
||||
expect(tree).to.deep.equal({ "w:tcPr": [{ "w:vAlign": { _attr: { "w:val": "bottom" } } }] });
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { VerticalAlign, VerticalAlignElement } from "@file/vertical-align";
|
||||
import { TableVerticalAlign, VerticalAlignElement } from "@file/vertical-align";
|
||||
import { IgnoreIfEmptyXmlComponent } from "@file/xml-components";
|
||||
|
||||
import { IShadingAttributesProperties, Shading } from "../../shading";
|
||||
@ -17,7 +17,7 @@ import {
|
||||
export type ITableCellPropertiesOptions = {
|
||||
readonly shading?: IShadingAttributesProperties;
|
||||
readonly margins?: ITableCellMarginOptions;
|
||||
readonly verticalAlign?: (typeof VerticalAlign)[keyof typeof VerticalAlign];
|
||||
readonly verticalAlign?: TableVerticalAlign;
|
||||
readonly textDirection?: (typeof TextDirection)[keyof typeof TextDirection];
|
||||
readonly verticalMerge?: (typeof VerticalMergeType)[keyof typeof VerticalMergeType];
|
||||
readonly width?: ITableWidthProperties;
|
||||
|
@ -3,7 +3,7 @@ import { describe, expect, it } from "vitest";
|
||||
import { Formatter } from "@export/formatter";
|
||||
import { BorderStyle } from "@file/border";
|
||||
import { ShadingType } from "@file/shading";
|
||||
import { VerticalAlign } from "@file/vertical-align";
|
||||
import { VerticalAlignTable } from "@file/vertical-align";
|
||||
|
||||
import { WidthType } from "../table-width";
|
||||
import { TableCell } from "./table-cell";
|
||||
@ -286,7 +286,7 @@ describe("TableCell", () => {
|
||||
it("should create with vertical align", () => {
|
||||
const cell = new TableCell({
|
||||
children: [],
|
||||
verticalAlign: VerticalAlign.CENTER,
|
||||
verticalAlign: VerticalAlignTable.CENTER,
|
||||
});
|
||||
|
||||
const tree = new Formatter().format(cell);
|
||||
|
Reference in New Issue
Block a user