stickyflow 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/binding/index.cjs +9 -9
  3. package/dist/binding/index.d.cts +3 -3
  4. package/dist/binding/index.d.ts +3 -3
  5. package/dist/binding/index.js +3 -3
  6. package/dist/{chunk-WZA3DJJH.cjs → chunk-3OF37CZX.cjs} +15 -15
  7. package/dist/{chunk-WZA3DJJH.cjs.map → chunk-3OF37CZX.cjs.map} +1 -1
  8. package/dist/{chunk-V22J7Z4H.cjs → chunk-3XPNGIMV.cjs} +37 -37
  9. package/dist/chunk-3XPNGIMV.cjs.map +1 -0
  10. package/dist/{chunk-G6IW2IX3.js → chunk-4SXXMOXR.js} +31 -5
  11. package/dist/chunk-4SXXMOXR.js.map +1 -0
  12. package/dist/{chunk-GQRJSA73.cjs → chunk-EG7VZJZX.cjs} +23 -23
  13. package/dist/{chunk-GQRJSA73.cjs.map → chunk-EG7VZJZX.cjs.map} +1 -1
  14. package/dist/{chunk-BFQWCOEC.js → chunk-FYSJMUJI.js} +3 -3
  15. package/dist/{chunk-BFQWCOEC.js.map → chunk-FYSJMUJI.js.map} +1 -1
  16. package/dist/{chunk-W25SXORW.js → chunk-LDRUTQF7.js} +4 -4
  17. package/dist/{chunk-W25SXORW.js.map → chunk-LDRUTQF7.js.map} +1 -1
  18. package/dist/{chunk-IQQ5KBL6.js → chunk-Q4OIDWT6.js} +6 -6
  19. package/dist/chunk-Q4OIDWT6.js.map +1 -0
  20. package/dist/{chunk-UHKFJBY5.cjs → chunk-SKGJXCAO.cjs} +31 -5
  21. package/dist/chunk-SKGJXCAO.cjs.map +1 -0
  22. package/dist/{chunk-EBHO2FJ5.js → chunk-UCOMSZPC.js} +10 -9
  23. package/dist/chunk-UCOMSZPC.js.map +1 -0
  24. package/dist/{chunk-K5PGMZAD.cjs → chunk-ZE2KRWOM.cjs} +663 -662
  25. package/dist/chunk-ZE2KRWOM.cjs.map +1 -0
  26. package/dist/index.cjs +36 -36
  27. package/dist/index.d.cts +3 -3
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.js +5 -5
  30. package/dist/interaction/index.cjs +275 -237
  31. package/dist/interaction/index.cjs.map +1 -1
  32. package/dist/interaction/index.js +41 -3
  33. package/dist/interaction/index.js.map +1 -1
  34. package/dist/{runtime-C-C5v9po.d.cts → runtime-BJDaqo6f.d.cts} +1 -1
  35. package/dist/{runtime-lCAfU-1Q.d.ts → runtime-DaconR36.d.ts} +1 -1
  36. package/dist/{runtimeTypes-BDA_CfWh.d.ts → runtimeTypes-BE_GI1yU.d.ts} +1 -1
  37. package/dist/{runtimeTypes-B7p6b1Bi.d.cts → runtimeTypes-BE_nllY6.d.cts} +1 -1
  38. package/dist/stickyflow-diagram.global.js +39 -39
  39. package/dist/stickyflow-diagram.global.js.map +1 -1
  40. package/dist/viewer/index.cjs +9 -9
  41. package/dist/viewer/index.d.cts +1 -1
  42. package/dist/viewer/index.d.ts +1 -1
  43. package/dist/viewer/index.js +4 -4
  44. package/dist/web-component/index.cjs +6 -6
  45. package/dist/web-component/index.js +4 -4
  46. package/package.json +1 -1
  47. package/dist/chunk-EBHO2FJ5.js.map +0 -1
  48. package/dist/chunk-G6IW2IX3.js.map +0 -1
  49. package/dist/chunk-IQQ5KBL6.js.map +0 -1
  50. package/dist/chunk-K5PGMZAD.cjs.map +0 -1
  51. package/dist/chunk-UHKFJBY5.cjs.map +0 -1
  52. package/dist/chunk-V22J7Z4H.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUHKFJBY5_cjs = require('./chunk-UHKFJBY5.cjs');
3
+ var chunkSKGJXCAO_cjs = require('./chunk-SKGJXCAO.cjs');
4
4
 
5
5
  // src/renderInput/styleDecoding/colorToken.ts
6
6
  var COLOR_TOKEN_PATTERN = String.raw`rgba?\([^)]*\)|#[0-9a-fA-F]+|[a-zA-Z][\w-]*`;
@@ -660,7 +660,7 @@ function readComponentValue(descriptor, raw) {
660
660
  return raw;
661
661
  }
662
662
  function genericComponentObject(canvasObject) {
663
- const descriptor = chunkUHKFJBY5_cjs.getComponentDescriptor(canvasObject.component.type);
663
+ const descriptor = chunkSKGJXCAO_cjs.getComponentDescriptor(canvasObject.component.type);
664
664
  return {
665
665
  id: canvasObject.id,
666
666
  type: canvasObject.component.type,
@@ -849,7 +849,7 @@ var BUILT_IN_OBJECTS = {
849
849
  };
850
850
  function componentObject(canvasObject) {
851
851
  const type = canvasObject.component.type;
852
- return chunkUHKFJBY5_cjs.isBuiltInComponentType(type) ? BUILT_IN_OBJECTS[type](canvasObject) : genericComponentObject(canvasObject);
852
+ return chunkSKGJXCAO_cjs.isBuiltInComponentType(type) ? BUILT_IN_OBJECTS[type](canvasObject) : genericComponentObject(canvasObject);
853
853
  }
854
854
 
855
855
  // src/renderInput/fromSfl/canvasObjects/connection.ts
@@ -896,6 +896,7 @@ function dimensionObject(canvasObject) {
896
896
  // src/renderInput/fromSfl/canvasObjects/frame.ts
897
897
  function frameObject(e) {
898
898
  const p = e.props;
899
+ const screen = e.kind === "screen";
899
900
  return {
900
901
  id: e.id,
901
902
  title: e.text ?? null,
@@ -903,18 +904,18 @@ function frameObject(e) {
903
904
  y: e.y,
904
905
  width: e.width,
905
906
  height: e.height,
906
- fillColor: p.fill ?? "rgba(155, 66, 223, 0.05)",
907
- strokeColor: p.stroke ?? "#9b42df",
908
- strokeWidth: numOf(p.strokeWidth) ?? 2,
909
- cornerRadius: numOf(p.cornerRadius) ?? 12,
907
+ fillColor: p.fill ?? (screen ? "rgba(0, 0, 0, 0)" : "rgba(155, 66, 223, 0.05)"),
908
+ strokeColor: p.stroke ?? (screen ? "rgba(0, 0, 0, 0)" : "#9b42df"),
909
+ strokeWidth: numOf(p.strokeWidth) ?? (screen ? 0 : 2),
910
+ cornerRadius: numOf(p.cornerRadius) ?? (screen ? 0 : 12),
910
911
  textColor: p.textColor ?? "#ffffff",
911
912
  fontSize: numOf(p.fontSize) ?? 14,
912
913
  fontWeight: oneOf(p.fontWeight, FONT_WEIGHTS, "bold"),
913
914
  fontFamily: p.fontFamily,
914
915
  dash: dashArray(p.dash),
915
- showLabel: p.showLabel !== "false",
916
+ showLabel: screen ? p.showLabel === "true" : p.showLabel !== "false",
916
917
  labelPosition: oneOf(p.labelPosition, LABEL_POSITIONS, "top"),
917
- shadow: p.shadow !== "false",
918
+ shadow: screen ? p.shadow === "true" : p.shadow !== "false",
918
919
  clip: p.clip === "true" || void 0,
919
920
  order: e.order,
920
921
  sourceIndex: e.sourceIndex
@@ -1113,9 +1114,9 @@ function collectCanvasObjects(state) {
1113
1114
  shapes: canvasObjects.filter((canvasObject) => canvasObject.objectType === "shape").map((shape) => shapeObject(shape, shaders)),
1114
1115
  frames: canvasObjects.filter((canvasObject) => canvasObject.objectType === "frame").map(frameObject),
1115
1116
  swimlanes: canvasObjects.filter((canvasObject) => canvasObject.objectType === "swimlane").map(swimlaneObject),
1116
- isometricObjects: canvasObjects.filter(chunkUHKFJBY5_cjs.isIsometricObject).map(isometricObject),
1117
+ isometricObjects: canvasObjects.filter(chunkSKGJXCAO_cjs.isIsometricObject).map(isometricObject),
1117
1118
  paths: canvasObjects.filter((canvasObject) => canvasObject.objectType === "path").map(pathObject),
1118
- dimensions: canvasObjects.filter(chunkUHKFJBY5_cjs.isDimensionObject).map(dimensionObject),
1119
+ dimensions: canvasObjects.filter(chunkSKGJXCAO_cjs.isDimensionObject).map(dimensionObject),
1119
1120
  charts: canvasObjects.filter((canvasObject) => canvasObject.objectType === "chart").map(chartObject),
1120
1121
  components: canvasObjects.filter(
1121
1122
  (canvasObject) => canvasObject.objectType === "component" && canvasObject.component !== void 0
@@ -1142,9 +1143,9 @@ function sidePoint(canvasObject, endpoint) {
1142
1143
  function namedPortPoint(canvasObject, endpoint) {
1143
1144
  const port = canvasObject.symbol?.ports?.find((candidate) => candidate.name === endpoint.port);
1144
1145
  if (!port) {
1145
- return chunkUHKFJBY5_cjs.elementCenter(canvasObject);
1146
+ return chunkSKGJXCAO_cjs.elementCenter(canvasObject);
1146
1147
  }
1147
- return chunkUHKFJBY5_cjs.pointAtNormalizedPort(
1148
+ return chunkSKGJXCAO_cjs.pointAtNormalizedPort(
1148
1149
  {
1149
1150
  x: canvasObject.x,
1150
1151
  y: canvasObject.y,
@@ -1190,7 +1191,7 @@ function explicitAnchorPoint(canvasObject, endpoint) {
1190
1191
  return null;
1191
1192
  }
1192
1193
  function automaticEndpointPoint(canvasObject, opposite) {
1193
- return opposite ? chunkUHKFJBY5_cjs.edgePointToward(canvasObject, opposite) : chunkUHKFJBY5_cjs.elementCenter(canvasObject);
1194
+ return opposite ? chunkSKGJXCAO_cjs.edgePointToward(canvasObject, opposite) : chunkSKGJXCAO_cjs.elementCenter(canvasObject);
1194
1195
  }
1195
1196
  function findPositionedCanvasObject(canvasObjects, id) {
1196
1197
  return canvasObjects.find((candidate) => candidate.id === id);
@@ -1208,7 +1209,7 @@ function positionedCanvasObjects(canvasObjects) {
1208
1209
  ];
1209
1210
  }
1210
1211
  function connectionEndpointPoint(object, face) {
1211
- return object ? chunkUHKFJBY5_cjs.isometricFaceCenter(object, face) : { x: 0, y: 0 };
1212
+ return object ? chunkSKGJXCAO_cjs.isometricFaceCenter(object, face) : { x: 0, y: 0 };
1212
1213
  }
1213
1214
  function isometricStackPosition(isometricObjects, id) {
1214
1215
  const index = isometricObjects.findIndex((object2) => object2.id === id);
@@ -1223,8 +1224,8 @@ function connectionStack(isometricObjects, connection) {
1223
1224
  return { order: connection.order, sourceIndex: connection.sourceIndex };
1224
1225
  }
1225
1226
  const behind = [
1226
- chunkUHKFJBY5_cjs.VISIBLE_ISOMETRIC_FACES.has(connection.fromFace) ? void 0 : isometricStackPosition(isometricObjects, connection.fromId),
1227
- chunkUHKFJBY5_cjs.VISIBLE_ISOMETRIC_FACES.has(connection.toFace) ? void 0 : isometricStackPosition(isometricObjects, connection.toId)
1227
+ chunkSKGJXCAO_cjs.VISIBLE_ISOMETRIC_FACES.has(connection.fromFace) ? void 0 : isometricStackPosition(isometricObjects, connection.fromId),
1228
+ chunkSKGJXCAO_cjs.VISIBLE_ISOMETRIC_FACES.has(connection.toFace) ? void 0 : isometricStackPosition(isometricObjects, connection.toId)
1228
1229
  ].filter((position) => position !== void 0);
1229
1230
  if (!behind.length) {
1230
1231
  return { sourceIndex: connection.sourceIndex };
@@ -1266,7 +1267,7 @@ function createRenderInputLinks(canvasObjects) {
1266
1267
 
1267
1268
  // src/renderInput/fromSfl/index.ts
1268
1269
  function sflToRenderInput(sfl) {
1269
- const state = chunkUHKFJBY5_cjs.sflToCanvasState(sfl);
1270
+ const state = chunkSKGJXCAO_cjs.sflToCanvasState(sfl);
1270
1271
  const canvasObjects = collectCanvasObjects(state);
1271
1272
  return {
1272
1273
  shapes: canvasObjects.shapes,
@@ -1285,13 +1286,13 @@ function sflToRenderInput(sfl) {
1285
1286
  // src/renderScene/artifacts/component/placeholder.ts
1286
1287
  var STROKE = "#94a3b8";
1287
1288
  function buildPlaceholder(component, index) {
1288
- const x = chunkUHKFJBY5_cjs.finite(component.x, 0);
1289
- const y = chunkUHKFJBY5_cjs.finite(component.y, 0);
1290
- const width = Math.max(0, chunkUHKFJBY5_cjs.finite(component.width, 120));
1291
- const height = Math.max(0, chunkUHKFJBY5_cjs.finite(component.height, 60));
1292
- const rotation = chunkUHKFJBY5_cjs.finite(component.rotation, 0);
1289
+ const x = chunkSKGJXCAO_cjs.finite(component.x, 0);
1290
+ const y = chunkSKGJXCAO_cjs.finite(component.y, 0);
1291
+ const width = Math.max(0, chunkSKGJXCAO_cjs.finite(component.width, 120));
1292
+ const height = Math.max(0, chunkSKGJXCAO_cjs.finite(component.height, 60));
1293
+ const rotation = chunkSKGJXCAO_cjs.finite(component.rotation, 0);
1293
1294
  const order = 1e4 + index;
1294
- const bounds = chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height }, rotation, 2);
1295
+ const bounds = chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height }, rotation, 2);
1295
1296
  return [
1296
1297
  {
1297
1298
  id: `widget-${component.id}`,
@@ -1316,7 +1317,7 @@ function buildPlaceholder(component, index) {
1316
1317
  width,
1317
1318
  height,
1318
1319
  lines: [component.type],
1319
- fontFamily: chunkUHKFJBY5_cjs.DEFAULT_FONT,
1320
+ fontFamily: chunkSKGJXCAO_cjs.DEFAULT_FONT,
1320
1321
  fontSize: 12,
1321
1322
  fontWeight: "normal",
1322
1323
  color: STROKE,
@@ -1330,44 +1331,44 @@ function buildPlaceholder(component, index) {
1330
1331
 
1331
1332
  // src/renderScene/artifacts/component/builtIn.ts
1332
1333
  function buildRollingNumber(component, index) {
1333
- const x = chunkUHKFJBY5_cjs.finite(component.x, 0);
1334
- const y = chunkUHKFJBY5_cjs.finite(component.y, 0);
1335
- const width = Math.max(0, chunkUHKFJBY5_cjs.finite(component.width, 160));
1336
- const height = Math.max(0, chunkUHKFJBY5_cjs.finite(component.height, 90));
1337
- const rotation = chunkUHKFJBY5_cjs.finite(component.rotation, 0);
1334
+ const x = chunkSKGJXCAO_cjs.finite(component.x, 0);
1335
+ const y = chunkSKGJXCAO_cjs.finite(component.y, 0);
1336
+ const width = Math.max(0, chunkSKGJXCAO_cjs.finite(component.width, 160));
1337
+ const height = Math.max(0, chunkSKGJXCAO_cjs.finite(component.height, 90));
1338
+ const rotation = chunkSKGJXCAO_cjs.finite(component.rotation, 0);
1338
1339
  return [
1339
1340
  {
1340
1341
  id: `widget-${component.id}`,
1341
1342
  type: "rolling-number",
1342
1343
  order: 1e4 + index,
1343
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1344
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1344
1345
  x,
1345
1346
  y,
1346
1347
  width,
1347
1348
  height,
1348
1349
  rotation,
1349
- value: chunkUHKFJBY5_cjs.formatRollingNumber(component.value, component.digits),
1350
+ value: chunkSKGJXCAO_cjs.formatRollingNumber(component.value, component.digits),
1350
1351
  digits: component.digits,
1351
- duration: Math.max(0, chunkUHKFJBY5_cjs.finite(component.duration, 420)),
1352
+ duration: Math.max(0, chunkSKGJXCAO_cjs.finite(component.duration, 420)),
1352
1353
  label: component.label,
1353
- componentStyle: chunkUHKFJBY5_cjs.resolveRollingNumberStyle(component.style)
1354
+ componentStyle: chunkSKGJXCAO_cjs.resolveRollingNumberStyle(component.style)
1354
1355
  }
1355
1356
  ];
1356
1357
  }
1357
1358
  function buildTickScale(component, index) {
1358
- const x = chunkUHKFJBY5_cjs.finite(component.x, 0);
1359
- const y = chunkUHKFJBY5_cjs.finite(component.y, 0);
1360
- const width = Math.max(0, chunkUHKFJBY5_cjs.finite(component.width, 200));
1361
- const height = Math.max(0, chunkUHKFJBY5_cjs.finite(component.height, 200));
1362
- const rotation = chunkUHKFJBY5_cjs.finite(component.rotation, 0);
1363
- const max = chunkUHKFJBY5_cjs.finite(component.max, 100) || 100;
1364
- const progress = Math.min(1, Math.max(0, chunkUHKFJBY5_cjs.finite(Number(component.value), 0) / max));
1359
+ const x = chunkSKGJXCAO_cjs.finite(component.x, 0);
1360
+ const y = chunkSKGJXCAO_cjs.finite(component.y, 0);
1361
+ const width = Math.max(0, chunkSKGJXCAO_cjs.finite(component.width, 200));
1362
+ const height = Math.max(0, chunkSKGJXCAO_cjs.finite(component.height, 200));
1363
+ const rotation = chunkSKGJXCAO_cjs.finite(component.rotation, 0);
1364
+ const max = chunkSKGJXCAO_cjs.finite(component.max, 100) || 100;
1365
+ const progress = Math.min(1, Math.max(0, chunkSKGJXCAO_cjs.finite(Number(component.value), 0) / max));
1365
1366
  const nodes = [
1366
1367
  {
1367
1368
  id: `widget-${component.id}`,
1368
1369
  type: "shader-surface",
1369
1370
  order: 1e4 + index,
1370
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1371
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1371
1372
  x,
1372
1373
  y,
1373
1374
  width,
@@ -1384,12 +1385,12 @@ function buildTickScale(component, index) {
1384
1385
  }
1385
1386
  function buildTickLabels(component, box) {
1386
1387
  const labels = component.labels ?? {};
1387
- const ticks2 = Math.max(1, chunkUHKFJBY5_cjs.finite(Number(component.parameters.ticks), 48));
1388
- const major = Math.max(1, chunkUHKFJBY5_cjs.finite(Number(component.parameters.major), 5));
1389
- const start = chunkUHKFJBY5_cjs.finite(Number(component.parameters.start), 225) * Math.PI / 180;
1390
- const sweep = chunkUHKFJBY5_cjs.finite(Number(component.parameters.sweep), 270) * Math.PI / 180;
1391
- const radius = chunkUHKFJBY5_cjs.finite(Number(component.parameters.radius), 0.9) + chunkUHKFJBY5_cjs.finite(labels.offset, 0.08);
1392
- const fontSize = chunkUHKFJBY5_cjs.finite(labels.size, 12);
1388
+ const ticks2 = Math.max(1, chunkSKGJXCAO_cjs.finite(Number(component.parameters.ticks), 48));
1389
+ const major = Math.max(1, chunkSKGJXCAO_cjs.finite(Number(component.parameters.major), 5));
1390
+ const start = chunkSKGJXCAO_cjs.finite(Number(component.parameters.start), 225) * Math.PI / 180;
1391
+ const sweep = chunkSKGJXCAO_cjs.finite(Number(component.parameters.sweep), 270) * Math.PI / 180;
1392
+ const radius = chunkSKGJXCAO_cjs.finite(Number(component.parameters.radius), 0.9) + chunkSKGJXCAO_cjs.finite(labels.offset, 0.08);
1393
+ const fontSize = chunkSKGJXCAO_cjs.finite(labels.size, 12);
1393
1394
  const centerX = box.x + box.width / 2;
1394
1395
  const centerY = box.y + box.height / 2;
1395
1396
  const count = Math.floor(ticks2 / major);
@@ -1404,10 +1405,10 @@ function buildTickLabels(component, box) {
1404
1405
  id: `widget-${component.id}-label-${step}`,
1405
1406
  type: "text",
1406
1407
  order: box.order + 0.1,
1407
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(labelBox, 0, 2),
1408
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(labelBox, 0, 2),
1408
1409
  ...labelBox,
1409
1410
  lines: [String(Math.round(box.max * fraction * 10) / 10)],
1410
- fontFamily: labels.fontFamily || chunkUHKFJBY5_cjs.DEFAULT_FONT,
1411
+ fontFamily: labels.fontFamily || chunkSKGJXCAO_cjs.DEFAULT_FONT,
1411
1412
  fontSize,
1412
1413
  fontWeight: labels.weight ?? "normal",
1413
1414
  color: labels.color || "#8f95c4",
@@ -1419,20 +1420,20 @@ function buildTickLabels(component, box) {
1419
1420
  return nodes;
1420
1421
  }
1421
1422
  function buildRuler(component, index) {
1422
- const x = chunkUHKFJBY5_cjs.finite(component.x, 0);
1423
- const y = chunkUHKFJBY5_cjs.finite(component.y, 0);
1424
- const width = Math.max(0, chunkUHKFJBY5_cjs.finite(component.width, 120));
1425
- const height = Math.max(0, chunkUHKFJBY5_cjs.finite(component.height, 360));
1426
- const rotation = chunkUHKFJBY5_cjs.finite(component.rotation, 0);
1427
- const min = chunkUHKFJBY5_cjs.finite(component.min, 0);
1428
- const max = chunkUHKFJBY5_cjs.finite(component.max, 100);
1429
- const progress = max === min ? 0 : Math.min(1, Math.max(0, (chunkUHKFJBY5_cjs.finite(Number(component.value), min) - min) / (max - min)));
1423
+ const x = chunkSKGJXCAO_cjs.finite(component.x, 0);
1424
+ const y = chunkSKGJXCAO_cjs.finite(component.y, 0);
1425
+ const width = Math.max(0, chunkSKGJXCAO_cjs.finite(component.width, 120));
1426
+ const height = Math.max(0, chunkSKGJXCAO_cjs.finite(component.height, 360));
1427
+ const rotation = chunkSKGJXCAO_cjs.finite(component.rotation, 0);
1428
+ const min = chunkSKGJXCAO_cjs.finite(component.min, 0);
1429
+ const max = chunkSKGJXCAO_cjs.finite(component.max, 100);
1430
+ const progress = max === min ? 0 : Math.min(1, Math.max(0, (chunkSKGJXCAO_cjs.finite(Number(component.value), min) - min) / (max - min)));
1430
1431
  const nodes = [
1431
1432
  {
1432
1433
  id: `widget-${component.id}`,
1433
1434
  type: "shader-surface",
1434
1435
  order: 1e4 + index,
1435
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1436
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height }, rotation, 2),
1436
1437
  x,
1437
1438
  y,
1438
1439
  width,
@@ -1450,14 +1451,14 @@ function buildRuler(component, index) {
1450
1451
  function buildRulerLabels(component, box) {
1451
1452
  const labels = component.labels ?? {};
1452
1453
  const horizontal = component.parameters.axis === "horizontal";
1453
- const ticks2 = Math.max(1, chunkUHKFJBY5_cjs.finite(Number(component.parameters.ticks), 50));
1454
- const major = Math.max(1, chunkUHKFJBY5_cjs.finite(Number(component.parameters.major), 5));
1455
- const inset = chunkUHKFJBY5_cjs.finite(Number(component.parameters.inset), 0.05) > 0 ? chunkUHKFJBY5_cjs.finite(Number(component.parameters.inset), 0.05) : 0.05;
1456
- const line = chunkUHKFJBY5_cjs.finite(Number(component.parameters.line), 0.7) > 0 ? chunkUHKFJBY5_cjs.finite(Number(component.parameters.line), 0.7) : 0.7;
1454
+ const ticks2 = Math.max(1, chunkSKGJXCAO_cjs.finite(Number(component.parameters.ticks), 50));
1455
+ const major = Math.max(1, chunkSKGJXCAO_cjs.finite(Number(component.parameters.major), 5));
1456
+ const inset = chunkSKGJXCAO_cjs.finite(Number(component.parameters.inset), 0.05) > 0 ? chunkSKGJXCAO_cjs.finite(Number(component.parameters.inset), 0.05) : 0.05;
1457
+ const line = chunkSKGJXCAO_cjs.finite(Number(component.parameters.line), 0.7) > 0 ? chunkSKGJXCAO_cjs.finite(Number(component.parameters.line), 0.7) : 0.7;
1457
1458
  const across = horizontal ? box.height : box.width;
1458
- const tickLength = (chunkUHKFJBY5_cjs.finite(Number(component.parameters.length), 0.1) > 0 ? chunkUHKFJBY5_cjs.finite(Number(component.parameters.length), 0.1) : 0.1) * across * 1.9;
1459
- const edge = line * across - 0.12 * across - tickLength - chunkUHKFJBY5_cjs.finite(labels.offset, 0.04) * across;
1460
- const fontSize = chunkUHKFJBY5_cjs.finite(labels.size, 12);
1459
+ const tickLength = (chunkSKGJXCAO_cjs.finite(Number(component.parameters.length), 0.1) > 0 ? chunkSKGJXCAO_cjs.finite(Number(component.parameters.length), 0.1) : 0.1) * across * 1.9;
1460
+ const edge = line * across - 0.12 * across - tickLength - chunkSKGJXCAO_cjs.finite(labels.offset, 0.04) * across;
1461
+ const fontSize = chunkSKGJXCAO_cjs.finite(labels.size, 12);
1461
1462
  const count = Math.floor(ticks2 / major);
1462
1463
  const nodes = [];
1463
1464
  for (let step = 0; step <= count; step += 1) {
@@ -1468,10 +1469,10 @@ function buildRulerLabels(component, box) {
1468
1469
  id: `widget-${component.id}-label-${step}`,
1469
1470
  type: "text",
1470
1471
  order: box.order + 0.1,
1471
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(labelBox, 0, 2),
1472
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(labelBox, 0, 2),
1472
1473
  ...labelBox,
1473
1474
  lines: [String(Math.round((box.min + (box.max - box.min) * fraction) * 10) / 10)],
1474
- fontFamily: labels.fontFamily || chunkUHKFJBY5_cjs.DEFAULT_FONT,
1475
+ fontFamily: labels.fontFamily || chunkSKGJXCAO_cjs.DEFAULT_FONT,
1475
1476
  fontSize,
1476
1477
  fontWeight: labels.weight ?? "normal",
1477
1478
  color: labels.color || "#8f95c4",
@@ -1487,10 +1488,10 @@ function buildRulerLabels(component, box) {
1487
1488
  var DISABLED_INK = "#94a3b8";
1488
1489
  function controlBox(component, index, fallback) {
1489
1490
  return {
1490
- x: chunkUHKFJBY5_cjs.finite(component.x, 0),
1491
- y: chunkUHKFJBY5_cjs.finite(component.y, 0),
1492
- width: Math.max(1, chunkUHKFJBY5_cjs.finite(component.width, fallback.width)),
1493
- height: Math.max(1, chunkUHKFJBY5_cjs.finite(component.height, fallback.height)),
1491
+ x: chunkSKGJXCAO_cjs.finite(component.x, 0),
1492
+ y: chunkSKGJXCAO_cjs.finite(component.y, 0),
1493
+ width: Math.max(1, chunkSKGJXCAO_cjs.finite(component.width, fallback.width)),
1494
+ height: Math.max(1, chunkSKGJXCAO_cjs.finite(component.height, fallback.height)),
1494
1495
  order: 1e4 + index
1495
1496
  };
1496
1497
  }
@@ -1508,7 +1509,7 @@ function hitArea(component, box, takesClicks = true) {
1508
1509
  id: `widget-${component.id}`,
1509
1510
  type: "rect",
1510
1511
  order: box.order,
1511
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, 0, 0),
1512
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, 0, 0),
1512
1513
  x: box.x,
1513
1514
  y: box.y,
1514
1515
  width: box.width,
@@ -1521,13 +1522,13 @@ function labelText(component, part, area, label, order) {
1521
1522
  id: `widget-${component.id}-${part}`,
1522
1523
  type: "text",
1523
1524
  order,
1524
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(area, 0, 0),
1525
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(area, 0, 0),
1525
1526
  x: area.x,
1526
1527
  y: area.y,
1527
1528
  width: area.width,
1528
1529
  height: area.height,
1529
1530
  lines: [label.text],
1530
- fontFamily: chunkUHKFJBY5_cjs.DEFAULT_FONT,
1531
+ fontFamily: chunkSKGJXCAO_cjs.DEFAULT_FONT,
1531
1532
  fontSize: label.fontSize,
1532
1533
  fontWeight: "600",
1533
1534
  color: label.color,
@@ -1546,7 +1547,7 @@ function buildButton(component, index) {
1546
1547
  id: `widget-${component.id}-face`,
1547
1548
  type: "rect",
1548
1549
  order: box.order + 0.1,
1549
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, 0, 0),
1550
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, 0, 0),
1550
1551
  x: box.x,
1551
1552
  y: box.y,
1552
1553
  width: box.width,
@@ -1585,7 +1586,7 @@ function boxNode(component, box, square) {
1585
1586
  id: `widget-${component.id}-box`,
1586
1587
  type: "rect",
1587
1588
  order: box.order + 0.1,
1588
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(square, 0, 2),
1589
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(square, 0, 2),
1589
1590
  ...square,
1590
1591
  rx: square.width * CORNER_RATIO,
1591
1592
  style: fade(component, {
@@ -1600,7 +1601,7 @@ function checkNode(component, box, square) {
1600
1601
  id: `widget-${component.id}-check`,
1601
1602
  type: "path",
1602
1603
  order: box.order + 0.2,
1603
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(square, 0, 0),
1604
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(square, 0, 0),
1604
1605
  d: checkPath(square),
1605
1606
  style: fade(component, {
1606
1607
  fill: { kind: "none" },
@@ -1637,7 +1638,7 @@ function buildCheckbox(component, index) {
1637
1638
  // src/renderScene/artifacts/component/hand.ts
1638
1639
  var MIN_TIP = 0.25;
1639
1640
  function withAlpha(color, alpha) {
1640
- const rgb = chunkUHKFJBY5_cjs.parseHexRgb(color);
1641
+ const rgb = chunkSKGJXCAO_cjs.parseHexRgb(color);
1641
1642
  return rgb && alpha < 1 ? `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${Number(alpha.toFixed(3))})` : color;
1642
1643
  }
1643
1644
  var num = (value) => String(Number(value.toFixed(3)));
@@ -1727,7 +1728,7 @@ function handLayer(component, box, base, angle, layer, order) {
1727
1728
  id: `widget-${component.id}-${layer.part}`,
1728
1729
  type: "path",
1729
1730
  order: box.order + order,
1730
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(extent, 0, 0),
1731
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(extent, 0, 0),
1731
1732
  d: outline(hand),
1732
1733
  rotation: angle,
1733
1734
  rotationCenter: { x: hand.cx, y: hand.cy },
@@ -1834,7 +1835,7 @@ function hubNode(component, box, hand, radius) {
1834
1835
  id: `widget-${component.id}-hub`,
1835
1836
  type: "ellipse",
1836
1837
  order: box.order + 0.4,
1837
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(
1838
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(
1838
1839
  { x: hand.cx - radius, y: hand.cy - radius, width: radius * 2, height: radius * 2 },
1839
1840
  0,
1840
1841
  ringWidth
@@ -1875,7 +1876,7 @@ function pickNodes(component, box, hand, angle) {
1875
1876
  id: `widget-${component.id}-pick`,
1876
1877
  type: "path",
1877
1878
  order: box.order + 0.5,
1878
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(extent, 0, 0),
1879
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(extent, 0, 0),
1879
1880
  d: outline(reach),
1880
1881
  rotation: angle,
1881
1882
  rotationCenter: { x: reach.cx, y: reach.cy },
@@ -1931,7 +1932,7 @@ function arcNode(component, box, dial, part, order, color, length, extra = {}) {
1931
1932
  id: `widget-${component.id}-${part}`,
1932
1933
  type: "ellipse",
1933
1934
  order: box.order + order,
1934
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, thickness),
1935
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, thickness),
1935
1936
  cx,
1936
1937
  cy,
1937
1938
  rx: radius,
@@ -1952,7 +1953,7 @@ function discNode(component, box, part, order, center, radius, fill2) {
1952
1953
  id: `widget-${component.id}-${part}`,
1953
1954
  type: "ellipse",
1954
1955
  order: box.order + order,
1955
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x: center.x - radius, y: center.y - radius, width: radius * 2, height: radius * 2 }, 0, 0),
1956
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x: center.x - radius, y: center.y - radius, width: radius * 2, height: radius * 2 }, 0, 0),
1956
1957
  cx: center.x,
1957
1958
  cy: center.y,
1958
1959
  rx: radius,
@@ -2032,7 +2033,7 @@ function buildRing(component, box, fraction, round2) {
2032
2033
  id: `widget-${component.id}-${part}`,
2033
2034
  type: "ellipse",
2034
2035
  order: box.order + order,
2035
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, thickness),
2036
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, thickness),
2036
2037
  cx,
2037
2038
  cy,
2038
2039
  rx: radius,
@@ -2058,7 +2059,7 @@ function buildBar(component, box, fraction, round2) {
2058
2059
  id: `widget-${component.id}-${part}`,
2059
2060
  type: "rect",
2060
2061
  order: box.order + order,
2061
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(shape, 0, 0),
2062
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(shape, 0, 0),
2062
2063
  ...shape,
2063
2064
  rx: radius,
2064
2065
  style: fade(component, {
@@ -2113,7 +2114,7 @@ function buildSegmented(component, index) {
2113
2114
  id: `widget-${component.id}-track`,
2114
2115
  type: "rect",
2115
2116
  order: box.order + 0.1,
2116
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, 0, 0),
2117
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, 0, 0),
2117
2118
  x: box.x,
2118
2119
  y: box.y,
2119
2120
  width: box.width,
@@ -2125,7 +2126,7 @@ function buildSegmented(component, index) {
2125
2126
  id: `widget-${component.id}-active`,
2126
2127
  type: "rect",
2127
2128
  order: box.order + 0.2,
2128
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x: box.x + inset + active * cellWidth, width: cellWidth, ...cell }, 0, 0),
2129
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x: box.x + inset + active * cellWidth, width: cellWidth, ...cell }, 0, 0),
2129
2130
  x: box.x + inset + active * cellWidth,
2130
2131
  y: cell.y,
2131
2132
  width: cellWidth,
@@ -2177,7 +2178,7 @@ var rect = (component, box, part, order, shape, color, extra = {}) => ({
2177
2178
  id: `widget-${component.id}-${part}`,
2178
2179
  type: "rect",
2179
2180
  order: box.order + order,
2180
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(shape, 0, 0),
2181
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(shape, 0, 0),
2181
2182
  ...shape,
2182
2183
  style: fade(component, { fill: solid(color), stroke: { kind: "none" }, ...extra })
2183
2184
  });
@@ -2233,7 +2234,7 @@ function buildLine(component, box, thumbs, vertical) {
2233
2234
  id: `widget-${component.id}-${part}`,
2234
2235
  type: "ellipse",
2235
2236
  order: box.order + order,
2236
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, 0),
2237
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x: cx - radius, y: cy - radius, width: radius * 2, height: radius * 2 }, 0, 0),
2237
2238
  cx,
2238
2239
  cy,
2239
2240
  rx: radius,
@@ -2395,7 +2396,7 @@ function buildSwitch(component, index) {
2395
2396
  id: `widget-${component.id}-track`,
2396
2397
  type: "rect",
2397
2398
  order: box.order + 0.1,
2398
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, 0, 0),
2399
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, 0, 0),
2399
2400
  x: box.x,
2400
2401
  y: box.y,
2401
2402
  width: box.width,
@@ -2410,7 +2411,7 @@ function buildSwitch(component, index) {
2410
2411
  id: `widget-${component.id}-thumb`,
2411
2412
  type: "ellipse",
2412
2413
  order: box.order + 0.2,
2413
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(thumb, 0, 0),
2414
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(thumb, 0, 0),
2414
2415
  cx: centerX,
2415
2416
  cy: box.y + box.height / 2,
2416
2417
  rx: radius,
@@ -2434,7 +2435,7 @@ function buildToggleButton(component, index) {
2434
2435
  id: `widget-${component.id}-face`,
2435
2436
  type: "rect",
2436
2437
  order: box.order + 0.1,
2437
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, 0, 2),
2438
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, 0, 2),
2438
2439
  x: box.x,
2439
2440
  y: box.y,
2440
2441
  width: box.width,
@@ -2490,8 +2491,8 @@ function getComponentBuilder(type) {
2490
2491
 
2491
2492
  // src/renderScene/artifacts/component/build.ts
2492
2493
  function ariaOf(component) {
2493
- const role = chunkUHKFJBY5_cjs.getComponentDescriptor(component.type)?.role;
2494
- if (!role || !chunkUHKFJBY5_cjs.isGenericComponent(component)) {
2494
+ const role = chunkSKGJXCAO_cjs.getComponentDescriptor(component.type)?.role;
2495
+ if (!role || !chunkSKGJXCAO_cjs.isGenericComponent(component)) {
2495
2496
  return void 0;
2496
2497
  }
2497
2498
  const flag = typeof component.value === "boolean" ? component.value : void 0;
@@ -2502,12 +2503,12 @@ function ariaOf(component) {
2502
2503
  };
2503
2504
  }
2504
2505
  function labelOf(component) {
2505
- return component.label ?? (chunkUHKFJBY5_cjs.isGenericComponent(component) ? component.id : String(component.value));
2506
+ return component.label ?? (chunkSKGJXCAO_cjs.isGenericComponent(component) ? component.id : String(component.value));
2506
2507
  }
2507
2508
  function buildComponents(components) {
2508
2509
  return components.flatMap((component, index) => {
2509
2510
  const build = getComponentBuilder(component.type) ?? buildPlaceholder;
2510
- const nodes = chunkUHKFJBY5_cjs.tag(
2511
+ const nodes = chunkSKGJXCAO_cjs.tag(
2511
2512
  build(component, index),
2512
2513
  "widget",
2513
2514
  component.id,
@@ -2547,13 +2548,13 @@ function tabBox(input, thickness, length) {
2547
2548
  y,
2548
2549
  width: length,
2549
2550
  height: thickness,
2550
- path: chunkUHKFJBY5_cjs.bottomRoundedRectPath(x, y, length, thickness, TAB_RADIUS)
2551
+ path: chunkSKGJXCAO_cjs.bottomRoundedRectPath(x, y, length, thickness, TAB_RADIUS)
2551
2552
  };
2552
2553
  }
2553
2554
  case "left": {
2554
2555
  const x = input.x - thickness;
2555
2556
  const y = input.y - inset;
2556
- return { x, y, width: thickness, height: length, path: chunkUHKFJBY5_cjs.leftRoundedRectPath(x, y, thickness, length, TAB_RADIUS) };
2557
+ return { x, y, width: thickness, height: length, path: chunkSKGJXCAO_cjs.leftRoundedRectPath(x, y, thickness, length, TAB_RADIUS) };
2557
2558
  }
2558
2559
  case "right": {
2559
2560
  const x = input.x + input.width;
@@ -2563,13 +2564,13 @@ function tabBox(input, thickness, length) {
2563
2564
  y,
2564
2565
  width: thickness,
2565
2566
  height: length,
2566
- path: chunkUHKFJBY5_cjs.rightRoundedRectPath(x, y, thickness, length, TAB_RADIUS)
2567
+ path: chunkSKGJXCAO_cjs.rightRoundedRectPath(x, y, thickness, length, TAB_RADIUS)
2567
2568
  };
2568
2569
  }
2569
2570
  default: {
2570
2571
  const x = input.x - inset;
2571
2572
  const y = input.y - thickness;
2572
- return { x, y, width: length, height: thickness, path: chunkUHKFJBY5_cjs.topRoundedRectPath(x, y, length, thickness, TAB_RADIUS) };
2573
+ return { x, y, width: length, height: thickness, path: chunkSKGJXCAO_cjs.topRoundedRectPath(x, y, length, thickness, TAB_RADIUS) };
2573
2574
  }
2574
2575
  }
2575
2576
  }
@@ -2578,7 +2579,7 @@ function renderTitleTab(input) {
2578
2579
  const padding = 16;
2579
2580
  const length = Math.max(120, input.title.length * input.fontSize * 0.62 + padding * 2);
2580
2581
  const box = tabBox(input, thickness, length);
2581
- const bounds = chunkUHKFJBY5_cjs.boxBounds(box, 6);
2582
+ const bounds = chunkSKGJXCAO_cjs.boxBounds(box, 6);
2582
2583
  const vertical = input.labelPosition === "left" || input.labelPosition === "right";
2583
2584
  return [
2584
2585
  {
@@ -2606,7 +2607,7 @@ function horizontalTitleText(input, box, padding, bounds) {
2606
2607
  width: Math.max(0, box.width - padding * 2),
2607
2608
  height: box.height,
2608
2609
  lines: [input.title],
2609
- fontFamily: input.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
2610
+ fontFamily: input.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
2610
2611
  fontSize: input.fontSize,
2611
2612
  fontWeight: input.fontWeight,
2612
2613
  color: input.textColor,
@@ -2630,7 +2631,7 @@ function verticalTitleText(input, box, padding, bounds) {
2630
2631
  width: textLength,
2631
2632
  height: textThickness,
2632
2633
  lines: [input.title],
2633
- fontFamily: input.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
2634
+ fontFamily: input.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
2634
2635
  fontSize: input.fontSize,
2635
2636
  fontWeight: input.fontWeight,
2636
2637
  color: input.textColor,
@@ -2651,7 +2652,7 @@ var SQUARED_CORNER_BY_LABEL_POSITION = {
2651
2652
  };
2652
2653
  function frameBoundaryNode(frame, order, hasTab) {
2653
2654
  const shadow = frame.shadow ?? true;
2654
- const bounds = chunkUHKFJBY5_cjs.boxBounds(
2655
+ const bounds = chunkSKGJXCAO_cjs.boxBounds(
2655
2656
  { x: frame.x, y: frame.y, width: frame.width, height: frame.height },
2656
2657
  frame.strokeWidth + (shadow ? 20 : 4)
2657
2658
  );
@@ -2686,7 +2687,7 @@ function frameBoundaryNode(frame, order, hasTab) {
2686
2687
  id: `frame-${frame.id}`,
2687
2688
  order,
2688
2689
  bounds,
2689
- d: chunkUHKFJBY5_cjs.cornersRoundedRectPath(frame.x, frame.y, frame.width, frame.height, radii),
2690
+ d: chunkSKGJXCAO_cjs.cornersRoundedRectPath(frame.x, frame.y, frame.width, frame.height, radii),
2690
2691
  detail: { of: "frameBoundary", cornerRadius: frame.cornerRadius, squareCorner: squared },
2691
2692
  style
2692
2693
  };
@@ -2775,7 +2776,7 @@ function labelBase(context, lane, index) {
2775
2776
  id: `swimlane-label-${context.swimlane.id}-${lane.id}`,
2776
2777
  order: context.order + 0.5 + index / 100,
2777
2778
  lines: [lane.label],
2778
- fontFamily: context.swimlane.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
2779
+ fontFamily: context.swimlane.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
2779
2780
  fontSize: context.swimlane.fontSize,
2780
2781
  fontWeight: context.swimlane.fontWeight,
2781
2782
  color: context.swimlane.textColor,
@@ -2791,7 +2792,7 @@ function horizontalLabel(context, lane, index) {
2791
2792
  const y = centerY - thickness / 2;
2792
2793
  return {
2793
2794
  ...labelBase(context, lane, index),
2794
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height: thickness }, -90, 12),
2795
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height: thickness }, -90, 12),
2795
2796
  x,
2796
2797
  y,
2797
2798
  width,
@@ -2843,7 +2844,7 @@ function createSwimlaneRenderContext(swimlane, index) {
2843
2844
  return {
2844
2845
  swimlane,
2845
2846
  order: 5e3 + index,
2846
- bounds: chunkUHKFJBY5_cjs.boxBounds(
2847
+ bounds: chunkSKGJXCAO_cjs.boxBounds(
2847
2848
  { x: swimlane.x, y: swimlane.y, width: swimlane.width, height: swimlane.height },
2848
2849
  swimlane.strokeWidth + 4
2849
2850
  ),
@@ -2882,9 +2883,9 @@ function buildSwimlane(swimlane, index) {
2882
2883
  function buildContainers(input) {
2883
2884
  return [
2884
2885
  ...input.frames.flatMap(
2885
- (frame, index) => chunkUHKFJBY5_cjs.tag(buildFrame(frame, index), "frame", frame.id, void 0, frame.title ?? void 0)
2886
+ (frame, index) => chunkSKGJXCAO_cjs.tag(buildFrame(frame, index), "frame", frame.id, void 0, frame.title ?? void 0)
2886
2887
  ),
2887
- ...input.swimlanes.flatMap((swimlane, index) => chunkUHKFJBY5_cjs.tag(buildSwimlane(swimlane, index), "swimlane", swimlane.id))
2888
+ ...input.swimlanes.flatMap((swimlane, index) => chunkSKGJXCAO_cjs.tag(buildSwimlane(swimlane, index), "swimlane", swimlane.id))
2888
2889
  ];
2889
2890
  }
2890
2891
 
@@ -2934,7 +2935,7 @@ var DEFAULT_COLOR = "#475569";
2934
2935
  var CHAR_WIDTH = 0.6;
2935
2936
  var pathData = (segments) => segments.map(([from, to]) => `M ${from.x} ${from.y} L ${to.x} ${to.y}`).join(" ");
2936
2937
  function pathNode(dimension, name, order, segments) {
2937
- const strokeWidth = Math.max(0, chunkUHKFJBY5_cjs.finite(dimension.strokeWidth, 1));
2938
+ const strokeWidth = Math.max(0, chunkSKGJXCAO_cjs.finite(dimension.strokeWidth, 1));
2938
2939
  const points = segments.flat();
2939
2940
  return {
2940
2941
  type: "path",
@@ -2956,7 +2957,7 @@ function pathNode(dimension, name, order, segments) {
2956
2957
  };
2957
2958
  }
2958
2959
  function labelNode2(dimension, order, text, center, angle) {
2959
- const fontSize = chunkUHKFJBY5_cjs.finite(dimension.fontSize, 11);
2960
+ const fontSize = chunkSKGJXCAO_cjs.finite(dimension.fontSize, 11);
2960
2961
  const width = Math.max(24, text.length * fontSize * CHAR_WIDTH + 8);
2961
2962
  const height = fontSize * 1.3;
2962
2963
  return {
@@ -2974,7 +2975,7 @@ function labelNode2(dimension, order, text, center, angle) {
2974
2975
  width,
2975
2976
  height,
2976
2977
  lines: [text],
2977
- fontFamily: chunkUHKFJBY5_cjs.DEFAULT_FONT,
2978
+ fontFamily: chunkSKGJXCAO_cjs.DEFAULT_FONT,
2978
2979
  fontSize,
2979
2980
  fontWeight: "normal",
2980
2981
  color: dimension.textColor ?? dimension.strokeColor ?? DEFAULT_COLOR,
@@ -2999,7 +3000,7 @@ function buildDimension(dimension, index) {
2999
3000
  }
3000
3001
  function buildDimensions(dimensions) {
3001
3002
  return dimensions.flatMap(
3002
- (dimension, index) => chunkUHKFJBY5_cjs.tag(
3003
+ (dimension, index) => chunkSKGJXCAO_cjs.tag(
3003
3004
  buildDimension(dimension, index),
3004
3005
  "dimension",
3005
3006
  dimension.id,
@@ -3013,9 +3014,9 @@ function buildDimensions(dimensions) {
3013
3014
  // src/renderScene/artifacts/isometric/context.ts
3014
3015
  var FILL_PROP = { prop: "style.fill", propKind: "color", propSolidOnly: true };
3015
3016
  function isometricContext(object, index) {
3016
- const strokeWidth = Math.max(0, chunkUHKFJBY5_cjs.finite(object.strokeWidth, 1));
3017
- const rotation = chunkUHKFJBY5_cjs.finite(object.rotation, 0);
3018
- const box = chunkUHKFJBY5_cjs.isometricBounds(object);
3017
+ const strokeWidth = Math.max(0, chunkSKGJXCAO_cjs.finite(object.strokeWidth, 1));
3018
+ const rotation = chunkSKGJXCAO_cjs.finite(object.rotation, 0);
3019
+ const box = chunkSKGJXCAO_cjs.isometricBounds(object);
3019
3020
  const rotationCenter = { x: box.x + box.width / 2, y: box.y + box.height / 2 };
3020
3021
  return {
3021
3022
  object,
@@ -3027,7 +3028,7 @@ function isometricContext(object, index) {
3027
3028
  strokeWidth,
3028
3029
  common: {
3029
3030
  type: "path",
3030
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(box, rotation, strokeWidth + 2),
3031
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(box, rotation, strokeWidth + 2),
3031
3032
  rotation,
3032
3033
  rotationCenter,
3033
3034
  style: {
@@ -3043,13 +3044,13 @@ function faceNode(context, name, offset, points, style) {
3043
3044
  ...context.common,
3044
3045
  id: `isometric-${context.object.id}-${name}`,
3045
3046
  order: context.order + offset,
3046
- d: chunkUHKFJBY5_cjs.roundedPolygonPath([...points], 0),
3047
+ d: chunkSKGJXCAO_cjs.roundedPolygonPath([...points], 0),
3047
3048
  style,
3048
3049
  ...FILL_PROP
3049
3050
  };
3050
3051
  }
3051
3052
  function silhouette(object) {
3052
- const faces = chunkUHKFJBY5_cjs.isometricFaces(object);
3053
+ const faces = chunkSKGJXCAO_cjs.isometricFaces(object);
3053
3054
  return [faces.top[0], faces.top[1], faces.right[2], faces.front[2], faces.front[3], faces.top[3]];
3054
3055
  }
3055
3056
  function hullNode(context, hullPath, cornerRadius) {
@@ -3066,15 +3067,15 @@ function hullNode(context, hullPath, cornerRadius) {
3066
3067
  depth: Math.max(0, object.depth),
3067
3068
  cornerRadius,
3068
3069
  bounds: box,
3069
- labelOffsetX: chunkUHKFJBY5_cjs.finite(object.labelOffsetX, 0),
3070
- labelOffsetY: chunkUHKFJBY5_cjs.finite(object.labelOffsetY, 0)
3070
+ labelOffsetX: chunkSKGJXCAO_cjs.finite(object.labelOffsetX, 0),
3071
+ labelOffsetY: chunkSKGJXCAO_cjs.finite(object.labelOffsetY, 0)
3071
3072
  },
3072
3073
  style: { ...common.style, fill: { kind: "none" } }
3073
3074
  };
3074
3075
  }
3075
3076
  function unseenHullNode(context) {
3076
3077
  return {
3077
- ...hullNode(context, chunkUHKFJBY5_cjs.roundedPolygonPath(silhouette(context.object), 0), 0),
3078
+ ...hullNode(context, chunkSKGJXCAO_cjs.roundedPolygonPath(silhouette(context.object), 0), 0),
3078
3079
  style: { ...context.common.style, fill: { kind: "none" }, stroke: { kind: "none" } }
3079
3080
  };
3080
3081
  }
@@ -3087,9 +3088,9 @@ var LABEL_PADDING_Y = 3;
3087
3088
  var LABEL_CHAR_WIDTH = 6.5;
3088
3089
  function labelPlacement(context) {
3089
3090
  const { object } = context;
3090
- const anchor = chunkUHKFJBY5_cjs.isometricTopFaceCenter(object);
3091
- const bottomY = anchor.y - LABEL_GAP + chunkUHKFJBY5_cjs.finite(object.labelOffsetY, 0);
3092
- return { anchor, centerX: anchor.x + chunkUHKFJBY5_cjs.finite(object.labelOffsetX, 0), topY: bottomY - LABEL_HEIGHT, bottomY };
3091
+ const anchor = chunkSKGJXCAO_cjs.isometricTopFaceCenter(object);
3092
+ const bottomY = anchor.y - LABEL_GAP + chunkSKGJXCAO_cjs.finite(object.labelOffsetY, 0);
3093
+ return { anchor, centerX: anchor.x + chunkSKGJXCAO_cjs.finite(object.labelOffsetX, 0), topY: bottomY - LABEL_HEIGHT, bottomY };
3093
3094
  }
3094
3095
  function labelTextNode(context, placement, text) {
3095
3096
  const { object, order, rotation, rotationCenter, box } = context;
@@ -3104,7 +3105,7 @@ function labelTextNode(context, placement, text) {
3104
3105
  width: box.width,
3105
3106
  height: LABEL_HEIGHT,
3106
3107
  lines: [text],
3107
- fontFamily: chunkUHKFJBY5_cjs.DEFAULT_FONT,
3108
+ fontFamily: chunkSKGJXCAO_cjs.DEFAULT_FONT,
3108
3109
  fontSize: 12,
3109
3110
  fontWeight: "normal",
3110
3111
  color: "#111827",
@@ -3184,7 +3185,7 @@ function groundShadowNode(context, topOutline) {
3184
3185
  }
3185
3186
  const height = Math.max(0, object.height);
3186
3187
  const heightFactor = 0.6 + Math.min(1, height / 150) * 0.7;
3187
- const shadowDrop = height + chunkUHKFJBY5_cjs.finite(object.shadowStyle?.distance, 0);
3188
+ const shadowDrop = height + chunkSKGJXCAO_cjs.finite(object.shadowStyle?.distance, 0);
3188
3189
  const contactFootprint = topOutline.map((point) => ({ x: point.x, y: point.y + shadowDrop }));
3189
3190
  const footprintCenter = {
3190
3191
  x: contactFootprint.reduce((sum, point) => sum + point.x, 0) / contactFootprint.length,
@@ -3207,14 +3208,14 @@ function groundShadowNode(context, topOutline) {
3207
3208
  maxX: Math.max(...footprintXs),
3208
3209
  maxY: Math.max(...footprintYs)
3209
3210
  },
3210
- d: chunkUHKFJBY5_cjs.roundedPolygonPath(footprint, 0),
3211
+ d: chunkSKGJXCAO_cjs.roundedPolygonPath(footprint, 0),
3211
3212
  rotation,
3212
3213
  rotationCenter,
3213
3214
  style: {
3214
3215
  fill: { kind: "solid", color: object.shadowStyle?.color ?? "#000000" },
3215
3216
  stroke: { kind: "none" },
3216
3217
  opacity: Math.min(1, (object.shadowStyle?.opacity ?? 0.18) * heightFactor),
3217
- blur: chunkUHKFJBY5_cjs.finite(object.shadowStyle?.blur, 8),
3218
+ blur: chunkSKGJXCAO_cjs.finite(object.shadowStyle?.blur, 8),
3218
3219
  pointerEvents: "none"
3219
3220
  }
3220
3221
  };
@@ -3228,7 +3229,7 @@ function sphereShadowNode(context, radius) {
3228
3229
  const depth = Math.max(0, object.depth);
3229
3230
  const center = {
3230
3231
  x: box.x + box.width / 2,
3231
- y: object.y + Math.max(0, object.height) + (width + depth) * chunkUHKFJBY5_cjs.AXIS_SIN / 2
3232
+ y: object.y + Math.max(0, object.height) + (width + depth) * chunkSKGJXCAO_cjs.AXIS_SIN / 2
3232
3233
  };
3233
3234
  return {
3234
3235
  type: "ellipse",
@@ -3248,7 +3249,7 @@ function sphereShadowNode(context, radius) {
3248
3249
  fill: { kind: "solid", color: object.shadowStyle?.color ?? "#000000" },
3249
3250
  stroke: { kind: "none" },
3250
3251
  opacity: object.shadowStyle?.opacity ?? 0.2,
3251
- blur: chunkUHKFJBY5_cjs.finite(object.shadowStyle?.blur, 8),
3252
+ blur: chunkSKGJXCAO_cjs.finite(object.shadowStyle?.blur, 8),
3252
3253
  pointerEvents: "none"
3253
3254
  }
3254
3255
  };
@@ -3258,7 +3259,7 @@ function sphereShadowNode(context, radius) {
3258
3259
  function faceNodes(context, faces, hullClip) {
3259
3260
  const { object, common } = context;
3260
3261
  const noStroke = { ...common.style, stroke: { kind: "none" } };
3261
- const fills = chunkUHKFJBY5_cjs.deriveFaceFills(object.fill ?? "#f8fafc");
3262
+ const fills = chunkSKGJXCAO_cjs.deriveFaceFills(object.fill ?? "#f8fafc");
3262
3263
  const face = (name, offset, points, color) => faceNode(context, name, offset, points, { ...noStroke, fill: { kind: "solid", color }, clip: hullClip });
3263
3264
  return [
3264
3265
  face("top", 0, faces.top, fills.topFill),
@@ -3284,9 +3285,9 @@ function seamsNode(context, faces, hullClip) {
3284
3285
  }
3285
3286
  function buildBox(object, index) {
3286
3287
  const context = isometricContext(object, index);
3287
- const faces = chunkUHKFJBY5_cjs.isometricFaces(object);
3288
- const cornerRadius = Math.max(0, chunkUHKFJBY5_cjs.finite(object.cornerRadius, 8));
3289
- const hullPath = chunkUHKFJBY5_cjs.roundedPolygonPath(silhouette(object), cornerRadius);
3288
+ const faces = chunkSKGJXCAO_cjs.isometricFaces(object);
3289
+ const cornerRadius = Math.max(0, chunkSKGJXCAO_cjs.finite(object.cornerRadius, 8));
3290
+ const hullPath = chunkSKGJXCAO_cjs.roundedPolygonPath(silhouette(object), cornerRadius);
3290
3291
  const hullClip = { type: "path", d: hullPath };
3291
3292
  const groundShadow = groundShadowNode(context, faces.top);
3292
3293
  const seams = object.seams === false ? void 0 : seamsNode(context, faces, hullClip);
@@ -3298,7 +3299,7 @@ function buildBox(object, index) {
3298
3299
 
3299
3300
  // src/renderScene/artifacts/isometric/extruded.ts
3300
3301
  function wallNode(context, side, index, fill2) {
3301
- const color = chunkUHKFJBY5_cjs.shadeFill(fill2, side.light);
3302
+ const color = chunkSKGJXCAO_cjs.shadeFill(fill2, side.light);
3302
3303
  return faceNode(context, `side-${index}`, 0.05 + index * 1e-3, side.points, {
3303
3304
  ...context.common.style,
3304
3305
  stroke: { kind: "solid", color },
@@ -3323,7 +3324,7 @@ function wallEdgesNode(context, side, index) {
3323
3324
  }
3324
3325
  function buildExtruded(object, index, footprint) {
3325
3326
  const context = isometricContext(object, index);
3326
- const { top, sides } = chunkUHKFJBY5_cjs.extrudeFootprint(object, footprint, Math.max(0, chunkUHKFJBY5_cjs.finite(object.cornerRadius, 0)));
3327
+ const { top, sides } = chunkSKGJXCAO_cjs.extrudeFootprint(object, footprint, Math.max(0, chunkSKGJXCAO_cjs.finite(object.cornerRadius, 0)));
3327
3328
  const fill2 = object.fill ?? "#f8fafc";
3328
3329
  const groundShadow = groundShadowNode(context, top);
3329
3330
  const topFace = faceNode(context, "top", 0.2, top, { ...context.common.style, fill: { kind: "solid", color: fill2 } });
@@ -3360,9 +3361,9 @@ function buildSphere(object, index) {
3360
3361
  kind: "linear-gradient",
3361
3362
  angle: 135,
3362
3363
  stops: [
3363
- { offset: 0, color: chunkUHKFJBY5_cjs.shadeFill(fill2, 1.22) },
3364
+ { offset: 0, color: chunkSKGJXCAO_cjs.shadeFill(fill2, 1.22) },
3364
3365
  { offset: 0.5, color: fill2 },
3365
- { offset: 1, color: chunkUHKFJBY5_cjs.shadeFill(fill2, 0.82) }
3366
+ { offset: 1, color: chunkSKGJXCAO_cjs.shadeFill(fill2, 0.82) }
3366
3367
  ]
3367
3368
  }
3368
3369
  },
@@ -3398,12 +3399,12 @@ function buildIsometricObject(object, index) {
3398
3399
  if (object.form === "sphere") {
3399
3400
  return buildSphere(object, index);
3400
3401
  }
3401
- const footprint = chunkUHKFJBY5_cjs.cleanFootprint(object.footprint);
3402
+ const footprint = chunkSKGJXCAO_cjs.cleanFootprint(object.footprint);
3402
3403
  return footprint.length > 0 ? buildExtruded(object, index, footprint) : buildBox(object, index);
3403
3404
  }
3404
3405
  function buildIsometricObjects(objects) {
3405
3406
  return objects.flatMap(
3406
- (object, index) => chunkUHKFJBY5_cjs.tag(
3407
+ (object, index) => chunkSKGJXCAO_cjs.tag(
3407
3408
  buildIsometricObject(object, index),
3408
3409
  "isometric",
3409
3410
  object.id,
@@ -3432,7 +3433,7 @@ function renderEndpointLabel(context, end, labelIndex) {
3432
3433
  if (!label) {
3433
3434
  return [];
3434
3435
  }
3435
- const fontSize = chunkUHKFJBY5_cjs.finite(context.link.style?.fontSize, 10);
3436
+ const fontSize = chunkSKGJXCAO_cjs.finite(context.link.style?.fontSize, 10);
3436
3437
  const position = endpointLabelPosition(context.points, end);
3437
3438
  const width = 90;
3438
3439
  return [
@@ -3446,7 +3447,7 @@ function renderEndpointLabel(context, end, labelIndex) {
3446
3447
  width,
3447
3448
  height: fontSize * 2,
3448
3449
  lines: [label],
3449
- fontFamily: context.link.style?.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
3450
+ fontFamily: context.link.style?.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
3450
3451
  fontSize,
3451
3452
  fontWeight: "normal",
3452
3453
  color: context.color,
@@ -3476,7 +3477,7 @@ function renderMainLabel(context) {
3476
3477
  width: context.label.width,
3477
3478
  height: context.label.fontSize * 2,
3478
3479
  lines: context.label.lines,
3479
- fontFamily: context.link.style?.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
3480
+ fontFamily: context.link.style?.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
3480
3481
  fontSize: context.label.fontSize,
3481
3482
  fontWeight: "normal",
3482
3483
  color: context.color,
@@ -3530,10 +3531,10 @@ function linkBounds(points, padding) {
3530
3531
  }
3531
3532
  function labelLayout(link, measureText) {
3532
3533
  const visible = Boolean(link.showText && link.text);
3533
- const fontSize = chunkUHKFJBY5_cjs.finite(link.style?.fontSize, 10);
3534
+ const fontSize = chunkSKGJXCAO_cjs.finite(link.style?.fontSize, 10);
3534
3535
  const width = Math.min(250, Math.max(fontSize * 2, (link.text?.length ?? 0) * fontSize * 0.65 + 10));
3535
- const metrics = measureText?.(link.style?.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT, fontSize);
3536
- const lines = visible ? chunkUHKFJBY5_cjs.wrapText(link.text ?? "", width, fontSize, metrics) : [];
3536
+ const metrics = measureText?.(link.style?.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT, fontSize);
3537
+ const lines = visible ? chunkSKGJXCAO_cjs.wrapText(link.text ?? "", width, fontSize, metrics) : [];
3537
3538
  return { visible, fontSize, width, height: lines.length * fontSize * 1.4, lines };
3538
3539
  }
3539
3540
  function linkStyle(item, strokeWidth, color, dash) {
@@ -3550,26 +3551,26 @@ function linkStyle(item, strokeWidth, color, dash) {
3550
3551
  dash,
3551
3552
  lineCap: "round",
3552
3553
  lineJoin: "round",
3553
- opacity: chunkUHKFJBY5_cjs.finite(link.style?.opacity, 1),
3554
+ opacity: chunkSKGJXCAO_cjs.finite(link.style?.opacity, 1),
3554
3555
  shadow: resolveShadow(link.style?.shadow)
3555
3556
  };
3556
3557
  }
3557
3558
  function createLinkRenderContext(item, index, measureText) {
3558
3559
  const { link, from, to } = item;
3559
3560
  const pathType = link.style?.pathType ?? "orthogonal";
3560
- const { points, segments } = chunkUHKFJBY5_cjs.calculateLinkRoute(link, from, to, pathType);
3561
- const strokeWidth = chunkUHKFJBY5_cjs.finite(link.style?.strokeWidth, 2);
3561
+ const { points, segments } = chunkSKGJXCAO_cjs.calculateLinkRoute(link, from, to, pathType);
3562
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(link.style?.strokeWidth, 2);
3562
3563
  const color = getLinkStrokeColor(link.style?.color) || "#64748b";
3563
3564
  const label = labelLayout(link, measureText);
3564
3565
  const contentDash = getDashArray(strokeWidth, link.style?.strokeStyle ?? "solid");
3565
- const gap = label.visible && !contentDash ? chunkUHKFJBY5_cjs.labelGapDash(points, pathType, label.width, label.height) : null;
3566
+ const gap = label.visible && !contentDash ? chunkSKGJXCAO_cjs.labelGapDash(points, pathType, label.width, label.height) : null;
3566
3567
  const dash = gap ? [gap.dashBefore, gap.gapLength, 1e6] : contentDash;
3567
3568
  return {
3568
3569
  link,
3569
3570
  pathType,
3570
3571
  points,
3571
3572
  segments,
3572
- midpoint: chunkUHKFJBY5_cjs.getLineMidpoint(points, pathType, from, to),
3573
+ midpoint: chunkSKGJXCAO_cjs.getLineMidpoint(points, pathType, from, to),
3573
3574
  strokeWidth,
3574
3575
  bounds: linkBounds(points, strokeWidth + 14),
3575
3576
  color,
@@ -3615,7 +3616,7 @@ function pathData2(points, pathType, segments, strokeWidth) {
3615
3616
  return `M ${points[0]} ${points[1]} C ${points[2]} ${points[3]} ${points[4]} ${points[5]} ${points[6]} ${points[7]}`;
3616
3617
  }
3617
3618
  if (pathType === "orthogonal" && segments.length > 0) {
3618
- return chunkUHKFJBY5_cjs.roundedOrthogonalPathData(segments, Math.max(16, strokeWidth * 4));
3619
+ return chunkSKGJXCAO_cjs.roundedOrthogonalPathData(segments, Math.max(16, strokeWidth * 4));
3619
3620
  }
3620
3621
  return polylinePathData(points);
3621
3622
  }
@@ -3719,7 +3720,7 @@ function buildLink(item, index, measureText) {
3719
3720
  }
3720
3721
  function buildLinks(links, measureText) {
3721
3722
  return links.flatMap(
3722
- (item, index) => chunkUHKFJBY5_cjs.tag(
3723
+ (item, index) => chunkSKGJXCAO_cjs.tag(
3723
3724
  buildLink(item, index, measureText),
3724
3725
  "link",
3725
3726
  item.link.id,
@@ -3734,7 +3735,7 @@ function buildFreeformPath(path, index) {
3734
3735
  if (path.isVisible === false || path.points.length < 2) {
3735
3736
  return [];
3736
3737
  }
3737
- const strokeWidth = chunkUHKFJBY5_cjs.finite(path.strokeWidth, 2);
3738
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(path.strokeWidth, 2);
3738
3739
  const extra = strokeWidth + 12;
3739
3740
  const bounds = {
3740
3741
  minX: Math.min(...path.points.map((point) => point.x)) - extra,
@@ -3742,7 +3743,7 @@ function buildFreeformPath(path, index) {
3742
3743
  maxX: Math.max(...path.points.map((point) => point.x)) + extra,
3743
3744
  maxY: Math.max(...path.points.map((point) => point.y)) + extra
3744
3745
  };
3745
- const tension = chunkUHKFJBY5_cjs.finite(path.tension, 0);
3746
+ const tension = chunkSKGJXCAO_cjs.finite(path.tension, 0);
3746
3747
  const closed = path.closed === true;
3747
3748
  return [
3748
3749
  {
@@ -3750,7 +3751,7 @@ function buildFreeformPath(path, index) {
3750
3751
  id: `path-${path.id}`,
3751
3752
  order: 3e4 + index,
3752
3753
  bounds,
3753
- d: chunkUHKFJBY5_cjs.freeformPathData({ points: path.points, tension, closed }),
3754
+ d: chunkSKGJXCAO_cjs.freeformPathData({ points: path.points, tension, closed }),
3754
3755
  markerStart: path.startMarker,
3755
3756
  markerEnd: path.endMarker,
3756
3757
  detail: {
@@ -3766,13 +3767,13 @@ function buildFreeformPath(path, index) {
3766
3767
  dash: path.dash?.length ? path.dash : void 0,
3767
3768
  lineCap: "round",
3768
3769
  lineJoin: "round",
3769
- opacity: chunkUHKFJBY5_cjs.finite(path.opacity, 1)
3770
+ opacity: chunkSKGJXCAO_cjs.finite(path.opacity, 1)
3770
3771
  }
3771
3772
  }
3772
3773
  ];
3773
3774
  }
3774
3775
  function buildFreeformPaths(paths) {
3775
- return paths.flatMap((path, index) => chunkUHKFJBY5_cjs.tag(buildFreeformPath(path, index), "path", path.id, "path", "Path"));
3776
+ return paths.flatMap((path, index) => chunkSKGJXCAO_cjs.tag(buildFreeformPath(path, index), "path", path.id, "path", "Path"));
3776
3777
  }
3777
3778
 
3778
3779
  // src/renderScene/artifacts/shape/geometry/base.ts
@@ -3788,7 +3789,7 @@ function shapeNodeBase(context) {
3788
3789
 
3789
3790
  // src/renderScene/artifacts/shape/geometry/simple.ts
3790
3791
  function renderPath(context) {
3791
- const path = chunkUHKFJBY5_cjs.localShapePath(context.shape.shapeType, context.x, context.y, context.width, context.height);
3792
+ const path = chunkSKGJXCAO_cjs.localShapePath(context.shape.shapeType, context.x, context.y, context.width, context.height);
3792
3793
  if (!path) {
3793
3794
  return [];
3794
3795
  }
@@ -3804,7 +3805,7 @@ function renderBoundedPath(context) {
3804
3805
  }));
3805
3806
  }
3806
3807
  function renderRectangle(context) {
3807
- const rx = context.shape.shapeType === "pill" ? chunkUHKFJBY5_cjs.pillCornerRadius(context.width, context.height) : context.shape.shapeType === "rounded_rectangle" ? chunkUHKFJBY5_cjs.finite(context.shape.cornerRadius, 8) : 0;
3808
+ const rx = context.shape.shapeType === "pill" ? chunkSKGJXCAO_cjs.pillCornerRadius(context.width, context.height) : context.shape.shapeType === "rounded_rectangle" ? chunkSKGJXCAO_cjs.finite(context.shape.cornerRadius, 8) : 0;
3808
3809
  return [
3809
3810
  {
3810
3811
  ...shapeNodeBase(context),
@@ -3833,7 +3834,7 @@ function renderSymbol(context) {
3833
3834
  if (!context.shape.symbol || context.shape.symbol.points.length < 2) {
3834
3835
  return renderRectangle(context);
3835
3836
  }
3836
- const tension = chunkUHKFJBY5_cjs.finite(context.shape.symbol.tension, 0);
3837
+ const tension = chunkSKGJXCAO_cjs.finite(context.shape.symbol.tension, 0);
3837
3838
  const points = context.shape.symbol.points.map(([x, y]) => ({
3838
3839
  x: context.x + x * context.width,
3839
3840
  y: context.y + y * context.height
@@ -3842,7 +3843,7 @@ function renderSymbol(context) {
3842
3843
  {
3843
3844
  ...shapeNodeBase(context),
3844
3845
  type: "path",
3845
- d: chunkUHKFJBY5_cjs.freeformPathData({ points, tension, closed: true }),
3846
+ d: chunkSKGJXCAO_cjs.freeformPathData({ points, tension, closed: true }),
3846
3847
  rotationCenter: context.rotationCenter,
3847
3848
  detail: {
3848
3849
  of: "symbolGeometry",
@@ -3979,7 +3980,7 @@ function renderShapeShaderSurface(context) {
3979
3980
  id: `${context.id}-shader`,
3980
3981
  type: "shader-surface",
3981
3982
  order: context.order,
3982
- bounds: chunkUHKFJBY5_cjs.rotatedBounds(surfaceBounds, context.rotation, 0),
3983
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds(surfaceBounds, context.rotation, 0),
3983
3984
  ...surfaceBounds,
3984
3985
  rotation: context.rotation,
3985
3986
  shader: context.shape.shader,
@@ -4049,24 +4050,24 @@ function shapeDash(shape, strokeWidth) {
4049
4050
  }
4050
4051
  function shapeStyle(shape, diagnostics) {
4051
4052
  const defaults = shapeDefaults(shape, diagnostics);
4052
- const strokeWidth = chunkUHKFJBY5_cjs.finite(shape.strokeWidth, defaults.strokeWidth);
4053
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(shape.strokeWidth, defaults.strokeWidth);
4053
4054
  const shadow = shape.shadowStyle ?? (shape.hasShadow ? { enabled: true, color: "#000000", opacity: 0.25, blur: 10, angle: 45, distance: 5 } : void 0);
4054
- const angle = chunkUHKFJBY5_cjs.finite(shadow?.angle, 45) * Math.PI / 180;
4055
+ const angle = chunkSKGJXCAO_cjs.finite(shadow?.angle, 45) * Math.PI / 180;
4055
4056
  return {
4056
- fill: chunkUHKFJBY5_cjs.paint(shape.fillColor, diagnostics, shape.id),
4057
- stroke: chunkUHKFJBY5_cjs.paint(shape.strokeColor, diagnostics, shape.id),
4057
+ fill: chunkSKGJXCAO_cjs.paint(shape.fillColor, diagnostics, shape.id),
4058
+ stroke: chunkSKGJXCAO_cjs.paint(shape.strokeColor, diagnostics, shape.id),
4058
4059
  strokeWidth,
4059
4060
  dash: shapeDash(shape, strokeWidth),
4060
4061
  lineCap: shape.strokeStyle === "dotted" ? "round" : "butt",
4061
- opacity: chunkUHKFJBY5_cjs.finite(shape.opacity, defaults.opacity),
4062
+ opacity: chunkSKGJXCAO_cjs.finite(shape.opacity, defaults.opacity),
4062
4063
  blur: shape.blur !== void 0 && shape.blur > 0 ? shape.blur : void 0,
4063
4064
  blend: shape.blend,
4064
4065
  shadow: shadow?.enabled ? {
4065
4066
  color: shadow.color ?? "#000000",
4066
- opacity: chunkUHKFJBY5_cjs.finite(shadow.opacity, 0.25),
4067
- blur: chunkUHKFJBY5_cjs.finite(shadow.blur, 10),
4068
- dx: Math.cos(angle) * chunkUHKFJBY5_cjs.finite(shadow.distance, 5),
4069
- dy: Math.sin(angle) * chunkUHKFJBY5_cjs.finite(shadow.distance, 5)
4067
+ opacity: chunkSKGJXCAO_cjs.finite(shadow.opacity, 0.25),
4068
+ blur: chunkSKGJXCAO_cjs.finite(shadow.blur, 10),
4069
+ dx: Math.cos(angle) * chunkSKGJXCAO_cjs.finite(shadow.distance, 5),
4070
+ dy: Math.sin(angle) * chunkSKGJXCAO_cjs.finite(shadow.distance, 5)
4070
4071
  } : void 0
4071
4072
  };
4072
4073
  }
@@ -4142,11 +4143,11 @@ function renderShapeText(context, strokeWidth, measureText) {
4142
4143
  if (!shape.text) {
4143
4144
  return null;
4144
4145
  }
4145
- const fontSize = chunkUHKFJBY5_cjs.finite(shape.fontSize, shapeDefaults(shape, []).fontSize);
4146
+ const fontSize = chunkSKGJXCAO_cjs.finite(shape.fontSize, shapeDefaults(shape, []).fontSize);
4146
4147
  const padding = shape.isText ? 0 : Math.max(8, strokeWidth * 2);
4147
- const area = shape.shapeType === "person" ? chunkUHKFJBY5_cjs.personLabelArea(x, y, width, height) : { x, y, width, height };
4148
+ const area = shape.shapeType === "person" ? chunkSKGJXCAO_cjs.personLabelArea(x, y, width, height) : { x, y, width, height };
4148
4149
  const textWidth = Math.max(0, area.width - padding * 2);
4149
- const fontFamily2 = shape.fontFamily || chunkUHKFJBY5_cjs.DEFAULT_FONT;
4150
+ const fontFamily2 = shape.fontFamily || chunkSKGJXCAO_cjs.DEFAULT_FONT;
4150
4151
  const metrics = measureText?.(fontFamily2, fontSize);
4151
4152
  const textNode = {
4152
4153
  type: "text",
@@ -4157,7 +4158,7 @@ function renderShapeText(context, strokeWidth, measureText) {
4157
4158
  y: area.y + padding,
4158
4159
  width: textWidth,
4159
4160
  height: Math.max(0, area.height - padding * 2),
4160
- lines: chunkUHKFJBY5_cjs.wrapText(shape.text, textWidth, fontSize, metrics),
4161
+ lines: chunkSKGJXCAO_cjs.wrapText(shape.text, textWidth, fontSize, metrics),
4161
4162
  fontFamily: fontFamily2,
4162
4163
  fontSize,
4163
4164
  fontWeight: shape.fontWeight ?? "normal",
@@ -4165,12 +4166,12 @@ function renderShapeText(context, strokeWidth, measureText) {
4165
4166
  color: shape.textColor || "#111827",
4166
4167
  align: shape.textAlign ?? "center",
4167
4168
  verticalAlign: shape.textVerticalAlign ?? "middle",
4168
- lineHeight: chunkUHKFJBY5_cjs.finite(shape.lineHeight, 1.3),
4169
+ lineHeight: chunkSKGJXCAO_cjs.finite(shape.lineHeight, 1.3),
4169
4170
  rotation,
4170
4171
  rotationCenter
4171
4172
  };
4172
4173
  if (hasBoldMarkup(shape.text)) {
4173
- const { measure, spaceWidth } = metrics ?? chunkUHKFJBY5_cjs.heuristicRichMeasure(fontSize);
4174
+ const { measure, spaceWidth } = metrics ?? chunkSKGJXCAO_cjs.heuristicRichMeasure(fontSize);
4174
4175
  textNode.richLines = wrapRichText(shape.text, textWidth, measure, spaceWidth);
4175
4176
  }
4176
4177
  return textNode;
@@ -4209,19 +4210,19 @@ function renderDoubleStroke(context, strokeWidth) {
4209
4210
  return nodes;
4210
4211
  }
4211
4212
  function createRenderContext(shape, index, diagnostics) {
4212
- const x = chunkUHKFJBY5_cjs.finite(shape.x, 0);
4213
- const y = chunkUHKFJBY5_cjs.finite(shape.y, 0);
4214
- const width = Math.max(0, chunkUHKFJBY5_cjs.finite(shape.width, 100));
4215
- const height = Math.max(0, chunkUHKFJBY5_cjs.finite(shape.height, 100));
4216
- const rotation = chunkUHKFJBY5_cjs.finite(shape.rotation, 0);
4217
- const strokeWidth = chunkUHKFJBY5_cjs.finite(shape.strokeWidth, 2);
4213
+ const x = chunkSKGJXCAO_cjs.finite(shape.x, 0);
4214
+ const y = chunkSKGJXCAO_cjs.finite(shape.y, 0);
4215
+ const width = Math.max(0, chunkSKGJXCAO_cjs.finite(shape.width, 100));
4216
+ const height = Math.max(0, chunkSKGJXCAO_cjs.finite(shape.height, 100));
4217
+ const rotation = chunkSKGJXCAO_cjs.finite(shape.rotation, 0);
4218
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(shape.strokeWidth, 2);
4218
4219
  return {
4219
4220
  strokeWidth,
4220
4221
  context: {
4221
4222
  shape,
4222
4223
  id: `shape-${shape.id}`,
4223
4224
  order: 1e4 + index,
4224
- bounds: chunkUHKFJBY5_cjs.rotatedBounds({ x, y, width, height }, rotation, strokeWidth + (shape.hasShadow ? 20 : 2)),
4225
+ bounds: chunkSKGJXCAO_cjs.rotatedBounds({ x, y, width, height }, rotation, strokeWidth + (shape.hasShadow ? 20 : 2)),
4225
4226
  rotation,
4226
4227
  rotationCenter: { x: x + width / 2, y: y + height / 2 },
4227
4228
  style: shapeStyle(shape, diagnostics),
@@ -4271,7 +4272,7 @@ function buildShape(shape, index, diagnostics, measureText) {
4271
4272
  }
4272
4273
  function buildShapes(shapes, diagnostics, measureText) {
4273
4274
  return shapes.flatMap(
4274
- (shape, index) => chunkUHKFJBY5_cjs.tag(
4275
+ (shape, index) => chunkSKGJXCAO_cjs.tag(
4275
4276
  buildShape(shape, index, diagnostics, measureText),
4276
4277
  "shape",
4277
4278
  shape.id,
@@ -4288,7 +4289,7 @@ function buildXAxisLabel(chart, layout, order) {
4288
4289
  return null;
4289
4290
  }
4290
4291
  return {
4291
- ...chunkUHKFJBY5_cjs.chartText({
4292
+ ...chunkSKGJXCAO_cjs.chartText({
4292
4293
  role: "axis",
4293
4294
  id: `chart-x-label-${chart.id}`,
4294
4295
  order,
@@ -4298,7 +4299,7 @@ function buildXAxisLabel(chart, layout, order) {
4298
4299
  chart,
4299
4300
  align: "center"
4300
4301
  }),
4301
- prop: chunkUHKFJBY5_cjs.axisLabelProp("x")
4302
+ prop: chunkSKGJXCAO_cjs.axisLabelProp("x")
4302
4303
  };
4303
4304
  }
4304
4305
  function buildYAxisLabel(chart, layout, order) {
@@ -4306,7 +4307,7 @@ function buildYAxisLabel(chart, layout, order) {
4306
4307
  return null;
4307
4308
  }
4308
4309
  return {
4309
- ...chunkUHKFJBY5_cjs.chartText({
4310
+ ...chunkSKGJXCAO_cjs.chartText({
4310
4311
  role: "axis",
4311
4312
  id: `chart-y-label-${chart.id}`,
4312
4313
  order,
@@ -4322,7 +4323,7 @@ function buildYAxisLabel(chart, layout, order) {
4322
4323
  align: "center",
4323
4324
  rotation: -90
4324
4325
  }),
4325
- prop: chunkUHKFJBY5_cjs.axisLabelProp("y")
4326
+ prop: chunkSKGJXCAO_cjs.axisLabelProp("y")
4326
4327
  };
4327
4328
  }
4328
4329
  function buildAxisLabels(chart, layout, order) {
@@ -4345,7 +4346,7 @@ function buildBoxplotSeriesYAxisTicks(chart, layout, order) {
4345
4346
  return chart.series.map((series, index) => {
4346
4347
  const centerY = layout.plot.y + (index + 0.5) * slotWidth;
4347
4348
  return {
4348
- ...chunkUHKFJBY5_cjs.chartText({
4349
+ ...chunkSKGJXCAO_cjs.chartText({
4349
4350
  role: "axis",
4350
4351
  id: `chart-y-tick-${chart.id}-${index}`,
4351
4352
  order: order + index,
@@ -4355,7 +4356,7 @@ function buildBoxplotSeriesYAxisTicks(chart, layout, order) {
4355
4356
  chart,
4356
4357
  align: "right"
4357
4358
  }),
4358
- prop: chunkUHKFJBY5_cjs.seriesLabelProp(series.id)
4359
+ prop: chunkSKGJXCAO_cjs.seriesLabelProp(series.id)
4359
4360
  };
4360
4361
  });
4361
4362
  }
@@ -4381,7 +4382,7 @@ function isStackedLegendPosition(position) {
4381
4382
  return position === "bottomLeft" || position === "bottomRight";
4382
4383
  }
4383
4384
  function legendItemWidths(chart) {
4384
- return legendSeries(chart).map((item) => Math.max(42, item.label.length * chunkUHKFJBY5_cjs.finite(chart.fontSize, 12) * 0.58 + 22));
4385
+ return legendSeries(chart).map((item) => Math.max(42, item.label.length * chunkSKGJXCAO_cjs.finite(chart.fontSize, 12) * 0.58 + 22));
4385
4386
  }
4386
4387
  function stackedLegendColumnWidth(chart) {
4387
4388
  const widths = legendItemWidths(chart);
@@ -4434,9 +4435,9 @@ function renderLegendItem(render2, item) {
4434
4435
  }
4435
4436
  function createLegendSwatch(render2, item) {
4436
4437
  const { chart, bounds, diagnostics } = render2;
4437
- const fallback = chunkUHKFJBY5_cjs.CHART_COLORS[item.seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
4438
+ const fallback = chunkSKGJXCAO_cjs.CHART_COLORS[item.seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
4438
4439
  const solidOnly = chart.chartType === "line";
4439
- const color = solidOnly ? chunkUHKFJBY5_cjs.representativeColor(item.series.color, fallback) : item.series.color ?? fallback;
4440
+ const color = solidOnly ? chunkSKGJXCAO_cjs.representativeColor(item.series.color, fallback) : item.series.color ?? fallback;
4440
4441
  return {
4441
4442
  type: "rect",
4442
4443
  id: `chart-legend-swatch-${chart.id}-${item.series.id}`,
@@ -4447,16 +4448,16 @@ function createLegendSwatch(render2, item) {
4447
4448
  width: 10,
4448
4449
  height: 10,
4449
4450
  rx: 3,
4450
- prop: chunkUHKFJBY5_cjs.seriesColorProp(item.series.id),
4451
+ prop: chunkSKGJXCAO_cjs.seriesColorProp(item.series.id),
4451
4452
  propKind: "color",
4452
4453
  propSolidOnly: solidOnly,
4453
- style: { fill: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id) }
4454
+ style: { fill: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id) }
4454
4455
  };
4455
4456
  }
4456
4457
  function createLegendLabel(render2, item) {
4457
4458
  const { chart, bounds } = render2;
4458
4459
  return {
4459
- ...chunkUHKFJBY5_cjs.chartText({
4460
+ ...chunkSKGJXCAO_cjs.chartText({
4460
4461
  role: "legend",
4461
4462
  id: `chart-legend-${chart.id}-${item.series.id}`,
4462
4463
  order: item.order + 1,
@@ -4465,7 +4466,7 @@ function createLegendLabel(render2, item) {
4465
4466
  text: item.series.label,
4466
4467
  chart
4467
4468
  }),
4468
- prop: chunkUHKFJBY5_cjs.seriesLabelProp(item.series.id)
4469
+ prop: chunkSKGJXCAO_cjs.seriesLabelProp(item.series.id)
4469
4470
  };
4470
4471
  }
4471
4472
 
@@ -4484,19 +4485,19 @@ function hasCartesianDecorations(chart) {
4484
4485
  return !CHARTS_WITHOUT_CARTESIAN_DECORATIONS.has(chart.chartType);
4485
4486
  }
4486
4487
  function tickOffset(chart) {
4487
- return hasCartesianDecorations(chart) ? Math.max(0, chunkUHKFJBY5_cjs.finite(chart.tickLength, 0)) : 0;
4488
+ return hasCartesianDecorations(chart) ? Math.max(0, chunkSKGJXCAO_cjs.finite(chart.tickLength, 0)) : 0;
4488
4489
  }
4489
4490
  function xLabelOffset(chart) {
4490
- return tickOffset(chart) + (hasCartesianDecorations(chart) ? Math.max(0, chunkUHKFJBY5_cjs.finite(chart.xLabelGap, 0)) : 0);
4491
+ return tickOffset(chart) + (hasCartesianDecorations(chart) ? Math.max(0, chunkSKGJXCAO_cjs.finite(chart.xLabelGap, 0)) : 0);
4491
4492
  }
4492
4493
  function yLabelOffset(chart) {
4493
- return tickOffset(chart) + (hasCartesianDecorations(chart) ? Math.max(0, chunkUHKFJBY5_cjs.finite(chart.yLabelGap, 0)) : 0);
4494
+ return tickOffset(chart) + (hasCartesianDecorations(chart) ? Math.max(0, chunkSKGJXCAO_cjs.finite(chart.yLabelGap, 0)) : 0);
4494
4495
  }
4495
4496
  function isHorizontalBoxplot(chart) {
4496
4497
  return chart.chartType === "boxplot" && chart.config?.orientation === "horizontal";
4497
4498
  }
4498
4499
  function boxplotCategoryLabelWidth(chart) {
4499
- const fontSize = chunkUHKFJBY5_cjs.finite(chart.fontSize, 12);
4500
+ const fontSize = chunkSKGJXCAO_cjs.finite(chart.fontSize, 12);
4500
4501
  const longest = Math.max(0, ...chart.series.map((series) => (series.label || series.id).length));
4501
4502
  return longest * fontSize * 0.58 + 16;
4502
4503
  }
@@ -4508,18 +4509,18 @@ function treemapSideLegendSide(chart, showLegend) {
4508
4509
  return chart.legendPosition === "left" ? "left" : chart.legendPosition === "right" ? "right" : null;
4509
4510
  }
4510
4511
  function barCategoryLabelWidth(chart) {
4511
- const fontSize = chunkUHKFJBY5_cjs.finite(chart.axisFontSize ?? chart.fontSize, 12);
4512
+ const fontSize = chunkSKGJXCAO_cjs.finite(chart.axisFontSize ?? chart.fontSize, 12);
4512
4513
  const categories = chart.config?.categories ?? [];
4513
4514
  return Math.max(0, ...categories.map((category) => category.length)) * fontSize * 0.58 + 16;
4514
4515
  }
4515
4516
  function leftLabelWidth(chart) {
4516
- if (chart.axisLabelSpace && chart.axisLabelSpace > 0 && (isHorizontalBoxplot(chart) || chunkUHKFJBY5_cjs.isHorizontalBar(chart))) {
4517
+ if (chart.axisLabelSpace && chart.axisLabelSpace > 0 && (isHorizontalBoxplot(chart) || chunkSKGJXCAO_cjs.isHorizontalBar(chart))) {
4517
4518
  return chart.axisLabelSpace;
4518
4519
  }
4519
4520
  if (isHorizontalBoxplot(chart)) {
4520
4521
  return boxplotCategoryLabelWidth(chart);
4521
4522
  }
4522
- if (chunkUHKFJBY5_cjs.isHorizontalBar(chart)) {
4523
+ if (chunkSKGJXCAO_cjs.isHorizontalBar(chart)) {
4523
4524
  return chart.categoryAlign === "left" || chart.categoryAlign === "inside" ? 20 : barCategoryLabelWidth(chart);
4524
4525
  }
4525
4526
  if (chart.showValueAxis === false) {
@@ -4528,12 +4529,12 @@ function leftLabelWidth(chart) {
4528
4529
  return chart.axisY.label ? 60 : 46;
4529
4530
  }
4530
4531
  function tiltedBottomRoom(chart) {
4531
- const tilt = chunkUHKFJBY5_cjs.labelTilt(chart);
4532
+ const tilt = chunkSKGJXCAO_cjs.labelTilt(chart);
4532
4533
  if (tilt <= 0) {
4533
4534
  return 0;
4534
4535
  }
4535
- const labels = chart.chartType === "bar" && !chunkUHKFJBY5_cjs.isHorizontalBar(chart) ? chart.config?.categories ?? [] : chart.chartType === "boxplot" && !isHorizontalBoxplot(chart) ? chart.series.map((series) => series.label || series.id) : [];
4536
- return labels.length > 0 ? Math.max(0, chunkUHKFJBY5_cjs.tiltedLabelRoom(chart, labels, tilt) - 18) : 0;
4536
+ const labels = chart.chartType === "bar" && !chunkSKGJXCAO_cjs.isHorizontalBar(chart) ? chart.config?.categories ?? [] : chart.chartType === "boxplot" && !isHorizontalBoxplot(chart) ? chart.series.map((series) => series.label || series.id) : [];
4537
+ return labels.length > 0 ? Math.max(0, chunkSKGJXCAO_cjs.tiltedLabelRoom(chart, labels, tilt) - 18) : 0;
4537
4538
  }
4538
4539
  function legendPlaceOf(chart) {
4539
4540
  const showLegend = chart.showLegend !== false;
@@ -4558,14 +4559,14 @@ function padRightOf(legend) {
4558
4559
  }
4559
4560
  function padBottomOf(chart, showLabels, legend) {
4560
4561
  const valueRow = chart.chartType === "bar" && chart.config?.showBarLabels === true && chart.config.barLabelPosition === "axis";
4561
- const horizontalValueAxis = chunkUHKFJBY5_cjs.isHorizontalBar(chart) && chart.showValueAxis !== false;
4562
- const base = showLabels ? chunkUHKFJBY5_cjs.isHorizontalBar(chart) ? horizontalValueAxis ? 34 : 12 : (chart.axisX.label ? 52 : 34) + (valueRow ? 18 : 0) : 12;
4562
+ const horizontalValueAxis = chunkSKGJXCAO_cjs.isHorizontalBar(chart) && chart.showValueAxis !== false;
4563
+ const base = showLabels ? chunkSKGJXCAO_cjs.isHorizontalBar(chart) ? horizontalValueAxis ? 34 : 12 : (chart.axisX.label ? 52 : 34) + (valueRow ? 18 : 0) : 12;
4563
4564
  const hasColorBar = chart.chartType === "field" && legend.showLegend && Boolean(chart.config?.scale?.stops.length);
4564
4565
  const legendInRow = legend.hasItems && !legend.atTop && !legend.stacked;
4565
4566
  return xLabelOffset(chart) + base + (showLabels ? tiltedBottomRoom(chart) : 0) + (hasColorBar ? 44 : 0) + (legendInRow ? 16 + LEGEND_ROW_HEIGHT : 0);
4566
4567
  }
4567
4568
  function padTopOf(chart, legend) {
4568
- const titleHeight = chart.title ? Math.max(44, 20 + chunkUHKFJBY5_cjs.finite(chart.titleSize, 14) * 1.6) : 0;
4569
+ const titleHeight = chart.title ? Math.max(44, 20 + chunkSKGJXCAO_cjs.finite(chart.titleSize, 14) * 1.6) : 0;
4569
4570
  return titleHeight || (legend.atTop && legend.hasItems ? 44 : 24);
4570
4571
  }
4571
4572
  function decorations(chart) {
@@ -4576,9 +4577,9 @@ function decorations(chart) {
4576
4577
  const padBottom = padBottomOf(chart, showLabels, legend);
4577
4578
  const padTop = padTopOf(chart, legend);
4578
4579
  return {
4579
- bounds: chunkUHKFJBY5_cjs.boxBounds(
4580
+ bounds: chunkSKGJXCAO_cjs.boxBounds(
4580
4581
  { x: chart.x, y: chart.y, width: chart.width, height: chart.height },
4581
- chunkUHKFJBY5_cjs.finite(chart.strokeWidth, 1) + 2
4582
+ chunkSKGJXCAO_cjs.finite(chart.strokeWidth, 1) + 2
4582
4583
  ),
4583
4584
  plot: {
4584
4585
  x: chart.x + padLeft,
@@ -4600,26 +4601,26 @@ function categoryLabels(chart, count) {
4600
4601
  return Array.from({ length: count }, (_value, index) => String(index + 1));
4601
4602
  }
4602
4603
  function buildCategoricalXAxisTicks(chart, layout, order) {
4603
- const count = chunkUHKFJBY5_cjs.barCategoryCount(chart);
4604
+ const count = chunkSKGJXCAO_cjs.barCategoryCount(chart);
4604
4605
  const slotWidth = layout.plot.width / count;
4605
4606
  const labels = categoryLabels(chart, count);
4606
4607
  const editable = Boolean(chart.config?.categories?.length);
4607
- const tilt = chunkUHKFJBY5_cjs.labelTilt(chart);
4608
+ const tilt = chunkSKGJXCAO_cjs.labelTilt(chart);
4608
4609
  const left = chart.categoryAlign === "left";
4609
4610
  const groupGap = left ? Math.min(
4610
- Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barGroupGap, 8)),
4611
+ Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barGroupGap, 8)),
4611
4612
  Math.max(0, slotWidth - 1)
4612
4613
  ) : 0;
4613
4614
  return Array.from({ length: count }, (_value, index) => {
4614
4615
  const centerX = layout.plot.x + (index + 0.5) * slotWidth;
4615
4616
  if (tilt > 0) {
4616
4617
  const text = labels[index] ?? String(index + 1);
4617
- const { frame, rotation } = chunkUHKFJBY5_cjs.labelBelowFrame(chart, text, tilt, {
4618
+ const { frame, rotation } = chunkSKGJXCAO_cjs.labelBelowFrame(chart, text, tilt, {
4618
4619
  x: centerX,
4619
4620
  y: layout.plot.y + layout.plot.height + 4 + xLabelOffset(chart)
4620
4621
  });
4621
4622
  return {
4622
- ...chunkUHKFJBY5_cjs.chartText({
4623
+ ...chunkSKGJXCAO_cjs.chartText({
4623
4624
  role: "axis",
4624
4625
  id: `chart-x-tick-${chart.id}-${index}`,
4625
4626
  order: order + index,
@@ -4630,11 +4631,11 @@ function buildCategoricalXAxisTicks(chart, layout, order) {
4630
4631
  align: "right",
4631
4632
  rotation
4632
4633
  }),
4633
- prop: editable ? chunkUHKFJBY5_cjs.categoryProp(index) : void 0
4634
+ prop: editable ? chunkSKGJXCAO_cjs.categoryProp(index) : void 0
4634
4635
  };
4635
4636
  }
4636
4637
  return {
4637
- ...chunkUHKFJBY5_cjs.chartText({
4638
+ ...chunkSKGJXCAO_cjs.chartText({
4638
4639
  role: "axis",
4639
4640
  id: `chart-x-tick-${chart.id}-${index}`,
4640
4641
  order: order + index,
@@ -4649,24 +4650,24 @@ function buildCategoricalXAxisTicks(chart, layout, order) {
4649
4650
  chart,
4650
4651
  align: left ? "left" : "center"
4651
4652
  }),
4652
- prop: editable ? chunkUHKFJBY5_cjs.categoryProp(index) : void 0
4653
+ prop: editable ? chunkSKGJXCAO_cjs.categoryProp(index) : void 0
4653
4654
  };
4654
4655
  });
4655
4656
  }
4656
4657
  function buildSeriesXAxisTicks(chart, layout, order) {
4657
4658
  const count = Math.max(1, chart.series.length);
4658
4659
  const slotWidth = layout.plot.width / count;
4659
- const tilt = chunkUHKFJBY5_cjs.labelTilt(chart);
4660
+ const tilt = chunkSKGJXCAO_cjs.labelTilt(chart);
4660
4661
  return chart.series.map((series, index) => {
4661
4662
  const centerX = layout.plot.x + (index + 0.5) * slotWidth;
4662
4663
  if (tilt > 0) {
4663
4664
  const text = series.label || series.id;
4664
- const { frame, rotation } = chunkUHKFJBY5_cjs.labelBelowFrame(chart, text, tilt, {
4665
+ const { frame, rotation } = chunkSKGJXCAO_cjs.labelBelowFrame(chart, text, tilt, {
4665
4666
  x: centerX,
4666
4667
  y: layout.plot.y + layout.plot.height + 4 + xLabelOffset(chart)
4667
4668
  });
4668
4669
  return {
4669
- ...chunkUHKFJBY5_cjs.chartText({
4670
+ ...chunkSKGJXCAO_cjs.chartText({
4670
4671
  role: "axis",
4671
4672
  id: `chart-x-tick-${chart.id}-${index}`,
4672
4673
  order: order + index,
@@ -4677,11 +4678,11 @@ function buildSeriesXAxisTicks(chart, layout, order) {
4677
4678
  align: "right",
4678
4679
  rotation
4679
4680
  }),
4680
- prop: chunkUHKFJBY5_cjs.seriesLabelProp(series.id)
4681
+ prop: chunkSKGJXCAO_cjs.seriesLabelProp(series.id)
4681
4682
  };
4682
4683
  }
4683
4684
  return {
4684
- ...chunkUHKFJBY5_cjs.chartText({
4685
+ ...chunkSKGJXCAO_cjs.chartText({
4685
4686
  role: "axis",
4686
4687
  id: `chart-x-tick-${chart.id}-${index}`,
4687
4688
  order: order + index,
@@ -4696,16 +4697,16 @@ function buildSeriesXAxisTicks(chart, layout, order) {
4696
4697
  chart,
4697
4698
  align: "center"
4698
4699
  }),
4699
- prop: chunkUHKFJBY5_cjs.seriesLabelProp(series.id)
4700
+ prop: chunkSKGJXCAO_cjs.seriesLabelProp(series.id)
4700
4701
  };
4701
4702
  });
4702
4703
  }
4703
4704
 
4704
4705
  // src/renderScene/charts/decorations/numericXAxis.ts
4705
4706
  function buildNumericXAxisTicks(chart, layout, order) {
4706
- return chunkUHKFJBY5_cjs.chartTicks(chart.axisX).map((tick, index) => {
4707
- const x = layout.plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisX, layout.plot.width);
4708
- return chunkUHKFJBY5_cjs.chartText({
4707
+ return chunkSKGJXCAO_cjs.chartTicks(chart.axisX).map((tick, index) => {
4708
+ const x = layout.plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisX, layout.plot.width);
4709
+ return chunkSKGJXCAO_cjs.chartText({
4709
4710
  role: "axis",
4710
4711
  id: `chart-x-tick-${chart.id}-${tick}`,
4711
4712
  order: order + index,
@@ -4720,9 +4721,9 @@ function buildNumericXAxisTicks(chart, layout, order) {
4720
4721
 
4721
4722
  // src/renderScene/charts/decorations/numericYAxis.ts
4722
4723
  function buildNumericYAxisTicks(chart, layout, order) {
4723
- return chunkUHKFJBY5_cjs.chartTicks(chart.axisY).map((tick, index) => {
4724
- const y = layout.plot.y + layout.plot.height - chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, layout.plot.height);
4725
- return chunkUHKFJBY5_cjs.chartText({
4724
+ return chunkSKGJXCAO_cjs.chartTicks(chart.axisY).map((tick, index) => {
4725
+ const y = layout.plot.y + layout.plot.height - chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, layout.plot.height);
4726
+ return chunkSKGJXCAO_cjs.chartText({
4726
4727
  role: "axis",
4727
4728
  id: `chart-y-tick-${chart.id}-${tick}`,
4728
4729
  order: order + index,
@@ -4757,10 +4758,10 @@ function buildYAxisTicks(chart, layout, order) {
4757
4758
  function xTickPositions(chart, layout) {
4758
4759
  const { plot } = layout;
4759
4760
  if (chart.chartType === "bar") {
4760
- const count = chunkUHKFJBY5_cjs.barCategoryCount(chart);
4761
+ const count = chunkSKGJXCAO_cjs.barCategoryCount(chart);
4761
4762
  return Array.from({ length: count }, (_value, index) => plot.x + (index + 0.5) * plot.width / count);
4762
4763
  }
4763
- return chunkUHKFJBY5_cjs.chartTicks(chart.axisX).map((tick) => plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisX, plot.width));
4764
+ return chunkSKGJXCAO_cjs.chartTicks(chart.axisX).map((tick) => plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisX, plot.width));
4764
4765
  }
4765
4766
  function axisLineDash(chart, width) {
4766
4767
  if (chart.axisLineStyle === "dashed") {
@@ -4769,8 +4770,8 @@ function axisLineDash(chart, width) {
4769
4770
  return chart.axisLineStyle === "dotted" ? { dash: [0.1, width * 3], lineCap: "round" } : {};
4770
4771
  }
4771
4772
  function buildAxisLines(chart, layout, order) {
4772
- const lineWidth = chunkUHKFJBY5_cjs.finite(chart.axisLineWidth, 0);
4773
- const tickLength = chunkUHKFJBY5_cjs.finite(chart.tickLength, 0);
4773
+ const lineWidth = chunkSKGJXCAO_cjs.finite(chart.axisLineWidth, 0);
4774
+ const tickLength = chunkSKGJXCAO_cjs.finite(chart.tickLength, 0);
4774
4775
  if (lineWidth <= 0 && tickLength <= 0) {
4775
4776
  return [];
4776
4777
  }
@@ -4791,20 +4792,20 @@ function buildAxisLines(chart, layout, order) {
4791
4792
  }
4792
4793
  add("line-x", `M ${plot.x} ${bottom} L ${plot.x + plot.width} ${bottom}`);
4793
4794
  }
4794
- if (tickLength > 0 && chunkUHKFJBY5_cjs.isHorizontalBar(chart)) {
4795
- chunkUHKFJBY5_cjs.chartTicks(chart.axisY).forEach((tick) => {
4796
- const x = plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, plot.width);
4795
+ if (tickLength > 0 && chunkSKGJXCAO_cjs.isHorizontalBar(chart)) {
4796
+ chunkSKGJXCAO_cjs.chartTicks(chart.axisY).forEach((tick) => {
4797
+ const x = plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, plot.width);
4797
4798
  add(`tick-v-${tick}`, `M ${x} ${bottom} L ${x} ${bottom + tickLength}`);
4798
4799
  });
4799
- const rows = chunkUHKFJBY5_cjs.horizontalRows(chart, plot);
4800
+ const rows = chunkSKGJXCAO_cjs.horizontalRows(chart, plot);
4800
4801
  for (let index = 0; index < rows.count; index++) {
4801
- const y = chunkUHKFJBY5_cjs.rowTop(rows, plot, index) + rows.labelRow + rows.barsHeight / 2;
4802
+ const y = chunkSKGJXCAO_cjs.rowTop(rows, plot, index) + rows.labelRow + rows.barsHeight / 2;
4802
4803
  add(`tick-c-${index}`, `M ${plot.x - tickLength} ${y} L ${plot.x} ${y}`);
4803
4804
  }
4804
4805
  }
4805
- if (tickLength > 0 && !isHorizontalBoxplot2(chart) && !chunkUHKFJBY5_cjs.isHorizontalBar(chart)) {
4806
- chunkUHKFJBY5_cjs.chartTicks(chart.axisY).forEach((tick) => {
4807
- const y = bottom - chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, plot.height);
4806
+ if (tickLength > 0 && !isHorizontalBoxplot2(chart) && !chunkSKGJXCAO_cjs.isHorizontalBar(chart)) {
4807
+ chunkSKGJXCAO_cjs.chartTicks(chart.axisY).forEach((tick) => {
4808
+ const y = bottom - chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, plot.height);
4808
4809
  add(`tick-y-${tick}`, `M ${plot.x - tickLength} ${y} L ${plot.x} ${y}`);
4809
4810
  });
4810
4811
  xTickPositions(chart, layout).forEach((x, index) => {
@@ -4819,14 +4820,14 @@ function categoryNames(chart, count) {
4819
4820
  }
4820
4821
  function buildHorizontalBarAxes(chart, layout, order) {
4821
4822
  const { plot, bounds } = layout;
4822
- const rows = chunkUHKFJBY5_cjs.horizontalRows(chart, plot);
4823
+ const rows = chunkSKGJXCAO_cjs.horizontalRows(chart, plot);
4823
4824
  const above = chart.categoryAlign === "left";
4824
4825
  const inside = chart.categoryAlign === "inside";
4825
4826
  const editable = Boolean(chart.config?.categories?.length);
4826
4827
  const nodes = categoryNames(chart, rows.count).map((name, index) => {
4827
- const top = chunkUHKFJBY5_cjs.rowTop(rows, plot, index);
4828
+ const top = chunkSKGJXCAO_cjs.rowTop(rows, plot, index);
4828
4829
  return {
4829
- ...chunkUHKFJBY5_cjs.chartText({
4830
+ ...chunkSKGJXCAO_cjs.chartText({
4830
4831
  role: "axis",
4831
4832
  id: `chart-y-category-${chart.id}-${index}`,
4832
4833
  order: order + index,
@@ -4836,19 +4837,19 @@ function buildHorizontalBarAxes(chart, layout, order) {
4836
4837
  chart,
4837
4838
  align: above || inside ? "left" : "right"
4838
4839
  }),
4839
- prop: editable ? chunkUHKFJBY5_cjs.categoryProp(index) : void 0
4840
+ prop: editable ? chunkSKGJXCAO_cjs.categoryProp(index) : void 0
4840
4841
  };
4841
4842
  });
4842
4843
  if (chart.showValueAxis !== false) {
4843
- chunkUHKFJBY5_cjs.chartTicks(chart.axisY).forEach((tick, index) => {
4844
- const x = plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, plot.width);
4844
+ chunkSKGJXCAO_cjs.chartTicks(chart.axisY).forEach((tick, index) => {
4845
+ const x = plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, plot.width);
4845
4846
  nodes.push(
4846
- chunkUHKFJBY5_cjs.chartText({
4847
+ chunkSKGJXCAO_cjs.chartText({
4847
4848
  role: "axis",
4848
4849
  id: `chart-x-tick-${chart.id}-${tick}`,
4849
4850
  order: order + rows.count + index,
4850
4851
  bounds,
4851
- frame: { x: x - 20, y: plot.y + plot.height + 4 + chunkUHKFJBY5_cjs.finite(chart.tickLength, 0), width: 40, height: 18 },
4852
+ frame: { x: x - 20, y: plot.y + plot.height + 4 + chunkSKGJXCAO_cjs.finite(chart.tickLength, 0), width: 40, height: 18 },
4852
4853
  text: String(tick),
4853
4854
  chart,
4854
4855
  align: "center"
@@ -4867,7 +4868,7 @@ function buildChartAxes(chart, layout, order) {
4867
4868
  return lines;
4868
4869
  }
4869
4870
  order += lines.length;
4870
- if (chunkUHKFJBY5_cjs.isHorizontalBar(chart)) {
4871
+ if (chunkSKGJXCAO_cjs.isHorizontalBar(chart)) {
4871
4872
  return [...lines, ...buildHorizontalBarAxes(chart, layout, order)];
4872
4873
  }
4873
4874
  const xTicks = buildXAxisTicks(chart, layout, order);
@@ -4945,7 +4946,7 @@ function buildCircularChartGrid(chart, plot, bounds, order) {
4945
4946
  const centerX = plot.x + plot.width / 2;
4946
4947
  const centerY = plot.y + plot.height / 2;
4947
4948
  const radius = Math.max(0, Math.min(plot.width, plot.height) / 2);
4948
- const width = chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1);
4949
+ const width = chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1);
4949
4950
  if (chart.gridLineStyle === "dotted") {
4950
4951
  return buildDottedCircularGrid(chart, bounds, order, centerX, centerY, radius, width);
4951
4952
  }
@@ -4956,7 +4957,7 @@ function buildCircularChartGrid(chart, plot, bounds, order) {
4956
4957
  ...gridLineDashStyle(chart, width)
4957
4958
  };
4958
4959
  const nodes = [];
4959
- chunkUHKFJBY5_cjs.chartTicks(chart.axisY).filter((tick) => tick > chart.axisY.min).forEach((tick) => {
4960
+ chunkSKGJXCAO_cjs.chartTicks(chart.axisY).filter((tick) => tick > chart.axisY.min).forEach((tick) => {
4960
4961
  const ringRadius = radius * ringRatio(chart, tick);
4961
4962
  nodes.push({
4962
4963
  type: "ellipse",
@@ -4970,8 +4971,8 @@ function buildCircularChartGrid(chart, plot, bounds, order) {
4970
4971
  style
4971
4972
  });
4972
4973
  });
4973
- chunkUHKFJBY5_cjs.chartTicks(chart.axisX).forEach((tick) => {
4974
- const angle = chunkUHKFJBY5_cjs.angleForAxisValue(chart.axisX.min, chart.axisX.max, tick);
4974
+ chunkSKGJXCAO_cjs.chartTicks(chart.axisX).forEach((tick) => {
4975
+ const angle = chunkSKGJXCAO_cjs.angleForAxisValue(chart.axisX.min, chart.axisX.max, tick);
4975
4976
  const edgeX = centerX + Math.cos(angle) * radius;
4976
4977
  const edgeY = centerY + Math.sin(angle) * radius;
4977
4978
  nodes.push({
@@ -4986,13 +4987,13 @@ function buildCircularChartGrid(chart, plot, bounds, order) {
4986
4987
  return nodes;
4987
4988
  }
4988
4989
  function buildDottedCircularGrid(chart, bounds, order, centerX, centerY, radius, width) {
4989
- const yTicks = chunkUHKFJBY5_cjs.chartTicks(chart.axisY).filter((tick) => tick > chart.axisY.min);
4990
- const xTicks = chunkUHKFJBY5_cjs.chartTicks(chart.axisX);
4990
+ const yTicks = chunkSKGJXCAO_cjs.chartTicks(chart.axisY).filter((tick) => tick > chart.axisY.min);
4991
+ const xTicks = chunkSKGJXCAO_cjs.chartTicks(chart.axisX);
4991
4992
  const nodes = [];
4992
4993
  yTicks.forEach((yTick) => {
4993
4994
  const ringRadius = radius * ringRatio(chart, yTick);
4994
4995
  xTicks.forEach((xTick) => {
4995
- const angle = chunkUHKFJBY5_cjs.angleForAxisValue(chart.axisX.min, chart.axisX.max, xTick);
4996
+ const angle = chunkSKGJXCAO_cjs.angleForAxisValue(chart.axisX.min, chart.axisX.max, xTick);
4996
4997
  const x = centerX + Math.cos(angle) * ringRadius;
4997
4998
  const y = centerY + Math.sin(angle) * ringRadius;
4998
4999
  const id = `chart-grid-dot-${chart.id}-${xTick}-${yTick}`;
@@ -5014,8 +5015,8 @@ function buildChartGrid(chart, plot, bounds, order) {
5014
5015
  if (chart.gridShape === "circle" && CIRCULAR_GRID_CHART_TYPES.has(chart.chartType)) {
5015
5016
  return buildCircularChartGrid(chart, plot, bounds, order);
5016
5017
  }
5017
- const width = chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1);
5018
- if (chunkUHKFJBY5_cjs.isHorizontalBar(chart)) {
5018
+ const width = chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1);
5019
+ if (chunkSKGJXCAO_cjs.isHorizontalBar(chart)) {
5019
5020
  return buildHorizontalBarGrid(chart, plot, bounds, order, width);
5020
5021
  }
5021
5022
  const clip = chart.chartType === "field" ? fieldSurfaceClip(chart, plot) : void 0;
@@ -5030,8 +5031,8 @@ function buildChartGrid(chart, plot, bounds, order) {
5030
5031
  clip
5031
5032
  };
5032
5033
  const nodes = [];
5033
- (chart.gridAxes === "y" ? [] : chunkUHKFJBY5_cjs.chartTicks(chart.axisX)).forEach((tick) => {
5034
- const x = plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisX, plot.width);
5034
+ (chart.gridAxes === "y" ? [] : chunkSKGJXCAO_cjs.chartTicks(chart.axisX)).forEach((tick) => {
5035
+ const x = plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisX, plot.width);
5035
5036
  nodes.push({
5036
5037
  type: "path",
5037
5038
  id: `chart-grid-x-${chart.id}-${tick}`,
@@ -5041,8 +5042,8 @@ function buildChartGrid(chart, plot, bounds, order) {
5041
5042
  style
5042
5043
  });
5043
5044
  });
5044
- (chart.gridAxes === "x" ? [] : chunkUHKFJBY5_cjs.chartTicks(chart.axisY)).forEach((tick) => {
5045
- const y = plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, plot.height);
5045
+ (chart.gridAxes === "x" ? [] : chunkSKGJXCAO_cjs.chartTicks(chart.axisY)).forEach((tick) => {
5046
+ const y = plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, plot.height);
5046
5047
  nodes.push({
5047
5048
  type: "path",
5048
5049
  id: `chart-grid-y-${chart.id}-${tick}`,
@@ -5064,8 +5065,8 @@ function buildHorizontalBarGrid(chart, plot, bounds, order, width) {
5064
5065
  strokeWidth: width,
5065
5066
  ...chart.gridLineStyle === "dotted" ? { dash: [0.1, width * 3], lineCap: "round" } : gridLineDashStyle(chart, width)
5066
5067
  };
5067
- return chunkUHKFJBY5_cjs.chartTicks(chart.axisY).map((tick, index) => {
5068
- const x = plot.x + chunkUHKFJBY5_cjs.mapChartValue(tick, chart.axisY, plot.width);
5068
+ return chunkSKGJXCAO_cjs.chartTicks(chart.axisY).map((tick, index) => {
5069
+ const x = plot.x + chunkSKGJXCAO_cjs.mapChartValue(tick, chart.axisY, plot.width);
5069
5070
  return {
5070
5071
  type: "path",
5071
5072
  id: `chart-grid-x-${chart.id}-${tick}`,
@@ -5077,13 +5078,13 @@ function buildHorizontalBarGrid(chart, plot, bounds, order, width) {
5077
5078
  });
5078
5079
  }
5079
5080
  function buildDottedRectGrid(chart, plot, bounds, order, width, clip) {
5080
- const xTicks = chunkUHKFJBY5_cjs.chartTicks(chart.axisX);
5081
- const yTicks = chunkUHKFJBY5_cjs.chartTicks(chart.axisY);
5081
+ const xTicks = chunkSKGJXCAO_cjs.chartTicks(chart.axisX);
5082
+ const yTicks = chunkSKGJXCAO_cjs.chartTicks(chart.axisY);
5082
5083
  const nodes = [];
5083
5084
  xTicks.forEach((xTick) => {
5084
- const x = plot.x + chunkUHKFJBY5_cjs.mapChartValue(xTick, chart.axisX, plot.width);
5085
+ const x = plot.x + chunkSKGJXCAO_cjs.mapChartValue(xTick, chart.axisX, plot.width);
5085
5086
  yTicks.forEach((yTick) => {
5086
- const y = plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(yTick, chart.axisY, plot.height);
5087
+ const y = plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(yTick, chart.axisY, plot.height);
5087
5088
  const id = `chart-grid-dot-${chart.id}-${xTick}-${yTick}`;
5088
5089
  nodes.push(createGridDot(chart, id, order + nodes.length, bounds, x, y, width, clip));
5089
5090
  });
@@ -5106,7 +5107,7 @@ function createChartRuleMarks(render2) {
5106
5107
  return {
5107
5108
  rule,
5108
5109
  color: rule.color || render2.chart.strokeColor || "#475569",
5109
- y: render2.plot.y + render2.plot.height - chunkUHKFJBY5_cjs.mapChartValue(rule.at, render2.chart.axisY, render2.plot.height),
5110
+ y: render2.plot.y + render2.plot.height - chunkSKGJXCAO_cjs.mapChartValue(rule.at, render2.chart.axisY, render2.plot.height),
5110
5111
  lineOrder,
5111
5112
  labelOrder
5112
5113
  };
@@ -5126,7 +5127,7 @@ function createChartRuleLine(render2, mark) {
5126
5127
  order: mark.lineOrder,
5127
5128
  bounds: render2.bounds,
5128
5129
  d: `M ${render2.plot.x} ${mark.y} L ${render2.plot.x + render2.plot.width} ${mark.y}`,
5129
- prop: chunkUHKFJBY5_cjs.ruleAtProp(mark.rule.id),
5130
+ prop: chunkSKGJXCAO_cjs.ruleAtProp(mark.rule.id),
5130
5131
  propKind: "value",
5131
5132
  style: {
5132
5133
  fill: { kind: "none" },
@@ -5137,9 +5138,9 @@ function createChartRuleLine(render2, mark) {
5137
5138
  };
5138
5139
  }
5139
5140
  function createChartRuleLabel(render2, mark) {
5140
- const fontSize = Math.max(9, chunkUHKFJBY5_cjs.finite(render2.chart.fontSize, 12) - 2);
5141
+ const fontSize = Math.max(9, chunkSKGJXCAO_cjs.finite(render2.chart.fontSize, 12) - 2);
5141
5142
  return {
5142
- ...chunkUHKFJBY5_cjs.chartText({
5143
+ ...chunkSKGJXCAO_cjs.chartText({
5143
5144
  id: `chart-rule-label-${render2.chart.id}-${mark.rule.id}`,
5144
5145
  order: mark.labelOrder ?? mark.lineOrder + 1,
5145
5146
  bounds: render2.bounds,
@@ -5148,19 +5149,19 @@ function createChartRuleLabel(render2, mark) {
5148
5149
  chart: render2.chart
5149
5150
  }),
5150
5151
  color: mark.color,
5151
- prop: chunkUHKFJBY5_cjs.ruleTextProp(mark.rule.id)
5152
+ prop: chunkSKGJXCAO_cjs.ruleTextProp(mark.rule.id)
5152
5153
  };
5153
5154
  }
5154
5155
 
5155
5156
  // src/renderScene/charts/chartBackdrop.ts
5156
5157
  function chartImageRect(chart) {
5157
- const inset = chunkUHKFJBY5_cjs.finite(chart.strokeWidth, 1) / 2;
5158
+ const inset = chunkSKGJXCAO_cjs.finite(chart.strokeWidth, 1) / 2;
5158
5159
  return {
5159
5160
  x: chart.x + inset,
5160
5161
  y: chart.y + inset,
5161
5162
  width: Math.max(1, chart.width - inset * 2),
5162
5163
  height: Math.max(1, chart.height - inset * 2),
5163
- rx: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.cornerRadius, 12) - inset)
5164
+ rx: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.cornerRadius, 12) - inset)
5164
5165
  };
5165
5166
  }
5166
5167
  function buildChartBackdrop(chart, bounds, order) {
@@ -5202,7 +5203,7 @@ function buildChartBackdrop(chart, bounds, order) {
5202
5203
  // src/renderScene/charts/renderers/bar/glass.ts
5203
5204
  function createGlassBackdropNodes(context, id, d) {
5204
5205
  const { chart, bounds, nextOrder } = context;
5205
- const blur = chunkUHKFJBY5_cjs.finite(chart.config?.barGlassBlur, 0);
5206
+ const blur = chunkSKGJXCAO_cjs.finite(chart.config?.barGlassBlur, 0);
5206
5207
  if (blur <= 0 || !chart.fillImage) {
5207
5208
  return [];
5208
5209
  }
@@ -5220,7 +5221,7 @@ function createGlassBackdropNodes(context, id, d) {
5220
5221
  href: chart.fillImage.url,
5221
5222
  style: {
5222
5223
  blur,
5223
- saturate: chunkUHKFJBY5_cjs.finite(chart.config?.barGlassSaturation, 1),
5224
+ saturate: chunkSKGJXCAO_cjs.finite(chart.config?.barGlassSaturation, 1),
5224
5225
  clip: { type: "path", d },
5225
5226
  pointerEvents: "none"
5226
5227
  }
@@ -5271,8 +5272,8 @@ function createBarGlowNode(context, id, d, color, glow, bounds = context.bounds)
5271
5272
  bounds,
5272
5273
  d,
5273
5274
  style: {
5274
- fill: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id),
5275
- shadow: { color: chunkUHKFJBY5_cjs.representativeColor(color, "#ffffff"), opacity: 0.9, blur: glow, dx: 0, dy: 0 },
5275
+ fill: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id),
5276
+ shadow: { color: chunkSKGJXCAO_cjs.representativeColor(color, "#ffffff"), opacity: 0.9, blur: glow, dx: 0, dy: 0 },
5276
5277
  pointerEvents: "none"
5277
5278
  }
5278
5279
  };
@@ -5283,14 +5284,14 @@ function barLabelsEnabled(context) {
5283
5284
  return context.chart.config?.showBarLabels === true;
5284
5285
  }
5285
5286
  function resolvePlacement(target, size) {
5286
- const fits = target.frame.height >= size.height + chunkUHKFJBY5_cjs.BAR_LABEL.gap * 2;
5287
+ const fits = target.frame.height >= size.height + chunkSKGJXCAO_cjs.BAR_LABEL.gap * 2;
5287
5288
  return target.placement !== "outside" && !fits ? "outside" : target.placement;
5288
5289
  }
5289
5290
  function labelTop(placement, frame, height) {
5290
5291
  if (placement === "outside") {
5291
- return frame.y - height - chunkUHKFJBY5_cjs.BAR_LABEL.gap;
5292
+ return frame.y - height - chunkSKGJXCAO_cjs.BAR_LABEL.gap;
5292
5293
  }
5293
- return placement === "inside" ? frame.y + chunkUHKFJBY5_cjs.BAR_LABEL.gap : frame.y + frame.height / 2 - height / 2;
5294
+ return placement === "inside" ? frame.y + chunkSKGJXCAO_cjs.BAR_LABEL.gap : frame.y + frame.height / 2 - height / 2;
5294
5295
  }
5295
5296
  function createPillNode(context, id, box, color) {
5296
5297
  const { chart, bounds, diagnostics, nextOrder } = context;
@@ -5300,11 +5301,11 @@ function createPillNode(context, id, box, color) {
5300
5301
  id: `${id}-pill`,
5301
5302
  order: nextOrder(),
5302
5303
  bounds,
5303
- d: chunkUHKFJBY5_cjs.pillPath(box.left, box.top, box.width, box.height),
5304
+ d: chunkSKGJXCAO_cjs.pillPath(box.left, box.top, box.width, box.height),
5304
5305
  style: {
5305
- fill: config?.barLabelPillColor ? chunkUHKFJBY5_cjs.paint(config.barLabelPillColor, diagnostics, chart.id) : { kind: "none" },
5306
- stroke: chunkUHKFJBY5_cjs.paint(config?.barLabelBorderColor ?? color, diagnostics, chart.id),
5307
- strokeWidth: chunkUHKFJBY5_cjs.finite(config?.barLabelBorderWidth, 1),
5306
+ fill: config?.barLabelPillColor ? chunkSKGJXCAO_cjs.paint(config.barLabelPillColor, diagnostics, chart.id) : { kind: "none" },
5307
+ stroke: chunkSKGJXCAO_cjs.paint(config?.barLabelBorderColor ?? color, diagnostics, chart.id),
5308
+ strokeWidth: chunkSKGJXCAO_cjs.finite(config?.barLabelBorderWidth, 1),
5308
5309
  pointerEvents: "none"
5309
5310
  }
5310
5311
  };
@@ -5313,7 +5314,7 @@ function createTextNode(context, id, box, text, placement, fontSize, color) {
5313
5314
  const { chart, bounds, nextOrder } = context;
5314
5315
  const config = chart.config;
5315
5316
  return {
5316
- ...chunkUHKFJBY5_cjs.chartText({
5317
+ ...chunkSKGJXCAO_cjs.chartText({
5317
5318
  id,
5318
5319
  order: nextOrder(),
5319
5320
  bounds,
@@ -5334,7 +5335,7 @@ function createAxisValueNode(context, target, text, fontSize) {
5334
5335
  const config = chart.config;
5335
5336
  const top = plot.y + plot.height + 4 + 16 + Math.max(0, chart.tickLength ?? 0);
5336
5337
  return {
5337
- ...chunkUHKFJBY5_cjs.chartText({
5338
+ ...chunkSKGJXCAO_cjs.chartText({
5338
5339
  id: target.id,
5339
5340
  order: nextOrder(),
5340
5341
  bounds,
@@ -5343,7 +5344,7 @@ function createAxisValueNode(context, target, text, fontSize) {
5343
5344
  y: target.frame.y + target.frame.height / 2 - fontSize * 0.6,
5344
5345
  width: plot.width - 14,
5345
5346
  height: fontSize * 1.2
5346
- } : { x: plot.x, y: target.frame.y - chunkUHKFJBY5_cjs.CATEGORY_LABEL_ROW, width: plot.width, height: fontSize * 1.2 } : { x: target.frame.x, y: top, width: target.frame.width, height: fontSize * 1.2 },
5347
+ } : { x: plot.x, y: target.frame.y - chunkSKGJXCAO_cjs.CATEGORY_LABEL_ROW, width: plot.width, height: fontSize * 1.2 } : { x: target.frame.x, y: top, width: target.frame.width, height: fontSize * 1.2 },
5347
5348
  text,
5348
5349
  chart,
5349
5350
  align: target.horizontal ? "right" : chart.categoryAlign === "left" ? "left" : "center"
@@ -5357,24 +5358,24 @@ function createAxisValueNode(context, target, text, fontSize) {
5357
5358
  }
5358
5359
  function horizontalPlacement(target, size) {
5359
5360
  const requested = target.placement === "axis" ? "outside" : target.placement;
5360
- const fits = target.frame.width >= size.width + chunkUHKFJBY5_cjs.BAR_LABEL.gap * 2;
5361
+ const fits = target.frame.width >= size.width + chunkSKGJXCAO_cjs.BAR_LABEL.gap * 2;
5361
5362
  return requested !== "outside" && !fits ? "outside" : requested;
5362
5363
  }
5363
5364
  function horizontalBox(target, size, placement) {
5364
5365
  const { frame } = target;
5365
- const left = placement === "outside" ? frame.x + frame.width + chunkUHKFJBY5_cjs.BAR_LABEL.gap : placement === "inside" ? frame.x + frame.width - size.width - chunkUHKFJBY5_cjs.BAR_LABEL.gap : frame.x + frame.width / 2 - size.width / 2;
5366
+ const left = placement === "outside" ? frame.x + frame.width + chunkSKGJXCAO_cjs.BAR_LABEL.gap : placement === "inside" ? frame.x + frame.width - size.width - chunkSKGJXCAO_cjs.BAR_LABEL.gap : frame.x + frame.width / 2 - size.width / 2;
5366
5367
  return { ...size, left, top: frame.y + frame.height / 2 - size.height / 2 };
5367
5368
  }
5368
5369
  function createBarLabelNodes(context, target) {
5369
5370
  const { chart } = context;
5370
5371
  const config = chart.config;
5371
- const fontSize = Math.max(8, chunkUHKFJBY5_cjs.finite(config?.barLabelFontSize, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)));
5372
- const text = chunkUHKFJBY5_cjs.formatBarLabel(target.value, config?.barLabelFormat);
5372
+ const fontSize = Math.max(8, chunkSKGJXCAO_cjs.finite(config?.barLabelFontSize, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)));
5373
+ const text = chunkSKGJXCAO_cjs.formatBarLabel(target.value, config?.barLabelFormat);
5373
5374
  if (target.placement === "axis") {
5374
5375
  return [createAxisValueNode(context, target, text, fontSize)];
5375
5376
  }
5376
5377
  const pill = config?.barLabelPill === true;
5377
- const size = chunkUHKFJBY5_cjs.barLabelSize(text, fontSize, pill);
5378
+ const size = chunkSKGJXCAO_cjs.barLabelSize(text, fontSize, pill);
5378
5379
  const placement = target.horizontal ? horizontalPlacement(target, size) : resolvePlacement(target, size);
5379
5380
  const box = target.horizontal ? horizontalBox(target, size, placement) : {
5380
5381
  ...size,
@@ -5415,7 +5416,7 @@ function barTrackClip(context, frame) {
5415
5416
  }
5416
5417
  return {
5417
5418
  type: "path",
5418
- d: chunkUHKFJBY5_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, context.chart.config?.barCornerRadius ?? 2)
5419
+ d: chunkSKGJXCAO_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, context.chart.config?.barCornerRadius ?? 2)
5419
5420
  };
5420
5421
  }
5421
5422
  function barTrackEnabled(context) {
@@ -5425,8 +5426,8 @@ function createBarTrackNodes(context, id, frame, orientation = "vertical") {
5425
5426
  const { chart, bounds, diagnostics, nextOrder } = context;
5426
5427
  const config = chart.config;
5427
5428
  const radius = config?.barCornerRadius ?? 2;
5428
- const segments = chunkUHKFJBY5_cjs.finite(config?.barSegments, 0);
5429
- const d = segments > 0 ? chunkUHKFJBY5_cjs.segmentedBarPath(frame, orientation, segments, chunkUHKFJBY5_cjs.finite(config?.barSegmentGap, 4), radius, 1, true) : chunkUHKFJBY5_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, radius);
5429
+ const segments = chunkSKGJXCAO_cjs.finite(config?.barSegments, 0);
5430
+ const d = segments > 0 ? chunkSKGJXCAO_cjs.segmentedBarPath(frame, orientation, segments, chunkSKGJXCAO_cjs.finite(config?.barSegmentGap, 4), radius, 1, true) : chunkSKGJXCAO_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, radius);
5430
5431
  const nodes = [
5431
5432
  {
5432
5433
  type: "path",
@@ -5435,7 +5436,7 @@ function createBarTrackNodes(context, id, frame, orientation = "vertical") {
5435
5436
  bounds,
5436
5437
  d,
5437
5438
  style: {
5438
- fill: chunkUHKFJBY5_cjs.paint(config?.barTrackColor ?? chart.gridColor ?? "#e2e8f0", diagnostics, chart.id),
5439
+ fill: chunkSKGJXCAO_cjs.paint(config?.barTrackColor ?? chart.gridColor ?? "#e2e8f0", diagnostics, chart.id),
5439
5440
  pointerEvents: "none"
5440
5441
  }
5441
5442
  }
@@ -5451,13 +5452,13 @@ function createBarTrackNodes(context, id, frame, orientation = "vertical") {
5451
5452
  frame.y,
5452
5453
  frame.width,
5453
5454
  frame.height,
5454
- chunkUHKFJBY5_cjs.finite(config.barTrackHatchAngle, DEFAULT_HATCH.angle),
5455
- Math.max(MIN_HATCH_SPACING, chunkUHKFJBY5_cjs.finite(config.barTrackHatchSpacing, DEFAULT_HATCH.spacing))
5455
+ chunkSKGJXCAO_cjs.finite(config.barTrackHatchAngle, DEFAULT_HATCH.angle),
5456
+ Math.max(MIN_HATCH_SPACING, chunkSKGJXCAO_cjs.finite(config.barTrackHatchSpacing, DEFAULT_HATCH.spacing))
5456
5457
  ),
5457
5458
  style: {
5458
5459
  fill: { kind: "none" },
5459
- stroke: chunkUHKFJBY5_cjs.paint(config.barTrackHatchColor ?? chart.gridColor ?? "#cbd5e1", diagnostics, chart.id),
5460
- strokeWidth: chunkUHKFJBY5_cjs.finite(config.barTrackHatchWidth, DEFAULT_HATCH.width),
5460
+ stroke: chunkSKGJXCAO_cjs.paint(config.barTrackHatchColor ?? chart.gridColor ?? "#cbd5e1", diagnostics, chart.id),
5461
+ strokeWidth: chunkSKGJXCAO_cjs.finite(config.barTrackHatchWidth, DEFAULT_HATCH.width),
5461
5462
  pointerEvents: "none",
5462
5463
  clip: { type: "path", d }
5463
5464
  }
@@ -5504,23 +5505,23 @@ function groupedShape(context, frame) {
5504
5505
  const { chart, plot } = context;
5505
5506
  const config = chart.config;
5506
5507
  const radius = config?.barCornerRadius ?? 2;
5507
- const segments = chunkUHKFJBY5_cjs.finite(config?.barSegments, 0);
5508
+ const segments = chunkSKGJXCAO_cjs.finite(config?.barSegments, 0);
5508
5509
  if (segments > 0) {
5509
- return chunkUHKFJBY5_cjs.segmentedBarPath(
5510
+ return chunkSKGJXCAO_cjs.segmentedBarPath(
5510
5511
  { x: frame.x, y: plot.y, width: frame.width, height: plot.height },
5511
5512
  "vertical",
5512
5513
  segments,
5513
- chunkUHKFJBY5_cjs.finite(config?.barSegmentGap, 4),
5514
+ chunkSKGJXCAO_cjs.finite(config?.barSegmentGap, 4),
5514
5515
  radius,
5515
5516
  frame.height / plot.height,
5516
5517
  config?.barSegmentSnap !== false
5517
5518
  );
5518
5519
  }
5519
- return chunkUHKFJBY5_cjs.barPath(frame.x, frame.y, frame.width, frame.height, radius, config?.barRoundedBottom === true);
5520
+ return chunkSKGJXCAO_cjs.barPath(frame.x, frame.y, frame.width, frame.height, radius, config?.barRoundedBottom === true);
5520
5521
  }
5521
5522
  function createGroupedGlow(context, mark) {
5522
5523
  const { chart } = context;
5523
- const glow = chunkUHKFJBY5_cjs.finite(chart.config?.barGlow, 0);
5524
+ const glow = chunkSKGJXCAO_cjs.finite(chart.config?.barGlow, 0);
5524
5525
  if (glow <= 0 || mark.frame.height <= 0) {
5525
5526
  return [];
5526
5527
  }
@@ -5531,10 +5532,10 @@ function createGroupedGlow(context, mark) {
5531
5532
  }
5532
5533
  function createGroupedBarLayout(context) {
5533
5534
  const { chart, plot } = context;
5534
- const valueCount = chunkUHKFJBY5_cjs.barCategoryCount(chart);
5535
+ const valueCount = chunkSKGJXCAO_cjs.barCategoryCount(chart);
5535
5536
  const slotWidth = plot.width / valueCount;
5536
- const groupGap = Math.min(Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barGroupGap, 8)), Math.max(0, slotWidth - 1));
5537
- const barGap = Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barGap, 2));
5537
+ const groupGap = Math.min(Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barGroupGap, 8)), Math.max(0, slotWidth - 1));
5538
+ const barGap = Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barGap, 2));
5538
5539
  return {
5539
5540
  slotWidth,
5540
5541
  seriesWidth: Math.max(1, (slotWidth - groupGap) / Math.max(1, chart.series.length)),
@@ -5544,10 +5545,10 @@ function createGroupedBarLayout(context) {
5544
5545
  }
5545
5546
  function createSeriesBarMarks(context, layout, series, seriesIndex) {
5546
5547
  const { chart, plot } = context;
5547
- const seriesColor2 = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
5548
+ const seriesColor2 = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
5548
5549
  return series.values.map((value, valueIndex) => {
5549
5550
  const numericValue = Array.isArray(value) ? value[1] : value;
5550
- const height = Math.max(0, chunkUHKFJBY5_cjs.mapChartValue(numericValue, chart.axisY, plot.height));
5551
+ const height = Math.max(0, chunkSKGJXCAO_cjs.mapChartValue(numericValue, chart.axisY, plot.height));
5551
5552
  return {
5552
5553
  seriesId: series.id,
5553
5554
  valueIndex,
@@ -5581,10 +5582,10 @@ function createGroupedBarNodes(context, mark) {
5581
5582
  const radius = chart.config?.barCornerRadius ?? 2;
5582
5583
  const { x, width } = mark.frame;
5583
5584
  const path = groupedShape(context, mark.frame);
5584
- const fill2 = chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id);
5585
- const stroke = chunkUHKFJBY5_cjs.paint(chart.config?.barBorderColor || "#000000", diagnostics, chart.id);
5586
- const strokeWidth = chunkUHKFJBY5_cjs.finite(chart.config?.barBorderWidth, 0);
5587
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
5585
+ const fill2 = chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id);
5586
+ const stroke = chunkSKGJXCAO_cjs.paint(chart.config?.barBorderColor || "#000000", diagnostics, chart.id);
5587
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(chart.config?.barBorderWidth, 0);
5588
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
5588
5589
  const shadowCaster = shadow ? {
5589
5590
  type: "path",
5590
5591
  id: `chart-bar-shadow-${chart.id}-${mark.seriesId}-${mark.valueIndex}`,
@@ -5614,10 +5615,10 @@ function createGroupedBarNodes(context, mark) {
5614
5615
  valueIndex: mark.valueIndex,
5615
5616
  mark: "bar",
5616
5617
  radius,
5617
- colorProp: chunkUHKFJBY5_cjs.seriesValueColorProp(mark.seriesId, mark.valueIndex),
5618
+ colorProp: chunkSKGJXCAO_cjs.seriesValueColorProp(mark.seriesId, mark.valueIndex),
5618
5619
  hasColorOverride: mark.hasColorOverride
5619
5620
  },
5620
- prop: chunkUHKFJBY5_cjs.seriesValueProp(mark.seriesId, mark.valueIndex),
5621
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(mark.seriesId, mark.valueIndex),
5621
5622
  style: { fill: fill2, stroke, strokeWidth, innerShadow: shadow }
5622
5623
  };
5623
5624
  const glass = createGlassBackdropNodes(context, `${mark.seriesId}-${mark.valueIndex}`, path);
@@ -5628,15 +5629,15 @@ function createGroupedBarError(context, mark) {
5628
5629
  return null;
5629
5630
  }
5630
5631
  const { chart, plot, bounds, nextOrder } = context;
5631
- const [lower, upper] = chunkUHKFJBY5_cjs.errorBarRange(mark.value, mark.error);
5632
- return chunkUHKFJBY5_cjs.createVerticalErrorWhiskerNode({
5632
+ const [lower, upper] = chunkSKGJXCAO_cjs.errorBarRange(mark.value, mark.error);
5633
+ return chunkSKGJXCAO_cjs.createVerticalErrorWhiskerNode({
5633
5634
  id: `chart-bar-error-${chart.id}-${mark.seriesId}-${mark.valueIndex}`,
5634
5635
  order: nextOrder(),
5635
5636
  bounds,
5636
5637
  geometry: {
5637
5638
  centerX: mark.frame.x + mark.frame.width / 2,
5638
- startY: plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(lower, chart.axisY, plot.height),
5639
- endY: plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(upper, chart.axisY, plot.height)
5639
+ startY: plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(lower, chart.axisY, plot.height),
5640
+ endY: plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(upper, chart.axisY, plot.height)
5640
5641
  },
5641
5642
  color: chart.textColor ?? "#0f172a",
5642
5643
  valueReference: { seriesId: mark.seriesId, valueIndex: mark.valueIndex }
@@ -5646,9 +5647,9 @@ function createGroupedBarError(context, mark) {
5646
5647
  // src/renderScene/charts/renderers/bar/horizontal.ts
5647
5648
  function barFrame(context, rows, seriesIndex, valueIndex, value) {
5648
5649
  const { chart, plot } = context;
5649
- const top = chunkUHKFJBY5_cjs.rowTop(rows, plot, valueIndex) + rows.labelRow;
5650
+ const top = chunkSKGJXCAO_cjs.rowTop(rows, plot, valueIndex) + rows.labelRow;
5650
5651
  if (context.stackedMode) {
5651
- const segment = chunkUHKFJBY5_cjs.stackedSegment(chart, context.stackedMode, valueIndex, seriesIndex, plot.width);
5652
+ const segment = chunkSKGJXCAO_cjs.stackedSegment(chart, context.stackedMode, valueIndex, seriesIndex, plot.width);
5652
5653
  const start = Math.min(segment.pixelStart, segment.pixelEnd);
5653
5654
  return {
5654
5655
  x: plot.x + start,
@@ -5657,27 +5658,27 @@ function barFrame(context, rows, seriesIndex, valueIndex, value) {
5657
5658
  height: rows.barsHeight
5658
5659
  };
5659
5660
  }
5660
- const barGap = Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barGap, 2));
5661
+ const barGap = Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barGap, 2));
5661
5662
  const seriesHeight = rows.barsHeight / Math.max(1, chart.series.length);
5662
- const width = Math.max(0, chunkUHKFJBY5_cjs.mapChartValue(value, chart.axisY, plot.width));
5663
+ const width = Math.max(0, chunkSKGJXCAO_cjs.mapChartValue(value, chart.axisY, plot.width));
5663
5664
  return { x: plot.x, y: top + seriesIndex * seriesHeight, width, height: Math.max(1, seriesHeight - barGap) };
5664
5665
  }
5665
5666
  function barPath2(context, frame) {
5666
5667
  const { chart, plot } = context;
5667
5668
  const config = chart.config;
5668
- const segments = context.stackedMode && chart.series.length > 1 ? 0 : chunkUHKFJBY5_cjs.finite(config?.barSegments, 0);
5669
+ const segments = context.stackedMode && chart.series.length > 1 ? 0 : chunkSKGJXCAO_cjs.finite(config?.barSegments, 0);
5669
5670
  if (segments > 0) {
5670
- return chunkUHKFJBY5_cjs.segmentedBarPath(
5671
+ return chunkSKGJXCAO_cjs.segmentedBarPath(
5671
5672
  { x: plot.x, y: frame.y, width: plot.width, height: frame.height },
5672
5673
  "horizontal",
5673
5674
  segments,
5674
- chunkUHKFJBY5_cjs.finite(config?.barSegmentGap, 4),
5675
+ chunkSKGJXCAO_cjs.finite(config?.barSegmentGap, 4),
5675
5676
  config?.barCornerRadius ?? 2,
5676
5677
  frame.width / plot.width,
5677
5678
  config?.barSegmentSnap !== false
5678
5679
  );
5679
5680
  }
5680
- return chunkUHKFJBY5_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, config?.barCornerRadius ?? 2);
5681
+ return chunkSKGJXCAO_cjs.roundedBarPath(frame.x, frame.y, frame.width, frame.height, config?.barCornerRadius ?? 2);
5681
5682
  }
5682
5683
  function markOf(context, rows, series, seriesIndex, valueIndex, value) {
5683
5684
  const { plot } = context;
@@ -5697,16 +5698,16 @@ function markOf(context, rows, series, seriesIndex, valueIndex, value) {
5697
5698
  maxY: frame.y + frame.height
5698
5699
  },
5699
5700
  path: barPath2(context, frame),
5700
- color: series.colors?.[valueIndex] ?? series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length]
5701
+ color: series.colors?.[valueIndex] ?? series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length]
5701
5702
  };
5702
5703
  }
5703
5704
  function barNodes(context, mark) {
5704
5705
  const { chart, diagnostics, nextOrder } = context;
5705
5706
  const config = chart.config;
5706
- const stroke = chunkUHKFJBY5_cjs.paint(config?.barBorderColor || "#000000", diagnostics, chart.id);
5707
- const strokeWidth = chunkUHKFJBY5_cjs.finite(config?.barBorderWidth, 0);
5708
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
5709
- const fill2 = chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id);
5707
+ const stroke = chunkSKGJXCAO_cjs.paint(config?.barBorderColor || "#000000", diagnostics, chart.id);
5708
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(config?.barBorderWidth, 0);
5709
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
5710
+ const fill2 = chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id);
5710
5711
  const nodes = [...createGlassBackdropNodes(context, mark.id, mark.path)];
5711
5712
  if (shadow) {
5712
5713
  nodes.push({
@@ -5730,7 +5731,7 @@ function barNodes(context, mark) {
5730
5731
  valueIndex: mark.valueIndex,
5731
5732
  mark: "bar",
5732
5733
  radius: config?.barCornerRadius ?? 2,
5733
- colorProp: chunkUHKFJBY5_cjs.seriesValueColorProp(mark.series.id, mark.valueIndex),
5734
+ colorProp: chunkSKGJXCAO_cjs.seriesValueColorProp(mark.series.id, mark.valueIndex),
5734
5735
  hasColorOverride: mark.series.colors?.[mark.valueIndex] != null
5735
5736
  },
5736
5737
  style: { fill: fill2, stroke, strokeWidth, innerShadow: shadow }
@@ -5760,7 +5761,7 @@ function pushBar(context, rows, layers, series, seriesIndex, valueIndex, value,
5760
5761
  layers.tracks.push(...createBarTrackNodes(context, mark.id, mark.trackFrame, "horizontal"));
5761
5762
  }
5762
5763
  layers.bars.push(...barNodes(context, mark));
5763
- const glow = chunkUHKFJBY5_cjs.finite(chart.config?.barGlow, 0);
5764
+ const glow = chunkSKGJXCAO_cjs.finite(chart.config?.barGlow, 0);
5764
5765
  if (glow > 0 && mark.frame.width > 0) {
5765
5766
  layers.glows.push(
5766
5767
  createBarGlowNode(context, `chart-bar-glow-${chart.id}-${mark.id}`, mark.path, mark.color, glow, mark.bounds)
@@ -5769,7 +5770,7 @@ function pushBar(context, rows, layers, series, seriesIndex, valueIndex, value,
5769
5770
  layers.labels.push(...labelNodes2(context, mark, highest));
5770
5771
  }
5771
5772
  function renderHorizontalBars(context) {
5772
- const rows = chunkUHKFJBY5_cjs.horizontalRows(context.chart, context.plot);
5773
+ const rows = chunkSKGJXCAO_cjs.horizontalRows(context.chart, context.plot);
5773
5774
  const layers = { tracks: [], bars: [], glows: [], labels: [] };
5774
5775
  context.chart.series.forEach((series, seriesIndex) => {
5775
5776
  const numeric = series.values.map((value) => typeof value === "number" ? value : value[1]);
@@ -5784,8 +5785,8 @@ function renderHorizontalBars(context) {
5784
5785
  // src/renderScene/charts/renderers/bar/stacked.ts
5785
5786
  function slotOf(context, mode) {
5786
5787
  const { chart, plot } = context;
5787
- const slotWidth = plot.width / chunkUHKFJBY5_cjs.barCategoryCount(chart);
5788
- const groupGap = Math.min(Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barGroupGap, 8)), Math.max(0, slotWidth - 1));
5788
+ const slotWidth = plot.width / chunkSKGJXCAO_cjs.barCategoryCount(chart);
5789
+ const groupGap = Math.min(Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barGroupGap, 8)), Math.max(0, slotWidth - 1));
5789
5790
  return {
5790
5791
  slotWidth,
5791
5792
  groupGap,
@@ -5796,19 +5797,19 @@ function slotOf(context, mode) {
5796
5797
  }
5797
5798
  function pathOf(context, x, y, height, slot, radius) {
5798
5799
  const { chart, plot } = context;
5799
- const segments = chart.series.length === 1 ? chunkUHKFJBY5_cjs.finite(chart.config?.barSegments, 0) : 0;
5800
+ const segments = chart.series.length === 1 ? chunkSKGJXCAO_cjs.finite(chart.config?.barSegments, 0) : 0;
5800
5801
  if (segments > 0) {
5801
- return chunkUHKFJBY5_cjs.segmentedBarPath(
5802
+ return chunkSKGJXCAO_cjs.segmentedBarPath(
5802
5803
  { x, y: plot.y, width: slot.barWidth, height: plot.height },
5803
5804
  "vertical",
5804
5805
  segments,
5805
- chunkUHKFJBY5_cjs.finite(chart.config?.barSegmentGap, 4),
5806
+ chunkSKGJXCAO_cjs.finite(chart.config?.barSegmentGap, 4),
5806
5807
  radius,
5807
5808
  height / plot.height,
5808
5809
  chart.config?.barSegmentSnap !== false
5809
5810
  );
5810
5811
  }
5811
- return chunkUHKFJBY5_cjs.barPath(x, y, slot.barWidth, height, radius, chart.config?.barRoundedBottom === true);
5812
+ return chunkSKGJXCAO_cjs.barPath(x, y, slot.barWidth, height, radius, chart.config?.barRoundedBottom === true);
5812
5813
  }
5813
5814
  function pushLabel(context, layers, series, seriesIndex, valueIndex, slot, frame) {
5814
5815
  const { chart } = context;
@@ -5830,7 +5831,7 @@ function pushLabel(context, layers, series, seriesIndex, valueIndex, slot, frame
5830
5831
  }
5831
5832
  function markOf2(context, mode, slot, series, seriesIndex, valueIndex) {
5832
5833
  const { chart, plot } = context;
5833
- const segment = chunkUHKFJBY5_cjs.stackedSegment(chart, mode, valueIndex, seriesIndex, plot.height);
5834
+ const segment = chunkSKGJXCAO_cjs.stackedSegment(chart, mode, valueIndex, seriesIndex, plot.height);
5834
5835
  const radius = slot.outerSeriesIndex === null || seriesIndex === slot.outerSeriesIndex ? slot.cornerRadius : 0;
5835
5836
  const x = plot.x + valueIndex * slot.slotWidth + slot.groupGap / 2;
5836
5837
  const y = plot.y + plot.height - Math.max(segment.pixelStart, segment.pixelEnd);
@@ -5839,7 +5840,7 @@ function markOf2(context, mode, slot, series, seriesIndex, valueIndex) {
5839
5840
  series,
5840
5841
  valueIndex,
5841
5842
  radius,
5842
- color: series.colors?.[valueIndex] ?? series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length],
5843
+ color: series.colors?.[valueIndex] ?? series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length],
5843
5844
  x,
5844
5845
  y,
5845
5846
  height,
@@ -5850,10 +5851,10 @@ function markOf2(context, mode, slot, series, seriesIndex, valueIndex) {
5850
5851
  function segmentNodes(context, mark) {
5851
5852
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
5852
5853
  const { series, valueIndex, path } = mark;
5853
- const fill2 = chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id);
5854
- const stroke = chunkUHKFJBY5_cjs.paint(chart.config?.barBorderColor || "#000000", diagnostics, chart.id);
5855
- const strokeWidth = chunkUHKFJBY5_cjs.finite(chart.config?.barBorderWidth, 0);
5856
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
5854
+ const fill2 = chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id);
5855
+ const stroke = chunkSKGJXCAO_cjs.paint(chart.config?.barBorderColor || "#000000", diagnostics, chart.id);
5856
+ const strokeWidth = chunkSKGJXCAO_cjs.finite(chart.config?.barBorderWidth, 0);
5857
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
5857
5858
  const nodes = [];
5858
5859
  if (shadow) {
5859
5860
  const plotClip = `M ${plot.x} ${plot.y} H ${plot.x + plot.width} V ${plot.y + plot.height} H ${plot.x} Z`;
@@ -5885,10 +5886,10 @@ function segmentNodes(context, mark) {
5885
5886
  valueIndex,
5886
5887
  mark: "bar",
5887
5888
  radius: mark.radius,
5888
- colorProp: chunkUHKFJBY5_cjs.seriesValueColorProp(series.id, valueIndex),
5889
+ colorProp: chunkSKGJXCAO_cjs.seriesValueColorProp(series.id, valueIndex),
5889
5890
  hasColorOverride: series.colors?.[valueIndex] != null
5890
5891
  },
5891
- prop: chunkUHKFJBY5_cjs.seriesValueProp(series.id, valueIndex),
5892
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(series.id, valueIndex),
5892
5893
  style: { fill: fill2, stroke, strokeWidth, innerShadow: shadow }
5893
5894
  });
5894
5895
  return nodes;
@@ -5902,7 +5903,7 @@ function pushSegment(context, mode, layers, slot, series, seriesIndex, valueInde
5902
5903
  layers.bars.push(...segmentNodes(context, mark));
5903
5904
  const frame = { x: mark.x, y: mark.y, width: slot.barWidth, height: mark.height };
5904
5905
  pushLabel(context, layers, series, seriesIndex, valueIndex, slot, frame);
5905
- const glow = chunkUHKFJBY5_cjs.finite(chart.config?.barGlow, 0);
5906
+ const glow = chunkSKGJXCAO_cjs.finite(chart.config?.barGlow, 0);
5906
5907
  if (glow > 0) {
5907
5908
  layers.glows.push(
5908
5909
  createBarGlowNode(context, `chart-bar-glow-${chart.id}-${series.id}-${valueIndex}`, mark.path, mark.color, glow)
@@ -5913,7 +5914,7 @@ function renderStackedBars(context, mode) {
5913
5914
  const { chart } = context;
5914
5915
  const layers = { tracks: [], bars: [], glows: [], labels: [] };
5915
5916
  const slot = slotOf(context, mode);
5916
- const valueCount = chunkUHKFJBY5_cjs.barCategoryCount(chart);
5917
+ const valueCount = chunkSKGJXCAO_cjs.barCategoryCount(chart);
5917
5918
  for (let valueIndex = 0; valueIndex < valueCount; valueIndex++) {
5918
5919
  chart.series.forEach((series, seriesIndex) => {
5919
5920
  pushSegment(context, mode, layers, slot, series, seriesIndex, valueIndex);
@@ -5928,7 +5929,7 @@ function isSeriesMax2(values, index) {
5928
5929
 
5929
5930
  // src/renderScene/charts/renderers/bar.ts
5930
5931
  function renderBar(context) {
5931
- if (chunkUHKFJBY5_cjs.isHorizontalBar(context.chart)) {
5932
+ if (chunkSKGJXCAO_cjs.isHorizontalBar(context.chart)) {
5932
5933
  return renderHorizontalBars(context);
5933
5934
  }
5934
5935
  if (context.stackedMode) {
@@ -5943,7 +5944,7 @@ function createBoxplotLayout(context) {
5943
5944
  const orientation = chart.config?.orientation ?? "vertical";
5944
5945
  const boxCount = Math.max(1, chart.series.length);
5945
5946
  const slotWidth = (orientation === "horizontal" ? plot.height : plot.width) / boxCount;
5946
- const borderColor = chunkUHKFJBY5_cjs.representativeColor(chart.config?.barBorderColor, "#000000");
5947
+ const borderColor = chunkSKGJXCAO_cjs.representativeColor(chart.config?.barBorderColor, "#000000");
5947
5948
  const widthFraction = Math.min(1, Math.max(0.05, chart.config?.boxWidth ?? 0.6));
5948
5949
  return {
5949
5950
  orientation,
@@ -5952,15 +5953,15 @@ function createBoxplotLayout(context) {
5952
5953
  cornerRadius: chart.config?.barCornerRadius ?? 2,
5953
5954
  showPoints: chart.config?.showBoxplotPoints ?? true,
5954
5955
  borderColor,
5955
- borderWidth: chunkUHKFJBY5_cjs.finite(chart.config?.barBorderWidth, 1),
5956
- whiskerWidth: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxWhiskerWidth, 1)),
5957
- medianWidth: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxMedianWidth, 2)),
5956
+ borderWidth: chunkSKGJXCAO_cjs.finite(chart.config?.barBorderWidth, 1),
5957
+ whiskerWidth: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxWhiskerWidth, 1)),
5958
+ medianWidth: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxMedianWidth, 2)),
5958
5959
  medianColor: chart.config?.boxMedianColor ?? borderColor,
5959
5960
  whiskerColor: chart.config?.boxWhiskerColor,
5960
- capSize: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxCapSize, 0.4)),
5961
- pointSize: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxPointSize, 3)),
5962
- pointOpacity: Math.min(1, Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxPointOpacity, 0.7))),
5963
- jitter: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.boxJitter, 1))
5961
+ capSize: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxCapSize, 0.4)),
5962
+ pointSize: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxPointSize, 3)),
5963
+ pointOpacity: Math.min(1, Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxPointOpacity, 0.7))),
5964
+ jitter: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.boxJitter, 1))
5964
5965
  };
5965
5966
  }
5966
5967
 
@@ -5971,7 +5972,7 @@ function boxplotPoint(orientation, center, value) {
5971
5972
  function createBoxplotGeometry(context, layout, seriesIndex, stats) {
5972
5973
  const { chart, plot } = context;
5973
5974
  const { orientation } = layout;
5974
- const valueAt = (value) => orientation === "horizontal" ? plot.x + chunkUHKFJBY5_cjs.mapChartValue(value, chart.axisX, plot.width) : plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(value, chart.axisY, plot.height);
5975
+ const valueAt = (value) => orientation === "horizontal" ? plot.x + chunkSKGJXCAO_cjs.mapChartValue(value, chart.axisX, plot.width) : plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(value, chart.axisY, plot.height);
5975
5976
  const center = plot[orientation === "horizontal" ? "y" : "x"] + seriesIndex * layout.slotWidth + layout.slotWidth / 2;
5976
5977
  return {
5977
5978
  center,
@@ -5986,7 +5987,7 @@ function createBoxplotGeometry(context, layout, seriesIndex, stats) {
5986
5987
  // src/renderScene/charts/renderers/boxplot/points.ts
5987
5988
  function renderSamplePoints(context, layout, mark) {
5988
5989
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
5989
- const valueAt = (value) => layout.orientation === "horizontal" ? plot.x + chunkUHKFJBY5_cjs.mapChartValue(value, chart.axisX, plot.width) : plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(value, chart.axisY, plot.height);
5990
+ const valueAt = (value) => layout.orientation === "horizontal" ? plot.x + chunkSKGJXCAO_cjs.mapChartValue(value, chart.axisX, plot.width) : plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(value, chart.axisY, plot.height);
5990
5991
  if (layout.pointSize <= 0) {
5991
5992
  return [];
5992
5993
  }
@@ -6002,7 +6003,7 @@ function renderSamplePoints(context, layout, mark) {
6002
6003
  cy: y,
6003
6004
  rx: layout.pointSize,
6004
6005
  ry: layout.pointSize,
6005
- style: { fill: chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id), opacity: layout.pointOpacity }
6006
+ style: { fill: chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id), opacity: layout.pointOpacity }
6006
6007
  };
6007
6008
  });
6008
6009
  }
@@ -6026,7 +6027,7 @@ function renderBoxAndWhiskers(context, layout, mark) {
6026
6027
  }
6027
6028
  function whiskerColor(layout, mark) {
6028
6029
  if (layout.whiskerColor === "series") {
6029
- return chunkUHKFJBY5_cjs.representativeColor(mark.color, layout.borderColor);
6030
+ return chunkSKGJXCAO_cjs.representativeColor(mark.color, layout.borderColor);
6030
6031
  }
6031
6032
  return layout.whiskerColor;
6032
6033
  }
@@ -6108,7 +6109,7 @@ function createBoxNode(context, layout, mark) {
6108
6109
  height,
6109
6110
  rx: layout.cornerRadius,
6110
6111
  style: {
6111
- fill: chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id),
6112
+ fill: chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id),
6112
6113
  stroke: { kind: "solid", color: layout.borderColor },
6113
6114
  strokeWidth: layout.borderWidth
6114
6115
  }
@@ -6117,12 +6118,12 @@ function createBoxNode(context, layout, mark) {
6117
6118
 
6118
6119
  // src/renderScene/charts/renderers/boxplot/series.ts
6119
6120
  function renderBoxplotSeries(context, layout, series, seriesIndex) {
6120
- const stats = chunkUHKFJBY5_cjs.computeBoxplotStats(series.values);
6121
+ const stats = chunkSKGJXCAO_cjs.computeBoxplotStats(series.values);
6121
6122
  if (!stats) {
6122
6123
  return [];
6123
6124
  }
6124
6125
  const geometry = createBoxplotGeometry(context, layout, seriesIndex, stats);
6125
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
6126
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
6126
6127
  const mark = {
6127
6128
  id: `${context.chart.id}-${series.id}`,
6128
6129
  series,
@@ -6184,21 +6185,21 @@ function metricComponent(chart, point) {
6184
6185
  }
6185
6186
  function customPointPosition(context, value) {
6186
6187
  return {
6187
- x: context.plot.x + chunkUHKFJBY5_cjs.mapChartValue(value[0], context.chart.axisX, context.plot.width),
6188
- y: context.plot.y + context.plot.height - chunkUHKFJBY5_cjs.mapChartValue(value[1], context.chart.axisY, context.plot.height)
6188
+ x: context.plot.x + chunkSKGJXCAO_cjs.mapChartValue(value[0], context.chart.axisX, context.plot.width),
6189
+ y: context.plot.y + context.plot.height - chunkSKGJXCAO_cjs.mapChartValue(value[1], context.chart.axisY, context.plot.height)
6189
6190
  };
6190
6191
  }
6191
6192
  function customSeriesStyle(context, series, seriesIndex) {
6192
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
6193
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
6193
6194
  return {
6194
- fill: chunkUHKFJBY5_cjs.paint(color, context.diagnostics, context.chart.id),
6195
+ fill: chunkSKGJXCAO_cjs.paint(color, context.diagnostics, context.chart.id),
6195
6196
  stroke: series.stroke ? { kind: "solid", color: series.stroke } : void 0,
6196
- strokeWidth: series.stroke ? chunkUHKFJBY5_cjs.finite(series.strokeWidth, 1) : void 0
6197
+ strokeWidth: series.stroke ? chunkSKGJXCAO_cjs.finite(series.strokeWidth, 1) : void 0
6197
6198
  };
6198
6199
  }
6199
6200
  function createCustomSymbolMark(context, mark) {
6200
6201
  const symbol = mark.series.symbol;
6201
- const size = chunkUHKFJBY5_cjs.finite(mark.series.size, 3);
6202
+ const size = chunkSKGJXCAO_cjs.finite(mark.series.size, 3);
6202
6203
  const scale = symbol?.normalized ? size * 2 : 1;
6203
6204
  const offset = symbol?.normalized ? 0.5 : 0;
6204
6205
  const points = (symbol?.points ?? []).map(([x, y]) => ({
@@ -6210,12 +6211,12 @@ function createCustomSymbolMark(context, mark) {
6210
6211
  id: customMarkId(context.chart, mark.series, mark.valueIndex),
6211
6212
  order: context.nextOrder(),
6212
6213
  bounds: context.bounds,
6213
- d: chunkUHKFJBY5_cjs.freeformPathData({ points, tension: chunkUHKFJBY5_cjs.finite(symbol?.tension, 0), closed: true }),
6214
+ d: chunkSKGJXCAO_cjs.freeformPathData({ points, tension: chunkSKGJXCAO_cjs.finite(symbol?.tension, 0), closed: true }),
6214
6215
  style: mark.style
6215
6216
  };
6216
6217
  }
6217
6218
  function createCustomPointMark(context, mark) {
6218
- const radius = chunkUHKFJBY5_cjs.finite(mark.series.size, 3);
6219
+ const radius = chunkSKGJXCAO_cjs.finite(mark.series.size, 3);
6219
6220
  return {
6220
6221
  type: "ellipse",
6221
6222
  id: customMarkId(context.chart, mark.series, mark.valueIndex),
@@ -6239,7 +6240,7 @@ function renderConnectedPairs(context) {
6239
6240
  const zones = chart.config?.zones ?? [];
6240
6241
  const betterColor = zones[0]?.color ?? "#10b981";
6241
6242
  const worseColor = zones[1]?.color ?? "#ec4899";
6242
- const tieColor = zones[2]?.color ?? chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL;
6243
+ const tieColor = zones[2]?.color ?? chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL;
6243
6244
  const reverse = Boolean(chart.config?.reverseComparison);
6244
6245
  const count = Math.min(beforeValues.length, afterValues.length);
6245
6246
  const categories = chart.config?.categories ?? [];
@@ -6254,7 +6255,7 @@ function renderConnectedPairs(context) {
6254
6255
  const better = reverse ? afterMetric < beforeMetric : afterMetric > beforeMetric;
6255
6256
  const worse = reverse ? afterMetric > beforeMetric : afterMetric < beforeMetric;
6256
6257
  const comparisonColor = better ? betterColor : worse ? worseColor : tieColor;
6257
- const radius = chunkUHKFJBY5_cjs.finite(afterSeries.size, 3);
6258
+ const radius = chunkSKGJXCAO_cjs.finite(afterSeries.size, 3);
6258
6259
  nodes.push(createConnectorLine(context, index, beforePoint, afterPoint, comparisonColor));
6259
6260
  nodes.push(
6260
6261
  createCustomPointMark(context, {
@@ -6262,9 +6263,9 @@ function renderConnectedPairs(context) {
6262
6263
  valueIndex: index,
6263
6264
  point: beforePoint,
6264
6265
  style: {
6265
- fill: chunkUHKFJBY5_cjs.paint(chart.config?.customBeforeFill ?? chart.gridColor ?? "#e2e8f0", context.diagnostics, chart.id),
6266
+ fill: chunkSKGJXCAO_cjs.paint(chart.config?.customBeforeFill ?? chart.gridColor ?? "#e2e8f0", context.diagnostics, chart.id),
6266
6267
  stroke: { kind: "solid", color: chart.config?.customBeforeStroke ?? HOLLOW_POINT_STROKE },
6267
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.config?.customBeforeStrokeWidth, 1.5)
6268
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.config?.customBeforeStrokeWidth, 1.5)
6268
6269
  }
6269
6270
  })
6270
6271
  );
@@ -6274,7 +6275,7 @@ function renderConnectedPairs(context) {
6274
6275
  valueIndex: index,
6275
6276
  point: afterPoint,
6276
6277
  style: {
6277
- fill: chunkUHKFJBY5_cjs.paint(comparisonColor, context.diagnostics, chart.id),
6278
+ fill: chunkSKGJXCAO_cjs.paint(comparisonColor, context.diagnostics, chart.id),
6278
6279
  stroke: void 0,
6279
6280
  strokeWidth: void 0
6280
6281
  }
@@ -6301,7 +6302,7 @@ function createConnectorLine(context, index, from, to, color) {
6301
6302
  style: {
6302
6303
  fill: { kind: "none" },
6303
6304
  stroke: { kind: "solid", color },
6304
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.config?.customConnectorWidth, 2),
6305
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.config?.customConnectorWidth, 2),
6305
6306
  opacity: chart.config?.customConnectorOpacity,
6306
6307
  dash: connectorDash(chart.config?.customConnectorDash)
6307
6308
  }
@@ -6322,7 +6323,7 @@ function createConnectorLabel(context, index, beforePoint, afterPoint, radius, t
6322
6323
  height: 16
6323
6324
  };
6324
6325
  return {
6325
- ...chunkUHKFJBY5_cjs.chartText({
6326
+ ...chunkSKGJXCAO_cjs.chartText({
6326
6327
  id: `chart-custom-label-${chart.id}-${index}`,
6327
6328
  order: nextOrder(),
6328
6329
  bounds,
@@ -6331,7 +6332,7 @@ function createConnectorLabel(context, index, beforePoint, afterPoint, radius, t
6331
6332
  chart,
6332
6333
  align: horizontal ? "left" : "center"
6333
6334
  }),
6334
- fontSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.customLabelSize, Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)) - 2)),
6335
+ fontSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.customLabelSize, Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)) - 2)),
6335
6336
  ...chart.config?.customLabelColor ? { color: chart.config.customLabelColor } : {}
6336
6337
  };
6337
6338
  }
@@ -6343,8 +6344,8 @@ function classifyFieldData(context) {
6343
6344
  const vectorSeries = chart.series.filter((series) => tupleSize(series.values[0]) === 4);
6344
6345
  const scalarSamples = scalarSeries.flatMap(
6345
6346
  (series) => series.values.map(([x, y, value]) => ({
6346
- x: chunkUHKFJBY5_cjs.mapChartValue(x, chart.axisX, plot.width),
6347
- y: plot.height - chunkUHKFJBY5_cjs.mapChartValue(y, chart.axisY, plot.height),
6347
+ x: chunkSKGJXCAO_cjs.mapChartValue(x, chart.axisX, plot.width),
6348
+ y: plot.height - chunkSKGJXCAO_cjs.mapChartValue(y, chart.axisY, plot.height),
6348
6349
  value
6349
6350
  }))
6350
6351
  );
@@ -6408,20 +6409,20 @@ function createLegendLabels(context, minimum, maximum, geometry) {
6408
6409
  const { chart, bounds, nextOrder } = context;
6409
6410
  const y = geometry.y + geometry.height + 3;
6410
6411
  return [
6411
- chunkUHKFJBY5_cjs.chartText({
6412
+ chunkSKGJXCAO_cjs.chartText({
6412
6413
  id: `chart-field-colorbar-min-${chart.id}`,
6413
6414
  order: nextOrder(),
6414
6415
  bounds,
6415
6416
  frame: { x: geometry.x, y, width: 80, height: 16 },
6416
- text: chunkUHKFJBY5_cjs.formatFieldValue(minimum),
6417
+ text: chunkSKGJXCAO_cjs.formatFieldValue(minimum),
6417
6418
  chart
6418
6419
  }),
6419
- chunkUHKFJBY5_cjs.chartText({
6420
+ chunkSKGJXCAO_cjs.chartText({
6420
6421
  id: `chart-field-colorbar-max-${chart.id}`,
6421
6422
  order: nextOrder(),
6422
6423
  bounds,
6423
6424
  frame: { x: geometry.x + geometry.width - 80, y, width: 80, height: 16 },
6424
- text: chunkUHKFJBY5_cjs.formatFieldValue(maximum),
6425
+ text: chunkSKGJXCAO_cjs.formatFieldValue(maximum),
6425
6426
  chart,
6426
6427
  align: "right"
6427
6428
  })
@@ -6434,7 +6435,7 @@ function colorAtRamp(ramp, value) {
6434
6435
  if (!ramp?.stops.length) {
6435
6436
  return RAMP_FALLBACK_COLOR;
6436
6437
  }
6437
- return chunkUHKFJBY5_cjs.interpolateHexColorStops(ramp.stops, value);
6438
+ return chunkSKGJXCAO_cjs.interpolateHexColorStops(ramp.stops, value);
6438
6439
  }
6439
6440
 
6440
6441
  // src/renderScene/charts/field/isolines.ts
@@ -6644,7 +6645,7 @@ function createIsoline(context, grid, threshold, thresholdIndex) {
6644
6645
  }
6645
6646
  const chains = stitchIsolineSegments(segments);
6646
6647
  const path = chains.map(
6647
- (chain) => chunkUHKFJBY5_cjs.linePathData(
6648
+ (chain) => chunkSKGJXCAO_cjs.linePathData(
6648
6649
  chain.map(([x, y]) => ({ x: plot.x + x, y: plot.y + y })),
6649
6650
  ISOLINE_TENSION
6650
6651
  )
@@ -6668,7 +6669,7 @@ function createIsoline(context, grid, threshold, thresholdIndex) {
6668
6669
  function renderVectorField(context, seriesList) {
6669
6670
  const nodes = [];
6670
6671
  seriesList.forEach((series, seriesIndex) => {
6671
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
6672
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
6672
6673
  series.values.forEach((vector, vectorIndex) => {
6673
6674
  nodes.push(createVectorNode(context, series.id, vector, vectorIndex, color));
6674
6675
  });
@@ -6678,10 +6679,10 @@ function renderVectorField(context, seriesList) {
6678
6679
  function createVectorNode(context, seriesId, vector, vectorIndex, color) {
6679
6680
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
6680
6681
  const [x, y, angle, magnitude] = vector;
6681
- const startX = plot.x + chunkUHKFJBY5_cjs.mapChartValue(x, chart.axisX, plot.width);
6682
- const startY = plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(y, chart.axisY, plot.height);
6683
- const endX = plot.x + chunkUHKFJBY5_cjs.mapChartValue(x + Math.cos(angle) * magnitude, chart.axisX, plot.width);
6684
- const endY = plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(y + Math.sin(angle) * magnitude, chart.axisY, plot.height);
6682
+ const startX = plot.x + chunkSKGJXCAO_cjs.mapChartValue(x, chart.axisX, plot.width);
6683
+ const startY = plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(y, chart.axisY, plot.height);
6684
+ const endX = plot.x + chunkSKGJXCAO_cjs.mapChartValue(x + Math.cos(angle) * magnitude, chart.axisX, plot.width);
6685
+ const endY = plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(y + Math.sin(angle) * magnitude, chart.axisY, plot.height);
6685
6686
  return {
6686
6687
  type: "path",
6687
6688
  id: `chart-field-vector-${chart.id}-${seriesId}-${vectorIndex}`,
@@ -6691,7 +6692,7 @@ function createVectorNode(context, seriesId, vector, vectorIndex, color) {
6691
6692
  markerEnd: "filled_arrow",
6692
6693
  style: {
6693
6694
  fill: { kind: "none" },
6694
- stroke: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id),
6695
+ stroke: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id),
6695
6696
  strokeWidth: 2
6696
6697
  }
6697
6698
  };
@@ -6738,7 +6739,7 @@ function createHeatmapCell(layout, series, rowIndex, columnIndex) {
6738
6739
  };
6739
6740
  }
6740
6741
  function colorForValue(value, layout) {
6741
- return chunkUHKFJBY5_cjs.zoneColorAtValue(value, layout.bands, layout.zones);
6742
+ return chunkSKGJXCAO_cjs.zoneColorAtValue(value, layout.bands, layout.zones);
6742
6743
  }
6743
6744
  function renderHeatmapCell(context, layout, cell) {
6744
6745
  const background = createCellBackground(context, layout, cell);
@@ -6753,7 +6754,7 @@ function createCellBackground(context, layout, cell) {
6753
6754
  const style = {
6754
6755
  fill: { kind: "solid", color: cell.color },
6755
6756
  stroke: { kind: "solid", color: chart.config?.cellStrokeColor ?? chart.gridColor ?? "#e2e8f0" },
6756
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.config?.cellStrokeWidth, chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1))
6757
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.config?.cellStrokeWidth, chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1))
6757
6758
  };
6758
6759
  if (chart.config?.cellShape === "circle") {
6759
6760
  return {
@@ -6780,9 +6781,9 @@ function createCellBackground(context, layout, cell) {
6780
6781
  }
6781
6782
  function createCellValueLabel(context, layout, cell) {
6782
6783
  const { chart, bounds, nextOrder } = context;
6783
- const size = Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.cellValueSize, layout.fontSize));
6784
+ const size = Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.cellValueSize, layout.fontSize));
6784
6785
  return {
6785
- ...chunkUHKFJBY5_cjs.chartText({
6786
+ ...chunkSKGJXCAO_cjs.chartText({
6786
6787
  id: `chart-heatmap-value-${chart.id}-${cell.seriesId}-${cell.columnIndex}`,
6787
6788
  order: nextOrder(),
6788
6789
  bounds,
@@ -6797,7 +6798,7 @@ function createCellValueLabel(context, layout, cell) {
6797
6798
  align: "center"
6798
6799
  }),
6799
6800
  ...chart.config?.cellValueSize === void 0 ? {} : { fontSize: size },
6800
- color: chart.config?.cellValueColor ?? chunkUHKFJBY5_cjs.contrastTextColor(cell.color)
6801
+ color: chart.config?.cellValueColor ?? chunkSKGJXCAO_cjs.contrastTextColor(cell.color)
6801
6802
  };
6802
6803
  }
6803
6804
 
@@ -6810,9 +6811,9 @@ function createHeatmapLayout(context) {
6810
6811
  return {
6811
6812
  rows: chart.series,
6812
6813
  columns,
6813
- bands: chunkUHKFJBY5_cjs.axisBands(chart.axisY),
6814
- zones: chart.config?.zones?.length ? chart.config.zones : chunkUHKFJBY5_cjs.DEFAULT_HEATMAP_ZONES,
6815
- fontSize: Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)),
6814
+ bands: chunkSKGJXCAO_cjs.axisBands(chart.axisY),
6815
+ zones: chart.config?.zones?.length ? chart.config.zones : chunkSKGJXCAO_cjs.DEFAULT_HEATMAP_ZONES,
6816
+ fontSize: Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)),
6816
6817
  headerFontSize: headerFontSize(chart),
6817
6818
  legendGap: legendGap(chart),
6818
6819
  sides,
@@ -6820,10 +6821,10 @@ function createHeatmapLayout(context) {
6820
6821
  grid: createHeatmapGrid(context, reservedSpace, sides, columns.length)
6821
6822
  };
6822
6823
  }
6823
- var headerFontSize = (chart) => Math.max(9, chunkUHKFJBY5_cjs.finite(chart.axisFontSize ?? chart.fontSize, 12));
6824
- var rowGap = (chart) => Math.min(120, Math.max(0, chunkUHKFJBY5_cjs.finite(chart.yLabelGap, 6)));
6825
- var columnGap = (chart) => Math.min(120, Math.max(0, chunkUHKFJBY5_cjs.finite(chart.xLabelGap, 4)));
6826
- var legendGap = (chart) => Math.min(80, Math.max(0, chunkUHKFJBY5_cjs.finite(chart.legendGap, 6)));
6824
+ var headerFontSize = (chart) => Math.max(9, chunkSKGJXCAO_cjs.finite(chart.axisFontSize ?? chart.fontSize, 12));
6825
+ var rowGap = (chart) => Math.min(120, Math.max(0, chunkSKGJXCAO_cjs.finite(chart.yLabelGap, 6)));
6826
+ var columnGap = (chart) => Math.min(120, Math.max(0, chunkSKGJXCAO_cjs.finite(chart.xLabelGap, 4)));
6827
+ var legendGap = (chart) => Math.min(80, Math.max(0, chunkSKGJXCAO_cjs.finite(chart.legendGap, 6)));
6827
6828
  function heatmapSides(context) {
6828
6829
  const { chart } = context;
6829
6830
  return {
@@ -6842,7 +6843,7 @@ function heatmapReservedSpace(context, sides) {
6842
6843
  const { chart } = context;
6843
6844
  const fontSize = headerFontSize(chart);
6844
6845
  const longestLabel = chart.series.reduce(
6845
- (max, series) => Math.max(max, chunkUHKFJBY5_cjs.estimateTextWidth(series.label ?? "", fontSize, false)),
6846
+ (max, series) => Math.max(max, chunkSKGJXCAO_cjs.estimateTextWidth(series.label ?? "", fontSize, false)),
6846
6847
  0
6847
6848
  );
6848
6849
  const vertical = sides.legend === "left" || sides.legend === "right";
@@ -6858,8 +6859,8 @@ function heatmapReservedSpace(context, sides) {
6858
6859
  }
6859
6860
  function columnHeaderRoom(context) {
6860
6861
  const { chart } = context;
6861
- const tilt = chunkUHKFJBY5_cjs.labelTilt(chart);
6862
- return tilt > 0 ? Math.min(context.plot.height * 0.4, chunkUHKFJBY5_cjs.tiltedLabelRoom(chart, heatmapColumns(context), tilt) + columnGap(chart) + 4) : headerFontSize(chart) + 2 + columnGap(chart) + 6;
6862
+ const tilt = chunkSKGJXCAO_cjs.labelTilt(chart);
6863
+ return tilt > 0 ? Math.min(context.plot.height * 0.4, chunkSKGJXCAO_cjs.tiltedLabelRoom(chart, heatmapColumns(context), tilt) + columnGap(chart) + 4) : headerFontSize(chart) + 2 + columnGap(chart) + 6;
6863
6864
  }
6864
6865
  function createHeatmapGrid(context, reservedSpace, sides, columnCount) {
6865
6866
  const { chart } = context;
@@ -6870,7 +6871,7 @@ function createHeatmapGrid(context, reservedSpace, sides, columnCount) {
6870
6871
  const width = Math.max(1, context.plot.width - left - right);
6871
6872
  const height = Math.max(1, context.plot.height - top - bottom);
6872
6873
  const rowCount = chart.series.length;
6873
- const cellGap = Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.cellGap, 0));
6874
+ const cellGap = Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.cellGap, 0));
6874
6875
  let cellWidth = columnCount ? width / columnCount : width;
6875
6876
  let cellHeight = rowCount ? height / rowCount : height;
6876
6877
  let gridWidth = width;
@@ -6890,7 +6891,7 @@ function createHeatmapGrid(context, reservedSpace, sides, columnCount) {
6890
6891
  cellWidth,
6891
6892
  cellHeight,
6892
6893
  cellGap,
6893
- cellRadius: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barCornerRadius, cellGap))
6894
+ cellRadius: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barCornerRadius, cellGap))
6894
6895
  };
6895
6896
  }
6896
6897
 
@@ -6909,7 +6910,7 @@ function createRowHeader(context, layout, series, rowIndex) {
6909
6910
  const room = layout.reservedSpace.rowHeaders;
6910
6911
  const gap = rowGap(chart);
6911
6912
  const x = layout.sides.rows === "left" ? layout.grid.x - room : layout.grid.x + layout.grid.width + gap;
6912
- return chunkUHKFJBY5_cjs.chartText({
6913
+ return chunkSKGJXCAO_cjs.chartText({
6913
6914
  id: `chart-heatmap-row-${chart.id}-${series.id}`,
6914
6915
  order: nextOrder(),
6915
6916
  bounds,
@@ -6935,12 +6936,12 @@ function createColumnHeader(context, layout, label, columnIndex) {
6935
6936
  const { chart, bounds, nextOrder } = context;
6936
6937
  const above = layout.sides.columns === "top";
6937
6938
  const centerX = layout.grid.x + (columnIndex + 0.5) * layout.grid.cellWidth;
6938
- const tilt = chunkUHKFJBY5_cjs.labelTilt(chart);
6939
+ const tilt = chunkSKGJXCAO_cjs.labelTilt(chart);
6939
6940
  const gap = columnGap(chart);
6940
6941
  const id = `chart-heatmap-col-${chart.id}-${columnIndex}`;
6941
6942
  if (tilt > 0) {
6942
- const { frame, rotation } = above ? chunkUHKFJBY5_cjs.labelAboveFrame(chart, label, tilt, { x: centerX, y: layout.grid.y - gap }) : chunkUHKFJBY5_cjs.labelBelowFrame(chart, label, tilt, { x: centerX, y: layout.grid.y + layout.grid.height + gap });
6943
- return chunkUHKFJBY5_cjs.chartText({
6943
+ const { frame, rotation } = above ? chunkSKGJXCAO_cjs.labelAboveFrame(chart, label, tilt, { x: centerX, y: layout.grid.y - gap }) : chunkSKGJXCAO_cjs.labelBelowFrame(chart, label, tilt, { x: centerX, y: layout.grid.y + layout.grid.height + gap });
6944
+ return chunkSKGJXCAO_cjs.chartText({
6944
6945
  id,
6945
6946
  order: nextOrder(),
6946
6947
  bounds,
@@ -6952,7 +6953,7 @@ function createColumnHeader(context, layout, label, columnIndex) {
6952
6953
  role: "axis"
6953
6954
  });
6954
6955
  }
6955
- return chunkUHKFJBY5_cjs.chartText({
6956
+ return chunkSKGJXCAO_cjs.chartText({
6956
6957
  id,
6957
6958
  order: nextOrder(),
6958
6959
  bounds,
@@ -7030,7 +7031,7 @@ function renderHeatmapLegend(context, layout) {
7030
7031
  return [];
7031
7032
  }
7032
7033
  const place = barPlace(layout);
7033
- const barBounds = chunkUHKFJBY5_cjs.boxBounds({ x: place.x, y: place.y, width: place.width, height: place.height });
7034
+ const barBounds = chunkSKGJXCAO_cjs.boxBounds({ x: place.x, y: place.y, width: place.width, height: place.height });
7034
7035
  return [createGradientBar(context, layout, place, barBounds), ...createBoundaryTicks(context, layout, place)];
7035
7036
  }
7036
7037
  function bandRatio(layout, value) {
@@ -7044,7 +7045,7 @@ function createGradientBar(context, layout, place, barBounds) {
7044
7045
  const zones = layout.zones.slice(0, bandCount);
7045
7046
  const stops = zones.map((zone, index) => ({
7046
7047
  offset: bandRatio(layout, layout.bands[index + 1] ?? layout.bands[layout.bands.length - 1]) * 100,
7047
- color: zone.color ?? chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL
7048
+ color: zone.color ?? chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL
7048
7049
  }));
7049
7050
  return {
7050
7051
  type: "rect",
@@ -7059,7 +7060,7 @@ function createGradientBar(context, layout, place, barBounds) {
7059
7060
  zoneGradient: { axis: "y", min: chart.axisY.min, max: chart.axisY.max },
7060
7061
  style: {
7061
7062
  // Across the grid it runs from the lowest value on the left; beside it from the lowest at the bottom.
7062
- fill: stops.length ? { kind: "linear-gradient", angle: place.vertical ? 270 : 0, stops } : { kind: "solid", color: chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL },
7063
+ fill: stops.length ? { kind: "linear-gradient", angle: place.vertical ? 270 : 0, stops } : { kind: "solid", color: chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL },
7063
7064
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
7064
7065
  strokeWidth: 1
7065
7066
  }
@@ -7085,12 +7086,12 @@ function createBoundaryTicks(context, layout, place) {
7085
7086
  strokeWidth: 1
7086
7087
  }
7087
7088
  };
7088
- const label = chunkUHKFJBY5_cjs.chartText({
7089
+ const label = chunkSKGJXCAO_cjs.chartText({
7089
7090
  id: `chart-heatmap-legend-tick-label-${chart.id}-${index}`,
7090
7091
  order: nextOrder(),
7091
7092
  bounds,
7092
7093
  ...labelAt(place, at, index === 0, index === lastIndex, labelHeight),
7093
- text: chunkUHKFJBY5_cjs.formatFieldValue(value),
7094
+ text: chunkSKGJXCAO_cjs.formatFieldValue(value),
7094
7095
  chart
7095
7096
  });
7096
7097
  return [tick, label];
@@ -7457,22 +7458,22 @@ function renderHexbin(context) {
7457
7458
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
7458
7459
  const nodes = [];
7459
7460
  const config = chart.config;
7460
- const hexRadius = Math.max(1, config?.hexRadius ?? chunkUHKFJBY5_cjs.DEFAULT_HEX_RADIUS);
7461
+ const hexRadius = Math.max(1, config?.hexRadius ?? chunkSKGJXCAO_cjs.DEFAULT_HEX_RADIUS);
7461
7462
  const drawRadius = Math.max(0.5, hexRadius - Math.max(0, config?.hexGap ?? 0) * GAP_TO_RADIUS);
7462
7463
  const strokeWidth = config?.hexStrokeWidth ?? 0;
7463
7464
  const minOpacity = Math.min(1, Math.max(0, config?.hexMinOpacity ?? DEFAULT_MIN_OPACITY));
7464
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
7465
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
7465
7466
  const clipPath = shadow ? `M ${plot.x} ${plot.y} H ${plot.x + plot.width} V ${plot.y + plot.height} H ${plot.x} Z` : void 0;
7466
7467
  chart.series.forEach((series, seriesIndex) => {
7467
7468
  const explicit = series.values.length > 0 && Array.isArray(series.values[0]);
7468
7469
  const pairs = explicit ? series.values : series.values.map((y, i) => [chart.axisX.min + i * chart.axisX.step, y]);
7469
7470
  const pixelPoints2 = pairs.map(([vx, vy]) => ({
7470
- x: chunkUHKFJBY5_cjs.mapChartValue(vx, chart.axisX, plot.width),
7471
- y: plot.height - chunkUHKFJBY5_cjs.mapChartValue(vy, chart.axisY, plot.height)
7471
+ x: chunkSKGJXCAO_cjs.mapChartValue(vx, chart.axisX, plot.width),
7472
+ y: plot.height - chunkSKGJXCAO_cjs.mapChartValue(vy, chart.axisY, plot.height)
7472
7473
  }));
7473
7474
  const bins = computeHexBins(pixelPoints2, hexRadius);
7474
7475
  const maxCount = Math.max(1, ...bins.map((bin) => bin.count));
7475
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
7476
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
7476
7477
  const ramp = config?.scale;
7477
7478
  bins.forEach((bin, i) => {
7478
7479
  const share = bin.count / maxCount;
@@ -7484,8 +7485,8 @@ function renderHexbin(context) {
7484
7485
  bounds,
7485
7486
  d: hexPath(plot.x + bin.cx, plot.y + bin.cy, drawRadius),
7486
7487
  style: {
7487
- fill: chunkUHKFJBY5_cjs.paint(fill2, diagnostics, chart.id),
7488
- stroke: strokeWidth > 0 ? chunkUHKFJBY5_cjs.paint(config?.hexStrokeColor ?? fill2, diagnostics, chart.id) : void 0,
7488
+ fill: chunkSKGJXCAO_cjs.paint(fill2, diagnostics, chart.id),
7489
+ stroke: strokeWidth > 0 ? chunkSKGJXCAO_cjs.paint(config?.hexStrokeColor ?? fill2, diagnostics, chart.id) : void 0,
7489
7490
  strokeWidth: strokeWidth > 0 ? strokeWidth : void 0,
7490
7491
  opacity: ramp ? void 0 : Math.max(minOpacity, share),
7491
7492
  shadow,
@@ -7507,8 +7508,8 @@ function seriesValuePairs(chart, series) {
7507
7508
  function pixelPoints(context, pairs) {
7508
7509
  const { chart, plot } = context;
7509
7510
  return pairs.map(([x, y]) => ({
7510
- x: plot.x + chunkUHKFJBY5_cjs.mapChartValue(x, chart.axisX, plot.width),
7511
- y: plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(y, chart.axisY, plot.height)
7511
+ x: plot.x + chunkSKGJXCAO_cjs.mapChartValue(x, chart.axisX, plot.width),
7512
+ y: plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(y, chart.axisY, plot.height)
7512
7513
  }));
7513
7514
  }
7514
7515
 
@@ -7518,7 +7519,7 @@ function createLineAreaFill(context, series, points, color, tension, areaOpacity
7518
7519
  const baselineY = plot.y + plot.height;
7519
7520
  const first = points[0];
7520
7521
  const last = points[points.length - 1];
7521
- const d = `${chunkUHKFJBY5_cjs.linePathData(points, tension)} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;
7522
+ const d = `${chunkSKGJXCAO_cjs.linePathData(points, tension)} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;
7522
7523
  const top = Math.min(...points.map((point) => point.y));
7523
7524
  const centerX = (Math.min(...points.map((point) => point.x)) + Math.max(...points.map((point) => point.x))) / 2;
7524
7525
  const halfHeight = (baselineY - top) / 2;
@@ -7540,8 +7541,8 @@ function createLineAreaFill(context, series, points, color, tension, areaOpacity
7540
7541
  kind: "linear-gradient",
7541
7542
  angle: 90,
7542
7543
  stops: [
7543
- { offset: 0, color: chunkUHKFJBY5_cjs.colorWithAlpha(color, areaOpacity) },
7544
- { offset: 100, color: chunkUHKFJBY5_cjs.colorWithAlpha(color, 0) }
7544
+ { offset: 0, color: chunkSKGJXCAO_cjs.colorWithAlpha(color, areaOpacity) },
7545
+ { offset: 100, color: chunkSKGJXCAO_cjs.colorWithAlpha(color, 0) }
7545
7546
  ]
7546
7547
  },
7547
7548
  stroke: { kind: "none" },
@@ -7564,7 +7565,7 @@ function guideNode(context, mark) {
7564
7565
  d: `M ${mark.point.x} ${mark.point.y} V ${plot.y + plot.height}`,
7565
7566
  style: {
7566
7567
  fill: { kind: "none" },
7567
- stroke: chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id),
7568
+ stroke: chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id),
7568
7569
  strokeWidth: 1,
7569
7570
  dash: [3, 4],
7570
7571
  opacity: 0.55,
@@ -7585,7 +7586,7 @@ function dotNode(context, mark) {
7585
7586
  rx: mark.radius,
7586
7587
  ry: mark.radius,
7587
7588
  style: {
7588
- fill: chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id),
7589
+ fill: chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id),
7589
7590
  shadow: glow ? { color: mark.color, opacity: 0.9, blur: glow, dx: 0, dy: 0 } : void 0,
7590
7591
  pointerEvents: "none"
7591
7592
  }
@@ -7598,7 +7599,7 @@ function labelNode3(context, mark, value) {
7598
7599
  const text = formatHighlight(config?.highlightLabelFormat, config?.categories?.[mark.index] ?? "", value);
7599
7600
  const width = Math.max(48, text.length * fontSize * 0.62);
7600
7601
  return {
7601
- ...chunkUHKFJBY5_cjs.chartText({
7602
+ ...chunkSKGJXCAO_cjs.chartText({
7602
7603
  id: `chart-highlight-label-${mark.key}`,
7603
7604
  order: nextOrder(),
7604
7605
  bounds,
@@ -7678,15 +7679,15 @@ function createLineError(context, mark) {
7678
7679
  return null;
7679
7680
  }
7680
7681
  const { chart, plot, bounds, nextOrder } = context;
7681
- const [lower, upper] = chunkUHKFJBY5_cjs.errorBarRange(mark.value, mark.error);
7682
- return chunkUHKFJBY5_cjs.createVerticalErrorWhiskerNode({
7682
+ const [lower, upper] = chunkSKGJXCAO_cjs.errorBarRange(mark.value, mark.error);
7683
+ return chunkSKGJXCAO_cjs.createVerticalErrorWhiskerNode({
7683
7684
  id: `chart-line-error-${chart.id}-${mark.seriesId}-${mark.valueIndex}`,
7684
7685
  order: nextOrder(),
7685
7686
  bounds,
7686
7687
  geometry: {
7687
7688
  centerX: mark.position.x,
7688
- startY: plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(lower, chart.axisY, plot.height),
7689
- endY: plot.y + plot.height - chunkUHKFJBY5_cjs.mapChartValue(upper, chart.axisY, plot.height)
7689
+ startY: plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(lower, chart.axisY, plot.height),
7690
+ endY: plot.y + plot.height - chunkSKGJXCAO_cjs.mapChartValue(upper, chart.axisY, plot.height)
7690
7691
  },
7691
7692
  color: mark.color,
7692
7693
  valueReference: { seriesId: mark.seriesId, valueIndex: mark.valueIndex }
@@ -7710,8 +7711,8 @@ function createLinePoint(context, mark) {
7710
7711
  ry: visible ? radius : 6,
7711
7712
  detail: { of: "chartValue", series: mark.seriesId, valueIndex: mark.valueIndex },
7712
7713
  style: {
7713
- fill: visible ? chunkUHKFJBY5_cjs.paint(fill2, diagnostics, chart.id) : { kind: "none" },
7714
- stroke: visible && strokeWidth > 0 ? chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id) : void 0,
7714
+ fill: visible ? chunkSKGJXCAO_cjs.paint(fill2, diagnostics, chart.id) : { kind: "none" },
7715
+ stroke: visible && strokeWidth > 0 ? chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id) : void 0,
7715
7716
  strokeWidth: visible && strokeWidth > 0 ? strokeWidth : void 0,
7716
7717
  pointerEvents: visible ? void 0 : "all"
7717
7718
  }
@@ -7731,22 +7732,22 @@ function createLinePath(context, series, points, color, tension) {
7731
7732
  order: nextOrder(),
7732
7733
  bounds: gradient ? { minX: plot.x, maxX: plot.x + plot.width, minY: plot.y, maxY: plot.y + plot.height } : bounds,
7733
7734
  detail: { of: "chartSeries", series: series.id, lineTension: tension || void 0 },
7734
- d: chunkUHKFJBY5_cjs.linePathData(points, tension),
7735
+ d: chunkSKGJXCAO_cjs.linePathData(points, tension),
7735
7736
  style: {
7736
7737
  fill: { kind: "none" },
7737
- stroke: chunkUHKFJBY5_cjs.paint(gradient ?? color, diagnostics, chart.id),
7738
+ stroke: chunkSKGJXCAO_cjs.paint(gradient ?? color, diagnostics, chart.id),
7738
7739
  strokeWidth: series.strokeWidth ?? config?.lineWidth ?? 2,
7739
7740
  dash: series.dash,
7740
7741
  lineCap: config?.lineWidth === void 0 ? void 0 : "round",
7741
7742
  lineJoin: "round",
7742
- shadow: glow ? { color, opacity: 0.9, blur: glow, dx: 0, dy: 0 } : chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle)
7743
+ shadow: glow ? { color, opacity: 0.9, blur: glow, dx: 0, dy: 0 } : chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle)
7743
7744
  }
7744
7745
  };
7745
7746
  }
7746
7747
 
7747
7748
  // src/renderScene/charts/renderers/line/series.ts
7748
7749
  function seriesColor(series, seriesIndex) {
7749
- return chunkUHKFJBY5_cjs.representativeColor(series.color, chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length]);
7750
+ return chunkSKGJXCAO_cjs.representativeColor(series.color, chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length]);
7750
7751
  }
7751
7752
  function renderLineSeriesArea(context, series, seriesIndex) {
7752
7753
  const areaOpacity = context.chart.config?.areaOpacity;
@@ -7810,7 +7811,7 @@ function renderGridLines(context, layout) {
7810
7811
  style: {
7811
7812
  fill: { kind: "none" },
7812
7813
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
7813
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1)
7814
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1)
7814
7815
  }
7815
7816
  };
7816
7817
  });
@@ -7818,7 +7819,7 @@ function renderGridLines(context, layout) {
7818
7819
  function renderPercentageLabels(context, layout) {
7819
7820
  const { chart, plot, bounds, nextOrder } = context;
7820
7821
  return PERCENT_TICKS.map((percent) => ({
7821
- ...chunkUHKFJBY5_cjs.chartText({
7822
+ ...chunkSKGJXCAO_cjs.chartText({
7822
7823
  id: `chart-mekko-pct-${chart.id}-${percent}`,
7823
7824
  order: nextOrder(),
7824
7825
  bounds,
@@ -7850,7 +7851,7 @@ function renderMekkoColumnLabels(context, layout, columnIndex, column) {
7850
7851
  function createTotalLabel(context, layout, columnIndex, column) {
7851
7852
  const { chart, plot, bounds, nextOrder } = context;
7852
7853
  return {
7853
- ...chunkUHKFJBY5_cjs.chartText({
7854
+ ...chunkSKGJXCAO_cjs.chartText({
7854
7855
  id: `chart-mekko-total-${chart.id}-${columnIndex}`,
7855
7856
  order: nextOrder(),
7856
7857
  bounds,
@@ -7871,7 +7872,7 @@ function createColumnLabel(context, layout, columnIndex, column) {
7871
7872
  const { chart, bounds, nextOrder } = context;
7872
7873
  const { label, width } = column;
7873
7874
  return {
7874
- ...chunkUHKFJBY5_cjs.chartText({
7875
+ ...chunkSKGJXCAO_cjs.chartText({
7875
7876
  id: `chart-mekko-col-label-${chart.id}-${columnIndex}`,
7876
7877
  order: nextOrder(),
7877
7878
  bounds,
@@ -7885,7 +7886,7 @@ function createColumnLabel(context, layout, columnIndex, column) {
7885
7886
  chart,
7886
7887
  align: "center"
7887
7888
  }),
7888
- lines: chunkUHKFJBY5_cjs.wrapText(label, width, layout.smallFontSize),
7889
+ lines: chunkSKGJXCAO_cjs.wrapText(label, width, layout.smallFontSize),
7889
7890
  fontSize: layout.smallFontSize
7890
7891
  };
7891
7892
  }
@@ -7895,8 +7896,8 @@ function createMekkoLayout(context) {
7895
7896
  const labels = mekkoColumnLabels(context);
7896
7897
  const labelGutterWidth = context.showLabels ? 30 : 0;
7897
7898
  const grid = createMekkoGrid(context, labelGutterWidth);
7898
- const fontSize = Math.max(9, chunkUHKFJBY5_cjs.finite(context.chart.fontSize, 12));
7899
- const columnGap2 = Math.max(0, chunkUHKFJBY5_cjs.finite(context.chart.config?.mekkoColumnGap, 4));
7899
+ const fontSize = Math.max(9, chunkSKGJXCAO_cjs.finite(context.chart.fontSize, 12));
7900
+ const columnGap2 = Math.max(0, chunkSKGJXCAO_cjs.finite(context.chart.config?.mekkoColumnGap, 4));
7900
7901
  const smallFontSize = Math.max(8, fontSize - 1);
7901
7902
  return {
7902
7903
  columns: createMekkoColumns(context, grid, labels, columnGap2),
@@ -7904,8 +7905,8 @@ function createMekkoLayout(context) {
7904
7905
  smallFontSize,
7905
7906
  labelGutterWidth,
7906
7907
  columnGap: columnGap2,
7907
- labelSize: Math.max(6, chunkUHKFJBY5_cjs.finite(context.chart.config?.mekkoLabelSize, smallFontSize)),
7908
- valueSize: Math.max(6, chunkUHKFJBY5_cjs.finite(context.chart.config?.mekkoValueSize, smallFontSize)),
7908
+ labelSize: Math.max(6, chunkSKGJXCAO_cjs.finite(context.chart.config?.mekkoLabelSize, smallFontSize)),
7909
+ valueSize: Math.max(6, chunkSKGJXCAO_cjs.finite(context.chart.config?.mekkoValueSize, smallFontSize)),
7909
7910
  grid
7910
7911
  };
7911
7912
  }
@@ -7962,12 +7963,12 @@ function createColumnBackdrop(context, layout, columnIndex) {
7962
7963
  id: `chart-mekko-column-backdrop-${chart.id}-${columnIndex}`,
7963
7964
  order: nextOrder(),
7964
7965
  bounds,
7965
- d: chunkUHKFJBY5_cjs.barShapePath(column.x, layout.grid.y, column.width, layout.grid.height, cornerRadius),
7966
- style: { fill: chunkUHKFJBY5_cjs.paint(chart.gridColor ?? "#e2e8f0", diagnostics, chart.id), opacity: BACKDROP_OPACITY }
7966
+ d: chunkSKGJXCAO_cjs.barShapePath(column.x, layout.grid.y, column.width, layout.grid.height, cornerRadius),
7967
+ style: { fill: chunkSKGJXCAO_cjs.paint(chart.gridColor ?? "#e2e8f0", diagnostics, chart.id), opacity: BACKDROP_OPACITY }
7967
7968
  };
7968
7969
  }
7969
7970
  function mekkoCornerRadius(context) {
7970
- return Math.max(0, chunkUHKFJBY5_cjs.finite(context.chart.config?.barCornerRadius, 2));
7971
+ return Math.max(0, chunkSKGJXCAO_cjs.finite(context.chart.config?.barCornerRadius, 2));
7971
7972
  }
7972
7973
  function calculateColumnSegments(seriesList, layout, columnIndex) {
7973
7974
  const segments = [];
@@ -7978,7 +7979,7 @@ function calculateColumnSegments(seriesList, layout, columnIndex) {
7978
7979
  const height = (column.total > 0 ? value / column.total : 0) * column.height;
7979
7980
  const y = column.y + cumulativeHeight;
7980
7981
  cumulativeHeight += height;
7981
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
7982
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
7982
7983
  segments.push({
7983
7984
  columnIndex,
7984
7985
  seriesId: series.id,
@@ -8001,12 +8002,12 @@ function renderSegment(context, layout, segment, nextColor) {
8001
8002
  }
8002
8003
  function createSegmentNode(context, segment, nextColor) {
8003
8004
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
8004
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
8005
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
8005
8006
  const clipPath = shadow ? `M ${plot.x} ${plot.y} H ${plot.x + plot.width} V ${plot.y + plot.height} H ${plot.x} Z` : void 0;
8006
8007
  const config = chart.config;
8007
8008
  const radius = segment.isTop || config?.mekkoRoundAll ? mekkoCornerRadius(context) : 0;
8008
8009
  const { x, y, width, height } = segment.frame;
8009
- const segmentGap = Math.max(0, chunkUHKFJBY5_cjs.finite(config?.mekkoSegmentGap, 0));
8010
+ const segmentGap = Math.max(0, chunkSKGJXCAO_cjs.finite(config?.mekkoSegmentGap, 0));
8010
8011
  const fallback = "#94a3b8";
8011
8012
  const gradientBounds = {
8012
8013
  minX: x + width / 2 - height / 2,
@@ -8018,20 +8019,20 @@ function createSegmentNode(context, segment, nextColor) {
8018
8019
  kind: "linear-gradient",
8019
8020
  angle: 90,
8020
8021
  stops: [
8021
- { offset: 0, color: chunkUHKFJBY5_cjs.representativeColor(segment.color, fallback) },
8022
- { offset: 100, color: chunkUHKFJBY5_cjs.representativeColor(nextColor, fallback) }
8022
+ { offset: 0, color: chunkSKGJXCAO_cjs.representativeColor(segment.color, fallback) },
8023
+ { offset: 100, color: chunkSKGJXCAO_cjs.representativeColor(nextColor, fallback) }
8023
8024
  ]
8024
- } : chunkUHKFJBY5_cjs.paint(segment.color, diagnostics, chart.id);
8025
+ } : chunkSKGJXCAO_cjs.paint(segment.color, diagnostics, chart.id);
8025
8026
  return {
8026
8027
  type: "path",
8027
8028
  id: `chart-mekko-seg-${chart.id}-${segment.columnIndex}-${segment.seriesId}`,
8028
8029
  order: nextOrder(),
8029
8030
  bounds: nextColor ? gradientBounds : bounds,
8030
- d: chunkUHKFJBY5_cjs.barPath(x, y + segmentGap / 2, width, Math.max(0, height - segmentGap), radius, Boolean(config?.mekkoRoundAll)),
8031
+ d: chunkSKGJXCAO_cjs.barPath(x, y + segmentGap / 2, width, Math.max(0, height - segmentGap), radius, Boolean(config?.mekkoRoundAll)),
8031
8032
  style: {
8032
8033
  fill: fill2,
8033
8034
  stroke: { kind: "solid", color: config?.mekkoSegmentStrokeColor ?? chart.gridColor ?? "#e2e8f0" },
8034
- strokeWidth: chunkUHKFJBY5_cjs.finite(config?.mekkoSegmentStrokeWidth, chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1)),
8035
+ strokeWidth: chunkSKGJXCAO_cjs.finite(config?.mekkoSegmentStrokeWidth, chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1)),
8035
8036
  shadow,
8036
8037
  clip: clipPath ? { type: "path", d: clipPath } : void 0
8037
8038
  }
@@ -8047,17 +8048,17 @@ function createSegmentLabel(context, layout, segment) {
8047
8048
  const innerHeight = Math.max(1, height - 6);
8048
8049
  const lineHeight = layout.labelSize * 1.2;
8049
8050
  const valueHeight = layout.valueSize * 1.2;
8050
- const labelLines = chunkUHKFJBY5_cjs.wrapText(segment.seriesLabel, innerWidth, layout.labelSize).map(
8051
- (line) => chunkUHKFJBY5_cjs.ellipsizeToWidth(line, innerWidth, layout.labelSize, true)
8051
+ const labelLines = chunkSKGJXCAO_cjs.wrapText(segment.seriesLabel, innerWidth, layout.labelSize).map(
8052
+ (line) => chunkSKGJXCAO_cjs.ellipsizeToWidth(line, innerWidth, layout.labelSize, true)
8052
8053
  );
8053
8054
  if (labelLines.length * lineHeight + valueHeight > innerHeight) {
8054
8055
  return [];
8055
8056
  }
8056
- const textColor = chart.config?.mekkoTextColor ?? chunkUHKFJBY5_cjs.contrastTextColor(chunkUHKFJBY5_cjs.representativeColor(segment.color, "#ffffff"));
8057
+ const textColor = chart.config?.mekkoTextColor ?? chunkSKGJXCAO_cjs.contrastTextColor(chunkSKGJXCAO_cjs.representativeColor(segment.color, "#ffffff"));
8057
8058
  const columnTotal = layout.columns[segment.columnIndex]?.total ?? 0;
8058
8059
  const valueText = chart.config?.mekkoValueFormat === "percent" ? `${columnTotal > 0 ? Math.round(segment.value / columnTotal * 100) : 0}%` : String(segment.value);
8059
8060
  const label = {
8060
- ...chunkUHKFJBY5_cjs.chartText({
8061
+ ...chunkSKGJXCAO_cjs.chartText({
8061
8062
  id: `chart-mekko-seg-label-${chart.id}-${segment.columnIndex}-${segment.seriesId}`,
8062
8063
  order: nextOrder(),
8063
8064
  bounds,
@@ -8071,7 +8072,7 @@ function createSegmentLabel(context, layout, segment) {
8071
8072
  color: textColor
8072
8073
  };
8073
8074
  const valueNode = {
8074
- ...chunkUHKFJBY5_cjs.chartText({
8075
+ ...chunkSKGJXCAO_cjs.chartText({
8075
8076
  id: `chart-mekko-seg-value-${chart.id}-${segment.columnIndex}-${segment.seriesId}`,
8076
8077
  order: nextOrder(),
8077
8078
  bounds,
@@ -8104,7 +8105,7 @@ function renderMekko(context) {
8104
8105
 
8105
8106
  // src/renderScene/charts/renderers/pie/center.ts
8106
8107
  function fill(template, chart) {
8107
- const values = chart.series.map((series) => Math.max(0, chunkUHKFJBY5_cjs.finite(series.values[0], 0)));
8108
+ const values = chart.series.map((series) => Math.max(0, chunkSKGJXCAO_cjs.finite(series.values[0], 0)));
8108
8109
  const total = values.reduce((sum, value) => sum + value, 0);
8109
8110
  const first = values[0] ?? 0;
8110
8111
  return template.replace(/\{total\}/g, String(Math.round(total * 100) / 100)).replace(/\{percent\}/g, String(total > 0 ? Math.round(first / total * 100) : 0)).replace(/\{label\}/g, chart.series[0]?.label ?? "");
@@ -8116,7 +8117,7 @@ function renderPieCenter(context, geometry) {
8116
8117
  return [];
8117
8118
  }
8118
8119
  const lines = fill(template, chart).split(/\\n|\n/);
8119
- const fontSize = chunkUHKFJBY5_cjs.finite(chart.config?.pieCenterSize, Math.max(14, Math.min(40, geometry.outerRadius * 0.3)));
8120
+ const fontSize = chunkSKGJXCAO_cjs.finite(chart.config?.pieCenterSize, Math.max(14, Math.min(40, geometry.outerRadius * 0.3)));
8120
8121
  const lineHeight = fontSize * 1.2;
8121
8122
  const width = Math.max(40, (geometry.innerRadius > 0 ? geometry.innerRadius : geometry.outerRadius * 0.6) * 2);
8122
8123
  const text = {
@@ -8129,7 +8130,7 @@ function renderPieCenter(context, geometry) {
8129
8130
  width,
8130
8131
  height: lineHeight * lines.length,
8131
8132
  lines,
8132
- fontFamily: chart.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
8133
+ fontFamily: chart.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
8133
8134
  fontSize,
8134
8135
  fontWeight: "bold",
8135
8136
  align: "center",
@@ -8149,14 +8150,14 @@ var radians = (degrees) => degrees * Math.PI / 180;
8149
8150
  function renderPieSlices(context, geometry) {
8150
8151
  const config = context.chart.config;
8151
8152
  const marks = createPieSliceMarks(context.chart.series, geometry.total, {
8152
- start: TOP + radians(chunkUHKFJBY5_cjs.finite(config?.pieStartAngle, 0)),
8153
- sweep: Math.min(FULL, Math.max(radians(1), radians(chunkUHKFJBY5_cjs.finite(config?.pieSweep, 360)))),
8154
- explode: Math.max(0, chunkUHKFJBY5_cjs.finite(config?.pieExplode, 0))
8153
+ start: TOP + radians(chunkSKGJXCAO_cjs.finite(config?.pieStartAngle, 0)),
8154
+ sweep: Math.min(FULL, Math.max(radians(1), radians(chunkSKGJXCAO_cjs.finite(config?.pieSweep, 360)))),
8155
+ explode: Math.max(0, chunkSKGJXCAO_cjs.finite(config?.pieExplode, 0))
8155
8156
  });
8156
8157
  const gapPx = config?.pieSliceGap ?? 0;
8157
8158
  return [
8158
8159
  ...marks.flatMap((mark) => createSliceNodes(context, shiftGeometry(geometry, mark), mark, gapPx)),
8159
- ...chunkUHKFJBY5_cjs.renderPieLabels(
8160
+ ...chunkSKGJXCAO_cjs.renderPieLabels(
8160
8161
  context,
8161
8162
  geometry,
8162
8163
  marks.map((mark) => ({
@@ -8188,20 +8189,20 @@ function createPieSliceMarks(seriesList, total, layout) {
8188
8189
  const marks = [];
8189
8190
  let angle = layout.start;
8190
8191
  seriesList.forEach((series, seriesIndex) => {
8191
- const value = Math.max(0, chunkUHKFJBY5_cjs.finite(series.values[0], 0));
8192
+ const value = Math.max(0, chunkSKGJXCAO_cjs.finite(series.values[0], 0));
8192
8193
  const sweep = value / total * layout.sweep;
8193
8194
  marks.push({
8194
8195
  seriesId: series.id,
8195
8196
  label: series.label,
8196
- color: series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length],
8197
+ color: series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length],
8197
8198
  stroke: series.stroke,
8198
8199
  strokeWidth: series.strokeWidth,
8199
8200
  value,
8200
8201
  share: value / total,
8201
8202
  angles: { start: angle, end: angle + Math.min(sweep, layout.sweep >= FULL ? MAXIMUM_SWEEP : layout.sweep) },
8202
- explode: Math.max(0, chunkUHKFJBY5_cjs.finite(series.offset, layout.explode)),
8203
- labelOffsetX: chunkUHKFJBY5_cjs.finite(series.labelOffsetX, 0),
8204
- labelOffsetY: chunkUHKFJBY5_cjs.finite(series.labelOffsetY, 0)
8203
+ explode: Math.max(0, chunkSKGJXCAO_cjs.finite(series.offset, layout.explode)),
8204
+ labelOffsetX: chunkSKGJXCAO_cjs.finite(series.labelOffsetX, 0),
8205
+ labelOffsetY: chunkSKGJXCAO_cjs.finite(series.labelOffsetY, 0)
8205
8206
  });
8206
8207
  angle += sweep;
8207
8208
  });
@@ -8224,14 +8225,14 @@ function pieOuterShadow(shadow, gapPx) {
8224
8225
  function sliceCornerRadius(geometry, mark, gapPx) {
8225
8226
  const halfGap = Math.max(0, gapPx) / 2;
8226
8227
  const rawSweep = mark.angles.end - mark.angles.start;
8227
- const usesInnerArc = chunkUHKFJBY5_cjs.pieUsesInnerArc(geometry, mark.angles, gapPx);
8228
- const gapSweep = 2 * chunkUHKFJBY5_cjs.gapInsetAngle(halfGap, geometry.outerRadius);
8228
+ const usesInnerArc = chunkSKGJXCAO_cjs.pieUsesInnerArc(geometry, mark.angles, gapPx);
8229
+ const gapSweep = 2 * chunkSKGJXCAO_cjs.gapInsetAngle(halfGap, geometry.outerRadius);
8229
8230
  const availableSweep = Math.max(0, rawSweep - gapSweep);
8230
8231
  return Math.min(
8231
8232
  geometry.cornerRadius,
8232
- usesInnerArc ? chunkUHKFJBY5_cjs.maxPieCornerRadius(geometry.outerRadius, geometry.innerRadius, availableSweep) : chunkUHKFJBY5_cjs.maxApexCornerRadius(
8233
+ usesInnerArc ? chunkSKGJXCAO_cjs.maxPieCornerRadius(geometry.outerRadius, geometry.innerRadius, availableSweep) : chunkSKGJXCAO_cjs.maxApexCornerRadius(
8233
8234
  geometry.outerRadius,
8234
- chunkUHKFJBY5_cjs.pieApexRadius(halfGap, rawSweep, geometry.outerRadius),
8235
+ chunkSKGJXCAO_cjs.pieApexRadius(halfGap, rawSweep, geometry.outerRadius),
8235
8236
  availableSweep
8236
8237
  )
8237
8238
  );
@@ -8244,14 +8245,14 @@ function sliceStroke(context, mark) {
8244
8245
  }
8245
8246
  return {
8246
8247
  stroke: { kind: "solid", color: strokeColor },
8247
- strokeWidth: chunkUHKFJBY5_cjs.finite(mark.strokeWidth, chunkUHKFJBY5_cjs.finite(config?.pieStrokeWidth, 1))
8248
+ strokeWidth: chunkSKGJXCAO_cjs.finite(mark.strokeWidth, chunkSKGJXCAO_cjs.finite(config?.pieStrokeWidth, 1))
8248
8249
  };
8249
8250
  }
8250
8251
  function createSliceNodes(context, geometry, mark, gapPx) {
8251
8252
  const { chart, bounds, diagnostics, nextOrder } = context;
8252
- const fill2 = chunkUHKFJBY5_cjs.paint(mark.color, diagnostics, chart.id);
8253
- const slicePath = chunkUHKFJBY5_cjs.createPieSlicePath(geometry, mark.angles, sliceCornerRadius(geometry, mark, gapPx), gapPx);
8254
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
8253
+ const fill2 = chunkSKGJXCAO_cjs.paint(mark.color, diagnostics, chart.id);
8254
+ const slicePath = chunkSKGJXCAO_cjs.createPieSlicePath(geometry, mark.angles, sliceCornerRadius(geometry, mark, gapPx), gapPx);
8255
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
8255
8256
  const strokeStyle = sliceStroke(context, mark);
8256
8257
  const glow = chart.config?.pieGlow;
8257
8258
  const shadowCaster = shadow ? {
@@ -8282,12 +8283,12 @@ function createSliceNodes(context, geometry, mark, gapPx) {
8282
8283
  pieEnd: mark.angles.end,
8283
8284
  pieValue: mark.value
8284
8285
  },
8285
- prop: chunkUHKFJBY5_cjs.seriesValueProp(mark.seriesId, 0),
8286
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(mark.seriesId, 0),
8286
8287
  style: {
8287
8288
  fill: fill2,
8288
8289
  ...strokeStyle,
8289
8290
  innerShadow: shadow,
8290
- shadow: glow ? { color: chunkUHKFJBY5_cjs.representativeColor(mark.color, "#ffffff"), opacity: 0.85, blur: glow, dx: 0, dy: 0 } : void 0
8291
+ shadow: glow ? { color: chunkSKGJXCAO_cjs.representativeColor(mark.color, "#ffffff"), opacity: 0.85, blur: glow, dx: 0, dy: 0 } : void 0
8291
8292
  }
8292
8293
  };
8293
8294
  return shadowCaster ? [shadowCaster, slice] : [slice];
@@ -8295,7 +8296,7 @@ function createSliceNodes(context, geometry, mark, gapPx) {
8295
8296
 
8296
8297
  // src/renderScene/charts/renderers/pie.ts
8297
8298
  function renderPie(context) {
8298
- const geometry = chunkUHKFJBY5_cjs.createPieGeometry(context);
8299
+ const geometry = chunkSKGJXCAO_cjs.createPieGeometry(context);
8299
8300
  return [...renderPieSlices(context, geometry), ...renderPieCenter(context, geometry)];
8300
8301
  }
8301
8302
 
@@ -8312,18 +8313,18 @@ var OUTSIDE_FALLBACK_COLOR = "#334155";
8312
8313
  function layoutOf(context) {
8313
8314
  const { chart, plot } = context;
8314
8315
  const maxRadius = Math.max(1, Math.min(plot.width, plot.height) / 2 - 4);
8315
- const axisMin = chunkUHKFJBY5_cjs.finite(chart.axisY.min, 0);
8316
+ const axisMin = chunkSKGJXCAO_cjs.finite(chart.axisY.min, 0);
8316
8317
  return {
8317
8318
  centerX: plot.x + plot.width / 2,
8318
8319
  centerY: plot.y + plot.height / 2,
8319
8320
  maxRadius,
8320
- innerRadius: Math.max(0, Math.min(chunkUHKFJBY5_cjs.finite(chart.config?.innerRadius, 0), maxRadius - 1)),
8321
- cornerRadius: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.pieCornerRadius, 0)),
8322
- gapPx: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.pieSliceGap, 0)),
8321
+ innerRadius: Math.max(0, Math.min(chunkSKGJXCAO_cjs.finite(chart.config?.innerRadius, 0), maxRadius - 1)),
8322
+ cornerRadius: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.pieCornerRadius, 0)),
8323
+ gapPx: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.pieSliceGap, 0)),
8323
8324
  axisMin,
8324
- range: chunkUHKFJBY5_cjs.finite(chart.axisY.max, 100) - axisMin,
8325
+ range: chunkSKGJXCAO_cjs.finite(chart.axisY.max, 100) - axisMin,
8325
8326
  sweep: chart.series.length > 0 ? Math.PI * 2 / chart.series.length : 0,
8326
- start: TOP2 + chunkUHKFJBY5_cjs.finite(chart.config?.pieStartAngle, 0) * Math.PI / 180
8327
+ start: TOP2 + chunkSKGJXCAO_cjs.finite(chart.config?.pieStartAngle, 0) * Math.PI / 180
8327
8328
  };
8328
8329
  }
8329
8330
  function clampedCorner(layout, outerRadius, angles) {
@@ -8331,19 +8332,19 @@ function clampedCorner(layout, outerRadius, angles) {
8331
8332
  const geometry = { centerX, centerY, outerRadius, innerRadius };
8332
8333
  const halfGap = Math.max(0, gapPx) / 2;
8333
8334
  const rawSweep = angles.end - angles.start;
8334
- const availableSweep = Math.max(0, rawSweep - 2 * chunkUHKFJBY5_cjs.gapInsetAngle(halfGap, outerRadius));
8335
- if (chunkUHKFJBY5_cjs.pieUsesInnerArc(geometry, angles, gapPx)) {
8336
- return Math.min(cornerRadius, chunkUHKFJBY5_cjs.maxPieCornerRadius(outerRadius, innerRadius, availableSweep));
8335
+ const availableSweep = Math.max(0, rawSweep - 2 * chunkSKGJXCAO_cjs.gapInsetAngle(halfGap, outerRadius));
8336
+ if (chunkSKGJXCAO_cjs.pieUsesInnerArc(geometry, angles, gapPx)) {
8337
+ return Math.min(cornerRadius, chunkSKGJXCAO_cjs.maxPieCornerRadius(outerRadius, innerRadius, availableSweep));
8337
8338
  }
8338
- const apexRadius = chunkUHKFJBY5_cjs.pieApexRadius(halfGap, rawSweep, outerRadius);
8339
- return Math.min(cornerRadius, chunkUHKFJBY5_cjs.maxApexCornerRadius(outerRadius, apexRadius, availableSweep));
8339
+ const apexRadius = chunkSKGJXCAO_cjs.pieApexRadius(halfGap, rawSweep, outerRadius);
8340
+ return Math.min(cornerRadius, chunkSKGJXCAO_cjs.maxApexCornerRadius(outerRadius, apexRadius, availableSweep));
8340
8341
  }
8341
8342
  function wedgeNodes(context, layout, series, angles, outerRadius, value, rawColor) {
8342
8343
  const { chart, bounds, diagnostics, nextOrder } = context;
8343
8344
  const { centerX, centerY, innerRadius, maxRadius, gapPx } = layout;
8344
- const color = chunkUHKFJBY5_cjs.paint(rawColor, diagnostics, chart.id);
8345
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
8346
- const trackPath = chunkUHKFJBY5_cjs.createPieSlicePath(
8345
+ const color = chunkSKGJXCAO_cjs.paint(rawColor, diagnostics, chart.id);
8346
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
8347
+ const trackPath = chunkSKGJXCAO_cjs.createPieSlicePath(
8347
8348
  { centerX, centerY, outerRadius: maxRadius, innerRadius },
8348
8349
  angles,
8349
8350
  clampedCorner(layout, maxRadius, angles),
@@ -8356,12 +8357,12 @@ function wedgeNodes(context, layout, series, angles, outerRadius, value, rawColo
8356
8357
  bounds,
8357
8358
  d: trackPath,
8358
8359
  style: {
8359
- fill: chunkUHKFJBY5_cjs.paint(chart.gridColor ?? TRACK_COLOR_FALLBACK, diagnostics, chart.id),
8360
+ fill: chunkSKGJXCAO_cjs.paint(chart.gridColor ?? TRACK_COLOR_FALLBACK, diagnostics, chart.id),
8360
8361
  opacity: chart.config?.polarTrackOpacity,
8361
8362
  ...trackStroke(context)
8362
8363
  }
8363
8364
  };
8364
- const wedgePath = chunkUHKFJBY5_cjs.createPieSlicePath(
8365
+ const wedgePath = chunkSKGJXCAO_cjs.createPieSlicePath(
8365
8366
  { centerX, centerY, outerRadius, innerRadius },
8366
8367
  angles,
8367
8368
  clampedCorner(layout, outerRadius, angles),
@@ -8390,7 +8391,7 @@ function wedgeNodes(context, layout, series, angles, outerRadius, value, rawColo
8390
8391
  pieEnd: angles.end,
8391
8392
  pieValue: value
8392
8393
  },
8393
- prop: chunkUHKFJBY5_cjs.seriesValueProp(series.id, 0),
8394
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(series.id, 0),
8394
8395
  style: { fill: color, innerShadow: shadow, ...wedgeStroke(context) }
8395
8396
  };
8396
8397
  return shadowCaster ? [track, shadowCaster, wedge] : [track, wedge];
@@ -8403,7 +8404,7 @@ function trackStroke(context) {
8403
8404
  const dash = (config.polarTrackDash ?? "").split(/[ ,]+/).map(Number).filter((part) => Number.isFinite(part) && part > 0);
8404
8405
  return {
8405
8406
  stroke: { kind: "solid", color: config.polarTrackStroke },
8406
- strokeWidth: chunkUHKFJBY5_cjs.finite(config.polarTrackStrokeWidth, 1),
8407
+ strokeWidth: chunkSKGJXCAO_cjs.finite(config.polarTrackStrokeWidth, 1),
8407
8408
  dash: dash.length > 0 ? dash : void 0
8408
8409
  };
8409
8410
  }
@@ -8414,7 +8415,7 @@ function wedgeStroke(context) {
8414
8415
  }
8415
8416
  return {
8416
8417
  stroke: { kind: "solid", color: config.pieStroke },
8417
- strokeWidth: chunkUHKFJBY5_cjs.finite(config.pieStrokeWidth, 1)
8418
+ strokeWidth: chunkSKGJXCAO_cjs.finite(config.pieStrokeWidth, 1)
8418
8419
  };
8419
8420
  }
8420
8421
  function ringNodes(context, layout) {
@@ -8422,7 +8423,7 @@ function ringNodes(context, layout) {
8422
8423
  if (!chart.config?.polarRings || layout.range <= 0) {
8423
8424
  return [];
8424
8425
  }
8425
- return chunkUHKFJBY5_cjs.chartTicks(chart.axisY).filter((tick) => tick > layout.axisMin && tick < layout.axisMin + layout.range).map((tick) => {
8426
+ return chunkSKGJXCAO_cjs.chartTicks(chart.axisY).filter((tick) => tick > layout.axisMin && tick < layout.axisMin + layout.range).map((tick) => {
8426
8427
  const radius = layout.innerRadius + (layout.maxRadius - layout.innerRadius) * (tick - layout.axisMin) / layout.range;
8427
8428
  return {
8428
8429
  type: "ellipse",
@@ -8436,7 +8437,7 @@ function ringNodes(context, layout) {
8436
8437
  style: {
8437
8438
  fill: { kind: "none" },
8438
8439
  stroke: { kind: "solid", color: chart.textColor ?? "#334155" },
8439
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1),
8440
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1),
8440
8441
  opacity: 0.25
8441
8442
  }
8442
8443
  };
@@ -8448,10 +8449,10 @@ function renderPolarArea(context) {
8448
8449
  const showLabels = context.showLabels && sweep >= MIN_LABEL_SWEEP;
8449
8450
  const wedges = context.chart.series.flatMap((series, index) => {
8450
8451
  const angles = { start: start + index * sweep, end: start + (index + 1) * sweep };
8451
- const value = Math.max(0, chunkUHKFJBY5_cjs.finite(series.values[0], 0));
8452
+ const value = Math.max(0, chunkSKGJXCAO_cjs.finite(series.values[0], 0));
8452
8453
  const fraction = range > 0 ? Math.min(1, Math.max(0, (value - axisMin) / range)) : 0;
8453
8454
  const outerRadius = Math.max(innerRadius + 1, innerRadius + (maxRadius - innerRadius) * fraction);
8454
- const rawColor = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[index % chunkUHKFJBY5_cjs.CHART_COLORS.length];
8455
+ const rawColor = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[index % chunkSKGJXCAO_cjs.CHART_COLORS.length];
8455
8456
  const nodes = wedgeNodes(context, layout, series, angles, outerRadius, value, rawColor);
8456
8457
  if (!showLabels) {
8457
8458
  return nodes;
@@ -8462,10 +8463,10 @@ function renderPolarArea(context) {
8462
8463
  return [...wedges, ...ringNodes(context, layout)];
8463
8464
  }
8464
8465
  function labelSizes(chart) {
8465
- const base = Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12));
8466
+ const base = Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12));
8466
8467
  return {
8467
- nameSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.polarNameSize, base)),
8468
- valueSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.polarValueSize, base))
8468
+ nameSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.polarNameSize, base)),
8469
+ valueSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.polarValueSize, base))
8469
8470
  };
8470
8471
  }
8471
8472
  function labelPlacement2(context, geometry, angles, series, fillColor) {
@@ -8473,8 +8474,8 @@ function labelPlacement2(context, geometry, angles, series, fillColor) {
8473
8474
  const { nameSize, valueSize } = labelSizes(context.chart);
8474
8475
  const lineHeight = (nameSize + valueSize) * 1.2 / 2;
8475
8476
  const ringThickness = geometry.outerRadius - geometry.innerRadius;
8476
- const labelOffsetX = chunkUHKFJBY5_cjs.finite(series.labelOffsetX, 0);
8477
- const labelOffsetY = chunkUHKFJBY5_cjs.finite(series.labelOffsetY, 0);
8477
+ const labelOffsetX = chunkSKGJXCAO_cjs.finite(series.labelOffsetX, 0);
8478
+ const labelOffsetY = chunkSKGJXCAO_cjs.finite(series.labelOffsetY, 0);
8478
8479
  const hasManualOffset = labelOffsetX !== 0 || labelOffsetY !== 0;
8479
8480
  const tooThin = ringThickness < lineHeight * 2 + 6;
8480
8481
  const chordWidth = 2 * geometry.outerRadius * Math.sin(Math.abs(angles.end - angles.start) / 2);
@@ -8484,17 +8485,17 @@ function labelPlacement2(context, geometry, angles, series, fillColor) {
8484
8485
  return void 0;
8485
8486
  }
8486
8487
  const outside = hasManualOffset || !fitsInline;
8487
- const tickStart = chunkUHKFJBY5_cjs.pieArcPoint(geometry, mid, geometry.outerRadius + LEADER_INSET);
8488
- const point = outside ? hasManualOffset ? addOffset(chunkUHKFJBY5_cjs.pieArcPoint(geometry, mid, geometry.outerRadius), labelOffsetX, labelOffsetY) : chunkUHKFJBY5_cjs.pieArcPoint(geometry, mid, geometry.outerRadius + OUTSIDE_GAP) : chunkUHKFJBY5_cjs.pieArcPoint(geometry, mid, geometry.innerRadius + ringThickness * LABEL_RADIUS_FRACTION);
8489
- const color = outside ? outsideLabels && context.chart.textColor ? context.chart.textColor : chunkUHKFJBY5_cjs.sameHueTint(chunkUHKFJBY5_cjs.representativeColor(fillColor, OUTSIDE_FALLBACK_COLOR), OUTSIDE_TINT_LIGHTNESS) ?? OUTSIDE_FALLBACK_COLOR : chunkUHKFJBY5_cjs.sameHueContrastColor(
8490
- chunkUHKFJBY5_cjs.representativeColor(fillColor, "#0f172a"),
8491
- chunkUHKFJBY5_cjs.contrastTextColor(chunkUHKFJBY5_cjs.representativeColor(fillColor, "#0f172a"))
8488
+ const tickStart = chunkSKGJXCAO_cjs.pieArcPoint(geometry, mid, geometry.outerRadius + LEADER_INSET);
8489
+ const point = outside ? hasManualOffset ? addOffset(chunkSKGJXCAO_cjs.pieArcPoint(geometry, mid, geometry.outerRadius), labelOffsetX, labelOffsetY) : chunkSKGJXCAO_cjs.pieArcPoint(geometry, mid, geometry.outerRadius + OUTSIDE_GAP) : chunkSKGJXCAO_cjs.pieArcPoint(geometry, mid, geometry.innerRadius + ringThickness * LABEL_RADIUS_FRACTION);
8490
+ const color = outside ? outsideLabels && context.chart.textColor ? context.chart.textColor : chunkSKGJXCAO_cjs.sameHueTint(chunkSKGJXCAO_cjs.representativeColor(fillColor, OUTSIDE_FALLBACK_COLOR), OUTSIDE_TINT_LIGHTNESS) ?? OUTSIDE_FALLBACK_COLOR : chunkSKGJXCAO_cjs.sameHueContrastColor(
8491
+ chunkSKGJXCAO_cjs.representativeColor(fillColor, "#0f172a"),
8492
+ chunkSKGJXCAO_cjs.contrastTextColor(chunkSKGJXCAO_cjs.representativeColor(fillColor, "#0f172a"))
8492
8493
  );
8493
8494
  return { point, color, outside, mid, tickStart };
8494
8495
  }
8495
8496
  function labelTick(context, series, placement, lineHeight) {
8496
8497
  const { point, color, outside, tickStart } = placement;
8497
- const tickEnd = outside ? chunkUHKFJBY5_cjs.clipSegmentToRect(tickStart, point, LABEL_WIDTH2 / 2, lineHeight) : tickStart;
8498
+ const tickEnd = outside ? chunkSKGJXCAO_cjs.clipSegmentToRect(tickStart, point, LABEL_WIDTH2 / 2, lineHeight) : tickStart;
8498
8499
  return {
8499
8500
  type: "path",
8500
8501
  id: `chart-polar-area-label-tick-${context.chart.id}-${series.id}`,
@@ -8521,7 +8522,7 @@ function labelTexts(context, geometry, series, value, placement) {
8521
8522
  bounds,
8522
8523
  x: point.x - LABEL_WIDTH2 / 2,
8523
8524
  width: LABEL_WIDTH2,
8524
- fontFamily: chart.fontFamily ?? chunkUHKFJBY5_cjs.DEFAULT_FONT,
8525
+ fontFamily: chart.fontFamily ?? chunkSKGJXCAO_cjs.DEFAULT_FONT,
8525
8526
  align: "center",
8526
8527
  verticalAlign: "middle",
8527
8528
  lineHeight: 1.2,
@@ -8544,7 +8545,7 @@ function labelTexts(context, geometry, series, value, placement) {
8544
8545
  lines: [series.label],
8545
8546
  fontWeight: valueFirst ? "normal" : "bold",
8546
8547
  detail,
8547
- prop: chunkUHKFJBY5_cjs.seriesLabelProp(series.id)
8548
+ prop: chunkSKGJXCAO_cjs.seriesLabelProp(series.id)
8548
8549
  };
8549
8550
  const valueText = {
8550
8551
  type: "text",
@@ -8554,10 +8555,10 @@ function labelTexts(context, geometry, series, value, placement) {
8554
8555
  y: valueY,
8555
8556
  height: valueSize * 1.2,
8556
8557
  fontSize: valueSize,
8557
- lines: [chunkUHKFJBY5_cjs.formatFieldValue(value)],
8558
+ lines: [chunkSKGJXCAO_cjs.formatFieldValue(value)],
8558
8559
  fontWeight: valueFirst ? "bold" : "normal",
8559
8560
  detail,
8560
- prop: chunkUHKFJBY5_cjs.seriesValueProp(series.id, 0),
8561
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(series.id, 0),
8561
8562
  propKind: "value"
8562
8563
  };
8563
8564
  return [nameText, valueText];
@@ -8584,10 +8585,10 @@ function radarFrameFor(context) {
8584
8585
  return {
8585
8586
  centerX: plot.x + plot.width / 2,
8586
8587
  centerY: plot.y + plot.height / 2,
8587
- radius: chunkUHKFJBY5_cjs.radarRadius(plot.width, plot.height, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12), context.showLabels),
8588
+ radius: chunkSKGJXCAO_cjs.radarRadius(plot.width, plot.height, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12), context.showLabels),
8588
8589
  min: chart.axisY.min,
8589
8590
  max: chart.axisY.max,
8590
- count: chunkUHKFJBY5_cjs.radarCategoryCount(configuredCount, dataCount),
8591
+ count: chunkSKGJXCAO_cjs.radarCategoryCount(configuredCount, dataCount),
8591
8592
  curved: chart.chartType === "radial",
8592
8593
  tension: chart.config?.radarTension
8593
8594
  };
@@ -8597,7 +8598,7 @@ function createRadarGeometry(context) {
8597
8598
  const configuredCategories = chart.config?.categories?.filter(Boolean) ?? [];
8598
8599
  const frame = radarFrameFor(context);
8599
8600
  const categories = createCategories(configuredCategories, frame.count);
8600
- const pointAt = (pointRadius, pointIndex) => chunkUHKFJBY5_cjs.radarPointAt(frame, pointIndex, pointRadius);
8601
+ const pointAt = (pointRadius, pointIndex) => chunkSKGJXCAO_cjs.radarPointAt(frame, pointIndex, pointRadius);
8601
8602
  return {
8602
8603
  circular: frame.curved,
8603
8604
  areaOpacity: Math.max(0, Math.min(1, chart.config?.areaOpacity ?? 0.16)),
@@ -8609,9 +8610,9 @@ function createRadarGeometry(context) {
8609
8610
  centerX: frame.centerX,
8610
8611
  centerY: frame.centerY,
8611
8612
  radius: frame.radius,
8612
- radiusForValue: (value) => chunkUHKFJBY5_cjs.radarRadiusForValue(frame, value),
8613
+ radiusForValue: (value) => chunkSKGJXCAO_cjs.radarRadiusForValue(frame, value),
8613
8614
  pointAt,
8614
- polygonPath: (pointRadius) => chunkUHKFJBY5_cjs.radarSeriesPath(
8615
+ polygonPath: (pointRadius) => chunkSKGJXCAO_cjs.radarSeriesPath(
8615
8616
  categories.map((_, index) => pointAt(pointRadius, index)),
8616
8617
  false
8617
8618
  )
@@ -8632,7 +8633,7 @@ function renderRadarGrid(context, geometry) {
8632
8633
  return [...renderRings(context, geometry), ...geometry.showSpokes ? renderSpokes(context, geometry) : []];
8633
8634
  }
8634
8635
  function renderRings(context, geometry) {
8635
- return chunkUHKFJBY5_cjs.chartTicks(context.chart.axisY).filter((tick) => tick > context.chart.axisY.min).map((tick) => createRingNode(context, geometry, tick));
8636
+ return chunkSKGJXCAO_cjs.chartTicks(context.chart.axisY).filter((tick) => tick > context.chart.axisY.min).map((tick) => createRingNode(context, geometry, tick));
8636
8637
  }
8637
8638
  function createRingNode(context, geometry, tick) {
8638
8639
  const { chart, bounds, nextOrder } = context;
@@ -8640,7 +8641,7 @@ function createRingNode(context, geometry, tick) {
8640
8641
  const style = {
8641
8642
  fill: { kind: "none" },
8642
8643
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
8643
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1)
8644
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1)
8644
8645
  };
8645
8646
  if (geometry.circular) {
8646
8647
  return {
@@ -8677,7 +8678,7 @@ function renderSpokes(context, geometry) {
8677
8678
  style: {
8678
8679
  fill: { kind: "none" },
8679
8680
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
8680
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1)
8681
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1)
8681
8682
  }
8682
8683
  };
8683
8684
  });
@@ -8697,7 +8698,7 @@ function createCategoryLabel(context, geometry, category, categoryIndex) {
8697
8698
  const labelPoint = geometry.pointAt(geometry.radius + 10, categoryIndex);
8698
8699
  const horizontalOffset = labelPoint.x - geometry.centerX;
8699
8700
  const width = Math.max(64, Math.min(120, plot.width / 3));
8700
- return chunkUHKFJBY5_cjs.chartText({
8701
+ return chunkSKGJXCAO_cjs.chartText({
8701
8702
  id: `chart-radar-label-${chart.id}-${categoryIndex}`,
8702
8703
  order: nextOrder(),
8703
8704
  bounds,
@@ -8735,9 +8736,9 @@ function renderRadarSeries(context, geometry) {
8735
8736
  return nodes;
8736
8737
  }
8737
8738
  function renderSeries(context, geometry, series, seriesIndex) {
8738
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
8739
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
8739
8740
  const points = seriesPoints(series, context, geometry);
8740
- const path = chunkUHKFJBY5_cjs.radarSeriesPath(points, geometry.circular, geometry.tension);
8741
+ const path = chunkSKGJXCAO_cjs.radarSeriesPath(points, geometry.circular, geometry.tension);
8741
8742
  return [
8742
8743
  createSeriesFill(context, geometry, series, path, color),
8743
8744
  ...geometry.strokeWidth > 0 ? [createSeriesStroke(context, geometry, series, path, color)] : [],
@@ -8760,7 +8761,7 @@ function createSeriesFill(context, geometry, series, path, color) {
8760
8761
  d: path,
8761
8762
  detail: { of: "chartSeries", series: series.id },
8762
8763
  style: {
8763
- fill: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id),
8764
+ fill: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id),
8764
8765
  stroke: { kind: "none" },
8765
8766
  opacity: Math.max(0, Math.min(1, series.opacity ?? geometry.areaOpacity))
8766
8767
  }
@@ -8777,10 +8778,10 @@ function createSeriesStroke(context, geometry, series, path, color) {
8777
8778
  detail: { of: "chartSeries", series: series.id },
8778
8779
  style: {
8779
8780
  fill: { kind: "none" },
8780
- stroke: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id),
8781
+ stroke: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id),
8781
8782
  strokeWidth: geometry.strokeWidth,
8782
8783
  lineJoin: "round",
8783
- shadow: chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle)
8784
+ shadow: chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle)
8784
8785
  }
8785
8786
  };
8786
8787
  }
@@ -8796,8 +8797,8 @@ function createSeriesPoints(context, geometry, series, points, color) {
8796
8797
  rx: geometry.pointSize,
8797
8798
  ry: geometry.pointSize,
8798
8799
  detail: { of: "chartValue", series: series.id, valueIndex: pointIndex, mark: "radar-vertex" },
8799
- prop: chunkUHKFJBY5_cjs.seriesValueProp(series.id, pointIndex),
8800
- style: { fill: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id) }
8800
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(series.id, pointIndex),
8801
+ style: { fill: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id) }
8801
8802
  }));
8802
8803
  }
8803
8804
 
@@ -8851,25 +8852,25 @@ function ringProgressPath(cx, cy, r, sweep, from) {
8851
8852
  }
8852
8853
  function layoutOf2(context) {
8853
8854
  const { chart, plot } = context;
8854
- const axisMin = chunkUHKFJBY5_cjs.finite(chart.axisY.min, 0);
8855
+ const axisMin = chunkSKGJXCAO_cjs.finite(chart.axisY.min, 0);
8855
8856
  return {
8856
8857
  centerX: plot.x + plot.width / 2,
8857
8858
  centerY: plot.y + plot.height / 2,
8858
8859
  outerRadius: Math.max(1, Math.min(plot.width, plot.height) / 2 - 4),
8859
- ringThickness: Math.max(1, chunkUHKFJBY5_cjs.finite(chart.config?.ringThickness, DEFAULT_RING_THICKNESS)),
8860
- ringGap: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.ringGap, DEFAULT_RING_GAP)),
8860
+ ringThickness: Math.max(1, chunkSKGJXCAO_cjs.finite(chart.config?.ringThickness, DEFAULT_RING_THICKNESS)),
8861
+ ringGap: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.ringGap, DEFAULT_RING_GAP)),
8861
8862
  axisMin,
8862
- range: chunkUHKFJBY5_cjs.finite(chart.axisY.max, 100) - axisMin,
8863
- start: TOP3 + chunkUHKFJBY5_cjs.finite(chart.config?.ringStartAngle, 0) * Math.PI / 180,
8864
- total: Math.min(360, Math.max(1, chunkUHKFJBY5_cjs.finite(chart.config?.ringSweep, 360))) * Math.PI / 180,
8865
- trackOpacity: Math.min(1, Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.ringTrackOpacity, TRACK_OPACITY))),
8863
+ range: chunkSKGJXCAO_cjs.finite(chart.axisY.max, 100) - axisMin,
8864
+ start: TOP3 + chunkSKGJXCAO_cjs.finite(chart.config?.ringStartAngle, 0) * Math.PI / 180,
8865
+ total: Math.min(360, Math.max(1, chunkSKGJXCAO_cjs.finite(chart.config?.ringSweep, 360))) * Math.PI / 180,
8866
+ trackOpacity: Math.min(1, Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.ringTrackOpacity, TRACK_OPACITY))),
8866
8867
  cap: chart.config?.ringCap ?? "round"
8867
8868
  };
8868
8869
  }
8869
8870
  function ringEndShadows(context, layout, series, radius, sweep, color) {
8870
8871
  const { chart, bounds, nextOrder } = context;
8871
8872
  const { centerX, centerY, ringThickness, start } = layout;
8872
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
8873
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
8873
8874
  const isFullCircle = sweep >= Math.PI * 2 - FULL_SWEEP_EPSILON;
8874
8875
  if (!shadow || isFullCircle) {
8875
8876
  return [];
@@ -8907,8 +8908,8 @@ function ringNodes2(context, layout, series, index) {
8907
8908
  if (radius <= ringThickness / 2) {
8908
8909
  return [];
8909
8910
  }
8910
- const color = chunkUHKFJBY5_cjs.paint(series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[index % chunkUHKFJBY5_cjs.CHART_COLORS.length], diagnostics, chart.id);
8911
- const value = Math.max(0, chunkUHKFJBY5_cjs.finite(series.values[0], 0));
8911
+ const color = chunkSKGJXCAO_cjs.paint(series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[index % chunkSKGJXCAO_cjs.CHART_COLORS.length], diagnostics, chart.id);
8912
+ const value = Math.max(0, chunkSKGJXCAO_cjs.finite(series.values[0], 0));
8912
8913
  const fraction = range > 0 ? Math.min(1, Math.max(0, (value - axisMin) / range)) : 0;
8913
8914
  const trackStyle = {
8914
8915
  fill: { kind: "none" },
@@ -8946,7 +8947,7 @@ function ringNodes2(context, layout, series, index) {
8946
8947
  bounds,
8947
8948
  d: ringProgressPath(centerX, centerY, radius, sweep, start),
8948
8949
  detail: { of: "chartValue", series: series.id, valueIndex: 0, mark: "radial-bar-ring" },
8949
- prop: chunkUHKFJBY5_cjs.seriesValueProp(series.id, 0),
8950
+ prop: chunkSKGJXCAO_cjs.seriesValueProp(series.id, 0),
8950
8951
  style: { fill: { kind: "none" }, stroke: color, strokeWidth: ringThickness, lineCap: cap }
8951
8952
  };
8952
8953
  return [track, ...casters, progress];
@@ -8958,7 +8959,7 @@ function renderRadialBar(context) {
8958
8959
 
8959
8960
  // src/renderScene/charts/renderers/sankey/links.ts
8960
8961
  function renderSankeyLinks(context, data) {
8961
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(context.chart.shadowStyle);
8962
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(context.chart.shadowStyle);
8962
8963
  const gradient = Boolean(context.chart.config?.linkGradient);
8963
8964
  const { plot } = context;
8964
8965
  const clipPath = shadow ? `M ${plot.x} ${plot.y} H ${plot.x + plot.width} V ${plot.y + plot.height} H ${plot.x} Z` : void 0;
@@ -8979,8 +8980,8 @@ function createSankeyLinkRibbon(context, data, link, linkIndex, gradient) {
8979
8980
  bottom: data.baseY + link.targetY1
8980
8981
  };
8981
8982
  const config = context.chart.config;
8982
- const fromColor = link.color || data.nodeColors.get(link.source) || chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL;
8983
- const toColor = data.nodeColors.get(link.target) || chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL;
8983
+ const fromColor = link.color || data.nodeColors.get(link.source) || chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL;
8984
+ const toColor = data.nodeColors.get(link.target) || chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL;
8984
8985
  const fill2 = gradient ? {
8985
8986
  kind: "linear-gradient",
8986
8987
  angle: 0,
@@ -8995,9 +8996,9 @@ function createSankeyLinkRibbon(context, data, link, linkIndex, gradient) {
8995
8996
  toId: link.target,
8996
8997
  source,
8997
8998
  target,
8998
- controlX: source.x + (target.x - source.x) * Math.min(1, Math.max(0, chunkUHKFJBY5_cjs.finite(config?.sankeyLinkCurve, 0.5))),
8999
+ controlX: source.x + (target.x - source.x) * Math.min(1, Math.max(0, chunkSKGJXCAO_cjs.finite(config?.sankeyLinkCurve, 0.5))),
8999
9000
  fill: fill2,
9000
- opacity: Math.min(1, Math.max(0, chunkUHKFJBY5_cjs.finite(config?.sankeyLinkOpacity, link.color ? 0.85 : 0.45)))
9001
+ opacity: Math.min(1, Math.max(0, chunkSKGJXCAO_cjs.finite(config?.sankeyLinkOpacity, link.color ? 0.85 : 0.45)))
9001
9002
  };
9002
9003
  }
9003
9004
  function createSankeyRibbonNode(context, ribbon, shadow, clipPath, gradient) {
@@ -9038,7 +9039,7 @@ function sankeyRibbonPath(ribbon) {
9038
9039
  var OUTSIDE_LABEL_LIGHTNESS_ON_LIGHT_BG = 0.3;
9039
9040
  var OUTSIDE_LABEL_LIGHTNESS_ON_DARK_BG = 0.78;
9040
9041
  function renderSankeyNodes(context, data) {
9041
- const cornerRadius = Math.max(0, chunkUHKFJBY5_cjs.finite(context.chart.config?.barCornerRadius, 0));
9042
+ const cornerRadius = Math.max(0, chunkSKGJXCAO_cjs.finite(context.chart.config?.barCornerRadius, 0));
9042
9043
  const nodes = [];
9043
9044
  data.nodes.forEach((node) => {
9044
9045
  nodes.push(createNodeRect(context, data, node, cornerRadius));
@@ -9054,8 +9055,8 @@ function createNodeRect(context, data, node, cornerRadius) {
9054
9055
  const x = data.baseX + node.x;
9055
9056
  const y = data.baseY + node.y;
9056
9057
  const style = {
9057
- fill: { kind: "solid", color: node.color || chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL },
9058
- shadow: chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle)
9058
+ fill: { kind: "solid", color: node.color || chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL },
9059
+ shadow: chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle)
9059
9060
  };
9060
9061
  const isFirstColumn = node.column === 0;
9061
9062
  const isLastColumn = node.column === data.columnCount - 1;
@@ -9081,7 +9082,7 @@ function createNodeRect(context, data, node, cornerRadius) {
9081
9082
  id: `chart-sankey-node-${chart.id}-${node.id}`,
9082
9083
  order: nextOrder(),
9083
9084
  bounds,
9084
- d: chunkUHKFJBY5_cjs.leftRoundedRectPath(x, y, node.width, node.height, cornerRadius),
9085
+ d: chunkSKGJXCAO_cjs.leftRoundedRectPath(x, y, node.width, node.height, cornerRadius),
9085
9086
  style,
9086
9087
  detail
9087
9088
  };
@@ -9092,7 +9093,7 @@ function createNodeRect(context, data, node, cornerRadius) {
9092
9093
  id: `chart-sankey-node-${chart.id}-${node.id}`,
9093
9094
  order: nextOrder(),
9094
9095
  bounds,
9095
- d: chunkUHKFJBY5_cjs.rightRoundedRectPath(x, y, node.width, node.height, cornerRadius),
9096
+ d: chunkSKGJXCAO_cjs.rightRoundedRectPath(x, y, node.width, node.height, cornerRadius),
9096
9097
  style,
9097
9098
  detail
9098
9099
  };
@@ -9118,9 +9119,9 @@ function createNodeLabel(context, data, node) {
9118
9119
  return void 0;
9119
9120
  }
9120
9121
  const fallback = chart.textColor ?? "#0f172a";
9121
- const defaultColor = position === "inside" ? chunkUHKFJBY5_cjs.contrastTextColor(node.color) : chunkUHKFJBY5_cjs.sameHueTint(
9122
+ const defaultColor = position === "inside" ? chunkSKGJXCAO_cjs.contrastTextColor(node.color) : chunkSKGJXCAO_cjs.sameHueTint(
9122
9123
  node.color,
9123
- chunkUHKFJBY5_cjs.isLightColor(fallback) ? OUTSIDE_LABEL_LIGHTNESS_ON_DARK_BG : OUTSIDE_LABEL_LIGHTNESS_ON_LIGHT_BG
9124
+ chunkSKGJXCAO_cjs.isLightColor(fallback) ? OUTSIDE_LABEL_LIGHTNESS_ON_DARK_BG : OUTSIDE_LABEL_LIGHTNESS_ON_LIGHT_BG
9124
9125
  ) ?? fallback;
9125
9126
  const color = chart.config?.labelColor ?? defaultColor;
9126
9127
  return { ...label, color, detail: { of: "chartSeries", series: node.id, mark: "sankey-node-label" } };
@@ -9132,7 +9133,7 @@ function createOutsideLabel(context, data, node) {
9132
9133
  const y = data.baseY + node.y;
9133
9134
  const labelX2 = isLastColumn ? x - data.labelGutter + 8 : x + node.width + 6;
9134
9135
  return {
9135
- ...chunkUHKFJBY5_cjs.chartText({
9136
+ ...chunkSKGJXCAO_cjs.chartText({
9136
9137
  id: `chart-sankey-label-${chart.id}-${node.id}`,
9137
9138
  order: nextOrder(),
9138
9139
  bounds,
@@ -9157,11 +9158,11 @@ function createInsideLabel(context, data, node, orientation) {
9157
9158
  if (orientation === "vertical") {
9158
9159
  const thickness = fontSize * 1.4;
9159
9160
  const width = Math.max(1, node.height - 8);
9160
- if (chunkUHKFJBY5_cjs.estimateTextWidth(node.label, fontSize, false) > width) {
9161
+ if (chunkSKGJXCAO_cjs.estimateTextWidth(node.label, fontSize, false) > width) {
9161
9162
  return void 0;
9162
9163
  }
9163
9164
  return {
9164
- ...chunkUHKFJBY5_cjs.chartText({
9165
+ ...chunkSKGJXCAO_cjs.chartText({
9165
9166
  id,
9166
9167
  order: nextOrder(),
9167
9168
  bounds,
@@ -9178,7 +9179,7 @@ function createInsideLabel(context, data, node, orientation) {
9178
9179
  };
9179
9180
  }
9180
9181
  return {
9181
- ...chunkUHKFJBY5_cjs.chartText({
9182
+ ...chunkSKGJXCAO_cjs.chartText({
9182
9183
  id,
9183
9184
  order: nextOrder(),
9184
9185
  bounds,
@@ -9199,18 +9200,18 @@ function createSankeyRenderData(context) {
9199
9200
  const labelGutter = showLabels ? 92 : 0;
9200
9201
  const availableWidth = Math.max(1, plot.width - labelGutter * 2);
9201
9202
  const layout = layoutSankey(createNodeInputs(context), createLinkInputs(context), availableWidth, plot.height, {
9202
- nodeWidth: Math.max(1, chunkUHKFJBY5_cjs.finite(chart.config?.sankeyNodeWidth, 18)),
9203
- nodeGap: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.sankeyNodeGap, 8))
9203
+ nodeWidth: Math.max(1, chunkSKGJXCAO_cjs.finite(chart.config?.sankeyNodeWidth, 18)),
9204
+ nodeGap: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.sankeyNodeGap, 8))
9204
9205
  });
9205
9206
  return {
9206
9207
  ...layout,
9207
9208
  baseX: plot.x + labelGutter,
9208
9209
  baseY: plot.y,
9209
9210
  labelGutter,
9210
- fontSize: Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)),
9211
- labelSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.sankeyLabelSize, Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)) - 2)),
9211
+ fontSize: Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)),
9212
+ labelSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.sankeyLabelSize, Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)) - 2)),
9212
9213
  columnCount: Math.max(1, ...layout.nodes.map((node) => node.column + 1)),
9213
- nodeColors: new Map(layout.nodes.map((node) => [node.id, node.color || chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL]))
9214
+ nodeColors: new Map(layout.nodes.map((node) => [node.id, node.color || chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL]))
9214
9215
  };
9215
9216
  }
9216
9217
  function createNodeInputs(context) {
@@ -9232,7 +9233,7 @@ function createLinkInputs(context) {
9232
9233
  source: series.source,
9233
9234
  target: series.target,
9234
9235
  value: series.values[0] ?? 0,
9235
- color: series.color ? chunkUHKFJBY5_cjs.representativeColor(series.color, chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL) : void 0
9236
+ color: series.color ? chunkSKGJXCAO_cjs.representativeColor(series.color, chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL) : void 0
9236
9237
  });
9237
9238
  });
9238
9239
  return inputs;
@@ -9251,9 +9252,9 @@ function renderSankey(context) {
9251
9252
  var DEFAULT_POINT_SIZE = 4;
9252
9253
  function renderScatter(context) {
9253
9254
  const nodes = [];
9254
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(context.chart.shadowStyle);
9255
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(context.chart.shadowStyle);
9255
9256
  context.chart.series.forEach((series, seriesIndex) => {
9256
- const color = series.color ?? chunkUHKFJBY5_cjs.CHART_COLORS[seriesIndex % chunkUHKFJBY5_cjs.CHART_COLORS.length];
9257
+ const color = series.color ?? chunkSKGJXCAO_cjs.CHART_COLORS[seriesIndex % chunkSKGJXCAO_cjs.CHART_COLORS.length];
9257
9258
  const points = pixelPoints(context, seriesValuePairs(context.chart, series));
9258
9259
  points.forEach((point, pointIndex) => {
9259
9260
  nodes.push(createScatterPoint(context, series, point, pointIndex, color, shadow));
@@ -9277,8 +9278,8 @@ function createScatterPoint(context, series, point, pointIndex, color, shadow) {
9277
9278
  ry: radius,
9278
9279
  detail: { of: "chartValue", series: series.id, valueIndex: pointIndex },
9279
9280
  style: {
9280
- fill: chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id),
9281
- stroke: strokeWidth > 0 ? chunkUHKFJBY5_cjs.paint(config?.pointStrokeColor ?? color, diagnostics, chart.id) : void 0,
9281
+ fill: chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id),
9282
+ stroke: strokeWidth > 0 ? chunkSKGJXCAO_cjs.paint(config?.pointStrokeColor ?? color, diagnostics, chart.id) : void 0,
9282
9283
  strokeWidth: strokeWidth > 0 ? strokeWidth : void 0,
9283
9284
  opacity: config?.pointOpacity,
9284
9285
  shadow
@@ -9289,14 +9290,14 @@ function createScatterPoint(context, series, point, pointIndex, color, shadow) {
9289
9290
  // src/renderScene/charts/renderers/treemap/layout.ts
9290
9291
  function createTreemapLayout(context) {
9291
9292
  const { chart, plot, showLegend } = context;
9292
- const fontSize = Math.max(9, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12));
9293
+ const fontSize = Math.max(9, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12));
9293
9294
  const legendPosition = chart.legendPosition === "left" ? "left" : chart.legendPosition === "right" ? "right" : "bottom";
9294
9295
  const legendHeight = showLegend && legendPosition === "bottom" ? 48 : 0;
9295
- const cellGap = Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.cellGap, 0));
9296
+ const cellGap = Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.cellGap, 0));
9296
9297
  return {
9297
9298
  leaves: chart.series,
9298
- bands: chunkUHKFJBY5_cjs.axisBands(chart.axisY),
9299
- zones: chart.config?.zones?.length ? chart.config.zones : chunkUHKFJBY5_cjs.DEFAULT_HEATMAP_ZONES,
9299
+ bands: chunkSKGJXCAO_cjs.axisBands(chart.axisY),
9300
+ zones: chart.config?.zones?.length ? chart.config.zones : chunkSKGJXCAO_cjs.DEFAULT_HEATMAP_ZONES,
9300
9301
  fontSize,
9301
9302
  smallFontSize: Math.max(8, fontSize - 1),
9302
9303
  legendPosition,
@@ -9304,18 +9305,18 @@ function createTreemapLayout(context) {
9304
9305
  gridWidth: Math.max(1, plot.width),
9305
9306
  gridHeight: Math.max(1, plot.height - legendHeight),
9306
9307
  cellGap,
9307
- cellRadius: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.barCornerRadius, cellGap)),
9308
- headerHeight: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.headerHeight, 20)),
9309
- labelSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.tileLabelSize, Math.max(8, fontSize - 1))),
9310
- valueSize: Math.max(6, chunkUHKFJBY5_cjs.finite(chart.config?.tileValueSize, Math.max(8, fontSize - 1))),
9311
- labelPadding: Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.tileLabelPadding, 4))
9308
+ cellRadius: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.barCornerRadius, cellGap)),
9309
+ headerHeight: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.headerHeight, 20)),
9310
+ labelSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.tileLabelSize, Math.max(8, fontSize - 1))),
9311
+ valueSize: Math.max(6, chunkSKGJXCAO_cjs.finite(chart.config?.tileValueSize, Math.max(8, fontSize - 1))),
9312
+ labelPadding: Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.tileLabelPadding, 4))
9312
9313
  };
9313
9314
  }
9314
9315
  function treemapLeafValue(leaf) {
9315
9316
  return leaf.values[0] ?? 0;
9316
9317
  }
9317
9318
  function treemapLeafColor(leaf, layout) {
9318
- return leaf.color ?? chunkUHKFJBY5_cjs.zoneColorAtValue(treemapLeafValue(leaf), layout.bands, layout.zones);
9319
+ return leaf.color ?? chunkSKGJXCAO_cjs.zoneColorAtValue(treemapLeafValue(leaf), layout.bands, layout.zones);
9319
9320
  }
9320
9321
 
9321
9322
  // src/renderScene/charts/renderers/treemap/legend.ts
@@ -9340,7 +9341,7 @@ function bandStops(layout) {
9340
9341
  const zones = layout.zones.slice(0, bandCount);
9341
9342
  return zones.map((zone, index) => ({
9342
9343
  offset: bandRatio2(layout, layout.bands[index + 1] ?? layout.bands[layout.bands.length - 1]) * 100,
9343
- color: zone.color ?? chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL
9344
+ color: zone.color ?? chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL
9344
9345
  }));
9345
9346
  }
9346
9347
  function renderBottomLegend(context, layout) {
@@ -9349,7 +9350,7 @@ function renderBottomLegend(context, layout) {
9349
9350
  const barWidth = layout.gridWidth;
9350
9351
  const labelHeight = layout.fontSize + 2;
9351
9352
  const barY = plot.y + layout.gridHeight + CHART_GAP;
9352
- const barBounds = chunkUHKFJBY5_cjs.boxBounds({ x: barX, y: barY, width: barWidth, height: BAR_THICKNESS2 });
9353
+ const barBounds = chunkSKGJXCAO_cjs.boxBounds({ x: barX, y: barY, width: barWidth, height: BAR_THICKNESS2 });
9353
9354
  const stops = bandStops(layout);
9354
9355
  const bar = {
9355
9356
  type: "rect",
@@ -9363,7 +9364,7 @@ function renderBottomLegend(context, layout) {
9363
9364
  rx: 3,
9364
9365
  zoneGradient: { axis: "y", min: chart.axisY.min, max: chart.axisY.max },
9365
9366
  style: {
9366
- fill: stops.length ? { kind: "linear-gradient", angle: 0, stops } : { kind: "solid", color: chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL },
9367
+ fill: stops.length ? { kind: "linear-gradient", angle: 0, stops } : { kind: "solid", color: chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL },
9367
9368
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
9368
9369
  strokeWidth: 1
9369
9370
  }
@@ -9386,12 +9387,12 @@ function renderBottomLegend(context, layout) {
9386
9387
  const isLast = index === layout.bands.length - 1;
9387
9388
  const align = isFirst ? "left" : isLast ? "right" : "center";
9388
9389
  const frameX = isFirst ? x : isLast ? x - LABEL_SIZE : x - LABEL_SIZE / 2;
9389
- const label = chunkUHKFJBY5_cjs.chartText({
9390
+ const label = chunkSKGJXCAO_cjs.chartText({
9390
9391
  id: `chart-treemap-legend-tick-label-${chart.id}-${index}`,
9391
9392
  order: nextOrder(),
9392
9393
  bounds,
9393
9394
  frame: { x: frameX, y: barY + BAR_THICKNESS2 + TICK_LENGTH3 + ROW_GAP2, width: LABEL_SIZE, height: labelHeight },
9394
- text: chunkUHKFJBY5_cjs.formatFieldValue(value),
9395
+ text: chunkSKGJXCAO_cjs.formatFieldValue(value),
9395
9396
  chart,
9396
9397
  align
9397
9398
  });
@@ -9405,7 +9406,7 @@ function renderSideLegend(context, layout) {
9405
9406
  const barTop = plot.y;
9406
9407
  const barHeight = layout.gridHeight;
9407
9408
  const barX = side === "left" ? plot.x - CHART_GAP - BAR_THICKNESS2 : plot.x + layout.gridWidth + CHART_GAP;
9408
- const barBounds = chunkUHKFJBY5_cjs.boxBounds({ x: barX, y: barTop, width: BAR_THICKNESS2, height: barHeight });
9409
+ const barBounds = chunkSKGJXCAO_cjs.boxBounds({ x: barX, y: barTop, width: BAR_THICKNESS2, height: barHeight });
9409
9410
  const stops = bandStops(layout);
9410
9411
  const bar = {
9411
9412
  type: "rect",
@@ -9419,7 +9420,7 @@ function renderSideLegend(context, layout) {
9419
9420
  rx: 3,
9420
9421
  zoneGradient: { axis: "y", min: chart.axisY.min, max: chart.axisY.max },
9421
9422
  style: {
9422
- fill: stops.length ? { kind: "linear-gradient", angle: 270, stops } : { kind: "solid", color: chunkUHKFJBY5_cjs.DEFAULT_ZONE_FILL },
9423
+ fill: stops.length ? { kind: "linear-gradient", angle: 270, stops } : { kind: "solid", color: chunkSKGJXCAO_cjs.DEFAULT_ZONE_FILL },
9423
9424
  stroke: { kind: "solid", color: chart.gridColor ?? "#e2e8f0" },
9424
9425
  strokeWidth: 1
9425
9426
  }
@@ -9441,12 +9442,12 @@ function renderSideLegend(context, layout) {
9441
9442
  strokeWidth: 1
9442
9443
  }
9443
9444
  };
9444
- const label = chunkUHKFJBY5_cjs.chartText({
9445
+ const label = chunkSKGJXCAO_cjs.chartText({
9445
9446
  id: `chart-treemap-legend-tick-label-${chart.id}-${index}`,
9446
9447
  order: nextOrder(),
9447
9448
  bounds,
9448
9449
  frame: { x: labelX2, y: y - layout.fontSize / 2, width: LABEL_SIZE, height: layout.fontSize + 2 },
9449
- text: chunkUHKFJBY5_cjs.formatFieldValue(value),
9450
+ text: chunkSKGJXCAO_cjs.formatFieldValue(value),
9450
9451
  chart,
9451
9452
  align: side === "left" ? "right" : "left"
9452
9453
  });
@@ -9534,7 +9535,7 @@ function renderTreemapHeader(context, layout, header, index) {
9534
9535
  };
9535
9536
  const smallFontSize = Math.max(8, Math.max(9, chart.fontSize ?? 12) - 1);
9536
9537
  const label = {
9537
- ...chunkUHKFJBY5_cjs.chartText({
9538
+ ...chunkSKGJXCAO_cjs.chartText({
9538
9539
  id: `chart-treemap-header-label-${chart.id}-${index}`,
9539
9540
  order: nextOrder(),
9540
9541
  bounds,
@@ -9549,7 +9550,7 @@ function renderTreemapHeader(context, layout, header, index) {
9549
9550
  align: "center"
9550
9551
  }),
9551
9552
  fontSize: smallFontSize,
9552
- color: chunkUHKFJBY5_cjs.contrastTextColor(fill2)
9553
+ color: chunkSKGJXCAO_cjs.contrastTextColor(fill2)
9553
9554
  };
9554
9555
  return [background, label];
9555
9556
  }
@@ -9565,7 +9566,7 @@ function renderTile(context, layout, tile, nextTile) {
9565
9566
  function createTileNode(context, layout, tile, color, nextColor) {
9566
9567
  const { chart, plot, bounds, diagnostics, nextOrder } = context;
9567
9568
  const gap = layout.cellGap;
9568
- const shadow = chunkUHKFJBY5_cjs.resolveChartShadow(chart.shadowStyle);
9569
+ const shadow = chunkSKGJXCAO_cjs.resolveChartShadow(chart.shadowStyle);
9569
9570
  const clipPath = shadow ? `M ${plot.x} ${plot.y} H ${plot.x + plot.width} V ${plot.y + plot.height} H ${plot.x} Z` : void 0;
9570
9571
  const tileX = plot.x + tile.x + gap / 2;
9571
9572
  const tileY = plot.y + tile.y + gap / 2;
@@ -9582,10 +9583,10 @@ function createTileNode(context, layout, tile, color, nextColor) {
9582
9583
  kind: "linear-gradient",
9583
9584
  angle: 0,
9584
9585
  stops: [
9585
- { offset: 0, color: chunkUHKFJBY5_cjs.representativeColor(color, fallback) },
9586
- { offset: 100, color: chunkUHKFJBY5_cjs.representativeColor(nextColor, fallback) }
9586
+ { offset: 0, color: chunkSKGJXCAO_cjs.representativeColor(color, fallback) },
9587
+ { offset: 100, color: chunkSKGJXCAO_cjs.representativeColor(nextColor, fallback) }
9587
9588
  ]
9588
- } : chunkUHKFJBY5_cjs.paint(color, diagnostics, chart.id);
9589
+ } : chunkSKGJXCAO_cjs.paint(color, diagnostics, chart.id);
9589
9590
  return {
9590
9591
  type: "rect",
9591
9592
  id: `chart-treemap-tile-${chart.id}-${tile.item.leaf.id}`,
@@ -9599,7 +9600,7 @@ function createTileNode(context, layout, tile, color, nextColor) {
9599
9600
  style: {
9600
9601
  fill: fill2,
9601
9602
  stroke: { kind: "solid", color: chart.config?.tileStrokeColor ?? chart.gridColor ?? "#e2e8f0" },
9602
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.config?.tileStrokeWidth, chunkUHKFJBY5_cjs.finite(chart.gridWidth, 1)),
9603
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.config?.tileStrokeWidth, chunkSKGJXCAO_cjs.finite(chart.gridWidth, 1)),
9603
9604
  shadow,
9604
9605
  clip: clipPath ? { type: "path", d: clipPath } : void 0
9605
9606
  }
@@ -9614,12 +9615,12 @@ function createTileLabel(context, layout, tile, color) {
9614
9615
  const height = Math.max(1, tile.height - gap - pad * 1.5);
9615
9616
  const x = plot.x + tile.x + gap / 2 + pad;
9616
9617
  const y = plot.y + tile.y + gap / 2 + pad * 0.75;
9617
- const textColor = chart.config?.tileTextColor ?? chunkUHKFJBY5_cjs.contrastTextColor(chunkUHKFJBY5_cjs.representativeColor(color, "#ffffff"));
9618
+ const textColor = chart.config?.tileTextColor ?? chunkSKGJXCAO_cjs.contrastTextColor(chunkSKGJXCAO_cjs.representativeColor(color, "#ffffff"));
9618
9619
  const lineHeight = layout.labelSize * 1.2;
9619
9620
  const maxLines = Math.max(1, Math.floor(height / lineHeight));
9620
- const labelLines = chunkUHKFJBY5_cjs.wrapText(leaf.label, width, layout.labelSize).slice(0, maxLines).map((line) => chunkUHKFJBY5_cjs.ellipsizeToWidth(line, width, layout.labelSize, true));
9621
+ const labelLines = chunkSKGJXCAO_cjs.wrapText(leaf.label, width, layout.labelSize).slice(0, maxLines).map((line) => chunkSKGJXCAO_cjs.ellipsizeToWidth(line, width, layout.labelSize, true));
9621
9622
  const label = {
9622
- ...chunkUHKFJBY5_cjs.chartText({
9623
+ ...chunkSKGJXCAO_cjs.chartText({
9623
9624
  id: `chart-treemap-label-${chart.id}-${leaf.id}`,
9624
9625
  order: nextOrder(),
9625
9626
  bounds,
@@ -9633,12 +9634,12 @@ function createTileLabel(context, layout, tile, color) {
9633
9634
  color: textColor
9634
9635
  };
9635
9636
  const valueText = String(value);
9636
- const valueFits = labelLines.length * lineHeight + layout.valueSize * 1.2 <= height + 2 && chunkUHKFJBY5_cjs.estimateTextWidth(valueText, layout.valueSize, false) <= width;
9637
+ const valueFits = labelLines.length * lineHeight + layout.valueSize * 1.2 <= height + 2 && chunkSKGJXCAO_cjs.estimateTextWidth(valueText, layout.valueSize, false) <= width;
9637
9638
  if (chart.config?.showTileValues === false || !valueFits) {
9638
9639
  return [label];
9639
9640
  }
9640
9641
  const valueNode = {
9641
- ...chunkUHKFJBY5_cjs.chartText({
9642
+ ...chunkSKGJXCAO_cjs.chartText({
9642
9643
  id: `chart-treemap-value-${chart.id}-${leaf.id}`,
9643
9644
  order: nextOrder(),
9644
9645
  bounds,
@@ -9715,7 +9716,7 @@ function buildCartesianChart(foundation) {
9715
9716
 
9716
9717
  // src/renderScene/charts/chartFrame.ts
9717
9718
  function scaleDetail(chart, plot) {
9718
- const horizontal = chunkUHKFJBY5_cjs.isHorizontalBar(chart);
9719
+ const horizontal = chunkSKGJXCAO_cjs.isHorizontalBar(chart);
9719
9720
  const range = horizontal ? `${plot.x},${plot.width}` : `${plot.y},${plot.height}`;
9720
9721
  return {
9721
9722
  of: "chartScale",
@@ -9723,7 +9724,7 @@ function scaleDetail(chart, plot) {
9723
9724
  };
9724
9725
  }
9725
9726
  function pieDetail(chart, plot) {
9726
- const { outerRadius, innerRadius, cornerRadius } = chunkUHKFJBY5_cjs.resolvePieRadii(
9727
+ const { outerRadius, innerRadius, cornerRadius } = chunkSKGJXCAO_cjs.resolvePieRadii(
9727
9728
  plot.width,
9728
9729
  plot.height,
9729
9730
  chart.config?.innerRadius,
@@ -9736,8 +9737,8 @@ function pieDetail(chart, plot) {
9736
9737
  }
9737
9738
  function polarAreaDetail(chart, plot) {
9738
9739
  const maxRadius = Math.max(1, Math.min(plot.width, plot.height) / 2 - 4);
9739
- const innerRadius = Math.max(0, Math.min(chunkUHKFJBY5_cjs.finite(chart.config?.innerRadius, 0), maxRadius - 1));
9740
- const cornerRadius = Math.max(0, chunkUHKFJBY5_cjs.finite(chart.config?.pieCornerRadius, 0));
9740
+ const innerRadius = Math.max(0, Math.min(chunkSKGJXCAO_cjs.finite(chart.config?.innerRadius, 0), maxRadius - 1));
9741
+ const cornerRadius = Math.max(0, chunkSKGJXCAO_cjs.finite(chart.config?.pieCornerRadius, 0));
9741
9742
  return {
9742
9743
  of: "pieGeometry",
9743
9744
  pieGeometry: `${plot.x + plot.width / 2},${plot.y + plot.height / 2},${maxRadius},${innerRadius},${cornerRadius}`
@@ -9746,8 +9747,8 @@ function polarAreaDetail(chart, plot) {
9746
9747
  function radarDetail(chart, plot) {
9747
9748
  const configuredCount = (chart.config?.categories?.filter(Boolean) ?? []).length;
9748
9749
  const dataCount = Math.max(0, ...chart.series.map((series) => series.values.length));
9749
- const count = chunkUHKFJBY5_cjs.radarCategoryCount(configuredCount, dataCount);
9750
- const radius = chunkUHKFJBY5_cjs.radarRadius(plot.width, plot.height, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12), chart.showAxisLabels !== false);
9750
+ const count = chunkSKGJXCAO_cjs.radarCategoryCount(configuredCount, dataCount);
9751
+ const radius = chunkSKGJXCAO_cjs.radarRadius(plot.width, plot.height, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12), chart.showAxisLabels !== false);
9751
9752
  const centerX = plot.x + plot.width / 2;
9752
9753
  const centerY = plot.y + plot.height / 2;
9753
9754
  const curved = chart.chartType === "radial" ? 1 : 0;
@@ -9781,9 +9782,9 @@ function buildChartFrame(chart, bounds, plot, order) {
9781
9782
  height: chart.height,
9782
9783
  rx: chart.cornerRadius ?? 12,
9783
9784
  style: {
9784
- fill: chunkUHKFJBY5_cjs.paint(chart.fillColor ?? "#ffffff", [], chart.id),
9785
+ fill: chunkSKGJXCAO_cjs.paint(chart.fillColor ?? "#ffffff", [], chart.id),
9785
9786
  stroke: { kind: "solid", color: chart.strokeColor ?? "#475569" },
9786
- strokeWidth: chunkUHKFJBY5_cjs.finite(chart.strokeWidth, 1)
9787
+ strokeWidth: chunkSKGJXCAO_cjs.finite(chart.strokeWidth, 1)
9787
9788
  }
9788
9789
  };
9789
9790
  const detail = frameDetail(chart, plot);
@@ -9843,7 +9844,7 @@ function buildChartTitle(chart, bounds, plot, renderOrder) {
9843
9844
  }
9844
9845
  return [
9845
9846
  {
9846
- ...chunkUHKFJBY5_cjs.chartText({
9847
+ ...chunkSKGJXCAO_cjs.chartText({
9847
9848
  id: `chart-title-${chart.id}`,
9848
9849
  order: renderOrder.next(),
9849
9850
  bounds,
@@ -9854,8 +9855,8 @@ function buildChartTitle(chart, bounds, plot, renderOrder) {
9854
9855
  }),
9855
9856
  ...chart.titleColor ? { color: chart.titleColor } : {},
9856
9857
  fontWeight: chart.titleWeight ?? "bold",
9857
- fontSize: chunkUHKFJBY5_cjs.finite(chart.titleSize, Math.max(10, chunkUHKFJBY5_cjs.finite(chart.fontSize, 12)) + 2),
9858
- prop: chunkUHKFJBY5_cjs.CHART_TITLE_PROP
9858
+ fontSize: chunkSKGJXCAO_cjs.finite(chart.titleSize, Math.max(10, chunkSKGJXCAO_cjs.finite(chart.fontSize, 12)) + 2),
9859
+ prop: chunkSKGJXCAO_cjs.CHART_TITLE_PROP
9859
9860
  }
9860
9861
  ];
9861
9862
  }
@@ -9908,7 +9909,7 @@ function buildChart(chart, index, diagnostics) {
9908
9909
  // src/renderScene/charts/artifacts.ts
9909
9910
  function buildCharts(charts, diagnostics) {
9910
9911
  return charts.flatMap(
9911
- (chart, index) => chunkUHKFJBY5_cjs.tag(buildChart(chart, index, diagnostics), "chart", chart.id, chart.chartType, chart.title ?? "Chart")
9912
+ (chart, index) => chunkSKGJXCAO_cjs.tag(buildChart(chart, index, diagnostics), "chart", chart.id, chart.chartType, chart.title ?? "Chart")
9912
9913
  );
9913
9914
  }
9914
9915
 
@@ -10009,7 +10010,7 @@ function visibleBounds(node) {
10009
10010
  }
10010
10011
  function sceneBounds(nodes) {
10011
10012
  if (!nodes.length) {
10012
- return chunkUHKFJBY5_cjs.EMPTY_BOUNDS;
10013
+ return chunkSKGJXCAO_cjs.EMPTY_BOUNDS;
10013
10014
  }
10014
10015
  const all = nodes.map(visibleBounds);
10015
10016
  return {
@@ -10024,8 +10025,8 @@ function stackingOf(input) {
10024
10025
  const add = (role, objects, legacyBase) => {
10025
10026
  objects.forEach((object, index) => {
10026
10027
  stacking.set(`${role}:${object.id}`, {
10027
- rank: chunkUHKFJBY5_cjs.stackRank(object),
10028
- sequence: chunkUHKFJBY5_cjs.stackSequence(object, legacyBase + index)
10028
+ rank: chunkSKGJXCAO_cjs.stackRank(object),
10029
+ sequence: chunkSKGJXCAO_cjs.stackSequence(object, legacyBase + index)
10029
10030
  });
10030
10031
  });
10031
10032
  };
@@ -10522,31 +10523,31 @@ function chartSeriesAttrs(detail) {
10522
10523
  ];
10523
10524
  }
10524
10525
  function frameBoundaryAttrs(detail) {
10525
- return [`${chunkUHKFJBY5_cjs.CORNER_RADIUS_ATTR}="${num2(detail.cornerRadius)}"`, `${chunkUHKFJBY5_cjs.SQUARE_CORNER_ATTR}="${detail.squareCorner}"`];
10526
+ return [`${chunkSKGJXCAO_cjs.CORNER_RADIUS_ATTR}="${num2(detail.cornerRadius)}"`, `${chunkSKGJXCAO_cjs.SQUARE_CORNER_ATTR}="${detail.squareCorner}"`];
10526
10527
  }
10527
10528
  function declaredBoundsAttr(bounds) {
10528
- return `${chunkUHKFJBY5_cjs.SYMBOL_BOUNDS_ATTR}="${num2(bounds.x)},${num2(bounds.y)},${num2(bounds.width)},${num2(bounds.height)}"`;
10529
+ return `${chunkSKGJXCAO_cjs.SYMBOL_BOUNDS_ATTR}="${num2(bounds.x)},${num2(bounds.y)},${num2(bounds.width)},${num2(bounds.height)}"`;
10529
10530
  }
10530
10531
  function symbolGeometryAttrs(detail) {
10531
10532
  return [
10532
- `${chunkUHKFJBY5_cjs.SYMBOL_POINTS_ATTR}="${xml(JSON.stringify(detail.points))}"`,
10533
- `${chunkUHKFJBY5_cjs.SYMBOL_TENSION_ATTR}="${num2(detail.tension)}"`,
10533
+ `${chunkSKGJXCAO_cjs.SYMBOL_POINTS_ATTR}="${xml(JSON.stringify(detail.points))}"`,
10534
+ `${chunkSKGJXCAO_cjs.SYMBOL_TENSION_ATTR}="${num2(detail.tension)}"`,
10534
10535
  declaredBoundsAttr(detail.declaredBounds)
10535
10536
  ];
10536
10537
  }
10537
10538
  function pathGeometryAttrs(detail) {
10538
10539
  return [
10539
- `${chunkUHKFJBY5_cjs.PATH_POINTS_ATTR}="${xml(JSON.stringify(detail.points))}"`,
10540
- `${chunkUHKFJBY5_cjs.PATH_TENSION_ATTR}="${num2(detail.tension)}"`,
10541
- `${chunkUHKFJBY5_cjs.PATH_CLOSED_ATTR}="${detail.closed}"`
10540
+ `${chunkSKGJXCAO_cjs.PATH_POINTS_ATTR}="${xml(JSON.stringify(detail.points))}"`,
10541
+ `${chunkSKGJXCAO_cjs.PATH_TENSION_ATTR}="${num2(detail.tension)}"`,
10542
+ `${chunkSKGJXCAO_cjs.PATH_CLOSED_ATTR}="${detail.closed}"`
10542
10543
  ];
10543
10544
  }
10544
10545
  function isometricGeometryAttrs(detail) {
10545
10546
  return [
10546
- `${chunkUHKFJBY5_cjs.ISOMETRIC_SIZE_ATTR}="${num2(detail.width)},${num2(detail.height)},${num2(detail.depth)}"`,
10547
- `${chunkUHKFJBY5_cjs.CORNER_RADIUS_ATTR}="${num2(detail.cornerRadius)}"`,
10547
+ `${chunkSKGJXCAO_cjs.ISOMETRIC_SIZE_ATTR}="${num2(detail.width)},${num2(detail.height)},${num2(detail.depth)}"`,
10548
+ `${chunkSKGJXCAO_cjs.CORNER_RADIUS_ATTR}="${num2(detail.cornerRadius)}"`,
10548
10549
  declaredBoundsAttr(detail.bounds),
10549
- `${chunkUHKFJBY5_cjs.ISOMETRIC_LABEL_OFFSET_ATTR}="${num2(detail.labelOffsetX)},${num2(detail.labelOffsetY)}"`
10550
+ `${chunkSKGJXCAO_cjs.ISOMETRIC_LABEL_OFFSET_ATTR}="${num2(detail.labelOffsetX)},${num2(detail.labelOffsetY)}"`
10550
10551
  ];
10551
10552
  }
10552
10553
  function linkDetailAttrs(detail) {
@@ -10693,7 +10694,7 @@ function renderSvgDocument(scene, options = {}) {
10693
10694
  const nodes = options.linkHitAreas ? withLinkHitAreas(scene.nodes) : scene.nodes;
10694
10695
  const body = nodes.map((node) => nodeSvg(node, defs)).join("\n ");
10695
10696
  const declaration = options.includeXmlDeclaration === false ? "" : '<?xml version="1.0" encoding="UTF-8"?>\n';
10696
- const svg = `${declaration}<svg xmlns="http://www.w3.org/2000/svg" width="${num2(width)}px" height="${num2(height)}px" viewBox="${viewBox}" role="img" data-sf-contract="${chunkUHKFJBY5_cjs.DOM_CONTRACT_VERSION}">
10697
+ const svg = `${declaration}<svg xmlns="http://www.w3.org/2000/svg" width="${num2(width)}px" height="${num2(height)}px" viewBox="${viewBox}" role="img" data-sf-contract="${chunkSKGJXCAO_cjs.DOM_CONTRACT_VERSION}">
10697
10698
  <defs>${defs.entries.join("")}</defs>
10698
10699
  ${body}
10699
10700
  </svg>`;
@@ -10713,9 +10714,9 @@ function renderCanvas(input, options = {}) {
10713
10714
  }
10714
10715
  var SCENE_CACHE_LIMIT = 50;
10715
10716
  var sceneCache = /* @__PURE__ */ new Map();
10716
- var cachedForRegistry = chunkUHKFJBY5_cjs.componentRegistryVersion();
10717
+ var cachedForRegistry = chunkSKGJXCAO_cjs.componentRegistryVersion();
10717
10718
  function cachedRenderScene(source) {
10718
- const registry = chunkUHKFJBY5_cjs.componentRegistryVersion();
10719
+ const registry = chunkSKGJXCAO_cjs.componentRegistryVersion();
10719
10720
  if (registry !== cachedForRegistry) {
10720
10721
  sceneCache.clear();
10721
10722
  cachedForRegistry = registry;
@@ -10747,7 +10748,7 @@ function render(source, options = {}) {
10747
10748
  var SCENE_ORDER_BASE = 1e4;
10748
10749
  function defineComponent(definition) {
10749
10750
  const { scene, ...descriptor } = definition;
10750
- const unregisterDescriptor = chunkUHKFJBY5_cjs.registerComponentDescriptor(descriptor);
10751
+ const unregisterDescriptor = chunkSKGJXCAO_cjs.registerComponentDescriptor(descriptor);
10751
10752
  const unregisterBuilder = registerComponentBuilder(
10752
10753
  descriptor.type,
10753
10754
  (component, index) => scene(component, { order: SCENE_ORDER_BASE + index })
@@ -10766,5 +10767,5 @@ exports.render = render;
10766
10767
  exports.renderCanvas = renderCanvas;
10767
10768
  exports.sflToRenderInput = sflToRenderInput;
10768
10769
  exports.sliderReach = sliderReach;
10769
- //# sourceMappingURL=chunk-K5PGMZAD.cjs.map
10770
- //# sourceMappingURL=chunk-K5PGMZAD.cjs.map
10770
+ //# sourceMappingURL=chunk-ZE2KRWOM.cjs.map
10771
+ //# sourceMappingURL=chunk-ZE2KRWOM.cjs.map