@odoo/o-spreadsheet 19.5.0-alpha.3 → 19.5.0-alpha.5

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.
Files changed (80) hide show
  1. package/dist/o_spreadsheet.cjs +50825 -50795
  2. package/dist/o_spreadsheet.css +3 -7
  3. package/dist/o_spreadsheet.esm.js +50550 -50520
  4. package/dist/o_spreadsheet.iife.js +50540 -50510
  5. package/dist/o_spreadsheet.min.iife.js +272 -272
  6. package/dist/o_spreadsheet.xml +7 -7
  7. package/dist/types/components/autofill/autofill.d.ts +3 -0
  8. package/dist/types/{plugins/ui_feature/autofill.d.ts → components/autofill/autofill_store.d.ts} +6 -11
  9. package/dist/types/components/autofill/table_autofill_store.d.ts +6 -0
  10. package/dist/types/components/border_editor/border_editor_widget.d.ts +1 -0
  11. package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +2 -0
  12. package/dist/types/components/composer/composer/abstract_composer_store.d.ts +3 -2
  13. package/dist/types/components/composer/composer/composer.d.ts +2 -1
  14. package/dist/types/components/composer/grid_composer/grid_composer.d.ts +1 -0
  15. package/dist/types/components/dashboard/clickable_cell_store.d.ts +1 -0
  16. package/dist/types/components/dashboard/dashboard.d.ts +1 -0
  17. package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +1 -0
  18. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +1 -0
  19. package/dist/types/components/figures/figure_container/figure_container.d.ts +1 -0
  20. package/dist/types/components/grid/grid.d.ts +4 -0
  21. package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +1 -0
  22. package/dist/types/components/grid_overlay/grid_overlay.d.ts +1 -0
  23. package/dist/types/components/grid_popover/grid_popover.d.ts +1 -0
  24. package/dist/types/components/header_group/header_group_container.d.ts +2 -0
  25. package/dist/types/components/headers_overlay/headers_overlay.d.ts +3 -0
  26. package/dist/types/components/headers_overlay/unhide_headers.d.ts +4 -0
  27. package/dist/types/components/helpers/figure_snap_helper.d.ts +3 -3
  28. package/dist/types/components/highlight/border/border.d.ts +2 -0
  29. package/dist/types/components/highlight/corner/corner.d.ts +1 -0
  30. package/dist/types/components/highlight/highlight/highlight.d.ts +2 -0
  31. package/dist/types/components/paint_format_button/paint_format_store.d.ts +1 -1
  32. package/dist/types/components/popover/cell_popover_store.d.ts +2 -1
  33. package/dist/types/components/props_validation.d.ts +7 -7
  34. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +2 -0
  35. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +2 -0
  36. package/dist/types/components/selection_input/selection_input_store.d.ts +1 -1
  37. package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +1 -1
  38. package/dist/types/components/side_panel/chart/common.d.ts +1 -1
  39. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cell_is_rule_editor.d.ts +1 -1
  40. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor.d.ts +1 -1
  41. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor_threshold.d.ts +1 -1
  42. package/dist/types/components/side_panel/conditional_formatting/cf_editor/data_bar_rule_editor.d.ts +1 -1
  43. package/dist/types/components/side_panel/conditional_formatting/cf_editor/icon_set_rule_editor.d.ts +1 -1
  44. package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +1 -0
  45. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +1 -0
  46. package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +3 -10
  47. package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +1 -1
  48. package/dist/types/components/small_bottom_bar/small_bottom_bar.d.ts +1 -0
  49. package/dist/types/components/spreadsheet/spreadsheet.d.ts +1 -0
  50. package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +1 -1
  51. package/dist/types/components/tables/table_resizer/table_resizer.d.ts +1 -0
  52. package/dist/types/components/top_bar/zoom_editor/zoom_editor.d.ts +2 -1
  53. package/dist/types/formulas/compiler.d.ts +1 -0
  54. package/dist/types/helpers/carousel_helpers.d.ts +8 -1
  55. package/dist/types/helpers/figures/charts/chart_common.d.ts +0 -2
  56. package/dist/types/helpers/figures/figure/figure.d.ts +3 -2
  57. package/dist/types/helpers/pivot/pivot_highlight.d.ts +2 -2
  58. package/dist/types/helpers/viewport_collection.d.ts +9 -7
  59. package/dist/types/index.d.ts +6 -0
  60. package/dist/types/plugins/core/squisher.d.ts +1 -0
  61. package/dist/types/plugins/ui_feature/figure.d.ts +4 -0
  62. package/dist/types/plugins/ui_stateful/carousel_ui.d.ts +2 -2
  63. package/dist/types/stores/array_formula_highlight.d.ts +1 -1
  64. package/dist/types/{plugins/ui_feature/automatic_sum.d.ts → stores/automatic_sum_store.d.ts} +5 -4
  65. package/dist/types/stores/checkbox_toggle.d.ts +9 -0
  66. package/dist/types/stores/client_focus_store.d.ts +1 -0
  67. package/dist/types/stores/data_cleanup_store.d.ts +31 -0
  68. package/dist/types/stores/spreadsheet_store.d.ts +1 -1
  69. package/dist/types/stores/trim_whitespace_store.d.ts +9 -0
  70. package/dist/types/stores/viewports_store.d.ts +73 -0
  71. package/dist/types/types/commands.d.ts +12 -53
  72. package/dist/types/types/getters.d.ts +2 -6
  73. package/dist/types/types/misc.d.ts +6 -0
  74. package/dist/types/types/range.d.ts +1 -0
  75. package/dist/types/types/store_engine.d.ts +10 -3
  76. package/package.json +2 -2
  77. package/dist/types/plugins/ui_feature/checkbox_toggle.d.ts +0 -9
  78. package/dist/types/plugins/ui_feature/data_cleanup.d.ts +0 -16
  79. package/dist/types/plugins/ui_feature/table_autofill.d.ts +0 -6
  80. package/dist/types/plugins/ui_stateful/sheetview.d.ts +0 -123
@@ -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.5.0-alpha.3
5
- @date 2026-07-14T10:17:07.928Z
6
- @hash c029184
4
+ @version 19.5.0-alpha.5
5
+ @date 2026-07-20T10:50:14.853Z
6
+ @hash a599d86
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -979,7 +979,7 @@
979
979
  <t t-set="dataHasHeaderLabel">Data has header row</t>
980
980
  <Checkbox
981
981
  name="'dataHasHeader'"
982
- value="this.state.hasHeader"
982
+ value="this.dataCleanupSore.hasHeader"
983
983
  label="dataHasHeaderLabel"
984
984
  onChange.bind="this.toggleHasHeader"
985
985
  />
@@ -994,9 +994,9 @@
994
994
  onChange.bind="this.toggleAllColumns"
995
995
  />
996
996
 
997
- <t t-foreach="Object.keys(this.state.columns)" t-as="colIndex" t-key="colIndex">
997
+ <t t-foreach="Object.keys(this.dataCleanupSore.columns)" t-as="colIndex" t-key="colIndex">
998
998
  <Checkbox
999
- value="this.state.columns[colIndex]"
999
+ value="this.dataCleanupSore.columns[colIndex]"
1000
1000
  label="this.getColLabel(colIndex)"
1001
1001
  onChange="() => this.toggleColumn(colIndex)"
1002
1002
  />
@@ -7479,7 +7479,7 @@
7479
7479
  />
7480
7480
  <HeadersOverlay onOpenContextMenu="(type, x, y) => this.toggleContextMenu(type, x, y)"/>
7481
7481
  <GridComposer
7482
- gridDims="this.env.model.getters.getSheetViewDimensionWithHeaders()"
7482
+ gridDims="this.viewStore.viewports.getSheetViewDimensionWithHeaders()"
7483
7483
  onInputContextMenu.bind="this.onInputContextMenu"
7484
7484
  />
7485
7485
  <canvas t-ref="this.canvasRef" class="os-theme-dependant pe-none"/>
@@ -19,6 +19,9 @@ export declare class Autofill extends Component<SpreadsheetChildEnv> {
19
19
  clientY: number;
20
20
  }, onPointerMove: (col: HeaderIndex, row: HeaderIndex, ev: MouseEvent) => void, onPointerUp: () => void, startScrollDirection?: import("../helpers/drag_and_drop_grid_hook").DnDDirection) => void;
21
21
  };
22
+ private viewStore;
23
+ private autofillStore;
24
+ setup(): void;
22
25
  get style(): string;
23
26
  get handlerStyle(): string;
24
27
  get styleNextValue(): string;
@@ -1,22 +1,17 @@
1
+ import { SpreadsheetStore } from "../../stores/spreadsheet_store";
1
2
  import { Tooltip } from "../../types/autofill";
2
- import { Command, CommandResult, LocalCommand } from "../../types/commands";
3
+ import { Command } from "../../types/commands";
4
+ import { HeaderIndex } from "../../types/misc";
3
5
  import { GridRenderingContext } from "../../types/rendering";
4
- import { UIPlugin } from "../ui_plugin";
5
- /**
6
- * Autofill Plugin
7
- *
8
- */
9
- export declare class AutofillPlugin extends UIPlugin {
6
+ export declare class AutofillStore extends SpreadsheetStore {
10
7
  static layers: readonly ["Autofill"];
11
- static getters: readonly ["getAutofillTooltip"];
12
8
  private autofillZone;
13
9
  private steps;
14
10
  private lastCellSelected;
15
11
  private direction;
16
- private tooltip;
17
- allowDispatch(cmd: LocalCommand): CommandResult;
12
+ tooltip: Tooltip | undefined;
13
+ canAutofillSelect(col: HeaderIndex, row: HeaderIndex): boolean;
18
14
  handle(cmd: Command): void;
19
- getAutofillTooltip(): Tooltip | undefined;
20
15
  /**
21
16
  * Autofill the autofillZone from the current selection
22
17
  * @param apply Flag set to true to apply the autofill in the model. It's
@@ -0,0 +1,6 @@
1
+ import { SpreadsheetStore } from "../../stores/spreadsheet_store";
2
+ import { Command } from "../../types/commands";
3
+ export declare class TableAutofillStore extends SpreadsheetStore {
4
+ handle(cmd: Command): void;
5
+ private autofillTableZone;
6
+ }
@@ -20,6 +20,7 @@ export declare class BorderEditorWidget extends Component<SpreadsheetChildEnv> {
20
20
  class?: string | undefined;
21
21
  }>;
22
22
  topBarToolStore: ToolBarDropdownStore;
23
+ private viewStore;
23
24
  borderEditorButtonRef: import("@odoo/owl").Signal<HTMLElement | null>;
24
25
  state: State;
25
26
  setup(): void;
@@ -2,6 +2,8 @@ import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
2
2
  import { Component } from "../../owl3_compatibility_layer";
3
3
  export declare class ClientTag extends Component<SpreadsheetChildEnv> {
4
4
  static template: string;
5
+ private viewStore;
6
+ setup(): void;
5
7
  protected props: import("@odoo/owl").Props<{
6
8
  active: boolean;
7
9
  name: string;
@@ -4,7 +4,7 @@ import { NotificationStore } from "../../../stores/notification_store";
4
4
  import { SpreadsheetStore } from "../../../stores/spreadsheet_store";
5
5
  import { Command } from "../../../types/commands";
6
6
  import { CellPosition, Direction, EditionMode, HeaderIndex, Highlight, UID, UnboundedZone, Zone } from "../../../types/misc";
7
- import { Get } from "../../../types/store_engine";
7
+ import { Get, Store } from "../../../types/store_engine";
8
8
  export interface ComposerSelection {
9
9
  start: number;
10
10
  end: number;
@@ -26,8 +26,9 @@ export declare abstract class AbstractComposerStore extends SpreadsheetStore {
26
26
  hoveredTokens: EnrichedToken[];
27
27
  hoveredContentEvaluation: string;
28
28
  private autoCompleteKeepLast;
29
- protected notificationStore: import("../../../types/store_engine").CQS<Pick<NotificationStore, "notifyUser" | "raiseError" | "askConfirmation" | "updateNotificationCallbacks"> & import("../../../types/store_engine").OmitFunctions<NotificationStore>>;
29
+ protected notificationStore: Store<NotificationStore>;
30
30
  private highlightStore;
31
+ private viewStore;
31
32
  constructor(get: Get);
32
33
  protected abstract confirmEdition(content: string): void;
33
34
  protected abstract getComposerContent(position: CellPosition, selection?: ComposerSelection): {
@@ -5,6 +5,7 @@ import { FunctionDescription } from "../../../types/functions";
5
5
  import { CSSProperties, Color } from "../../../types/misc";
6
6
  import { Rect } from "../../../types/rendering";
7
7
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
8
+ import { Store } from "../../../types/store_engine";
8
9
  import { TextValueProvider } from "../autocomplete_dropdown/autocomplete_dropdown";
9
10
  import { ContentEditableHelper } from "../content_editable_helper";
10
11
  import { FunctionDescriptionProvider } from "../formula_assistant/formula_assistant";
@@ -41,7 +42,7 @@ export declare class Composer extends Component<SpreadsheetChildEnv> {
41
42
  inputStyle: string;
42
43
  onComposerContentFocused: (selection: ComposerSelection) => void;
43
44
  isDefaultFocus: boolean;
44
- composerStore: import("../../../types/store_engine").CQS<Pick<AbstractComposerStore, "stopEdition" | "hoverToken" | "changeComposerCursorSelection" | "stopComposerRangeSelection" | "startEdition" | "cancelEdition" | "setCurrentContent" | "replaceComposerCursorSelection" | "cycleReferences" | "toggleEditionMode" | "hideHelp" | "autoCompleteOrStop" | "insertAutoCompleteValue" | "selectAutoCompleteIndex" | "moveAutoCompleteSelection"> & import("../../../types/store_engine").OmitFunctions<AbstractComposerStore>>;
45
+ composerStore: Store<AbstractComposerStore>;
45
46
  inputMode: string;
46
47
  showAssistant: boolean;
47
48
  rect?: Rect | undefined;
@@ -24,6 +24,7 @@ export declare class GridComposer extends Component<SpreadsheetChildEnv> {
24
24
  private currentEditedCell;
25
25
  private composerStore;
26
26
  composerFocusStore: Store<ComposerFocusStore>;
27
+ private viewStore;
27
28
  private composerInterface;
28
29
  get defaultRect(): {
29
30
  x: number;
@@ -13,6 +13,7 @@ export interface ClickableCell {
13
13
  componentProps: Record<string, unknown>;
14
14
  }
15
15
  export declare class ClickableCellsStore extends SpreadsheetStore {
16
+ private viewStore;
16
17
  private _clickableCells;
17
18
  private _registryItems;
18
19
  handle(cmd: Command): void;
@@ -27,6 +27,7 @@ export declare class SpreadsheetDashboard extends Component<SpreadsheetChildEnv>
27
27
  canvasPosition: DOMCoordinates;
28
28
  hoveredCell: Store<DelayedHoveredCellStore>;
29
29
  clickableCellsStore: Store<ClickableCellsStore>;
30
+ private viewStore;
30
31
  private gridRef;
31
32
  private canvasRef;
32
33
  setup(): void;
@@ -9,6 +9,7 @@ export declare class GaugeChartComponent extends Component<SpreadsheetChildEnv>
9
9
  }>;
10
10
  private canvas;
11
11
  private animationStore;
12
+ private viewStore;
12
13
  get runtime(): GaugeChartRuntime;
13
14
  setup(): void;
14
15
  drawGaugeWithAnimation(): Animation | null;
@@ -9,6 +9,7 @@ export declare class ScorecardChart extends Component<SpreadsheetChildEnv> {
9
9
  isFullScreen?: boolean | undefined;
10
10
  }>;
11
11
  private canvas;
12
+ private viewStore;
12
13
  get runtime(): ScorecardChartRuntime;
13
14
  get title(): string;
14
15
  setup(): void;
@@ -91,6 +91,7 @@ export declare class FiguresContainer extends Component<SpreadsheetChildEnv> {
91
91
  FigureComponent: typeof FigureComponent;
92
92
  };
93
93
  dnd: DndState;
94
+ private viewStore;
94
95
  setup(): void;
95
96
  private getVisibleFigures;
96
97
  get containers(): Container[];
@@ -1,4 +1,5 @@
1
1
  import { Component } from "../../owl3_compatibility_layer";
2
+ import { ViewportsStore } from "../../stores/viewports_store";
2
3
  import { Client } from "../../types/collaborative/session";
3
4
  import { GridClickModifiers, HeaderIndex, Pixel } from "../../types/misc";
4
5
  import { DOMCoordinates, DOMDimension } from "../../types/rendering";
@@ -60,11 +61,13 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
60
61
  private gridRef;
61
62
  private canvasRef;
62
63
  private highlightStore;
64
+ viewStore: Store<ViewportsStore>;
63
65
  private cellPopovers;
64
66
  private composerFocusStore;
65
67
  private DOMFocusableElementStore;
66
68
  private paintFormatStore;
67
69
  private clientFocusStore;
70
+ private checkboxToggleStore;
68
71
  dragNDropGrid: {
69
72
  start: (initialPointerCoordinates: {
70
73
  clientX: number;
@@ -74,6 +77,7 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
74
77
  onMouseWheel: (ev: WheelEvent) => void;
75
78
  hoveredCell: Store<DelayedHoveredCellStore>;
76
79
  sidePanel: Store<SidePanelStore>;
80
+ private automaticSumStore;
77
81
  setup(): void;
78
82
  get highlights(): import("../..").Highlight[];
79
83
  get gridOverlayDimensions(): string;
@@ -7,6 +7,7 @@ export declare class GridAddRowsFooter extends Component<SpreadsheetChildEnv> {
7
7
  ValidationMessages: typeof ValidationMessages;
8
8
  };
9
9
  private DOMFocusableElementStore;
10
+ private viewStore;
10
11
  inputRef: import("@odoo/owl").Signal<HTMLInputElement | null>;
11
12
  state: {
12
13
  inputValue: string;
@@ -22,6 +22,7 @@ export declare class GridOverlay extends Component<SpreadsheetChildEnv> {
22
22
  private cellPopovers;
23
23
  private paintFormatStore;
24
24
  private hoveredIconStore;
25
+ private viewStore;
25
26
  setup(): void;
26
27
  get gridOverlayEl(): HTMLElement;
27
28
  get style(): string;
@@ -15,6 +15,7 @@ export declare class GridPopover extends Component<SpreadsheetChildEnv> {
15
15
  gridRect: import("../..").Rect;
16
16
  }>;
17
17
  protected cellPopovers: Store<CellPopoverStore>;
18
+ private viewStore;
18
19
  setup(): void;
19
20
  get cellPopover(): PositionedCellPopoverComponent | ClosedCellPopover;
20
21
  }
@@ -17,6 +17,8 @@ export declare class HeaderGroupContainer extends Component<SpreadsheetChildEnv>
17
17
  layers: any[];
18
18
  }>;
19
19
  menu: MenuState;
20
+ private viewStore;
21
+ setup(): void;
20
22
  getLayerOffset(layerIndex: number): number;
21
23
  onContextMenu(event: MouseEvent): void;
22
24
  openContextMenu(position: DOMCoordinates, menuItems: Action[]): void;
@@ -1,7 +1,9 @@
1
1
  import { Component } from "../../owl3_compatibility_layer";
2
+ import { ViewportsStore } from "../../stores/viewports_store";
2
3
  import { HeaderDimensions, HeaderIndex, Pixel } from "../../types/misc";
3
4
  import { EdgeScrollInfo } from "../../types/rendering";
4
5
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
6
+ import { Store } from "../../types/store_engine";
5
7
  import { ContextMenuType } from "../grid/grid";
6
8
  import { ZoomedMouseEvent } from "../helpers/zoom";
7
9
  import { UnhideColumnHeaders, UnhideRowHeaders } from "./unhide_headers";
@@ -27,6 +29,7 @@ declare abstract class AbstractResizer extends Component<SpreadsheetChildEnv> {
27
29
  onOpenContextMenu: (type: ContextMenuType, x: Pixel, y: Pixel) => void;
28
30
  }>;
29
31
  private composerFocusStore;
32
+ protected viewStore: Store<ViewportsStore>;
30
33
  PADDING: number;
31
34
  MAX_SIZE_MARGIN: number;
32
35
  MIN_ELEMENT_SIZE: number;
@@ -11,6 +11,8 @@ export declare class UnhideRowHeaders extends Component<SpreadsheetChildEnv> {
11
11
  };
12
12
  offset: number;
13
13
  }, "offset">;
14
+ private viewStore;
15
+ setup(): void;
14
16
  get sheetId(): import("../..").UID;
15
17
  getUnhidePreviousButtonStyle(hiddenIndex: HeaderIndex): string;
16
18
  getUnhideNextButtonStyle(hiddenIndex: HeaderIndex): string;
@@ -27,6 +29,8 @@ export declare class UnhideColumnHeaders extends Component<SpreadsheetChildEnv>
27
29
  };
28
30
  offset: number;
29
31
  }, "offset">;
32
+ private viewStore;
33
+ setup(): void;
30
34
  get sheetId(): import("../..").UID;
31
35
  getUnhidePreviousButtonStyle(hiddenIndex: HeaderIndex): string;
32
36
  getUnhideNextButtonStyle(hiddenIndex: HeaderIndex): string;
@@ -1,6 +1,6 @@
1
1
  import { FigureUI } from "../../types/figure";
2
- import { Getters } from "../../types/getters";
3
2
  import { Pixel, UID } from "../../types/misc";
3
+ import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
4
  export type HFigureAxisType = "top" | "bottom" | "vCenter";
5
5
  export type VFigureAxisType = "right" | "left" | "hCenter";
6
6
  export interface SnapLine<T extends HFigureAxisType | VFigureAxisType> {
@@ -18,10 +18,10 @@ interface SnapReturn {
18
18
  * Try to snap the given figure to other figures when moving the figure, and return the snapped
19
19
  * figure and the possible snap lines, if any were found
20
20
  */
21
- export declare function snapForMove(getters: Getters, figuresToSnap: FigureUI[], otherFigures: FigureUI[]): SnapReturn;
21
+ export declare function snapForMove(env: SpreadsheetChildEnv, figuresToSnap: FigureUI[], otherFigures: FigureUI[]): SnapReturn;
22
22
  /**
23
23
  * Try to snap the given figure to the other figures when resizing the figure, and return the snapped
24
24
  * figure and the possible snap lines, if any were found
25
25
  */
26
- export declare function snapForResize(getters: Getters, resizeDirX: -1 | 0 | 1, resizeDirY: -1 | 0 | 1, figureToSnap: FigureUI, otherFigures: FigureUI[]): SnapReturn;
26
+ export declare function snapForResize(env: SpreadsheetChildEnv, resizeDirX: -1 | 0 | 1, resizeDirY: -1 | 0 | 1, figureToSnap: FigureUI, otherFigures: FigureUI[]): SnapReturn;
27
27
  export {};
@@ -8,6 +8,8 @@ export declare class Border extends Component<SpreadsheetChildEnv> {
8
8
  isMoving: boolean;
9
9
  onMoveHighlight: (ev: PointerEvent) => void;
10
10
  }>;
11
+ private viewStore;
12
+ setup(): void;
11
13
  get style(): string;
12
14
  onMouseDown(ev: PointerEvent): void;
13
15
  }
@@ -12,6 +12,7 @@ export declare class Corner extends Component<SpreadsheetChildEnv> {
12
12
  }>;
13
13
  private dirX;
14
14
  private dirY;
15
+ private viewStore;
15
16
  setup(): void;
16
17
  get handlerStyle(): string;
17
18
  getHandlerEdgeLength(): 8 | 40;
@@ -25,6 +25,8 @@ export declare class Highlight extends Component<SpreadsheetChildEnv> {
25
25
  clientY: number;
26
26
  }, onPointerMove: (col: HeaderIndex, row: HeaderIndex, ev: MouseEvent) => void, onPointerUp: () => void, startScrollDirection?: DnDDirection) => void;
27
27
  };
28
+ private viewStore;
29
+ setup(): void;
28
30
  get cornerOrientations(): Array<"nw" | "ne" | "sw" | "se" | "n" | "s" | "e" | "w">;
29
31
  onResizeHighlight(ev: PointerEvent, dirX: ResizeDirection, dirY: ResizeDirection): void;
30
32
  onMoveHighlight(ev: PointerEvent): void;
@@ -5,7 +5,7 @@ import { Highlight, Zone } from "../../types/misc";
5
5
  import { Get } from "../../types/store_engine";
6
6
  export declare class PaintFormatStore extends SpreadsheetStore {
7
7
  mutators: readonly ["activate", "cancel", "pasteFormat"];
8
- protected highlightStore: import("../../types/store_engine").CQS<Pick<HighlightStore, "register" | "unRegister"> & import("../../types/store_engine").OmitFunctions<HighlightStore>>;
8
+ protected highlightStore: import("../../types/store_engine").Store<HighlightStore>;
9
9
  private status;
10
10
  private copiedData?;
11
11
  constructor(get: Get);
@@ -6,7 +6,8 @@ import { DelayedHoveredCellStore } from "../grid/delayed_hovered_cell_store";
6
6
  export declare class CellPopoverStore extends SpreadsheetStore {
7
7
  mutators: readonly ["open", "close"];
8
8
  private persistentPopover?;
9
- protected hoveredCell: import("../../types/store_engine").CQS<Pick<DelayedHoveredCellStore, "clear" | "hover"> & import("../../types/store_engine").OmitFunctions<DelayedHoveredCellStore>>;
9
+ protected hoveredCell: import("../../types/store_engine").Store<DelayedHoveredCellStore>;
10
+ private viewStore;
10
11
  handle(cmd: Command): void;
11
12
  open({ col, row }: Position, type: CellPopoverType): void;
12
13
  close(): "noStateChange" | undefined;
@@ -133,7 +133,7 @@ export declare const types: {
133
133
  DataValidationCriterionType: () => Type<"containsText" | "notContainsText" | "isEqualText" | "isEmail" | "isLink" | "dateIs" | "dateIsBefore" | "dateIsOnOrBefore" | "dateIsAfter" | "dateIsOnOrAfter" | "dateIsBetween" | "dateIsNotBetween" | "dateIsValid" | "isEqual" | "isNotEqual" | "isGreaterThan" | "isGreaterOrEqualTo" | "isLessThan" | "isLessOrEqualTo" | "isBetween" | "isNotBetween" | "isBoolean" | "isValueInList" | "isValueInRange" | "customFormula">;
134
134
  Dimension: typeof validateDimension;
135
135
  ContextMenuType: typeof validateContextMenuType;
136
- and: <T extends any[]>(types: T) => Type<import("@odoo/owl").UnionToIntersection<import("@odoo/owl").StripBrands<T[number]>>>;
136
+ and: <T extends any[]>(types: T) => import("@odoo/owl").ShapeType<import("@odoo/owl").MergedShape<T>, import("@odoo/owl").UnionToIntersection<import("@odoo/owl").StripBrands<T[number]>>>;
137
137
  any: () => Type<any>;
138
138
  array: {
139
139
  (): Type<any[]>;
@@ -147,10 +147,10 @@ export declare const types: {
147
147
  literal: <const T extends import("@odoo/owl").LiteralTypes>(literal: T) => Type<T>;
148
148
  number: <T extends number = number>() => Type<T>;
149
149
  object: {
150
- (): Type<Record<string, any>>;
151
- <const Keys extends string[]>(keys: Keys): Type<import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>>;
152
- <Shape extends {}>(): Type<import("@odoo/owl").ResolveOptionalEntries<Shape>>;
153
- <Shape extends {}>(shape: Shape): Type<import("@odoo/owl").ResolveOptionalEntries<Shape>>;
150
+ (): import("@odoo/owl").ShapeType<Record<string, any>, Record<string, any>>;
151
+ <const Keys extends string[]>(keys: Keys): import("@odoo/owl").ShapeType<Keys, import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>>;
152
+ <Shape extends {}>(): import("@odoo/owl").ShapeType<Shape, import("@odoo/owl").ResolveOptionalEntries<Shape>>;
153
+ <Shape extends {}>(shape: Shape): import("@odoo/owl").ShapeType<Shape, import("@odoo/owl").ResolveOptionalEntries<Shape>>;
154
154
  };
155
155
  or: <T extends unknown[]>(types: T) => Type<import("@odoo/owl").StripBrands<T[number]>>;
156
156
  promise: {
@@ -172,8 +172,8 @@ export declare const types: {
172
172
  <T>(type: T): Type<import("@odoo/owl").ReactiveValue<import("@odoo/owl").StripBrands<T>>>;
173
173
  };
174
174
  strictObject: {
175
- <const Keys extends string[]>(keys: Keys): Type<import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>>;
176
- <Shape extends {}>(shape: Shape): Type<import("@odoo/owl").ResolveOptionalEntries<Shape>>;
175
+ <const Keys extends string[]>(keys: Keys): import("@odoo/owl").ShapeType<Keys, import("@odoo/owl").ResolveOptionalEntries<import("@odoo/owl").KeyedObject<Keys>>>;
176
+ <Shape extends {}>(shape: Shape): import("@odoo/owl").ShapeType<Shape, import("@odoo/owl").ResolveOptionalEntries<Shape>>;
177
177
  };
178
178
  string: <T extends string = string>() => Type<T>;
179
179
  tuple: <const T extends unknown[]>(types: T) => Type<import("@odoo/owl").StripBrandsAll<T>>;
@@ -5,7 +5,9 @@ export declare class HorizontalScrollBar extends Component<SpreadsheetChildEnv>
5
5
  static components: {
6
6
  ScrollBar: typeof ScrollBar;
7
7
  };
8
+ private viewStore;
8
9
  static template: string;
10
+ setup(): void;
9
11
  protected props: import("@odoo/owl").PropsWithDefaults<{
10
12
  leftOffset: number;
11
13
  }, "leftOffset">;
@@ -5,7 +5,9 @@ export declare class VerticalScrollBar extends Component<SpreadsheetChildEnv> {
5
5
  static components: {
6
6
  ScrollBar: typeof ScrollBar;
7
7
  };
8
+ private viewStore;
8
9
  static template: string;
10
+ setup(): void;
9
11
  protected props: import("@odoo/owl").PropsWithDefaults<{
10
12
  topOffset: number;
11
13
  }, "topOffset">;
@@ -28,7 +28,7 @@ export declare class SelectionInputStore extends SpreadsheetStore {
28
28
  mode: SelectionRangeEditMode;
29
29
  private inputSheetId;
30
30
  private focusStore;
31
- protected highlightStore: import("../../types/store_engine").CQS<Pick<HighlightStore, "register" | "unRegister"> & import("../../types/store_engine").OmitFunctions<HighlightStore>>;
31
+ protected highlightStore: import("../../types/store_engine").Store<HighlightStore>;
32
32
  constructor(get: Get, initialRanges?: string[], inputHasSingleRange?: boolean, colors?: Color[], disabledRanges?: boolean[]);
33
33
  handleEvent(event: SelectionEvent): void;
34
34
  handle(cmd: Command): void;
@@ -19,7 +19,7 @@ export declare class ChartTypePicker extends Component<SpreadsheetChildEnv> {
19
19
  };
20
20
  protected props: import("@odoo/owl").Props<{
21
21
  chartId: UID;
22
- chartPanelStore: import("../../../../types/store_engine").CQS<Pick<MainChartPanelStore, "activatePanel" | "changeChartType"> & import("../../../../types/store_engine").OmitFunctions<MainChartPanelStore>>;
22
+ chartPanelStore: import("../../../../types/store_engine").Store<MainChartPanelStore>;
23
23
  }>;
24
24
  categories: {
25
25
  line: string;
@@ -10,7 +10,7 @@ export interface ChartSidePanelProps<T extends ChartDefinition<string>> {
10
10
  export type ChartUpdateFunction<T extends ChartDefinition<string> = ChartDefinition<string>> = (chartId: UID, definition: Partial<T>) => DispatchResult;
11
11
  export declare const chartSidePanelPropsDefinition: {
12
12
  chartId: import("@odoo/owl").Type<UID>;
13
- definition: import("@odoo/owl").Type<{}>;
13
+ definition: import("@odoo/owl").ShapeType<{}, {}>;
14
14
  canUpdateChart: import("@odoo/owl").Type<ChartUpdateFunction<ChartDefinition<string>>>;
15
15
  updateChart: import("@odoo/owl").Type<ChartUpdateFunction<ChartDefinition<string>>>;
16
16
  };
@@ -11,7 +11,7 @@ export declare class CellIsRuleEditor extends Component<SpreadsheetChildEnv> {
11
11
  Select: typeof Select;
12
12
  };
13
13
  protected props: import("@odoo/owl").Props<{
14
- store: import("../../../../types/store_engine").CQS<Pick<ConditionalFormattingEditorStore, "updateConditionalFormat" | "closeMenus"> & import("../../../../types/store_engine").OmitFunctions<ConditionalFormattingEditorStore>>;
14
+ store: import("../../../../types/store_engine").Store<ConditionalFormattingEditorStore>;
15
15
  }>;
16
16
  getTextDecoration: typeof getTextDecoration;
17
17
  get rule(): import("../../../..").CellIsRule;
@@ -8,6 +8,6 @@ export declare class ColorScaleRuleEditor extends Component<SpreadsheetChildEnv>
8
8
  ColorScaleRuleEditorThreshold: typeof ColorScaleRuleEditorThreshold;
9
9
  };
10
10
  protected props: import("@odoo/owl").Props<{
11
- store: import("../../../../types/store_engine").CQS<Pick<ConditionalFormattingEditorStore, "updateConditionalFormat" | "closeMenus"> & import("../../../../types/store_engine").OmitFunctions<ConditionalFormattingEditorStore>>;
11
+ store: import("../../../../types/store_engine").Store<ConditionalFormattingEditorStore>;
12
12
  }>;
13
13
  }
@@ -15,7 +15,7 @@ export declare class ColorScaleRuleEditorThreshold extends Component<Spreadsheet
15
15
  Select: typeof Select;
16
16
  };
17
17
  protected props: import("@odoo/owl").Props<{
18
- store: import("../../../../types/store_engine").CQS<Pick<ConditionalFormattingEditorStore, "updateConditionalFormat" | "closeMenus"> & import("../../../../types/store_engine").OmitFunctions<ConditionalFormattingEditorStore>>;
18
+ store: import("../../../../types/store_engine").Store<ConditionalFormattingEditorStore>;
19
19
  thresholdType: "minimum" | "maximum" | "midpoint";
20
20
  }>;
21
21
  get rule(): import("../../../..").ColorScaleRule;
@@ -11,7 +11,7 @@ export declare class DataBarRuleEditor extends Component<SpreadsheetChildEnv> {
11
11
  RoundColorPicker: typeof RoundColorPicker;
12
12
  };
13
13
  protected props: import("@odoo/owl").Props<{
14
- store: import("../../../../types/store_engine").CQS<Pick<ConditionalFormattingEditorStore, "updateConditionalFormat" | "closeMenus"> & import("../../../../types/store_engine").OmitFunctions<ConditionalFormattingEditorStore>>;
14
+ store: import("../../../../types/store_engine").Store<ConditionalFormattingEditorStore>;
15
15
  }>;
16
16
  get rule(): import("../../../..").DataBarRule;
17
17
  colorNumberToHex: typeof colorNumberToHex;
@@ -14,7 +14,7 @@ export declare class IconSetRuleEditor extends Component<SpreadsheetChildEnv> {
14
14
  Select: typeof Select;
15
15
  };
16
16
  protected props: import("@odoo/owl").Props<{
17
- store: import("../../../../types/store_engine").CQS<Pick<ConditionalFormattingEditorStore, "updateConditionalFormat" | "closeMenus"> & import("../../../../types/store_engine").OmitFunctions<ConditionalFormattingEditorStore>>;
17
+ store: import("../../../../types/store_engine").Store<ConditionalFormattingEditorStore>;
18
18
  }>;
19
19
  get rule(): import("../../../..").IconSetRule;
20
20
  getIconName(iconSet: "arrows" | "smiley" | "dots", iconType: "good" | "neutral" | "bad"): string;
@@ -20,6 +20,7 @@ export declare class FindAndReplaceStore extends SpreadsheetStore implements Hig
20
20
  private isSearchDirty;
21
21
  private shouldFinalizeUpdateSelection;
22
22
  private notificationStore;
23
+ private viewStore;
23
24
  selectedMatchIndex: number | null;
24
25
  toSearch: string;
25
26
  toReplace: string;
@@ -10,6 +10,7 @@ export declare class PivotSidePanelStore extends SpreadsheetStore {
10
10
  private _updatesAreDeferred;
11
11
  private draft;
12
12
  private notification;
13
+ private viewStore;
13
14
  private alreadyNotified;
14
15
  private alreadyNotifiedForPivotSize;
15
16
  constructor(get: Get, pivotId: UID, updateMode?: "neverDefer" | "canDefer");
@@ -1,14 +1,10 @@
1
1
  import { Component } from "../../../owl3_compatibility_layer";
2
+ import { DataCleanupStore } from "../../../stores/data_cleanup_store";
2
3
  import { SpreadsheetChildEnv } from "../../../types/spreadsheet_env";
4
+ import { Store } from "../../../types/store_engine";
3
5
  import { ValidationMessages } from "../../validation_messages/validation_messages";
4
6
  import { Checkbox } from "../components/checkbox/checkbox";
5
7
  import { Section } from "../components/section/section";
6
- interface RemoveDuplicatesState {
7
- hasHeader: boolean;
8
- columns: {
9
- [colIndex: number]: boolean;
10
- };
11
- }
12
8
  export declare class RemoveDuplicatesPanel extends Component<SpreadsheetChildEnv> {
13
9
  static template: string;
14
10
  static components: {
@@ -19,7 +15,7 @@ export declare class RemoveDuplicatesPanel extends Component<SpreadsheetChildEnv
19
15
  protected props: import("@odoo/owl").Props<{
20
16
  onCloseSidePanel: () => void;
21
17
  }>;
22
- state: RemoveDuplicatesState;
18
+ dataCleanupSore: Store<DataCleanupStore>;
23
19
  setup(): void;
24
20
  toggleHasHeader(): void;
25
21
  toggleAllColumns(): void;
@@ -30,7 +26,4 @@ export declare class RemoveDuplicatesPanel extends Component<SpreadsheetChildEnv
30
26
  get errorMessages(): string[];
31
27
  get selectionStatisticalInformation(): string;
32
28
  get canConfirm(): boolean;
33
- private updateColumns;
34
- private getColsToAnalyze;
35
29
  }
36
- export {};
@@ -30,7 +30,7 @@ export declare class SidePanelStore extends SpreadsheetStore {
30
30
  }) | undefined;
31
31
  secondaryPanel: PanelInfo | undefined;
32
32
  availableWidth: number;
33
- screenWidthStore: import("../../../types/store_engine").CQS<Pick<ScreenWidthStore, "setSmallThreshhold"> & import("../../../types/store_engine").OmitFunctions<ScreenWidthStore>>;
33
+ screenWidthStore: import("../../../types/store_engine").Store<ScreenWidthStore>;
34
34
  get isMainPanelOpen(): boolean;
35
35
  get isSecondaryPanelOpen(): boolean;
36
36
  get mainPanelProps(): SidePanelComponentProps | undefined;
@@ -20,6 +20,7 @@ export declare class SmallBottomBar extends Component<SpreadsheetChildEnv> {
20
20
  }>;
21
21
  private composerFocusStore;
22
22
  private composerStore;
23
+ private viewStore;
23
24
  private composerInterface;
24
25
  private composerRef;
25
26
  private menuState;
@@ -43,6 +43,7 @@ export declare class Spreadsheet extends Component<SpreadsheetChildEnv> {
43
43
  private isViewportTooSmall;
44
44
  private notificationStore;
45
45
  private composerFocusStore;
46
+ private viewStore;
46
47
  get model(): Model;
47
48
  getStyle(): string;
48
49
  setup(): void;
@@ -11,8 +11,8 @@ export declare class StandaloneGridCanvas extends Component<SpreadsheetChildEnv>
11
11
  renderingCtx: {
12
12
  sheetId: import("../..").UID;
13
13
  hideGridLines?: boolean | undefined;
14
- selectedZones: import("../..").Zone[];
15
14
  viewports: import("../../helpers/viewport_collection").ViewportCollection;
15
+ selectedZones: import("../..").Zone[];
16
16
  dpr: number;
17
17
  activeCols: Set<number>;
18
18
  activeRows: Set<number>;