diff --git a/docs/usage/paragraph.md b/docs/usage/paragraph.md index 5649a4d4b3..65b7cc3eeb 100644 --- a/docs/usage/paragraph.md +++ b/docs/usage/paragraph.md @@ -60,29 +60,29 @@ const doc = new Document({ This is the list of options for a paragraph. A detailed explanation is below: -| Property | Type | Mandatory? | Possible Values | -| ------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | -| [text](#text) | `string` | Optional | | -| [heading](#heading) | `HeadingLevel` | Optional | `HEADING_1`, `HEADING_2`, `HEADING_3`, `HEADING_4`, `HEADING_5`, `HEADING_6`, `TITLE` | -| [border](#border) | `IBorderOptions` | Optional | `top`, `bottom`, `left`, `right`. Each of these are of type IBorderPropertyOptions. Click here for Example | -| [spacing](#spacing) | `ISpacingProperties` | Optional | See below for ISpacingProperties | -| [outlineLevel](#outline-level) | `number` | Optional | | -| alignment | `AlignmentType` | Optional | | -| heading | `HeadingLevel` | Optional | | -| bidirectional | `boolean` | Optional | | -| thematicBreak | `boolean` | Optional | | -| pageBreakBefore | `boolean` | Optional | | -| contextualSpacing | `boolean` | Optional | | -| indent | `IIndentAttributesProperties` | Optional | | -| keepLines | `boolean` | Optional | | -| keepNext | `boolean` | Optional | | -| children | `(TextRun or ImageRun or Hyperlink)[]` | Optional | | -| style | `string` | Optional | | -| [tabStop](usage/tab-stops) | `{ left?: ITabStopOptions; right?: ITabStopOptions; maxRight?: { leader: LeaderType; }; center?: ITabStopOptions }` | Optional | | -| [bullet](usage/bullet-points) | `{ level: number }` | Optional | | -| [numbering](usage/numbering) | `{ num: ConcreteNumbering; level: number; custom?: boolean }` | Optional | | -| [widowControl](#widow-control) | `boolean` | Optional | | -| [frame](usage/text-frames.md) | `IFrameOptions` | Optional | | +| Property | Type | Mandatory? | Possible Values | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [text](#text) | `string` | Optional | | +| [heading](#heading) | `HeadingLevel` | Optional | `HEADING_1`, `HEADING_2`, `HEADING_3`, `HEADING_4`, `HEADING_5`, `HEADING_6`, `TITLE` | +| [border](#border) | `IBorderOptions` | Optional | `top`, `bottom`, `left`, `right`. Each of these are of type IBorderPropertyOptions. Click here for Example | +| [spacing](#spacing) | `ISpacingProperties` | Optional | See below for ISpacingProperties | +| [outlineLevel](#outline-level) | `number` | Optional | | +| alignment | `AlignmentType` | Optional | `START`, `CENTER`, `END`, `BOTH`, `MEDIUM_KASHIDA`, `DISTRIBUTE`, `NUM_TAB`, `HIGH_KASHIDA`, `LOW_KASHIDA`, `THAI_DISTRIBUTE`, `LEFT`, `RIGHT`, `JUSTIFIED` | +| heading | `HeadingLevel` | Optional | | +| bidirectional | `boolean` | Optional | | +| thematicBreak | `boolean` | Optional | | +| pageBreakBefore | `boolean` | Optional | | +| contextualSpacing | `boolean` | Optional | | +| indent | `IIndentAttributesProperties` | Optional | | +| keepLines | `boolean` | Optional | | +| keepNext | `boolean` | Optional | | +| children | `(TextRun or ImageRun or Hyperlink)[]` | Optional | | +| style | `string` | Optional | | +| [tabStop](usage/tab-stops) | `{ left?: ITabStopOptions; right?: ITabStopOptions; maxRight?: { leader: LeaderType; }; center?: ITabStopOptions }` | Optional | | +| [bullet](usage/bullet-points) | `{ level: number }` | Optional | | +| [numbering](usage/numbering) | `{ num: ConcreteNumbering; level: number; custom?: boolean }` | Optional | | +| [widowControl](#widow-control) | `boolean` | Optional | | +| [frame](usage/text-frames.md) | `IFrameOptions` | Optional | | ## Text diff --git a/src/file/paragraph/formatting/alignment.ts b/src/file/paragraph/formatting/alignment.ts index 5684509066..05b4f2a6d3 100644 --- a/src/file/paragraph/formatting/alignment.ts +++ b/src/file/paragraph/formatting/alignment.ts @@ -1,16 +1,51 @@ // http://officeopenxml.com/WPalignment.php // http://officeopenxml.com/WPtableAlignment.php +// http://www.datypic.com/sc/ooxml/t-w_ST_Jc.html import { XmlAttributeComponent, XmlComponent } from "@file/xml-components"; +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// export enum AlignmentType { + /** Align Start */ START = "start", - END = "end", + /** Align Center */ CENTER = "center", + /** End */ + END = "end", + /** Justified */ BOTH = "both", - JUSTIFIED = "both", + /** Medium Kashida Length */ + MEDIUM_KASHIDA = "mediumKashida", + /** Distribute All Characters Equally */ DISTRIBUTE = "distribute", + /** Align to List Tab */ + NUM_TAB = "numTab", + /** Widest Kashida Length */ + HIGH_KASHIDA = "highKashida", + /** Low Kashida Length */ + LOW_KASHIDA = "lowKashida", + /** Thai Language Justification */ + THAI_DISTRIBUTE = "thaiDistribute", + /** Align Left */ LEFT = "left", + /** Align Right */ RIGHT = "right", + /** Justified */ + JUSTIFIED = "both", } export class AlignmentAttributes extends XmlAttributeComponent<{ readonly val: AlignmentType }> {