docx
Version:
Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.
46 lines (38 loc) • 1.27 kB
text/typescript
// http://officeopenxml.com/WPborders.php
import { BorderElement, BorderStyle, IBorderOptions } from "file/border";
import { IgnoreIfEmptyXmlComponent, XmlComponent } from "file/xml-components";
export interface IBordersOptions {
readonly top?: IBorderOptions;
readonly bottom?: IBorderOptions;
readonly left?: IBorderOptions;
readonly right?: IBorderOptions;
}
export class Border extends IgnoreIfEmptyXmlComponent {
constructor(options: IBordersOptions) {
super("w:pBdr");
if (options.top) {
this.root.push(new BorderElement("w:top", options.top));
}
if (options.bottom) {
this.root.push(new BorderElement("w:bottom", options.bottom));
}
if (options.left) {
this.root.push(new BorderElement("w:left", options.left));
}
if (options.right) {
this.root.push(new BorderElement("w:right", options.right));
}
}
}
export class ThematicBreak extends XmlComponent {
constructor() {
super("w:pBdr");
const bottom = new BorderElement("w:bottom", {
color: "auto",
space: 1,
style: BorderStyle.SINGLE,
size: 6,
});
this.root.push(bottom);
}
}