@deckflow/deckuse 1.3.1 → 1.4.1

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 (77) hide show
  1. package/README.es.md +1 -1
  2. package/README.fr.md +1 -1
  3. package/README.ja.md +1 -1
  4. package/README.ko.md +1 -1
  5. package/README.md +2 -2
  6. package/README.pt-BR.md +1 -1
  7. package/README.ru.md +1 -1
  8. package/dist/bin.js +85 -14
  9. package/dist/bin.js.map +1 -1
  10. package/dist/core/schema.d.ts +315 -0
  11. package/dist/core/schema.d.ts.map +1 -1
  12. package/dist/core/schema.js +76 -0
  13. package/dist/core/schema.js.map +1 -1
  14. package/dist/deck2html-exec.d.ts +3 -0
  15. package/dist/deck2html-exec.d.ts.map +1 -0
  16. package/dist/deck2html-exec.js +22 -0
  17. package/dist/deck2html-exec.js.map +1 -0
  18. package/dist/docx/adapter.js +6 -4
  19. package/dist/docx/adapter.js.map +1 -1
  20. package/dist/help.d.ts.map +1 -1
  21. package/dist/help.js +14 -4
  22. package/dist/help.js.map +1 -1
  23. package/dist/monitor.d.ts +2 -2
  24. package/dist/monitor.d.ts.map +1 -1
  25. package/dist/monitor.js +8 -8
  26. package/dist/monitor.js.map +1 -1
  27. package/dist/pptx/adapter.d.ts +3 -0
  28. package/dist/pptx/adapter.d.ts.map +1 -1
  29. package/dist/pptx/adapter.js +18 -7
  30. package/dist/pptx/adapter.js.map +1 -1
  31. package/dist/pptx/chart.d.ts +16 -0
  32. package/dist/pptx/chart.d.ts.map +1 -1
  33. package/dist/pptx/chart.js +171 -8
  34. package/dist/pptx/chart.js.map +1 -1
  35. package/dist/pptx/elements.d.ts +22 -1
  36. package/dist/pptx/elements.d.ts.map +1 -1
  37. package/dist/pptx/elements.js +233 -22
  38. package/dist/pptx/elements.js.map +1 -1
  39. package/dist/pptx/mutations.d.ts +5 -4
  40. package/dist/pptx/mutations.d.ts.map +1 -1
  41. package/dist/pptx/mutations.js +140 -69
  42. package/dist/pptx/mutations.js.map +1 -1
  43. package/dist/pptx/node-for.d.ts +9 -0
  44. package/dist/pptx/node-for.d.ts.map +1 -0
  45. package/dist/pptx/node-for.js +37 -0
  46. package/dist/pptx/node-for.js.map +1 -0
  47. package/dist/pptx/properties.d.ts.map +1 -1
  48. package/dist/pptx/properties.js +113 -2
  49. package/dist/pptx/properties.js.map +1 -1
  50. package/dist/pptx/resolve-properties.d.ts +8 -6
  51. package/dist/pptx/resolve-properties.d.ts.map +1 -1
  52. package/dist/pptx/resolve-properties.js +151 -26
  53. package/dist/pptx/resolve-properties.js.map +1 -1
  54. package/dist/pptx/shape-presets.d.ts +11 -0
  55. package/dist/pptx/shape-presets.d.ts.map +1 -0
  56. package/dist/pptx/shape-presets.js +199 -0
  57. package/dist/pptx/shape-presets.js.map +1 -0
  58. package/dist/pptx/table-measure.d.ts +26 -0
  59. package/dist/pptx/table-measure.d.ts.map +1 -1
  60. package/dist/pptx/table-measure.js +78 -6
  61. package/dist/pptx/table-measure.js.map +1 -1
  62. package/dist/pptx/table.d.ts +8 -0
  63. package/dist/pptx/table.d.ts.map +1 -1
  64. package/dist/pptx/table.js +268 -16
  65. package/dist/pptx/table.js.map +1 -1
  66. package/dist/pptx/xml.d.ts +14 -1
  67. package/dist/pptx/xml.d.ts.map +1 -1
  68. package/dist/pptx/xml.js +82 -3
  69. package/dist/pptx/xml.js.map +1 -1
  70. package/dist/render.d.ts +3 -3
  71. package/dist/render.d.ts.map +1 -1
  72. package/dist/render.js +9 -9
  73. package/dist/render.js.map +1 -1
  74. package/dist/version.d.ts +1 -1
  75. package/dist/version.js +1 -1
  76. package/package.json +3 -3
  77. package/schema/command.schema.json +346 -136
@@ -1,7 +1,7 @@
1
- import { err, ok } from '../core/index.js';
1
+ import { err, ok, parseLength, } from '../core/index.js';
2
2
  import { applyShapeProperties, shapePropertyKeys, } from './properties.js';
3
3
  import { readSlideSize } from './slide-size.js';
4
- import { estimateTableHeightEmu, estimateTableRowHeightEmu, measureTableLayout, } from './table-measure.js';
4
+ import { estimateTableHeightEmu, estimateTableRowHeightEmu, layoutTableFrame, measureTableLayout, tableHeightMayClipDiagnostic, } from './table-measure.js';
5
5
  import { NS, attr, children, descendants, first, setNodeText } from './xml.js';
6
6
  const DEFAULT_ROW_H = '370840';
7
7
  const DEFAULT_COL_W = '914400';
@@ -443,8 +443,217 @@ const TABLE_STRUCTURAL_KEYS = new Set([
443
443
  'deleteColumn',
444
444
  'text',
445
445
  'name',
446
+ 'columnWidths',
446
447
  ]);
447
- const TABLE_CELL_KEYS = new Set(['text', 'fill', 'paragraph.align']);
448
+ const TABLE_CELL_STROKE_ALIASES = ['stroke', 'border', 'outline', 'line'];
449
+ const TABLE_CELL_PADDING_KEYS = [
450
+ 'padding.left',
451
+ 'padding.right',
452
+ 'padding.top',
453
+ 'padding.bottom',
454
+ ];
455
+ const TABLE_CELL_PADDING_ATTR = {
456
+ 'padding.left': 'marL',
457
+ 'padding.right': 'marR',
458
+ 'padding.top': 'marT',
459
+ 'padding.bottom': 'marB',
460
+ };
461
+ const TABLE_CELL_FONT_KEYS = new Set([
462
+ 'fontSize',
463
+ 'fontFamily',
464
+ 'textColor',
465
+ 'bold',
466
+ 'italic',
467
+ 'font',
468
+ 'typeface',
469
+ 'size',
470
+ 'fontColor',
471
+ ]);
472
+ const TABLE_CELL_KEYS = new Set([
473
+ 'text',
474
+ 'fill',
475
+ 'paragraph.align',
476
+ 'merge',
477
+ ...TABLE_CELL_STROKE_ALIASES,
478
+ ...TABLE_CELL_PADDING_KEYS,
479
+ ...TABLE_CELL_FONT_KEYS,
480
+ ]);
481
+ const setTableCellPadding = (cell, properties) => {
482
+ const applied = [];
483
+ const present = TABLE_CELL_PADDING_KEYS.filter((key) => key in properties);
484
+ if (present.length === 0)
485
+ return applied;
486
+ const tcPr = ensureTcPr(cell);
487
+ for (const key of present) {
488
+ const value = properties[key];
489
+ if (typeof value !== 'number' || !(value >= 0) || !Number.isFinite(value))
490
+ throw new Error(`${key} must be a non-negative number (pt)`);
491
+ tcPr.setAttribute(TABLE_CELL_PADDING_ATTR[key], String(Math.round(value * EMU_PER_PT)));
492
+ applied.push(key);
493
+ }
494
+ return applied;
495
+ };
496
+ const applyTableColumnWidths = (graphicFrame, raw) => {
497
+ const tbl = tblOf(graphicFrame);
498
+ const doc = graphicFrame.ownerDocument;
499
+ if (!doc)
500
+ throw new Error('Element has no document');
501
+ let grid = first(tbl, 'tblGrid');
502
+ if (!grid) {
503
+ grid = doc.createElementNS(NS.a, 'a:tblGrid');
504
+ const firstRow = directChildren(tbl, 'tr')[0];
505
+ if (firstRow)
506
+ tbl.insertBefore(grid, firstRow);
507
+ else
508
+ tbl.appendChild(grid);
509
+ }
510
+ const existing = directChildren(grid, 'gridCol');
511
+ const cols = existing.length ||
512
+ Math.max(1, ...directChildren(tbl, 'tr').map((r) => directChildren(r, 'tc').length));
513
+ const widthEmu = tableWidthEmu(graphicFrame);
514
+ if (!Array.isArray(raw))
515
+ throw new Error('columnWidths must be an array');
516
+ const widths = [];
517
+ for (let i = 0; i < cols; i++) {
518
+ const entry = raw[i];
519
+ if (entry === undefined) {
520
+ widths.push(Math.floor(widthEmu / cols));
521
+ continue;
522
+ }
523
+ if (typeof entry === 'string' && entry.trim().endsWith('%')) {
524
+ const pct = Number(entry.trim().replace(/%$/, ''));
525
+ if (!Number.isFinite(pct))
526
+ throw new Error(`Invalid columnWidths[%]: ${entry}`);
527
+ widths.push(Math.round((pct / 100) * widthEmu));
528
+ }
529
+ else if (typeof entry === 'number' || typeof entry === 'string') {
530
+ widths.push(parseLength(entry, { axis: 'x' }));
531
+ }
532
+ else
533
+ throw new Error('columnWidths entries must be lengths or percentages');
534
+ }
535
+ const sum = widths.reduce((a, b) => a + b, 0);
536
+ if (sum <= 0)
537
+ throw new Error('columnWidths sum must be positive');
538
+ const scaled = sum === widthEmu ? widths : widths.map((w) => Math.max(1, Math.round((w / sum) * widthEmu)));
539
+ if (sum !== widthEmu) {
540
+ const scaledSum = scaled.reduce((a, b) => a + b, 0);
541
+ scaled[scaled.length - 1] += widthEmu - scaledSum;
542
+ }
543
+ for (let i = 0; i < cols; i++) {
544
+ let col = existing[i];
545
+ if (!col) {
546
+ col = doc.createElementNS(NS.a, 'a:gridCol');
547
+ grid.appendChild(col);
548
+ }
549
+ col.setAttribute('w', String(scaled[i]));
550
+ }
551
+ // Drop extra columns if widths array shrank (rare).
552
+ for (const extra of existing.slice(cols))
553
+ grid.removeChild(extra);
554
+ };
555
+ const applyCellMerge = (cell, merge) => {
556
+ if (typeof merge !== 'object' || merge === null)
557
+ throw new Error('merge must be an object');
558
+ const rec = merge;
559
+ if (typeof rec['gridSpan'] === 'number' &&
560
+ Number.isInteger(rec['gridSpan']) &&
561
+ rec['gridSpan'] > 1)
562
+ cell.setAttribute('gridSpan', String(rec['gridSpan']));
563
+ else if (rec['gridSpan'] === null || rec['gridSpan'] === 1)
564
+ cell.removeAttribute('gridSpan');
565
+ if (typeof rec['rowSpan'] === 'number' && Number.isInteger(rec['rowSpan']) && rec['rowSpan'] > 1)
566
+ cell.setAttribute('rowSpan', String(rec['rowSpan']));
567
+ else if (rec['rowSpan'] === null || rec['rowSpan'] === 1)
568
+ cell.removeAttribute('rowSpan');
569
+ if (rec['hMerge'] === true)
570
+ cell.setAttribute('hMerge', '1');
571
+ else if (rec['hMerge'] === false || rec['hMerge'] === null)
572
+ cell.removeAttribute('hMerge');
573
+ if (rec['vMerge'] === true)
574
+ cell.setAttribute('vMerge', '1');
575
+ else if (rec['vMerge'] === false || rec['vMerge'] === null)
576
+ cell.removeAttribute('vMerge');
577
+ };
578
+ const findGraphicFrame = (node) => {
579
+ let current = node;
580
+ while (current) {
581
+ if (current.localName === 'graphicFrame')
582
+ return current;
583
+ current = current.parentNode;
584
+ }
585
+ return undefined;
586
+ };
587
+ const readCellFontPt = (tc) => {
588
+ const rPr = first(tc, 'rPr');
589
+ const sz = attr(rPr, 'sz');
590
+ if (sz === undefined)
591
+ return undefined;
592
+ const n = Number(sz) / 100;
593
+ return Number.isFinite(n) ? n : undefined;
594
+ };
595
+ const readCellBold = (tc) => {
596
+ const rPr = first(tc, 'rPr');
597
+ const b = attr(rPr, 'b');
598
+ return b === '1' || b === 'true';
599
+ };
600
+ /** Remeasure table row heights after cell content/style changes. */
601
+ export function remeasureTableAfterCellChange(graphicFrame) {
602
+ const tbl = first(graphicFrame, 'tbl');
603
+ if (!tbl)
604
+ return { diagnostics: [], grew: false };
605
+ const rows = directChildren(tbl, 'tr');
606
+ if (rows.length === 0)
607
+ return { diagnostics: [], grew: false };
608
+ const widthEmu = tableWidthEmu(graphicFrame);
609
+ const gridCols = descendants(graphicFrame, 'gridCol');
610
+ const colWidthsEmu = gridCols.length > 0
611
+ ? gridCols.map((col) => Number(attr(col, 'w') ?? Math.floor(widthEmu / gridCols.length)))
612
+ : undefined;
613
+ const textRows = rows.map((tr) => directChildren(tr, 'tc').map((tc) => cellPlainText(tc)));
614
+ const cellStyles = rows.map((tr) => directChildren(tr, 'tc').map((tc) => {
615
+ const fontPt = readCellFontPt(tc);
616
+ const bold = readCellBold(tc);
617
+ return {
618
+ ...(fontPt !== undefined ? { fontPt } : {}),
619
+ ...(bold ? { bold: true } : {}),
620
+ };
621
+ }));
622
+ const measured = measureTableLayout({
623
+ rows: textRows,
624
+ widthEmu,
625
+ fontPt: 11,
626
+ ...(colWidthsEmu ? { colWidthsEmu } : {}),
627
+ cellStyles,
628
+ });
629
+ const xfrm = first(graphicFrame, 'xfrm');
630
+ const ext = xfrm ? first(xfrm, 'ext') : undefined;
631
+ const currentCy = Number(attr(ext, 'cy') ?? 0);
632
+ // Auto-like: frame was previously sized to content (±20% of measured).
633
+ // A much shorter fixed frame must NOT be grown — emit TABLE_HEIGHT_MAY_CLIP instead.
634
+ const ratio = currentCy / Math.max(measured.totalHeightEmu, 1);
635
+ const wasContentSized = currentCy > 0 && ratio >= 0.8 && ratio <= 1.25;
636
+ const diagnostics = [];
637
+ let grew = false;
638
+ if (wasContentSized || currentCy <= 0) {
639
+ for (let i = 0; i < rows.length; i++) {
640
+ const h = measured.rowHeightsEmu[i] ?? estimateTableRowHeightEmu(11);
641
+ rows[i].setAttribute('h', String(h));
642
+ }
643
+ if (ext) {
644
+ if (measured.totalHeightEmu > currentCy)
645
+ grew = true;
646
+ ext.setAttribute('cy', String(measured.totalHeightEmu));
647
+ }
648
+ }
649
+ else if (measured.totalHeightEmu > currentCy * 1.1) {
650
+ diagnostics.push(tableHeightMayClipDiagnostic({
651
+ estimatedEmu: measured.totalHeightEmu,
652
+ givenEmu: currentCy,
653
+ }));
654
+ }
655
+ return { diagnostics, grew };
656
+ }
448
657
  export function applyTableProperties(node, properties, context) {
449
658
  const structural = {};
450
659
  const visual = {};
@@ -496,6 +705,10 @@ export function applyTableProperties(node, properties, context) {
496
705
  }
497
706
  else if (structural['name'] !== undefined)
498
707
  throw new Error('name must be a string');
708
+ if ('columnWidths' in structural) {
709
+ applyTableColumnWidths(node, structural['columnWidths']);
710
+ applied.push('columnWidths');
711
+ }
499
712
  // Table fill/line map onto cells — graphicFrame has no spPr.
500
713
  if ('fill' in visual) {
501
714
  const cells = tableCells(node);
@@ -538,6 +751,7 @@ export function applyTableCellProperties(node, properties) {
538
751
  if (unexpected.length)
539
752
  return err('INVALID_COMMAND', `Unsupported tableCell setProperties keys: ${unexpected.join(', ')}`);
540
753
  const applied = [];
754
+ const diagnostics = [];
541
755
  try {
542
756
  if (typeof properties['text'] === 'string') {
543
757
  setNodeText(node, properties['text']);
@@ -549,19 +763,44 @@ export function applyTableCellProperties(node, properties) {
549
763
  setTableCellFill(node, properties['fill']);
550
764
  applied.push('fill');
551
765
  }
552
- if ('paragraph.align' in properties) {
553
- const styled = applyShapeProperties(node, {
554
- 'paragraph.align': properties['paragraph.align'],
555
- });
766
+ const strokeKeys = TABLE_CELL_STROKE_ALIASES.filter((key) => key in properties);
767
+ if (strokeKeys.length > 1)
768
+ throw new Error(`Use only one stroke alias; found: ${strokeKeys.join(', ')}`);
769
+ if (strokeKeys[0]) {
770
+ setTableCellBorders(node, properties[strokeKeys[0]]);
771
+ applied.push(strokeKeys[0]);
772
+ }
773
+ applied.push(...setTableCellPadding(node, properties));
774
+ if ('merge' in properties) {
775
+ applyCellMerge(node, properties['merge']);
776
+ applied.push('merge');
777
+ }
778
+ const styleProps = {};
779
+ if ('paragraph.align' in properties)
780
+ styleProps['paragraph.align'] = properties['paragraph.align'];
781
+ for (const key of TABLE_CELL_FONT_KEYS) {
782
+ if (key in properties)
783
+ styleProps[key] = properties[key];
784
+ }
785
+ if (Object.keys(styleProps).length > 0) {
786
+ const styled = applyShapeProperties(node, styleProps);
556
787
  if (!styled.ok)
557
788
  return styled;
558
789
  applied.push(...styled.value.applied);
559
790
  }
791
+ const fontChanged = [...TABLE_CELL_FONT_KEYS].some((k) => k in properties) || 'text' in properties;
792
+ if (fontChanged) {
793
+ const frame = findGraphicFrame(node);
794
+ if (frame) {
795
+ const result = remeasureTableAfterCellChange(frame);
796
+ diagnostics.push(...result.diagnostics);
797
+ }
798
+ }
560
799
  }
561
800
  catch (cause) {
562
801
  return err('INVALID_COMMAND', cause instanceof Error ? cause.message : 'Invalid tableCell properties');
563
802
  }
564
- return ok({ applied });
803
+ return ok({ applied, diagnostics });
565
804
  }
566
805
  const cellPlainText = (tc) => descendants(tc, 't')
567
806
  .map((t) => t.textContent ?? '')
@@ -598,19 +837,20 @@ export function applyTableLayout(graphicFrame, options) {
598
837
  const applied = [];
599
838
  let totalHeightEmu;
600
839
  let estimatedEmu;
840
+ let layout;
601
841
  if (redistribute === 'content' || options.height === 'auto') {
602
- const layout = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
603
- estimatedEmu = layout.totalHeightEmu;
842
+ const measured = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
843
+ layout = layoutTableFrame({
844
+ contentRowHeightsEmu: measured.rowHeightsEmu,
845
+ contentEmu: measured.totalHeightEmu,
846
+ ...(typeof options.height === 'number' ? { frameEmu: options.height } : {}),
847
+ });
848
+ estimatedEmu = layout.contentEmu;
849
+ totalHeightEmu = layout.frameEmu;
604
850
  for (let i = 0; i < rows.length; i++) {
605
851
  const h = layout.rowHeightsEmu[i] ?? estimateTableRowHeightEmu(11);
606
852
  rows[i].setAttribute('h', String(h));
607
853
  }
608
- if (typeof options.height === 'number') {
609
- totalHeightEmu = options.height;
610
- }
611
- else {
612
- totalHeightEmu = layout.totalHeightEmu;
613
- }
614
854
  applied.push('redistribute:content');
615
855
  }
616
856
  else {
@@ -618,13 +858,24 @@ export function applyTableLayout(graphicFrame, options) {
618
858
  typeof options.height === 'number'
619
859
  ? options.height
620
860
  : Number(attr(ext, 'cy') ?? estimateTableHeightEmu(rows.length));
861
+ const measured = measureTableLayout({ rows: textRows, widthEmu, fontPt: 11 });
621
862
  const rowH = Math.max(1, Math.floor(totalHeightEmu / rows.length));
863
+ const rowHeightsEmu = [];
622
864
  let assigned = 0;
623
865
  for (let i = 0; i < rows.length; i++) {
624
866
  const h = i === rows.length - 1 ? Math.max(1, totalHeightEmu - assigned) : rowH;
625
867
  rows[i].setAttribute('h', String(h));
868
+ rowHeightsEmu.push(h);
626
869
  assigned += h;
627
870
  }
871
+ layout = {
872
+ mode: 'fixed',
873
+ status: totalHeightEmu < measured.totalHeightEmu ? 'overflow' : 'complete',
874
+ frameEmu: Math.round(totalHeightEmu),
875
+ contentEmu: measured.totalHeightEmu,
876
+ rowHeightsEmu,
877
+ };
878
+ estimatedEmu = measured.totalHeightEmu;
628
879
  applied.push('redistribute:equal');
629
880
  }
630
881
  ext.setAttribute('cy', String(Math.round(totalHeightEmu)));
@@ -633,6 +884,7 @@ export function applyTableLayout(graphicFrame, options) {
633
884
  applied,
634
885
  totalHeightEmu,
635
886
  ...(estimatedEmu !== undefined ? { estimatedEmu } : {}),
887
+ layout,
636
888
  });
637
889
  }
638
890
  //# 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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"}
@@ -43,6 +43,7 @@ export interface TextRunStyle {
43
43
  readonly bold?: boolean;
44
44
  readonly italic?: boolean;
45
45
  readonly underline?: boolean;
46
+ readonly baseline?: 'super' | 'sub';
46
47
  }
47
48
  export interface TextBlockStyle {
48
49
  readonly text?: string;
@@ -54,8 +55,13 @@ export interface TextBlockStyle {
54
55
  readonly italic?: boolean;
55
56
  readonly underline?: boolean;
56
57
  readonly align?: string;
58
+ readonly lineSpacing?: number;
59
+ readonly spaceBefore?: number | string;
60
+ readonly spaceAfter?: number | string;
57
61
  }
58
62
  export declare const normalizeAlign: (align: string | undefined) => string | undefined;
63
+ /** Parse spacing to hundredths of a point (OOXML spcPts). Bare number = pt. */
64
+ export declare const spacingToSpcPts: (value: number | string) => number;
59
65
  /**
60
66
  * Expand blocks so no `a:t` contains raw newlines: `\n` becomes additional paragraphs
61
67
  * (same semantics as `setNodeText`).
@@ -64,10 +70,17 @@ export declare const normalizeTextBlocksNewlines: (blocks: readonly TextBlockSty
64
70
  /** Write styled paragraph blocks (one `a:p` per block) into a shape/notes txBody. */
65
71
  export declare const setNodeTextBlocks: (node: Node, blocks: readonly TextBlockStyle[]) => void;
66
72
  export declare const normalizeTextAnchor: (value: string) => string;
67
- /** Set a:bodyPr vertical anchor and/or wrap. */
73
+ /** Set a:bodyPr vertical anchor, wrap, insets, and/or autofit. */
68
74
  export declare const setBodyPrOptions: (shape: Element, options: {
69
75
  anchor?: string;
70
76
  wrap?: string;
77
+ insets?: {
78
+ left?: number;
79
+ right?: number;
80
+ top?: number;
81
+ bottom?: number;
82
+ };
83
+ autofit?: "none" | "shrink" | "resize";
71
84
  }) => void;
72
85
  export declare const cNvPr: (node: Element) => Element | undefined;
73
86
  export declare const nextShapeId: (doc: Document) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/pptx/xml.ts"],"names":[],"mappings":"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"}
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;AAKd;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,IAAI,KAAG,OAAO,GAAG,SAc1D,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,aAAa,GAAI,WAAW,IAAI,KAAG,MAG/C,CAAC;AA8BF,+HAA+H;AAC/H,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,KAAG,IA8EtD,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;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACrC;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;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAanE,CAAC;AAgCF,+EAA+E;AAC/E,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,MAAM,KAAG,MAWxD,CAAC;AAuCF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,SAAS,cAAc,EAAE,KAChC,cAAc,EA8ChB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,QAAQ,SAAS,cAAc,EAAE,KAAG,IA4CjF,CAAC;AAqBF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAanD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,SAAS;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACxC,KACA,IAmCF,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"}