@json-to-office/shared-docx 0.18.0 → 0.19.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 (43) hide show
  1. package/dist/{chunk-UPVW437P.js → chunk-2NLQPZ4G.js} +18 -3
  2. package/dist/chunk-2NLQPZ4G.js.map +1 -0
  3. package/dist/{chunk-3E47TLLP.js → chunk-5KQFVW6L.js} +2 -2
  4. package/dist/{chunk-CYBFQ2VM.js → chunk-65U4X47S.js} +13 -4
  5. package/dist/chunk-65U4X47S.js.map +1 -0
  6. package/dist/{chunk-N22J6K24.js → chunk-6YSWOGOA.js} +2 -2
  7. package/dist/{chunk-CV7HBUPT.js → chunk-7VT4KP6J.js} +2 -2
  8. package/dist/{chunk-B66TAIK6.js → chunk-E5YI66B3.js} +16 -1
  9. package/dist/chunk-E5YI66B3.js.map +1 -0
  10. package/dist/{chunk-6CAIEW25.js → chunk-IOSZEILS.js} +2 -2
  11. package/dist/{chunk-AIEN4MDJ.js → chunk-QNIC7H4H.js} +12 -4
  12. package/dist/{chunk-AIEN4MDJ.js.map → chunk-QNIC7H4H.js.map} +1 -1
  13. package/dist/{chunk-AKHPKRU5.js → chunk-TIQSCGX7.js} +3 -3
  14. package/dist/{chunk-ZFCRP5GT.js → chunk-U574TQ3W.js} +6 -6
  15. package/dist/{chunk-JWBBT2MK.js → chunk-ZEJU25KW.js} +2 -2
  16. package/dist/index.d.ts +14 -0
  17. package/dist/index.js +11 -11
  18. package/dist/schemas/api.js +5 -5
  19. package/dist/schemas/component-defaults.d.ts +12 -0
  20. package/dist/schemas/component-defaults.js +2 -2
  21. package/dist/schemas/component-registry.js +3 -3
  22. package/dist/schemas/components.d.ts +22 -0
  23. package/dist/schemas/components.js +4 -4
  24. package/dist/schemas/document.js +6 -6
  25. package/dist/schemas/export.js +4 -4
  26. package/dist/schemas/font.d.ts +21 -1
  27. package/dist/schemas/font.js +7 -1
  28. package/dist/schemas/generator.js +4 -4
  29. package/dist/schemas/theme.d.ts +7 -0
  30. package/dist/schemas/theme.js +3 -3
  31. package/dist/validation/unified/index.d.ts +14 -0
  32. package/dist/validation/unified/index.js +7 -7
  33. package/package.json +2 -2
  34. package/dist/chunk-B66TAIK6.js.map +0 -1
  35. package/dist/chunk-CYBFQ2VM.js.map +0 -1
  36. package/dist/chunk-UPVW437P.js.map +0 -1
  37. /package/dist/{chunk-3E47TLLP.js.map → chunk-5KQFVW6L.js.map} +0 -0
  38. /package/dist/{chunk-N22J6K24.js.map → chunk-6YSWOGOA.js.map} +0 -0
  39. /package/dist/{chunk-CV7HBUPT.js.map → chunk-7VT4KP6J.js.map} +0 -0
  40. /package/dist/{chunk-6CAIEW25.js.map → chunk-IOSZEILS.js.map} +0 -0
  41. /package/dist/{chunk-AKHPKRU5.js.map → chunk-TIQSCGX7.js.map} +0 -0
  42. /package/dist/{chunk-ZFCRP5GT.js.map → chunk-U574TQ3W.js.map} +0 -0
  43. /package/dist/{chunk-JWBBT2MK.js.map → chunk-ZEJU25KW.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schemas/theme.ts"],"sourcesContent":["/**\n * Theme Schema Definitions using TypeBox\n * This file provides TypeBox schemas for theme configuration validation\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n FontDefinitionSchema,\n TextFormattingPropertiesSchema,\n HexColorSchema,\n} from './font';\nimport { IndentSchema } from './components/common';\n\n// ============================================================================\n// Document Margins Schema\n// ============================================================================\n\nexport const DocumentMarginsSchema = Type.Object(\n {\n top: Type.Number({ minimum: 0 }),\n bottom: Type.Number({ minimum: 0 }),\n left: Type.Number({ minimum: 0 }),\n right: Type.Number({ minimum: 0 }),\n header: Type.Number({ minimum: 0 }),\n footer: Type.Number({ minimum: 0 }),\n gutter: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Document margin configuration' }\n);\n\n// ============================================================================\n// Page Dimensions Schema\n// ============================================================================\n\nexport const PageDimensionsSchema = Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Page dimensions in twips' }\n);\n\n// ============================================================================\n// Page Schema (replaces PageSetupSchema)\n// ============================================================================\n\nexport const PageSchema = Type.Object(\n {\n size: Type.Union(\n [\n Type.Literal('A4'),\n Type.Literal('A3'),\n Type.Literal('LETTER'),\n Type.Literal('LEGAL'),\n Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false }\n ),\n ],\n { description: 'Standard page size or custom dimensions' }\n ),\n margins: DocumentMarginsSchema,\n },\n {\n description: 'Page configuration including dimensions and margins',\n additionalProperties: false,\n }\n);\n\n// ============================================================================\n// Text formatting and font schemas now imported from './font' to avoid cycles\n\n// ============================================================================\n// Fonts Schema\n// ============================================================================\n\nexport const FontsSchema = Type.Object(\n {\n heading: FontDefinitionSchema,\n body: FontDefinitionSchema,\n mono: FontDefinitionSchema,\n light: FontDefinitionSchema,\n },\n {\n additionalProperties: false,\n description: 'Font definitions for different text types',\n }\n);\n\n// ============================================================================\n// Style Definitions Schema\n// ============================================================================\n\n// Paragraph border style support (matches docx BorderStyle)\nconst BorderStyleSchema = Type.Union(\n [\n Type.Literal('single'),\n Type.Literal('dashDotStroked'),\n Type.Literal('dashed'),\n Type.Literal('dashSmallGap'),\n Type.Literal('dotDash'),\n Type.Literal('dotDotDash'),\n Type.Literal('dotted'),\n Type.Literal('double'),\n Type.Literal('doubleWave'),\n Type.Literal('inset'),\n Type.Literal('nil'),\n Type.Literal('none'),\n Type.Literal('outset'),\n Type.Literal('thick'),\n Type.Literal('thickThinLargeGap'),\n Type.Literal('thickThinMediumGap'),\n Type.Literal('thickThinSmallGap'),\n Type.Literal('thinThickLargeGap'),\n Type.Literal('thinThickMediumGap'),\n Type.Literal('thinThickSmallGap'),\n Type.Literal('thinThickThinLargeGap'),\n Type.Literal('thinThickThinMediumGap'),\n Type.Literal('thinThickThinSmallGap'),\n Type.Literal('threeDEmboss'),\n Type.Literal('threeDEngrave'),\n Type.Literal('triple'),\n Type.Literal('wave'),\n ],\n { description: 'Paragraph border style' }\n);\n\nconst BorderDefinitionSchema = Type.Object(\n {\n style: BorderStyleSchema,\n size: Type.Number({\n minimum: 0,\n description: 'Width in eighths of a point (docx sz)',\n }),\n color: HexColorSchema,\n space: Type.Optional(\n Type.Number({\n minimum: 0,\n description: 'Space between text and border in points',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Paragraph border side definition',\n }\n);\n\nconst BordersSchema = Type.Object(\n {\n top: Type.Optional(BorderDefinitionSchema),\n bottom: Type.Optional(BorderDefinitionSchema),\n left: Type.Optional(BorderDefinitionSchema),\n right: Type.Optional(BorderDefinitionSchema),\n },\n { additionalProperties: false, description: 'Paragraph borders (per side)' }\n);\n\n// Alignment schema for paragraph-level alignment (used in styles)\nconst AlignmentSchema = Type.Optional(\n Type.Union([\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ])\n);\n\n/**\n * Style properties schema that extends text formatting properties\n * with additional style-specific properties (priority, baseStyle, etc.)\n */\nconst StylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Additional properties specific to styles\n priority: Type.Optional(Type.Number()),\n baseStyle: Type.Optional(Type.String()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Tab Stop Schema\n// ============================================================================\n\n/**\n * Tab stop leader types matching docx.js LeaderType\n */\nconst TabStopLeaderSchema = Type.Union(\n [\n Type.Literal('dot'),\n Type.Literal('hyphen'),\n Type.Literal('middleDot'),\n Type.Literal('none'),\n Type.Literal('underscore'),\n ],\n {\n description:\n 'Tab leader style: dot (dotted), hyphen (dashed), middleDot, none (blank), or underscore',\n }\n);\n\n/**\n * Tab stop type matching docx.js TabStopType\n */\nconst TabStopTypeSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('right'),\n Type.Literal('center'),\n Type.Literal('bar'),\n Type.Literal('clear'),\n Type.Literal('decimal'),\n Type.Literal('end'),\n Type.Literal('num'),\n Type.Literal('start'),\n ],\n {\n description: 'Tab stop alignment type',\n }\n);\n\n/**\n * Tab stop definition schema\n */\nconst TabStopDefinitionSchema = Type.Object(\n {\n type: TabStopTypeSchema,\n position: Type.Union([\n Type.Number({\n description:\n 'Tab stop position in twips (1/1440 inch). Common: 9026 for right-aligned at page margin',\n }),\n Type.Literal('max', {\n description: 'Use maximum position (TabStopPosition.MAX = 9026 twips)',\n }),\n ]),\n leader: Type.Optional(TabStopLeaderSchema),\n },\n {\n description:\n 'Tab stop configuration with position, alignment, and optional leader',\n additionalProperties: false,\n }\n);\n\n/**\n * TOC style properties schema that extends text formatting properties\n * but EXCLUDES baseStyle to prevent unwanted coupling with Heading styles\n */\nconst TocStylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Tab stops for controlling TOC entry formatting (leader dots, alignment, etc.)\n tabStops: Type.Optional(\n Type.Array(TabStopDefinitionSchema, {\n description:\n 'Tab stops for TOC entries. Use right-aligned tab with leader to create dotted lines to page numbers.',\n default: [{ type: 'right', position: 'max', leader: 'none' }],\n })\n ),\n // Additional properties specific to styles (baseStyle intentionally excluded)\n priority: Type.Optional(Type.Number()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\nexport const StyleDefinitionsSchema = Type.Object(\n {\n normal: Type.Optional(StylePropertiesSchema),\n heading1: Type.Optional(StylePropertiesSchema),\n heading2: Type.Optional(StylePropertiesSchema),\n heading3: Type.Optional(StylePropertiesSchema),\n heading4: Type.Optional(StylePropertiesSchema),\n heading5: Type.Optional(StylePropertiesSchema),\n heading6: Type.Optional(StylePropertiesSchema),\n title: Type.Optional(StylePropertiesSchema),\n subtitle: Type.Optional(StylePropertiesSchema),\n // TOC entry styles (used by Word to format TOC entries)\n // Note: TOC styles use TocStylePropertiesSchema which excludes baseStyle to prevent coupling with Headings\n TOC1: Type.Optional(TocStylePropertiesSchema),\n TOC2: Type.Optional(TocStylePropertiesSchema),\n TOC3: Type.Optional(TocStylePropertiesSchema),\n TOC4: Type.Optional(TocStylePropertiesSchema),\n TOC5: Type.Optional(TocStylePropertiesSchema),\n TOC6: Type.Optional(TocStylePropertiesSchema),\n },\n {\n additionalProperties: StylePropertiesSchema,\n description:\n 'Style definitions supporting predefined styles (normal, heading1..6, title, subtitle), TOC entry styles (TOC1..TOC6), and arbitrary custom styles.',\n }\n);\n\n// ============================================================================\n// Heading Definition Schema\n// ============================================================================\n\n/**\n * Heading definition schema that uses the same properties as StylePropertiesSchema\n * but adds a required 'level' field.\n */\nexport const HeadingDefinitionSchema = Type.Object(\n {\n level: Type.Union([\n Type.Literal(1),\n Type.Literal(2),\n Type.Literal(3),\n Type.Literal(4),\n Type.Literal(5),\n Type.Literal(6),\n ]),\n ...StylePropertiesSchema.properties,\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Component Defaults Schemas (imported from component-defaults.ts to avoid\n// circular deps: report.ts needs ComponentDefaultsSchema, but the old location\n// here imported from the components barrel which re-exports report.ts)\n// ============================================================================\n\nimport { ComponentDefaultsSchema } from './component-defaults';\n\nexport {\n HeadingComponentDefaultsSchema,\n ParagraphComponentDefaultsSchema,\n ImageComponentDefaultsSchema,\n StatisticComponentDefaultsSchema,\n TableComponentDefaultsSchema,\n SectionComponentDefaultsSchema,\n ColumnsComponentDefaultsSchema,\n ListComponentDefaultsSchema,\n ComponentDefaultsSchema,\n} from './component-defaults';\n\n// ============================================================================\n// Theme Config Schema\n// ============================================================================\n\nexport const ThemeConfigSchema = Type.Object(\n {\n $schema: Type.Optional(Type.String()),\n name: Type.String(),\n displayName: Type.String(),\n description: Type.String(),\n version: Type.String(),\n colors: Type.Object(\n {\n primary: HexColorSchema,\n secondary: HexColorSchema,\n accent: HexColorSchema,\n text: HexColorSchema,\n background: HexColorSchema,\n border: HexColorSchema,\n // Additional semantic color names\n textPrimary: HexColorSchema,\n textSecondary: HexColorSchema,\n textMuted: HexColorSchema,\n borderPrimary: HexColorSchema,\n borderSecondary: HexColorSchema,\n backgroundPrimary: HexColorSchema,\n backgroundSecondary: HexColorSchema,\n },\n { additionalProperties: false }\n ),\n fonts: FontsSchema,\n page: PageSchema,\n styles: Type.Optional(StyleDefinitionsSchema),\n componentDefaults: Type.Optional(ComponentDefaultsSchema),\n },\n {\n additionalProperties: false,\n description: 'Theme configuration',\n }\n);\n\n// ============================================================================\n// TypeScript Types\n// ============================================================================\n\nexport type ThemeConfigJson = Static<typeof ThemeConfigSchema>;\nexport type DocumentMargins = Static<typeof DocumentMarginsSchema>;\nexport type PageDimensions = Static<typeof PageDimensionsSchema>;\nexport type Page = Static<typeof PageSchema>;\nexport type FontDefinition = Static<typeof FontDefinitionSchema>;\nexport type Fonts = Static<typeof FontsSchema>;\nexport type StyleDefinitions = Static<typeof StyleDefinitionsSchema>;\nexport type HeadingDefinition = Static<typeof HeadingDefinitionSchema>;\nexport type {\n HeadingComponentDefaults,\n ParagraphComponentDefaults,\n ImageComponentDefaults,\n StatisticComponentDefaults,\n TableComponentDefaults,\n SectionComponentDefaults,\n ColumnsComponentDefaults,\n ListComponentDefaults,\n ComponentDefaults,\n} from './component-defaults';\n\n// ============================================================================\n// Validation Function\n// ============================================================================\n\nimport { Value } from '@sinclair/typebox/value';\n\nexport function isValidThemeConfig(data: unknown): data is ThemeConfigJson {\n return Value.Check(ThemeConfigSchema, data);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/schemas/theme.ts"],"sourcesContent":["/**\n * Theme Schema Definitions using TypeBox\n * This file provides TypeBox schemas for theme configuration validation\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n FontDefinitionSchema,\n TextFormattingPropertiesSchema,\n HexColorSchema,\n} from './font';\nimport { IndentSchema } from './components/common';\n\n// ============================================================================\n// Document Margins Schema\n// ============================================================================\n\nexport const DocumentMarginsSchema = Type.Object(\n {\n top: Type.Number({ minimum: 0 }),\n bottom: Type.Number({ minimum: 0 }),\n left: Type.Number({ minimum: 0 }),\n right: Type.Number({ minimum: 0 }),\n header: Type.Number({ minimum: 0 }),\n footer: Type.Number({ minimum: 0 }),\n gutter: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Document margin configuration' }\n);\n\n// ============================================================================\n// Page Dimensions Schema\n// ============================================================================\n\nexport const PageDimensionsSchema = Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Page dimensions in twips' }\n);\n\n// ============================================================================\n// Page Schema (replaces PageSetupSchema)\n// ============================================================================\n\nexport const PageSchema = Type.Object(\n {\n size: Type.Union(\n [\n Type.Literal('A4'),\n Type.Literal('A3'),\n Type.Literal('LETTER'),\n Type.Literal('LEGAL'),\n Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false }\n ),\n ],\n { description: 'Standard page size or custom dimensions' }\n ),\n margins: DocumentMarginsSchema,\n },\n {\n description: 'Page configuration including dimensions and margins',\n additionalProperties: false,\n }\n);\n\n// ============================================================================\n// Text formatting and font schemas now imported from './font' to avoid cycles\n\n// ============================================================================\n// Fonts Schema\n// ============================================================================\n\nexport const FontsSchema = Type.Object(\n {\n heading: FontDefinitionSchema,\n body: FontDefinitionSchema,\n mono: FontDefinitionSchema,\n light: FontDefinitionSchema,\n },\n {\n additionalProperties: false,\n description: 'Font definitions for different text types',\n }\n);\n\n// ============================================================================\n// Style Definitions Schema\n// ============================================================================\n\n// Paragraph border style support (matches docx BorderStyle)\nconst BorderStyleSchema = Type.Union(\n [\n Type.Literal('single'),\n Type.Literal('dashDotStroked'),\n Type.Literal('dashed'),\n Type.Literal('dashSmallGap'),\n Type.Literal('dotDash'),\n Type.Literal('dotDotDash'),\n Type.Literal('dotted'),\n Type.Literal('double'),\n Type.Literal('doubleWave'),\n Type.Literal('inset'),\n Type.Literal('nil'),\n Type.Literal('none'),\n Type.Literal('outset'),\n Type.Literal('thick'),\n Type.Literal('thickThinLargeGap'),\n Type.Literal('thickThinMediumGap'),\n Type.Literal('thickThinSmallGap'),\n Type.Literal('thinThickLargeGap'),\n Type.Literal('thinThickMediumGap'),\n Type.Literal('thinThickSmallGap'),\n Type.Literal('thinThickThinLargeGap'),\n Type.Literal('thinThickThinMediumGap'),\n Type.Literal('thinThickThinSmallGap'),\n Type.Literal('threeDEmboss'),\n Type.Literal('threeDEngrave'),\n Type.Literal('triple'),\n Type.Literal('wave'),\n ],\n { description: 'Paragraph border style' }\n);\n\nconst BorderDefinitionSchema = Type.Object(\n {\n style: BorderStyleSchema,\n size: Type.Number({\n minimum: 0,\n description: 'Width in eighths of a point (docx sz)',\n }),\n color: HexColorSchema,\n space: Type.Optional(\n Type.Number({\n minimum: 0,\n description: 'Space between text and border in points',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Paragraph border side definition',\n }\n);\n\nconst BordersSchema = Type.Object(\n {\n top: Type.Optional(BorderDefinitionSchema),\n bottom: Type.Optional(BorderDefinitionSchema),\n left: Type.Optional(BorderDefinitionSchema),\n right: Type.Optional(BorderDefinitionSchema),\n },\n { additionalProperties: false, description: 'Paragraph borders (per side)' }\n);\n\n// Alignment schema for paragraph-level alignment (used in styles)\nconst AlignmentSchema = Type.Optional(\n Type.Union([\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ])\n);\n\n/**\n * Style properties schema that extends text formatting properties\n * with additional style-specific properties (priority, baseStyle, etc.)\n */\nconst StylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Additional properties specific to styles\n priority: Type.Optional(Type.Number()),\n baseStyle: Type.Optional(Type.String()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Tab Stop Schema\n// ============================================================================\n\n/**\n * Tab stop leader types matching docx.js LeaderType\n */\nconst TabStopLeaderSchema = Type.Union(\n [\n Type.Literal('dot'),\n Type.Literal('hyphen'),\n Type.Literal('middleDot'),\n Type.Literal('none'),\n Type.Literal('underscore'),\n ],\n {\n description:\n 'Tab leader style: dot (dotted), hyphen (dashed), middleDot, none (blank), or underscore',\n }\n);\n\n/**\n * Tab stop type matching docx.js TabStopType\n */\nconst TabStopTypeSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('right'),\n Type.Literal('center'),\n Type.Literal('bar'),\n Type.Literal('clear'),\n Type.Literal('decimal'),\n Type.Literal('end'),\n Type.Literal('num'),\n Type.Literal('start'),\n ],\n {\n description: 'Tab stop alignment type',\n }\n);\n\n/**\n * Tab stop definition schema\n */\nconst TabStopDefinitionSchema = Type.Object(\n {\n type: TabStopTypeSchema,\n position: Type.Union([\n Type.Number({\n description:\n 'Tab stop position in twips (1/1440 inch). Common: 9026 for right-aligned at page margin',\n }),\n Type.Literal('max', {\n description: 'Use maximum position (TabStopPosition.MAX = 9026 twips)',\n }),\n ]),\n leader: Type.Optional(TabStopLeaderSchema),\n },\n {\n description:\n 'Tab stop configuration with position, alignment, and optional leader',\n additionalProperties: false,\n }\n);\n\n/**\n * TOC style properties schema that extends text formatting properties\n * but EXCLUDES baseStyle to prevent unwanted coupling with Heading styles\n */\nconst TocStylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Tab stops for controlling TOC entry formatting (leader dots, alignment, etc.)\n tabStops: Type.Optional(\n Type.Array(TabStopDefinitionSchema, {\n description:\n 'Tab stops for TOC entries. Use right-aligned tab with leader to create dotted lines to page numbers.',\n default: [{ type: 'right', position: 'max', leader: 'none' }],\n })\n ),\n // Additional properties specific to styles (baseStyle intentionally excluded)\n priority: Type.Optional(Type.Number()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\nexport const StyleDefinitionsSchema = Type.Object(\n {\n normal: Type.Optional(StylePropertiesSchema),\n heading1: Type.Optional(StylePropertiesSchema),\n heading2: Type.Optional(StylePropertiesSchema),\n heading3: Type.Optional(StylePropertiesSchema),\n heading4: Type.Optional(StylePropertiesSchema),\n heading5: Type.Optional(StylePropertiesSchema),\n heading6: Type.Optional(StylePropertiesSchema),\n title: Type.Optional(StylePropertiesSchema),\n subtitle: Type.Optional(StylePropertiesSchema),\n // TOC entry styles (used by Word to format TOC entries)\n // Note: TOC styles use TocStylePropertiesSchema which excludes baseStyle to prevent coupling with Headings\n TOC1: Type.Optional(TocStylePropertiesSchema),\n TOC2: Type.Optional(TocStylePropertiesSchema),\n TOC3: Type.Optional(TocStylePropertiesSchema),\n TOC4: Type.Optional(TocStylePropertiesSchema),\n TOC5: Type.Optional(TocStylePropertiesSchema),\n TOC6: Type.Optional(TocStylePropertiesSchema),\n },\n {\n additionalProperties: StylePropertiesSchema,\n description:\n 'Style definitions supporting predefined styles (normal, heading1..6, title, subtitle), TOC entry styles (TOC1..TOC6), and arbitrary custom styles.',\n }\n);\n\n// ============================================================================\n// Heading Definition Schema\n// ============================================================================\n\n/**\n * Heading definition schema that uses the same properties as StylePropertiesSchema\n * but adds a required 'level' field.\n */\nexport const HeadingDefinitionSchema = Type.Object(\n {\n level: Type.Union([\n Type.Literal(1),\n Type.Literal(2),\n Type.Literal(3),\n Type.Literal(4),\n Type.Literal(5),\n Type.Literal(6),\n ]),\n ...StylePropertiesSchema.properties,\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Component Defaults Schemas (imported from component-defaults.ts to avoid\n// circular deps: report.ts needs ComponentDefaultsSchema, but the old location\n// here imported from the components barrel which re-exports report.ts)\n// ============================================================================\n\nimport { ComponentDefaultsSchema } from './component-defaults';\n\nexport {\n HeadingComponentDefaultsSchema,\n ParagraphComponentDefaultsSchema,\n ImageComponentDefaultsSchema,\n StatisticComponentDefaultsSchema,\n TableComponentDefaultsSchema,\n SectionComponentDefaultsSchema,\n ColumnsComponentDefaultsSchema,\n ListComponentDefaultsSchema,\n ComponentDefaultsSchema,\n} from './component-defaults';\n\n// ============================================================================\n// Theme Config Schema\n// ============================================================================\n\nexport const ThemeConfigSchema = Type.Object(\n {\n $schema: Type.Optional(Type.String()),\n name: Type.String(),\n displayName: Type.String(),\n description: Type.String(),\n version: Type.String(),\n colors: Type.Object(\n {\n primary: HexColorSchema,\n secondary: HexColorSchema,\n accent: HexColorSchema,\n text: HexColorSchema,\n background: HexColorSchema,\n border: HexColorSchema,\n // Additional semantic color names\n textPrimary: HexColorSchema,\n textSecondary: HexColorSchema,\n textMuted: HexColorSchema,\n borderPrimary: HexColorSchema,\n borderSecondary: HexColorSchema,\n backgroundPrimary: HexColorSchema,\n backgroundSecondary: HexColorSchema,\n },\n { additionalProperties: false }\n ),\n fonts: FontsSchema,\n page: PageSchema,\n styles: Type.Optional(StyleDefinitionsSchema),\n componentDefaults: Type.Optional(ComponentDefaultsSchema),\n // House-style \"known words\" allowlist (whole-word, case-insensitive) that\n // should never be flagged as misspelled. The document's `noProofWords` is\n // merged on top of this at render time.\n noProofWords: Type.Optional(\n Type.Array(Type.String({ minLength: 1 }), {\n description:\n 'Words that should never be flagged as misspelled (whole-word, case-insensitive).',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Theme configuration',\n }\n);\n\n// ============================================================================\n// TypeScript Types\n// ============================================================================\n\nexport type ThemeConfigJson = Static<typeof ThemeConfigSchema>;\nexport type DocumentMargins = Static<typeof DocumentMarginsSchema>;\nexport type PageDimensions = Static<typeof PageDimensionsSchema>;\nexport type Page = Static<typeof PageSchema>;\nexport type FontDefinition = Static<typeof FontDefinitionSchema>;\nexport type Fonts = Static<typeof FontsSchema>;\nexport type StyleDefinitions = Static<typeof StyleDefinitionsSchema>;\nexport type HeadingDefinition = Static<typeof HeadingDefinitionSchema>;\nexport type {\n HeadingComponentDefaults,\n ParagraphComponentDefaults,\n ImageComponentDefaults,\n StatisticComponentDefaults,\n TableComponentDefaults,\n SectionComponentDefaults,\n ColumnsComponentDefaults,\n ListComponentDefaults,\n ComponentDefaults,\n} from './component-defaults';\n\n// ============================================================================\n// Validation Function\n// ============================================================================\n\nimport { Value } from '@sinclair/typebox/value';\n\nexport function isValidThemeConfig(data: unknown): data is ThemeConfigJson {\n return Value.Check(ThemeConfigSchema, data);\n}\n"],"mappings":"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","names":[]}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  ComponentDefinitionSchema,
3
3
  StandardComponentDefinitionSchema
4
- } from "./chunk-3E47TLLP.js";
4
+ } from "./chunk-5KQFVW6L.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-CYBFQ2VM.js";
11
+ } from "./chunk-65U4X47S.js";
12
12
 
13
13
  // src/validation/unified/error-transformer.ts
14
14
  import {
@@ -818,4 +818,4 @@ export {
818
818
  validateJsonComponent,
819
819
  validateDocumentWithSchema
820
820
  };
821
- //# sourceMappingURL=chunk-AKHPKRU5.js.map
821
+ //# sourceMappingURL=chunk-TIQSCGX7.js.map
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  ThemeConfigSchema
3
- } from "./chunk-AIEN4MDJ.js";
3
+ } from "./chunk-QNIC7H4H.js";
4
4
  import {
5
5
  documentValidator,
6
6
  strictDocumentValidator,
7
7
  validateAgainstSchema,
8
8
  validateJson
9
- } from "./chunk-AKHPKRU5.js";
9
+ } from "./chunk-TIQSCGX7.js";
10
10
  import {
11
11
  ComponentDefinitionSchema
12
- } from "./chunk-3E47TLLP.js";
12
+ } from "./chunk-5KQFVW6L.js";
13
13
  import {
14
14
  CustomComponentDefinitionSchema
15
15
  } from "./chunk-7GGTZ4TA.js";
16
16
  import {
17
17
  ReportPropsSchema
18
- } from "./chunk-CYBFQ2VM.js";
18
+ } from "./chunk-65U4X47S.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-UPVW437P.js";
28
+ } from "./chunk-2NLQPZ4G.js";
29
29
 
30
30
  // src/validation/unified/index.ts
31
31
  import {
@@ -416,4 +416,4 @@ export {
416
416
  createErrorConfig,
417
417
  formatErrorMessage
418
418
  };
419
- //# sourceMappingURL=chunk-ZFCRP5GT.js.map
419
+ //# sourceMappingURL=chunk-U574TQ3W.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getContainerComponents
3
- } from "./chunk-CYBFQ2VM.js";
3
+ } from "./chunk-65U4X47S.js";
4
4
 
5
5
  // src/schemas/export.ts
6
6
  function fixSchemaReferences(schema, rootDefinitionName = "ComponentDefinition") {
@@ -272,4 +272,4 @@ export {
272
272
  BASE_SCHEMA_METADATA,
273
273
  THEME_SCHEMA_METADATA
274
274
  };
275
- //# sourceMappingURL=chunk-JWBBT2MK.js.map
275
+ //# sourceMappingURL=chunk-ZEJU25KW.js.map
package/dist/index.d.ts CHANGED
@@ -330,6 +330,9 @@ declare const COMPONENT_SCHEMA_MAP: {
330
330
  }>>;
331
331
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
332
332
  }>>;
333
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
334
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
335
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
333
336
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
334
337
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
335
338
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -364,6 +367,9 @@ declare const COMPONENT_SCHEMA_MAP: {
364
367
  }>>;
365
368
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
366
369
  }>>;
370
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
371
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
372
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
367
373
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
368
374
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
369
375
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -526,6 +532,8 @@ declare const COMPONENT_SCHEMA_MAP: {
526
532
  }>]>>;
527
533
  }>>;
528
534
  }>>;
535
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
536
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
529
537
  trackRevisions: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
530
538
  metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
531
539
  title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -590,6 +598,9 @@ declare const COMPONENT_SCHEMA_MAP: {
590
598
  }>>;
591
599
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
592
600
  }>>;
601
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
602
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
603
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
593
604
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
594
605
  spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
595
606
  before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
@@ -637,6 +648,9 @@ declare const COMPONENT_SCHEMA_MAP: {
637
648
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
638
649
  }>>;
639
650
  themeStyle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
651
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
652
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
653
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
640
654
  boldColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
641
655
  spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
642
656
  before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "./chunk-N22J6K24.js";
3
+ } from "./chunk-6YSWOGOA.js";
4
4
  import {
5
5
  DOC_LINKS,
6
6
  ERROR_TEMPLATES,
@@ -32,21 +32,21 @@ import {
32
32
  validateTheme,
33
33
  validateThemeJson,
34
34
  validateThemeWithEnhancement
35
- } from "./chunk-ZFCRP5GT.js";
35
+ } from "./chunk-U574TQ3W.js";
36
36
  import {
37
37
  ThemeConfigSchema,
38
38
  isValidThemeConfig
39
- } from "./chunk-AIEN4MDJ.js";
39
+ } from "./chunk-QNIC7H4H.js";
40
40
  import {
41
41
  GenerateDocumentRequestSchema,
42
42
  GenerateDocumentResponseSchema,
43
43
  ValidateDocumentRequestSchema,
44
44
  ValidateDocumentResponseSchema
45
- } from "./chunk-6CAIEW25.js";
45
+ } from "./chunk-IOSZEILS.js";
46
46
  import {
47
47
  JSON_SCHEMA_URLS,
48
48
  JsonComponentDefinitionSchema
49
- } from "./chunk-CV7HBUPT.js";
49
+ } from "./chunk-7VT4KP6J.js";
50
50
  import {
51
51
  comprehensiveValidateDocument,
52
52
  createDocumentValidator,
@@ -68,11 +68,11 @@ import {
68
68
  validateJsonComponent,
69
69
  validateJsonDocument,
70
70
  validateWithEnhancement
71
- } from "./chunk-AKHPKRU5.js";
71
+ } from "./chunk-TIQSCGX7.js";
72
72
  import {
73
73
  ComponentDefinitionSchema,
74
74
  StandardComponentDefinitionSchema
75
- } from "./chunk-3E47TLLP.js";
75
+ } from "./chunk-5KQFVW6L.js";
76
76
  import {
77
77
  CustomComponentDefinitionSchema,
78
78
  TextSpaceAfterComponentSchema,
@@ -86,7 +86,7 @@ import {
86
86
  createComponentSchema,
87
87
  exportSchemaToFile,
88
88
  fixSchemaReferences
89
- } from "./chunk-JWBBT2MK.js";
89
+ } from "./chunk-ZEJU25KW.js";
90
90
  import {
91
91
  HighchartsPropsSchema,
92
92
  ReportPropsSchema,
@@ -95,7 +95,7 @@ import {
95
95
  VisualCanvasBackgroundSchema,
96
96
  VisualCanvasSchema,
97
97
  VisualPropsSchema
98
- } from "./chunk-CYBFQ2VM.js";
98
+ } from "./chunk-65U4X47S.js";
99
99
  import {
100
100
  AlignmentSchema,
101
101
  BaseComponentPropsSchema,
@@ -117,8 +117,8 @@ import {
117
117
  SpacingSchema,
118
118
  StatisticPropsSchema,
119
119
  TablePropsSchema
120
- } from "./chunk-UPVW437P.js";
121
- import "./chunk-B66TAIK6.js";
120
+ } from "./chunk-2NLQPZ4G.js";
121
+ import "./chunk-E5YI66B3.js";
122
122
 
123
123
  // src/diff/word-diff.ts
124
124
  var MAX_LCS_CELLS = 1e6;
@@ -3,11 +3,11 @@ import {
3
3
  GenerateDocumentResponseSchema,
4
4
  ValidateDocumentRequestSchema,
5
5
  ValidateDocumentResponseSchema
6
- } from "../chunk-6CAIEW25.js";
7
- import "../chunk-3E47TLLP.js";
8
- import "../chunk-CYBFQ2VM.js";
9
- import "../chunk-UPVW437P.js";
10
- import "../chunk-B66TAIK6.js";
6
+ } from "../chunk-IOSZEILS.js";
7
+ import "../chunk-5KQFVW6L.js";
8
+ import "../chunk-65U4X47S.js";
9
+ import "../chunk-2NLQPZ4G.js";
10
+ import "../chunk-E5YI66B3.js";
11
11
  export {
12
12
  GenerateDocumentRequestSchema,
13
13
  GenerateDocumentResponseSchema,
@@ -33,6 +33,9 @@ declare const HeadingComponentDefaultsSchema: _sinclair_typebox.TObject<{
33
33
  }>>;
34
34
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
35
35
  }>>;
36
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
37
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
38
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
36
39
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
37
40
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
38
41
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -67,6 +70,9 @@ declare const ParagraphComponentDefaultsSchema: _sinclair_typebox.TObject<{
67
70
  }>>;
68
71
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
69
72
  }>>;
73
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
74
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
75
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
70
76
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
71
77
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
72
78
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -261,6 +267,9 @@ declare const ComponentDefaultsSchema: _sinclair_typebox.TObject<{
261
267
  }>>;
262
268
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
263
269
  }>>;
270
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
271
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
272
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
264
273
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
265
274
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
266
275
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -295,6 +304,9 @@ declare const ComponentDefaultsSchema: _sinclair_typebox.TObject<{
295
304
  }>>;
296
305
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
297
306
  }>>;
307
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
308
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
309
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
298
310
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
299
311
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
300
312
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -8,8 +8,8 @@ import {
8
8
  SectionComponentDefaultsSchema,
9
9
  StatisticComponentDefaultsSchema,
10
10
  TableComponentDefaultsSchema
11
- } from "../chunk-UPVW437P.js";
12
- import "../chunk-B66TAIK6.js";
11
+ } from "../chunk-2NLQPZ4G.js";
12
+ import "../chunk-E5YI66B3.js";
13
13
  export {
14
14
  ColumnsComponentDefaultsSchema,
15
15
  ComponentDefaultsSchema,
@@ -9,9 +9,9 @@ import {
9
9
  getContentComponents,
10
10
  getStandardComponent,
11
11
  isStandardComponent
12
- } from "../chunk-CYBFQ2VM.js";
13
- import "../chunk-UPVW437P.js";
14
- import "../chunk-B66TAIK6.js";
12
+ } from "../chunk-65U4X47S.js";
13
+ import "../chunk-2NLQPZ4G.js";
14
+ import "../chunk-E5YI66B3.js";
15
15
  export {
16
16
  STANDARD_COMPONENTS_REGISTRY,
17
17
  createAllComponentSchemas,
@@ -144,6 +144,9 @@ declare const createReportPropsSchema: (_moduleRef?: TSchema) => _sinclair_typeb
144
144
  }>>;
145
145
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
146
146
  }>>;
147
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
148
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
149
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
147
150
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
148
151
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
149
152
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -178,6 +181,9 @@ declare const createReportPropsSchema: (_moduleRef?: TSchema) => _sinclair_typeb
178
181
  }>>;
179
182
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
180
183
  }>>;
184
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
185
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
186
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
181
187
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
182
188
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
183
189
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -340,6 +346,8 @@ declare const createReportPropsSchema: (_moduleRef?: TSchema) => _sinclair_typeb
340
346
  }>]>>;
341
347
  }>>;
342
348
  }>>;
349
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
350
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
343
351
  trackRevisions: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
344
352
  metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
345
353
  title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -389,6 +397,9 @@ declare const ReportPropsSchema: _sinclair_typebox.TObject<{
389
397
  }>>;
390
398
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
391
399
  }>>;
400
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
401
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
402
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
392
403
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
393
404
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
394
405
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -423,6 +434,9 @@ declare const ReportPropsSchema: _sinclair_typebox.TObject<{
423
434
  }>>;
424
435
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
425
436
  }>>;
437
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
438
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
439
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
426
440
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
427
441
  pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
428
442
  columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -585,6 +599,8 @@ declare const ReportPropsSchema: _sinclair_typebox.TObject<{
585
599
  }>]>>;
586
600
  }>>;
587
601
  }>>;
602
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
603
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
588
604
  trackRevisions: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
589
605
  metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
590
606
  title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -688,6 +704,9 @@ declare const HeadingPropsSchema: _sinclair_typebox.TObject<{
688
704
  }>>;
689
705
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
690
706
  }>>;
707
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
708
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
709
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
691
710
  alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
692
711
  spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
693
712
  before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
@@ -737,6 +756,9 @@ declare const ParagraphPropsSchema: _sinclair_typebox.TObject<{
737
756
  family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
738
757
  }>>;
739
758
  themeStyle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
759
+ language: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
760
+ noProof: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
761
+ noProofWords: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
740
762
  boldColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
741
763
  spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
742
764
  before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ComponentDefinitionSchema,
3
3
  StandardComponentDefinitionSchema
4
- } from "../chunk-3E47TLLP.js";
4
+ } from "../chunk-5KQFVW6L.js";
5
5
  import {
6
6
  HighchartsPropsSchema,
7
7
  ReportPropsSchema,
@@ -15,7 +15,7 @@ import {
15
15
  VisualCanvasSchema,
16
16
  VisualPropsSchema,
17
17
  createReportPropsSchema
18
- } from "../chunk-CYBFQ2VM.js";
18
+ } from "../chunk-65U4X47S.js";
19
19
  import {
20
20
  AlignmentSchema,
21
21
  BaseComponentFields,
@@ -50,8 +50,8 @@ import {
50
50
  VerticalPositionRelativeFromSchema,
51
51
  createSectionPropsSchema,
52
52
  createTablePropsSchema
53
- } from "../chunk-UPVW437P.js";
54
- import "../chunk-B66TAIK6.js";
53
+ } from "../chunk-2NLQPZ4G.js";
54
+ import "../chunk-E5YI66B3.js";
55
55
  export {
56
56
  AlignmentSchema,
57
57
  BaseComponentFields,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  JSON_SCHEMA_URLS,
3
3
  JsonComponentDefinitionSchema
4
- } from "../chunk-CV7HBUPT.js";
4
+ } from "../chunk-7VT4KP6J.js";
5
5
  import {
6
6
  validateDocumentWithSchema,
7
7
  validateJsonComponent
8
- } from "../chunk-AKHPKRU5.js";
9
- import "../chunk-3E47TLLP.js";
8
+ } from "../chunk-TIQSCGX7.js";
9
+ import "../chunk-5KQFVW6L.js";
10
10
  import "../chunk-7GGTZ4TA.js";
11
- import "../chunk-CYBFQ2VM.js";
12
- import "../chunk-UPVW437P.js";
13
- import "../chunk-B66TAIK6.js";
11
+ import "../chunk-65U4X47S.js";
12
+ import "../chunk-2NLQPZ4G.js";
13
+ import "../chunk-E5YI66B3.js";
14
14
  export {
15
15
  JSON_SCHEMA_URLS,
16
16
  JsonComponentDefinitionSchema,
@@ -6,10 +6,10 @@ import {
6
6
  createComponentSchema,
7
7
  exportSchemaToFile,
8
8
  fixSchemaReferences
9
- } from "../chunk-JWBBT2MK.js";
10
- import "../chunk-CYBFQ2VM.js";
11
- import "../chunk-UPVW437P.js";
12
- import "../chunk-B66TAIK6.js";
9
+ } from "../chunk-ZEJU25KW.js";
10
+ import "../chunk-65U4X47S.js";
11
+ import "../chunk-2NLQPZ4G.js";
12
+ import "../chunk-E5YI66B3.js";
13
13
  export {
14
14
  BASE_SCHEMA_METADATA,
15
15
  COMPONENT_METADATA,
@@ -8,6 +8,26 @@ import * as _sinclair_typebox from '@sinclair/typebox';
8
8
  declare const HexColorSchema: _sinclair_typebox.TString;
9
9
  /** Like HexColorSchema but also accepts "transparent" (used for backgroundColor) */
10
10
  declare const HexColorOrTransparentSchema: _sinclair_typebox.TString;
11
+ /**
12
+ * BCP-47 / IETF language tag used by Word for spell- and grammar-checking
13
+ * (e.g. "en-US", "fr-FR", "de-DE"). Set on the document to change the default
14
+ * proofing language, or on a component to override it for that text only.
15
+ */
16
+ declare const LanguageSchema: _sinclair_typebox.TString;
17
+ /**
18
+ * Disable spell/grammar checking ("do not proof") for the text, e.g. code
19
+ * snippets, identifiers, or product names Word would otherwise flag.
20
+ */
21
+ declare const NoProofSchema: _sinclair_typebox.TBoolean;
22
+ /**
23
+ * A "known words" allowlist: every whole-word, case-insensitive occurrence of
24
+ * these terms is wrapped in a no-proof run so Word never flags them, while the
25
+ * surrounding text is still spell-checked. Acts as a portable, document-embedded
26
+ * stand-in for a custom dictionary (Word's real dictionaries can't be shipped
27
+ * inside a .docx). Set on the document to apply everywhere; a component's list
28
+ * is merged with (added to) the document list.
29
+ */
30
+ declare const NoProofWordsSchema: _sinclair_typebox.TArray<_sinclair_typebox.TString>;
11
31
  /**
12
32
  * Shared schema for text formatting properties.
13
33
  * Used as base for both font definitions and style definitions.
@@ -58,4 +78,4 @@ declare const FontDefinitionSchema: _sinclair_typebox.TObject<{
58
78
  family: _sinclair_typebox.TString;
59
79
  }>;
60
80
 
61
- export { FontDefinitionSchema, HexColorOrTransparentSchema, HexColorSchema, TextFormattingPropertiesSchema };
81
+ export { FontDefinitionSchema, HexColorOrTransparentSchema, HexColorSchema, LanguageSchema, NoProofSchema, NoProofWordsSchema, TextFormattingPropertiesSchema };
@@ -2,12 +2,18 @@ import {
2
2
  FontDefinitionSchema,
3
3
  HexColorOrTransparentSchema,
4
4
  HexColorSchema,
5
+ LanguageSchema,
6
+ NoProofSchema,
7
+ NoProofWordsSchema,
5
8
  TextFormattingPropertiesSchema
6
- } from "../chunk-B66TAIK6.js";
9
+ } from "../chunk-E5YI66B3.js";
7
10
  export {
8
11
  FontDefinitionSchema,
9
12
  HexColorOrTransparentSchema,
10
13
  HexColorSchema,
14
+ LanguageSchema,
15
+ NoProofSchema,
16
+ NoProofWordsSchema,
11
17
  TextFormattingPropertiesSchema
12
18
  };
13
19
  //# sourceMappingURL=font.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "../chunk-N22J6K24.js";
4
- import "../chunk-CYBFQ2VM.js";
5
- import "../chunk-UPVW437P.js";
6
- import "../chunk-B66TAIK6.js";
3
+ } from "../chunk-6YSWOGOA.js";
4
+ import "../chunk-65U4X47S.js";
5
+ import "../chunk-2NLQPZ4G.js";
6
+ import "../chunk-E5YI66B3.js";
7
7
  export {
8
8
  generateUnifiedDocumentSchema
9
9
  };