@odoo/o-spreadsheet 19.1.19 → 19.1.21

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.1.19
6
- * @date 2026-05-12T12:20:42.167Z
7
- * @hash aea4a8c
5
+ * @version 19.1.21
6
+ * @date 2026-05-27T05:56:49.891Z
7
+ * @hash 99ebe93
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -2038,6 +2038,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2038
2038
  }
2039
2039
  };
2040
2040
  var StoreFactory = class {
2041
+ get;
2041
2042
  pendingBuilds = /* @__PURE__ */ new Set();
2042
2043
  constructor(get) {
2043
2044
  this.get = get;
@@ -2082,6 +2083,7 @@ stores.inject(MyMetaStore, storeInstance);
2082
2083
  return MetaStore;
2083
2084
  }
2084
2085
  var DisposableStore = class {
2086
+ get;
2085
2087
  disposeCallbacks = [];
2086
2088
  constructor(get) {
2087
2089
  this.get = get;
@@ -2837,6 +2839,7 @@ stores.inject(MyMetaStore, storeInstance);
2837
2839
  else return ALTERNATING_COLORS_XL;
2838
2840
  }
2839
2841
  var ColorGenerator = class {
2842
+ preferredColors;
2840
2843
  currentColorIndex = 0;
2841
2844
  palette;
2842
2845
  constructor(paletteSize, preferredColors = []) {
@@ -3555,6 +3558,7 @@ stores.inject(MyMetaStore, storeInstance);
3555
3558
  return sprintf(_translate(s), ...values);
3556
3559
  };
3557
3560
  var LazyTranslatedString = class extends String {
3561
+ values;
3558
3562
  constructor(str, values) {
3559
3563
  super(str);
3560
3564
  this.values = values;
@@ -3584,6 +3588,8 @@ stores.inject(MyMetaStore, storeInstance);
3584
3588
  };
3585
3589
  const errorTypes = new Set(Object.values(CellErrorType));
3586
3590
  var EvaluationError = class {
3591
+ message;
3592
+ value;
3587
3593
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
3588
3594
  this.message = message;
3589
3595
  this.value = value;
@@ -3616,6 +3622,7 @@ stores.inject(MyMetaStore, storeInstance);
3616
3622
  }
3617
3623
  };
3618
3624
  var SplillBlockedError = class extends EvaluationError {
3625
+ errorOriginPosition;
3619
3626
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
3620
3627
  super(message, CellErrorType.SpilledBlocked);
3621
3628
  this.errorOriginPosition = errorOriginPosition;
@@ -6422,8 +6429,13 @@ stores.inject(MyMetaStore, storeInstance);
6422
6429
  changeType: "NONE",
6423
6430
  range
6424
6431
  };
6432
+ const isUnboundedAtEnd = range.unboundedZone[end] === void 0;
6433
+ if (isUnboundedAtEnd && !range.unboundedZone.hasHeader) return {
6434
+ changeType: "RESIZE",
6435
+ range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
6436
+ };
6425
6437
  if (cmd.position === "after") {
6426
- if (range.zone[start] <= cmd.base && cmd.base < range.zone[end]) return {
6438
+ if (range.zone[start] <= cmd.base && (cmd.base < range.zone[end] || isUnboundedAtEnd)) return {
6427
6439
  changeType: "RESIZE",
6428
6440
  range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
6429
6441
  };
@@ -7352,6 +7364,10 @@ stores.inject(MyMetaStore, storeInstance);
7352
7364
  ROUNDDOWN: [{
7353
7365
  type: "NUMBER",
7354
7366
  value: 0
7367
+ }],
7368
+ IFERROR: [{
7369
+ type: "NUMBER",
7370
+ value: 0
7355
7371
  }]
7356
7372
  };
7357
7373
  /**
@@ -10067,6 +10083,7 @@ stores.inject(MyMetaStore, storeInstance);
10067
10083
  }, runtime).computeDesign();
10068
10084
  }
10069
10085
  var ScorecardChartConfigBuilder = class {
10086
+ runtime;
10070
10087
  context;
10071
10088
  width;
10072
10089
  height;
@@ -16114,6 +16131,10 @@ stores.inject(MyMetaStore, storeInstance);
16114
16131
  * Animation interpolating values using the ease-out quartic curve function (chartJS default easing)
16115
16132
  */
16116
16133
  var Animation = class {
16134
+ startValue;
16135
+ endValue;
16136
+ duration;
16137
+ callback;
16117
16138
  startTime = void 0;
16118
16139
  animationFrameId = null;
16119
16140
  constructor(startValue, endValue, duration, callback) {
@@ -16577,6 +16598,11 @@ stores.inject(MyMetaStore, storeInstance);
16577
16598
  }
16578
16599
  };
16579
16600
  var PopoverPositionContext = class {
16601
+ anchorRect;
16602
+ containerRect;
16603
+ propsMaxSize;
16604
+ spreadsheetOffset;
16605
+ lastPosition;
16580
16606
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset, lastPosition) {
16581
16607
  this.anchorRect = anchorRect;
16582
16608
  this.containerRect = containerRect;
@@ -28532,6 +28558,7 @@ stores.inject(MyMetaStore, storeInstance);
28532
28558
  //#endregion
28533
28559
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
28534
28560
  var StandaloneComposerStore = class extends AbstractComposerStore {
28561
+ args;
28535
28562
  constructor(get, args) {
28536
28563
  super(get);
28537
28564
  this.args = args;
@@ -29374,6 +29401,7 @@ stores.inject(MyMetaStore, storeInstance);
29374
29401
  }
29375
29402
  };
29376
29403
  var ContainerWrapper = class {
29404
+ el;
29377
29405
  constructor(el) {
29378
29406
  this.el = el;
29379
29407
  }
@@ -29445,6 +29473,10 @@ stores.inject(MyMetaStore, storeInstance);
29445
29473
  * This plugin handles this internal state.
29446
29474
  */
29447
29475
  var SelectionInputStore = class extends SpreadsheetStore {
29476
+ initialRanges;
29477
+ inputHasSingleRange;
29478
+ colors;
29479
+ disabledRanges;
29448
29480
  mutators = [
29449
29481
  "resetWithRanges",
29450
29482
  "focusById",
@@ -31964,6 +31996,7 @@ stores.inject(MyMetaStore, storeInstance);
31964
31996
  * Represent a raw XML string
31965
31997
  */
31966
31998
  var XMLString = class {
31999
+ xmlString;
31967
32000
  /**
31968
32001
  * @param xmlString should be a well formed, properly escaped XML string
31969
32002
  */
@@ -38342,13 +38375,30 @@ stores.inject(MyMetaStore, storeInstance);
38342
38375
  break;
38343
38376
  }
38344
38377
  return {
38378
+ /**
38379
+ * Get the id of the measure, as it is stored in the pivot formula
38380
+ */
38345
38381
  id: measure.id,
38382
+ /**
38383
+ * Display name of the measure
38384
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
38385
+ */
38346
38386
  get displayName() {
38347
38387
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
38348
38388
  },
38349
38389
  userDefinedName: measure.userDefinedName,
38390
+ /**
38391
+ * Get the name of the field of the measure
38392
+ */
38350
38393
  fieldName,
38394
+ /**
38395
+ * Get the aggregator of the measure
38396
+ */
38351
38397
  aggregator,
38398
+ /**
38399
+ * Get the type of the measure field
38400
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
38401
+ */
38352
38402
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
38353
38403
  isValid,
38354
38404
  isHidden: measure.isHidden,
@@ -38362,10 +38412,30 @@ stores.inject(MyMetaStore, storeInstance);
38362
38412
  const type = field?.type ?? "integer";
38363
38413
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
38364
38414
  return {
38415
+ /**
38416
+ * Get the display name of the dimension
38417
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
38418
+ */
38365
38419
  displayName: field?.string ?? dimension.fieldName,
38420
+ /**
38421
+ * Get the name of the dimension, as it is stored in the pivot formula
38422
+ * e.g. "stage_id", "create_date:month"
38423
+ */
38366
38424
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
38425
+ /**
38426
+ * Get the name of the field of the dimension
38427
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
38428
+ */
38367
38429
  fieldName: dimension.fieldName,
38430
+ /**
38431
+ * Get the aggregate operator of the dimension
38432
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
38433
+ */
38368
38434
  granularity,
38435
+ /**
38436
+ * Get the type of the field of the dimension
38437
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
38438
+ */
38369
38439
  type: field?.isCustomField ? "custom" : type,
38370
38440
  order: dimension.order,
38371
38441
  isValid: !!field,
@@ -49231,6 +49301,8 @@ stores.inject(MyMetaStore, storeInstance);
49231
49301
  //#endregion
49232
49302
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
49233
49303
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
49304
+ pivotId;
49305
+ initialMeasure;
49234
49306
  mutators = [
49235
49307
  "cancelMeasureDisplayEdition",
49236
49308
  "updateMeasureDisplayType",
@@ -49415,7 +49487,7 @@ stores.inject(MyMetaStore, storeInstance);
49415
49487
  col,
49416
49488
  row
49417
49489
  };
49418
- if (pivotId === getters.getPivotIdFromPosition(position)) positions.push(position);
49490
+ if (getters.getPivotIdsFromPosition(position).includes(pivotId)) positions.push(position);
49419
49491
  }
49420
49492
  return positions;
49421
49493
  }
@@ -49683,6 +49755,7 @@ stores.inject(MyMetaStore, storeInstance);
49683
49755
  //#endregion
49684
49756
  //#region src/formulas/code_builder.ts
49685
49757
  var FunctionCodeBuilder = class {
49758
+ scope;
49686
49759
  code = "";
49687
49760
  constructor(scope = new Scope()) {
49688
49761
  this.scope = scope;
@@ -49698,6 +49771,8 @@ stores.inject(MyMetaStore, storeInstance);
49698
49771
  }
49699
49772
  };
49700
49773
  var FunctionCodeImpl = class {
49774
+ scope;
49775
+ returnExpression;
49701
49776
  code;
49702
49777
  constructor(scope, code, returnExpression) {
49703
49778
  this.scope = scope;
@@ -50512,6 +50587,9 @@ stores.inject(MyMetaStore, storeInstance);
50512
50587
  function getFirstPivotFunction(tokens) {
50513
50588
  return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS)[0];
50514
50589
  }
50590
+ function getPivotFunctions(tokens) {
50591
+ return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS);
50592
+ }
50515
50593
  /**
50516
50594
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
50517
50595
  * present in the given formula.
@@ -50588,6 +50666,8 @@ stores.inject(MyMetaStore, storeInstance);
50588
50666
  //#endregion
50589
50667
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
50590
50668
  var PivotSidePanelStore = class extends SpreadsheetStore {
50669
+ pivotId;
50670
+ updateMode;
50591
50671
  mutators = [
50592
50672
  "reset",
50593
50673
  "deferUpdates",
@@ -54039,6 +54119,10 @@ stores.inject(MyMetaStore, storeInstance);
54039
54119
  }
54040
54120
  };
54041
54121
  var FormulaCellWithDependencies = class {
54122
+ id;
54123
+ format;
54124
+ sheetId;
54125
+ getRangeString;
54042
54126
  isFormula = true;
54043
54127
  compiledFormula;
54044
54128
  constructor(id, compiledFormula, format, dependencies, sheetId, getRangeString) {
@@ -54072,6 +54156,10 @@ stores.inject(MyMetaStore, storeInstance);
54072
54156
  }
54073
54157
  };
54074
54158
  var RangeReferenceToken = class {
54159
+ ranges;
54160
+ rangeIndex;
54161
+ sheetId;
54162
+ getRangeString;
54075
54163
  type = "REFERENCE";
54076
54164
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
54077
54165
  this.ranges = ranges;
@@ -57930,6 +58018,8 @@ stores.inject(MyMetaStore, storeInstance);
57930
58018
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
57931
58019
  }
57932
58020
  var CompilationParametersBuilder = class {
58021
+ getters;
58022
+ computeCell;
57933
58023
  evalContext;
57934
58024
  rangeCache = {};
57935
58025
  constructor(context, getters, computeCell) {
@@ -58876,6 +58966,7 @@ stores.inject(MyMetaStore, storeInstance);
58876
58966
  }));
58877
58967
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
58878
58968
  var Evaluator = class {
58969
+ context;
58879
58970
  getters;
58880
58971
  compilationParams;
58881
58972
  evaluatedCells = new PositionMap();
@@ -61147,6 +61238,7 @@ stores.inject(MyMetaStore, storeInstance);
61147
61238
  "getFirstPivotFunction",
61148
61239
  "getPivotCellSortDirection",
61149
61240
  "getPivotIdFromPosition",
61241
+ "getPivotIdsFromPosition",
61150
61242
  "getPivotCellFromPosition",
61151
61243
  "generateNewCalculatedMeasureName",
61152
61244
  "isPivotUnused",
@@ -61204,37 +61296,52 @@ stores.inject(MyMetaStore, storeInstance);
61204
61296
  }
61205
61297
  }
61206
61298
  /**
61207
- * Get the id of the pivot at the given position. Returns undefined if there
61299
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
61208
61300
  * is no pivot at this position
61209
61301
  */
61210
61302
  getPivotIdFromPosition(position) {
61303
+ return this.getPivotIdsFromPosition(position)[0];
61304
+ }
61305
+ /**
61306
+ * Get all of the ids of the pivot present in the formula at the given position.
61307
+ */
61308
+ getPivotIdsFromPosition(position) {
61211
61309
  const cell = this.getters.getCorrespondingFormulaCell(position);
61212
- if (cell && cell.isFormula) {
61213
- const pivotFunction = this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens);
61214
- if (pivotFunction) {
61215
- const pivotId = pivotFunction.args[0]?.toString();
61216
- return pivotId && this.getters.getPivotId(pivotId);
61217
- }
61218
- }
61310
+ if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
61311
+ return [];
61312
+ }
61313
+ getPivotIdsFromFormula(sheetId, formula) {
61314
+ return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
61315
+ const pivotId = pivotFunction.args[0]?.toString();
61316
+ return pivotId && this.getters.getPivotId(pivotId);
61317
+ }).filter(isDefined);
61219
61318
  }
61220
61319
  isSpillPivotFormula(position) {
61221
61320
  const cell = this.getters.getCorrespondingFormulaCell(position);
61222
61321
  if (cell && cell.isFormula) return this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens)?.functionName === "PIVOT";
61223
61322
  return false;
61224
61323
  }
61225
- getFirstPivotFunction(sheetId, tokens) {
61226
- const pivotFunction = getFirstPivotFunction(tokens);
61227
- if (!pivotFunction) return;
61228
- const { functionName, args } = pivotFunction;
61229
- return {
61230
- functionName,
61231
- args: args.map((argAst) => {
61324
+ getPivotFunctions(sheetId, tokens) {
61325
+ const pivotFunctions = getPivotFunctions(tokens);
61326
+ if (!pivotFunctions.length) return [];
61327
+ const evaluatedPivotFunctions = [];
61328
+ for (const pivotFunction of pivotFunctions) {
61329
+ const { functionName, args } = pivotFunction;
61330
+ const evaluatedArgs = args.map((argAst) => {
61232
61331
  if (argAst.type === "EMPTY") return;
61233
61332
  else if (argAst.type === "STRING" || argAst.type === "BOOLEAN" || argAst.type === "NUMBER") return argAst.value;
61234
61333
  const argsString = astToFormula(argAst);
61235
61334
  return this.getters.evaluateFormula(sheetId, argsString);
61236
- })
61237
- };
61335
+ });
61336
+ evaluatedPivotFunctions.push({
61337
+ functionName,
61338
+ args: evaluatedArgs
61339
+ });
61340
+ }
61341
+ return evaluatedPivotFunctions;
61342
+ }
61343
+ getFirstPivotFunction(sheetId, tokens) {
61344
+ return this.getPivotFunctions(sheetId, tokens)[0];
61238
61345
  }
61239
61346
  /**
61240
61347
  * Returns the domain args of a pivot formula from a position.
@@ -61340,8 +61447,8 @@ stores.inject(MyMetaStore, storeInstance);
61340
61447
  const unusedPivots = new Set(this.getters.getPivotIds());
61341
61448
  for (const sheetId of this.getters.getSheetIds()) for (const cellId in this.getters.getCells(sheetId)) {
61342
61449
  const position = this.getters.getCellPosition(cellId);
61343
- const pivotId = this.getPivotIdFromPosition(position);
61344
- if (pivotId) {
61450
+ const pivotIds = this.getPivotIdsFromPosition(position);
61451
+ for (const pivotId of pivotIds) {
61345
61452
  unusedPivots.delete(pivotId);
61346
61453
  if (!unusedPivots.size) {
61347
61454
  this.unusedPivotsInFormulas = [];
@@ -61349,6 +61456,21 @@ stores.inject(MyMetaStore, storeInstance);
61349
61456
  }
61350
61457
  }
61351
61458
  }
61459
+ for (const pivotId of this.getters.getPivotIds()) {
61460
+ const pivot = this.getters.getPivot(pivotId);
61461
+ for (const measure of pivot.definition.measures) if (measure.computedBy) {
61462
+ const { sheetId } = measure.computedBy;
61463
+ const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
61464
+ const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
61465
+ for (const relatedPivotId of relatedPivotIds) {
61466
+ unusedPivots.delete(relatedPivotId);
61467
+ if (!unusedPivots.size) {
61468
+ this.unusedPivotsInFormulas = [];
61469
+ return [];
61470
+ }
61471
+ }
61472
+ }
61473
+ }
61352
61474
  this.unusedPivotsInFormulas = [...unusedPivots];
61353
61475
  return this.unusedPivotsInFormulas;
61354
61476
  }
@@ -61357,6 +61479,8 @@ stores.inject(MyMetaStore, storeInstance);
61357
61479
  //#endregion
61358
61480
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
61359
61481
  var ClipboardHandler = class {
61482
+ getters;
61483
+ dispatch;
61360
61484
  constructor(getters, dispatch) {
61361
61485
  this.getters = getters;
61362
61486
  this.dispatch = dispatch;
@@ -63626,6 +63750,8 @@ stores.inject(MyMetaStore, storeInstance);
63626
63750
  //#endregion
63627
63751
  //#region src/collaborative/revisions.ts
63628
63752
  var Revision = class {
63753
+ rootCommand;
63754
+ timestamp;
63629
63755
  id;
63630
63756
  clientId;
63631
63757
  _commands = [];
@@ -63662,6 +63788,9 @@ stores.inject(MyMetaStore, storeInstance);
63662
63788
  //#region src/collaborative/session.ts
63663
63789
  var ClientDisconnectedError = class extends Error {};
63664
63790
  var Session = class extends EventBus {
63791
+ revisions;
63792
+ transportService;
63793
+ serverRevisionId;
63665
63794
  /**
63666
63795
  * Positions of the others client.
63667
63796
  */
@@ -67163,6 +67292,9 @@ stores.inject(MyMetaStore, storeInstance);
67163
67292
  //#endregion
67164
67293
  //#region src/helpers/internal_viewport.ts
67165
67294
  var InternalViewport = class {
67295
+ getters;
67296
+ sheetId;
67297
+ boundaries;
67166
67298
  top;
67167
67299
  bottom;
67168
67300
  left;
@@ -71880,6 +72012,7 @@ stores.inject(MyMetaStore, storeInstance);
71880
72012
  return new WebClipboardWrapper(navigator.clipboard);
71881
72013
  }
71882
72014
  var WebClipboardWrapper = class {
72015
+ clipboard;
71883
72016
  constructor(clipboard) {
71884
72017
  this.clipboard = clipboard;
71885
72018
  }
@@ -72143,6 +72276,7 @@ stores.inject(MyMetaStore, storeInstance);
72143
72276
  //#endregion
72144
72277
  //#region src/collaborative/readonly_transport_filter.ts
72145
72278
  var ReadonlyTransportFilter = class {
72279
+ transportService;
72146
72280
  constructor(transportService) {
72147
72281
  this.transportService = transportService;
72148
72282
  }
@@ -72174,6 +72308,8 @@ stores.inject(MyMetaStore, storeInstance);
72174
72308
  * @param operations initial operations
72175
72309
  */
72176
72310
  var Branch = class Branch {
72311
+ buildTransformation;
72312
+ operations;
72177
72313
  constructor(buildTransformation, operations = []) {
72178
72314
  this.buildTransformation = buildTransformation;
72179
72315
  this.operations = operations;
@@ -72290,6 +72426,8 @@ stores.inject(MyMetaStore, storeInstance);
72290
72426
  * to revert it).
72291
72427
  */
72292
72428
  var Operation = class {
72429
+ id;
72430
+ data;
72293
72431
  constructor(id, data) {
72294
72432
  this.id = id;
72295
72433
  this.data = data;
@@ -72299,6 +72437,8 @@ stores.inject(MyMetaStore, storeInstance);
72299
72437
  }
72300
72438
  };
72301
72439
  var LazyOperation = class LazyOperation {
72440
+ id;
72441
+ lazyData;
72302
72442
  constructor(id, lazyData) {
72303
72443
  this.id = id;
72304
72444
  this.lazyData = lazyData;
@@ -72324,6 +72464,7 @@ stores.inject(MyMetaStore, storeInstance);
72324
72464
  * ```
72325
72465
  */
72326
72466
  var OperationSequence = class OperationSequence {
72467
+ operations;
72327
72468
  constructor(operations) {
72328
72469
  this.operations = operations;
72329
72470
  }
@@ -72399,6 +72540,7 @@ stores.inject(MyMetaStore, storeInstance);
72399
72540
  *
72400
72541
  */
72401
72542
  var Tree = class {
72543
+ buildTransformation;
72402
72544
  branches;
72403
72545
  branchingOperationIds = /* @__PURE__ */ new Map();
72404
72546
  constructor(buildTransformation, initialBranch) {
@@ -73211,6 +73353,7 @@ stores.inject(MyMetaStore, storeInstance);
73211
73353
  * with the new selected anchor
73212
73354
  */
73213
73355
  var SelectionStreamProcessorImpl = class {
73356
+ getters;
73214
73357
  stream;
73215
73358
  /**
73216
73359
  * "Active" anchor used as a reference to compute new anchors
@@ -79001,8 +79144,8 @@ exports.stores = stores;
79001
79144
  exports.tokenColors = tokenColors;
79002
79145
  exports.tokenize = tokenize;
79003
79146
 
79004
- __info__.version = "19.1.19";
79005
- __info__.date = "2026-05-12T12:20:42.167Z";
79006
- __info__.hash = "aea4a8c";
79147
+ __info__.version = "19.1.21";
79148
+ __info__.date = "2026-05-27T05:56:49.891Z";
79149
+ __info__.hash = "99ebe93";
79007
79150
 
79008
79151
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);