@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
@@ -12,7 +12,7 @@ import { mutate } from './mutations.js';
12
12
  import { resolveProperties } from './resolve-properties.js';
13
13
  import { syncAppSlideCounts } from './slides.js';
14
14
  import { initializeWorkspace, isPackageStale, packagePath, persistWrite, readHistory, readManifest, repackWorkspace, revision, sourceDir, undoWrites, withWriteLock, } from './workspace.js';
15
- import { NS, descendants } from './xml.js';
15
+ import { NS, REL, descendants } from './xml.js';
16
16
  const VERSION = '0.5.0';
17
17
  const WRITE_TYPES = new Set([
18
18
  'setText',
@@ -79,6 +79,9 @@ export const pptxCapabilities = {
79
79
  insertColumn: true,
80
80
  deleteColumn: true,
81
81
  cellFill: true,
82
+ cellFont: true,
83
+ cellBorder: true,
84
+ cellPadding: true,
82
85
  heightAuto: true,
83
86
  themes: ['minimal', 'zebra'],
84
87
  alignColumns: true,
@@ -230,6 +233,37 @@ const validateArchive = (archive) => {
230
233
  });
231
234
  }
232
235
  }
236
+ // notesSlide ↔ slide relationships must point at each other.
237
+ for (const [source, rels] of archive.relationships) {
238
+ if (!source.startsWith('/ppt/slides/slide') || source.includes('/_rels/'))
239
+ continue;
240
+ for (const rel of rels) {
241
+ if (rel.type !== REL.notes || !rel.resolvedTarget)
242
+ continue;
243
+ const notesRels = archive.getRelationships(rel.resolvedTarget);
244
+ const back = notesRels.find((r) => r.type === REL.slide);
245
+ if (!back?.resolvedTarget) {
246
+ diagnostics.push({
247
+ severity: 'error',
248
+ code: 'NOTES_SLIDE_MISMATCH',
249
+ message: `Notes part ${rel.resolvedTarget} has no slide relationship back to ${source}`,
250
+ details: { slide: source, notes: rel.resolvedTarget },
251
+ });
252
+ }
253
+ else if (back.resolvedTarget !== source) {
254
+ diagnostics.push({
255
+ severity: 'error',
256
+ code: 'NOTES_SLIDE_MISMATCH',
257
+ message: `Notes part ${rel.resolvedTarget} points at ${back.resolvedTarget} instead of owning slide ${source}`,
258
+ details: {
259
+ slide: source,
260
+ notes: rel.resolvedTarget,
261
+ notesPointsTo: back.resolvedTarget,
262
+ },
263
+ });
264
+ }
265
+ }
266
+ }
233
267
  return diagnostics;
234
268
  };
235
269
  const slidesFromOutcome = (outcome) => outcome?.slides ?? [];
@@ -570,7 +604,9 @@ export const pptxAdapter = {
570
604
  ...(command.props ? { props: command.props } : {}),
571
605
  provenance: command.provenance ?? true,
572
606
  });
573
- return ok(details);
607
+ if (!details.ok)
608
+ return details;
609
+ return ok(details.value);
574
610
  }
575
611
  if (command.type === 'search') {
576
612
  const items = index.elements.filter((item) => {
@@ -614,6 +650,8 @@ export const pptxAdapter = {
614
650
  resolve: 'both',
615
651
  provenance: true,
616
652
  });
653
+ if (!details.ok)
654
+ return details;
617
655
  return ok({
618
656
  target: resolved.value.target,
619
657
  uid: resolved.value.uid,
@@ -630,8 +668,8 @@ export const pptxAdapter = {
630
668
  name: item.name,
631
669
  }))
632
670
  : undefined,
633
- properties: details.properties,
634
- warnings: details.warnings,
671
+ properties: details.value.properties,
672
+ warnings: details.value.warnings,
635
673
  });
636
674
  }
637
675
  if (command.ref) {
@@ -643,10 +681,14 @@ export const pptxAdapter = {
643
681
  elements: index.elements,
644
682
  });
645
683
  }
646
- if (command.type === 'query')
647
- return ok(index.elements
648
- .filter((item) => matchesSelector(item, command.selector))
649
- .slice(0, command.limit));
684
+ if (command.type === 'query') {
685
+ const matched = index.elements.filter((item) => matchesSelector(item, command.selector));
686
+ return ok({
687
+ items: matched.slice(0, command.limit),
688
+ total: matched.length,
689
+ truncated: matched.length > command.limit,
690
+ });
691
+ }
650
692
  if (command.type === 'getText') {
651
693
  const item = findIndexed(index, command.ref);
652
694
  return item
@@ -724,7 +766,7 @@ export const pptxAdapter = {
724
766
  const diagnostics = [];
725
767
  const slidePages = [];
726
768
  const changedTargets = [];
727
- const changedParts = [];
769
+ working.markClean();
728
770
  for (const nested of nestedCommands) {
729
771
  const result = await mutate(nested, working, currentIndex);
730
772
  diagnostics.push(...result.diagnostics);
@@ -734,14 +776,13 @@ export const pptxAdapter = {
734
776
  slidePages.push(...slidesFromOutcome(result.value));
735
777
  if (result.value.changedTargets)
736
778
  changedTargets.push(...result.value.changedTargets);
737
- if (result.value.changedParts)
738
- changedParts.push(...result.value.changedParts);
739
779
  if (STRUCTURAL_TYPES.has(nested.type)) {
740
780
  currentIndex = buildIndex(working, currentManifest.workspaceId, currentManifest.revision);
741
781
  }
742
782
  }
743
783
  // Heal pre-existing app.xml drift (and Notes) before the integrity gate.
744
784
  syncAppSlideCounts(working);
785
+ const changedParts = working.getDirtyParts();
745
786
  const validation = validateArchive(working);
746
787
  if (validation.length)
747
788
  return err('VALIDATION_FAILED', 'PPTX validation failed', validation);
@@ -751,7 +792,7 @@ export const pptxAdapter = {
751
792
  revision: currentManifest.revision,
752
793
  dryRun: true,
753
794
  changedTargets: [...new Set(changedTargets)],
754
- changedParts: [...new Set(changedParts)],
795
+ changedParts,
755
796
  affectedSlides: mergeSlides(slidePages),
756
797
  }, diagnostics);
757
798
  const rev = nextRevision(currentManifest.revision);
@@ -761,7 +802,7 @@ export const pptxAdapter = {
761
802
  results,
762
803
  revision: saved.revision,
763
804
  changedTargets: [...new Set(changedTargets)],
764
- changedParts: [...new Set(changedParts)],
805
+ changedParts,
765
806
  affectedSlides: mergeSlides(slidePages),
766
807
  }, diagnostics);
767
808
  };
@@ -774,11 +815,13 @@ export const pptxAdapter = {
774
815
  if (command.type === 'batch') {
775
816
  return runBatch(command.commands, command.dryRun, command);
776
817
  }
818
+ working.markClean();
777
819
  const result = await mutate(command, working, currentIndex);
778
820
  if (!result.ok)
779
821
  return result;
780
822
  // Heal pre-existing app.xml drift (and Notes) before the integrity gate.
781
823
  syncAppSlideCounts(working);
824
+ const changedParts = working.getDirtyParts();
782
825
  const validation = validateArchive(working);
783
826
  if (validation.length)
784
827
  return err('VALIDATION_FAILED', 'PPTX validation failed', validation);
@@ -787,6 +830,7 @@ export const pptxAdapter = {
787
830
  ...result.value,
788
831
  revision: currentManifest.revision,
789
832
  dryRun: true,
833
+ changedParts,
790
834
  affectedSlides: slidesFromOutcome(result.value),
791
835
  }, result.diagnostics);
792
836
  const rev = nextRevision(currentManifest.revision);
@@ -795,6 +839,7 @@ export const pptxAdapter = {
795
839
  return ok({
796
840
  ...result.value,
797
841
  revision: saved.revision,
842
+ changedParts,
798
843
  affectedSlides: slidesFromOutcome(result.value),
799
844
  }, result.diagnostics);
800
845
  });
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/pptx/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/pptx/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type ElementRef, type Result } from '../core/index.js';
2
2
  import type { IndexFile, IndexedElement } from './types.js';
3
- export type TargetKind = 'presentation' | 'theme' | 'layout' | 'master' | 'slide' | 'shape' | 'placeholder' | 'notes' | 'text' | 'paragraph' | 'run';
3
+ export type TargetKind = 'presentation' | 'theme' | 'layout' | 'master' | 'slide' | 'shape' | 'placeholder' | 'notes' | 'text' | 'paragraph' | 'run' | 'tableCell';
4
4
  export interface ParsedTarget {
5
5
  raw: string;
6
6
  kind: TargetKind;
@@ -12,7 +12,9 @@ export interface ParsedTarget {
12
12
  master?: string;
13
13
  paragraph?: number;
14
14
  run?: number;
15
- focus?: 'text' | 'paragraph' | 'run';
15
+ cellRow?: number;
16
+ cellCol?: number;
17
+ focus?: 'text' | 'paragraph' | 'run' | 'cell';
16
18
  }
17
19
  export interface ResolvedTarget {
18
20
  target: string;
@@ -1 +1 @@
1
- {"version":3,"file":"addressing.d.ts","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,MAAM,GACN,WAAW,GACX,KAAK,CAAC;AAEV,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAcD,eAAO,MAAM,SAAS,GAAI,OAAO;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,KAAG,MAkBH,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAuGjE;AAED,QAAA,MAAM,WAAW,GAAI,OAAO,SAAS,EAAE,MAAM,MAAM,KAAG,cAAc,GAAG,SAGtE,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,SAAS,EAAE,OAAO,cAAc,KAAG,cAAc,EAI5E,CAAC;AAEJ,QAAA,MAAM,SAAS,GAAI,MAAM,cAAc,KAAG,MAAM,GAAG,SAKlC,CAAC;AAElB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAqChF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAQvD;AAgCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CA+MnF;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,GACjD,MAAM,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,CAcxD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"addressing.d.ts","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,MAAM,GACN,WAAW,GACX,KAAK,GACL,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAcD,eAAO,MAAM,SAAS,GAAI,OAAO;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,KAAG,MAkBH,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CA0HjE;AAED,QAAA,MAAM,WAAW,GAAI,OAAO,SAAS,EAAE,MAAM,MAAM,KAAG,cAAc,GAAG,SAGtE,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,SAAS,EAAE,OAAO,cAAc,KAAG,cAAc,EAI5E,CAAC;AAEJ,QAAA,MAAM,SAAS,GAAI,MAAM,cAAc,KAAG,MAAM,GAAG,SAKlC,CAAC;AAElB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CA+ChF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAQvD;AAgCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAgPnF;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,GACjD,MAAM,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,CAcxD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC"}
@@ -131,6 +131,25 @@ export function parseTargetPath(raw) {
131
131
  diagnostics: [],
132
132
  };
133
133
  }
134
+ if (third.startsWith('cell:')) {
135
+ const rest = third.slice('cell:'.length);
136
+ const [rowRaw, colRaw] = rest.split(':');
137
+ const row = Number(rowRaw);
138
+ const col = Number(colRaw);
139
+ if (!Number.isInteger(row) || row < 0 || !Number.isInteger(col) || col < 0)
140
+ return err('INVALID_COMMAND', `Invalid cell address: ${trimmed}`, [], { target: trimmed });
141
+ return {
142
+ ok: true,
143
+ value: {
144
+ ...parsed,
145
+ kind: 'tableCell',
146
+ cellRow: row,
147
+ cellCol: col,
148
+ focus: 'cell',
149
+ },
150
+ diagnostics: [],
151
+ };
152
+ }
134
153
  return err('INVALID_COMMAND', `Unrecognized target path: ${trimmed}`, [], { target: trimmed });
135
154
  }
136
155
  const slideByPage = (index, page) => {
@@ -172,6 +191,16 @@ export function targetPathForItem(index, item) {
172
191
  : undefined);
173
192
  return page ? `slide:${page}/notes` : (item.ref.elementId ?? 'notes');
174
193
  }
194
+ if (item.kind === 'tableCell') {
195
+ const page = (item.slideId ? pages.get(item.slideId) : undefined) ?? pages.get(item.partUri);
196
+ const tableId = typeof item.location?.['tableId'] === 'string' ? item.location['tableId'] : '';
197
+ const afterSlide = tableId.includes(':') ? tableId.slice(tableId.indexOf(':') + 1) : tableId;
198
+ const shapeId = afterSlide.split('.').at(-1) ?? afterSlide;
199
+ const row = item.location?.['row'];
200
+ const col = item.location?.['column'];
201
+ if (page && shapeId && typeof row === 'number' && typeof col === 'number')
202
+ return `slide:${page}/shape:${shapeId}/cell:${row}:${col}`;
203
+ }
175
204
  if (item.slideId || item.partUri) {
176
205
  const page = (item.slideId ? pages.get(item.slideId) : undefined) ?? pages.get(item.partUri);
177
206
  const id = cNvPrIdOf(item);
@@ -392,6 +421,30 @@ export function resolveTarget(index, raw) {
392
421
  hint: `Run deckuse list shapes --slide ${parsed.slide} --json.`,
393
422
  });
394
423
  }
424
+ if (parsed.kind === 'tableCell' && parsed.cellRow !== undefined && parsed.cellCol !== undefined) {
425
+ if (item.kind !== 'table')
426
+ return err('TARGET_NOT_FOUND', `shape:${cNvPrIdOf(item) ?? '?'} is not a table`, [], {
427
+ target: raw,
428
+ });
429
+ const cell = index.elements.find((el) => el.kind === 'tableCell' &&
430
+ el.parentId === item.ref.elementId &&
431
+ el.location?.['row'] === parsed.cellRow &&
432
+ el.location?.['column'] === parsed.cellCol);
433
+ if (!cell)
434
+ return err('TARGET_NOT_FOUND', `cell:${parsed.cellRow}:${parsed.cellCol} does not exist on slide:${parsed.slide}/shape:${cNvPrIdOf(item) ?? '?'}`, [], { target: raw });
435
+ const canonical = targetPathForItem(index, cell);
436
+ return {
437
+ ok: true,
438
+ value: {
439
+ target: canonical,
440
+ uid: uidForItem(cell),
441
+ item: cell,
442
+ slidePage: parsed.slide,
443
+ parsed,
444
+ },
445
+ diagnostics: [],
446
+ };
447
+ }
395
448
  const id = cNvPrIdOf(item) ?? '?';
396
449
  const canonical = `slide:${parsed.slide}/shape:${id}`;
397
450
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"addressing.js","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addressing.js","sourceRoot":"","sources":["../../src/pptx/addressing.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { OpcArchive } from '../opc/index.js';
2
2
  import type { Document, Element } from '@xmldom/xmldom';
3
- export { estimateTableHeightEmu, estimateTableRowHeightEmu, measureTableLayout, } from './table-measure.js';
3
+ import { type TableFrameLayout } from './table-measure.js';
4
+ export { estimateTableHeightEmu, estimateTableRowHeightEmu, layoutTableFrame, measureTableLayout, } from './table-measure.js';
5
+ export type { TableFrameLayout } from './table-measure.js';
4
6
  /** Normalize addShape rows to string[][]. */
5
7
  export declare const normalizeTableRows: (raw: unknown) => string[][];
8
+ export declare function resolveTableFrame(e: Record<string, unknown>, archive?: OpcArchive): TableFrameLayout;
6
9
  export declare function addElement(archive: OpcArchive, slidePart: string, doc: Document, parent: Element, e: Record<string, unknown>): Promise<Element>;
7
10
  export declare const duplicateElement: (doc: Document, node: Element) => Element;
8
11
  export declare function updateChart(archive: OpcArchive, part: string, properties: Record<string, unknown>): {
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/pptx/elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAexD,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAqF5B,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,GAAI,KAAK,OAAO,KAAG,MAAM,EAAE,EAKzD,CAAC;AA6HF,wBAAsB,UAAU,CAC9B,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,OAAO,EACf,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AACD,eAAO,MAAM,gBAAgB,GAAI,KAAK,QAAQ,EAAE,MAAM,OAAO,KAAG,OAK/D,CAAC;AACF,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAKvB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQxE"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/pptx/elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAYxD,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqF3D,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,GAAI,KAAK,OAAO,KAAG,MAAM,EAAE,EAKzD,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,OAAO,CAAC,EAAE,UAAU,GACnB,gBAAgB,CAalB;AAyHD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,OAAO,EACf,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AACD,eAAO,MAAM,gBAAgB,GAAI,KAAK,QAAQ,EAAE,MAAM,OAAO,KAAG,OAK/D,CAAC;AACF,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAKvB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQxE"}
@@ -5,9 +5,9 @@ import { addMediaPart, mediaPicXml } from './media.js';
5
5
  import { addPicturePart } from './picture.js';
6
6
  import { normalizePlaceholderRole } from './placeholder-role.js';
7
7
  import { lengthContextFor } from './slide-size.js';
8
- import { estimateTableRowHeightEmu, measureTableLayout } from './table-measure.js';
8
+ import { estimateTableRowHeightEmu, layoutTableFrame, measureTableLayout, } from './table-measure.js';
9
9
  import { NS, REL, allocateShapeIds, attr, descendants, nextShapeId } from './xml.js';
10
- export { estimateTableHeightEmu, estimateTableRowHeightEmu, measureTableLayout, } from './table-measure.js';
10
+ export { estimateTableHeightEmu, estimateTableRowHeightEmu, layoutTableFrame, measureTableLayout, } from './table-measure.js';
11
11
  const esc = (value) => value.replaceAll('&', '&amp;').replaceAll('"', '&quot;').replaceAll('<', '&lt;');
12
12
  const value = (obj, key, fallback) => typeof obj[key] === 'string' ? obj[key] : fallback;
13
13
  const num = (obj, key, fallback) => typeof obj[key] === 'number' ? obj[key] : fallback;
@@ -88,18 +88,29 @@ export const normalizeTableRows = (raw) => {
88
88
  return [['']];
89
89
  return raw.map((row) => Array.isArray(row) ? row.map((cell) => (typeof cell === 'string' ? cell : '')) : ['']);
90
90
  };
91
- const tableXml = (id, e, archive) => {
91
+ export function resolveTableFrame(e, archive) {
92
92
  const rows = normalizeTableRows(e['rows']);
93
93
  const cols = Math.max(1, ...rows.map((r) => r.length));
94
94
  const width = resolveEmu(e['width'], 914400 * cols, 'x', archive);
95
- const layout = measureTableLayout({ rows, widthEmu: width, fontPt: 11 });
96
- const colW = String(layout.colWidthEmu);
95
+ const measured = measureTableLayout({ rows, widthEmu: width, fontPt: 11 });
97
96
  const heightRaw = e['height'];
98
- const height = heightRaw === 'auto' || heightRaw === undefined
99
- ? layout.totalHeightEmu
100
- : resolveEmu(heightRaw, layout.totalHeightEmu, 'y', archive);
97
+ return layoutTableFrame({
98
+ contentRowHeightsEmu: measured.rowHeightsEmu,
99
+ contentEmu: measured.totalHeightEmu,
100
+ ...(heightRaw === 'auto' || heightRaw === undefined
101
+ ? {}
102
+ : { frameEmu: resolveEmu(heightRaw, measured.totalHeightEmu, 'y', archive) }),
103
+ });
104
+ }
105
+ const tableXml = (id, e, archive) => {
106
+ const rows = normalizeTableRows(e['rows']);
107
+ const cols = Math.max(1, ...rows.map((r) => r.length));
108
+ const width = resolveEmu(e['width'], 914400 * cols, 'x', archive);
109
+ const frame = resolveTableFrame(e, archive);
110
+ const colW = String(Math.floor(width / Math.max(1, cols)));
101
111
  const theme = typeof e['theme'] === 'string' ? e['theme'] : 'minimal';
102
112
  const alignColumns = Array.isArray(e['alignColumns']) ? e['alignColumns'] : [];
113
+ const height = frame.frameEmu;
103
114
  const sized = { ...e, width, height };
104
115
  const cellXml = (text, header, colIndex, rowIndex) => {
105
116
  let fill = 'FFFFFF';
@@ -129,11 +140,11 @@ const tableXml = (id, e, archive) => {
129
140
  };
130
141
  const body = rows
131
142
  .map((row, rowIndex) => {
132
- const rowH = layout.rowHeightsEmu[rowIndex] ?? estimateTableRowHeightEmu(11);
133
- return `<a:tr h="${String(rowH)}">${Array.from({ length: layout.cols }, (_, i) => cellXml(typeof row[i] === 'string' ? row[i] : '', rowIndex === 0, i, rowIndex)).join('')}</a:tr>`;
143
+ const rowH = frame.rowHeightsEmu[rowIndex] ?? estimateTableRowHeightEmu(11);
144
+ return `<a:tr h="${String(rowH)}">${Array.from({ length: cols }, (_, i) => cellXml(typeof row[i] === 'string' ? row[i] : '', rowIndex === 0, i, rowIndex)).join('')}</a:tr>`;
134
145
  })
135
146
  .join('');
136
- return `<p:graphicFrame xmlns:p="${NS.p}" xmlns:a="${NS.a}"><p:nvGraphicFramePr><p:cNvPr id="${String(id)}" name="${esc(value(e, 'name', `Table ${String(id)}`))}"/><p:cNvGraphicFramePr/><p:nvPr/></p:nvGraphicFramePr>${graphicFrameXfrm(sized, archive)}<a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table"><a:tbl><a:tblPr firstRow="1"/><a:tblGrid>${Array.from({ length: layout.cols }, () => `<a:gridCol w="${colW}"/>`).join('')}</a:tblGrid>${body}</a:tbl></a:graphicData></a:graphic></p:graphicFrame>`;
147
+ return `<p:graphicFrame xmlns:p="${NS.p}" xmlns:a="${NS.a}"><p:nvGraphicFramePr><p:cNvPr id="${String(id)}" name="${esc(value(e, 'name', `Table ${String(id)}`))}"/><p:cNvGraphicFramePr/><p:nvPr/></p:nvGraphicFramePr>${graphicFrameXfrm(sized, archive)}<a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table"><a:tbl><a:tblPr firstRow="1"/><a:tblGrid>${Array.from({ length: cols }, () => `<a:gridCol w="${colW}"/>`).join('')}</a:tblGrid>${body}</a:tbl></a:graphicData></a:graphic></p:graphicFrame>`;
137
148
  };
138
149
  async function pictureXml(archive, slidePart, id, e) {
139
150
  const added = await addPicturePart(archive, slidePart, {