@odoo/o-spreadsheet 17.0.100 → 17.0.102
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.esm.js +36 -42
- package/dist/o-spreadsheet.iife.js +36 -42
- package/dist/o-spreadsheet.iife.min.js +7 -7
- package/dist/o_spreadsheet.xml +3 -3
- package/dist/types/constants.d.ts +1 -1
- package/package.json +7 -2
- package/dist/o-spreadsheet.cjs.js +0 -51101
|
@@ -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 17.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.102
|
|
6
|
+
* @date 2026-07-13T06:25:27.371Z
|
|
7
|
+
* @hash 209fe7c
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Component, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, useChildSubEnv, useComponent, useEffect, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
|
|
@@ -258,9 +258,6 @@ const COLOR_PICKER_DEFAULTS = [
|
|
|
258
258
|
];
|
|
259
259
|
const DEFAULT_CELL_HEIGHT = 23;
|
|
260
260
|
const FOOTER_HEIGHT = 2 * 23;
|
|
261
|
-
const MENU_SEPARATOR_BORDER_WIDTH = 1;
|
|
262
|
-
const MENU_SEPARATOR_PADDING = 5;
|
|
263
|
-
const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
|
|
264
261
|
const DEFAULT_STYLE = {
|
|
265
262
|
align: "left",
|
|
266
263
|
verticalAlign: "bottom",
|
|
@@ -280,7 +277,7 @@ const DEFAULT_NUMBER_STYLE = {
|
|
|
280
277
|
const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
|
|
281
278
|
const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
|
|
282
279
|
const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
|
|
283
|
-
const DEFAULT_FONT = "'Roboto', arial";
|
|
280
|
+
const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
|
|
284
281
|
const DEFAULT_BORDER_DESC = {
|
|
285
282
|
style: "thin",
|
|
286
283
|
color: "#000000"
|
|
@@ -1593,12 +1590,10 @@ const getNumberRegex = memoize(function getNumberRegex(locale) {
|
|
|
1593
1590
|
const pIntegerAndDecimals = `(\\d+(${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(${decimalSeparator}\\d*)?)`;
|
|
1594
1591
|
const pOnlyDecimals = `(${decimalSeparator}\\d+)`;
|
|
1595
1592
|
const pNumber = "(\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(e(\\+|-)?\\d+)?(\\s*%)?";
|
|
1596
|
-
const pMinus = "(\\s*-)?";
|
|
1597
|
-
const pCurrencyFormat = "(\\s*[\\$€])?";
|
|
1598
1593
|
const pNumberExp = "^((" + [
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1594
|
+
"(\\s*-)?(\\s*[\\$€])?" + pNumber,
|
|
1595
|
+
"(\\s*-)?" + pNumber + "(\\s*[\\$€])?",
|
|
1596
|
+
"(\\s*[\\$€])?(\\s*-)?" + pNumber
|
|
1602
1597
|
].join(")|(") + "))$";
|
|
1603
1598
|
return new RegExp(pNumberExp, "i");
|
|
1604
1599
|
});
|
|
@@ -1661,7 +1656,7 @@ function isPositionDependent(cmd) {
|
|
|
1661
1656
|
function isZoneDependent(cmd) {
|
|
1662
1657
|
return "sheetId" in cmd && "zone" in cmd;
|
|
1663
1658
|
}
|
|
1664
|
-
const invalidateEvaluationCommands = new Set([
|
|
1659
|
+
const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1665
1660
|
"RENAME_SHEET",
|
|
1666
1661
|
"DELETE_SHEET",
|
|
1667
1662
|
"CREATE_SHEET",
|
|
@@ -1673,15 +1668,15 @@ const invalidateEvaluationCommands = new Set([
|
|
|
1673
1668
|
"DUPLICATE_SHEET",
|
|
1674
1669
|
"UPDATE_LOCALE"
|
|
1675
1670
|
]);
|
|
1676
|
-
const invalidateDependenciesCommands = new Set([...invalidateEvaluationCommands, "MOVE_RANGES"]);
|
|
1677
|
-
const invalidateCFEvaluationCommands = new Set([
|
|
1671
|
+
const invalidateDependenciesCommands = /* @__PURE__ */ new Set([...invalidateEvaluationCommands, "MOVE_RANGES"]);
|
|
1672
|
+
const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1678
1673
|
...invalidateEvaluationCommands,
|
|
1679
1674
|
"EVALUATE_CELLS",
|
|
1680
1675
|
"ADD_CONDITIONAL_FORMAT",
|
|
1681
1676
|
"REMOVE_CONDITIONAL_FORMAT",
|
|
1682
1677
|
"CHANGE_CONDITIONAL_FORMAT_PRIORITY"
|
|
1683
1678
|
]);
|
|
1684
|
-
const readonlyAllowedCommands = new Set([
|
|
1679
|
+
const readonlyAllowedCommands = /* @__PURE__ */ new Set([
|
|
1685
1680
|
"START",
|
|
1686
1681
|
"ACTIVATE_SHEET",
|
|
1687
1682
|
"COPY",
|
|
@@ -1698,7 +1693,7 @@ const readonlyAllowedCommands = new Set([
|
|
|
1698
1693
|
"CLOSE_CELL_POPOVER",
|
|
1699
1694
|
"UPDATE_FILTER"
|
|
1700
1695
|
]);
|
|
1701
|
-
const coreTypes = new Set([
|
|
1696
|
+
const coreTypes = /* @__PURE__ */ new Set([
|
|
1702
1697
|
"UPDATE_CELL",
|
|
1703
1698
|
"UPDATE_CELL_POSITION",
|
|
1704
1699
|
"CLEAR_CELL",
|
|
@@ -2440,7 +2435,6 @@ function getCriterionValuesAsNumber(criterion, locale) {
|
|
|
2440
2435
|
//#region src/helpers/edge_scrolling.ts
|
|
2441
2436
|
const MAX_DELAY = 140;
|
|
2442
2437
|
const MIN_DELAY = 20;
|
|
2443
|
-
const ACCELERATION = .035;
|
|
2444
2438
|
/**
|
|
2445
2439
|
* Decreasing exponential function used to determine the "speed" of edge-scrolling
|
|
2446
2440
|
* as the timeout delay.
|
|
@@ -2448,7 +2442,7 @@ const ACCELERATION = .035;
|
|
|
2448
2442
|
* Returns a timeout delay in milliseconds.
|
|
2449
2443
|
*/
|
|
2450
2444
|
function scrollDelay(value) {
|
|
2451
|
-
return 20 + (140 - 20) * Math.exp(
|
|
2445
|
+
return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
|
|
2452
2446
|
}
|
|
2453
2447
|
|
|
2454
2448
|
//#endregion
|
|
@@ -2669,7 +2663,7 @@ function isDateTimeFormat(format) {
|
|
|
2669
2663
|
return false;
|
|
2670
2664
|
}
|
|
2671
2665
|
}
|
|
2672
|
-
const allowedDateTimeFormatFirstChar = new Set([
|
|
2666
|
+
const allowedDateTimeFormatFirstChar = /* @__PURE__ */ new Set([
|
|
2673
2667
|
"h",
|
|
2674
2668
|
"m",
|
|
2675
2669
|
"y",
|
|
@@ -4257,7 +4251,7 @@ var UuidGenerator = class {
|
|
|
4257
4251
|
return String(this.fastIdStart);
|
|
4258
4252
|
} else if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
|
|
4259
4253
|
const n = Number(c);
|
|
4260
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4254
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4261
4255
|
});
|
|
4262
4256
|
else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
|
|
4263
4257
|
var r = Math.random() * 16 | 0;
|
|
@@ -4274,7 +4268,7 @@ var UuidGenerator = class {
|
|
|
4274
4268
|
return String(this.fastIdStart);
|
|
4275
4269
|
} else if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
|
|
4276
4270
|
const n = Number(c);
|
|
4277
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4271
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4278
4272
|
});
|
|
4279
4273
|
else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
4280
4274
|
var r = Math.random() * 16 | 0;
|
|
@@ -18499,7 +18493,7 @@ const ITEM_EDGE_LENGTH = 18;
|
|
|
18499
18493
|
const ITEMS_PER_LINE = 10;
|
|
18500
18494
|
const MAGNIFIER_EDGE = 16;
|
|
18501
18495
|
const ITEM_GAP = 2;
|
|
18502
|
-
const CONTENT_WIDTH =
|
|
18496
|
+
const CONTENT_WIDTH = 218;
|
|
18503
18497
|
const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
|
|
18504
18498
|
const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
|
|
18505
18499
|
css`
|
|
@@ -18511,7 +18505,7 @@ css`
|
|
|
18511
18505
|
line-height: 1.2;
|
|
18512
18506
|
overflow-y: auto;
|
|
18513
18507
|
overflow-x: hidden;
|
|
18514
|
-
width: ${
|
|
18508
|
+
width: ${234}px;
|
|
18515
18509
|
|
|
18516
18510
|
.o-color-picker-section-name {
|
|
18517
18511
|
margin: 0px ${ITEM_BORDER_WIDTH}px;
|
|
@@ -18583,14 +18577,14 @@ css`
|
|
|
18583
18577
|
}
|
|
18584
18578
|
|
|
18585
18579
|
.o-custom-selector {
|
|
18586
|
-
padding: ${
|
|
18580
|
+
padding: ${10}px ${PICKER_PADDING}px;
|
|
18587
18581
|
position: relative;
|
|
18588
18582
|
.o-gradient {
|
|
18589
18583
|
margin-bottom: ${MAGNIFIER_EDGE / 2}px;
|
|
18590
18584
|
border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
|
|
18591
18585
|
box-sizing: border-box;
|
|
18592
|
-
width: ${
|
|
18593
|
-
height: ${
|
|
18586
|
+
width: ${218}px;
|
|
18587
|
+
height: ${188}px;
|
|
18594
18588
|
position: relative;
|
|
18595
18589
|
}
|
|
18596
18590
|
|
|
@@ -18715,8 +18709,8 @@ var ColorPicker = class extends Component {
|
|
|
18715
18709
|
const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
|
|
18716
18710
|
const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
|
|
18717
18711
|
return cssPropertiesToCss({
|
|
18718
|
-
left: `${-
|
|
18719
|
-
top: `${-
|
|
18712
|
+
left: `${-16 / 2 + left}px`,
|
|
18713
|
+
top: `${-16 / 2 + top}px`,
|
|
18720
18714
|
background: hslaToHex(this.state.currentHslaColor)
|
|
18721
18715
|
});
|
|
18722
18716
|
}
|
|
@@ -20383,7 +20377,7 @@ var CustomCurrencyPanel = class extends Component {
|
|
|
20383
20377
|
code
|
|
20384
20378
|
});
|
|
20385
20379
|
const roundedOppositeWithCode = roundFormat(simpleOppositeWithCode);
|
|
20386
|
-
return [
|
|
20380
|
+
return [.../* @__PURE__ */ new Set([
|
|
20387
20381
|
rounded,
|
|
20388
20382
|
simple,
|
|
20389
20383
|
roundedWithCode,
|
|
@@ -22126,11 +22120,11 @@ var FigureComponent = class extends Component {
|
|
|
22126
22120
|
getResizerPosition(resizer) {
|
|
22127
22121
|
const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
|
|
22128
22122
|
const style = {};
|
|
22129
|
-
if (resizer.includes("top")) style.top =
|
|
22130
|
-
else if (resizer.includes("bottom")) style.bottom =
|
|
22123
|
+
if (resizer.includes("top")) style.top = `-3px`;
|
|
22124
|
+
else if (resizer.includes("bottom")) style.bottom = `-3px`;
|
|
22131
22125
|
else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
22132
|
-
if (resizer.includes("left")) style.left =
|
|
22133
|
-
else if (resizer.includes("right")) style.right =
|
|
22126
|
+
if (resizer.includes("left")) style.left = `-3px`;
|
|
22127
|
+
else if (resizer.includes("right")) style.right = `-3px`;
|
|
22134
22128
|
else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
22135
22129
|
return cssPropertiesToCss(style);
|
|
22136
22130
|
}
|
|
@@ -32004,7 +31998,7 @@ var ChartPlugin = class extends CorePlugin {
|
|
|
32004
31998
|
*/
|
|
32005
31999
|
function futureRecomputeZones(zones, zonesToRemove = []) {
|
|
32006
32000
|
const profilesStartingPosition = [0];
|
|
32007
|
-
const profiles = new Map([[0, []]]);
|
|
32001
|
+
const profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
32008
32002
|
modifyProfiles(profilesStartingPosition, profiles, zones, false);
|
|
32009
32003
|
modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
|
|
32010
32004
|
return constructZonesFromProfiles(profilesStartingPosition, profiles);
|
|
@@ -36530,7 +36524,7 @@ var CustomColorsPlugin = class extends UIPlugin {
|
|
|
36530
36524
|
getCustomColors() {
|
|
36531
36525
|
let usedColors = [];
|
|
36532
36526
|
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getChartColors(sheetId));
|
|
36533
|
-
return sortWithClusters([...new Set([
|
|
36527
|
+
return sortWithClusters([...new Set([.../* @__PURE__ */ new Set([...usedColors, ...Object.keys(this.customColors)])].filter(isColorValid).map(toHex))]).filter((color) => !COLOR_PICKER_DEFAULTS.includes(color));
|
|
36534
36528
|
}
|
|
36535
36529
|
getColorsFromCells(sheetId) {
|
|
36536
36530
|
const cells = Object.values(this.getters.getCells(sheetId));
|
|
@@ -36818,10 +36812,10 @@ var EvaluationConditionalFormatPlugin = class extends UIPlugin {
|
|
|
36818
36812
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
36819
36813
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
36820
36814
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
36821
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
36815
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
36822
36816
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
36823
36817
|
const colorCellArgs = [];
|
|
36824
|
-
if (rule.midpoint && midValue) {
|
|
36818
|
+
if (rule.midpoint && midValue !== null) {
|
|
36825
36819
|
colorCellArgs.push({
|
|
36826
36820
|
minValue,
|
|
36827
36821
|
minColor: rule.minimum.color,
|
|
@@ -36846,7 +36840,7 @@ var EvaluationConditionalFormatPlugin = class extends UIPlugin {
|
|
|
36846
36840
|
if (cell.type === "number") {
|
|
36847
36841
|
const value = clip(cell.value, minValue, maxValue);
|
|
36848
36842
|
let color;
|
|
36849
|
-
if (colorCellArgs.length === 2 && midValue) color = value <= midValue ? this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit) : this.colorCell(value, colorCellArgs[1].minValue, colorCellArgs[1].minColor, colorCellArgs[1].colorDiffUnit);
|
|
36843
|
+
if (colorCellArgs.length === 2 && midValue !== null) color = value <= midValue ? this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit) : this.colorCell(value, colorCellArgs[1].minValue, colorCellArgs[1].minColor, colorCellArgs[1].colorDiffUnit);
|
|
36850
36844
|
else color = this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit);
|
|
36851
36845
|
if (!computedStyle[col]) computedStyle[col] = [];
|
|
36852
36846
|
computedStyle[col][row] = computedStyle[col]?.[row] || {};
|
|
@@ -50875,6 +50869,6 @@ const constants = { DEFAULT_LOCALE };
|
|
|
50875
50869
|
//#endregion
|
|
50876
50870
|
export { AbstractChart, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, tokenize };
|
|
50877
50871
|
|
|
50878
|
-
__info__.version = "17.0.
|
|
50879
|
-
__info__.date = "2026-
|
|
50880
|
-
__info__.hash = "
|
|
50872
|
+
__info__.version = "17.0.102";
|
|
50873
|
+
__info__.date = "2026-07-13T06:25:27.371Z";
|
|
50874
|
+
__info__.hash = "209fe7c";
|
|
@@ -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 17.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.102
|
|
6
|
+
* @date 2026-07-13T06:25:27.371Z
|
|
7
|
+
* @hash 209fe7c
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -260,9 +260,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
260
260
|
];
|
|
261
261
|
const DEFAULT_CELL_HEIGHT = 23;
|
|
262
262
|
const FOOTER_HEIGHT = 2 * 23;
|
|
263
|
-
const MENU_SEPARATOR_BORDER_WIDTH = 1;
|
|
264
|
-
const MENU_SEPARATOR_PADDING = 5;
|
|
265
|
-
const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
|
|
266
263
|
const DEFAULT_STYLE = {
|
|
267
264
|
align: "left",
|
|
268
265
|
verticalAlign: "bottom",
|
|
@@ -282,7 +279,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
282
279
|
const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
|
|
283
280
|
const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
|
|
284
281
|
const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
|
|
285
|
-
const DEFAULT_FONT = "'Roboto', arial";
|
|
282
|
+
const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
|
|
286
283
|
const DEFAULT_BORDER_DESC = {
|
|
287
284
|
style: "thin",
|
|
288
285
|
color: "#000000"
|
|
@@ -1595,12 +1592,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1595
1592
|
const pIntegerAndDecimals = `(\\d+(${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(${decimalSeparator}\\d*)?)`;
|
|
1596
1593
|
const pOnlyDecimals = `(${decimalSeparator}\\d+)`;
|
|
1597
1594
|
const pNumber = "(\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(e(\\+|-)?\\d+)?(\\s*%)?";
|
|
1598
|
-
const pMinus = "(\\s*-)?";
|
|
1599
|
-
const pCurrencyFormat = "(\\s*[\\$€])?";
|
|
1600
1595
|
const pNumberExp = "^((" + [
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1596
|
+
"(\\s*-)?(\\s*[\\$€])?" + pNumber,
|
|
1597
|
+
"(\\s*-)?" + pNumber + "(\\s*[\\$€])?",
|
|
1598
|
+
"(\\s*[\\$€])?(\\s*-)?" + pNumber
|
|
1604
1599
|
].join(")|(") + "))$";
|
|
1605
1600
|
return new RegExp(pNumberExp, "i");
|
|
1606
1601
|
});
|
|
@@ -1663,7 +1658,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1663
1658
|
function isZoneDependent(cmd) {
|
|
1664
1659
|
return "sheetId" in cmd && "zone" in cmd;
|
|
1665
1660
|
}
|
|
1666
|
-
const invalidateEvaluationCommands = new Set([
|
|
1661
|
+
const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1667
1662
|
"RENAME_SHEET",
|
|
1668
1663
|
"DELETE_SHEET",
|
|
1669
1664
|
"CREATE_SHEET",
|
|
@@ -1675,15 +1670,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1675
1670
|
"DUPLICATE_SHEET",
|
|
1676
1671
|
"UPDATE_LOCALE"
|
|
1677
1672
|
]);
|
|
1678
|
-
const invalidateDependenciesCommands = new Set([...invalidateEvaluationCommands, "MOVE_RANGES"]);
|
|
1679
|
-
const invalidateCFEvaluationCommands = new Set([
|
|
1673
|
+
const invalidateDependenciesCommands = /* @__PURE__ */ new Set([...invalidateEvaluationCommands, "MOVE_RANGES"]);
|
|
1674
|
+
const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
|
|
1680
1675
|
...invalidateEvaluationCommands,
|
|
1681
1676
|
"EVALUATE_CELLS",
|
|
1682
1677
|
"ADD_CONDITIONAL_FORMAT",
|
|
1683
1678
|
"REMOVE_CONDITIONAL_FORMAT",
|
|
1684
1679
|
"CHANGE_CONDITIONAL_FORMAT_PRIORITY"
|
|
1685
1680
|
]);
|
|
1686
|
-
const readonlyAllowedCommands = new Set([
|
|
1681
|
+
const readonlyAllowedCommands = /* @__PURE__ */ new Set([
|
|
1687
1682
|
"START",
|
|
1688
1683
|
"ACTIVATE_SHEET",
|
|
1689
1684
|
"COPY",
|
|
@@ -1700,7 +1695,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
1700
1695
|
"CLOSE_CELL_POPOVER",
|
|
1701
1696
|
"UPDATE_FILTER"
|
|
1702
1697
|
]);
|
|
1703
|
-
const coreTypes = new Set([
|
|
1698
|
+
const coreTypes = /* @__PURE__ */ new Set([
|
|
1704
1699
|
"UPDATE_CELL",
|
|
1705
1700
|
"UPDATE_CELL_POSITION",
|
|
1706
1701
|
"CLEAR_CELL",
|
|
@@ -2442,7 +2437,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2442
2437
|
//#region src/helpers/edge_scrolling.ts
|
|
2443
2438
|
const MAX_DELAY = 140;
|
|
2444
2439
|
const MIN_DELAY = 20;
|
|
2445
|
-
const ACCELERATION = .035;
|
|
2446
2440
|
/**
|
|
2447
2441
|
* Decreasing exponential function used to determine the "speed" of edge-scrolling
|
|
2448
2442
|
* as the timeout delay.
|
|
@@ -2450,7 +2444,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2450
2444
|
* Returns a timeout delay in milliseconds.
|
|
2451
2445
|
*/
|
|
2452
2446
|
function scrollDelay(value) {
|
|
2453
|
-
return 20 + (140 - 20) * Math.exp(
|
|
2447
|
+
return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
|
|
2454
2448
|
}
|
|
2455
2449
|
|
|
2456
2450
|
//#endregion
|
|
@@ -2671,7 +2665,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2671
2665
|
return false;
|
|
2672
2666
|
}
|
|
2673
2667
|
}
|
|
2674
|
-
const allowedDateTimeFormatFirstChar = new Set([
|
|
2668
|
+
const allowedDateTimeFormatFirstChar = /* @__PURE__ */ new Set([
|
|
2675
2669
|
"h",
|
|
2676
2670
|
"m",
|
|
2677
2671
|
"y",
|
|
@@ -4259,7 +4253,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4259
4253
|
return String(this.fastIdStart);
|
|
4260
4254
|
} else if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
|
|
4261
4255
|
const n = Number(c);
|
|
4262
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4256
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4263
4257
|
});
|
|
4264
4258
|
else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
|
|
4265
4259
|
var r = Math.random() * 16 | 0;
|
|
@@ -4276,7 +4270,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4276
4270
|
return String(this.fastIdStart);
|
|
4277
4271
|
} else if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
|
|
4278
4272
|
const n = Number(c);
|
|
4279
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4273
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
4280
4274
|
});
|
|
4281
4275
|
else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
4282
4276
|
var r = Math.random() * 16 | 0;
|
|
@@ -18501,7 +18495,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
18501
18495
|
const ITEMS_PER_LINE = 10;
|
|
18502
18496
|
const MAGNIFIER_EDGE = 16;
|
|
18503
18497
|
const ITEM_GAP = 2;
|
|
18504
|
-
const CONTENT_WIDTH =
|
|
18498
|
+
const CONTENT_WIDTH = 218;
|
|
18505
18499
|
const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
|
|
18506
18500
|
const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
|
|
18507
18501
|
css`
|
|
@@ -18513,7 +18507,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
18513
18507
|
line-height: 1.2;
|
|
18514
18508
|
overflow-y: auto;
|
|
18515
18509
|
overflow-x: hidden;
|
|
18516
|
-
width: ${
|
|
18510
|
+
width: ${234}px;
|
|
18517
18511
|
|
|
18518
18512
|
.o-color-picker-section-name {
|
|
18519
18513
|
margin: 0px ${ITEM_BORDER_WIDTH}px;
|
|
@@ -18585,14 +18579,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
18585
18579
|
}
|
|
18586
18580
|
|
|
18587
18581
|
.o-custom-selector {
|
|
18588
|
-
padding: ${
|
|
18582
|
+
padding: ${10}px ${PICKER_PADDING}px;
|
|
18589
18583
|
position: relative;
|
|
18590
18584
|
.o-gradient {
|
|
18591
18585
|
margin-bottom: ${MAGNIFIER_EDGE / 2}px;
|
|
18592
18586
|
border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
|
|
18593
18587
|
box-sizing: border-box;
|
|
18594
|
-
width: ${
|
|
18595
|
-
height: ${
|
|
18588
|
+
width: ${218}px;
|
|
18589
|
+
height: ${188}px;
|
|
18596
18590
|
position: relative;
|
|
18597
18591
|
}
|
|
18598
18592
|
|
|
@@ -18717,8 +18711,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
18717
18711
|
const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
|
|
18718
18712
|
const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
|
|
18719
18713
|
return cssPropertiesToCss({
|
|
18720
|
-
left: `${-
|
|
18721
|
-
top: `${-
|
|
18714
|
+
left: `${-16 / 2 + left}px`,
|
|
18715
|
+
top: `${-16 / 2 + top}px`,
|
|
18722
18716
|
background: hslaToHex(this.state.currentHslaColor)
|
|
18723
18717
|
});
|
|
18724
18718
|
}
|
|
@@ -20385,7 +20379,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
20385
20379
|
code
|
|
20386
20380
|
});
|
|
20387
20381
|
const roundedOppositeWithCode = roundFormat(simpleOppositeWithCode);
|
|
20388
|
-
return [
|
|
20382
|
+
return [.../* @__PURE__ */ new Set([
|
|
20389
20383
|
rounded,
|
|
20390
20384
|
simple,
|
|
20391
20385
|
roundedWithCode,
|
|
@@ -22128,11 +22122,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
22128
22122
|
getResizerPosition(resizer) {
|
|
22129
22123
|
const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
|
|
22130
22124
|
const style = {};
|
|
22131
|
-
if (resizer.includes("top")) style.top =
|
|
22132
|
-
else if (resizer.includes("bottom")) style.bottom =
|
|
22125
|
+
if (resizer.includes("top")) style.top = `-3px`;
|
|
22126
|
+
else if (resizer.includes("bottom")) style.bottom = `-3px`;
|
|
22133
22127
|
else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
22134
|
-
if (resizer.includes("left")) style.left =
|
|
22135
|
-
else if (resizer.includes("right")) style.right =
|
|
22128
|
+
if (resizer.includes("left")) style.left = `-3px`;
|
|
22129
|
+
else if (resizer.includes("right")) style.right = `-3px`;
|
|
22136
22130
|
else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
22137
22131
|
return cssPropertiesToCss(style);
|
|
22138
22132
|
}
|
|
@@ -32006,7 +32000,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
32006
32000
|
*/
|
|
32007
32001
|
function futureRecomputeZones(zones, zonesToRemove = []) {
|
|
32008
32002
|
const profilesStartingPosition = [0];
|
|
32009
|
-
const profiles = new Map([[0, []]]);
|
|
32003
|
+
const profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
32010
32004
|
modifyProfiles(profilesStartingPosition, profiles, zones, false);
|
|
32011
32005
|
modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
|
|
32012
32006
|
return constructZonesFromProfiles(profilesStartingPosition, profiles);
|
|
@@ -36532,7 +36526,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
36532
36526
|
getCustomColors() {
|
|
36533
36527
|
let usedColors = [];
|
|
36534
36528
|
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getChartColors(sheetId));
|
|
36535
|
-
return sortWithClusters([...new Set([
|
|
36529
|
+
return sortWithClusters([...new Set([.../* @__PURE__ */ new Set([...usedColors, ...Object.keys(this.customColors)])].filter(isColorValid).map(toHex))]).filter((color) => !COLOR_PICKER_DEFAULTS.includes(color));
|
|
36536
36530
|
}
|
|
36537
36531
|
getColorsFromCells(sheetId) {
|
|
36538
36532
|
const cells = Object.values(this.getters.getCells(sheetId));
|
|
@@ -36820,10 +36814,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
36820
36814
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
36821
36815
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
36822
36816
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
36823
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
36817
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
36824
36818
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
36825
36819
|
const colorCellArgs = [];
|
|
36826
|
-
if (rule.midpoint && midValue) {
|
|
36820
|
+
if (rule.midpoint && midValue !== null) {
|
|
36827
36821
|
colorCellArgs.push({
|
|
36828
36822
|
minValue,
|
|
36829
36823
|
minColor: rule.minimum.color,
|
|
@@ -36848,7 +36842,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
36848
36842
|
if (cell.type === "number") {
|
|
36849
36843
|
const value = clip(cell.value, minValue, maxValue);
|
|
36850
36844
|
let color;
|
|
36851
|
-
if (colorCellArgs.length === 2 && midValue) color = value <= midValue ? this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit) : this.colorCell(value, colorCellArgs[1].minValue, colorCellArgs[1].minColor, colorCellArgs[1].colorDiffUnit);
|
|
36845
|
+
if (colorCellArgs.length === 2 && midValue !== null) color = value <= midValue ? this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit) : this.colorCell(value, colorCellArgs[1].minValue, colorCellArgs[1].minColor, colorCellArgs[1].colorDiffUnit);
|
|
36852
36846
|
else color = this.colorCell(value, colorCellArgs[0].minValue, colorCellArgs[0].minColor, colorCellArgs[0].colorDiffUnit);
|
|
36853
36847
|
if (!computedStyle[col]) computedStyle[col] = [];
|
|
36854
36848
|
computedStyle[col][row] = computedStyle[col]?.[row] || {};
|
|
@@ -50913,8 +50907,8 @@ exports.setDefaultSheetViewSize = setDefaultSheetViewSize;
|
|
|
50913
50907
|
exports.setTranslationMethod = setTranslationMethod;
|
|
50914
50908
|
exports.tokenize = tokenize;
|
|
50915
50909
|
|
|
50916
|
-
__info__.version = "17.0.
|
|
50917
|
-
__info__.date = "2026-
|
|
50918
|
-
__info__.hash = "
|
|
50910
|
+
__info__.version = "17.0.102";
|
|
50911
|
+
__info__.date = "2026-07-13T06:25:27.371Z";
|
|
50912
|
+
__info__.hash = "209fe7c";
|
|
50919
50913
|
|
|
50920
50914
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|