ooxml-core 1.11.0 → 1.12.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 (58) hide show
  1. package/dist/automation/index.cjs +210 -20
  2. package/dist/automation/index.mjs +210 -20
  3. package/dist/docx/embedded.cjs +1 -1
  4. package/dist/docx/embedded.mjs +1 -1
  5. package/dist/docx/index.cjs +1 -1
  6. package/dist/docx/index.mjs +1 -1
  7. package/dist/docx/layout/adapt-table.d.ts.map +1 -1
  8. package/dist/docx/layout/flow-table.d.ts.map +1 -1
  9. package/dist/docx/layout/index.cjs +145 -9
  10. package/dist/docx/layout/index.d.ts +1 -0
  11. package/dist/docx/layout/index.d.ts.map +1 -1
  12. package/dist/docx/layout/index.mjs +145 -10
  13. package/dist/docx/layout/input.d.ts +5 -0
  14. package/dist/docx/layout/input.d.ts.map +1 -1
  15. package/dist/docx/layout/layout-session.d.ts +10 -0
  16. package/dist/docx/layout/layout-session.d.ts.map +1 -0
  17. package/dist/docx/layout/nested-fragment-edges.d.ts.map +1 -1
  18. package/dist/docx/layout/paragraph-cache.d.ts +8 -0
  19. package/dist/docx/layout/paragraph-cache.d.ts.map +1 -0
  20. package/dist/docx/layout/paragraph-layout.d.ts.map +1 -1
  21. package/dist/docx/layout/paragraph-tokens.d.ts +1 -1
  22. package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -1
  23. package/dist/docx/layout/table-paragraph-keeps.d.ts +14 -0
  24. package/dist/docx/layout/table-paragraph-keeps.d.ts.map +1 -0
  25. package/dist/docx/load/index.cjs +1 -1
  26. package/dist/docx/load/index.mjs +1 -1
  27. package/dist/docx/ui/index.cjs +83 -6
  28. package/dist/docx/ui/index.mjs +83 -7
  29. package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
  30. package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
  31. package/dist/docx/ui/word-count.d.ts +3 -0
  32. package/dist/docx/ui/word-count.d.ts.map +1 -1
  33. package/dist/geometry/element-transform.d.ts +90 -0
  34. package/dist/geometry/element-transform.d.ts.map +1 -0
  35. package/dist/geometry/index.cjs +90 -0
  36. package/dist/geometry/index.d.ts +1 -0
  37. package/dist/geometry/index.d.ts.map +1 -1
  38. package/dist/geometry/index.mjs +83 -1
  39. package/dist/index.cjs +90 -0
  40. package/dist/index.mjs +90 -0
  41. package/dist/visio/index.cjs +314 -39
  42. package/dist/visio/index.d.ts +1 -0
  43. package/dist/visio/index.d.ts.map +1 -1
  44. package/dist/visio/index.mjs +313 -40
  45. package/dist/visio/model.d.ts +12 -0
  46. package/dist/visio/model.d.ts.map +1 -1
  47. package/dist/visio/paper-sizes.d.ts +5 -0
  48. package/dist/visio/paper-sizes.d.ts.map +1 -1
  49. package/dist/visio/parser.d.ts.map +1 -1
  50. package/dist/visio/print-count.d.ts +20 -0
  51. package/dist/visio/print-count.d.ts.map +1 -0
  52. package/dist/visio/print-settings.d.ts +14 -0
  53. package/dist/visio/print-settings.d.ts.map +1 -0
  54. package/dist/visio/ui/index.cjs +194 -4
  55. package/dist/visio/ui/index.mjs +194 -4
  56. package/dist/xlsx/ui/ribbon/parts.d.ts +1 -0
  57. package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -1
  58. package/package.json +1 -1
@@ -11698,6 +11698,177 @@ function readVisioPageSetup(cells4) {
11698
11698
  return Object.keys(result).length ? result : void 0;
11699
11699
  }
11700
11700
 
11701
+ // visio/print-settings.ts
11702
+ var NAMES = [
11703
+ "PaperKind",
11704
+ "PrintPageOrientation",
11705
+ "PageLeftMargin",
11706
+ "PageRightMargin",
11707
+ "PageTopMargin",
11708
+ "PageBottomMargin",
11709
+ "ScaleX",
11710
+ "ScaleY",
11711
+ "OnPage",
11712
+ "PagesX",
11713
+ "PagesY",
11714
+ "CenterX",
11715
+ "CenterY"
11716
+ ];
11717
+ var BOOLEAN = /* @__PURE__ */ new Set(["OnPage", "CenterX", "CenterY"]);
11718
+ var LENGTH = /* @__PURE__ */ new Set(["PageLeftMargin", "PageRightMargin", "PageTopMargin", "PageBottomMargin"]);
11719
+ var CANONICAL = new Map(
11720
+ [...NAMES, "PageWidth", "PageHeight", "PageScale", "DrawingScale"].map((name3) => [
11721
+ name3.toLowerCase(),
11722
+ name3
11723
+ ])
11724
+ );
11725
+ function indexCells2(sheet) {
11726
+ const cells4 = /* @__PURE__ */ new Map();
11727
+ let duplicate = false;
11728
+ for (const node2 of children2(sheet, "Cell")) {
11729
+ const name3 = attribute2(node2, "N") ?? "", canonical2 = CANONICAL.get(name3.toLowerCase());
11730
+ if (!canonical2) continue;
11731
+ if (canonical2 !== name3) duplicate = true;
11732
+ const values = cells4.get(canonical2) ?? [];
11733
+ if (values.length < 2) values.push(node2);
11734
+ cells4.set(canonical2, values);
11735
+ if (values.length > 1) duplicate = true;
11736
+ }
11737
+ return { cells: cells4, duplicate };
11738
+ }
11739
+ function createVisioPrintSettingsReader(documentSheets, rootStyles) {
11740
+ const indexes = { document: indexCells2(documentSheets[0]), root: indexCells2(rootStyles[0]) };
11741
+ return (pageSheets) => readVisioPrintCountSettings(pageSheets, documentSheets, rootStyles, indexes);
11742
+ }
11743
+ function readVisioPrintCountSettings(pageSheets, documentSheets, rootStyles, indexes) {
11744
+ let refusal;
11745
+ const refuse3 = (reason) => {
11746
+ refusal ??= reason;
11747
+ };
11748
+ if (pageSheets.length !== 1) refuse3("ambiguous-page-sheet");
11749
+ if (documentSheets.length > 1) refuse3("ambiguous-document-sheet");
11750
+ if (!documentSheets.length) refuse3("missing-setting");
11751
+ if (rootStyles.length > 1) refuse3("duplicate-setting");
11752
+ const root2 = rootStyles[0];
11753
+ if (!root2 || attribute2(root2, "ID") !== "0" || attribute2(root2, "NameU") !== "No Style")
11754
+ refuse3("unsupported-print-style");
11755
+ for (const sheet of [...pageSheets, ...documentSheets])
11756
+ for (const name3 of ["LineStyle", "FillStyle", "TextStyle"])
11757
+ if (attribute2(sheet, name3) !== "0") refuse3("unsupported-print-style");
11758
+ for (const name3 of ["LineStyle", "FillStyle", "TextStyle"])
11759
+ if (attribute2(root2, name3) !== void 0) refuse3("unsupported-print-style");
11760
+ const localIndex = indexCells2(pageSheets[0]), rootIndex = indexes?.root ?? indexCells2(root2);
11761
+ const documentIndex = indexes?.document ?? indexCells2(documentSheets[0]);
11762
+ if (localIndex.duplicate || rootIndex.duplicate || documentIndex.duplicate)
11763
+ refuse3("duplicate-setting");
11764
+ const local = localIndex.cells, inherited = rootIndex.cells;
11765
+ const read = (node2, name3, origin) => {
11766
+ const invalid4 = () => {
11767
+ refuse3(origin === "local" ? "invalid-local-setting" : "invalid-document-setting");
11768
+ return void 0;
11769
+ };
11770
+ if (node2.hasAttribute("E")) return invalid4();
11771
+ let raw = (attribute2(node2, "V") ?? "").trim();
11772
+ if (!raw || raw.length > 128) return invalid4();
11773
+ if (BOOLEAN.has(name3)) {
11774
+ if (!["0", "1", "false", "true"].includes(raw)) return invalid4();
11775
+ raw = raw === "true" ? "1" : raw === "false" ? "0" : raw;
11776
+ }
11777
+ try {
11778
+ const value = visioFormulaCachedValue(raw, attribute2(node2, "U"));
11779
+ const length = LENGTH.has(name3) || /^(PageWidth|PageHeight|PageScale|DrawingScale)$/.test(name3);
11780
+ if (!["scalar", ...length ? ["length"] : []].includes(value.unit) || Math.abs(value.value) > 1e9)
11781
+ return invalid4();
11782
+ const formula = attribute2(node2, "F");
11783
+ if (formula !== void 0) {
11784
+ const source = formula.trim();
11785
+ if (/^(true|false)$/i.test(source)) {
11786
+ if ((source.toLowerCase() === "true" ? 1 : 0) !== value.value) return invalid4();
11787
+ } else {
11788
+ if (!source || source === "Inh") return invalid4();
11789
+ const limits = { maxLength: 512, maxNodes: 64, maxDepth: 16, maxSteps: 128 };
11790
+ const analysis = analyzeVisioFormula(source, limits);
11791
+ if (analysis.dynamic || analysis.guarded || analysis.references.length || analysis.unsupportedFunctions.length) {
11792
+ refuse3("dynamic-setting");
11793
+ return void 0;
11794
+ }
11795
+ const evaluated = evaluateVisioFormula(
11796
+ source,
11797
+ () => {
11798
+ throw new Error("Unexpected reference");
11799
+ },
11800
+ limits
11801
+ );
11802
+ if (evaluated.value !== value.value || !["scalar", ...length ? ["length"] : []].includes(evaluated.unit))
11803
+ return invalid4();
11804
+ }
11805
+ }
11806
+ return value.value;
11807
+ } catch {
11808
+ return invalid4();
11809
+ }
11810
+ };
11811
+ const values = /* @__PURE__ */ new Map();
11812
+ for (const name3 of NAMES) {
11813
+ const nodes = local.get(name3) ?? inherited.get(name3);
11814
+ if (!nodes?.length) continue;
11815
+ if (nodes.length !== 1) continue;
11816
+ const value = read(nodes[0], name3, local.has(name3) ? "local" : "document");
11817
+ if (value !== void 0) values.set(name3, value);
11818
+ }
11819
+ for (const name3 of ["PageWidth", "PageHeight", "PageScale", "DrawingScale"]) {
11820
+ const nodes = local.get(name3);
11821
+ if (!nodes || nodes.length !== 1 || !(read(nodes[0], name3, "local") > 0))
11822
+ refuse3("unusable-drawing-scale");
11823
+ }
11824
+ const setup = {};
11825
+ const paper = values.get("PaperKind");
11826
+ if (paper !== void 0 && Number.isSafeInteger(paper) && paper >= 0 && paper <= 65535)
11827
+ setup.paperKind = paper;
11828
+ else if (paper !== void 0)
11829
+ refuse3(local.has("PaperKind") ? "invalid-local-setting" : "invalid-document-setting");
11830
+ const orientation = values.get("PrintPageOrientation");
11831
+ if (orientation === 0 || orientation === 1 || orientation === 2)
11832
+ setup.printPageOrientation = orientation;
11833
+ else if (orientation !== void 0)
11834
+ refuse3(
11835
+ local.has("PrintPageOrientation") ? "invalid-local-setting" : "invalid-document-setting"
11836
+ );
11837
+ const margins = ["Left", "Right", "Top", "Bottom"].map((side2) => values.get(`Page${side2}Margin`));
11838
+ if (margins.every((n) => n !== void 0 && n >= 0 && n <= 1e3))
11839
+ setup.margins = {
11840
+ left: margins[0],
11841
+ right: margins[1],
11842
+ top: margins[2],
11843
+ bottom: margins[3]
11844
+ };
11845
+ else if (margins.some((n) => n !== void 0 && (n < 0 || n > 1e3)))
11846
+ refuse3("unusable-print-area");
11847
+ for (const [name3, key2] of [
11848
+ ["ScaleX", "printZoom"],
11849
+ ["ScaleY", "printZoomY"],
11850
+ ["PagesX", "printPagesAcross"],
11851
+ ["PagesY", "printPagesDown"]
11852
+ ]) {
11853
+ const value = values.get(name3);
11854
+ if (value !== void 0) {
11855
+ if ((name3 === "PagesX" || name3 === "PagesY") && (!Number.isSafeInteger(value) || value < 1))
11856
+ refuse3(local.has(name3) ? "invalid-local-setting" : "invalid-document-setting");
11857
+ else setup[key2] = value;
11858
+ }
11859
+ }
11860
+ for (const [name3, key2] of [
11861
+ ["OnPage", "printFitToPages"],
11862
+ ["CenterX", "printCenterX"],
11863
+ ["CenterY", "printCenterY"]
11864
+ ]) {
11865
+ const value = values.get(name3);
11866
+ if (value !== void 0) setup[key2] = value === 1;
11867
+ }
11868
+ if (refusal) setup.printCountRefusal = refusal;
11869
+ return setup;
11870
+ }
11871
+
11701
11872
  // visio/page-layout.ts
11702
11873
  var VISIO_GRID_DENSITIES = Object.freeze([0, 2, 4, 8]);
11703
11874
  var VISIO_RULER_DENSITIES = Object.freeze([8, 16, 32]);
@@ -11721,7 +11892,7 @@ var VISIO_PAGE_LAYOUT_DEFAULTS = Object.freeze({
11721
11892
  rulerOriginX: 0,
11722
11893
  rulerOriginY: 0
11723
11894
  });
11724
- var NAMES = {
11895
+ var NAMES2 = {
11725
11896
  lineJumpCode: "LineJumpCode",
11726
11897
  lineJumpStyle: "LineJumpStyle",
11727
11898
  lineJumpDirectionX: "PageLineJumpDirX",
@@ -11744,8 +11915,8 @@ var NAMES = {
11744
11915
  var NUMBER4 = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i;
11745
11916
  function readVisioPageLayout(cells4) {
11746
11917
  const result = {};
11747
- for (const key2 of Object.keys(NAMES)) {
11748
- const cell = cells4.get(NAMES[key2]);
11918
+ for (const key2 of Object.keys(NAMES2)) {
11919
+ const cell = cells4.get(NAMES2[key2]);
11749
11920
  const raw = cell?.value?.trim();
11750
11921
  if (!cell || cell.error !== void 0 || cell.formula === "Inh" || !raw || raw.length > 64)
11751
11922
  continue;
@@ -12421,6 +12592,11 @@ async function parseVsdx(input, options = {}) {
12421
12592
  });
12422
12593
  const rootStyle = styles.get("0");
12423
12594
  if (rootStyle?.attributes.get("NameU") === "No Style") resources.rootSheet = rootStyle.sheet;
12595
+ const printStyleGroups = children2(documentRoot, "StyleSheets");
12596
+ const readPrintSettings = createVisioPrintSettingsReader(
12597
+ children2(documentRoot, "DocumentSheet"),
12598
+ printStyleGroups.length === 1 ? children2(printStyleGroups[0], "StyleSheet").filter((node2) => attribute2(node2, "ID") === "0") : []
12599
+ );
12424
12600
  const masters = /* @__PURE__ */ new Map();
12425
12601
  const masterRecords = [];
12426
12602
  const mastersPart = await related(pkg, documentPart2, "masters", false);
@@ -12584,7 +12760,17 @@ async function parseVsdx(input, options = {}) {
12584
12760
  const value = number(sheet.cells, name3, Number.NaN, localReport);
12585
12761
  if (Number.isSafeInteger(value) && value >= 0 && value <= 255) pageModes[key2] = value;
12586
12762
  }
12587
- const pageSetup = readVisioPageSetup(sheet.cells);
12763
+ const { paperKind, printPageOrientation, margins, printZoom, ...countMetadata } = readPrintSettings(children2(page, "PageSheet"));
12764
+ const pageSetup = {
12765
+ ...readVisioPageSetup(sheet.cells),
12766
+ ...countMetadata,
12767
+ printCountSettings: {
12768
+ ...paperKind === void 0 ? {} : { paperKind },
12769
+ ...printPageOrientation === void 0 ? {} : { printPageOrientation },
12770
+ ...margins === void 0 ? {} : { margins },
12771
+ ...printZoom === void 0 ? {} : { printZoom }
12772
+ }
12773
+ };
12588
12774
  const layout = readVisioPageLayout(sheet.cells);
12589
12775
  for (const connection of connectors)
12590
12776
  if (!seen.has(connection.fromShapeId) || !seen.has(connection.toShapeId))
@@ -12660,6 +12846,128 @@ function getVisioPageLayers(document, pageId2) {
12660
12846
  return result.reverse();
12661
12847
  }
12662
12848
 
12849
+ // visio/paper-sizes.ts
12850
+ var mm = (value) => value / 25.4;
12851
+ var size = (id3, label, width, height, paperKind) => Object.freeze({ id: id3, label, width, height, ...paperKind === void 0 ? {} : { paperKind } });
12852
+ var VISIO_PAPER_SIZES = Object.freeze([
12853
+ size("letter", "Letter", 8.5, 11, 1),
12854
+ size("tabloid", "Tabloid", 11, 17, 3),
12855
+ size("legal", "Legal", 8.5, 14, 5),
12856
+ size("statement", "Statement", 5.5, 8.5, 6),
12857
+ size("executive", "Executive", 7.25, 10.5, 7),
12858
+ size("a3", "A3", mm(297), mm(420), 8),
12859
+ size("a4", "A4", mm(210), mm(297), 9),
12860
+ size("a5", "A5", mm(148), mm(210), 11),
12861
+ size("b4", "B4 (JIS)", mm(257), mm(364), 12),
12862
+ size("b5", "B5 (JIS)", mm(182), mm(257), 13),
12863
+ size("ansi-c", "ANSI C", 17, 22, 24),
12864
+ size("ansi-d", "ANSI D", 22, 34, 25),
12865
+ size("ansi-e", "ANSI E", 34, 44, 26),
12866
+ size("arch-c", "ARCH C", 18, 24),
12867
+ size("arch-d", "ARCH D", 24, 36)
12868
+ ]);
12869
+ function visioPaperSize(paperKind) {
12870
+ return VISIO_PAPER_SIZES.find((item) => item.paperKind === paperKind);
12871
+ }
12872
+ function visioOrientedPaperSize(paper, landscape) {
12873
+ const short = Math.min(paper.width, paper.height), long = Math.max(paper.width, paper.height);
12874
+ return { width: landscape ? long : short, height: landscape ? short : long };
12875
+ }
12876
+ function visioPrintTile(page, paper = page.pageSetup?.paperKind === void 0 ? void 0 : visioPaperSize(page.pageSetup.paperKind)) {
12877
+ if (!paper) return void 0;
12878
+ const setup = page.pageSetup;
12879
+ const landscape = setup?.printPageOrientation === 2 || setup?.printPageOrientation !== 1 && page.width > page.height;
12880
+ const oriented = visioOrientedPaperSize(paper, landscape);
12881
+ const margins = setup?.margins ?? { left: 0, right: 0, top: 0, bottom: 0 };
12882
+ const zoom = setup?.printZoom ?? 1;
12883
+ const width = (oriented.width - margins.left - margins.right) / zoom;
12884
+ const height = (oriented.height - margins.top - margins.bottom) / zoom;
12885
+ return width > 0.01 && height > 0.01 ? { width, height } : void 0;
12886
+ }
12887
+
12888
+ // visio/print-count.ts
12889
+ var VISIO_PRINT_COUNT_LIMITS = Object.freeze({ maxAxis: 200, maxTotal: 4096 });
12890
+ var REFUSALS = /* @__PURE__ */ new Set([
12891
+ "missing-setting",
12892
+ "invalid-local-setting",
12893
+ "invalid-document-setting",
12894
+ "ambiguous-document-sheet",
12895
+ "ambiguous-page-sheet",
12896
+ "duplicate-setting",
12897
+ "dynamic-setting",
12898
+ "fit-mode",
12899
+ "unequal-scale",
12900
+ "unknown-paper",
12901
+ "printer-orientation",
12902
+ "centering-unmeasured",
12903
+ "unusable-drawing-scale",
12904
+ "unusable-print-area",
12905
+ "count-budget",
12906
+ "boundary-precision",
12907
+ "unsupported-print-style"
12908
+ ]);
12909
+ function visioPrintTileCount(page) {
12910
+ const unsupported2 = (reason) => ({
12911
+ kind: "unsupported",
12912
+ reason
12913
+ });
12914
+ const setup = page.pageSetup && { ...page.pageSetup, ...page.pageSetup.printCountSettings };
12915
+ if (setup?.printCountRefusal !== void 0)
12916
+ return unsupported2(
12917
+ REFUSALS.has(setup.printCountRefusal) ? setup.printCountRefusal : "invalid-local-setting"
12918
+ );
12919
+ if (!setup || [
12920
+ setup.paperKind,
12921
+ setup.printPageOrientation,
12922
+ setup.printZoom,
12923
+ setup.printZoomY,
12924
+ setup.printFitToPages,
12925
+ setup.printCenterX,
12926
+ setup.printCenterY
12927
+ ].some((value) => value === void 0) || !setup.margins)
12928
+ return unsupported2("missing-setting");
12929
+ if (typeof setup.printFitToPages !== "boolean" || typeof setup.printCenterX !== "boolean" || typeof setup.printCenterY !== "boolean")
12930
+ return unsupported2("invalid-local-setting");
12931
+ if (setup.printFitToPages) return unsupported2("fit-mode");
12932
+ if ([setup.printPagesAcross, setup.printPagesDown].some(
12933
+ (value) => value !== void 0 && (!Number.isSafeInteger(value) || value < 1)
12934
+ ))
12935
+ return unsupported2("invalid-local-setting");
12936
+ if (setup.printCenterX || setup.printCenterY) return unsupported2("centering-unmeasured");
12937
+ const zoom = setup.printZoom;
12938
+ if (!Number.isFinite(zoom) || zoom <= 0 || zoom > 100 || !Number.isFinite(setup.printZoomY) || zoom !== setup.printZoomY)
12939
+ return unsupported2("unequal-scale");
12940
+ if (setup.printPageOrientation !== 1 && setup.printPageOrientation !== 2)
12941
+ return unsupported2("printer-orientation");
12942
+ if (setup.paperKind !== 1 && setup.paperKind !== 9) return unsupported2("unknown-paper");
12943
+ const paper = visioPaperSize(setup.paperKind);
12944
+ const oriented = visioOrientedPaperSize(paper, setup.printPageOrientation === 2);
12945
+ if (![page.width, page.height].every((n) => Number.isFinite(n) && n > 0))
12946
+ return unsupported2("unusable-drawing-scale");
12947
+ if (![setup.margins.left, setup.margins.right, setup.margins.top, setup.margins.bottom].every(
12948
+ (n) => Number.isFinite(n) && n >= 0
12949
+ ))
12950
+ return unsupported2("unusable-print-area");
12951
+ const tile = visioPrintTile({ ...page, pageSetup: setup }, paper);
12952
+ if (!tile) return unsupported2("unusable-print-area");
12953
+ const axis = (extent2, full, usable) => {
12954
+ const scaled = extent2 * zoom, ratio = (scaled - full) / usable;
12955
+ if (!Number.isFinite(ratio)) return "count-budget";
12956
+ const gap = Math.abs(ratio - Math.round(ratio));
12957
+ const uncertainty = 8 * Number.EPSILON * (Math.max(Math.abs(scaled), full) / usable + Math.abs(ratio));
12958
+ if (Math.round(ratio) >= 0 && gap > 0 && gap <= uncertainty) return "boundary-precision";
12959
+ return Math.max(1, Math.ceil(ratio) + 1);
12960
+ };
12961
+ const columns = axis(page.width, oriented.width, tile.width * zoom);
12962
+ const rows = axis(page.height, oriented.height, tile.height * zoom);
12963
+ if (typeof columns !== "number") return unsupported2(columns);
12964
+ if (typeof rows !== "number") return unsupported2(rows);
12965
+ const total = columns * rows;
12966
+ if (![columns, rows, total].every(Number.isSafeInteger) || columns > VISIO_PRINT_COUNT_LIMITS.maxAxis || rows > VISIO_PRINT_COUNT_LIMITS.maxAxis || total > VISIO_PRINT_COUNT_LIMITS.maxTotal)
12967
+ return unsupported2("count-budget");
12968
+ return { kind: "supported", profile: "explicit-nonfit-count", columns, rows, total };
12969
+ }
12970
+
12663
12971
  // ../../node_modules/.bun/@christophervr+ole2@0.13.0/node_modules/@christophervr/ole2/dist/ole2-parser-types.js
12664
12972
  var OLE_MAGIC = new Uint8Array([208, 207, 17, 224, 161, 177, 26, 225]);
12665
12973
  var ENDOFCHAIN = 4294967294;
@@ -28854,41 +29162,6 @@ async function editVsdxMasterInstance(pkg, parts, pages, edit, limits, maxOutput
28854
29162
  return { bytes, changedParts: [...dirty.keys()], diagnostics: [] };
28855
29163
  }
28856
29164
 
28857
- // visio/paper-sizes.ts
28858
- var mm = (value) => value / 25.4;
28859
- var size = (id3, label, width, height, paperKind) => Object.freeze({ id: id3, label, width, height, ...paperKind === void 0 ? {} : { paperKind } });
28860
- var VISIO_PAPER_SIZES = Object.freeze([
28861
- size("letter", "Letter", 8.5, 11, 1),
28862
- size("tabloid", "Tabloid", 11, 17, 3),
28863
- size("legal", "Legal", 8.5, 14, 5),
28864
- size("statement", "Statement", 5.5, 8.5, 6),
28865
- size("executive", "Executive", 7.25, 10.5, 7),
28866
- size("a3", "A3", mm(297), mm(420), 8),
28867
- size("a4", "A4", mm(210), mm(297), 9),
28868
- size("a5", "A5", mm(148), mm(210), 11),
28869
- size("b4", "B4 (JIS)", mm(257), mm(364), 12),
28870
- size("b5", "B5 (JIS)", mm(182), mm(257), 13),
28871
- size("ansi-c", "ANSI C", 17, 22, 24),
28872
- size("ansi-d", "ANSI D", 22, 34, 25),
28873
- size("ansi-e", "ANSI E", 34, 44, 26),
28874
- size("arch-c", "ARCH C", 18, 24),
28875
- size("arch-d", "ARCH D", 24, 36)
28876
- ]);
28877
- function visioPaperSize(paperKind) {
28878
- return VISIO_PAPER_SIZES.find((item) => item.paperKind === paperKind);
28879
- }
28880
- function visioPrintTile(page, paper = page.pageSetup?.paperKind === void 0 ? void 0 : visioPaperSize(page.pageSetup.paperKind)) {
28881
- if (!paper) return void 0;
28882
- const setup = page.pageSetup;
28883
- const landscape = setup?.printPageOrientation === 2 || setup?.printPageOrientation !== 1 && page.width > page.height;
28884
- const short = Math.min(paper.width, paper.height), long = Math.max(paper.width, paper.height);
28885
- const margins = setup?.margins ?? { left: 0, right: 0, top: 0, bottom: 0 };
28886
- const zoom = setup?.printZoom ?? 1;
28887
- const width = ((landscape ? long : short) - margins.left - margins.right) / zoom;
28888
- const height = ((landscape ? short : long) - margins.top - margins.bottom) / zoom;
28889
- return width > 0.01 && height > 0.01 ? { width, height } : void 0;
28890
- }
28891
-
28892
29165
  // visio/edit-page-auto-size.ts
28893
29166
  var GROWING = /* @__PURE__ */ new Set([
28894
29167
  "create-rectangle",
@@ -36437,6 +36710,7 @@ exports.VISIO_METADATA_TEXT_LIMIT = VISIO_METADATA_TEXT_LIMIT;
36437
36710
  exports.VISIO_PAGE_LAYOUT_DEFAULTS = VISIO_PAGE_LAYOUT_DEFAULTS;
36438
36711
  exports.VISIO_PATH_SEGMENT_LIMIT = VISIO_PATH_SEGMENT_LIMIT;
36439
36712
  exports.VISIO_PICTURE_MAX_BYTES = VISIO_PICTURE_MAX_BYTES;
36713
+ exports.VISIO_PRINT_COUNT_LIMITS = VISIO_PRINT_COUNT_LIMITS;
36440
36714
  exports.VISIO_QUICK_STYLE_COLORS = VISIO_QUICK_STYLE_COLORS;
36441
36715
  exports.VISIO_QUICK_STYLE_VARIANT_COLORS = VISIO_QUICK_STYLE_VARIANT_COLORS;
36442
36716
  exports.VISIO_RASTER_IMAGE_LIMITS = VISIO_RASTER_IMAGE_LIMITS;
@@ -36522,6 +36796,7 @@ exports.visioPageLayout = visioPageLayout;
36522
36796
  exports.visioPageThemeColors = visioPageThemeColors;
36523
36797
  exports.visioPathBounds = visioPathBounds;
36524
36798
  exports.visioPathSamples = visioPathSamples;
36799
+ exports.visioPrintTileCount = visioPrintTileCount;
36525
36800
  exports.visioQuarterArc = visioQuarterArc;
36526
36801
  exports.visioShade = visioShade;
36527
36802
  exports.visioShadowPresetGeometry = visioShadowPresetGeometry;
@@ -5,6 +5,7 @@ export { VISIO_DATA_LIMITS, type VisioDataRecordset, type VisioDataColumn, type
5
5
  export { VISIO_SHAPE_DATA_TYPES, visioShapeDataRowName, canonicalShapeDataValue, } from './edit-shape-data-commands.js';
6
6
  export { visioLinkedRowNames } from './edit-data.js';
7
7
  export { parseVsdx, getVisioPageLayers, type ParseVsdxOptions } from './parser.js';
8
+ export { visioPrintTileCount, VISIO_PRINT_COUNT_LIMITS, type VisioPrintTileCountResult, } from './print-count.js';
8
9
  export { loadVisio } from './load.js';
9
10
  export { parseLegacyVsd, type ParseLegacyVsdOptions } from './legacy.js';
10
11
  export { VisioPackageError, type VisioPackageLimits } from './package.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../visio/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../visio/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,mBAAmB,SAAS,CAAC;AAC7B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACN,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,yBAAyB,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,GAClC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,GACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,sBAAsB,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACN,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,wBAAwB,EACxB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACN,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,KAAK,aAAa,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,KAAK,eAAe,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,qBAAqB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,kBAAkB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,GACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}