@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
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
@@ -1431,6 +1431,7 @@ function getAlternatingColorsPalette(quantity) {
1431
1431
  else return ALTERNATING_COLORS_XL;
1432
1432
  }
1433
1433
  var ColorGenerator = class {
1434
+ preferredColors;
1434
1435
  currentColorIndex = 0;
1435
1436
  palette;
1436
1437
  constructor(paletteSize, preferredColors = []) {
@@ -1638,6 +1639,7 @@ const _t = function(s, ...values) {
1638
1639
  return sprintf(_translate(s), ...values);
1639
1640
  };
1640
1641
  var LazyTranslatedString = class extends String {
1642
+ values;
1641
1643
  constructor(str, values) {
1642
1644
  super(str);
1643
1645
  this.values = values;
@@ -2796,6 +2798,8 @@ const CellErrorType = {
2796
2798
  };
2797
2799
  const errorTypes = new Set(Object.values(CellErrorType));
2798
2800
  var EvaluationError = class {
2801
+ message;
2802
+ value;
2799
2803
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
2800
2804
  this.message = message;
2801
2805
  this.value = value;
@@ -2828,6 +2832,7 @@ var UnknownFunctionError = class extends EvaluationError {
2828
2832
  }
2829
2833
  };
2830
2834
  var SplillBlockedError = class extends EvaluationError {
2835
+ errorOriginPosition;
2831
2836
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
2832
2837
  super(message, CellErrorType.SpilledBlocked);
2833
2838
  this.errorOriginPosition = errorOriginPosition;
@@ -5816,8 +5821,13 @@ function getApplyRangeChangeAddColRow(cmd) {
5816
5821
  changeType: "NONE",
5817
5822
  range
5818
5823
  };
5824
+ const isUnboundedAtEnd = range.unboundedZone[end] === void 0;
5825
+ if (isUnboundedAtEnd && !range.unboundedZone.hasHeader) return {
5826
+ changeType: "RESIZE",
5827
+ range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
5828
+ };
5819
5829
  if (cmd.position === "after") {
5820
- if (range.zone[start] <= cmd.base && cmd.base < range.zone[end]) return {
5830
+ if (range.zone[start] <= cmd.base && (cmd.base < range.zone[end] || isUnboundedAtEnd)) return {
5821
5831
  changeType: "RESIZE",
5822
5832
  range: createAdaptedRange(range, dimension, "RESIZE", cmd.quantity)
5823
5833
  };
@@ -6460,6 +6470,8 @@ const selectPastedZone = (selection, sourceZones, pastedZones) => {
6460
6470
  //#endregion
6461
6471
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
6462
6472
  var ClipboardHandler = class {
6473
+ getters;
6474
+ dispatch;
6463
6475
  constructor(getters, dispatch) {
6464
6476
  this.getters = getters;
6465
6477
  this.dispatch = dispatch;
@@ -8894,6 +8906,7 @@ var DependencyContainer = class extends EventBus {
8894
8906
  }
8895
8907
  };
8896
8908
  var StoreFactory = class {
8909
+ get;
8897
8910
  pendingBuilds = /* @__PURE__ */ new Set();
8898
8911
  constructor(get) {
8899
8912
  this.get = get;
@@ -8938,6 +8951,7 @@ stores.inject(MyMetaStore, storeInstance);
8938
8951
  return MetaStore;
8939
8952
  }
8940
8953
  var DisposableStore = class {
8954
+ get;
8941
8955
  disposeCallbacks = [];
8942
8956
  constructor(get) {
8943
8957
  this.get = get;
@@ -9512,6 +9526,10 @@ const FORCE_DEFAULT_ARGS_FUNCTIONS = {
9512
9526
  ROUNDDOWN: [{
9513
9527
  type: "NUMBER",
9514
9528
  value: 0
9529
+ }],
9530
+ IFERROR: [{
9531
+ type: "NUMBER",
9532
+ value: 0
9515
9533
  }]
9516
9534
  };
9517
9535
  /**
@@ -18621,6 +18639,7 @@ function insertTokenAtArgStartingPosition(tokenAtCursor, value) {
18621
18639
  //#endregion
18622
18640
  //#region src/formulas/code_builder.ts
18623
18641
  var FunctionCodeBuilder = class {
18642
+ scope;
18624
18643
  code = "";
18625
18644
  constructor(scope = new Scope()) {
18626
18645
  this.scope = scope;
@@ -18636,6 +18655,8 @@ var FunctionCodeBuilder = class {
18636
18655
  }
18637
18656
  };
18638
18657
  var FunctionCodeImpl = class {
18658
+ scope;
18659
+ returnExpression;
18639
18660
  code;
18640
18661
  constructor(scope, code, returnExpression) {
18641
18662
  this.scope = scope;
@@ -20606,6 +20627,7 @@ function getScorecardConfiguration({ width, height }, runtime) {
20606
20627
  }, runtime).computeDesign();
20607
20628
  }
20608
20629
  var ScorecardChartConfigBuilder = class {
20630
+ runtime;
20609
20631
  context;
20610
20632
  width;
20611
20633
  height;
@@ -24266,6 +24288,10 @@ var GaugeChartComponent = class extends _odoo_owl.Component {
24266
24288
  * Animation interpolating values using the ease-out quartic curve function (chartJS default easing)
24267
24289
  */
24268
24290
  var Animation = class {
24291
+ startValue;
24292
+ endValue;
24293
+ duration;
24294
+ callback;
24269
24295
  startTime = void 0;
24270
24296
  animationFrameId = null;
24271
24297
  constructor(startValue, endValue, duration, callback) {
@@ -26592,6 +26618,7 @@ function getMaxFigureSize(getters, figureSize) {
26592
26618
  * Represent a raw XML string
26593
26619
  */
26594
26620
  var XMLString = class {
26621
+ xmlString;
26595
26622
  /**
26596
26623
  * @param xmlString should be a well formed, properly escaped XML string
26597
26624
  */
@@ -27427,6 +27454,11 @@ var Popover = class extends _odoo_owl.Component {
27427
27454
  }
27428
27455
  };
27429
27456
  var PopoverPositionContext = class {
27457
+ anchorRect;
27458
+ containerRect;
27459
+ propsMaxSize;
27460
+ spreadsheetOffset;
27461
+ lastPosition;
27430
27462
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset, lastPosition) {
27431
27463
  this.anchorRect = anchorRect;
27432
27464
  this.containerRect = containerRect;
@@ -30722,6 +30754,7 @@ var AbstractComposerStore = class extends SpreadsheetStore {
30722
30754
  //#endregion
30723
30755
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
30724
30756
  var StandaloneComposerStore = class extends AbstractComposerStore {
30757
+ args;
30725
30758
  constructor(get, args) {
30726
30759
  super(get);
30727
30760
  this.args = args;
@@ -31773,6 +31806,7 @@ var DOMDndHelper = class {
31773
31806
  }
31774
31807
  };
31775
31808
  var ContainerWrapper = class {
31809
+ el;
31776
31810
  constructor(el) {
31777
31811
  this.el = el;
31778
31812
  }
@@ -31844,6 +31878,10 @@ var FocusStore = class {
31844
31878
  * This plugin handles this internal state.
31845
31879
  */
31846
31880
  var SelectionInputStore = class extends SpreadsheetStore {
31881
+ initialRanges;
31882
+ inputHasSingleRange;
31883
+ colors;
31884
+ disabledRanges;
31847
31885
  mutators = [
31848
31886
  "resetWithRanges",
31849
31887
  "focusById",
@@ -40665,13 +40703,30 @@ var PivotRuntimeDefinition = class {
40665
40703
  break;
40666
40704
  }
40667
40705
  return {
40706
+ /**
40707
+ * Get the id of the measure, as it is stored in the pivot formula
40708
+ */
40668
40709
  id: measure.id,
40710
+ /**
40711
+ * Display name of the measure
40712
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
40713
+ */
40669
40714
  get displayName() {
40670
40715
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
40671
40716
  },
40672
40717
  userDefinedName: measure.userDefinedName,
40718
+ /**
40719
+ * Get the name of the field of the measure
40720
+ */
40673
40721
  fieldName,
40722
+ /**
40723
+ * Get the aggregator of the measure
40724
+ */
40674
40725
  aggregator,
40726
+ /**
40727
+ * Get the type of the measure field
40728
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
40729
+ */
40675
40730
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
40676
40731
  isValid,
40677
40732
  isHidden: measure.isHidden,
@@ -40685,10 +40740,30 @@ var PivotRuntimeDefinition = class {
40685
40740
  const type = field?.type ?? "integer";
40686
40741
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
40687
40742
  return {
40743
+ /**
40744
+ * Get the display name of the dimension
40745
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
40746
+ */
40688
40747
  displayName: field?.string ?? dimension.fieldName,
40748
+ /**
40749
+ * Get the name of the dimension, as it is stored in the pivot formula
40750
+ * e.g. "stage_id", "create_date:month"
40751
+ */
40689
40752
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
40753
+ /**
40754
+ * Get the name of the field of the dimension
40755
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
40756
+ */
40690
40757
  fieldName: dimension.fieldName,
40758
+ /**
40759
+ * Get the aggregate operator of the dimension
40760
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
40761
+ */
40691
40762
  granularity,
40763
+ /**
40764
+ * Get the type of the field of the dimension
40765
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
40766
+ */
40692
40767
  type: field?.isCustomField ? "custom" : type,
40693
40768
  order: dimension.order,
40694
40769
  isValid: !!field,
@@ -51859,6 +51934,8 @@ var MoreFormatsPanel = class extends _odoo_owl.Component {
51859
51934
  //#endregion
51860
51935
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
51861
51936
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
51937
+ pivotId;
51938
+ initialMeasure;
51862
51939
  mutators = [
51863
51940
  "cancelMeasureDisplayEdition",
51864
51941
  "updateMeasureDisplayType",
@@ -52058,7 +52135,7 @@ function getVisiblePivotCellPositions(getters, pivotId) {
52058
52135
  col,
52059
52136
  row
52060
52137
  };
52061
- if (pivotId === getters.getPivotIdFromPosition(position)) positions.push(position);
52138
+ if (getters.getPivotIdsFromPosition(position).includes(pivotId)) positions.push(position);
52062
52139
  }
52063
52140
  return positions;
52064
52141
  }
@@ -52944,6 +53021,9 @@ function extractFormulaIdFromToken(tokenAtCursor) {
52944
53021
  function getFirstPivotFunction(tokens) {
52945
53022
  return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS)[0];
52946
53023
  }
53024
+ function getPivotFunctions(tokens) {
53025
+ return getFunctionsFromTokens(tokens, PIVOT_FUNCTIONS);
53026
+ }
52947
53027
  /**
52948
53028
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
52949
53029
  * present in the given formula.
@@ -52955,6 +53035,7 @@ function getNumberOfPivotFunctions(tokens) {
52955
53035
  //#endregion
52956
53036
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
52957
53037
  var PivotSidePanelStore = class extends SpreadsheetStore {
53038
+ pivotId;
52958
53039
  mutators = [
52959
53040
  "reset",
52960
53041
  "deferUpdates",
@@ -56486,6 +56567,11 @@ var CellPlugin = class extends CorePlugin {
56486
56567
  }
56487
56568
  };
56488
56569
  var FormulaCellWithDependencies = class {
56570
+ id;
56571
+ format;
56572
+ style;
56573
+ sheetId;
56574
+ getRangeString;
56489
56575
  isFormula = true;
56490
56576
  compiledFormula;
56491
56577
  constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
@@ -56520,6 +56606,10 @@ var FormulaCellWithDependencies = class {
56520
56606
  }
56521
56607
  };
56522
56608
  var RangeReferenceToken = class {
56609
+ ranges;
56610
+ rangeIndex;
56611
+ sheetId;
56612
+ getRangeString;
56523
56613
  type = "REFERENCE";
56524
56614
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
56525
56615
  this.ranges = ranges;
@@ -60505,6 +60595,8 @@ function buildCompilationParameters(context, getters, computeCell) {
60505
60595
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
60506
60596
  }
60507
60597
  var CompilationParametersBuilder = class {
60598
+ getters;
60599
+ computeCell;
60508
60600
  evalContext;
60509
60601
  rangeCache = {};
60510
60602
  constructor(context, getters, computeCell) {
@@ -61622,6 +61714,7 @@ const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell({
61622
61714
  }));
61623
61715
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
61624
61716
  var Evaluator = class {
61717
+ context;
61625
61718
  getters;
61626
61719
  compilationParams;
61627
61720
  evaluatedCells = new PositionMap();
@@ -63930,6 +64023,7 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63930
64023
  "getFirstPivotFunction",
63931
64024
  "getPivotCellSortDirection",
63932
64025
  "getPivotIdFromPosition",
64026
+ "getPivotIdsFromPosition",
63933
64027
  "getPivotCellFromPosition",
63934
64028
  "generateNewCalculatedMeasureName",
63935
64029
  "isPivotUnused",
@@ -63987,37 +64081,52 @@ var PivotUIPlugin = class extends CoreViewPlugin {
63987
64081
  }
63988
64082
  }
63989
64083
  /**
63990
- * Get the id of the pivot at the given position. Returns undefined if there
64084
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
63991
64085
  * is no pivot at this position
63992
64086
  */
63993
64087
  getPivotIdFromPosition(position) {
64088
+ return this.getPivotIdsFromPosition(position)[0];
64089
+ }
64090
+ /**
64091
+ * Get all of the ids of the pivot present in the formula at the given position.
64092
+ */
64093
+ getPivotIdsFromPosition(position) {
63994
64094
  const cell = this.getters.getCorrespondingFormulaCell(position);
63995
- if (cell && cell.isFormula) {
63996
- const pivotFunction = this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens);
63997
- if (pivotFunction) {
63998
- const pivotId = pivotFunction.args[0]?.toString();
63999
- return pivotId && this.getters.getPivotId(pivotId);
64000
- }
64001
- }
64095
+ if (cell && cell.isFormula) return this.getPivotIdsFromFormula(position.sheetId, cell.compiledFormula);
64096
+ return [];
64097
+ }
64098
+ getPivotIdsFromFormula(sheetId, formula) {
64099
+ return this.getPivotFunctions(sheetId, formula.tokens).map((pivotFunction) => {
64100
+ const pivotId = pivotFunction.args[0]?.toString();
64101
+ return pivotId && this.getters.getPivotId(pivotId);
64102
+ }).filter(isDefined);
64002
64103
  }
64003
64104
  isSpillPivotFormula(position) {
64004
64105
  const cell = this.getters.getCorrespondingFormulaCell(position);
64005
64106
  if (cell && cell.isFormula) return this.getFirstPivotFunction(position.sheetId, cell.compiledFormula.tokens)?.functionName === "PIVOT";
64006
64107
  return false;
64007
64108
  }
64008
- getFirstPivotFunction(sheetId, tokens) {
64009
- const pivotFunction = getFirstPivotFunction(tokens);
64010
- if (!pivotFunction) return;
64011
- const { functionName, args } = pivotFunction;
64012
- return {
64013
- functionName,
64014
- args: args.map((argAst) => {
64109
+ getPivotFunctions(sheetId, tokens) {
64110
+ const pivotFunctions = getPivotFunctions(tokens);
64111
+ if (!pivotFunctions.length) return [];
64112
+ const evaluatedPivotFunctions = [];
64113
+ for (const pivotFunction of pivotFunctions) {
64114
+ const { functionName, args } = pivotFunction;
64115
+ const evaluatedArgs = args.map((argAst) => {
64015
64116
  if (argAst.type === "EMPTY") return;
64016
64117
  else if (argAst.type === "STRING" || argAst.type === "BOOLEAN" || argAst.type === "NUMBER") return argAst.value;
64017
64118
  const argsString = astToFormula(argAst);
64018
64119
  return this.getters.evaluateFormula(sheetId, argsString);
64019
- })
64020
- };
64120
+ });
64121
+ evaluatedPivotFunctions.push({
64122
+ functionName,
64123
+ args: evaluatedArgs
64124
+ });
64125
+ }
64126
+ return evaluatedPivotFunctions;
64127
+ }
64128
+ getFirstPivotFunction(sheetId, tokens) {
64129
+ return this.getPivotFunctions(sheetId, tokens)[0];
64021
64130
  }
64022
64131
  /**
64023
64132
  * Returns the domain args of a pivot formula from a position.
@@ -64131,8 +64240,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
64131
64240
  const unusedPivots = new Set(this.getters.getPivotIds());
64132
64241
  for (const sheetId of this.getters.getSheetIds()) for (const cellId in this.getters.getCells(sheetId)) {
64133
64242
  const position = this.getters.getCellPosition(cellId);
64134
- const pivotId = this.getPivotIdFromPosition(position);
64135
- if (pivotId) {
64243
+ const pivotIds = this.getPivotIdsFromPosition(position);
64244
+ for (const pivotId of pivotIds) {
64136
64245
  unusedPivots.delete(pivotId);
64137
64246
  if (!unusedPivots.size) {
64138
64247
  this.unusedPivots = [];
@@ -64140,6 +64249,21 @@ var PivotUIPlugin = class extends CoreViewPlugin {
64140
64249
  }
64141
64250
  }
64142
64251
  }
64252
+ for (const pivotId of this.getters.getPivotIds()) {
64253
+ const pivot = this.getters.getPivot(pivotId);
64254
+ for (const measure of pivot.definition.measures) if (measure.computedBy) {
64255
+ const { sheetId } = measure.computedBy;
64256
+ const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
64257
+ const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
64258
+ for (const relatedPivotId of relatedPivotIds) {
64259
+ unusedPivots.delete(relatedPivotId);
64260
+ if (!unusedPivots.size) {
64261
+ this.unusedPivots = [];
64262
+ return [];
64263
+ }
64264
+ }
64265
+ }
64266
+ }
64143
64267
  this.unusedPivots = [...unusedPivots];
64144
64268
  return this.unusedPivots;
64145
64269
  }
@@ -65742,6 +65866,8 @@ function transformPositionWithMerge(toTransform, executed) {
65742
65866
  //#endregion
65743
65867
  //#region src/collaborative/revisions.ts
65744
65868
  var Revision = class {
65869
+ rootCommand;
65870
+ timestamp;
65745
65871
  id;
65746
65872
  clientId;
65747
65873
  _commands = [];
@@ -65778,6 +65904,9 @@ var Revision = class {
65778
65904
  //#region src/collaborative/session.ts
65779
65905
  var ClientDisconnectedError = class extends Error {};
65780
65906
  var Session = class extends EventBus {
65907
+ revisions;
65908
+ transportService;
65909
+ serverRevisionId;
65781
65910
  /**
65782
65911
  * Positions of the others client.
65783
65912
  */
@@ -69494,6 +69623,9 @@ var GridSelectionPlugin = class extends UIPlugin {
69494
69623
  //#endregion
69495
69624
  //#region src/helpers/internal_viewport.ts
69496
69625
  var InternalViewport = class {
69626
+ getters;
69627
+ sheetId;
69628
+ boundaries;
69497
69629
  top;
69498
69630
  bottom;
69499
69631
  left;
@@ -74629,6 +74761,7 @@ function instantiateClipboard() {
74629
74761
  return new WebClipboardWrapper(navigator.clipboard);
74630
74762
  }
74631
74763
  var WebClipboardWrapper = class {
74764
+ clipboard;
74632
74765
  constructor(clipboard) {
74633
74766
  this.clipboard = clipboard;
74634
74767
  }
@@ -75115,6 +75248,7 @@ var Spreadsheet = class extends _odoo_owl.Component {
75115
75248
  //#endregion
75116
75249
  //#region src/collaborative/readonly_transport_filter.ts
75117
75250
  var ReadonlyTransportFilter = class {
75251
+ transportService;
75118
75252
  constructor(transportService) {
75119
75253
  this.transportService = transportService;
75120
75254
  }
@@ -75146,6 +75280,8 @@ function inverseCommand(cmd) {
75146
75280
  * @param operations initial operations
75147
75281
  */
75148
75282
  var Branch = class Branch {
75283
+ buildTransformation;
75284
+ operations;
75149
75285
  constructor(buildTransformation, operations = []) {
75150
75286
  this.buildTransformation = buildTransformation;
75151
75287
  this.operations = operations;
@@ -75262,6 +75398,8 @@ var Branch = class Branch {
75262
75398
  * to revert it).
75263
75399
  */
75264
75400
  var Operation = class {
75401
+ id;
75402
+ data;
75265
75403
  constructor(id, data) {
75266
75404
  this.id = id;
75267
75405
  this.data = data;
@@ -75271,6 +75409,8 @@ var Operation = class {
75271
75409
  }
75272
75410
  };
75273
75411
  var LazyOperation = class LazyOperation {
75412
+ id;
75413
+ lazyData;
75274
75414
  constructor(id, lazyData) {
75275
75415
  this.id = id;
75276
75416
  this.lazyData = lazyData;
@@ -75296,6 +75436,7 @@ var LazyOperation = class LazyOperation {
75296
75436
  * ```
75297
75437
  */
75298
75438
  var OperationSequence = class OperationSequence {
75439
+ operations;
75299
75440
  constructor(operations) {
75300
75441
  this.operations = operations;
75301
75442
  }
@@ -75371,6 +75512,7 @@ var OperationSequence = class OperationSequence {
75371
75512
  *
75372
75513
  */
75373
75514
  var Tree = class {
75515
+ buildTransformation;
75374
75516
  branches;
75375
75517
  branchingOperationIds = /* @__PURE__ */ new Map();
75376
75518
  constructor(buildTransformation, initialBranch) {
@@ -75950,6 +76092,7 @@ var EventStream = class {
75950
76092
  * with the new selected anchor
75951
76093
  */
75952
76094
  var SelectionStreamProcessorImpl = class {
76095
+ getters;
75953
76096
  stream;
75954
76097
  /**
75955
76098
  * "Active" anchor used as a reference to compute new anchors
@@ -79416,6 +79559,6 @@ exports.stores = stores;
79416
79559
  exports.tokenColors = tokenColors;
79417
79560
  exports.tokenize = tokenize;
79418
79561
 
79419
- __info__.version = "19.0.34";
79420
- __info__.date = "2026-05-12T12:17:43.737Z";
79421
- __info__.hash = "d9074ea";
79562
+ __info__.version = "19.0.36";
79563
+ __info__.date = "2026-05-27T05:57:35.932Z";
79564
+ __info__.hash = "3f73c94";
@@ -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:45.452Z
7
- * @hash d9074ea
5
+ * @version 19.0.36
6
+ * @date 2026-05-27T05:57:37.639Z
7
+ * @hash 3f73c94
8
8
  */
9
9
  /* Originates from src/components/top_bar/top_bar.scss */
10
10
  @media (max-width: 1200px) {