@odoo/o-spreadsheet 19.3.7 → 19.3.10

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.3.7
5
- @date 2026-06-17T08:57:43.204Z
6
- @hash e061163
4
+ @version 19.3.10
5
+ @date 2026-07-01T05:04:43.925Z
6
+ @hash 040ae04
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -8142,7 +8142,7 @@
8142
8142
  t-if="state.pickerOpened"
8143
8143
  anchorRect="colorPickerAnchorRect"
8144
8144
  onColorPicked.bind="onColorPicked"
8145
- currentColor="props.currentColor"
8145
+ currentColor="this.state.currentPickerColor"
8146
8146
  />
8147
8147
  </t>
8148
8148
 
@@ -39,6 +39,7 @@ export declare class BottomBarSheet extends Component<Props, SpreadsheetChildEnv
39
39
  private editionState;
40
40
  private DOMFocusableElementStore;
41
41
  setup(): void;
42
+ onExternalClick(ev: MouseEvent): void;
42
43
  private focusInputAndSelectContent;
43
44
  private scrollToSheet;
44
45
  onFocusOut(): void;
@@ -8,9 +8,9 @@ export declare class FindAndReplaceStore extends SpreadsheetStore implements Hig
8
8
  private allSheetsMatches;
9
9
  private activeSheetMatches;
10
10
  private specificRangeMatches;
11
+ private selectedMatchPosition;
11
12
  private currentSearchRegex;
12
13
  private initialShowFormulaState;
13
- private preserveSelectedMatchIndex;
14
14
  private irreplaceableMatchCount;
15
15
  private isSearchDirty;
16
16
  private shouldFinalizeUpdateSelection;
@@ -34,7 +34,7 @@ export declare class TableDropdownButton extends Component<Props, SpreadsheetChi
34
34
  get action(): ActionSpec;
35
35
  get tableConfig(): TableConfig;
36
36
  get tableStyles(): Record<string, import("../../..").TableStyle>;
37
- get pivotIdInSelection(): UID | undefined;
37
+ get dynamicPivotIdInSelection(): UID | undefined;
38
38
  get class(): string;
39
39
  }
40
40
  export {};
@@ -102,7 +102,7 @@ export declare const DEFAULT_WRAPPING_MODE: "overflow";
102
102
  export declare const DEFAULT_FONT_WEIGHT = "400";
103
103
  export declare const DEFAULT_FONT_SIZE: number;
104
104
  export declare const HEADER_FONT_SIZE = 11;
105
- export declare const DEFAULT_FONT = "'Roboto', arial";
105
+ export declare const DEFAULT_FONT = "'Roboto', arial, 'Liberation Sans'";
106
106
  export declare const DEFAULT_BORDER_DESC: BorderDescr;
107
107
  export declare const DEFAULT_FILTER_BORDER_DESC: BorderDescr;
108
108
  export declare const MAX_HISTORY_STEPS = 99;
@@ -2,7 +2,7 @@ import { Registry } from "../../registries/registry";
2
2
  import { CellValue } from "../../types/cells";
3
3
  import { Locale } from "../../types/locale";
4
4
  import { CellPosition, FunctionResultObject, Matrix, Maybe } from "../../types/misc";
5
- import { Granularity, PivotCoreDefinition, PivotCoreDimension, PivotCoreMeasure, PivotCustomGroupedField, PivotDimension, PivotDomain, PivotField, PivotFields, PivotSortedColumn, PivotStyle, PivotTableCell } from "../../types/pivot";
5
+ import { PivotCoreDefinition, PivotCoreDimension, PivotCoreMeasure, PivotCustomGroupedField, PivotDimension, PivotDomain, PivotField, PivotFields, PivotSortedColumn, PivotStyle, PivotTableCell } from "../../types/pivot";
6
6
  import { Pivot } from "../../types/pivot_runtime";
7
7
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
8
8
  import { PivotRuntimeDefinition } from "./pivot_runtime_definition";
@@ -53,7 +53,7 @@ export declare function createPivotFormula(formulaId: string, cell: PivotTableCe
53
53
  */
54
54
  export declare function toNormalizedPivotValue(dimension: Pick<PivotDimension, "type" | "displayName" | "granularity">, groupValue: Maybe<CellValue | FunctionResultObject>): CellValue;
55
55
  export declare function toFunctionPivotValue(value: CellValue, dimension: Pick<PivotDimension, "type" | "granularity">): string;
56
- export declare const pivotNormalizationValueRegistry: Registry<(value: string, granularity?: Granularity | string) => CellValue>;
56
+ export declare const pivotNormalizationValueRegistry: Registry<(value: string, dimension: Pick<PivotDimension, "type" | "displayName" | "granularity">) => CellValue>;
57
57
  export declare const pivotToFunctionValueRegistry: Registry<(value: CellValue, granularity?: string) => string>;
58
58
  export declare function getFieldDisplayName(field: PivotDimension): string;
59
59
  export declare function addAlignFormatToPivotHeader(domain: PivotDomain, functionResult: FunctionResultObject): FunctionResultObject;
@@ -181,7 +181,7 @@ export declare const registries: {
181
181
  pivotRegistry: import(".").Registry<import("./helpers/pivot/pivot_registry").PivotRegistryItem>;
182
182
  pivotTimeAdapterRegistry: import(".").Registry<import(".").PivotTimeAdapter<import(".").CellValue>>;
183
183
  pivotSidePanelRegistry: import(".").Registry<import("./helpers/pivot/pivot_side_panel_registry").PivotRegistryItem>;
184
- pivotNormalizationValueRegistry: import(".").Registry<(value: string, granularity?: import(".").Granularity | string) => import(".").CellValue>;
184
+ pivotNormalizationValueRegistry: import(".").Registry<(value: string, dimension: Pick<import(".").PivotDimension, "type" | "displayName" | "granularity">) => import(".").CellValue>;
185
185
  supportedPivotPositionalFormulaRegistry: import(".").Registry<boolean>;
186
186
  pivotToFunctionValueRegistry: import(".").Registry<(value: import(".").CellValue, granularity?: string) => string>;
187
187
  migrationStepRegistry: import(".").Registry<import("./migrations/migration_steps").MigrationStep>;
@@ -19,9 +19,11 @@ export declare class CustomColorsPlugin extends CoreViewPlugin<CustomColorState>
19
19
  finalize(): void;
20
20
  getCustomColors(): Color[];
21
21
  private computeCustomColors;
22
+ private getSheetColors;
22
23
  private getColorsFromCells;
23
24
  private getFormattingColors;
24
25
  private getChartColors;
26
+ private getCarouselColors;
25
27
  private getTableColors;
26
28
  private getTableStyleElementColors;
27
29
  private tryToAddColors;
@@ -1,3 +1,4 @@
1
+ import type * as ChartJS from "chart.js";
1
2
  import { ChartCreationContext, ChartData, ChartDataSource, ChartDataSourceType, ChartType, DataSetStyle, ExcelChartDefinition } from "../types/chart";
2
3
  import { CommandResult } from "../types/commands";
3
4
  import { CoreGetters } from "../types/core_getters";
@@ -20,7 +21,8 @@ export interface ChartDataSourceBuilder<TExternal, TInternal> {
20
21
  getContextCreation(dataSource: TExternal): ChartCreationContext;
21
22
  getHierarchicalContextCreation(dataSource: TExternal): ChartCreationContext;
22
23
  toExcelDataSets(dataSource: TInternal, dataSetStyles: DataSetStyle, getters: CoreGetters): Pick<ExcelChartDefinition, "dataSets" | "labelRange"> | undefined;
23
- onDataSetClick?: (chartType: ChartType, chartId: UID, event: unknown, items: unknown, chartJsChart: unknown, getters: Getters) => void;
24
+ onDataSetClick?: (chartType: ChartType, chartId: UID, event: ChartJS.ChartEvent, items: ChartJS.ActiveElement[], chartJsChart: ChartJS.Chart, getters: Getters) => void;
25
+ onDataSetHover?: (chartType: ChartType, chartId: UID, event: ChartJS.ChartEvent, items: ChartJS.ActiveElement[], chartJsChart: ChartJS.Chart) => void;
24
26
  }
25
27
  export interface ChartDataSourceRegistry extends Registry<ChartDataSourceBuilder<unknown, unknown>> {
26
28
  add<T extends ChartDataSourceType>(type: T, builder: ChartDataSourceBuilder<unknown, unknown>): this;
@@ -1,3 +1,4 @@
1
+ import { CoreChartOptions } from "chart.js";
1
2
  import { Getters, Range } from "../types";
2
3
  import { ChartCreationContext, ChartData, ChartRuntime, ChartType, ChartTypeDefinition, ExcelChartDefinition } from "../types/chart";
3
4
  import { CommandResult } from "../types/commands";
@@ -53,10 +54,7 @@ interface ChartDataExtractors {
53
54
  extractData(): ChartData;
54
55
  extractHierarchicalData(): ChartData;
55
56
  }
56
- interface ChartJsEventHandlers {
57
- onClick?: (event: unknown, items: unknown, chartJsChart: unknown) => void;
58
- onHover?: (event: unknown, items: unknown, chartJsChart: unknown) => void;
59
- }
57
+ export type ChartJsEventHandlers = Pick<CoreChartOptions<any>, "onClick" | "onHover">;
60
58
  export interface ChartTypeRegistry extends Registry<ChartTypeBuilder<any>> {
61
59
  add<T extends ChartType>(type: T, builder: ChartTypeBuilder<T>): this;
62
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.3.7",
3
+ "version": "19.3.10",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",
@@ -13,9 +13,6 @@
13
13
  "dist/*.xml",
14
14
  "dist/*.css"
15
15
  ],
16
- "engines": {
17
- "node": ">=22.0.0"
18
- },
19
16
  "scripts": {
20
17
  "prepare": "husky install",
21
18
  "prettier": "prettier . --write",
@@ -43,8 +40,10 @@
43
40
  "postdist": " npm run bundle:xml -- --outDir dist && npm run bundle:css -- --out dist",
44
41
  "test": "tsc --noEmit --project tests/tsconfig.json && jest",
45
42
  "monkey": "SPREADSHEET_MONKEY_COUNT=$npm_config_monkey_count jest 'tests/collaborative/collaborative_monkey_party.test.ts'",
43
+ "model-in-node": "npm run dist && node tools/run_in_node.cjs",
46
44
  "zipXlsx": "node tools/bundle_xlsx/zip_xlsx_demo.cjs",
47
- "unzipXlsx": "node tools/bundle_xlsx/unzip_xlsx_demo.cjs"
45
+ "unzipXlsx": "node tools/bundle_xlsx/unzip_xlsx_demo.cjs",
46
+ "runbot": "npm run check-formatting && npm run model-in-node && npm run test --"
48
47
  },
49
48
  "browserslist": [
50
49
  "last 1 Chrome versions"
@@ -131,6 +130,10 @@
131
130
  "@rolldown/binding-win32-arm64-msvc": "1.0.0",
132
131
  "@rolldown/binding-win32-x64-msvc": "1.0.0"
133
132
  },
133
+ "engines": {
134
+ "node": ">=24.17.0",
135
+ "npm": ">=11.13.0"
136
+ },
134
137
  "prettier": {
135
138
  "printWidth": 100,
136
139
  "xmlWhitespaceSensitivity": "ignore",
@@ -181,6 +184,6 @@
181
184
  ]
182
185
  },
183
186
  "publishConfig": {
184
- "tag": "latest"
187
+ "tag": "19-3"
185
188
  }
186
189
  }