@odoo/o-spreadsheet 19.2.12 → 19.2.14

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 19.2.12
6
- * @date 2026-05-12T12:20:55.681Z
7
- * @hash 5282e3c
5
+ * @version 19.2.14
6
+ * @date 2026-05-27T05:57:14.898Z
7
+ * @hash 96730cd
8
8
  */
9
9
 
10
10
  import { App, Component, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, whenReady, xml } from "@odoo/owl";
@@ -2061,6 +2061,7 @@ var DependencyContainer = class extends EventBus {
2061
2061
  }
2062
2062
  };
2063
2063
  var StoreFactory = class {
2064
+ get;
2064
2065
  pendingBuilds = /* @__PURE__ */ new Set();
2065
2066
  constructor(get) {
2066
2067
  this.get = get;
@@ -2105,6 +2106,7 @@ stores.inject(MyMetaStore, storeInstance);
2105
2106
  return MetaStore;
2106
2107
  }
2107
2108
  var DisposableStore = class {
2109
+ get;
2108
2110
  disposeCallbacks = [];
2109
2111
  constructor(get) {
2110
2112
  this.get = get;
@@ -2860,6 +2862,7 @@ function getAlternatingColorsPalette(quantity) {
2860
2862
  else return ALTERNATING_COLORS_XL;
2861
2863
  }
2862
2864
  var ColorGenerator = class {
2865
+ preferredColors;
2863
2866
  currentColorIndex = 0;
2864
2867
  palette;
2865
2868
  constructor(paletteSize, preferredColors = []) {
@@ -3578,6 +3581,7 @@ const _t = function(s, ...values) {
3578
3581
  return sprintf(_translate(s), ...values);
3579
3582
  };
3580
3583
  var LazyTranslatedString = class extends String {
3584
+ values;
3581
3585
  constructor(str, values) {
3582
3586
  super(str);
3583
3587
  this.values = values;
@@ -3607,6 +3611,8 @@ const CellErrorType = {
3607
3611
  };
3608
3612
  const errorTypes = new Set(Object.values(CellErrorType));
3609
3613
  var EvaluationError = class {
3614
+ message;
3615
+ value;
3610
3616
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
3611
3617
  this.message = message;
3612
3618
  this.value = value;
@@ -3639,6 +3645,7 @@ var UnknownFunctionError = class extends EvaluationError {
3639
3645
  }
3640
3646
  };
3641
3647
  var SplillBlockedError = class extends EvaluationError {
3648
+ errorOriginPosition;
3642
3649
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
3643
3650
  super(message, CellErrorType.SpilledBlocked);
3644
3651
  this.errorOriginPosition = errorOriginPosition;
@@ -6476,8 +6483,13 @@ function getApplyRangeChangeAddColRow(cmd) {
6476
6483
  changeType: "NONE",
6477
6484
  range
6478
6485
  };
6486
+ const isUnboundedAtEnd = range.unboundedZone[end] === void 0;
6487
+ if (isUnboundedAtEnd && !range.unboundedZone.hasHeader) return {
6488
+ changeType: "RESIZE",
6489
+ range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
6490
+ };
6479
6491
  if (cmd.position === "after") {
6480
- if (range.zone[start] <= cmd.base && cmd.base < range.zone[end]) return {
6492
+ if (range.zone[start] <= cmd.base && (cmd.base < range.zone[end] || isUnboundedAtEnd)) return {
6481
6493
  changeType: "RESIZE",
6482
6494
  range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
6483
6495
  };
@@ -7421,6 +7433,10 @@ const FORCE_DEFAULT_ARGS_FUNCTIONS = {
7421
7433
  ROUNDDOWN: [{
7422
7434
  type: "NUMBER",
7423
7435
  value: 0
7436
+ }],
7437
+ IFERROR: [{
7438
+ type: "NUMBER",
7439
+ value: 0
7424
7440
  }]
7425
7441
  };
7426
7442
  /**
@@ -10134,6 +10150,7 @@ function getScorecardConfiguration({ width, height }, runtime) {
10134
10150
  }, runtime).computeDesign();
10135
10151
  }
10136
10152
  var ScorecardChartConfigBuilder = class {
10153
+ runtime;
10137
10154
  context;
10138
10155
  width;
10139
10156
  height;
@@ -16213,6 +16230,10 @@ var GaugeChartComponent = class extends Component {
16213
16230
  * Animation interpolating values using the ease-out quartic curve function (chartJS default easing)
16214
16231
  */
16215
16232
  var Animation = class {
16233
+ startValue;
16234
+ endValue;
16235
+ duration;
16236
+ callback;
16216
16237
  startTime = void 0;
16217
16238
  animationFrameId = null;
16218
16239
  constructor(startValue, endValue, duration, callback) {
@@ -16679,6 +16700,11 @@ var Popover = class extends Component {
16679
16700
  }
16680
16701
  };
16681
16702
  var PopoverPositionContext = class {
16703
+ anchorRect;
16704
+ containerRect;
16705
+ propsMaxSize;
16706
+ spreadsheetOffset;
16707
+ lastPosition;
16682
16708
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset, lastPosition) {
16683
16709
  this.anchorRect = anchorRect;
16684
16710
  this.containerRect = containerRect;
@@ -25783,6 +25809,7 @@ for (const category of categories) {
25783
25809
  * Represent a raw XML string
25784
25810
  */
25785
25811
  var XMLString = class {
25812
+ xmlString;
25786
25813
  /**
25787
25814
  * @param xmlString should be a well formed, properly escaped XML string
25788
25815
  */
@@ -34021,6 +34048,7 @@ var AbstractComposerStore = class extends SpreadsheetStore {
34021
34048
  //#endregion
34022
34049
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
34023
34050
  var StandaloneComposerStore = class extends AbstractComposerStore {
34051
+ args;
34024
34052
  constructor(get, args) {
34025
34053
  super(get);
34026
34054
  this.args = args;
@@ -34924,6 +34952,7 @@ var DOMDndHelper = class {
34924
34952
  }
34925
34953
  };
34926
34954
  var ContainerWrapper = class {
34955
+ el;
34927
34956
  constructor(el) {
34928
34957
  this.el = el;
34929
34958
  }
@@ -34995,6 +35024,10 @@ var FocusStore = class {
34995
35024
  * This plugin handles this internal state.
34996
35025
  */
34997
35026
  var SelectionInputStore = class extends SpreadsheetStore {
35027
+ initialRanges;
35028
+ inputHasSingleRange;
35029
+ colors;
35030
+ disabledRanges;
34998
35031
  mutators = [
34999
35032
  "resetWithRanges",
35000
35033
  "focusById",
@@ -43088,6 +43121,8 @@ var MoreFormatsPanel = class extends Component {
43088
43121
  //#endregion
43089
43122
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
43090
43123
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
43124
+ pivotId;
43125
+ initialMeasure;
43091
43126
  mutators = [
43092
43127
  "cancelMeasureDisplayEdition",
43093
43128
  "updateMeasureDisplayType",
@@ -43279,7 +43314,7 @@ function getVisiblePivotCellPositions(getters, pivotId) {
43279
43314
  col,
43280
43315
  row
43281
43316
  };
43282
- if (pivotId === getters.getPivotIdFromPosition(position)) positions.push(position);
43317
+ if (getters.getPivotIdsFromPosition(position).includes(pivotId)) positions.push(position);
43283
43318
  }
43284
43319
  return positions;
43285
43320
  }
@@ -43570,6 +43605,7 @@ var PivotDimensionOrder = class extends Component {
43570
43605
  //#endregion
43571
43606
  //#region src/formulas/code_builder.ts
43572
43607
  var FunctionCodeBuilder = class {
43608
+ scope;
43573
43609
  code = "";
43574
43610
  constructor(scope = new Scope()) {
43575
43611
  this.scope = scope;
@@ -43585,6 +43621,8 @@ var FunctionCodeBuilder = class {
43585
43621
  }
43586
43622
  };
43587
43623
  var FunctionCodeImpl = class {
43624
+ scope;
43625
+ returnExpression;
43588
43626
  code;
43589
43627
  constructor(scope, code, returnExpression) {
43590
43628
  this.scope = scope;
@@ -43667,6 +43705,13 @@ const collator = new Intl.Collator("en", { sensitivity: "accent" });
43667
43705
  * without recompiling it (for example when the formula is copied to another cell, or when we want to replace literal values but keep the same structure).
43668
43706
  * */
43669
43707
  var CompiledFormula = class CompiledFormula {
43708
+ sheetId;
43709
+ tokens;
43710
+ literalValues;
43711
+ symbols;
43712
+ isBadExpression;
43713
+ normalizedFormula;
43714
+ execute;
43670
43715
  rangeDependencies;
43671
43716
  hasDependencies;
43672
43717
  constructor(sheetId, tokens, literalValues, symbols, dependencies, isBadExpression, normalizedFormula, execute) {
@@ -44551,13 +44596,30 @@ var PivotRuntimeDefinition = class {
44551
44596
  break;
44552
44597
  }
44553
44598
  return {
44599
+ /**
44600
+ * Get the id of the measure, as it is stored in the pivot formula
44601
+ */
44554
44602
  id: measure.id,
44603
+ /**
44604
+ * Display name of the measure
44605
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
44606
+ */
44555
44607
  get displayName() {
44556
44608
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
44557
44609
  },
44558
44610
  userDefinedName: measure.userDefinedName,
44611
+ /**
44612
+ * Get the name of the field of the measure
44613
+ */
44559
44614
  fieldName,
44615
+ /**
44616
+ * Get the aggregator of the measure
44617
+ */
44560
44618
  aggregator,
44619
+ /**
44620
+ * Get the type of the measure field
44621
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
44622
+ */
44561
44623
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
44562
44624
  isValid,
44563
44625
  isHidden: measure.isHidden,
@@ -44571,10 +44633,30 @@ var PivotRuntimeDefinition = class {
44571
44633
  const type = field?.type ?? "integer";
44572
44634
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
44573
44635
  return {
44636
+ /**
44637
+ * Get the display name of the dimension
44638
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
44639
+ */
44574
44640
  displayName: field?.string ?? dimension.fieldName,
44641
+ /**
44642
+ * Get the name of the dimension, as it is stored in the pivot formula
44643
+ * e.g. "stage_id", "create_date:month"
44644
+ */
44575
44645
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
44646
+ /**
44647
+ * Get the name of the field of the dimension
44648
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
44649
+ */
44576
44650
  fieldName: dimension.fieldName,
44651
+ /**
44652
+ * Get the aggregate operator of the dimension
44653
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
44654
+ */
44577
44655
  granularity,
44656
+ /**
44657
+ * Get the type of the field of the dimension
44658
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
44659
+ */
44578
44660
  type: field?.isCustomField ? "custom" : type,
44579
44661
  order: dimension.order,
44580
44662
  isValid: !!field,
@@ -45720,6 +45802,9 @@ const PIVOT_FUNCTIONS = [
45720
45802
  function getFirstPivotFunction(compiledFormula, getters) {
45721
45803
  return compiledFormula.getFunctionsFromTokens(PIVOT_FUNCTIONS, getters)[0];
45722
45804
  }
45805
+ function getPivotFunctions(compiledFormula, getters) {
45806
+ return compiledFormula.getFunctionsFromTokens(PIVOT_FUNCTIONS, getters);
45807
+ }
45723
45808
  /**
45724
45809
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
45725
45810
  * present in the given formula.
@@ -45796,6 +45881,8 @@ function extractFormulaIdFromToken(tokenAtCursor) {
45796
45881
  //#endregion
45797
45882
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
45798
45883
  var PivotSidePanelStore = class extends SpreadsheetStore {
45884
+ pivotId;
45885
+ updateMode;
45799
45886
  mutators = [
45800
45887
  "reset",
45801
45888
  "deferUpdates",
@@ -60107,6 +60194,8 @@ function buildCompilationParameters(context, getters, computeCell) {
60107
60194
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
60108
60195
  }
60109
60196
  var CompilationParametersBuilder = class {
60197
+ getters;
60198
+ computeCell;
60110
60199
  evalContext;
60111
60200
  rangeCache = {};
60112
60201
  constructor(context, getters, computeCell) {
@@ -61053,6 +61142,7 @@ const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell({
61053
61142
  }));
61054
61143
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
61055
61144
  var Evaluator = class {
61145
+ context;
61056
61146
  getters;
61057
61147
  compilationParams;
61058
61148
  evaluatedCells = new PositionMap();
@@ -63443,6 +63533,7 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63443
63533
  "getFirstPivotFunction",
63444
63534
  "getPivotCellSortDirection",
63445
63535
  "getPivotIdFromPosition",
63536
+ "getPivotIdsFromPosition",
63446
63537
  "getPivotCellFromPosition",
63447
63538
  "generateNewCalculatedMeasureName",
63448
63539
  "isPivotUnused",
@@ -63502,37 +63593,52 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63502
63593
  }
63503
63594
  }
63504
63595
  /**
63505
- * Get the id of the pivot at the given position. Returns undefined if there
63596
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
63506
63597
  * is no pivot at this position
63507
63598
  */
63508
63599
  getPivotIdFromPosition(position) {
63600
+ return this.getPivotIdsFromPosition(position)[0];
63601
+ }
63602
+ /**
63603
+ * Get all of the ids of the pivot present in the formula at the given position.
63604
+ */
63605
+ getPivotIdsFromPosition(position) {
63509
63606
  const cell = this.getters.getCorrespondingFormulaCell(position);
63510
- if (cell && cell.isFormula) {
63511
- const pivotFunction = this.getFirstPivotFunction(position.sheetId, cell.compiledFormula);
63512
- if (pivotFunction) {
63513
- const pivotId = pivotFunction.args[0]?.toString();
63514
- return pivotId && this.getters.getPivotId(pivotId);
63515
- }
63516
- }
63607
+ if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63608
+ return [];
63609
+ }
63610
+ getPivotIdsFromFormula(sheetId, formula) {
63611
+ return this.getPivotFunctions(sheetId, formula).map((pivotFunction) => {
63612
+ const pivotId = pivotFunction.args[0]?.toString();
63613
+ return pivotId && this.getters.getPivotId(pivotId);
63614
+ }).filter(isDefined);
63517
63615
  }
63518
63616
  isSpillPivotFormula(position) {
63519
63617
  const cell = this.getters.getCorrespondingFormulaCell(position);
63520
63618
  if (cell && cell.isFormula) return this.getFirstPivotFunction(position.sheetId, cell.compiledFormula)?.functionName === "PIVOT";
63521
63619
  return false;
63522
63620
  }
63523
- getFirstPivotFunction(sheetId, compiledFormula) {
63524
- const pivotFunction = getFirstPivotFunction(compiledFormula, this.getters);
63525
- if (!pivotFunction) return;
63526
- const { functionName, args } = pivotFunction;
63527
- return {
63528
- functionName,
63529
- args: args.map((argAst) => {
63621
+ getPivotFunctions(sheetId, formula) {
63622
+ const pivotFunctions = getPivotFunctions(formula, this.getters);
63623
+ if (!pivotFunctions.length) return [];
63624
+ const evaluatedPivotFunctions = [];
63625
+ for (const pivotFunction of pivotFunctions) {
63626
+ const { functionName, args } = pivotFunction;
63627
+ const evaluatedArgs = args.map((argAst) => {
63530
63628
  if (argAst.type === "EMPTY") return;
63531
63629
  else if (argAst.type === "STRING" || argAst.type === "BOOLEAN" || argAst.type === "NUMBER") return argAst.value;
63532
63630
  const argsString = astToFormula(argAst);
63533
63631
  return this.getters.evaluateFormula(sheetId, argsString);
63534
- })
63535
- };
63632
+ });
63633
+ evaluatedPivotFunctions.push({
63634
+ functionName,
63635
+ args: evaluatedArgs
63636
+ });
63637
+ }
63638
+ return evaluatedPivotFunctions;
63639
+ }
63640
+ getFirstPivotFunction(sheetId, formula) {
63641
+ return this.getPivotFunctions(sheetId, formula)[0];
63536
63642
  }
63537
63643
  /**
63538
63644
  * Returns the domain args of a pivot formula from a position.
@@ -63638,8 +63744,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63638
63744
  const unusedPivots = new Set(this.getters.getPivotIds());
63639
63745
  for (const sheetId of this.getters.getSheetIds()) for (const cell of this.getters.getCells(sheetId)) {
63640
63746
  const position = this.getters.getCellPosition(cell.id);
63641
- const pivotId = this.getPivotIdFromPosition(position);
63642
- if (pivotId) {
63747
+ const pivotIds = this.getPivotIdsFromPosition(position);
63748
+ for (const pivotId of pivotIds) {
63643
63749
  unusedPivots.delete(pivotId);
63644
63750
  if (!unusedPivots.size) {
63645
63751
  this.unusedPivotsInFormulas = [];
@@ -63647,6 +63753,21 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63647
63753
  }
63648
63754
  }
63649
63755
  }
63756
+ for (const pivotId of this.getters.getPivotIds()) {
63757
+ const pivot = this.getters.getPivot(pivotId);
63758
+ for (const measure of pivot.definition.measures) if (measure.computedBy) {
63759
+ const { sheetId } = measure.computedBy;
63760
+ const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
63761
+ const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
63762
+ for (const relatedPivotId of relatedPivotIds) {
63763
+ unusedPivots.delete(relatedPivotId);
63764
+ if (!unusedPivots.size) {
63765
+ this.unusedPivotsInFormulas = [];
63766
+ return [];
63767
+ }
63768
+ }
63769
+ }
63770
+ }
63650
63771
  this.unusedPivotsInFormulas = [...unusedPivots];
63651
63772
  return this.unusedPivotsInFormulas;
63652
63773
  }
@@ -63685,6 +63806,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63685
63806
  //#endregion
63686
63807
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
63687
63808
  var ClipboardHandler = class {
63809
+ getters;
63810
+ dispatch;
63688
63811
  constructor(getters, dispatch) {
63689
63812
  this.getters = getters;
63690
63813
  this.dispatch = dispatch;
@@ -65979,6 +66102,8 @@ function transformPositionWithMerge(toTransform, executed) {
65979
66102
  //#endregion
65980
66103
  //#region src/collaborative/revisions.ts
65981
66104
  var Revision = class {
66105
+ rootCommand;
66106
+ timestamp;
65982
66107
  id;
65983
66108
  clientId;
65984
66109
  _commands = [];
@@ -66015,6 +66140,9 @@ var Revision = class {
66015
66140
  //#region src/collaborative/session.ts
66016
66141
  var ClientDisconnectedError = class extends Error {};
66017
66142
  var Session = class extends EventBus {
66143
+ revisions;
66144
+ transportService;
66145
+ serverRevisionId;
66018
66146
  /**
66019
66147
  * Positions of the others client.
66020
66148
  */
@@ -69594,6 +69722,9 @@ var GridSelectionPlugin = class extends UIPlugin {
69594
69722
  //#endregion
69595
69723
  //#region src/helpers/internal_viewport.ts
69596
69724
  var InternalViewport = class {
69725
+ getters;
69726
+ sheetId;
69727
+ boundaries;
69597
69728
  top;
69598
69729
  bottom;
69599
69730
  left;
@@ -74404,6 +74535,7 @@ function instantiateClipboard() {
74404
74535
  return new WebClipboardWrapper(navigator.clipboard);
74405
74536
  }
74406
74537
  var WebClipboardWrapper = class {
74538
+ clipboard;
74407
74539
  constructor(clipboard) {
74408
74540
  this.clipboard = clipboard;
74409
74541
  }
@@ -74675,6 +74807,7 @@ var Spreadsheet = class extends Component {
74675
74807
  //#endregion
74676
74808
  //#region src/collaborative/readonly_transport_filter.ts
74677
74809
  var ReadonlyTransportFilter = class {
74810
+ transportService;
74678
74811
  constructor(transportService) {
74679
74812
  this.transportService = transportService;
74680
74813
  }
@@ -74706,6 +74839,8 @@ function inverseCommand(cmd) {
74706
74839
  * @param operations initial operations
74707
74840
  */
74708
74841
  var Branch = class Branch {
74842
+ buildTransformation;
74843
+ operations;
74709
74844
  constructor(buildTransformation, operations = []) {
74710
74845
  this.buildTransformation = buildTransformation;
74711
74846
  this.operations = operations;
@@ -74822,6 +74957,8 @@ var Branch = class Branch {
74822
74957
  * to revert it).
74823
74958
  */
74824
74959
  var Operation = class {
74960
+ id;
74961
+ data;
74825
74962
  constructor(id, data) {
74826
74963
  this.id = id;
74827
74964
  this.data = data;
@@ -74831,6 +74968,8 @@ var Operation = class {
74831
74968
  }
74832
74969
  };
74833
74970
  var LazyOperation = class LazyOperation {
74971
+ id;
74972
+ lazyData;
74834
74973
  constructor(id, lazyData) {
74835
74974
  this.id = id;
74836
74975
  this.lazyData = lazyData;
@@ -74856,6 +74995,7 @@ var LazyOperation = class LazyOperation {
74856
74995
  * ```
74857
74996
  */
74858
74997
  var OperationSequence = class OperationSequence {
74998
+ operations;
74859
74999
  constructor(operations) {
74860
75000
  this.operations = operations;
74861
75001
  }
@@ -74931,6 +75071,7 @@ var OperationSequence = class OperationSequence {
74931
75071
  *
74932
75072
  */
74933
75073
  var Tree = class {
75074
+ buildTransformation;
74934
75075
  branches;
74935
75076
  branchingOperationIds = /* @__PURE__ */ new Map();
74936
75077
  constructor(buildTransformation, initialBranch) {
@@ -75745,6 +75886,7 @@ var EventStream = class {
75745
75886
  * with the new selected anchor
75746
75887
  */
75747
75888
  var SelectionStreamProcessorImpl = class {
75889
+ getters;
75748
75890
  stream;
75749
75891
  /**
75750
75892
  * "Active" anchor used as a reference to compute new anchors
@@ -81504,6 +81646,6 @@ const chartHelpers = {
81504
81646
  //#endregion
81505
81647
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CompiledFormula, CorePlugin, CoreViewPlugin, DEFAULT_LOCALE, DEFAULT_LOCALES, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, canExecuteInReadonly, categories, chartHelpers, components, constants, convertAstNodes, coreTypes, createAutocompleteArgumentsProvider, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isSheetDependent, iterateAstNodes, links, load, lockedSheetAllowedCommands, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
81506
81648
 
81507
- __info__.version = "19.2.12";
81508
- __info__.date = "2026-05-12T12:20:55.681Z";
81509
- __info__.hash = "5282e3c";
81649
+ __info__.version = "19.2.14";
81650
+ __info__.date = "2026-05-27T05:57:14.898Z";
81651
+ __info__.hash = "96730cd";