// http://officeopenxml.com/WPborders.php import { Attributes, XmlComponent } from "file/xml-components"; class BorderProperty extends XmlComponent { public setProperties(color: string, space: string, value: string, size: string): XmlComponent { const attrs = new Attributes({ color: color, space: space, val: value, sz: size, }); this.root.push(attrs); return this; } } export class Border extends XmlComponent { constructor() { super("w:pBdr"); } public addTopBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent { const top = new BorderProperty("w:top"); top.setProperties(color, space, value, size); this.root.push(top); return this; } public addBottomBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent { const bottom = new BorderProperty("w:bottom"); bottom.setProperties(color, space, value, size); this.root.push(bottom); return this; } public addLeftBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent { const left = new BorderProperty("w:left"); left.setProperties(color, space, value, size); this.root.push(left); return this; } public addRightBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent { const right = new BorderProperty("w:right"); right.setProperties(color, space, value, size); this.root.push(right); return this; } } export class ThematicBreak extends XmlComponent { constructor() { super("w:pBdr"); const bottom = new BorderProperty("w:bottom"); bottom.setProperties("auto", "1", "single", "6"); this.root.push(bottom); } }