ooxml-ui 1.18.0 → 1.18.2

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.md +28 -0
  2. package/dist/{chunk-CPHFMJOU.js → chunk-EVL7GFC7.js} +1 -1
  3. package/dist/{chunk-GSWCAZQ3.js → chunk-FHO7TEWA.js} +1 -0
  4. package/dist/{chunk-GILNGII2.js → chunk-MSXUCINT.js} +2 -2
  5. package/dist/index.js +3 -3
  6. package/dist/pptx/{chart-3d-view-scene-6YLA75UQ.mjs → chart-3d-view-scene-6LQRJAM3.mjs} +2 -2
  7. package/dist/pptx/{chart-3d-view-scene-4GGMVQNN.cjs → chart-3d-view-scene-FAKI4QKT.cjs} +38 -38
  8. package/dist/pptx/{chunk-6ZMCXJ32.mjs → chunk-73OUATE4.mjs} +1 -1
  9. package/dist/pptx/{chunk-LF2X2AOK.mjs → chunk-75S3RTSS.mjs} +1 -1
  10. package/dist/pptx/{chunk-OFGZWYKM.mjs → chunk-AUCJIB3M.mjs} +162 -96
  11. package/dist/pptx/{chunk-HKHO4GDD.cjs → chunk-G3UVZ5FO.cjs} +122 -404
  12. package/dist/pptx/{chunk-QG2EEFAW.cjs → chunk-LCB46TH2.cjs} +12 -12
  13. package/dist/pptx/{chunk-NTWYYXB2.mjs → chunk-PIIYTRLE.mjs} +69 -374
  14. package/dist/pptx/{chunk-6OK5Z2MQ.cjs → chunk-S2Y3VUNC.cjs} +914 -842
  15. package/dist/pptx/{chunk-TXMIKRYG.cjs → chunk-W7CBPO77.cjs} +1 -1
  16. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts +7 -0
  17. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts.map +1 -0
  18. package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
  19. package/dist/pptx/dom/elements/shape-filter-defs.d.ts.map +1 -1
  20. package/dist/pptx/dom/index.cjs +340 -285
  21. package/dist/pptx/dom/index.d.ts +1 -0
  22. package/dist/pptx/dom/index.d.ts.map +1 -1
  23. package/dist/pptx/dom/index.mjs +96 -46
  24. package/dist/pptx/dom/presentation-rerender.d.ts.map +1 -1
  25. package/dist/pptx/dom/slide-stage.d.ts +5 -0
  26. package/dist/pptx/dom/slide-stage.d.ts.map +1 -1
  27. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  28. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  29. package/dist/pptx/index.cjs +3202 -3174
  30. package/dist/pptx/index.mjs +4 -4
  31. package/dist/pptx/render/chart-axis-range.d.ts +2 -36
  32. package/dist/pptx/render/chart-axis-range.d.ts.map +1 -1
  33. package/dist/pptx/render/chart-axis-style.d.ts.map +1 -1
  34. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts +5 -0
  35. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts.map +1 -1
  36. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  37. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  38. package/dist/pptx/render/chart-helpers.d.ts +2 -1
  39. package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
  40. package/dist/pptx/render/chart-marker-shape.d.ts +4 -50
  41. package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
  42. package/dist/pptx/render/chart-overlays.cjs +7 -7
  43. package/dist/pptx/render/chart-overlays.mjs +1 -1
  44. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  45. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  46. package/dist/pptx/render/chart-view-model-scale.d.ts +3 -2
  47. package/dist/pptx/render/chart-view-model-scale.d.ts.map +1 -1
  48. package/dist/pptx/render/chart-view-model.cjs +44 -44
  49. package/dist/pptx/render/chart-view-model.mjs +1 -1
  50. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  51. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  52. package/dist/pptx/render/connector-markers.d.ts +3 -1
  53. package/dist/pptx/render/connector-markers.d.ts.map +1 -1
  54. package/dist/pptx/render/custom-path-markers.d.ts +11 -0
  55. package/dist/pptx/render/custom-path-markers.d.ts.map +1 -0
  56. package/dist/pptx/render/image-color-change.d.ts +3 -1
  57. package/dist/pptx/render/image-color-change.d.ts.map +1 -1
  58. package/dist/pptx/render/image-duotone-canvas.d.ts +3 -1
  59. package/dist/pptx/render/image-duotone-canvas.d.ts.map +1 -1
  60. package/dist/pptx/render/image-native-size.d.ts +3 -1
  61. package/dist/pptx/render/image-native-size.d.ts.map +1 -1
  62. package/dist/pptx/render/image-source-effects.d.ts.map +1 -1
  63. package/dist/pptx/render/index.d.ts +2 -0
  64. package/dist/pptx/render/index.d.ts.map +1 -1
  65. package/dist/pptx/render/render-cache-lifecycle.d.ts +10 -0
  66. package/dist/pptx/render/render-cache-lifecycle.d.ts.map +1 -0
  67. package/dist/pptx/render/render-cache.d.ts +8 -0
  68. package/dist/pptx/render/render-cache.d.ts.map +1 -0
  69. package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
  70. package/dist/pptx/render/stroke-outline.d.ts +3 -0
  71. package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
  72. package/dist/pptx/render/text-build-spans.d.ts +1 -0
  73. package/dist/pptx/render/text-build-spans.d.ts.map +1 -1
  74. package/dist/{presentation-preview-HMEBDYEL.js → presentation-preview-KY56TONW.js} +1 -1
  75. package/dist/teams.js +2 -2
  76. package/dist/xlsx.js +4 -4
  77. package/package.json +11 -11
@@ -107,145 +107,8 @@ function reserveLegendSpace(legendPos, rect) {
107
107
  }
108
108
  return rect;
109
109
  }
110
-
111
- // src/pptx/render/chart-marker-shape.ts
112
- var DEFAULT_MARKER_OUTLINE_PT = 0.75;
113
- function markerOutline(marker) {
114
- if (!marker.stroke) {
115
- return {};
116
- }
117
- return {
118
- stroke: marker.stroke,
119
- strokeWidth: (marker.strokeWidth ?? DEFAULT_MARKER_OUTLINE_PT) * CHART_PX_PER_PT
120
- };
121
- }
122
- var AUTOMATIC_MARKER_CYCLE = [
123
- "diamond",
124
- "square",
125
- "triangle",
126
- "x",
127
- "star",
128
- "circle",
129
- "plus",
130
- "dot",
131
- "dash"
132
- ];
133
- function automaticMarkerSymbol(seriesIdx) {
134
- const length = AUTOMATIC_MARKER_CYCLE.length;
135
- const normalized = (seriesIdx % length + length) % length;
136
- return AUTOMATIC_MARKER_CYCLE[normalized];
137
- }
138
- function markerRadius(size, defaultRadius) {
139
- if (size === void 0 || !Number.isFinite(size) || size <= 0) {
140
- return defaultRadius;
141
- }
142
- return size / 2;
143
- }
144
- function polygonPoints(vertices) {
145
- return vertices.map(([x, y]) => `${x.toFixed(2)},${y.toFixed(2)}`).join(" ");
146
- }
147
- function starVertices(cx, cy, r) {
148
- const inner = r * 0.5;
149
- const out = [];
150
- for (let i = 0; i < 10; i++) {
151
- const radius = i % 2 === 0 ? r : inner;
152
- const angle = -Math.PI / 2 + Math.PI * i / 5;
153
- out.push([cx + radius * Math.cos(angle), cy + radius * Math.sin(angle)]);
154
- }
155
- return out;
156
- }
157
- function rectPolygon(x, y, w, h) {
158
- return polygonPoints([
159
- [x, y],
160
- [x + w, y],
161
- [x + w, y + h],
162
- [x, y + h]
163
- ]);
164
- }
165
110
  function buildMarkerPrimitive(input) {
166
- const { symbol, cx, cy, fill, part } = input;
167
- if (symbol === "none") {
168
- return null;
169
- }
170
- const r = markerRadius(input.size, input.defaultRadius);
171
- const outline = input.stroke ? {
172
- stroke: input.stroke,
173
- strokeWidth: input.strokeWidth ?? DEFAULT_MARKER_OUTLINE_PT * CHART_PX_PER_PT
174
- } : void 0;
175
- const polygonStroke = outline ?? { stroke: fill, strokeWidth: 0 };
176
- const lineStroke = input.stroke ?? fill;
177
- switch (symbol) {
178
- case "square":
179
- case "dash": {
180
- const h = symbol === "dash" ? r * 0.64 : r * 2;
181
- const y = cy - h / 2;
182
- if (outline) {
183
- return {
184
- kind: "polygon",
185
- points: rectPolygon(cx - r, y, r * 2, h),
186
- fill,
187
- ...outline,
188
- part
189
- };
190
- }
191
- return { kind: "rect", x: cx - r, y, w: r * 2, h, fill, part };
192
- }
193
- case "diamond":
194
- return {
195
- kind: "polygon",
196
- points: polygonPoints([
197
- [cx, cy - r],
198
- [cx + r, cy],
199
- [cx, cy + r],
200
- [cx - r, cy]
201
- ]),
202
- fill,
203
- ...polygonStroke,
204
- part
205
- };
206
- case "triangle":
207
- return {
208
- kind: "polygon",
209
- points: polygonPoints([
210
- [cx, cy - r],
211
- [cx + r * 0.9, cy + r * 0.75],
212
- [cx - r * 0.9, cy + r * 0.75]
213
- ]),
214
- fill,
215
- ...polygonStroke,
216
- part
217
- };
218
- case "star":
219
- return {
220
- kind: "polygon",
221
- points: polygonPoints(starVertices(cx, cy, r)),
222
- fill,
223
- ...polygonStroke,
224
- part
225
- };
226
- case "plus":
227
- return {
228
- kind: "path",
229
- d: `M${(cx - r).toFixed(2)},${cy.toFixed(2)} L${(cx + r).toFixed(2)},${cy.toFixed(2)} M${cx.toFixed(2)},${(cy - r).toFixed(2)} L${cx.toFixed(2)},${(cy + r).toFixed(2)}`,
230
- fill: "none",
231
- stroke: lineStroke,
232
- strokeWidth: Math.max(1, r * 0.4),
233
- part
234
- };
235
- case "x":
236
- return {
237
- kind: "path",
238
- d: `M${(cx - r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx + r).toFixed(2)},${(cy + r).toFixed(2)} M${(cx + r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx - r).toFixed(2)},${(cy + r).toFixed(2)}`,
239
- fill: "none",
240
- stroke: lineStroke,
241
- strokeWidth: Math.max(1, r * 0.4),
242
- part
243
- };
244
- case "dot":
245
- return { kind: "circle", cx, cy, r: Math.max(r * 0.6, 1), fill, part, ...outline };
246
- default:
247
- return { kind: "circle", cx, cy, r, fill, part, ...outline };
248
- }
111
+ return chart.buildMarkerPrimitive(input);
249
112
  }
250
113
 
251
114
  // src/pptx/render/chart-datapoint-style.ts
@@ -267,7 +130,7 @@ function resolveDataPointMarker(series, pointIndex, seriesPosition = 0) {
267
130
  const point = findDataPoint(series, pointIndex)?.marker;
268
131
  const hasMarker = point !== void 0 || series.marker !== void 0;
269
132
  const rawSymbol = point?.symbol ?? series.marker?.symbol;
270
- const symbol = hasMarker && (rawSymbol === void 0 || rawSymbol === "auto") ? automaticMarkerSymbol(series.idx ?? seriesPosition) : rawSymbol;
133
+ const symbol = hasMarker && (rawSymbol === void 0 || rawSymbol === "auto") ? chart.automaticMarkerSymbol(series.idx ?? seriesPosition) : rawSymbol;
271
134
  return {
272
135
  symbol,
273
136
  size: point?.size ?? series.marker?.size,
@@ -1269,7 +1132,7 @@ function buildLineLegendSwatch(series, color, seriesPosition = 0) {
1269
1132
  cy: SWATCH_CENTER_Y,
1270
1133
  fill: resolved.fill ?? color,
1271
1134
  defaultRadius: LEGEND_MARKER_RADIUS,
1272
- ...markerOutline(resolved)
1135
+ ...chart.markerOutline(resolved)
1273
1136
  });
1274
1137
  if (marker) {
1275
1138
  primitives.push(marker);
@@ -1508,18 +1371,7 @@ function paletteColor(index, styleId, colorPalette) {
1508
1371
  const palette = chart.getChartStylePalette(styleId);
1509
1372
  return palette[index % palette.length];
1510
1373
  }
1511
- function computeValueRange(series, plotHeightPx) {
1512
- const allValues = series.flatMap((s) => s.values);
1513
- if (allValues.length === 0) {
1514
- return { min: 0, max: 1, span: 1 };
1515
- }
1516
- const { min, max, majorUnit } = chart.niceValueAxisBounds(
1517
- Math.min(...allValues),
1518
- Math.max(...allValues),
1519
- plotHeightPx !== void 0 ? chart.axisTargetIntervals(plotHeightPx) : void 0
1520
- );
1521
- return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
1522
- }
1374
+ var computeValueRange = chart.computeAxisValueRange;
1523
1375
  function valueToY(val, range, topY, bottomY) {
1524
1376
  const usable = bottomY - topY;
1525
1377
  let ratio;
@@ -1599,50 +1451,8 @@ function paletteColor2(index, colorPalette) {
1599
1451
  function seriesColor2(series, index, colorPalette) {
1600
1452
  return series.color ?? series.marker?.spPr?.fillColor ?? paletteColor2(index, colorPalette);
1601
1453
  }
1602
- function computeValueRange2(series, plotHeightPx) {
1603
- let dataMin = Number.POSITIVE_INFINITY, dataMax = Number.NEGATIVE_INFINITY;
1604
- for (const item of series) {
1605
- for (const value of item.values) {
1606
- if (value < dataMin) {
1607
- dataMin = value;
1608
- }
1609
- if (value > dataMax) {
1610
- dataMax = value;
1611
- }
1612
- }
1613
- }
1614
- if (dataMin === Number.POSITIVE_INFINITY) {
1615
- return { min: 0, max: 1, span: 1 };
1616
- }
1617
- const { min, max, majorUnit } = chart.niceValueAxisBounds(
1618
- dataMin,
1619
- dataMax,
1620
- plotHeightPx !== void 0 ? chart.axisTargetIntervals(plotHeightPx) : void 0
1621
- );
1622
- return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
1623
- }
1624
- function computeStackedValueRange(series, catCount, plotHeightPx) {
1625
- let maxSum = 0, minSum = 0;
1626
- for (let ci = 0; ci < catCount; ci++) {
1627
- let pos = 0, neg = 0;
1628
- for (const s of series) {
1629
- const v = s.values[ci] ?? 0;
1630
- if (v >= 0) {
1631
- pos += v;
1632
- } else {
1633
- neg += v;
1634
- }
1635
- }
1636
- maxSum = Math.max(maxSum, pos);
1637
- minSum = Math.min(minSum, neg);
1638
- }
1639
- const { min, max, majorUnit } = chart.niceValueAxisBounds(
1640
- Math.min(minSum, 0),
1641
- Math.max(maxSum, 0),
1642
- plotHeightPx !== void 0 ? chart.axisTargetIntervals(plotHeightPx) : void 0
1643
- );
1644
- return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
1645
- }
1454
+ var computeValueRange2 = chart.computeAxisValueRange;
1455
+ var computeStackedValueRange = chart.computeAxisStackedValueRange;
1646
1456
  function valueToY2(val, range, topY, bottomY) {
1647
1457
  const usable = bottomY - topY;
1648
1458
  let ratio;
@@ -2963,10 +2773,50 @@ function build3DSurfacePanels(prims, surfaces, depth) {
2963
2773
  );
2964
2774
  return [backWall, floor, sideWall].filter((p) => p !== void 0);
2965
2775
  }
2776
+
2777
+ // src/pptx/render/render-cache.ts
2778
+ var RENDER_CACHE_MAX_BYTES = 8 * 1024 * 1024;
2779
+ var epoch = 0;
2780
+ function getPptxRenderCacheEpoch() {
2781
+ return epoch;
2782
+ }
2783
+ function invalidatePptxRenderCacheEpoch() {
2784
+ epoch++;
2785
+ }
2786
+ function setBoundedRenderCache(cache, key, value, maxEntries) {
2787
+ const bytesOf = (entryKey, entryValue) => (entryKey.length + (typeof entryValue === "string" ? entryValue.length : 0)) * 2;
2788
+ cache.delete(key);
2789
+ if (bytesOf(key, value) > RENDER_CACHE_MAX_BYTES) return;
2790
+ cache.set(key, value);
2791
+ let bytes = 0;
2792
+ for (const [entryKey, entryValue] of cache) bytes += bytesOf(entryKey, entryValue);
2793
+ while (cache.size > maxEntries || bytes > RENDER_CACHE_MAX_BYTES) {
2794
+ const first = cache.entries().next().value;
2795
+ if (!first) break;
2796
+ bytes -= bytesOf(first[0], first[1]);
2797
+ cache.delete(first[0]);
2798
+ }
2799
+ }
2800
+
2801
+ // src/pptx/render/chart-bar3d-face-picture-sample.ts
2802
+ var CACHE_MAX = 128;
2803
+ var cacheEpoch = 0;
2804
+ var cacheBytes = 0;
2805
+ var reservedBytes = 0;
2806
+ var COLOR_BYTES = 7 * 2;
2966
2807
  var sampleCache = /* @__PURE__ */ new Map();
2967
2808
  var inFlight = /* @__PURE__ */ new Map();
2968
2809
  var listeners = /* @__PURE__ */ new Set();
2969
2810
  var sampleVersion = 0;
2811
+ function rememberSample(imageUrl, color) {
2812
+ if (sampleCache.has(imageUrl) || sampleCache.size + inFlight.size >= CACHE_MAX) return;
2813
+ const keyBytes = imageUrl.length * 2;
2814
+ const remaining = RENDER_CACHE_MAX_BYTES - cacheBytes - reservedBytes;
2815
+ if (keyBytes > remaining) return;
2816
+ const retained = keyBytes + (color?.length ?? 0) * 2 <= remaining ? color : void 0;
2817
+ sampleCache.set(imageUrl, retained);
2818
+ cacheBytes += keyBytes + (retained?.length ?? 0) * 2;
2819
+ }
2970
2820
  function getCachedBarFacePicturePixelColor(imageUrl) {
2971
2821
  return sampleCache.get(imageUrl);
2972
2822
  }
@@ -3015,16 +2865,17 @@ function decodeFirstPixelColor(imageUrl) {
3015
2865
  });
3016
2866
  }
3017
2867
  function ensureBarFacePicturePixelSampled(imageUrl, sampler = decodeFirstPixelColor) {
3018
- if (sampleCache.has(imageUrl) || inFlight.has(imageUrl)) {
2868
+ if (sampleCache.has(imageUrl) || inFlight.has(imageUrl)) return;
2869
+ const reservation = imageUrl.length * 2 + COLOR_BYTES;
2870
+ if (sampleCache.size + inFlight.size >= CACHE_MAX || cacheBytes + reservedBytes + reservation > RENDER_CACHE_MAX_BYTES)
3019
2871
  return;
3020
- }
3021
- const pending = sampler(imageUrl).then((color) => {
3022
- sampleCache.set(imageUrl, color);
3023
- return void 0;
3024
- }).catch(() => {
3025
- sampleCache.set(imageUrl, void 0);
3026
- }).finally(() => {
2872
+ const epoch2 = cacheEpoch;
2873
+ reservedBytes += reservation;
2874
+ const pending = Promise.resolve().then(() => sampler(imageUrl)).catch(() => void 0).then((color) => {
2875
+ if (epoch2 !== cacheEpoch || inFlight.get(imageUrl) !== pending) return;
3027
2876
  inFlight.delete(imageUrl);
2877
+ reservedBytes -= reservation;
2878
+ rememberSample(imageUrl, color);
3028
2879
  notifyBarFacePicturePixelListeners();
3029
2880
  });
3030
2881
  inFlight.set(imageUrl, pending);
@@ -3050,15 +2901,21 @@ function resolveBarFacePicturePixelColor(imageUrl) {
3050
2901
  }
3051
2902
  const sync = trySampleFirstPixelColorSync(imageUrl);
3052
2903
  if (sync !== void 0) {
3053
- sampleCache.set(imageUrl, sync);
2904
+ rememberSample(imageUrl, sync);
3054
2905
  return sync;
3055
2906
  }
3056
2907
  ensureBarFacePicturePixelSampled(imageUrl);
3057
2908
  return void 0;
3058
2909
  }
3059
- function resetBarFacePicturePixelCacheForTests() {
2910
+ function clearBarFacePicturePixelCache() {
2911
+ cacheEpoch++;
3060
2912
  sampleCache.clear();
3061
2913
  inFlight.clear();
2914
+ cacheBytes = 0;
2915
+ reservedBytes = 0;
2916
+ }
2917
+ function resetBarFacePicturePixelCacheForTests() {
2918
+ clearBarFacePicturePixelCache();
3062
2919
  listeners.clear();
3063
2920
  sampleVersion = 0;
3064
2921
  }
@@ -3453,155 +3310,6 @@ function resolveChartTitleText(chartData) {
3453
3310
  return chart.resolveAutoTitleText(autoTitleInput(chartData));
3454
3311
  }
3455
3312
 
3456
- // src/pptx/render/chart-axis-range.ts
3457
- var LOG_EXPONENT_TOLERANCE = 1e-12;
3458
- function computeLogValueRange(series, logBase) {
3459
- const allValues = series.flatMap((item) => item.values).filter((value) => value > 0);
3460
- if (allValues.length === 0) {
3461
- return { min: 1, max: logBase, span: 1, logScale: true, logBase };
3462
- }
3463
- const dataMin = Math.min(...allValues);
3464
- const dataMax = Math.max(...allValues);
3465
- const logMin = Math.floor(Math.log(dataMin) / Math.log(logBase));
3466
- const logMax = Math.ceil(Math.log(dataMax) / Math.log(logBase));
3467
- const min = logBase ** logMin;
3468
- const max = logBase ** Math.max(logMax, logMin + 1);
3469
- return {
3470
- min,
3471
- max,
3472
- span: Math.max(Math.log(max) / Math.log(logBase) - Math.log(min) / Math.log(logBase), 1),
3473
- logScale: true,
3474
- logBase
3475
- };
3476
- }
3477
- function computeValueRangeForAxis(series, axis, plotHeightPx) {
3478
- const requestedLogBase = axis?.logBase ?? 10;
3479
- const logBase = axis?.logScale && Number.isFinite(requestedLogBase) && requestedLogBase > 1 ? requestedLogBase : axis?.logScale ? 10 : void 0;
3480
- const automatic = logBase ? computeLogValueRange(series, logBase) : computeValueRange(series, plotHeightPx);
3481
- return withAxisBounds(automatic, axis, logBase);
3482
- }
3483
- function computeStackedValueRangeForAxis(series, catCount, axis, isPercent, plotSizePx) {
3484
- if (isPercent) {
3485
- return {
3486
- ...percentStackedRange(series, catCount, plotSizePx),
3487
- ...axis?.orientation === "maxMin" ? { reverseOrder: true } : {}
3488
- };
3489
- }
3490
- return withAxisBounds(computeStackedValueRange(series, catCount, plotSizePx), axis);
3491
- }
3492
- function percentStackedRange(series, catCount, plotSizePx) {
3493
- const shares = series.map((entry) => ({
3494
- ...entry,
3495
- values: Array.from({ length: catCount }, (_, ci) => {
3496
- const total = series.reduce((sum, s) => sum + Math.abs(s.values[ci] ?? 0), 0);
3497
- return total > 0 ? (entry.values[ci] ?? 0) / total * 100 : 0;
3498
- })
3499
- }));
3500
- const automatic = computeStackedValueRange(shares, catCount, plotSizePx);
3501
- if (automatic.min >= 0) {
3502
- return { min: 0, max: 100, span: 100 };
3503
- }
3504
- const min = Math.max(automatic.min, -100);
3505
- const unit = automatic.majorUnit;
3506
- return {
3507
- min,
3508
- max: 100,
3509
- span: 100 - min,
3510
- ...unit !== void 0 && 100 % unit === 0 && min % unit === 0 ? { majorUnit: unit } : {}
3511
- };
3512
- }
3513
- function withAxisBounds(automatic, axis, logBase) {
3514
- const validMin = typeof axis?.min === "number" && Number.isFinite(axis.min) && (!logBase || axis.min > 0) ? axis.min : void 0;
3515
- const validMax = typeof axis?.max === "number" && Number.isFinite(axis.max) && (!logBase || axis.max > 0) ? axis.max : void 0;
3516
- const min = validMin ?? automatic.min;
3517
- let max = validMax ?? automatic.max;
3518
- const majorUnit = validMin === void 0 && validMax === void 0 ? automatic.majorUnit : void 0;
3519
- if (max <= min) {
3520
- max = logBase ? min * logBase : min + 1;
3521
- }
3522
- const span = logBase ? Math.log(max) / Math.log(logBase) - Math.log(min) / Math.log(logBase) : max - min;
3523
- return {
3524
- min,
3525
- max,
3526
- span: Math.max(span, Number.EPSILON),
3527
- ...majorUnit !== void 0 ? { majorUnit } : {},
3528
- ...logBase ? { logScale: true, logBase } : {},
3529
- ...axis?.orientation === "maxMin" ? { reverseOrder: true } : {}
3530
- };
3531
- }
3532
- function valueToYLog(val, range, topY, bottomY) {
3533
- const base = range.logBase ?? 10;
3534
- const logValue = Math.log(Math.max(val, range.min)) / Math.log(base);
3535
- const logMin = Math.log(range.min) / Math.log(base);
3536
- const ratio = (logValue - logMin) / range.span;
3537
- return range.reverseOrder ? topY + ratio * (bottomY - topY) : bottomY - ratio * (bottomY - topY);
3538
- }
3539
- function generateLogTicks(range) {
3540
- if (!range.logScale || !range.logBase) {
3541
- return [];
3542
- }
3543
- const base = range.logBase;
3544
- const logMin = Math.log(range.min) / Math.log(base);
3545
- const logMax = Math.log(range.max) / Math.log(base);
3546
- const firstExponent = Math.ceil(logMin - LOG_EXPONENT_TOLERANCE);
3547
- const lastExponent = Math.floor(logMax + LOG_EXPONENT_TOLERANCE);
3548
- if (lastExponent < firstExponent) {
3549
- return range.min === range.max ? [range.min] : [range.min, range.max];
3550
- }
3551
- return Array.from(
3552
- { length: lastExponent - firstExponent + 1 },
3553
- (_unused, index) => base ** (firstExponent + index)
3554
- );
3555
- }
3556
- function generateIntervalTicks(range, unit) {
3557
- if (!Number.isFinite(unit) || unit <= 0 || range.logScale) {
3558
- return [];
3559
- }
3560
- const tolerance = Math.max(1, Math.abs(range.min), Math.abs(range.max)) * 1e-12;
3561
- const first = Math.ceil((range.min - tolerance) / unit);
3562
- const last = Math.floor((range.max + tolerance) / unit);
3563
- const count = Math.min(Math.max(last - first + 1, 0), 2e3);
3564
- return Array.from({ length: count }, (_, index) => (first + index) * unit);
3565
- }
3566
- function generateAxisTicks(range, axis, defaultIntervals) {
3567
- if (range.logScale && range.logBase) {
3568
- return generateLogTicks(range);
3569
- }
3570
- const explicit = generateIntervalTicks(range, axis?.majorUnit ?? 0);
3571
- if (explicit.length > 0) {
3572
- return explicit;
3573
- }
3574
- const automatic = generateIntervalTicks(range, range.majorUnit ?? 0);
3575
- if (automatic.length > 0) {
3576
- return automatic;
3577
- }
3578
- return Array.from(
3579
- { length: defaultIntervals + 1 },
3580
- (_, index) => range.min + range.span / defaultIntervals * index
3581
- );
3582
- }
3583
- function generateMinorAxisTicks(range, axis) {
3584
- const minor = generateIntervalTicks(range, axis?.minorUnit ?? 0);
3585
- if (minor.length === 0) {
3586
- return [];
3587
- }
3588
- const majorUnit = axis?.majorUnit;
3589
- if (!majorUnit || !Number.isFinite(majorUnit) || majorUnit <= 0) {
3590
- return minor;
3591
- }
3592
- const tolerance = Math.max(1, Math.abs(range.min), Math.abs(range.max)) * 1e-10;
3593
- return minor.filter(
3594
- (value) => Math.abs(value / majorUnit - Math.round(value / majorUnit)) > tolerance
3595
- );
3596
- }
3597
- function findLogAxis(axes) {
3598
- return axes?.find((axis) => axis.axisType === "valAx" && axis.logScale);
3599
- }
3600
- function computeValueRangeForChart(series, axes, plotHeightPx) {
3601
- const primaryAxis = axes?.find((axis) => axis.axisType === "valAx" && axis.axPos === "l") ?? axes?.find((axis) => axis.axisType === "valAx" && axis.axPos !== "r");
3602
- return computeValueRangeForAxis(series, primaryAxis, plotHeightPx);
3603
- }
3604
-
3605
3313
  // src/pptx/render/chart-axis.ts
3606
3314
  var DISPLAY_UNIT_DIVISORS = {
3607
3315
  hundreds: 100,
@@ -4224,22 +3932,7 @@ function polylineRunsPath(runs) {
4224
3932
  (run) => run.map((p, i) => `${i === 0 ? "M" : "L"}${p.x.toFixed(2)},${p.y.toFixed(2)}`).join(" ")
4225
3933
  ).join(" ");
4226
3934
  }
4227
-
4228
- // src/pptx/render/chart-axis-style.ts
4229
3935
  var DEFAULT_COLOR = "#64748b";
4230
- function dashArray(style, width) {
4231
- if (!style || style === "solid") {
4232
- return void 0;
4233
- }
4234
- const unit = Math.max(width, 1);
4235
- if (style === "dot" || style === "sysDot") {
4236
- return `${unit} ${unit * 2}`;
4237
- }
4238
- if (style === "lgDash") {
4239
- return `${unit * 6} ${unit * 3}`;
4240
- }
4241
- return `${unit * 3} ${unit * 2}`;
4242
- }
4243
3936
  function chartAxisTextStyle(axis, defaultFontSizePx = DEFAULT_CHART_TEXT_PX) {
4244
3937
  return {
4245
3938
  fontSize: axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : defaultFontSizePx,
@@ -4270,7 +3963,7 @@ function chartLineStyle(shape, fallbackColor = DEFAULT_COLOR, fallbackWidth = 1)
4270
3963
  return {
4271
3964
  stroke: shape?.strokeColor ?? fallbackColor,
4272
3965
  strokeWidth,
4273
- ...dashArray(shape?.strokeDashStyle, strokeWidth) ? { dashArray: dashArray(shape?.strokeDashStyle, strokeWidth) } : {}
3966
+ ...chart.chartLineDashArray(shape?.strokeDashStyle, strokeWidth) ? { dashArray: chart.chartLineDashArray(shape?.strokeDashStyle, strokeWidth) } : {}
4274
3967
  };
4275
3968
  }
4276
3969
 
@@ -4552,13 +4245,13 @@ function buildScatterXAxisPlan(chartData, layout) {
4552
4245
  ...series,
4553
4246
  values: [...perSeriesX[index] ?? []]
4554
4247
  }));
4555
- const range = computeValueRangeForAxis(pseudoSeries, xAxis, layout.plotWidth);
4248
+ const range = chart.computeValueRangeForAxis(pseudoSeries, xAxis, layout.plotWidth);
4556
4249
  const toPixelX = (value) => valueToY2(value, range, layout.plotRight, layout.plotLeft);
4557
4250
  const showGridlines = axisShowsMajorGridlines(xAxis) && !isNoLine(xAxis?.majorGridlinesSpPr);
4558
4251
  const gridlines = [];
4559
4252
  const labels = [];
4560
4253
  const textStyle = chartAxisTextStyle(xAxis, DEFAULT_CHART_TEXT_PX);
4561
- for (const tickValue of generateAxisTicks(range, xAxis, TICK_COUNT)) {
4254
+ for (const tickValue of chart.generateAxisTicks(range, xAxis, TICK_COUNT)) {
4562
4255
  const x = toPixelX(tickValue);
4563
4256
  if (showGridlines) {
4564
4257
  gridlines.push(
@@ -4608,7 +4301,7 @@ function pushMarker(out, series, pointIndex, cx, cy, fill, defaultRadius, part,
4608
4301
  fill: marker.fill ?? fill,
4609
4302
  defaultRadius,
4610
4303
  part,
4611
- ...markerOutline(marker)
4304
+ ...chart.markerOutline(marker)
4612
4305
  });
4613
4306
  if (!m) {
4614
4307
  return;
@@ -5009,8 +4702,8 @@ function formatTick(val, axis) {
5009
4702
  function buildPrimaryAxis(range, layout, axis, axisX = layout.plotLeft, showMajorGridlines = true) {
5010
4703
  const gridlines = [];
5011
4704
  const axisLabels = [];
5012
- const tickVals = generateAxisTicks(range, axis, TICK_COUNT2);
5013
- const minorTickVals = generateMinorAxisTicks(range, axis);
4705
+ const tickVals = chart.generateAxisTicks(range, axis, TICK_COUNT2);
4706
+ const minorTickVals = chart.generateMinorAxisTicks(range, axis);
5014
4707
  const axisLine = buildVerticalAxisLine(axis, axisX, layout);
5015
4708
  const drawMajorGridlines = showMajorGridlines && !isNoLine(axis?.majorGridlinesSpPr);
5016
4709
  if (axisLine) {
@@ -5106,8 +4799,8 @@ function buildSecondaryAxis(range, layout, axis, axisX = layout.plotRight, showM
5106
4799
  if (axisLine) {
5107
4800
  gridlines.push(axisLine);
5108
4801
  }
5109
- const tickValues = generateAxisTicks(range, axis, TICK_COUNT2 - 1);
5110
- const minorTickValues = generateMinorAxisTicks(range, axis);
4802
+ const tickValues = chart.generateAxisTicks(range, axis, TICK_COUNT2 - 1);
4803
+ const minorTickValues = chart.generateMinorAxisTicks(range, axis);
5111
4804
  if (axis?.minorGridlines && !isNoLine(axis.minorGridlinesSpPr)) {
5112
4805
  for (const val of minorTickValues) {
5113
4806
  const y = valueToY2(val, range, layout.plotTop, layout.plotBottom);
@@ -6115,8 +5808,8 @@ function formatDate(date, unit, format) {
6115
5808
  // src/pptx/render/chart-date-axis.ts
6116
5809
  var DAY_MS = 864e5;
6117
5810
  function excelSerialToDate(serial5, date1904 = false) {
6118
- const epoch = date1904 ? Date.UTC(1904, 0, 1) : Date.UTC(1899, 11, serial5 < 60 ? 31 : 30);
6119
- return new Date(epoch + serial5 * DAY_MS);
5811
+ const epoch2 = date1904 ? Date.UTC(1904, 0, 1) : Date.UTC(1899, 11, serial5 < 60 ? 31 : 30);
5812
+ return new Date(epoch2 + serial5 * DAY_MS);
6120
5813
  }
6121
5814
  function primaryDateAxis(chartData) {
6122
5815
  return chartData.axes?.find((axis) => axis.axisType === "dateAx" && axis.axPos !== "t") ?? chartData.axes?.find((axis) => axis.axisType === "dateAx");
@@ -6499,7 +6192,7 @@ function barFill(chartData, series, seriesIndex, pointIndex) {
6499
6192
  function buildHorizontalBarViewModel(element, chartData, categoryLabels) {
6500
6193
  const layout = computePlotLayout(element.width, element.height, chartData, true, {
6501
6194
  leftCategoryLabelWidth: widestCategoryLabelWidth(categoryLabels, DEFAULT_CHART_TEXT_PX)
6502
- }), catCount = Math.max(categoryLabels.length, 1), series = chartData.series, grouping = chartData.grouping ?? "clustered", isStacked = grouping === "stacked" || grouping === "percentStacked", isPercent = grouping === "percentStacked", valueAxis = primaryValueAxis(chartData.axes), range = isStacked ? computeStackedValueRangeForAxis(series, catCount, valueAxis, isPercent, layout.plotWidth) : computeValueRangeForChart(series, chartData.axes, layout.plotWidth), { gridlines, axisLabels } = buildTransposedValueAxis(
6195
+ }), catCount = Math.max(categoryLabels.length, 1), series = chartData.series, grouping = chartData.grouping ?? "clustered", isStacked = grouping === "stacked" || grouping === "percentStacked", isPercent = grouping === "percentStacked", valueAxis = primaryValueAxis(chartData.axes), range = isStacked ? chart.computeStackedValueRangeForAxis(series, catCount, valueAxis, isPercent, layout.plotWidth) : chart.computeValueRangeForChart(series, chartData.axes, layout.plotWidth), { gridlines, axisLabels } = buildTransposedValueAxis(
6503
6196
  range,
6504
6197
  layout,
6505
6198
  valueAxis,
@@ -6688,18 +6381,18 @@ function buildCartesianViewModel(element, chartData, categoryLabels, kind) {
6688
6381
  const useSecondary = !isStacked && secondaryIdx.size > 0;
6689
6382
  const primaryPlotSeries = useSecondary ? chartData.series.filter((_s, i) => !secondaryIdx.has(i)) : chartData.series;
6690
6383
  const secondaryPlotSeries = useSecondary ? chartData.series.filter((_s, i) => secondaryIdx.has(i)) : [];
6691
- const primaryRange = isStacked ? computeStackedValueRangeForAxis(
6384
+ const primaryRange = isStacked ? chart.computeStackedValueRangeForAxis(
6692
6385
  chartData.series,
6693
6386
  catCount,
6694
6387
  primaryValueAxis(chartData.axes),
6695
6388
  isPercent,
6696
6389
  layout.autoPlotHeight
6697
- ) : computeValueRangeForChart(
6390
+ ) : chart.computeValueRangeForChart(
6698
6391
  primaryPlotSeries.length > 0 ? primaryPlotSeries : chartData.series,
6699
6392
  chartData.axes,
6700
6393
  layout.autoPlotHeight
6701
6394
  );
6702
- const secondaryRange = useSecondary && secondaryPlotSeries.length > 0 ? computeValueRangeForAxis(
6395
+ const secondaryRange = useSecondary && secondaryPlotSeries.length > 0 ? chart.computeValueRangeForAxis(
6703
6396
  secondaryPlotSeries,
6704
6397
  chartData.axes?.find((axis) => axis.axisType === "valAx" && axis.axPos === "r"),
6705
6398
  layout.autoPlotHeight
@@ -7229,8 +6922,8 @@ function buildComboViewModel(element, chartData, categoryLabels) {
7229
6922
  const primaryAxisId = getPrimaryValueAxisId(chartData.axes);
7230
6923
  const primaryAxis = chartData.axes?.find((axis) => axis.axisId === primaryAxisId);
7231
6924
  const secondaryAxisFormatting = getSecondaryValueAxis(chartData.axes);
7232
- const primaryRange = computeValueRangeForAxis(primarySeries, primaryAxis, layout.autoPlotHeight);
7233
- const secondaryRange = secondary.length > 0 ? computeValueRangeForAxis(
6925
+ const primaryRange = chart.computeValueRangeForAxis(primarySeries, primaryAxis, layout.autoPlotHeight);
6926
+ const secondaryRange = secondary.length > 0 ? chart.computeValueRangeForAxis(
7234
6927
  secondary.map((entry) => entry.series),
7235
6928
  secondaryAxisFormatting,
7236
6929
  layout.autoPlotHeight
@@ -7438,7 +7131,7 @@ function buildStockViewModel(element, chartData, categoryLabels) {
7438
7131
  computeLayoutOptions(chartData.axes, chartData.dataTable, chartData.series.length)
7439
7132
  );
7440
7133
  const catCount = Math.max(categoryLabels.length, 1);
7441
- const range = computeValueRangeForChart(
7134
+ const range = chart.computeValueRangeForChart(
7442
7135
  chartData.series,
7443
7136
  chartData.axes,
7444
7137
  layout.plotHeight
@@ -7946,6 +7639,8 @@ function resolveDisplayedChartType(data) {
7946
7639
  }
7947
7640
  function buildParetoAxis(layout) {
7948
7641
  const axis = buildSecondaryAxis({ min: 0, max: 100, span: 100 }, layout, {
7642
+ axisType: "valAx",
7643
+ axPos: "r",
7949
7644
  majorUnit: 20,
7950
7645
  majorTickMark: "out"
7951
7646
  });
@@ -11282,10 +10977,6 @@ Object.defineProperty(exports, "DEFAULT_CHART_PALETTE", {
11282
10977
  enumerable: true,
11283
10978
  get: function () { return chart.DEFAULT_CHART_PALETTE; }
11284
10979
  });
11285
- Object.defineProperty(exports, "axisTargetIntervals", {
11286
- enumerable: true,
11287
- get: function () { return chart.axisTargetIntervals; }
11288
- });
11289
10980
  Object.defineProperty(exports, "computeBoxStats", {
11290
10981
  enumerable: true,
11291
10982
  get: function () { return chart.computeBoxStats; }
@@ -11298,6 +10989,10 @@ Object.defineProperty(exports, "computeLinearRegression", {
11298
10989
  enumerable: true,
11299
10990
  get: function () { return chart.computeLinearRegression; }
11300
10991
  });
10992
+ Object.defineProperty(exports, "computeLogValueRange", {
10993
+ enumerable: true,
10994
+ get: function () { return chart.computeLogValueRange; }
10995
+ });
11301
10996
  Object.defineProperty(exports, "computeRSquared", {
11302
10997
  enumerable: true,
11303
10998
  get: function () { return chart.computeRSquared; }
@@ -11310,10 +11005,38 @@ Object.defineProperty(exports, "computeStackedSeriesPlots", {
11310
11005
  enumerable: true,
11311
11006
  get: function () { return chart.computeStackedSeriesPlots; }
11312
11007
  });
11008
+ Object.defineProperty(exports, "computeStackedValueRangeForAxis", {
11009
+ enumerable: true,
11010
+ get: function () { return chart.computeStackedValueRangeForAxis; }
11011
+ });
11012
+ Object.defineProperty(exports, "computeValueRangeForAxis", {
11013
+ enumerable: true,
11014
+ get: function () { return chart.computeValueRangeForAxis; }
11015
+ });
11016
+ Object.defineProperty(exports, "computeValueRangeForChart", {
11017
+ enumerable: true,
11018
+ get: function () { return chart.computeValueRangeForChart; }
11019
+ });
11020
+ Object.defineProperty(exports, "findLogAxis", {
11021
+ enumerable: true,
11022
+ get: function () { return chart.findLogAxis; }
11023
+ });
11313
11024
  Object.defineProperty(exports, "fitPolynomial", {
11314
11025
  enumerable: true,
11315
11026
  get: function () { return chart.fitPolynomial; }
11316
11027
  });
11028
+ Object.defineProperty(exports, "generateAxisTicks", {
11029
+ enumerable: true,
11030
+ get: function () { return chart.generateAxisTicks; }
11031
+ });
11032
+ Object.defineProperty(exports, "generateLogTicks", {
11033
+ enumerable: true,
11034
+ get: function () { return chart.generateLogTicks; }
11035
+ });
11036
+ Object.defineProperty(exports, "generateMinorAxisTicks", {
11037
+ enumerable: true,
11038
+ get: function () { return chart.generateMinorAxisTicks; }
11039
+ });
11317
11040
  Object.defineProperty(exports, "getChartStylePalette", {
11318
11041
  enumerable: true,
11319
11042
  get: function () { return chart.getChartStylePalette; }
@@ -11322,10 +11045,6 @@ Object.defineProperty(exports, "hasManualLayoutFields", {
11322
11045
  enumerable: true,
11323
11046
  get: function () { return chart.hasManualLayoutFields; }
11324
11047
  });
11325
- Object.defineProperty(exports, "niceValueAxisBounds", {
11326
- enumerable: true,
11327
- get: function () { return chart.niceValueAxisBounds; }
11328
- });
11329
11048
  Object.defineProperty(exports, "radarAngle", {
11330
11049
  enumerable: true,
11331
11050
  get: function () { return chart.radarAngle; }
@@ -11346,6 +11065,10 @@ Object.defineProperty(exports, "tint", {
11346
11065
  enumerable: true,
11347
11066
  get: function () { return chart.tint; }
11348
11067
  });
11068
+ Object.defineProperty(exports, "valueToYLog", {
11069
+ enumerable: true,
11070
+ get: function () { return chart.valueToYLog; }
11071
+ });
11349
11072
  Object.defineProperty(exports, "clampUnitInterval", {
11350
11073
  enumerable: true,
11351
11074
  get: function () { return color.clampUnitInterval; }
@@ -11466,6 +11189,7 @@ exports.chartTitleBandFor = chartTitleBandFor;
11466
11189
  exports.chartTitleFontPx = chartTitleFontPx;
11467
11190
  exports.chartTitleReservePx = chartTitleReservePx;
11468
11191
  exports.clampCropValue = clampCropValue;
11192
+ exports.clearBarFacePicturePixelCache = clearBarFacePicturePixelCache;
11469
11193
  exports.clipStackedSegment = clipStackedSegment;
11470
11194
  exports.collapseChartTitleRunsForEdit = collapseChartTitleRunsForEdit;
11471
11195
  exports.computeAxisTitlePrimitives = computeAxisTitlePrimitives;
@@ -11483,7 +11207,6 @@ exports.computeHistogramBins = computeHistogramBins;
11483
11207
  exports.computeLayout = computeLayout;
11484
11208
  exports.computeLayoutOptions = computeLayoutOptions;
11485
11209
  exports.computeLinePoints = computeLinePoints;
11486
- exports.computeLogValueRange = computeLogValueRange;
11487
11210
  exports.computePieLayout = computePieLayout;
11488
11211
  exports.computePieSlicePath = computePieSlicePath;
11489
11212
  exports.computePieSlices = computePieSlices;
@@ -11492,13 +11215,10 @@ exports.computeScatterDots = computeScatterDots;
11492
11215
  exports.computeScatterXDomain = computeScatterXDomain;
11493
11216
  exports.computeStackedBarRects = computeStackedBarRects;
11494
11217
  exports.computeStackedValueRange = computeStackedValueRange;
11495
- exports.computeStackedValueRangeForAxis = computeStackedValueRangeForAxis;
11496
11218
  exports.computeSunburstArcs = computeSunburstArcs;
11497
11219
  exports.computeTrendlinePrimitives = computeTrendlinePrimitives;
11498
11220
  exports.computeValueRange = computeValueRange;
11499
11221
  exports.computeValueRange2 = computeValueRange2;
11500
- exports.computeValueRangeForAxis = computeValueRangeForAxis;
11501
- exports.computeValueRangeForChart = computeValueRangeForChart;
11502
11222
  exports.convertOoxmlAngleToCss = convertOoxmlAngleToCss;
11503
11223
  exports.createArrayBufferCopy = createArrayBufferCopy;
11504
11224
  exports.cumulativePercentOfTotal = cumulativePercentOfTotal;
@@ -11510,7 +11230,6 @@ exports.ensureBarFacePicturePixelSampled = ensureBarFacePicturePixelSampled;
11510
11230
  exports.estimateChartTextWidth = estimateChartTextWidth;
11511
11231
  exports.estimateTextWidth = estimateTextWidth;
11512
11232
  exports.findDataPoint = findDataPoint;
11513
- exports.findLogAxis = findLogAxis;
11514
11233
  exports.findPointLabel = findPointLabel;
11515
11234
  exports.findValueAxis = findValueAxis;
11516
11235
  exports.fitTitleBand = fitTitleBand;
@@ -11518,9 +11237,6 @@ exports.formatAxisValue = formatAxisValue;
11518
11237
  exports.formatAxisValue2 = formatAxisValue2;
11519
11238
  exports.formatAxisValueWithUnits = formatAxisValueWithUnits;
11520
11239
  exports.formatRegionMapValue = formatRegionMapValue;
11521
- exports.generateAxisTicks = generateAxisTicks;
11522
- exports.generateLogTicks = generateLogTicks;
11523
- exports.generateMinorAxisTicks = generateMinorAxisTicks;
11524
11240
  exports.getBarFacePicturePixelSampleVersion = getBarFacePicturePixelSampleVersion;
11525
11241
  exports.getCachedBarFacePicturePixelColor = getCachedBarFacePicturePixelColor;
11526
11242
  exports.getCompoundLineBorderWidth = getCompoundLineBorderWidth;
@@ -11537,6 +11253,7 @@ exports.getGradientTileFlipCss = getGradientTileFlipCss;
11537
11253
  exports.getGradientTileRectCss = getGradientTileRectCss;
11538
11254
  exports.getPatternSvg = getPatternSvg;
11539
11255
  exports.getPatternTile = getPatternTile;
11256
+ exports.getPptxRenderCacheEpoch = getPptxRenderCacheEpoch;
11540
11257
  exports.getPrimaryValueAxis = getPrimaryValueAxis;
11541
11258
  exports.getPrimaryValueAxisId = getPrimaryValueAxisId;
11542
11259
  exports.getSecondaryCategoryAxis = getSecondaryCategoryAxis;
@@ -11546,6 +11263,7 @@ exports.getSvgStrokeDasharray = getSvgStrokeDasharray;
11546
11263
  exports.getTextCompensationTransform = getTextCompensationTransform;
11547
11264
  exports.hasSecondaryCategoryAxis = hasSecondaryCategoryAxis;
11548
11265
  exports.hasSecondaryValueAxis = hasSecondaryValueAxis;
11266
+ exports.invalidatePptxRenderCacheEpoch = invalidatePptxRenderCacheEpoch;
11549
11267
  exports.isParetoChart = isParetoChart;
11550
11268
  exports.isPrimaryCategoryAxisAtTop = isPrimaryCategoryAxisAtTop;
11551
11269
  exports.isSeriesOnSecondaryAxis = isSeriesOnSecondaryAxis;
@@ -11600,6 +11318,7 @@ exports.sequentialColorScale = sequentialColorScale;
11600
11318
  exports.seriesColor = seriesColor;
11601
11319
  exports.seriesColor2 = seriesColor2;
11602
11320
  exports.seriesXValues = seriesXValues;
11321
+ exports.setBoundedRenderCache = setBoundedRenderCache;
11603
11322
  exports.setChartTextMeasurer = setChartTextMeasurer;
11604
11323
  exports.shouldRenderMajorGridlines = shouldRenderMajorGridlines;
11605
11324
  exports.shouldRenderRegionLabel = shouldRenderRegionLabel;
@@ -11616,7 +11335,6 @@ exports.unitsCaptionOffset = unitsCaptionOffset;
11616
11335
  exports.upsertDataPoint = upsertDataPoint;
11617
11336
  exports.valueToY = valueToY;
11618
11337
  exports.valueToY2 = valueToY2;
11619
- exports.valueToYLog = valueToYLog;
11620
11338
  exports.withChartTitleBand = withChartTitleBand;
11621
11339
  exports.withManualLayouts = withManualLayouts;
11622
11340
  exports.wrapTextByEstimatedWidth = wrapTextByEstimatedWidth;