@odoo/o-spreadsheet 19.4.0-alpha.11 → 19.4.0-alpha.12
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 +53 -34
- package/dist/o_spreadsheet.css +5 -5
- package/dist/o_spreadsheet.esm.js +53 -34
- package/dist/o_spreadsheet.iife.js +53 -34
- package/dist/o_spreadsheet.min.iife.js +39 -39
- package/dist/o_spreadsheet.xml +22 -16
- package/dist/types/components/generic_input/generic_input.d.ts +1 -1
- package/dist/types/components/props_validation.d.ts +6 -2
- package/dist/types/components/side_panel/chart/sunburst_chart/sunburst_chart_design_panel.d.ts +3 -1
- package/dist/types/components/side_panel/chart/treemap_chart/treemap_chart_design_panel.d.ts +11 -2
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_order/pivot_dimension_order.d.ts +2 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/types/chart/sunburst_chart.d.ts +3 -1
- package/dist/types/types/chart/tree_map_chart.d.ts +11 -2
- package/dist/types/types/spreadsheet_env.d.ts +0 -1
- package/package.json +2 -2
package/dist/o_spreadsheet.cjs
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 19.4.0-alpha.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.0-alpha.12
|
|
6
|
+
* @date 2026-06-06T06:24:48.209Z
|
|
7
|
+
* @hash a71f829
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -4323,6 +4323,7 @@ const DEFAULT_LOCALE_DIGIT_GROUPING = "[3,0]";
|
|
|
4323
4323
|
//#endregion
|
|
4324
4324
|
//#region src/helpers/format/format_tokenizer.ts
|
|
4325
4325
|
function tokenizeFormat(str) {
|
|
4326
|
+
str = str.replace(/\s/g, " ");
|
|
4326
4327
|
const chars = new TokenizingChars(str);
|
|
4327
4328
|
const result = [];
|
|
4328
4329
|
let currentFormatPart = [];
|
|
@@ -10570,7 +10571,7 @@ function getChartAxisTitleRuntime(design) {
|
|
|
10570
10571
|
font: {
|
|
10571
10572
|
style: italic ? "italic" : "normal",
|
|
10572
10573
|
weight: bold ? "bold" : "normal",
|
|
10573
|
-
size: design.title.fontSize ?? 12
|
|
10574
|
+
size: fontSizeInPixels(design.title.fontSize ?? 12)
|
|
10574
10575
|
},
|
|
10575
10576
|
align: align === "left" ? "start" : align === "right" ? "end" : "center"
|
|
10576
10577
|
};
|
|
@@ -11192,7 +11193,7 @@ function getTextStyle(design, defaultDesign) {
|
|
|
11192
11193
|
font: {
|
|
11193
11194
|
weight: design?.bold ?? defaultDesign?.bold ? "bold" : "normal",
|
|
11194
11195
|
style: design?.italic ?? defaultDesign?.italic ? "italic" : "normal",
|
|
11195
|
-
size: design?.fontSize ?? defaultDesign
|
|
11196
|
+
size: fontSizeInPixels(design?.fontSize ?? defaultDesign.fontSize)
|
|
11196
11197
|
}
|
|
11197
11198
|
};
|
|
11198
11199
|
}
|
|
@@ -12128,35 +12129,35 @@ var ScorecardChartConfigBuilder = class {
|
|
|
12128
12129
|
if (this.runtime.progressBar) baselineValueFontSize /= 1.5;
|
|
12129
12130
|
return {
|
|
12130
12131
|
title: {
|
|
12131
|
-
font: getDefaultContextFont(this.runtime.title.fontSize ?? 14, this.runtime.title.bold, this.runtime.title.italic),
|
|
12132
|
+
font: getDefaultContextFont(fontSizeInPixels(this.runtime.title.fontSize ?? 14), this.runtime.title.bold, this.runtime.title.italic),
|
|
12132
12133
|
color: this.runtime.title.color ?? this.secondaryFontColor
|
|
12133
12134
|
},
|
|
12134
12135
|
keyValue: {
|
|
12135
12136
|
color: this.runtime.keyValueStyle?.textColor || this.runtime.fontColor,
|
|
12136
|
-
font: getDefaultContextFont(keyValueFontSize, this.runtime.keyValueStyle?.bold, this.runtime.keyValueStyle?.italic),
|
|
12137
|
+
font: getDefaultContextFont(fontSizeInPixels(keyValueFontSize), this.runtime.keyValueStyle?.bold, this.runtime.keyValueStyle?.italic),
|
|
12137
12138
|
strikethrough: this.runtime.keyValueStyle?.strikethrough,
|
|
12138
12139
|
underline: this.runtime.keyValueStyle?.underline
|
|
12139
12140
|
},
|
|
12140
12141
|
keyDescr: {
|
|
12141
12142
|
color: this.runtime.keyValueDescrStyle?.textColor || this.runtime.fontColor,
|
|
12142
|
-
font: getDefaultContextFont(keyValueDescrFontSize, this.runtime.keyValueDescrStyle?.bold, this.runtime.keyValueDescrStyle?.italic),
|
|
12143
|
+
font: getDefaultContextFont(fontSizeInPixels(keyValueDescrFontSize), this.runtime.keyValueDescrStyle?.bold, this.runtime.keyValueDescrStyle?.italic),
|
|
12143
12144
|
strikethrough: this.runtime.keyValueDescrStyle?.strikethrough,
|
|
12144
12145
|
underline: this.runtime.keyValueDescrStyle?.underline
|
|
12145
12146
|
},
|
|
12146
12147
|
baselineValue: {
|
|
12147
|
-
font: getDefaultContextFont(baselineValueFontSize, this.runtime.baselineStyle?.bold, this.runtime.baselineStyle?.italic),
|
|
12148
|
+
font: getDefaultContextFont(fontSizeInPixels(baselineValueFontSize), this.runtime.baselineStyle?.bold, this.runtime.baselineStyle?.italic),
|
|
12148
12149
|
strikethrough: this.runtime.baselineStyle?.strikethrough,
|
|
12149
12150
|
underline: this.runtime.baselineStyle?.underline,
|
|
12150
12151
|
color: this.runtime.baselineColor || this.runtime.baselineStyle?.textColor || this.secondaryFontColor
|
|
12151
12152
|
},
|
|
12152
12153
|
baselineDescr: {
|
|
12153
|
-
font: getDefaultContextFont(baselineDescrFontSize, this.runtime.baselineDescrStyle?.bold, this.runtime.baselineDescrStyle?.italic),
|
|
12154
|
+
font: getDefaultContextFont(fontSizeInPixels(baselineDescrFontSize), this.runtime.baselineDescrStyle?.bold, this.runtime.baselineDescrStyle?.italic),
|
|
12154
12155
|
strikethrough: this.runtime.baselineDescrStyle?.strikethrough,
|
|
12155
12156
|
underline: this.runtime.baselineDescrStyle?.underline,
|
|
12156
12157
|
color: this.runtime.baselineDescrStyle?.textColor ?? this.secondaryFontColor
|
|
12157
12158
|
},
|
|
12158
12159
|
baselineArrow: this.baselineArrow === "neutral" || this.runtime.progressBar ? void 0 : {
|
|
12159
|
-
size: this.keyValue ? .8 * baselineValueFontSize : 0,
|
|
12160
|
+
size: this.keyValue ? .8 * fontSizeInPixels(baselineValueFontSize) : 0,
|
|
12160
12161
|
color: this.runtime.baselineColor || this.runtime.baselineStyle?.textColor || this.secondaryFontColor
|
|
12161
12162
|
}
|
|
12162
12163
|
};
|
|
@@ -12366,7 +12367,7 @@ function drawInflectionValues(ctx, config) {
|
|
|
12366
12367
|
function drawTitle(ctx, config) {
|
|
12367
12368
|
ctx.save();
|
|
12368
12369
|
const title = config.title;
|
|
12369
|
-
ctx.font = getDefaultContextFont(title.fontSize, title.bold, title.italic);
|
|
12370
|
+
ctx.font = getDefaultContextFont(fontSizeInPixels(title.fontSize), title.bold, title.italic);
|
|
12370
12371
|
ctx.textBaseline = "middle";
|
|
12371
12372
|
ctx.fillStyle = title.color;
|
|
12372
12373
|
ctx.fillText(title.label, title.textPosition.x, title.textPosition.y);
|
|
@@ -12400,8 +12401,8 @@ function getGaugeRenderingConfig(boundingRect, runtime, ctx) {
|
|
|
12400
12401
|
const inflectionValues = getInflectionValues(runtime, gaugeRect, textColor, ctx);
|
|
12401
12402
|
let x = 0, titleWidth = 0, titleHeight = 0;
|
|
12402
12403
|
if (runtime.title.text) ({width: titleWidth, height: titleHeight} = computeTextDimension(ctx, runtime.title.text, {
|
|
12403
|
-
|
|
12404
|
-
|
|
12404
|
+
...runtime.title,
|
|
12405
|
+
fontSize: fontSizeInPixels(runtime.title.fontSize ?? 16)
|
|
12405
12406
|
}, "px"));
|
|
12406
12407
|
switch (runtime.title.align) {
|
|
12407
12408
|
case "right":
|
|
@@ -13924,10 +13925,10 @@ var GaugeChartComponent = class extends Component {
|
|
|
13924
13925
|
let animation = null;
|
|
13925
13926
|
let lastRuntime = void 0;
|
|
13926
13927
|
useLayoutEffect(() => {
|
|
13927
|
-
if (this.env.isDashboard() && lastRuntime === void 0 && this.animationStore?.animationPlayed[this.animationChartId] !== "gauge") {
|
|
13928
|
+
if (this.env.model.getters.isDashboard() && lastRuntime === void 0 && this.animationStore?.animationPlayed[this.animationChartId] !== "gauge") {
|
|
13928
13929
|
animation = this.drawGaugeWithAnimation();
|
|
13929
13930
|
this.animationStore?.disableAnimationForChart(this.animationChartId, "gauge");
|
|
13930
|
-
} else if (this.env.isDashboard() && lastRuntime !== void 0 && !deepEquals(this.runtime, lastRuntime)) {
|
|
13931
|
+
} else if (this.env.model.getters.isDashboard() && lastRuntime !== void 0 && !deepEquals(this.runtime, lastRuntime)) {
|
|
13931
13932
|
animation = this.drawGaugeWithAnimation();
|
|
13932
13933
|
this.animationStore?.disableAnimationForChart(this.animationChartId, "gauge");
|
|
13933
13934
|
} else {
|
|
@@ -15218,10 +15219,12 @@ var CarouselFigure = class extends Component {
|
|
|
15218
15219
|
return this.carousel.title?.text ?? "";
|
|
15219
15220
|
}
|
|
15220
15221
|
get titleStyle() {
|
|
15221
|
-
|
|
15222
|
+
const style = {
|
|
15222
15223
|
...DEFAULT_CAROUSEL_TITLE_STYLE,
|
|
15223
15224
|
...this.carousel.title
|
|
15224
|
-
}
|
|
15225
|
+
};
|
|
15226
|
+
style.fontSize = fontSizeInPixels(style.fontSize ?? 16);
|
|
15227
|
+
return cssPropertiesToCss(cellTextStyleToCss(chartStyleToCellStyle(style)));
|
|
15225
15228
|
}
|
|
15226
15229
|
updateTabsVisibility() {
|
|
15227
15230
|
const tabsContainerEl = this.carouselTabsRef();
|
|
@@ -15384,7 +15387,7 @@ var FigureComponent = class extends Component {
|
|
|
15384
15387
|
return figureRegistry;
|
|
15385
15388
|
}
|
|
15386
15389
|
getBorderWidth() {
|
|
15387
|
-
if (this.env.isDashboard()) return 0;
|
|
15390
|
+
if (this.env.model.getters.isDashboard()) return 0;
|
|
15388
15391
|
return this.isSelected ? ACTIVE_BORDER_WIDTH : this.borderWidth;
|
|
15389
15392
|
}
|
|
15390
15393
|
getBorderStyle(position) {
|
|
@@ -15526,7 +15529,7 @@ var FigureComponent = class extends Component {
|
|
|
15526
15529
|
};
|
|
15527
15530
|
}
|
|
15528
15531
|
onContextMenu(ev) {
|
|
15529
|
-
if (this.env.isDashboard()) return;
|
|
15532
|
+
if (this.env.model.getters.isDashboard()) return;
|
|
15530
15533
|
const zoomedMouseEvent = withZoom(this.env, ev);
|
|
15531
15534
|
this.openContextMenu({
|
|
15532
15535
|
x: zoomedMouseEvent.clientX,
|
|
@@ -15552,7 +15555,7 @@ var FigureComponent = class extends Component {
|
|
|
15552
15555
|
if (el) for (const property in properties) el.style.setProperty(property, properties[property] || null);
|
|
15553
15556
|
}
|
|
15554
15557
|
get isFigureResizable() {
|
|
15555
|
-
return this.isSelected && !this.env.isMobile() && !this.env.isDashboard() && !this.env.model.getters.isCurrentSheetLocked();
|
|
15558
|
+
return this.isSelected && !this.env.isMobile() && !this.env.model.getters.isDashboard() && !this.env.model.getters.isCurrentSheetLocked();
|
|
15556
15559
|
}
|
|
15557
15560
|
};
|
|
15558
15561
|
|
|
@@ -28481,7 +28484,7 @@ function getSunburstShowValues(definition, args) {
|
|
|
28481
28484
|
showLabels: definition.showLabels ?? SunburstChartDefaults.showLabels,
|
|
28482
28485
|
showValues: definition.showValues ?? SunburstChartDefaults.showValues,
|
|
28483
28486
|
style: {
|
|
28484
|
-
fontSize: definition.valuesDesign?.fontSize ?? SunburstChartDefaults.valuesDesign.fontSize,
|
|
28487
|
+
fontSize: fontSizeInPixels(definition.valuesDesign?.fontSize ?? SunburstChartDefaults.valuesDesign.fontSize),
|
|
28485
28488
|
align: definition.valuesDesign?.align ?? SunburstChartDefaults.valuesDesign.align,
|
|
28486
28489
|
bold: definition.valuesDesign?.bold ?? SunburstChartDefaults.valuesDesign.bold,
|
|
28487
28490
|
italic: definition.valuesDesign?.italic ?? SunburstChartDefaults.valuesDesign.italic,
|
|
@@ -28536,7 +28539,7 @@ function getChartTitle({ title, legendPosition, background }, getters) {
|
|
|
28536
28539
|
color: title?.color ?? fontColor,
|
|
28537
28540
|
align: title.align === "center" ? "center" : title.align === "right" ? "end" : "start",
|
|
28538
28541
|
font: {
|
|
28539
|
-
size: title.fontSize ?? 16,
|
|
28542
|
+
size: fontSizeInPixels(title.fontSize ?? 16),
|
|
28540
28543
|
weight: title.bold ? "bold" : "normal",
|
|
28541
28544
|
style: title.italic ? "italic" : "normal"
|
|
28542
28545
|
},
|
|
@@ -38785,7 +38788,8 @@ var PivotDimensionOrder = class extends Component {
|
|
|
38785
38788
|
static template = "o-spreadsheet-PivotDimensionOrder";
|
|
38786
38789
|
props = (0, _odoo_owl.props)({
|
|
38787
38790
|
dimension: types$6.PivotDimension(),
|
|
38788
|
-
onUpdated: types$6.function([types$6.PivotDimension(), types$6.instanceOf(InputEvent)])
|
|
38791
|
+
onUpdated: types$6.function([types$6.PivotDimension(), types$6.instanceOf(InputEvent)]),
|
|
38792
|
+
"isMeasureSorted?": types$6.boolean()
|
|
38789
38793
|
});
|
|
38790
38794
|
static components = { Select };
|
|
38791
38795
|
get orderSelectOptions() {
|
|
@@ -38796,12 +38800,20 @@ var PivotDimensionOrder = class extends Component {
|
|
|
38796
38800
|
value: "desc",
|
|
38797
38801
|
label: _t("Descending")
|
|
38798
38802
|
}];
|
|
38803
|
+
if (this.props.isMeasureSorted) options.unshift({
|
|
38804
|
+
value: "measures",
|
|
38805
|
+
label: _t("Sorted by measure")
|
|
38806
|
+
});
|
|
38799
38807
|
if (this.props.dimension.type === "date") return options;
|
|
38800
38808
|
return [{
|
|
38801
38809
|
value: "",
|
|
38802
38810
|
label: _t("Unsorted")
|
|
38803
38811
|
}, ...options];
|
|
38804
38812
|
}
|
|
38813
|
+
get selectedValue() {
|
|
38814
|
+
if (this.props.isMeasureSorted) return "measures";
|
|
38815
|
+
return this.props.dimension.order || "";
|
|
38816
|
+
}
|
|
38805
38817
|
};
|
|
38806
38818
|
|
|
38807
38819
|
//#endregion
|
|
@@ -39172,7 +39184,8 @@ var PivotLayoutConfigurator = class extends Component {
|
|
|
39172
39184
|
return this.env.model.getters.getPivotCoreDefinition(this.props.pivotId).customFields?.[dimension.nameWithGranularity];
|
|
39173
39185
|
}
|
|
39174
39186
|
updateOrder(updateDimension, order) {
|
|
39175
|
-
const { rows, columns } = this.props.definition;
|
|
39187
|
+
const { rows, columns, sortedColumn } = this.props.definition;
|
|
39188
|
+
const isRow = rows.some((row) => row.nameWithGranularity === updateDimension.nameWithGranularity);
|
|
39176
39189
|
this.props.onDimensionsUpdated({
|
|
39177
39190
|
rows: rows.map((row) => {
|
|
39178
39191
|
if (row.nameWithGranularity === updateDimension.nameWithGranularity) return {
|
|
@@ -39187,7 +39200,8 @@ var PivotLayoutConfigurator = class extends Component {
|
|
|
39187
39200
|
order: order || void 0
|
|
39188
39201
|
};
|
|
39189
39202
|
return col;
|
|
39190
|
-
})
|
|
39203
|
+
}),
|
|
39204
|
+
sortedColumn: isRow ? void 0 : sortedColumn
|
|
39191
39205
|
});
|
|
39192
39206
|
}
|
|
39193
39207
|
updateGranularity(dimension, granularity) {
|
|
@@ -39213,6 +39227,9 @@ var PivotLayoutConfigurator = class extends Component {
|
|
|
39213
39227
|
const possibleValues = this.env.model.getters.getPivot(this.props.pivotId).getPossibleFieldValues(dimension);
|
|
39214
39228
|
return possibleValues.length > 100 ? _t("This dimension contains a lot of values (%s), and might slow down the pivot table.", possibleValues.length) : void 0;
|
|
39215
39229
|
}
|
|
39230
|
+
get hasSortedColumn() {
|
|
39231
|
+
return !!this.props.definition.sortedColumn;
|
|
39232
|
+
}
|
|
39216
39233
|
};
|
|
39217
39234
|
|
|
39218
39235
|
//#endregion
|
|
@@ -59011,9 +59028,11 @@ var PivotUIPlugin = class extends CoreViewPlugin {
|
|
|
59011
59028
|
this.refreshPivot(cmd.id);
|
|
59012
59029
|
break;
|
|
59013
59030
|
case "ADD_PIVOT":
|
|
59031
|
+
this.unusedPivotsInFormulas?.push(cmd.pivotId);
|
|
59014
59032
|
this.setupPivot(cmd.pivotId);
|
|
59015
59033
|
break;
|
|
59016
59034
|
case "DUPLICATE_PIVOT":
|
|
59035
|
+
this.unusedPivotsInFormulas?.push(cmd.newPivotId);
|
|
59017
59036
|
this.setupPivot(cmd.newPivotId);
|
|
59018
59037
|
break;
|
|
59019
59038
|
case "UPDATE_PIVOT":
|
|
@@ -59205,8 +59224,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
|
|
|
59205
59224
|
}
|
|
59206
59225
|
}
|
|
59207
59226
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
59208
|
-
const pivot = this.getters.
|
|
59209
|
-
for (const measure of pivot.
|
|
59227
|
+
const pivot = this.getters.getPivotCoreDefinition(pivotId);
|
|
59228
|
+
for (const measure of pivot.measures) if (measure.computedBy) {
|
|
59210
59229
|
const { sheetId } = measure.computedBy;
|
|
59211
59230
|
const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
|
|
59212
59231
|
const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
|
|
@@ -70968,7 +70987,7 @@ var Spreadsheet = class extends Component {
|
|
|
70968
70987
|
properties["color-scheme"] = this.props.model.getters.isDarkMode() ? "dark" : "light";
|
|
70969
70988
|
if (this.state.printModeEnabled) properties["display"] = `block`;
|
|
70970
70989
|
else {
|
|
70971
|
-
if (this.env.isDashboard()) properties["grid-template-rows"] = `auto`;
|
|
70990
|
+
if (this.env.model.getters.isDashboard()) properties["grid-template-rows"] = `auto`;
|
|
70972
70991
|
else properties["grid-template-rows"] = `min-content auto min-content`;
|
|
70973
70992
|
properties["grid-template-columns"] = `auto ${this.sidePanel.mainPanel ? `${this.sidePanel.totalPanelSize || 350}px` : "auto"}`;
|
|
70974
70993
|
}
|
|
@@ -70996,7 +71015,6 @@ var Spreadsheet = class extends Component {
|
|
|
70996
71015
|
imageProvider: fileStore ? new ImageProvider(fileStore) : void 0,
|
|
70997
71016
|
loadCurrencies: this.model.config.external.loadCurrencies,
|
|
70998
71017
|
loadLocales: this.model.config.external.loadLocales,
|
|
70999
|
-
isDashboard: () => this.model.getters.isDashboard(),
|
|
71000
71018
|
openSidePanel: this.sidePanel.open.bind(this.sidePanel),
|
|
71001
71019
|
replaceSidePanel: this.sidePanel.replace.bind(this.sidePanel),
|
|
71002
71020
|
toggleSidePanel: this.sidePanel.toggle.bind(this.sidePanel),
|
|
@@ -86245,7 +86263,8 @@ const registries = {
|
|
|
86245
86263
|
pivotToFunctionValueRegistry,
|
|
86246
86264
|
migrationStepRegistry,
|
|
86247
86265
|
chartJsExtensionRegistry,
|
|
86248
|
-
onIterationEndEvaluationRegistry
|
|
86266
|
+
onIterationEndEvaluationRegistry,
|
|
86267
|
+
specificRangeTransformRegistry
|
|
86249
86268
|
};
|
|
86250
86269
|
const helpers = {
|
|
86251
86270
|
arg,
|
|
@@ -86545,6 +86564,6 @@ exports.stores = stores;
|
|
|
86545
86564
|
exports.tokenColors = tokenColors;
|
|
86546
86565
|
exports.tokenize = tokenize;
|
|
86547
86566
|
|
|
86548
|
-
__info__.version = "19.4.0-alpha.
|
|
86549
|
-
__info__.date = "2026-06-
|
|
86550
|
-
__info__.hash = "
|
|
86567
|
+
__info__.version = "19.4.0-alpha.12";
|
|
86568
|
+
__info__.date = "2026-06-06T06:24:48.209Z";
|
|
86569
|
+
__info__.hash = "a71f829";
|
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 19.4.0-alpha.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.0-alpha.12
|
|
6
|
+
* @date 2026-06-06T06:24:50.084Z
|
|
7
|
+
* @hash a71f829
|
|
8
8
|
*/
|
|
9
9
|
:root {
|
|
10
10
|
--os-gray-100: light-dark(#f9fafb, #1b1d26);
|
|
@@ -2251,6 +2251,7 @@
|
|
|
2251
2251
|
/* Originates from src/components/headers_overlay/headers_overlay.css */
|
|
2252
2252
|
.o-spreadsheet {
|
|
2253
2253
|
.o-col-resizer {
|
|
2254
|
+
z-index: calc(var(--os-components-importance-grid) + 1);
|
|
2254
2255
|
position: absolute;
|
|
2255
2256
|
top: 0;
|
|
2256
2257
|
left: var(--os-header-width);
|
|
@@ -2293,12 +2294,12 @@
|
|
|
2293
2294
|
background-color: var(--os-selection-border-color);
|
|
2294
2295
|
}
|
|
2295
2296
|
.o-unhide:hover {
|
|
2296
|
-
z-index: calc(var(--os-components-importance-grid) + 1);
|
|
2297
2297
|
background-color: var(--os-gray-400);
|
|
2298
2298
|
}
|
|
2299
2299
|
}
|
|
2300
2300
|
|
|
2301
2301
|
.o-row-resizer {
|
|
2302
|
+
z-index: calc(var(--os-components-importance-grid) + 1);
|
|
2302
2303
|
position: absolute;
|
|
2303
2304
|
top: var(--os-header-height);
|
|
2304
2305
|
left: 0;
|
|
@@ -2340,7 +2341,6 @@
|
|
|
2340
2341
|
background-color: var(--os-selection-border-color);
|
|
2341
2342
|
}
|
|
2342
2343
|
.o-unhide:hover {
|
|
2343
|
-
z-index: calc(var(--os-components-importance-grid) + 1);
|
|
2344
2344
|
background-color: var(--os-gray-400);
|
|
2345
2345
|
}
|
|
2346
2346
|
}
|
|
@@ -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.4.0-alpha.
|
|
6
|
-
* @date 2026-06-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.0-alpha.12
|
|
6
|
+
* @date 2026-06-06T06:24:48.209Z
|
|
7
|
+
* @hash a71f829
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { App, Component, EnvPlugin, Plugin, __ODOO_COMPATIBILITY_LAYER_ADDED__, blockDom, config, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, plugin, props, providePlugins, proxy, signal, status, toRaw, types, useChildEnv, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useLayoutEffect, useListener, useScope, useSubEnv, whenReady, xml } from "@odoo/owl";
|
|
@@ -4322,6 +4322,7 @@ const DEFAULT_LOCALE_DIGIT_GROUPING = "[3,0]";
|
|
|
4322
4322
|
//#endregion
|
|
4323
4323
|
//#region src/helpers/format/format_tokenizer.ts
|
|
4324
4324
|
function tokenizeFormat(str) {
|
|
4325
|
+
str = str.replace(/\s/g, " ");
|
|
4325
4326
|
const chars = new TokenizingChars(str);
|
|
4326
4327
|
const result = [];
|
|
4327
4328
|
let currentFormatPart = [];
|
|
@@ -10569,7 +10570,7 @@ function getChartAxisTitleRuntime(design) {
|
|
|
10569
10570
|
font: {
|
|
10570
10571
|
style: italic ? "italic" : "normal",
|
|
10571
10572
|
weight: bold ? "bold" : "normal",
|
|
10572
|
-
size: design.title.fontSize ?? 12
|
|
10573
|
+
size: fontSizeInPixels(design.title.fontSize ?? 12)
|
|
10573
10574
|
},
|
|
10574
10575
|
align: align === "left" ? "start" : align === "right" ? "end" : "center"
|
|
10575
10576
|
};
|
|
@@ -11191,7 +11192,7 @@ function getTextStyle(design, defaultDesign) {
|
|
|
11191
11192
|
font: {
|
|
11192
11193
|
weight: design?.bold ?? defaultDesign?.bold ? "bold" : "normal",
|
|
11193
11194
|
style: design?.italic ?? defaultDesign?.italic ? "italic" : "normal",
|
|
11194
|
-
size: design?.fontSize ?? defaultDesign
|
|
11195
|
+
size: fontSizeInPixels(design?.fontSize ?? defaultDesign.fontSize)
|
|
11195
11196
|
}
|
|
11196
11197
|
};
|
|
11197
11198
|
}
|
|
@@ -12127,35 +12128,35 @@ var ScorecardChartConfigBuilder = class {
|
|
|
12127
12128
|
if (this.runtime.progressBar) baselineValueFontSize /= 1.5;
|
|
12128
12129
|
return {
|
|
12129
12130
|
title: {
|
|
12130
|
-
font: getDefaultContextFont(this.runtime.title.fontSize ?? 14, this.runtime.title.bold, this.runtime.title.italic),
|
|
12131
|
+
font: getDefaultContextFont(fontSizeInPixels(this.runtime.title.fontSize ?? 14), this.runtime.title.bold, this.runtime.title.italic),
|
|
12131
12132
|
color: this.runtime.title.color ?? this.secondaryFontColor
|
|
12132
12133
|
},
|
|
12133
12134
|
keyValue: {
|
|
12134
12135
|
color: this.runtime.keyValueStyle?.textColor || this.runtime.fontColor,
|
|
12135
|
-
font: getDefaultContextFont(keyValueFontSize, this.runtime.keyValueStyle?.bold, this.runtime.keyValueStyle?.italic),
|
|
12136
|
+
font: getDefaultContextFont(fontSizeInPixels(keyValueFontSize), this.runtime.keyValueStyle?.bold, this.runtime.keyValueStyle?.italic),
|
|
12136
12137
|
strikethrough: this.runtime.keyValueStyle?.strikethrough,
|
|
12137
12138
|
underline: this.runtime.keyValueStyle?.underline
|
|
12138
12139
|
},
|
|
12139
12140
|
keyDescr: {
|
|
12140
12141
|
color: this.runtime.keyValueDescrStyle?.textColor || this.runtime.fontColor,
|
|
12141
|
-
font: getDefaultContextFont(keyValueDescrFontSize, this.runtime.keyValueDescrStyle?.bold, this.runtime.keyValueDescrStyle?.italic),
|
|
12142
|
+
font: getDefaultContextFont(fontSizeInPixels(keyValueDescrFontSize), this.runtime.keyValueDescrStyle?.bold, this.runtime.keyValueDescrStyle?.italic),
|
|
12142
12143
|
strikethrough: this.runtime.keyValueDescrStyle?.strikethrough,
|
|
12143
12144
|
underline: this.runtime.keyValueDescrStyle?.underline
|
|
12144
12145
|
},
|
|
12145
12146
|
baselineValue: {
|
|
12146
|
-
font: getDefaultContextFont(baselineValueFontSize, this.runtime.baselineStyle?.bold, this.runtime.baselineStyle?.italic),
|
|
12147
|
+
font: getDefaultContextFont(fontSizeInPixels(baselineValueFontSize), this.runtime.baselineStyle?.bold, this.runtime.baselineStyle?.italic),
|
|
12147
12148
|
strikethrough: this.runtime.baselineStyle?.strikethrough,
|
|
12148
12149
|
underline: this.runtime.baselineStyle?.underline,
|
|
12149
12150
|
color: this.runtime.baselineColor || this.runtime.baselineStyle?.textColor || this.secondaryFontColor
|
|
12150
12151
|
},
|
|
12151
12152
|
baselineDescr: {
|
|
12152
|
-
font: getDefaultContextFont(baselineDescrFontSize, this.runtime.baselineDescrStyle?.bold, this.runtime.baselineDescrStyle?.italic),
|
|
12153
|
+
font: getDefaultContextFont(fontSizeInPixels(baselineDescrFontSize), this.runtime.baselineDescrStyle?.bold, this.runtime.baselineDescrStyle?.italic),
|
|
12153
12154
|
strikethrough: this.runtime.baselineDescrStyle?.strikethrough,
|
|
12154
12155
|
underline: this.runtime.baselineDescrStyle?.underline,
|
|
12155
12156
|
color: this.runtime.baselineDescrStyle?.textColor ?? this.secondaryFontColor
|
|
12156
12157
|
},
|
|
12157
12158
|
baselineArrow: this.baselineArrow === "neutral" || this.runtime.progressBar ? void 0 : {
|
|
12158
|
-
size: this.keyValue ? .8 * baselineValueFontSize : 0,
|
|
12159
|
+
size: this.keyValue ? .8 * fontSizeInPixels(baselineValueFontSize) : 0,
|
|
12159
12160
|
color: this.runtime.baselineColor || this.runtime.baselineStyle?.textColor || this.secondaryFontColor
|
|
12160
12161
|
}
|
|
12161
12162
|
};
|
|
@@ -12365,7 +12366,7 @@ function drawInflectionValues(ctx, config) {
|
|
|
12365
12366
|
function drawTitle(ctx, config) {
|
|
12366
12367
|
ctx.save();
|
|
12367
12368
|
const title = config.title;
|
|
12368
|
-
ctx.font = getDefaultContextFont(title.fontSize, title.bold, title.italic);
|
|
12369
|
+
ctx.font = getDefaultContextFont(fontSizeInPixels(title.fontSize), title.bold, title.italic);
|
|
12369
12370
|
ctx.textBaseline = "middle";
|
|
12370
12371
|
ctx.fillStyle = title.color;
|
|
12371
12372
|
ctx.fillText(title.label, title.textPosition.x, title.textPosition.y);
|
|
@@ -12399,8 +12400,8 @@ function getGaugeRenderingConfig(boundingRect, runtime, ctx) {
|
|
|
12399
12400
|
const inflectionValues = getInflectionValues(runtime, gaugeRect, textColor, ctx);
|
|
12400
12401
|
let x = 0, titleWidth = 0, titleHeight = 0;
|
|
12401
12402
|
if (runtime.title.text) ({width: titleWidth, height: titleHeight} = computeTextDimension(ctx, runtime.title.text, {
|
|
12402
|
-
|
|
12403
|
-
|
|
12403
|
+
...runtime.title,
|
|
12404
|
+
fontSize: fontSizeInPixels(runtime.title.fontSize ?? 16)
|
|
12404
12405
|
}, "px"));
|
|
12405
12406
|
switch (runtime.title.align) {
|
|
12406
12407
|
case "right":
|
|
@@ -13923,10 +13924,10 @@ var GaugeChartComponent = class extends Component$1 {
|
|
|
13923
13924
|
let animation = null;
|
|
13924
13925
|
let lastRuntime = void 0;
|
|
13925
13926
|
useLayoutEffect$1(() => {
|
|
13926
|
-
if (this.env.isDashboard() && lastRuntime === void 0 && this.animationStore?.animationPlayed[this.animationChartId] !== "gauge") {
|
|
13927
|
+
if (this.env.model.getters.isDashboard() && lastRuntime === void 0 && this.animationStore?.animationPlayed[this.animationChartId] !== "gauge") {
|
|
13927
13928
|
animation = this.drawGaugeWithAnimation();
|
|
13928
13929
|
this.animationStore?.disableAnimationForChart(this.animationChartId, "gauge");
|
|
13929
|
-
} else if (this.env.isDashboard() && lastRuntime !== void 0 && !deepEquals(this.runtime, lastRuntime)) {
|
|
13930
|
+
} else if (this.env.model.getters.isDashboard() && lastRuntime !== void 0 && !deepEquals(this.runtime, lastRuntime)) {
|
|
13930
13931
|
animation = this.drawGaugeWithAnimation();
|
|
13931
13932
|
this.animationStore?.disableAnimationForChart(this.animationChartId, "gauge");
|
|
13932
13933
|
} else {
|
|
@@ -15217,10 +15218,12 @@ var CarouselFigure = class extends Component$1 {
|
|
|
15217
15218
|
return this.carousel.title?.text ?? "";
|
|
15218
15219
|
}
|
|
15219
15220
|
get titleStyle() {
|
|
15220
|
-
|
|
15221
|
+
const style = {
|
|
15221
15222
|
...DEFAULT_CAROUSEL_TITLE_STYLE,
|
|
15222
15223
|
...this.carousel.title
|
|
15223
|
-
}
|
|
15224
|
+
};
|
|
15225
|
+
style.fontSize = fontSizeInPixels(style.fontSize ?? 16);
|
|
15226
|
+
return cssPropertiesToCss(cellTextStyleToCss(chartStyleToCellStyle(style)));
|
|
15224
15227
|
}
|
|
15225
15228
|
updateTabsVisibility() {
|
|
15226
15229
|
const tabsContainerEl = this.carouselTabsRef();
|
|
@@ -15383,7 +15386,7 @@ var FigureComponent = class extends Component$1 {
|
|
|
15383
15386
|
return figureRegistry;
|
|
15384
15387
|
}
|
|
15385
15388
|
getBorderWidth() {
|
|
15386
|
-
if (this.env.isDashboard()) return 0;
|
|
15389
|
+
if (this.env.model.getters.isDashboard()) return 0;
|
|
15387
15390
|
return this.isSelected ? ACTIVE_BORDER_WIDTH : this.borderWidth;
|
|
15388
15391
|
}
|
|
15389
15392
|
getBorderStyle(position) {
|
|
@@ -15525,7 +15528,7 @@ var FigureComponent = class extends Component$1 {
|
|
|
15525
15528
|
};
|
|
15526
15529
|
}
|
|
15527
15530
|
onContextMenu(ev) {
|
|
15528
|
-
if (this.env.isDashboard()) return;
|
|
15531
|
+
if (this.env.model.getters.isDashboard()) return;
|
|
15529
15532
|
const zoomedMouseEvent = withZoom(this.env, ev);
|
|
15530
15533
|
this.openContextMenu({
|
|
15531
15534
|
x: zoomedMouseEvent.clientX,
|
|
@@ -15551,7 +15554,7 @@ var FigureComponent = class extends Component$1 {
|
|
|
15551
15554
|
if (el) for (const property in properties) el.style.setProperty(property, properties[property] || null);
|
|
15552
15555
|
}
|
|
15553
15556
|
get isFigureResizable() {
|
|
15554
|
-
return this.isSelected && !this.env.isMobile() && !this.env.isDashboard() && !this.env.model.getters.isCurrentSheetLocked();
|
|
15557
|
+
return this.isSelected && !this.env.isMobile() && !this.env.model.getters.isDashboard() && !this.env.model.getters.isCurrentSheetLocked();
|
|
15555
15558
|
}
|
|
15556
15559
|
};
|
|
15557
15560
|
|
|
@@ -28480,7 +28483,7 @@ function getSunburstShowValues(definition, args) {
|
|
|
28480
28483
|
showLabels: definition.showLabels ?? SunburstChartDefaults.showLabels,
|
|
28481
28484
|
showValues: definition.showValues ?? SunburstChartDefaults.showValues,
|
|
28482
28485
|
style: {
|
|
28483
|
-
fontSize: definition.valuesDesign?.fontSize ?? SunburstChartDefaults.valuesDesign.fontSize,
|
|
28486
|
+
fontSize: fontSizeInPixels(definition.valuesDesign?.fontSize ?? SunburstChartDefaults.valuesDesign.fontSize),
|
|
28484
28487
|
align: definition.valuesDesign?.align ?? SunburstChartDefaults.valuesDesign.align,
|
|
28485
28488
|
bold: definition.valuesDesign?.bold ?? SunburstChartDefaults.valuesDesign.bold,
|
|
28486
28489
|
italic: definition.valuesDesign?.italic ?? SunburstChartDefaults.valuesDesign.italic,
|
|
@@ -28535,7 +28538,7 @@ function getChartTitle({ title, legendPosition, background }, getters) {
|
|
|
28535
28538
|
color: title?.color ?? fontColor,
|
|
28536
28539
|
align: title.align === "center" ? "center" : title.align === "right" ? "end" : "start",
|
|
28537
28540
|
font: {
|
|
28538
|
-
size: title.fontSize ?? 16,
|
|
28541
|
+
size: fontSizeInPixels(title.fontSize ?? 16),
|
|
28539
28542
|
weight: title.bold ? "bold" : "normal",
|
|
28540
28543
|
style: title.italic ? "italic" : "normal"
|
|
28541
28544
|
},
|
|
@@ -38784,7 +38787,8 @@ var PivotDimensionOrder = class extends Component$1 {
|
|
|
38784
38787
|
static template = "o-spreadsheet-PivotDimensionOrder";
|
|
38785
38788
|
props = props({
|
|
38786
38789
|
dimension: types$1.PivotDimension(),
|
|
38787
|
-
onUpdated: types$1.function([types$1.PivotDimension(), types$1.instanceOf(InputEvent)])
|
|
38790
|
+
onUpdated: types$1.function([types$1.PivotDimension(), types$1.instanceOf(InputEvent)]),
|
|
38791
|
+
"isMeasureSorted?": types$1.boolean()
|
|
38788
38792
|
});
|
|
38789
38793
|
static components = { Select };
|
|
38790
38794
|
get orderSelectOptions() {
|
|
@@ -38795,12 +38799,20 @@ var PivotDimensionOrder = class extends Component$1 {
|
|
|
38795
38799
|
value: "desc",
|
|
38796
38800
|
label: _t("Descending")
|
|
38797
38801
|
}];
|
|
38802
|
+
if (this.props.isMeasureSorted) options.unshift({
|
|
38803
|
+
value: "measures",
|
|
38804
|
+
label: _t("Sorted by measure")
|
|
38805
|
+
});
|
|
38798
38806
|
if (this.props.dimension.type === "date") return options;
|
|
38799
38807
|
return [{
|
|
38800
38808
|
value: "",
|
|
38801
38809
|
label: _t("Unsorted")
|
|
38802
38810
|
}, ...options];
|
|
38803
38811
|
}
|
|
38812
|
+
get selectedValue() {
|
|
38813
|
+
if (this.props.isMeasureSorted) return "measures";
|
|
38814
|
+
return this.props.dimension.order || "";
|
|
38815
|
+
}
|
|
38804
38816
|
};
|
|
38805
38817
|
|
|
38806
38818
|
//#endregion
|
|
@@ -39171,7 +39183,8 @@ var PivotLayoutConfigurator = class extends Component$1 {
|
|
|
39171
39183
|
return this.env.model.getters.getPivotCoreDefinition(this.props.pivotId).customFields?.[dimension.nameWithGranularity];
|
|
39172
39184
|
}
|
|
39173
39185
|
updateOrder(updateDimension, order) {
|
|
39174
|
-
const { rows, columns } = this.props.definition;
|
|
39186
|
+
const { rows, columns, sortedColumn } = this.props.definition;
|
|
39187
|
+
const isRow = rows.some((row) => row.nameWithGranularity === updateDimension.nameWithGranularity);
|
|
39175
39188
|
this.props.onDimensionsUpdated({
|
|
39176
39189
|
rows: rows.map((row) => {
|
|
39177
39190
|
if (row.nameWithGranularity === updateDimension.nameWithGranularity) return {
|
|
@@ -39186,7 +39199,8 @@ var PivotLayoutConfigurator = class extends Component$1 {
|
|
|
39186
39199
|
order: order || void 0
|
|
39187
39200
|
};
|
|
39188
39201
|
return col;
|
|
39189
|
-
})
|
|
39202
|
+
}),
|
|
39203
|
+
sortedColumn: isRow ? void 0 : sortedColumn
|
|
39190
39204
|
});
|
|
39191
39205
|
}
|
|
39192
39206
|
updateGranularity(dimension, granularity) {
|
|
@@ -39212,6 +39226,9 @@ var PivotLayoutConfigurator = class extends Component$1 {
|
|
|
39212
39226
|
const possibleValues = this.env.model.getters.getPivot(this.props.pivotId).getPossibleFieldValues(dimension);
|
|
39213
39227
|
return possibleValues.length > 100 ? _t("This dimension contains a lot of values (%s), and might slow down the pivot table.", possibleValues.length) : void 0;
|
|
39214
39228
|
}
|
|
39229
|
+
get hasSortedColumn() {
|
|
39230
|
+
return !!this.props.definition.sortedColumn;
|
|
39231
|
+
}
|
|
39215
39232
|
};
|
|
39216
39233
|
|
|
39217
39234
|
//#endregion
|
|
@@ -58826,9 +58843,11 @@ var PivotUIPlugin = class extends CoreViewPlugin {
|
|
|
58826
58843
|
this.refreshPivot(cmd.id);
|
|
58827
58844
|
break;
|
|
58828
58845
|
case "ADD_PIVOT":
|
|
58846
|
+
this.unusedPivotsInFormulas?.push(cmd.pivotId);
|
|
58829
58847
|
this.setupPivot(cmd.pivotId);
|
|
58830
58848
|
break;
|
|
58831
58849
|
case "DUPLICATE_PIVOT":
|
|
58850
|
+
this.unusedPivotsInFormulas?.push(cmd.newPivotId);
|
|
58832
58851
|
this.setupPivot(cmd.newPivotId);
|
|
58833
58852
|
break;
|
|
58834
58853
|
case "UPDATE_PIVOT":
|
|
@@ -59020,8 +59039,8 @@ var PivotUIPlugin = class extends CoreViewPlugin {
|
|
|
59020
59039
|
}
|
|
59021
59040
|
}
|
|
59022
59041
|
for (const pivotId of this.getters.getPivotIds()) {
|
|
59023
|
-
const pivot = this.getters.
|
|
59024
|
-
for (const measure of pivot.
|
|
59042
|
+
const pivot = this.getters.getPivotCoreDefinition(pivotId);
|
|
59043
|
+
for (const measure of pivot.measures) if (measure.computedBy) {
|
|
59025
59044
|
const { sheetId } = measure.computedBy;
|
|
59026
59045
|
const formula = this.getters.getMeasureCompiledFormula(pivotId, measure);
|
|
59027
59046
|
const relatedPivotIds = this.getPivotIdsFromFormula(sheetId, formula);
|
|
@@ -70783,7 +70802,7 @@ var Spreadsheet = class extends Component$1 {
|
|
|
70783
70802
|
properties["color-scheme"] = this.props.model.getters.isDarkMode() ? "dark" : "light";
|
|
70784
70803
|
if (this.state.printModeEnabled) properties["display"] = `block`;
|
|
70785
70804
|
else {
|
|
70786
|
-
if (this.env.isDashboard()) properties["grid-template-rows"] = `auto`;
|
|
70805
|
+
if (this.env.model.getters.isDashboard()) properties["grid-template-rows"] = `auto`;
|
|
70787
70806
|
else properties["grid-template-rows"] = `min-content auto min-content`;
|
|
70788
70807
|
properties["grid-template-columns"] = `auto ${this.sidePanel.mainPanel ? `${this.sidePanel.totalPanelSize || 350}px` : "auto"}`;
|
|
70789
70808
|
}
|
|
@@ -70811,7 +70830,6 @@ var Spreadsheet = class extends Component$1 {
|
|
|
70811
70830
|
imageProvider: fileStore ? new ImageProvider(fileStore) : void 0,
|
|
70812
70831
|
loadCurrencies: this.model.config.external.loadCurrencies,
|
|
70813
70832
|
loadLocales: this.model.config.external.loadLocales,
|
|
70814
|
-
isDashboard: () => this.model.getters.isDashboard(),
|
|
70815
70833
|
openSidePanel: this.sidePanel.open.bind(this.sidePanel),
|
|
70816
70834
|
replaceSidePanel: this.sidePanel.replace.bind(this.sidePanel),
|
|
70817
70835
|
toggleSidePanel: this.sidePanel.toggle.bind(this.sidePanel),
|
|
@@ -86060,7 +86078,8 @@ const registries = {
|
|
|
86060
86078
|
pivotToFunctionValueRegistry,
|
|
86061
86079
|
migrationStepRegistry,
|
|
86062
86080
|
chartJsExtensionRegistry,
|
|
86063
|
-
onIterationEndEvaluationRegistry
|
|
86081
|
+
onIterationEndEvaluationRegistry,
|
|
86082
|
+
specificRangeTransformRegistry
|
|
86064
86083
|
};
|
|
86065
86084
|
const helpers = {
|
|
86066
86085
|
arg,
|
|
@@ -86266,6 +86285,6 @@ const chartHelpers = {
|
|
|
86266
86285
|
//#endregion
|
|
86267
86286
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, BadExpressionError, CHART_TYPES, CellErrorType, CellValueType, CircularDependencyError, ClientDisconnectedError, ClipboardMIMEType, CommandResult, CompiledFormula, CorePlugin, CoreViewPlugin, DEFAULT_LOCALE, DEFAULT_LOCALES, DEFAULT_LOCALE_DIGIT_GROUPING, DIRECTION, DispatchResult, DivisionByZeroError, EvaluationError, InvalidReferenceError, LocalTransportService, Model, NEXT_VALUE, NotAvailableError, NumberTooLargeError, OrderedLayers, PREVIOUS_VALUE, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, SplillBlockedError, Spreadsheet, SpreadsheetPivotTable, UIPlugin, UnknownFunctionError, __info__, addFunction, addRenderingLayer, astToFormula, availableConditionalFormatOperators, availableDataValidationOperators, availableFiltersOperators, borderPositions, borderStyles, canExecuteInReadonly, categories, chartHelpers, compatibility, components, composerFocusTypes, constants, convertAstNodes, coreTypes, createAutocompleteArgumentsProvider, errorTypes, filterDateCriterionOperators, filterNumberCriterionOperators, filterTextCriterionOperators, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidSubtotalFormulasCommands, invalidateBordersCommands, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, lockedSheetAllowedCommands, parse, parseTokens, readonlyAllowedCommands, registries, schemeToColorScale, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
86268
86287
|
|
|
86269
|
-
__info__.version = "19.4.0-alpha.
|
|
86270
|
-
__info__.date = "2026-06-
|
|
86271
|
-
__info__.hash = "
|
|
86288
|
+
__info__.version = "19.4.0-alpha.12";
|
|
86289
|
+
__info__.date = "2026-06-06T06:24:48.209Z";
|
|
86290
|
+
__info__.hash = "a71f829";
|