pptx-react-viewer 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-G6DKXSM3.js → AiChatPanel-SRKOMEW6.js} +22 -22
  3. package/dist/AiChatPanel-SRKOMEW6.js.br +0 -0
  4. package/dist/AiChatPanel-SRKOMEW6.js.gz +0 -0
  5. package/dist/{AiChatPanel-J5IGSCYA.mjs → AiChatPanel-YAYQ5KUT.mjs} +3 -3
  6. package/dist/AiChatPanel-YAYQ5KUT.mjs.br +0 -0
  7. package/dist/AiChatPanel-YAYQ5KUT.mjs.gz +0 -0
  8. package/dist/{Model3DScene-ID6CQKEJ.mjs → Model3DScene-HYMOPMAM.mjs} +1 -1
  9. package/dist/Model3DScene-HYMOPMAM.mjs.br +0 -0
  10. package/dist/Model3DScene-HYMOPMAM.mjs.gz +0 -0
  11. package/dist/{Model3DScene-S7LKZ6IA.js → Model3DScene-ONKC5Z6A.js} +2 -2
  12. package/dist/Model3DScene-ONKC5Z6A.js.br +0 -0
  13. package/dist/Model3DScene-ONKC5Z6A.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-V5H6MXYW.mjs → SurfaceChart3DScene-B3FK4Q2U.mjs} +1 -1
  15. package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.br +0 -0
  16. package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-XSJXJM6H.js → SurfaceChart3DScene-YJFWGG5L.js} +2 -2
  18. package/dist/SurfaceChart3DScene-YJFWGG5L.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-YJFWGG5L.js.gz +0 -0
  20. package/dist/{chunk-Y4EB65WB.mjs → chunk-2UCJYJUS.mjs} +7 -7
  21. package/dist/chunk-2UCJYJUS.mjs.br +0 -0
  22. package/dist/chunk-2UCJYJUS.mjs.gz +0 -0
  23. package/dist/{chunk-GLQFRVAN.js → chunk-BVK7K74O.js} +843 -843
  24. package/dist/chunk-BVK7K74O.js.br +0 -0
  25. package/dist/chunk-BVK7K74O.js.gz +0 -0
  26. package/dist/{chunk-B4XJTZR4.js → chunk-GRW7HM6X.js} +236 -236
  27. package/dist/chunk-GRW7HM6X.js.br +0 -0
  28. package/dist/chunk-GRW7HM6X.js.gz +0 -0
  29. package/dist/{chunk-WH46JCNF.mjs → chunk-HEAJOHLJ.mjs} +125 -66
  30. package/dist/chunk-HEAJOHLJ.mjs.br +0 -0
  31. package/dist/chunk-HEAJOHLJ.mjs.gz +0 -0
  32. package/dist/{chunk-IGKLB7NQ.mjs → chunk-HQGLKAIY.mjs} +2 -2
  33. package/dist/chunk-HQGLKAIY.mjs.br +0 -0
  34. package/dist/chunk-HQGLKAIY.mjs.gz +0 -0
  35. package/dist/{chunk-YUHEJWUN.mjs → chunk-IDK6XECR.mjs} +2 -2
  36. package/dist/chunk-IDK6XECR.mjs.br +0 -0
  37. package/dist/{chunk-YUHEJWUN.mjs.gz → chunk-IDK6XECR.mjs.gz} +0 -0
  38. package/dist/{chunk-4KMTZLNS.js → chunk-JEIMWRKF.js} +315 -315
  39. package/dist/chunk-JEIMWRKF.js.br +0 -0
  40. package/dist/chunk-JEIMWRKF.js.gz +0 -0
  41. package/dist/{chunk-6C4UY7GX.js → chunk-JVE7BZ25.js} +3 -3
  42. package/dist/chunk-JVE7BZ25.js.br +0 -0
  43. package/dist/chunk-JVE7BZ25.js.gz +0 -0
  44. package/dist/{chunk-2LOBDOTK.js → chunk-LYS44KMG.js} +125 -66
  45. package/dist/chunk-LYS44KMG.js.br +0 -0
  46. package/dist/chunk-LYS44KMG.js.gz +0 -0
  47. package/dist/{chunk-SOLHDKNK.mjs → chunk-N7EZIKF4.mjs} +1 -1
  48. package/dist/chunk-N7EZIKF4.mjs.br +0 -0
  49. package/dist/chunk-N7EZIKF4.mjs.gz +0 -0
  50. package/dist/index.js +34 -34
  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 +21 -21
  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-G6DKXSM3.js.br +0 -0
  70. package/dist/AiChatPanel-G6DKXSM3.js.gz +0 -0
  71. package/dist/AiChatPanel-J5IGSCYA.mjs.br +0 -0
  72. package/dist/AiChatPanel-J5IGSCYA.mjs.gz +0 -0
  73. package/dist/Model3DScene-ID6CQKEJ.mjs.br +0 -0
  74. package/dist/Model3DScene-ID6CQKEJ.mjs.gz +0 -0
  75. package/dist/Model3DScene-S7LKZ6IA.js.br +0 -0
  76. package/dist/Model3DScene-S7LKZ6IA.js.gz +0 -0
  77. package/dist/SurfaceChart3DScene-V5H6MXYW.mjs.br +0 -0
  78. package/dist/SurfaceChart3DScene-V5H6MXYW.mjs.gz +0 -0
  79. package/dist/SurfaceChart3DScene-XSJXJM6H.js.br +0 -0
  80. package/dist/SurfaceChart3DScene-XSJXJM6H.js.gz +0 -0
  81. package/dist/chunk-2LOBDOTK.js.br +0 -0
  82. package/dist/chunk-2LOBDOTK.js.gz +0 -0
  83. package/dist/chunk-4KMTZLNS.js.br +0 -0
  84. package/dist/chunk-4KMTZLNS.js.gz +0 -0
  85. package/dist/chunk-6C4UY7GX.js.br +0 -0
  86. package/dist/chunk-6C4UY7GX.js.gz +0 -0
  87. package/dist/chunk-B4XJTZR4.js.br +0 -0
  88. package/dist/chunk-B4XJTZR4.js.gz +0 -0
  89. package/dist/chunk-GLQFRVAN.js.br +0 -0
  90. package/dist/chunk-GLQFRVAN.js.gz +0 -0
  91. package/dist/chunk-IGKLB7NQ.mjs.br +0 -0
  92. package/dist/chunk-IGKLB7NQ.mjs.gz +0 -0
  93. package/dist/chunk-SOLHDKNK.mjs.br +0 -0
  94. package/dist/chunk-SOLHDKNK.mjs.gz +0 -0
  95. package/dist/chunk-WH46JCNF.mjs.br +0 -0
  96. package/dist/chunk-WH46JCNF.mjs.gz +0 -0
  97. package/dist/chunk-Y4EB65WB.mjs.br +0 -0
  98. package/dist/chunk-Y4EB65WB.mjs.gz +0 -0
  99. package/dist/chunk-YUHEJWUN.mjs.br +0 -0
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk25VSL2BB_js = require('./chunk-25VSL2BB.js');
4
- var chunk2LOBDOTK_js = require('./chunk-2LOBDOTK.js');
4
+ var chunkLYS44KMG_js = require('./chunk-LYS44KMG.js');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var React6 = require('react');
@@ -15,7 +15,7 @@ var React6__default = /*#__PURE__*/_interopDefault(React6);
15
15
 
16
16
  // src/viewer/utils/animation-effects.ts
17
17
  function getAnimationInitialStyle2(preset, nativeAnimation) {
18
- return chunk2LOBDOTK_js.getAnimationInitialStyle(preset, nativeAnimation);
18
+ return chunkLYS44KMG_js.getAnimationInitialStyle(preset, nativeAnimation);
19
19
  }
20
20
  function cn(...inputs) {
21
21
  return tailwindMerge.twMerge(clsx.clsx(inputs));
@@ -23,7 +23,7 @@ function cn(...inputs) {
23
23
 
24
24
  // src/viewer/utils/clone.ts
25
25
  function cloneHistorySnapshot2(snapshot) {
26
- return chunk2LOBDOTK_js.cloneHistorySnapshot(snapshot);
26
+ return chunkLYS44KMG_js.cloneHistorySnapshot(snapshot);
27
27
  }
28
28
 
29
29
  // src/viewer/constants/scalar.ts
@@ -133,7 +133,7 @@ var GLYPH_COMPONENTS = {
133
133
  plus: lu.LuPlus,
134
134
  triangle: lu.LuTriangle
135
135
  };
136
- var SHAPE_PRESETS = chunk2LOBDOTK_js.SHAPE_PRESET_DEFS.map(
136
+ var SHAPE_PRESETS = chunkLYS44KMG_js.SHAPE_PRESET_DEFS.map(
137
137
  (def) => ({
138
138
  type: def.type,
139
139
  label: def.label,
@@ -251,7 +251,7 @@ function isConnectorOrLineElement(element) {
251
251
  if (element.type === "connector") {
252
252
  return true;
253
253
  }
254
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
254
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
255
255
  return false;
256
256
  }
257
257
  const st = getShapeType(element.shapeType);
@@ -262,12 +262,12 @@ function isConnectorOrLineElement(element) {
262
262
  function partitionTemplateElements(slides) {
263
263
  const templateElementsBySlideId = {};
264
264
  const nextSlides = slides.map((slide) => {
265
- const template = slide.elements.filter((el) => chunk2LOBDOTK_js.isTemplateElement(el));
265
+ const template = slide.elements.filter((el) => chunkLYS44KMG_js.isTemplateElement(el));
266
266
  if (template.length === 0) {
267
267
  return slide;
268
268
  }
269
269
  templateElementsBySlideId[slide.id] = template;
270
- return { ...slide, elements: slide.elements.filter((el) => !chunk2LOBDOTK_js.isTemplateElement(el)) };
270
+ return { ...slide, elements: slide.elements.filter((el) => !chunkLYS44KMG_js.isTemplateElement(el)) };
271
271
  });
272
272
  return { slides: nextSlides, templateElementsBySlideId };
273
273
  }
@@ -283,7 +283,7 @@ function buildSaveSlides(slides, templateElementsBySlideId) {
283
283
 
284
284
  // src/viewer/utils/image-style.ts
285
285
  function getImageMaskStyle(element) {
286
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
286
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
287
287
  return void 0;
288
288
  }
289
289
  const shapeType = element.shapeType;
@@ -292,7 +292,7 @@ function getImageMaskStyle(element) {
292
292
  }
293
293
  const normalized = shapeType.toLowerCase();
294
294
  if (normalized === "roundrect" || normalized === "round1rect" || normalized === "round2samerect" || normalized === "round2diagrect" || normalized === "sniproundrect" || normalized === "snip1rect" || normalized === "snip2diagrect") {
295
- const radiusPx = chunk2LOBDOTK_js.getRoundRectRadiusPx(element);
295
+ const radiusPx = chunkLYS44KMG_js.getRoundRectRadiusPx(element);
296
296
  if (radiusPx <= 0.01) {
297
297
  return void 0;
298
298
  }
@@ -304,7 +304,7 @@ function getImageMaskStyle(element) {
304
304
  if (normalized === "can" || normalized === "cylinder") {
305
305
  return { borderRadius: "48% / 12%" };
306
306
  }
307
- const clipPath = chunk2LOBDOTK_js.getResolvedShapeClipPath(element);
307
+ const clipPath = chunkLYS44KMG_js.getResolvedShapeClipPath(element);
308
308
  if (!clipPath) {
309
309
  return void 0;
310
310
  }
@@ -312,7 +312,7 @@ function getImageMaskStyle(element) {
312
312
  }
313
313
  function getImageRenderStyle(element) {
314
314
  const maskStyle = getImageMaskStyle(element) || {};
315
- if (!chunk2LOBDOTK_js.isImageLikeElement(element)) {
315
+ if (!chunkLYS44KMG_js.isImageLikeElement(element)) {
316
316
  return {
317
317
  ...maskStyle,
318
318
  width: "100%",
@@ -320,10 +320,10 @@ function getImageRenderStyle(element) {
320
320
  objectFit: "cover"
321
321
  };
322
322
  }
323
- const cropLeft = chunk2LOBDOTK_js.clampCropValue(element.cropLeft);
324
- const cropTop = chunk2LOBDOTK_js.clampCropValue(element.cropTop);
325
- const cropRight = chunk2LOBDOTK_js.clampCropValue(element.cropRight);
326
- const cropBottom = chunk2LOBDOTK_js.clampCropValue(element.cropBottom);
323
+ const cropLeft = chunkLYS44KMG_js.clampCropValue(element.cropLeft);
324
+ const cropTop = chunkLYS44KMG_js.clampCropValue(element.cropTop);
325
+ const cropRight = chunkLYS44KMG_js.clampCropValue(element.cropRight);
326
+ const cropBottom = chunkLYS44KMG_js.clampCropValue(element.cropBottom);
327
327
  const hasCrop = cropLeft + cropRight > 1e-4 || cropTop + cropBottom > 1e-4;
328
328
  if (!hasCrop) {
329
329
  return {
@@ -335,10 +335,10 @@ function getImageRenderStyle(element) {
335
335
  }
336
336
  const safeHorizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
337
337
  const safeVerticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
338
- const normalizedLeft = chunk2LOBDOTK_js.clampCropValue(cropLeft * safeHorizontalScale);
339
- const normalizedRight = chunk2LOBDOTK_js.clampCropValue(cropRight * safeHorizontalScale);
340
- const normalizedTop = chunk2LOBDOTK_js.clampCropValue(cropTop * safeVerticalScale);
341
- const normalizedBottom = chunk2LOBDOTK_js.clampCropValue(cropBottom * safeVerticalScale);
338
+ const normalizedLeft = chunkLYS44KMG_js.clampCropValue(cropLeft * safeHorizontalScale);
339
+ const normalizedRight = chunkLYS44KMG_js.clampCropValue(cropRight * safeHorizontalScale);
340
+ const normalizedTop = chunkLYS44KMG_js.clampCropValue(cropTop * safeVerticalScale);
341
+ const normalizedBottom = chunkLYS44KMG_js.clampCropValue(cropBottom * safeVerticalScale);
342
342
  const remainingWidth = Math.max(0.01, 1 - normalizedLeft - normalizedRight);
343
343
  const remainingHeight = Math.max(0.01, 1 - normalizedTop - normalizedBottom);
344
344
  const tx = Math.round(-normalizedLeft / remainingWidth * 1e4) / 100;
@@ -367,7 +367,7 @@ var CROP_SHAPE_CLIP_PATHS = {
367
367
  star: "polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)"
368
368
  };
369
369
  function getCropShapeClipPath(element) {
370
- if (!chunk2LOBDOTK_js.isImageLikeElement(element)) {
370
+ if (!chunkLYS44KMG_js.isImageLikeElement(element)) {
371
371
  return void 0;
372
372
  }
373
373
  const shape = element.cropShape;
@@ -377,7 +377,7 @@ function getCropShapeClipPath(element) {
377
377
  return CROP_SHAPE_CLIP_PATHS[shape];
378
378
  }
379
379
  function isImageTiled(element) {
380
- if (!chunk2LOBDOTK_js.isImageLikeElement(element)) {
380
+ if (!chunkLYS44KMG_js.isImageLikeElement(element)) {
381
381
  return false;
382
382
  }
383
383
  return typeof element.tileScaleX === "number" || typeof element.tileScaleY === "number";
@@ -435,7 +435,7 @@ function buildMirrorTiledBackground(src, flip, scaleX, scaleY) {
435
435
  };
436
436
  }
437
437
  function getImageTilingStyle(element) {
438
- if (!chunk2LOBDOTK_js.isImageLikeElement(element) || !isImageTiled(element)) {
438
+ if (!chunkLYS44KMG_js.isImageLikeElement(element) || !isImageTiled(element)) {
439
439
  return void 0;
440
440
  }
441
441
  const scaleX = typeof element.tileScaleX === "number" ? element.tileScaleX * 100 : 100;
@@ -719,7 +719,7 @@ function executeMediaCommand(command) {
719
719
  if (!el) {
720
720
  return false;
721
721
  }
722
- const parsed = chunk2LOBDOTK_js.parseMediaCommand(command.command);
722
+ const parsed = chunkLYS44KMG_js.parseMediaCommand(command.command);
723
723
  if (!parsed) {
724
724
  return false;
725
725
  }
@@ -1171,7 +1171,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
1171
1171
 
1172
1172
  // src/viewer/utils/text-utils.tsx
1173
1173
  function getTextStyleForElement(element, fallbackColor) {
1174
- if (!chunk2LOBDOTK_js.hasTextProperties(element)) {
1174
+ if (!chunkLYS44KMG_js.hasTextProperties(element)) {
1175
1175
  return { color: fallbackColor };
1176
1176
  }
1177
1177
  const textDecorationTokens = [];
@@ -1185,7 +1185,7 @@ function getTextStyleForElement(element, fallbackColor) {
1185
1185
  const textDecorationStyle = isDoubleStrike ? "double" : void 0;
1186
1186
  const hasItalicRuns = element.textStyle?.italic || Boolean(element.textSegments?.some((segment) => segment.style?.italic));
1187
1187
  const isRtl = element.textStyle?.rtl === true;
1188
- const resolvedTextColor = element.textStyle?.hyperlink ? chunk2LOBDOTK_js.normalizeHexColor(element.textStyle?.color, HYPERLINK_COLOR) : chunk2LOBDOTK_js.normalizeHexColor(element.textStyle?.color, fallbackColor);
1188
+ const resolvedTextColor = element.textStyle?.hyperlink ? chunkLYS44KMG_js.normalizeHexColor(element.textStyle?.color, HYPERLINK_COLOR) : chunkLYS44KMG_js.normalizeHexColor(element.textStyle?.color, fallbackColor);
1189
1189
  const bodyTop = element.textStyle?.bodyInsetTop ?? DEFAULT_BODY_INSET_TB_PX;
1190
1190
  const bodyBottom = element.textStyle?.bodyInsetBottom ?? DEFAULT_BODY_INSET_TB_PX;
1191
1191
  const bodyLeft = element.textStyle?.bodyInsetLeft ?? DEFAULT_BODY_INSET_LR_PX;
@@ -1194,15 +1194,15 @@ function getTextStyleForElement(element, fallbackColor) {
1194
1194
  const bodyIndent = hasParagraphIndents ? 0 : element.textStyle?.paragraphIndent || 0;
1195
1195
  const bodyMarginLeft = hasParagraphIndents ? 0 : element.textStyle?.paragraphMarginLeft || 0;
1196
1196
  const bodyMarginRight = hasParagraphIndents ? 0 : element.textStyle?.paragraphMarginRight || 0;
1197
- const writingMode = chunk2LOBDOTK_js.toCssWritingMode(element.textStyle?.textDirection);
1198
- const textOrientation = chunk2LOBDOTK_js.toCssTextOrientation(element.textStyle?.textDirection);
1199
- const verticalDirection = chunk2LOBDOTK_js.toCssVerticalDirection(element.textStyle?.textDirection);
1197
+ const writingMode = chunkLYS44KMG_js.toCssWritingMode(element.textStyle?.textDirection);
1198
+ const textOrientation = chunkLYS44KMG_js.toCssTextOrientation(element.textStyle?.textDirection);
1199
+ const verticalDirection = chunkLYS44KMG_js.toCssVerticalDirection(element.textStyle?.textDirection);
1200
1200
  const resolvedDirection = verticalDirection || (isRtl ? "rtl" : "ltr");
1201
1201
  const resolvedUnicodeBidi = isRtl ? "plaintext" : void 0;
1202
1202
  const hasSegments = (element.textSegments?.length ?? 0) > 0;
1203
1203
  return {
1204
1204
  color: resolvedTextColor,
1205
- backgroundColor: !hasSegments && element.textStyle?.highlightColor ? chunk2LOBDOTK_js.normalizeHexColor(element.textStyle.highlightColor, void 0) : void 0,
1205
+ backgroundColor: !hasSegments && element.textStyle?.highlightColor ? chunkLYS44KMG_js.normalizeHexColor(element.textStyle.highlightColor, void 0) : void 0,
1206
1206
  textAlign: (() => {
1207
1207
  const a = element.textStyle?.align;
1208
1208
  if (a === "justLow" || a === "dist" || a === "thaiDist") {
@@ -1218,7 +1218,7 @@ function getTextStyleForElement(element, fallbackColor) {
1218
1218
  textDecorationLine: textDecorationTokens.length > 0 ? textDecorationTokens.join(" ") : "none",
1219
1219
  textDecorationStyle,
1220
1220
  fontFamily: element.textStyle?.fontFamily || DEFAULT_FONT_FAMILY,
1221
- lineHeight: chunk2LOBDOTK_js.resolveLineHeight(element.textStyle, hasItalicRuns),
1221
+ lineHeight: chunkLYS44KMG_js.resolveLineHeight(element.textStyle, hasItalicRuns),
1222
1222
  paddingTop: bodyTop + (hasItalicRuns ? 1 : 0),
1223
1223
  paddingBottom: bodyBottom + (hasItalicRuns ? 1 : 0),
1224
1224
  paddingLeft: bodyLeft + bodyMarginLeft,
@@ -1231,7 +1231,7 @@ function getTextStyleForElement(element, fallbackColor) {
1231
1231
  // Auto-fit: use OOXML-provided fontScale/lnSpcReduction when available,
1232
1232
  // otherwise fall back to heuristic estimation. The pure font-scale maths
1233
1233
  // now lives in pptx-viewer-shared (computeAutoFitTextStyle).
1234
- ...chunk2LOBDOTK_js.computeAutoFitTextStyle({
1234
+ ...chunkLYS44KMG_js.computeAutoFitTextStyle({
1235
1235
  textStyle: element.textStyle,
1236
1236
  text: element.text ?? "",
1237
1237
  width: element.width,
@@ -1265,13 +1265,13 @@ function computeTabSize(tabStops, defaultTabSize) {
1265
1265
  return avgGap > 0 ? `${Math.round(avgGap)}px` : fromDefault;
1266
1266
  }
1267
1267
  function getTextLayoutStyle(element) {
1268
- if (!chunk2LOBDOTK_js.hasTextProperties(element)) {
1268
+ if (!chunkLYS44KMG_js.hasTextProperties(element)) {
1269
1269
  return {};
1270
1270
  }
1271
1271
  const verticalAlign = element.textStyle?.vAlign || "top";
1272
- const writingMode = chunk2LOBDOTK_js.toCssWritingMode(element.textStyle?.textDirection);
1273
- const textOrientation = chunk2LOBDOTK_js.toCssTextOrientation(element.textStyle?.textDirection);
1274
- const verticalDirection = chunk2LOBDOTK_js.toCssVerticalDirection(element.textStyle?.textDirection);
1272
+ const writingMode = chunkLYS44KMG_js.toCssWritingMode(element.textStyle?.textDirection);
1273
+ const textOrientation = chunkLYS44KMG_js.toCssTextOrientation(element.textStyle?.textDirection);
1274
+ const verticalDirection = chunkLYS44KMG_js.toCssVerticalDirection(element.textStyle?.textDirection);
1275
1275
  const parsedColumnCount = Number(element.textStyle?.columnCount);
1276
1276
  const columnCount = Number.isFinite(parsedColumnCount) ? Math.max(1, Math.min(16, Math.round(parsedColumnCount))) : 1;
1277
1277
  const hasColumns = columnCount > 1;
@@ -1279,7 +1279,7 @@ function getTextLayoutStyle(element) {
1279
1279
  const tabStops = element.textStyle?.tabStops;
1280
1280
  const tabSize = computeTabSize(tabStops, element.textStyle?.defaultTabSize);
1281
1281
  const textWrapNone = element.textStyle?.textWrap === "none";
1282
- const hasParagraphIndents = chunk2LOBDOTK_js.hasTextProperties(element) && element.paragraphIndents && element.paragraphIndents.length > 0;
1282
+ const hasParagraphIndents = chunkLYS44KMG_js.hasTextProperties(element) && element.paragraphIndents && element.paragraphIndents.length > 0;
1283
1283
  const paragraphMarginLeft = element.textStyle?.paragraphMarginLeft;
1284
1284
  const paragraphIndent = element.textStyle?.paragraphIndent;
1285
1285
  const marginLeft = !hasParagraphIndents && typeof paragraphMarginLeft === "number" && paragraphMarginLeft !== 0 ? paragraphMarginLeft : void 0;
@@ -1288,7 +1288,7 @@ function getTextLayoutStyle(element) {
1288
1288
  const bodyBottom = element.textStyle?.bodyInsetBottom ?? DEFAULT_BODY_INSET_TB_PX;
1289
1289
  const parsedColumnSpacing = Number(element.textStyle?.columnSpacing);
1290
1290
  const columnGap = Number.isFinite(parsedColumnSpacing) && parsedColumnSpacing > 0 ? `${parsedColumnSpacing}px` : "0.75em";
1291
- const kinsokuStyles = chunk2LOBDOTK_js.getKinsokuLineBreakStyles(element.textStyle);
1291
+ const kinsokuStyles = chunkLYS44KMG_js.getKinsokuLineBreakStyles(element.textStyle);
1292
1292
  if (hasColumns) {
1293
1293
  return {
1294
1294
  display: "block",
@@ -1335,10 +1335,10 @@ function getTextLayoutStyle(element) {
1335
1335
 
1336
1336
  // src/viewer/utils/text-effects.tsx
1337
1337
  function buildTextFillCss2(style) {
1338
- return chunk2LOBDOTK_js.buildTextFillCss(style);
1338
+ return chunkLYS44KMG_js.buildTextFillCss(style);
1339
1339
  }
1340
1340
  function buildTextBody3DSceneStyle2(textStyle) {
1341
- return chunk2LOBDOTK_js.buildTextBody3DSceneStyle(textStyle);
1341
+ return chunkLYS44KMG_js.buildTextBody3DSceneStyle(textStyle);
1342
1342
  }
1343
1343
 
1344
1344
  // src/viewer/utils/text-warp-css.tsx
@@ -1523,13 +1523,13 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
1523
1523
  if (!subElementAnimStates || subElementAnimStates.size === 0) {
1524
1524
  return renderedSegments;
1525
1525
  }
1526
- const paraKey = `${elementId}${chunk2LOBDOTK_js.TEXT_BUILD_ID_SEP}p${paraIndex}`;
1526
+ const paraKey = `${elementId}${chunkLYS44KMG_js.TEXT_BUILD_ID_SEP}p${paraIndex}`;
1527
1527
  const paraState = subElementAnimStates.get(paraKey);
1528
1528
  if (paraState) {
1529
1529
  const style = buildAnimStyle(paraState);
1530
1530
  return /* @__PURE__ */ jsxRuntime.jsx("span", { "data-anim-id": paraKey, style: { display: "inline", ...style }, children: renderedSegments }, paraKey);
1531
1531
  }
1532
- const spec = chunk2LOBDOTK_js.buildTextBuildSpec(
1532
+ const spec = chunkLYS44KMG_js.buildTextBuildSpec(
1533
1533
  elementId,
1534
1534
  paraIndex,
1535
1535
  paraSegments.map((entry) => ({ text: entry.segment.text, style: entry })),
@@ -1547,7 +1547,7 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
1547
1547
  "span",
1548
1548
  {
1549
1549
  "data-anim-id": span.animId,
1550
- style: chunk2LOBDOTK_js.textBuildSpanStyle(span),
1550
+ style: chunkLYS44KMG_js.textBuildSpanStyle(span),
1551
1551
  children: content
1552
1552
  },
1553
1553
  span.animId
@@ -1691,10 +1691,10 @@ function renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFami
1691
1691
  if (!needsScriptFonts || !text) {
1692
1692
  return text;
1693
1693
  }
1694
- const runs = chunk2LOBDOTK_js.segmentByScript(text);
1694
+ const runs = chunkLYS44KMG_js.segmentByScript(text);
1695
1695
  if (runs.length <= 1) {
1696
1696
  if (runs.length === 1) {
1697
- const font = chunk2LOBDOTK_js.resolveFontForScript(runs[0].script, scriptFonts);
1697
+ const font = chunkLYS44KMG_js.resolveFontForScript(runs[0].script, scriptFonts);
1698
1698
  if (font && font !== baseFontFamily) {
1699
1699
  return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontFamily: font }, children: text });
1700
1700
  }
@@ -1702,7 +1702,7 @@ function renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFami
1702
1702
  return text;
1703
1703
  }
1704
1704
  return runs.map((run, i) => {
1705
- const font = chunk2LOBDOTK_js.resolveFontForScript(run.script, scriptFonts);
1705
+ const font = chunkLYS44KMG_js.resolveFontForScript(run.script, scriptFonts);
1706
1706
  if (!font || font === baseFontFamily) {
1707
1707
  return /* @__PURE__ */ jsxRuntime.jsx(React6__default.default.Fragment, { children: run.text }, `${keyPrefix}-r${i}`);
1708
1708
  }
@@ -1774,8 +1774,8 @@ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsSc
1774
1774
  );
1775
1775
  }
1776
1776
  function renderEquationSegment(elementId, segmentIndex, equationXml, equationNumber) {
1777
- const mathml = chunk2LOBDOTK_js.convertOmmlToMathMl(equationXml);
1778
- const safeMathml = mathml ? chunk2LOBDOTK_js.sanitizeMathMl(mathml) : "";
1777
+ const mathml = chunkLYS44KMG_js.convertOmmlToMathMl(equationXml);
1778
+ const safeMathml = mathml ? chunkLYS44KMG_js.sanitizeMathMl(mathml) : "";
1779
1779
  const equationContent = safeMathml ? /* @__PURE__ */ jsxRuntime.jsx(
1780
1780
  "span",
1781
1781
  {
@@ -1825,7 +1825,7 @@ function renderEquationSegment(elementId, segmentIndex, equationXml, equationNum
1825
1825
  return /* @__PURE__ */ jsxRuntime.jsx("span", { children: equationContent }, `${elementId}-seg-${segmentIndex}`);
1826
1826
  }
1827
1827
  function renderPictureBullet(elementId, segmentIndex, bulletInfo, baseFontSize) {
1828
- const picture = chunk2LOBDOTK_js.resolvePictureBullet(bulletInfo, baseFontSize) ?? {
1828
+ const picture = chunkLYS44KMG_js.resolvePictureBullet(bulletInfo, baseFontSize) ?? {
1829
1829
  sizePx: baseFontSize,
1830
1830
  fallbackMarker: "\u2022",
1831
1831
  accessibleLabel: "Bullet"
@@ -1876,7 +1876,7 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1876
1876
  }
1877
1877
  const segmentStyle = segment.style || {};
1878
1878
  const rawText = bulletInfo && typeof bulletHangPx === "number" ? (segment.text || "").trimEnd() : segment.text || "";
1879
- const textValue = chunk2LOBDOTK_js.substituteFieldText(rawText, segment.fieldType, fieldContext);
1879
+ const textValue = chunkLYS44KMG_js.substituteFieldText(rawText, segment.fieldType, fieldContext);
1880
1880
  const lines = textValue.split("\n");
1881
1881
  const textDecorationTokens = [];
1882
1882
  if (segmentStyle.underline || segmentStyle.hyperlink) {
@@ -1886,8 +1886,8 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1886
1886
  textDecorationTokens.push("line-through");
1887
1887
  }
1888
1888
  const isDoubleStrike = segmentStyle.strikethrough && segmentStyle.strikeType === "dblStrike";
1889
- const resolvedSegmentColor = segmentStyle.hyperlink ? chunk2LOBDOTK_js.normalizeHexColor(segmentStyle.color || element.textStyle?.color, HYPERLINK_COLOR) : chunk2LOBDOTK_js.normalizeHexColor(segmentStyle.color || element.textStyle?.color, fallbackColor);
1890
- const underlineDecoration = chunk2LOBDOTK_js.resolveUnderlineDecorationStyle(
1889
+ const resolvedSegmentColor = segmentStyle.hyperlink ? chunkLYS44KMG_js.normalizeHexColor(segmentStyle.color || element.textStyle?.color, HYPERLINK_COLOR) : chunkLYS44KMG_js.normalizeHexColor(segmentStyle.color || element.textStyle?.color, fallbackColor);
1890
+ const underlineDecoration = chunkLYS44KMG_js.resolveUnderlineDecorationStyle(
1891
1891
  Boolean(isDoubleStrike),
1892
1892
  segmentStyle.underlineStyle
1893
1893
  );
@@ -1903,14 +1903,14 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1903
1903
  const baseFontSizePt = baseFontSize * (72 / 96);
1904
1904
  const fontKerning = typeof segmentStyle.kerning === "number" ? segmentStyle.kerning === 0 ? "none" : baseFontSizePt >= segmentStyle.kerning / 100 ? "normal" : "none" : void 0;
1905
1905
  const rawFontFamily = segmentStyle.fontFamily || element.textStyle?.fontFamily;
1906
- const baseFontFamily = rawFontFamily ? chunk2LOBDOTK_js.getSubstituteFontFamily(rawFontFamily) : DEFAULT_FONT_FAMILY;
1906
+ const baseFontFamily = rawFontFamily ? chunkLYS44KMG_js.getSubstituteFontFamily(rawFontFamily) : DEFAULT_FONT_FAMILY;
1907
1907
  const scriptFonts = {
1908
1908
  latin: baseFontFamily,
1909
1909
  eastAsia: segmentStyle.eastAsiaFont || element.textStyle?.eastAsiaFont || baseFontFamily,
1910
1910
  complexScript: segmentStyle.complexScriptFont || element.textStyle?.complexScriptFont || baseFontFamily,
1911
1911
  symbol: segmentStyle.symbolFont || element.textStyle?.symbolFont || baseFontFamily
1912
1912
  };
1913
- const needsScriptFonts = chunk2LOBDOTK_js.hasDistinctScriptFonts(scriptFonts);
1913
+ const needsScriptFonts = chunkLYS44KMG_js.hasDistinctScriptFonts(scriptFonts);
1914
1914
  const spanStyle = {
1915
1915
  color: resolvedSegmentColor,
1916
1916
  fontSize: baseFontSize * baselineFontScale,
@@ -1928,15 +1928,15 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1928
1928
  fontVariantCaps: segmentStyle.textCaps === "small" ? "small-caps" : void 0,
1929
1929
  letterSpacing,
1930
1930
  fontKerning,
1931
- backgroundColor: textFillStyles ? void 0 : segmentStyle.highlightColor ? chunk2LOBDOTK_js.normalizeHexColor(segmentStyle.highlightColor, "transparent") : void 0,
1931
+ backgroundColor: textFillStyles ? void 0 : segmentStyle.highlightColor ? chunkLYS44KMG_js.normalizeHexColor(segmentStyle.highlightColor, "transparent") : void 0,
1932
1932
  ...textFillStyles,
1933
- textDecorationColor: segmentStyle.underlineColor ? chunk2LOBDOTK_js.normalizeHexColor(segmentStyle.underlineColor, void 0) : void 0,
1934
- WebkitTextStroke: segmentStyle.textOutlineWidth && segmentStyle.textOutlineColor ? `${segmentStyle.textOutlineWidth}px ${chunk2LOBDOTK_js.normalizeHexColor(segmentStyle.textOutlineColor, "#000000")}` : segmentStyle.textOutlineWidth ? `${segmentStyle.textOutlineWidth}px currentColor` : void 0,
1933
+ textDecorationColor: segmentStyle.underlineColor ? chunkLYS44KMG_js.normalizeHexColor(segmentStyle.underlineColor, void 0) : void 0,
1934
+ WebkitTextStroke: segmentStyle.textOutlineWidth && segmentStyle.textOutlineColor ? `${segmentStyle.textOutlineWidth}px ${chunkLYS44KMG_js.normalizeHexColor(segmentStyle.textOutlineColor, "#000000")}` : segmentStyle.textOutlineWidth ? `${segmentStyle.textOutlineWidth}px currentColor` : void 0,
1935
1935
  paintOrder: segmentStyle.textOutlineWidth ? "stroke fill" : void 0,
1936
- textShadow: chunk2LOBDOTK_js.buildTextShadowCss(segmentStyle),
1937
- filter: chunk2LOBDOTK_js.buildTextRunFilterChain(segmentStyle),
1938
- opacity: chunk2LOBDOTK_js.getTextAlphaOpacity(segmentStyle),
1939
- WebkitBoxReflect: chunk2LOBDOTK_js.buildTextReflectionCss(segmentStyle)
1936
+ textShadow: chunkLYS44KMG_js.buildTextShadowCss(segmentStyle),
1937
+ filter: chunkLYS44KMG_js.buildTextRunFilterChain(segmentStyle),
1938
+ opacity: chunkLYS44KMG_js.getTextAlphaOpacity(segmentStyle),
1939
+ WebkitBoxReflect: chunkLYS44KMG_js.buildTextReflectionCss(segmentStyle)
1940
1940
  };
1941
1941
  const runRtl = segmentStyle.rtl;
1942
1942
  if (runRtl !== void 0 && runRtl !== paragraphRtl) {
@@ -1956,7 +1956,7 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1956
1956
  spanStyle.fontSize = baseFontSize * (bulletInfo.sizePercent / 100) * baselineFontScale;
1957
1957
  }
1958
1958
  if (bulletInfo.color) {
1959
- spanStyle.color = chunk2LOBDOTK_js.normalizeHexColor(bulletInfo.color, resolvedSegmentColor);
1959
+ spanStyle.color = chunkLYS44KMG_js.normalizeHexColor(bulletInfo.color, resolvedSegmentColor);
1960
1960
  }
1961
1961
  if (typeof bulletHangPx === "number" && bulletHangPx > 0) {
1962
1962
  spanStyle.display = "inline-block";
@@ -2001,7 +2001,7 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
2001
2001
  textAlign: segment.rubyAlignment === "l" ? "left" : segment.rubyAlignment === "r" ? "right" : segment.rubyAlignment === "dist" || segment.rubyAlignment === "distCat" || segment.rubyAlignment === "distLetter" ? "justify" : "center"
2002
2002
  };
2003
2003
  if (segment.rubyStyle?.color) {
2004
- rubyStyle.color = chunk2LOBDOTK_js.normalizeHexColor(segment.rubyStyle.color, resolvedSegmentColor);
2004
+ rubyStyle.color = chunkLYS44KMG_js.normalizeHexColor(segment.rubyStyle.color, resolvedSegmentColor);
2005
2005
  }
2006
2006
  innerContent = /* @__PURE__ */ jsxRuntime.jsxs("ruby", { children: [
2007
2007
  baseContent,
@@ -2096,7 +2096,7 @@ function groupSegmentsIntoParagraphs(segments) {
2096
2096
  return paragraphs;
2097
2097
  }
2098
2098
  function renderTextSegments(element, fallbackColor, emptyFallback, findHighlights, onHyperlinkClick, fieldContext, subElementAnimStates, segmentOverrides, requireCtrlClick) {
2099
- if (!chunk2LOBDOTK_js.hasTextProperties(element)) {
2099
+ if (!chunkLYS44KMG_js.hasTextProperties(element)) {
2100
2100
  return emptyFallback || null;
2101
2101
  }
2102
2102
  const effectiveSegments = segmentOverrides ?? element.textSegments;
@@ -2117,10 +2117,10 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2117
2117
  return element.text || emptyFallback || "";
2118
2118
  }
2119
2119
  const paragraphs = groupSegmentsIntoParagraphs(effectiveSegments);
2120
- const paragraphIndents = chunk2LOBDOTK_js.hasTextProperties(element) ? element.paragraphIndents : void 0;
2121
- const elementRtl = chunk2LOBDOTK_js.hasTextProperties(element) ? element.textStyle?.rtl : void 0;
2122
- const elementAlign = chunk2LOBDOTK_js.hasTextProperties(element) ? element.textStyle?.align : void 0;
2123
- const bodyStyle = chunk2LOBDOTK_js.hasTextProperties(element) ? element.textStyle : void 0;
2120
+ const paragraphIndents = chunkLYS44KMG_js.hasTextProperties(element) ? element.paragraphIndents : void 0;
2121
+ const elementRtl = chunkLYS44KMG_js.hasTextProperties(element) ? element.textStyle?.rtl : void 0;
2122
+ const elementAlign = chunkLYS44KMG_js.hasTextProperties(element) ? element.textStyle?.align : void 0;
2123
+ const bodyStyle = chunkLYS44KMG_js.hasTextProperties(element) ? element.textStyle : void 0;
2124
2124
  const spaceFirstLast = bodyStyle?.spaceFirstLastParagraph !== false;
2125
2125
  return paragraphs.map(({ entries: paraSegments, terminator }, paraIndex) => {
2126
2126
  const paraIndent = paragraphIndents?.[paraIndex];
@@ -2135,14 +2135,14 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2135
2135
  return Boolean(segment.text) && segment.text.trim().length > 0;
2136
2136
  });
2137
2137
  const hasBullet = bulletInfo && !bulletInfo.none && hasVisibleTextContent;
2138
- const paraRtl = chunk2LOBDOTK_js.resolveParagraphRtl(paraSegments, elementRtl);
2138
+ const paraRtl = chunkLYS44KMG_js.resolveParagraphRtl(paraSegments, elementRtl);
2139
2139
  const isRtlParagraph = paraRtl === true;
2140
- const paraAlign = chunk2LOBDOTK_js.resolveParagraphAlign(paraSegments, elementAlign);
2141
- const cssTextAlign = chunk2LOBDOTK_js.resolveCssTextAlign(paraAlign, isRtlParagraph);
2140
+ const paraAlign = chunkLYS44KMG_js.resolveParagraphAlign(paraSegments, elementAlign);
2141
+ const cssTextAlign = chunkLYS44KMG_js.resolveCssTextAlign(paraAlign, isRtlParagraph);
2142
2142
  const paraMarginLeft = isRtlParagraph ? void 0 : rawMarginLeft;
2143
2143
  const paraMarginRight = isRtlParagraph ? rawMarginLeft : void 0;
2144
2144
  const paraTextIndent = rawTextIndent;
2145
- const paraKinsokuStyle = chunk2LOBDOTK_js.getKinsokuLineBreakStyles(firstSeg?.segment.style);
2145
+ const paraKinsokuStyle = chunkLYS44KMG_js.getKinsokuLineBreakStyles(firstSeg?.segment.style);
2146
2146
  const hasParaKinsoku = Object.keys(paraKinsokuStyle).length > 0;
2147
2147
  const paraProps = effectiveSegments[firstSeg?.globalIndex ?? -1]?.paragraphProperties ?? (paraSegments.length === 0 ? terminator?.paragraphProperties : void 0);
2148
2148
  const spacing = resolveParagraphSpacing({
@@ -2152,7 +2152,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2152
2152
  isLast: paraIndex === paragraphs.length - 1,
2153
2153
  spaceFirstLast
2154
2154
  });
2155
- const strutFontSize = chunk2LOBDOTK_js.resolveParagraphStrutFontSize(
2155
+ const strutFontSize = chunkLYS44KMG_js.resolveParagraphStrutFontSize(
2156
2156
  paraSegments.length > 0 ? paraSegments.map(({ segment }) => segment) : terminator ? [terminator] : [],
2157
2157
  bodyStyle?.fontSize
2158
2158
  );
@@ -2256,13 +2256,13 @@ function hexToRgbUnit(hex) {
2256
2256
  };
2257
2257
  }
2258
2258
  function getDuotoneColors(element) {
2259
- if (!chunk2LOBDOTK_js.isImageLikeElement(element)) {
2259
+ if (!chunkLYS44KMG_js.isImageLikeElement(element)) {
2260
2260
  return void 0;
2261
2261
  }
2262
2262
  return element.imageEffects?.duotone;
2263
2263
  }
2264
2264
  function buildLineShadowCss(element) {
2265
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
2265
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
2266
2266
  return void 0;
2267
2267
  }
2268
2268
  const ss = element.shapeStyle;
@@ -2273,13 +2273,13 @@ function buildLineShadowCss(element) {
2273
2273
  const offsetY = typeof ss.lineShadowOffsetY === "number" ? ss.lineShadowOffsetY : 2;
2274
2274
  const blur = typeof ss.lineShadowBlur === "number" ? Math.max(0, ss.lineShadowBlur) : 4;
2275
2275
  const opacity = typeof ss.lineShadowOpacity === "number" ? Math.max(0, Math.min(1, ss.lineShadowOpacity)) : 0.35;
2276
- return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${chunk2LOBDOTK_js.colorWithOpacity(
2277
- chunk2LOBDOTK_js.normalizeHexColor(ss.lineShadowColor, "#000000"),
2276
+ return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${chunkLYS44KMG_js.colorWithOpacity(
2277
+ chunkLYS44KMG_js.normalizeHexColor(ss.lineShadowColor, "#000000"),
2278
2278
  opacity
2279
2279
  )}`;
2280
2280
  }
2281
2281
  function buildLineGlowFilter(element) {
2282
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
2282
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
2283
2283
  return void 0;
2284
2284
  }
2285
2285
  const ss = element.shapeStyle;
@@ -2288,7 +2288,7 @@ function buildLineGlowFilter(element) {
2288
2288
  }
2289
2289
  const glowOpacity = typeof ss.lineGlowOpacity === "number" ? ss.lineGlowOpacity : 0.75;
2290
2290
  const glowRad = Math.round(Math.max(0, ss.lineGlowRadius));
2291
- const glowCol = chunk2LOBDOTK_js.colorWithOpacity(chunk2LOBDOTK_js.normalizeHexColor(ss.lineGlowColor, "#ffff00"), glowOpacity);
2291
+ const glowCol = chunkLYS44KMG_js.colorWithOpacity(chunkLYS44KMG_js.normalizeHexColor(ss.lineGlowColor, "#ffff00"), glowOpacity);
2292
2292
  return `drop-shadow(0 0 ${glowRad}px ${glowCol})`;
2293
2293
  }
2294
2294
  function mapDagBlendModeToCss(blend) {
@@ -2312,7 +2312,7 @@ function getDagDuotoneFilterId(elementId) {
2312
2312
  return `dag-duotone-${elementId}`;
2313
2313
  }
2314
2314
  function hasDagDuotoneEffect(element) {
2315
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
2315
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
2316
2316
  return false;
2317
2317
  }
2318
2318
  return Boolean(element.shapeStyle?.dagDuotone);
@@ -2375,7 +2375,7 @@ function getRoundRectRadiusPx2(element) {
2375
2375
 
2376
2376
  // src/viewer/utils/shape-visual-3d.ts
2377
2377
  function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elementHeight) {
2378
- return chunk2LOBDOTK_js.build3DExtrusionData(
2378
+ return chunkLYS44KMG_js.build3DExtrusionData(
2379
2379
  shape3d,
2380
2380
  scene3d,
2381
2381
  fillColor,
@@ -2384,7 +2384,7 @@ function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elemen
2384
2384
  );
2385
2385
  }
2386
2386
  function apply3dEffects2(base, scene3d, shape3d, fillColorFallback) {
2387
- chunk2LOBDOTK_js.apply3dEffects(base, scene3d, shape3d, fillColorFallback);
2387
+ chunkLYS44KMG_js.apply3dEffects(base, scene3d, shape3d, fillColorFallback);
2388
2388
  }
2389
2389
 
2390
2390
  // src/viewer/utils/vector-subpath-paint.ts
@@ -2393,7 +2393,7 @@ function toHexByte(value) {
2393
2393
  return clamped.toString(16).padStart(2, "0");
2394
2394
  }
2395
2395
  function shiftHex(hex, factor, towardsWhite) {
2396
- const channels = chunk2LOBDOTK_js.hexToRgbChannels(hex);
2396
+ const channels = chunkLYS44KMG_js.hexToRgbChannels(hex);
2397
2397
  if (!channels) {
2398
2398
  return hex;
2399
2399
  }
@@ -2419,13 +2419,13 @@ function buildCustomSubpathPaints(subpaths, hasFill, fillColor, fillOpacity) {
2419
2419
  const fillOff = subpath.fillMode === "none" || !hasFill;
2420
2420
  return {
2421
2421
  d: subpath.d,
2422
- fill: fillOff ? "none" : chunk2LOBDOTK_js.colorWithOpacity(adjustFillForMode(fillColor, subpath.fillMode), fillOpacity),
2422
+ fill: fillOff ? "none" : chunkLYS44KMG_js.colorWithOpacity(adjustFillForMode(fillColor, subpath.fillMode), fillOpacity),
2423
2423
  stroked: subpath.stroke !== false
2424
2424
  };
2425
2425
  });
2426
2426
  }
2427
2427
  function getStrokeOnlyPresetPaths(element) {
2428
- if (element.type !== "shape" || !chunk2LOBDOTK_js.hasShapeProperties(element)) {
2428
+ if (element.type !== "shape" || !chunkLYS44KMG_js.hasShapeProperties(element)) {
2429
2429
  return void 0;
2430
2430
  }
2431
2431
  const shapeType = element.shapeType;
@@ -2435,7 +2435,7 @@ function getStrokeOnlyPresetPaths(element) {
2435
2435
  if (element.pathData) {
2436
2436
  return void 0;
2437
2437
  }
2438
- const result = chunk2LOBDOTK_js.evaluatePresetShape(
2438
+ const result = chunkLYS44KMG_js.evaluatePresetShape(
2439
2439
  shapeType,
2440
2440
  Math.max(element.width, 1),
2441
2441
  Math.max(element.height, 1),
@@ -2450,27 +2450,27 @@ function getStrokeOnlyPresetPaths(element) {
2450
2450
 
2451
2451
  // src/viewer/utils/shape-visual-style.ts
2452
2452
  function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeColor, animatesFill, animatesStroke) {
2453
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
2453
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
2454
2454
  return {};
2455
2455
  }
2456
2456
  const normalizedShapeType = getShapeType(element.shapeType);
2457
- const clipPath = chunk2LOBDOTK_js.getResolvedShapeClipPath(element);
2457
+ const clipPath = chunkLYS44KMG_js.getResolvedShapeClipPath(element);
2458
2458
  const rendersCustomVectorPath = (element.type === "shape" || element.type === "image" || element.type === "picture") && Boolean(element.pathData) && typeof element.pathWidth === "number" && element.pathWidth > 0 && typeof element.pathHeight === "number" && element.pathHeight > 0;
2459
2459
  const rendersStrokeOnlyPreset = Boolean(getStrokeOnlyPresetPaths(element));
2460
2460
  const fillOpacity = element.shapeStyle?.fillOpacity;
2461
2461
  const strokeOpacity = element.shapeStyle?.strokeOpacity;
2462
- const strokeDash = chunk2LOBDOTK_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
2463
- const fillGradient = chunk2LOBDOTK_js.buildCssGradientFromShapeStyle(element.shapeStyle) || element.shapeStyle?.fillGradient;
2464
- const shadowCss = chunk2LOBDOTK_js.buildShadowCssFromShapeStyle(element.shapeStyle);
2465
- const innerShadowCss = chunk2LOBDOTK_js.buildInnerShadowCssFromShapeStyle(element.shapeStyle);
2466
- const resolvedFillColor = chunk2LOBDOTK_js.colorWithOpacity(fillColor, fillOpacity);
2467
- const resolvedStrokeColor = chunk2LOBDOTK_js.colorWithOpacity(strokeColor, strokeOpacity);
2462
+ const strokeDash = chunkLYS44KMG_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
2463
+ const fillGradient = chunkLYS44KMG_js.buildCssGradientFromShapeStyle(element.shapeStyle) || element.shapeStyle?.fillGradient;
2464
+ const shadowCss = chunkLYS44KMG_js.buildShadowCssFromShapeStyle(element.shapeStyle);
2465
+ const innerShadowCss = chunkLYS44KMG_js.buildInnerShadowCssFromShapeStyle(element.shapeStyle);
2466
+ const resolvedFillColor = chunkLYS44KMG_js.colorWithOpacity(fillColor, fillOpacity);
2467
+ const resolvedStrokeColor = chunkLYS44KMG_js.colorWithOpacity(strokeColor, strokeOpacity);
2468
2468
  const ss = element.shapeStyle;
2469
2469
  const hasFillOverlayColor = Boolean(
2470
2470
  ss?.dagFillOverlayColor && ss.dagFillOverlayColor !== "transparent"
2471
2471
  );
2472
2472
  const combinedShadowParts = [];
2473
- const multiLayerShadow = chunk2LOBDOTK_js.buildMultiLayerShadowCss(element.shapeStyle);
2473
+ const multiLayerShadow = chunkLYS44KMG_js.buildMultiLayerShadowCss(element.shapeStyle);
2474
2474
  if (multiLayerShadow) {
2475
2475
  combinedShadowParts.push(multiLayerShadow);
2476
2476
  } else if (shadowCss) {
@@ -2479,7 +2479,7 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2479
2479
  if (innerShadowCss) {
2480
2480
  combinedShadowParts.push(innerShadowCss);
2481
2481
  }
2482
- const glowBoxShadow = chunk2LOBDOTK_js.buildGlowBoxShadow(ss?.glowColor, ss?.glowRadius, ss?.glowOpacity);
2482
+ const glowBoxShadow = chunkLYS44KMG_js.buildGlowBoxShadow(ss?.glowColor, ss?.glowRadius, ss?.glowOpacity);
2483
2483
  if (glowBoxShadow) {
2484
2484
  combinedShadowParts.push(glowBoxShadow);
2485
2485
  }
@@ -2487,7 +2487,7 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2487
2487
  if (lineShadow) {
2488
2488
  combinedShadowParts.push(lineShadow);
2489
2489
  }
2490
- const compoundLineShadow = chunk2LOBDOTK_js.getCompoundLineBoxShadow(
2490
+ const compoundLineShadow = chunkLYS44KMG_js.getCompoundLineBoxShadow(
2491
2491
  element.shapeStyle?.compoundLine,
2492
2492
  strokeWidth,
2493
2493
  resolvedStrokeColor
@@ -2500,11 +2500,11 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2500
2500
  if (ss?.glowColor && ss.glowColor !== "transparent" && ss.glowRadius) {
2501
2501
  const glowOpacity = typeof ss.glowOpacity === "number" ? ss.glowOpacity : 0.75;
2502
2502
  const glowRad = Math.round(Math.max(0, ss.glowRadius));
2503
- const glowCol = chunk2LOBDOTK_js.colorWithOpacity(chunk2LOBDOTK_js.normalizeHexColor(ss.glowColor, "#ffff00"), glowOpacity);
2503
+ const glowCol = chunkLYS44KMG_js.colorWithOpacity(chunkLYS44KMG_js.normalizeHexColor(ss.glowColor, "#ffff00"), glowOpacity);
2504
2504
  filterParts.push(`drop-shadow(0 0 ${glowRad}px ${glowCol})`);
2505
2505
  }
2506
2506
  if (typeof ss?.softEdgeRadius === "number" && ss.softEdgeRadius > 0) {
2507
- filterParts.push(`url(#${chunk2LOBDOTK_js.getSoftEdgeFilterId(element.id)})`);
2507
+ filterParts.push(`url(#${chunkLYS44KMG_js.getSoftEdgeFilterId(element.id)})`);
2508
2508
  }
2509
2509
  if (typeof ss?.blurRadius === "number" && ss.blurRadius > 0) {
2510
2510
  filterParts.push(`blur(${Math.round(ss.blurRadius)}px)`);
@@ -2513,13 +2513,13 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2513
2513
  if (lineGlowCss) {
2514
2514
  filterParts.push(lineGlowCss);
2515
2515
  }
2516
- const dagFilter = chunk2LOBDOTK_js.getEffectDagFilter(ss, element.id);
2516
+ const dagFilter = chunkLYS44KMG_js.getEffectDagFilter(ss, element.id);
2517
2517
  if (dagFilter) {
2518
2518
  filterParts.push(dagFilter);
2519
2519
  }
2520
2520
  const lineJoinCss = ss?.lineJoin === "round" ? "round" : ss?.lineJoin === "bevel" ? "bevel" : ss?.lineJoin === "miter" ? "miter" : void 0;
2521
2521
  const miterLimitCss = ss?.lineJoin === "miter" && typeof ss?.miterLimit === "number" ? Math.max(ss.miterLimit / 1e5, 1) : void 0;
2522
- const patternFill = chunk2LOBDOTK_js.buildPatternFillCss(element.shapeStyle);
2522
+ const patternFill = chunkLYS44KMG_js.buildPatternFillCss(element.shapeStyle);
2523
2523
  const imageFillUrl = ss?.fillMode === "image" && ss.fillImageUrl ? ss.fillImageUrl : void 0;
2524
2524
  const imageFillMode = ss?.fillImageMode || "stretch";
2525
2525
  let reflectCss;
@@ -2531,7 +2531,7 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2531
2531
  const endOpacity = typeof ss.reflectionEndOpacity === "number" ? ss.reflectionEndOpacity : 0;
2532
2532
  const fadeLength = typeof ss.reflectionEndPosition === "number" ? Math.round(ss.reflectionEndPosition * Math.max(element.height, 1)) : 100;
2533
2533
  const blurRadius = typeof ss.reflectionBlurRadius === "number" ? ss.reflectionBlurRadius : 0;
2534
- reflectCss = chunk2LOBDOTK_js.buildReflectionCss(distance, startOpacity, endOpacity, fadeLength, blurRadius);
2534
+ reflectCss = chunkLYS44KMG_js.buildReflectionCss(distance, startOpacity, endOpacity, fadeLength, blurRadius);
2535
2535
  }
2536
2536
  }
2537
2537
  const base = {
@@ -2573,9 +2573,9 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2573
2573
  // two adjacent 40px buttons rendered with a 2px gap PowerPoint does not
2574
2574
  // draw. The affordance is an `outline` instead (see `ElementRenderer`),
2575
2575
  // which paints in the same place without taking part in layout.
2576
- borderWidth: strokeWidth > 0 ? chunk2LOBDOTK_js.getCompoundLineBorderWidth(ss?.compoundLine, strokeWidth) : 0,
2576
+ borderWidth: strokeWidth > 0 ? chunkLYS44KMG_js.getCompoundLineBorderWidth(ss?.compoundLine, strokeWidth) : 0,
2577
2577
  borderColor: strokeWidth > 0 ? resolvedStrokeColor : void 0,
2578
- borderStyle: strokeWidth > 0 ? chunk2LOBDOTK_js.getCssBorderDashStyle(strokeDash, ss?.compoundLine) : void 0,
2578
+ borderStyle: strokeWidth > 0 ? chunkLYS44KMG_js.getCssBorderDashStyle(strokeDash, ss?.compoundLine) : void 0,
2579
2579
  strokeLinejoin: lineJoinCss,
2580
2580
  strokeMiterlimit: miterLimitCss,
2581
2581
  strokeLinecap: ss?.lineCap === "rnd" ? "round" : ss?.lineCap === "sq" ? "square" : ss?.lineCap === "flat" ? "butt" : void 0
@@ -2631,7 +2631,7 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2631
2631
  borderWidth: 0,
2632
2632
  borderTopWidth: Math.max(strokeWidth, 2),
2633
2633
  borderTopColor: resolvedStrokeColor,
2634
- borderTopStyle: chunk2LOBDOTK_js.getCssBorderDashStyle(strokeDash)
2634
+ borderTopStyle: chunkLYS44KMG_js.getCssBorderDashStyle(strokeDash)
2635
2635
  };
2636
2636
  }
2637
2637
  if (normalizedShapeType === "cylinder") {
@@ -2645,13 +2645,13 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2645
2645
  function getConnectorAdjustment(element, key, fallback) {
2646
2646
  const direct = element.shapeAdjustments?.[key];
2647
2647
  if (typeof direct === "number" && Number.isFinite(direct)) {
2648
- return chunk2LOBDOTK_js.clampUnitInterval(direct / 1e5);
2648
+ return chunkLYS44KMG_js.clampUnitInterval(direct / 1e5);
2649
2649
  }
2650
2650
  const fallbackKey = element.shapeAdjustments?.adj;
2651
2651
  if (typeof fallbackKey === "number" && Number.isFinite(fallbackKey)) {
2652
- return chunk2LOBDOTK_js.clampUnitInterval(fallbackKey / 1e5);
2652
+ return chunkLYS44KMG_js.clampUnitInterval(fallbackKey / 1e5);
2653
2653
  }
2654
- return chunk2LOBDOTK_js.clampUnitInterval(fallback);
2654
+ return chunkLYS44KMG_js.clampUnitInterval(fallback);
2655
2655
  }
2656
2656
  function getConnectorPathGeometry(element) {
2657
2657
  const width = Math.max(element.width, 1);
@@ -2788,11 +2788,11 @@ function strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray) {
2788
2788
  strokePaint,
2789
2789
  strokeWidth,
2790
2790
  dashArray,
2791
- lineCap: chunk2LOBDOTK_js.svgLineCap(shapeStyle?.lineCap),
2791
+ lineCap: chunkLYS44KMG_js.svgLineCap(shapeStyle?.lineCap),
2792
2792
  lineJoin,
2793
2793
  miterLimit,
2794
- offsets: chunk2LOBDOTK_js.getCompoundLineOffsets(shapeStyle?.compoundLine, strokeWidth),
2795
- widths: chunk2LOBDOTK_js.getCompoundLineWidths(shapeStyle?.compoundLine, strokeWidth)
2794
+ offsets: chunkLYS44KMG_js.getCompoundLineOffsets(shapeStyle?.compoundLine, strokeWidth),
2795
+ widths: chunkLYS44KMG_js.getCompoundLineWidths(shapeStyle?.compoundLine, strokeWidth)
2796
2796
  };
2797
2797
  }
2798
2798
  function strokeStrands(d, keyBase, ctx) {
@@ -2815,7 +2815,7 @@ function strokeStrands(d, keyBase, ctx) {
2815
2815
  }
2816
2816
  function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredPaths, shapeStyle, hasFill, fillColor, fillOpacity, strokePaint, strokeWidth, dashArray, animatesFill = false) {
2817
2817
  const ctx = strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray);
2818
- const subpaths = structuredPaths && structuredPaths.length > 0 ? chunk2LOBDOTK_js.customGeometryPathsToSvgSubpaths(structuredPaths, pathWidth, pathHeight) : void 0;
2818
+ const subpaths = structuredPaths && structuredPaths.length > 0 ? chunkLYS44KMG_js.customGeometryPathsToSvgSubpaths(structuredPaths, pathWidth, pathHeight) : void 0;
2819
2819
  const needsPerSubpath = subpaths !== void 0 && subpaths.some((sp) => sp.fillMode && sp.fillMode !== "norm" || sp.stroke === false);
2820
2820
  const nodes = [];
2821
2821
  if (subpaths && needsPerSubpath) {
@@ -2846,7 +2846,7 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
2846
2846
  "path",
2847
2847
  {
2848
2848
  d: pathData,
2849
- fill: animatesFill ? "inherit" : chunk2LOBDOTK_js.colorWithOpacity(fillColor, fillOpacity),
2849
+ fill: animatesFill ? "inherit" : chunkLYS44KMG_js.colorWithOpacity(fillColor, fillOpacity),
2850
2850
  stroke: "none",
2851
2851
  vectorEffect: "non-scaling-stroke"
2852
2852
  },
@@ -2888,14 +2888,14 @@ function renderStrokeOnlyPreset(presetPaths, width, height, shapeStyle, strokePa
2888
2888
  );
2889
2889
  }
2890
2890
  function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor, animatesFill, animatesStroke) {
2891
- if (!chunk2LOBDOTK_js.hasShapeProperties(element)) {
2891
+ if (!chunkLYS44KMG_js.hasShapeProperties(element)) {
2892
2892
  return null;
2893
2893
  }
2894
2894
  const normalizedType = (element.shapeType || "").toLowerCase();
2895
- const fillPaint = animatesFill ? "inherit" : chunk2LOBDOTK_js.colorWithOpacity(fillColor, element.shapeStyle?.fillOpacity);
2896
- const strokePaint = animatesStroke ? "inherit" : chunk2LOBDOTK_js.colorWithOpacity(strokeColor, element.shapeStyle?.strokeOpacity);
2897
- const dashType = chunk2LOBDOTK_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
2898
- const dashArray = chunk2LOBDOTK_js.getSvgStrokeDasharray(
2895
+ const fillPaint = animatesFill ? "inherit" : chunkLYS44KMG_js.colorWithOpacity(fillColor, element.shapeStyle?.fillOpacity);
2896
+ const strokePaint = animatesStroke ? "inherit" : chunkLYS44KMG_js.colorWithOpacity(strokeColor, element.shapeStyle?.strokeOpacity);
2897
+ const dashType = chunkLYS44KMG_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
2898
+ const dashArray = chunkLYS44KMG_js.getSvgStrokeDasharray(
2899
2899
  dashType,
2900
2900
  Math.max(strokeWidth, 1),
2901
2901
  element.shapeStyle?.customDashSegments
@@ -2974,18 +2974,18 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
2974
2974
  Boolean(animatesFill)
2975
2975
  );
2976
2976
  }
2977
- if (chunk2LOBDOTK_js.isCalloutShape(normalizedType)) {
2977
+ if (chunkLYS44KMG_js.isCalloutShape(normalizedType)) {
2978
2978
  const width = Math.max(element.width, 1);
2979
2979
  const height = Math.max(element.height, 1);
2980
- const geometry = chunk2LOBDOTK_js.getCalloutLeaderLineGeometry(
2980
+ const geometry = chunkLYS44KMG_js.getCalloutLeaderLineGeometry(
2981
2981
  normalizedType,
2982
2982
  width,
2983
2983
  height,
2984
2984
  element.shapeAdjustments
2985
2985
  );
2986
2986
  if (geometry && geometry.points.length >= 2) {
2987
- const leaderPath = chunk2LOBDOTK_js.buildCalloutLeaderLineSvgPath(geometry);
2988
- const bounds = chunk2LOBDOTK_js.getCalloutViewBoxBounds(width, height, geometry);
2987
+ const leaderPath = chunkLYS44KMG_js.buildCalloutLeaderLineSvgPath(geometry);
2988
+ const bounds = chunkLYS44KMG_js.getCalloutViewBoxBounds(width, height, geometry);
2989
2989
  const lineStroke = Math.max(strokeWidth, 1);
2990
2990
  const offsetLeft = bounds.minX;
2991
2991
  const offsetTop = bounds.minY;
@@ -3048,10 +3048,10 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
3048
3048
  const endArrowW = element.shapeStyle?.connectorEndArrowWidth;
3049
3049
  const endArrowL = element.shapeStyle?.connectorEndArrowLength;
3050
3050
  const compoundLine = element.shapeStyle?.compoundLine;
3051
- const connectorLineCap = chunk2LOBDOTK_js.svgLineCap(element.shapeStyle?.lineCap);
3051
+ const connectorLineCap = chunkLYS44KMG_js.svgLineCap(element.shapeStyle?.lineCap);
3052
3052
  const hitTargetWidth = Math.max(strokeWidth * 3, 12);
3053
- const offsets = chunk2LOBDOTK_js.getCompoundLineOffsets(compoundLine, strokeWidth);
3054
- const widths = chunk2LOBDOTK_js.getCompoundLineWidths(compoundLine, strokeWidth);
3053
+ const offsets = chunkLYS44KMG_js.getCompoundLineOffsets(compoundLine, strokeWidth);
3054
+ const widths = chunkLYS44KMG_js.getCompoundLineWidths(compoundLine, strokeWidth);
3055
3055
  return /* @__PURE__ */ jsxRuntime.jsxs(
3056
3056
  "svg",
3057
3057
  {
@@ -3130,15 +3130,15 @@ function parseGradientFillCss(gradFill) {
3130
3130
  }
3131
3131
  const parsed = stops.map((gs) => {
3132
3132
  const pos = Number.parseInt(String(gs["@_pos"] || "0"), 10) / 1e3;
3133
- const color = chunk2LOBDOTK_js.parseDrawingColor(gs) ?? "#888888";
3134
- const opacity = chunk2LOBDOTK_js.parseDrawingColorOpacity(gs);
3135
- return { pos, color: chunk2LOBDOTK_js.colorWithOpacity(color, opacity) };
3133
+ const color = chunkLYS44KMG_js.parseDrawingColor(gs) ?? "#888888";
3134
+ const opacity = chunkLYS44KMG_js.parseDrawingColorOpacity(gs);
3135
+ return { pos, color: chunkLYS44KMG_js.colorWithOpacity(color, opacity) };
3136
3136
  }).sort((a, b) => a.pos - b.pos);
3137
3137
  const stopStrings = parsed.map((s) => `${s.color} ${s.pos.toFixed(1)}%`).join(", ");
3138
3138
  const lin = gradFill["a:lin"];
3139
3139
  if (lin) {
3140
3140
  const angRaw = Number.parseInt(String(lin["@_ang"] || "0"), 10);
3141
- const angleDeg = Math.round(chunk2LOBDOTK_js.ooxmlGradientAngleToCssDegrees(angRaw / 6e4));
3141
+ const angleDeg = Math.round(chunkLYS44KMG_js.ooxmlGradientAngleToCssDegrees(angRaw / 6e4));
3142
3142
  return `linear-gradient(${angleDeg}deg, ${stopStrings})`;
3143
3143
  }
3144
3144
  const path = gradFill["a:path"];
@@ -3173,8 +3173,8 @@ function parsePatternFillCss(pattFill) {
3173
3173
  if (!pattFill) {
3174
3174
  return void 0;
3175
3175
  }
3176
- const fgColor = chunk2LOBDOTK_js.parseDrawingColor(pattFill["a:fgClr"]) ?? "#000000";
3177
- const bgColor = chunk2LOBDOTK_js.parseDrawingColor(pattFill["a:bgClr"]) ?? "#ffffff";
3176
+ const fgColor = chunkLYS44KMG_js.parseDrawingColor(pattFill["a:fgClr"]) ?? "#000000";
3177
+ const bgColor = chunkLYS44KMG_js.parseDrawingColor(pattFill["a:bgClr"]) ?? "#ffffff";
3178
3178
  const preset = String(pattFill["@_prst"] || "ltDnDiag");
3179
3179
  switch (preset) {
3180
3180
  case "ltHorz":
@@ -3285,11 +3285,11 @@ function parseCellBorders(cellProperties) {
3285
3285
  const prstDash = ln["a:prstDash"];
3286
3286
  const dashVal = prstDash ? String(prstDash["@_val"] || "") : void 0;
3287
3287
  const cssBorderStyle = ooxmlDashToCss(dashVal);
3288
- const color = chunk2LOBDOTK_js.parseDrawingColor(ln["a:solidFill"]);
3288
+ const color = chunkLYS44KMG_js.parseDrawingColor(ln["a:solidFill"]);
3289
3289
  if (color) {
3290
- const opacity = chunk2LOBDOTK_js.parseDrawingColorOpacity(ln["a:solidFill"]);
3290
+ const opacity = chunkLYS44KMG_js.parseDrawingColorOpacity(ln["a:solidFill"]);
3291
3291
  const key = `${edge.prefix}`;
3292
- borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${chunk2LOBDOTK_js.colorWithOpacity(color, opacity)}`;
3292
+ borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${chunkLYS44KMG_js.colorWithOpacity(color, opacity)}`;
3293
3293
  }
3294
3294
  }
3295
3295
  return borderStyle;
@@ -3302,7 +3302,7 @@ function parseCellTextEffects(runProps) {
3302
3302
  const textShadowParts = [];
3303
3303
  const outerShdw = effectLst["a:outerShdw"];
3304
3304
  if (outerShdw) {
3305
- const shdwColor = chunk2LOBDOTK_js.parseDrawingColor(outerShdw);
3305
+ const shdwColor = chunkLYS44KMG_js.parseDrawingColor(outerShdw);
3306
3306
  if (shdwColor) {
3307
3307
  const blurRad = Number.parseInt(String(outerShdw["@_blurRad"] || "0"), 10);
3308
3308
  const blurPx = blurRad > 0 ? Math.round(blurRad / 12700) : 0;
@@ -3320,7 +3320,7 @@ function parseCellTextEffects(runProps) {
3320
3320
  }
3321
3321
  const glow = effectLst["a:glow"];
3322
3322
  if (glow) {
3323
- const glowColor = chunk2LOBDOTK_js.parseDrawingColor(glow);
3323
+ const glowColor = chunkLYS44KMG_js.parseDrawingColor(glow);
3324
3324
  if (glowColor) {
3325
3325
  const glowRad = Number.parseInt(String(glow["@_rad"] || "0"), 10);
3326
3326
  const glowPx = glowRad > 0 ? Math.round(glowRad / 12700) : 2;
@@ -3399,10 +3399,10 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
3399
3399
  if (runProps?.["@_u"] !== void 0) {
3400
3400
  cellStyle.textDecorationLine = runProps["@_u"] === "sng" ? "underline" : "none";
3401
3401
  }
3402
- const runColor = chunk2LOBDOTK_js.parseDrawingColor(runProps?.["a:solidFill"], schemeColorOverrides) || chunk2LOBDOTK_js.parseDrawingColor(runProps?.["a:highlight"], schemeColorOverrides);
3402
+ const runColor = chunkLYS44KMG_js.parseDrawingColor(runProps?.["a:solidFill"], schemeColorOverrides) || chunkLYS44KMG_js.parseDrawingColor(runProps?.["a:highlight"], schemeColorOverrides);
3403
3403
  if (runColor) {
3404
- const opacity = chunk2LOBDOTK_js.parseDrawingColorOpacity(runProps?.["a:solidFill"]);
3405
- cellStyle.color = chunk2LOBDOTK_js.colorWithOpacity(runColor, opacity);
3404
+ const opacity = chunkLYS44KMG_js.parseDrawingColorOpacity(runProps?.["a:solidFill"]);
3405
+ cellStyle.color = chunkLYS44KMG_js.colorWithOpacity(runColor, opacity);
3406
3406
  }
3407
3407
  const fontFamily = runProps?.["a:latin"]?.["@_typeface"] || runProps?.["a:ea"]?.["@_typeface"] || runProps?.["a:cs"]?.["@_typeface"];
3408
3408
  if (fontFamily) {
@@ -3412,15 +3412,15 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
3412
3412
  cellStyle.textAlign = parseParagraphAlignment(paragraphProperties["@_algn"]);
3413
3413
  }
3414
3414
  const cellProperties = cellXml["a:tcPr"];
3415
- const cellFill = chunk2LOBDOTK_js.parseDrawingColor(
3415
+ const cellFill = chunkLYS44KMG_js.parseDrawingColor(
3416
3416
  cellProperties?.["a:solidFill"],
3417
3417
  schemeColorOverrides
3418
3418
  );
3419
3419
  if (cellFill) {
3420
- const opacity = chunk2LOBDOTK_js.parseDrawingColorOpacity(
3420
+ const opacity = chunkLYS44KMG_js.parseDrawingColorOpacity(
3421
3421
  cellProperties?.["a:solidFill"]
3422
3422
  );
3423
- cellStyle.backgroundColor = chunk2LOBDOTK_js.colorWithOpacity(cellFill, opacity);
3423
+ cellStyle.backgroundColor = chunkLYS44KMG_js.colorWithOpacity(cellFill, opacity);
3424
3424
  } else {
3425
3425
  const gradCss = parseGradientFillCss(cellProperties?.["a:gradFill"]);
3426
3426
  if (gradCss) {
@@ -3435,16 +3435,16 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
3435
3435
  const edgeBorders = parseCellBorders(cellProperties);
3436
3436
  Object.assign(cellStyle, edgeBorders);
3437
3437
  if (!cellStyle.borderLeftColor && !cellStyle.borderRightColor && !cellStyle.borderTopColor && !cellStyle.borderBottomColor) {
3438
- const borderColor = chunk2LOBDOTK_js.parseDrawingColor(
3438
+ const borderColor = chunkLYS44KMG_js.parseDrawingColor(
3439
3439
  cellProperties?.["a:lnL"]?.["a:solidFill"],
3440
3440
  schemeColorOverrides
3441
- ) || chunk2LOBDOTK_js.parseDrawingColor(
3441
+ ) || chunkLYS44KMG_js.parseDrawingColor(
3442
3442
  cellProperties?.["a:lnR"]?.["a:solidFill"],
3443
3443
  schemeColorOverrides
3444
- ) || chunk2LOBDOTK_js.parseDrawingColor(
3444
+ ) || chunkLYS44KMG_js.parseDrawingColor(
3445
3445
  cellProperties?.["a:lnT"]?.["a:solidFill"],
3446
3446
  schemeColorOverrides
3447
- ) || chunk2LOBDOTK_js.parseDrawingColor(
3447
+ ) || chunkLYS44KMG_js.parseDrawingColor(
3448
3448
  cellProperties?.["a:lnB"]?.["a:solidFill"],
3449
3449
  schemeColorOverrides
3450
3450
  );
@@ -3523,10 +3523,10 @@ function resolveTableStyleFillColor(fill, colorScheme) {
3523
3523
  }
3524
3524
  let color = base;
3525
3525
  if (fill.tint !== void 0 && fill.tint > 0) {
3526
- color = chunk2LOBDOTK_js.tintColor2(color, fill.tint / 1e5);
3526
+ color = chunkLYS44KMG_js.tintColor2(color, fill.tint / 1e5);
3527
3527
  }
3528
3528
  if (fill.shade !== void 0 && fill.shade > 0) {
3529
- color = chunk2LOBDOTK_js.shadeColor2(color, 1 - fill.shade / 1e5);
3529
+ color = chunkLYS44KMG_js.shadeColor2(color, 1 - fill.shade / 1e5);
3530
3530
  }
3531
3531
  return color;
3532
3532
  }
@@ -3551,7 +3551,7 @@ function applyTableStyleText(text, colorScheme, style, fontScheme) {
3551
3551
  style.fontFamily = text.fontFace;
3552
3552
  applied = true;
3553
3553
  } else {
3554
- const refFont = chunk2LOBDOTK_js.resolveFontRefIdx(text.fontRefIdx, fontScheme);
3554
+ const refFont = chunkLYS44KMG_js.resolveFontRefIdx(text.fontRefIdx, fontScheme);
3555
3555
  if (refFont) {
3556
3556
  style.fontFamily = refFont;
3557
3557
  applied = true;
@@ -3562,10 +3562,10 @@ function applyTableStyleText(text, colorScheme, style, fontScheme) {
3562
3562
  if (base) {
3563
3563
  let color = base;
3564
3564
  if (text.fontTint !== void 0 && text.fontTint > 0) {
3565
- color = chunk2LOBDOTK_js.tintColor2(color, text.fontTint / 1e5);
3565
+ color = chunkLYS44KMG_js.tintColor2(color, text.fontTint / 1e5);
3566
3566
  }
3567
3567
  if (text.fontShade !== void 0 && text.fontShade > 0) {
3568
- color = chunk2LOBDOTK_js.shadeColor2(color, 1 - text.fontShade / 1e5);
3568
+ color = chunkLYS44KMG_js.shadeColor2(color, 1 - text.fontShade / 1e5);
3569
3569
  }
3570
3570
  style.color = color;
3571
3571
  applied = true;
@@ -3754,7 +3754,7 @@ function parseTableElementData(element, fallbackTextStyle) {
3754
3754
  };
3755
3755
  }
3756
3756
  function getCellDiagonalBorders2(style, tableData, pos, styleCtx) {
3757
- return chunk2LOBDOTK_js.getCellDiagonalBorders(style, tableData, pos, {
3757
+ return chunkLYS44KMG_js.getCellDiagonalBorders(style, tableData, pos, {
3758
3758
  tableStyleMap: styleCtx?.tableStyleMap,
3759
3759
  colorScheme: styleCtx?.theme?.colorScheme,
3760
3760
  fontScheme: styleCtx?.theme?.fontScheme
@@ -3902,9 +3902,9 @@ function cellStyleToCss(style) {
3902
3902
  if (style.gradientFillCss) {
3903
3903
  css.background = style.gradientFillCss;
3904
3904
  } else if (style.fillMode === "pattern" && style.patternFillPreset) {
3905
- const fg = chunk2LOBDOTK_js.normalizeHexColor(style.patternFillForeground, "#000000");
3906
- const bg = chunk2LOBDOTK_js.normalizeHexColor(style.patternFillBackground, "#ffffff");
3907
- const svgPattern = chunk2LOBDOTK_js.getPatternSvg(style.patternFillPreset, fg, bg);
3905
+ const fg = chunkLYS44KMG_js.normalizeHexColor(style.patternFillForeground, "#000000");
3906
+ const bg = chunkLYS44KMG_js.normalizeHexColor(style.patternFillBackground, "#ffffff");
3907
+ const svgPattern = chunkLYS44KMG_js.getPatternSvg(style.patternFillPreset, fg, bg);
3908
3908
  if (svgPattern) {
3909
3909
  const encoded = encodeURIComponent(svgPattern);
3910
3910
  css.backgroundImage = `url("data:image/svg+xml,${encoded}")`;
@@ -3980,7 +3980,7 @@ function cellStyleToCss(style) {
3980
3980
  if (edge.width || edge.color) {
3981
3981
  const w = edge.width ?? 1;
3982
3982
  const c = edge.color ?? style.borderColor ?? "#000000";
3983
- const s = chunk2LOBDOTK_js.ooxmlDashToCssBorderStyle(edge.dash);
3983
+ const s = chunkLYS44KMG_js.ooxmlDashToCssBorderStyle(edge.dash);
3984
3984
  css[edge.prefix] = `${w}px ${s} ${c}`;
3985
3985
  }
3986
3986
  }
@@ -4011,7 +4011,7 @@ function cellStyleToCss(style) {
4011
4011
  css.textShadow = textShadowParts.join(", ");
4012
4012
  }
4013
4013
  if (style.cell3D) {
4014
- Object.assign(css, chunk2LOBDOTK_js.cell3DBevelCss(style.cell3D));
4014
+ Object.assign(css, chunkLYS44KMG_js.cell3DBevelCss(style.cell3D));
4015
4015
  }
4016
4016
  return css;
4017
4017
  }
@@ -4025,7 +4025,7 @@ function TableResizeOverlay({
4025
4025
  const containerRef = React6.useRef(null);
4026
4026
  const [rowBounds, setRowBounds] = React6.useState([]);
4027
4027
  const dragRef = React6.useRef(null);
4028
- const colBoundaries = React6.useMemo(() => chunk2LOBDOTK_js.computeColumnBoundaries(columnWidths), [columnWidths]);
4028
+ const colBoundaries = React6.useMemo(() => chunkLYS44KMG_js.computeColumnBoundaries(columnWidths), [columnWidths]);
4029
4029
  const measureRows = React6.useCallback(() => {
4030
4030
  const container = containerRef.current;
4031
4031
  if (!container) {
@@ -4072,11 +4072,11 @@ function TableResizeOverlay({
4072
4072
  const rect = containerRef.current.getBoundingClientRect();
4073
4073
  if (drag.type === "col" && drag.initialWidths && onResizeColumns) {
4074
4074
  const deltaProp = (e.clientX - drag.startPos) / rect.width;
4075
- onResizeColumns(chunk2LOBDOTK_js.computeResizedColumnWidths(drag.initialWidths, drag.index, deltaProp));
4075
+ onResizeColumns(chunkLYS44KMG_js.computeResizedColumnWidths(drag.initialWidths, drag.index, deltaProp));
4076
4076
  } else if (drag.type === "row" && onResizeRow) {
4077
4077
  const deltaY = e.clientY - drag.startPos;
4078
- const newHeight = chunk2LOBDOTK_js.computeResizedRowHeight(
4079
- drag.initialRowHeight ?? chunk2LOBDOTK_js.DEFAULT_ROW_HEIGHT,
4078
+ const newHeight = chunkLYS44KMG_js.computeResizedRowHeight(
4079
+ drag.initialRowHeight ?? chunkLYS44KMG_js.DEFAULT_ROW_HEIGHT,
4080
4080
  deltaY
4081
4081
  );
4082
4082
  onResizeRow(drag.index, newHeight);
@@ -4114,7 +4114,7 @@ function TableResizeOverlay({
4114
4114
  e.stopPropagation();
4115
4115
  const table = containerRef.current?.querySelector("table");
4116
4116
  const tr = table?.querySelectorAll("tbody > tr")[index];
4117
- const actualHeight = tr?.offsetHeight ?? chunk2LOBDOTK_js.DEFAULT_ROW_HEIGHT;
4117
+ const actualHeight = tr?.offsetHeight ?? chunkLYS44KMG_js.DEFAULT_ROW_HEIGHT;
4118
4118
  document.body.style.cursor = "row-resize";
4119
4119
  document.body.style.userSelect = "none";
4120
4120
  dragRef.current = {
@@ -4162,7 +4162,7 @@ function renderTableFromTableData(element, textStyle, options) {
4162
4162
  }
4163
4163
  const first = selectedCell.selectedCells[0];
4164
4164
  const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
4165
- return chunk2LOBDOTK_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableData);
4165
+ return chunkLYS44KMG_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableData);
4166
4166
  })();
4167
4167
  return /* @__PURE__ */ jsxRuntime.jsx(
4168
4168
  TableResizeOverlay,
@@ -4195,7 +4195,7 @@ function renderTableFromTableData(element, textStyle, options) {
4195
4195
  return null;
4196
4196
  }
4197
4197
  const isCellSelected = selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex;
4198
- const isInMultiSelection = chunk2LOBDOTK_js.isCellInRect(rowIndex, cellIndex, selectionRect);
4198
+ const isInMultiSelection = chunkLYS44KMG_js.isCellInRect(rowIndex, cellIndex, selectionRect);
4199
4199
  const isCellEditing = isCellSelected && selectedCell?.isEditing;
4200
4200
  const diag = getCellDiagonalBorders2(
4201
4201
  cell.style,
@@ -4225,7 +4225,7 @@ function renderTableFromTableData(element, textStyle, options) {
4225
4225
  }
4226
4226
  event.stopPropagation();
4227
4227
  if (event.shiftKey && selectedCell) {
4228
- const rect = chunk2LOBDOTK_js.computeSelectionRect(
4228
+ const rect = chunkLYS44KMG_js.computeSelectionRect(
4229
4229
  selectedCell.rowIndex,
4230
4230
  selectedCell.columnIndex,
4231
4231
  rowIndex,
@@ -4235,7 +4235,7 @@ function renderTableFromTableData(element, textStyle, options) {
4235
4235
  options?.onSelectCell?.({
4236
4236
  rowIndex: selectedCell.rowIndex,
4237
4237
  columnIndex: selectedCell.columnIndex,
4238
- selectedCells: chunk2LOBDOTK_js.rectToCells(rect)
4238
+ selectedCells: chunkLYS44KMG_js.rectToCells(rect)
4239
4239
  });
4240
4240
  } else {
4241
4241
  options?.onSelectCell?.({
@@ -4312,7 +4312,7 @@ function renderTableElement(element, textStyle, options) {
4312
4312
  }
4313
4313
  const first = selectedCell.selectedCells[0];
4314
4314
  const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
4315
- return chunk2LOBDOTK_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableEl.tableData);
4315
+ return chunkLYS44KMG_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableEl.tableData);
4316
4316
  })();
4317
4317
  const schemeOverrides = options?.styleCtx?.theme?.colorScheme ? options.styleCtx.theme.colorScheme : void 0;
4318
4318
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4389,7 +4389,7 @@ function renderTableElement(element, textStyle, options) {
4389
4389
  "border px-1 py-0.5 align-top",
4390
4390
  isEditable && hasCellSelectionHandler ? "border-blue-200/70 cursor-cell" : "border-white/30",
4391
4391
  selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex ? "ring-1 ring-inset ring-blue-500" : null,
4392
- chunk2LOBDOTK_js.isCellInRect(rowIndex, cellIndex, xmlSelectionRect) && !(selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex) ? "bg-blue-500/15 ring-1 ring-inset ring-blue-400/50" : null
4392
+ chunkLYS44KMG_js.isCellInRect(rowIndex, cellIndex, xmlSelectionRect) && !(selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex) ? "bg-blue-500/15 ring-1 ring-inset ring-blue-400/50" : null
4393
4393
  ),
4394
4394
  colSpan,
4395
4395
  rowSpan: rSpan,
@@ -4400,7 +4400,7 @@ function renderTableElement(element, textStyle, options) {
4400
4400
  }
4401
4401
  event.stopPropagation();
4402
4402
  if (event.shiftKey && selectedCell && tableEl.tableData) {
4403
- const rect = chunk2LOBDOTK_js.computeSelectionRect(
4403
+ const rect = chunkLYS44KMG_js.computeSelectionRect(
4404
4404
  selectedCell.rowIndex,
4405
4405
  selectedCell.columnIndex,
4406
4406
  rowIndex,
@@ -4410,7 +4410,7 @@ function renderTableElement(element, textStyle, options) {
4410
4410
  options?.onSelectCell?.({
4411
4411
  rowIndex: selectedCell.rowIndex,
4412
4412
  columnIndex: selectedCell.columnIndex,
4413
- selectedCells: chunk2LOBDOTK_js.rectToCells(rect)
4413
+ selectedCells: chunkLYS44KMG_js.rectToCells(rect)
4414
4414
  });
4415
4415
  } else {
4416
4416
  options?.onSelectCell?.({
@@ -4465,24 +4465,24 @@ function renderTableElement(element, textStyle, options) {
4465
4465
  }
4466
4466
  var LEGEND_ITEM_WIDTH = 80;
4467
4467
  function partAttrs(part) {
4468
- return part ? chunk2LOBDOTK_js.chartPartToAttrs(part) : void 0;
4468
+ return part ? chunkLYS44KMG_js.chartPartToAttrs(part) : void 0;
4469
4469
  }
4470
4470
  function resolveReactPalette(chartData) {
4471
4471
  if (chartData.colorPalette && chartData.colorPalette.length > 0) {
4472
4472
  return chartData.colorPalette;
4473
4473
  }
4474
- return [...chunk2LOBDOTK_js.getChartStylePalette(chartData.style?.styleId)];
4474
+ return [...chunkLYS44KMG_js.getChartStylePalette(chartData.style?.styleId)];
4475
4475
  }
4476
4476
  function buildReactChartViewModel(element) {
4477
4477
  if (element.type !== "chart" || !element.chartData) {
4478
- return chunk2LOBDOTK_js.buildChartViewModel(element);
4478
+ return chunkLYS44KMG_js.buildChartViewModel(element);
4479
4479
  }
4480
4480
  const palette = resolveReactPalette(element.chartData);
4481
4481
  const themedElement = {
4482
4482
  ...element,
4483
4483
  chartData: { ...element.chartData, colorPalette: palette }
4484
4484
  };
4485
- return chunk2LOBDOTK_js.buildChartViewModel(themedElement);
4485
+ return chunkLYS44KMG_js.buildChartViewModel(themedElement);
4486
4486
  }
4487
4487
  function renderPrimitive(prim, key) {
4488
4488
  switch (prim.kind) {
@@ -4871,7 +4871,7 @@ function renderMapChart(element, chartData, categoryLabels) {
4871
4871
  const unmatchedRows = [];
4872
4872
  categories.forEach((cat, i) => {
4873
4873
  const value = values[i] ?? 0;
4874
- const code = chunk2LOBDOTK_js.resolveRegionCode(cat);
4874
+ const code = chunkLYS44KMG_js.resolveRegionCode(cat);
4875
4875
  if (code) {
4876
4876
  regionValueMap.set(code, { value, label: cat });
4877
4877
  } else {
@@ -4909,8 +4909,8 @@ function renderMapChart(element, chartData, categoryLabels) {
4909
4909
  let fill = "#e2e8f0";
4910
4910
  let dataLabel = null;
4911
4911
  if (entry) {
4912
- const t = chunk2LOBDOTK_js.normalizeValue(entry.value, minVal, maxVal);
4913
- fill = chunk2LOBDOTK_js.sequentialColorScale(t);
4912
+ const t = chunkLYS44KMG_js.normalizeValue(entry.value, minVal, maxVal);
4913
+ fill = chunkLYS44KMG_js.sequentialColorScale(t);
4914
4914
  dataLabel = /* @__PURE__ */ jsxRuntime.jsx(
4915
4915
  "text",
4916
4916
  {
@@ -4921,7 +4921,7 @@ function renderMapChart(element, chartData, categoryLabels) {
4921
4921
  fontWeight: 600,
4922
4922
  fill: "#1e293b",
4923
4923
  style: { pointerEvents: "none" },
4924
- children: chunk2LOBDOTK_js.formatAxisValue(entry.value)
4924
+ children: chunkLYS44KMG_js.formatAxisValue(entry.value)
4925
4925
  },
4926
4926
  `${element.id}-map-dl-${region.code}`
4927
4927
  );
@@ -4939,7 +4939,7 @@ function renderMapChart(element, chartData, categoryLabels) {
4939
4939
  opacity: 0.9,
4940
4940
  children: /* @__PURE__ */ jsxRuntime.jsxs("title", { children: [
4941
4941
  region.name,
4942
- entry ? `: ${chunk2LOBDOTK_js.formatAxisValue(entry.value)}` : ""
4942
+ entry ? `: ${chunkLYS44KMG_js.formatAxisValue(entry.value)}` : ""
4943
4943
  ] })
4944
4944
  }
4945
4945
  ),
@@ -4977,7 +4977,7 @@ function renderMapChart(element, chartData, categoryLabels) {
4977
4977
  fontSize: 7,
4978
4978
  fill: "#64748b",
4979
4979
  textAnchor: "middle",
4980
- children: chunk2LOBDOTK_js.formatAxisValue(minVal)
4980
+ children: chunkLYS44KMG_js.formatAxisValue(minVal)
4981
4981
  },
4982
4982
  `${element.id}-map-legend-min`
4983
4983
  ),
@@ -4989,7 +4989,7 @@ function renderMapChart(element, chartData, categoryLabels) {
4989
4989
  fontSize: 7,
4990
4990
  fill: "#64748b",
4991
4991
  textAnchor: "middle",
4992
- children: chunk2LOBDOTK_js.formatAxisValue(maxVal)
4992
+ children: chunkLYS44KMG_js.formatAxisValue(maxVal)
4993
4993
  },
4994
4994
  `${element.id}-map-legend-max`
4995
4995
  )
@@ -5055,7 +5055,7 @@ function renderMapChart(element, chartData, categoryLabels) {
5055
5055
  y,
5056
5056
  fontSize,
5057
5057
  fill: "#475569",
5058
- children: chunk2LOBDOTK_js.formatAxisValue(row.value)
5058
+ children: chunkLYS44KMG_js.formatAxisValue(row.value)
5059
5059
  },
5060
5060
  `${element.id}-map-ft-val-${i}`
5061
5061
  )
@@ -5126,7 +5126,7 @@ function renderStackedBarChart(element, _chartData, _categoryLabels) {
5126
5126
 
5127
5127
  // src/viewer/utils/chart-overlay-utils.ts
5128
5128
  function sColor(series, idx) {
5129
- return chunk2LOBDOTK_js.seriesColor(series, idx);
5129
+ return chunkLYS44KMG_js.seriesColor(series, idx);
5130
5130
  }
5131
5131
  function valToY(val, range, topY, bottomY) {
5132
5132
  const usable = bottomY - topY;
@@ -5665,7 +5665,7 @@ function renderLegend(id, style, series, layout, colorPalette) {
5665
5665
  width: 10,
5666
5666
  height: 10,
5667
5667
  rx: 2,
5668
- fill: chunk2LOBDOTK_js.seriesColor(s, i, style?.styleId, colorPalette)
5668
+ fill: chunkLYS44KMG_js.seriesColor(s, i, style?.styleId, colorPalette)
5669
5669
  },
5670
5670
  `${id}-leg-r-${i}`
5671
5671
  )
@@ -5689,7 +5689,7 @@ function renderLegend(id, style, series, layout, colorPalette) {
5689
5689
  width: 10,
5690
5690
  height: 10,
5691
5691
  rx: 2,
5692
- fill: chunk2LOBDOTK_js.seriesColor(s, i, style?.styleId, colorPalette)
5692
+ fill: chunkLYS44KMG_js.seriesColor(s, i, style?.styleId, colorPalette)
5693
5693
  }
5694
5694
  ),
5695
5695
  /* @__PURE__ */ jsxRuntime.jsx("text", { x: x + 14, y: cy + 8, fontSize: 9, fill: "#475569", children: s.name || `Series ${i + 1}` })
@@ -5702,9 +5702,9 @@ function renderGridlines(id, style, range, layout) {
5702
5702
  }
5703
5703
  const lines = [];
5704
5704
  if (range.logScale && range.logBase) {
5705
- const ticks = chunk2LOBDOTK_js.generateLogTicks(range);
5705
+ const ticks = chunkLYS44KMG_js.generateLogTicks(range);
5706
5706
  ticks.forEach((tickVal, i) => {
5707
- const y = chunk2LOBDOTK_js.valueToY(tickVal, range, layout.plotTop, layout.plotBottom);
5707
+ const y = chunkLYS44KMG_js.valueToY(tickVal, range, layout.plotTop, layout.plotBottom);
5708
5708
  lines.push(
5709
5709
  /* @__PURE__ */ jsxRuntime.jsx(
5710
5710
  "line",
@@ -5725,7 +5725,7 @@ function renderGridlines(id, style, range, layout) {
5725
5725
  const steps = 4;
5726
5726
  for (let i = 0; i <= steps; i++) {
5727
5727
  const val = range.min + range.span * i / steps;
5728
- const y = chunk2LOBDOTK_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5728
+ const y = chunkLYS44KMG_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5729
5729
  lines.push(
5730
5730
  /* @__PURE__ */ jsxRuntime.jsx(
5731
5731
  "line",
@@ -5749,9 +5749,9 @@ function renderValueAxis(id, range, layout, axisFormatting) {
5749
5749
  const labels = [];
5750
5750
  const hasDisplayUnits = Boolean(axisFormatting?.displayUnits);
5751
5751
  if (range.logScale && range.logBase) {
5752
- const ticks = chunk2LOBDOTK_js.generateLogTicks(range);
5752
+ const ticks = chunkLYS44KMG_js.generateLogTicks(range);
5753
5753
  ticks.forEach((tickVal, i) => {
5754
- const y = chunk2LOBDOTK_js.valueToY(tickVal, range, layout.plotTop, layout.plotBottom);
5754
+ const y = chunkLYS44KMG_js.valueToY(tickVal, range, layout.plotTop, layout.plotBottom);
5755
5755
  labels.push(
5756
5756
  /* @__PURE__ */ jsxRuntime.jsx(
5757
5757
  "text",
@@ -5761,7 +5761,7 @@ function renderValueAxis(id, range, layout, axisFormatting) {
5761
5761
  textAnchor: "end",
5762
5762
  fontSize: 8,
5763
5763
  fill: "#64748b",
5764
- children: hasDisplayUnits ? chunk2LOBDOTK_js.formatAxisValueWithUnits(tickVal, axisFormatting) : chunk2LOBDOTK_js.formatAxisValue(tickVal)
5764
+ children: hasDisplayUnits ? chunkLYS44KMG_js.formatAxisValueWithUnits(tickVal, axisFormatting) : chunkLYS44KMG_js.formatAxisValue(tickVal)
5765
5765
  },
5766
5766
  `${id}-vaxis-log-${i}`
5767
5767
  )
@@ -5771,7 +5771,7 @@ function renderValueAxis(id, range, layout, axisFormatting) {
5771
5771
  const steps = 4;
5772
5772
  for (let i = 0; i <= steps; i++) {
5773
5773
  const val = range.min + range.span * i / steps;
5774
- const y = chunk2LOBDOTK_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5774
+ const y = chunkLYS44KMG_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5775
5775
  labels.push(
5776
5776
  /* @__PURE__ */ jsxRuntime.jsx(
5777
5777
  "text",
@@ -5781,7 +5781,7 @@ function renderValueAxis(id, range, layout, axisFormatting) {
5781
5781
  textAnchor: "end",
5782
5782
  fontSize: 8,
5783
5783
  fill: "#64748b",
5784
- children: hasDisplayUnits ? chunk2LOBDOTK_js.formatAxisValueWithUnits(val, axisFormatting) : chunk2LOBDOTK_js.formatAxisValue(val)
5784
+ children: hasDisplayUnits ? chunkLYS44KMG_js.formatAxisValueWithUnits(val, axisFormatting) : chunkLYS44KMG_js.formatAxisValue(val)
5785
5785
  },
5786
5786
  `${id}-vaxis-${i}`
5787
5787
  )
@@ -5789,7 +5789,7 @@ function renderValueAxis(id, range, layout, axisFormatting) {
5789
5789
  }
5790
5790
  }
5791
5791
  if (hasDisplayUnits) {
5792
- const unitLabel = chunk2LOBDOTK_js.getDisplayUnitLabel(
5792
+ const unitLabel = chunkLYS44KMG_js.getDisplayUnitLabel(
5793
5793
  axisFormatting.displayUnits,
5794
5794
  axisFormatting.displayUnitsLabel
5795
5795
  );
@@ -5864,7 +5864,7 @@ function renderZeroLine(id, range, layout) {
5864
5864
  if (range.min >= 0) {
5865
5865
  return null;
5866
5866
  }
5867
- const y = chunk2LOBDOTK_js.valueToY(0, range, layout.plotTop, layout.plotBottom);
5867
+ const y = chunkLYS44KMG_js.valueToY(0, range, layout.plotTop, layout.plotBottom);
5868
5868
  return /* @__PURE__ */ jsxRuntime.jsx(
5869
5869
  "line",
5870
5870
  {
@@ -5888,7 +5888,7 @@ function renderSecondaryValueAxis(id, range, layout, axisFormatting) {
5888
5888
  const hasDisplayUnits = Boolean(axisFormatting?.displayUnits);
5889
5889
  for (let i = 0; i <= steps; i++) {
5890
5890
  const val = range.min + range.span * i / steps;
5891
- const y = chunk2LOBDOTK_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5891
+ const y = chunkLYS44KMG_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5892
5892
  labels.push(
5893
5893
  /* @__PURE__ */ jsxRuntime.jsx(
5894
5894
  "text",
@@ -5900,7 +5900,7 @@ function renderSecondaryValueAxis(id, range, layout, axisFormatting) {
5900
5900
  fontFamily,
5901
5901
  fontWeight,
5902
5902
  fill: fontColor,
5903
- children: hasDisplayUnits ? chunk2LOBDOTK_js.formatAxisValueWithUnits(val, axisFormatting) : chunk2LOBDOTK_js.formatAxisValue(val)
5903
+ children: hasDisplayUnits ? chunkLYS44KMG_js.formatAxisValueWithUnits(val, axisFormatting) : chunkLYS44KMG_js.formatAxisValue(val)
5904
5904
  },
5905
5905
  `${id}-sec-vaxis-${i}`
5906
5906
  )
@@ -5924,7 +5924,7 @@ function renderSecondaryValueAxis(id, range, layout, axisFormatting) {
5924
5924
  );
5925
5925
  }
5926
5926
  if (hasDisplayUnits) {
5927
- const unitLabel = chunk2LOBDOTK_js.getDisplayUnitLabel(
5927
+ const unitLabel = chunkLYS44KMG_js.getDisplayUnitLabel(
5928
5928
  axisFormatting.displayUnits,
5929
5929
  axisFormatting.displayUnitsLabel
5930
5930
  );
@@ -5955,7 +5955,7 @@ function renderSecondaryAxisTicks(id, range, layout) {
5955
5955
  const ticks = [];
5956
5956
  for (let i = 0; i <= steps; i++) {
5957
5957
  const val = range.min + range.span * i / steps;
5958
- const y = chunk2LOBDOTK_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5958
+ const y = chunkLYS44KMG_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5959
5959
  ticks.push(
5960
5960
  /* @__PURE__ */ jsxRuntime.jsx(
5961
5961
  "line",
@@ -5982,7 +5982,7 @@ function renderSecondaryGridlines(id, range, layout, axisFormatting) {
5982
5982
  const gridColor = axisFormatting.majorGridlinesSpPr?.strokeColor ?? "#e2e8f0";
5983
5983
  for (let i = 0; i <= steps; i++) {
5984
5984
  const val = range.min + range.span * i / steps;
5985
- const y = chunk2LOBDOTK_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5985
+ const y = chunkLYS44KMG_js.valueToY(val, range, layout.plotTop, layout.plotBottom);
5986
5986
  lines.push(
5987
5987
  /* @__PURE__ */ jsxRuntime.jsx(
5988
5988
  "line",
@@ -6144,7 +6144,7 @@ function renderChartDataTable(elementId, chartData, svgWidth) {
6144
6144
  width: 8,
6145
6145
  height: 8,
6146
6146
  borderRadius: 2,
6147
- backgroundColor: chunk2LOBDOTK_js.seriesColor(
6147
+ backgroundColor: chunkLYS44KMG_js.seriesColor(
6148
6148
  s,
6149
6149
  si,
6150
6150
  chartData.style?.styleId,
@@ -6183,8 +6183,8 @@ function renderChartDataTable(elementId, chartData, svgWidth) {
6183
6183
  function renderStockChart(element, chartData, categoryLabels) {
6184
6184
  const style = chartData.style;
6185
6185
  const legendPos = style?.legendPosition || "b";
6186
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(chartData.series, chartData.axes);
6187
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, true, legendPos);
6186
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(chartData.series, chartData.axes);
6187
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, true, legendPos);
6188
6188
  const catCount = Math.max(categoryLabels.length, 1);
6189
6189
  const barGroupWidth = layout.plotWidth / catCount;
6190
6190
  const candleWidth = barGroupWidth * 0.5;
@@ -6205,10 +6205,10 @@ function renderStockChart(element, chartData, categoryLabels) {
6205
6205
  const close = closeSeries.values[ci] ?? high;
6206
6206
  const isUp = close >= open;
6207
6207
  const cx = layout.plotLeft + barGroupWidth * ci + barGroupWidth / 2;
6208
- const highY = chunk2LOBDOTK_js.valueToY(high, range, layout.plotTop, layout.plotBottom);
6209
- const lowY = chunk2LOBDOTK_js.valueToY(low, range, layout.plotTop, layout.plotBottom);
6210
- const openY = chunk2LOBDOTK_js.valueToY(open, range, layout.plotTop, layout.plotBottom);
6211
- const closeY = chunk2LOBDOTK_js.valueToY(close, range, layout.plotTop, layout.plotBottom);
6208
+ const highY = chunkLYS44KMG_js.valueToY(high, range, layout.plotTop, layout.plotBottom);
6209
+ const lowY = chunkLYS44KMG_js.valueToY(low, range, layout.plotTop, layout.plotBottom);
6210
+ const openY = chunkLYS44KMG_js.valueToY(open, range, layout.plotTop, layout.plotBottom);
6211
+ const closeY = chunkLYS44KMG_js.valueToY(close, range, layout.plotTop, layout.plotBottom);
6212
6212
  elements.push(
6213
6213
  /* @__PURE__ */ jsxRuntime.jsx(
6214
6214
  "line",
@@ -6251,7 +6251,7 @@ function renderStockChart(element, chartData, categoryLabels) {
6251
6251
  textAnchor: "middle",
6252
6252
  fontSize: 7,
6253
6253
  fill: "#334155",
6254
- children: chunk2LOBDOTK_js.formatAxisValue(close)
6254
+ children: chunkLYS44KMG_js.formatAxisValue(close)
6255
6255
  },
6256
6256
  `${element.id}-stock-dl-${ci}`
6257
6257
  )
@@ -6293,7 +6293,7 @@ function FailedToLoad() {
6293
6293
  var LazySurfaceChart3DScene = React6__default.default.lazy(
6294
6294
  async () => {
6295
6295
  try {
6296
- return await import('./SurfaceChart3DScene-XSJXJM6H.js');
6296
+ return await import('./SurfaceChart3DScene-YJFWGG5L.js');
6297
6297
  } catch {
6298
6298
  return { default: FailedToLoad };
6299
6299
  }
@@ -6317,7 +6317,7 @@ var SurfaceChart3DErrorBoundary = class extends React6__default.default.Componen
6317
6317
  function buildSurfaceData(chartData, categoryLabels) {
6318
6318
  const rows = chartData.series.length;
6319
6319
  const cols = Math.max(categoryLabels.length, 1);
6320
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(chartData.series, chartData.axes);
6320
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(chartData.series, chartData.axes);
6321
6321
  const heightMap = new Float32Array(rows * cols);
6322
6322
  const colorMap = new Float32Array(rows * cols * 3);
6323
6323
  for (let r = 0; r < rows; r++) {
@@ -6437,8 +6437,8 @@ function darkenRgb(r, g, b, factor) {
6437
6437
  function renderIsometricSurfaceChart(element, chartData, categoryLabels) {
6438
6438
  const style = chartData.style;
6439
6439
  const legendPos = style?.legendPosition || "b";
6440
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, false, legendPos);
6441
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(chartData.series, chartData.axes);
6440
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, false, legendPos);
6441
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(chartData.series, chartData.axes);
6442
6442
  const catCount = Math.max(categoryLabels.length, 1);
6443
6443
  const seriesCount = chartData.series.length;
6444
6444
  const cols = catCount - 1;
@@ -6528,8 +6528,8 @@ function renderIsometricSurfaceChart(element, chartData, categoryLabels) {
6528
6528
  function renderFlatSurfaceChart(element, chartData, categoryLabels) {
6529
6529
  const style = chartData.style;
6530
6530
  const legendPos = style?.legendPosition || "b";
6531
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, true, legendPos);
6532
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(chartData.series, chartData.axes);
6531
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, true, legendPos);
6532
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(chartData.series, chartData.axes);
6533
6533
  const catCount = Math.max(categoryLabels.length, 1);
6534
6534
  const seriesCount = chartData.series.length;
6535
6535
  const cellW = layout.plotWidth / Math.max(catCount - 1, 1);
@@ -6592,7 +6592,7 @@ function renderSurfaceChart(element, chartData, categoryLabels) {
6592
6592
  function renderTreemapChart(element, chartData, categoryLabels) {
6593
6593
  const style = chartData.style;
6594
6594
  const legendPos = style?.legendPosition || "b";
6595
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, false, legendPos);
6595
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, false, legendPos);
6596
6596
  const allValues = chartData.series.flatMap((s) => s.values);
6597
6597
  const totalAbs = allValues.reduce((sum, v) => sum + Math.abs(v), 0) || 1;
6598
6598
  const rects = [];
@@ -6615,7 +6615,7 @@ function renderTreemapChart(element, chartData, categoryLabels) {
6615
6615
  y: curY,
6616
6616
  width: Math.max(w - 1, 1),
6617
6617
  height: Math.max(h - 1, 1),
6618
- fill: chunk2LOBDOTK_js.paletteColor(item.index, chartData.style?.styleId, chartData.colorPalette),
6618
+ fill: chunkLYS44KMG_js.paletteColor(item.index, chartData.style?.styleId, chartData.colorPalette),
6619
6619
  rx: 2,
6620
6620
  opacity: 0.85
6621
6621
  },
@@ -6668,8 +6668,8 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6668
6668
  const style = chartData.style;
6669
6669
  const legendPos = style?.legendPosition || "b";
6670
6670
  const values = chartData.series[0]?.values ?? [];
6671
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(chartData.series, chartData.axes);
6672
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, true, legendPos);
6671
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(chartData.series, chartData.axes);
6672
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, true, legendPos);
6673
6673
  const catCount = Math.max(categoryLabels.length, values.length, 1);
6674
6674
  const barWidth = layout.plotWidth / catCount * 0.6;
6675
6675
  const gap = layout.plotWidth / catCount * 0.2;
@@ -6680,8 +6680,8 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6680
6680
  const isLast = i === values.length - 1;
6681
6681
  const startVal = isLast ? 0 : runningTotal;
6682
6682
  const endVal = isLast ? runningTotal + val : runningTotal + val;
6683
- const barStartY = chunk2LOBDOTK_js.valueToY(startVal, range, layout.plotTop, layout.plotBottom);
6684
- const barEndY = chunk2LOBDOTK_js.valueToY(endVal, range, layout.plotTop, layout.plotBottom);
6683
+ const barStartY = chunkLYS44KMG_js.valueToY(startVal, range, layout.plotTop, layout.plotBottom);
6684
+ const barEndY = chunkLYS44KMG_js.valueToY(endVal, range, layout.plotTop, layout.plotBottom);
6685
6685
  const x = layout.plotLeft + layout.plotWidth / catCount * i + gap;
6686
6686
  const y = Math.min(barStartY, barEndY);
6687
6687
  const h = Math.max(Math.abs(barEndY - barStartY), 1);
@@ -6710,7 +6710,7 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6710
6710
  textAnchor: "middle",
6711
6711
  fontSize: 7,
6712
6712
  fill: "#334155",
6713
- children: chunk2LOBDOTK_js.formatAxisValue(isLast ? endVal : val)
6713
+ children: chunkLYS44KMG_js.formatAxisValue(isLast ? endVal : val)
6714
6714
  },
6715
6715
  `${element.id}-wf-dl-${i}`
6716
6716
  )
@@ -6758,18 +6758,18 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6758
6758
  function renderComboChart(element, chartData, categoryLabels) {
6759
6759
  const style = chartData.style;
6760
6760
  const legendPos = style?.legendPosition || "b";
6761
- const layoutOpts = chunk2LOBDOTK_js.computeLayoutOptions(
6761
+ const layoutOpts = chunkLYS44KMG_js.computeLayoutOptions(
6762
6762
  chartData.axes,
6763
6763
  chartData.dataTable,
6764
6764
  chartData.series.length
6765
6765
  );
6766
- const layout = chunk2LOBDOTK_js.computeLayout(element.width, element.height, style, true, legendPos, layoutOpts);
6767
- const { primary, secondary } = chunk2LOBDOTK_js.splitSeriesByAxis(chartData.series, chartData.axes);
6766
+ const layout = chunkLYS44KMG_js.computeLayout(element.width, element.height, style, true, legendPos, layoutOpts);
6767
+ const { primary, secondary } = chunkLYS44KMG_js.splitSeriesByAxis(chartData.series, chartData.axes);
6768
6768
  const primarySeries = primary.length > 0 ? primary.map((e) => e.series) : chartData.series;
6769
6769
  const secondarySeries = secondary.map((e) => e.series);
6770
- const range = chunk2LOBDOTK_js.computeValueRangeForChart(primarySeries, chartData.axes);
6771
- const secondaryRange = secondarySeries.length > 0 ? chunk2LOBDOTK_js.computeValueRange(secondarySeries) : void 0;
6772
- const secondaryAxisFmt = chunk2LOBDOTK_js.getSecondaryValueAxis(chartData.axes);
6770
+ const range = chunkLYS44KMG_js.computeValueRangeForChart(primarySeries, chartData.axes);
6771
+ const secondaryRange = secondarySeries.length > 0 ? chunkLYS44KMG_js.computeValueRange(secondarySeries) : void 0;
6772
+ const secondaryAxisFmt = chunkLYS44KMG_js.getSecondaryValueAxis(chartData.axes);
6773
6773
  const catCount = Math.max(categoryLabels.length, 1);
6774
6774
  const barSeriesCount = 1;
6775
6775
  const barGroupWidth = layout.plotWidth / catCount;
@@ -6785,8 +6785,8 @@ function renderComboChart(element, chartData, categoryLabels) {
6785
6785
  const barRange = isBarSecondary && secondaryRange ? secondaryRange : range;
6786
6786
  barSeries.values.forEach((val, vi) => {
6787
6787
  const x = layout.plotLeft + barGroupWidth * vi + barOffset;
6788
- const zeroY = chunk2LOBDOTK_js.valueToY(0, barRange, layout.plotTop, layout.plotBottom);
6789
- const valY = chunk2LOBDOTK_js.valueToY(val, barRange, layout.plotTop, layout.plotBottom);
6788
+ const zeroY = chunkLYS44KMG_js.valueToY(0, barRange, layout.plotTop, layout.plotBottom);
6789
+ const valY = chunkLYS44KMG_js.valueToY(val, barRange, layout.plotTop, layout.plotBottom);
6790
6790
  const y = Math.min(zeroY, valY);
6791
6791
  const h = Math.max(Math.abs(zeroY - valY), 1);
6792
6792
  barElements.push(
@@ -6797,7 +6797,7 @@ function renderComboChart(element, chartData, categoryLabels) {
6797
6797
  y,
6798
6798
  width: barWidth,
6799
6799
  height: h,
6800
- fill: chunk2LOBDOTK_js.seriesColor(barSeries, 0, chartData.style?.styleId, chartData.colorPalette),
6800
+ fill: chunkLYS44KMG_js.seriesColor(barSeries, 0, chartData.style?.styleId, chartData.colorPalette),
6801
6801
  rx: 1
6802
6802
  },
6803
6803
  `${element.id}-combo-bar-${vi}`
@@ -6813,7 +6813,7 @@ function renderComboChart(element, chartData, categoryLabels) {
6813
6813
  textAnchor: "middle",
6814
6814
  fontSize: 7,
6815
6815
  fill: "#334155",
6816
- children: chunk2LOBDOTK_js.formatAxisValue(val)
6816
+ children: chunkLYS44KMG_js.formatAxisValue(val)
6817
6817
  },
6818
6818
  `${element.id}-combo-bar-dl-${vi}`
6819
6819
  )
@@ -6830,10 +6830,10 @@ function renderComboChart(element, chartData, categoryLabels) {
6830
6830
  const activeRange = isSecondary && secondaryRange ? secondaryRange : range;
6831
6831
  const points = series.values.map((val, vi) => {
6832
6832
  const x = layout.plotLeft + barGroupWidth * vi + barGroupWidth / 2;
6833
- const y = chunk2LOBDOTK_js.valueToY(val, activeRange, layout.plotTop, layout.plotBottom);
6833
+ const y = chunkLYS44KMG_js.valueToY(val, activeRange, layout.plotTop, layout.plotBottom);
6834
6834
  return { x, y, val };
6835
6835
  });
6836
- const c = chunk2LOBDOTK_js.seriesColor(series, seriesIdx, chartData.style?.styleId, chartData.colorPalette);
6836
+ const c = chunkLYS44KMG_js.seriesColor(series, seriesIdx, chartData.style?.styleId, chartData.colorPalette);
6837
6837
  lineElements.push(
6838
6838
  /* @__PURE__ */ jsxRuntime.jsx(
6839
6839
  "polyline",
@@ -6860,7 +6860,7 @@ function renderComboChart(element, chartData, categoryLabels) {
6860
6860
  textAnchor: "middle",
6861
6861
  fontSize: 7,
6862
6862
  fill: "#334155",
6863
- children: chunk2LOBDOTK_js.formatAxisValue(p.val)
6863
+ children: chunkLYS44KMG_js.formatAxisValue(p.val)
6864
6864
  },
6865
6865
  `${element.id}-combo-line-dl-${si}-${vi}`
6866
6866
  )
@@ -8006,14 +8006,14 @@ function buildNotesPdf(pages) {
8006
8006
  notes: page.notes,
8007
8007
  slideNumber: page.slideNumber
8008
8008
  }));
8009
- const bytes = chunk2LOBDOTK_js.buildNotesPdfBytes(images, meta);
8009
+ const bytes = chunkLYS44KMG_js.buildNotesPdfBytes(images, meta);
8010
8010
  const blob = new Blob([bytes], { type: "application/pdf" });
8011
8011
  return URL.createObjectURL(blob);
8012
8012
  }
8013
8013
 
8014
8014
  // src/viewer/utils/pdf-builder-slides.ts
8015
8015
  function buildPdfFromImageData(images) {
8016
- const bytes = chunk2LOBDOTK_js.buildSlidesPdfBytes(images);
8016
+ const bytes = chunkLYS44KMG_js.buildSlidesPdfBytes(images);
8017
8017
  const blob = new Blob([bytes], { type: "application/pdf" });
8018
8018
  return URL.createObjectURL(blob);
8019
8019
  }
@@ -8022,7 +8022,7 @@ function buildPdfFromImageData(images) {
8022
8022
  var activePreview = null;
8023
8023
  function startPreviewAnimation(elementId, preset, options) {
8024
8024
  stopPreviewAnimation();
8025
- const descriptor = chunk2LOBDOTK_js.buildPreviewAnimation(preset, options);
8025
+ const descriptor = chunkLYS44KMG_js.buildPreviewAnimation(preset, options);
8026
8026
  if (!descriptor) {
8027
8027
  return;
8028
8028
  }