@odoo/o-spreadsheet 18.0.71 → 18.0.73

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.
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 18.0.71
6
- * @date 2026-06-17T08:50:04.188Z
7
- * @hash 18d4601
5
+ * @version 18.0.73
6
+ * @date 2026-07-01T05:00:54.172Z
7
+ * @hash 1a9c761
8
8
  */
9
9
 
10
10
  import { Component, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
@@ -185,7 +185,7 @@ const GRAY_300 = "#D8DADD";
185
185
  const GRAY_200 = "#E7E9ED";
186
186
  const GRAY_100 = "#F9FAFB";
187
187
  const TEXT_BODY = "#374151";
188
- const TEXT_BODY_MUTED = TEXT_BODY + "C2";
188
+ const TEXT_BODY_MUTED = "#374151C2";
189
189
  const TEXT_HEADING = "#111827";
190
190
  const PRIMARY_BUTTON_BG = "#714B67";
191
191
  const PRIMARY_BUTTON_HOVER_BG = "#624159";
@@ -291,9 +291,6 @@ const COLOR_PICKER_DEFAULTS = [
291
291
  ];
292
292
  const DEFAULT_CELL_HEIGHT = 23;
293
293
  const FOOTER_HEIGHT = 2 * 23;
294
- const MENU_SEPARATOR_BORDER_WIDTH = 1;
295
- const MENU_SEPARATOR_PADDING = 5;
296
- const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
297
294
  const DEFAULT_STYLE = {
298
295
  align: "left",
299
296
  verticalAlign: "bottom",
@@ -313,7 +310,7 @@ const DEFAULT_NUMBER_STYLE = {
313
310
  const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
314
311
  const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
315
312
  const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
316
- const DEFAULT_FONT = "'Roboto', arial";
313
+ const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
317
314
  const DEFAULT_BORDER_DESC = {
318
315
  style: "thin",
319
316
  color: "#000000"
@@ -1489,7 +1486,7 @@ function toXC(col, row, rangePart = {
1489
1486
  function recomputeZones(zones, zonesToRemove = []) {
1490
1487
  if (zones.length <= 1 && zonesToRemove.length === 0) return zones;
1491
1488
  const profilesStartingPosition = [0];
1492
- const profiles = new Map([[0, []]]);
1489
+ const profiles = /* @__PURE__ */ new Map([[0, []]]);
1493
1490
  modifyProfiles(profilesStartingPosition, profiles, zones, false);
1494
1491
  modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
1495
1492
  return constructZonesFromProfiles(profilesStartingPosition, profiles);
@@ -2723,12 +2720,10 @@ const getNumberRegex = memoize(function getNumberRegex(locale) {
2723
2720
  const pIntegerAndDecimals = `(?:\\d+(?:${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(?:${decimalSeparator}\\d*)?)`;
2724
2721
  const pOnlyDecimals = `(?:${decimalSeparator}\\d+)`;
2725
2722
  const pNumber = "(?:\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(?:e(?:\\+|-)?\\d+)?(?:\\s*%)?";
2726
- const pMinus = "(?:\\s*-)?";
2727
- const pCurrencyFormat = "(?:\\s*[\\$€])?";
2728
2723
  const pNumberExp = "^(?:(?:" + [
2729
- pMinus + pCurrencyFormat + pNumber,
2730
- pMinus + pNumber + pCurrencyFormat,
2731
- pCurrencyFormat + pMinus + pNumber
2724
+ "(?:\\s*-)?(?:\\s*[\\$€])?" + pNumber,
2725
+ "(?:\\s*-)?" + pNumber + "(?:\\s*[\\$€])?",
2726
+ "(?:\\s*[\\$€])?(?:\\s*-)?" + pNumber
2732
2727
  ].join(")|(?:") + "))$";
2733
2728
  return new RegExp(pNumberExp, "i");
2734
2729
  });
@@ -2791,7 +2786,7 @@ function isPositionDependent(cmd) {
2791
2786
  function isZoneDependent(cmd) {
2792
2787
  return "sheetId" in cmd && "zone" in cmd;
2793
2788
  }
2794
- const invalidateEvaluationCommands = new Set([
2789
+ const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
2795
2790
  "RENAME_SHEET",
2796
2791
  "DELETE_SHEET",
2797
2792
  "CREATE_SHEET",
@@ -2810,7 +2805,7 @@ const invalidateEvaluationCommands = new Set([
2810
2805
  "REMOVE_PIVOT",
2811
2806
  "DUPLICATE_PIVOT"
2812
2807
  ]);
2813
- const invalidateChartEvaluationCommands = new Set([
2808
+ const invalidateChartEvaluationCommands = /* @__PURE__ */ new Set([
2814
2809
  "EVALUATE_CELLS",
2815
2810
  "UPDATE_CELL",
2816
2811
  "UNHIDE_COLUMNS_ROWS",
@@ -2828,20 +2823,20 @@ const invalidateChartEvaluationCommands = new Set([
2828
2823
  "UNDO",
2829
2824
  "REDO"
2830
2825
  ]);
2831
- const invalidateDependenciesCommands = new Set(["MOVE_RANGES"]);
2832
- const invalidateCFEvaluationCommands = new Set([
2826
+ const invalidateDependenciesCommands = /* @__PURE__ */ new Set(["MOVE_RANGES"]);
2827
+ const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
2833
2828
  "EVALUATE_CELLS",
2834
2829
  "ADD_CONDITIONAL_FORMAT",
2835
2830
  "REMOVE_CONDITIONAL_FORMAT",
2836
2831
  "CHANGE_CONDITIONAL_FORMAT_PRIORITY"
2837
2832
  ]);
2838
- const invalidateBordersCommands = new Set([
2833
+ const invalidateBordersCommands = /* @__PURE__ */ new Set([
2839
2834
  "AUTOFILL_CELL",
2840
2835
  "SET_BORDER",
2841
2836
  "SET_ZONE_BORDERS",
2842
2837
  "SET_BORDERS_ON_TARGET"
2843
2838
  ]);
2844
- const readonlyAllowedCommands = new Set([
2839
+ const readonlyAllowedCommands = /* @__PURE__ */ new Set([
2845
2840
  "START",
2846
2841
  "ACTIVATE_SHEET",
2847
2842
  "COPY",
@@ -2851,7 +2846,7 @@ const readonlyAllowedCommands = new Set([
2851
2846
  "SET_FORMULA_VISIBILITY",
2852
2847
  "UPDATE_FILTER"
2853
2848
  ]);
2854
- const coreTypes = new Set([
2849
+ const coreTypes = /* @__PURE__ */ new Set([
2855
2850
  "UPDATE_CELL",
2856
2851
  "UPDATE_CELL_POSITION",
2857
2852
  "CLEAR_CELL",
@@ -4944,7 +4939,6 @@ function getDateCriterionFormattedValues(values, locale) {
4944
4939
  //#region src/helpers/edge_scrolling.ts
4945
4940
  const MAX_DELAY = 140;
4946
4941
  const MIN_DELAY = 20;
4947
- const ACCELERATION = .035;
4948
4942
  /**
4949
4943
  * Decreasing exponential function used to determine the "speed" of edge-scrolling
4950
4944
  * as the timeout delay.
@@ -4952,7 +4946,7 @@ const ACCELERATION = .035;
4952
4946
  * Returns a timeout delay in milliseconds.
4953
4947
  */
4954
4948
  function scrollDelay(value) {
4955
- return 20 + (140 - 20) * Math.exp(-ACCELERATION * (value - 1));
4949
+ return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
4956
4950
  }
4957
4951
 
4958
4952
  //#endregion
@@ -5584,7 +5578,7 @@ var UuidGenerator = class {
5584
5578
  return String(this.fastIdStart);
5585
5579
  } else if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
5586
5580
  const n = Number(c);
5587
- return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
5581
+ return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
5588
5582
  });
5589
5583
  else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
5590
5584
  var r = Math.random() * 16 | 0;
@@ -5601,7 +5595,7 @@ var UuidGenerator = class {
5601
5595
  return String(this.fastIdStart);
5602
5596
  } else if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
5603
5597
  const n = Number(c);
5604
- return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
5598
+ return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
5605
5599
  });
5606
5600
  else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
5607
5601
  var r = Math.random() * 16 | 0;
@@ -7146,10 +7140,10 @@ function toNormalizedPivotValue(dimension, groupValue) {
7146
7140
  type: dimension.type
7147
7141
  }));
7148
7142
  if (groupValueString.toLowerCase() === "false") return false;
7149
- return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension.granularity);
7143
+ return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension);
7150
7144
  }
7151
- function normalizeDateTime(value, granularity) {
7152
- return pivotTimeAdapter(granularity ?? "month").normalizeFunctionValue(value);
7145
+ function normalizeDateTime(value, dimension) {
7146
+ return pivotTimeAdapter(dimension.granularity ?? "month").normalizeFunctionValue(value);
7153
7147
  }
7154
7148
  function toFunctionPivotValue(value, dimension) {
7155
7149
  if (value === null) return `"null"`;
@@ -32693,7 +32687,7 @@ const ITEM_EDGE_LENGTH = 18;
32693
32687
  const ITEMS_PER_LINE = 10;
32694
32688
  const MAGNIFIER_EDGE = 16;
32695
32689
  const ITEM_GAP = 2;
32696
- const CONTENT_WIDTH = ITEMS_PER_LINE * (ITEM_EDGE_LENGTH + 2 * ITEM_BORDER_WIDTH) + (ITEMS_PER_LINE - 1) * ITEM_GAP;
32690
+ const CONTENT_WIDTH = 218;
32697
32691
  const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
32698
32692
  const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
32699
32693
  css`
@@ -32705,7 +32699,7 @@ css`
32705
32699
  line-height: 1.2;
32706
32700
  overflow-y: auto;
32707
32701
  overflow-x: hidden;
32708
- width: ${CONTENT_WIDTH + 2 * PICKER_PADDING}px;
32702
+ width: ${234}px;
32709
32703
 
32710
32704
  .o-color-picker-section-name {
32711
32705
  margin: 0px ${ITEM_BORDER_WIDTH}px;
@@ -32777,14 +32771,14 @@ css`
32777
32771
  }
32778
32772
 
32779
32773
  .o-custom-selector {
32780
- padding: ${PICKER_PADDING + 2}px ${PICKER_PADDING}px;
32774
+ padding: ${10}px ${PICKER_PADDING}px;
32781
32775
  position: relative;
32782
32776
  .o-gradient {
32783
32777
  margin-bottom: ${MAGNIFIER_EDGE / 2}px;
32784
32778
  border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
32785
32779
  box-sizing: border-box;
32786
- width: ${INNER_GRADIENT_WIDTH + 2 * ITEM_BORDER_WIDTH}px;
32787
- height: ${INNER_GRADIENT_HEIGHT + 2 * ITEM_BORDER_WIDTH}px;
32780
+ width: ${218}px;
32781
+ height: ${188}px;
32788
32782
  position: relative;
32789
32783
  }
32790
32784
 
@@ -32925,8 +32919,8 @@ var ColorPicker = class extends Component {
32925
32919
  const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
32926
32920
  const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
32927
32921
  return cssPropertiesToCss({
32928
- left: `${-MAGNIFIER_EDGE / 2 + left}px`,
32929
- top: `${-MAGNIFIER_EDGE / 2 + top}px`,
32922
+ left: `${-16 / 2 + left}px`,
32923
+ top: `${-16 / 2 + top}px`,
32930
32924
  background: hslaToHex(this.state.currentHslaColor)
32931
32925
  });
32932
32926
  }
@@ -38658,8 +38652,8 @@ var PivotRuntimeDefinition = class {
38658
38652
  rows;
38659
38653
  constructor(definition, fields) {
38660
38654
  this.measures = definition.measures.map((measure) => createMeasure(fields, measure));
38661
- this.columns = definition.columns.map((dimension) => createPivotDimension(fields, dimension));
38662
- this.rows = definition.rows.map((dimension) => createPivotDimension(fields, dimension));
38655
+ this.columns = definition.columns.map((dimension) => this.createPivotDimension(fields, dimension));
38656
+ this.rows = definition.rows.map((dimension) => this.createPivotDimension(fields, dimension));
38663
38657
  }
38664
38658
  getDimension(nameWithGranularity) {
38665
38659
  const dimension = this.columns.find((d) => d.nameWithGranularity === nameWithGranularity) || this.rows.find((d) => d.nameWithGranularity === nameWithGranularity);
@@ -38671,6 +38665,40 @@ var PivotRuntimeDefinition = class {
38671
38665
  if (!measure) throw new EvaluationError(_t("Field %s is not a measure", id));
38672
38666
  return measure;
38673
38667
  }
38668
+ createPivotDimension(fields, dimension) {
38669
+ const field = fields[dimension.fieldName];
38670
+ const type = field?.type ?? "integer";
38671
+ const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
38672
+ return {
38673
+ /**
38674
+ * Get the display name of the dimension
38675
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
38676
+ */
38677
+ displayName: field?.string ?? dimension.fieldName,
38678
+ /**
38679
+ * Get the name of the dimension, as it is stored in the pivot formula
38680
+ * e.g. "stage_id", "create_date:month"
38681
+ */
38682
+ nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
38683
+ /**
38684
+ * Get the name of the field of the dimension
38685
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
38686
+ */
38687
+ fieldName: dimension.fieldName,
38688
+ /**
38689
+ * Get the aggregate operator of the dimension
38690
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
38691
+ */
38692
+ granularity,
38693
+ /**
38694
+ * Get the type of the field of the dimension
38695
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
38696
+ */
38697
+ type,
38698
+ order: dimension.order,
38699
+ isValid: !!field
38700
+ };
38701
+ }
38674
38702
  };
38675
38703
  function createMeasure(fields, measure) {
38676
38704
  const fieldName = measure.fieldName;
@@ -38714,40 +38742,6 @@ function createMeasure(fields, measure) {
38714
38742
  display: measure.display
38715
38743
  };
38716
38744
  }
38717
- function createPivotDimension(fields, dimension) {
38718
- const field = fields[dimension.fieldName];
38719
- const type = field?.type ?? "integer";
38720
- const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
38721
- return {
38722
- /**
38723
- * Get the display name of the dimension
38724
- * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
38725
- */
38726
- displayName: field?.string ?? dimension.fieldName,
38727
- /**
38728
- * Get the name of the dimension, as it is stored in the pivot formula
38729
- * e.g. "stage_id", "create_date:month"
38730
- */
38731
- nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
38732
- /**
38733
- * Get the name of the field of the dimension
38734
- * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
38735
- */
38736
- fieldName: dimension.fieldName,
38737
- /**
38738
- * Get the aggregate operator of the dimension
38739
- * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
38740
- */
38741
- granularity,
38742
- /**
38743
- * Get the type of the field of the dimension
38744
- * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
38745
- */
38746
- type,
38747
- order: dimension.order,
38748
- isValid: !!field
38749
- };
38750
- }
38751
38745
 
38752
38746
  //#endregion
38753
38747
  //#region src/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.ts
@@ -41397,11 +41391,11 @@ var FigureComponent = class extends Component {
41397
41391
  getResizerPosition(resizer) {
41398
41392
  const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
41399
41393
  const style = {};
41400
- if (resizer.includes("top")) style.top = `${-anchorCenteringOffset}px`;
41401
- else if (resizer.includes("bottom")) style.bottom = `${-anchorCenteringOffset}px`;
41394
+ if (resizer.includes("top")) style.top = `-3px`;
41395
+ else if (resizer.includes("bottom")) style.bottom = `-3px`;
41402
41396
  else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
41403
- if (resizer.includes("left")) style.left = `${-anchorCenteringOffset}px`;
41404
- else if (resizer.includes("right")) style.right = `${-anchorCenteringOffset}px`;
41397
+ if (resizer.includes("left")) style.left = `-3px`;
41398
+ else if (resizer.includes("right")) style.right = `-3px`;
41405
41399
  else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
41406
41400
  return cssPropertiesToCss(style);
41407
41401
  }
@@ -52434,6 +52428,9 @@ var CustomColorsPlugin = class extends UIPlugin {
52434
52428
  case "CREATE_CHART":
52435
52429
  this.tryToAddColors(this.getChartColors(cmd.id));
52436
52430
  break;
52431
+ case "COLOR_SHEET":
52432
+ if (cmd.color) this.tryToAddColors([cmd.color]);
52433
+ break;
52437
52434
  case "UPDATE_CELL":
52438
52435
  case "ADD_CONDITIONAL_FORMAT":
52439
52436
  case "SET_BORDER":
@@ -52456,8 +52453,12 @@ var CustomColorsPlugin = class extends UIPlugin {
52456
52453
  }
52457
52454
  computeCustomColors() {
52458
52455
  let usedColors = [];
52459
- for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
52460
- return [...new Set([...usedColors])];
52456
+ for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getSheetColors(sheetId), this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
52457
+ return [.../* @__PURE__ */ new Set([...usedColors])];
52458
+ }
52459
+ getSheetColors(sheetId) {
52460
+ const sheet = this.getters.getSheet(sheetId);
52461
+ return sheet.color ? [sheet.color] : [];
52461
52462
  }
52462
52463
  getColorsFromCells(sheetId) {
52463
52464
  const cells = Object.values(this.getters.getCells(sheetId));
@@ -56627,7 +56628,7 @@ var TableComputedStylePlugin = class extends UIPlugin {
56627
56628
  };
56628
56629
  }
56629
56630
  };
56630
- const invalidateTableStyleCommandsSet = new Set([
56631
+ const invalidateTableStyleCommandsSet = /* @__PURE__ */ new Set([
56631
56632
  "HIDE_COLUMNS_ROWS",
56632
56633
  "UNHIDE_COLUMNS_ROWS",
56633
56634
  "UNFOLD_HEADER_GROUP",
@@ -60017,11 +60018,14 @@ var BottomBarSheet = class extends Component {
60017
60018
  }
60018
60019
  });
60019
60020
  this.DOMFocusableElementStore = useStore(DOMFocusableElementStore);
60020
- useExternalListener(window, "click", () => this.state.pickerOpened = false);
60021
+ useExternalListener(window, "click", this.onExternalClick.bind(this), { capture: true });
60021
60022
  useEffect((sheetId) => {
60022
60023
  if (this.props.sheetId === sheetId) this.scrollToSheet();
60023
60024
  }, () => [this.env.model.getters.getActiveSheetId()]);
60024
60025
  }
60026
+ onExternalClick(ev) {
60027
+ if (!ev.target.closest(".o-color-picker")) this.state.pickerOpened = false;
60028
+ }
60025
60029
  focusInputAndSelectContent() {
60026
60030
  if (!this.state.isEditing || !this.sheetNameRef.el) return;
60027
60031
  this.sheetNameRef.el.focus();
@@ -60118,6 +60122,8 @@ var BottomBarSheet = class extends Component {
60118
60122
  },
60119
60123
  openSheetColorPickerCallback: () => {
60120
60124
  this.state.pickerOpened = true;
60125
+ const sheet = this.env.model.getters.getSheet(this.props.sheetId);
60126
+ this.state.currentPickerColor = sheet.color;
60121
60127
  }
60122
60128
  });
60123
60129
  }
@@ -64052,11 +64058,11 @@ function addBarChart(chart) {
64052
64058
  <!-- each data marker in the series does not have a different color -->
64053
64059
  <c:varyColors val="0"/>
64054
64060
  ${joinXmlNodes(rightDataSetsNodes)}
64055
- <c:axId val="${catAxId + 1}" />
64056
- <c:axId val="${valAxId + 1}" />
64061
+ <c:axId val="${17781238}" />
64062
+ <c:axId val="${88853994}" />
64057
64063
  </c:barChart>
64058
- ${addAx("b", "c:catAx", catAxId + 1, valAxId + 1, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64059
- ${addAx("r", "c:valAx", valAxId + 1, catAxId + 1, chart.axesDesign?.y1?.title, chart.fontColor)}
64064
+ ${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64065
+ ${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
64060
64066
  ` : ""}`;
64061
64067
  }
64062
64068
  function addComboChart(chart) {
@@ -64211,11 +64217,11 @@ function addLineChart(chart) {
64211
64217
  <!-- each data marker in the series does not have a different color -->
64212
64218
  <c:varyColors val="0"/>
64213
64219
  ${joinXmlNodes(rightDataSetsNodes)}
64214
- <c:axId val="${catAxId + 1}" />
64215
- <c:axId val="${valAxId + 1}" />
64220
+ <c:axId val="${17781238}" />
64221
+ <c:axId val="${88853994}" />
64216
64222
  </c:lineChart>
64217
- ${addAx("b", "c:catAx", catAxId + 1, valAxId + 1, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64218
- ${addAx("r", "c:valAx", valAxId + 1, catAxId + 1, chart.axesDesign?.y1?.title, chart.fontColor)}
64223
+ ${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64224
+ ${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
64219
64225
  ` : ""}
64220
64226
  `;
64221
64227
  }
@@ -64277,11 +64283,11 @@ function addScatterChart(chart) {
64277
64283
  <c:varyColors val="0"/>
64278
64284
  <c:scatterStyle val="lineMarker"/>
64279
64285
  ${joinXmlNodes(rightDataSetsNodes)}
64280
- <c:axId val="${catAxId + 1}" />
64281
- <c:axId val="${valAxId + 1}" />
64286
+ <c:axId val="${17781238}" />
64287
+ <c:axId val="${88853994}" />
64282
64288
  </c:scatterChart>
64283
- ${addAx("b", "c:valAx", catAxId + 1, valAxId + 1, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64284
- ${addAx("r", "c:valAx", valAxId + 1, catAxId + 1, chart.axesDesign?.y1?.title, chart.fontColor)}
64289
+ ${addAx("b", "c:valAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
64290
+ ${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
64285
64291
  ` : ""}`;
64286
64292
  }
64287
64293
  function addDoughnutChart(chart, chartSheetIndex, data, { holeSize } = { holeSize: 50 }) {
@@ -66340,6 +66346,6 @@ const constants = {
66340
66346
  //#endregion
66341
66347
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
66342
66348
 
66343
- __info__.version = "18.0.71";
66344
- __info__.date = "2026-06-17T08:50:04.188Z";
66345
- __info__.hash = "18d4601";
66349
+ __info__.version = "18.0.73";
66350
+ __info__.date = "2026-07-01T05:00:54.172Z";
66351
+ __info__.hash = "1a9c761";