UNPKG

docx

Version:

Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.

44 lines (38 loc) 1.35 kB
import { twipsMeasureValue } from "file/values"; import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; // <xsd:complexType name="CT_Height"> // <xsd:attribute name="val" type="s:ST_TwipsMeasure"/> // <xsd:attribute name="hRule" type="ST_HeightRule"/> // </xsd:complexType> // <xsd:simpleType name="ST_HeightRule"> // <xsd:restriction base="xsd:string"> // <xsd:enumeration value="auto"/> // <xsd:enumeration value="exact"/> // <xsd:enumeration value="atLeast"/> // </xsd:restriction> // </xsd:simpleType> export enum HeightRule { /** Height is determined based on the content, so value is ignored. */ AUTO = "auto", /** At least the value specified */ ATLEAST = "atLeast", /** Exactly the value specified */ EXACT = "exact", } export class TableRowHeightAttributes extends XmlAttributeComponent<{ readonly value: number | string; readonly rule: HeightRule; }> { protected readonly xmlKeys = { value: "w:val", rule: "w:hRule" }; } export class TableRowHeight extends XmlComponent { constructor(value: number | string, rule: HeightRule) { super("w:trHeight"); this.root.push( new TableRowHeightAttributes({ value: twipsMeasureValue(value), rule: rule, }), ); } }