@odoo/o-spreadsheet 18.2.53 → 18.2.55

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.2.53
6
- * @date 2026-05-12T12:17:43.785Z
7
- * @hash d8b08ba
5
+ * @version 18.2.55
6
+ * @date 2026-06-06T06:20:23.893Z
7
+ * @hash 57b568a
8
8
  */
9
9
 
10
10
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
@@ -1346,6 +1346,7 @@ function getAlternatingColorsPalette(quantity) {
1346
1346
  else return ALTERNATING_COLORS_XL;
1347
1347
  }
1348
1348
  var ColorGenerator = class {
1349
+ preferredColors;
1349
1350
  currentColorIndex = 0;
1350
1351
  palette;
1351
1352
  constructor(paletteSize, preferredColors = []) {
@@ -1812,6 +1813,7 @@ const _t = function(s, ...values) {
1812
1813
  return sprintf(_translate(s), ...values);
1813
1814
  };
1814
1815
  var LazyTranslatedString = class extends String {
1816
+ values;
1815
1817
  constructor(str, values) {
1816
1818
  super(str);
1817
1819
  this.values = values;
@@ -3308,6 +3310,8 @@ const CellErrorType = {
3308
3310
  };
3309
3311
  const errorTypes = new Set(Object.values(CellErrorType));
3310
3312
  var EvaluationError = class {
3313
+ message;
3314
+ value;
3311
3315
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
3312
3316
  this.message = message;
3313
3317
  this.value = value;
@@ -3340,6 +3344,7 @@ var UnknownFunctionError = class extends EvaluationError {
3340
3344
  }
3341
3345
  };
3342
3346
  var SplillBlockedError = class extends EvaluationError {
3347
+ errorOriginPosition;
3343
3348
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
3344
3349
  super(message, CellErrorType.SpilledBlocked);
3345
3350
  this.errorOriginPosition = errorOriginPosition;
@@ -4042,6 +4047,7 @@ function detectLink(value) {
4042
4047
  //#endregion
4043
4048
  //#region src/helpers/format/format_tokenizer.ts
4044
4049
  function tokenizeFormat(str) {
4050
+ str = str.replace(/\s/g, " ");
4045
4051
  const chars = new TokenizingChars(str);
4046
4052
  const result = [];
4047
4053
  let currentFormatPart = [];
@@ -5173,6 +5179,7 @@ function getFullReference(sheetName, xc) {
5173
5179
  //#endregion
5174
5180
  //#region src/helpers/range.ts
5175
5181
  var RangeImpl = class RangeImpl {
5182
+ getSheetSize;
5176
5183
  _zone;
5177
5184
  parts;
5178
5185
  invalidXc;
@@ -5860,6 +5867,8 @@ const selectPastedZone = (selection, sourceZones, pastedZones) => {
5860
5867
  //#endregion
5861
5868
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
5862
5869
  var ClipboardHandler = class {
5870
+ getters;
5871
+ dispatch;
5863
5872
  constructor(getters, dispatch) {
5864
5873
  this.getters = getters;
5865
5874
  this.dispatch = dispatch;
@@ -8267,6 +8276,7 @@ var DependencyContainer = class extends EventBus {
8267
8276
  }
8268
8277
  };
8269
8278
  var StoreFactory = class {
8279
+ get;
8270
8280
  pendingBuilds = /* @__PURE__ */ new Set();
8271
8281
  constructor(get) {
8272
8282
  this.get = get;
@@ -8311,6 +8321,7 @@ stores.inject(MyMetaStore, storeInstance);
8311
8321
  return MetaStore;
8312
8322
  }
8313
8323
  var DisposableStore = class {
8324
+ get;
8314
8325
  disposeCallbacks = [];
8315
8326
  constructor(get) {
8316
8327
  this.get = get;
@@ -9454,6 +9465,7 @@ function getScorecardConfiguration({ width, height }, runtime) {
9454
9465
  }, runtime).computeDesign();
9455
9466
  }
9456
9467
  var ScorecardChartConfigBuilder = class {
9468
+ runtime;
9457
9469
  context;
9458
9470
  width;
9459
9471
  height;
@@ -18108,6 +18120,7 @@ var AbstractComposerStore = class extends SpreadsheetStore {
18108
18120
  //#endregion
18109
18121
  //#region src/formulas/code_builder.ts
18110
18122
  var FunctionCodeBuilder = class {
18123
+ scope;
18111
18124
  code = "";
18112
18125
  constructor(scope = new Scope()) {
18113
18126
  this.scope = scope;
@@ -18123,6 +18136,8 @@ var FunctionCodeBuilder = class {
18123
18136
  }
18124
18137
  };
18125
18138
  var FunctionCodeImpl = class {
18139
+ scope;
18140
+ returnExpression;
18126
18141
  code;
18127
18142
  constructor(scope, code, returnExpression) {
18128
18143
  this.scope = scope;
@@ -18503,6 +18518,9 @@ function extractFormulaIdFromToken(tokenAtCursor) {
18503
18518
  function getFirstPivotFunction(tokens) {
18504
18519
  return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS)[0];
18505
18520
  }
18521
+ function getPivotFunctions(tokens) {
18522
+ return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS);
18523
+ }
18506
18524
  /**
18507
18525
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
18508
18526
  * present in the given formula.
@@ -19553,6 +19571,7 @@ const backgroundColorChartJSPlugin = {
19553
19571
  * Represent a raw XML string
19554
19572
  */
19555
19573
  var XMLString = class {
19574
+ xmlString;
19556
19575
  /**
19557
19576
  * @param xmlString should be a well formed, properly escaped XML string
19558
19577
  */
@@ -19671,6 +19690,10 @@ const FORCE_DEFAULT_ARGS_FUNCTIONS = {
19671
19690
  ROUNDDOWN: [{
19672
19691
  type: "NUMBER",
19673
19692
  value: 0
19693
+ }],
19694
+ IFERROR: [{
19695
+ type: "NUMBER",
19696
+ value: 0
19674
19697
  }]
19675
19698
  };
19676
19699
  /**
@@ -29586,6 +29609,10 @@ var Popover = class extends _odoo_owl.Component {
29586
29609
  }
29587
29610
  };
29588
29611
  var PopoverPositionContext = class {
29612
+ anchorRect;
29613
+ containerRect;
29614
+ propsMaxSize;
29615
+ spreadsheetOffset;
29589
29616
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset) {
29590
29617
  this.anchorRect = anchorRect;
29591
29618
  this.containerRect = containerRect;
@@ -30684,11 +30711,10 @@ const INSERT_TABLE = (env) => {
30684
30711
  if (interactiveCreateTable(env, env.model.getters.getActiveSheetId()).isSuccessful) env.openSidePanel("TableSidePanel", {});
30685
30712
  };
30686
30713
  const DELETE_SELECTED_TABLE = (env) => {
30687
- const position = env.model.getters.getActivePosition();
30688
- const table = env.model.getters.getTable(position);
30714
+ const table = env.model.getters.getFirstTableInSelection();
30689
30715
  if (!table) return;
30690
30716
  env.model.dispatch("REMOVE_TABLE", {
30691
- sheetId: position.sheetId,
30717
+ sheetId: env.model.getters.getActiveSheetId(),
30692
30718
  target: [table.range.zone]
30693
30719
  });
30694
30720
  };
@@ -32624,7 +32650,7 @@ function getVisiblePivotCellPositions(getters, pivotId) {
32624
32650
  col,
32625
32651
  row
32626
32652
  };
32627
- if (pivotId === getters.getPivotIdFromPosition(position)) positions.push(position);
32653
+ if (getters.getPivotIdsFromPosition(position).includes(pivotId)) positions.push(position);
32628
32654
  }
32629
32655
  return positions;
32630
32656
  }
@@ -33402,6 +33428,7 @@ var DOMDndHelper = class {
33402
33428
  }
33403
33429
  };
33404
33430
  var ContainerWrapper = class {
33431
+ el;
33405
33432
  constructor(el) {
33406
33433
  this.el = el;
33407
33434
  }
@@ -33487,6 +33514,9 @@ var FocusStore = class {
33487
33514
  * This plugin handles this internal state.
33488
33515
  */
33489
33516
  var SelectionInputStore = class extends SpreadsheetStore {
33517
+ initialRanges;
33518
+ inputHasSingleRange;
33519
+ colors;
33490
33520
  mutators = [
33491
33521
  "resetWithRanges",
33492
33522
  "focusById",
@@ -36399,6 +36429,7 @@ var Composer = class extends _odoo_owl.Component {
36399
36429
  //#endregion
36400
36430
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
36401
36431
  var StandaloneComposerStore = class extends AbstractComposerStore {
36432
+ args;
36402
36433
  constructor(get, args) {
36403
36434
  super(get);
36404
36435
  this.args = args;
@@ -39973,6 +40004,8 @@ var MoreFormatsPanel = class extends _odoo_owl.Component {
39973
40004
  //#endregion
39974
40005
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
39975
40006
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
40007
+ pivotId;
40008
+ initialMeasure;
39976
40009
  mutators = [
39977
40010
  "cancelMeasureDisplayEdition",
39978
40011
  "updateMeasureDisplayType",
@@ -41011,13 +41044,30 @@ function createMeasure(fields, measure) {
41011
41044
  } : fields[fieldName];
41012
41045
  const aggregator = measure.aggregator;
41013
41046
  return {
41047
+ /**
41048
+ * Get the id of the measure, as it is stored in the pivot formula
41049
+ */
41014
41050
  id: measure.id,
41051
+ /**
41052
+ * Display name of the measure
41053
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
41054
+ */
41015
41055
  get displayName() {
41016
41056
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
41017
41057
  },
41018
41058
  userDefinedName: measure.userDefinedName,
41059
+ /**
41060
+ * Get the name of the field of the measure
41061
+ */
41019
41062
  fieldName,
41063
+ /**
41064
+ * Get the aggregator of the measure
41065
+ */
41020
41066
  aggregator,
41067
+ /**
41068
+ * Get the type of the measure field
41069
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
41070
+ */
41021
41071
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
41022
41072
  isValid: !!(field || measure.computedBy),
41023
41073
  isHidden: measure.isHidden,
@@ -41031,10 +41081,30 @@ function createPivotDimension(fields, dimension) {
41031
41081
  const type = field?.type ?? "integer";
41032
41082
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
41033
41083
  return {
41084
+ /**
41085
+ * Get the display name of the dimension
41086
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
41087
+ */
41034
41088
  displayName: field?.string ?? dimension.fieldName,
41089
+ /**
41090
+ * Get the name of the dimension, as it is stored in the pivot formula
41091
+ * e.g. "stage_id", "create_date:month"
41092
+ */
41035
41093
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
41094
+ /**
41095
+ * Get the name of the field of the dimension
41096
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
41097
+ */
41036
41098
  fieldName: dimension.fieldName,
41099
+ /**
41100
+ * Get the aggregate operator of the dimension
41101
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
41102
+ */
41037
41103
  granularity,
41104
+ /**
41105
+ * Get the type of the field of the dimension
41106
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
41107
+ */
41038
41108
  type,
41039
41109
  order: dimension.order,
41040
41110
  isValid: !!field
@@ -42074,6 +42144,7 @@ function adaptPivotRange(range, applyChange) {
42074
42144
  //#endregion
42075
42145
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
42076
42146
  var PivotSidePanelStore = class extends SpreadsheetStore {
42147
+ pivotId;
42077
42148
  mutators = [
42078
42149
  "reset",
42079
42150
  "deferUpdates",
@@ -49575,6 +49646,11 @@ var CellPlugin = class extends CorePlugin {
49575
49646
  }
49576
49647
  };
49577
49648
  var FormulaCellWithDependencies = class {
49649
+ id;
49650
+ format;
49651
+ style;
49652
+ sheetId;
49653
+ getRangeString;
49578
49654
  isFormula = true;
49579
49655
  compiledFormula;
49580
49656
  constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
@@ -49609,6 +49685,10 @@ var FormulaCellWithDependencies = class {
49609
49685
  }
49610
49686
  };
49611
49687
  var RangeReferenceToken = class {
49688
+ ranges;
49689
+ rangeIndex;
49690
+ sheetId;
49691
+ getRangeString;
49612
49692
  type = "REFERENCE";
49613
49693
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
49614
49694
  this.ranges = ranges;
@@ -53505,6 +53585,8 @@ function buildCompilationParameters(context, getters, computeCell) {
53505
53585
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
53506
53586
  }
53507
53587
  var CompilationParametersBuilder = class {
53588
+ getters;
53589
+ computeCell;
53508
53590
  evalContext;
53509
53591
  rangeCache = {};
53510
53592
  constructor(context, getters, computeCell) {
@@ -54142,6 +54224,7 @@ var ZoneRBush = class extends import_rbush.default {
54142
54224
  * It uses an R-Tree data structure to efficiently find dependent cells.
54143
54225
  */
54144
54226
  var FormulaDependencyGraph = class {
54227
+ createEmptyPositionSet;
54145
54228
  dependencies = new PositionMap();
54146
54229
  rTree;
54147
54230
  constructor(createEmptyPositionSet, data = []) {
@@ -54443,6 +54526,7 @@ const MAX_ITERATION = 30;
54443
54526
  const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell(new CircularDependencyError()));
54444
54527
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
54445
54528
  var Evaluator = class {
54529
+ context;
54446
54530
  getters;
54447
54531
  compilationParams;
54448
54532
  evaluatedCells = new PositionMap();
@@ -56425,6 +56509,7 @@ var PivotUIPlugin = class extends CoreViewPlugin {
56425
56509
  "getPivot",
56426
56510
  "getFirstPivotFunction",
56427
56511
  "getPivotIdFromPosition",
56512
+ "getPivotIdsFromPosition",
56428
56513
  "getPivotCellFromPosition",
56429
56514
  "generateNewCalculatedMeasureName",
56430
56515
  "isPivotUnused",
@@ -56449,9 +56534,11 @@ var PivotUIPlugin = class extends CoreViewPlugin {
56449
56534
  this.refreshPivot(cmd.id);
56450
56535
  break;
56451
56536
  case "ADD_PIVOT":
56537
+ this.unusedPivots?.push(cmd.pivotId);
56452
56538
  this.setupPivot(cmd.pivotId);
56453
56539
  break;
56454
56540
  case "DUPLICATE_PIVOT":
56541
+ this.unusedPivots?.push(cmd.newPivotId);
56455
56542
  this.setupPivot(cmd.newPivotId);
56456
56543
  break;
56457
56544
  case "UPDATE_PIVOT":
@@ -56482,37 +56569,52 @@ var PivotUIPlugin = class extends CoreViewPlugin {
56482
56569
  }
56483
56570
  }
56484
56571
  /**
56485
- * Get the id of the pivot at the given position. Returns undefined if there
56572
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
56486
56573
  * is no pivot at this position
56487
56574
  */
56488
56575
  getPivotIdFromPosition(position) {
56576
+ return this.getPivotIdsFromPosition(position)[0];
56577
+ }
56578
+ /**
56579
+ * Get all of the ids of the pivot present in the formula at the given position.
56580
+ */
56581
+ getPivotIdsFromPosition(position) {
56489
56582
  const cell = this.getters.getCorrespondingFormulaCell(position);
56490
- if (cell && cell.isFormula) {
56491
- const pivotFunction = this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens);
56492
- if (pivotFunction) {
56493
- const pivotId = pivotFunction.args[0]?.toString();
56494
- return pivotId && this.getters.getPivotId(pivotId);
56495
- }
56496
- }
56583
+ if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
56584
+ return [];
56585
+ }
56586
+ getPivotIdsFromFormula(sheetId, formula) {
56587
+ return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
56588
+ const pivotId = pivotFunction.args[0]?.toString();
56589
+ return pivotId && this.getters.getPivotId(pivotId);
56590
+ }).filter(isDefined);
56497
56591
  }
56498
56592
  isSpillPivotFormula(position) {
56499
56593
  const cell = this.getters.getCorrespondingFormulaCell(position);
56500
56594
  if (cell && cell.isFormula) return this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens)?.functionName === "PIVOT";
56501
56595
  return false;
56502
56596
  }
56503
- getFirstPivotFunction(sheetId, tokens) {
56504
- const pivotFunction = getFirstPivotFunction(tokens);
56505
- if (!pivotFunction) return;
56506
- const { functionName, args } = pivotFunction;
56507
- return {
56508
- functionName,
56509
- args: args.map((argAst) => {
56597
+ getPivotFunctions(sheetId, tokens) {
56598
+ const pivotFunctions = getPivotFunctions(tokens);
56599
+ if (!pivotFunctions.length) return [];
56600
+ const evaluatedPivotFunctions = [];
56601
+ for (const pivotFunction of pivotFunctions) {
56602
+ const { functionName, args } = pivotFunction;
56603
+ const evaluatedArgs = args.map((argAst) => {
56510
56604
  if (argAst.type === "EMPTY") return;
56511
56605
  else if (argAst.type === "STRING" || argAst.type === "BOOLEAN" || argAst.type === "NUMBER") return argAst.value;
56512
56606
  const argsString = astToFormula(argAst);
56513
56607
  return this.getters.evaluateFormula(sheetId, argsString);
56514
- })
56515
- };
56608
+ });
56609
+ evaluatedPivotFunctions.push({
56610
+ functionName,
56611
+ args: evaluatedArgs
56612
+ });
56613
+ }
56614
+ return evaluatedPivotFunctions;
56615
+ }
56616
+ getFirstPivotFunction(sheetId, tokens) {
56617
+ return this.getPivotFunctions(sheetId, tokens)[0];
56516
56618
  }
56517
56619
  /**
56518
56620
  * Returns the domain args of a pivot formula from a position.
@@ -56606,8 +56708,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
56606
56708
  const unusedPivots = new Set(this.getters.getPivotIds());
56607
56709
  for (const sheetId of this.getters.getSheetIds()) for (const cellId in this.getters.getCells(sheetId)) {
56608
56710
  const position = this.getters.getCellPosition(cellId);
56609
- const pivotId = this.getPivotIdFromPosition(position);
56610
- if (pivotId) {
56711
+ const pivotIds = this.getPivotIdsFromPosition(position);
56712
+ for (const pivotId of pivotIds) {
56611
56713
  unusedPivots.delete(pivotId);
56612
56714
  if (!unusedPivots.size) {
56613
56715
  this.unusedPivots = [];
@@ -56615,6 +56717,21 @@ var PivotUIPlugin = class extends CoreViewPlugin {
56615
56717
  }
56616
56718
  }
56617
56719
  }
56720
+ for (const pivotId of this.getters.getPivotIds()) {
56721
+ const pivot = this.getters.getPivotCoreDefinition(pivotId);
56722
+ for (const measure of pivot.measures) if (measure.computedBy) {
56723
+ const { sheetId } = measure.computedBy;
56724
+ const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
56725
+ const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
56726
+ for (const relatedPivotId of relatedPivotIds) {
56727
+ unusedPivots.delete(relatedPivotId);
56728
+ if (!unusedPivots.size) {
56729
+ this.unusedPivots = [];
56730
+ return [];
56731
+ }
56732
+ }
56733
+ }
56734
+ }
56618
56735
  this.unusedPivots = [...unusedPivots];
56619
56736
  return this.unusedPivots;
56620
56737
  }
@@ -57767,6 +57884,8 @@ function transformPositionWithMerge(toTransform, executed) {
57767
57884
  //#endregion
57768
57885
  //#region src/collaborative/revisions.ts
57769
57886
  var Revision = class {
57887
+ rootCommand;
57888
+ timestamp;
57770
57889
  id;
57771
57890
  clientId;
57772
57891
  _commands = [];
@@ -57803,6 +57922,9 @@ var Revision = class {
57803
57922
  //#region src/collaborative/session.ts
57804
57923
  var ClientDisconnectedError = class extends Error {};
57805
57924
  var Session = class extends EventBus {
57925
+ revisions;
57926
+ transportService;
57927
+ serverRevisionId;
57806
57928
  /**
57807
57929
  * Positions of the others client.
57808
57930
  */
@@ -61242,6 +61364,9 @@ var GridSelectionPlugin = class extends UIPlugin {
61242
61364
  //#endregion
61243
61365
  //#region src/helpers/internal_viewport.ts
61244
61366
  var InternalViewport = class {
61367
+ getters;
61368
+ sheetId;
61369
+ boundaries;
61245
61370
  top;
61246
61371
  bottom;
61247
61372
  left;
@@ -64455,6 +64580,7 @@ function instantiateClipboard() {
64455
64580
  return new WebClipboardWrapper(navigator.clipboard);
64456
64581
  }
64457
64582
  var WebClipboardWrapper = class {
64583
+ clipboard;
64458
64584
  constructor(clipboard) {
64459
64585
  this.clipboard = clipboard;
64460
64586
  }
@@ -64933,6 +65059,8 @@ function inverseCommand(cmd) {
64933
65059
  * @param operations initial operations
64934
65060
  */
64935
65061
  var Branch = class Branch {
65062
+ buildTransformation;
65063
+ operations;
64936
65064
  constructor(buildTransformation, operations = []) {
64937
65065
  this.buildTransformation = buildTransformation;
64938
65066
  this.operations = operations;
@@ -65049,6 +65177,8 @@ var Branch = class Branch {
65049
65177
  * to revert it).
65050
65178
  */
65051
65179
  var Operation = class {
65180
+ id;
65181
+ data;
65052
65182
  constructor(id, data) {
65053
65183
  this.id = id;
65054
65184
  this.data = data;
@@ -65058,6 +65188,8 @@ var Operation = class {
65058
65188
  }
65059
65189
  };
65060
65190
  var LazyOperation = class LazyOperation {
65191
+ id;
65192
+ lazyData;
65061
65193
  constructor(id, lazyData) {
65062
65194
  this.id = id;
65063
65195
  this.lazyData = lazyData;
@@ -65083,6 +65215,7 @@ var LazyOperation = class LazyOperation {
65083
65215
  * ```
65084
65216
  */
65085
65217
  var OperationSequence = class OperationSequence {
65218
+ operations;
65086
65219
  constructor(operations) {
65087
65220
  this.operations = operations;
65088
65221
  }
@@ -65158,6 +65291,7 @@ var OperationSequence = class OperationSequence {
65158
65291
  *
65159
65292
  */
65160
65293
  var Tree = class {
65294
+ buildTransformation;
65161
65295
  branches;
65162
65296
  branchingOperationIds = /* @__PURE__ */ new Map();
65163
65297
  constructor(buildTransformation, initialBranch) {
@@ -65740,6 +65874,7 @@ var EventStream = class {
65740
65874
  * with the new selected anchor
65741
65875
  */
65742
65876
  var SelectionStreamProcessorImpl = class {
65877
+ getters;
65743
65878
  stream;
65744
65879
  /**
65745
65880
  * "Active" anchor used as a reference to compute new anchors
@@ -69033,6 +69168,6 @@ exports.stores = stores;
69033
69168
  exports.tokenColors = tokenColors;
69034
69169
  exports.tokenize = tokenize;
69035
69170
 
69036
- __info__.version = "18.2.53";
69037
- __info__.date = "2026-05-12T12:17:43.785Z";
69038
- __info__.hash = "d8b08ba";
69171
+ __info__.version = "18.2.55";
69172
+ __info__.date = "2026-06-06T06:20:23.893Z";
69173
+ __info__.hash = "57b568a";
@@ -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.2.53
6
- * @date 2026-05-12T12:17:45.471Z
7
- * @hash d8b08ba
5
+ * @version 18.2.55
6
+ * @date 2026-06-06T06:20:25.457Z
7
+ * @hash 57b568a
8
8
  */
9
9
  /* Originates from src/components/spreadsheet/spreadsheet.scss */
10
10
  .o-spreadsheet {