@odoo/o-spreadsheet 19.4.0-alpha.6 → 19.4.0-alpha.7

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.
@@ -1,9 +1,9 @@
1
1
  <!--
2
2
  This file is generated by o-spreadsheet build tools. Do not edit it.
3
3
  @see https://github.com/odoo/o-spreadsheet
4
- @version 19.4.0-alpha.6
5
- @date 2026-05-15T07:08:42.679Z
6
- @hash 0207b9d
4
+ @version 19.4.0-alpha.7
5
+ @date 2026-05-20T14:40:28.259Z
6
+ @hash 7ee566f
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -2,23 +2,37 @@
2
2
  * Block of code that produces a value.
3
3
  */
4
4
  export interface FunctionCode {
5
- readonly returnExpression: string;
5
+ readonly returnExpression: JsString;
6
6
  /**
7
7
  * Return the same function code but with the return expression assigned to a variable.
8
8
  */
9
9
  assignResultToVariable(): FunctionCode;
10
10
  }
11
+ declare class JsString extends String {
12
+ private brand;
13
+ }
14
+ type SafeJsValue = JsString | number | boolean | (JsString | number | boolean)[];
15
+ /**
16
+ * Creates a JsString from a raw string, bypassing the template string interpolation checks.
17
+ * This can lead to security vulnerabilities if the string is not trusted!
18
+ */
19
+ export declare function dangerouslyCreateJsStr(trustedStr: string): JsString;
20
+ /**
21
+ * Creates a JsString from a template string, ensuring that all interpolated values are safe.
22
+ */
23
+ export declare function jsStr(strings: TemplateStringsArray, ...values: SafeJsValue[]): JsString;
11
24
  export declare class FunctionCodeBuilder {
12
25
  private scope;
13
26
  private code;
14
27
  constructor(scope?: Scope);
15
- append(...lines: (string | FunctionCode)[]): void;
16
- return(expression: string): FunctionCode;
28
+ append(...lines: (JsString | FunctionCode)[]): void;
29
+ return(expression: JsString): FunctionCode;
17
30
  toString(): string;
18
31
  }
19
32
  export declare class Scope {
20
33
  private nextId;
21
34
  private declaredVariables;
22
- nextVariableName(): string;
23
- isAlreadyDeclared(name: string): boolean;
35
+ nextVariableName(): JsString;
36
+ isAlreadyDeclared(name: JsString): boolean;
24
37
  }
38
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Chart, ChartDataset, LegendItem } from "chart.js";
2
+ export declare function highlightComboChartItem(item: LegendItem, dataSets: ChartDataset<"bar" | "line">[]): void;
3
+ export declare function resetComboChartHighlights(dataSets: ChartDataset<"bar" | "line">[]): void;
4
+ export declare function highlightLineChartItem(item: LegendItem, dataSets: ChartDataset<"line" | "radar">[]): void;
5
+ export declare function resetLineChartHighlights(dataSets: ChartDataset<"line" | "radar">[]): void;
6
+ export declare function toggleLineBarDataVisibility(chart: Chart<"line" | "bar" | "radar">, item: LegendItem): void;
7
+ export declare function highlightPieChartItem(item: LegendItem, dataSets: ChartDataset<"pie">[]): void;
8
+ export declare function resetPieChartHighlights(dataSets: ChartDataset<"pie">[]): void;
9
+ export declare function togglePieDataVisibility(chart: Chart, item: LegendItem): void;
@@ -1,24 +1,26 @@
1
- import { LegendOptions } from "chart.js";
1
+ import type { ChartTypeRegistry, LegendOptions } from "chart.js";
2
2
  import { BarChartDefinition } from "../../../../types/chart/bar_chart";
3
3
  import { BubbleChartDefinition } from "../../../../types/chart/bubble_chart";
4
4
  import { ChartRuntimeGenerationArgs, GenericDefinition } from "../../../../types/chart/chart";
5
5
  import { ComboChartDefinition } from "../../../../types/chart/combo_chart";
6
6
  import { LineChartDefinition } from "../../../../types/chart/line_chart";
7
7
  import { PieChartDefinition } from "../../../../types/chart/pie_chart";
8
+ import { PyramidChartDefinition } from "../../../../types/chart/pyramid_chart";
8
9
  import { RadarChartDefinition } from "../../../../types/chart/radar_chart";
9
10
  import { SunburstChartDefinition } from "../../../../types/chart/sunburst_chart";
10
11
  import { WaterfallChartDefinition } from "../../../../types/chart/waterfall_chart";
11
12
  import { DeepPartial } from "../../../../types/misc";
12
13
  import { Range } from "../../../../types/range";
13
14
  import { BubbleChartData } from "../bubble_chart";
14
- type ChartLegend = DeepPartial<LegendOptions<any>>;
15
- export declare function getBarChartLegend(definition: GenericDefinition<BarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
16
- export declare function getLineChartLegend(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
17
- export declare function getPieChartLegend(definition: GenericDefinition<PieChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
18
- export declare function getScatterChartLegend(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
15
+ type ChartLegend<T extends keyof ChartTypeRegistry = any> = DeepPartial<LegendOptions<T>>;
16
+ export declare function getBarChartLegend(definition: GenericDefinition<BarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"bar">;
17
+ export declare function getPyramidChartLegend(definition: GenericDefinition<PyramidChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"bar">;
18
+ export declare function getLineChartLegend(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"line">;
19
+ export declare function getPieChartLegend(definition: GenericDefinition<PieChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"pie">;
20
+ export declare function getScatterChartLegend(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"line">;
19
21
  export declare function getBubbleChartLegend(definition: BubbleChartDefinition<Range>, args: BubbleChartData): ChartLegend;
20
- export declare function getComboChartLegend(definition: GenericDefinition<ComboChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
21
- export declare function getWaterfallChartLegend(definition: WaterfallChartDefinition, args: ChartRuntimeGenerationArgs): ChartLegend;
22
- export declare function getRadarChartLegend(definition: GenericDefinition<RadarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend;
23
- export declare function getSunburstChartLegend(definition: SunburstChartDefinition, args: ChartRuntimeGenerationArgs): ChartLegend;
22
+ export declare function getComboChartLegend(definition: GenericDefinition<ComboChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"bar" | "line">;
23
+ export declare function getWaterfallChartLegend(definition: WaterfallChartDefinition, args: ChartRuntimeGenerationArgs): ChartLegend<"bar">;
24
+ export declare function getRadarChartLegend(definition: GenericDefinition<RadarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartLegend<"radar">;
25
+ export declare function getSunburstChartLegend(definition: SunburstChartDefinition, args: ChartRuntimeGenerationArgs): ChartLegend<"doughnut">;
24
26
  export {};
@@ -1,4 +1,4 @@
1
- import { ChartDataset, ScaleChartOptions } from "chart.js";
1
+ import type { ChartDataset, ChartTypeRegistry, ScaleChartOptions } from "chart.js";
2
2
  import { ChartColorScalePluginOptions } from "../../../../components/figures/chart/chartJs/chartjs_colorscale_plugin";
3
3
  import { BarChartDefinition } from "../../../../types/chart/bar_chart";
4
4
  import { BubbleChartDefinition } from "../../../../types/chart/bubble_chart";
@@ -13,18 +13,17 @@ import { ScatterChartDefinition } from "../../../../types/chart/scatter_chart";
13
13
  import { WaterfallChartDefinition } from "../../../../types/chart/waterfall_chart";
14
14
  import { Color, DeepPartial } from "../../../../types/misc";
15
15
  import { Range } from "../../../../types/range";
16
- type ChartScales = DeepPartial<ScaleChartOptions<"line" | "bar" | "radar">["scales"]>;
17
- type GeoChartScales = DeepPartial<ScaleChartOptions<"choropleth">["scales"]>;
18
- export declare function getBarChartScales(definition: GenericDefinition<BarChartDefinition>, args: ChartRuntimeGenerationArgs): DeepPartial<ScaleChartOptions<"line" | "bar">["scales"]>;
19
- export declare function getCalendarChartScales(definition: GenericDefinition<BarChartDefinition>, datasets: ChartDataset[]): DeepPartial<ScaleChartOptions<"calendar">["scales"]>;
16
+ type ChartScales<T extends keyof ChartTypeRegistry = any> = DeepPartial<ScaleChartOptions<T>["scales"]>;
17
+ export declare function getBarChartScales(definition: GenericDefinition<BarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartScales<"line" | "bar">;
18
+ export declare function getCalendarChartScales(definition: GenericDefinition<BarChartDefinition>, datasets: ChartDataset[]): ChartScales<"calendar">;
20
19
  export declare function getCalendarColorScale(definition: CalendarChartDefinition, args: ChartRuntimeGenerationArgs): ChartColorScalePluginOptions | undefined;
21
- export declare function getLineChartScales(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): DeepPartial<ScaleChartOptions<"line">["scales"]>;
22
- export declare function getScatterChartScales(definition: GenericDefinition<ScatterChartDefinition>, args: ChartRuntimeGenerationArgs): DeepPartial<ScaleChartOptions<"line">["scales"]>;
20
+ export declare function getLineChartScales(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): ChartScales<"line">;
21
+ export declare function getScatterChartScales(definition: GenericDefinition<ScatterChartDefinition>, args: ChartRuntimeGenerationArgs): ChartScales<"line">;
23
22
  export declare function getBubbleChartScales(definition: BubbleChartDefinition<string | Range>, args: ChartRuntimeGenerationArgs): DeepPartial<ScaleChartOptions<"line">["scales"]>;
24
- export declare function getWaterfallChartScales(definition: WaterfallChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales;
25
- export declare function getPyramidChartScales(definition: PyramidChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales;
26
- export declare function getRadarChartScales(definition: GenericDefinition<RadarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartScales;
27
- export declare function getGeoChartScales(definition: GeoChartDefinition, args: GeoChartRuntimeGenerationArgs): GeoChartScales;
28
- export declare function getFunnelChartScales(definition: FunnelChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales;
23
+ export declare function getWaterfallChartScales(definition: WaterfallChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales<"bar">;
24
+ export declare function getPyramidChartScales(definition: PyramidChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales<"bar">;
25
+ export declare function getRadarChartScales(definition: GenericDefinition<RadarChartDefinition>, args: ChartRuntimeGenerationArgs): ChartScales<"radar">;
26
+ export declare function getGeoChartScales(definition: GeoChartDefinition, args: GeoChartRuntimeGenerationArgs): ChartScales<"choropleth">;
27
+ export declare function getFunnelChartScales(definition: FunnelChartDefinition, args: ChartRuntimeGenerationArgs): ChartScales<"funnel">;
29
28
  export declare function getRuntimeColorScale(colorScale: ChartColorScale, minValue?: number, maxValue?: number): (value: number) => Color;
30
29
  export {};
@@ -11,6 +11,10 @@ export declare function getFirstPivotFunction(compiledFormula: CompiledFormula,
11
11
  functionName: string;
12
12
  args: import("../..").AST[];
13
13
  };
14
+ export declare function getPivotFunctions(compiledFormula: CompiledFormula, getters: CoreGetters): {
15
+ functionName: string;
16
+ args: import("../..").AST[];
17
+ }[];
14
18
  /**
15
19
  * Parse a spreadsheet formula and detect the number of PIVOT functions that are
16
20
  * present in the given formula.
@@ -421,6 +421,7 @@ export declare const constants: {
421
421
  GRID_ICON_EDGE_LENGTH: number;
422
422
  GRID_ICON_MARGIN: number;
423
423
  CHART_TYPES: readonly ["line", "bar", "pie", "scorecard", "gauge", "scatter", "bubble", "combo", "waterfall", "pyramid", "radar", "geo", "funnel", "sunburst", "treemap", "calendar"];
424
+ DARK_MODE_FILTER_STRING: string;
424
425
  };
425
426
  export declare const chartHelpers: typeof CHART_HELPERS & typeof CHART_RUNTIME_HELPERS;
426
427
  export { SpreadsheetPivotTable } from "./helpers/pivot/table_spreadsheet_pivot";
@@ -1,12 +1,17 @@
1
1
  import { CompiledFormula } from "../../formulas/compiler";
2
+ import { CellValue } from "../../types/cells";
2
3
  import { Command } from "../../types/commands";
3
- import { CellPosition, SortDirection, UID } from "../../types/misc";
4
+ import { CellPosition, Matrix, SortDirection, UID } from "../../types/misc";
4
5
  import { PivotCoreMeasure, PivotStyle, PivotTableCell } from "../../types/pivot";
5
6
  import { Pivot } from "../../types/pivot_runtime";
6
7
  import { CoreViewPlugin, CoreViewPluginConfig } from "../core_view_plugin";
7
8
  export declare const UNDO_REDO_PIVOT_COMMANDS: string[];
9
+ interface PivotEvaluatedArgs {
10
+ functionName: string;
11
+ args: (CellValue | Matrix<CellValue> | undefined)[];
12
+ }
8
13
  export declare class PivotUIPlugin extends CoreViewPlugin {
9
- static getters: readonly ["getPivot", "getFirstPivotFunction", "getPivotCellSortDirection", "getPivotIdFromPosition", "getPivotCellFromPosition", "generateNewCalculatedMeasureName", "isPivotUnused", "isSpillPivotFormula", "getAllPivotArrayFormulas", "getPivotStyleAtPosition"];
14
+ static getters: readonly ["getPivot", "getFirstPivotFunction", "getPivotCellSortDirection", "getPivotIdFromPosition", "getPivotIdsFromPosition", "getPivotCellFromPosition", "generateNewCalculatedMeasureName", "isPivotUnused", "isSpillPivotFormula", "getAllPivotArrayFormulas", "getPivotStyleAtPosition"];
10
15
  private pivots;
11
16
  private unusedPivotsInFormulas?;
12
17
  private custom;
@@ -14,15 +19,18 @@ export declare class PivotUIPlugin extends CoreViewPlugin {
14
19
  beforeHandle(cmd: Command): void;
15
20
  handle(cmd: Command): void;
16
21
  /**
17
- * Get the id of the pivot at the given position. Returns undefined if there
22
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
18
23
  * is no pivot at this position
19
24
  */
20
- getPivotIdFromPosition(position: CellPosition): "" | UID | undefined;
25
+ getPivotIdFromPosition(position: CellPosition): UID | undefined;
26
+ /**
27
+ * Get all of the ids of the pivot present in the formula at the given position.
28
+ */
29
+ getPivotIdsFromPosition(position: CellPosition): UID[];
30
+ private getPivotIdsFromFormula;
21
31
  isSpillPivotFormula(position: CellPosition): boolean;
22
- getFirstPivotFunction(sheetId: UID, compiledFormula: CompiledFormula): {
23
- functionName: string;
24
- args: (import("../..").CellValue | import("../..").Matrix<import("../..").CellValue> | undefined)[];
25
- } | undefined;
32
+ private getPivotFunctions;
33
+ getFirstPivotFunction(sheetId: UID, formula: CompiledFormula): PivotEvaluatedArgs | undefined;
26
34
  /**
27
35
  * Returns the domain args of a pivot formula from a position.
28
36
  * For all those formulas:
@@ -60,3 +68,4 @@ export declare class PivotUIPlugin extends CoreViewPlugin {
60
68
  } | undefined;
61
69
  private isMainFunctionPivotSpreadFunction;
62
70
  }
71
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.4.0-alpha.6",
3
+ "version": "19.4.0-alpha.7",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",