pptx-react-viewer 2.15.2 → 2.15.3

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 (99) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-HSQLY6O7.mjs → AiChatPanel-OXAKUVYH.mjs} +3 -3
  3. package/dist/AiChatPanel-OXAKUVYH.mjs.br +0 -0
  4. package/dist/AiChatPanel-OXAKUVYH.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-WGX7DUQE.js → AiChatPanel-R7BYGQX5.js} +22 -22
  6. package/dist/AiChatPanel-R7BYGQX5.js.br +0 -0
  7. package/dist/AiChatPanel-R7BYGQX5.js.gz +0 -0
  8. package/dist/{Model3DScene-DYWYNVLU.js → Model3DScene-BK7RWDCU.js} +2 -2
  9. package/dist/Model3DScene-BK7RWDCU.js.br +0 -0
  10. package/dist/Model3DScene-BK7RWDCU.js.gz +0 -0
  11. package/dist/{Model3DScene-3DOCQYAE.mjs → Model3DScene-TPUVF4FY.mjs} +1 -1
  12. package/dist/Model3DScene-TPUVF4FY.mjs.br +0 -0
  13. package/dist/Model3DScene-TPUVF4FY.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-GIKV3DXC.mjs → SurfaceChart3DScene-FXJ45DC5.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-GIKV3DXC.mjs.br → SurfaceChart3DScene-FXJ45DC5.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-FXJ45DC5.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-7UB5JE2W.js → SurfaceChart3DScene-WOLVZOW3.js} +2 -2
  18. package/dist/SurfaceChart3DScene-WOLVZOW3.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-WOLVZOW3.js.gz +0 -0
  20. package/dist/{chunk-U47SG5XL.js → chunk-3XJODTAV.js} +334 -334
  21. package/dist/chunk-3XJODTAV.js.br +0 -0
  22. package/dist/chunk-3XJODTAV.js.gz +0 -0
  23. package/dist/{chunk-LVGFV42Z.mjs → chunk-6M6WP2TK.mjs} +188 -144
  24. package/dist/chunk-6M6WP2TK.mjs.br +0 -0
  25. package/dist/chunk-6M6WP2TK.mjs.gz +0 -0
  26. package/dist/{chunk-MQXKBH43.js → chunk-FHTEL3Q6.js} +247 -247
  27. package/dist/chunk-FHTEL3Q6.js.br +0 -0
  28. package/dist/chunk-FHTEL3Q6.js.gz +0 -0
  29. package/dist/{chunk-RSNAGJTQ.js → chunk-IEXZ2JSO.js} +1084 -1052
  30. package/dist/chunk-IEXZ2JSO.js.br +0 -0
  31. package/dist/chunk-IEXZ2JSO.js.gz +0 -0
  32. package/dist/{chunk-GLC2RPKN.mjs → chunk-OPX74QGH.mjs} +2 -2
  33. package/dist/chunk-OPX74QGH.mjs.br +0 -0
  34. package/dist/chunk-OPX74QGH.mjs.gz +0 -0
  35. package/dist/{chunk-IXEHYABF.mjs → chunk-RPGAI65Z.mjs} +40 -8
  36. package/dist/chunk-RPGAI65Z.mjs.br +0 -0
  37. package/dist/chunk-RPGAI65Z.mjs.gz +0 -0
  38. package/dist/{chunk-DC4GIE7E.js → chunk-T5IS3MGN.js} +3 -3
  39. package/dist/chunk-T5IS3MGN.js.br +0 -0
  40. package/dist/chunk-T5IS3MGN.js.gz +0 -0
  41. package/dist/{chunk-IXCNYPFK.mjs → chunk-U2UPBBJV.mjs} +1 -1
  42. package/dist/chunk-U2UPBBJV.mjs.br +0 -0
  43. package/dist/chunk-U2UPBBJV.mjs.gz +0 -0
  44. package/dist/{chunk-ZAO36XAK.mjs → chunk-WJNWCKS7.mjs} +5 -5
  45. package/dist/chunk-WJNWCKS7.mjs.br +0 -0
  46. package/dist/chunk-WJNWCKS7.mjs.gz +0 -0
  47. package/dist/{chunk-SBRSPTSA.js → chunk-YBTRSG74.js} +190 -144
  48. package/dist/chunk-YBTRSG74.js.br +0 -0
  49. package/dist/chunk-YBTRSG74.js.gz +0 -0
  50. package/dist/index.js +39 -39
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +5 -5
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.js +78 -78
  57. package/dist/internals.js.br +0 -0
  58. package/dist/internals.js.gz +0 -0
  59. package/dist/internals.mjs +3 -3
  60. package/dist/internals.mjs.br +0 -0
  61. package/dist/internals.mjs.gz +0 -0
  62. package/dist/viewer/index.js +26 -26
  63. package/dist/viewer/index.js.br +0 -0
  64. package/dist/viewer/index.js.gz +0 -0
  65. package/dist/viewer/index.mjs +5 -5
  66. package/dist/viewer/index.mjs.br +0 -0
  67. package/dist/viewer/index.mjs.gz +0 -0
  68. package/package.json +1 -1
  69. package/dist/AiChatPanel-HSQLY6O7.mjs.br +0 -0
  70. package/dist/AiChatPanel-HSQLY6O7.mjs.gz +0 -0
  71. package/dist/AiChatPanel-WGX7DUQE.js.br +0 -0
  72. package/dist/AiChatPanel-WGX7DUQE.js.gz +0 -0
  73. package/dist/Model3DScene-3DOCQYAE.mjs.br +0 -0
  74. package/dist/Model3DScene-3DOCQYAE.mjs.gz +0 -0
  75. package/dist/Model3DScene-DYWYNVLU.js.br +0 -0
  76. package/dist/Model3DScene-DYWYNVLU.js.gz +0 -0
  77. package/dist/SurfaceChart3DScene-7UB5JE2W.js.br +0 -0
  78. package/dist/SurfaceChart3DScene-7UB5JE2W.js.gz +0 -0
  79. package/dist/SurfaceChart3DScene-GIKV3DXC.mjs.gz +0 -0
  80. package/dist/chunk-DC4GIE7E.js.br +0 -0
  81. package/dist/chunk-DC4GIE7E.js.gz +0 -0
  82. package/dist/chunk-GLC2RPKN.mjs.br +0 -0
  83. package/dist/chunk-GLC2RPKN.mjs.gz +0 -0
  84. package/dist/chunk-IXCNYPFK.mjs.br +0 -0
  85. package/dist/chunk-IXCNYPFK.mjs.gz +0 -0
  86. package/dist/chunk-IXEHYABF.mjs.br +0 -0
  87. package/dist/chunk-IXEHYABF.mjs.gz +0 -0
  88. package/dist/chunk-LVGFV42Z.mjs.br +0 -0
  89. package/dist/chunk-LVGFV42Z.mjs.gz +0 -0
  90. package/dist/chunk-MQXKBH43.js.br +0 -0
  91. package/dist/chunk-MQXKBH43.js.gz +0 -0
  92. package/dist/chunk-RSNAGJTQ.js.br +0 -0
  93. package/dist/chunk-RSNAGJTQ.js.gz +0 -0
  94. package/dist/chunk-SBRSPTSA.js.br +0 -0
  95. package/dist/chunk-SBRSPTSA.js.gz +0 -0
  96. package/dist/chunk-U47SG5XL.js.br +0 -0
  97. package/dist/chunk-U47SG5XL.js.gz +0 -0
  98. package/dist/chunk-ZAO36XAK.mjs.br +0 -0
  99. package/dist/chunk-ZAO36XAK.mjs.gz +0 -0
@@ -36250,6 +36250,18 @@ function applyChartPivotSource(chartSpace, value, localName22) {
36250
36250
  chartSpace[`${prefix}:pivotSource`] = node;
36251
36251
  }
36252
36252
  }
36253
+ function getElementTextContent(element) {
36254
+ if (!hasTextProperties(element)) {
36255
+ return "";
36256
+ }
36257
+ if (typeof element.text === "string") {
36258
+ return element.text;
36259
+ }
36260
+ if (!element.textSegments || element.textSegments.length === 0) {
36261
+ return "";
36262
+ }
36263
+ return element.textSegments.map((segment) => String(segment.text || "")).join("");
36264
+ }
36253
36265
  var JUMP_VERB_MAP = {
36254
36266
  nextslide: "nextSlide",
36255
36267
  previousslide: "prevSlide",
@@ -85926,6 +85938,54 @@ function isIdentityRectClip(element) {
85926
85938
  const shapeType = element.shapeType;
85927
85939
  return shapeType !== void 0 && IDENTITY_RECT_PRESETS.has(shapeType.toLowerCase());
85928
85940
  }
85941
+ function getCompoundLineOffsets(compoundLine, strokeWidth) {
85942
+ if (!compoundLine || compoundLine === "sng") {
85943
+ return [0];
85944
+ }
85945
+ const gap = Math.max(strokeWidth * 0.6, 1.5);
85946
+ if (compoundLine === "dbl") {
85947
+ return [-gap, gap];
85948
+ }
85949
+ if (compoundLine === "thickThin") {
85950
+ return [-gap * 0.6, gap];
85951
+ }
85952
+ if (compoundLine === "thinThick") {
85953
+ return [-gap, gap * 0.6];
85954
+ }
85955
+ if (compoundLine === "tri") {
85956
+ return [-gap, 0, gap];
85957
+ }
85958
+ return [0];
85959
+ }
85960
+ function getCompoundLineWidths(compoundLine, strokeWidth) {
85961
+ const base = Math.max(strokeWidth, 1);
85962
+ if (!compoundLine || compoundLine === "sng") {
85963
+ return [base];
85964
+ }
85965
+ if (compoundLine === "dbl") {
85966
+ return [base * 0.5, base * 0.5];
85967
+ }
85968
+ if (compoundLine === "thickThin") {
85969
+ return [base * 0.7, base * 0.3];
85970
+ }
85971
+ if (compoundLine === "thinThick") {
85972
+ return [base * 0.3, base * 0.7];
85973
+ }
85974
+ if (compoundLine === "tri") {
85975
+ return [base * 0.3, base * 0.4, base * 0.3];
85976
+ }
85977
+ return [base];
85978
+ }
85979
+ function svgLineCap(lineCap) {
85980
+ switch (lineCap) {
85981
+ case "flat":
85982
+ return "butt";
85983
+ case "sq":
85984
+ return "square";
85985
+ default:
85986
+ return "round";
85987
+ }
85988
+ }
85929
85989
  function normalizeHexColor(value, fallback = DEFAULT_TEXT_COLOR) {
85930
85990
  if (!value || value === "transparent") {
85931
85991
  return fallback;
@@ -86583,145 +86643,6 @@ function resolveComputedFill(ss, element) {
86583
86643
  }
86584
86644
  return {};
86585
86645
  }
86586
- function round4(value) {
86587
- return Math.round(value * 1e4) / 1e4;
86588
- }
86589
- function svgGradientId(elementId, suffix = "grad") {
86590
- const seed = String(elementId).replace(/[^a-zA-Z0-9_-]/gu, "_");
86591
- return `pptx-${suffix}-${seed}`;
86592
- }
86593
- function toSvgStops(stops) {
86594
- return sanitizeGradientStops(stops).map((stop) => ({
86595
- offset: round4(stop.position / 100),
86596
- color: stop.color,
86597
- ...typeof stop.opacity === "number" ? { opacity: round4(stop.opacity) } : {}
86598
- }));
86599
- }
86600
- function linearEndpoints(angleDegrees) {
86601
- const radians = angleDegrees * Math.PI / 180;
86602
- const dx = Math.cos(radians);
86603
- const dy = Math.sin(radians);
86604
- const span = (Math.abs(dx) + Math.abs(dy)) / 2;
86605
- return {
86606
- x1: round4(0.5 - dx * span),
86607
- y1: round4(0.5 - dy * span),
86608
- x2: round4(0.5 + dx * span),
86609
- y2: round4(0.5 + dy * span)
86610
- };
86611
- }
86612
- function buildFromSource(source, id) {
86613
- const { stops } = source;
86614
- if (stops.length === 0) {
86615
- return void 0;
86616
- }
86617
- if ((source.type || "linear") === "radial") {
86618
- const { cx, cy } = computeGradientCenter(source.fillToRect, source.focalPoint);
86619
- const fx = cx / 100;
86620
- const fy = cy / 100;
86621
- const r = Math.hypot(Math.max(fx, 1 - fx), Math.max(fy, 1 - fy));
86622
- return { kind: "radial", id, cx: round4(fx), cy: round4(fy), r: round4(r), stops };
86623
- }
86624
- const angle = typeof source.angle === "number" && Number.isFinite(source.angle) ? source.angle : 90;
86625
- return { kind: "linear", id, ...linearEndpoints(angle), stops };
86626
- }
86627
- function buildSvgGradientDef(style, elementId) {
86628
- if (!style || style.fillMode !== "gradient") {
86629
- return void 0;
86630
- }
86631
- return buildFromSource(
86632
- {
86633
- stops: toSvgStops(style.fillGradientStops),
86634
- type: style.fillGradientType,
86635
- angle: style.fillGradientAngle,
86636
- fillToRect: style.fillGradientFillToRect,
86637
- focalPoint: style.fillGradientFocalPoint
86638
- },
86639
- svgGradientId(elementId)
86640
- );
86641
- }
86642
- function buildSvgStrokeGradientDef(style, elementId) {
86643
- if (!style || style.strokeFillMode !== "gradient") {
86644
- return void 0;
86645
- }
86646
- return buildFromSource(
86647
- {
86648
- stops: toSvgStops(style.strokeGradientStops),
86649
- type: style.strokeGradientType,
86650
- angle: style.strokeGradientAngle
86651
- },
86652
- svgGradientId(elementId, "stroke")
86653
- );
86654
- }
86655
- function buildSvgStrokePatternDef(style, elementId) {
86656
- if (!style || style.strokeFillMode !== "pattern" || !style.strokePatternPreset) {
86657
- return void 0;
86658
- }
86659
- const fg = normalizeHexColor(style.strokeColor, "#000000");
86660
- const bg = normalizeHexColor(style.strokePatternBackgroundColor, "#ffffff");
86661
- const tile = getPatternTile(style.strokePatternPreset, fg, bg);
86662
- if (!tile) {
86663
- return void 0;
86664
- }
86665
- const markup = `<svg xmlns="http://www.w3.org/2000/svg" width="${tile.w}" height="${tile.h}">${tile.inner}</svg>`;
86666
- return {
86667
- kind: "pattern",
86668
- id: svgGradientId(elementId, "strokepat"),
86669
- width: tile.w,
86670
- height: tile.h,
86671
- href: `data:image/svg+xml,${encodeURIComponent(markup)}`
86672
- };
86673
- }
86674
- function svgGradientFillRef(def) {
86675
- return `url(#${def.id})`;
86676
- }
86677
- function getCompoundLineOffsets(compoundLine, strokeWidth) {
86678
- if (!compoundLine || compoundLine === "sng") {
86679
- return [0];
86680
- }
86681
- const gap = Math.max(strokeWidth * 0.6, 1.5);
86682
- if (compoundLine === "dbl") {
86683
- return [-gap, gap];
86684
- }
86685
- if (compoundLine === "thickThin") {
86686
- return [-gap * 0.6, gap];
86687
- }
86688
- if (compoundLine === "thinThick") {
86689
- return [-gap, gap * 0.6];
86690
- }
86691
- if (compoundLine === "tri") {
86692
- return [-gap, 0, gap];
86693
- }
86694
- return [0];
86695
- }
86696
- function getCompoundLineWidths(compoundLine, strokeWidth) {
86697
- const base = Math.max(strokeWidth, 1);
86698
- if (!compoundLine || compoundLine === "sng") {
86699
- return [base];
86700
- }
86701
- if (compoundLine === "dbl") {
86702
- return [base * 0.5, base * 0.5];
86703
- }
86704
- if (compoundLine === "thickThin") {
86705
- return [base * 0.7, base * 0.3];
86706
- }
86707
- if (compoundLine === "thinThick") {
86708
- return [base * 0.3, base * 0.7];
86709
- }
86710
- if (compoundLine === "tri") {
86711
- return [base * 0.3, base * 0.4, base * 0.3];
86712
- }
86713
- return [base];
86714
- }
86715
- function svgLineCap(lineCap) {
86716
- switch (lineCap) {
86717
- case "flat":
86718
- return "butt";
86719
- case "sq":
86720
- return "square";
86721
- default:
86722
- return "round";
86723
- }
86724
- }
86725
86646
  function normalizeStrokeDashType(value) {
86726
86647
  const normalized = String(value || "").trim().toLowerCase();
86727
86648
  if (!normalized) {
@@ -86934,6 +86855,97 @@ function strokeOnlyPresetPathData(element) {
86934
86855
  const stroked = paths.filter((path) => path.stroke !== false).map((path) => path.d);
86935
86856
  return stroked.length > 0 ? stroked.join(" ") : void 0;
86936
86857
  }
86858
+ function round4(value) {
86859
+ return Math.round(value * 1e4) / 1e4;
86860
+ }
86861
+ function svgGradientId(elementId, suffix = "grad") {
86862
+ const seed = String(elementId).replace(/[^a-zA-Z0-9_-]/gu, "_");
86863
+ return `pptx-${suffix}-${seed}`;
86864
+ }
86865
+ function toSvgStops(stops) {
86866
+ return sanitizeGradientStops(stops).map((stop) => ({
86867
+ offset: round4(stop.position / 100),
86868
+ color: stop.color,
86869
+ ...typeof stop.opacity === "number" ? { opacity: round4(stop.opacity) } : {}
86870
+ }));
86871
+ }
86872
+ function linearEndpoints(angleDegrees) {
86873
+ const radians = angleDegrees * Math.PI / 180;
86874
+ const dx = Math.cos(radians);
86875
+ const dy = Math.sin(radians);
86876
+ const span = (Math.abs(dx) + Math.abs(dy)) / 2;
86877
+ return {
86878
+ x1: round4(0.5 - dx * span),
86879
+ y1: round4(0.5 - dy * span),
86880
+ x2: round4(0.5 + dx * span),
86881
+ y2: round4(0.5 + dy * span)
86882
+ };
86883
+ }
86884
+ function buildFromSource(source, id) {
86885
+ const { stops } = source;
86886
+ if (stops.length === 0) {
86887
+ return void 0;
86888
+ }
86889
+ if ((source.type || "linear") === "radial") {
86890
+ const { cx, cy } = computeGradientCenter(source.fillToRect, source.focalPoint);
86891
+ const fx = cx / 100;
86892
+ const fy = cy / 100;
86893
+ const r = Math.hypot(Math.max(fx, 1 - fx), Math.max(fy, 1 - fy));
86894
+ return { kind: "radial", id, cx: round4(fx), cy: round4(fy), r: round4(r), stops };
86895
+ }
86896
+ const angle = typeof source.angle === "number" && Number.isFinite(source.angle) ? source.angle : 90;
86897
+ return { kind: "linear", id, ...linearEndpoints(angle), stops };
86898
+ }
86899
+ function buildSvgGradientDef(style, elementId) {
86900
+ if (!style || style.fillMode !== "gradient") {
86901
+ return void 0;
86902
+ }
86903
+ return buildFromSource(
86904
+ {
86905
+ stops: toSvgStops(style.fillGradientStops),
86906
+ type: style.fillGradientType,
86907
+ angle: style.fillGradientAngle,
86908
+ fillToRect: style.fillGradientFillToRect,
86909
+ focalPoint: style.fillGradientFocalPoint
86910
+ },
86911
+ svgGradientId(elementId)
86912
+ );
86913
+ }
86914
+ function buildSvgStrokeGradientDef(style, elementId) {
86915
+ if (!style || style.strokeFillMode !== "gradient") {
86916
+ return void 0;
86917
+ }
86918
+ return buildFromSource(
86919
+ {
86920
+ stops: toSvgStops(style.strokeGradientStops),
86921
+ type: style.strokeGradientType,
86922
+ angle: style.strokeGradientAngle
86923
+ },
86924
+ svgGradientId(elementId, "stroke")
86925
+ );
86926
+ }
86927
+ function buildSvgStrokePatternDef(style, elementId) {
86928
+ if (!style || style.strokeFillMode !== "pattern" || !style.strokePatternPreset) {
86929
+ return void 0;
86930
+ }
86931
+ const fg = normalizeHexColor(style.strokeColor, "#000000");
86932
+ const bg = normalizeHexColor(style.strokePatternBackgroundColor, "#ffffff");
86933
+ const tile = getPatternTile(style.strokePatternPreset, fg, bg);
86934
+ if (!tile) {
86935
+ return void 0;
86936
+ }
86937
+ const markup = `<svg xmlns="http://www.w3.org/2000/svg" width="${tile.w}" height="${tile.h}">${tile.inner}</svg>`;
86938
+ return {
86939
+ kind: "pattern",
86940
+ id: svgGradientId(elementId, "strokepat"),
86941
+ width: tile.w,
86942
+ height: tile.h,
86943
+ href: `data:image/svg+xml,${encodeURIComponent(markup)}`
86944
+ };
86945
+ }
86946
+ function svgGradientFillRef(def) {
86947
+ return `url(#${def.id})`;
86948
+ }
86937
86949
  var DEFAULT_OPEN_PRESET_STROKE_WIDTH = 2;
86938
86950
  function outlinePathData(clipPath, width, height) {
86939
86951
  if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) {
@@ -87011,6 +87023,29 @@ function strokeOutlineViewBox(element) {
87011
87023
  function suppressesCssBorder(element) {
87012
87024
  return buildStrokeOutline(element) !== void 0;
87013
87025
  }
87026
+ var HOLLOW_HIT_MIN_WIDTH = 10;
87027
+ function isHollowShapeElement(element) {
87028
+ if (element.type !== "shape" || !hasShapeProperties(element)) {
87029
+ return false;
87030
+ }
87031
+ const style = element.shapeStyle;
87032
+ const filled = style?.fillColor !== void 0 && style.fillColor !== "transparent" || style?.fillMode === "gradient" || style?.fillMode === "pattern" || style?.fillMode === "image" || style?.fillMode === "group" || Boolean(style?.fillGradient);
87033
+ if (filled) {
87034
+ return false;
87035
+ }
87036
+ return getElementTextContent(element).trim() === "";
87037
+ }
87038
+ function buildHollowHitOutline(element) {
87039
+ if (!isHollowShapeElement(element)) {
87040
+ return void 0;
87041
+ }
87042
+ const d = outlinePathData(getResolvedShapeClipPath(element), element.width, element.height);
87043
+ if (!d) {
87044
+ return void 0;
87045
+ }
87046
+ const strokeWidth = hasShapeProperties(element) ? element.shapeStyle?.strokeWidth ?? 0 : 0;
87047
+ return { d, strokeWidth: Math.max(strokeWidth * 3, HOLLOW_HIT_MIN_WIDTH) };
87048
+ }
87014
87049
  function hasStrokePaint(style) {
87015
87050
  if (!style || Math.max(0, style.strokeWidth ?? 0) <= 0) {
87016
87051
  return false;
@@ -92070,6 +92105,7 @@ function buildMultiLevelCategoryLabels(categoryLabels, categoryLevels, sourceInd
92070
92105
  const direction = labelsAbove ? -1 : 1;
92071
92106
  const fontPx = axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
92072
92107
  const bandHeight = Math.max(fontPx, 8) + 4;
92108
+ const baselineShift = labelsAbove ? -0.2 * fontPx : 0.8 * fontPx;
92073
92109
  return levels.flatMap((level, levelIndex) => {
92074
92110
  const values = sourceIndices2.map((sourceIndex) => level[sourceIndex] ?? "");
92075
92111
  return groupedLabels(values).flatMap((group2) => {
@@ -92082,7 +92118,7 @@ function buildMultiLevelCategoryLabels(categoryLabels, categoryLevels, sourceInd
92082
92118
  {
92083
92119
  kind: "text",
92084
92120
  x: (startX + endX) / 2,
92085
- y: labelY + direction * (offset + levelIndex * bandHeight),
92121
+ y: labelY + direction * (offset + levelIndex * bandHeight) + baselineShift,
92086
92122
  text: group2.text,
92087
92123
  textAnchor,
92088
92124
  ...chartAxisTextStyle(axis)
@@ -95986,13 +96022,21 @@ function formatAxisValue2(val2, formatCode) {
95986
96022
  }
95987
96023
  return val2.toFixed(1);
95988
96024
  }
96025
+ function categoryAxisBand(chartData) {
96026
+ const axis = chartData.axes?.find(
96027
+ (candidate) => candidate.axisType === "catAx" || candidate.axisType === "dateAx"
96028
+ );
96029
+ const fontPx = axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
96030
+ const offset = 4 + 8 * ((axis?.labelOffset ?? 100) / 100);
96031
+ return Math.max(24, offset + fontPx * 1.2);
96032
+ }
95989
96033
  function computePlotLayout(elementWidth, elementHeight, chartData, hasAxes, options) {
95990
96034
  const svgWidth = Math.max(1, elementWidth);
95991
96035
  const svgHeight = Math.max(1, elementHeight);
95992
96036
  let plotLeft = hasAxes ? 48 : 8;
95993
96037
  let plotTop = 8;
95994
96038
  let plotRight = svgWidth - 8;
95995
- let plotBottom = svgHeight - (hasAxes ? 24 : 8);
96039
+ let plotBottom = svgHeight - (hasAxes ? categoryAxisBand(chartData) : 8);
95996
96040
  const style = chartData.style;
95997
96041
  const legendPos = style?.legendPosition ?? "b";
95998
96042
  if (style?.hasTitle) {
@@ -109578,7 +109622,7 @@ function getRoundRectAdjustmentValue(element) {
109578
109622
  }
109579
109623
  return DEFAULT_ROUND_RECT_ADJUSTMENT;
109580
109624
  }
109581
- function getRoundRectRadiusPx(element) {
109625
+ function getRoundRectRadiusPx2(element) {
109582
109626
  const normalizedAdjustment = getRoundRectAdjustmentValue(element) / SHAPE_ADJUSTMENT_MAX;
109583
109627
  return Math.min(Math.max(element.width, 1), Math.max(element.height, 1)) * 0.5 * normalizedAdjustment;
109584
109628
  }
@@ -109591,7 +109635,7 @@ function getShapeAdjustmentHandleDescriptor(element) {
109591
109635
  return null;
109592
109636
  }
109593
109637
  const adjustmentValue = getRoundRectAdjustmentValue(element);
109594
- const radiusPx = getRoundRectRadiusPx(element);
109638
+ const radiusPx = getRoundRectRadiusPx2(element);
109595
109639
  const maxWidth = Math.max(element.width, MIN_ELEMENT_SIZE5);
109596
109640
  const handleInset = 5;
109597
109641
  const left = Math.max(handleInset, Math.min(maxWidth - handleInset, Math.round(radiusPx)));
@@ -123386,6 +123430,7 @@ exports.buildElementClipboardPayload = buildElementClipboardPayload;
123386
123430
  exports.buildFieldSubstitutionContext = buildFieldSubstitutionContext;
123387
123431
  exports.buildGlowBoxShadow = buildGlowBoxShadow;
123388
123432
  exports.buildHandoutsHtml = buildHandoutsHtml;
123433
+ exports.buildHollowHitOutline = buildHollowHitOutline;
123389
123434
  exports.buildInitialGuides = buildInitialGuides;
123390
123435
  exports.buildInnerShadowCssFromShapeStyle = buildInnerShadowCssFromShapeStyle;
123391
123436
  exports.buildJoinCollaborationConfig = buildJoinCollaborationConfig;
@@ -123596,7 +123641,7 @@ exports.getPendingSelectionRestore = getPendingSelectionRestore;
123596
123641
  exports.getPresetShapeClipPath = getPresetShapeClipPath;
123597
123642
  exports.getPrintableArea = getPrintableArea;
123598
123643
  exports.getResolvedShapeClipPath = getResolvedShapeClipPath;
123599
- exports.getRoundRectRadiusPx = getRoundRectRadiusPx;
123644
+ exports.getRoundRectRadiusPx2 = getRoundRectRadiusPx2;
123600
123645
  exports.getSecondaryValueAxis = getSecondaryValueAxis;
123601
123646
  exports.getSessionTabId = getSessionTabId;
123602
123647
  exports.getShapeAdjustmentHandleDescriptor = getShapeAdjustmentHandleDescriptor;
@@ -123635,6 +123680,7 @@ exports.isEditorTextInputTarget = isEditorTextInputTarget;
123635
123680
  exports.isElementActionable = isElementActionable;
123636
123681
  exports.isElementRendered = isElementRendered;
123637
123682
  exports.isExportAbortError = isExportAbortError;
123683
+ exports.isHollowShapeElement = isHollowShapeElement;
123638
123684
  exports.isIdentityRectClip = isIdentityRectClip;
123639
123685
  exports.isImageLikeElement = isImageLikeElement;
123640
123686
  exports.isInkElement = isInkElement;
Binary file
Binary file
package/dist/index.js CHANGED
@@ -1,54 +1,54 @@
1
1
  'use strict';
2
2
 
3
- var chunkRSNAGJTQ_js = require('./chunk-RSNAGJTQ.js');
4
- require('./chunk-DC4GIE7E.js');
5
- var chunkU47SG5XL_js = require('./chunk-U47SG5XL.js');
6
- var chunkMQXKBH43_js = require('./chunk-MQXKBH43.js');
3
+ var chunkIEXZ2JSO_js = require('./chunk-IEXZ2JSO.js');
4
+ require('./chunk-T5IS3MGN.js');
5
+ var chunk3XJODTAV_js = require('./chunk-3XJODTAV.js');
6
+ var chunkFHTEL3Q6_js = require('./chunk-FHTEL3Q6.js');
7
7
  var chunk3ISYPBSX_js = require('./chunk-3ISYPBSX.js');
8
- var chunkSBRSPTSA_js = require('./chunk-SBRSPTSA.js');
8
+ var chunkYBTRSG74_js = require('./chunk-YBTRSG74.js');
9
9
  require('./chunk-4VNS5WPM.js');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "PowerPointViewer", {
14
14
  enumerable: true,
15
- get: function () { return chunkRSNAGJTQ_js.PowerPointViewer; }
15
+ get: function () { return chunkIEXZ2JSO_js.PowerPointViewer; }
16
16
  });
17
17
  Object.defineProperty(exports, "SlideCanvas", {
18
18
  enumerable: true,
19
- get: function () { return chunkRSNAGJTQ_js.SlideCanvas; }
19
+ get: function () { return chunkIEXZ2JSO_js.SlideCanvas; }
20
20
  });
21
21
  Object.defineProperty(exports, "SlideTemplateGalleryDialog", {
22
22
  enumerable: true,
23
- get: function () { return chunkRSNAGJTQ_js.SlideTemplateGalleryDialog; }
23
+ get: function () { return chunkIEXZ2JSO_js.SlideTemplateGalleryDialog; }
24
24
  });
25
25
  Object.defineProperty(exports, "SlideTemplatePreview", {
26
26
  enumerable: true,
27
- get: function () { return chunkRSNAGJTQ_js.SlideTemplatePreview; }
27
+ get: function () { return chunkIEXZ2JSO_js.SlideTemplatePreview; }
28
28
  });
29
29
  Object.defineProperty(exports, "Toolbar", {
30
30
  enumerable: true,
31
- get: function () { return chunkRSNAGJTQ_js.Toolbar; }
31
+ get: function () { return chunkIEXZ2JSO_js.Toolbar; }
32
32
  });
33
33
  Object.defineProperty(exports, "ViewerThemeProvider", {
34
34
  enumerable: true,
35
- get: function () { return chunkRSNAGJTQ_js.ViewerThemeProvider; }
35
+ get: function () { return chunkIEXZ2JSO_js.ViewerThemeProvider; }
36
36
  });
37
37
  Object.defineProperty(exports, "useViewerTheme", {
38
38
  enumerable: true,
39
- get: function () { return chunkRSNAGJTQ_js.useViewerTheme; }
39
+ get: function () { return chunkIEXZ2JSO_js.useViewerTheme; }
40
40
  });
41
41
  Object.defineProperty(exports, "renderToCanvas", {
42
42
  enumerable: true,
43
- get: function () { return chunkU47SG5XL_js.renderToCanvas; }
43
+ get: function () { return chunk3XJODTAV_js.renderToCanvas; }
44
44
  });
45
45
  Object.defineProperty(exports, "useViewerBuildingBlocks", {
46
46
  enumerable: true,
47
- get: function () { return chunkU47SG5XL_js.useViewerBuildingBlocks; }
47
+ get: function () { return chunk3XJODTAV_js.useViewerBuildingBlocks; }
48
48
  });
49
49
  Object.defineProperty(exports, "getAnimationInitialStyle", {
50
50
  enumerable: true,
51
- get: function () { return chunkMQXKBH43_js.getAnimationInitialStyle; }
51
+ get: function () { return chunkFHTEL3Q6_js.getAnimationInitialStyle; }
52
52
  });
53
53
  Object.defineProperty(exports, "LOCALE_CATALOG", {
54
54
  enumerable: true,
@@ -56,97 +56,97 @@ Object.defineProperty(exports, "LOCALE_CATALOG", {
56
56
  });
57
57
  Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
58
58
  enumerable: true,
59
- get: function () { return chunkSBRSPTSA_js.AVATAR_COLOR_SWATCHES; }
59
+ get: function () { return chunkYBTRSG74_js.AVATAR_COLOR_SWATCHES; }
60
60
  });
61
61
  Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
62
62
  enumerable: true,
63
- get: function () { return chunkSBRSPTSA_js.DEFAULT_VIEWER_PROFILE; }
63
+ get: function () { return chunkYBTRSG74_js.DEFAULT_VIEWER_PROFILE; }
64
64
  });
65
65
  Object.defineProperty(exports, "SLIDE_TEMPLATES", {
66
66
  enumerable: true,
67
- get: function () { return chunkSBRSPTSA_js.SLIDE_TEMPLATES; }
67
+ get: function () { return chunkYBTRSG74_js.SLIDE_TEMPLATES; }
68
68
  });
69
69
  Object.defineProperty(exports, "THEME_CATALOG", {
70
70
  enumerable: true,
71
- get: function () { return chunkSBRSPTSA_js.THEME_CATALOG; }
71
+ get: function () { return chunkYBTRSG74_js.THEME_CATALOG; }
72
72
  });
73
73
  Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
74
74
  enumerable: true,
75
- get: function () { return chunkSBRSPTSA_js.VIEWER_PREFS_STORAGE_KEY; }
75
+ get: function () { return chunkYBTRSG74_js.VIEWER_PREFS_STORAGE_KEY; }
76
76
  });
77
77
  Object.defineProperty(exports, "buildSlideTemplateContent", {
78
78
  enumerable: true,
79
- get: function () { return chunkSBRSPTSA_js.buildSlideTemplateContent; }
79
+ get: function () { return chunkYBTRSG74_js.buildSlideTemplateContent; }
80
80
  });
81
81
  Object.defineProperty(exports, "buildSlideTemplateSlide", {
82
82
  enumerable: true,
83
- get: function () { return chunkSBRSPTSA_js.buildSlideTemplateSlide; }
83
+ get: function () { return chunkYBTRSG74_js.buildSlideTemplateSlide; }
84
84
  });
85
85
  Object.defineProperty(exports, "clearAllLocalViewerData", {
86
86
  enumerable: true,
87
- get: function () { return chunkSBRSPTSA_js.clearAllLocalViewerData; }
87
+ get: function () { return chunkYBTRSG74_js.clearAllLocalViewerData; }
88
88
  });
89
89
  Object.defineProperty(exports, "clearStoredViewerPrefs", {
90
90
  enumerable: true,
91
- get: function () { return chunkSBRSPTSA_js.clearStoredViewerPrefs; }
91
+ get: function () { return chunkYBTRSG74_js.clearStoredViewerPrefs; }
92
92
  });
93
93
  Object.defineProperty(exports, "defaultCssVars", {
94
94
  enumerable: true,
95
- get: function () { return chunkSBRSPTSA_js.defaultCssVars; }
95
+ get: function () { return chunkYBTRSG74_js.defaultCssVars; }
96
96
  });
97
97
  Object.defineProperty(exports, "defaultRadius", {
98
98
  enumerable: true,
99
- get: function () { return chunkSBRSPTSA_js.defaultRadius; }
99
+ get: function () { return chunkYBTRSG74_js.defaultRadius; }
100
100
  });
101
101
  Object.defineProperty(exports, "defaultThemeColors", {
102
102
  enumerable: true,
103
- get: function () { return chunkSBRSPTSA_js.defaultThemeColors; }
103
+ get: function () { return chunkYBTRSG74_js.defaultThemeColors; }
104
104
  });
105
105
  Object.defineProperty(exports, "getLocalStorageUsageSummary", {
106
106
  enumerable: true,
107
- get: function () { return chunkSBRSPTSA_js.getLocalStorageUsageSummary; }
107
+ get: function () { return chunkYBTRSG74_js.getLocalStorageUsageSummary; }
108
108
  });
109
109
  Object.defineProperty(exports, "readStoredViewerPrefs", {
110
110
  enumerable: true,
111
- get: function () { return chunkSBRSPTSA_js.readStoredViewerPrefs; }
111
+ get: function () { return chunkYBTRSG74_js.readStoredViewerPrefs; }
112
112
  });
113
113
  Object.defineProperty(exports, "resolveProfileInitial", {
114
114
  enumerable: true,
115
- get: function () { return chunkSBRSPTSA_js.resolveProfileInitial; }
115
+ get: function () { return chunkYBTRSG74_js.resolveProfileInitial; }
116
116
  });
117
117
  Object.defineProperty(exports, "resolveThemeCatalogEntry", {
118
118
  enumerable: true,
119
- get: function () { return chunkSBRSPTSA_js.resolveThemeCatalogEntry; }
119
+ get: function () { return chunkYBTRSG74_js.resolveThemeCatalogEntry; }
120
120
  });
121
121
  Object.defineProperty(exports, "saveViewerProfile", {
122
122
  enumerable: true,
123
- get: function () { return chunkSBRSPTSA_js.saveViewerProfile; }
123
+ get: function () { return chunkYBTRSG74_js.saveViewerProfile; }
124
124
  });
125
125
  Object.defineProperty(exports, "themeToCssVars", {
126
126
  enumerable: true,
127
- get: function () { return chunkSBRSPTSA_js.themeToCssVars; }
127
+ get: function () { return chunkYBTRSG74_js.themeToCssVars; }
128
128
  });
129
129
  Object.defineProperty(exports, "vermilionDarkColors", {
130
130
  enumerable: true,
131
- get: function () { return chunkSBRSPTSA_js.vermilionDarkColors; }
131
+ get: function () { return chunkYBTRSG74_js.vermilionDarkColors; }
132
132
  });
133
133
  Object.defineProperty(exports, "vermilionDarkTheme", {
134
134
  enumerable: true,
135
- get: function () { return chunkSBRSPTSA_js.vermilionDarkTheme; }
135
+ get: function () { return chunkYBTRSG74_js.vermilionDarkTheme; }
136
136
  });
137
137
  Object.defineProperty(exports, "vermilionLightColors", {
138
138
  enumerable: true,
139
- get: function () { return chunkSBRSPTSA_js.vermilionLightColors; }
139
+ get: function () { return chunkYBTRSG74_js.vermilionLightColors; }
140
140
  });
141
141
  Object.defineProperty(exports, "vermilionLightTheme", {
142
142
  enumerable: true,
143
- get: function () { return chunkSBRSPTSA_js.vermilionLightTheme; }
143
+ get: function () { return chunkYBTRSG74_js.vermilionLightTheme; }
144
144
  });
145
145
  Object.defineProperty(exports, "vermilionRadius", {
146
146
  enumerable: true,
147
- get: function () { return chunkSBRSPTSA_js.vermilionRadius; }
147
+ get: function () { return chunkYBTRSG74_js.vermilionRadius; }
148
148
  });
149
149
  Object.defineProperty(exports, "writeStoredViewerPrefs", {
150
150
  enumerable: true,
151
- get: function () { return chunkSBRSPTSA_js.writeStoredViewerPrefs; }
151
+ get: function () { return chunkYBTRSG74_js.writeStoredViewerPrefs; }
152
152
  });
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-IXEHYABF.mjs';
2
- import './chunk-IXCNYPFK.mjs';
3
- export { renderToCanvas, useViewerBuildingBlocks } from './chunk-GLC2RPKN.mjs';
4
- export { getAnimationInitialStyle } from './chunk-ZAO36XAK.mjs';
1
+ export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-RPGAI65Z.mjs';
2
+ import './chunk-U2UPBBJV.mjs';
3
+ export { renderToCanvas, useViewerBuildingBlocks } from './chunk-OPX74QGH.mjs';
4
+ export { getAnimationInitialStyle } from './chunk-WJNWCKS7.mjs';
5
5
  export { LOCALE_CATALOG } from './chunk-5YV26HMJ.mjs';
6
- export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, SLIDE_TEMPLATES, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-LVGFV42Z.mjs';
6
+ export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, SLIDE_TEMPLATES, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-6M6WP2TK.mjs';
7
7
  import './chunk-XGB3TDIC.mjs';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file