@odoo/o-spreadsheet 19.0.38 → 19.0.42
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.css +3 -3
- package/dist/o_spreadsheet.esm.js +93 -78
- package/dist/o_spreadsheet.iife.js +93 -78
- package/dist/o_spreadsheet.iife.min.js +24 -26
- package/dist/o_spreadsheet.xml +4 -4
- package/package.json +7 -2
- package/dist/o_spreadsheet.cjs.js +0 -79583
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.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.42
|
|
6
|
+
* @date 2026-07-13T06:28:59.983Z
|
|
7
|
+
* @hash 74cadf3
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 1200px) {
|
|
@@ -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.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.42
|
|
6
|
+
* @date 2026-07-13T06:28:58.351Z
|
|
7
|
+
* @hash 74cadf3
|
|
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";
|
|
@@ -213,7 +213,7 @@ const GRAY_300 = "#D8DADD";
|
|
|
213
213
|
const GRAY_200 = "#E7E9ED";
|
|
214
214
|
const GRAY_100 = "#F9FAFB";
|
|
215
215
|
const TEXT_BODY = "#374151";
|
|
216
|
-
const TEXT_BODY_MUTED =
|
|
216
|
+
const TEXT_BODY_MUTED = "#374151C2";
|
|
217
217
|
const TEXT_HEADING = "#111827";
|
|
218
218
|
const PRIMARY_BUTTON_BG = "#714B67";
|
|
219
219
|
const PRIMARY_BUTTON_HOVER_BG = "#624159";
|
|
@@ -321,9 +321,6 @@ const COLOR_PICKER_DEFAULTS = [
|
|
|
321
321
|
];
|
|
322
322
|
const DEFAULT_CELL_HEIGHT = 23;
|
|
323
323
|
const FOOTER_HEIGHT = 2 * 23;
|
|
324
|
-
const MENU_SEPARATOR_BORDER_WIDTH = 1;
|
|
325
|
-
const MENU_SEPARATOR_PADDING = 5;
|
|
326
|
-
const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
|
|
327
324
|
const DEFAULT_STYLE = {
|
|
328
325
|
align: "left",
|
|
329
326
|
verticalAlign: "bottom",
|
|
@@ -343,7 +340,7 @@ const DEFAULT_NUMBER_STYLE = {
|
|
|
343
340
|
const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
|
|
344
341
|
const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
|
|
345
342
|
const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
|
|
346
|
-
const DEFAULT_FONT = "'Roboto', arial";
|
|
343
|
+
const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
|
|
347
344
|
const DEFAULT_BORDER_DESC = {
|
|
348
345
|
style: "thin",
|
|
349
346
|
color: "#000000"
|
|
@@ -1672,7 +1669,7 @@ function isPositionDependent(cmd) {
|
|
|
1672
1669
|
function isZoneDependent(cmd) {
|
|
1673
1670
|
return "sheetId" in cmd && "zone" in cmd;
|
|
1674
1671
|
}
|
|
1675
|
-
const invalidateEvaluationCommands = new Set([
|
|
1672
|
+
const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1676
1673
|
"RENAME_SHEET",
|
|
1677
1674
|
"DELETE_SHEET",
|
|
1678
1675
|
"CREATE_SHEET",
|
|
@@ -1691,7 +1688,7 @@ const invalidateEvaluationCommands = new Set([
|
|
|
1691
1688
|
"REMOVE_PIVOT",
|
|
1692
1689
|
"DUPLICATE_PIVOT"
|
|
1693
1690
|
]);
|
|
1694
|
-
const invalidateChartEvaluationCommands = new Set([
|
|
1691
|
+
const invalidateChartEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1695
1692
|
"EVALUATE_CELLS",
|
|
1696
1693
|
"EVALUATE_CHARTS",
|
|
1697
1694
|
"UPDATE_CELL",
|
|
@@ -1710,20 +1707,20 @@ const invalidateChartEvaluationCommands = new Set([
|
|
|
1710
1707
|
"UNDO",
|
|
1711
1708
|
"REDO"
|
|
1712
1709
|
]);
|
|
1713
|
-
const invalidateDependenciesCommands = new Set(["MOVE_RANGES"]);
|
|
1714
|
-
const invalidateCFEvaluationCommands = new Set([
|
|
1710
|
+
const invalidateDependenciesCommands = /* @__PURE__ */ new Set(["MOVE_RANGES"]);
|
|
1711
|
+
const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1715
1712
|
"EVALUATE_CELLS",
|
|
1716
1713
|
"ADD_CONDITIONAL_FORMAT",
|
|
1717
1714
|
"REMOVE_CONDITIONAL_FORMAT",
|
|
1718
1715
|
"CHANGE_CONDITIONAL_FORMAT_PRIORITY"
|
|
1719
1716
|
]);
|
|
1720
|
-
const invalidateBordersCommands = new Set([
|
|
1717
|
+
const invalidateBordersCommands = /* @__PURE__ */ new Set([
|
|
1721
1718
|
"AUTOFILL_CELL",
|
|
1722
1719
|
"SET_BORDER",
|
|
1723
1720
|
"SET_ZONE_BORDERS",
|
|
1724
1721
|
"SET_BORDERS_ON_TARGET"
|
|
1725
1722
|
]);
|
|
1726
|
-
const invalidSubtotalFormulasCommands = new Set([
|
|
1723
|
+
const invalidSubtotalFormulasCommands = /* @__PURE__ */ new Set([
|
|
1727
1724
|
"UNHIDE_COLUMNS_ROWS",
|
|
1728
1725
|
"HIDE_COLUMNS_ROWS",
|
|
1729
1726
|
"GROUP_HEADERS",
|
|
@@ -1737,7 +1734,7 @@ const invalidSubtotalFormulasCommands = new Set([
|
|
|
1737
1734
|
"UPDATE_TABLE",
|
|
1738
1735
|
"UPDATE_FILTER"
|
|
1739
1736
|
]);
|
|
1740
|
-
const readonlyAllowedCommands = new Set([
|
|
1737
|
+
const readonlyAllowedCommands = /* @__PURE__ */ new Set([
|
|
1741
1738
|
"START",
|
|
1742
1739
|
"ACTIVATE_SHEET",
|
|
1743
1740
|
"COPY",
|
|
@@ -1751,7 +1748,7 @@ const readonlyAllowedCommands = new Set([
|
|
|
1751
1748
|
"UPDATE_CAROUSEL_ACTIVE_ITEM",
|
|
1752
1749
|
"UPDATE_PIVOT"
|
|
1753
1750
|
]);
|
|
1754
|
-
const coreTypes = new Set([
|
|
1751
|
+
const coreTypes = /* @__PURE__ */ new Set([
|
|
1755
1752
|
"UPDATE_CELL",
|
|
1756
1753
|
"UPDATE_CELL_POSITION",
|
|
1757
1754
|
"CLEAR_CELL",
|
|
@@ -1989,7 +1986,7 @@ let CommandResult = /* @__PURE__ */ function(CommandResult) {
|
|
|
1989
1986
|
|
|
1990
1987
|
//#endregion
|
|
1991
1988
|
//#region src/types/conditional_formatting.ts
|
|
1992
|
-
const availableConditionalFormatOperators = new Set([
|
|
1989
|
+
const availableConditionalFormatOperators = /* @__PURE__ */ new Set([
|
|
1993
1990
|
"containsText",
|
|
1994
1991
|
"notContainsText",
|
|
1995
1992
|
"isGreaterThan",
|
|
@@ -2009,7 +2006,7 @@ const availableConditionalFormatOperators = new Set([
|
|
|
2009
2006
|
|
|
2010
2007
|
//#endregion
|
|
2011
2008
|
//#region src/types/data_validation.ts
|
|
2012
|
-
const availableDataValidationOperators = new Set([
|
|
2009
|
+
const availableDataValidationOperators = /* @__PURE__ */ new Set([
|
|
2013
2010
|
"containsText",
|
|
2014
2011
|
"notContainsText",
|
|
2015
2012
|
"isEqualText",
|
|
@@ -2734,12 +2731,10 @@ const getNumberRegex = memoize(function getNumberRegex(locale) {
|
|
|
2734
2731
|
const pIntegerAndDecimals = `(?:\\d+(?:${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(?:${decimalSeparator}\\d*)?)`;
|
|
2735
2732
|
const pOnlyDecimals = `(?:${decimalSeparator}\\d+)`;
|
|
2736
2733
|
const pNumber = "(?:\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(?:e(?:\\+|-)?\\d+)?(?:\\s*%)?";
|
|
2737
|
-
const pMinus = "(?:\\s*-)?";
|
|
2738
|
-
const pCurrencyFormat = "(?:\\s*[\\$€])?";
|
|
2739
2734
|
const pNumberExp = "^(?:(?:" + [
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2735
|
+
"(?:\\s*-)?(?:\\s*[\\$€])?" + pNumber,
|
|
2736
|
+
"(?:\\s*-)?" + pNumber + "(?:\\s*[\\$€])?",
|
|
2737
|
+
"(?:\\s*[\\$€])?(?:\\s*-)?" + pNumber
|
|
2743
2738
|
].join(")|(?:") + "))$";
|
|
2744
2739
|
return new RegExp(pNumberExp, "i");
|
|
2745
2740
|
});
|
|
@@ -4676,7 +4671,7 @@ function getDateCriterionFormattedValues(values, locale) {
|
|
|
4676
4671
|
function recomputeZones(zones, zonesToRemove = []) {
|
|
4677
4672
|
if (zones.length <= 1 && zonesToRemove.length === 0) return zones;
|
|
4678
4673
|
const profilesStartingPosition = [0];
|
|
4679
|
-
const profiles = new Map([[0, []]]);
|
|
4674
|
+
const profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
4680
4675
|
modifyProfiles(profilesStartingPosition, profiles, zones, false);
|
|
4681
4676
|
modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
|
|
4682
4677
|
return constructZonesFromProfiles(profilesStartingPosition, profiles);
|
|
@@ -5464,7 +5459,6 @@ function getCanonicalRepresentation(item) {
|
|
|
5464
5459
|
//#region src/helpers/edge_scrolling.ts
|
|
5465
5460
|
const MAX_DELAY = 140;
|
|
5466
5461
|
const MIN_DELAY = 20;
|
|
5467
|
-
const ACCELERATION = .035;
|
|
5468
5462
|
/**
|
|
5469
5463
|
* Decreasing exponential function used to determine the "speed" of edge-scrolling
|
|
5470
5464
|
* as the timeout delay.
|
|
@@ -5472,7 +5466,7 @@ const ACCELERATION = .035;
|
|
|
5472
5466
|
* Returns a timeout delay in milliseconds.
|
|
5473
5467
|
*/
|
|
5474
5468
|
function scrollDelay(value) {
|
|
5475
|
-
return 20 + (140 - 20) * Math.exp(
|
|
5469
|
+
return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
|
|
5476
5470
|
}
|
|
5477
5471
|
|
|
5478
5472
|
//#endregion
|
|
@@ -6313,7 +6307,7 @@ var UuidGenerator = class {
|
|
|
6313
6307
|
smallUuid() {
|
|
6314
6308
|
if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
|
|
6315
6309
|
const n = Number(c);
|
|
6316
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6310
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6317
6311
|
});
|
|
6318
6312
|
else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
|
|
6319
6313
|
const r = Math.random() * 16 | 0;
|
|
@@ -6327,7 +6321,7 @@ var UuidGenerator = class {
|
|
|
6327
6321
|
uuidv4() {
|
|
6328
6322
|
if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
|
|
6329
6323
|
const n = Number(c);
|
|
6330
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6324
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6331
6325
|
});
|
|
6332
6326
|
else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
6333
6327
|
const r = Math.random() * 16 | 0;
|
|
@@ -7878,10 +7872,10 @@ function toNormalizedPivotValue(dimension, groupValue) {
|
|
|
7878
7872
|
type: dimension.type
|
|
7879
7873
|
}));
|
|
7880
7874
|
if (groupValueString.toLowerCase() === "false") return false;
|
|
7881
|
-
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension
|
|
7875
|
+
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension);
|
|
7882
7876
|
}
|
|
7883
|
-
function normalizeDateTime(value,
|
|
7884
|
-
return pivotTimeAdapter(granularity ?? "month").normalizeFunctionValue(value);
|
|
7877
|
+
function normalizeDateTime(value, dimension) {
|
|
7878
|
+
return pivotTimeAdapter(dimension.granularity ?? "month").normalizeFunctionValue(value);
|
|
7885
7879
|
}
|
|
7886
7880
|
function toFunctionPivotValue(value, dimension) {
|
|
7887
7881
|
if (value === null) return `"null"`;
|
|
@@ -23511,9 +23505,7 @@ var ZoomableChartJsComponent = class extends ChartJsComponent {
|
|
|
23511
23505
|
this.removeEventListeners();
|
|
23512
23506
|
}
|
|
23513
23507
|
get containerStyle() {
|
|
23514
|
-
return `
|
|
23515
|
-
height:${this.sliceable ? `calc(100% - ${60}px)` : "100%"};
|
|
23516
|
-
`;
|
|
23508
|
+
return cssPropertiesToCss({ height: this.sliceable ? `calc(100% - ${60}px)` : "100%" });
|
|
23517
23509
|
}
|
|
23518
23510
|
get masterChartContainerStyle() {
|
|
23519
23511
|
const runtime = this.env.model.getters.getChartRuntime(this.props.chartId);
|
|
@@ -28189,11 +28181,11 @@ var FigureComponent = class extends Component {
|
|
|
28189
28181
|
getResizerPosition(resizer) {
|
|
28190
28182
|
const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
|
|
28191
28183
|
const style = {};
|
|
28192
|
-
if (resizer.includes("top")) style.top =
|
|
28193
|
-
else if (resizer.includes("bottom")) style.bottom =
|
|
28184
|
+
if (resizer.includes("top")) style.top = `-3px`;
|
|
28185
|
+
else if (resizer.includes("bottom")) style.bottom = `-3px`;
|
|
28194
28186
|
else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
28195
|
-
if (resizer.includes("left")) style.left =
|
|
28196
|
-
else if (resizer.includes("right")) style.right =
|
|
28187
|
+
if (resizer.includes("left")) style.left = `-3px`;
|
|
28188
|
+
else if (resizer.includes("right")) style.right = `-3px`;
|
|
28197
28189
|
else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
28198
28190
|
return cssPropertiesToCss(style);
|
|
28199
28191
|
}
|
|
@@ -31104,11 +31096,10 @@ function startDnd(onPointerMove, onPointerUp) {
|
|
|
31104
31096
|
const LINE_VERTICAL_PADDING = 1;
|
|
31105
31097
|
const PICKER_PADDING = 8;
|
|
31106
31098
|
const ITEM_BORDER_WIDTH = 1;
|
|
31107
|
-
const ITEM_EDGE_LENGTH = 18;
|
|
31108
31099
|
const ITEMS_PER_LINE = 10;
|
|
31109
31100
|
const MAGNIFIER_EDGE = 16;
|
|
31110
31101
|
const ITEM_GAP = 2;
|
|
31111
|
-
const CONTENT_WIDTH =
|
|
31102
|
+
const CONTENT_WIDTH = 218;
|
|
31112
31103
|
const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
|
|
31113
31104
|
const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
|
|
31114
31105
|
css`
|
|
@@ -31120,7 +31111,7 @@ css`
|
|
|
31120
31111
|
line-height: 1.2;
|
|
31121
31112
|
overflow-y: auto;
|
|
31122
31113
|
overflow-x: hidden;
|
|
31123
|
-
width: ${
|
|
31114
|
+
width: ${234}px;
|
|
31124
31115
|
|
|
31125
31116
|
.o-color-picker-section-name {
|
|
31126
31117
|
margin: 0px ${ITEM_BORDER_WIDTH}px;
|
|
@@ -31146,8 +31137,8 @@ css`
|
|
|
31146
31137
|
}
|
|
31147
31138
|
}
|
|
31148
31139
|
.o-color-picker-line-item {
|
|
31149
|
-
width: ${
|
|
31150
|
-
height: ${
|
|
31140
|
+
width: ${20}px;
|
|
31141
|
+
height: ${20}px;
|
|
31151
31142
|
margin: 0px;
|
|
31152
31143
|
border-radius: 50px;
|
|
31153
31144
|
border: ${ITEM_BORDER_WIDTH}px solid #666666;
|
|
@@ -31191,13 +31182,13 @@ css`
|
|
|
31191
31182
|
}
|
|
31192
31183
|
|
|
31193
31184
|
.o-custom-selector {
|
|
31194
|
-
padding: ${
|
|
31185
|
+
padding: ${10}px ${PICKER_PADDING}px;
|
|
31195
31186
|
position: relative;
|
|
31196
31187
|
.o-gradient {
|
|
31197
31188
|
margin-bottom: ${MAGNIFIER_EDGE / 2}px;
|
|
31198
31189
|
border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
|
|
31199
|
-
width: ${
|
|
31200
|
-
height: ${
|
|
31190
|
+
width: ${218}px;
|
|
31191
|
+
height: ${188}px;
|
|
31201
31192
|
position: relative;
|
|
31202
31193
|
}
|
|
31203
31194
|
|
|
@@ -31335,8 +31326,8 @@ var ColorPicker = class extends Component {
|
|
|
31335
31326
|
const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
|
|
31336
31327
|
const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
|
|
31337
31328
|
return cssPropertiesToCss({
|
|
31338
|
-
left: `${-
|
|
31339
|
-
top: `${-
|
|
31329
|
+
left: `${-16 / 2 + left}px`,
|
|
31330
|
+
top: `${-16 / 2 + top}px`,
|
|
31340
31331
|
background: hslaToHex(this.state.currentHslaColor)
|
|
31341
31332
|
});
|
|
31342
31333
|
}
|
|
@@ -33521,17 +33512,16 @@ linkMenuRegistry.add("sheet", {
|
|
|
33521
33512
|
|
|
33522
33513
|
//#endregion
|
|
33523
33514
|
//#region src/components/link/link_editor/link_editor.ts
|
|
33524
|
-
const PADDING = 12;
|
|
33525
33515
|
css`
|
|
33526
33516
|
.o-link-editor {
|
|
33527
33517
|
font-size: 13px;
|
|
33528
33518
|
background-color: white;
|
|
33529
33519
|
box-shadow: 0 1px 4px 3px rgba(60, 64, 67, 0.15);
|
|
33530
|
-
padding: ${
|
|
33520
|
+
padding: ${12}px;
|
|
33531
33521
|
display: flex;
|
|
33532
33522
|
flex-direction: column;
|
|
33533
33523
|
border-radius: 4px;
|
|
33534
|
-
width: ${
|
|
33524
|
+
width: ${364}px;
|
|
33535
33525
|
|
|
33536
33526
|
.o-section {
|
|
33537
33527
|
.o-section-title {
|
|
@@ -43224,7 +43214,8 @@ var Autofill = class extends Component {
|
|
|
43224
43214
|
const { left, top } = this.state.handler ? this.state.position : this.props.position;
|
|
43225
43215
|
return cssPropertiesToCss({
|
|
43226
43216
|
top: `${top}px`,
|
|
43227
|
-
left: `${left}px
|
|
43217
|
+
left: `${left}px`,
|
|
43218
|
+
visibility: this.props.isVisible ? "visible" : "hidden"
|
|
43228
43219
|
});
|
|
43229
43220
|
}
|
|
43230
43221
|
get styleNextValue() {
|
|
@@ -55114,7 +55105,7 @@ var Grid = class extends Component {
|
|
|
55114
55105
|
ev.preventDefault();
|
|
55115
55106
|
const clipboardData = ev.clipboardData;
|
|
55116
55107
|
if (!clipboardData) return;
|
|
55117
|
-
const image = [...clipboardData.files]
|
|
55108
|
+
const image = [...clipboardData.files].find((file) => AllowedImageMimeTypes.includes(file.type));
|
|
55118
55109
|
const osClipboard = { content: {
|
|
55119
55110
|
["text/plain"]: clipboardData?.getData("text/plain"),
|
|
55120
55111
|
["text/html"]: clipboardData?.getData("text/html")
|
|
@@ -61059,7 +61050,7 @@ var ZoneRBush = class extends import_rbush_min.default {
|
|
|
61059
61050
|
//#region src/plugins/ui_core_views/cell_evaluation/zone_set.ts
|
|
61060
61051
|
var ZoneSet = class ZoneSet {
|
|
61061
61052
|
profilesStartingPosition = [0];
|
|
61062
|
-
profiles = new Map([[0, []]]);
|
|
61053
|
+
profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
61063
61054
|
constructor(zones = []) {
|
|
61064
61055
|
for (const zone of zones) this.add(zone);
|
|
61065
61056
|
}
|
|
@@ -62228,12 +62219,22 @@ var CustomColorsPlugin = class extends CoreViewPlugin {
|
|
|
62228
62219
|
handle(cmd) {
|
|
62229
62220
|
switch (cmd.type) {
|
|
62230
62221
|
case "START":
|
|
62231
|
-
for (const sheetId of this.getters.getSheetIds())
|
|
62222
|
+
for (const sheetId of this.getters.getSheetIds()) {
|
|
62223
|
+
for (const chartId of this.getters.getChartIds(sheetId)) this.tryToAddColors(this.getChartColors(chartId));
|
|
62224
|
+
for (const figureId of this.getters.getFigures(sheetId)) this.tryToAddColors(this.getCarouselColors(sheetId, figureId.id));
|
|
62225
|
+
}
|
|
62232
62226
|
break;
|
|
62233
62227
|
case "UPDATE_CHART":
|
|
62234
62228
|
case "CREATE_CHART":
|
|
62235
62229
|
this.tryToAddColors(this.getChartColors(cmd.chartId));
|
|
62236
62230
|
break;
|
|
62231
|
+
case "CREATE_CAROUSEL":
|
|
62232
|
+
case "UPDATE_CAROUSEL":
|
|
62233
|
+
this.tryToAddColors(this.getCarouselColors(cmd.sheetId, cmd.figureId));
|
|
62234
|
+
break;
|
|
62235
|
+
case "COLOR_SHEET":
|
|
62236
|
+
if (cmd.color) this.tryToAddColors([cmd.color]);
|
|
62237
|
+
break;
|
|
62237
62238
|
case "UPDATE_CELL":
|
|
62238
62239
|
case "ADD_CONDITIONAL_FORMAT":
|
|
62239
62240
|
case "SET_BORDER":
|
|
@@ -62256,8 +62257,12 @@ var CustomColorsPlugin = class extends CoreViewPlugin {
|
|
|
62256
62257
|
}
|
|
62257
62258
|
computeCustomColors() {
|
|
62258
62259
|
let usedColors = [];
|
|
62259
|
-
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
62260
|
-
return [
|
|
62260
|
+
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getSheetColors(sheetId), this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
62261
|
+
return [.../* @__PURE__ */ new Set([...usedColors])];
|
|
62262
|
+
}
|
|
62263
|
+
getSheetColors(sheetId) {
|
|
62264
|
+
const sheet = this.getters.getSheet(sheetId);
|
|
62265
|
+
return sheet.color ? [sheet.color] : [];
|
|
62261
62266
|
}
|
|
62262
62267
|
getColorsFromCells(sheetId) {
|
|
62263
62268
|
const cells = Object.values(this.getters.getCells(sheetId));
|
|
@@ -62290,6 +62295,11 @@ var CustomColorsPlugin = class extends CoreViewPlugin {
|
|
|
62290
62295
|
if (chart === void 0) return [];
|
|
62291
62296
|
return [...JSON.stringify(chart.getDefinition()).matchAll(chartColorRegex)].map((color) => color[1]);
|
|
62292
62297
|
}
|
|
62298
|
+
getCarouselColors(sheetId, figureId) {
|
|
62299
|
+
if (this.getters.getFigure(sheetId, figureId)?.tag !== "carousel") return [];
|
|
62300
|
+
const titleColor = this.getters.getCarousel(figureId).title?.color;
|
|
62301
|
+
return titleColor ? [titleColor] : [];
|
|
62302
|
+
}
|
|
62293
62303
|
getTableColors(sheetId) {
|
|
62294
62304
|
return this.getters.getTables(sheetId).flatMap((table) => {
|
|
62295
62305
|
const config = table.config;
|
|
@@ -62592,13 +62602,13 @@ var EvaluationConditionalFormatPlugin = class extends CoreViewPlugin {
|
|
|
62592
62602
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
62593
62603
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
62594
62604
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
62595
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
62605
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
62596
62606
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
62597
62607
|
const colorThresholds = [{
|
|
62598
62608
|
value: minValue,
|
|
62599
62609
|
color: rule.minimum.color
|
|
62600
62610
|
}];
|
|
62601
|
-
if (rule.midpoint && midValue) colorThresholds.push({
|
|
62611
|
+
if (rule.midpoint && midValue !== null) colorThresholds.push({
|
|
62602
62612
|
value: midValue,
|
|
62603
62613
|
color: rule.midpoint.color
|
|
62604
62614
|
});
|
|
@@ -67271,7 +67281,7 @@ var TableComputedStylePlugin = class extends UIPlugin {
|
|
|
67271
67281
|
};
|
|
67272
67282
|
}
|
|
67273
67283
|
};
|
|
67274
|
-
const invalidateTableStyleCommandsSet = new Set([
|
|
67284
|
+
const invalidateTableStyleCommandsSet = /* @__PURE__ */ new Set([
|
|
67275
67285
|
"HIDE_COLUMNS_ROWS",
|
|
67276
67286
|
"UNHIDE_COLUMNS_ROWS",
|
|
67277
67287
|
"UNFOLD_HEADER_GROUP",
|
|
@@ -69550,14 +69560,14 @@ var InternalViewport = class {
|
|
|
69550
69560
|
adjustPositionX(targetCol) {
|
|
69551
69561
|
const sheetId = this.sheetId;
|
|
69552
69562
|
const { start, end } = this.getters.getColDimensions(sheetId, targetCol);
|
|
69553
|
-
if (this.offsetX + this.viewportWidth + this.offsetCorrectionX < end) this.offsetX = end - this.viewportWidth;
|
|
69563
|
+
if (this.offsetX + this.viewportWidth + this.offsetCorrectionX < end) this.offsetX = end - this.viewportWidth - this.offsetCorrectionX;
|
|
69554
69564
|
else if (this.offsetX + this.offsetCorrectionX > start) this.offsetX = start - this.offsetCorrectionX;
|
|
69555
69565
|
this.adjustViewportZoneX();
|
|
69556
69566
|
}
|
|
69557
69567
|
adjustPositionY(targetRow) {
|
|
69558
69568
|
const sheetId = this.sheetId;
|
|
69559
69569
|
const { start, end } = this.getters.getRowDimensions(sheetId, targetRow);
|
|
69560
|
-
if (this.offsetY + this.viewportHeight + this.offsetCorrectionY < end) this.offsetY = end - this.viewportHeight;
|
|
69570
|
+
if (this.offsetY + this.viewportHeight + this.offsetCorrectionY < end) this.offsetY = end - this.viewportHeight - this.offsetCorrectionY;
|
|
69561
69571
|
else if (this.offsetY + this.offsetCorrectionY > start) this.offsetY = start - this.offsetCorrectionY;
|
|
69562
69572
|
this.adjustViewportZoneY();
|
|
69563
69573
|
}
|
|
@@ -72171,11 +72181,14 @@ var BottomBarSheet = class extends Component {
|
|
|
72171
72181
|
}
|
|
72172
72182
|
});
|
|
72173
72183
|
this.DOMFocusableElementStore = useStore(DOMFocusableElementStore);
|
|
72174
|
-
useExternalListener(window, "click", ()
|
|
72184
|
+
useExternalListener(window, "click", this.onExternalClick.bind(this), { capture: true });
|
|
72175
72185
|
useEffect((sheetId) => {
|
|
72176
72186
|
if (this.props.sheetId === sheetId) this.scrollToSheet();
|
|
72177
72187
|
}, () => [this.env.model.getters.getActiveSheetId()]);
|
|
72178
72188
|
}
|
|
72189
|
+
onExternalClick(ev) {
|
|
72190
|
+
if (!ev.target.closest(".o-color-picker")) this.state.pickerOpened = false;
|
|
72191
|
+
}
|
|
72179
72192
|
focusInputAndSelectContent() {
|
|
72180
72193
|
if (!this.state.isEditing || !this.sheetNameRef.el) return;
|
|
72181
72194
|
this.sheetNameRef.el.focus();
|
|
@@ -72277,6 +72290,8 @@ var BottomBarSheet = class extends Component {
|
|
|
72277
72290
|
},
|
|
72278
72291
|
openSheetColorPickerCallback: () => {
|
|
72279
72292
|
this.state.pickerOpened = true;
|
|
72293
|
+
const sheet = this.env.model.getters.getSheet(this.props.sheetId);
|
|
72294
|
+
this.state.currentPickerColor = sheet.color;
|
|
72280
72295
|
}
|
|
72281
72296
|
});
|
|
72282
72297
|
}
|
|
@@ -76836,11 +76851,11 @@ function addBarChart(chart) {
|
|
|
76836
76851
|
<!-- each data marker in the series does not have a different color -->
|
|
76837
76852
|
<c:varyColors val="0"/>
|
|
76838
76853
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
76839
|
-
<c:axId val="${
|
|
76840
|
-
<c:axId val="${
|
|
76854
|
+
<c:axId val="${17781238}" />
|
|
76855
|
+
<c:axId val="${88853994}" />
|
|
76841
76856
|
</c:barChart>
|
|
76842
|
-
${addAx("b", "c:catAx",
|
|
76843
|
-
${addAx("r", "c:valAx",
|
|
76857
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
76858
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
76844
76859
|
` : ""}`;
|
|
76845
76860
|
}
|
|
76846
76861
|
function addComboChart(chart) {
|
|
@@ -77078,11 +77093,11 @@ function addLineChart(chart) {
|
|
|
77078
77093
|
<!-- each data marker in the series does not have a different color -->
|
|
77079
77094
|
<c:varyColors val="0"/>
|
|
77080
77095
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
77081
|
-
<c:axId val="${
|
|
77082
|
-
<c:axId val="${
|
|
77096
|
+
<c:axId val="${17781238}" />
|
|
77097
|
+
<c:axId val="${88853994}" />
|
|
77083
77098
|
</c:lineChart>
|
|
77084
|
-
${addAx("b", "c:catAx",
|
|
77085
|
-
${addAx("r", "c:valAx",
|
|
77099
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
77100
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
77086
77101
|
` : ""}
|
|
77087
77102
|
`;
|
|
77088
77103
|
}
|
|
@@ -77145,11 +77160,11 @@ function addScatterChart(chart) {
|
|
|
77145
77160
|
<c:varyColors val="0"/>
|
|
77146
77161
|
<c:scatterStyle val="lineMarker"/>
|
|
77147
77162
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
77148
|
-
<c:axId val="${
|
|
77149
|
-
<c:axId val="${
|
|
77163
|
+
<c:axId val="${17781238}" />
|
|
77164
|
+
<c:axId val="${88853994}" />
|
|
77150
77165
|
</c:scatterChart>
|
|
77151
|
-
${addAx("b", "c:valAx",
|
|
77152
|
-
${addAx("r", "c:valAx",
|
|
77166
|
+
${addAx("b", "c:valAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
77167
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
77153
77168
|
` : ""}`;
|
|
77154
77169
|
}
|
|
77155
77170
|
function addRadarChart(chart) {
|
|
@@ -79342,6 +79357,6 @@ const chartHelpers = {
|
|
|
79342
79357
|
//#endregion
|
|
79343
79358
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
79344
79359
|
|
|
79345
|
-
__info__.version = "19.0.
|
|
79346
|
-
__info__.date = "2026-
|
|
79347
|
-
__info__.hash = "
|
|
79360
|
+
__info__.version = "19.0.42";
|
|
79361
|
+
__info__.date = "2026-07-13T06:28:58.351Z";
|
|
79362
|
+
__info__.hash = "74cadf3";
|