@odoo/o-spreadsheet 18.3.46 → 18.3.48

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.3.46
6
- * @date 2026-05-11T13:46:10.863Z
7
- * @hash c2bb3c8
5
+ * @version 18.3.48
6
+ * @date 2026-05-15T07:05:43.612Z
7
+ * @hash 76bed65
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, xml } from "@odoo/owl";
@@ -1350,6 +1350,7 @@ function getAlternatingColorsPalette(quantity) {
1350
1350
  else return ALTERNATING_COLORS_XL;
1351
1351
  }
1352
1352
  var ColorGenerator = class {
1353
+ preferredColors;
1353
1354
  currentColorIndex = 0;
1354
1355
  palette;
1355
1356
  constructor(paletteSize, preferredColors = []) {
@@ -2931,6 +2932,7 @@ const _t = function(s, ...values) {
2931
2932
  return sprintf(_translate(s), ...values);
2932
2933
  };
2933
2934
  var LazyTranslatedString = class extends String {
2935
+ values;
2934
2936
  constructor(str, values) {
2935
2937
  super(str);
2936
2938
  this.values = values;
@@ -3329,6 +3331,8 @@ const CellErrorType = {
3329
3331
  };
3330
3332
  const errorTypes = new Set(Object.values(CellErrorType));
3331
3333
  var EvaluationError = class {
3334
+ message;
3335
+ value;
3332
3336
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
3333
3337
  this.message = message;
3334
3338
  this.value = value;
@@ -3361,6 +3365,7 @@ var UnknownFunctionError = class extends EvaluationError {
3361
3365
  }
3362
3366
  };
3363
3367
  var SplillBlockedError = class extends EvaluationError {
3368
+ errorOriginPosition;
3364
3369
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
3365
3370
  super(message, CellErrorType.SpilledBlocked);
3366
3371
  this.errorOriginPosition = errorOriginPosition;
@@ -6157,6 +6162,8 @@ const selectPastedZone = (selection, sourceZones, pastedZones) => {
6157
6162
  //#endregion
6158
6163
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
6159
6164
  var ClipboardHandler = class {
6165
+ getters;
6166
+ dispatch;
6160
6167
  constructor(getters, dispatch) {
6161
6168
  this.getters = getters;
6162
6169
  this.dispatch = dispatch;
@@ -8582,6 +8589,7 @@ var DependencyContainer = class extends EventBus {
8582
8589
  }
8583
8590
  };
8584
8591
  var StoreFactory = class {
8592
+ get;
8585
8593
  pendingBuilds = /* @__PURE__ */ new Set();
8586
8594
  constructor(get) {
8587
8595
  this.get = get;
@@ -8626,6 +8634,7 @@ stores.inject(MyMetaStore, storeInstance);
8626
8634
  return MetaStore;
8627
8635
  }
8628
8636
  var DisposableStore = class {
8637
+ get;
8629
8638
  disposeCallbacks = [];
8630
8639
  constructor(get) {
8631
8640
  this.get = get;
@@ -16904,6 +16913,7 @@ function hasStringMessage(obj) {
16904
16913
  //#endregion
16905
16914
  //#region src/formulas/code_builder.ts
16906
16915
  var FunctionCodeBuilder = class {
16916
+ scope;
16907
16917
  code = "";
16908
16918
  constructor(scope = new Scope()) {
16909
16919
  this.scope = scope;
@@ -16919,6 +16929,8 @@ var FunctionCodeBuilder = class {
16919
16929
  }
16920
16930
  };
16921
16931
  var FunctionCodeImpl = class {
16932
+ scope;
16933
+ returnExpression;
16922
16934
  code;
16923
16935
  constructor(scope, code, returnExpression) {
16924
16936
  this.scope = scope;
@@ -18779,6 +18791,7 @@ function getScorecardConfiguration({ width, height }, runtime) {
18779
18791
  }, runtime).computeDesign();
18780
18792
  }
18781
18793
  var ScorecardChartConfigBuilder = class {
18794
+ runtime;
18782
18795
  context;
18783
18796
  width;
18784
18797
  height;
@@ -25562,6 +25575,7 @@ function getMaxFigureSize(getters, figureSize) {
25562
25575
  * Represent a raw XML string
25563
25576
  */
25564
25577
  var XMLString = class {
25578
+ xmlString;
25565
25579
  /**
25566
25580
  * @param xmlString should be a well formed, properly escaped XML string
25567
25581
  */
@@ -31886,6 +31900,10 @@ var Popover = class extends Component {
31886
31900
  }
31887
31901
  };
31888
31902
  var PopoverPositionContext = class {
31903
+ anchorRect;
31904
+ containerRect;
31905
+ propsMaxSize;
31906
+ spreadsheetOffset;
31889
31907
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset) {
31890
31908
  this.anchorRect = anchorRect;
31891
31909
  this.containerRect = containerRect;
@@ -35335,6 +35353,7 @@ var DOMDndHelper = class {
35335
35353
  }
35336
35354
  };
35337
35355
  var ContainerWrapper = class {
35356
+ el;
35338
35357
  constructor(el) {
35339
35358
  this.el = el;
35340
35359
  }
@@ -35420,6 +35439,9 @@ var FocusStore = class {
35420
35439
  * This plugin handles this internal state.
35421
35440
  */
35422
35441
  var SelectionInputStore = class extends SpreadsheetStore {
35442
+ initialRanges;
35443
+ inputHasSingleRange;
35444
+ colors;
35423
35445
  mutators = [
35424
35446
  "resetWithRanges",
35425
35447
  "focusById",
@@ -38723,6 +38745,7 @@ var Composer = class extends Component {
38723
38745
  //#endregion
38724
38746
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
38725
38747
  var StandaloneComposerStore = class extends AbstractComposerStore {
38748
+ args;
38726
38749
  constructor(get, args) {
38727
38750
  super(get);
38728
38751
  this.args = args;
@@ -42495,6 +42518,8 @@ var MoreFormatsPanel = class extends Component {
42495
42518
  //#endregion
42496
42519
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
42497
42520
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
42521
+ pivotId;
42522
+ initialMeasure;
42498
42523
  mutators = [
42499
42524
  "cancelMeasureDisplayEdition",
42500
42525
  "updateMeasureDisplayType",
@@ -43534,13 +43559,30 @@ function createMeasure(fields, measure) {
43534
43559
  } : fields[fieldName];
43535
43560
  const aggregator = measure.aggregator;
43536
43561
  return {
43562
+ /**
43563
+ * Get the id of the measure, as it is stored in the pivot formula
43564
+ */
43537
43565
  id: measure.id,
43566
+ /**
43567
+ * Display name of the measure
43568
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
43569
+ */
43538
43570
  get displayName() {
43539
43571
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
43540
43572
  },
43541
43573
  userDefinedName: measure.userDefinedName,
43574
+ /**
43575
+ * Get the name of the field of the measure
43576
+ */
43542
43577
  fieldName,
43578
+ /**
43579
+ * Get the aggregator of the measure
43580
+ */
43543
43581
  aggregator,
43582
+ /**
43583
+ * Get the type of the measure field
43584
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
43585
+ */
43544
43586
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
43545
43587
  isValid: !!(field || measure.computedBy),
43546
43588
  isHidden: measure.isHidden,
@@ -43554,10 +43596,30 @@ function createPivotDimension(fields, dimension) {
43554
43596
  const type = field?.type ?? "integer";
43555
43597
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
43556
43598
  return {
43599
+ /**
43600
+ * Get the display name of the dimension
43601
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
43602
+ */
43557
43603
  displayName: field?.string ?? dimension.fieldName,
43604
+ /**
43605
+ * Get the name of the dimension, as it is stored in the pivot formula
43606
+ * e.g. "stage_id", "create_date:month"
43607
+ */
43558
43608
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
43609
+ /**
43610
+ * Get the name of the field of the dimension
43611
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
43612
+ */
43559
43613
  fieldName: dimension.fieldName,
43614
+ /**
43615
+ * Get the aggregate operator of the dimension
43616
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
43617
+ */
43560
43618
  granularity,
43619
+ /**
43620
+ * Get the type of the field of the dimension
43621
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
43622
+ */
43561
43623
  type,
43562
43624
  order: dimension.order,
43563
43625
  isValid: !!field
@@ -44596,6 +44658,7 @@ function adaptPivotRange(range, applyChange) {
44596
44658
  //#endregion
44597
44659
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
44598
44660
  var PivotSidePanelStore = class extends SpreadsheetStore {
44661
+ pivotId;
44599
44662
  mutators = [
44600
44663
  "reset",
44601
44664
  "deferUpdates",
@@ -52264,6 +52327,11 @@ var CellPlugin = class extends CorePlugin {
52264
52327
  }
52265
52328
  };
52266
52329
  var FormulaCellWithDependencies = class {
52330
+ id;
52331
+ format;
52332
+ style;
52333
+ sheetId;
52334
+ getRangeString;
52267
52335
  isFormula = true;
52268
52336
  compiledFormula;
52269
52337
  constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
@@ -52298,6 +52366,10 @@ var FormulaCellWithDependencies = class {
52298
52366
  }
52299
52367
  };
52300
52368
  var RangeReferenceToken = class {
52369
+ ranges;
52370
+ rangeIndex;
52371
+ sheetId;
52372
+ getRangeString;
52301
52373
  type = "REFERENCE";
52302
52374
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
52303
52375
  this.ranges = ranges;
@@ -56109,6 +56181,8 @@ function buildCompilationParameters(context, getters, computeCell) {
56109
56181
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
56110
56182
  }
56111
56183
  var CompilationParametersBuilder = class {
56184
+ getters;
56185
+ computeCell;
56112
56186
  evalContext;
56113
56187
  rangeCache = {};
56114
56188
  constructor(context, getters, computeCell) {
@@ -56562,6 +56636,7 @@ var ZoneRBush = class extends import_rbush_min.default {
56562
56636
  * It uses an R-Tree data structure to efficiently find dependent cells.
56563
56637
  */
56564
56638
  var FormulaDependencyGraph = class {
56639
+ createEmptyPositionSet;
56565
56640
  dependencies = new PositionMap();
56566
56641
  rTree;
56567
56642
  constructor(createEmptyPositionSet, data = []) {
@@ -56863,6 +56938,7 @@ const MAX_ITERATION = 30;
56863
56938
  const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell(new CircularDependencyError()));
56864
56939
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
56865
56940
  var Evaluator = class {
56941
+ context;
56866
56942
  getters;
56867
56943
  compilationParams;
56868
56944
  evaluatedCells = new PositionMap();
@@ -60311,6 +60387,8 @@ function transformPositionWithMerge(toTransform, executed) {
60311
60387
  //#endregion
60312
60388
  //#region src/collaborative/revisions.ts
60313
60389
  var Revision = class {
60390
+ rootCommand;
60391
+ timestamp;
60314
60392
  id;
60315
60393
  clientId;
60316
60394
  _commands = [];
@@ -60347,6 +60425,9 @@ var Revision = class {
60347
60425
  //#region src/collaborative/session.ts
60348
60426
  var ClientDisconnectedError = class extends Error {};
60349
60427
  var Session = class extends EventBus {
60428
+ revisions;
60429
+ transportService;
60430
+ serverRevisionId;
60350
60431
  /**
60351
60432
  * Positions of the others client.
60352
60433
  */
@@ -63920,6 +64001,9 @@ var GridSelectionPlugin = class extends UIPlugin {
63920
64001
  //#endregion
63921
64002
  //#region src/helpers/internal_viewport.ts
63922
64003
  var InternalViewport = class {
64004
+ getters;
64005
+ sheetId;
64006
+ boundaries;
63923
64007
  top;
63924
64008
  bottom;
63925
64009
  left;
@@ -67533,6 +67617,7 @@ function instantiateClipboard() {
67533
67617
  return new WebClipboardWrapper(navigator.clipboard);
67534
67618
  }
67535
67619
  var WebClipboardWrapper = class {
67620
+ clipboard;
67536
67621
  constructor(clipboard) {
67537
67622
  this.clipboard = clipboard;
67538
67623
  }
@@ -68021,6 +68106,8 @@ function inverseCommand(cmd) {
68021
68106
  * @param operations initial operations
68022
68107
  */
68023
68108
  var Branch = class Branch {
68109
+ buildTransformation;
68110
+ operations;
68024
68111
  constructor(buildTransformation, operations = []) {
68025
68112
  this.buildTransformation = buildTransformation;
68026
68113
  this.operations = operations;
@@ -68137,6 +68224,8 @@ var Branch = class Branch {
68137
68224
  * to revert it).
68138
68225
  */
68139
68226
  var Operation = class {
68227
+ id;
68228
+ data;
68140
68229
  constructor(id, data) {
68141
68230
  this.id = id;
68142
68231
  this.data = data;
@@ -68146,6 +68235,8 @@ var Operation = class {
68146
68235
  }
68147
68236
  };
68148
68237
  var LazyOperation = class LazyOperation {
68238
+ id;
68239
+ lazyData;
68149
68240
  constructor(id, lazyData) {
68150
68241
  this.id = id;
68151
68242
  this.lazyData = lazyData;
@@ -68171,6 +68262,7 @@ var LazyOperation = class LazyOperation {
68171
68262
  * ```
68172
68263
  */
68173
68264
  var OperationSequence = class OperationSequence {
68265
+ operations;
68174
68266
  constructor(operations) {
68175
68267
  this.operations = operations;
68176
68268
  }
@@ -68246,6 +68338,7 @@ var OperationSequence = class OperationSequence {
68246
68338
  *
68247
68339
  */
68248
68340
  var Tree = class {
68341
+ buildTransformation;
68249
68342
  branches;
68250
68343
  branchingOperationIds = /* @__PURE__ */ new Map();
68251
68344
  constructor(buildTransformation, initialBranch) {
@@ -68828,6 +68921,7 @@ var EventStream = class {
68828
68921
  * with the new selected anchor
68829
68922
  */
68830
68923
  var SelectionStreamProcessorImpl = class {
68924
+ getters;
68831
68925
  stream;
68832
68926
  /**
68833
68927
  * "Active" anchor used as a reference to compute new anchors
@@ -72083,6 +72177,6 @@ const chartHelpers = {
72083
72177
  //#endregion
72084
72178
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
72085
72179
 
72086
- __info__.version = "18.3.46";
72087
- __info__.date = "2026-05-11T13:46:10.863Z";
72088
- __info__.hash = "c2bb3c8";
72180
+ __info__.version = "18.3.48";
72181
+ __info__.date = "2026-05-15T07:05:43.612Z";
72182
+ __info__.hash = "76bed65";
@@ -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.3.46
6
- * @date 2026-05-11T13:46:10.863Z
7
- * @hash c2bb3c8
5
+ * @version 18.3.48
6
+ * @date 2026-05-15T07:05:43.612Z
7
+ * @hash 76bed65
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -1352,6 +1352,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1352
1352
  else return ALTERNATING_COLORS_XL;
1353
1353
  }
1354
1354
  var ColorGenerator = class {
1355
+ preferredColors;
1355
1356
  currentColorIndex = 0;
1356
1357
  palette;
1357
1358
  constructor(paletteSize, preferredColors = []) {
@@ -2933,6 +2934,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2933
2934
  return sprintf(_translate(s), ...values);
2934
2935
  };
2935
2936
  var LazyTranslatedString = class extends String {
2937
+ values;
2936
2938
  constructor(str, values) {
2937
2939
  super(str);
2938
2940
  this.values = values;
@@ -3331,6 +3333,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3331
3333
  };
3332
3334
  const errorTypes = new Set(Object.values(CellErrorType));
3333
3335
  var EvaluationError = class {
3336
+ message;
3337
+ value;
3334
3338
  constructor(message = _t("Error"), value = CellErrorType.GenericError) {
3335
3339
  this.message = message;
3336
3340
  this.value = value;
@@ -3363,6 +3367,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3363
3367
  }
3364
3368
  };
3365
3369
  var SplillBlockedError = class extends EvaluationError {
3370
+ errorOriginPosition;
3366
3371
  constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
3367
3372
  super(message, CellErrorType.SpilledBlocked);
3368
3373
  this.errorOriginPosition = errorOriginPosition;
@@ -6159,6 +6164,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6159
6164
  //#endregion
6160
6165
  //#region src/clipboard_handlers/abstract_clipboard_handler.ts
6161
6166
  var ClipboardHandler = class {
6167
+ getters;
6168
+ dispatch;
6162
6169
  constructor(getters, dispatch) {
6163
6170
  this.getters = getters;
6164
6171
  this.dispatch = dispatch;
@@ -8584,6 +8591,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8584
8591
  }
8585
8592
  };
8586
8593
  var StoreFactory = class {
8594
+ get;
8587
8595
  pendingBuilds = /* @__PURE__ */ new Set();
8588
8596
  constructor(get) {
8589
8597
  this.get = get;
@@ -8628,6 +8636,7 @@ stores.inject(MyMetaStore, storeInstance);
8628
8636
  return MetaStore;
8629
8637
  }
8630
8638
  var DisposableStore = class {
8639
+ get;
8631
8640
  disposeCallbacks = [];
8632
8641
  constructor(get) {
8633
8642
  this.get = get;
@@ -16906,6 +16915,7 @@ stores.inject(MyMetaStore, storeInstance);
16906
16915
  //#endregion
16907
16916
  //#region src/formulas/code_builder.ts
16908
16917
  var FunctionCodeBuilder = class {
16918
+ scope;
16909
16919
  code = "";
16910
16920
  constructor(scope = new Scope()) {
16911
16921
  this.scope = scope;
@@ -16921,6 +16931,8 @@ stores.inject(MyMetaStore, storeInstance);
16921
16931
  }
16922
16932
  };
16923
16933
  var FunctionCodeImpl = class {
16934
+ scope;
16935
+ returnExpression;
16924
16936
  code;
16925
16937
  constructor(scope, code, returnExpression) {
16926
16938
  this.scope = scope;
@@ -18781,6 +18793,7 @@ stores.inject(MyMetaStore, storeInstance);
18781
18793
  }, runtime).computeDesign();
18782
18794
  }
18783
18795
  var ScorecardChartConfigBuilder = class {
18796
+ runtime;
18784
18797
  context;
18785
18798
  width;
18786
18799
  height;
@@ -25564,6 +25577,7 @@ stores.inject(MyMetaStore, storeInstance);
25564
25577
  * Represent a raw XML string
25565
25578
  */
25566
25579
  var XMLString = class {
25580
+ xmlString;
25567
25581
  /**
25568
25582
  * @param xmlString should be a well formed, properly escaped XML string
25569
25583
  */
@@ -31888,6 +31902,10 @@ stores.inject(MyMetaStore, storeInstance);
31888
31902
  }
31889
31903
  };
31890
31904
  var PopoverPositionContext = class {
31905
+ anchorRect;
31906
+ containerRect;
31907
+ propsMaxSize;
31908
+ spreadsheetOffset;
31891
31909
  constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset) {
31892
31910
  this.anchorRect = anchorRect;
31893
31911
  this.containerRect = containerRect;
@@ -35337,6 +35355,7 @@ stores.inject(MyMetaStore, storeInstance);
35337
35355
  }
35338
35356
  };
35339
35357
  var ContainerWrapper = class {
35358
+ el;
35340
35359
  constructor(el) {
35341
35360
  this.el = el;
35342
35361
  }
@@ -35422,6 +35441,9 @@ stores.inject(MyMetaStore, storeInstance);
35422
35441
  * This plugin handles this internal state.
35423
35442
  */
35424
35443
  var SelectionInputStore = class extends SpreadsheetStore {
35444
+ initialRanges;
35445
+ inputHasSingleRange;
35446
+ colors;
35425
35447
  mutators = [
35426
35448
  "resetWithRanges",
35427
35449
  "focusById",
@@ -38725,6 +38747,7 @@ stores.inject(MyMetaStore, storeInstance);
38725
38747
  //#endregion
38726
38748
  //#region src/components/composer/standalone_composer/standalone_composer_store.ts
38727
38749
  var StandaloneComposerStore = class extends AbstractComposerStore {
38750
+ args;
38728
38751
  constructor(get, args) {
38729
38752
  super(get);
38730
38753
  this.args = args;
@@ -42497,6 +42520,8 @@ stores.inject(MyMetaStore, storeInstance);
42497
42520
  //#endregion
42498
42521
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
42499
42522
  var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
42523
+ pivotId;
42524
+ initialMeasure;
42500
42525
  mutators = [
42501
42526
  "cancelMeasureDisplayEdition",
42502
42527
  "updateMeasureDisplayType",
@@ -43536,13 +43561,30 @@ stores.inject(MyMetaStore, storeInstance);
43536
43561
  } : fields[fieldName];
43537
43562
  const aggregator = measure.aggregator;
43538
43563
  return {
43564
+ /**
43565
+ * Get the id of the measure, as it is stored in the pivot formula
43566
+ */
43539
43567
  id: measure.id,
43568
+ /**
43569
+ * Display name of the measure
43570
+ * e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
43571
+ */
43540
43572
  get displayName() {
43541
43573
  return measure.userDefinedName ?? field?.string ?? measure.fieldName;
43542
43574
  },
43543
43575
  userDefinedName: measure.userDefinedName,
43576
+ /**
43577
+ * Get the name of the field of the measure
43578
+ */
43544
43579
  fieldName,
43580
+ /**
43581
+ * Get the aggregator of the measure
43582
+ */
43545
43583
  aggregator,
43584
+ /**
43585
+ * Get the type of the measure field
43586
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
43587
+ */
43546
43588
  type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
43547
43589
  isValid: !!(field || measure.computedBy),
43548
43590
  isHidden: measure.isHidden,
@@ -43556,10 +43598,30 @@ stores.inject(MyMetaStore, storeInstance);
43556
43598
  const type = field?.type ?? "integer";
43557
43599
  const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
43558
43600
  return {
43601
+ /**
43602
+ * Get the display name of the dimension
43603
+ * e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
43604
+ */
43559
43605
  displayName: field?.string ?? dimension.fieldName,
43606
+ /**
43607
+ * Get the name of the dimension, as it is stored in the pivot formula
43608
+ * e.g. "stage_id", "create_date:month"
43609
+ */
43560
43610
  nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
43611
+ /**
43612
+ * Get the name of the field of the dimension
43613
+ * e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
43614
+ */
43561
43615
  fieldName: dimension.fieldName,
43616
+ /**
43617
+ * Get the aggregate operator of the dimension
43618
+ * e.g. "stage_id" -> undefined, "create_date:month" -> "month"
43619
+ */
43562
43620
  granularity,
43621
+ /**
43622
+ * Get the type of the field of the dimension
43623
+ * e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
43624
+ */
43563
43625
  type,
43564
43626
  order: dimension.order,
43565
43627
  isValid: !!field
@@ -44598,6 +44660,7 @@ stores.inject(MyMetaStore, storeInstance);
44598
44660
  //#endregion
44599
44661
  //#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
44600
44662
  var PivotSidePanelStore = class extends SpreadsheetStore {
44663
+ pivotId;
44601
44664
  mutators = [
44602
44665
  "reset",
44603
44666
  "deferUpdates",
@@ -52266,6 +52329,11 @@ stores.inject(MyMetaStore, storeInstance);
52266
52329
  }
52267
52330
  };
52268
52331
  var FormulaCellWithDependencies = class {
52332
+ id;
52333
+ format;
52334
+ style;
52335
+ sheetId;
52336
+ getRangeString;
52269
52337
  isFormula = true;
52270
52338
  compiledFormula;
52271
52339
  constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
@@ -52300,6 +52368,10 @@ stores.inject(MyMetaStore, storeInstance);
52300
52368
  }
52301
52369
  };
52302
52370
  var RangeReferenceToken = class {
52371
+ ranges;
52372
+ rangeIndex;
52373
+ sheetId;
52374
+ getRangeString;
52303
52375
  type = "REFERENCE";
52304
52376
  constructor(ranges, rangeIndex, sheetId, getRangeString) {
52305
52377
  this.ranges = ranges;
@@ -56111,6 +56183,8 @@ stores.inject(MyMetaStore, storeInstance);
56111
56183
  return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
56112
56184
  }
56113
56185
  var CompilationParametersBuilder = class {
56186
+ getters;
56187
+ computeCell;
56114
56188
  evalContext;
56115
56189
  rangeCache = {};
56116
56190
  constructor(context, getters, computeCell) {
@@ -56564,6 +56638,7 @@ stores.inject(MyMetaStore, storeInstance);
56564
56638
  * It uses an R-Tree data structure to efficiently find dependent cells.
56565
56639
  */
56566
56640
  var FormulaDependencyGraph = class {
56641
+ createEmptyPositionSet;
56567
56642
  dependencies = new PositionMap();
56568
56643
  rTree;
56569
56644
  constructor(createEmptyPositionSet, data = []) {
@@ -56865,6 +56940,7 @@ stores.inject(MyMetaStore, storeInstance);
56865
56940
  const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell(new CircularDependencyError()));
56866
56941
  const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
56867
56942
  var Evaluator = class {
56943
+ context;
56868
56944
  getters;
56869
56945
  compilationParams;
56870
56946
  evaluatedCells = new PositionMap();
@@ -60313,6 +60389,8 @@ stores.inject(MyMetaStore, storeInstance);
60313
60389
  //#endregion
60314
60390
  //#region src/collaborative/revisions.ts
60315
60391
  var Revision = class {
60392
+ rootCommand;
60393
+ timestamp;
60316
60394
  id;
60317
60395
  clientId;
60318
60396
  _commands = [];
@@ -60349,6 +60427,9 @@ stores.inject(MyMetaStore, storeInstance);
60349
60427
  //#region src/collaborative/session.ts
60350
60428
  var ClientDisconnectedError = class extends Error {};
60351
60429
  var Session = class extends EventBus {
60430
+ revisions;
60431
+ transportService;
60432
+ serverRevisionId;
60352
60433
  /**
60353
60434
  * Positions of the others client.
60354
60435
  */
@@ -63922,6 +64003,9 @@ stores.inject(MyMetaStore, storeInstance);
63922
64003
  //#endregion
63923
64004
  //#region src/helpers/internal_viewport.ts
63924
64005
  var InternalViewport = class {
64006
+ getters;
64007
+ sheetId;
64008
+ boundaries;
63925
64009
  top;
63926
64010
  bottom;
63927
64011
  left;
@@ -67535,6 +67619,7 @@ stores.inject(MyMetaStore, storeInstance);
67535
67619
  return new WebClipboardWrapper(navigator.clipboard);
67536
67620
  }
67537
67621
  var WebClipboardWrapper = class {
67622
+ clipboard;
67538
67623
  constructor(clipboard) {
67539
67624
  this.clipboard = clipboard;
67540
67625
  }
@@ -68023,6 +68108,8 @@ stores.inject(MyMetaStore, storeInstance);
68023
68108
  * @param operations initial operations
68024
68109
  */
68025
68110
  var Branch = class Branch {
68111
+ buildTransformation;
68112
+ operations;
68026
68113
  constructor(buildTransformation, operations = []) {
68027
68114
  this.buildTransformation = buildTransformation;
68028
68115
  this.operations = operations;
@@ -68139,6 +68226,8 @@ stores.inject(MyMetaStore, storeInstance);
68139
68226
  * to revert it).
68140
68227
  */
68141
68228
  var Operation = class {
68229
+ id;
68230
+ data;
68142
68231
  constructor(id, data) {
68143
68232
  this.id = id;
68144
68233
  this.data = data;
@@ -68148,6 +68237,8 @@ stores.inject(MyMetaStore, storeInstance);
68148
68237
  }
68149
68238
  };
68150
68239
  var LazyOperation = class LazyOperation {
68240
+ id;
68241
+ lazyData;
68151
68242
  constructor(id, lazyData) {
68152
68243
  this.id = id;
68153
68244
  this.lazyData = lazyData;
@@ -68173,6 +68264,7 @@ stores.inject(MyMetaStore, storeInstance);
68173
68264
  * ```
68174
68265
  */
68175
68266
  var OperationSequence = class OperationSequence {
68267
+ operations;
68176
68268
  constructor(operations) {
68177
68269
  this.operations = operations;
68178
68270
  }
@@ -68248,6 +68340,7 @@ stores.inject(MyMetaStore, storeInstance);
68248
68340
  *
68249
68341
  */
68250
68342
  var Tree = class {
68343
+ buildTransformation;
68251
68344
  branches;
68252
68345
  branchingOperationIds = /* @__PURE__ */ new Map();
68253
68346
  constructor(buildTransformation, initialBranch) {
@@ -68830,6 +68923,7 @@ stores.inject(MyMetaStore, storeInstance);
68830
68923
  * with the new selected anchor
68831
68924
  */
68832
68925
  var SelectionStreamProcessorImpl = class {
68926
+ getters;
68833
68927
  stream;
68834
68928
  /**
68835
68929
  * "Active" anchor used as a reference to compute new anchors
@@ -72132,8 +72226,8 @@ exports.stores = stores;
72132
72226
  exports.tokenColors = tokenColors;
72133
72227
  exports.tokenize = tokenize;
72134
72228
 
72135
- __info__.version = "18.3.46";
72136
- __info__.date = "2026-05-11T13:46:10.863Z";
72137
- __info__.hash = "c2bb3c8";
72229
+ __info__.version = "18.3.48";
72230
+ __info__.date = "2026-05-15T07:05:43.612Z";
72231
+ __info__.hash = "76bed65";
72138
72232
 
72139
72233
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);