@json-to-office/shared-docx 1.6.0 → 1.9.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 (49) hide show
  1. package/dist/{chunk-PWLVDZHJ.js → chunk-3ELXAZC3.js} +6 -6
  2. package/dist/{chunk-KMKQOMP7.js → chunk-64CLASFN.js} +189 -98
  3. package/dist/chunk-64CLASFN.js.map +1 -0
  4. package/dist/{chunk-75YQ4MB3.js → chunk-7ACKXJZL.js} +2 -2
  5. package/dist/{chunk-KGQAQE4S.js → chunk-JW5NOPVQ.js} +2 -2
  6. package/dist/{chunk-LABRB6HV.js → chunk-KEIKGZ7S.js} +2 -2
  7. package/dist/{chunk-JGD54FUF.js → chunk-M2GYRM4P.js} +2 -2
  8. package/dist/chunk-M2GYRM4P.js.map +1 -0
  9. package/dist/{chunk-5SMBRJIZ.js → chunk-N6CCWDPF.js} +4 -4
  10. package/dist/{chunk-MCS7JCUD.js → chunk-P43S7QYT.js} +6 -4
  11. package/dist/chunk-P43S7QYT.js.map +1 -0
  12. package/dist/{chunk-EQBCT7KC.js → chunk-Q6RCIVH5.js} +3 -3
  13. package/dist/{chunk-3DLMRNA7.js → chunk-S7CHEAUQ.js} +162 -42
  14. package/dist/chunk-S7CHEAUQ.js.map +1 -0
  15. package/dist/{chunk-7YP6WMME.js → chunk-UDP63RKH.js} +2 -2
  16. package/dist/{chunk-ZKBTTJN6.js → chunk-V3YRROBV.js} +20 -10
  17. package/dist/chunk-V3YRROBV.js.map +1 -0
  18. package/dist/{chunk-7TTAAYQ5.js → chunk-Y3XKLR27.js} +19 -9
  19. package/dist/chunk-Y3XKLR27.js.map +1 -0
  20. package/dist/index.d.ts +15 -5
  21. package/dist/index.js +16 -13
  22. package/dist/index.js.map +1 -1
  23. package/dist/schemas/api.js +8 -8
  24. package/dist/schemas/component-defaults.js +3 -3
  25. package/dist/schemas/component-registry.d.ts +38 -1
  26. package/dist/schemas/component-registry.js +6 -6
  27. package/dist/schemas/components.d.ts +14 -1
  28. package/dist/schemas/components.js +9 -7
  29. package/dist/schemas/document.js +9 -9
  30. package/dist/schemas/export.js +7 -7
  31. package/dist/schemas/font.js +1 -1
  32. package/dist/schemas/generator.js +7 -7
  33. package/dist/schemas/renderer.js +3 -3
  34. package/dist/schemas/theme.js +4 -4
  35. package/dist/validation/unified/index.js +9 -9
  36. package/package.json +1 -1
  37. package/dist/chunk-3DLMRNA7.js.map +0 -1
  38. package/dist/chunk-7TTAAYQ5.js.map +0 -1
  39. package/dist/chunk-JGD54FUF.js.map +0 -1
  40. package/dist/chunk-KMKQOMP7.js.map +0 -1
  41. package/dist/chunk-MCS7JCUD.js.map +0 -1
  42. package/dist/chunk-ZKBTTJN6.js.map +0 -1
  43. /package/dist/{chunk-PWLVDZHJ.js.map → chunk-3ELXAZC3.js.map} +0 -0
  44. /package/dist/{chunk-75YQ4MB3.js.map → chunk-7ACKXJZL.js.map} +0 -0
  45. /package/dist/{chunk-KGQAQE4S.js.map → chunk-JW5NOPVQ.js.map} +0 -0
  46. /package/dist/{chunk-LABRB6HV.js.map → chunk-KEIKGZ7S.js.map} +0 -0
  47. /package/dist/{chunk-5SMBRJIZ.js.map → chunk-N6CCWDPF.js.map} +0 -0
  48. /package/dist/{chunk-EQBCT7KC.js.map → chunk-Q6RCIVH5.js.map} +0 -0
  49. /package/dist/{chunk-7YP6WMME.js.map → chunk-UDP63RKH.js.map} +0 -0
@@ -3,19 +3,19 @@ import {
3
3
  strictDocumentValidator,
4
4
  validateAgainstSchema,
5
5
  validateJson
6
- } from "./chunk-3DLMRNA7.js";
6
+ } from "./chunk-S7CHEAUQ.js";
7
7
  import {
8
8
  ComponentDefinitionSchema
9
- } from "./chunk-JGD54FUF.js";
9
+ } from "./chunk-M2GYRM4P.js";
10
10
  import {
11
11
  CustomComponentDefinitionSchema
12
12
  } from "./chunk-7GGTZ4TA.js";
13
13
  import {
14
14
  ReportPropsSchema
15
- } from "./chunk-KMKQOMP7.js";
15
+ } from "./chunk-64CLASFN.js";
16
16
  import {
17
17
  ThemeConfigSchema
18
- } from "./chunk-5SMBRJIZ.js";
18
+ } from "./chunk-N6CCWDPF.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-MCS7JCUD.js";
28
+ } from "./chunk-P43S7QYT.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-PWLVDZHJ.js.map
413
+ //# sourceMappingURL=chunk-3ELXAZC3.js.map
@@ -2,10 +2,10 @@ import {
2
2
  DOCX_RENDERER_IDS,
3
3
  VisualPropsSchema,
4
4
  docxPropsSchemaForRenderer
5
- } from "./chunk-KGQAQE4S.js";
5
+ } from "./chunk-JW5NOPVQ.js";
6
6
  import {
7
7
  ThemeOverridesSchema
8
- } from "./chunk-5SMBRJIZ.js";
8
+ } from "./chunk-N6CCWDPF.js";
9
9
  import {
10
10
  ColumnsPropsSchema,
11
11
  ComponentDefaultsSchema,
@@ -18,19 +18,19 @@ import {
18
18
  TablePropsSchema,
19
19
  createSectionPropsSchema,
20
20
  createTablePropsSchema
21
- } from "./chunk-MCS7JCUD.js";
21
+ } from "./chunk-P43S7QYT.js";
22
22
  import {
23
23
  AlignmentSchema,
24
24
  FloatingPropertiesSchema,
25
25
  SpacingSchema
26
- } from "./chunk-ZKBTTJN6.js";
26
+ } from "./chunk-V3YRROBV.js";
27
27
  import {
28
28
  HexColorSchema,
29
29
  NoProofWordsSchema
30
- } from "./chunk-7TTAAYQ5.js";
30
+ } from "./chunk-Y3XKLR27.js";
31
31
 
32
32
  // src/schemas/component-registry.ts
33
- import { Type as Type6 } from "@sinclair/typebox";
33
+ import { Type as Type7 } from "@sinclair/typebox";
34
34
 
35
35
  // src/schemas/components/report.ts
36
36
  import { Type } from "@sinclair/typebox";
@@ -452,45 +452,103 @@ var TocPropsSchema = Type3.Object(
452
452
  }
453
453
  );
454
454
 
455
- // src/schemas/components/highcharts.ts
455
+ // src/schemas/components/rule.ts
456
456
  import { Type as Type4 } from "@sinclair/typebox";
457
- var HighchartsPropsSchema = Type4.Object({
457
+ var RulePropsSchema = Type4.Object(
458
+ {
459
+ thickness: Type4.Optional(
460
+ Type4.Number({
461
+ minimum: 0.25,
462
+ maximum: 12,
463
+ description: "Line weight in points (default 1). OOXML measures a border in eighths of a point and Word stops at 12pt, so this is the whole usable range."
464
+ })
465
+ ),
466
+ color: Type4.Optional(HexColorSchema),
467
+ style: Type4.Optional(
468
+ Type4.Union(
469
+ [
470
+ Type4.Literal("solid"),
471
+ Type4.Literal("dashed"),
472
+ Type4.Literal("dotted"),
473
+ Type4.Literal("double")
474
+ ],
475
+ {
476
+ description: 'Line style (default "solid"). `double` draws two lines and is measured per line, so it reads about twice as tall as its thickness.'
477
+ }
478
+ )
479
+ ),
480
+ width: Type4.Optional(
481
+ Type4.Union(
482
+ [
483
+ Type4.Number({
484
+ minimum: 1,
485
+ description: "Rule width in points"
486
+ }),
487
+ Type4.String({
488
+ pattern: "^\\d+(\\.\\d+)?%$",
489
+ description: 'Rule width as a percentage of the text measure (e.g. "40%")'
490
+ })
491
+ ],
492
+ {
493
+ description: "How far the rule runs (default: the full text measure). A percentage or a point width is turned into paragraph indents, resolved against the theme page \u2014 so a partial rule inside a column or a re-margined section is measured against the page, while the default full-measure rule is exact everywhere."
494
+ }
495
+ )
496
+ ),
497
+ alignment: Type4.Optional(
498
+ Type4.Union(
499
+ [Type4.Literal("left"), Type4.Literal("center"), Type4.Literal("right")],
500
+ {
501
+ description: 'Which end of the measure a partial rule sits at (default "left"). Ignored at full width.'
502
+ }
503
+ )
504
+ ),
505
+ spacing: Type4.Optional(SpacingSchema)
506
+ },
507
+ {
508
+ description: "Horizontal rule \u2014 a thin line across the measure, drawn as a Word paragraph border so it stays editable in Word.",
509
+ additionalProperties: false
510
+ }
511
+ );
512
+
513
+ // src/schemas/components/highcharts.ts
514
+ import { Type as Type5 } from "@sinclair/typebox";
515
+ var HighchartsPropsSchema = Type5.Object({
458
516
  // Highcharts chart options - can be anything but must at least have chart.width and chart.height
459
- options: Type4.Intersect([
460
- Type4.Record(Type4.String(), Type4.Unknown()),
461
- Type4.Object({
462
- chart: Type4.Object({
463
- width: Type4.Number(),
464
- height: Type4.Number()
517
+ options: Type5.Intersect([
518
+ Type5.Record(Type5.String(), Type5.Unknown()),
519
+ Type5.Object({
520
+ chart: Type5.Object({
521
+ width: Type5.Number(),
522
+ height: Type5.Number()
465
523
  })
466
524
  })
467
525
  ]),
468
526
  // Optional scale factor for export
469
- scale: Type4.Optional(Type4.Number()),
527
+ scale: Type5.Optional(Type5.Number()),
470
528
  // Optional resources forwarded verbatim to the export server (CSS/JS/files).
471
529
  // Notably enables @font-face rules so charts render in custom fonts.
472
- resources: Type4.Optional(
473
- Type4.Object({
474
- css: Type4.Optional(Type4.String()),
475
- js: Type4.Optional(Type4.String()),
476
- files: Type4.Optional(Type4.Array(Type4.String()))
530
+ resources: Type5.Optional(
531
+ Type5.Object({
532
+ css: Type5.Optional(Type5.String()),
533
+ js: Type5.Optional(Type5.String()),
534
+ files: Type5.Optional(Type5.Array(Type5.String()))
477
535
  })
478
536
  ),
479
537
  // Optional Highcharts Export Server URL override
480
- serverUrl: Type4.Optional(
481
- Type4.String({
538
+ serverUrl: Type5.Optional(
539
+ Type5.String({
482
540
  description: "Highcharts Export Server URL (default: http://localhost:7801)"
483
541
  })
484
542
  ),
485
543
  // Optional width for rendering (overrides chart width)
486
- width: Type4.Optional(
487
- Type4.Union(
544
+ width: Type5.Optional(
545
+ Type5.Union(
488
546
  [
489
- Type4.Number({
547
+ Type5.Number({
490
548
  minimum: 1,
491
549
  description: "Image width in pixels"
492
550
  }),
493
- Type4.String({
551
+ Type5.String({
494
552
  pattern: "^\\d+(\\.\\d+)?%$",
495
553
  description: 'Image width as percentage (e.g., "90%") relative to content width'
496
554
  })
@@ -501,14 +559,14 @@ var HighchartsPropsSchema = Type4.Object({
501
559
  )
502
560
  ),
503
561
  // Optional height for rendering (overrides chart height)
504
- height: Type4.Optional(
505
- Type4.Union(
562
+ height: Type5.Optional(
563
+ Type5.Union(
506
564
  [
507
- Type4.Number({
565
+ Type5.Number({
508
566
  minimum: 1,
509
567
  description: "Image height in pixels"
510
568
  }),
511
- Type4.String({
569
+ Type5.String({
512
570
  pattern: "^\\d+(\\.\\d+)?%$",
513
571
  description: 'Image height as percentage (e.g., "90%") relative to content height'
514
572
  })
@@ -521,112 +579,112 @@ var HighchartsPropsSchema = Type4.Object({
521
579
  });
522
580
 
523
581
  // src/schemas/components/chart.ts
524
- import { Type as Type5 } from "@sinclair/typebox";
525
- var ChartTypeSchema = Type5.Union(
582
+ import { Type as Type6 } from "@sinclair/typebox";
583
+ var ChartTypeSchema = Type6.Union(
526
584
  [
527
- Type5.Literal("area"),
528
- Type5.Literal("bar"),
529
- Type5.Literal("column"),
530
- Type5.Literal("doughnut"),
531
- Type5.Literal("line"),
532
- Type5.Literal("pie"),
533
- Type5.Literal("radar"),
534
- Type5.Literal("scatter")
585
+ Type6.Literal("area"),
586
+ Type6.Literal("bar"),
587
+ Type6.Literal("column"),
588
+ Type6.Literal("doughnut"),
589
+ Type6.Literal("line"),
590
+ Type6.Literal("pie"),
591
+ Type6.Literal("radar"),
592
+ Type6.Literal("scatter")
535
593
  ],
536
594
  { description: "Chart type" }
537
595
  );
538
- var ChartDataSeriesSchema = Type5.Object(
596
+ var ChartDataSeriesSchema = Type6.Object(
539
597
  {
540
- name: Type5.Optional(Type5.String({ description: "Series name" })),
541
- labels: Type5.Optional(
542
- Type5.Array(Type5.String(), {
598
+ name: Type6.Optional(Type6.String({ description: "Series name" })),
599
+ labels: Type6.Optional(
600
+ Type6.Array(Type6.String(), {
543
601
  description: "Category labels. Needed on every series, not just the first, and the same length as `values`; a series without both `labels` and `values` drops the whole chart."
544
602
  })
545
603
  ),
546
- values: Type5.Optional(
547
- Type5.Array(Type5.Number(), {
604
+ values: Type6.Optional(
605
+ Type6.Array(Type6.Number(), {
548
606
  description: "Data values, one per label. Needed on every series \u2014 see `labels`."
549
607
  })
550
608
  )
551
609
  },
552
610
  { additionalProperties: false }
553
611
  );
554
- var ChartPropsSchema = Type5.Object(
612
+ var ChartPropsSchema = Type6.Object(
555
613
  {
556
614
  type: ChartTypeSchema,
557
- data: Type5.Array(ChartDataSeriesSchema, {
615
+ data: Type6.Array(ChartDataSeriesSchema, {
558
616
  description: "Chart data series",
559
617
  minItems: 1
560
618
  }),
561
619
  // Title
562
- title: Type5.Optional(Type5.String({ description: "Chart title text" })),
563
- showTitle: Type5.Optional(
564
- Type5.Boolean({
620
+ title: Type6.Optional(Type6.String({ description: "Chart title text" })),
621
+ showTitle: Type6.Optional(
622
+ Type6.Boolean({
565
623
  description: "Show the chart title. Defaults to true when `title` is set."
566
624
  })
567
625
  ),
568
626
  // Legend
569
- showLegend: Type5.Optional(
570
- Type5.Boolean({ description: "Show chart legend" })
627
+ showLegend: Type6.Optional(
628
+ Type6.Boolean({ description: "Show chart legend" })
571
629
  ),
572
- legendPos: Type5.Optional(
573
- Type5.Union(
630
+ legendPos: Type6.Optional(
631
+ Type6.Union(
574
632
  [
575
- Type5.Literal("b"),
576
- Type5.Literal("l"),
577
- Type5.Literal("r"),
578
- Type5.Literal("t"),
579
- Type5.Literal("tr")
633
+ Type6.Literal("b"),
634
+ Type6.Literal("l"),
635
+ Type6.Literal("r"),
636
+ Type6.Literal("t"),
637
+ Type6.Literal("tr")
580
638
  ],
581
639
  { description: "Legend position" }
582
640
  )
583
641
  ),
584
642
  // Series colors
585
- chartColors: Type5.Optional(
586
- Type5.Array(Type5.String(), {
643
+ chartColors: Type6.Optional(
644
+ Type6.Array(Type6.String(), {
587
645
  description: "Series colors (hex or semantic theme names). Defaults to the theme palette."
588
646
  })
589
647
  ),
590
648
  // Axis titles
591
- catAxisTitle: Type5.Optional(
592
- Type5.String({ description: "Category axis title" })
649
+ catAxisTitle: Type6.Optional(
650
+ Type6.String({ description: "Category axis title" })
593
651
  ),
594
- valAxisTitle: Type5.Optional(
595
- Type5.String({ description: "Value axis title" })
652
+ valAxisTitle: Type6.Optional(
653
+ Type6.String({ description: "Value axis title" })
596
654
  ),
597
655
  // Flow placement — the same vocabulary as `image` and `highcharts`.
598
- width: Type5.Optional(
599
- Type5.Number({
656
+ width: Type6.Optional(
657
+ Type6.Number({
600
658
  minimum: 0,
601
659
  exclusiveMinimum: 0,
602
660
  description: "Chart width in inches. Defaults to the content width."
603
661
  })
604
662
  ),
605
- height: Type5.Optional(
606
- Type5.Number({
663
+ height: Type6.Optional(
664
+ Type6.Number({
607
665
  minimum: 0,
608
666
  exclusiveMinimum: 0,
609
667
  description: "Chart height in inches. Defaults to 3."
610
668
  })
611
669
  ),
612
- alignment: Type5.Optional(AlignmentSchema),
613
- caption: Type5.Optional(
614
- Type5.String({
670
+ alignment: Type6.Optional(AlignmentSchema),
671
+ caption: Type6.Optional(
672
+ Type6.String({
615
673
  description: "Chart caption (supports rich text with **bold**, *italic*, ***both***)"
616
674
  })
617
675
  ),
618
- alt: Type5.Optional(
619
- Type5.String({ description: "Alternative text for accessibility" })
676
+ alt: Type6.Optional(
677
+ Type6.String({ description: "Alternative text for accessibility" })
620
678
  ),
621
- spacing: Type5.Optional(SpacingSchema),
622
- floating: Type5.Optional(FloatingPropertiesSchema),
623
- keepNext: Type5.Optional(
624
- Type5.Boolean({
679
+ spacing: Type6.Optional(SpacingSchema),
680
+ floating: Type6.Optional(FloatingPropertiesSchema),
681
+ keepNext: Type6.Optional(
682
+ Type6.Boolean({
625
683
  description: "Keep paragraph with next paragraph on same page"
626
684
  })
627
685
  ),
628
- keepLines: Type5.Optional(
629
- Type5.Boolean({
686
+ keepLines: Type6.Optional(
687
+ Type6.Boolean({
630
688
  description: "Keep all lines of paragraph together on same page"
631
689
  })
632
690
  )
@@ -658,6 +716,13 @@ var STANDARD_COMPONENTS_REGISTRY = [
658
716
  name: "section",
659
717
  propsSchema: SectionPropsSchema,
660
718
  createPropsSchema: createSectionPropsSchema,
719
+ embeddedComponents: [
720
+ // The static schema types both regions as an array of Type.Any() (or
721
+ // the 'linkToPrevious' literal), so the walk is their only structural
722
+ // checker — report malformed entries too.
723
+ { path: ["header"], arity: "component-array", reportStructure: true },
724
+ { path: ["footer"], arity: "component-array", reportStructure: true }
725
+ ],
661
726
  hasChildren: true,
662
727
  allowedChildren: [
663
728
  "heading",
@@ -667,6 +732,7 @@ var STANDARD_COMPONENTS_REGISTRY = [
667
732
  "table",
668
733
  "list",
669
734
  "toc",
735
+ "rule",
670
736
  "highcharts",
671
737
  "chart",
672
738
  "visual",
@@ -688,6 +754,7 @@ var STANDARD_COMPONENTS_REGISTRY = [
688
754
  "table",
689
755
  "list",
690
756
  "toc",
757
+ "rule",
691
758
  "highcharts",
692
759
  "chart",
693
760
  "visual",
@@ -700,7 +767,7 @@ var STANDARD_COMPONENTS_REGISTRY = [
700
767
  name: "text-box",
701
768
  propsSchema: TextBoxPropsSchema,
702
769
  hasChildren: true,
703
- allowedChildren: ["heading", "paragraph", "image"],
770
+ allowedChildren: ["heading", "paragraph", "image", "rule"],
704
771
  category: "layout",
705
772
  description: "Floating text container - allows positioning text anywhere on the page with absolute or relative positioning."
706
773
  },
@@ -739,6 +806,22 @@ var STANDARD_COMPONENTS_REGISTRY = [
739
806
  name: "table",
740
807
  propsSchema: TablePropsSchema,
741
808
  createPropsSchema: createTablePropsSchema,
809
+ embeddedComponents: [
810
+ // Cell content is `string | component`. The table's own props schema
811
+ // already validates the cell structure, so the walk only adds the
812
+ // per-component prop errors the loose static content ref misses —
813
+ // reporting structure here would double-report.
814
+ {
815
+ path: ["columns", "*", "header", "content"],
816
+ arity: "component",
817
+ reportStructure: false
818
+ },
819
+ {
820
+ path: ["columns", "*", "cells", "*", "content"],
821
+ arity: "component",
822
+ reportStructure: false
823
+ }
824
+ ],
742
825
  hasChildren: false,
743
826
  category: "content",
744
827
  description: "Data table, declared COLUMN-MAJOR: `props.columns[]`, each with its own `header` and its own `cells[]` running down the column. Note the PPTX `table` is the other way round \u2014 rows of cells \u2014 so a table cannot be moved between the formats unchanged. Fixed column widths are points and must fit the page; leave some columns unsized so they share the leftover space."
@@ -757,6 +840,13 @@ var STANDARD_COMPONENTS_REGISTRY = [
757
840
  category: "content",
758
841
  description: "Table of contents - automatically generates TOC from document headings. Supports depth ranges and custom styles."
759
842
  },
843
+ {
844
+ name: "rule",
845
+ propsSchema: RulePropsSchema,
846
+ hasChildren: false,
847
+ category: "content",
848
+ description: "Horizontal rule - a thin line across the measure, for separating sections. Drawn as a Word paragraph border, so it stays a real Word object. Use this rather than collapsing a paragraph's line spacing to fake one."
849
+ },
760
850
  {
761
851
  name: "highcharts",
762
852
  propsSchema: HighchartsPropsSchema,
@@ -807,26 +897,26 @@ function demandsProps(propsSchema) {
807
897
  }
808
898
  function createComponentSchemaObject(component, childrenType, selfRef, profile) {
809
899
  const schema = {
810
- name: Type6.Literal(component.name),
811
- id: Type6.Optional(Type6.String()),
812
- enabled: Type6.Optional(
813
- Type6.Boolean({
900
+ name: Type7.Literal(component.name),
901
+ id: Type7.Optional(Type7.String()),
902
+ enabled: Type7.Optional(
903
+ Type7.Boolean({
814
904
  default: true,
815
905
  description: "When false, this component is filtered out and not rendered. Defaults to true. Useful for conditional component inclusion."
816
906
  })
817
907
  )
818
908
  };
819
909
  if (component.special?.hasSchemaField) {
820
- schema.$schema = Type6.Optional(Type6.String({ format: "uri" }));
821
- schema.renderer = profile ? profile.requireDiscriminator ? Type6.Literal(profile.renderer, {
910
+ schema.$schema = Type7.Optional(Type7.String({ format: "uri" }));
911
+ schema.renderer = profile ? profile.requireDiscriminator ? Type7.Literal(profile.renderer, {
822
912
  description: "Renderer backend for this document"
823
- }) : Type6.Optional(
824
- Type6.Literal(profile.renderer, {
913
+ }) : Type7.Optional(
914
+ Type7.Literal(profile.renderer, {
825
915
  description: 'Renderer backend. Omitted defaults to "docxjs".'
826
916
  })
827
- ) : Type6.Optional(
828
- Type6.Union(
829
- DOCX_RENDERER_IDS.map((renderer) => Type6.Literal(renderer)),
917
+ ) : Type7.Optional(
918
+ Type7.Union(
919
+ DOCX_RENDERER_IDS.map((renderer) => Type7.Literal(renderer)),
830
920
  {
831
921
  description: 'Renderer backend. Omitted defaults to "docxjs".'
832
922
  }
@@ -839,11 +929,11 @@ function createComponentSchemaObject(component, childrenType, selfRef, profile)
839
929
  basePropsSchema,
840
930
  profile.renderer
841
931
  ) : basePropsSchema;
842
- schema.props = demandsProps(propsSchema) ? propsSchema : Type6.Optional(propsSchema);
932
+ schema.props = demandsProps(propsSchema) ? propsSchema : Type7.Optional(propsSchema);
843
933
  if (component.hasChildren && childrenType) {
844
- schema.children = component.special?.hasSchemaField ? Type6.Array(childrenType) : Type6.Optional(Type6.Array(childrenType));
934
+ schema.children = component.special?.hasSchemaField ? Type7.Array(childrenType) : Type7.Optional(Type7.Array(childrenType));
845
935
  }
846
- return Type6.Object(schema, {
936
+ return Type7.Object(schema, {
847
937
  additionalProperties: false,
848
938
  description: component.description
849
939
  });
@@ -888,7 +978,7 @@ function createAllComponentSchemasNarrowed(selfRef, pluginSchemas = [], profile)
888
978
  if (!containerDeps.every((d) => resolved.has(d))) continue;
889
979
  const childSchemas = comp.allowedChildren.map((name) => resolved.get(name) ?? leafSchemas.get(name)).filter((s) => s !== void 0);
890
980
  const allChildSchemas = [...childSchemas, ...pluginSchemas];
891
- const childrenType = allChildSchemas.length === 1 ? allChildSchemas[0] : Type6.Union(allChildSchemas);
981
+ const childrenType = allChildSchemas.length === 1 ? allChildSchemas[0] : Type7.Union(allChildSchemas);
892
982
  resolved.set(
893
983
  comp.name,
894
984
  createComponentSchemaObject(comp, childrenType, selfRef, profile)
@@ -914,6 +1004,7 @@ export {
914
1004
  TocStyleMappingSchema,
915
1005
  TocDepthRangeSchema,
916
1006
  TocPropsSchema,
1007
+ RulePropsSchema,
917
1008
  HighchartsPropsSchema,
918
1009
  ChartPropsSchema,
919
1010
  STANDARD_COMPONENTS_REGISTRY,
@@ -927,4 +1018,4 @@ export {
927
1018
  createAllComponentSchemas,
928
1019
  createAllComponentSchemasNarrowed
929
1020
  };
930
- //# sourceMappingURL=chunk-KMKQOMP7.js.map
1021
+ //# sourceMappingURL=chunk-64CLASFN.js.map