@odoo/o-spreadsheet 18.3.47 → 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.
- package/dist/o_spreadsheet.cjs.js +100 -6
- package/dist/o_spreadsheet.css +3 -3
- package/dist/o_spreadsheet.esm.js +100 -6
- package/dist/o_spreadsheet.iife.js +100 -6
- package/dist/o_spreadsheet.iife.min.js +18 -18
- package/dist/o_spreadsheet.xml +4 -4
- package/package.json +17 -17
|
@@ -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.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.48
|
|
6
|
+
* @date 2026-05-15T07:05:43.612Z
|
|
7
|
+
* @hash 76bed65
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -1351,6 +1351,7 @@ function getAlternatingColorsPalette(quantity) {
|
|
|
1351
1351
|
else return ALTERNATING_COLORS_XL;
|
|
1352
1352
|
}
|
|
1353
1353
|
var ColorGenerator = class {
|
|
1354
|
+
preferredColors;
|
|
1354
1355
|
currentColorIndex = 0;
|
|
1355
1356
|
palette;
|
|
1356
1357
|
constructor(paletteSize, preferredColors = []) {
|
|
@@ -2932,6 +2933,7 @@ const _t = function(s, ...values) {
|
|
|
2932
2933
|
return sprintf(_translate(s), ...values);
|
|
2933
2934
|
};
|
|
2934
2935
|
var LazyTranslatedString = class extends String {
|
|
2936
|
+
values;
|
|
2935
2937
|
constructor(str, values) {
|
|
2936
2938
|
super(str);
|
|
2937
2939
|
this.values = values;
|
|
@@ -3330,6 +3332,8 @@ const CellErrorType = {
|
|
|
3330
3332
|
};
|
|
3331
3333
|
const errorTypes = new Set(Object.values(CellErrorType));
|
|
3332
3334
|
var EvaluationError = class {
|
|
3335
|
+
message;
|
|
3336
|
+
value;
|
|
3333
3337
|
constructor(message = _t("Error"), value = CellErrorType.GenericError) {
|
|
3334
3338
|
this.message = message;
|
|
3335
3339
|
this.value = value;
|
|
@@ -3362,6 +3366,7 @@ var UnknownFunctionError = class extends EvaluationError {
|
|
|
3362
3366
|
}
|
|
3363
3367
|
};
|
|
3364
3368
|
var SplillBlockedError = class extends EvaluationError {
|
|
3369
|
+
errorOriginPosition;
|
|
3365
3370
|
constructor(message = _t("Spill range is not empty"), errorOriginPosition) {
|
|
3366
3371
|
super(message, CellErrorType.SpilledBlocked);
|
|
3367
3372
|
this.errorOriginPosition = errorOriginPosition;
|
|
@@ -6158,6 +6163,8 @@ const selectPastedZone = (selection, sourceZones, pastedZones) => {
|
|
|
6158
6163
|
//#endregion
|
|
6159
6164
|
//#region src/clipboard_handlers/abstract_clipboard_handler.ts
|
|
6160
6165
|
var ClipboardHandler = class {
|
|
6166
|
+
getters;
|
|
6167
|
+
dispatch;
|
|
6161
6168
|
constructor(getters, dispatch) {
|
|
6162
6169
|
this.getters = getters;
|
|
6163
6170
|
this.dispatch = dispatch;
|
|
@@ -8583,6 +8590,7 @@ var DependencyContainer = class extends EventBus {
|
|
|
8583
8590
|
}
|
|
8584
8591
|
};
|
|
8585
8592
|
var StoreFactory = class {
|
|
8593
|
+
get;
|
|
8586
8594
|
pendingBuilds = /* @__PURE__ */ new Set();
|
|
8587
8595
|
constructor(get) {
|
|
8588
8596
|
this.get = get;
|
|
@@ -8627,6 +8635,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
8627
8635
|
return MetaStore;
|
|
8628
8636
|
}
|
|
8629
8637
|
var DisposableStore = class {
|
|
8638
|
+
get;
|
|
8630
8639
|
disposeCallbacks = [];
|
|
8631
8640
|
constructor(get) {
|
|
8632
8641
|
this.get = get;
|
|
@@ -16905,6 +16914,7 @@ function hasStringMessage(obj) {
|
|
|
16905
16914
|
//#endregion
|
|
16906
16915
|
//#region src/formulas/code_builder.ts
|
|
16907
16916
|
var FunctionCodeBuilder = class {
|
|
16917
|
+
scope;
|
|
16908
16918
|
code = "";
|
|
16909
16919
|
constructor(scope = new Scope()) {
|
|
16910
16920
|
this.scope = scope;
|
|
@@ -16920,6 +16930,8 @@ var FunctionCodeBuilder = class {
|
|
|
16920
16930
|
}
|
|
16921
16931
|
};
|
|
16922
16932
|
var FunctionCodeImpl = class {
|
|
16933
|
+
scope;
|
|
16934
|
+
returnExpression;
|
|
16923
16935
|
code;
|
|
16924
16936
|
constructor(scope, code, returnExpression) {
|
|
16925
16937
|
this.scope = scope;
|
|
@@ -18780,6 +18792,7 @@ function getScorecardConfiguration({ width, height }, runtime) {
|
|
|
18780
18792
|
}, runtime).computeDesign();
|
|
18781
18793
|
}
|
|
18782
18794
|
var ScorecardChartConfigBuilder = class {
|
|
18795
|
+
runtime;
|
|
18783
18796
|
context;
|
|
18784
18797
|
width;
|
|
18785
18798
|
height;
|
|
@@ -25563,6 +25576,7 @@ function getMaxFigureSize(getters, figureSize) {
|
|
|
25563
25576
|
* Represent a raw XML string
|
|
25564
25577
|
*/
|
|
25565
25578
|
var XMLString = class {
|
|
25579
|
+
xmlString;
|
|
25566
25580
|
/**
|
|
25567
25581
|
* @param xmlString should be a well formed, properly escaped XML string
|
|
25568
25582
|
*/
|
|
@@ -31887,6 +31901,10 @@ var Popover = class extends _odoo_owl.Component {
|
|
|
31887
31901
|
}
|
|
31888
31902
|
};
|
|
31889
31903
|
var PopoverPositionContext = class {
|
|
31904
|
+
anchorRect;
|
|
31905
|
+
containerRect;
|
|
31906
|
+
propsMaxSize;
|
|
31907
|
+
spreadsheetOffset;
|
|
31890
31908
|
constructor(anchorRect, containerRect, propsMaxSize, spreadsheetOffset) {
|
|
31891
31909
|
this.anchorRect = anchorRect;
|
|
31892
31910
|
this.containerRect = containerRect;
|
|
@@ -35336,6 +35354,7 @@ var DOMDndHelper = class {
|
|
|
35336
35354
|
}
|
|
35337
35355
|
};
|
|
35338
35356
|
var ContainerWrapper = class {
|
|
35357
|
+
el;
|
|
35339
35358
|
constructor(el) {
|
|
35340
35359
|
this.el = el;
|
|
35341
35360
|
}
|
|
@@ -35421,6 +35440,9 @@ var FocusStore = class {
|
|
|
35421
35440
|
* This plugin handles this internal state.
|
|
35422
35441
|
*/
|
|
35423
35442
|
var SelectionInputStore = class extends SpreadsheetStore {
|
|
35443
|
+
initialRanges;
|
|
35444
|
+
inputHasSingleRange;
|
|
35445
|
+
colors;
|
|
35424
35446
|
mutators = [
|
|
35425
35447
|
"resetWithRanges",
|
|
35426
35448
|
"focusById",
|
|
@@ -38724,6 +38746,7 @@ var Composer = class extends _odoo_owl.Component {
|
|
|
38724
38746
|
//#endregion
|
|
38725
38747
|
//#region src/components/composer/standalone_composer/standalone_composer_store.ts
|
|
38726
38748
|
var StandaloneComposerStore = class extends AbstractComposerStore {
|
|
38749
|
+
args;
|
|
38727
38750
|
constructor(get, args) {
|
|
38728
38751
|
super(get);
|
|
38729
38752
|
this.args = args;
|
|
@@ -42496,6 +42519,8 @@ var MoreFormatsPanel = class extends _odoo_owl.Component {
|
|
|
42496
42519
|
//#endregion
|
|
42497
42520
|
//#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.ts
|
|
42498
42521
|
var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
|
|
42522
|
+
pivotId;
|
|
42523
|
+
initialMeasure;
|
|
42499
42524
|
mutators = [
|
|
42500
42525
|
"cancelMeasureDisplayEdition",
|
|
42501
42526
|
"updateMeasureDisplayType",
|
|
@@ -43535,13 +43560,30 @@ function createMeasure(fields, measure) {
|
|
|
43535
43560
|
} : fields[fieldName];
|
|
43536
43561
|
const aggregator = measure.aggregator;
|
|
43537
43562
|
return {
|
|
43563
|
+
/**
|
|
43564
|
+
* Get the id of the measure, as it is stored in the pivot formula
|
|
43565
|
+
*/
|
|
43538
43566
|
id: measure.id,
|
|
43567
|
+
/**
|
|
43568
|
+
* Display name of the measure
|
|
43569
|
+
* e.g. "__count" -> "Count", "amount_total" -> "Total Amount"
|
|
43570
|
+
*/
|
|
43539
43571
|
get displayName() {
|
|
43540
43572
|
return measure.userDefinedName ?? field?.string ?? measure.fieldName;
|
|
43541
43573
|
},
|
|
43542
43574
|
userDefinedName: measure.userDefinedName,
|
|
43575
|
+
/**
|
|
43576
|
+
* Get the name of the field of the measure
|
|
43577
|
+
*/
|
|
43543
43578
|
fieldName,
|
|
43579
|
+
/**
|
|
43580
|
+
* Get the aggregator of the measure
|
|
43581
|
+
*/
|
|
43544
43582
|
aggregator,
|
|
43583
|
+
/**
|
|
43584
|
+
* Get the type of the measure field
|
|
43585
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
43586
|
+
*/
|
|
43545
43587
|
type: fieldName === "__count" ? "integer" : field?.type ?? "integer",
|
|
43546
43588
|
isValid: !!(field || measure.computedBy),
|
|
43547
43589
|
isHidden: measure.isHidden,
|
|
@@ -43555,10 +43597,30 @@ function createPivotDimension(fields, dimension) {
|
|
|
43555
43597
|
const type = field?.type ?? "integer";
|
|
43556
43598
|
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
43557
43599
|
return {
|
|
43600
|
+
/**
|
|
43601
|
+
* Get the display name of the dimension
|
|
43602
|
+
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
43603
|
+
*/
|
|
43558
43604
|
displayName: field?.string ?? dimension.fieldName,
|
|
43605
|
+
/**
|
|
43606
|
+
* Get the name of the dimension, as it is stored in the pivot formula
|
|
43607
|
+
* e.g. "stage_id", "create_date:month"
|
|
43608
|
+
*/
|
|
43559
43609
|
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
43610
|
+
/**
|
|
43611
|
+
* Get the name of the field of the dimension
|
|
43612
|
+
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
43613
|
+
*/
|
|
43560
43614
|
fieldName: dimension.fieldName,
|
|
43615
|
+
/**
|
|
43616
|
+
* Get the aggregate operator of the dimension
|
|
43617
|
+
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
43618
|
+
*/
|
|
43561
43619
|
granularity,
|
|
43620
|
+
/**
|
|
43621
|
+
* Get the type of the field of the dimension
|
|
43622
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
43623
|
+
*/
|
|
43562
43624
|
type,
|
|
43563
43625
|
order: dimension.order,
|
|
43564
43626
|
isValid: !!field
|
|
@@ -44597,6 +44659,7 @@ function adaptPivotRange(range, applyChange) {
|
|
|
44597
44659
|
//#endregion
|
|
44598
44660
|
//#region src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts
|
|
44599
44661
|
var PivotSidePanelStore = class extends SpreadsheetStore {
|
|
44662
|
+
pivotId;
|
|
44600
44663
|
mutators = [
|
|
44601
44664
|
"reset",
|
|
44602
44665
|
"deferUpdates",
|
|
@@ -52265,6 +52328,11 @@ var CellPlugin = class extends CorePlugin {
|
|
|
52265
52328
|
}
|
|
52266
52329
|
};
|
|
52267
52330
|
var FormulaCellWithDependencies = class {
|
|
52331
|
+
id;
|
|
52332
|
+
format;
|
|
52333
|
+
style;
|
|
52334
|
+
sheetId;
|
|
52335
|
+
getRangeString;
|
|
52268
52336
|
isFormula = true;
|
|
52269
52337
|
compiledFormula;
|
|
52270
52338
|
constructor(id, compiledFormula, format, style, dependencies, sheetId, getRangeString) {
|
|
@@ -52299,6 +52367,10 @@ var FormulaCellWithDependencies = class {
|
|
|
52299
52367
|
}
|
|
52300
52368
|
};
|
|
52301
52369
|
var RangeReferenceToken = class {
|
|
52370
|
+
ranges;
|
|
52371
|
+
rangeIndex;
|
|
52372
|
+
sheetId;
|
|
52373
|
+
getRangeString;
|
|
52302
52374
|
type = "REFERENCE";
|
|
52303
52375
|
constructor(ranges, rangeIndex, sheetId, getRangeString) {
|
|
52304
52376
|
this.ranges = ranges;
|
|
@@ -56110,6 +56182,8 @@ function buildCompilationParameters(context, getters, computeCell) {
|
|
|
56110
56182
|
return new CompilationParametersBuilder(context, getters, computeCell).getParameters();
|
|
56111
56183
|
}
|
|
56112
56184
|
var CompilationParametersBuilder = class {
|
|
56185
|
+
getters;
|
|
56186
|
+
computeCell;
|
|
56113
56187
|
evalContext;
|
|
56114
56188
|
rangeCache = {};
|
|
56115
56189
|
constructor(context, getters, computeCell) {
|
|
@@ -56747,6 +56821,7 @@ var ZoneRBush = class extends import_rbush.default {
|
|
|
56747
56821
|
* It uses an R-Tree data structure to efficiently find dependent cells.
|
|
56748
56822
|
*/
|
|
56749
56823
|
var FormulaDependencyGraph = class {
|
|
56824
|
+
createEmptyPositionSet;
|
|
56750
56825
|
dependencies = new PositionMap();
|
|
56751
56826
|
rTree;
|
|
56752
56827
|
constructor(createEmptyPositionSet, data = []) {
|
|
@@ -57048,6 +57123,7 @@ const MAX_ITERATION = 30;
|
|
|
57048
57123
|
const ERROR_CYCLE_CELL = Object.freeze(createEvaluatedCell(new CircularDependencyError()));
|
|
57049
57124
|
const EMPTY_CELL = Object.freeze(createEvaluatedCell({ value: null }));
|
|
57050
57125
|
var Evaluator = class {
|
|
57126
|
+
context;
|
|
57051
57127
|
getters;
|
|
57052
57128
|
compilationParams;
|
|
57053
57129
|
evaluatedCells = new PositionMap();
|
|
@@ -60496,6 +60572,8 @@ function transformPositionWithMerge(toTransform, executed) {
|
|
|
60496
60572
|
//#endregion
|
|
60497
60573
|
//#region src/collaborative/revisions.ts
|
|
60498
60574
|
var Revision = class {
|
|
60575
|
+
rootCommand;
|
|
60576
|
+
timestamp;
|
|
60499
60577
|
id;
|
|
60500
60578
|
clientId;
|
|
60501
60579
|
_commands = [];
|
|
@@ -60532,6 +60610,9 @@ var Revision = class {
|
|
|
60532
60610
|
//#region src/collaborative/session.ts
|
|
60533
60611
|
var ClientDisconnectedError = class extends Error {};
|
|
60534
60612
|
var Session = class extends EventBus {
|
|
60613
|
+
revisions;
|
|
60614
|
+
transportService;
|
|
60615
|
+
serverRevisionId;
|
|
60535
60616
|
/**
|
|
60536
60617
|
* Positions of the others client.
|
|
60537
60618
|
*/
|
|
@@ -64105,6 +64186,9 @@ var GridSelectionPlugin = class extends UIPlugin {
|
|
|
64105
64186
|
//#endregion
|
|
64106
64187
|
//#region src/helpers/internal_viewport.ts
|
|
64107
64188
|
var InternalViewport = class {
|
|
64189
|
+
getters;
|
|
64190
|
+
sheetId;
|
|
64191
|
+
boundaries;
|
|
64108
64192
|
top;
|
|
64109
64193
|
bottom;
|
|
64110
64194
|
left;
|
|
@@ -67718,6 +67802,7 @@ function instantiateClipboard() {
|
|
|
67718
67802
|
return new WebClipboardWrapper(navigator.clipboard);
|
|
67719
67803
|
}
|
|
67720
67804
|
var WebClipboardWrapper = class {
|
|
67805
|
+
clipboard;
|
|
67721
67806
|
constructor(clipboard) {
|
|
67722
67807
|
this.clipboard = clipboard;
|
|
67723
67808
|
}
|
|
@@ -68206,6 +68291,8 @@ function inverseCommand(cmd) {
|
|
|
68206
68291
|
* @param operations initial operations
|
|
68207
68292
|
*/
|
|
68208
68293
|
var Branch = class Branch {
|
|
68294
|
+
buildTransformation;
|
|
68295
|
+
operations;
|
|
68209
68296
|
constructor(buildTransformation, operations = []) {
|
|
68210
68297
|
this.buildTransformation = buildTransformation;
|
|
68211
68298
|
this.operations = operations;
|
|
@@ -68322,6 +68409,8 @@ var Branch = class Branch {
|
|
|
68322
68409
|
* to revert it).
|
|
68323
68410
|
*/
|
|
68324
68411
|
var Operation = class {
|
|
68412
|
+
id;
|
|
68413
|
+
data;
|
|
68325
68414
|
constructor(id, data) {
|
|
68326
68415
|
this.id = id;
|
|
68327
68416
|
this.data = data;
|
|
@@ -68331,6 +68420,8 @@ var Operation = class {
|
|
|
68331
68420
|
}
|
|
68332
68421
|
};
|
|
68333
68422
|
var LazyOperation = class LazyOperation {
|
|
68423
|
+
id;
|
|
68424
|
+
lazyData;
|
|
68334
68425
|
constructor(id, lazyData) {
|
|
68335
68426
|
this.id = id;
|
|
68336
68427
|
this.lazyData = lazyData;
|
|
@@ -68356,6 +68447,7 @@ var LazyOperation = class LazyOperation {
|
|
|
68356
68447
|
* ```
|
|
68357
68448
|
*/
|
|
68358
68449
|
var OperationSequence = class OperationSequence {
|
|
68450
|
+
operations;
|
|
68359
68451
|
constructor(operations) {
|
|
68360
68452
|
this.operations = operations;
|
|
68361
68453
|
}
|
|
@@ -68431,6 +68523,7 @@ var OperationSequence = class OperationSequence {
|
|
|
68431
68523
|
*
|
|
68432
68524
|
*/
|
|
68433
68525
|
var Tree = class {
|
|
68526
|
+
buildTransformation;
|
|
68434
68527
|
branches;
|
|
68435
68528
|
branchingOperationIds = /* @__PURE__ */ new Map();
|
|
68436
68529
|
constructor(buildTransformation, initialBranch) {
|
|
@@ -69013,6 +69106,7 @@ var EventStream = class {
|
|
|
69013
69106
|
* with the new selected anchor
|
|
69014
69107
|
*/
|
|
69015
69108
|
var SelectionStreamProcessorImpl = class {
|
|
69109
|
+
getters;
|
|
69016
69110
|
stream;
|
|
69017
69111
|
/**
|
|
69018
69112
|
* "Active" anchor used as a reference to compute new anchors
|
|
@@ -72315,6 +72409,6 @@ exports.stores = stores;
|
|
|
72315
72409
|
exports.tokenColors = tokenColors;
|
|
72316
72410
|
exports.tokenize = tokenize;
|
|
72317
72411
|
|
|
72318
|
-
__info__.version = "18.3.
|
|
72319
|
-
__info__.date = "2026-05-
|
|
72320
|
-
__info__.hash = "
|
|
72412
|
+
__info__.version = "18.3.48";
|
|
72413
|
+
__info__.date = "2026-05-15T07:05:43.612Z";
|
|
72414
|
+
__info__.hash = "76bed65";
|
package/dist/o_spreadsheet.css
CHANGED
|
@@ -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.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.48
|
|
6
|
+
* @date 2026-05-15T07:05:45.324Z
|
|
7
|
+
* @hash 76bed65
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 900px) {
|