@odoo/o-spreadsheet 19.0.48 → 19.0.49
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
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.49
|
|
6
|
+
* @date 2026-09-04T07:28:56.108Z
|
|
7
|
+
* @hash 3926688
|
|
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.49
|
|
6
|
+
* @date 2026-09-04T07:28:54.520Z
|
|
7
|
+
* @hash 3926688
|
|
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";
|
|
@@ -19422,10 +19422,10 @@ const chartShowValuesPlugin = {
|
|
|
19422
19422
|
case "bar":
|
|
19423
19423
|
case "line":
|
|
19424
19424
|
case "radar":
|
|
19425
|
-
options.horizontal ? drawHorizontalBarChartValues(chart, options, ctx) : drawLineOrBarOrRadarChartValues(chart, options, ctx);
|
|
19425
|
+
options.horizontal ? drawHorizontalBarChartValues(chart, options, ctx, { offsetFromAxisOrigin: true }) : drawLineOrBarOrRadarChartValues(chart, options, ctx);
|
|
19426
19426
|
break;
|
|
19427
19427
|
case "funnel":
|
|
19428
|
-
drawHorizontalBarChartValues(chart, options, ctx);
|
|
19428
|
+
drawHorizontalBarChartValues(chart, options, ctx, { offsetFromAxisOrigin: false });
|
|
19429
19429
|
break;
|
|
19430
19430
|
}
|
|
19431
19431
|
ctx.restore();
|
|
@@ -19466,7 +19466,7 @@ function drawLineOrBarOrRadarChartValues(chart, options, ctx) {
|
|
|
19466
19466
|
}
|
|
19467
19467
|
}
|
|
19468
19468
|
}
|
|
19469
|
-
function drawHorizontalBarChartValues(chart, options, ctx) {
|
|
19469
|
+
function drawHorizontalBarChartValues(chart, options, ctx, args) {
|
|
19470
19470
|
const textsPositions = {};
|
|
19471
19471
|
for (const dataset of chart._metasets) {
|
|
19472
19472
|
if (isTrendLineAxis(dataset.xAxisID)) return;
|
|
@@ -19481,7 +19481,7 @@ function drawHorizontalBarChartValues(chart, options, ctx) {
|
|
|
19481
19481
|
const distanceFromAxisOrigin = Math.abs(point.x - xZeroLine);
|
|
19482
19482
|
const PADDING = 3;
|
|
19483
19483
|
let xPosition;
|
|
19484
|
-
if (distanceFromAxisOrigin < textWidth) xPosition = value < 0 ? xZeroLine - textWidth / 2 - PADDING : xZeroLine + textWidth / 2 + PADDING;
|
|
19484
|
+
if (args.offsetFromAxisOrigin && distanceFromAxisOrigin < textWidth) xPosition = value < 0 ? xZeroLine - textWidth / 2 - PADDING : xZeroLine + textWidth / 2 + PADDING;
|
|
19485
19485
|
else xPosition = value < 0 ? point.x + point.width / 2 : point.x - point.width / 2;
|
|
19486
19486
|
if (!textsPositions[yPosition]) textsPositions[yPosition] = [];
|
|
19487
19487
|
for (const otherPosition of textsPositions[yPosition]) if (Math.abs(otherPosition - xPosition) < textWidth) xPosition = value < 0 ? otherPosition - textWidth - PADDING : otherPosition + textWidth + PADDING;
|
|
@@ -29572,9 +29572,10 @@ var Composer = class extends Component {
|
|
|
29572
29572
|
compositionActive = false;
|
|
29573
29573
|
spreadsheetRect = useSpreadsheetRect();
|
|
29574
29574
|
lastHoveredTokenIndex = void 0;
|
|
29575
|
-
debouncedHover = debounce((tokenIndex, hoveredRect) => {
|
|
29575
|
+
debouncedHover = debounce((tokenIndex, composerContent, hoveredRect) => {
|
|
29576
29576
|
const selection = this.contentHelper.getCurrentSelection();
|
|
29577
|
-
|
|
29577
|
+
const currentContent = this.props.composerStore.currentContent;
|
|
29578
|
+
if (selection.start !== selection.end || currentContent !== composerContent) return;
|
|
29578
29579
|
const currentHoveredContext = this.props.composerStore.hoveredTokens;
|
|
29579
29580
|
this.props.composerStore.hoverToken(tokenIndex);
|
|
29580
29581
|
if (!deepEquals(currentHoveredContext, this.props.composerStore.hoveredTokens)) this.composerState.hoveredRect = hoveredRect;
|
|
@@ -29891,7 +29892,8 @@ var Composer = class extends Component {
|
|
|
29891
29892
|
onTokenHover(tokenIndex, hoveredRect) {
|
|
29892
29893
|
if (this.lastHoveredTokenIndex !== tokenIndex) {
|
|
29893
29894
|
this.lastHoveredTokenIndex = tokenIndex;
|
|
29894
|
-
this.
|
|
29895
|
+
const composerContent = this.props.composerStore.currentContent;
|
|
29896
|
+
this.debouncedHover(tokenIndex, composerContent, hoveredRect);
|
|
29895
29897
|
}
|
|
29896
29898
|
}
|
|
29897
29899
|
/**
|
|
@@ -31496,6 +31498,42 @@ var ColorPicker = class extends Component {
|
|
|
31496
31498
|
}
|
|
31497
31499
|
};
|
|
31498
31500
|
|
|
31501
|
+
//#endregion
|
|
31502
|
+
//#region src/components/icons/raw_svgs.ts
|
|
31503
|
+
/**
|
|
31504
|
+
* SVG markup used in `css` tagged templates as `data:image/svg+xml` URIs.
|
|
31505
|
+
*
|
|
31506
|
+
* Keep these values in a separate module so Rolldown references them instead
|
|
31507
|
+
* of inlining them into template literals. Inlining produces nested template
|
|
31508
|
+
* literals, which the downstream `rjsmin` minifier cannot parse correctly
|
|
31509
|
+
* because it relies on regular expressions.
|
|
31510
|
+
*
|
|
31511
|
+
* Do not inline these constants.
|
|
31512
|
+
*/
|
|
31513
|
+
const CHECK_SVG = `
|
|
31514
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>
|
|
31515
|
+
<path fill='none' stroke='#FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/>
|
|
31516
|
+
</svg>
|
|
31517
|
+
`;
|
|
31518
|
+
const CIRCLE_SVG = `
|
|
31519
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
|
|
31520
|
+
<circle r="2" fill="#FFF"/>
|
|
31521
|
+
</svg>
|
|
31522
|
+
`;
|
|
31523
|
+
const TRANSPARENT_BACKGROUND_SVG = `
|
|
31524
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
|
|
31525
|
+
<path fill="#d9d9d9" d="M5 5h5v5H5zH0V0h5"/>
|
|
31526
|
+
</svg>
|
|
31527
|
+
`;
|
|
31528
|
+
const CURSOR_SVG = `
|
|
31529
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="16"><path d="M6.5.4c1.3-.8 2.9-.1 3.8 1.4l2.9 5.1c.2.4.9 1.6-.4 2.3l-1.6.9 1.8 3.1c.2.4.1 1-.2 1.2l-1.6 1c-.3.1-.9 0-1.1-.4l-1.8-3.1-1.6 1c-.6.4-1.7 0-2.2-.8L0 4.3"/><path fill="#fff" d="M9.1 2a1.4 1.1 60 0 0-1.7-.6L5.5 2.5l.9 1.6-1 .6-.9-1.6-.6.4 1.8 3.1-1.3.7-1.8-3.1-1 .6 3.8 6.6 6.8-3.98M3.9 8.8 10.82 5l.795 1.4-6.81 3.96"/></svg>
|
|
31530
|
+
`;
|
|
31531
|
+
const CARET_DOWN_SVG = `
|
|
31532
|
+
<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'>
|
|
31533
|
+
<polygon fill='%23374151' points='3.5 4 7 0 0 0'/>
|
|
31534
|
+
</svg>
|
|
31535
|
+
`;
|
|
31536
|
+
|
|
31499
31537
|
//#endregion
|
|
31500
31538
|
//#region src/components/side_panel/components/section/section.ts
|
|
31501
31539
|
var Section = class extends Component {
|
|
@@ -31522,11 +31560,7 @@ css`
|
|
|
31522
31560
|
cursor: pointer;
|
|
31523
31561
|
border: 1px solid ${GRAY_300};
|
|
31524
31562
|
background-position: 1px 1px;
|
|
31525
|
-
background-image: url("data:image/svg+xml,${encodeURIComponent(
|
|
31526
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
|
|
31527
|
-
<path fill="#d9d9d9" d="M5 5h5v5H5zH0V0h5"/>
|
|
31528
|
-
</svg>
|
|
31529
|
-
`)}");
|
|
31563
|
+
background-image: url("data:image/svg+xml,${encodeURIComponent(TRANSPARENT_BACKGROUND_SVG)}");
|
|
31530
31564
|
}
|
|
31531
31565
|
`;
|
|
31532
31566
|
var RoundColorPicker = class extends Component {
|
|
@@ -32787,11 +32821,6 @@ var FilterMenuCriterion = class extends Component {
|
|
|
32787
32821
|
|
|
32788
32822
|
//#endregion
|
|
32789
32823
|
//#region src/components/side_panel/components/checkbox/checkbox.ts
|
|
32790
|
-
const CHECK_SVG = `
|
|
32791
|
-
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>
|
|
32792
|
-
<path fill='none' stroke='#FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/>
|
|
32793
|
-
</svg>
|
|
32794
|
-
`;
|
|
32795
32824
|
const CHECKBOX_WIDTH = 14;
|
|
32796
32825
|
css`
|
|
32797
32826
|
label.o-checkbox {
|
|
@@ -45023,9 +45052,7 @@ var HoveredIconStore = class extends SpreadsheetStore {
|
|
|
45023
45052
|
//#region src/components/grid_overlay/grid_overlay.ts
|
|
45024
45053
|
css`
|
|
45025
45054
|
.o-paint-format-cursor {
|
|
45026
|
-
cursor: url("data:image/svg+xml,${encodeURIComponent(
|
|
45027
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="16"><path d="M6.5.4c1.3-.8 2.9-.1 3.8 1.4l2.9 5.1c.2.4.9 1.6-.4 2.3l-1.6.9 1.8 3.1c.2.4.1 1-.2 1.2l-1.6 1c-.3.1-.9 0-1.1-.4l-1.8-3.1-1.6 1c-.6.4-1.7 0-2.2-.8L0 4.3"/><path fill="#fff" d="M9.1 2a1.4 1.1 60 0 0-1.7-.6L5.5 2.5l.9 1.6-1 .6-.9-1.6-.6.4 1.8 3.1-1.3.7-1.8-3.1-1 .6 3.8 6.6 6.8-3.98M3.9 8.8 10.82 5l.795 1.4-6.81 3.96"/></svg>
|
|
45028
|
-
`)}"), auto;
|
|
45055
|
+
cursor: url("data:image/svg+xml,${encodeURIComponent(CURSOR_SVG)}"), auto;
|
|
45029
45056
|
}
|
|
45030
45057
|
`;
|
|
45031
45058
|
function useCellHovered(env, gridRef) {
|
|
@@ -48656,11 +48683,7 @@ css`
|
|
|
48656
48683
|
border-radius: 8px;
|
|
48657
48684
|
|
|
48658
48685
|
&:checked {
|
|
48659
|
-
background: url("data:image/svg+xml,${encodeURIComponent(
|
|
48660
|
-
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
|
|
48661
|
-
<circle r="2" fill="#FFF"/>
|
|
48662
|
-
</svg>
|
|
48663
|
-
`)}");
|
|
48686
|
+
background: url("data:image/svg+xml,${encodeURIComponent(CIRCLE_SVG)}");
|
|
48664
48687
|
background-color: ${ACTION_COLOR};
|
|
48665
48688
|
border-color: ${ACTION_COLOR};
|
|
48666
48689
|
}
|
|
@@ -53389,7 +53412,13 @@ var PivotSpreadsheetSidePanel = class extends Component {
|
|
|
53389
53412
|
}
|
|
53390
53413
|
onSelectionChanged(ranges) {
|
|
53391
53414
|
this.state.rangeHasChanged = true;
|
|
53392
|
-
|
|
53415
|
+
if (ranges.length === 0) {
|
|
53416
|
+
this.state.range = void 0;
|
|
53417
|
+
return;
|
|
53418
|
+
}
|
|
53419
|
+
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
53420
|
+
const range = this.env.model.getters.getRangeFromSheetXC(sheetId, ranges[0]);
|
|
53421
|
+
this.state.range = this.env.model.getters.getRangeString(range, "forceSheetReference", { useBoundedReference: true });
|
|
53393
53422
|
}
|
|
53394
53423
|
onSelectionConfirmed() {
|
|
53395
53424
|
if (this.state.range) {
|
|
@@ -59770,6 +59799,7 @@ var CarouselPlugin = class extends CorePlugin {
|
|
|
59770
59799
|
return "Success";
|
|
59771
59800
|
case "UPDATE_CAROUSEL":
|
|
59772
59801
|
if (!this.carousels[cmd.sheetId]?.[cmd.figureId]) return "InvalidFigureId";
|
|
59802
|
+
for (const item of cmd.definition.items) if (item.type === "chart" && !this.getters.getChart(item.chartId)) return "ChartDoesNotExist";
|
|
59773
59803
|
return "Success";
|
|
59774
59804
|
}
|
|
59775
59805
|
return "Success";
|
|
@@ -61364,14 +61394,16 @@ var FormulaDependencyGraph = class {
|
|
|
61364
61394
|
*/
|
|
61365
61395
|
getCellsDependingOn(ranges, visited = new RangeSet()) {
|
|
61366
61396
|
visited = visited.copy();
|
|
61397
|
+
let initialRangesToRemove = visited.copy();
|
|
61367
61398
|
const queue = Array.from(ranges).reverse();
|
|
61368
61399
|
while (queue.length > 0) {
|
|
61369
61400
|
const range = queue.pop();
|
|
61370
61401
|
visited.add(range);
|
|
61371
61402
|
const impactedRanges = this.rTree.search(range);
|
|
61372
61403
|
queue.push(...impactedRanges.difference(visited));
|
|
61404
|
+
initialRangesToRemove = initialRangesToRemove.difference(impactedRanges);
|
|
61373
61405
|
}
|
|
61374
|
-
for (const range of
|
|
61406
|
+
for (const range of initialRangesToRemove) visited.delete(range);
|
|
61375
61407
|
return visited;
|
|
61376
61408
|
}
|
|
61377
61409
|
};
|
|
@@ -74876,11 +74908,7 @@ css`
|
|
|
74876
74908
|
appearance: none;
|
|
74877
74909
|
-webkit-appearance: none;
|
|
74878
74910
|
-moz-appearance: none;
|
|
74879
|
-
background: transparent url("data:image/svg+xml,${encodeURIComponent(
|
|
74880
|
-
<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'>
|
|
74881
|
-
<polygon fill='%23374151' points='3.5 4 7 0 0 0'/>
|
|
74882
|
-
</svg>
|
|
74883
|
-
`)}")
|
|
74911
|
+
background: transparent url("data:image/svg+xml,${encodeURIComponent(CARET_DOWN_SVG)}")
|
|
74884
74912
|
no-repeat right center;
|
|
74885
74913
|
text-overflow: ellipsis;
|
|
74886
74914
|
|
|
@@ -79464,6 +79492,6 @@ const chartHelpers = {
|
|
|
79464
79492
|
//#endregion
|
|
79465
79493
|
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 };
|
|
79466
79494
|
|
|
79467
|
-
__info__.version = "19.0.
|
|
79468
|
-
__info__.date = "2026-
|
|
79469
|
-
__info__.hash = "
|
|
79495
|
+
__info__.version = "19.0.49";
|
|
79496
|
+
__info__.date = "2026-09-04T07:28:54.520Z";
|
|
79497
|
+
__info__.hash = "3926688";
|
|
@@ -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.49
|
|
6
|
+
* @date 2026-09-04T07:28:54.520Z
|
|
7
|
+
* @hash 3926688
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -19424,10 +19424,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
19424
19424
|
case "bar":
|
|
19425
19425
|
case "line":
|
|
19426
19426
|
case "radar":
|
|
19427
|
-
options.horizontal ? drawHorizontalBarChartValues(chart, options, ctx) : drawLineOrBarOrRadarChartValues(chart, options, ctx);
|
|
19427
|
+
options.horizontal ? drawHorizontalBarChartValues(chart, options, ctx, { offsetFromAxisOrigin: true }) : drawLineOrBarOrRadarChartValues(chart, options, ctx);
|
|
19428
19428
|
break;
|
|
19429
19429
|
case "funnel":
|
|
19430
|
-
drawHorizontalBarChartValues(chart, options, ctx);
|
|
19430
|
+
drawHorizontalBarChartValues(chart, options, ctx, { offsetFromAxisOrigin: false });
|
|
19431
19431
|
break;
|
|
19432
19432
|
}
|
|
19433
19433
|
ctx.restore();
|
|
@@ -19468,7 +19468,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
19468
19468
|
}
|
|
19469
19469
|
}
|
|
19470
19470
|
}
|
|
19471
|
-
function drawHorizontalBarChartValues(chart, options, ctx) {
|
|
19471
|
+
function drawHorizontalBarChartValues(chart, options, ctx, args) {
|
|
19472
19472
|
const textsPositions = {};
|
|
19473
19473
|
for (const dataset of chart._metasets) {
|
|
19474
19474
|
if (isTrendLineAxis(dataset.xAxisID)) return;
|
|
@@ -19483,7 +19483,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
19483
19483
|
const distanceFromAxisOrigin = Math.abs(point.x - xZeroLine);
|
|
19484
19484
|
const PADDING = 3;
|
|
19485
19485
|
let xPosition;
|
|
19486
|
-
if (distanceFromAxisOrigin < textWidth) xPosition = value < 0 ? xZeroLine - textWidth / 2 - PADDING : xZeroLine + textWidth / 2 + PADDING;
|
|
19486
|
+
if (args.offsetFromAxisOrigin && distanceFromAxisOrigin < textWidth) xPosition = value < 0 ? xZeroLine - textWidth / 2 - PADDING : xZeroLine + textWidth / 2 + PADDING;
|
|
19487
19487
|
else xPosition = value < 0 ? point.x + point.width / 2 : point.x - point.width / 2;
|
|
19488
19488
|
if (!textsPositions[yPosition]) textsPositions[yPosition] = [];
|
|
19489
19489
|
for (const otherPosition of textsPositions[yPosition]) if (Math.abs(otherPosition - xPosition) < textWidth) xPosition = value < 0 ? otherPosition - textWidth - PADDING : otherPosition + textWidth + PADDING;
|
|
@@ -29574,9 +29574,10 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
29574
29574
|
compositionActive = false;
|
|
29575
29575
|
spreadsheetRect = useSpreadsheetRect();
|
|
29576
29576
|
lastHoveredTokenIndex = void 0;
|
|
29577
|
-
debouncedHover = debounce((tokenIndex, hoveredRect) => {
|
|
29577
|
+
debouncedHover = debounce((tokenIndex, composerContent, hoveredRect) => {
|
|
29578
29578
|
const selection = this.contentHelper.getCurrentSelection();
|
|
29579
|
-
|
|
29579
|
+
const currentContent = this.props.composerStore.currentContent;
|
|
29580
|
+
if (selection.start !== selection.end || currentContent !== composerContent) return;
|
|
29580
29581
|
const currentHoveredContext = this.props.composerStore.hoveredTokens;
|
|
29581
29582
|
this.props.composerStore.hoverToken(tokenIndex);
|
|
29582
29583
|
if (!deepEquals(currentHoveredContext, this.props.composerStore.hoveredTokens)) this.composerState.hoveredRect = hoveredRect;
|
|
@@ -29893,7 +29894,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
29893
29894
|
onTokenHover(tokenIndex, hoveredRect) {
|
|
29894
29895
|
if (this.lastHoveredTokenIndex !== tokenIndex) {
|
|
29895
29896
|
this.lastHoveredTokenIndex = tokenIndex;
|
|
29896
|
-
this.
|
|
29897
|
+
const composerContent = this.props.composerStore.currentContent;
|
|
29898
|
+
this.debouncedHover(tokenIndex, composerContent, hoveredRect);
|
|
29897
29899
|
}
|
|
29898
29900
|
}
|
|
29899
29901
|
/**
|
|
@@ -31498,6 +31500,42 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
31498
31500
|
}
|
|
31499
31501
|
};
|
|
31500
31502
|
|
|
31503
|
+
//#endregion
|
|
31504
|
+
//#region src/components/icons/raw_svgs.ts
|
|
31505
|
+
/**
|
|
31506
|
+
* SVG markup used in `css` tagged templates as `data:image/svg+xml` URIs.
|
|
31507
|
+
*
|
|
31508
|
+
* Keep these values in a separate module so Rolldown references them instead
|
|
31509
|
+
* of inlining them into template literals. Inlining produces nested template
|
|
31510
|
+
* literals, which the downstream `rjsmin` minifier cannot parse correctly
|
|
31511
|
+
* because it relies on regular expressions.
|
|
31512
|
+
*
|
|
31513
|
+
* Do not inline these constants.
|
|
31514
|
+
*/
|
|
31515
|
+
const CHECK_SVG = `
|
|
31516
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>
|
|
31517
|
+
<path fill='none' stroke='#FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/>
|
|
31518
|
+
</svg>
|
|
31519
|
+
`;
|
|
31520
|
+
const CIRCLE_SVG = `
|
|
31521
|
+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
|
|
31522
|
+
<circle r="2" fill="#FFF"/>
|
|
31523
|
+
</svg>
|
|
31524
|
+
`;
|
|
31525
|
+
const TRANSPARENT_BACKGROUND_SVG = `
|
|
31526
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
|
|
31527
|
+
<path fill="#d9d9d9" d="M5 5h5v5H5zH0V0h5"/>
|
|
31528
|
+
</svg>
|
|
31529
|
+
`;
|
|
31530
|
+
const CURSOR_SVG = `
|
|
31531
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="16"><path d="M6.5.4c1.3-.8 2.9-.1 3.8 1.4l2.9 5.1c.2.4.9 1.6-.4 2.3l-1.6.9 1.8 3.1c.2.4.1 1-.2 1.2l-1.6 1c-.3.1-.9 0-1.1-.4l-1.8-3.1-1.6 1c-.6.4-1.7 0-2.2-.8L0 4.3"/><path fill="#fff" d="M9.1 2a1.4 1.1 60 0 0-1.7-.6L5.5 2.5l.9 1.6-1 .6-.9-1.6-.6.4 1.8 3.1-1.3.7-1.8-3.1-1 .6 3.8 6.6 6.8-3.98M3.9 8.8 10.82 5l.795 1.4-6.81 3.96"/></svg>
|
|
31532
|
+
`;
|
|
31533
|
+
const CARET_DOWN_SVG = `
|
|
31534
|
+
<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'>
|
|
31535
|
+
<polygon fill='%23374151' points='3.5 4 7 0 0 0'/>
|
|
31536
|
+
</svg>
|
|
31537
|
+
`;
|
|
31538
|
+
|
|
31501
31539
|
//#endregion
|
|
31502
31540
|
//#region src/components/side_panel/components/section/section.ts
|
|
31503
31541
|
var Section = class extends _odoo_owl.Component {
|
|
@@ -31524,11 +31562,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
31524
31562
|
cursor: pointer;
|
|
31525
31563
|
border: 1px solid ${GRAY_300};
|
|
31526
31564
|
background-position: 1px 1px;
|
|
31527
|
-
background-image: url("data:image/svg+xml,${encodeURIComponent(
|
|
31528
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
|
|
31529
|
-
<path fill="#d9d9d9" d="M5 5h5v5H5zH0V0h5"/>
|
|
31530
|
-
</svg>
|
|
31531
|
-
`)}");
|
|
31565
|
+
background-image: url("data:image/svg+xml,${encodeURIComponent(TRANSPARENT_BACKGROUND_SVG)}");
|
|
31532
31566
|
}
|
|
31533
31567
|
`;
|
|
31534
31568
|
var RoundColorPicker = class extends _odoo_owl.Component {
|
|
@@ -32789,11 +32823,6 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
32789
32823
|
|
|
32790
32824
|
//#endregion
|
|
32791
32825
|
//#region src/components/side_panel/components/checkbox/checkbox.ts
|
|
32792
|
-
const CHECK_SVG = `
|
|
32793
|
-
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>
|
|
32794
|
-
<path fill='none' stroke='#FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/>
|
|
32795
|
-
</svg>
|
|
32796
|
-
`;
|
|
32797
32826
|
const CHECKBOX_WIDTH = 14;
|
|
32798
32827
|
css`
|
|
32799
32828
|
label.o-checkbox {
|
|
@@ -45025,9 +45054,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
45025
45054
|
//#region src/components/grid_overlay/grid_overlay.ts
|
|
45026
45055
|
css`
|
|
45027
45056
|
.o-paint-format-cursor {
|
|
45028
|
-
cursor: url("data:image/svg+xml,${encodeURIComponent(
|
|
45029
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="16"><path d="M6.5.4c1.3-.8 2.9-.1 3.8 1.4l2.9 5.1c.2.4.9 1.6-.4 2.3l-1.6.9 1.8 3.1c.2.4.1 1-.2 1.2l-1.6 1c-.3.1-.9 0-1.1-.4l-1.8-3.1-1.6 1c-.6.4-1.7 0-2.2-.8L0 4.3"/><path fill="#fff" d="M9.1 2a1.4 1.1 60 0 0-1.7-.6L5.5 2.5l.9 1.6-1 .6-.9-1.6-.6.4 1.8 3.1-1.3.7-1.8-3.1-1 .6 3.8 6.6 6.8-3.98M3.9 8.8 10.82 5l.795 1.4-6.81 3.96"/></svg>
|
|
45030
|
-
`)}"), auto;
|
|
45057
|
+
cursor: url("data:image/svg+xml,${encodeURIComponent(CURSOR_SVG)}"), auto;
|
|
45031
45058
|
}
|
|
45032
45059
|
`;
|
|
45033
45060
|
function useCellHovered(env, gridRef) {
|
|
@@ -48658,11 +48685,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
48658
48685
|
border-radius: 8px;
|
|
48659
48686
|
|
|
48660
48687
|
&:checked {
|
|
48661
|
-
background: url("data:image/svg+xml,${encodeURIComponent(
|
|
48662
|
-
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
|
|
48663
|
-
<circle r="2" fill="#FFF"/>
|
|
48664
|
-
</svg>
|
|
48665
|
-
`)}");
|
|
48688
|
+
background: url("data:image/svg+xml,${encodeURIComponent(CIRCLE_SVG)}");
|
|
48666
48689
|
background-color: ${ACTION_COLOR};
|
|
48667
48690
|
border-color: ${ACTION_COLOR};
|
|
48668
48691
|
}
|
|
@@ -53391,7 +53414,13 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
53391
53414
|
}
|
|
53392
53415
|
onSelectionChanged(ranges) {
|
|
53393
53416
|
this.state.rangeHasChanged = true;
|
|
53394
|
-
|
|
53417
|
+
if (ranges.length === 0) {
|
|
53418
|
+
this.state.range = void 0;
|
|
53419
|
+
return;
|
|
53420
|
+
}
|
|
53421
|
+
const sheetId = this.env.model.getters.getActiveSheetId();
|
|
53422
|
+
const range = this.env.model.getters.getRangeFromSheetXC(sheetId, ranges[0]);
|
|
53423
|
+
this.state.range = this.env.model.getters.getRangeString(range, "forceSheetReference", { useBoundedReference: true });
|
|
53395
53424
|
}
|
|
53396
53425
|
onSelectionConfirmed() {
|
|
53397
53426
|
if (this.state.range) {
|
|
@@ -59772,6 +59801,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59772
59801
|
return "Success";
|
|
59773
59802
|
case "UPDATE_CAROUSEL":
|
|
59774
59803
|
if (!this.carousels[cmd.sheetId]?.[cmd.figureId]) return "InvalidFigureId";
|
|
59804
|
+
for (const item of cmd.definition.items) if (item.type === "chart" && !this.getters.getChart(item.chartId)) return "ChartDoesNotExist";
|
|
59775
59805
|
return "Success";
|
|
59776
59806
|
}
|
|
59777
59807
|
return "Success";
|
|
@@ -61366,14 +61396,16 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
61366
61396
|
*/
|
|
61367
61397
|
getCellsDependingOn(ranges, visited = new RangeSet()) {
|
|
61368
61398
|
visited = visited.copy();
|
|
61399
|
+
let initialRangesToRemove = visited.copy();
|
|
61369
61400
|
const queue = Array.from(ranges).reverse();
|
|
61370
61401
|
while (queue.length > 0) {
|
|
61371
61402
|
const range = queue.pop();
|
|
61372
61403
|
visited.add(range);
|
|
61373
61404
|
const impactedRanges = this.rTree.search(range);
|
|
61374
61405
|
queue.push(...impactedRanges.difference(visited));
|
|
61406
|
+
initialRangesToRemove = initialRangesToRemove.difference(impactedRanges);
|
|
61375
61407
|
}
|
|
61376
|
-
for (const range of
|
|
61408
|
+
for (const range of initialRangesToRemove) visited.delete(range);
|
|
61377
61409
|
return visited;
|
|
61378
61410
|
}
|
|
61379
61411
|
};
|
|
@@ -74878,11 +74910,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
74878
74910
|
appearance: none;
|
|
74879
74911
|
-webkit-appearance: none;
|
|
74880
74912
|
-moz-appearance: none;
|
|
74881
|
-
background: transparent url("data:image/svg+xml,${encodeURIComponent(
|
|
74882
|
-
<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'>
|
|
74883
|
-
<polygon fill='%23374151' points='3.5 4 7 0 0 0'/>
|
|
74884
|
-
</svg>
|
|
74885
|
-
`)}")
|
|
74913
|
+
background: transparent url("data:image/svg+xml,${encodeURIComponent(CARET_DOWN_SVG)}")
|
|
74886
74914
|
no-repeat right center;
|
|
74887
74915
|
text-overflow: ellipsis;
|
|
74888
74916
|
|
|
@@ -79517,8 +79545,8 @@ exports.stores = stores;
|
|
|
79517
79545
|
exports.tokenColors = tokenColors;
|
|
79518
79546
|
exports.tokenize = tokenize;
|
|
79519
79547
|
|
|
79520
|
-
__info__.version = "19.0.
|
|
79521
|
-
__info__.date = "2026-
|
|
79522
|
-
__info__.hash = "
|
|
79548
|
+
__info__.version = "19.0.49";
|
|
79549
|
+
__info__.date = "2026-09-04T07:28:54.520Z";
|
|
79550
|
+
__info__.hash = "3926688";
|
|
79523
79551
|
|
|
79524
79552
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|