@trebco/treb 32.14.0 → 36.1.3

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 (267) hide show
  1. package/api-generator/api-generator-types.ts +3 -0
  2. package/api-generator/api-generator.ts +15 -1
  3. package/bun.lock +145 -99
  4. package/dist/chunk-43DLP2OX.mjs +11 -0
  5. package/dist/chunk-4CKS56PE.mjs +11 -0
  6. package/dist/chunk-75PARUQE.mjs +11 -0
  7. package/dist/chunk-7QD63AZS.mjs +24601 -0
  8. package/dist/chunk-A55ARVRD.mjs +11 -0
  9. package/dist/chunk-DESAKYW4.mjs +11 -0
  10. package/dist/chunk-EQ2R5W6P.mjs +24565 -0
  11. package/dist/chunk-IYJU2J6D.mjs +24601 -0
  12. package/dist/chunk-KSJFPGXT.mjs +11 -0
  13. package/dist/chunk-ORQFKLXM.mjs +24601 -0
  14. package/dist/chunk-SFDNNDHY.mjs +11 -0
  15. package/dist/chunk-T47DX5MI.mjs +11 -0
  16. package/dist/chunk-T6ILBVEX.mjs +11 -0
  17. package/dist/chunk-TPRCDYYG.mjs +11 -0
  18. package/dist/chunk-YAHNOOHO.mjs +11 -0
  19. package/dist/chunk-YLCFKX2G.mjs +24601 -0
  20. package/dist/treb-export-worker.mjs +9 -2
  21. package/dist/treb-spreadsheet.mjs +7 -19
  22. package/dist/treb.d.ts +144 -117
  23. package/esbuild-composite.mjs +18 -6
  24. package/esbuild-utils.mjs +62 -3
  25. package/i18n/languages/treb-i18n-da.mjs +1 -1
  26. package/i18n/languages/treb-i18n-de.mjs +1 -1
  27. package/i18n/languages/treb-i18n-es.mjs +1 -1
  28. package/i18n/languages/treb-i18n-fr.mjs +1 -1
  29. package/i18n/languages/treb-i18n-it.mjs +1 -1
  30. package/i18n/languages/treb-i18n-nl.mjs +1 -1
  31. package/i18n/languages/treb-i18n-no.mjs +1 -1
  32. package/i18n/languages/treb-i18n-pl.mjs +1 -1
  33. package/i18n/languages/treb-i18n-pt.mjs +1 -1
  34. package/i18n/languages/treb-i18n-sv.mjs +1 -1
  35. package/ooxml-types/README.md +141 -0
  36. package/ooxml-types/package.json +5 -0
  37. package/ooxml-types/src/types/drawingml/chart.ts +327 -0
  38. package/ooxml-types/src/types/drawingml/index.ts +63 -0
  39. package/ooxml-types/src/types/drawingml/spreadsheetDrawing.ts +105 -0
  40. package/ooxml-types/src/types/drawingml/theme.ts +104 -0
  41. package/ooxml-types/src/types/index.ts +3 -0
  42. package/ooxml-types/src/types/package/contentTypes.ts +49 -0
  43. package/ooxml-types/src/types/package/docProps.ts +46 -0
  44. package/ooxml-types/src/types/package/index.ts +17 -0
  45. package/ooxml-types/src/types/package/relationships.ts +37 -0
  46. package/ooxml-types/src/types/spreadsheetml/columns.ts +20 -0
  47. package/ooxml-types/src/types/spreadsheetml/comments.ts +30 -0
  48. package/ooxml-types/src/types/spreadsheetml/dataFeatures.ts +261 -0
  49. package/ooxml-types/src/types/spreadsheetml/enums.ts +175 -0
  50. package/ooxml-types/src/types/spreadsheetml/index.ts +186 -0
  51. package/ooxml-types/src/types/spreadsheetml/metadata.ts +90 -0
  52. package/ooxml-types/src/types/spreadsheetml/misc.ts +35 -0
  53. package/ooxml-types/src/types/spreadsheetml/pageLayout.ts +83 -0
  54. package/ooxml-types/src/types/spreadsheetml/sharedStrings.ts +33 -0
  55. package/ooxml-types/src/types/spreadsheetml/sheetData.ts +70 -0
  56. package/ooxml-types/src/types/spreadsheetml/sheetProperties.ts +86 -0
  57. package/ooxml-types/src/types/spreadsheetml/sheetViews.ts +51 -0
  58. package/ooxml-types/src/types/spreadsheetml/sparkline.ts +46 -0
  59. package/ooxml-types/src/types/spreadsheetml/styles.ts +274 -0
  60. package/ooxml-types/src/types/spreadsheetml/table.ts +106 -0
  61. package/ooxml-types/src/types/spreadsheetml/util.ts +15 -0
  62. package/ooxml-types/src/types/spreadsheetml/workbook.ts +165 -0
  63. package/ooxml-types/src/types/spreadsheetml/worksheet.ts +60 -0
  64. package/package.json +13 -11
  65. package/treb-base-types/src/api_types.ts +1 -1
  66. package/treb-base-types/src/area-utils.ts +1 -1
  67. package/treb-base-types/src/area.ts +1 -1
  68. package/treb-base-types/src/basic_types.ts +1 -1
  69. package/treb-base-types/src/cell.ts +1 -1
  70. package/treb-base-types/src/cells.ts +1 -1
  71. package/treb-base-types/src/color.ts +1 -1
  72. package/treb-base-types/src/dom-utilities.ts +1 -1
  73. package/treb-base-types/src/evaluate-options.ts +1 -1
  74. package/treb-base-types/src/font-stack.ts +1 -1
  75. package/treb-base-types/src/gradient.ts +1 -1
  76. package/treb-base-types/src/import.ts +1 -1
  77. package/treb-base-types/src/index-standalone.ts +1 -1
  78. package/treb-base-types/src/index.ts +2 -1
  79. package/treb-base-types/src/layout.ts +1 -1
  80. package/treb-base-types/src/localization.ts +1 -1
  81. package/treb-base-types/src/rectangle.ts +1 -1
  82. package/treb-base-types/src/render_text.ts +7 -1
  83. package/treb-base-types/src/style.ts +1 -1
  84. package/treb-base-types/src/table.ts +1 -1
  85. package/treb-base-types/src/text_part.ts +1 -1
  86. package/treb-base-types/src/theme.ts +1 -1
  87. package/treb-base-types/src/union.ts +4 -1
  88. package/treb-base-types/src/value-type.ts +1 -1
  89. package/treb-base-types/src/worker-proxy.ts +294 -0
  90. package/treb-base-types/style/resizable.css +1 -1
  91. package/treb-calculator/src/calculator.ts +133 -14
  92. package/treb-calculator/src/complex-math.ts +1 -1
  93. package/treb-calculator/src/dag/array-vertex.ts +1 -1
  94. package/treb-calculator/src/dag/calculation_leaf_vertex.ts +1 -1
  95. package/treb-calculator/src/dag/graph.ts +1 -1
  96. package/treb-calculator/src/dag/spreadsheet_vertex.ts +1 -1
  97. package/treb-calculator/src/dag/spreadsheet_vertex_base.ts +1 -1
  98. package/treb-calculator/src/dag/state_leaf_vertex.ts +1 -1
  99. package/treb-calculator/src/dag/vertex.ts +1 -1
  100. package/treb-calculator/src/descriptors.ts +9 -1
  101. package/treb-calculator/src/expression-calculator.ts +1 -1
  102. package/treb-calculator/src/function-error.ts +1 -1
  103. package/treb-calculator/src/function-library.ts +1 -1
  104. package/treb-calculator/src/functions/base-functions.ts +8 -4
  105. package/treb-calculator/src/functions/beta.ts +1 -1
  106. package/treb-calculator/src/functions/checkbox.ts +1 -1
  107. package/treb-calculator/src/functions/complex-functions.ts +1 -1
  108. package/treb-calculator/src/functions/date-utils.ts +1 -1
  109. package/treb-calculator/src/functions/finance-functions.ts +2 -4
  110. package/treb-calculator/src/functions/fp.ts +1 -1
  111. package/treb-calculator/src/functions/function-utilities.ts +1 -1
  112. package/treb-calculator/src/functions/gamma.ts +1 -1
  113. package/treb-calculator/src/functions/information-functions.ts +1 -1
  114. package/treb-calculator/src/functions/lambda-functions.ts +4 -1
  115. package/treb-calculator/src/functions/matrix-functions.ts +1 -1
  116. package/treb-calculator/src/functions/normal.ts +1 -1
  117. package/treb-calculator/src/functions/regex-functions.ts +13 -4
  118. package/treb-calculator/src/functions/sparkline.ts +1 -1
  119. package/treb-calculator/src/functions/statistics-functions.ts +1 -1
  120. package/treb-calculator/src/functions/students-t.ts +1 -1
  121. package/treb-calculator/src/functions/text-functions.ts +5 -1
  122. package/treb-calculator/src/index.ts +1 -1
  123. package/treb-calculator/src/notifier-types.ts +1 -1
  124. package/treb-calculator/src/primitives.ts +1 -1
  125. package/treb-calculator/src/utilities.ts +1 -1
  126. package/treb-charts/src/chart-functions.ts +1 -1
  127. package/treb-charts/src/chart-types.ts +1 -1
  128. package/treb-charts/src/chart-utils.ts +1 -1
  129. package/treb-charts/src/chart.ts +1 -1
  130. package/treb-charts/src/default-chart-renderer.ts +1 -1
  131. package/treb-charts/src/index.ts +1 -1
  132. package/treb-charts/src/main.ts +1 -1
  133. package/treb-charts/src/quicksort.ts +1 -1
  134. package/treb-charts/src/rectangle.ts +1 -1
  135. package/treb-charts/src/renderer-type.ts +1 -1
  136. package/treb-charts/src/renderer.ts +1 -1
  137. package/treb-charts/src/util.ts +1 -1
  138. package/treb-charts/style/charts.scss +1 -1
  139. package/treb-data-model/src/annotation.ts +1 -1
  140. package/treb-data-model/src/conditional_format.ts +1 -1
  141. package/treb-data-model/src/data-validation.ts +1 -1
  142. package/treb-data-model/src/data_model.ts +32 -5
  143. package/treb-data-model/src/index.ts +1 -1
  144. package/treb-data-model/src/language-model.ts +1 -1
  145. package/treb-data-model/src/named.ts +1 -1
  146. package/treb-data-model/src/serialize_options.ts +1 -1
  147. package/treb-data-model/src/sheet.ts +1 -1
  148. package/treb-data-model/src/sheet_collection.ts +1 -1
  149. package/treb-data-model/src/sheet_selection.ts +1 -1
  150. package/treb-data-model/src/sheet_types.ts +1 -1
  151. package/treb-data-model/src/types.ts +1 -1
  152. package/treb-embed/src/content-types.d.ts +1 -1
  153. package/treb-embed/src/custom-element/global.d.ts +1 -1
  154. package/treb-embed/src/custom-element/spreadsheet-constructor.ts +1 -1
  155. package/treb-embed/src/custom-element/treb-global.ts +1 -1
  156. package/treb-embed/src/custom-element/treb-spreadsheet-element.ts +1 -1
  157. package/treb-embed/src/embedded-spreadsheet.ts +357 -154
  158. package/treb-embed/src/index.ts +1 -1
  159. package/treb-embed/src/options.ts +4 -2
  160. package/treb-embed/src/plugin.ts +1 -1
  161. package/treb-embed/src/progress-dialog.ts +1 -1
  162. package/treb-embed/src/selection-state.ts +1 -1
  163. package/treb-embed/src/spinner.ts +1 -1
  164. package/treb-embed/src/toolbar-message.ts +6 -1
  165. package/treb-embed/src/types.ts +13 -1
  166. package/treb-embed/style/autocomplete.scss +1 -1
  167. package/treb-embed/style/dark-theme.scss +1 -1
  168. package/treb-embed/style/defaults.scss +1 -1
  169. package/treb-embed/style/dialog.scss +1 -1
  170. package/treb-embed/style/dropdown-select.scss +1 -1
  171. package/treb-embed/style/font-stacks.scss +1 -1
  172. package/treb-embed/style/formula-bar.scss +1 -1
  173. package/treb-embed/style/grid.scss +1 -1
  174. package/treb-embed/style/layout.scss +1 -1
  175. package/treb-embed/style/mouse-mask.scss +1 -1
  176. package/treb-embed/style/note.scss +1 -1
  177. package/treb-embed/style/overlay-editor.scss +1 -1
  178. package/treb-embed/style/spinner.scss +1 -1
  179. package/treb-embed/style/tab-bar.scss +1 -1
  180. package/treb-embed/style/table.scss +1 -1
  181. package/treb-embed/style/theme-defaults.scss +1 -1
  182. package/treb-embed/style/toolbar.scss +1 -1
  183. package/treb-embed/style/tooltip.scss +1 -1
  184. package/treb-embed/style/treb-icons.scss +1 -1
  185. package/treb-embed/style/treb-spreadsheet-element.scss +1 -1
  186. package/treb-embed/style/z-index.scss +1 -1
  187. package/treb-export/src/address-type.ts +1 -1
  188. package/treb-export/src/base-template.ts +1 -1
  189. package/treb-export/src/column-width.ts +1 -1
  190. package/treb-export/src/drawing/bubble-chart-template.ts +1 -1
  191. package/treb-export/src/drawing/chart-template-components2.ts +1 -1
  192. package/treb-export/src/drawing/chart.ts +1 -1
  193. package/treb-export/src/drawing/column-chart-template2.ts +1 -1
  194. package/treb-export/src/drawing/donut-chart-template2.ts +1 -1
  195. package/treb-export/src/drawing/drawing.ts +1 -1
  196. package/treb-export/src/drawing/embedded-image.ts +1 -1
  197. package/treb-export/src/drawing/scatter-chart-template2.ts +1 -1
  198. package/treb-export/src/export.ts +10 -6
  199. package/treb-export/src/import-export-messages.ts +61 -0
  200. package/treb-export/src/import.ts +318 -301
  201. package/treb-export/src/index.worker.ts +85 -53
  202. package/treb-export/src/metadata.ts +71 -3
  203. package/treb-export/src/ooxml.ts +47 -0
  204. package/treb-export/src/relationship.ts +1 -1
  205. package/treb-export/src/shared-strings.ts +19 -15
  206. package/treb-export/src/template-2.ts +1 -1
  207. package/treb-export/src/unescape_xml.ts +1 -1
  208. package/treb-export/src/workbook-sheet.ts +11 -6
  209. package/treb-export/src/workbook-style.ts +137 -25
  210. package/treb-export/src/workbook-theme.ts +20 -4
  211. package/treb-export/src/workbook.ts +85 -88
  212. package/treb-export/src/xml-test.ts +1 -1
  213. package/treb-export/src/xml-utils.ts +1 -1
  214. package/treb-export/src/zip-wrapper.ts +1 -1
  215. package/treb-export/tsconfig.json +2 -1
  216. package/treb-format/src/format.test.ts +1 -1
  217. package/treb-format/src/format.ts +12 -5
  218. package/treb-format/src/format_cache.ts +3 -3
  219. package/treb-format/src/format_parser.ts +1 -1
  220. package/treb-format/src/index.ts +1 -1
  221. package/treb-format/src/number_format_section.ts +1 -1
  222. package/treb-format/src/value_parser.ts +1 -1
  223. package/treb-grid/src/editors/autocomplete.ts +1 -1
  224. package/treb-grid/src/editors/autocomplete_matcher.ts +1 -1
  225. package/treb-grid/src/editors/editor.ts +15 -6
  226. package/treb-grid/src/editors/external_editor.ts +33 -8
  227. package/treb-grid/src/editors/formula_bar.ts +12 -1
  228. package/treb-grid/src/editors/overlay_editor.ts +4 -1
  229. package/treb-grid/src/index.ts +1 -1
  230. package/treb-grid/src/layout/base_layout.ts +1 -1
  231. package/treb-grid/src/layout/grid_layout.ts +1 -1
  232. package/treb-grid/src/layout/mock-layout.ts +1 -1
  233. package/treb-grid/src/render/selection-renderer.ts +1 -1
  234. package/treb-grid/src/render/svg_header_overlay.ts +1 -1
  235. package/treb-grid/src/render/svg_selection_block.ts +1 -1
  236. package/treb-grid/src/render/tile_renderer.ts +36 -7
  237. package/treb-grid/src/types/border_constants.ts +1 -1
  238. package/treb-grid/src/types/clipboard_data.ts +1 -1
  239. package/treb-grid/src/types/clipboard_data2.ts +1 -1
  240. package/treb-grid/src/types/drag_mask.ts +1 -1
  241. package/treb-grid/src/types/external_editor_config.ts +1 -1
  242. package/treb-grid/src/types/grid.ts +181 -40
  243. package/treb-grid/src/types/grid_base.ts +7 -4
  244. package/treb-grid/src/types/grid_command.ts +7 -1
  245. package/treb-grid/src/types/grid_events.ts +2 -1
  246. package/treb-grid/src/types/grid_options.ts +1 -1
  247. package/treb-grid/src/types/scale-control.ts +1 -1
  248. package/treb-grid/src/types/set_range_options.ts +1 -1
  249. package/treb-grid/src/types/tab_bar.ts +1 -1
  250. package/treb-grid/src/types/tile.ts +1 -1
  251. package/treb-grid/src/types/update_flags.ts +1 -1
  252. package/treb-grid/src/util/fontmetrics.ts +1 -1
  253. package/treb-grid/src/util/ua.ts +1 -1
  254. package/treb-parser/src/csv-parser.ts +1 -1
  255. package/treb-parser/src/index.ts +1 -1
  256. package/treb-parser/src/md-parser.ts +1 -1
  257. package/treb-parser/src/parser-types.ts +1 -1
  258. package/treb-parser/src/parser.ts +1 -1
  259. package/treb-utils/src/event_source.ts +1 -1
  260. package/treb-utils/src/ievent_source.ts +1 -1
  261. package/treb-utils/src/index.ts +1 -1
  262. package/treb-utils/src/measurement.ts +1 -1
  263. package/treb-utils/src/scale.ts +1 -1
  264. package/treb-utils/src/serialize_html.ts +1 -1
  265. package/treb-utils/src/validate_uri.ts +1 -1
  266. package/tsproject.json +2 -3
  267. package/treb-embed/src/export-worker.ts +0 -44
@@ -0,0 +1,327 @@
1
+ import type { OneOrMany, TextElement, XsdBoolean } from "../spreadsheetml/util.js";
2
+
3
+ // --- Data references ---
4
+
5
+ export interface NumericPoint {
6
+ $attributes?: {
7
+ idx: number;
8
+ formatCode?: string;
9
+ };
10
+ v: TextElement;
11
+ }
12
+
13
+ export interface NumCache {
14
+ formatCode?: TextElement;
15
+ ptCount?: {
16
+ $attributes?: { val: number };
17
+ };
18
+ pt?: OneOrMany<NumericPoint>;
19
+ }
20
+
21
+ export interface NumRef {
22
+ f: TextElement;
23
+ numCache?: NumCache;
24
+ }
25
+
26
+ export interface NumDataSource {
27
+ numRef?: NumRef;
28
+ numLit?: NumCache;
29
+ }
30
+
31
+ export interface StringPoint {
32
+ $attributes?: {
33
+ idx: number;
34
+ };
35
+ v: TextElement;
36
+ }
37
+
38
+ export interface StrCache {
39
+ ptCount?: {
40
+ $attributes?: { val: number };
41
+ };
42
+ pt?: OneOrMany<StringPoint>;
43
+ }
44
+
45
+ export interface StrRef {
46
+ f: TextElement;
47
+ strCache?: StrCache;
48
+ }
49
+
50
+ export interface StrDataSource {
51
+ strRef?: StrRef;
52
+ }
53
+
54
+ // --- Series ---
55
+
56
+ export interface SeriesText {
57
+ strRef?: StrRef;
58
+ v?: TextElement;
59
+ }
60
+
61
+ export interface DataPoint {
62
+ $attributes?: {};
63
+ idx: { $attributes?: { val: number } };
64
+ spPr?: Record<string, unknown>;
65
+ }
66
+
67
+ export interface DataLabels {
68
+ numFmt?: Record<string, unknown>;
69
+ spPr?: Record<string, unknown>;
70
+ txPr?: Record<string, unknown>;
71
+ showLegendKey?: { $attributes?: { val: XsdBoolean } };
72
+ showVal?: { $attributes?: { val: XsdBoolean } };
73
+ showCatName?: { $attributes?: { val: XsdBoolean } };
74
+ showSerName?: { $attributes?: { val: XsdBoolean } };
75
+ showPercent?: { $attributes?: { val: XsdBoolean } };
76
+ showBubbleSize?: { $attributes?: { val: XsdBoolean } };
77
+ extLst?: Record<string, unknown>;
78
+ }
79
+
80
+ export interface Marker {
81
+ symbol?: { $attributes?: { val: string } };
82
+ size?: { $attributes?: { val: number } };
83
+ spPr?: Record<string, unknown>;
84
+ }
85
+
86
+ export interface ChartSeries {
87
+ idx: { $attributes?: { val: number } };
88
+ order: { $attributes?: { val: number } };
89
+ tx?: SeriesText;
90
+ spPr?: Record<string, unknown>;
91
+ marker?: Marker;
92
+ dPt?: OneOrMany<DataPoint>;
93
+ dLbls?: DataLabels;
94
+ cat?: StrDataSource | NumDataSource;
95
+ val?: NumDataSource;
96
+ xVal?: StrDataSource | NumDataSource;
97
+ yVal?: NumDataSource;
98
+ bubbleSize?: NumDataSource;
99
+ smooth?: { $attributes?: { val: XsdBoolean } };
100
+ explosion?: { $attributes?: { val: number } };
101
+ extLst?: Record<string, unknown>;
102
+ }
103
+
104
+ // --- Chart types ---
105
+
106
+ export interface BarChart {
107
+ barDir: { $attributes?: { val: string } };
108
+ grouping: { $attributes?: { val: string } };
109
+ varyColors?: { $attributes?: { val: XsdBoolean } };
110
+ ser?: OneOrMany<ChartSeries>;
111
+ dLbls?: DataLabels;
112
+ gapWidth?: { $attributes?: { val: number } };
113
+ overlap?: { $attributes?: { val: number } };
114
+ axId: OneOrMany<{ $attributes?: { val: number } }>;
115
+ extLst?: Record<string, unknown>;
116
+ }
117
+
118
+ export interface LineChart {
119
+ grouping: { $attributes?: { val: string } };
120
+ varyColors?: { $attributes?: { val: XsdBoolean } };
121
+ ser?: OneOrMany<ChartSeries>;
122
+ dLbls?: DataLabels;
123
+ marker?: { $attributes?: { val: XsdBoolean } };
124
+ smooth?: { $attributes?: { val: XsdBoolean } };
125
+ axId: OneOrMany<{ $attributes?: { val: number } }>;
126
+ extLst?: Record<string, unknown>;
127
+ }
128
+
129
+ export interface PieChart {
130
+ varyColors?: { $attributes?: { val: XsdBoolean } };
131
+ ser?: OneOrMany<ChartSeries>;
132
+ dLbls?: DataLabels;
133
+ firstSliceAng?: { $attributes?: { val: number } };
134
+ extLst?: Record<string, unknown>;
135
+ }
136
+
137
+ export interface DoughnutChart {
138
+ varyColors?: { $attributes?: { val: XsdBoolean } };
139
+ ser?: OneOrMany<ChartSeries>;
140
+ dLbls?: DataLabels;
141
+ firstSliceAng?: { $attributes?: { val: number } };
142
+ holeSize?: { $attributes?: { val: number } };
143
+ extLst?: Record<string, unknown>;
144
+ }
145
+
146
+ export interface AreaChart {
147
+ grouping: { $attributes?: { val: string } };
148
+ varyColors?: { $attributes?: { val: XsdBoolean } };
149
+ ser?: OneOrMany<ChartSeries>;
150
+ dLbls?: DataLabels;
151
+ axId: OneOrMany<{ $attributes?: { val: number } }>;
152
+ extLst?: Record<string, unknown>;
153
+ }
154
+
155
+ export interface ScatterChart {
156
+ scatterStyle: { $attributes?: { val: string } };
157
+ varyColors?: { $attributes?: { val: XsdBoolean } };
158
+ ser?: OneOrMany<ChartSeries>;
159
+ dLbls?: DataLabels;
160
+ axId: OneOrMany<{ $attributes?: { val: number } }>;
161
+ extLst?: Record<string, unknown>;
162
+ }
163
+
164
+ export interface RadarChart {
165
+ radarStyle: { $attributes?: { val: string } };
166
+ varyColors?: { $attributes?: { val: XsdBoolean } };
167
+ ser?: OneOrMany<ChartSeries>;
168
+ dLbls?: DataLabels;
169
+ axId: OneOrMany<{ $attributes?: { val: number } }>;
170
+ extLst?: Record<string, unknown>;
171
+ }
172
+
173
+ // --- Axes ---
174
+
175
+ export interface Scaling {
176
+ orientation: { $attributes?: { val: string } };
177
+ max?: { $attributes?: { val: number } };
178
+ min?: { $attributes?: { val: number } };
179
+ logBase?: { $attributes?: { val: number } };
180
+ }
181
+
182
+ interface AxisBase {
183
+ axId: { $attributes?: { val: number } };
184
+ scaling: Scaling;
185
+ delete?: { $attributes?: { val: XsdBoolean } };
186
+ axPos: { $attributes?: { val: string } };
187
+ title?: ChartTitle;
188
+ numFmt?: Record<string, unknown>;
189
+ majorTickMark?: { $attributes?: { val: string } };
190
+ minorTickMark?: { $attributes?: { val: string } };
191
+ tickLblPos?: { $attributes?: { val: string } };
192
+ spPr?: Record<string, unknown>;
193
+ txPr?: Record<string, unknown>;
194
+ crossAx: { $attributes?: { val: number } };
195
+ crosses?: { $attributes?: { val: string } };
196
+ crossesAt?: { $attributes?: { val: number } };
197
+ extLst?: Record<string, unknown>;
198
+ }
199
+
200
+ export interface CategoryAxis extends AxisBase {
201
+ auto?: { $attributes?: { val: XsdBoolean } };
202
+ lblAlgn?: { $attributes?: { val: string } };
203
+ lblOffset?: { $attributes?: { val: number } };
204
+ noMultiLvlLbl?: { $attributes?: { val: XsdBoolean } };
205
+ }
206
+
207
+ export interface ValueAxis extends AxisBase {
208
+ crossBetween?: { $attributes?: { val: string } };
209
+ majorUnit?: { $attributes?: { val: number } };
210
+ minorUnit?: { $attributes?: { val: number } };
211
+ }
212
+
213
+ export interface DateAxis extends AxisBase {
214
+ auto?: { $attributes?: { val: XsdBoolean } };
215
+ lblOffset?: { $attributes?: { val: number } };
216
+ baseTimeUnit?: { $attributes?: { val: string } };
217
+ majorUnit?: { $attributes?: { val: number } };
218
+ majorTimeUnit?: { $attributes?: { val: string } };
219
+ minorUnit?: { $attributes?: { val: number } };
220
+ minorTimeUnit?: { $attributes?: { val: string } };
221
+ }
222
+
223
+ export interface SeriesAxis extends AxisBase {}
224
+
225
+ // --- Title ---
226
+
227
+ export interface ChartTitle {
228
+ tx?: {
229
+ rich?: Record<string, unknown>;
230
+ strRef?: StrRef;
231
+ };
232
+ layout?: Record<string, unknown>;
233
+ overlay?: { $attributes?: { val: XsdBoolean } };
234
+ spPr?: Record<string, unknown>;
235
+ txPr?: Record<string, unknown>;
236
+ extLst?: Record<string, unknown>;
237
+ }
238
+
239
+ // --- Legend ---
240
+
241
+ export interface LegendEntry {
242
+ idx: { $attributes?: { val: number } };
243
+ delete?: { $attributes?: { val: XsdBoolean } };
244
+ txPr?: Record<string, unknown>;
245
+ extLst?: Record<string, unknown>;
246
+ }
247
+
248
+ export interface Legend {
249
+ legendPos?: { $attributes?: { val: string } };
250
+ legendEntry?: OneOrMany<LegendEntry>;
251
+ layout?: Record<string, unknown>;
252
+ overlay?: { $attributes?: { val: XsdBoolean } };
253
+ spPr?: Record<string, unknown>;
254
+ txPr?: Record<string, unknown>;
255
+ extLst?: Record<string, unknown>;
256
+ }
257
+
258
+ // --- Plot area ---
259
+
260
+ export interface PlotArea {
261
+ layout?: Record<string, unknown>;
262
+ barChart?: BarChart;
263
+ bar3DChart?: Record<string, unknown>;
264
+ lineChart?: LineChart;
265
+ line3DChart?: Record<string, unknown>;
266
+ pieChart?: PieChart;
267
+ pie3DChart?: Record<string, unknown>;
268
+ doughnutChart?: DoughnutChart;
269
+ areaChart?: AreaChart;
270
+ area3DChart?: Record<string, unknown>;
271
+ scatterChart?: ScatterChart;
272
+ radarChart?: RadarChart;
273
+ bubbleChart?: Record<string, unknown>;
274
+ stockChart?: Record<string, unknown>;
275
+ surfaceChart?: Record<string, unknown>;
276
+ surface3DChart?: Record<string, unknown>;
277
+ ofPieChart?: Record<string, unknown>;
278
+ catAx?: OneOrMany<CategoryAxis>;
279
+ valAx?: OneOrMany<ValueAxis>;
280
+ dateAx?: OneOrMany<DateAxis>;
281
+ serAx?: OneOrMany<SeriesAxis>;
282
+ spPr?: Record<string, unknown>;
283
+ extLst?: Record<string, unknown>;
284
+ }
285
+
286
+ // --- Chart ---
287
+
288
+ export interface Chart {
289
+ title?: ChartTitle;
290
+ autoTitleDeleted?: { $attributes?: { val: XsdBoolean } };
291
+ plotArea: PlotArea;
292
+ legend?: Legend;
293
+ plotVisOnly?: { $attributes?: { val: XsdBoolean } };
294
+ dispBlanksAs?: TextElement;
295
+ extLst?: Record<string, unknown>;
296
+ }
297
+
298
+ // --- Print settings ---
299
+
300
+ export interface PrintSettings {
301
+ headerFooter?: Record<string, unknown>;
302
+ pageMargins?: {
303
+ $attributes?: {
304
+ b: number;
305
+ l: number;
306
+ r: number;
307
+ t: number;
308
+ header: number;
309
+ footer: number;
310
+ };
311
+ };
312
+ pageSetup?: Record<string, unknown>;
313
+ }
314
+
315
+ // --- Chart space (root) ---
316
+
317
+ export interface ChartSpace {
318
+ date1904?: { $attributes?: { val: XsdBoolean } };
319
+ lang?: { $attributes?: { val: string } };
320
+ roundedCorners?: { $attributes?: { val: XsdBoolean } };
321
+ style?: { $attributes?: { val: number } };
322
+ chart: Chart;
323
+ spPr?: Record<string, unknown>;
324
+ txPr?: Record<string, unknown>;
325
+ printSettings?: PrintSettings;
326
+ extLst?: Record<string, unknown>;
327
+ }
@@ -0,0 +1,63 @@
1
+ export type {
2
+ SrgbClr,
3
+ SysClr,
4
+ ThemeColor,
5
+ ColorScheme,
6
+ ThemeFont,
7
+ SupplementalFont,
8
+ FontCollection,
9
+ FontScheme,
10
+ FormatScheme,
11
+ ThemeElements,
12
+ Theme,
13
+ } from "./theme.js";
14
+
15
+ export type {
16
+ AnchorPoint,
17
+ Extent,
18
+ CNvPr,
19
+ CNvGraphicFramePr,
20
+ NvGraphicFramePr,
21
+ GraphicData,
22
+ Graphic,
23
+ GraphicFrame,
24
+ ClientData,
25
+ TwoCellAnchor,
26
+ OneCellAnchor,
27
+ SpreadsheetDrawing,
28
+ } from "./spreadsheetDrawing.js";
29
+
30
+ export type {
31
+ NumericPoint,
32
+ NumCache,
33
+ NumRef,
34
+ NumDataSource,
35
+ StringPoint,
36
+ StrCache,
37
+ StrRef,
38
+ StrDataSource,
39
+ SeriesText,
40
+ DataPoint,
41
+ DataLabels,
42
+ Marker,
43
+ ChartSeries,
44
+ BarChart,
45
+ LineChart,
46
+ PieChart,
47
+ DoughnutChart,
48
+ AreaChart,
49
+ ScatterChart,
50
+ RadarChart,
51
+ Scaling,
52
+ CategoryAxis,
53
+ ValueAxis,
54
+ DateAxis,
55
+ SeriesAxis,
56
+ ChartTitle,
57
+ LegendEntry,
58
+ Legend,
59
+ PlotArea,
60
+ Chart,
61
+ PrintSettings,
62
+ ChartSpace,
63
+ } from "./chart.js";
@@ -0,0 +1,105 @@
1
+ import type { OneOrMany, TextElement, XsdBoolean } from "../spreadsheetml/util.js";
2
+
3
+ // --- Anchor positioning ---
4
+
5
+ /** Column/row offset point used in `from` and `to` anchor elements. */
6
+ export interface AnchorPoint {
7
+ col: TextElement;
8
+ colOff: TextElement;
9
+ row: TextElement;
10
+ rowOff: TextElement;
11
+ }
12
+
13
+ /** Extent (width/height) for one-cell anchors. */
14
+ export interface Extent {
15
+ $attributes?: {
16
+ cx: number;
17
+ cy: number;
18
+ };
19
+ }
20
+
21
+ // --- Non-visual properties ---
22
+
23
+ export interface CNvPr {
24
+ $attributes?: {
25
+ id: number;
26
+ name: string;
27
+ descr?: string;
28
+ title?: string;
29
+ hidden?: XsdBoolean;
30
+ };
31
+ }
32
+
33
+ export interface CNvGraphicFramePr {
34
+ graphicFrameLocks?: Record<string, unknown>;
35
+ }
36
+
37
+ export interface NvGraphicFramePr {
38
+ cNvPr: CNvPr;
39
+ cNvGraphicFramePr?: CNvGraphicFramePr;
40
+ }
41
+
42
+ // --- Graphic frame ---
43
+
44
+ export interface GraphicData {
45
+ $attributes?: {
46
+ uri: string;
47
+ };
48
+ chart?: {
49
+ $attributes?: {
50
+ id: string;
51
+ };
52
+ };
53
+ }
54
+
55
+ export interface Graphic {
56
+ graphicData: GraphicData;
57
+ }
58
+
59
+ export interface GraphicFrame {
60
+ nvGraphicFramePr: NvGraphicFramePr;
61
+ xfrm?: Record<string, unknown>;
62
+ graphic: Graphic;
63
+ }
64
+
65
+ // --- Client data ---
66
+
67
+ export interface ClientData {
68
+ $attributes?: {
69
+ fLocksWithSheet?: XsdBoolean;
70
+ fPrintsWithSheet?: XsdBoolean;
71
+ };
72
+ }
73
+
74
+ // --- Anchors ---
75
+
76
+ export interface TwoCellAnchor {
77
+ $attributes?: {
78
+ editAs?: string;
79
+ };
80
+ from: AnchorPoint;
81
+ to: AnchorPoint;
82
+ graphicFrame?: GraphicFrame;
83
+ sp?: Record<string, unknown>;
84
+ pic?: Record<string, unknown>;
85
+ cxnSp?: Record<string, unknown>;
86
+ clientData?: ClientData;
87
+ }
88
+
89
+ export interface OneCellAnchor {
90
+ from: AnchorPoint;
91
+ ext: Extent;
92
+ graphicFrame?: GraphicFrame;
93
+ sp?: Record<string, unknown>;
94
+ pic?: Record<string, unknown>;
95
+ cxnSp?: Record<string, unknown>;
96
+ clientData?: ClientData;
97
+ }
98
+
99
+ // --- Root ---
100
+
101
+ export interface SpreadsheetDrawing {
102
+ twoCellAnchor?: OneOrMany<TwoCellAnchor>;
103
+ oneCellAnchor?: OneOrMany<OneCellAnchor>;
104
+ absoluteAnchor?: Record<string, unknown>;
105
+ }
@@ -0,0 +1,104 @@
1
+ import type { OneOrMany } from "../spreadsheetml/util.js";
2
+
3
+ // --- Colors ---
4
+
5
+ export interface SrgbClr {
6
+ $attributes?: {
7
+ val: string;
8
+ };
9
+ }
10
+
11
+ export interface SysClr {
12
+ $attributes?: {
13
+ val: string;
14
+ lastClr?: string;
15
+ };
16
+ }
17
+
18
+ export interface ThemeColor {
19
+ srgbClr?: SrgbClr;
20
+ sysClr?: SysClr;
21
+ }
22
+
23
+ export interface ColorScheme {
24
+ $attributes?: {
25
+ name: string;
26
+ };
27
+ dk1: ThemeColor;
28
+ lt1: ThemeColor;
29
+ dk2: ThemeColor;
30
+ lt2: ThemeColor;
31
+ accent1: ThemeColor;
32
+ accent2: ThemeColor;
33
+ accent3: ThemeColor;
34
+ accent4: ThemeColor;
35
+ accent5: ThemeColor;
36
+ accent6: ThemeColor;
37
+ hlink: ThemeColor;
38
+ folHlink: ThemeColor;
39
+ }
40
+
41
+ // --- Fonts ---
42
+
43
+ export interface ThemeFont {
44
+ $attributes?: {
45
+ typeface: string;
46
+ panose?: string;
47
+ pitchFamily?: number;
48
+ charset?: number;
49
+ };
50
+ }
51
+
52
+ export interface SupplementalFont {
53
+ $attributes?: {
54
+ script: string;
55
+ typeface: string;
56
+ };
57
+ }
58
+
59
+ export interface FontCollection {
60
+ latin: ThemeFont;
61
+ ea: ThemeFont;
62
+ cs: ThemeFont;
63
+ font?: OneOrMany<SupplementalFont>;
64
+ }
65
+
66
+ export interface FontScheme {
67
+ $attributes?: {
68
+ name: string;
69
+ };
70
+ majorFont: FontCollection;
71
+ minorFont: FontCollection;
72
+ }
73
+
74
+ // --- Format Scheme (stubbed — deeply nested) ---
75
+
76
+ export interface FormatScheme {
77
+ $attributes?: {
78
+ name: string;
79
+ };
80
+ fillStyleLst?: Record<string, unknown>;
81
+ lnStyleLst?: Record<string, unknown>;
82
+ effectStyleLst?: Record<string, unknown>;
83
+ bgFillStyleLst?: Record<string, unknown>;
84
+ }
85
+
86
+ // --- Theme Elements ---
87
+
88
+ export interface ThemeElements {
89
+ clrScheme: ColorScheme;
90
+ fontScheme: FontScheme;
91
+ fmtScheme?: FormatScheme;
92
+ }
93
+
94
+ // --- Theme (root) ---
95
+
96
+ export interface Theme {
97
+ $attributes?: {
98
+ name?: string;
99
+ };
100
+ themeElements: ThemeElements;
101
+ objectDefaults?: Record<string, unknown>;
102
+ extraClrSchemeLst?: Record<string, unknown>;
103
+ extLst?: Record<string, unknown>;
104
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./spreadsheetml/index.js";
2
+ export * from "./drawingml/index.js";
3
+ export * from "./package/index.js";
@@ -0,0 +1,49 @@
1
+ import type { OneOrMany } from "../spreadsheetml/util.js";
2
+
3
+ /** Common OOXML content types. Not exhaustive — ContentType fields accept any string. */
4
+ export type WellKnownContentType =
5
+ // Package
6
+ | "application/vnd.openxmlformats-package.relationships+xml"
7
+ | "application/vnd.openxmlformats-package.core-properties+xml"
8
+ // Workbook
9
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
10
+ | "application/vnd.ms-excel.sheet.macroEnabled.main+xml"
11
+ // Worksheet
12
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
13
+ // Shared strings, styles, theme
14
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"
15
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"
16
+ | "application/vnd.openxmlformats-officedocument.theme+xml"
17
+ // Tables, charts, drawings
18
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"
19
+ | "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"
20
+ | "application/vnd.openxmlformats-officedocument.drawing+xml"
21
+ // Comments, pivot
22
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml"
23
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml"
24
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml"
25
+ // Media defaults
26
+ | "image/png"
27
+ | "image/jpeg"
28
+ | "image/gif"
29
+ | "application/xml"
30
+ | "application/vml";
31
+
32
+ export interface Default {
33
+ $attributes?: {
34
+ Extension: string;
35
+ ContentType: WellKnownContentType | (string & {});
36
+ };
37
+ }
38
+
39
+ export interface Override {
40
+ $attributes?: {
41
+ PartName: string;
42
+ ContentType: WellKnownContentType | (string & {});
43
+ };
44
+ }
45
+
46
+ export interface ContentTypes {
47
+ Default?: OneOrMany<Default>;
48
+ Override?: OneOrMany<Override>;
49
+ }
@@ -0,0 +1,46 @@
1
+ import type { TextElement } from "../spreadsheetml/util.js";
2
+
3
+ // --- Core Properties (docProps/core.xml) ---
4
+ // Dublin Core + cp namespace
5
+
6
+ export interface CoreProperties {
7
+ title?: TextElement;
8
+ subject?: TextElement;
9
+ creator?: TextElement;
10
+ keywords?: TextElement;
11
+ description?: TextElement;
12
+ lastModifiedBy?: TextElement;
13
+ revision?: TextElement;
14
+ created?: TextElement;
15
+ modified?: TextElement;
16
+ category?: TextElement;
17
+ contentStatus?: TextElement;
18
+ }
19
+
20
+ // --- Extended Properties (docProps/app.xml) ---
21
+
22
+ export interface ExtendedProperties {
23
+ Application?: TextElement;
24
+ DocSecurity?: TextElement;
25
+ ScaleCrop?: TextElement;
26
+ HeadingPairs?: Record<string, unknown>;
27
+ TitlesOfParts?: Record<string, unknown>;
28
+ Company?: TextElement;
29
+ LinksUpToDate?: TextElement;
30
+ SharedDoc?: TextElement;
31
+ HyperlinksChanged?: TextElement;
32
+ AppVersion?: TextElement;
33
+ Manager?: TextElement;
34
+ Template?: TextElement;
35
+ TotalTime?: TextElement;
36
+ Pages?: TextElement;
37
+ Words?: TextElement;
38
+ Characters?: TextElement;
39
+ PresentationFormat?: TextElement;
40
+ Lines?: TextElement;
41
+ Paragraphs?: TextElement;
42
+ Slides?: TextElement;
43
+ Notes?: TextElement;
44
+ HiddenSlides?: TextElement;
45
+ MMClips?: TextElement;
46
+ }
@@ -0,0 +1,17 @@
1
+ export type {
2
+ WellKnownContentType,
3
+ Default,
4
+ Override,
5
+ ContentTypes,
6
+ } from "./contentTypes.js";
7
+
8
+ export type {
9
+ WellKnownRelationshipType,
10
+ Relationship,
11
+ Relationships,
12
+ } from "./relationships.js";
13
+
14
+ export type {
15
+ CoreProperties,
16
+ ExtendedProperties,
17
+ } from "./docProps.js";