@odoo/o-spreadsheet 18.0.71 → 18.0.73
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 +100 -94
- package/dist/o-spreadsheet.iife.js +100 -94
- package/dist/o-spreadsheet.iife.min.js +215 -215
- package/dist/o_spreadsheet.xml +4 -4
- package/dist/types/components/bottom_bar/bottom_bar_sheet/bottom_bar_sheet.d.ts +1 -0
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/helpers/pivot/pivot_helpers.d.ts +2 -2
- package/dist/types/helpers/pivot/pivot_runtime_definition.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/plugins/ui_core_views/custom_colors.d.ts +1 -0
- package/package.json +7 -2
- package/dist/o-spreadsheet.cjs.js +0 -66574
|
@@ -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.0.
|
|
6
|
-
* @date 2026-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.0.73
|
|
6
|
+
* @date 2026-07-01T05:00:54.172Z
|
|
7
|
+
* @hash 1a9c761
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Component, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
|
|
@@ -185,7 +185,7 @@ const GRAY_300 = "#D8DADD";
|
|
|
185
185
|
const GRAY_200 = "#E7E9ED";
|
|
186
186
|
const GRAY_100 = "#F9FAFB";
|
|
187
187
|
const TEXT_BODY = "#374151";
|
|
188
|
-
const TEXT_BODY_MUTED =
|
|
188
|
+
const TEXT_BODY_MUTED = "#374151C2";
|
|
189
189
|
const TEXT_HEADING = "#111827";
|
|
190
190
|
const PRIMARY_BUTTON_BG = "#714B67";
|
|
191
191
|
const PRIMARY_BUTTON_HOVER_BG = "#624159";
|
|
@@ -291,9 +291,6 @@ const COLOR_PICKER_DEFAULTS = [
|
|
|
291
291
|
];
|
|
292
292
|
const DEFAULT_CELL_HEIGHT = 23;
|
|
293
293
|
const FOOTER_HEIGHT = 2 * 23;
|
|
294
|
-
const MENU_SEPARATOR_BORDER_WIDTH = 1;
|
|
295
|
-
const MENU_SEPARATOR_PADDING = 5;
|
|
296
|
-
const MENU_SEPARATOR_HEIGHT = 1 + 2 * 5;
|
|
297
294
|
const DEFAULT_STYLE = {
|
|
298
295
|
align: "left",
|
|
299
296
|
verticalAlign: "bottom",
|
|
@@ -313,7 +310,7 @@ const DEFAULT_NUMBER_STYLE = {
|
|
|
313
310
|
const DEFAULT_VERTICAL_ALIGN = DEFAULT_STYLE.verticalAlign;
|
|
314
311
|
const DEFAULT_WRAPPING_MODE = DEFAULT_STYLE.wrapping;
|
|
315
312
|
const DEFAULT_FONT_SIZE = DEFAULT_STYLE.fontSize;
|
|
316
|
-
const DEFAULT_FONT = "'Roboto', arial";
|
|
313
|
+
const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
|
|
317
314
|
const DEFAULT_BORDER_DESC = {
|
|
318
315
|
style: "thin",
|
|
319
316
|
color: "#000000"
|
|
@@ -1489,7 +1486,7 @@ function toXC(col, row, rangePart = {
|
|
|
1489
1486
|
function recomputeZones(zones, zonesToRemove = []) {
|
|
1490
1487
|
if (zones.length <= 1 && zonesToRemove.length === 0) return zones;
|
|
1491
1488
|
const profilesStartingPosition = [0];
|
|
1492
|
-
const profiles = new Map([[0, []]]);
|
|
1489
|
+
const profiles = /* @__PURE__ */ new Map([[0, []]]);
|
|
1493
1490
|
modifyProfiles(profilesStartingPosition, profiles, zones, false);
|
|
1494
1491
|
modifyProfiles(profilesStartingPosition, profiles, zonesToRemove, true);
|
|
1495
1492
|
return constructZonesFromProfiles(profilesStartingPosition, profiles);
|
|
@@ -2723,12 +2720,10 @@ const getNumberRegex = memoize(function getNumberRegex(locale) {
|
|
|
2723
2720
|
const pIntegerAndDecimals = `(?:\\d+(?:${escapeRegExp(locale.thousandsSeparator || "")}\\d{3,})*(?:${decimalSeparator}\\d*)?)`;
|
|
2724
2721
|
const pOnlyDecimals = `(?:${decimalSeparator}\\d+)`;
|
|
2725
2722
|
const pNumber = "(?:\\s*" + pIntegerAndDecimals + "|" + pOnlyDecimals + ")(?:e(?:\\+|-)?\\d+)?(?:\\s*%)?";
|
|
2726
|
-
const pMinus = "(?:\\s*-)?";
|
|
2727
|
-
const pCurrencyFormat = "(?:\\s*[\\$€])?";
|
|
2728
2723
|
const pNumberExp = "^(?:(?:" + [
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2724
|
+
"(?:\\s*-)?(?:\\s*[\\$€])?" + pNumber,
|
|
2725
|
+
"(?:\\s*-)?" + pNumber + "(?:\\s*[\\$€])?",
|
|
2726
|
+
"(?:\\s*[\\$€])?(?:\\s*-)?" + pNumber
|
|
2732
2727
|
].join(")|(?:") + "))$";
|
|
2733
2728
|
return new RegExp(pNumberExp, "i");
|
|
2734
2729
|
});
|
|
@@ -2791,7 +2786,7 @@ function isPositionDependent(cmd) {
|
|
|
2791
2786
|
function isZoneDependent(cmd) {
|
|
2792
2787
|
return "sheetId" in cmd && "zone" in cmd;
|
|
2793
2788
|
}
|
|
2794
|
-
const invalidateEvaluationCommands = new Set([
|
|
2789
|
+
const invalidateEvaluationCommands = /* @__PURE__ */ new Set([
|
|
2795
2790
|
"RENAME_SHEET",
|
|
2796
2791
|
"DELETE_SHEET",
|
|
2797
2792
|
"CREATE_SHEET",
|
|
@@ -2810,7 +2805,7 @@ const invalidateEvaluationCommands = new Set([
|
|
|
2810
2805
|
"REMOVE_PIVOT",
|
|
2811
2806
|
"DUPLICATE_PIVOT"
|
|
2812
2807
|
]);
|
|
2813
|
-
const invalidateChartEvaluationCommands = new Set([
|
|
2808
|
+
const invalidateChartEvaluationCommands = /* @__PURE__ */ new Set([
|
|
2814
2809
|
"EVALUATE_CELLS",
|
|
2815
2810
|
"UPDATE_CELL",
|
|
2816
2811
|
"UNHIDE_COLUMNS_ROWS",
|
|
@@ -2828,20 +2823,20 @@ const invalidateChartEvaluationCommands = new Set([
|
|
|
2828
2823
|
"UNDO",
|
|
2829
2824
|
"REDO"
|
|
2830
2825
|
]);
|
|
2831
|
-
const invalidateDependenciesCommands = new Set(["MOVE_RANGES"]);
|
|
2832
|
-
const invalidateCFEvaluationCommands = new Set([
|
|
2826
|
+
const invalidateDependenciesCommands = /* @__PURE__ */ new Set(["MOVE_RANGES"]);
|
|
2827
|
+
const invalidateCFEvaluationCommands = /* @__PURE__ */ new Set([
|
|
2833
2828
|
"EVALUATE_CELLS",
|
|
2834
2829
|
"ADD_CONDITIONAL_FORMAT",
|
|
2835
2830
|
"REMOVE_CONDITIONAL_FORMAT",
|
|
2836
2831
|
"CHANGE_CONDITIONAL_FORMAT_PRIORITY"
|
|
2837
2832
|
]);
|
|
2838
|
-
const invalidateBordersCommands = new Set([
|
|
2833
|
+
const invalidateBordersCommands = /* @__PURE__ */ new Set([
|
|
2839
2834
|
"AUTOFILL_CELL",
|
|
2840
2835
|
"SET_BORDER",
|
|
2841
2836
|
"SET_ZONE_BORDERS",
|
|
2842
2837
|
"SET_BORDERS_ON_TARGET"
|
|
2843
2838
|
]);
|
|
2844
|
-
const readonlyAllowedCommands = new Set([
|
|
2839
|
+
const readonlyAllowedCommands = /* @__PURE__ */ new Set([
|
|
2845
2840
|
"START",
|
|
2846
2841
|
"ACTIVATE_SHEET",
|
|
2847
2842
|
"COPY",
|
|
@@ -2851,7 +2846,7 @@ const readonlyAllowedCommands = new Set([
|
|
|
2851
2846
|
"SET_FORMULA_VISIBILITY",
|
|
2852
2847
|
"UPDATE_FILTER"
|
|
2853
2848
|
]);
|
|
2854
|
-
const coreTypes = new Set([
|
|
2849
|
+
const coreTypes = /* @__PURE__ */ new Set([
|
|
2855
2850
|
"UPDATE_CELL",
|
|
2856
2851
|
"UPDATE_CELL_POSITION",
|
|
2857
2852
|
"CLEAR_CELL",
|
|
@@ -4944,7 +4939,6 @@ function getDateCriterionFormattedValues(values, locale) {
|
|
|
4944
4939
|
//#region src/helpers/edge_scrolling.ts
|
|
4945
4940
|
const MAX_DELAY = 140;
|
|
4946
4941
|
const MIN_DELAY = 20;
|
|
4947
|
-
const ACCELERATION = .035;
|
|
4948
4942
|
/**
|
|
4949
4943
|
* Decreasing exponential function used to determine the "speed" of edge-scrolling
|
|
4950
4944
|
* as the timeout delay.
|
|
@@ -4952,7 +4946,7 @@ const ACCELERATION = .035;
|
|
|
4952
4946
|
* Returns a timeout delay in milliseconds.
|
|
4953
4947
|
*/
|
|
4954
4948
|
function scrollDelay(value) {
|
|
4955
|
-
return 20 + (140 - 20) * Math.exp(
|
|
4949
|
+
return 20 + (140 - 20) * Math.exp(-.035 * (value - 1));
|
|
4956
4950
|
}
|
|
4957
4951
|
|
|
4958
4952
|
//#endregion
|
|
@@ -5584,7 +5578,7 @@ var UuidGenerator = class {
|
|
|
5584
5578
|
return String(this.fastIdStart);
|
|
5585
5579
|
} else if (window.crypto) return "10000000-1000".replace(/[01]/g, (c) => {
|
|
5586
5580
|
const n = Number(c);
|
|
5587
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
5581
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
5588
5582
|
});
|
|
5589
5583
|
else return "xxxxxxxx-xxxx".replace(/[xy]/g, function(c) {
|
|
5590
5584
|
var r = Math.random() * 16 | 0;
|
|
@@ -5601,7 +5595,7 @@ var UuidGenerator = class {
|
|
|
5601
5595
|
return String(this.fastIdStart);
|
|
5602
5596
|
} else if (window.crypto) return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => {
|
|
5603
5597
|
const n = Number(c);
|
|
5604
|
-
return (n ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
5598
|
+
return (n ^ crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(1))[0] & 15 >> n / 4).toString(16);
|
|
5605
5599
|
});
|
|
5606
5600
|
else return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
5607
5601
|
var r = Math.random() * 16 | 0;
|
|
@@ -7146,10 +7140,10 @@ function toNormalizedPivotValue(dimension, groupValue) {
|
|
|
7146
7140
|
type: dimension.type
|
|
7147
7141
|
}));
|
|
7148
7142
|
if (groupValueString.toLowerCase() === "false") return false;
|
|
7149
|
-
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension
|
|
7143
|
+
return pivotNormalizationValueRegistry.get(dimension.type)(groupValueString, dimension);
|
|
7150
7144
|
}
|
|
7151
|
-
function normalizeDateTime(value,
|
|
7152
|
-
return pivotTimeAdapter(granularity ?? "month").normalizeFunctionValue(value);
|
|
7145
|
+
function normalizeDateTime(value, dimension) {
|
|
7146
|
+
return pivotTimeAdapter(dimension.granularity ?? "month").normalizeFunctionValue(value);
|
|
7153
7147
|
}
|
|
7154
7148
|
function toFunctionPivotValue(value, dimension) {
|
|
7155
7149
|
if (value === null) return `"null"`;
|
|
@@ -32693,7 +32687,7 @@ const ITEM_EDGE_LENGTH = 18;
|
|
|
32693
32687
|
const ITEMS_PER_LINE = 10;
|
|
32694
32688
|
const MAGNIFIER_EDGE = 16;
|
|
32695
32689
|
const ITEM_GAP = 2;
|
|
32696
|
-
const CONTENT_WIDTH =
|
|
32690
|
+
const CONTENT_WIDTH = 218;
|
|
32697
32691
|
const INNER_GRADIENT_WIDTH = CONTENT_WIDTH - 2 * ITEM_BORDER_WIDTH;
|
|
32698
32692
|
const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
|
|
32699
32693
|
css`
|
|
@@ -32705,7 +32699,7 @@ css`
|
|
|
32705
32699
|
line-height: 1.2;
|
|
32706
32700
|
overflow-y: auto;
|
|
32707
32701
|
overflow-x: hidden;
|
|
32708
|
-
width: ${
|
|
32702
|
+
width: ${234}px;
|
|
32709
32703
|
|
|
32710
32704
|
.o-color-picker-section-name {
|
|
32711
32705
|
margin: 0px ${ITEM_BORDER_WIDTH}px;
|
|
@@ -32777,14 +32771,14 @@ css`
|
|
|
32777
32771
|
}
|
|
32778
32772
|
|
|
32779
32773
|
.o-custom-selector {
|
|
32780
|
-
padding: ${
|
|
32774
|
+
padding: ${10}px ${PICKER_PADDING}px;
|
|
32781
32775
|
position: relative;
|
|
32782
32776
|
.o-gradient {
|
|
32783
32777
|
margin-bottom: ${MAGNIFIER_EDGE / 2}px;
|
|
32784
32778
|
border: ${ITEM_BORDER_WIDTH}px solid #c0c0c0;
|
|
32785
32779
|
box-sizing: border-box;
|
|
32786
|
-
width: ${
|
|
32787
|
-
height: ${
|
|
32780
|
+
width: ${218}px;
|
|
32781
|
+
height: ${188}px;
|
|
32788
32782
|
position: relative;
|
|
32789
32783
|
}
|
|
32790
32784
|
|
|
@@ -32925,8 +32919,8 @@ var ColorPicker = class extends Component {
|
|
|
32925
32919
|
const left = Math.round(INNER_GRADIENT_WIDTH * clip(s / 100, 0, 1));
|
|
32926
32920
|
const top = Math.round(INNER_GRADIENT_HEIGHT * clip(1 - 2 * l / (200 - s), 0, 1));
|
|
32927
32921
|
return cssPropertiesToCss({
|
|
32928
|
-
left: `${-
|
|
32929
|
-
top: `${-
|
|
32922
|
+
left: `${-16 / 2 + left}px`,
|
|
32923
|
+
top: `${-16 / 2 + top}px`,
|
|
32930
32924
|
background: hslaToHex(this.state.currentHslaColor)
|
|
32931
32925
|
});
|
|
32932
32926
|
}
|
|
@@ -38658,8 +38652,8 @@ var PivotRuntimeDefinition = class {
|
|
|
38658
38652
|
rows;
|
|
38659
38653
|
constructor(definition, fields) {
|
|
38660
38654
|
this.measures = definition.measures.map((measure) => createMeasure(fields, measure));
|
|
38661
|
-
this.columns = definition.columns.map((dimension) => createPivotDimension(fields, dimension));
|
|
38662
|
-
this.rows = definition.rows.map((dimension) => createPivotDimension(fields, dimension));
|
|
38655
|
+
this.columns = definition.columns.map((dimension) => this.createPivotDimension(fields, dimension));
|
|
38656
|
+
this.rows = definition.rows.map((dimension) => this.createPivotDimension(fields, dimension));
|
|
38663
38657
|
}
|
|
38664
38658
|
getDimension(nameWithGranularity) {
|
|
38665
38659
|
const dimension = this.columns.find((d) => d.nameWithGranularity === nameWithGranularity) || this.rows.find((d) => d.nameWithGranularity === nameWithGranularity);
|
|
@@ -38671,6 +38665,40 @@ var PivotRuntimeDefinition = class {
|
|
|
38671
38665
|
if (!measure) throw new EvaluationError(_t("Field %s is not a measure", id));
|
|
38672
38666
|
return measure;
|
|
38673
38667
|
}
|
|
38668
|
+
createPivotDimension(fields, dimension) {
|
|
38669
|
+
const field = fields[dimension.fieldName];
|
|
38670
|
+
const type = field?.type ?? "integer";
|
|
38671
|
+
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
38672
|
+
return {
|
|
38673
|
+
/**
|
|
38674
|
+
* Get the display name of the dimension
|
|
38675
|
+
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
38676
|
+
*/
|
|
38677
|
+
displayName: field?.string ?? dimension.fieldName,
|
|
38678
|
+
/**
|
|
38679
|
+
* Get the name of the dimension, as it is stored in the pivot formula
|
|
38680
|
+
* e.g. "stage_id", "create_date:month"
|
|
38681
|
+
*/
|
|
38682
|
+
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
38683
|
+
/**
|
|
38684
|
+
* Get the name of the field of the dimension
|
|
38685
|
+
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
38686
|
+
*/
|
|
38687
|
+
fieldName: dimension.fieldName,
|
|
38688
|
+
/**
|
|
38689
|
+
* Get the aggregate operator of the dimension
|
|
38690
|
+
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
38691
|
+
*/
|
|
38692
|
+
granularity,
|
|
38693
|
+
/**
|
|
38694
|
+
* Get the type of the field of the dimension
|
|
38695
|
+
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
38696
|
+
*/
|
|
38697
|
+
type,
|
|
38698
|
+
order: dimension.order,
|
|
38699
|
+
isValid: !!field
|
|
38700
|
+
};
|
|
38701
|
+
}
|
|
38674
38702
|
};
|
|
38675
38703
|
function createMeasure(fields, measure) {
|
|
38676
38704
|
const fieldName = measure.fieldName;
|
|
@@ -38714,40 +38742,6 @@ function createMeasure(fields, measure) {
|
|
|
38714
38742
|
display: measure.display
|
|
38715
38743
|
};
|
|
38716
38744
|
}
|
|
38717
|
-
function createPivotDimension(fields, dimension) {
|
|
38718
|
-
const field = fields[dimension.fieldName];
|
|
38719
|
-
const type = field?.type ?? "integer";
|
|
38720
|
-
const granularity = field && isDateOrDatetimeField(field) ? dimension.granularity : void 0;
|
|
38721
|
-
return {
|
|
38722
|
-
/**
|
|
38723
|
-
* Get the display name of the dimension
|
|
38724
|
-
* e.g. "stage_id" -> "Stage", "create_date:month" -> "Create Date"
|
|
38725
|
-
*/
|
|
38726
|
-
displayName: field?.string ?? dimension.fieldName,
|
|
38727
|
-
/**
|
|
38728
|
-
* Get the name of the dimension, as it is stored in the pivot formula
|
|
38729
|
-
* e.g. "stage_id", "create_date:month"
|
|
38730
|
-
*/
|
|
38731
|
-
nameWithGranularity: dimension.fieldName + (granularity ? `:${granularity}` : ""),
|
|
38732
|
-
/**
|
|
38733
|
-
* Get the name of the field of the dimension
|
|
38734
|
-
* e.g. "stage_id" -> "stage_id", "create_date:month" -> "create_date"
|
|
38735
|
-
*/
|
|
38736
|
-
fieldName: dimension.fieldName,
|
|
38737
|
-
/**
|
|
38738
|
-
* Get the aggregate operator of the dimension
|
|
38739
|
-
* e.g. "stage_id" -> undefined, "create_date:month" -> "month"
|
|
38740
|
-
*/
|
|
38741
|
-
granularity,
|
|
38742
|
-
/**
|
|
38743
|
-
* Get the type of the field of the dimension
|
|
38744
|
-
* e.g. "stage_id" -> "many2one", "create_date:month" -> "date"
|
|
38745
|
-
*/
|
|
38746
|
-
type,
|
|
38747
|
-
order: dimension.order,
|
|
38748
|
-
isValid: !!field
|
|
38749
|
-
};
|
|
38750
|
-
}
|
|
38751
38745
|
|
|
38752
38746
|
//#endregion
|
|
38753
38747
|
//#region src/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.ts
|
|
@@ -41397,11 +41391,11 @@ var FigureComponent = class extends Component {
|
|
|
41397
41391
|
getResizerPosition(resizer) {
|
|
41398
41392
|
const anchorCenteringOffset = (ANCHOR_SIZE - ACTIVE_BORDER_WIDTH) / 2;
|
|
41399
41393
|
const style = {};
|
|
41400
|
-
if (resizer.includes("top")) style.top =
|
|
41401
|
-
else if (resizer.includes("bottom")) style.bottom =
|
|
41394
|
+
if (resizer.includes("top")) style.top = `-3px`;
|
|
41395
|
+
else if (resizer.includes("bottom")) style.bottom = `-3px`;
|
|
41402
41396
|
else style.bottom = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
41403
|
-
if (resizer.includes("left")) style.left =
|
|
41404
|
-
else if (resizer.includes("right")) style.right =
|
|
41397
|
+
if (resizer.includes("left")) style.left = `-3px`;
|
|
41398
|
+
else if (resizer.includes("right")) style.right = `-3px`;
|
|
41405
41399
|
else style.right = `calc(50% - ${anchorCenteringOffset}px)`;
|
|
41406
41400
|
return cssPropertiesToCss(style);
|
|
41407
41401
|
}
|
|
@@ -52434,6 +52428,9 @@ var CustomColorsPlugin = class extends UIPlugin {
|
|
|
52434
52428
|
case "CREATE_CHART":
|
|
52435
52429
|
this.tryToAddColors(this.getChartColors(cmd.id));
|
|
52436
52430
|
break;
|
|
52431
|
+
case "COLOR_SHEET":
|
|
52432
|
+
if (cmd.color) this.tryToAddColors([cmd.color]);
|
|
52433
|
+
break;
|
|
52437
52434
|
case "UPDATE_CELL":
|
|
52438
52435
|
case "ADD_CONDITIONAL_FORMAT":
|
|
52439
52436
|
case "SET_BORDER":
|
|
@@ -52456,8 +52453,12 @@ var CustomColorsPlugin = class extends UIPlugin {
|
|
|
52456
52453
|
}
|
|
52457
52454
|
computeCustomColors() {
|
|
52458
52455
|
let usedColors = [];
|
|
52459
|
-
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
52460
|
-
return [
|
|
52456
|
+
for (const sheetId of this.getters.getSheetIds()) usedColors = usedColors.concat(this.getSheetColors(sheetId), this.getColorsFromCells(sheetId), this.getFormattingColors(sheetId), this.getTableColors(sheetId));
|
|
52457
|
+
return [.../* @__PURE__ */ new Set([...usedColors])];
|
|
52458
|
+
}
|
|
52459
|
+
getSheetColors(sheetId) {
|
|
52460
|
+
const sheet = this.getters.getSheet(sheetId);
|
|
52461
|
+
return sheet.color ? [sheet.color] : [];
|
|
52461
52462
|
}
|
|
52462
52463
|
getColorsFromCells(sheetId) {
|
|
52463
52464
|
const cells = Object.values(this.getters.getCells(sheetId));
|
|
@@ -56627,7 +56628,7 @@ var TableComputedStylePlugin = class extends UIPlugin {
|
|
|
56627
56628
|
};
|
|
56628
56629
|
}
|
|
56629
56630
|
};
|
|
56630
|
-
const invalidateTableStyleCommandsSet = new Set([
|
|
56631
|
+
const invalidateTableStyleCommandsSet = /* @__PURE__ */ new Set([
|
|
56631
56632
|
"HIDE_COLUMNS_ROWS",
|
|
56632
56633
|
"UNHIDE_COLUMNS_ROWS",
|
|
56633
56634
|
"UNFOLD_HEADER_GROUP",
|
|
@@ -60017,11 +60018,14 @@ var BottomBarSheet = class extends Component {
|
|
|
60017
60018
|
}
|
|
60018
60019
|
});
|
|
60019
60020
|
this.DOMFocusableElementStore = useStore(DOMFocusableElementStore);
|
|
60020
|
-
useExternalListener(window, "click", ()
|
|
60021
|
+
useExternalListener(window, "click", this.onExternalClick.bind(this), { capture: true });
|
|
60021
60022
|
useEffect((sheetId) => {
|
|
60022
60023
|
if (this.props.sheetId === sheetId) this.scrollToSheet();
|
|
60023
60024
|
}, () => [this.env.model.getters.getActiveSheetId()]);
|
|
60024
60025
|
}
|
|
60026
|
+
onExternalClick(ev) {
|
|
60027
|
+
if (!ev.target.closest(".o-color-picker")) this.state.pickerOpened = false;
|
|
60028
|
+
}
|
|
60025
60029
|
focusInputAndSelectContent() {
|
|
60026
60030
|
if (!this.state.isEditing || !this.sheetNameRef.el) return;
|
|
60027
60031
|
this.sheetNameRef.el.focus();
|
|
@@ -60118,6 +60122,8 @@ var BottomBarSheet = class extends Component {
|
|
|
60118
60122
|
},
|
|
60119
60123
|
openSheetColorPickerCallback: () => {
|
|
60120
60124
|
this.state.pickerOpened = true;
|
|
60125
|
+
const sheet = this.env.model.getters.getSheet(this.props.sheetId);
|
|
60126
|
+
this.state.currentPickerColor = sheet.color;
|
|
60121
60127
|
}
|
|
60122
60128
|
});
|
|
60123
60129
|
}
|
|
@@ -64052,11 +64058,11 @@ function addBarChart(chart) {
|
|
|
64052
64058
|
<!-- each data marker in the series does not have a different color -->
|
|
64053
64059
|
<c:varyColors val="0"/>
|
|
64054
64060
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
64055
|
-
<c:axId val="${
|
|
64056
|
-
<c:axId val="${
|
|
64061
|
+
<c:axId val="${17781238}" />
|
|
64062
|
+
<c:axId val="${88853994}" />
|
|
64057
64063
|
</c:barChart>
|
|
64058
|
-
${addAx("b", "c:catAx",
|
|
64059
|
-
${addAx("r", "c:valAx",
|
|
64064
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
64065
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
64060
64066
|
` : ""}`;
|
|
64061
64067
|
}
|
|
64062
64068
|
function addComboChart(chart) {
|
|
@@ -64211,11 +64217,11 @@ function addLineChart(chart) {
|
|
|
64211
64217
|
<!-- each data marker in the series does not have a different color -->
|
|
64212
64218
|
<c:varyColors val="0"/>
|
|
64213
64219
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
64214
|
-
<c:axId val="${
|
|
64215
|
-
<c:axId val="${
|
|
64220
|
+
<c:axId val="${17781238}" />
|
|
64221
|
+
<c:axId val="${88853994}" />
|
|
64216
64222
|
</c:lineChart>
|
|
64217
|
-
${addAx("b", "c:catAx",
|
|
64218
|
-
${addAx("r", "c:valAx",
|
|
64223
|
+
${addAx("b", "c:catAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
64224
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
64219
64225
|
` : ""}
|
|
64220
64226
|
`;
|
|
64221
64227
|
}
|
|
@@ -64277,11 +64283,11 @@ function addScatterChart(chart) {
|
|
|
64277
64283
|
<c:varyColors val="0"/>
|
|
64278
64284
|
<c:scatterStyle val="lineMarker"/>
|
|
64279
64285
|
${joinXmlNodes(rightDataSetsNodes)}
|
|
64280
|
-
<c:axId val="${
|
|
64281
|
-
<c:axId val="${
|
|
64286
|
+
<c:axId val="${17781238}" />
|
|
64287
|
+
<c:axId val="${88853994}" />
|
|
64282
64288
|
</c:scatterChart>
|
|
64283
|
-
${addAx("b", "c:valAx",
|
|
64284
|
-
${addAx("r", "c:valAx",
|
|
64289
|
+
${addAx("b", "c:valAx", 17781238, 88853994, chart.axesDesign?.x?.title, chart.fontColor, leftDataSetsNodes.length ? 1 : 0)}
|
|
64290
|
+
${addAx("r", "c:valAx", 88853994, 17781238, chart.axesDesign?.y1?.title, chart.fontColor)}
|
|
64285
64291
|
` : ""}`;
|
|
64286
64292
|
}
|
|
64287
64293
|
function addDoughnutChart(chart, chartSheetIndex, data, { holeSize } = { holeSize: 50 }) {
|
|
@@ -66340,6 +66346,6 @@ const constants = {
|
|
|
66340
66346
|
//#endregion
|
|
66341
66347
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
66342
66348
|
|
|
66343
|
-
__info__.version = "18.0.
|
|
66344
|
-
__info__.date = "2026-
|
|
66345
|
-
__info__.hash = "
|
|
66349
|
+
__info__.version = "18.0.73";
|
|
66350
|
+
__info__.date = "2026-07-01T05:00:54.172Z";
|
|
66351
|
+
__info__.hash = "1a9c761";
|