reamkit 1.15.4 → 1.17.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 (127) hide show
  1. package/dist/esm/core/bidi/segments.js +1 -2
  2. package/dist/esm/core/converter/facade.d.ts +5 -0
  3. package/dist/esm/core/converter/project.js +5 -1
  4. package/dist/esm/core/converter/ream.d.ts +6 -0
  5. package/dist/esm/core/converter/ream.js +34 -8
  6. package/dist/esm/core/document-model/index.d.ts +1 -1
  7. package/dist/esm/core/document-model/types.d.ts +659 -7
  8. package/dist/esm/core/drawingml/chart-geometry.d.ts +34 -10
  9. package/dist/esm/core/drawingml/chart-geometry.js +424 -92
  10. package/dist/esm/core/drawingml/chart-parser.js +301 -11
  11. package/dist/esm/core/drawingml/colors.d.ts +7 -7
  12. package/dist/esm/core/drawingml/colors.js +84 -18
  13. package/dist/esm/core/drawingml/preset-geometry.js +240 -6
  14. package/dist/esm/core/drawingml/shape-render.d.ts +12 -0
  15. package/dist/esm/core/drawingml/shape-render.js +116 -3
  16. package/dist/esm/core/drawingml/sparkline-geometry.js +6 -4
  17. package/dist/esm/core/drawingml/theme-parser.d.ts +51 -0
  18. package/dist/esm/core/drawingml/theme-parser.js +92 -1
  19. package/dist/esm/core/font/measure.d.ts +5 -0
  20. package/dist/esm/core/font/measure.js +21 -1
  21. package/dist/esm/core/font/ttf-subset.js +26 -1
  22. package/dist/esm/core/images.d.ts +2 -2
  23. package/dist/esm/core/images.js +353 -43
  24. package/dist/esm/core/indexed-colors.d.ts +11 -0
  25. package/dist/esm/core/indexed-colors.js +81 -0
  26. package/dist/esm/core/ir/flow.d.ts +23 -1
  27. package/dist/esm/core/ir/sheet.d.ts +61 -0
  28. package/dist/esm/{excel → core}/number-format.d.ts +37 -0
  29. package/dist/esm/core/number-format.js +800 -0
  30. package/dist/esm/core/numbering/apply.d.ts +5 -3
  31. package/dist/esm/core/numbering/apply.js +42 -11
  32. package/dist/esm/core/numbering/index.js +2 -0
  33. package/dist/esm/core/numbering/state.d.ts +13 -1
  34. package/dist/esm/core/numbering/state.js +256 -15
  35. package/dist/esm/core/opc/alternate-content.d.ts +13 -0
  36. package/dist/esm/core/opc/alternate-content.js +72 -0
  37. package/dist/esm/core/opc/core-properties.js +1 -0
  38. package/dist/esm/core/opc/package.d.ts +14 -1
  39. package/dist/esm/core/opc/package.js +43 -4
  40. package/dist/esm/core/opc/relationships.js +1 -0
  41. package/dist/esm/core/opc/xml-entities.d.ts +12 -0
  42. package/dist/esm/core/opc/xml-entities.js +91 -0
  43. package/dist/esm/core/po-helpers.js +16 -1
  44. package/dist/esm/core/spreadsheet-model/index.d.ts +1 -1
  45. package/dist/esm/core/spreadsheet-model/types.d.ts +137 -0
  46. package/dist/esm/core/style-cascade/resolver.js +66 -11
  47. package/dist/esm/core/style-cascade/table.js +35 -11
  48. package/dist/esm/core/style-cascade/types.d.ts +42 -1
  49. package/dist/esm/core/style-cascade/types.js +4 -0
  50. package/dist/esm/core/vector.d.ts +30 -0
  51. package/dist/esm/excel/activex-parser.js +1 -0
  52. package/dist/esm/excel/column-bands.d.ts +26 -1
  53. package/dist/esm/excel/column-bands.js +156 -20
  54. package/dist/esm/excel/comments-parser.js +5 -3
  55. package/dist/esm/excel/conditional-format.d.ts +25 -2
  56. package/dist/esm/excel/conditional-format.js +63 -19
  57. package/dist/esm/excel/escaped-text.d.ts +9 -0
  58. package/dist/esm/excel/escaped-text.js +20 -0
  59. package/dist/esm/excel/form-control-parser.js +1 -0
  60. package/dist/esm/excel/formula/dates.js +1 -1
  61. package/dist/esm/excel/header-footer.d.ts +9 -1
  62. package/dist/esm/excel/header-footer.js +162 -14
  63. package/dist/esm/excel/index.d.ts +1 -1
  64. package/dist/esm/excel/index.js +2 -2
  65. package/dist/esm/excel/pivot-table-parser.js +1 -0
  66. package/dist/esm/excel/print-model.d.ts +75 -0
  67. package/dist/esm/excel/print-model.js +899 -77
  68. package/dist/esm/excel/printer-settings.d.ts +16 -0
  69. package/dist/esm/excel/printer-settings.js +36 -0
  70. package/dist/esm/excel/rich-value.d.ts +13 -0
  71. package/dist/esm/excel/rich-value.js +120 -0
  72. package/dist/esm/excel/shared-strings-parser.js +11 -7
  73. package/dist/esm/excel/sheet-drawing.d.ts +11 -0
  74. package/dist/esm/excel/sheet-drawing.js +26 -3
  75. package/dist/esm/excel/sheet-shape-parser.d.ts +53 -1
  76. package/dist/esm/excel/sheet-shape-parser.js +461 -32
  77. package/dist/esm/excel/sheet-to-flow.d.ts +23 -2
  78. package/dist/esm/excel/sheet-to-flow.js +553 -36
  79. package/dist/esm/excel/slicer-parser.js +1 -0
  80. package/dist/esm/excel/styles-parser.d.ts +30 -2
  81. package/dist/esm/excel/styles-parser.js +177 -40
  82. package/dist/esm/excel/table-parser.js +1 -0
  83. package/dist/esm/excel/vml-drawing.d.ts +68 -0
  84. package/dist/esm/excel/vml-drawing.js +158 -0
  85. package/dist/esm/excel/workbook-parser.d.ts +5 -0
  86. package/dist/esm/excel/workbook-parser.js +5 -1
  87. package/dist/esm/excel/worksheet-parser.d.ts +2 -1
  88. package/dist/esm/excel/worksheet-parser.js +150 -61
  89. package/dist/esm/excel/xlsx-reader.js +242 -11
  90. package/dist/esm/excel/xlsx-to-pdf.js +12 -1
  91. package/dist/esm/html/html-writer.js +29 -6
  92. package/dist/esm/layout/page-doc.d.ts +87 -1
  93. package/dist/esm/layout/styled-layout.d.ts +46 -2
  94. package/dist/esm/layout/styled-layout.js +2345 -274
  95. package/dist/esm/pdf/cid-font.js +20 -9
  96. package/dist/esm/pdf/objects.d.ts +13 -0
  97. package/dist/esm/pdf/objects.js +18 -1
  98. package/dist/esm/pdf/shading.js +76 -6
  99. package/dist/esm/pdf/styled-page-emitter.js +355 -49
  100. package/dist/esm/pdf/text-page-renderer.js +1 -0
  101. package/dist/esm/pdf/vector-graphics.d.ts +31 -2
  102. package/dist/esm/pdf/vector-graphics.js +103 -3
  103. package/dist/esm/pptx/pptx-reader.js +2 -0
  104. package/dist/esm/pptx/slide-parser.d.ts +21 -4
  105. package/dist/esm/pptx/slide-parser.js +98 -24
  106. package/dist/esm/svg/svg-writer.js +23 -4
  107. package/dist/esm/word/document-parser.d.ts +96 -7
  108. package/dist/esm/word/document-parser.js +538 -116
  109. package/dist/esm/word/docx-reader.js +135 -43
  110. package/dist/esm/word/docx-writer.js +6 -1
  111. package/dist/esm/word/drawing-parser.d.ts +86 -5
  112. package/dist/esm/word/drawing-parser.js +1590 -54
  113. package/dist/esm/word/index.d.ts +4 -4
  114. package/dist/esm/word/numbering-parser.d.ts +2 -1
  115. package/dist/esm/word/numbering-parser.js +108 -21
  116. package/dist/esm/word/paragraph-properties.d.ts +11 -1
  117. package/dist/esm/word/paragraph-properties.js +219 -10
  118. package/dist/esm/word/run-properties.js +45 -1
  119. package/dist/esm/word/settings-parser.d.ts +24 -0
  120. package/dist/esm/word/settings-parser.js +32 -5
  121. package/dist/esm/word/shading.d.ts +11 -0
  122. package/dist/esm/word/shading.js +64 -0
  123. package/dist/esm/word/styles-parser.js +9 -2
  124. package/dist/esm/word/table-parser.d.ts +9 -1
  125. package/dist/esm/word/table-parser.js +182 -30
  126. package/package.json +7 -3
  127. package/dist/esm/excel/number-format.js +0 -476
@@ -1,4 +1,4 @@
1
- import { Chart, ChartSeries } from '../document-model/index.js';
1
+ import { Chart, ChartSeries, ShapeDash } from '../document-model/index.js';
2
2
  /**
3
3
  * An axis-aligned rectangle in the scene's local y-up frame: bars, scatter
4
4
  * point markers, legend swatches. Position is the bottom-left corner.
@@ -11,6 +11,8 @@ export interface ChartRect {
11
11
  readonly fillHex?: string;
12
12
  readonly strokeHex?: string;
13
13
  readonly strokeWidthPt?: number;
14
+ /** §20.1.10.49 — the outline's preset dash, when it names one. */
15
+ readonly strokeDash?: ShapeDash;
14
16
  }
15
17
  /** An open stroked polyline: line-chart series, gridlines and axis lines. */
16
18
  export interface ChartPolyline {
@@ -51,6 +53,13 @@ export interface ChartLabel {
51
53
  readonly sizePt: number;
52
54
  readonly colorHex: string;
53
55
  readonly align: LabelAlign;
56
+ /**
57
+ * §21.2.2.216 `c:title/c:txPr/a:bodyPr@rot` — a value-axis title reads
58
+ * bottom-to-top (`rot="-5400000"`, the default every reader applies). Degrees
59
+ * counter-clockwise about the anchor; `align` then runs along the ROTATED
60
+ * reading direction.
61
+ */
62
+ readonly rotationDeg?: number;
54
63
  }
55
64
  /**
56
65
  * The fully laid-out chart: rectangles, polylines, wedges and labels (plus
@@ -64,6 +73,20 @@ export interface ChartScene {
64
73
  readonly wedges: ReadonlyArray<ChartWedge>;
65
74
  readonly labels: ReadonlyArray<ChartLabel>;
66
75
  readonly polygons?: ReadonlyArray<ChartPolygon>;
76
+ /** §21.2.2.198 chart-space fill + outline: drawn under everything else. */
77
+ readonly background?: ChartRect;
78
+ /**
79
+ * §21.2.2.145 the PLOT rectangle's own fill + outline, drawn over the chart
80
+ * frame and under the gridlines.
81
+ */
82
+ readonly plotBackground?: ChartRect;
83
+ /**
84
+ * Major gridlines, drawn UNDER the plotted data. Kept apart from the other
85
+ * polylines because z-order is the whole point: gridlines over the bars strip
86
+ * every one of them with the axis's own ruling, which is not what any
87
+ * spreadsheet draws.
88
+ */
89
+ readonly gridlines?: ReadonlyArray<ChartPolyline>;
67
90
  }
68
91
  /**
69
92
  * Injected text-width measurer: the rendered advance width (points) of `text` at
@@ -115,18 +138,19 @@ export declare function niceScale(dataMin: number, dataMax: number, maxTicks?: n
115
138
  * @returns The label text.
116
139
  */
117
140
  export declare function formatTick(v: number, step: number): string;
141
+ export declare function buildBarScene(chart: Chart, wPt: number, hPt: number, measure: MeasureText): ChartScene;
118
142
  /**
119
- * Lay out a bar/column {@link Chart} into a {@link ChartScene}. Honours
120
- * `chart.grouping` (clustered / stacked / percentStacked) and `chart.barDir`
121
- * (column vs horizontal bar), over the shared cartesian frame.
143
+ * The name a series shows in the legend: its own `c:tx`, or Excel's positional
144
+ * `SeriesN` when it has none. Exported because the SUBSET has to know it too —
145
+ * a name invented at draw time is a name no glyph collector ever saw, and
146
+ * 57362.xlsx drew its unnamed series as "eries1", the capital S appearing
147
+ * nowhere else on the page and so nowhere in the font.
122
148
  *
123
- * @param chart The bar/column chart.
124
- * @param wPt Frame width in points.
125
- * @param hPt Frame height in points.
126
- * @param measure Text measurer used to size labels and reserve axis gutters.
127
- * @returns The positioned scene primitives.
149
+ * @param series The series.
150
+ * @param index Its zero-based index in the chart.
151
+ * @returns The legend text.
128
152
  */
129
- export declare function buildBarScene(chart: Chart, wPt: number, hPt: number, measure: MeasureText): ChartScene;
153
+ export declare function legendSeriesName(series: ChartSeries, index: number): string;
130
154
  /**
131
155
  * Lay out an area {@link Chart} into a {@link ChartScene}: each series becomes a
132
156
  * filled polygon down to the value baseline (stacked when `chart.grouping` is