@odoo/o-spreadsheet 18.3.51 → 18.3.54
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 +106 -102
- package/dist/o_spreadsheet.iife.js +106 -102
- package/dist/o_spreadsheet.iife.min.js +223 -223
- package/dist/o_spreadsheet.xml +4 -4
- package/package.json +7 -2
- package/dist/o_spreadsheet.cjs.js +0 -72470
package/dist/o_spreadsheet.css
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/*
|
|
3
3
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
4
4
|
* @see https://github.com/odoo/o-spreadsheet
|
|
5
|
-
* @version 18.3.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.54
|
|
6
|
+
* @date 2026-07-01T05:01:46.026Z
|
|
7
|
+
* @hash d00e4b6
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 900px) {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
4
4
|
* @see https://github.com/odoo/o-spreadsheet
|
|
5
|
-
* @version 18.3.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.54
|
|
6
|
+
* @date 2026-07-01T05:01:44.424Z
|
|
7
|
+
* @hash d00e4b6
|
|
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";
|
|
@@ -187,7 +187,7 @@ const GRAY_300 = "#D8DADD";
|
|
|
187
187
|
const GRAY_200 = "#E7E9ED";
|
|
188
188
|
const GRAY_100 = "#F9FAFB";
|
|
189
189
|
const TEXT_BODY = "#374151";
|
|
190
|
-
const TEXT_BODY_MUTED =
|
|
190
|
+
const TEXT_BODY_MUTED = "#374151C2";
|
|
191
191
|
const TEXT_HEADING = "#111827";
|
|
192
192
|
const PRIMARY_BUTTON_BG = "#714B67";
|
|
193
193
|
const PRIMARY_BUTTON_HOVER_BG = "#624159";
|
|
@@ -294,9 +294,6 @@ const COLOR_PICKER_DEFAULTS = [
|
|
|
294
294
|
];
|
|
295
295
|
const DEFAULT_CELL_HEIGHT = 23;
|
|
296
296
|
const FOOTER_HEIGHT = 2 * 23;
|
|
297
|
-
const MENU_SEPARATOR_BORDER_WIDTH = 1;
|
|
298
|
-
const MENU_SEPARATOR_PADDING = 5;
|
|
299
|
-
const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
|
|
300
297
|
const DEFAULT_STYLE = {
|
|
301
298
|
align: "left",
|
|
302
299
|
verticalAlign: "bottom",
|
|
@@ -316,7 +313,7 @@ const DEFAULT_NUMBER_STYLE = {
|
|
|
316
313
|
const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
|
|
317
314
|
const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
|
|
318
315
|
const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
|
|
319
|
-
const DEFAULT_FONT = "'Roboto', arial";
|
|
316
|
+
const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
|
|
320
317
|
const DEFAULT_BORDER_DESC = {
|
|
321
318
|
style: "thin",
|
|
322
319
|
color: "#000000"
|
|
@@ -1636,7 +1633,7 @@ function toXC(col, row, rangePart = {
|
|
|
1636
1633
|
function recomputeZones(zones, zonesToRemove = []) {
|
|
1637
1634
|
if (zones.length <= 1 && zonesToRemove.length === 0) return zones;
|
|
1638
1635
|
const profilesStartingPosition = [0];
|
|
1639
|
-
const profiles = new Map([[0, []]]);
|
|
1636
|
+
const profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
1640
1637
|
modifyProfiles(profilesStartingPosition, profiles, zones, false);
|
|
1641
1638
|
modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
|
|
1642
1639
|
return constructZonesFromProfiles(profilesStartingPosition, profiles);
|
|
@@ -2846,12 +2843,10 @@ const getNumberRegex = memoize(function getNumberRegex(locale) {
|
|
|
2846
2843
|
const pIntegerAndDecimals = `(?:\\d+(?:${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(?:${decimalSeparator}\\d*)?)`;
|
|
2847
2844
|
const pOnlyDecimals = `(?:${decimalSeparator}\\d+)`;
|
|
2848
2845
|
const pNumber = "(?:\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(?:e(?:\\+|-)?\\d+)?(?:\\s*%)?";
|
|
2849
|
-
const pMinus = "(?:\\s*-)?";
|
|
2850
|
-
const pCurrencyFormat = "(?:\\s*[\\$€])?";
|
|
2851
2846
|
const pNumberExp = "^(?:(?:" + [
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2847
|
+
"(?:\\s*-)?(?:\\s*[\\$€])?" + pNumber,
|
|
2848
|
+
"(?:\\s*-)?" + pNumber + "(?:\\s*[\\$€])?",
|
|
2849
|
+
"(?:\\s*[\\$€])?(?:\\s*-)?" + pNumber
|
|
2855
2850
|
].join(")|(?:") + "))$";
|
|
2856
2851
|
return new RegExp(pNumberExp, "i");
|
|
2857
2852
|
});
|
|
@@ -2966,7 +2961,7 @@ function isPositionDependent(cmd) {
|
|
|
2966
2961
|
function isZoneDependent(cmd) {
|
|
2967
2962
|
return "sheetId" in cmd && "zone" in cmd;
|
|
2968
2963
|
}
|
|
2969
|
-
const invalidateEvaluationCommands = new Set([
|
|
2964
|
+
const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
|
|
2970
2965
|
"RENAME_SHEET",
|
|
2971
2966
|
"DELETE_SHEET",
|
|
2972
2967
|
"CREATE_SHEET",
|
|
@@ -2985,7 +2980,7 @@ const invalidateEvaluationCommands = new Set([
|
|
|
2985
2980
|
"REMOVE_PIVOT",
|
|
2986
2981
|
"DUPLICATE_PIVOT"
|
|
2987
2982
|
]);
|
|
2988
|
-
const invalidateChartEvaluationCommands = new Set([
|
|
2983
|
+
const invalidateChartEvaluationCommands = /* @__PURE__ */ new Set([
|
|
2989
2984
|
"EVALUATE_CELLS",
|
|
2990
2985
|
"EVALUATE_CHARTS",
|
|
2991
2986
|
"UPDATE_CELL",
|
|
@@ -3004,20 +2999,20 @@ const invalidateChartEvaluationCommands = new Set([
|
|
|
3004
2999
|
"UNDO",
|
|
3005
3000
|
"REDO"
|
|
3006
3001
|
]);
|
|
3007
|
-
const invalidateDependenciesCommands = new Set(["MOVE_RANGES"]);
|
|
3008
|
-
const invalidateCFEvaluationCommands = new Set([
|
|
3002
|
+
const invalidateDependenciesCommands = /* @__PURE__ */ new Set(["MOVE_RANGES"]);
|
|
3003
|
+
const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
|
|
3009
3004
|
"EVALUATE_CELLS",
|
|
3010
3005
|
"ADD_CONDITIONAL_FORMAT",
|
|
3011
3006
|
"REMOVE_CONDITIONAL_FORMAT",
|
|
3012
3007
|
"CHANGE_CONDITIONAL_FORMAT_PRIORITY"
|
|
3013
3008
|
]);
|
|
3014
|
-
const invalidateBordersCommands = new Set([
|
|
3009
|
+
const invalidateBordersCommands = /* @__PURE__ */ new Set([
|
|
3015
3010
|
"AUTOFILL_CELL",
|
|
3016
3011
|
"SET_BORDER",
|
|
3017
3012
|
"SET_ZONE_BORDERS",
|
|
3018
3013
|
"SET_BORDERS_ON_TARGET"
|
|
3019
3014
|
]);
|
|
3020
|
-
const readonlyAllowedCommands = new Set([
|
|
3015
|
+
const readonlyAllowedCommands = /* @__PURE__ */ new Set([
|
|
3021
3016
|
"START",
|
|
3022
3017
|
"ACTIVATE_SHEET",
|
|
3023
3018
|
"COPY",
|
|
@@ -3028,7 +3023,7 @@ const readonlyAllowedCommands = new Set([
|
|
|
3028
3023
|
"SET_FORMULA_VISIBILITY",
|
|
3029
3024
|
"UPDATE_FILTER"
|
|
3030
3025
|
]);
|
|
3031
|
-
const coreTypes = new Set([
|
|
3026
|
+
const coreTypes = /* @__PURE__ */ new Set([
|
|
3032
3027
|
"UPDATE_CELL",
|
|
3033
3028
|
"UPDATE_CELL_POSITION",
|
|
3034
3029
|
"CLEAR_CELL",
|
|
@@ -5130,7 +5125,6 @@ function getDateCriterionFormattedValues(values, locale) {
|
|
|
5130
5125
|
//#region src/helpers/edge_scrolling.ts
|
|
5131
5126
|
const MAX_DELAY = 140;
|
|
5132
5127
|
const MIN_DELAY = 20;
|
|
5133
|
-
const ACCELERATION = .035;
|
|
5134
5128
|
/**
|
|
5135
5129
|
* Decreasing exponential function used to determine the "speed" of edge-scrolling
|
|
5136
5130
|
* as the timeout delay.
|
|
@@ -5138,7 +5132,7 @@ const ACCELERATION = .035;
|
|
|
5138
5132
|
* Returns a timeout delay in milliseconds.
|
|
5139
5133
|
*/
|
|
5140
5134
|
function scrollDelay(value) {
|
|
5141
|
-
return 20 + (140 - 20) * Math.exp(
|
|
5135
|
+
return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
|
|
5142
5136
|
}
|
|
5143
5137
|
|
|
5144
5138
|
//#endregion
|
|
@@ -6011,7 +6005,7 @@ var UuidGenerator = class {
|
|
|
6011
6005
|
smallUuid() {
|
|
6012
6006
|
if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
|
|
6013
6007
|
const n = Number(c);
|
|
6014
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6008
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6015
6009
|
});
|
|
6016
6010
|
else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
|
|
6017
6011
|
const r = Math.random() * 16 | 0;
|
|
@@ -6025,7 +6019,7 @@ var UuidGenerator = class {
|
|
|
6025
6019
|
uuidv4() {
|
|
6026
6020
|
if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
|
|
6027
6021
|
const n = Number(c);
|
|
6028
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6022
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
6029
6023
|
});
|
|
6030
6024
|
else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
6031
6025
|
const r = Math.random() * 16 | 0;
|
|
@@ -7617,10 +7611,10 @@ function toNormalizedPivotValue(dimension, groupValue) {
|
|
|
7617
7611
|
type: dimension.type
|
|
7618
7612
|
}));
|
|
7619
7613
|
if (groupValueString.toLowerCase() === "false") return false;
|
|
7620
|
-
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension
|
|
7614
|
+
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension);
|
|
7621
7615
|
}
|
|
7622
|
-
function normalizeDateTime(value,
|
|
7623
|
-
return pivotTimeAdapter(granularity ?? "month").normalizeFunctionValue(value);
|
|
7616
|
+
function normalizeDateTime(value, dimension) {
|
|
7617
|
+
return pivotTimeAdapter(dimension.granularity ?? "month").normalizeFunctionValue(value);
|
|
7624
7618
|
}
|
|
7625
7619
|
function toFunctionPivotValue(value, dimension) {
|
|
7626
7620
|
if (value === null) return `"null"`;
|
|
@@ -32260,17 +32254,16 @@ var Menu = class Menu extends Component {
|
|
|
32260
32254
|
|
|
32261
32255
|
//#endregion
|
|
32262
32256
|
//#region src/components/link/link_editor/link_editor.ts
|
|
32263
|
-
const PADDING = 12;
|
|
32264
32257
|
css`
|
|
32265
32258
|
.o-link-editor {
|
|
32266
32259
|
font-size: 13px;
|
|
32267
32260
|
background-color: white;
|
|
32268
32261
|
box-shadow: 0 1px 4px 3px rgba(60, 64, 67, 0.15);
|
|
32269
|
-
padding: ${
|
|
32262
|
+
padding: ${12}px;
|
|
32270
32263
|
display: flex;
|
|
32271
32264
|
flex-direction: column;
|
|
32272
32265
|
border-radius: 4px;
|
|
32273
|
-
width: ${
|
|
32266
|
+
width: ${364}px;
|
|
32274
32267
|
|
|
32275
32268
|
.o-section {
|
|
32276
32269
|
.o-section-title {
|
|
@@ -36424,11 +36417,10 @@ var ActionButton = class extends Component {
|
|
|
36424
36417
|
const LINE_VERTICAL_PADDING = 1;
|
|
36425
36418
|
const PICKER_PADDING = 8;
|
|
36426
36419
|
const ITEM_BORDER_WIDTH = 1;
|
|
36427
|
-
const ITEM_EDGE_LENGTH = 18;
|
|
36428
36420
|
const ITEMS_PER_LINE = 10;
|
|
36429
36421
|
const MAGNIFIER_EDGE = 16;
|
|
36430
36422
|
const ITEM_GAP = 2;
|
|
36431
|
-
const CONTENT_WIDTH =
|
|
36423
|
+
const CONTENT_WIDTH = 218;
|
|
36432
36424
|
const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
|
|
36433
36425
|
const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
|
|
36434
36426
|
css`
|
|
@@ -36440,7 +36432,7 @@ css`
|
|
|
36440
36432
|
line-height: 1.2;
|
|
36441
36433
|
overflow-y: auto;
|
|
36442
36434
|
overflow-x: hidden;
|
|
36443
|
-
width: ${
|
|
36435
|
+
width: ${234}px;
|
|
36444
36436
|
|
|
36445
36437
|
.o-color-picker-section-name {
|
|
36446
36438
|
margin: 0px ${ITEM_BORDER_WIDTH}px;
|
|
@@ -36466,8 +36458,8 @@ css`
|
|
|
36466
36458
|
}
|
|
36467
36459
|
}
|
|
36468
36460
|
.o-color-picker-line-item {
|
|
36469
|
-
width: ${
|
|
36470
|
-
height: ${
|
|
36461
|
+
width: ${20}px;
|
|
36462
|
+
height: ${20}px;
|
|
36471
36463
|
margin: 0px;
|
|
36472
36464
|
border-radius: 50px;
|
|
36473
36465
|
border: ${ITEM_BORDER_WIDTH}px solid #666666;
|
|
@@ -36511,13 +36503,13 @@ css`
|
|
|
36511
36503
|
}
|
|
36512
36504
|
|
|
36513
36505
|
.o-custom-selector {
|
|
36514
|
-
padding: ${
|
|
36506
|
+
padding: ${10}px ${PICKER_PADDING}px;
|
|
36515
36507
|
position: relative;
|
|
36516
36508
|
.o-gradient {
|
|
36517
36509
|
margin-bottom: ${MAGNIFIER_EDGE / 2}px;
|
|
36518
36510
|
border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
|
|
36519
|
-
width: ${
|
|
36520
|
-
height: ${
|
|
36511
|
+
width: ${218}px;
|
|
36512
|
+
height: ${188}px;
|
|
36521
36513
|
position: relative;
|
|
36522
36514
|
}
|
|
36523
36515
|
|
|
@@ -36655,8 +36647,8 @@ var ColorPicker = class extends Component {
|
|
|
36655
36647
|
const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
|
|
36656
36648
|
const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
|
|
36657
36649
|
return cssPropertiesToCss({
|
|
36658
|
-
left: `${-
|
|
36659
|
-
top: `${-
|
|
36650
|
+
left: `${-16 / 2 + left}px`,
|
|
36651
|
+
top: `${-16 / 2 + top}px`,
|
|
36660
36652
|
background: hslaToHex(this.state.currentHslaColor)
|
|
36661
36653
|
});
|
|
36662
36654
|
}
|
|
@@ -43553,8 +43545,8 @@ var PivotRuntimeDefinition = class {
|
|
|
43553
43545
|
sortedColumn;
|
|
43554
43546
|
constructor(definition, fields) {
|
|
43555
43547
|
this.measures = definition.measures.map((measure) => createMeasure(fields, measure));
|
|
43556
|
-
this.columns = definition.columns.map((dimension) => createPivotDimension(fields, dimension));
|
|
43557
|
-
this.rows = definition.rows.map((dimension) => createPivotDimension(fields, dimension));
|
|
43548
|
+
this.columns = definition.columns.map((dimension) => this.createPivotDimension(fields, dimension));
|
|
43549
|
+
this.rows = definition.rows.map((dimension) => this.createPivotDimension(fields, dimension));
|
|
43558
43550
|
this.sortedColumn = definition.sortedColumn;
|
|
43559
43551
|
}
|
|
43560
43552
|
getDimension(nameWithGranularity) {
|
|
@@ -43567,6 +43559,40 @@ var PivotRuntimeDefinition = class {
|
|
|
43567
43559
|
if (!measure) throw new EvaluationError(_t("Field %s is not a measure", id));
|
|
43568
43560
|
return measure;
|
|
43569
43561
|
}
|
|
43562
|
+
createPivotDimension(fields, dimension) {
|
|
43563
|
+
const field = fields[dimension.fieldName];
|
|
43564
|
+
const type = field?.type ?? "integer";
|
|
43565
|
+
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
43566
|
+
return {
|
|
43567
|
+
/**
|
|
43568
|
+
* Get the display name of the dimension
|
|
43569
|
+
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
43570
|
+
*/
|
|
43571
|
+
displayName: field?.string ?? dimension.fieldName,
|
|
43572
|
+
/**
|
|
43573
|
+
* Get the name of the dimension, as it is stored in the pivot formula
|
|
43574
|
+
* e.g. "stage_id", "create_date:month"
|
|
43575
|
+
*/
|
|
43576
|
+
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
43577
|
+
/**
|
|
43578
|
+
* Get the name of the field of the dimension
|
|
43579
|
+
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
43580
|
+
*/
|
|
43581
|
+
fieldName: dimension.fieldName,
|
|
43582
|
+
/**
|
|
43583
|
+
* Get the aggregate operator of the dimension
|
|
43584
|
+
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
43585
|
+
*/
|
|
43586
|
+
granularity,
|
|
43587
|
+
/**
|
|
43588
|
+
* Get the type of the field of the dimension
|
|
43589
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
43590
|
+
*/
|
|
43591
|
+
type,
|
|
43592
|
+
order: dimension.order,
|
|
43593
|
+
isValid: !!field
|
|
43594
|
+
};
|
|
43595
|
+
}
|
|
43570
43596
|
};
|
|
43571
43597
|
function createMeasure(fields, measure) {
|
|
43572
43598
|
const fieldName = measure.fieldName;
|
|
@@ -43610,40 +43636,6 @@ function createMeasure(fields, measure) {
|
|
|
43610
43636
|
display: measure.display
|
|
43611
43637
|
};
|
|
43612
43638
|
}
|
|
43613
|
-
function createPivotDimension(fields, dimension) {
|
|
43614
|
-
const field = fields[dimension.fieldName];
|
|
43615
|
-
const type = field?.type ?? "integer";
|
|
43616
|
-
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
43617
|
-
return {
|
|
43618
|
-
/**
|
|
43619
|
-
* Get the display name of the dimension
|
|
43620
|
-
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
43621
|
-
*/
|
|
43622
|
-
displayName: field?.string ?? dimension.fieldName,
|
|
43623
|
-
/**
|
|
43624
|
-
* Get the name of the dimension, as it is stored in the pivot formula
|
|
43625
|
-
* e.g. "stage_id", "create_date:month"
|
|
43626
|
-
*/
|
|
43627
|
-
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
43628
|
-
/**
|
|
43629
|
-
* Get the name of the field of the dimension
|
|
43630
|
-
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
43631
|
-
*/
|
|
43632
|
-
fieldName: dimension.fieldName,
|
|
43633
|
-
/**
|
|
43634
|
-
* Get the aggregate operator of the dimension
|
|
43635
|
-
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
43636
|
-
*/
|
|
43637
|
-
granularity,
|
|
43638
|
-
/**
|
|
43639
|
-
* Get the type of the field of the dimension
|
|
43640
|
-
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
43641
|
-
*/
|
|
43642
|
-
type,
|
|
43643
|
-
order: dimension.order,
|
|
43644
|
-
isValid: !!field
|
|
43645
|
-
};
|
|
43646
|
-
}
|
|
43647
43639
|
|
|
43648
43640
|
//#endregion
|
|
43649
43641
|
//#region src/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.ts
|
|
@@ -46338,11 +46330,11 @@ var FigureComponent = class extends Component {
|
|
|
46338
46330
|
getResizerPosition(resizer) {
|
|
46339
46331
|
const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
|
|
46340
46332
|
const style = {};
|
|
46341
|
-
if (resizer.includes("top")) style.top =
|
|
46342
|
-
else if (resizer.includes("bottom")) style.bottom =
|
|
46333
|
+
if (resizer.includes("top")) style.top = `-3px`;
|
|
46334
|
+
else if (resizer.includes("bottom")) style.bottom = `-3px`;
|
|
46343
46335
|
else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
46344
|
-
if (resizer.includes("left")) style.left =
|
|
46345
|
-
else if (resizer.includes("right")) style.right =
|
|
46336
|
+
if (resizer.includes("left")) style.left = `-3px`;
|
|
46337
|
+
else if (resizer.includes("right")) style.right = `-3px`;
|
|
46346
46338
|
else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
46347
46339
|
return cssPropertiesToCss(style);
|
|
46348
46340
|
}
|
|
@@ -57625,6 +57617,9 @@ var CustomColorsPlugin = class extends CoreViewPlugin {
|
|
|
57625
57617
|
case "CREATE_CHART":
|
|
57626
57618
|
this.tryToAddColors(this.getChartColors(cmd.figureId));
|
|
57627
57619
|
break;
|
|
57620
|
+
case "COLOR_SHEET":
|
|
57621
|
+
if (cmd.color) this.tryToAddColors([cmd.color]);
|
|
57622
|
+
break;
|
|
57628
57623
|
case "UPDATE_CELL":
|
|
57629
57624
|
case "ADD_CONDITIONAL_FORMAT":
|
|
57630
57625
|
case "SET_BORDER":
|
|
@@ -57647,8 +57642,12 @@ var CustomColorsPlugin = class extends CoreViewPlugin {
|
|
|
57647
57642
|
}
|
|
57648
57643
|
computeCustomColors() {
|
|
57649
57644
|
let usedColors = [];
|
|
57650
|
-
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
57651
|
-
return [
|
|
57645
|
+
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getSheetColors(sheetId), this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
57646
|
+
return [.../* @__PURE__ */ new Set([...usedColors])];
|
|
57647
|
+
}
|
|
57648
|
+
getSheetColors(sheetId) {
|
|
57649
|
+
const sheet = this.getters.getSheet(sheetId);
|
|
57650
|
+
return sheet.color ? [sheet.color] : [];
|
|
57652
57651
|
}
|
|
57653
57652
|
getColorsFromCells(sheetId) {
|
|
57654
57653
|
const cells = Object.values(this.getters.getCells(sheetId));
|
|
@@ -61994,7 +61993,7 @@ var TableComputedStylePlugin = class extends UIPlugin {
|
|
|
61994
61993
|
};
|
|
61995
61994
|
}
|
|
61996
61995
|
};
|
|
61997
|
-
const invalidateTableStyleCommandsSet = new Set([
|
|
61996
|
+
const invalidateTableStyleCommandsSet = /* @__PURE__ */ new Set([
|
|
61998
61997
|
"HIDE_COLUMNS_ROWS",
|
|
61999
61998
|
"UNHIDE_COLUMNS_ROWS",
|
|
62000
61999
|
"UNFOLD_HEADER_GROUP",
|
|
@@ -64155,14 +64154,14 @@ var InternalViewport = class {
|
|
|
64155
64154
|
adjustPositionX(targetCol) {
|
|
64156
64155
|
const sheetId = this.sheetId;
|
|
64157
64156
|
const { start, end } = this.getters.getColDimensions(sheetId, targetCol);
|
|
64158
|
-
if (this.offsetX + this.viewportWidth + this.offsetCorrectionX < end) this.offsetX = end - this.viewportWidth;
|
|
64157
|
+
if (this.offsetX + this.viewportWidth + this.offsetCorrectionX < end) this.offsetX = end - this.viewportWidth - this.offsetCorrectionX;
|
|
64159
64158
|
else if (this.offsetX + this.offsetCorrectionX > start) this.offsetX = start - this.offsetCorrectionX;
|
|
64160
64159
|
this.adjustViewportZoneX();
|
|
64161
64160
|
}
|
|
64162
64161
|
adjustPositionY(targetRow) {
|
|
64163
64162
|
const sheetId = this.sheetId;
|
|
64164
64163
|
const { start, end } = this.getters.getRowDimensions(sheetId, targetRow);
|
|
64165
|
-
if (this.offsetY + this.viewportHeight + this.offsetCorrectionY < end) this.offsetY = end - this.viewportHeight;
|
|
64164
|
+
if (this.offsetY + this.viewportHeight + this.offsetCorrectionY < end) this.offsetY = end - this.viewportHeight - this.offsetCorrectionY;
|
|
64166
64165
|
else if (this.offsetY + this.offsetCorrectionY > start) this.offsetY = start - this.offsetCorrectionY;
|
|
64167
64166
|
this.adjustViewportZoneY();
|
|
64168
64167
|
}
|
|
@@ -65555,11 +65554,14 @@ var BottomBarSheet = class extends Component {
|
|
|
65555
65554
|
}
|
|
65556
65555
|
});
|
|
65557
65556
|
this.DOMFocusableElementStore = useStore(DOMFocusableElementStore);
|
|
65558
|
-
useExternalListener(window, "click", ()
|
|
65557
|
+
useExternalListener(window, "click", this.onExternalClick.bind(this), { capture: true });
|
|
65559
65558
|
useEffect((sheetId) => {
|
|
65560
65559
|
if (this.props.sheetId === sheetId) this.scrollToSheet();
|
|
65561
65560
|
}, () => [this.env.model.getters.getActiveSheetId()]);
|
|
65562
65561
|
}
|
|
65562
|
+
onExternalClick(ev) {
|
|
65563
|
+
if (!ev.target.closest(".o-color-picker")) this.state.pickerOpened = false;
|
|
65564
|
+
}
|
|
65563
65565
|
focusInputAndSelectContent() {
|
|
65564
65566
|
if (!this.state.isEditing || !this.sheetNameRef.el) return;
|
|
65565
65567
|
this.sheetNameRef.el.focus();
|
|
@@ -65656,6 +65658,8 @@ var BottomBarSheet = class extends Component {
|
|
|
65656
65658
|
},
|
|
65657
65659
|
openSheetColorPickerCallback: () => {
|
|
65658
65660
|
this.state.pickerOpened = true;
|
|
65661
|
+
const sheet = this.env.model.getters.getSheet(this.props.sheetId);
|
|
65662
|
+
this.state.currentPickerColor = sheet.color;
|
|
65659
65663
|
}
|
|
65660
65664
|
});
|
|
65661
65665
|
}
|
|
@@ -69840,11 +69844,11 @@ function addBarChart(chart) {
|
|
|
69840
69844
|
<!-- each data marker in the series does not have a different color -->
|
|
69841
69845
|
<c:varyColors val="0"/>
|
|
69842
69846
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
69843
|
-
<c:axId val="${
|
|
69844
|
-
<c:axId val="${
|
|
69847
|
+
<c:axId val="${17781238}" />
|
|
69848
|
+
<c:axId val="${88853994}" />
|
|
69845
69849
|
</c:barChart>
|
|
69846
|
-
${addAx("b", "c:catAx",
|
|
69847
|
-
${addAx("r", "c:valAx",
|
|
69850
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
69851
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
69848
69852
|
` : ""}`;
|
|
69849
69853
|
}
|
|
69850
69854
|
function addComboChart(chart) {
|
|
@@ -69999,11 +70003,11 @@ function addLineChart(chart) {
|
|
|
69999
70003
|
<!-- each data marker in the series does not have a different color -->
|
|
70000
70004
|
<c:varyColors val="0"/>
|
|
70001
70005
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
70002
|
-
<c:axId val="${
|
|
70003
|
-
<c:axId val="${
|
|
70006
|
+
<c:axId val="${17781238}" />
|
|
70007
|
+
<c:axId val="${88853994}" />
|
|
70004
70008
|
</c:lineChart>
|
|
70005
|
-
${addAx("b", "c:catAx",
|
|
70006
|
-
${addAx("r", "c:valAx",
|
|
70009
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
70010
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
70007
70011
|
` : ""}
|
|
70008
70012
|
`;
|
|
70009
70013
|
}
|
|
@@ -70065,11 +70069,11 @@ function addScatterChart(chart) {
|
|
|
70065
70069
|
<c:varyColors val="0"/>
|
|
70066
70070
|
<c:scatterStyle val="lineMarker"/>
|
|
70067
70071
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
70068
|
-
<c:axId val="${
|
|
70069
|
-
<c:axId val="${
|
|
70072
|
+
<c:axId val="${17781238}" />
|
|
70073
|
+
<c:axId val="${88853994}" />
|
|
70070
70074
|
</c:scatterChart>
|
|
70071
|
-
${addAx("b", "c:valAx",
|
|
70072
|
-
${addAx("r", "c:valAx",
|
|
70075
|
+
${addAx("b", "c:valAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
70076
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
70073
70077
|
` : ""}`;
|
|
70074
70078
|
}
|
|
70075
70079
|
function addRadarChart(chart) {
|
|
@@ -72233,6 +72237,6 @@ const chartHelpers = {
|
|
|
72233
72237
|
//#endregion
|
|
72234
72238
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
72235
72239
|
|
|
72236
|
-
__info__.version = "18.3.
|
|
72237
|
-
__info__.date = "2026-
|
|
72238
|
-
__info__.hash = "
|
|
72240
|
+
__info__.version = "18.3.54";
|
|
72241
|
+
__info__.date = "2026-07-01T05:01:44.424Z";
|
|
72242
|
+
__info__.hash = "d00e4b6";
|