ooxml-core 0.9.0 → 0.10.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 (286) hide show
  1. package/README.md +14 -13
  2. package/dist/crypto/aes-ecb.d.ts +13 -0
  3. package/dist/crypto/aes-ecb.d.ts.map +1 -0
  4. package/dist/crypto/decrypt.d.ts +63 -0
  5. package/dist/crypto/decrypt.d.ts.map +1 -0
  6. package/dist/crypto/detect.d.ts +56 -0
  7. package/dist/crypto/detect.d.ts.map +1 -0
  8. package/dist/crypto/encrypt.d.ts +27 -0
  9. package/dist/crypto/encrypt.d.ts.map +1 -0
  10. package/dist/crypto/encryption-info-write.d.ts +46 -0
  11. package/dist/crypto/encryption-info-write.d.ts.map +1 -0
  12. package/dist/crypto/encryption-info.d.ts +22 -0
  13. package/dist/crypto/encryption-info.d.ts.map +1 -0
  14. package/dist/crypto/errors.d.ts +39 -0
  15. package/dist/crypto/errors.d.ts.map +1 -0
  16. package/dist/crypto/index.cjs +1805 -0
  17. package/dist/crypto/index.d.ts +26 -0
  18. package/dist/crypto/index.d.ts.map +1 -0
  19. package/dist/crypto/index.mjs +1774 -0
  20. package/dist/crypto/key-derivation.d.ts +73 -0
  21. package/dist/crypto/key-derivation.d.ts.map +1 -0
  22. package/dist/crypto/types.d.ts +104 -0
  23. package/dist/crypto/types.d.ts.map +1 -0
  24. package/dist/docx/embedded.cjs +2 -0
  25. package/dist/docx/embedded.mjs +2 -0
  26. package/dist/docx/index.cjs +2 -0
  27. package/dist/docx/index.mjs +2 -0
  28. package/dist/docx/load/detect.d.ts +14 -2
  29. package/dist/docx/load/detect.d.ts.map +1 -1
  30. package/dist/docx/load/index.cjs +8995 -7728
  31. package/dist/docx/load/index.d.ts +3 -1
  32. package/dist/docx/load/index.d.ts.map +1 -1
  33. package/dist/docx/load/index.mjs +8990 -7729
  34. package/dist/docx/load/legacy-doc.d.ts.map +1 -1
  35. package/dist/index.cjs +749 -19
  36. package/dist/index.mjs +749 -19
  37. package/dist/opc/index.cjs +797 -1
  38. package/dist/opc/index.d.ts +2 -0
  39. package/dist/opc/index.d.ts.map +1 -1
  40. package/dist/opc/index.mjs +784 -3
  41. package/dist/opc/properties/app.d.ts +10 -0
  42. package/dist/opc/properties/app.d.ts.map +1 -0
  43. package/dist/opc/properties/core.d.ts +13 -0
  44. package/dist/opc/properties/core.d.ts.map +1 -0
  45. package/dist/opc/properties/custom.d.ts +15 -0
  46. package/dist/opc/properties/custom.d.ts.map +1 -0
  47. package/dist/opc/properties/index.d.ts +5 -0
  48. package/dist/opc/properties/index.d.ts.map +1 -0
  49. package/dist/opc/properties/types.d.ts +114 -0
  50. package/dist/opc/properties/types.d.ts.map +1 -0
  51. package/dist/opc/relationship-types.d.ts +1 -0
  52. package/dist/opc/relationship-types.d.ts.map +1 -1
  53. package/dist/opc/safe-href.d.ts +34 -0
  54. package/dist/opc/safe-href.d.ts.map +1 -1
  55. package/dist/opc/signature/constants.d.ts +42 -0
  56. package/dist/opc/signature/constants.d.ts.map +1 -0
  57. package/dist/opc/signature/detection.d.ts +97 -0
  58. package/dist/opc/signature/detection.d.ts.map +1 -0
  59. package/dist/opc/signature/digest.d.ts +16 -0
  60. package/dist/opc/signature/digest.d.ts.map +1 -0
  61. package/dist/opc/signature/index.d.ts +8 -0
  62. package/dist/opc/signature/index.d.ts.map +1 -0
  63. package/dist/opc/signature/inspection-status.d.ts +24 -0
  64. package/dist/opc/signature/inspection-status.d.ts.map +1 -0
  65. package/dist/opc/signature/reference-utils.d.ts +12 -0
  66. package/dist/opc/signature/reference-utils.d.ts.map +1 -0
  67. package/dist/opc/signature/types.d.ts +90 -0
  68. package/dist/opc/signature/types.d.ts.map +1 -0
  69. package/dist/opc/signature/xml-utils.d.ts +35 -0
  70. package/dist/opc/signature/xml-utils.d.ts.map +1 -0
  71. package/dist/pptx/chunks/{index-CojJtI77.d.ts → index-BWUBPGgv.d.ts} +9 -11
  72. package/dist/pptx/chunks/index-BWUBPGgv.d.ts.map +1 -0
  73. package/dist/pptx/chunks/{signature-inspection-status-Bh2oap7B.d.ts → inspection-status-B2E-jSpG.d.ts} +8 -8
  74. package/dist/pptx/chunks/inspection-status-B2E-jSpG.d.ts.map +1 -0
  75. package/dist/pptx/cli/index.cjs +1409 -895
  76. package/dist/pptx/cli/index.mjs +1409 -895
  77. package/dist/pptx/converter/index.d.ts +1 -1
  78. package/dist/pptx/index.cjs +1933 -1391
  79. package/dist/pptx/index.d.ts +20 -67
  80. package/dist/pptx/index.d.ts.map +1 -1
  81. package/dist/pptx/index.mjs +1933 -1391
  82. package/dist/pptx/signature-node/index.cjs +5 -5
  83. package/dist/pptx/signature-node/index.d.ts +1 -1
  84. package/dist/pptx/signature-node/index.mjs +5 -5
  85. package/dist/visio/edit-master-index.d.ts +10 -0
  86. package/dist/visio/edit-master-index.d.ts.map +1 -0
  87. package/dist/visio/edit-master-scope.d.ts +7 -0
  88. package/dist/visio/edit-master-scope.d.ts.map +1 -0
  89. package/dist/visio/edit-scope.d.ts.map +1 -1
  90. package/dist/visio/formula-arithmetic.d.ts +8 -0
  91. package/dist/visio/formula-arithmetic.d.ts.map +1 -0
  92. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  93. package/dist/visio/formula-master.d.ts +13 -0
  94. package/dist/visio/formula-master.d.ts.map +1 -0
  95. package/dist/visio/formula-numeric-functions.d.ts +8 -0
  96. package/dist/visio/formula-numeric-functions.d.ts.map +1 -0
  97. package/dist/visio/formula.d.ts +1 -1
  98. package/dist/visio/formula.d.ts.map +1 -1
  99. package/dist/visio/index.cjs +540 -61
  100. package/dist/visio/index.mjs +540 -61
  101. package/dist/xlsx/edit/annotations.d.ts +5 -1
  102. package/dist/xlsx/edit/annotations.d.ts.map +1 -1
  103. package/dist/xlsx/edit/cell-values.d.ts +7 -2
  104. package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
  105. package/dist/xlsx/edit/clipboard.d.ts.map +1 -1
  106. package/dist/xlsx/edit/doc-properties.d.ts +14 -0
  107. package/dist/xlsx/edit/doc-properties.d.ts.map +1 -0
  108. package/dist/xlsx/edit/fill-series.d.ts.map +1 -1
  109. package/dist/xlsx/edit/find.d.ts +2 -1
  110. package/dist/xlsx/edit/find.d.ts.map +1 -1
  111. package/dist/xlsx/edit/format-lines.d.ts +22 -0
  112. package/dist/xlsx/edit/format-lines.d.ts.map +1 -0
  113. package/dist/xlsx/edit/format.d.ts +2 -1
  114. package/dist/xlsx/edit/format.d.ts.map +1 -1
  115. package/dist/xlsx/edit/history-refs.d.ts +51 -0
  116. package/dist/xlsx/edit/history-refs.d.ts.map +1 -0
  117. package/dist/xlsx/edit/history.d.ts +40 -5
  118. package/dist/xlsx/edit/history.d.ts.map +1 -1
  119. package/dist/xlsx/edit/index.d.ts +3 -0
  120. package/dist/xlsx/edit/index.d.ts.map +1 -1
  121. package/dist/xlsx/edit/input-text.d.ts +13 -0
  122. package/dist/xlsx/edit/input-text.d.ts.map +1 -0
  123. package/dist/xlsx/edit/merge.d.ts +10 -2
  124. package/dist/xlsx/edit/merge.d.ts.map +1 -1
  125. package/dist/xlsx/edit/session.d.ts.map +1 -1
  126. package/dist/xlsx/edit/sheets.d.ts.map +1 -1
  127. package/dist/xlsx/edit/shift-formulas.d.ts +2 -1
  128. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
  129. package/dist/xlsx/edit/shift-preserved.d.ts +17 -0
  130. package/dist/xlsx/edit/shift-preserved.d.ts.map +1 -0
  131. package/dist/xlsx/edit/shift-sheet.d.ts +2 -2
  132. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
  133. package/dist/xlsx/edit/structure.d.ts.map +1 -1
  134. package/dist/xlsx/edit/types.d.ts +7 -0
  135. package/dist/xlsx/edit/types.d.ts.map +1 -1
  136. package/dist/xlsx/edit/validation-list.d.ts +24 -0
  137. package/dist/xlsx/edit/validation-list.d.ts.map +1 -0
  138. package/dist/xlsx/edit/validation.d.ts +2 -1
  139. package/dist/xlsx/edit/validation.d.ts.map +1 -1
  140. package/dist/xlsx/formula/area-index.d.ts +18 -0
  141. package/dist/xlsx/formula/area-index.d.ts.map +1 -0
  142. package/dist/xlsx/formula/array-context.d.ts.map +1 -1
  143. package/dist/xlsx/formula/ast.d.ts +5 -1
  144. package/dist/xlsx/formula/ast.d.ts.map +1 -1
  145. package/dist/xlsx/formula/call.d.ts.map +1 -1
  146. package/dist/xlsx/formula/coerce.d.ts.map +1 -1
  147. package/dist/xlsx/formula/context.d.ts +5 -0
  148. package/dist/xlsx/formula/context.d.ts.map +1 -1
  149. package/dist/xlsx/formula/date-serial.d.ts +11 -4
  150. package/dist/xlsx/formula/date-serial.d.ts.map +1 -1
  151. package/dist/xlsx/formula/engine-core.d.ts +6 -0
  152. package/dist/xlsx/formula/engine-core.d.ts.map +1 -1
  153. package/dist/xlsx/formula/engine-host.d.ts +35 -3
  154. package/dist/xlsx/formula/engine-host.d.ts.map +1 -1
  155. package/dist/xlsx/formula/engine-util.d.ts.map +1 -1
  156. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  157. package/dist/xlsx/formula/evaluator.d.ts.map +1 -1
  158. package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -1
  159. package/dist/xlsx/formula/functions/array.d.ts.map +1 -1
  160. package/dist/xlsx/formula/functions/criteria-index.d.ts +12 -0
  161. package/dist/xlsx/formula/functions/criteria-index.d.ts.map +1 -0
  162. package/dist/xlsx/formula/functions/criteria.d.ts +24 -16
  163. package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -1
  164. package/dist/xlsx/formula/functions/date-calc.d.ts +4 -0
  165. package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -1
  166. package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -1
  167. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -1
  168. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -1
  169. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -1
  170. package/dist/xlsx/formula/functions/lookup-core.d.ts +14 -2
  171. package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -1
  172. package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -1
  173. package/dist/xlsx/formula/functions/math-mod.d.ts +8 -0
  174. package/dist/xlsx/formula/functions/math-mod.d.ts.map +1 -0
  175. package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -1
  176. package/dist/xlsx/formula/functions/math.d.ts.map +1 -1
  177. package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -1
  178. package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -1
  179. package/dist/xlsx/formula/functions/stats-core.d.ts +6 -0
  180. package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -1
  181. package/dist/xlsx/formula/functions/text-case.d.ts +14 -0
  182. package/dist/xlsx/formula/functions/text-case.d.ts.map +1 -0
  183. package/dist/xlsx/formula/functions/text.d.ts.map +1 -1
  184. package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -1
  185. package/dist/xlsx/formula/graph-index.d.ts +15 -0
  186. package/dist/xlsx/formula/graph-index.d.ts.map +1 -0
  187. package/dist/xlsx/formula/graph.d.ts +13 -18
  188. package/dist/xlsx/formula/graph.d.ts.map +1 -1
  189. package/dist/xlsx/formula/operators.d.ts +9 -0
  190. package/dist/xlsx/formula/operators.d.ts.map +1 -1
  191. package/dist/xlsx/formula/parser.d.ts +2 -0
  192. package/dist/xlsx/formula/parser.d.ts.map +1 -1
  193. package/dist/xlsx/formula/references.d.ts +4 -1
  194. package/dist/xlsx/formula/references.d.ts.map +1 -1
  195. package/dist/xlsx/formula/text-number.d.ts.map +1 -1
  196. package/dist/xlsx/formula/transform.d.ts.map +1 -1
  197. package/dist/xlsx/formula/values.d.ts +44 -3
  198. package/dist/xlsx/formula/values.d.ts.map +1 -1
  199. package/dist/xlsx/index.cjs +4698 -1322
  200. package/dist/xlsx/index.mjs +4688 -1323
  201. package/dist/xlsx/layout/anchors.d.ts +47 -0
  202. package/dist/xlsx/layout/anchors.d.ts.map +1 -0
  203. package/dist/xlsx/layout/cf-evaluator.d.ts +1 -2
  204. package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -1
  205. package/dist/xlsx/layout/cf-helpers.d.ts +8 -1
  206. package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -1
  207. package/dist/xlsx/layout/index.d.ts +1 -0
  208. package/dist/xlsx/layout/index.d.ts.map +1 -1
  209. package/dist/xlsx/load/csv.d.ts +24 -3
  210. package/dist/xlsx/load/csv.d.ts.map +1 -1
  211. package/dist/xlsx/load/detect.d.ts +39 -7
  212. package/dist/xlsx/load/detect.d.ts.map +1 -1
  213. package/dist/xlsx/load/errors.d.ts +10 -0
  214. package/dist/xlsx/load/errors.d.ts.map +1 -0
  215. package/dist/xlsx/load/index.cjs +16220 -12163
  216. package/dist/xlsx/load/index.d.ts +5 -2
  217. package/dist/xlsx/load/index.d.ts.map +1 -1
  218. package/dist/xlsx/load/index.mjs +16213 -12164
  219. package/dist/xlsx/load/text-decode.d.ts +7 -0
  220. package/dist/xlsx/load/text-decode.d.ts.map +1 -0
  221. package/dist/xlsx/model.d.ts +121 -17
  222. package/dist/xlsx/model.d.ts.map +1 -1
  223. package/dist/xlsx/numfmt/date.d.ts +7 -0
  224. package/dist/xlsx/numfmt/date.d.ts.map +1 -1
  225. package/dist/xlsx/numfmt/format.d.ts.map +1 -1
  226. package/dist/xlsx/numfmt/fraction.d.ts +5 -1
  227. package/dist/xlsx/numfmt/fraction.d.ts.map +1 -1
  228. package/dist/xlsx/numfmt/input-date.d.ts.map +1 -1
  229. package/dist/xlsx/numfmt/input.d.ts.map +1 -1
  230. package/dist/xlsx/numfmt/number.d.ts.map +1 -1
  231. package/dist/xlsx/read/conditional.d.ts.map +1 -1
  232. package/dist/xlsx/read/drawing.d.ts +2 -2
  233. package/dist/xlsx/read/drawing.d.ts.map +1 -1
  234. package/dist/xlsx/read/load.d.ts.map +1 -1
  235. package/dist/xlsx/read/package.d.ts +18 -2
  236. package/dist/xlsx/read/package.d.ts.map +1 -1
  237. package/dist/xlsx/read/sheet-data.d.ts.map +1 -1
  238. package/dist/xlsx/read/sheet-props.d.ts +15 -1
  239. package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
  240. package/dist/xlsx/read/smart-art.d.ts +12 -0
  241. package/dist/xlsx/read/smart-art.d.ts.map +1 -0
  242. package/dist/xlsx/read/styles.d.ts.map +1 -1
  243. package/dist/xlsx/read/workbook-part.d.ts +5 -2
  244. package/dist/xlsx/read/workbook-part.d.ts.map +1 -1
  245. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  246. package/dist/xlsx/write/attr-merge.d.ts +10 -0
  247. package/dist/xlsx/write/attr-merge.d.ts.map +1 -0
  248. package/dist/xlsx/write/carried-refs.d.ts +61 -0
  249. package/dist/xlsx/write/carried-refs.d.ts.map +1 -0
  250. package/dist/xlsx/write/comments.d.ts +12 -2
  251. package/dist/xlsx/write/comments.d.ts.map +1 -1
  252. package/dist/xlsx/write/conditional.d.ts.map +1 -1
  253. package/dist/xlsx/write/doc-props.d.ts +30 -0
  254. package/dist/xlsx/write/doc-props.d.ts.map +1 -0
  255. package/dist/xlsx/write/drawing.d.ts +5 -0
  256. package/dist/xlsx/write/drawing.d.ts.map +1 -1
  257. package/dist/xlsx/write/metadata.d.ts +23 -0
  258. package/dist/xlsx/write/metadata.d.ts.map +1 -0
  259. package/dist/xlsx/write/package-writer.d.ts +6 -0
  260. package/dist/xlsx/write/package-writer.d.ts.map +1 -1
  261. package/dist/xlsx/write/page-setup.d.ts +8 -0
  262. package/dist/xlsx/write/page-setup.d.ts.map +1 -0
  263. package/dist/xlsx/write/save.d.ts.map +1 -1
  264. package/dist/xlsx/write/sheet-data.d.ts +8 -0
  265. package/dist/xlsx/write/sheet-data.d.ts.map +1 -1
  266. package/dist/xlsx/write/sheet-parts.d.ts +6 -0
  267. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
  268. package/dist/xlsx/write/sheet-props.d.ts +0 -6
  269. package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
  270. package/dist/xlsx/write/styles.d.ts.map +1 -1
  271. package/dist/xlsx/write/table-patch.d.ts +12 -0
  272. package/dist/xlsx/write/table-patch.d.ts.map +1 -0
  273. package/dist/xlsx/write/tables.d.ts +9 -0
  274. package/dist/xlsx/write/tables.d.ts.map +1 -1
  275. package/dist/xlsx/write/vml-ids.d.ts +29 -0
  276. package/dist/xlsx/write/vml-ids.d.ts.map +1 -0
  277. package/dist/xlsx/write/workbook-part.d.ts +1 -4
  278. package/dist/xlsx/write/workbook-part.d.ts.map +1 -1
  279. package/dist/xlsx/write/worksheet.d.ts.map +1 -1
  280. package/dist/xml/index.cjs +4 -0
  281. package/dist/xml/index.mjs +4 -0
  282. package/dist/xml/namespaces.d.ts +4 -0
  283. package/dist/xml/namespaces.d.ts.map +1 -1
  284. package/package.json +6 -1
  285. package/dist/pptx/chunks/index-CojJtI77.d.ts.map +0 -1
  286. package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts.map +0 -1
@@ -0,0 +1,61 @@
1
+ import type { Band } from '../edit/shift-sheet.js';
2
+ import type { Workbook, Worksheet } from '../model.js';
3
+ import type { SourceIndex } from '../read/package.js';
4
+ import type { PackageWriter } from './package-writer.js';
5
+ /** A row or column insert (`count` > 0) or delete (`count` < 0) on one sheet. */
6
+ export interface CarriedShift {
7
+ axis: 'row' | 'col';
8
+ /** Zero-based first row or column affected. */
9
+ at: number;
10
+ count: number;
11
+ /** Insert/delete cells: only the band of columns (row shift) or rows (column shift) moves. */
12
+ band?: Band;
13
+ }
14
+ /**
15
+ * The structural edits since load that carried parts must follow, in the sheet names the source
16
+ * package uses. Apply order: shifts (in order), then deleted sheets, then renames (simultaneous).
17
+ */
18
+ export interface CarriedRefEdits {
19
+ /** Shifts in edit order, keyed by the source name of the sheet they happened on. */
20
+ shifts: {
21
+ sheet: string;
22
+ shift: CarriedShift;
23
+ }[];
24
+ /** Source names of sheets that no longer exist. */
25
+ deleted: string[];
26
+ /** Source name to current name, for sheets whose name changed. */
27
+ renamed: [from: string, to: string][];
28
+ }
29
+ interface SheetIdentity {
30
+ name: string;
31
+ sheetId: number;
32
+ }
33
+ /**
34
+ * Derives the edits by comparing the sheets in the source `workbook.xml` with the current ones
35
+ * (matched by the stable `sheetId`). `shiftsOf` returns the shifts recorded for a current sheet.
36
+ */
37
+ export declare function carriedRefEdits<T extends SheetIdentity>(sourceSheets: readonly SheetIdentity[], currentSheets: readonly T[], shiftsOf?: (sheet: T) => readonly CarriedShift[]): CarriedRefEdits;
38
+ export declare const hasCarriedRefEdits: (edits: CarriedRefEdits) => boolean;
39
+ /**
40
+ * Applies the edits to one formula as it appears in a carried part. `formulaSheet` resolves
41
+ * unqualified references (`''` when every reference is sheet-qualified, as in chart parts).
42
+ */
43
+ export declare function patchCarriedFormula(formula: string, formulaSheet: string, edits: CarriedRefEdits): string;
44
+ /**
45
+ * The carried part rewritten for the structural edits, or `undefined` when it needs no change
46
+ * (or is not a part this function knows: pivot cache definitions, `chartSpace` chart and chartEx
47
+ * parts). Everything except the touched references keeps its source text.
48
+ */
49
+ export declare function patchCarriedPart(partName: string, xml: string, edits: CarriedRefEdits): string | undefined;
50
+ /**
51
+ * The edits between the source package and the current workbook: renames and deletions come from
52
+ * the sheets of the source `workbook.xml` (matched by `sheetId`), shifts from `shiftsOf`.
53
+ */
54
+ export declare function workbookRefEdits(workbook: Workbook, source: SourceIndex | undefined, shiftsOf?: (sheet: Worksheet) => readonly CarriedShift[]): CarriedRefEdits;
55
+ /**
56
+ * Rewrites every part the writer has so far copied byte for byte (and not regenerated) for the
57
+ * edits. Call it after all parts are written and before `writer.build()`.
58
+ */
59
+ export declare function patchCarriedParts(writer: PackageWriter, edits: CarriedRefEdits): void;
60
+ export {};
61
+ //# sourceMappingURL=carried-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carried-refs.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/carried-refs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,IAAI,CAAC,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,oFAAoF;IACpF,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC;IACjD,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;CACtC;AAED,UAAU,aAAa;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,EACtD,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,aAAa,EAAE,SAAS,CAAC,EAAE,EAC3B,QAAQ,GAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,YAAY,EAAa,GACxD,eAAe,CAajB;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,eAAe,KAAG,OACoB,CAAC;AAuCjF;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,eAAe,GACpB,MAAM,CAKR;AAwED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,eAAe,GACpB,MAAM,GAAG,SAAS,CAQpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,YAAY,EAAa,GAChE,eAAe,CAWjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CASrF"}
@@ -15,9 +15,19 @@ export declare class PersonRegistry {
15
15
  id(name: string): string;
16
16
  xml(): string;
17
17
  }
18
+ /** Where the comment shapes of a VML drawing go (see `VmlIdAllocator`). */
19
+ export interface VmlLayout {
20
+ /** The drawing's `o:idmap` blocks. */
21
+ blocks: readonly number[];
22
+ /** One shape id per comment, in sheet order. */
23
+ ids: readonly number[];
24
+ /** A source drawing (comment shapes removed) whose other shapes, such as form controls, stay. */
25
+ base?: string;
26
+ }
18
27
  /**
19
28
  * The comments part, the legacy VML drawing that makes Excel show them, and (for threaded
20
- * comments) the threaded comments part. `sheetNumber` keeps VML shape ids unique per sheet.
29
+ * comments) the threaded comments part. `sheetNumber` keeps VML shape ids unique per sheet
30
+ * unless `layout` gives the ids (and any source drawing to keep).
21
31
  */
22
- export declare function commentParts(comments: readonly Comment[], sheetNumber: number, persons: PersonRegistry, sheetName: string): CommentParts;
32
+ export declare function commentParts(comments: readonly Comment[], sheetNumber: number, persons: PersonRegistry, sheetName: string, layout?: VmlLayout): CommentParts;
23
33
  //# sourceMappingURL=comments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/comments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc7C;AAKD,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0EAA0E;AAC1E,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBACxC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAMlD,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASxB,GAAG,IAAI,MAAM;CASb;AAaD;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GACf,YAAY,CA0Cd"}
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/comments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc7C;AAKD,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0EAA0E;AAC1E,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBACxC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAMlD,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASxB,GAAG,IAAI,MAAM;CASb;AAaD,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACzB,sCAAsC;IACtC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AA+BD;;;;GAIG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,SAAS,GAChB,YAAY,CA0Cd"}
@@ -1 +1 @@
1
- {"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/conditional.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,iBAAiB,EAEjB,cAAc,EACd,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoI/C,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,MAAM,EAAE,WAAW,GACjB,MAAM,CAUR;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CA6BjF"}
1
+ {"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/conditional.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,iBAAiB,EAEjB,cAAc,EACd,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkJ/C,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,MAAM,EAAE,WAAW,GACjB,MAAM,CAUR;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CA6BjF"}
@@ -0,0 +1,30 @@
1
+ import { type HeadingPair } from '../../opc/index.js';
2
+ import type { Workbook } from '../model.js';
3
+ import { SourceIndex } from '../read/package.js';
4
+ import type { PackageWriter, RelationshipSet } from './package-writer.js';
5
+ /**
6
+ * `HeadingPairs` and `TitlesOfParts` for the sheets being saved: the model's groups are kept
7
+ * when their sheet titles still match the workbook's sheets, otherwise the sheet groups are
8
+ * replaced by one `Worksheets` group. Non-sheet groups (`Named Ranges`) are kept as they are.
9
+ */
10
+ export declare function sheetTitles(workbook: Workbook): {
11
+ pairs: HeadingPair[];
12
+ titles: string[];
13
+ };
14
+ /** `docProps/core.xml`: the source part patched with the workbook properties. */
15
+ export declare function coreXml(workbook: Workbook, source?: SourceIndex): string;
16
+ /**
17
+ * `docProps/app.xml`: the source part patched with the workbook properties (elements the model
18
+ * does not know are kept), sheet titles refreshed. A new workbook gets Excel's defaults.
19
+ */
20
+ export declare function appXml(workbook: Workbook, sourceIndex?: SourceIndex): string;
21
+ /** Whether the package-root relationship of `type` is rewritten by {@link writeDocProps}. */
22
+ export declare const regeneratesRootRel: (workbook: Workbook, type: string) => boolean;
23
+ /**
24
+ * Writes `docProps/core.xml` and `docProps/app.xml` (patched from the source parts) and, when
25
+ * the model holds custom properties (`properties.custom` set), `docProps/custom.xml`, adding
26
+ * their package-root relationships to `root`. With `properties.custom` absent the source custom
27
+ * part, if any, is carried unchanged with the other root relationships.
28
+ */
29
+ export declare function writeDocProps(writer: PackageWriter, root: RelationshipSet, workbook: Workbook, source: SourceIndex | undefined): void;
30
+ //# sourceMappingURL=doc-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-props.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/doc-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,WAAW,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa1E;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA6B1F;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAKxE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,CAsB5E;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,EAAE,MAAM,MAAM,KAAG,OACmB,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC7B,IAAI,CAWN"}
@@ -2,6 +2,11 @@ import type { DrawingObject } from '../model.js';
2
2
  import { type PackageWriter } from './package-writer.js';
3
3
  /** A relationship target from `fromPart` to `toPart` (both package part names). */
4
4
  export declare function relativeTarget(fromPart: string, toPart: string): string;
5
+ /**
6
+ * Drawing objects as far as saving is concerned: a SmartArt object's diagram, nodes and notices
7
+ * are read from its parts and never written, so only its anchor, name and frame XML count.
8
+ */
9
+ export declare const savedDrawingShape: (objects: readonly DrawingObject[]) => unknown[];
5
10
  /**
6
11
  * Regenerates a drawing part from the model. Relationships of the source drawing are kept so
7
12
  * the anchors of unsupported objects (written back verbatim) still resolve.
@@ -1 +1 @@
1
- {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/drawing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,aAAa,EAAe,MAAM,aAAa,CAAC;AAI1F,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvE;AAsFD;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAsET"}
1
+ {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/drawing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,aAAa,EAAe,MAAM,aAAa,CAAC;AAI1F,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMvE;AAsFD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,SAAS,aAAa,EAAE,KAAG,OAAO,EAK3E,CAAC;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAwET"}
@@ -0,0 +1,23 @@
1
+ import type { PackageWriter, RelationshipSet } from './package-writer.js';
2
+ /**
3
+ * What the writer does with cell metadata. With a source part, its indices stay valid: `vm`
4
+ * and non-dynamic `cm` values are written back, and the dynamic-array block is the source's
5
+ * own XLDAPR block or one appended to it.
6
+ */
7
+ export declare class MetadataPlan {
8
+ private readonly sourceXml;
9
+ /** The one-based `cm` index that marks a dynamic-array formula. */
10
+ readonly dynamicCm: number;
11
+ /** Whether source `vm`/`cm` indices may be written (the source part is kept). */
12
+ readonly keepsSource: boolean;
13
+ private readonly merged;
14
+ constructor(sourceXml: string | undefined);
15
+ /** The metadata part to write, or `undefined` when none is needed. */
16
+ xml(dynamicArraysUsed: boolean): string | undefined;
17
+ }
18
+ /**
19
+ * Writes the workbook's `metadata.xml` (if one is needed) at the source part's name, or a new
20
+ * one, and adds its relationship. `sourcePart` is the source workbook's sheetMetadata target.
21
+ */
22
+ export declare function writeMetadataPart(writer: PackageWriter, rels: RelationshipSet, bookPart: string, plan: MetadataPlan, dynamicArraysUsed: boolean, sourcePart: string | undefined, reserved: ReadonlySet<string>): void;
23
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/metadata.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgG1E;;;;GAIG;AACH,qBAAa,YAAY;IAOZ,OAAO,CAAC,QAAQ,CAAC,SAAS;IANtC,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEf,SAAS,EAAE,MAAM,GAAG,SAAS;IAQ1D,sEAAsE;IACtE,GAAG,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;CAKnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,YAAY,EAClB,iBAAiB,EAAE,OAAO,EAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,IAAI,CAYN"}
@@ -13,6 +13,8 @@ export declare class PackageWriter {
13
13
  readonly source: SourceIndex | undefined;
14
14
  private readonly parts;
15
15
  private readonly types;
16
+ /** Output parts still holding the source bytes of a carried part (output name to source name). */
17
+ private readonly verbatim;
16
18
  constructor(source: SourceIndex | undefined);
17
19
  has(partName: string): boolean;
18
20
  add(partName: string, data: Uint8Array | string, contentType?: string): void;
@@ -25,6 +27,10 @@ export declare class PackageWriter {
25
27
  * internal part they reference that has not been written yet.
26
28
  */
27
29
  carry(partName: string, as?: string): void;
30
+ /** Carried parts written byte for byte so far, as [output name, source name] pairs. */
31
+ carriedParts(): [output: string, source: string][];
32
+ /** Replaces a part's content, keeping its content type. */
33
+ replace(partName: string, data: Uint8Array | string): void;
28
34
  private contentTypesXml;
29
35
  build(): Promise<Uint8Array>;
30
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-writer.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/package-writer.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,iBAAiB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBrE,iFAAiF;AACjF,qBAAa,eAAe;IAC3B,QAAQ,CAAC,OAAO,iCAAwC;IAExD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAI9C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAQ3D,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAI5C;AAED,wFAAwF;AACxF,qBAAa,aAAa;IAIb,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS;IAHpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;gBAE9B,MAAM,EAAE,WAAW,GAAG,SAAS;IAEpD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5E,8EAA8E;IAC9E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI;IASlD,+EAA+E;IAC/E,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAOlF;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAW,GAAG,IAAI;IAe5C,OAAO,CAAC,eAAe;IA4BjB,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;CAalC"}
1
+ {"version":3,"file":"package-writer.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/package-writer.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,iBAAiB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBrE,iFAAiF;AACjF,qBAAa,eAAe;IAC3B,QAAQ,CAAC,OAAO,iCAAwC;IAExD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAI9C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAQ3D,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAI5C;AAED,wFAAwF;AACxF,qBAAa,aAAa;IAMb,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS;IALpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;gBAEjC,MAAM,EAAE,WAAW,GAAG,SAAS;IAEpD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5E,8EAA8E;IAC9E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI;IASlD,+EAA+E;IAC/E,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAOlF;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAW,GAAG,IAAI;IAgB5C,uFAAuF;IACvF,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAIlD,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAM1D,OAAO,CAAC,eAAe;IA4BjB,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;CAalC"}
@@ -0,0 +1,8 @@
1
+ import type { Worksheet } from '../model.js';
2
+ /** `pageMargins`, `pageSetup` and `headerFooter`, reusing the source XML where unchanged. */
3
+ export declare function pageXml(sheet: Worksheet): {
4
+ margins: string;
5
+ setup: string;
6
+ headerFooter: string;
7
+ };
8
+ //# sourceMappingURL=page-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-setup.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/page-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,aAAa,CAAC;AAsExD,6FAA6F;AAC7F,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CAcA"}
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/save.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwC5C;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CA2ItE"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/save.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0C5C;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAoJtE"}
@@ -11,6 +11,14 @@ export interface CellWriteContext {
11
11
  dynamicArrays?: {
12
12
  used: boolean;
13
13
  };
14
+ /**
15
+ * The cell metadata the package will carry (see `MetadataPlan`). Without it the source
16
+ * `metadata.xml` is not kept, so `vm` and source `cm` indices are not written.
17
+ */
18
+ metadata?: {
19
+ readonly dynamicCm: number;
20
+ readonly keepsSource: boolean;
21
+ };
14
22
  }
15
23
  /** The `cm` value of the XLDAPR dynamic-array cell metadata block the writer emits. */
16
24
  export declare const DYNAMIC_ARRAY_CM = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-data.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,+FAA+F;IAC/F,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC;AAED,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAuFlC,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CA0B5E"}
1
+ {"version":3,"file":"sheet-data.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,+FAA+F;IAC/F,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;CACzE;AAED,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AA2FlC,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CA0B5E"}
@@ -1,6 +1,7 @@
1
1
  import type { Workbook, Worksheet } from '../model.js';
2
2
  import { type SourceIndex } from '../read/package.js';
3
3
  import { type PersonRegistry } from './comments.js';
4
+ import type { MetadataPlan } from './metadata.js';
4
5
  import type { PackageWriter, RelationshipSet } from './package-writer.js';
5
6
  import type { SharedStringTable } from './shared-strings.js';
6
7
  import type { StyleWriter } from './styles.js';
@@ -23,6 +24,11 @@ export interface SaveContext {
23
24
  dynamicArrays?: {
24
25
  used: boolean;
25
26
  };
27
+ /**
28
+ * The cell metadata plan (`new MetadataPlan(sourceMetadataXml)`); when present the source
29
+ * `xl/metadata.xml` is kept and cells write their `vm` and source `cm` indices.
30
+ */
31
+ metadata?: MetadataPlan;
26
32
  }
27
33
  export declare function sourceRelIds(source: SourceIndex, partName: string): {
28
34
  drawing?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-parts.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-parts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQvD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,uEAAuE;IACvE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5B,uFAAuF;IACvF,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC;AAED,wBAAgB,YAAY,CAC3B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACd;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAQvC;AAED,wBAAgB,aAAa,CAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,GACnB,MAAM,CA8CR;AAED,wBAAgB,WAAW,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,CAuCR;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAsBR"}
1
+ {"version":3,"file":"sheet-parts.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-parts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQvD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,uEAAuE;IACvE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5B,uFAAuF;IACvF,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,wBAAgB,YAAY,CAC3B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,GACd;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAQvC;AAED,wBAAgB,aAAa,CAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,GACnB,MAAM,CAkER;AASD,wBAAgB,WAAW,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,CA+CR;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAsBR"}
@@ -7,10 +7,4 @@ export declare function colsXml(sheet: Worksheet, styleCount: number): string;
7
7
  export declare function protectionXml(sheet: Worksheet): string;
8
8
  export declare function autoFilterXml(sheet: Worksheet): string;
9
9
  export declare function mergeCellsXml(sheet: Worksheet): string;
10
- /** `pageMargins`, `pageSetup` and `headerFooter`, reusing the source XML where unchanged. */
11
- export declare function pageXml(sheet: Worksheet): {
12
- margins: string;
13
- setup: string;
14
- headerFooter: string;
15
- };
16
10
  //# sourceMappingURL=sheet-props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-props.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-props.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAmBzD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA8BnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAgD5E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuBvD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBpE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAmBtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAkBtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAItD;AAED,6FAA6F;AAC7F,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CA2DA"}
1
+ {"version":3,"file":"sheet-props.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/sheet-props.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgC,SAAS,EAAE,MAAM,aAAa,CAAC;AAmB3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA8BnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAgD5E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA8BvD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBpE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAmBtD;AAuCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAqBtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAItD"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoE1E;;;;GAIG;AACH,qBAAa,WAAW;IAWtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAGhC,QAAQ,EAAE,QAAQ,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS;IAa9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW9B,0EAA0E;IAC1E,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;IAcvC,OAAO,CAAC,EAAE;IAyBV,GAAG,IAAI,MAAM;CA4Cb"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoE1E;;;;GAIG;AACH,qBAAa,WAAW;IAWtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAGhC,QAAQ,EAAE,QAAQ,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS;IAa9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAW9B,0EAA0E;IAC1E,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;IAcvC,OAAO,CAAC,EAAE;IA2BV,GAAG,IAAI,MAAM;CA4Cb"}
@@ -0,0 +1,12 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { Table, Worksheet } from '../model.js';
3
+ /** The autoFilter range of a table: the whole table less its totals row. */
4
+ export declare function tableFilterRange(table: Table): CellRange;
5
+ /**
6
+ * Rewrites a table part read from the source package, changing only the modelled attributes
7
+ * (id, names, range, header/totals rows, columns, style) and keeping everything else: the
8
+ * autoFilter criteria and sort state, dxf ids, `totalsRowFormula`, `xr:uid`s and `extLst`.
9
+ * Returns `undefined` when the source XML cannot be read (the caller then writes a fresh part).
10
+ */
11
+ export declare function patchTableXml(sourceXml: string, sheet: Worksheet, table: Table, id: number, names: readonly string[]): string | undefined;
12
+ //# sourceMappingURL=table-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-patch.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/table-patch.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuCpD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAKxD;AA4HD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,CA0BpB"}
@@ -13,6 +13,15 @@ export declare function tableXml(table: Table, id: number, names: readonly strin
13
13
  * (`SUBTOTAL(109,Table[Col])`); keyed `row:col`, only where the cell differs.
14
14
  */
15
15
  export declare function totalsRowFormulas(sheet: Worksheet, table: Table, names: readonly string[]): Map<string, string>;
16
+ /**
17
+ * The `name` and `displayName` to write. Names read from the source and left unedited are kept
18
+ * exactly (Excel itself writes `name="T1" displayName="T1_"`); only names the user created or
19
+ * changed are made safe, since `displayName` is what formulas refer to.
20
+ */
21
+ export declare function resolveTableNames(table: Table, before: Pick<Table, 'name' | 'displayName'> | undefined, index: number): {
22
+ name: string;
23
+ displayName: string;
24
+ };
16
25
  /** Excel rejects table names that are not identifiers or that read as cell references. */
17
26
  export declare function safeTableName(name: string, index: number): string;
18
27
  //# sourceMappingURL=tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,GACV;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAuBtD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA2CnF;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAarB;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjE"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,GACV;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAuBtD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA2CnF;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAarB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,SAAS,EACvD,KAAK,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAWvC;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjE"}
@@ -0,0 +1,29 @@
1
+ import type { SourceIndex } from '../read/package.js';
2
+ /** The `o:idmap` blocks a VML drawing declares. */
3
+ export declare function vmlIdmapBlocks(xml: string): number[];
4
+ /** The numeric shape ids (`_x0000_s1025` style) a VML drawing uses. */
5
+ export declare function vmlShapeIds(xml: string): number[];
6
+ /** Allocates VML blocks and shape ids that collide with nothing in the source package. */
7
+ export declare class VmlIdAllocator {
8
+ private readonly blocks;
9
+ private readonly ids;
10
+ constructor(source: SourceIndex | undefined);
11
+ private useId;
12
+ /**
13
+ * `count` fresh shape ids. `own` are the blocks the drawing being rewritten already holds
14
+ * (ids are taken from their free slots first); further blocks are claimed starting at
15
+ * `preferred`. Returns the drawing's full block list and the new ids.
16
+ */
17
+ allocate(count: number, preferred: number, own?: readonly number[]): {
18
+ blocks: number[];
19
+ ids: number[];
20
+ };
21
+ }
22
+ /** The allocator shared by every sheet of one save (keyed by the save context). */
23
+ export declare function vmlAllocatorFor(key: object, source: SourceIndex | undefined): VmlIdAllocator;
24
+ /** A source VML drawing with its comment (`ObjectType="Note"`) shapes removed. */
25
+ export declare function stripNoteShapes(xml: string): {
26
+ xml: string;
27
+ kept: number;
28
+ };
29
+ //# sourceMappingURL=vml-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vml-ids.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/vml-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjD;AAED,0FAA0F;AAC1F,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;gBAE7B,MAAM,EAAE,WAAW,GAAG,SAAS;IAa3C,OAAO,CAAC,KAAK;IAMb;;;;OAIG;IACH,QAAQ,CACP,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,SAAS,MAAM,EAAO,GACzB;QACF,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,EAAE,MAAM,EAAE,CAAC;KACd;CAsBD;AAID,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,CAO5F;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQ1E"}
@@ -9,8 +9,5 @@ export interface SheetRef {
9
9
  export declare function definedNamesOf(workbook: Workbook): DefinedName[];
10
10
  /** Builds `workbook.xml`, carrying unmodelled elements of the source part. */
11
11
  export declare function workbookXml(workbook: Workbook, sheets: readonly SheetRef[], activeTab: number, sourceXml: string | undefined): string;
12
- /** `docProps/core.xml` from the workbook properties. */
13
- export declare function coreXml(workbook: Workbook): string;
14
- /** `docProps/app.xml`: application, company and the sheet titles. */
15
- export declare function appXml(workbook: Workbook): string;
12
+ export { appXml, coreXml } from './doc-props.js';
16
13
  //# sourceMappingURL=workbook-part.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workbook-part.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/workbook-part.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqBzD,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAiBD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,CAiBhE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,CA+DR;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkBlD;AAED,qEAAqE;AACrE,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAcjD"}
1
+ {"version":3,"file":"workbook-part.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/workbook-part.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqBzD,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAiBD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,CAiBhE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,CA+DR;AAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/worksheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAKN,KAAK,WAAW,EAChB,MAAM,kBAAkB,CAAC;AAc1B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAyDpD,4EAA4E;AAC5E,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACd,IAAI,CA8EN"}
1
+ {"version":3,"file":"worksheet.d.ts","sourceRoot":"","sources":["../../../src/xlsx/write/worksheet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C,OAAO,EAKN,KAAK,WAAW,EAChB,MAAM,kBAAkB,CAAC;AAa1B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAyDpD,4EAA4E;AAC5E,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACd,IAAI,CA+EN"}
@@ -60,6 +60,10 @@ var NS = {
60
60
  extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
61
61
  /** Dublin Core terms (`dcterms:created`). */
62
62
  dcterms: "http://purl.org/dc/terms/",
63
+ /** Custom document properties (`docProps/custom.xml`). */
64
+ customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
65
+ /** Document property variant types (`vt:lpwstr`, `vt:vector`). */
66
+ vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
63
67
  /** XML itself (`xml:space`). */
64
68
  xml: "http://www.w3.org/XML/1998/namespace"
65
69
  };
@@ -58,6 +58,10 @@ var NS = {
58
58
  extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
59
59
  /** Dublin Core terms (`dcterms:created`). */
60
60
  dcterms: "http://purl.org/dc/terms/",
61
+ /** Custom document properties (`docProps/custom.xml`). */
62
+ customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
63
+ /** Document property variant types (`vt:lpwstr`, `vt:vector`). */
64
+ vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
61
65
  /** XML itself (`xml:space`). */
62
66
  xml: "http://www.w3.org/XML/1998/namespace"
63
67
  };
@@ -56,6 +56,10 @@ export declare const NS: {
56
56
  readonly extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";
57
57
  /** Dublin Core terms (`dcterms:created`). */
58
58
  readonly dcterms: "http://purl.org/dc/terms/";
59
+ /** Custom document properties (`docProps/custom.xml`). */
60
+ readonly customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";
61
+ /** Document property variant types (`vt:lpwstr`, `vt:vector`). */
62
+ readonly vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes";
59
63
  /** XML itself (`xml:space`). */
60
64
  readonly xml: "http://www.w3.org/XML/1998/namespace";
61
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/xml/namespaces.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,EAAE;IACd,6BAA6B;;IAE7B,2BAA2B;;IAE3B,0BAA0B;;IAE1B,sBAAsB;;IAEtB,uBAAuB;;IAEvB,yCAAyC;;IAEzC,4CAA4C;;IAE5C,yDAAyD;;IAEzD,yBAAyB;;IAEzB,gCAAgC;;IAEhC,yCAAyC;;IAEzC,oDAAoD;;IAEpD,8BAA8B;;IAE9B,8BAA8B;;IAE9B,mBAAmB;;IAEnB,uBAAuB;;IAEvB,4BAA4B;;IAE5B,kBAAkB;;IAElB,6BAA6B;;IAE7B,2BAA2B;;IAE3B,wDAAwD;;IAExD,kFAAkF;;IAElF,mEAAmE;;IAEnE,6CAA6C;;IAE7C,2CAA2C;;IAE3C,qDAAqD;;IAErD,iCAAiC;;IAEjC,6CAA6C;;IAE7C,gCAAgC;;CAEvB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/xml/namespaces.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,EAAE;IACd,6BAA6B;;IAE7B,2BAA2B;;IAE3B,0BAA0B;;IAE1B,sBAAsB;;IAEtB,uBAAuB;;IAEvB,yCAAyC;;IAEzC,4CAA4C;;IAE5C,yDAAyD;;IAEzD,yBAAyB;;IAEzB,gCAAgC;;IAEhC,yCAAyC;;IAEzC,oDAAoD;;IAEpD,8BAA8B;;IAE9B,8BAA8B;;IAE9B,mBAAmB;;IAEnB,uBAAuB;;IAEvB,4BAA4B;;IAE5B,kBAAkB;;IAElB,6BAA6B;;IAE7B,2BAA2B;;IAE3B,wDAAwD;;IAExD,kFAAkF;;IAElF,mEAAmE;;IAEnE,6CAA6C;;IAE7C,2CAA2C;;IAE3C,qDAAqD;;IAErD,iCAAiC;;IAEjC,6CAA6C;;IAE7C,0DAA0D;;IAE1D,kEAAkE;;IAElE,gCAAgC;;CAEvB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ooxml-core",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Shared OOXML logic for the Word, PowerPoint and Excel viewers: everything except the UI",
5
5
  "keywords": [
6
6
  "charts",
@@ -86,6 +86,11 @@
86
86
  "import": "./dist/digest/index.mjs",
87
87
  "require": "./dist/digest/index.cjs"
88
88
  },
89
+ "./crypto": {
90
+ "types": "./dist/crypto/index.d.ts",
91
+ "import": "./dist/crypto/index.mjs",
92
+ "require": "./dist/crypto/index.cjs"
93
+ },
89
94
  "./xml": {
90
95
  "types": "./dist/xml/index.d.ts",
91
96
  "import": "./dist/xml/index.mjs",