@json-to-office/shared-docx 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/{chunk-X4IXMNTT.js → chunk-3DLMRNA7.js} +3 -3
  2. package/dist/{chunk-ZKFPP7QB.js → chunk-5SMBRJIZ.js} +2 -2
  3. package/dist/{chunk-EIBRJTYZ.js → chunk-75YQ4MB3.js} +2 -2
  4. package/dist/{chunk-ABUJBV6V.js → chunk-7YP6WMME.js} +2 -2
  5. package/dist/{chunk-BVKL6A45.js → chunk-EQBCT7KC.js} +2 -2
  6. package/dist/{chunk-Q56W3TGP.js → chunk-JGD54FUF.js} +2 -2
  7. package/dist/{chunk-7CIBFLKA.js → chunk-KMKQOMP7.js} +3 -3
  8. package/dist/{chunk-AKRWLY5N.js → chunk-LABRB6HV.js} +2 -2
  9. package/dist/{chunk-BCZ26ZVH.js → chunk-MCS7JCUD.js} +12 -3
  10. package/dist/chunk-MCS7JCUD.js.map +1 -0
  11. package/dist/{chunk-QHWB7VMD.js → chunk-PWLVDZHJ.js} +6 -6
  12. package/dist/index.js +10 -10
  13. package/dist/schemas/api.js +5 -5
  14. package/dist/schemas/component-defaults.js +1 -1
  15. package/dist/schemas/component-registry.js +3 -3
  16. package/dist/schemas/components.js +4 -4
  17. package/dist/schemas/document.js +6 -6
  18. package/dist/schemas/export.js +4 -4
  19. package/dist/schemas/generator.js +4 -4
  20. package/dist/schemas/theme.js +2 -2
  21. package/dist/validation/unified/index.js +6 -6
  22. package/package.json +2 -2
  23. package/dist/chunk-BCZ26ZVH.js.map +0 -1
  24. /package/dist/{chunk-X4IXMNTT.js.map → chunk-3DLMRNA7.js.map} +0 -0
  25. /package/dist/{chunk-ZKFPP7QB.js.map → chunk-5SMBRJIZ.js.map} +0 -0
  26. /package/dist/{chunk-EIBRJTYZ.js.map → chunk-75YQ4MB3.js.map} +0 -0
  27. /package/dist/{chunk-ABUJBV6V.js.map → chunk-7YP6WMME.js.map} +0 -0
  28. /package/dist/{chunk-BVKL6A45.js.map → chunk-EQBCT7KC.js.map} +0 -0
  29. /package/dist/{chunk-Q56W3TGP.js.map → chunk-JGD54FUF.js.map} +0 -0
  30. /package/dist/{chunk-7CIBFLKA.js.map → chunk-KMKQOMP7.js.map} +0 -0
  31. /package/dist/{chunk-AKRWLY5N.js.map → chunk-LABRB6HV.js.map} +0 -0
  32. /package/dist/{chunk-QHWB7VMD.js.map → chunk-PWLVDZHJ.js.map} +0 -0
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  ComponentDefinitionSchema,
3
3
  StandardComponentDefinitionSchema
4
- } from "./chunk-Q56W3TGP.js";
4
+ } from "./chunk-JGD54FUF.js";
5
5
  import {
6
6
  CustomComponentDefinitionSchema
7
7
  } from "./chunk-7GGTZ4TA.js";
8
8
  import {
9
9
  ReportPropsSchema,
10
10
  STANDARD_COMPONENTS_REGISTRY
11
- } from "./chunk-7CIBFLKA.js";
11
+ } from "./chunk-KMKQOMP7.js";
12
12
  import {
13
13
  collectDocxRendererErrors
14
14
  } from "./chunk-KGQAQE4S.js";
@@ -996,4 +996,4 @@ export {
996
996
  validateJsonComponent,
997
997
  validateDocumentWithSchema
998
998
  };
999
- //# sourceMappingURL=chunk-X4IXMNTT.js.map
999
+ //# sourceMappingURL=chunk-3DLMRNA7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ComponentDefaultsSchema
3
- } from "./chunk-BCZ26ZVH.js";
3
+ } from "./chunk-MCS7JCUD.js";
4
4
  import {
5
5
  IndentSchema
6
6
  } from "./chunk-ZKBTTJN6.js";
@@ -443,4 +443,4 @@ export {
443
443
  isValidThemeConfig,
444
444
  createMinimalTheme
445
445
  };
446
- //# sourceMappingURL=chunk-ZKFPP7QB.js.map
446
+ //# sourceMappingURL=chunk-5SMBRJIZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getContainerComponents
3
- } from "./chunk-7CIBFLKA.js";
3
+ } from "./chunk-KMKQOMP7.js";
4
4
 
5
5
  // src/schemas/export.ts
6
6
  import { restructureNameDiscriminatedUnions } from "@json-to-office/shared";
@@ -290,4 +290,4 @@ export {
290
290
  BASE_SCHEMA_METADATA,
291
291
  THEME_SCHEMA_METADATA
292
292
  };
293
- //# sourceMappingURL=chunk-EIBRJTYZ.js.map
293
+ //# sourceMappingURL=chunk-75YQ4MB3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ComponentDefinitionSchema
3
- } from "./chunk-Q56W3TGP.js";
3
+ } from "./chunk-JGD54FUF.js";
4
4
 
5
5
  // src/schemas/api.ts
6
6
  import { Type } from "@sinclair/typebox";
@@ -105,4 +105,4 @@ export {
105
105
  GenerateDocumentResponseSchema,
106
106
  ValidateDocumentResponseSchema
107
107
  };
108
- //# sourceMappingURL=chunk-ABUJBV6V.js.map
108
+ //# sourceMappingURL=chunk-7YP6WMME.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAllComponentSchemasNarrowed,
3
3
  getStandardComponent
4
- } from "./chunk-7CIBFLKA.js";
4
+ } from "./chunk-KMKQOMP7.js";
5
5
  import {
6
6
  DEFAULT_DOCX_RENDERER_ID,
7
7
  DOCX_RENDERER_IDS,
@@ -176,4 +176,4 @@ function generateRendererDocumentSchema(options, renderer, requireDiscriminator)
176
176
  export {
177
177
  generateUnifiedDocumentSchema
178
178
  };
179
- //# sourceMappingURL=chunk-BVKL6A45.js.map
179
+ //# sourceMappingURL=chunk-EQBCT7KC.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAllComponentSchemas,
3
3
  createAllComponentSchemasNarrowed
4
- } from "./chunk-7CIBFLKA.js";
4
+ } from "./chunk-KMKQOMP7.js";
5
5
 
6
6
  // src/schemas/components.ts
7
7
  import { Type } from "@sinclair/typebox";
@@ -31,4 +31,4 @@ export {
31
31
  StandardComponentDefinitionSchema,
32
32
  ComponentDefinitionSchema
33
33
  };
34
- //# sourceMappingURL=chunk-Q56W3TGP.js.map
34
+ //# sourceMappingURL=chunk-JGD54FUF.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-KGQAQE4S.js";
6
6
  import {
7
7
  ThemeOverridesSchema
8
- } from "./chunk-ZKFPP7QB.js";
8
+ } from "./chunk-5SMBRJIZ.js";
9
9
  import {
10
10
  ColumnsPropsSchema,
11
11
  ComponentDefaultsSchema,
@@ -18,7 +18,7 @@ import {
18
18
  TablePropsSchema,
19
19
  createSectionPropsSchema,
20
20
  createTablePropsSchema
21
- } from "./chunk-BCZ26ZVH.js";
21
+ } from "./chunk-MCS7JCUD.js";
22
22
  import {
23
23
  AlignmentSchema,
24
24
  FloatingPropertiesSchema,
@@ -927,4 +927,4 @@ export {
927
927
  createAllComponentSchemas,
928
928
  createAllComponentSchemasNarrowed
929
929
  };
930
- //# sourceMappingURL=chunk-7CIBFLKA.js.map
930
+ //# sourceMappingURL=chunk-KMKQOMP7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ComponentDefinitionSchema
3
- } from "./chunk-Q56W3TGP.js";
3
+ } from "./chunk-JGD54FUF.js";
4
4
 
5
5
  // src/schemas/document.ts
6
6
  var JsonComponentDefinitionSchema = ComponentDefinitionSchema;
@@ -31,4 +31,4 @@ export {
31
31
  JsonComponentDefinitionSchema,
32
32
  JSON_SCHEMA_URLS
33
33
  };
34
- //# sourceMappingURL=chunk-AKRWLY5N.js.map
34
+ //# sourceMappingURL=chunk-LABRB6HV.js.map
@@ -611,7 +611,16 @@ var FontConfigSchema = Type8.Object(
611
611
  })
612
612
  ),
613
613
  italic: Type8.Optional(Type8.Boolean({ description: "Italic text" })),
614
- underline: Type8.Optional(Type8.Boolean({ description: "Underlined text" }))
614
+ underline: Type8.Optional(Type8.Boolean({ description: "Underlined text" })),
615
+ lineSpacing: Type8.Optional(
616
+ Type8.Object(
617
+ { ...LineSpacingSchema.properties },
618
+ {
619
+ description: "Line spacing of the cell's paragraph. Overrides the theme's tableCell style; `exactly` gives dense, fixed-height rows.",
620
+ additionalProperties: false
621
+ }
622
+ )
623
+ )
615
624
  },
616
625
  { additionalProperties: false }
617
626
  );
@@ -660,7 +669,7 @@ var BorderSizeSchema = Type8.Union([
660
669
  ]);
661
670
  var HideBordersSchema = Type8.Union([
662
671
  Type8.Boolean({
663
- description: "Hide all borders when true"
672
+ description: "Hide all borders when true. A side named in a cell/column per-side borderColor or borderSize keeps its border"
664
673
  }),
665
674
  Type8.Object(
666
675
  {
@@ -1269,4 +1278,4 @@ export {
1269
1278
  ListComponentDefaultsSchema,
1270
1279
  ComponentDefaultsSchema
1271
1280
  };
1272
- //# sourceMappingURL=chunk-BCZ26ZVH.js.map
1281
+ //# sourceMappingURL=chunk-MCS7JCUD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schemas/component-defaults.ts","../src/schemas/components/heading.ts","../src/schemas/components/revision.ts","../src/schemas/components/comment.ts","../src/schemas/components/paragraph.ts","../src/schemas/components/note.ts","../src/schemas/components/image.ts","../src/schemas/components/statistic.ts","../src/schemas/components/table.ts","../src/schemas/components/section.ts","../src/schemas/components/columns.ts","../src/schemas/components/list.ts"],"sourcesContent":["/**\n * Component Defaults Schemas\n *\n * Extracted to its own file to avoid circular imports:\n * report.ts needs ComponentDefaultsSchema, but theme.ts (where it was)\n * imports from components.ts barrel which re-exports report.ts.\n *\n * This file imports directly from individual component files.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { HeadingPropsSchema } from './components/heading';\nimport { ParagraphPropsSchema } from './components/paragraph';\nimport { ImagePropsSchema } from './components/image';\nimport { StatisticPropsSchema } from './components/statistic';\nimport { TablePropsSchema } from './components/table';\nimport { SectionPropsSchema } from './components/section';\nimport { ColumnsPropsSchema } from './components/columns';\nimport { ListPropsSchema } from './components/list';\n\n/**\n * Props that describe one specific occurrence of a component and can never be\n * a shared default.\n *\n * `revision` would silently replace every component's text with the same\n * tracked change; `comment` would attach the same review comment to every\n * component and make the registry allocate a fresh id for each copy;\n * `footnotes` and `endnotes` are bodies bound to markers in one paragraph's\n * own text.\n * `ComponentDefaultsSchema` is embedded in every theme, so either leak is\n * theme-wide.\n *\n * Anything added here must also be added to the table in\n * `__tests__/component-defaults-per-instance.test.ts`, which is driven by this\n * list.\n */\nexport const PER_INSTANCE_PROPS = [\n 'revision',\n 'comment',\n 'footnotes',\n 'endnotes',\n] as const;\n\nexport type PerInstanceProp = (typeof PER_INSTANCE_PROPS)[number];\n\n// Create component defaults by making all fields optional (Type.Partial),\n// minus the per-instance props above.\nexport const HeadingComponentDefaultsSchema = Type.Partial(\n Type.Omit(HeadingPropsSchema, PER_INSTANCE_PROPS)\n);\nexport const ParagraphComponentDefaultsSchema = Type.Partial(\n Type.Omit(ParagraphPropsSchema, PER_INSTANCE_PROPS)\n);\nexport const ImageComponentDefaultsSchema = Type.Partial(ImagePropsSchema);\nexport const StatisticComponentDefaultsSchema =\n Type.Partial(StatisticPropsSchema);\n/**\n * `rows` is table *content*, not a default: it carries per-row revisions, and\n * `Type.Partial` is shallow, so leaving it in would let a theme mark the same\n * row of every table inserted or deleted.\n *\n * The leak is real only for `rows`, and only because `rows` is optional on the\n * instance. `deepMerge` replaces arrays wholesale rather than merging them\n * element-wise, and `columns` is the one required table prop — so a valid\n * table always supplies its own `columns`, which replaces any the theme\n * declared, cell comments and revisions included. `columns` therefore stays\n * here: it is inert in defaults, and rejecting an inert field would break\n * existing themes for no gain.\n */\nexport const TableComponentDefaultsSchema = Type.Partial(\n Type.Omit(TablePropsSchema, ['rows'])\n);\nexport const SectionComponentDefaultsSchema = Type.Partial(SectionPropsSchema);\nexport const ColumnsComponentDefaultsSchema = Type.Partial(ColumnsPropsSchema);\nexport const ListComponentDefaultsSchema = Type.Partial(\n Type.Omit(ListPropsSchema, PER_INSTANCE_PROPS)\n);\n\nexport const ComponentDefaultsSchema = Type.Object(\n {\n heading: Type.Optional(HeadingComponentDefaultsSchema),\n paragraph: Type.Optional(ParagraphComponentDefaultsSchema),\n image: Type.Optional(ImageComponentDefaultsSchema),\n statistic: Type.Optional(StatisticComponentDefaultsSchema),\n table: Type.Optional(TableComponentDefaultsSchema),\n section: Type.Optional(SectionComponentDefaultsSchema),\n columns: Type.Optional(ColumnsComponentDefaultsSchema),\n list: Type.Optional(ListComponentDefaultsSchema),\n },\n { additionalProperties: true } // TODO: add a way to add strict custom component defaults when the plugin/registry paradigm will be implemented\n);\n\n// TypeScript types\nexport type HeadingComponentDefaults = Static<\n typeof HeadingComponentDefaultsSchema\n>;\nexport type ParagraphComponentDefaults = Static<\n typeof ParagraphComponentDefaultsSchema\n>;\nexport type ImageComponentDefaults = Static<\n typeof ImageComponentDefaultsSchema\n>;\nexport type StatisticComponentDefaults = Static<\n typeof StatisticComponentDefaultsSchema\n>;\nexport type TableComponentDefaults = Static<\n typeof TableComponentDefaultsSchema\n>;\nexport type SectionComponentDefaults = Static<\n typeof SectionComponentDefaultsSchema\n>;\nexport type ColumnsComponentDefaults = Static<\n typeof ColumnsComponentDefaultsSchema\n>;\nexport type ListComponentDefaults = Static<typeof ListComponentDefaultsSchema>;\nexport type ComponentDefaults = Static<typeof ComponentDefaultsSchema>;\n","/**\n * Heading Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n FontDefinitionSchema,\n LanguageSchema,\n NoProofSchema,\n NoProofWordsSchema,\n} from '../font';\nimport {\n HeadingLevelSchema,\n JustifiedAlignmentSchema,\n SpacingSchema,\n LineSpacingSchema,\n ParagraphIndentSchema,\n} from './common';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\n\nexport const HeadingPropsSchema = Type.Object(\n {\n text: Type.String({\n description: 'Heading text (required)',\n }),\n level: Type.Optional(HeadingLevelSchema),\n // Local font override: allows customizing family/size/color/bold/italic/underline\n // without modifying theme styles. Supports partial overrides.\n font: Type.Optional(Type.Partial(FontDefinitionSchema)),\n // Local language override (BCP-47). Falls back to the document default when omitted.\n language: Type.Optional(LanguageSchema),\n // Disable spell/grammar checking for this heading's text\n noProof: Type.Optional(NoProofSchema),\n // Known-words allowlist for this heading (merged with the document list)\n noProofWords: Type.Optional(NoProofWordsSchema),\n alignment: Type.Optional(JustifiedAlignmentSchema),\n spacing: Type.Optional(SpacingSchema),\n // Paragraph indentation (w:ind) in twips\n indent: Type.Optional(ParagraphIndentSchema),\n lineSpacing: Type.Optional(\n Type.Union([Type.Number({ minimum: 0 }), LineSpacingSchema])\n ),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before heading',\n })\n ),\n columnBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert column break before heading',\n })\n ),\n numbering: Type.Optional(\n Type.Boolean({\n description:\n \"Number this heading with the document's multilevel heading numbering (1., 1.1., 1.1.1.). Set globally via componentDefaults.heading.numbering; false opts a single heading out.\",\n })\n ),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep heading with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of heading together on same page',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n comment: Type.Optional(CommentSchema),\n },\n {\n description: 'Heading component props',\n additionalProperties: false,\n }\n);\n\nexport type HeadingProps = Static<typeof HeadingPropsSchema>;\n","/**\n * Revision Schema\n * Tracked-change (redline) metadata for text-bearing components.\n *\n * When a component carries a `revision`, its text is rendered from\n * `revision.segments` as native Word tracked changes (w:ins / w:del)\n * instead of the plain `text` prop. The `text` prop should hold the\n * new (post-change) text so the document degrades gracefully when\n * revisions are ignored.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\nexport const RevisionSegmentSchema = Type.Object(\n {\n type: Type.Union(\n [Type.Literal('equal'), Type.Literal('insert'), Type.Literal('delete')],\n {\n description:\n \"Segment kind: 'equal' renders as normal text, 'insert' as a tracked insertion, 'delete' as a tracked deletion\",\n }\n ),\n text: Type.String({\n description: 'Literal text of this segment (rendered without markdown)',\n }),\n },\n {\n description: 'A contiguous run of text sharing one revision state',\n additionalProperties: false,\n }\n);\n\nexport const RevisionSchema = Type.Object(\n {\n author: Type.Optional(\n Type.String({\n description:\n 'Revision author shown in Word (default: \"json-to-office\")',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Revision timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n segments: Type.Array(RevisionSegmentSchema, {\n minItems: 1,\n description:\n 'Ordered text segments; concatenating equal+insert segments yields the new text, equal+delete the old text',\n }),\n },\n {\n description:\n 'Tracked-change data: renders the component text as native Word revisions (accept/reject in Word)',\n additionalProperties: false,\n }\n);\n\nexport type RevisionSegment = Static<typeof RevisionSegmentSchema>;\nexport type Revision = Static<typeof RevisionSchema>;\n\n/**\n * A structural revision: an insertion or deletion of a whole element (a table\n * row, say) rather than a run of text.\n *\n * `RevisionSchema` cannot express this — it requires `segments` with at least\n * one entry, and a structural mark has no text of its own.\n */\nexport const RevisionMarkSchema = Type.Object(\n {\n type: Type.Union([Type.Literal('insert'), Type.Literal('delete')], {\n description: 'Whether the element was inserted or deleted',\n }),\n author: Type.Optional(\n Type.String({\n description:\n 'Revision author shown in Word (default: \"json-to-office\")',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Revision timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n },\n {\n description:\n 'Structural tracked change: the element itself was inserted or deleted',\n additionalProperties: false,\n }\n);\n\nexport type RevisionMark = Static<typeof RevisionMarkSchema>;\n","/**\n * Comment Schema\n * Word review comments anchored to a text-bearing component.\n *\n * A comment attaches to the component that carries it: the rendered text is\n * wrapped in a `w:commentRangeStart` / `w:commentRangeEnd` pair and followed by\n * a `w:commentReference`, with the body living in `word/comments.xml`. The\n * component's own text is unaffected, so a reader that ignores comments sees\n * exactly the same document.\n *\n * Comment ids live in their own OOXML namespace, separate from the\n * `w:ins` / `w:del` ids used by [`RevisionSchema`](./revision.ts).\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\n/** Fields every comment in a thread shares. */\nconst CommentBodyFields = {\n text: Type.String({\n minLength: 1,\n description:\n 'Comment body. Newlines split it into separate paragraphs in the comment pane.',\n }),\n author: Type.Optional(\n Type.String({\n description: 'Comment author shown in Word (default: \"json-to-office\")',\n })\n ),\n initials: Type.Optional(\n Type.String({\n description:\n 'Author initials shown on the comment bubble (derived from the author when omitted)',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Comment timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n};\n\n/**\n * A reply in a comment thread. Word threads are one level deep — a reply\n * cannot itself carry replies — so this is deliberately not recursive.\n */\nexport const CommentReplySchema = Type.Object(CommentBodyFields, {\n description: 'A reply within a comment thread',\n additionalProperties: false,\n});\n\nexport const CommentSchema = Type.Object(\n {\n ...CommentBodyFields,\n replies: Type.Optional(\n Type.Array(CommentReplySchema, {\n minItems: 1,\n description:\n 'Replies, in order. They anchor to the same text and Word shows them as one thread.',\n })\n ),\n resolved: Type.Optional(\n Type.Boolean({\n description:\n 'Mark the whole thread resolved (w15:done). Word writes the thread state only when the document contains at least one reply.',\n })\n ),\n },\n {\n description: \"A Word review comment anchored to this component's text\",\n additionalProperties: false,\n }\n);\n\nexport type CommentReply = Static<typeof CommentReplySchema>;\nexport type Comment = Static<typeof CommentSchema>;\n","/**\n * Paragraph Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { SpacingSchema, ParagraphIndentSchema, TabStopsSchema } from './common';\nimport {\n FontDefinitionSchema,\n HexColorSchema,\n LanguageSchema,\n NoProofSchema,\n NoProofWordsSchema,\n} from '../font';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\nimport { EndnotesSchema, FootnotesSchema } from './note';\n\n// Frame wrapping type schema\nconst FrameWrapTypeSchema = Type.Union(\n [\n Type.Literal('around'),\n Type.Literal('none'),\n Type.Literal('notBeside'),\n Type.Literal('through'),\n Type.Literal('tight'),\n Type.Literal('auto'),\n ],\n {\n description: 'Frame text wrapping type',\n }\n);\n\n// Frame anchor type schema\nconst FrameAnchorTypeSchema = Type.Union(\n [Type.Literal('margin'), Type.Literal('page'), Type.Literal('text')],\n {\n description: 'Frame anchor type',\n }\n);\n\n// Frame horizontal position alignment schema\nconst FrameHorizontalAlignSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('inside'),\n Type.Literal('outside'),\n ],\n {\n description: 'Frame horizontal alignment',\n }\n);\n\n// Frame vertical position alignment schema\nconst FrameVerticalAlignSchema = Type.Union(\n [\n Type.Literal('top'),\n Type.Literal('center'),\n Type.Literal('bottom'),\n Type.Literal('inside'),\n Type.Literal('outside'),\n ],\n {\n description: 'Frame vertical alignment',\n }\n);\n\n// Floating frame properties schema\nconst FloatingFramePropertiesSchema = Type.Object(\n {\n horizontalPosition: Type.Optional(\n Type.Object(\n {\n relative: Type.Optional(FrameAnchorTypeSchema),\n align: Type.Optional(FrameHorizontalAlignSchema),\n offset: Type.Optional(\n Type.Union([\n Type.Number({\n description: 'Horizontal offset in twips (1/20 of a point)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Horizontal offset as percentage (e.g., \"50%\") relative to page or margin width',\n }),\n ])\n ),\n },\n {\n description:\n 'Horizontal positioning (use either align or offset, not both)',\n additionalProperties: false,\n }\n )\n ),\n verticalPosition: Type.Optional(\n Type.Object(\n {\n relative: Type.Optional(FrameAnchorTypeSchema),\n align: Type.Optional(FrameVerticalAlignSchema),\n offset: Type.Optional(\n Type.Union([\n Type.Number({\n description: 'Vertical offset in twips (1/20 of a point)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Vertical offset as percentage (e.g., \"50%\") relative to page or margin height',\n }),\n ])\n ),\n },\n {\n description:\n 'Vertical positioning (use either align or offset, not both)',\n additionalProperties: false,\n }\n )\n ),\n wrap: Type.Optional(\n Type.Object(\n {\n type: FrameWrapTypeSchema,\n },\n {\n description: 'Text wrapping configuration',\n additionalProperties: false,\n }\n )\n ),\n lockAnchor: Type.Optional(\n Type.Boolean({\n description: 'Lock the anchor position',\n })\n ),\n width: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Frame width in twips (DXA units)',\n })\n ),\n height: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Frame height in twips (DXA units)',\n })\n ),\n },\n {\n description: 'Floating text frame properties',\n additionalProperties: false,\n }\n);\n\n// Alignment type schema (paragraph-level, not font-level)\nconst AlignmentSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ],\n {\n description: 'Paragraph text alignment',\n }\n);\n\nexport const ParagraphPropsSchema = Type.Object(\n {\n text: Type.String({\n description: 'Text content (required)',\n }),\n // New nested font object, aligned with theme's FontDefinitionSchema\n // Allow partial overrides (family not required when overriding a subset)\n font: Type.Optional(Type.Partial(FontDefinitionSchema)),\n // Optional reference to a named style from theme.styles (e.g., 'heading1', 'normal')\n themeStyle: Type.Optional(Type.String()),\n // Local language override (BCP-47). Falls back to the document default when omitted.\n language: Type.Optional(LanguageSchema),\n // Disable spell/grammar checking for this paragraph's text\n noProof: Type.Optional(NoProofSchema),\n // Known-words allowlist for this paragraph (merged with the document list)\n noProofWords: Type.Optional(NoProofWordsSchema),\n // Rich-text decoration color for bold segments (kept as top-level behavior\n // option). Same value space as font.color: hex or theme color token.\n boldColor: Type.Optional(HexColorSchema),\n // Paragraph spacing (in points) — limited paragraph-level option allowed\n spacing: Type.Optional(SpacingSchema),\n // Paragraph alignment (moved from font to config level)\n alignment: Type.Optional(AlignmentSchema),\n // Paragraph indentation (w:ind) in twips\n indent: Type.Optional(ParagraphIndentSchema),\n // Tab stops (w:tabs); tab characters (\\t) in text jump to these positions\n tabStops: Type.Optional(TabStopsSchema),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before paragraph',\n })\n ),\n columnBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert column break before paragraph',\n })\n ),\n floating: Type.Optional(FloatingFramePropertiesSchema),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep paragraph with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of paragraph together on same page',\n })\n ),\n id: Type.Optional(\n Type.String({\n description: 'Unique identifier for internal linking (bookmark anchor)',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n comment: Type.Optional(CommentSchema),\n footnotes: Type.Optional(FootnotesSchema),\n endnotes: Type.Optional(EndnotesSchema),\n },\n {\n description:\n 'Paragraph component props (font nested for theme consistency; no flat font properties)',\n additionalProperties: false,\n }\n);\n\nexport type ParagraphProps = Static<typeof ParagraphPropsSchema>;\n","/**\n * Note Schemas (footnotes and endnotes)\n *\n * A note is authored in two halves: an inline `[^id]` marker in the text and a\n * body declared on the paragraph that carries it.\n *\n * { \"text\": \"Revenue grew 12%.[^rev]\",\n * \"footnotes\": [{ \"id\": \"rev\", \"text\": \"Source: FY26 audited accounts.\" }] }\n *\n * Footnotes and endnotes share the marker syntax and differ only in where Word\n * puts the body — the foot of the page, or the end of the document. An id is\n * resolved against the paragraph's `footnotes` first, then its `endnotes`.\n *\n * `[^id]` is only treated as a marker when `id` matches a declared note, so\n * text that merely looks like one — a regex character class in a code sample,\n * say — is left exactly as written.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\nexport const NoteSchema = Type.Object(\n {\n id: Type.String({\n minLength: 1,\n pattern: '^[^\\\\]\\\\s]+$',\n description:\n 'Marker id referenced from the text as `[^id]`. Any characters except whitespace and \"]\".',\n }),\n text: Type.String({\n minLength: 1,\n description:\n 'Note body. Newlines split it into separate paragraphs where the note is placed.',\n }),\n },\n {\n description: 'A note body bound to an inline `[^id]` marker',\n additionalProperties: false,\n }\n);\n\nexport const FootnotesSchema = Type.Array(NoteSchema, {\n description:\n 'Footnote bodies for `[^id]` markers in this paragraph, placed at the foot of the page. An unreferenced body is not emitted.',\n minItems: 1,\n});\n\nexport const EndnotesSchema = Type.Array(NoteSchema, {\n description:\n 'Endnote bodies for `[^id]` markers in this paragraph, collected at the end of the document. An unreferenced body is not emitted.',\n minItems: 1,\n});\n\nexport type Note = Static<typeof NoteSchema>;\n","/**\n * Image Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n AlignmentSchema,\n SpacingSchema,\n FloatingPropertiesSchema,\n} from './common';\n\nexport const ImagePropsSchema = Type.Object(\n {\n path: Type.Optional(\n Type.String({\n description:\n 'Image source URL or file path (mutually exclusive with base64 and svg)',\n })\n ),\n base64: Type.Optional(\n Type.String({\n description:\n 'Base64-encoded image data in data URI format (e.g., \"data:image/png;base64,iVBORw0KGgo...\") (mutually exclusive with path and svg)',\n })\n ),\n svg: Type.Optional(\n Type.String({\n description:\n 'Raw inline SVG markup, e.g. \"<svg xmlns=\\\\\"http://www.w3.org/2000/svg\\\\\" viewBox=\\\\\"0 0 24 24\\\\\">...</svg>\" (mutually exclusive with path and base64). Renders as a vector image (Word 2016+); intrinsic size taken from the SVG viewBox/width/height when width/height omitted.',\n })\n ),\n alt: Type.Optional(\n Type.String({\n description: 'Alternative text for accessibility',\n })\n ),\n width: Type.Optional(\n Type.Union(\n [\n Type.Number({\n minimum: 1,\n description: 'Image width in pixels',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Image width as percentage (e.g., \"90%\") relative to widthRelativeTo (defaults to content width)',\n }),\n ],\n {\n description:\n 'Image width in pixels (number) or as percentage string (e.g., \"90%\")',\n default: '100%',\n }\n )\n ),\n height: Type.Optional(\n Type.Union(\n [\n Type.Number({\n minimum: 1,\n description: 'Image height in pixels',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Image height as percentage (e.g., \"90%\") relative to heightRelativeTo (defaults to content height)',\n }),\n ],\n {\n description:\n 'Image height in pixels (number) or as percentage string (e.g., \"90%\")',\n }\n )\n ),\n widthRelativeTo: Type.Optional(\n Type.Union([Type.Literal('content'), Type.Literal('page')], {\n description:\n 'Reference for width percentages: content (page width minus margins) or page (full page width)',\n default: 'content',\n })\n ),\n heightRelativeTo: Type.Optional(\n Type.Union([Type.Literal('content'), Type.Literal('page')], {\n description:\n 'Reference for height percentages: content (page height minus margins) or page (full page height)',\n default: 'content',\n })\n ),\n alignment: Type.Optional(AlignmentSchema),\n caption: Type.Optional(\n Type.String({\n description:\n 'Image caption (supports rich text with **bold**, *italic*, ***both***)',\n })\n ),\n spacing: Type.Optional(SpacingSchema),\n floating: Type.Optional(FloatingPropertiesSchema),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep paragraph with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of paragraph together on same page',\n })\n ),\n },\n {\n description: 'Image component props',\n additionalProperties: false,\n }\n);\n\nexport type ImageProps = Static<typeof ImagePropsSchema>;\n","/**\n * Statistic Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { AlignmentSchema, SpacingSchema } from './common';\n\nexport const StatisticPropsSchema = Type.Object(\n {\n number: Type.String({\n description: 'Statistic number/value (required)',\n }),\n description: Type.String({\n description: 'Statistic description (required)',\n }),\n unit: Type.Optional(\n Type.String({\n description: 'Unit of measurement',\n })\n ),\n format: Type.Optional(\n Type.String({\n description: 'Number format pattern',\n })\n ),\n trend: Type.Optional(\n Type.Union([\n Type.Literal('up'),\n Type.Literal('down'),\n Type.Literal('neutral'),\n ])\n ),\n trendValue: Type.Optional(Type.Union([Type.String(), Type.Number()])),\n alignment: Type.Optional(AlignmentSchema),\n spacing: Type.Optional(SpacingSchema),\n size: Type.Optional(\n Type.Union([\n Type.Literal('small'),\n Type.Literal('medium'),\n Type.Literal('large'),\n ])\n ),\n },\n {\n description: 'Statistic component props',\n additionalProperties: false,\n }\n);\n\nexport type StatisticProps = Static<typeof StatisticPropsSchema>;\n","/**\n * Table Component Schema\n */\n\nimport { Type, Static, TSchema } from '@sinclair/typebox';\nimport { HexColorSchema, HexColorOrTransparentSchema } from '../font';\nimport { CommentSchema } from './comment';\nimport { LineSpacingSchema } from './common';\nimport { RevisionMarkSchema, RevisionSchema } from './revision';\n\n// Define Cell type - can be plain text or a component definition\nconst CellContentSchema = Type.Recursive((This) =>\n Type.Union([\n Type.String(),\n Type.Object(\n {\n name: Type.String(),\n props: Type.Object({}, { additionalProperties: true }),\n children: Type.Optional(Type.Array(This)),\n },\n { additionalProperties: false }\n ),\n ])\n);\n\n// Horizontal alignment schema\nconst HorizontalAlignmentSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ],\n { description: 'Horizontal text alignment' }\n);\n\n// Vertical alignment schema\nconst VerticalAlignmentSchema = Type.Union(\n [Type.Literal('top'), Type.Literal('middle'), Type.Literal('bottom')],\n { description: 'Vertical cell alignment' }\n);\n\n// Font configuration schema\nconst FontConfigSchema = Type.Object(\n {\n family: Type.Optional(Type.String({ description: 'Font family name' })),\n size: Type.Optional(\n Type.Number({ minimum: 0, description: 'Font size in points' })\n ),\n bold: Type.Optional(Type.Boolean({ description: 'Bold text' })),\n fontWeight: Type.Optional(\n Type.Integer({\n minimum: 100,\n maximum: 900,\n description: 'Per-cell weight (100–900). Overrides `bold` when set.',\n })\n ),\n italic: Type.Optional(Type.Boolean({ description: 'Italic text' })),\n underline: Type.Optional(Type.Boolean({ description: 'Underlined text' })),\n lineSpacing: Type.Optional(\n Type.Object(\n { ...LineSpacingSchema.properties },\n {\n description:\n \"Line spacing of the cell's paragraph. Overrides the theme's tableCell style; `exactly` gives dense, fixed-height rows.\",\n additionalProperties: false,\n }\n )\n ),\n },\n { additionalProperties: false }\n);\n\n// Border color - can be a single string or an object with sides\nconst BorderColorSchema = Type.Union([\n Type.String({ description: 'Border color for all sides (hex without #)' }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.String({ description: 'Bottom border color (hex without #)' })\n ),\n top: Type.Optional(\n Type.String({ description: 'Top border color (hex without #)' })\n ),\n right: Type.Optional(\n Type.String({ description: 'Right border color (hex without #)' })\n ),\n left: Type.Optional(\n Type.String({ description: 'Left border color (hex without #)' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Border size - can be a single number or an object with sides\nconst BorderSizeSchema = Type.Union([\n Type.Number({\n minimum: 0,\n description: 'Border size for all sides in points',\n }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Number({ minimum: 0, description: 'Bottom border size in points' })\n ),\n top: Type.Optional(\n Type.Number({ minimum: 0, description: 'Top border size in points' })\n ),\n right: Type.Optional(\n Type.Number({ minimum: 0, description: 'Right border size in points' })\n ),\n left: Type.Optional(\n Type.Number({ minimum: 0, description: 'Left border size in points' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Hide borders - can be a boolean or an object with sides. A side named in a\n// cell's or column's per-side borderColor/borderSize keeps its border.\nconst HideBordersSchema = Type.Union([\n Type.Boolean({\n description:\n 'Hide all borders when true. A side named in a cell/column per-side borderColor or borderSize keeps its border',\n }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Boolean({ description: 'Hide bottom border' })\n ),\n top: Type.Optional(Type.Boolean({ description: 'Hide top border' })),\n right: Type.Optional(Type.Boolean({ description: 'Hide right border' })),\n left: Type.Optional(Type.Boolean({ description: 'Hide left border' })),\n insideHorizontal: Type.Optional(\n Type.Boolean({ description: 'Hide horizontal borders between rows' })\n ),\n insideVertical: Type.Optional(\n Type.Boolean({ description: 'Hide vertical borders between columns' })\n ),\n },\n {\n description: 'Selectively hide specific borders',\n additionalProperties: false,\n }\n ),\n]);\n\n// Padding - can be a single number or an object with sides\nconst PaddingSchema = Type.Union([\n Type.Number({ minimum: 0, description: 'Padding for all sides in points' }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Number({ minimum: 0, description: 'Bottom padding in points' })\n ),\n top: Type.Optional(\n Type.Number({ minimum: 0, description: 'Top padding in points' })\n ),\n right: Type.Optional(\n Type.Number({ minimum: 0, description: 'Right padding in points' })\n ),\n left: Type.Optional(\n Type.Number({ minimum: 0, description: 'Left padding in points' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Cell defaults configuration\nconst CellDefaultsSchema = Type.Object(\n {\n color: Type.Optional(HexColorSchema),\n backgroundColor: Type.Optional(HexColorOrTransparentSchema),\n horizontalAlignment: Type.Optional(HorizontalAlignmentSchema),\n verticalAlignment: Type.Optional(VerticalAlignmentSchema),\n font: Type.Optional(FontConfigSchema),\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n padding: Type.Optional(PaddingSchema),\n height: Type.Optional(\n Type.Number({ minimum: 0, description: 'Cell height in points' })\n ),\n },\n { additionalProperties: false }\n);\n\n/**\n * Build TablePropsSchema with a given cell-content type.\n * Called with `CellContentSchema` for the static export below, and with a\n * live recursive ref at schema-generation time.\n */\nexport function createTablePropsSchema(componentRef: TSchema): TSchema {\n const cellContent = Type.Union([Type.String(), componentRef]);\n\n const cellFields = {\n color: Type.Optional(HexColorSchema),\n backgroundColor: Type.Optional(HexColorOrTransparentSchema),\n horizontalAlignment: Type.Optional(HorizontalAlignmentSchema),\n verticalAlignment: Type.Optional(VerticalAlignmentSchema),\n font: Type.Optional(FontConfigSchema),\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n padding: Type.Optional(PaddingSchema),\n height: Type.Optional(\n Type.Number({ minimum: 0, description: 'Cell height in points' })\n ),\n comment: Type.Optional(CommentSchema),\n revision: Type.Optional(RevisionSchema),\n };\n\n const headerSchema = Type.Object(\n {\n ...cellFields,\n content: Type.Optional(cellContent),\n },\n { additionalProperties: false }\n );\n\n const cellSchema = Type.Object(\n {\n ...cellFields,\n content: Type.Optional(cellContent),\n },\n { additionalProperties: false }\n );\n\n const columnSchema = Type.Object(\n {\n width: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description:\n 'Column width in points. When set on some columns, remaining columns will automatically share the leftover table space equally. Leave undefined to distribute space evenly among unspecified columns.',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Column width as percentage of available width (e.g., \"40%\")',\n }),\n ])\n ),\n cellDefaults: Type.Optional(CellDefaultsSchema),\n header: Type.Optional(headerSchema),\n cells: Type.Optional(Type.Array(cellSchema)),\n },\n { additionalProperties: false }\n );\n\n return Type.Object(\n {\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n hideBorders: Type.Optional(HideBordersSchema),\n cellDefaults: Type.Optional(CellDefaultsSchema),\n headerCellDefaults: Type.Optional(CellDefaultsSchema),\n width: Type.Optional(\n Type.Number({\n minimum: 0,\n maximum: 100,\n description: 'Table width in percentage (0-100)',\n })\n ),\n columns: Type.Array(columnSchema, {\n description: 'Table columns with headers and cells',\n minItems: 1,\n }),\n rows: Type.Optional(\n Type.Array(\n Type.Object(\n {\n revision: Type.Optional(RevisionMarkSchema),\n cantSplit: Type.Optional(\n Type.Boolean({\n description: 'Keep this row on one page',\n })\n ),\n tableHeader: Type.Optional(\n Type.Boolean({\n description: 'Repeat this row as a header on each page',\n })\n ),\n },\n { additionalProperties: false }\n ),\n {\n description:\n 'Row-parallel properties, indexed like `columns[].cells`. The model is column-major, so anything that belongs to a whole row lives here.',\n }\n )\n ),\n keepInOnePage: Type.Optional(\n Type.Boolean({\n description:\n 'Keep table rows together on the same page by setting keepNext on all paragraphs',\n })\n ),\n keepNext: Type.Optional(\n Type.Boolean({\n description:\n 'Set keepNext on the last row to keep it connected to the next element. Works independently of keepInOnePage. Defaults to false.',\n })\n ),\n repeatHeaderOnPageBreak: Type.Optional(\n Type.Boolean({\n description:\n 'Repeat the header row on each page when the table spans multiple pages. Defaults to true.',\n default: true,\n })\n ),\n },\n {\n description: 'Table component props with column-based structure',\n additionalProperties: false,\n }\n );\n}\n\n// Static version for validators, type inference, and theme defaults.\nexport const TablePropsSchema = createTablePropsSchema(CellContentSchema);\n\nexport type TableProps = Static<typeof TablePropsSchema>;\n","/**\n * Section Component Schema\n */\n\nimport { Type, Static, TSchema } from '@sinclair/typebox';\nimport { SpacingSchema } from './common';\n\n// Create a function to generate SectionPropsSchema with recursive component reference\nexport const createSectionPropsSchema = (componentRef?: TSchema) =>\n Type.Object(\n {\n meta: Type.Optional(\n Type.Object(\n {\n title: Type.Optional(\n Type.String({\n description:\n 'Authoring label for this section, shown in editors and outlines. Never rendered — add a heading child for a visible title.',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Authoring metadata; has no effect on the document.',\n }\n )\n ),\n header: Type.Optional(\n Type.Union([\n Type.Array(componentRef || Type.Any(), {\n description: 'Section header components',\n }),\n Type.Literal('linkToPrevious', {\n description: 'Link header to previous section',\n }),\n ])\n ),\n footer: Type.Optional(\n Type.Union([\n Type.Array(componentRef || Type.Any(), {\n description: 'Section footer components',\n }),\n Type.Literal('linkToPrevious', {\n description: 'Link footer to previous section',\n }),\n ])\n ),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before section',\n default: true,\n })\n ),\n spacing: Type.Optional(SpacingSchema),\n page: Type.Optional(\n Type.Object(\n {\n size: Type.Optional(\n Type.Union([\n Type.Literal('A4'),\n Type.Literal('A3'),\n Type.Literal('LETTER'),\n Type.Literal('LEGAL'),\n Type.Object({\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n }),\n ])\n ),\n margins: Type.Optional(\n Type.Object(\n {\n top: Type.Optional(Type.Number({ minimum: 0 })),\n bottom: Type.Optional(Type.Number({ minimum: 0 })),\n left: Type.Optional(Type.Number({ minimum: 0 })),\n right: Type.Optional(Type.Number({ minimum: 0 })),\n header: Type.Optional(Type.Number({ minimum: 0 })),\n footer: Type.Optional(Type.Number({ minimum: 0 })),\n gutter: Type.Optional(Type.Number({ minimum: 0 })),\n },\n {\n additionalProperties: false,\n }\n )\n ),\n },\n {\n description:\n 'Page configuration override for this section (overrides theme page settings)',\n additionalProperties: false,\n }\n )\n ),\n },\n {\n description: 'Section component props',\n additionalProperties: false,\n }\n );\n\nexport const SectionPropsSchema = createSectionPropsSchema();\n\nexport type SectionProps = Static<typeof SectionPropsSchema>;\n","/**\n * Columns Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\n// Single column descriptor\nconst ColumnDescriptorSchema = Type.Object(\n {\n width: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 1,\n description: 'Column width in points',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Column width as percentage of available width (e.g., \"30%\")',\n }),\n Type.Literal('auto', {\n description:\n 'Auto width: consume remaining space after fixed widths and gaps',\n }),\n ])\n ),\n gap: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description: 'Gap after this column in points',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Gap after this column as percentage of available width (e.g., \"5%\")',\n }),\n ])\n ),\n },\n { additionalProperties: false }\n);\n\nexport const ColumnsPropsSchema = Type.Object(\n {\n columns: Type.Union([\n Type.Number({\n minimum: 1,\n description:\n 'Number of equal-width columns (converter will normalize to array)',\n }),\n Type.Array(ColumnDescriptorSchema, {\n minItems: 1,\n description:\n 'List of columns in order; width and gap can be points, percentages, or auto width',\n }),\n ]),\n gap: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description:\n 'Default gap applied after each column except the last (points)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Default gap applied after each column except the last as percentage of available width (e.g., \"5%\")',\n }),\n ])\n ),\n },\n {\n description: 'Columns component props',\n additionalProperties: false,\n }\n);\n\nexport type ColumnsProps = Static<typeof ColumnsPropsSchema>;\n","/**\n * List Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n ListSpacingSchema,\n JustifiedAlignmentSchema,\n IndentSchema,\n} from './common';\nimport { HexColorSchema } from '../font';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\n\n/**\n * Level format options for docx numbering\n * Maps to docx LevelFormat enum\n */\nexport const LevelFormatSchema = Type.Union(\n [\n Type.Literal('decimal'),\n Type.Literal('upperRoman'),\n Type.Literal('lowerRoman'),\n Type.Literal('upperLetter'),\n Type.Literal('lowerLetter'),\n Type.Literal('bullet'),\n Type.Literal('ordinal'),\n Type.Literal('cardinalText'),\n Type.Literal('ordinalText'),\n Type.Literal('hex'),\n Type.Literal('chicago'),\n Type.Literal('ideographDigital'),\n Type.Literal('japaneseCounting'),\n Type.Literal('aiueo'),\n Type.Literal('iroha'),\n Type.Literal('decimalFullWidth'),\n Type.Literal('decimalHalfWidth'),\n Type.Literal('japaneseLegal'),\n Type.Literal('japaneseDigitalTenThousand'),\n Type.Literal('decimalEnclosedCircle'),\n Type.Literal('decimalFullWidth2'),\n Type.Literal('aiueoFullWidth'),\n Type.Literal('irohaFullWidth'),\n Type.Literal('decimalZero'),\n Type.Literal('ganada'),\n Type.Literal('chosung'),\n Type.Literal('decimalEnclosedFullstop'),\n Type.Literal('decimalEnclosedParen'),\n Type.Literal('decimalEnclosedCircleChinese'),\n Type.Literal('ideographEnclosedCircle'),\n Type.Literal('ideographTraditional'),\n Type.Literal('ideographZodiac'),\n Type.Literal('ideographZodiacTraditional'),\n Type.Literal('taiwaneseCounting'),\n Type.Literal('ideographLegalTraditional'),\n Type.Literal('taiwaneseCountingThousand'),\n Type.Literal('taiwaneseDigital'),\n Type.Literal('chineseCounting'),\n Type.Literal('chineseLegalSimplified'),\n Type.Literal('chineseCountingThousand'),\n Type.Literal('koreanDigital'),\n Type.Literal('koreanCounting'),\n Type.Literal('koreanLegal'),\n Type.Literal('koreanDigital2'),\n Type.Literal('vietnameseCounting'),\n Type.Literal('russianLower'),\n Type.Literal('russianUpper'),\n Type.Literal('none'),\n Type.Literal('numberInDash'),\n Type.Literal('hebrew1'),\n Type.Literal('hebrew2'),\n Type.Literal('arabicAlpha'),\n Type.Literal('arabicAbjad'),\n Type.Literal('hindiVowels'),\n Type.Literal('hindiConsonants'),\n Type.Literal('hindiNumbers'),\n Type.Literal('hindiCounting'),\n Type.Literal('thaiLetters'),\n Type.Literal('thaiNumbers'),\n Type.Literal('thaiCounting'),\n ],\n {\n description: 'Number or bullet format for list levels',\n }\n);\n\n/**\n * Font applied to the marker glyph itself (the number or bullet), independent\n * of the list text. Maps to the numbering level's `w:rPr`.\n */\nexport const ListMarkerFontSchema = Type.Object(\n {\n family: Type.Optional(Type.String({ description: 'Font family name' })),\n size: Type.Optional(\n Type.Number({ minimum: 1, description: 'Marker size in points' })\n ),\n color: Type.Optional(HexColorSchema),\n bold: Type.Optional(Type.Boolean({ description: 'Bold marker' })),\n italic: Type.Optional(Type.Boolean({ description: 'Italic marker' })),\n underline: Type.Optional(\n Type.Boolean({ description: 'Underlined marker' })\n ),\n },\n {\n description:\n 'Styling for the number/bullet glyph only. The list text is unaffected.',\n additionalProperties: false,\n }\n);\n\n/**\n * Configuration for a single numbering level\n */\nexport const ListLevelPropsSchema = Type.Object(\n {\n level: Type.Number({\n minimum: 0,\n maximum: 8,\n description: 'Nesting level (0 = root, 1 = first sublevel, etc.)',\n }),\n format: Type.Optional(LevelFormatSchema),\n text: Type.Optional(\n Type.String({\n description:\n 'Number format string (e.g., \"%1.\" for \"1.\", \"%1)\" for \"1)\", custom bullet character for bullet format)',\n })\n ),\n alignment: Type.Optional(\n Type.Union(\n [\n Type.Literal('start'),\n Type.Literal('end'),\n Type.Literal('left'),\n Type.Literal('right'),\n Type.Literal('center'),\n ],\n {\n description: 'Alignment of the numbering/bullet',\n }\n )\n ),\n indent: Type.Optional(IndentSchema),\n start: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Starting number for this level (default: 1)',\n })\n ),\n font: Type.Optional(ListMarkerFontSchema),\n },\n {\n description: 'Configuration for a single list level',\n additionalProperties: false,\n }\n);\n\nexport const ListPropsSchema = Type.Object(\n {\n items: Type.Array(\n Type.Union([\n Type.String(),\n Type.Object(\n {\n text: Type.String(),\n level: Type.Optional(\n Type.Number({\n minimum: 0,\n maximum: 8,\n description: 'Nesting level for this item',\n })\n ),\n id: Type.Optional(\n Type.String({\n description:\n 'Bookmark id for this item, targetable by internal links (#id) and cross-references ([@id])',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n },\n { additionalProperties: false }\n ),\n ]),\n {\n description: 'List items (required)',\n minItems: 1,\n }\n ),\n reference: Type.Optional(\n Type.String({\n description:\n 'Unique reference ID for this numbering configuration (auto-generated if not provided)',\n })\n ),\n levels: Type.Optional(\n Type.Array(ListLevelPropsSchema, {\n description: 'Configuration for each nesting level',\n minItems: 1,\n maxItems: 9,\n })\n ),\n // Simplified options for common use cases (when levels not specified)\n format: Type.Optional(\n Type.Union(\n [LevelFormatSchema, Type.Literal('numbered'), Type.Literal('none')],\n {\n description:\n 'Format for level 0 (simplified option when levels not specified)',\n }\n )\n ),\n bullet: Type.Optional(\n Type.String({\n description:\n 'Custom bullet character (simplified option when levels not specified)',\n })\n ),\n start: Type.Optional(\n Type.Number({\n minimum: 1,\n description:\n 'Starting number for level 0. Applies whether or not `levels` is given; a `start` on the level itself wins.',\n })\n ),\n spacing: Type.Optional(ListSpacingSchema),\n alignment: Type.Optional(JustifiedAlignmentSchema),\n indent: Type.Optional(\n Type.Union([Type.Number({ minimum: 0 }), IndentSchema])\n ),\n // Anchored to the list as a whole: the range opens on the first rendered\n // item and closes on the last.\n comment: Type.Optional(CommentSchema),\n },\n {\n description: 'List component props',\n additionalProperties: false,\n }\n);\n\nexport type LevelFormat = Static<typeof LevelFormatSchema>;\nexport type ListMarkerFont = Static<typeof ListMarkerFontSchema>;\nexport type ListLevelProps = Static<typeof ListLevelPropsSchema>;\nexport type ListProps = Static<typeof ListPropsSchema>;\n"],"mappings":"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","names":["Type","Type","Type","Type","Type","Type","Type","AlignmentSchema","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type"]}
@@ -3,19 +3,19 @@ import {
3
3
  strictDocumentValidator,
4
4
  validateAgainstSchema,
5
5
  validateJson
6
- } from "./chunk-X4IXMNTT.js";
6
+ } from "./chunk-3DLMRNA7.js";
7
7
  import {
8
8
  ComponentDefinitionSchema
9
- } from "./chunk-Q56W3TGP.js";
9
+ } from "./chunk-JGD54FUF.js";
10
10
  import {
11
11
  CustomComponentDefinitionSchema
12
12
  } from "./chunk-7GGTZ4TA.js";
13
13
  import {
14
14
  ReportPropsSchema
15
- } from "./chunk-7CIBFLKA.js";
15
+ } from "./chunk-KMKQOMP7.js";
16
16
  import {
17
17
  ThemeConfigSchema
18
- } from "./chunk-ZKFPP7QB.js";
18
+ } from "./chunk-5SMBRJIZ.js";
19
19
  import {
20
20
  ColumnsPropsSchema,
21
21
  HeadingPropsSchema,
@@ -25,7 +25,7 @@ import {
25
25
  SectionPropsSchema,
26
26
  StatisticPropsSchema,
27
27
  TablePropsSchema
28
- } from "./chunk-BCZ26ZVH.js";
28
+ } from "./chunk-MCS7JCUD.js";
29
29
 
30
30
  // src/validation/unified/index.ts
31
31
  import {
@@ -410,4 +410,4 @@ export {
410
410
  createErrorConfig,
411
411
  formatErrorMessage
412
412
  };
413
- //# sourceMappingURL=chunk-QHWB7VMD.js.map
413
+ //# sourceMappingURL=chunk-PWLVDZHJ.js.map
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "./chunk-BVKL6A45.js";
3
+ } from "./chunk-EQBCT7KC.js";
4
4
  import {
5
5
  ERROR_TEMPLATES,
6
6
  componentValidator,
@@ -31,17 +31,17 @@ import {
31
31
  validateTheme,
32
32
  validateThemeJson,
33
33
  validateThemeWithEnhancement
34
- } from "./chunk-QHWB7VMD.js";
34
+ } from "./chunk-PWLVDZHJ.js";
35
35
  import {
36
36
  GenerateDocumentRequestSchema,
37
37
  GenerateDocumentResponseSchema,
38
38
  ValidateDocumentRequestSchema,
39
39
  ValidateDocumentResponseSchema
40
- } from "./chunk-ABUJBV6V.js";
40
+ } from "./chunk-7YP6WMME.js";
41
41
  import {
42
42
  JSON_SCHEMA_URLS,
43
43
  JsonComponentDefinitionSchema
44
- } from "./chunk-AKRWLY5N.js";
44
+ } from "./chunk-LABRB6HV.js";
45
45
  import {
46
46
  collectIndentConflicts,
47
47
  collectNoteRevisionConflicts,
@@ -66,11 +66,11 @@ import {
66
66
  validateJsonComponent,
67
67
  validateJsonDocument,
68
68
  validateWithEnhancement
69
- } from "./chunk-X4IXMNTT.js";
69
+ } from "./chunk-3DLMRNA7.js";
70
70
  import {
71
71
  ComponentDefinitionSchema,
72
72
  StandardComponentDefinitionSchema
73
- } from "./chunk-Q56W3TGP.js";
73
+ } from "./chunk-JGD54FUF.js";
74
74
  import {
75
75
  CustomComponentDefinitionSchema,
76
76
  TextSpaceAfterComponentSchema,
@@ -84,7 +84,7 @@ import {
84
84
  createComponentSchema,
85
85
  exportSchemaToFile,
86
86
  fixSchemaReferences
87
- } from "./chunk-EIBRJTYZ.js";
87
+ } from "./chunk-75YQ4MB3.js";
88
88
  import {
89
89
  ChartPropsSchema,
90
90
  HighchartsPropsSchema,
@@ -94,7 +94,7 @@ import {
94
94
  TocPropsSchema,
95
95
  getAllStandardComponentNames,
96
96
  getStandardComponent
97
- } from "./chunk-7CIBFLKA.js";
97
+ } from "./chunk-KMKQOMP7.js";
98
98
  import {
99
99
  DEFAULT_DOCX_RENDERER_ID,
100
100
  DOCX_RENDERER_IDS,
@@ -118,7 +118,7 @@ import {
118
118
  ThemeConfigSchema,
119
119
  createMinimalTheme,
120
120
  isValidThemeConfig
121
- } from "./chunk-ZKFPP7QB.js";
121
+ } from "./chunk-5SMBRJIZ.js";
122
122
  import {
123
123
  ColumnsPropsSchema,
124
124
  CommentReplySchema,
@@ -137,7 +137,7 @@ import {
137
137
  SectionPropsSchema,
138
138
  StatisticPropsSchema,
139
139
  TablePropsSchema
140
- } from "./chunk-BCZ26ZVH.js";
140
+ } from "./chunk-MCS7JCUD.js";
141
141
  import {
142
142
  AlignmentSchema,
143
143
  BaseComponentPropsSchema,
@@ -3,12 +3,12 @@ import {
3
3
  GenerateDocumentResponseSchema,
4
4
  ValidateDocumentRequestSchema,
5
5
  ValidateDocumentResponseSchema
6
- } from "../chunk-ABUJBV6V.js";
7
- import "../chunk-Q56W3TGP.js";
8
- import "../chunk-7CIBFLKA.js";
6
+ } from "../chunk-7YP6WMME.js";
7
+ import "../chunk-JGD54FUF.js";
8
+ import "../chunk-KMKQOMP7.js";
9
9
  import "../chunk-KGQAQE4S.js";
10
- import "../chunk-ZKFPP7QB.js";
11
- import "../chunk-BCZ26ZVH.js";
10
+ import "../chunk-5SMBRJIZ.js";
11
+ import "../chunk-MCS7JCUD.js";
12
12
  import "../chunk-ZKBTTJN6.js";
13
13
  import "../chunk-7TTAAYQ5.js";
14
14
  export {
@@ -9,7 +9,7 @@ import {
9
9
  SectionComponentDefaultsSchema,
10
10
  StatisticComponentDefaultsSchema,
11
11
  TableComponentDefaultsSchema
12
- } from "../chunk-BCZ26ZVH.js";
12
+ } from "../chunk-MCS7JCUD.js";
13
13
  import "../chunk-ZKBTTJN6.js";
14
14
  import "../chunk-7TTAAYQ5.js";
15
15
  export {
@@ -9,10 +9,10 @@ import {
9
9
  getContentComponents,
10
10
  getStandardComponent,
11
11
  isStandardComponent
12
- } from "../chunk-7CIBFLKA.js";
12
+ } from "../chunk-KMKQOMP7.js";
13
13
  import "../chunk-KGQAQE4S.js";
14
- import "../chunk-ZKFPP7QB.js";
15
- import "../chunk-BCZ26ZVH.js";
14
+ import "../chunk-5SMBRJIZ.js";
15
+ import "../chunk-MCS7JCUD.js";
16
16
  import "../chunk-ZKBTTJN6.js";
17
17
  import "../chunk-7TTAAYQ5.js";
18
18
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ComponentDefinitionSchema,
3
3
  StandardComponentDefinitionSchema
4
- } from "../chunk-Q56W3TGP.js";
4
+ } from "../chunk-JGD54FUF.js";
5
5
  import {
6
6
  ChartPropsSchema,
7
7
  HighchartsPropsSchema,
@@ -13,7 +13,7 @@ import {
13
13
  TocStyleMappingSchema,
14
14
  TocStyleSchema,
15
15
  createReportPropsSchema
16
- } from "../chunk-7CIBFLKA.js";
16
+ } from "../chunk-KMKQOMP7.js";
17
17
  import {
18
18
  NATIVE_RENDER_MODE,
19
19
  NATIVE_VISUAL_ELEMENT_NAMES,
@@ -40,7 +40,7 @@ import {
40
40
  VisualRasterPropsSchema,
41
41
  isNativeVisualProps
42
42
  } from "../chunk-KGQAQE4S.js";
43
- import "../chunk-ZKFPP7QB.js";
43
+ import "../chunk-5SMBRJIZ.js";
44
44
  import {
45
45
  ColumnsPropsSchema,
46
46
  CommentReplySchema,
@@ -63,7 +63,7 @@ import {
63
63
  TablePropsSchema,
64
64
  createSectionPropsSchema,
65
65
  createTablePropsSchema
66
- } from "../chunk-BCZ26ZVH.js";
66
+ } from "../chunk-MCS7JCUD.js";
67
67
  import {
68
68
  AlignmentSchema,
69
69
  BaseComponentFields,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  JSON_SCHEMA_URLS,
3
3
  JsonComponentDefinitionSchema
4
- } from "../chunk-AKRWLY5N.js";
4
+ } from "../chunk-LABRB6HV.js";
5
5
  import {
6
6
  validateDocumentWithSchema,
7
7
  validateJsonComponent
8
- } from "../chunk-X4IXMNTT.js";
9
- import "../chunk-Q56W3TGP.js";
8
+ } from "../chunk-3DLMRNA7.js";
9
+ import "../chunk-JGD54FUF.js";
10
10
  import "../chunk-7GGTZ4TA.js";
11
- import "../chunk-7CIBFLKA.js";
11
+ import "../chunk-KMKQOMP7.js";
12
12
  import "../chunk-KGQAQE4S.js";
13
- import "../chunk-ZKFPP7QB.js";
14
- import "../chunk-BCZ26ZVH.js";
13
+ import "../chunk-5SMBRJIZ.js";
14
+ import "../chunk-MCS7JCUD.js";
15
15
  import "../chunk-ZKBTTJN6.js";
16
16
  import "../chunk-7TTAAYQ5.js";
17
17
  export {
@@ -6,11 +6,11 @@ import {
6
6
  createComponentSchema,
7
7
  exportSchemaToFile,
8
8
  fixSchemaReferences
9
- } from "../chunk-EIBRJTYZ.js";
10
- import "../chunk-7CIBFLKA.js";
9
+ } from "../chunk-75YQ4MB3.js";
10
+ import "../chunk-KMKQOMP7.js";
11
11
  import "../chunk-KGQAQE4S.js";
12
- import "../chunk-ZKFPP7QB.js";
13
- import "../chunk-BCZ26ZVH.js";
12
+ import "../chunk-5SMBRJIZ.js";
13
+ import "../chunk-MCS7JCUD.js";
14
14
  import "../chunk-ZKBTTJN6.js";
15
15
  import "../chunk-7TTAAYQ5.js";
16
16
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "../chunk-BVKL6A45.js";
4
- import "../chunk-7CIBFLKA.js";
3
+ } from "../chunk-EQBCT7KC.js";
4
+ import "../chunk-KMKQOMP7.js";
5
5
  import "../chunk-KGQAQE4S.js";
6
- import "../chunk-ZKFPP7QB.js";
7
- import "../chunk-BCZ26ZVH.js";
6
+ import "../chunk-5SMBRJIZ.js";
7
+ import "../chunk-MCS7JCUD.js";
8
8
  import "../chunk-ZKBTTJN6.js";
9
9
  import "../chunk-7TTAAYQ5.js";
10
10
  export {
@@ -10,7 +10,7 @@ import {
10
10
  ThemeOverridesSchema,
11
11
  createMinimalTheme,
12
12
  isValidThemeConfig
13
- } from "../chunk-ZKFPP7QB.js";
13
+ } from "../chunk-5SMBRJIZ.js";
14
14
  import {
15
15
  ColumnsComponentDefaultsSchema,
16
16
  ComponentDefaultsSchema,
@@ -21,7 +21,7 @@ import {
21
21
  SectionComponentDefaultsSchema,
22
22
  StatisticComponentDefaultsSchema,
23
23
  TableComponentDefaultsSchema
24
- } from "../chunk-BCZ26ZVH.js";
24
+ } from "../chunk-MCS7JCUD.js";
25
25
  import "../chunk-ZKBTTJN6.js";
26
26
  import "../chunk-7TTAAYQ5.js";
27
27
  export {
@@ -47,7 +47,7 @@ import {
47
47
  validateTheme,
48
48
  validateThemeJson,
49
49
  validateThemeWithEnhancement
50
- } from "../../chunk-QHWB7VMD.js";
50
+ } from "../../chunk-PWLVDZHJ.js";
51
51
  import {
52
52
  collectIndentConflicts,
53
53
  collectNoteRevisionConflicts,
@@ -72,13 +72,13 @@ import {
72
72
  validateJsonComponent,
73
73
  validateJsonDocument,
74
74
  validateWithEnhancement
75
- } from "../../chunk-X4IXMNTT.js";
76
- import "../../chunk-Q56W3TGP.js";
75
+ } from "../../chunk-3DLMRNA7.js";
76
+ import "../../chunk-JGD54FUF.js";
77
77
  import "../../chunk-7GGTZ4TA.js";
78
- import "../../chunk-7CIBFLKA.js";
78
+ import "../../chunk-KMKQOMP7.js";
79
79
  import "../../chunk-KGQAQE4S.js";
80
- import "../../chunk-ZKFPP7QB.js";
81
- import "../../chunk-BCZ26ZVH.js";
80
+ import "../../chunk-5SMBRJIZ.js";
81
+ import "../../chunk-MCS7JCUD.js";
82
82
  import "../../chunk-ZKBTTJN6.js";
83
83
  import "../../chunk-7TTAAYQ5.js";
84
84
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-to-office/shared-docx",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "DOCX-specific schemas, component registry and validation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@sinclair/typebox": "0.34.38",
32
32
  "docx": "9.7.1",
33
- "@json-to-office/shared": "^1.5.0"
33
+ "@json-to-office/shared": "^1.6.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "20.11.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemas/component-defaults.ts","../src/schemas/components/heading.ts","../src/schemas/components/revision.ts","../src/schemas/components/comment.ts","../src/schemas/components/paragraph.ts","../src/schemas/components/note.ts","../src/schemas/components/image.ts","../src/schemas/components/statistic.ts","../src/schemas/components/table.ts","../src/schemas/components/section.ts","../src/schemas/components/columns.ts","../src/schemas/components/list.ts"],"sourcesContent":["/**\n * Component Defaults Schemas\n *\n * Extracted to its own file to avoid circular imports:\n * report.ts needs ComponentDefaultsSchema, but theme.ts (where it was)\n * imports from components.ts barrel which re-exports report.ts.\n *\n * This file imports directly from individual component files.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { HeadingPropsSchema } from './components/heading';\nimport { ParagraphPropsSchema } from './components/paragraph';\nimport { ImagePropsSchema } from './components/image';\nimport { StatisticPropsSchema } from './components/statistic';\nimport { TablePropsSchema } from './components/table';\nimport { SectionPropsSchema } from './components/section';\nimport { ColumnsPropsSchema } from './components/columns';\nimport { ListPropsSchema } from './components/list';\n\n/**\n * Props that describe one specific occurrence of a component and can never be\n * a shared default.\n *\n * `revision` would silently replace every component's text with the same\n * tracked change; `comment` would attach the same review comment to every\n * component and make the registry allocate a fresh id for each copy;\n * `footnotes` and `endnotes` are bodies bound to markers in one paragraph's\n * own text.\n * `ComponentDefaultsSchema` is embedded in every theme, so either leak is\n * theme-wide.\n *\n * Anything added here must also be added to the table in\n * `__tests__/component-defaults-per-instance.test.ts`, which is driven by this\n * list.\n */\nexport const PER_INSTANCE_PROPS = [\n 'revision',\n 'comment',\n 'footnotes',\n 'endnotes',\n] as const;\n\nexport type PerInstanceProp = (typeof PER_INSTANCE_PROPS)[number];\n\n// Create component defaults by making all fields optional (Type.Partial),\n// minus the per-instance props above.\nexport const HeadingComponentDefaultsSchema = Type.Partial(\n Type.Omit(HeadingPropsSchema, PER_INSTANCE_PROPS)\n);\nexport const ParagraphComponentDefaultsSchema = Type.Partial(\n Type.Omit(ParagraphPropsSchema, PER_INSTANCE_PROPS)\n);\nexport const ImageComponentDefaultsSchema = Type.Partial(ImagePropsSchema);\nexport const StatisticComponentDefaultsSchema =\n Type.Partial(StatisticPropsSchema);\n/**\n * `rows` is table *content*, not a default: it carries per-row revisions, and\n * `Type.Partial` is shallow, so leaving it in would let a theme mark the same\n * row of every table inserted or deleted.\n *\n * The leak is real only for `rows`, and only because `rows` is optional on the\n * instance. `deepMerge` replaces arrays wholesale rather than merging them\n * element-wise, and `columns` is the one required table prop — so a valid\n * table always supplies its own `columns`, which replaces any the theme\n * declared, cell comments and revisions included. `columns` therefore stays\n * here: it is inert in defaults, and rejecting an inert field would break\n * existing themes for no gain.\n */\nexport const TableComponentDefaultsSchema = Type.Partial(\n Type.Omit(TablePropsSchema, ['rows'])\n);\nexport const SectionComponentDefaultsSchema = Type.Partial(SectionPropsSchema);\nexport const ColumnsComponentDefaultsSchema = Type.Partial(ColumnsPropsSchema);\nexport const ListComponentDefaultsSchema = Type.Partial(\n Type.Omit(ListPropsSchema, PER_INSTANCE_PROPS)\n);\n\nexport const ComponentDefaultsSchema = Type.Object(\n {\n heading: Type.Optional(HeadingComponentDefaultsSchema),\n paragraph: Type.Optional(ParagraphComponentDefaultsSchema),\n image: Type.Optional(ImageComponentDefaultsSchema),\n statistic: Type.Optional(StatisticComponentDefaultsSchema),\n table: Type.Optional(TableComponentDefaultsSchema),\n section: Type.Optional(SectionComponentDefaultsSchema),\n columns: Type.Optional(ColumnsComponentDefaultsSchema),\n list: Type.Optional(ListComponentDefaultsSchema),\n },\n { additionalProperties: true } // TODO: add a way to add strict custom component defaults when the plugin/registry paradigm will be implemented\n);\n\n// TypeScript types\nexport type HeadingComponentDefaults = Static<\n typeof HeadingComponentDefaultsSchema\n>;\nexport type ParagraphComponentDefaults = Static<\n typeof ParagraphComponentDefaultsSchema\n>;\nexport type ImageComponentDefaults = Static<\n typeof ImageComponentDefaultsSchema\n>;\nexport type StatisticComponentDefaults = Static<\n typeof StatisticComponentDefaultsSchema\n>;\nexport type TableComponentDefaults = Static<\n typeof TableComponentDefaultsSchema\n>;\nexport type SectionComponentDefaults = Static<\n typeof SectionComponentDefaultsSchema\n>;\nexport type ColumnsComponentDefaults = Static<\n typeof ColumnsComponentDefaultsSchema\n>;\nexport type ListComponentDefaults = Static<typeof ListComponentDefaultsSchema>;\nexport type ComponentDefaults = Static<typeof ComponentDefaultsSchema>;\n","/**\n * Heading Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n FontDefinitionSchema,\n LanguageSchema,\n NoProofSchema,\n NoProofWordsSchema,\n} from '../font';\nimport {\n HeadingLevelSchema,\n JustifiedAlignmentSchema,\n SpacingSchema,\n LineSpacingSchema,\n ParagraphIndentSchema,\n} from './common';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\n\nexport const HeadingPropsSchema = Type.Object(\n {\n text: Type.String({\n description: 'Heading text (required)',\n }),\n level: Type.Optional(HeadingLevelSchema),\n // Local font override: allows customizing family/size/color/bold/italic/underline\n // without modifying theme styles. Supports partial overrides.\n font: Type.Optional(Type.Partial(FontDefinitionSchema)),\n // Local language override (BCP-47). Falls back to the document default when omitted.\n language: Type.Optional(LanguageSchema),\n // Disable spell/grammar checking for this heading's text\n noProof: Type.Optional(NoProofSchema),\n // Known-words allowlist for this heading (merged with the document list)\n noProofWords: Type.Optional(NoProofWordsSchema),\n alignment: Type.Optional(JustifiedAlignmentSchema),\n spacing: Type.Optional(SpacingSchema),\n // Paragraph indentation (w:ind) in twips\n indent: Type.Optional(ParagraphIndentSchema),\n lineSpacing: Type.Optional(\n Type.Union([Type.Number({ minimum: 0 }), LineSpacingSchema])\n ),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before heading',\n })\n ),\n columnBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert column break before heading',\n })\n ),\n numbering: Type.Optional(\n Type.Boolean({\n description:\n \"Number this heading with the document's multilevel heading numbering (1., 1.1., 1.1.1.). Set globally via componentDefaults.heading.numbering; false opts a single heading out.\",\n })\n ),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep heading with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of heading together on same page',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n comment: Type.Optional(CommentSchema),\n },\n {\n description: 'Heading component props',\n additionalProperties: false,\n }\n);\n\nexport type HeadingProps = Static<typeof HeadingPropsSchema>;\n","/**\n * Revision Schema\n * Tracked-change (redline) metadata for text-bearing components.\n *\n * When a component carries a `revision`, its text is rendered from\n * `revision.segments` as native Word tracked changes (w:ins / w:del)\n * instead of the plain `text` prop. The `text` prop should hold the\n * new (post-change) text so the document degrades gracefully when\n * revisions are ignored.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\nexport const RevisionSegmentSchema = Type.Object(\n {\n type: Type.Union(\n [Type.Literal('equal'), Type.Literal('insert'), Type.Literal('delete')],\n {\n description:\n \"Segment kind: 'equal' renders as normal text, 'insert' as a tracked insertion, 'delete' as a tracked deletion\",\n }\n ),\n text: Type.String({\n description: 'Literal text of this segment (rendered without markdown)',\n }),\n },\n {\n description: 'A contiguous run of text sharing one revision state',\n additionalProperties: false,\n }\n);\n\nexport const RevisionSchema = Type.Object(\n {\n author: Type.Optional(\n Type.String({\n description:\n 'Revision author shown in Word (default: \"json-to-office\")',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Revision timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n segments: Type.Array(RevisionSegmentSchema, {\n minItems: 1,\n description:\n 'Ordered text segments; concatenating equal+insert segments yields the new text, equal+delete the old text',\n }),\n },\n {\n description:\n 'Tracked-change data: renders the component text as native Word revisions (accept/reject in Word)',\n additionalProperties: false,\n }\n);\n\nexport type RevisionSegment = Static<typeof RevisionSegmentSchema>;\nexport type Revision = Static<typeof RevisionSchema>;\n\n/**\n * A structural revision: an insertion or deletion of a whole element (a table\n * row, say) rather than a run of text.\n *\n * `RevisionSchema` cannot express this — it requires `segments` with at least\n * one entry, and a structural mark has no text of its own.\n */\nexport const RevisionMarkSchema = Type.Object(\n {\n type: Type.Union([Type.Literal('insert'), Type.Literal('delete')], {\n description: 'Whether the element was inserted or deleted',\n }),\n author: Type.Optional(\n Type.String({\n description:\n 'Revision author shown in Word (default: \"json-to-office\")',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Revision timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n },\n {\n description:\n 'Structural tracked change: the element itself was inserted or deleted',\n additionalProperties: false,\n }\n);\n\nexport type RevisionMark = Static<typeof RevisionMarkSchema>;\n","/**\n * Comment Schema\n * Word review comments anchored to a text-bearing component.\n *\n * A comment attaches to the component that carries it: the rendered text is\n * wrapped in a `w:commentRangeStart` / `w:commentRangeEnd` pair and followed by\n * a `w:commentReference`, with the body living in `word/comments.xml`. The\n * component's own text is unaffected, so a reader that ignores comments sees\n * exactly the same document.\n *\n * Comment ids live in their own OOXML namespace, separate from the\n * `w:ins` / `w:del` ids used by [`RevisionSchema`](./revision.ts).\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\n/** Fields every comment in a thread shares. */\nconst CommentBodyFields = {\n text: Type.String({\n minLength: 1,\n description:\n 'Comment body. Newlines split it into separate paragraphs in the comment pane.',\n }),\n author: Type.Optional(\n Type.String({\n description: 'Comment author shown in Word (default: \"json-to-office\")',\n })\n ),\n initials: Type.Optional(\n Type.String({\n description:\n 'Author initials shown on the comment bubble (derived from the author when omitted)',\n })\n ),\n date: Type.Optional(\n Type.String({\n format: 'date-time',\n description:\n 'Comment timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output',\n })\n ),\n};\n\n/**\n * A reply in a comment thread. Word threads are one level deep — a reply\n * cannot itself carry replies — so this is deliberately not recursive.\n */\nexport const CommentReplySchema = Type.Object(CommentBodyFields, {\n description: 'A reply within a comment thread',\n additionalProperties: false,\n});\n\nexport const CommentSchema = Type.Object(\n {\n ...CommentBodyFields,\n replies: Type.Optional(\n Type.Array(CommentReplySchema, {\n minItems: 1,\n description:\n 'Replies, in order. They anchor to the same text and Word shows them as one thread.',\n })\n ),\n resolved: Type.Optional(\n Type.Boolean({\n description:\n 'Mark the whole thread resolved (w15:done). Word writes the thread state only when the document contains at least one reply.',\n })\n ),\n },\n {\n description: \"A Word review comment anchored to this component's text\",\n additionalProperties: false,\n }\n);\n\nexport type CommentReply = Static<typeof CommentReplySchema>;\nexport type Comment = Static<typeof CommentSchema>;\n","/**\n * Paragraph Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { SpacingSchema, ParagraphIndentSchema, TabStopsSchema } from './common';\nimport {\n FontDefinitionSchema,\n HexColorSchema,\n LanguageSchema,\n NoProofSchema,\n NoProofWordsSchema,\n} from '../font';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\nimport { EndnotesSchema, FootnotesSchema } from './note';\n\n// Frame wrapping type schema\nconst FrameWrapTypeSchema = Type.Union(\n [\n Type.Literal('around'),\n Type.Literal('none'),\n Type.Literal('notBeside'),\n Type.Literal('through'),\n Type.Literal('tight'),\n Type.Literal('auto'),\n ],\n {\n description: 'Frame text wrapping type',\n }\n);\n\n// Frame anchor type schema\nconst FrameAnchorTypeSchema = Type.Union(\n [Type.Literal('margin'), Type.Literal('page'), Type.Literal('text')],\n {\n description: 'Frame anchor type',\n }\n);\n\n// Frame horizontal position alignment schema\nconst FrameHorizontalAlignSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('inside'),\n Type.Literal('outside'),\n ],\n {\n description: 'Frame horizontal alignment',\n }\n);\n\n// Frame vertical position alignment schema\nconst FrameVerticalAlignSchema = Type.Union(\n [\n Type.Literal('top'),\n Type.Literal('center'),\n Type.Literal('bottom'),\n Type.Literal('inside'),\n Type.Literal('outside'),\n ],\n {\n description: 'Frame vertical alignment',\n }\n);\n\n// Floating frame properties schema\nconst FloatingFramePropertiesSchema = Type.Object(\n {\n horizontalPosition: Type.Optional(\n Type.Object(\n {\n relative: Type.Optional(FrameAnchorTypeSchema),\n align: Type.Optional(FrameHorizontalAlignSchema),\n offset: Type.Optional(\n Type.Union([\n Type.Number({\n description: 'Horizontal offset in twips (1/20 of a point)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Horizontal offset as percentage (e.g., \"50%\") relative to page or margin width',\n }),\n ])\n ),\n },\n {\n description:\n 'Horizontal positioning (use either align or offset, not both)',\n additionalProperties: false,\n }\n )\n ),\n verticalPosition: Type.Optional(\n Type.Object(\n {\n relative: Type.Optional(FrameAnchorTypeSchema),\n align: Type.Optional(FrameVerticalAlignSchema),\n offset: Type.Optional(\n Type.Union([\n Type.Number({\n description: 'Vertical offset in twips (1/20 of a point)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Vertical offset as percentage (e.g., \"50%\") relative to page or margin height',\n }),\n ])\n ),\n },\n {\n description:\n 'Vertical positioning (use either align or offset, not both)',\n additionalProperties: false,\n }\n )\n ),\n wrap: Type.Optional(\n Type.Object(\n {\n type: FrameWrapTypeSchema,\n },\n {\n description: 'Text wrapping configuration',\n additionalProperties: false,\n }\n )\n ),\n lockAnchor: Type.Optional(\n Type.Boolean({\n description: 'Lock the anchor position',\n })\n ),\n width: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Frame width in twips (DXA units)',\n })\n ),\n height: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Frame height in twips (DXA units)',\n })\n ),\n },\n {\n description: 'Floating text frame properties',\n additionalProperties: false,\n }\n);\n\n// Alignment type schema (paragraph-level, not font-level)\nconst AlignmentSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ],\n {\n description: 'Paragraph text alignment',\n }\n);\n\nexport const ParagraphPropsSchema = Type.Object(\n {\n text: Type.String({\n description: 'Text content (required)',\n }),\n // New nested font object, aligned with theme's FontDefinitionSchema\n // Allow partial overrides (family not required when overriding a subset)\n font: Type.Optional(Type.Partial(FontDefinitionSchema)),\n // Optional reference to a named style from theme.styles (e.g., 'heading1', 'normal')\n themeStyle: Type.Optional(Type.String()),\n // Local language override (BCP-47). Falls back to the document default when omitted.\n language: Type.Optional(LanguageSchema),\n // Disable spell/grammar checking for this paragraph's text\n noProof: Type.Optional(NoProofSchema),\n // Known-words allowlist for this paragraph (merged with the document list)\n noProofWords: Type.Optional(NoProofWordsSchema),\n // Rich-text decoration color for bold segments (kept as top-level behavior\n // option). Same value space as font.color: hex or theme color token.\n boldColor: Type.Optional(HexColorSchema),\n // Paragraph spacing (in points) — limited paragraph-level option allowed\n spacing: Type.Optional(SpacingSchema),\n // Paragraph alignment (moved from font to config level)\n alignment: Type.Optional(AlignmentSchema),\n // Paragraph indentation (w:ind) in twips\n indent: Type.Optional(ParagraphIndentSchema),\n // Tab stops (w:tabs); tab characters (\\t) in text jump to these positions\n tabStops: Type.Optional(TabStopsSchema),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before paragraph',\n })\n ),\n columnBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert column break before paragraph',\n })\n ),\n floating: Type.Optional(FloatingFramePropertiesSchema),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep paragraph with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of paragraph together on same page',\n })\n ),\n id: Type.Optional(\n Type.String({\n description: 'Unique identifier for internal linking (bookmark anchor)',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n comment: Type.Optional(CommentSchema),\n footnotes: Type.Optional(FootnotesSchema),\n endnotes: Type.Optional(EndnotesSchema),\n },\n {\n description:\n 'Paragraph component props (font nested for theme consistency; no flat font properties)',\n additionalProperties: false,\n }\n);\n\nexport type ParagraphProps = Static<typeof ParagraphPropsSchema>;\n","/**\n * Note Schemas (footnotes and endnotes)\n *\n * A note is authored in two halves: an inline `[^id]` marker in the text and a\n * body declared on the paragraph that carries it.\n *\n * { \"text\": \"Revenue grew 12%.[^rev]\",\n * \"footnotes\": [{ \"id\": \"rev\", \"text\": \"Source: FY26 audited accounts.\" }] }\n *\n * Footnotes and endnotes share the marker syntax and differ only in where Word\n * puts the body — the foot of the page, or the end of the document. An id is\n * resolved against the paragraph's `footnotes` first, then its `endnotes`.\n *\n * `[^id]` is only treated as a marker when `id` matches a declared note, so\n * text that merely looks like one — a regex character class in a code sample,\n * say — is left exactly as written.\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\nexport const NoteSchema = Type.Object(\n {\n id: Type.String({\n minLength: 1,\n pattern: '^[^\\\\]\\\\s]+$',\n description:\n 'Marker id referenced from the text as `[^id]`. Any characters except whitespace and \"]\".',\n }),\n text: Type.String({\n minLength: 1,\n description:\n 'Note body. Newlines split it into separate paragraphs where the note is placed.',\n }),\n },\n {\n description: 'A note body bound to an inline `[^id]` marker',\n additionalProperties: false,\n }\n);\n\nexport const FootnotesSchema = Type.Array(NoteSchema, {\n description:\n 'Footnote bodies for `[^id]` markers in this paragraph, placed at the foot of the page. An unreferenced body is not emitted.',\n minItems: 1,\n});\n\nexport const EndnotesSchema = Type.Array(NoteSchema, {\n description:\n 'Endnote bodies for `[^id]` markers in this paragraph, collected at the end of the document. An unreferenced body is not emitted.',\n minItems: 1,\n});\n\nexport type Note = Static<typeof NoteSchema>;\n","/**\n * Image Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n AlignmentSchema,\n SpacingSchema,\n FloatingPropertiesSchema,\n} from './common';\n\nexport const ImagePropsSchema = Type.Object(\n {\n path: Type.Optional(\n Type.String({\n description:\n 'Image source URL or file path (mutually exclusive with base64 and svg)',\n })\n ),\n base64: Type.Optional(\n Type.String({\n description:\n 'Base64-encoded image data in data URI format (e.g., \"data:image/png;base64,iVBORw0KGgo...\") (mutually exclusive with path and svg)',\n })\n ),\n svg: Type.Optional(\n Type.String({\n description:\n 'Raw inline SVG markup, e.g. \"<svg xmlns=\\\\\"http://www.w3.org/2000/svg\\\\\" viewBox=\\\\\"0 0 24 24\\\\\">...</svg>\" (mutually exclusive with path and base64). Renders as a vector image (Word 2016+); intrinsic size taken from the SVG viewBox/width/height when width/height omitted.',\n })\n ),\n alt: Type.Optional(\n Type.String({\n description: 'Alternative text for accessibility',\n })\n ),\n width: Type.Optional(\n Type.Union(\n [\n Type.Number({\n minimum: 1,\n description: 'Image width in pixels',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Image width as percentage (e.g., \"90%\") relative to widthRelativeTo (defaults to content width)',\n }),\n ],\n {\n description:\n 'Image width in pixels (number) or as percentage string (e.g., \"90%\")',\n default: '100%',\n }\n )\n ),\n height: Type.Optional(\n Type.Union(\n [\n Type.Number({\n minimum: 1,\n description: 'Image height in pixels',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Image height as percentage (e.g., \"90%\") relative to heightRelativeTo (defaults to content height)',\n }),\n ],\n {\n description:\n 'Image height in pixels (number) or as percentage string (e.g., \"90%\")',\n }\n )\n ),\n widthRelativeTo: Type.Optional(\n Type.Union([Type.Literal('content'), Type.Literal('page')], {\n description:\n 'Reference for width percentages: content (page width minus margins) or page (full page width)',\n default: 'content',\n })\n ),\n heightRelativeTo: Type.Optional(\n Type.Union([Type.Literal('content'), Type.Literal('page')], {\n description:\n 'Reference for height percentages: content (page height minus margins) or page (full page height)',\n default: 'content',\n })\n ),\n alignment: Type.Optional(AlignmentSchema),\n caption: Type.Optional(\n Type.String({\n description:\n 'Image caption (supports rich text with **bold**, *italic*, ***both***)',\n })\n ),\n spacing: Type.Optional(SpacingSchema),\n floating: Type.Optional(FloatingPropertiesSchema),\n keepNext: Type.Optional(\n Type.Boolean({\n description: 'Keep paragraph with next paragraph on same page',\n })\n ),\n keepLines: Type.Optional(\n Type.Boolean({\n description: 'Keep all lines of paragraph together on same page',\n })\n ),\n },\n {\n description: 'Image component props',\n additionalProperties: false,\n }\n);\n\nexport type ImageProps = Static<typeof ImagePropsSchema>;\n","/**\n * Statistic Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport { AlignmentSchema, SpacingSchema } from './common';\n\nexport const StatisticPropsSchema = Type.Object(\n {\n number: Type.String({\n description: 'Statistic number/value (required)',\n }),\n description: Type.String({\n description: 'Statistic description (required)',\n }),\n unit: Type.Optional(\n Type.String({\n description: 'Unit of measurement',\n })\n ),\n format: Type.Optional(\n Type.String({\n description: 'Number format pattern',\n })\n ),\n trend: Type.Optional(\n Type.Union([\n Type.Literal('up'),\n Type.Literal('down'),\n Type.Literal('neutral'),\n ])\n ),\n trendValue: Type.Optional(Type.Union([Type.String(), Type.Number()])),\n alignment: Type.Optional(AlignmentSchema),\n spacing: Type.Optional(SpacingSchema),\n size: Type.Optional(\n Type.Union([\n Type.Literal('small'),\n Type.Literal('medium'),\n Type.Literal('large'),\n ])\n ),\n },\n {\n description: 'Statistic component props',\n additionalProperties: false,\n }\n);\n\nexport type StatisticProps = Static<typeof StatisticPropsSchema>;\n","/**\n * Table Component Schema\n */\n\nimport { Type, Static, TSchema } from '@sinclair/typebox';\nimport { HexColorSchema, HexColorOrTransparentSchema } from '../font';\nimport { CommentSchema } from './comment';\nimport { RevisionMarkSchema, RevisionSchema } from './revision';\n\n// Define Cell type - can be plain text or a component definition\nconst CellContentSchema = Type.Recursive((This) =>\n Type.Union([\n Type.String(),\n Type.Object(\n {\n name: Type.String(),\n props: Type.Object({}, { additionalProperties: true }),\n children: Type.Optional(Type.Array(This)),\n },\n { additionalProperties: false }\n ),\n ])\n);\n\n// Horizontal alignment schema\nconst HorizontalAlignmentSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ],\n { description: 'Horizontal text alignment' }\n);\n\n// Vertical alignment schema\nconst VerticalAlignmentSchema = Type.Union(\n [Type.Literal('top'), Type.Literal('middle'), Type.Literal('bottom')],\n { description: 'Vertical cell alignment' }\n);\n\n// Font configuration schema\nconst FontConfigSchema = Type.Object(\n {\n family: Type.Optional(Type.String({ description: 'Font family name' })),\n size: Type.Optional(\n Type.Number({ minimum: 0, description: 'Font size in points' })\n ),\n bold: Type.Optional(Type.Boolean({ description: 'Bold text' })),\n fontWeight: Type.Optional(\n Type.Integer({\n minimum: 100,\n maximum: 900,\n description: 'Per-cell weight (100–900). Overrides `bold` when set.',\n })\n ),\n italic: Type.Optional(Type.Boolean({ description: 'Italic text' })),\n underline: Type.Optional(Type.Boolean({ description: 'Underlined text' })),\n },\n { additionalProperties: false }\n);\n\n// Border color - can be a single string or an object with sides\nconst BorderColorSchema = Type.Union([\n Type.String({ description: 'Border color for all sides (hex without #)' }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.String({ description: 'Bottom border color (hex without #)' })\n ),\n top: Type.Optional(\n Type.String({ description: 'Top border color (hex without #)' })\n ),\n right: Type.Optional(\n Type.String({ description: 'Right border color (hex without #)' })\n ),\n left: Type.Optional(\n Type.String({ description: 'Left border color (hex without #)' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Border size - can be a single number or an object with sides\nconst BorderSizeSchema = Type.Union([\n Type.Number({\n minimum: 0,\n description: 'Border size for all sides in points',\n }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Number({ minimum: 0, description: 'Bottom border size in points' })\n ),\n top: Type.Optional(\n Type.Number({ minimum: 0, description: 'Top border size in points' })\n ),\n right: Type.Optional(\n Type.Number({ minimum: 0, description: 'Right border size in points' })\n ),\n left: Type.Optional(\n Type.Number({ minimum: 0, description: 'Left border size in points' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Hide borders - can be a boolean or an object with sides\nconst HideBordersSchema = Type.Union([\n Type.Boolean({\n description: 'Hide all borders when true',\n }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Boolean({ description: 'Hide bottom border' })\n ),\n top: Type.Optional(Type.Boolean({ description: 'Hide top border' })),\n right: Type.Optional(Type.Boolean({ description: 'Hide right border' })),\n left: Type.Optional(Type.Boolean({ description: 'Hide left border' })),\n insideHorizontal: Type.Optional(\n Type.Boolean({ description: 'Hide horizontal borders between rows' })\n ),\n insideVertical: Type.Optional(\n Type.Boolean({ description: 'Hide vertical borders between columns' })\n ),\n },\n {\n description: 'Selectively hide specific borders',\n additionalProperties: false,\n }\n ),\n]);\n\n// Padding - can be a single number or an object with sides\nconst PaddingSchema = Type.Union([\n Type.Number({ minimum: 0, description: 'Padding for all sides in points' }),\n Type.Object(\n {\n bottom: Type.Optional(\n Type.Number({ minimum: 0, description: 'Bottom padding in points' })\n ),\n top: Type.Optional(\n Type.Number({ minimum: 0, description: 'Top padding in points' })\n ),\n right: Type.Optional(\n Type.Number({ minimum: 0, description: 'Right padding in points' })\n ),\n left: Type.Optional(\n Type.Number({ minimum: 0, description: 'Left padding in points' })\n ),\n },\n { additionalProperties: false }\n ),\n]);\n\n// Cell defaults configuration\nconst CellDefaultsSchema = Type.Object(\n {\n color: Type.Optional(HexColorSchema),\n backgroundColor: Type.Optional(HexColorOrTransparentSchema),\n horizontalAlignment: Type.Optional(HorizontalAlignmentSchema),\n verticalAlignment: Type.Optional(VerticalAlignmentSchema),\n font: Type.Optional(FontConfigSchema),\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n padding: Type.Optional(PaddingSchema),\n height: Type.Optional(\n Type.Number({ minimum: 0, description: 'Cell height in points' })\n ),\n },\n { additionalProperties: false }\n);\n\n/**\n * Build TablePropsSchema with a given cell-content type.\n * Called with `CellContentSchema` for the static export below, and with a\n * live recursive ref at schema-generation time.\n */\nexport function createTablePropsSchema(componentRef: TSchema): TSchema {\n const cellContent = Type.Union([Type.String(), componentRef]);\n\n const cellFields = {\n color: Type.Optional(HexColorSchema),\n backgroundColor: Type.Optional(HexColorOrTransparentSchema),\n horizontalAlignment: Type.Optional(HorizontalAlignmentSchema),\n verticalAlignment: Type.Optional(VerticalAlignmentSchema),\n font: Type.Optional(FontConfigSchema),\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n padding: Type.Optional(PaddingSchema),\n height: Type.Optional(\n Type.Number({ minimum: 0, description: 'Cell height in points' })\n ),\n comment: Type.Optional(CommentSchema),\n revision: Type.Optional(RevisionSchema),\n };\n\n const headerSchema = Type.Object(\n {\n ...cellFields,\n content: Type.Optional(cellContent),\n },\n { additionalProperties: false }\n );\n\n const cellSchema = Type.Object(\n {\n ...cellFields,\n content: Type.Optional(cellContent),\n },\n { additionalProperties: false }\n );\n\n const columnSchema = Type.Object(\n {\n width: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description:\n 'Column width in points. When set on some columns, remaining columns will automatically share the leftover table space equally. Leave undefined to distribute space evenly among unspecified columns.',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Column width as percentage of available width (e.g., \"40%\")',\n }),\n ])\n ),\n cellDefaults: Type.Optional(CellDefaultsSchema),\n header: Type.Optional(headerSchema),\n cells: Type.Optional(Type.Array(cellSchema)),\n },\n { additionalProperties: false }\n );\n\n return Type.Object(\n {\n borderColor: Type.Optional(BorderColorSchema),\n borderSize: Type.Optional(BorderSizeSchema),\n hideBorders: Type.Optional(HideBordersSchema),\n cellDefaults: Type.Optional(CellDefaultsSchema),\n headerCellDefaults: Type.Optional(CellDefaultsSchema),\n width: Type.Optional(\n Type.Number({\n minimum: 0,\n maximum: 100,\n description: 'Table width in percentage (0-100)',\n })\n ),\n columns: Type.Array(columnSchema, {\n description: 'Table columns with headers and cells',\n minItems: 1,\n }),\n rows: Type.Optional(\n Type.Array(\n Type.Object(\n {\n revision: Type.Optional(RevisionMarkSchema),\n cantSplit: Type.Optional(\n Type.Boolean({\n description: 'Keep this row on one page',\n })\n ),\n tableHeader: Type.Optional(\n Type.Boolean({\n description: 'Repeat this row as a header on each page',\n })\n ),\n },\n { additionalProperties: false }\n ),\n {\n description:\n 'Row-parallel properties, indexed like `columns[].cells`. The model is column-major, so anything that belongs to a whole row lives here.',\n }\n )\n ),\n keepInOnePage: Type.Optional(\n Type.Boolean({\n description:\n 'Keep table rows together on the same page by setting keepNext on all paragraphs',\n })\n ),\n keepNext: Type.Optional(\n Type.Boolean({\n description:\n 'Set keepNext on the last row to keep it connected to the next element. Works independently of keepInOnePage. Defaults to false.',\n })\n ),\n repeatHeaderOnPageBreak: Type.Optional(\n Type.Boolean({\n description:\n 'Repeat the header row on each page when the table spans multiple pages. Defaults to true.',\n default: true,\n })\n ),\n },\n {\n description: 'Table component props with column-based structure',\n additionalProperties: false,\n }\n );\n}\n\n// Static version for validators, type inference, and theme defaults.\nexport const TablePropsSchema = createTablePropsSchema(CellContentSchema);\n\nexport type TableProps = Static<typeof TablePropsSchema>;\n","/**\n * Section Component Schema\n */\n\nimport { Type, Static, TSchema } from '@sinclair/typebox';\nimport { SpacingSchema } from './common';\n\n// Create a function to generate SectionPropsSchema with recursive component reference\nexport const createSectionPropsSchema = (componentRef?: TSchema) =>\n Type.Object(\n {\n meta: Type.Optional(\n Type.Object(\n {\n title: Type.Optional(\n Type.String({\n description:\n 'Authoring label for this section, shown in editors and outlines. Never rendered — add a heading child for a visible title.',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Authoring metadata; has no effect on the document.',\n }\n )\n ),\n header: Type.Optional(\n Type.Union([\n Type.Array(componentRef || Type.Any(), {\n description: 'Section header components',\n }),\n Type.Literal('linkToPrevious', {\n description: 'Link header to previous section',\n }),\n ])\n ),\n footer: Type.Optional(\n Type.Union([\n Type.Array(componentRef || Type.Any(), {\n description: 'Section footer components',\n }),\n Type.Literal('linkToPrevious', {\n description: 'Link footer to previous section',\n }),\n ])\n ),\n pageBreak: Type.Optional(\n Type.Boolean({\n description: 'Insert page break before section',\n default: true,\n })\n ),\n spacing: Type.Optional(SpacingSchema),\n page: Type.Optional(\n Type.Object(\n {\n size: Type.Optional(\n Type.Union([\n Type.Literal('A4'),\n Type.Literal('A3'),\n Type.Literal('LETTER'),\n Type.Literal('LEGAL'),\n Type.Object({\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n }),\n ])\n ),\n margins: Type.Optional(\n Type.Object(\n {\n top: Type.Optional(Type.Number({ minimum: 0 })),\n bottom: Type.Optional(Type.Number({ minimum: 0 })),\n left: Type.Optional(Type.Number({ minimum: 0 })),\n right: Type.Optional(Type.Number({ minimum: 0 })),\n header: Type.Optional(Type.Number({ minimum: 0 })),\n footer: Type.Optional(Type.Number({ minimum: 0 })),\n gutter: Type.Optional(Type.Number({ minimum: 0 })),\n },\n {\n additionalProperties: false,\n }\n )\n ),\n },\n {\n description:\n 'Page configuration override for this section (overrides theme page settings)',\n additionalProperties: false,\n }\n )\n ),\n },\n {\n description: 'Section component props',\n additionalProperties: false,\n }\n );\n\nexport const SectionPropsSchema = createSectionPropsSchema();\n\nexport type SectionProps = Static<typeof SectionPropsSchema>;\n","/**\n * Columns Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\n\n// Single column descriptor\nconst ColumnDescriptorSchema = Type.Object(\n {\n width: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 1,\n description: 'Column width in points',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Column width as percentage of available width (e.g., \"30%\")',\n }),\n Type.Literal('auto', {\n description:\n 'Auto width: consume remaining space after fixed widths and gaps',\n }),\n ])\n ),\n gap: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description: 'Gap after this column in points',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Gap after this column as percentage of available width (e.g., \"5%\")',\n }),\n ])\n ),\n },\n { additionalProperties: false }\n);\n\nexport const ColumnsPropsSchema = Type.Object(\n {\n columns: Type.Union([\n Type.Number({\n minimum: 1,\n description:\n 'Number of equal-width columns (converter will normalize to array)',\n }),\n Type.Array(ColumnDescriptorSchema, {\n minItems: 1,\n description:\n 'List of columns in order; width and gap can be points, percentages, or auto width',\n }),\n ]),\n gap: Type.Optional(\n Type.Union([\n Type.Number({\n minimum: 0,\n description:\n 'Default gap applied after each column except the last (points)',\n }),\n Type.String({\n pattern: '^\\\\d+(\\\\.\\\\d+)?%$',\n description:\n 'Default gap applied after each column except the last as percentage of available width (e.g., \"5%\")',\n }),\n ])\n ),\n },\n {\n description: 'Columns component props',\n additionalProperties: false,\n }\n);\n\nexport type ColumnsProps = Static<typeof ColumnsPropsSchema>;\n","/**\n * List Component Schema\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n ListSpacingSchema,\n JustifiedAlignmentSchema,\n IndentSchema,\n} from './common';\nimport { HexColorSchema } from '../font';\nimport { RevisionSchema } from './revision';\nimport { CommentSchema } from './comment';\n\n/**\n * Level format options for docx numbering\n * Maps to docx LevelFormat enum\n */\nexport const LevelFormatSchema = Type.Union(\n [\n Type.Literal('decimal'),\n Type.Literal('upperRoman'),\n Type.Literal('lowerRoman'),\n Type.Literal('upperLetter'),\n Type.Literal('lowerLetter'),\n Type.Literal('bullet'),\n Type.Literal('ordinal'),\n Type.Literal('cardinalText'),\n Type.Literal('ordinalText'),\n Type.Literal('hex'),\n Type.Literal('chicago'),\n Type.Literal('ideographDigital'),\n Type.Literal('japaneseCounting'),\n Type.Literal('aiueo'),\n Type.Literal('iroha'),\n Type.Literal('decimalFullWidth'),\n Type.Literal('decimalHalfWidth'),\n Type.Literal('japaneseLegal'),\n Type.Literal('japaneseDigitalTenThousand'),\n Type.Literal('decimalEnclosedCircle'),\n Type.Literal('decimalFullWidth2'),\n Type.Literal('aiueoFullWidth'),\n Type.Literal('irohaFullWidth'),\n Type.Literal('decimalZero'),\n Type.Literal('ganada'),\n Type.Literal('chosung'),\n Type.Literal('decimalEnclosedFullstop'),\n Type.Literal('decimalEnclosedParen'),\n Type.Literal('decimalEnclosedCircleChinese'),\n Type.Literal('ideographEnclosedCircle'),\n Type.Literal('ideographTraditional'),\n Type.Literal('ideographZodiac'),\n Type.Literal('ideographZodiacTraditional'),\n Type.Literal('taiwaneseCounting'),\n Type.Literal('ideographLegalTraditional'),\n Type.Literal('taiwaneseCountingThousand'),\n Type.Literal('taiwaneseDigital'),\n Type.Literal('chineseCounting'),\n Type.Literal('chineseLegalSimplified'),\n Type.Literal('chineseCountingThousand'),\n Type.Literal('koreanDigital'),\n Type.Literal('koreanCounting'),\n Type.Literal('koreanLegal'),\n Type.Literal('koreanDigital2'),\n Type.Literal('vietnameseCounting'),\n Type.Literal('russianLower'),\n Type.Literal('russianUpper'),\n Type.Literal('none'),\n Type.Literal('numberInDash'),\n Type.Literal('hebrew1'),\n Type.Literal('hebrew2'),\n Type.Literal('arabicAlpha'),\n Type.Literal('arabicAbjad'),\n Type.Literal('hindiVowels'),\n Type.Literal('hindiConsonants'),\n Type.Literal('hindiNumbers'),\n Type.Literal('hindiCounting'),\n Type.Literal('thaiLetters'),\n Type.Literal('thaiNumbers'),\n Type.Literal('thaiCounting'),\n ],\n {\n description: 'Number or bullet format for list levels',\n }\n);\n\n/**\n * Font applied to the marker glyph itself (the number or bullet), independent\n * of the list text. Maps to the numbering level's `w:rPr`.\n */\nexport const ListMarkerFontSchema = Type.Object(\n {\n family: Type.Optional(Type.String({ description: 'Font family name' })),\n size: Type.Optional(\n Type.Number({ minimum: 1, description: 'Marker size in points' })\n ),\n color: Type.Optional(HexColorSchema),\n bold: Type.Optional(Type.Boolean({ description: 'Bold marker' })),\n italic: Type.Optional(Type.Boolean({ description: 'Italic marker' })),\n underline: Type.Optional(\n Type.Boolean({ description: 'Underlined marker' })\n ),\n },\n {\n description:\n 'Styling for the number/bullet glyph only. The list text is unaffected.',\n additionalProperties: false,\n }\n);\n\n/**\n * Configuration for a single numbering level\n */\nexport const ListLevelPropsSchema = Type.Object(\n {\n level: Type.Number({\n minimum: 0,\n maximum: 8,\n description: 'Nesting level (0 = root, 1 = first sublevel, etc.)',\n }),\n format: Type.Optional(LevelFormatSchema),\n text: Type.Optional(\n Type.String({\n description:\n 'Number format string (e.g., \"%1.\" for \"1.\", \"%1)\" for \"1)\", custom bullet character for bullet format)',\n })\n ),\n alignment: Type.Optional(\n Type.Union(\n [\n Type.Literal('start'),\n Type.Literal('end'),\n Type.Literal('left'),\n Type.Literal('right'),\n Type.Literal('center'),\n ],\n {\n description: 'Alignment of the numbering/bullet',\n }\n )\n ),\n indent: Type.Optional(IndentSchema),\n start: Type.Optional(\n Type.Number({\n minimum: 1,\n description: 'Starting number for this level (default: 1)',\n })\n ),\n font: Type.Optional(ListMarkerFontSchema),\n },\n {\n description: 'Configuration for a single list level',\n additionalProperties: false,\n }\n);\n\nexport const ListPropsSchema = Type.Object(\n {\n items: Type.Array(\n Type.Union([\n Type.String(),\n Type.Object(\n {\n text: Type.String(),\n level: Type.Optional(\n Type.Number({\n minimum: 0,\n maximum: 8,\n description: 'Nesting level for this item',\n })\n ),\n id: Type.Optional(\n Type.String({\n description:\n 'Bookmark id for this item, targetable by internal links (#id) and cross-references ([@id])',\n })\n ),\n revision: Type.Optional(RevisionSchema),\n },\n { additionalProperties: false }\n ),\n ]),\n {\n description: 'List items (required)',\n minItems: 1,\n }\n ),\n reference: Type.Optional(\n Type.String({\n description:\n 'Unique reference ID for this numbering configuration (auto-generated if not provided)',\n })\n ),\n levels: Type.Optional(\n Type.Array(ListLevelPropsSchema, {\n description: 'Configuration for each nesting level',\n minItems: 1,\n maxItems: 9,\n })\n ),\n // Simplified options for common use cases (when levels not specified)\n format: Type.Optional(\n Type.Union(\n [LevelFormatSchema, Type.Literal('numbered'), Type.Literal('none')],\n {\n description:\n 'Format for level 0 (simplified option when levels not specified)',\n }\n )\n ),\n bullet: Type.Optional(\n Type.String({\n description:\n 'Custom bullet character (simplified option when levels not specified)',\n })\n ),\n start: Type.Optional(\n Type.Number({\n minimum: 1,\n description:\n 'Starting number for level 0. Applies whether or not `levels` is given; a `start` on the level itself wins.',\n })\n ),\n spacing: Type.Optional(ListSpacingSchema),\n alignment: Type.Optional(JustifiedAlignmentSchema),\n indent: Type.Optional(\n Type.Union([Type.Number({ minimum: 0 }), IndentSchema])\n ),\n // Anchored to the list as a whole: the range opens on the first rendered\n // item and closes on the last.\n comment: Type.Optional(CommentSchema),\n },\n {\n description: 'List component props',\n additionalProperties: false,\n }\n);\n\nexport type LevelFormat = Static<typeof LevelFormatSchema>;\nexport type ListMarkerFont = Static<typeof ListMarkerFontSchema>;\nexport type ListLevelProps = Static<typeof ListLevelPropsSchema>;\nexport type ListProps = Static<typeof ListPropsSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,QAAAA,cAAoB;;;ACN7B,SAAS,QAAAC,aAAoB;;;ACO7B,SAAS,YAAoB;AAEtB,IAAM,wBAAwB,KAAK;AAAA,EACxC;AAAA,IACE,MAAM,KAAK;AAAA,MACT,CAAC,KAAK,QAAQ,OAAO,GAAG,KAAK,QAAQ,QAAQ,GAAG,KAAK,QAAQ,QAAQ,CAAC;AAAA,MACtE;AAAA,QACE,aACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,MAAM,KAAK,OAAO;AAAA,MAChB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,iBAAiB,KAAK;AAAA,EACjC;AAAA,IACE,QAAQ,KAAK;AAAA,MACX,KAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,MAAM,KAAK;AAAA,MACT,KAAK,OAAO;AAAA,QACV,QAAQ;AAAA,QACR,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,UAAU,KAAK,MAAM,uBAAuB;AAAA,MAC1C,UAAU;AAAA,MACV,aACE;AAAA,IACJ,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aACE;AAAA,IACF,sBAAsB;AAAA,EACxB;AACF;AAYO,IAAM,qBAAqB,KAAK;AAAA,EACrC;AAAA,IACE,MAAM,KAAK,MAAM,CAAC,KAAK,QAAQ,QAAQ,GAAG,KAAK,QAAQ,QAAQ,CAAC,GAAG;AAAA,MACjE,aAAa;AAAA,IACf,CAAC;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,KAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,MAAM,KAAK;AAAA,MACT,KAAK,OAAO;AAAA,QACV,QAAQ;AAAA,QACR,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aACE;AAAA,IACF,sBAAsB;AAAA,EACxB;AACF;;;AChFA,SAAS,QAAAC,aAAoB;AAG7B,IAAM,oBAAoB;AAAA,EACxB,MAAMA,MAAK,OAAO;AAAA,IAChB,WAAW;AAAA,IACX,aACE;AAAA,EACJ,CAAC;AAAA,EACD,QAAQA,MAAK;AAAA,IACXA,MAAK,OAAO;AAAA,MACV,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,UAAUA,MAAK;AAAA,IACbA,MAAK,OAAO;AAAA,MACV,aACE;AAAA,IACJ,CAAC;AAAA,EACH;AAAA,EACA,MAAMA,MAAK;AAAA,IACTA,MAAK,OAAO;AAAA,MACV,QAAQ;AAAA,MACR,aACE;AAAA,IACJ,CAAC;AAAA,EACH;AACF;AAMO,IAAM,qBAAqBA,MAAK,OAAO,mBAAmB;AAAA,EAC/D,aAAa;AAAA,EACb,sBAAsB;AACxB,CAAC;AAEM,IAAM,gBAAgBA,MAAK;AAAA,EAChC;AAAA,IACE,GAAG;AAAA,IACH,SAASA,MAAK;AAAA,MACZA,MAAK,MAAM,oBAAoB;AAAA,QAC7B,UAAU;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,UAAUA,MAAK;AAAA,MACbA,MAAK,QAAQ;AAAA,QACX,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;AFpDO,IAAM,qBAAqBC,MAAK;AAAA,EACrC;AAAA,IACE,MAAMA,MAAK,OAAO;AAAA,MAChB,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAOA,MAAK,SAAS,kBAAkB;AAAA;AAAA;AAAA,IAGvC,MAAMA,MAAK,SAASA,MAAK,QAAQ,oBAAoB,CAAC;AAAA;AAAA,IAEtD,UAAUA,MAAK,SAAS,cAAc;AAAA;AAAA,IAEtC,SAASA,MAAK,SAAS,aAAa;AAAA;AAAA,IAEpC,cAAcA,MAAK,SAAS,kBAAkB;AAAA,IAC9C,WAAWA,MAAK,SAAS,wBAAwB;AAAA,IACjD,SAASA,MAAK,SAAS,aAAa;AAAA;AAAA,IAEpC,QAAQA,MAAK,SAAS,qBAAqB;AAAA,IAC3C,aAAaA,MAAK;AAAA,MAChBA,MAAK,MAAM,CAACA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,CAAC;AAAA,IAC7D;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,aAAaA,MAAK;AAAA,MAChBA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,UAAUA,MAAK;AAAA,MACbA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,UAAUA,MAAK,SAAS,cAAc;AAAA,IACtC,SAASA,MAAK,SAAS,aAAa;AAAA,EACtC;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;AGxEA,SAAS,QAAAC,aAAoB;;;ACc7B,SAAS,QAAAC,aAAoB;AAEtB,IAAM,aAAaA,MAAK;AAAA,EAC7B;AAAA,IACE,IAAIA,MAAK,OAAO;AAAA,MACd,WAAW;AAAA,MACX,SAAS;AAAA,MACT,aACE;AAAA,IACJ,CAAC;AAAA,IACD,MAAMA,MAAK,OAAO;AAAA,MAChB,WAAW;AAAA,MACX,aACE;AAAA,IACJ,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,kBAAkBA,MAAK,MAAM,YAAY;AAAA,EACpD,aACE;AAAA,EACF,UAAU;AACZ,CAAC;AAEM,IAAM,iBAAiBA,MAAK,MAAM,YAAY;AAAA,EACnD,aACE;AAAA,EACF,UAAU;AACZ,CAAC;;;ADhCD,IAAM,sBAAsBC,MAAK;AAAA,EAC/B;AAAA,IACEA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,MAAM;AAAA,IACnBA,MAAK,QAAQ,WAAW;AAAA,IACxBA,MAAK,QAAQ,SAAS;AAAA,IACtBA,MAAK,QAAQ,OAAO;AAAA,IACpBA,MAAK,QAAQ,MAAM;AAAA,EACrB;AAAA,EACA;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAGA,IAAM,wBAAwBA,MAAK;AAAA,EACjC,CAACA,MAAK,QAAQ,QAAQ,GAAGA,MAAK,QAAQ,MAAM,GAAGA,MAAK,QAAQ,MAAM,CAAC;AAAA,EACnE;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAGA,IAAM,6BAA6BA,MAAK;AAAA,EACtC;AAAA,IACEA,MAAK,QAAQ,MAAM;AAAA,IACnBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,OAAO;AAAA,IACpBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,SAAS;AAAA,EACxB;AAAA,EACA;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAGA,IAAM,2BAA2BA,MAAK;AAAA,EACpC;AAAA,IACEA,MAAK,QAAQ,KAAK;AAAA,IAClBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,SAAS;AAAA,EACxB;AAAA,EACA;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAGA,IAAM,gCAAgCA,MAAK;AAAA,EACzC;AAAA,IACE,oBAAoBA,MAAK;AAAA,MACvBA,MAAK;AAAA,QACH;AAAA,UACE,UAAUA,MAAK,SAAS,qBAAqB;AAAA,UAC7C,OAAOA,MAAK,SAAS,0BAA0B;AAAA,UAC/C,QAAQA,MAAK;AAAA,YACXA,MAAK,MAAM;AAAA,cACTA,MAAK,OAAO;AAAA,gBACV,aAAa;AAAA,cACf,CAAC;AAAA,cACDA,MAAK,OAAO;AAAA,gBACV,SAAS;AAAA,gBACT,aACE;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QACA;AAAA,UACE,aACE;AAAA,UACF,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,IACA,kBAAkBA,MAAK;AAAA,MACrBA,MAAK;AAAA,QACH;AAAA,UACE,UAAUA,MAAK,SAAS,qBAAqB;AAAA,UAC7C,OAAOA,MAAK,SAAS,wBAAwB;AAAA,UAC7C,QAAQA,MAAK;AAAA,YACXA,MAAK,MAAM;AAAA,cACTA,MAAK,OAAO;AAAA,gBACV,aAAa;AAAA,cACf,CAAC;AAAA,cACDA,MAAK,OAAO;AAAA,gBACV,SAAS;AAAA,gBACT,aACE;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QACA;AAAA,UACE,aACE;AAAA,UACF,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAMA,MAAK;AAAA,MACTA,MAAK;AAAA,QACH;AAAA,UACE,MAAM;AAAA,QACR;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAYA,MAAK;AAAA,MACfA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,OAAOA,MAAK;AAAA,MACVA,MAAK,OAAO;AAAA,QACV,SAAS;AAAA,QACT,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK,OAAO;AAAA,QACV,SAAS;AAAA,QACT,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAGA,IAAMC,mBAAkBD,MAAK;AAAA,EAC3B;AAAA,IACEA,MAAK,QAAQ,MAAM;AAAA,IACnBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,OAAO;AAAA,IACpBA,MAAK,QAAQ,SAAS;AAAA,EACxB;AAAA,EACA;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAEO,IAAM,uBAAuBA,MAAK;AAAA,EACvC;AAAA,IACE,MAAMA,MAAK,OAAO;AAAA,MAChB,aAAa;AAAA,IACf,CAAC;AAAA;AAAA;AAAA,IAGD,MAAMA,MAAK,SAASA,MAAK,QAAQ,oBAAoB,CAAC;AAAA;AAAA,IAEtD,YAAYA,MAAK,SAASA,MAAK,OAAO,CAAC;AAAA;AAAA,IAEvC,UAAUA,MAAK,SAAS,cAAc;AAAA;AAAA,IAEtC,SAASA,MAAK,SAAS,aAAa;AAAA;AAAA,IAEpC,cAAcA,MAAK,SAAS,kBAAkB;AAAA;AAAA;AAAA,IAG9C,WAAWA,MAAK,SAAS,cAAc;AAAA;AAAA,IAEvC,SAASA,MAAK,SAAS,aAAa;AAAA;AAAA,IAEpC,WAAWA,MAAK,SAASC,gBAAe;AAAA;AAAA,IAExC,QAAQD,MAAK,SAAS,qBAAqB;AAAA;AAAA,IAE3C,UAAUA,MAAK,SAAS,cAAc;AAAA,IACtC,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,aAAaA,MAAK;AAAA,MAChBA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,UAAUA,MAAK,SAAS,6BAA6B;AAAA,IACrD,UAAUA,MAAK;AAAA,MACbA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,IAAIA,MAAK;AAAA,MACPA,MAAK,OAAO;AAAA,QACV,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,UAAUA,MAAK,SAAS,cAAc;AAAA,IACtC,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,WAAWA,MAAK,SAAS,eAAe;AAAA,IACxC,UAAUA,MAAK,SAAS,cAAc;AAAA,EACxC;AAAA,EACA;AAAA,IACE,aACE;AAAA,IACF,sBAAsB;AAAA,EACxB;AACF;;;AEpOA,SAAS,QAAAE,aAAoB;AAOtB,IAAM,mBAAmBC,MAAK;AAAA,EACnC;AAAA,IACE,MAAMA,MAAK;AAAA,MACTA,MAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,KAAKA,MAAK;AAAA,MACRA,MAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,KAAKA,MAAK;AAAA,MACRA,MAAK,OAAO;AAAA,QACV,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,OAAOA,MAAK;AAAA,MACVA,MAAK;AAAA,QACH;AAAA,UACEA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aAAa;AAAA,UACf,CAAC;AAAA,UACDA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aACE;AAAA,UACJ,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,aACE;AAAA,UACF,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK;AAAA,QACH;AAAA,UACEA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aAAa;AAAA,UACf,CAAC;AAAA,UACDA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aACE;AAAA,UACJ,CAAC;AAAA,QACH;AAAA,QACA;AAAA,UACE,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,IACA,iBAAiBA,MAAK;AAAA,MACpBA,MAAK,MAAM,CAACA,MAAK,QAAQ,SAAS,GAAGA,MAAK,QAAQ,MAAM,CAAC,GAAG;AAAA,QAC1D,aACE;AAAA,QACF,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,kBAAkBA,MAAK;AAAA,MACrBA,MAAK,MAAM,CAACA,MAAK,QAAQ,SAAS,GAAGA,MAAK,QAAQ,MAAM,CAAC,GAAG;AAAA,QAC1D,aACE;AAAA,QACF,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK,SAAS,eAAe;AAAA,IACxC,SAASA,MAAK;AAAA,MACZA,MAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,UAAUA,MAAK,SAAS,wBAAwB;AAAA,IAChD,UAAUA,MAAK;AAAA,MACbA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;AC7GA,SAAS,QAAAC,aAAoB;AAGtB,IAAM,uBAAuBC,MAAK;AAAA,EACvC;AAAA,IACE,QAAQA,MAAK,OAAO;AAAA,MAClB,aAAa;AAAA,IACf,CAAC;AAAA,IACD,aAAaA,MAAK,OAAO;AAAA,MACvB,aAAa;AAAA,IACf,CAAC;AAAA,IACD,MAAMA,MAAK;AAAA,MACTA,MAAK,OAAO;AAAA,QACV,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK,OAAO;AAAA,QACV,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,OAAOA,MAAK;AAAA,MACVA,MAAK,MAAM;AAAA,QACTA,MAAK,QAAQ,IAAI;AAAA,QACjBA,MAAK,QAAQ,MAAM;AAAA,QACnBA,MAAK,QAAQ,SAAS;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,IACA,YAAYA,MAAK,SAASA,MAAK,MAAM,CAACA,MAAK,OAAO,GAAGA,MAAK,OAAO,CAAC,CAAC,CAAC;AAAA,IACpE,WAAWA,MAAK,SAAS,eAAe;AAAA,IACxC,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,MAAMA,MAAK;AAAA,MACTA,MAAK,MAAM;AAAA,QACTA,MAAK,QAAQ,OAAO;AAAA,QACpBA,MAAK,QAAQ,QAAQ;AAAA,QACrBA,MAAK,QAAQ,OAAO;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;AC3CA,SAAS,QAAAC,aAA6B;AAMtC,IAAM,oBAAoBC,MAAK;AAAA,EAAU,CAAC,SACxCA,MAAK,MAAM;AAAA,IACTA,MAAK,OAAO;AAAA,IACZA,MAAK;AAAA,MACH;AAAA,QACE,MAAMA,MAAK,OAAO;AAAA,QAClB,OAAOA,MAAK,OAAO,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC;AAAA,QACrD,UAAUA,MAAK,SAASA,MAAK,MAAM,IAAI,CAAC;AAAA,MAC1C;AAAA,MACA,EAAE,sBAAsB,MAAM;AAAA,IAChC;AAAA,EACF,CAAC;AACH;AAGA,IAAM,4BAA4BA,MAAK;AAAA,EACrC;AAAA,IACEA,MAAK,QAAQ,MAAM;AAAA,IACnBA,MAAK,QAAQ,QAAQ;AAAA,IACrBA,MAAK,QAAQ,OAAO;AAAA,IACpBA,MAAK,QAAQ,SAAS;AAAA,EACxB;AAAA,EACA,EAAE,aAAa,4BAA4B;AAC7C;AAGA,IAAM,0BAA0BA,MAAK;AAAA,EACnC,CAACA,MAAK,QAAQ,KAAK,GAAGA,MAAK,QAAQ,QAAQ,GAAGA,MAAK,QAAQ,QAAQ,CAAC;AAAA,EACpE,EAAE,aAAa,0BAA0B;AAC3C;AAGA,IAAM,mBAAmBA,MAAK;AAAA,EAC5B;AAAA,IACE,QAAQA,MAAK,SAASA,MAAK,OAAO,EAAE,aAAa,mBAAmB,CAAC,CAAC;AAAA,IACtE,MAAMA,MAAK;AAAA,MACTA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,sBAAsB,CAAC;AAAA,IAChE;AAAA,IACA,MAAMA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,YAAY,CAAC,CAAC;AAAA,IAC9D,YAAYA,MAAK;AAAA,MACfA,MAAK,QAAQ;AAAA,QACX,SAAS;AAAA,QACT,SAAS;AAAA,QACT,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,cAAc,CAAC,CAAC;AAAA,IAClE,WAAWA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,kBAAkB,CAAC,CAAC;AAAA,EAC3E;AAAA,EACA,EAAE,sBAAsB,MAAM;AAChC;AAGA,IAAM,oBAAoBA,MAAK,MAAM;AAAA,EACnCA,MAAK,OAAO,EAAE,aAAa,6CAA6C,CAAC;AAAA,EACzEA,MAAK;AAAA,IACH;AAAA,MACE,QAAQA,MAAK;AAAA,QACXA,MAAK,OAAO,EAAE,aAAa,sCAAsC,CAAC;AAAA,MACpE;AAAA,MACA,KAAKA,MAAK;AAAA,QACRA,MAAK,OAAO,EAAE,aAAa,mCAAmC,CAAC;AAAA,MACjE;AAAA,MACA,OAAOA,MAAK;AAAA,QACVA,MAAK,OAAO,EAAE,aAAa,qCAAqC,CAAC;AAAA,MACnE;AAAA,MACA,MAAMA,MAAK;AAAA,QACTA,MAAK,OAAO,EAAE,aAAa,oCAAoC,CAAC;AAAA,MAClE;AAAA,IACF;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AACF,CAAC;AAGD,IAAM,mBAAmBA,MAAK,MAAM;AAAA,EAClCA,MAAK,OAAO;AAAA,IACV,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AAAA,EACDA,MAAK;AAAA,IACH;AAAA,MACE,QAAQA,MAAK;AAAA,QACXA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,+BAA+B,CAAC;AAAA,MACzE;AAAA,MACA,KAAKA,MAAK;AAAA,QACRA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,4BAA4B,CAAC;AAAA,MACtE;AAAA,MACA,OAAOA,MAAK;AAAA,QACVA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,8BAA8B,CAAC;AAAA,MACxE;AAAA,MACA,MAAMA,MAAK;AAAA,QACTA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,6BAA6B,CAAC;AAAA,MACvE;AAAA,IACF;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AACF,CAAC;AAGD,IAAM,oBAAoBA,MAAK,MAAM;AAAA,EACnCA,MAAK,QAAQ;AAAA,IACX,aAAa;AAAA,EACf,CAAC;AAAA,EACDA,MAAK;AAAA,IACH;AAAA,MACE,QAAQA,MAAK;AAAA,QACXA,MAAK,QAAQ,EAAE,aAAa,qBAAqB,CAAC;AAAA,MACpD;AAAA,MACA,KAAKA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,kBAAkB,CAAC,CAAC;AAAA,MACnE,OAAOA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,oBAAoB,CAAC,CAAC;AAAA,MACvE,MAAMA,MAAK,SAASA,MAAK,QAAQ,EAAE,aAAa,mBAAmB,CAAC,CAAC;AAAA,MACrE,kBAAkBA,MAAK;AAAA,QACrBA,MAAK,QAAQ,EAAE,aAAa,uCAAuC,CAAC;AAAA,MACtE;AAAA,MACA,gBAAgBA,MAAK;AAAA,QACnBA,MAAK,QAAQ,EAAE,aAAa,wCAAwC,CAAC;AAAA,MACvE;AAAA,IACF;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,sBAAsB;AAAA,IACxB;AAAA,EACF;AACF,CAAC;AAGD,IAAM,gBAAgBA,MAAK,MAAM;AAAA,EAC/BA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,kCAAkC,CAAC;AAAA,EAC1EA,MAAK;AAAA,IACH;AAAA,MACE,QAAQA,MAAK;AAAA,QACXA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,2BAA2B,CAAC;AAAA,MACrE;AAAA,MACA,KAAKA,MAAK;AAAA,QACRA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,wBAAwB,CAAC;AAAA,MAClE;AAAA,MACA,OAAOA,MAAK;AAAA,QACVA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,0BAA0B,CAAC;AAAA,MACpE;AAAA,MACA,MAAMA,MAAK;AAAA,QACTA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,yBAAyB,CAAC;AAAA,MACnE;AAAA,IACF;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AACF,CAAC;AAGD,IAAM,qBAAqBA,MAAK;AAAA,EAC9B;AAAA,IACE,OAAOA,MAAK,SAAS,cAAc;AAAA,IACnC,iBAAiBA,MAAK,SAAS,2BAA2B;AAAA,IAC1D,qBAAqBA,MAAK,SAAS,yBAAyB;AAAA,IAC5D,mBAAmBA,MAAK,SAAS,uBAAuB;AAAA,IACxD,MAAMA,MAAK,SAAS,gBAAgB;AAAA,IACpC,aAAaA,MAAK,SAAS,iBAAiB;AAAA,IAC5C,YAAYA,MAAK,SAAS,gBAAgB;AAAA,IAC1C,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,QAAQA,MAAK;AAAA,MACXA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,wBAAwB,CAAC;AAAA,IAClE;AAAA,EACF;AAAA,EACA,EAAE,sBAAsB,MAAM;AAChC;AAOO,SAAS,uBAAuB,cAAgC;AACrE,QAAM,cAAcA,MAAK,MAAM,CAACA,MAAK,OAAO,GAAG,YAAY,CAAC;AAE5D,QAAM,aAAa;AAAA,IACjB,OAAOA,MAAK,SAAS,cAAc;AAAA,IACnC,iBAAiBA,MAAK,SAAS,2BAA2B;AAAA,IAC1D,qBAAqBA,MAAK,SAAS,yBAAyB;AAAA,IAC5D,mBAAmBA,MAAK,SAAS,uBAAuB;AAAA,IACxD,MAAMA,MAAK,SAAS,gBAAgB;AAAA,IACpC,aAAaA,MAAK,SAAS,iBAAiB;AAAA,IAC5C,YAAYA,MAAK,SAAS,gBAAgB;AAAA,IAC1C,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,QAAQA,MAAK;AAAA,MACXA,MAAK,OAAO,EAAE,SAAS,GAAG,aAAa,wBAAwB,CAAC;AAAA,IAClE;AAAA,IACA,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,UAAUA,MAAK,SAAS,cAAc;AAAA,EACxC;AAEA,QAAM,eAAeA,MAAK;AAAA,IACxB;AAAA,MACE,GAAG;AAAA,MACH,SAASA,MAAK,SAAS,WAAW;AAAA,IACpC;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAEA,QAAM,aAAaA,MAAK;AAAA,IACtB;AAAA,MACE,GAAG;AAAA,MACH,SAASA,MAAK,SAAS,WAAW;AAAA,IACpC;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAEA,QAAM,eAAeA,MAAK;AAAA,IACxB;AAAA,MACE,OAAOA,MAAK;AAAA,QACVA,MAAK,MAAM;AAAA,UACTA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aACE;AAAA,UACJ,CAAC;AAAA,UACDA,MAAK,OAAO;AAAA,YACV,SAAS;AAAA,YACT,aACE;AAAA,UACJ,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAAA,MACA,cAAcA,MAAK,SAAS,kBAAkB;AAAA,MAC9C,QAAQA,MAAK,SAAS,YAAY;AAAA,MAClC,OAAOA,MAAK,SAASA,MAAK,MAAM,UAAU,CAAC;AAAA,IAC7C;AAAA,IACA,EAAE,sBAAsB,MAAM;AAAA,EAChC;AAEA,SAAOA,MAAK;AAAA,IACV;AAAA,MACE,aAAaA,MAAK,SAAS,iBAAiB;AAAA,MAC5C,YAAYA,MAAK,SAAS,gBAAgB;AAAA,MAC1C,aAAaA,MAAK,SAAS,iBAAiB;AAAA,MAC5C,cAAcA,MAAK,SAAS,kBAAkB;AAAA,MAC9C,oBAAoBA,MAAK,SAAS,kBAAkB;AAAA,MACpD,OAAOA,MAAK;AAAA,QACVA,MAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,SAAS;AAAA,UACT,aAAa;AAAA,QACf,CAAC;AAAA,MACH;AAAA,MACA,SAASA,MAAK,MAAM,cAAc;AAAA,QAChC,aAAa;AAAA,QACb,UAAU;AAAA,MACZ,CAAC;AAAA,MACD,MAAMA,MAAK;AAAA,QACTA,MAAK;AAAA,UACHA,MAAK;AAAA,YACH;AAAA,cACE,UAAUA,MAAK,SAAS,kBAAkB;AAAA,cAC1C,WAAWA,MAAK;AAAA,gBACdA,MAAK,QAAQ;AAAA,kBACX,aAAa;AAAA,gBACf,CAAC;AAAA,cACH;AAAA,cACA,aAAaA,MAAK;AAAA,gBAChBA,MAAK,QAAQ;AAAA,kBACX,aAAa;AAAA,gBACf,CAAC;AAAA,cACH;AAAA,YACF;AAAA,YACA,EAAE,sBAAsB,MAAM;AAAA,UAChC;AAAA,UACA;AAAA,YACE,aACE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA,eAAeA,MAAK;AAAA,QAClBA,MAAK,QAAQ;AAAA,UACX,aACE;AAAA,QACJ,CAAC;AAAA,MACH;AAAA,MACA,UAAUA,MAAK;AAAA,QACbA,MAAK,QAAQ;AAAA,UACX,aACE;AAAA,QACJ,CAAC;AAAA,MACH;AAAA,MACA,yBAAyBA,MAAK;AAAA,QAC5BA,MAAK,QAAQ;AAAA,UACX,aACE;AAAA,UACF,SAAS;AAAA,QACX,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,sBAAsB;AAAA,IACxB;AAAA,EACF;AACF;AAGO,IAAM,mBAAmB,uBAAuB,iBAAiB;;;ACjTxE,SAAS,QAAAC,aAA6B;AAI/B,IAAM,2BAA2B,CAAC,iBACvCC,MAAK;AAAA,EACH;AAAA,IACE,MAAMA,MAAK;AAAA,MACTA,MAAK;AAAA,QACH;AAAA,UACE,OAAOA,MAAK;AAAA,YACVA,MAAK,OAAO;AAAA,cACV,aACE;AAAA,YACJ,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QACA;AAAA,UACE,sBAAsB;AAAA,UACtB,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK,MAAM;AAAA,QACTA,MAAK,MAAM,gBAAgBA,MAAK,IAAI,GAAG;AAAA,UACrC,aAAa;AAAA,QACf,CAAC;AAAA,QACDA,MAAK,QAAQ,kBAAkB;AAAA,UAC7B,aAAa;AAAA,QACf,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,MAAK;AAAA,MACXA,MAAK,MAAM;AAAA,QACTA,MAAK,MAAM,gBAAgBA,MAAK,IAAI,GAAG;AAAA,UACrC,aAAa;AAAA,QACf,CAAC;AAAA,QACDA,MAAK,QAAQ,kBAAkB;AAAA,UAC7B,aAAa;AAAA,QACf,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,MAAK;AAAA,MACdA,MAAK,QAAQ;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,IACA,SAASA,MAAK,SAAS,aAAa;AAAA,IACpC,MAAMA,MAAK;AAAA,MACTA,MAAK;AAAA,QACH;AAAA,UACE,MAAMA,MAAK;AAAA,YACTA,MAAK,MAAM;AAAA,cACTA,MAAK,QAAQ,IAAI;AAAA,cACjBA,MAAK,QAAQ,IAAI;AAAA,cACjBA,MAAK,QAAQ,QAAQ;AAAA,cACrBA,MAAK,QAAQ,OAAO;AAAA,cACpBA,MAAK,OAAO;AAAA,gBACV,OAAOA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,gBACjC,QAAQA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC;AAAA,cACpC,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,UACA,SAASA,MAAK;AAAA,YACZA,MAAK;AAAA,cACH;AAAA,gBACE,KAAKA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBAC9C,QAAQA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBACjD,MAAMA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBAC/C,OAAOA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBAChD,QAAQA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBACjD,QAAQA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,gBACjD,QAAQA,MAAK,SAASA,MAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,cACnD;AAAA,cACA;AAAA,gBACE,sBAAsB;AAAA,cACxB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aACE;AAAA,UACF,sBAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEK,IAAM,qBAAqB,yBAAyB;;;AChG3D,SAAS,QAAAC,cAAoB;AAG7B,IAAM,yBAAyBA,OAAK;AAAA,EAClC;AAAA,IACE,OAAOA,OAAK;AAAA,MACVA,OAAK,MAAM;AAAA,QACTA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf,CAAC;AAAA,QACDA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aACE;AAAA,QACJ,CAAC;AAAA,QACDA,OAAK,QAAQ,QAAQ;AAAA,UACnB,aACE;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,KAAKA,OAAK;AAAA,MACRA,OAAK,MAAM;AAAA,QACTA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf,CAAC;AAAA,QACDA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aACE;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,EAAE,sBAAsB,MAAM;AAChC;AAEO,IAAM,qBAAqBA,OAAK;AAAA,EACrC;AAAA,IACE,SAASA,OAAK,MAAM;AAAA,MAClBA,OAAK,OAAO;AAAA,QACV,SAAS;AAAA,QACT,aACE;AAAA,MACJ,CAAC;AAAA,MACDA,OAAK,MAAM,wBAAwB;AAAA,QACjC,UAAU;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH,CAAC;AAAA,IACD,KAAKA,OAAK;AAAA,MACRA,OAAK,MAAM;AAAA,QACTA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aACE;AAAA,QACJ,CAAC;AAAA,QACDA,OAAK,OAAO;AAAA,UACV,SAAS;AAAA,UACT,aACE;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;ACxEA,SAAS,QAAAC,cAAoB;AActB,IAAM,oBAAoBC,OAAK;AAAA,EACpC;AAAA,IACEA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,YAAY;AAAA,IACzBA,OAAK,QAAQ,YAAY;AAAA,IACzBA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,QAAQ;AAAA,IACrBA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,cAAc;AAAA,IAC3BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,KAAK;AAAA,IAClBA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,kBAAkB;AAAA,IAC/BA,OAAK,QAAQ,kBAAkB;AAAA,IAC/BA,OAAK,QAAQ,OAAO;AAAA,IACpBA,OAAK,QAAQ,OAAO;AAAA,IACpBA,OAAK,QAAQ,kBAAkB;AAAA,IAC/BA,OAAK,QAAQ,kBAAkB;AAAA,IAC/BA,OAAK,QAAQ,eAAe;AAAA,IAC5BA,OAAK,QAAQ,4BAA4B;AAAA,IACzCA,OAAK,QAAQ,uBAAuB;AAAA,IACpCA,OAAK,QAAQ,mBAAmB;AAAA,IAChCA,OAAK,QAAQ,gBAAgB;AAAA,IAC7BA,OAAK,QAAQ,gBAAgB;AAAA,IAC7BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,QAAQ;AAAA,IACrBA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,yBAAyB;AAAA,IACtCA,OAAK,QAAQ,sBAAsB;AAAA,IACnCA,OAAK,QAAQ,8BAA8B;AAAA,IAC3CA,OAAK,QAAQ,yBAAyB;AAAA,IACtCA,OAAK,QAAQ,sBAAsB;AAAA,IACnCA,OAAK,QAAQ,iBAAiB;AAAA,IAC9BA,OAAK,QAAQ,4BAA4B;AAAA,IACzCA,OAAK,QAAQ,mBAAmB;AAAA,IAChCA,OAAK,QAAQ,2BAA2B;AAAA,IACxCA,OAAK,QAAQ,2BAA2B;AAAA,IACxCA,OAAK,QAAQ,kBAAkB;AAAA,IAC/BA,OAAK,QAAQ,iBAAiB;AAAA,IAC9BA,OAAK,QAAQ,wBAAwB;AAAA,IACrCA,OAAK,QAAQ,yBAAyB;AAAA,IACtCA,OAAK,QAAQ,eAAe;AAAA,IAC5BA,OAAK,QAAQ,gBAAgB;AAAA,IAC7BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,gBAAgB;AAAA,IAC7BA,OAAK,QAAQ,oBAAoB;AAAA,IACjCA,OAAK,QAAQ,cAAc;AAAA,IAC3BA,OAAK,QAAQ,cAAc;AAAA,IAC3BA,OAAK,QAAQ,MAAM;AAAA,IACnBA,OAAK,QAAQ,cAAc;AAAA,IAC3BA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,SAAS;AAAA,IACtBA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,iBAAiB;AAAA,IAC9BA,OAAK,QAAQ,cAAc;AAAA,IAC3BA,OAAK,QAAQ,eAAe;AAAA,IAC5BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,aAAa;AAAA,IAC1BA,OAAK,QAAQ,cAAc;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,aAAa;AAAA,EACf;AACF;AAMO,IAAM,uBAAuBA,OAAK;AAAA,EACvC;AAAA,IACE,QAAQA,OAAK,SAASA,OAAK,OAAO,EAAE,aAAa,mBAAmB,CAAC,CAAC;AAAA,IACtE,MAAMA,OAAK;AAAA,MACTA,OAAK,OAAO,EAAE,SAAS,GAAG,aAAa,wBAAwB,CAAC;AAAA,IAClE;AAAA,IACA,OAAOA,OAAK,SAAS,cAAc;AAAA,IACnC,MAAMA,OAAK,SAASA,OAAK,QAAQ,EAAE,aAAa,cAAc,CAAC,CAAC;AAAA,IAChE,QAAQA,OAAK,SAASA,OAAK,QAAQ,EAAE,aAAa,gBAAgB,CAAC,CAAC;AAAA,IACpE,WAAWA,OAAK;AAAA,MACdA,OAAK,QAAQ,EAAE,aAAa,oBAAoB,CAAC;AAAA,IACnD;AAAA,EACF;AAAA,EACA;AAAA,IACE,aACE;AAAA,IACF,sBAAsB;AAAA,EACxB;AACF;AAKO,IAAM,uBAAuBA,OAAK;AAAA,EACvC;AAAA,IACE,OAAOA,OAAK,OAAO;AAAA,MACjB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,IACf,CAAC;AAAA,IACD,QAAQA,OAAK,SAAS,iBAAiB;AAAA,IACvC,MAAMA,OAAK;AAAA,MACTA,OAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,WAAWA,OAAK;AAAA,MACdA,OAAK;AAAA,QACH;AAAA,UACEA,OAAK,QAAQ,OAAO;AAAA,UACpBA,OAAK,QAAQ,KAAK;AAAA,UAClBA,OAAK,QAAQ,MAAM;AAAA,UACnBA,OAAK,QAAQ,OAAO;AAAA,UACpBA,OAAK,QAAQ,QAAQ;AAAA,QACvB;AAAA,QACA;AAAA,UACE,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQA,OAAK,SAAS,YAAY;AAAA,IAClC,OAAOA,OAAK;AAAA,MACVA,OAAK,OAAO;AAAA,QACV,SAAS;AAAA,QACT,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,MAAMA,OAAK,SAAS,oBAAoB;AAAA,EAC1C;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;AAEO,IAAM,kBAAkBA,OAAK;AAAA,EAClC;AAAA,IACE,OAAOA,OAAK;AAAA,MACVA,OAAK,MAAM;AAAA,QACTA,OAAK,OAAO;AAAA,QACZA,OAAK;AAAA,UACH;AAAA,YACE,MAAMA,OAAK,OAAO;AAAA,YAClB,OAAOA,OAAK;AAAA,cACVA,OAAK,OAAO;AAAA,gBACV,SAAS;AAAA,gBACT,SAAS;AAAA,gBACT,aAAa;AAAA,cACf,CAAC;AAAA,YACH;AAAA,YACA,IAAIA,OAAK;AAAA,cACPA,OAAK,OAAO;AAAA,gBACV,aACE;AAAA,cACJ,CAAC;AAAA,YACH;AAAA,YACA,UAAUA,OAAK,SAAS,cAAc;AAAA,UACxC;AAAA,UACA,EAAE,sBAAsB,MAAM;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,MACD;AAAA,QACE,aAAa;AAAA,QACb,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,WAAWA,OAAK;AAAA,MACdA,OAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,QAAQA,OAAK;AAAA,MACXA,OAAK,MAAM,sBAAsB;AAAA,QAC/B,aAAa;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA;AAAA,IAEA,QAAQA,OAAK;AAAA,MACXA,OAAK;AAAA,QACH,CAAC,mBAAmBA,OAAK,QAAQ,UAAU,GAAGA,OAAK,QAAQ,MAAM,CAAC;AAAA,QAClE;AAAA,UACE,aACE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQA,OAAK;AAAA,MACXA,OAAK,OAAO;AAAA,QACV,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,OAAOA,OAAK;AAAA,MACVA,OAAK,OAAO;AAAA,QACV,SAAS;AAAA,QACT,aACE;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,IACA,SAASA,OAAK,SAAS,iBAAiB;AAAA,IACxC,WAAWA,OAAK,SAAS,wBAAwB;AAAA,IACjD,QAAQA,OAAK;AAAA,MACXA,OAAK,MAAM,CAACA,OAAK,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;AAAA,IACxD;AAAA;AAAA;AAAA,IAGA,SAASA,OAAK,SAAS,aAAa;AAAA,EACtC;AAAA,EACA;AAAA,IACE,aAAa;AAAA,IACb,sBAAsB;AAAA,EACxB;AACF;;;AXxMO,IAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,IAAM,iCAAiCC,OAAK;AAAA,EACjDA,OAAK,KAAK,oBAAoB,kBAAkB;AAClD;AACO,IAAM,mCAAmCA,OAAK;AAAA,EACnDA,OAAK,KAAK,sBAAsB,kBAAkB;AACpD;AACO,IAAM,+BAA+BA,OAAK,QAAQ,gBAAgB;AAClE,IAAM,mCACXA,OAAK,QAAQ,oBAAoB;AAc5B,IAAM,+BAA+BA,OAAK;AAAA,EAC/CA,OAAK,KAAK,kBAAkB,CAAC,MAAM,CAAC;AACtC;AACO,IAAM,iCAAiCA,OAAK,QAAQ,kBAAkB;AACtE,IAAM,iCAAiCA,OAAK,QAAQ,kBAAkB;AACtE,IAAM,8BAA8BA,OAAK;AAAA,EAC9CA,OAAK,KAAK,iBAAiB,kBAAkB;AAC/C;AAEO,IAAM,0BAA0BA,OAAK;AAAA,EAC1C;AAAA,IACE,SAASA,OAAK,SAAS,8BAA8B;AAAA,IACrD,WAAWA,OAAK,SAAS,gCAAgC;AAAA,IACzD,OAAOA,OAAK,SAAS,4BAA4B;AAAA,IACjD,WAAWA,OAAK,SAAS,gCAAgC;AAAA,IACzD,OAAOA,OAAK,SAAS,4BAA4B;AAAA,IACjD,SAASA,OAAK,SAAS,8BAA8B;AAAA,IACrD,SAASA,OAAK,SAAS,8BAA8B;AAAA,IACrD,MAAMA,OAAK,SAAS,2BAA2B;AAAA,EACjD;AAAA,EACA,EAAE,sBAAsB,KAAK;AAAA;AAC/B;","names":["Type","Type","Type","Type","Type","Type","Type","AlignmentSchema","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type","Type"]}