@deckflow/deckuse 1.3.0 → 1.4.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 (76) hide show
  1. package/README.md +14 -0
  2. package/dist/bin.js +86 -12
  3. package/dist/bin.js.map +1 -1
  4. package/dist/core/schema.d.ts +31 -0
  5. package/dist/core/schema.d.ts.map +1 -1
  6. package/dist/core/schema.js +2 -0
  7. package/dist/core/schema.js.map +1 -1
  8. package/dist/docx/adapter.js +6 -4
  9. package/dist/docx/adapter.js.map +1 -1
  10. package/dist/help.d.ts.map +1 -1
  11. package/dist/help.js +11 -1
  12. package/dist/help.js.map +1 -1
  13. package/dist/monitor.d.ts.map +1 -1
  14. package/dist/monitor.js +2 -12
  15. package/dist/monitor.js.map +1 -1
  16. package/dist/opc/index.d.ts +6 -0
  17. package/dist/opc/index.d.ts.map +1 -1
  18. package/dist/opc/index.js +29 -2
  19. package/dist/opc/index.js.map +1 -1
  20. package/dist/pptx/adapter.d.ts +3 -0
  21. package/dist/pptx/adapter.d.ts.map +1 -1
  22. package/dist/pptx/adapter.js +58 -13
  23. package/dist/pptx/adapter.js.map +1 -1
  24. package/dist/pptx/addressing.d.ts +4 -2
  25. package/dist/pptx/addressing.d.ts.map +1 -1
  26. package/dist/pptx/addressing.js +53 -0
  27. package/dist/pptx/addressing.js.map +1 -1
  28. package/dist/pptx/elements.d.ts +4 -1
  29. package/dist/pptx/elements.d.ts.map +1 -1
  30. package/dist/pptx/elements.js +22 -11
  31. package/dist/pptx/elements.js.map +1 -1
  32. package/dist/pptx/indexer.d.ts.map +1 -1
  33. package/dist/pptx/indexer.js +3 -2
  34. package/dist/pptx/indexer.js.map +1 -1
  35. package/dist/pptx/mutations.d.ts +5 -4
  36. package/dist/pptx/mutations.d.ts.map +1 -1
  37. package/dist/pptx/mutations.js +17 -45
  38. package/dist/pptx/mutations.js.map +1 -1
  39. package/dist/pptx/node-for.d.ts +9 -0
  40. package/dist/pptx/node-for.d.ts.map +1 -0
  41. package/dist/pptx/node-for.js +37 -0
  42. package/dist/pptx/node-for.js.map +1 -0
  43. package/dist/pptx/resolve-properties.d.ts +8 -6
  44. package/dist/pptx/resolve-properties.d.ts.map +1 -1
  45. package/dist/pptx/resolve-properties.js +194 -17
  46. package/dist/pptx/resolve-properties.js.map +1 -1
  47. package/dist/pptx/slides.d.ts.map +1 -1
  48. package/dist/pptx/slides.js +17 -6
  49. package/dist/pptx/slides.js.map +1 -1
  50. package/dist/pptx/table-measure.d.ts +18 -0
  51. package/dist/pptx/table-measure.d.ts.map +1 -1
  52. package/dist/pptx/table-measure.js +50 -0
  53. package/dist/pptx/table-measure.js.map +1 -1
  54. package/dist/pptx/table.d.ts +6 -1
  55. package/dist/pptx/table.d.ts.map +1 -1
  56. package/dist/pptx/table.js +198 -17
  57. package/dist/pptx/table.js.map +1 -1
  58. package/dist/pptx/xml.d.ts +9 -1
  59. package/dist/pptx/xml.d.ts.map +1 -1
  60. package/dist/pptx/xml.js +37 -2
  61. package/dist/pptx/xml.js.map +1 -1
  62. package/dist/version.d.ts +1 -1
  63. package/dist/version.js +1 -1
  64. package/dist/workspace/git.d.ts.map +1 -1
  65. package/dist/workspace/git.js +39 -2
  66. package/dist/workspace/git.js.map +1 -1
  67. package/dist/workspace/index.d.ts +1 -1
  68. package/dist/workspace/index.d.ts.map +1 -1
  69. package/dist/workspace/index.js +1 -1
  70. package/dist/workspace/index.js.map +1 -1
  71. package/dist/workspace/lock.d.ts +2 -0
  72. package/dist/workspace/lock.d.ts.map +1 -1
  73. package/dist/workspace/lock.js +74 -5
  74. package/dist/workspace/lock.js.map +1 -1
  75. package/package.json +21 -22
  76. package/schema/command.schema.json +165 -159
@@ -57,6 +57,56 @@ export function measureTableLayout(input) {
57
57
  }
58
58
  return { rowHeightsEmu, totalHeightEmu, colWidthEmu, cols };
59
59
  }
60
+ /**
61
+ * Fit content row heights to a frame.
62
+ * Auto uses the measured height. Fixed mode spreads extra EMU across rows so
63
+ * the row-height sum equals the frame. A frame shorter than the content keeps
64
+ * content row heights and reports overflow.
65
+ */
66
+ export function layoutTableFrame(input) {
67
+ const rowHeightsEmu = input.contentRowHeightsEmu.map((height) => Math.round(height));
68
+ const contentEmu = Math.max(1, Math.round(input.contentEmu));
69
+ if (input.frameEmu === undefined) {
70
+ return {
71
+ mode: 'auto',
72
+ status: 'complete',
73
+ frameEmu: contentEmu,
74
+ contentEmu,
75
+ rowHeightsEmu,
76
+ };
77
+ }
78
+ const frameEmu = Math.max(1, Math.round(input.frameEmu));
79
+ if (frameEmu < contentEmu) {
80
+ return {
81
+ mode: 'fixed',
82
+ status: 'overflow',
83
+ frameEmu,
84
+ contentEmu,
85
+ rowHeightsEmu,
86
+ };
87
+ }
88
+ const count = rowHeightsEmu.length;
89
+ if (count > 0) {
90
+ const current = rowHeightsEmu.reduce((sum, height) => sum + height, 0);
91
+ const extra = frameEmu - current;
92
+ if (extra !== 0) {
93
+ const per = Math.floor(extra / count);
94
+ let assigned = 0;
95
+ for (let i = 0; i < count - 1; i += 1) {
96
+ rowHeightsEmu[i] = rowHeightsEmu[i] + per;
97
+ assigned += per;
98
+ }
99
+ rowHeightsEmu[count - 1] = rowHeightsEmu[count - 1] + (extra - assigned);
100
+ }
101
+ }
102
+ return {
103
+ mode: 'fixed',
104
+ status: 'complete',
105
+ frameEmu,
106
+ contentEmu,
107
+ rowHeightsEmu,
108
+ };
109
+ }
60
110
  export const tableHeightMayClipDiagnostic = (input) => ({
61
111
  severity: 'warning',
62
112
  code: 'TABLE_HEIGHT_MAY_CLIP',
@@ -1 +1 @@
1
- {"version":3,"file":"table-measure.js","sourceRoot":"","sources":["../../src/pptx/table-measure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-measure.js","sourceRoot":"","sources":["../../src/pptx/table-measure.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { type Result } from '../core/index.js';
1
+ import { type Diagnostic, type Result } from '../core/index.js';
2
2
  import type { Element } from '@xmldom/xmldom';
3
3
  import { type ShapePropertyContext } from './properties.js';
4
+ import { type TableFrameLayout } from './table-measure.js';
5
+ /** Warn when a grown table overlaps peers or extends past the slide bottom. */
6
+ export declare const tableLayoutWarnings: (graphicFrame: Element, context?: ShapePropertyContext) => Diagnostic[];
4
7
  export declare function insertTableRow(node: Element, spec: unknown): void;
5
8
  export declare function deleteTableRow(node: Element, spec: unknown): void;
6
9
  export declare function insertTableColumn(node: Element, spec: unknown): void;
@@ -8,6 +11,7 @@ export declare function deleteTableColumn(node: Element, spec: unknown): void;
8
11
  export declare function setTableCellFill(cell: Element, value: unknown): void;
9
12
  export declare function applyTableProperties(node: Element, properties: Record<string, unknown>, context?: ShapePropertyContext): Result<{
10
13
  applied: string[];
14
+ diagnostics: Diagnostic[];
11
15
  }>;
12
16
  export declare function applyTableCellProperties(node: Element, properties: Record<string, unknown>): Result<{
13
17
  applied: string[];
@@ -19,5 +23,6 @@ export declare function applyTableLayout(graphicFrame: Element, options: {
19
23
  applied: string[];
20
24
  totalHeightEmu: number;
21
25
  estimatedEmu?: number;
26
+ layout: TableFrameLayout;
22
27
  }>;
23
28
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/pptx/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAiKzB,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAsBjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAQjE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CA2BpE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAmBpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA4BpE;AA6ED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0E/B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwB/B;AAmBD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE;IACP,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC,GACA,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyD9E"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/pptx/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAkJ5B,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,GAC9B,cAAc,OAAO,EACrB,UAAU,oBAAoB,KAC7B,UAAU,EAkCZ,CAAC;AAwDF,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CA+BjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAQjE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CA+BpE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAmBpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA4BpE;AA2HD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CA+E1D;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8C/B;AAmBD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE;IACP,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC,GACA,MAAM,CAAC;IACR,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC,CAuED"}
@@ -1,6 +1,7 @@
1
1
  import { err, ok } from '../core/index.js';
2
2
  import { applyShapeProperties, shapePropertyKeys, } from './properties.js';
3
- import { estimateTableHeightEmu, estimateTableRowHeightEmu, measureTableLayout, } from './table-measure.js';
3
+ import { readSlideSize } from './slide-size.js';
4
+ import { estimateTableHeightEmu, estimateTableRowHeightEmu, layoutTableFrame, measureTableLayout, } from './table-measure.js';
4
5
  import { NS, attr, children, descendants, first, setNodeText } from './xml.js';
5
6
  const DEFAULT_ROW_H = '370840';
6
7
  const DEFAULT_COL_W = '914400';
@@ -92,10 +93,92 @@ const makeCell = (doc, text = '') => {
92
93
  r.appendChild(t);
93
94
  p.appendChild(r);
94
95
  txBody.appendChild(p);
95
- tc.appendChild(txBody);
96
96
  tc.appendChild(doc.createElementNS(NS.a, 'a:tcPr'));
97
97
  return tc;
98
98
  };
99
+ /** Clone a cell's formatting (tcPr, bodyPr, lstStyle, pPr, rPr) and set plain text. */
100
+ const cloneCellWithText = (template, text) => {
101
+ const doc = template.ownerDocument;
102
+ if (!doc)
103
+ throw new Error('Element has no document');
104
+ const tc = template.cloneNode(true);
105
+ // Drop a16 / extLst unique ids that must not be duplicated on the new cell.
106
+ for (const extLst of [...descendants(tc, 'extLst')])
107
+ extLst.parentNode?.removeChild(extLst);
108
+ setNodeText(tc, text);
109
+ return tc;
110
+ };
111
+ const growFrame = (graphicFrame, deltaCx, deltaCy) => {
112
+ const xfrm = first(graphicFrame, 'xfrm');
113
+ const ext = xfrm ? first(xfrm, 'ext') : undefined;
114
+ if (!ext)
115
+ return;
116
+ if (deltaCx !== 0) {
117
+ const cx = Number(attr(ext, 'cx') ?? 0);
118
+ ext.setAttribute('cx', String(Math.max(1, Math.round(cx + deltaCx))));
119
+ }
120
+ if (deltaCy !== 0) {
121
+ const cy = Number(attr(ext, 'cy') ?? 0);
122
+ ext.setAttribute('cy', String(Math.max(1, Math.round(cy + deltaCy))));
123
+ }
124
+ };
125
+ const frameBoxOf = (node) => {
126
+ const xfrm = first(node, 'xfrm');
127
+ const off = xfrm ? first(xfrm, 'off') : undefined;
128
+ const ext = xfrm ? first(xfrm, 'ext') : undefined;
129
+ if (!off || !ext)
130
+ return undefined;
131
+ const x = Number(attr(off, 'x') ?? 0);
132
+ const y = Number(attr(off, 'y') ?? 0);
133
+ const cx = Number(attr(ext, 'cx') ?? 0);
134
+ const cy = Number(attr(ext, 'cy') ?? 0);
135
+ if (![x, y, cx, cy].every(Number.isFinite))
136
+ return undefined;
137
+ return { x, y, cx, cy };
138
+ };
139
+ const boxesIntersect = (a, b) => a.x < b.x + b.cx && a.x + a.cx > b.x && a.y < b.y + b.cy && a.y + a.cy > b.y;
140
+ const SHAPE_FRAME_LOCAL = new Set(['sp', 'pic', 'graphicFrame', 'cxnSp', 'grpSp']);
141
+ /** Warn when a grown table overlaps peers or extends past the slide bottom. */
142
+ export const tableLayoutWarnings = (graphicFrame, context) => {
143
+ const box = frameBoxOf(graphicFrame);
144
+ if (!box)
145
+ return [];
146
+ const diagnostics = [];
147
+ if (context?.archive) {
148
+ const { heightEmu } = readSlideSize(context.archive);
149
+ if (box.y + box.cy > heightEmu) {
150
+ diagnostics.push({
151
+ severity: 'warning',
152
+ code: 'TABLE_EXTENDS_PAST_SLIDE',
153
+ message: `Table bottom (${String(box.y + box.cy)} EMU) extends past slide height (${String(heightEmu)} EMU)`,
154
+ details: { bottomEmu: box.y + box.cy, slideHeightEmu: heightEmu },
155
+ });
156
+ }
157
+ }
158
+ const doc = graphicFrame.ownerDocument;
159
+ if (!doc)
160
+ return diagnostics;
161
+ for (const peer of descendants(doc)) {
162
+ if (peer === graphicFrame)
163
+ continue;
164
+ if (!peer.localName || !SHAPE_FRAME_LOCAL.has(peer.localName))
165
+ continue;
166
+ const other = frameBoxOf(peer);
167
+ if (!other || other.cx <= 0 || other.cy <= 0)
168
+ continue;
169
+ if (boxesIntersect(box, other)) {
170
+ const name = attr(first(peer, 'cNvPr'), 'name') ?? peer.localName;
171
+ diagnostics.push({
172
+ severity: 'warning',
173
+ code: 'TABLE_OVERLAPS_SHAPE',
174
+ message: `Table frame overlaps shape "${name}" after structural edit; consider setTableLayout to reflow`,
175
+ details: { peer: name },
176
+ });
177
+ break;
178
+ }
179
+ }
180
+ return diagnostics;
181
+ };
99
182
  /** True when any gridCol already carries a16:colId (PowerPoint modern table). */
100
183
  const tableUsesColIds = (tbl) => descendants(tbl, 'colId').some((el) => el.namespaceURI === NS_A16 || el.prefix === 'a16' || el.localName === 'colId');
101
184
  /** True when any row already carries a16:rowId. */
@@ -158,10 +241,17 @@ export function insertTableRow(node, spec) {
158
241
  ? directChildren(rows[0], 'tc').length
159
242
  : 1;
160
243
  const texts = cellsFromSpec(spec) ?? Array.from({ length: colCount }, () => '');
244
+ // Inherit from the row at the insert point, or the last row when appending.
245
+ const templateRow = rows[index] ?? rows[rows.length - 1];
246
+ const templateCells = templateRow ? directChildren(templateRow, 'tc') : [];
247
+ const rowH = templateRow ? (attr(templateRow, 'h') ?? DEFAULT_ROW_H) : DEFAULT_ROW_H;
161
248
  const tr = doc.createElementNS(NS.a, 'a:tr');
162
- tr.setAttribute('h', DEFAULT_ROW_H);
163
- for (let i = 0; i < colCount; i++)
164
- tr.appendChild(makeCell(doc, texts[i] ?? ''));
249
+ tr.setAttribute('h', rowH);
250
+ for (let i = 0; i < colCount; i++) {
251
+ const text = texts[i] ?? '';
252
+ const template = templateCells[i];
253
+ tr.appendChild(template ? cloneCellWithText(template, text) : makeCell(doc, text));
254
+ }
165
255
  // Keep a16:rowId complete when the source table already uses them — partial
166
256
  // coverage makes PowerPoint prompt to repair the package.
167
257
  if (tableUsesRowIds(tbl))
@@ -171,6 +261,7 @@ export function insertTableRow(node, spec) {
171
261
  tbl.insertBefore(tr, anchor);
172
262
  else
173
263
  tbl.appendChild(tr);
264
+ growFrame(node, 0, Number(rowH) || Number(DEFAULT_ROW_H));
174
265
  }
175
266
  export function deleteTableRow(node, spec) {
176
267
  const tbl = tblOf(node);
@@ -199,8 +290,10 @@ export function insertTableColumn(node, spec) {
199
290
  tbl.appendChild(grid);
200
291
  }
201
292
  const cols = directChildren(grid, 'gridCol');
293
+ const templateCol = cols[index] ?? cols[cols.length - 1];
294
+ const colW = templateCol ? (attr(templateCol, 'w') ?? DEFAULT_COL_W) : DEFAULT_COL_W;
202
295
  const gridCol = doc.createElementNS(NS.a, 'a:gridCol');
203
- gridCol.setAttribute('w', cols[0] ? (attr(cols[0], 'w') ?? DEFAULT_COL_W) : DEFAULT_COL_W);
296
+ gridCol.setAttribute('w', colW);
204
297
  if (tableUsesColIds(tbl))
205
298
  attachA16Id(gridCol, 'colId', nextTableUniqueId(tbl, 'colId'));
206
299
  const colAnchor = cols[index];
@@ -210,13 +303,15 @@ export function insertTableColumn(node, spec) {
210
303
  grid.appendChild(gridCol);
211
304
  for (const row of directChildren(tbl, 'tr')) {
212
305
  const cells = directChildren(row, 'tc');
213
- const cell = makeCell(doc, '');
306
+ const template = cells[index] ?? cells[cells.length - 1];
307
+ const cell = template ? cloneCellWithText(template, '') : makeCell(doc, '');
214
308
  const cellAnchor = cells[index];
215
309
  if (cellAnchor)
216
310
  row.insertBefore(cell, cellAnchor);
217
311
  else
218
312
  row.appendChild(cell);
219
313
  }
314
+ growFrame(node, Number(colW) || Number(DEFAULT_COL_W), 0);
220
315
  }
221
316
  export function deleteTableColumn(node, spec) {
222
317
  const tbl = tblOf(node);
@@ -349,7 +444,53 @@ const TABLE_STRUCTURAL_KEYS = new Set([
349
444
  'text',
350
445
  'name',
351
446
  ]);
352
- const TABLE_CELL_KEYS = new Set(['text', 'fill']);
447
+ const TABLE_CELL_STROKE_ALIASES = ['stroke', 'border', 'outline', 'line'];
448
+ const TABLE_CELL_PADDING_KEYS = [
449
+ 'padding.left',
450
+ 'padding.right',
451
+ 'padding.top',
452
+ 'padding.bottom',
453
+ ];
454
+ const TABLE_CELL_PADDING_ATTR = {
455
+ 'padding.left': 'marL',
456
+ 'padding.right': 'marR',
457
+ 'padding.top': 'marT',
458
+ 'padding.bottom': 'marB',
459
+ };
460
+ const TABLE_CELL_FONT_KEYS = new Set([
461
+ 'fontSize',
462
+ 'fontFamily',
463
+ 'textColor',
464
+ 'bold',
465
+ 'italic',
466
+ 'font',
467
+ 'typeface',
468
+ 'size',
469
+ 'fontColor',
470
+ ]);
471
+ const TABLE_CELL_KEYS = new Set([
472
+ 'text',
473
+ 'fill',
474
+ 'paragraph.align',
475
+ ...TABLE_CELL_STROKE_ALIASES,
476
+ ...TABLE_CELL_PADDING_KEYS,
477
+ ...TABLE_CELL_FONT_KEYS,
478
+ ]);
479
+ const setTableCellPadding = (cell, properties) => {
480
+ const applied = [];
481
+ const present = TABLE_CELL_PADDING_KEYS.filter((key) => key in properties);
482
+ if (present.length === 0)
483
+ return applied;
484
+ const tcPr = ensureTcPr(cell);
485
+ for (const key of present) {
486
+ const value = properties[key];
487
+ if (typeof value !== 'number' || !(value >= 0) || !Number.isFinite(value))
488
+ throw new Error(`${key} must be a non-negative number (pt)`);
489
+ tcPr.setAttribute(TABLE_CELL_PADDING_ATTR[key], String(Math.round(value * EMU_PER_PT)));
490
+ applied.push(key);
491
+ }
492
+ return applied;
493
+ };
353
494
  export function applyTableProperties(node, properties, context) {
354
495
  const structural = {};
355
496
  const visual = {};
@@ -365,10 +506,13 @@ export function applyTableProperties(node, properties, context) {
365
506
  if (unexpected.length)
366
507
  return err('INVALID_COMMAND', `Unsupported table setProperties keys: ${unexpected.join(', ')}`);
367
508
  const applied = [];
509
+ const diagnostics = [];
510
+ let structureGrew = false;
368
511
  try {
369
512
  if ('insertRow' in structural) {
370
513
  insertTableRow(node, structural['insertRow']);
371
514
  applied.push('insertRow');
515
+ structureGrew = true;
372
516
  }
373
517
  if ('deleteRow' in structural) {
374
518
  deleteTableRow(node, structural['deleteRow']);
@@ -377,6 +521,7 @@ export function applyTableProperties(node, properties, context) {
377
521
  if ('insertColumn' in structural) {
378
522
  insertTableColumn(node, structural['insertColumn']);
379
523
  applied.push('insertColumn');
524
+ structureGrew = true;
380
525
  }
381
526
  if ('deleteColumn' in structural) {
382
527
  deleteTableColumn(node, structural['deleteColumn']);
@@ -426,11 +571,13 @@ export function applyTableProperties(node, properties, context) {
426
571
  return styled;
427
572
  applied.push(...styled.value.applied);
428
573
  }
574
+ if (structureGrew)
575
+ diagnostics.push(...tableLayoutWarnings(node, context));
429
576
  }
430
577
  catch (cause) {
431
578
  return err('INVALID_COMMAND', cause instanceof Error ? cause.message : 'Invalid table properties');
432
579
  }
433
- return ok({ applied });
580
+ return ok({ applied, diagnostics });
434
581
  }
435
582
  export function applyTableCellProperties(node, properties) {
436
583
  const unexpected = Object.keys(properties).filter((k) => !TABLE_CELL_KEYS.has(k));
@@ -448,6 +595,27 @@ export function applyTableCellProperties(node, properties) {
448
595
  setTableCellFill(node, properties['fill']);
449
596
  applied.push('fill');
450
597
  }
598
+ const strokeKeys = TABLE_CELL_STROKE_ALIASES.filter((key) => key in properties);
599
+ if (strokeKeys.length > 1)
600
+ throw new Error(`Use only one stroke alias; found: ${strokeKeys.join(', ')}`);
601
+ if (strokeKeys[0]) {
602
+ setTableCellBorders(node, properties[strokeKeys[0]]);
603
+ applied.push(strokeKeys[0]);
604
+ }
605
+ applied.push(...setTableCellPadding(node, properties));
606
+ const styleProps = {};
607
+ if ('paragraph.align' in properties)
608
+ styleProps['paragraph.align'] = properties['paragraph.align'];
609
+ for (const key of TABLE_CELL_FONT_KEYS) {
610
+ if (key in properties)
611
+ styleProps[key] = properties[key];
612
+ }
613
+ if (Object.keys(styleProps).length > 0) {
614
+ const styled = applyShapeProperties(node, styleProps);
615
+ if (!styled.ok)
616
+ return styled;
617
+ applied.push(...styled.value.applied);
618
+ }
451
619
  }
452
620
  catch (cause) {
453
621
  return err('INVALID_COMMAND', cause instanceof Error ? cause.message : 'Invalid tableCell properties');
@@ -489,19 +657,20 @@ export function applyTableLayout(graphicFrame, options) {
489
657
  const applied = [];
490
658
  let totalHeightEmu;
491
659
  let estimatedEmu;
660
+ let layout;
492
661
  if (redistribute === 'content' || options.height === 'auto') {
493
- const layout = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
494
- estimatedEmu = layout.totalHeightEmu;
662
+ const measured = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
663
+ layout = layoutTableFrame({
664
+ contentRowHeightsEmu: measured.rowHeightsEmu,
665
+ contentEmu: measured.totalHeightEmu,
666
+ ...(typeof options.height === 'number' ? { frameEmu: options.height } : {}),
667
+ });
668
+ estimatedEmu = layout.contentEmu;
669
+ totalHeightEmu = layout.frameEmu;
495
670
  for (let i = 0; i < rows.length; i++) {
496
671
  const h = layout.rowHeightsEmu[i] ?? estimateTableRowHeightEmu(11);
497
672
  rows[i].setAttribute('h', String(h));
498
673
  }
499
- if (typeof options.height === 'number') {
500
- totalHeightEmu = options.height;
501
- }
502
- else {
503
- totalHeightEmu = layout.totalHeightEmu;
504
- }
505
674
  applied.push('redistribute:content');
506
675
  }
507
676
  else {
@@ -509,13 +678,24 @@ export function applyTableLayout(graphicFrame, options) {
509
678
  typeof options.height === 'number'
510
679
  ? options.height
511
680
  : Number(attr(ext, 'cy') ?? estimateTableHeightEmu(rows.length));
681
+ const measured = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
512
682
  const rowH = Math.max(1, Math.floor(totalHeightEmu / rows.length));
683
+ const rowHeightsEmu = [];
513
684
  let assigned = 0;
514
685
  for (let i = 0; i < rows.length; i++) {
515
686
  const h = i === rows.length - 1 ? Math.max(1, totalHeightEmu - assigned) : rowH;
516
687
  rows[i].setAttribute('h', String(h));
688
+ rowHeightsEmu.push(h);
517
689
  assigned += h;
518
690
  }
691
+ layout = {
692
+ mode: 'fixed',
693
+ status: totalHeightEmu < measured.totalHeightEmu ? 'overflow' : 'complete',
694
+ frameEmu: Math.round(totalHeightEmu),
695
+ contentEmu: measured.totalHeightEmu,
696
+ rowHeightsEmu,
697
+ };
698
+ estimatedEmu = measured.totalHeightEmu;
519
699
  applied.push('redistribute:equal');
520
700
  }
521
701
  ext.setAttribute('cy', String(Math.round(totalHeightEmu)));
@@ -524,6 +704,7 @@ export function applyTableLayout(graphicFrame, options) {
524
704
  applied,
525
705
  totalHeightEmu,
526
706
  ...(estimatedEmu !== undefined ? { estimatedEmu } : {}),
707
+ layout,
527
708
  });
528
709
  }
529
710
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/pptx/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/pptx/table.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,15 @@ export declare const descendants: (node: Node, localName?: string) => Element[];
25
25
  export declare const first: (node: Node, localName: string) => Element | undefined;
26
26
  export declare const attr: (node: Element | undefined, name: string) => string | undefined;
27
27
  export declare const textOf: (node: Node) => string;
28
- /** Replace text under a node. Newlines become separate `a:p` paragraphs; first-run `rPr` is preserved. */
28
+ /**
29
+ * Locate the speaker-notes body shape under a notes slide root.
30
+ * Prefers `p:ph type="body"`; otherwise the first shape that is not a
31
+ * header/footer/date/slide-number placeholder. Never returns hdr/sldNum/etc.
32
+ */
33
+ export declare const notesBodyShape: (notesRoot: Node) => Element | undefined;
34
+ /** Speaker-note body text only (excludes header / slide number placeholders). */
35
+ export declare const notesBodyText: (notesRoot: Node) => string;
36
+ /** Replace text under a node. Newlines become separate `a:p` paragraphs; first-run `rPr` and paragraph `pPr` are preserved. */
29
37
  export declare const setNodeText: (node: Node, text: string) => void;
30
38
  export interface TextRunStyle {
31
39
  readonly text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/pptx/xml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE9D,eAAO,MAAM,EAAE;;;;;CAKL,CAAC;AACX,eAAO,MAAM,GAAG;;;;;;;;;;;;;CAaN,CAAC;AACX,eAAO,MAAM,IAAI,GAAI,KAAK,QAAQ,KAAG,OAGpC,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,MAAM,IAAI,KAAG,OAAO,EACuC,CAAC;AACrF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,EAAE,YAAY,MAAM,KAAG,OAAO,EAUnE,CAAC;AACF,eAAO,MAAM,KAAK,GAAI,MAAM,IAAI,EAAE,WAAW,MAAM,KAAG,OAAO,GAAG,SAC/B,CAAC;AAClC,eAAO,MAAM,IAAI,GAAI,MAAM,OAAO,GAAG,SAAS,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SACjC,CAAC;AACxC,eAAO,MAAM,MAAM,GAAI,MAAM,IAAI,KAAG,MAGvB,CAAC;AA6Bd,0GAA0G;AAC1G,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,KAAG,IAyEtD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAanE,CAAC;AA0CF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,SAAS,cAAc,EAAE,KAChC,cAAc,EA2ChB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,QAAQ,SAAS,cAAc,EAAE,KAAG,IAsCjF,CAAC;AAqBF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAanD,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,SAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,IASF,CAAC;AACF,eAAO,MAAM,KAAK,GAAI,MAAM,OAAO,KAAG,OAAO,GAAG,SAAiC,CAAC;AAClF,eAAO,MAAM,WAAW,GAAI,KAAK,QAAQ,KAAG,MACgD,CAAC;AAC7F,eAAO,MAAM,gBAAgB,GAAI,KAAK,QAAQ,EAAE,MAAM,OAAO,KAAG,IAK/D,CAAC"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/pptx/xml.ts"],"names":[],"mappings":"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"}