@odoo/o-spreadsheet 19.0.34 → 19.0.36

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.0.34
6
- * @date 2026-05-12T12:17:43.737Z
7
- * @hash d9074ea
5
+ * @version 19.0.36
6
+ * @date 2026-05-27T05:57:35.932Z
7
+ * @hash 3f73c94
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -1432,6 +1432,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1432
1432
  else return ALTERNATING_COLORS_XL;
1433
1433
  }
1434
1434
  var ColorGenerator = class {
1435
+ preferredColors;
1435
1436
  currentColorIndex = 0;
1436
1437
  palette;
1437
1438
  constructor(paletteSize, preferredColors = []) {
@@ -1639,6 +1640,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1639
1640
  return sprintf(_translate(s), ...values);
1640
1641
  };
1641
1642
  var LazyTranslatedString = class extends String {
1643
+ values;
1642
1644
  constructor(str, values) {
1643
1645
  super(str);
1644
1646
  this.values = values;
@@ -2797,6 +2799,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2797
2799
  };
2798
2800
  const errorTypes = new Set(Object.values(CellErrorType));
2799
2801
  var EvaluationError = class {
2802
+ message;
2803
+ value;
2800
2804
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
2801
2805
  this.message = message;
2802
2806
  this.value = value;
@@ -2829,6 +2833,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2829
2833
  }
2830
2834
  };
2831
2835
  var SplillBlockedError = class extends EvaluationError {
2836
+ errorOriginPosition;
2832
2837
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
2833
2838
  super(message, CellErrorType.SpilledBlocked);
2834
2839
  this.errorOriginPosition = errorOriginPosition;
@@ -5817,8 +5822,13 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5817
5822
  changeType: "NONE",
5818
5823
  range
5819
5824
  };
5825
+ const isUnboundedAtEnd = range.unboundedZone[end] === void 0;
5826
+ if (isUnboundedAtEnd && !range.unboundedZone.hasHeader) return {
5827
+ changeType: "RESIZE",
5828
+ range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
5829
+ };
5820
5830
  if (cmd.position === "after") {
5821
- if (range.zone[start] <= cmd.base && cmd.base < range.zone[end]) return {
5831
+ if (range.zone[start] <= cmd.base && (cmd.base < range.zone[end] || isUnboundedAtEnd)) return {
5822
5832
  changeType: "RESIZE",
5823
5833
  range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
5824
5834
  };
@@ -6461,6 +6471,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6461
6471
  //#endregion
6462
6472
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
6463
6473
  var ClipboardHandler = class {
6474
+ getters;
6475
+ dispatch;
6464
6476
  constructor(getters, dispatch) {
6465
6477
  this.getters = getters;
6466
6478
  this.dispatch = dispatch;
@@ -8895,6 +8907,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8895
8907
  }
8896
8908
  };
8897
8909
  var StoreFactory = class {
8910
+ get;
8898
8911
  pendingBuilds = /* @__PURE__ */ new Set();
8899
8912
  constructor(get) {
8900
8913
  this.get = get;
@@ -8939,6 +8952,7 @@ stores.inject(MyMetaStore, storeInstance);
8939
8952
  return MetaStore;
8940
8953
  }
8941
8954
  var DisposableStore = class {
8955
+ get;
8942
8956
  disposeCallbacks = [];
8943
8957
  constructor(get) {
8944
8958
  this.get = get;
@@ -9513,6 +9527,10 @@ stores.inject(MyMetaStore, storeInstance);
9513
9527
  ROUNDDOWN: [{
9514
9528
  type: "NUMBER",
9515
9529
  value: 0
9530
+ }],
9531
+ IFERROR: [{
9532
+ type: "NUMBER",
9533
+ value: 0
9516
9534
  }]
9517
9535
  };
9518
9536
  /**
@@ -18622,6 +18640,7 @@ stores.inject(MyMetaStore, storeInstance);
18622
18640
  //#endregion
18623
18641
  //#region src/formulas/code_builder.ts
18624
18642
  var FunctionCodeBuilder = class {
18643
+ scope;
18625
18644
  code = "";
18626
18645
  constructor(scope = new Scope()) {
18627
18646
  this.scope = scope;
@@ -18637,6 +18656,8 @@ stores.inject(MyMetaStore, storeInstance);
18637
18656
  }
18638
18657
  };
18639
18658
  var FunctionCodeImpl = class {
18659
+ scope;
18660
+ returnExpression;
18640
18661
  code;
18641
18662
  constructor(scope, code, returnExpression) {
18642
18663
  this.scope = scope;
@@ -20607,6 +20628,7 @@ stores.inject(MyMetaStore, storeInstance);
20607
20628
  }, runtime).computeDesign();
20608
20629
  }
20609
20630
  var ScorecardChartConfigBuilder = class {
20631
+ runtime;
20610
20632
  context;
20611
20633
  width;
20612
20634
  height;
@@ -24267,6 +24289,10 @@ stores.inject(MyMetaStore, storeInstance);
24267
24289
  * Animation interpolating values using the ease-out quartic curve function (chartJS default easing)
24268
24290
  */
24269
24291
  var Animation = class {
24292
+ startValue;
24293
+ endValue;
24294
+ duration;
24295
+ callback;
24270
24296
  startTime = void 0;
24271
24297
  animationFrameId = null;
24272
24298
  constructor(startValue, endValue, duration, callback) {
@@ -26593,6 +26619,7 @@ stores.inject(MyMetaStore, storeInstance);
26593
26619
  * Represent a raw XML string
26594
26620
  */
26595
26621
  var XMLString = class {
26622
+ xmlString;
26596
26623
  /**
26597
26624
  * @param xmlString should be a well formed, properly escaped XML string
26598
26625
  */
@@ -27428,6 +27455,11 @@ stores.inject(MyMetaStore, storeInstance);
27428
27455
  }
27429
27456
  };
27430
27457
  var PopoverPositionContext = class {
27458
+ anchorRect;
27459
+ containerRect;
27460
+ propsMaxSize;
27461
+ spreadsheetOffset;
27462
+ lastPosition;
27431
27463
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset, lastPosition) {
27432
27464
  this.anchorRect = anchorRect;
27433
27465
  this.containerRect = containerRect;
@@ -30723,6 +30755,7 @@ stores.inject(MyMetaStore, storeInstance);
30723
30755
  //#endregion
30724
30756
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
30725
30757
  var StandaloneComposerStore = class extends AbstractComposerStore {
30758
+ args;
30726
30759
  constructor(get, args) {
30727
30760
  super(get);
30728
30761
  this.args = args;
@@ -31774,6 +31807,7 @@ stores.inject(MyMetaStore, storeInstance);
31774
31807
  }
31775
31808
  };
31776
31809
  var ContainerWrapper = class {
31810
+ el;
31777
31811
  constructor(el) {
31778
31812
  this.el = el;
31779
31813
  }
@@ -31845,6 +31879,10 @@ stores.inject(MyMetaStore, storeInstance);
31845
31879
  * This plugin handles this internal state.
31846
31880
  */
31847
31881
  var SelectionInputStore = class extends SpreadsheetStore {
31882
+ initialRanges;
31883
+ inputHasSingleRange;
31884
+ colors;
31885
+ disabledRanges;
31848
31886
  mutators = [
31849
31887
  "resetWithRanges",
31850
31888
  "focusById",
@@ -40666,13 +40704,30 @@ stores.inject(MyMetaStore, storeInstance);
40666
40704
  break;
40667
40705
  }
40668
40706
  return {
40707
+ /**
40708
+ * Get the id of the measure, as it is stored in the pivot formula
40709
+ */
40669
40710
  id: measure.id,
40711
+ /**
40712
+ * Display name of the measure
40713
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
40714
+ */
40670
40715
  get displayName() {
40671
40716
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
40672
40717
  },
40673
40718
  userDefinedName: measure.userDefinedName,
40719
+ /**
40720
+ * Get the name of the field of the measure
40721
+ */
40674
40722
  fieldName,
40723
+ /**
40724
+ * Get the aggregator of the measure
40725
+ */
40675
40726
  aggregator,
40727
+ /**
40728
+ * Get the type of the measure field
40729
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
40730
+ */
40676
40731
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
40677
40732
  isValid,
40678
40733
  isHidden: measure.isHidden,
@@ -40686,10 +40741,30 @@ stores.inject(MyMetaStore, storeInstance);
40686
40741
  const type = field?.type ?? "integer";
40687
40742
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
40688
40743
  return {
40744
+ /**
40745
+ * Get the display name of the dimension
40746
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
40747
+ */
40689
40748
  displayName: field?.string ?? dimension.fieldName,
40749
+ /**
40750
+ * Get the name of the dimension, as it is stored in the pivot formula
40751
+ * e.g. "stage_id", "create_date:month"
40752
+ */
40690
40753
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
40754
+ /**
40755
+ * Get the name of the field of the dimension
40756
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
40757
+ */
40691
40758
  fieldName: dimension.fieldName,
40759
+ /**
40760
+ * Get the aggregate operator of the dimension
40761
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
40762
+ */
40692
40763
  granularity,
40764
+ /**
40765
+ * Get the type of the field of the dimension
40766
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
40767
+ */
40693
40768
  type: field?.isCustomField ? "custom" : type,
40694
40769
  order: dimension.order,
40695
40770
  isValid: !!field,
@@ -51860,6 +51935,8 @@ stores.inject(MyMetaStore, storeInstance);
51860
51935
  //#endregion
51861
51936
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
51862
51937
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
51938
+ pivotId;
51939
+ initialMeasure;
51863
51940
  mutators = [
51864
51941
  "cancelMeasureDisplayEdition",
51865
51942
  "updateMeasureDisplayType",
@@ -52059,7 +52136,7 @@ stores.inject(MyMetaStore, storeInstance);
52059
52136
  col,
52060
52137
  row
52061
52138
  };
52062
- if (pivotId === getters.getPivotIdFromPosition(position)) positions.push(position);
52139
+ if (getters.getPivotIdsFromPosition(position).includes(pivotId)) positions.push(position);
52063
52140
  }
52064
52141
  return positions;
52065
52142
  }
@@ -52945,6 +53022,9 @@ stores.inject(MyMetaStore, storeInstance);
52945
53022
  function getFirstPivotFunction(tokens) {
52946
53023
  return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS)[0];
52947
53024
  }
53025
+ function getPivotFunctions(tokens) {
53026
+ return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS);
53027
+ }
52948
53028
  /**
52949
53029
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
52950
53030
  * present in the given formula.
@@ -52956,6 +53036,7 @@ stores.inject(MyMetaStore, storeInstance);
52956
53036
  //#endregion
52957
53037
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
52958
53038
  var PivotSidePanelStore = class extends SpreadsheetStore {
53039
+ pivotId;
52959
53040
  mutators = [
52960
53041
  "reset",
52961
53042
  "deferUpdates",
@@ -56487,6 +56568,11 @@ stores.inject(MyMetaStore, storeInstance);
56487
56568
  }
56488
56569
  };
56489
56570
  var FormulaCellWithDependencies = class {
56571
+ id;
56572
+ format;
56573
+ style;
56574
+ sheetId;
56575
+ getRangeString;
56490
56576
  isFormula = true;
56491
56577
  compiledFormula;
56492
56578
  constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
@@ -56521,6 +56607,10 @@ stores.inject(MyMetaStore, storeInstance);
56521
56607
  }
56522
56608
  };
56523
56609
  var RangeReferenceToken = class {
56610
+ ranges;
56611
+ rangeIndex;
56612
+ sheetId;
56613
+ getRangeString;
56524
56614
  type = "REFERENCE";
56525
56615
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
56526
56616
  this.ranges = ranges;
@@ -60506,6 +60596,8 @@ stores.inject(MyMetaStore, storeInstance);
60506
60596
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
60507
60597
  }
60508
60598
  var CompilationParametersBuilder = class {
60599
+ getters;
60600
+ computeCell;
60509
60601
  evalContext;
60510
60602
  rangeCache = {};
60511
60603
  constructor(context, getters, computeCell) {
@@ -61439,6 +61531,7 @@ stores.inject(MyMetaStore, storeInstance);
61439
61531
  }));
61440
61532
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
61441
61533
  var Evaluator = class {
61534
+ context;
61442
61535
  getters;
61443
61536
  compilationParams;
61444
61537
  evaluatedCells = new PositionMap();
@@ -63747,6 +63840,7 @@ stores.inject(MyMetaStore, storeInstance);
63747
63840
  "getFirstPivotFunction",
63748
63841
  "getPivotCellSortDirection",
63749
63842
  "getPivotIdFromPosition",
63843
+ "getPivotIdsFromPosition",
63750
63844
  "getPivotCellFromPosition",
63751
63845
  "generateNewCalculatedMeasureName",
63752
63846
  "isPivotUnused",
@@ -63804,37 +63898,52 @@ stores.inject(MyMetaStore, storeInstance);
63804
63898
  }
63805
63899
  }
63806
63900
  /**
63807
- * Get the id of the pivot at the given position. Returns undefined if there
63901
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
63808
63902
  * is no pivot at this position
63809
63903
  */
63810
63904
  getPivotIdFromPosition(position) {
63905
+ return this.getPivotIdsFromPosition(position)[0];
63906
+ }
63907
+ /**
63908
+ * Get all of the ids of the pivot present in the formula at the given position.
63909
+ */
63910
+ getPivotIdsFromPosition(position) {
63811
63911
  const cell = this.getters.getCorrespondingFormulaCell(position);
63812
- if (cell && cell.isFormula) {
63813
- const pivotFunction = this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens);
63814
- if (pivotFunction) {
63815
- const pivotId = pivotFunction.args[0]?.toString();
63816
- return pivotId && this.getters.getPivotId(pivotId);
63817
- }
63818
- }
63912
+ if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
63913
+ return [];
63914
+ }
63915
+ getPivotIdsFromFormula(sheetId, formula) {
63916
+ return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
63917
+ const pivotId = pivotFunction.args[0]?.toString();
63918
+ return pivotId && this.getters.getPivotId(pivotId);
63919
+ }).filter(isDefined);
63819
63920
  }
63820
63921
  isSpillPivotFormula(position) {
63821
63922
  const cell = this.getters.getCorrespondingFormulaCell(position);
63822
63923
  if (cell && cell.isFormula) return this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens)?.functionName === "PIVOT";
63823
63924
  return false;
63824
63925
  }
63825
- getFirstPivotFunction(sheetId, tokens) {
63826
- const pivotFunction = getFirstPivotFunction(tokens);
63827
- if (!pivotFunction) return;
63828
- const { functionName, args } = pivotFunction;
63829
- return {
63830
- functionName,
63831
- args: args.map((argAst) => {
63926
+ getPivotFunctions(sheetId, tokens) {
63927
+ const pivotFunctions = getPivotFunctions(tokens);
63928
+ if (!pivotFunctions.length) return [];
63929
+ const evaluatedPivotFunctions = [];
63930
+ for (const pivotFunction of pivotFunctions) {
63931
+ const { functionName, args } = pivotFunction;
63932
+ const evaluatedArgs = args.map((argAst) => {
63832
63933
  if (argAst.type === "EMPTY") return;
63833
63934
  else if (argAst.type === "STRING" || argAst.type === "BOOLEAN" || argAst.type === "NUMBER") return argAst.value;
63834
63935
  const argsString = astToFormula(argAst);
63835
63936
  return this.getters.evaluateFormula(sheetId, argsString);
63836
- })
63837
- };
63937
+ });
63938
+ evaluatedPivotFunctions.push({
63939
+ functionName,
63940
+ args: evaluatedArgs
63941
+ });
63942
+ }
63943
+ return evaluatedPivotFunctions;
63944
+ }
63945
+ getFirstPivotFunction(sheetId, tokens) {
63946
+ return this.getPivotFunctions(sheetId, tokens)[0];
63838
63947
  }
63839
63948
  /**
63840
63949
  * Returns the domain args of a pivot formula from a position.
@@ -63948,8 +64057,8 @@ stores.inject(MyMetaStore, storeInstance);
63948
64057
  const unusedPivots = new Set(this.getters.getPivotIds());
63949
64058
  for (const sheetId of this.getters.getSheetIds()) for (const cellId in this.getters.getCells(sheetId)) {
63950
64059
  const position = this.getters.getCellPosition(cellId);
63951
- const pivotId = this.getPivotIdFromPosition(position);
63952
- if (pivotId) {
64060
+ const pivotIds = this.getPivotIdsFromPosition(position);
64061
+ for (const pivotId of pivotIds) {
63953
64062
  unusedPivots.delete(pivotId);
63954
64063
  if (!unusedPivots.size) {
63955
64064
  this.unusedPivots = [];
@@ -63957,6 +64066,21 @@ stores.inject(MyMetaStore, storeInstance);
63957
64066
  }
63958
64067
  }
63959
64068
  }
64069
+ for (const pivotId of this.getters.getPivotIds()) {
64070
+ const pivot = this.getters.getPivot(pivotId);
64071
+ for (const measure of pivot.definition.measures) if (measure.computedBy) {
64072
+ const { sheetId } = measure.computedBy;
64073
+ const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
64074
+ const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
64075
+ for (const relatedPivotId of relatedPivotIds) {
64076
+ unusedPivots.delete(relatedPivotId);
64077
+ if (!unusedPivots.size) {
64078
+ this.unusedPivots = [];
64079
+ return [];
64080
+ }
64081
+ }
64082
+ }
64083
+ }
63960
64084
  this.unusedPivots = [...unusedPivots];
63961
64085
  return this.unusedPivots;
63962
64086
  }
@@ -65559,6 +65683,8 @@ stores.inject(MyMetaStore, storeInstance);
65559
65683
  //#endregion
65560
65684
  //#region src/collaborative/revisions.ts
65561
65685
  var Revision = class {
65686
+ rootCommand;
65687
+ timestamp;
65562
65688
  id;
65563
65689
  clientId;
65564
65690
  _commands = [];
@@ -65595,6 +65721,9 @@ stores.inject(MyMetaStore, storeInstance);
65595
65721
  //#region src/collaborative/session.ts
65596
65722
  var ClientDisconnectedError = class extends Error {};
65597
65723
  var Session = class extends EventBus {
65724
+ revisions;
65725
+ transportService;
65726
+ serverRevisionId;
65598
65727
  /**
65599
65728
  * Positions of the others client.
65600
65729
  */
@@ -69311,6 +69440,9 @@ stores.inject(MyMetaStore, storeInstance);
69311
69440
  //#endregion
69312
69441
  //#region src/helpers/internal_viewport.ts
69313
69442
  var InternalViewport = class {
69443
+ getters;
69444
+ sheetId;
69445
+ boundaries;
69314
69446
  top;
69315
69447
  bottom;
69316
69448
  left;
@@ -74446,6 +74578,7 @@ stores.inject(MyMetaStore, storeInstance);
74446
74578
  return new WebClipboardWrapper(navigator.clipboard);
74447
74579
  }
74448
74580
  var WebClipboardWrapper = class {
74581
+ clipboard;
74449
74582
  constructor(clipboard) {
74450
74583
  this.clipboard = clipboard;
74451
74584
  }
@@ -74932,6 +75065,7 @@ stores.inject(MyMetaStore, storeInstance);
74932
75065
  //#endregion
74933
75066
  //#region src/collaborative/readonly_transport_filter.ts
74934
75067
  var ReadonlyTransportFilter = class {
75068
+ transportService;
74935
75069
  constructor(transportService) {
74936
75070
  this.transportService = transportService;
74937
75071
  }
@@ -74963,6 +75097,8 @@ stores.inject(MyMetaStore, storeInstance);
74963
75097
  * @param operations initial operations
74964
75098
  */
74965
75099
  var Branch = class Branch {
75100
+ buildTransformation;
75101
+ operations;
74966
75102
  constructor(buildTransformation, operations = []) {
74967
75103
  this.buildTransformation = buildTransformation;
74968
75104
  this.operations = operations;
@@ -75079,6 +75215,8 @@ stores.inject(MyMetaStore, storeInstance);
75079
75215
  * to revert it).
75080
75216
  */
75081
75217
  var Operation = class {
75218
+ id;
75219
+ data;
75082
75220
  constructor(id, data) {
75083
75221
  this.id = id;
75084
75222
  this.data = data;
@@ -75088,6 +75226,8 @@ stores.inject(MyMetaStore, storeInstance);
75088
75226
  }
75089
75227
  };
75090
75228
  var LazyOperation = class LazyOperation {
75229
+ id;
75230
+ lazyData;
75091
75231
  constructor(id, lazyData) {
75092
75232
  this.id = id;
75093
75233
  this.lazyData = lazyData;
@@ -75113,6 +75253,7 @@ stores.inject(MyMetaStore, storeInstance);
75113
75253
  * ```
75114
75254
  */
75115
75255
  var OperationSequence = class OperationSequence {
75256
+ operations;
75116
75257
  constructor(operations) {
75117
75258
  this.operations = operations;
75118
75259
  }
@@ -75188,6 +75329,7 @@ stores.inject(MyMetaStore, storeInstance);
75188
75329
  *
75189
75330
  */
75190
75331
  var Tree = class {
75332
+ buildTransformation;
75191
75333
  branches;
75192
75334
  branchingOperationIds = /* @__PURE__ */ new Map();
75193
75335
  constructor(buildTransformation, initialBranch) {
@@ -75767,6 +75909,7 @@ stores.inject(MyMetaStore, storeInstance);
75767
75909
  * with the new selected anchor
75768
75910
  */
75769
75911
  var SelectionStreamProcessorImpl = class {
75912
+ getters;
75770
75913
  stream;
75771
75914
  /**
75772
75915
  * "Active" anchor used as a reference to compute new anchors
@@ -79233,8 +79376,8 @@ exports.stores = stores;
79233
79376
  exports.tokenColors = tokenColors;
79234
79377
  exports.tokenize = tokenize;
79235
79378
 
79236
- __info__.version = "19.0.34";
79237
- __info__.date = "2026-05-12T12:17:43.737Z";
79238
- __info__.hash = "d9074ea";
79379
+ __info__.version = "19.0.36";
79380
+ __info__.date = "2026-05-27T05:57:35.932Z";
79381
+ __info__.hash = "3f73c94";
79239
79382
 
79240
79383
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);