@odoo/o-spreadsheet 19.5.0-alpha.8 → 20.0.0

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 (175) hide show
  1. package/dist/material_symbols_outlined.css +11 -0
  2. package/dist/o_spreadsheet.cjs +34960 -32701
  3. package/dist/o_spreadsheet.css +271 -127
  4. package/dist/o_spreadsheet.esm.js +29778 -27524
  5. package/dist/o_spreadsheet.iife.js +30467 -28208
  6. package/dist/o_spreadsheet.min.iife.js +408 -354
  7. package/dist/o_spreadsheet.xml +303 -239
  8. package/dist/types/actions/data_actions.d.ts +1 -0
  9. package/dist/types/actions/menu_items_actions.d.ts +3 -2
  10. package/dist/types/collaborative/command_squisher.d.ts +1 -1
  11. package/dist/types/collaborative/session.d.ts +3 -1
  12. package/dist/types/components/autofill/autofill.d.ts +1 -1
  13. package/dist/types/components/autofill/autofill_store.d.ts +1 -1
  14. package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +3 -0
  15. package/dist/types/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.d.ts +1 -1
  16. package/dist/types/components/dashboard/dashboard.d.ts +1 -0
  17. package/dist/types/components/figures/chart/chartJs/chartjs_geo_projection_plugin.d.ts +12 -0
  18. package/dist/types/components/figures/chart/chartJs/zoomable_chart/zoomable_chartjs.d.ts +1 -0
  19. package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +1 -1
  20. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +1 -1
  21. package/dist/types/components/figures/figure/figure.d.ts +7 -3
  22. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +10 -2
  23. package/dist/types/components/figures/figure_container/figure_container.d.ts +8 -4
  24. package/dist/types/components/full_screen_figure/full_screen_figure.d.ts +12 -1
  25. package/dist/types/components/grid/grid.d.ts +3 -0
  26. package/dist/types/components/grid_overlay/grid_overlay.d.ts +2 -0
  27. package/dist/types/components/grid_popover/grid_popover.d.ts +1 -1
  28. package/dist/types/components/headers_overlay/headers_overlay.d.ts +2 -0
  29. package/dist/types/components/helpers/chart_drag_and_drop.d.ts +15 -0
  30. package/dist/types/components/helpers/dom_helpers.d.ts +3 -2
  31. package/dist/types/components/helpers/draw_grid_hook.d.ts +1 -2
  32. package/dist/types/components/helpers/figure_drag_helper.d.ts +3 -3
  33. package/dist/types/components/helpers/figure_snap_helper.d.ts +8 -3
  34. package/dist/types/components/helpers/zoom.d.ts +0 -14
  35. package/dist/types/components/highlight/highlight/highlight.d.ts +1 -0
  36. package/dist/types/components/link/link_editor/link_editor.d.ts +2 -1
  37. package/dist/types/components/popover/popover.d.ts +0 -1
  38. package/dist/types/components/popover/popover_container_owl_plugin.d.ts +5 -0
  39. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +1 -0
  40. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +1 -0
  41. package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +1 -1
  42. package/dist/types/components/side_panel/chart/building_blocks/chart_title/chart_title.d.ts +1 -0
  43. package/dist/types/components/side_panel/chart/building_blocks/color_scale/color_scale_picker.d.ts +1 -1
  44. package/dist/types/components/side_panel/chart/calendar_chart/calendar_chart_config_panel.d.ts +0 -2
  45. package/dist/types/components/side_panel/chart/chart_type_picker_popover/chart_type_picker_popover.d.ts +0 -1
  46. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +6 -10
  47. package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +1 -1
  48. package/dist/types/components/side_panel/data_analysis/chart_suggestion_preview.d.ts +19 -0
  49. package/dist/types/components/side_panel/data_analysis/data_analysis_panel.d.ts +17 -0
  50. package/dist/types/components/side_panel/data_analysis/data_analysis_store.d.ts +15 -0
  51. package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +1 -0
  52. package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +2 -1
  53. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +1 -6
  54. package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +2 -1
  55. package/dist/types/components/side_panel/table_panel/table_panel.d.ts +6 -0
  56. package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +2 -0
  57. package/dist/types/components/spreadsheet/spreadsheet.d.ts +11 -5
  58. package/dist/types/components/spreadsheet_print/print_iframe.d.ts +15 -0
  59. package/dist/types/components/spreadsheet_print/spreadsheet_print.d.ts +4 -0
  60. package/dist/types/components/standalone_grid_canvas/carousel_data_view_print.d.ts +32 -0
  61. package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +396 -1
  62. package/dist/types/components/standalone_viewport/standalone_viewport.d.ts +8 -4
  63. package/dist/types/components/standalone_viewport/standalone_viewport_store.d.ts +2 -1
  64. package/dist/types/components/tables/hovered_table_store.d.ts +6 -7
  65. package/dist/types/components/tables/table_resizer/table_resizer.d.ts +1 -0
  66. package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +0 -1
  67. package/dist/types/components/top_bar/color_editor/color_editor.d.ts +1 -1
  68. package/dist/types/components/top_bar/zoom_editor/zoom_editor.d.ts +1 -1
  69. package/dist/types/constants.d.ts +17 -2
  70. package/dist/types/formulas/compiler.d.ts +1 -1
  71. package/dist/types/functions/function_registry.d.ts +3 -0
  72. package/dist/types/functions/helper_lookup.d.ts +1 -1
  73. package/dist/types/functions/helpers.d.ts +4 -0
  74. package/dist/types/functions/module_operators.d.ts +1 -1
  75. package/dist/types/functions/module_text.d.ts +16 -13
  76. package/dist/types/functions/module_web.d.ts +1 -1
  77. package/dist/types/helpers/carousel_helpers.d.ts +8 -1
  78. package/dist/types/helpers/cells/cell_evaluation.d.ts +1 -1
  79. package/dist/types/helpers/color.d.ts +1 -1
  80. package/dist/types/helpers/color_themes.d.ts +2 -0
  81. package/dist/types/helpers/data_analysis.d.ts +17 -0
  82. package/dist/types/helpers/figures/chart.d.ts +7 -6
  83. package/dist/types/helpers/figures/charts/chart_common.d.ts +3 -3
  84. package/dist/types/helpers/figures/charts/chart_data_source_helpers.d.ts +10 -0
  85. package/dist/types/helpers/figures/charts/chart_data_sources.d.ts +3 -3
  86. package/dist/types/helpers/figures/charts/chart_suggestion_engine.d.ts +8 -0
  87. package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +11 -4
  88. package/dist/types/helpers/figures/charts/charts_suggestions_constants.d.ts +37 -0
  89. package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +6 -2
  90. package/dist/types/helpers/figures/charts/runtime/chart_data_extractor.d.ts +13 -12
  91. package/dist/types/helpers/figures/charts/runtime/chartjs_title.d.ts +2 -2
  92. package/dist/types/helpers/filter_helpers.d.ts +2 -2
  93. package/dist/types/helpers/links.d.ts +1 -1
  94. package/dist/types/helpers/owl3_helpers.d.ts +4 -0
  95. package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +1 -1
  96. package/dist/types/helpers/pivot/pivot_presentation.d.ts +2 -2
  97. package/dist/types/helpers/pivot/pivot_registry.d.ts +4 -5
  98. package/dist/types/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.d.ts +2 -2
  99. package/dist/types/helpers/range.d.ts +1 -1
  100. package/dist/types/helpers/rectangle.d.ts +4 -0
  101. package/dist/types/helpers/text_helper.d.ts +1 -1
  102. package/dist/types/helpers/viewport_collection.d.ts +2 -6
  103. package/dist/types/index.d.ts +24 -10
  104. package/dist/types/model.d.ts +17 -10
  105. package/dist/types/owl3_compatibility_layer.d.ts +1 -14
  106. package/dist/types/plugins/core/carousel.d.ts +1 -1
  107. package/dist/types/plugins/core/image.d.ts +2 -1
  108. package/dist/types/plugins/core/range.d.ts +4 -2
  109. package/dist/types/plugins/core/squisher.d.ts +6 -2
  110. package/dist/types/plugins/core/tables.d.ts +2 -1
  111. package/dist/types/plugins/core/unsquisher.d.ts +1 -1
  112. package/dist/types/plugins/core_plugin.d.ts +1 -1
  113. package/dist/types/plugins/{ui_stateful → evaluation}/cell_computed_style.d.ts +4 -4
  114. package/dist/types/plugins/{ui_core_views/cell_evaluation/evaluation_plugin.d.ts → evaluation/cell_evaluation/cell_evaluation_plugin.d.ts} +7 -7
  115. package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/compilation_parameters.d.ts +2 -2
  116. package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/evaluator.d.ts +2 -2
  117. package/dist/types/plugins/{ui_core_views → evaluation}/custom_colors.d.ts +5 -5
  118. package/dist/types/plugins/{ui_core_views → evaluation}/dynamic_tables.d.ts +4 -4
  119. package/dist/types/plugins/{ui_feature → evaluation}/dynamic_translate.d.ts +2 -2
  120. package/dist/types/plugins/evaluation/evaluation_chart.d.ts +27 -0
  121. package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_conditional_format.d.ts +4 -4
  122. package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_data_validation.d.ts +4 -4
  123. package/dist/types/plugins/{ui_stateful → evaluation}/filter_evaluation.d.ts +5 -5
  124. package/dist/types/plugins/{ui_core_views → evaluation}/fingerprint.d.ts +2 -2
  125. package/dist/types/plugins/evaluation/formula_tracker.d.ts +8 -0
  126. package/dist/types/plugins/evaluation/geo_loader.d.ts +13 -0
  127. package/dist/types/plugins/{ui_core_views → evaluation}/header_sizes_ui.d.ts +5 -5
  128. package/dist/types/plugins/{ui_stateful/header_visibility_ui.d.ts → evaluation/header_visibility_evaluation.d.ts} +2 -2
  129. package/dist/types/plugins/evaluation/pivot_presence_plugin.d.ts +12 -0
  130. package/dist/types/plugins/{ui_core_views → evaluation}/pivot_ui.d.ts +6 -6
  131. package/dist/types/plugins/evaluation/subtotal_evaluation.d.ts +5 -0
  132. package/dist/types/plugins/{ui_stateful → evaluation}/table_computed_style.d.ts +7 -7
  133. package/dist/types/plugins/evaluation_plugin.d.ts +31 -0
  134. package/dist/types/plugins/plugin_registries.d.ts +11 -5
  135. package/dist/types/plugins/ui_feature/chart_ui.d.ts +6 -0
  136. package/dist/types/plugins/ui_feature/color_theme.d.ts +0 -3
  137. package/dist/types/plugins/ui_feature/geo_features.d.ts +1 -6
  138. package/dist/types/plugins/ui_plugin.d.ts +1 -4
  139. package/dist/types/plugins/{ui_core_views → ui_stateful}/cell_icon_plugin.d.ts +2 -2
  140. package/dist/types/registries/chart_data_source_registry.d.ts +4 -5
  141. package/dist/types/registries/chart_registry.d.ts +5 -5
  142. package/dist/types/registries/criterion_registry.d.ts +4 -4
  143. package/dist/types/registries/evaluation_registry.d.ts +2 -2
  144. package/dist/types/registries/figures_registry.d.ts +6 -2
  145. package/dist/types/stores/cell_hover_overlay_store.d.ts +15 -0
  146. package/dist/types/stores/chart_drag_store.d.ts +10 -0
  147. package/dist/types/{plugins/ui_stateful/clipboard.d.ts → stores/clipboard_store.d.ts} +11 -11
  148. package/dist/types/stores/grid_renderer_store.d.ts +3 -2
  149. package/dist/types/stores/main_viewport_store.d.ts +3 -0
  150. package/dist/types/stores/viewports_store.d.ts +3 -6
  151. package/dist/types/stores/zoom_store.d.ts +27 -0
  152. package/dist/types/types/chart/chart.d.ts +3 -1
  153. package/dist/types/types/chart/chart_suggestion.d.ts +137 -0
  154. package/dist/types/types/chart/scorecard_chart.d.ts +3 -4
  155. package/dist/types/types/collaborative/transport_service.d.ts +4 -1
  156. package/dist/types/types/commands.d.ts +39 -19
  157. package/dist/types/types/functions.d.ts +2 -2
  158. package/dist/types/types/getters.d.ts +102 -21
  159. package/dist/types/types/model.d.ts +2 -4
  160. package/dist/types/types/rendering.d.ts +21 -1
  161. package/package.json +7 -6
  162. package/dist/types/plugins/core_view_plugin.d.ts +0 -29
  163. package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +0 -26
  164. package/dist/types/plugins/ui_core_views/formula_tracker.d.ts +0 -8
  165. package/dist/types/plugins/ui_feature/pivot_presence_plugin.d.ts +0 -11
  166. package/dist/types/plugins/ui_feature/subtotal_evaluation.d.ts +0 -5
  167. package/dist/types/types/core_getters.d.ts +0 -77
  168. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/binary_grid.d.ts +0 -0
  169. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/formula_dependency_graph.d.ts +0 -0
  170. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/interval_tree.d.ts +0 -0
  171. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/position_set.d.ts +0 -0
  172. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/r_tree.d.ts +0 -0
  173. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/range_set.d.ts +0 -0
  174. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/spreading_relation.d.ts +0 -0
  175. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/zone_set.d.ts +0 -0
@@ -9,6 +9,7 @@ export declare const sortDescending: ActionSpec;
9
9
  export declare const createRemoveFilter: ActionSpec;
10
10
  export declare const createRemoveFilterTool: ActionSpec;
11
11
  export declare const splitToColumns: ActionSpec;
12
+ export declare const dataAnalysis: ActionSpec;
12
13
  export declare const columnStatistics: ActionSpec;
13
14
  export declare const reinsertDynamicPivotMenu: ActionSpec;
14
15
  export declare const reinsertStaticPivotMenu: ActionSpec;
@@ -1,10 +1,11 @@
1
+ import { Model } from "../model";
1
2
  import { Format } from "../types/format";
2
3
  import { Dimension, Style } from "../types/misc";
3
4
  import { SpreadsheetChildEnv } from "../types/spreadsheet_env";
4
5
  import { Table } from "../types/table";
5
6
  import { ActionSpec } from "./action";
6
- export declare function setFormatter(env: SpreadsheetChildEnv, format: Format): void;
7
- export declare function setStyle(env: SpreadsheetChildEnv, style: Style): void;
7
+ export declare function setFormatter(model: Model, format: Format): void;
8
+ export declare function setStyle(model: Model, style: Style): void;
8
9
  export declare const PASTE_ACTION: (env: SpreadsheetChildEnv) => Promise<void>;
9
10
  export declare const PASTE_AS_VALUE_ACTION: (env: SpreadsheetChildEnv) => Promise<void>;
10
11
  export declare const PASTE_FORMAT_ACTION: (env: SpreadsheetChildEnv) => Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import { SquishedFormula } from "../plugins/core/squisher";
2
2
  import { CoreCommand } from "../types/commands";
3
- import { CoreGetters } from "../types/core_getters";
3
+ import { CoreGetters } from "../types/getters";
4
4
  import { UpdateCellData } from "../types/misc";
5
5
  /**
6
6
  When squishing, commands go through 3 stages:
@@ -15,6 +15,7 @@ export declare class Session extends EventBus<CollaborativeEvent> {
15
15
  private transportService;
16
16
  private serverRevisionId;
17
17
  private commandSquisher;
18
+ private shouldVerifySquish;
18
19
  /**
19
20
  * Positions of the others client.
20
21
  */
@@ -48,8 +49,9 @@ export declare class Session extends EventBus<CollaborativeEvent> {
48
49
  * between all connected clients
49
50
  * @param serverRevisionId
50
51
  * @param commandSquisher used to squish and unsquish commands to reduce the size of messages sent to the server
52
+ * @param shouldVerifySquish either the commands should be unsquished and verified before being sent to the server
51
53
  */
52
- constructor(revisions: RevisionLog<Revision>, transportService: TransportService<CollaborationMessage>, serverRevisionId: UID | undefined, commandSquisher: ICommandSquisher);
54
+ constructor(revisions: RevisionLog<Revision>, transportService: TransportService<CollaborationMessage>, serverRevisionId: UID | undefined, commandSquisher: ICommandSquisher, shouldVerifySquish?: boolean);
53
55
  canApplyOptimisticUpdate(): boolean;
54
56
  /**
55
57
  * Add a new revision to the collaborative session.
@@ -19,7 +19,7 @@ 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;
22
+ private zoomStore;
23
23
  private autofillStore;
24
24
  setup(): void;
25
25
  get style(): string;
@@ -4,7 +4,6 @@ import { Command } from "../../types/commands";
4
4
  import { HeaderIndex } from "../../types/misc";
5
5
  import { GridRenderingContext } from "../../types/rendering";
6
6
  export declare class AutofillStore extends SpreadsheetStore {
7
- static layers: readonly ["Autofill"];
8
7
  private autofillZone;
9
8
  private steps;
10
9
  private lastCellSelected;
@@ -54,5 +53,6 @@ export declare class AutofillStore extends SpreadsheetStore {
54
53
  */
55
54
  private getDirection;
56
55
  private autofillMerge;
56
+ get renderingLayers(): readonly ["Autofill"];
57
57
  drawLayer(renderingContext: GridRenderingContext): void;
58
58
  }
@@ -14,8 +14,11 @@ export declare class BottomBarStatistic extends Component<SpreadsheetChildEnv> {
14
14
  }>;
15
15
  private state;
16
16
  private store;
17
+ private sidePanelStore;
17
18
  setup(): void;
18
19
  getSelectedStatistic(): string | undefined;
19
20
  listSelectionStatistics(ev: MenuMouseEvent): void;
20
21
  private getComposedFnName;
22
+ get isDataAnalysisOpen(): boolean;
23
+ toggleDataAnalysisPanel(): void;
21
24
  }
@@ -6,7 +6,7 @@ export declare class ClickableCellSortIcon extends Component<SpreadsheetChildEnv
6
6
  position: import("../../..").CellPosition;
7
7
  sortDirection: "none" | (() => import("@odoo/owl").Type<import("../../..").SortDirection>);
8
8
  }>;
9
- private hoveredTableStore;
9
+ private hoveredCellOverlayStore;
10
10
  setup(): void;
11
11
  get style(): string;
12
12
  get verticalJustifyClass(): "justify-content-start" | "justify-content-center" | "justify-content-end";
@@ -30,6 +30,7 @@ export declare class SpreadsheetDashboard extends Component<SpreadsheetChildEnv>
30
30
  canvasPosition: DOMCoordinates;
31
31
  hoveredCell: Store<DelayedHoveredCellStore>;
32
32
  private viewStore;
33
+ private zoomStore;
33
34
  private gridRef;
34
35
  private canvasRef;
35
36
  setup(): void;
@@ -0,0 +1,12 @@
1
+ import { Plugin } from "chart.js";
2
+ /**
3
+ * ChartJS plugin to apply custom changes to a d3 projection.
4
+ *
5
+ * We pass the projection as a string instead of a customized d3 object so
6
+ * Chart.js creates a fresh projection instance. Custom changes (e.g. rotation)
7
+ * are then applied in `beforeUpdate`.
8
+ *
9
+ * This is important because Chart.js mutates the projection instance at runtime,
10
+ * and a customize d3 projection object would not be copied during deepCopy.
11
+ */
12
+ export declare const geoProjectionPlugin: Plugin;
@@ -3,6 +3,7 @@ import { ChartJsComponent } from "../chartjs";
3
3
  export declare class ZoomableChartJsComponent extends ChartJsComponent {
4
4
  static template: string;
5
5
  private store;
6
+ private zoomStore;
6
7
  private masterChartCanvas;
7
8
  private masterChart?;
8
9
  private mode?;
@@ -9,7 +9,7 @@ export declare class GaugeChartComponent extends Component<SpreadsheetChildEnv>
9
9
  }>;
10
10
  private canvas;
11
11
  private animationStore;
12
- private viewStore;
12
+ private zoomStore;
13
13
  get runtime(): GaugeChartRuntime;
14
14
  setup(): void;
15
15
  drawGaugeWithAnimation(): Animation | null;
@@ -9,7 +9,7 @@ export declare class ScorecardChart extends Component<SpreadsheetChildEnv> {
9
9
  isFullScreen?: boolean | undefined;
10
10
  }>;
11
11
  private canvas;
12
- private viewStore;
12
+ private zoomStore;
13
13
  get runtime(): ScorecardChartRuntime;
14
14
  get title(): string;
15
15
  setup(): void;
@@ -18,12 +18,16 @@ export declare class FigureComponent extends Component<SpreadsheetChildEnv> {
18
18
  }, "onMouseDown" | "onClickAnchor">;
19
19
  private menuState;
20
20
  private figureRef;
21
- private borderWidth;
21
+ private zoomStore;
22
22
  get isSelected(): boolean;
23
+ get isThemeDependant(): boolean;
23
24
  get figureRegistry(): import("../../..").Registry<import("../../../registries/figures_registry").FigureContent>;
24
- private getBorderWidth;
25
- getBorderStyle(position: "top" | "right" | "bottom" | "left"): string;
25
+ get borderWidth(): number;
26
+ get hasShadow(): boolean;
27
+ get isRounded(): boolean;
26
28
  get wrapperStyle(): string;
29
+ get figureStyle(): string;
30
+ get figureClass(): string;
27
31
  getResizerPosition(resizer: ResizeAnchor): string;
28
32
  setup(): void;
29
33
  clickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
@@ -1,5 +1,4 @@
1
1
  import { Component } from "../../../owl3_compatibility_layer";
2
- import { ViewportsStore } from "../../../stores/viewports_store";
3
2
  import { Carousel, CarouselItem } from "../../../types/figure";
4
3
  import { CSSProperties, MenuMouseEvent } from "../../../types/misc";
5
4
  import { Range } from "../../../types/range";
@@ -29,7 +28,6 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
29
28
  private hiddenItems;
30
29
  protected animationStore: Store<ChartAnimationStore> | undefined;
31
30
  private fullScreenFigureStore;
32
- viewStore: Store<ViewportsStore>;
33
31
  setup(): void;
34
32
  get carousel(): Carousel;
35
33
  get selectedCarouselItem(): CarouselItem | undefined;
@@ -40,8 +38,12 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
40
38
  getItemTitle(item: CarouselItem): string;
41
39
  onCarouselTabClick(item: CarouselItem): void;
42
40
  get carouselStyle(): string;
41
+ get contentStyle(): string;
42
+ get headerStyle(): string;
43
+ get separatorStyle(): string;
43
44
  get title(): string;
44
45
  get titleStyle(): string;
46
+ private rectToCss;
45
47
  private updateTabsVisibility;
46
48
  get menuId(): string;
47
49
  toggleMenu(ev: MenuMouseEvent): void;
@@ -51,4 +53,10 @@ export declare class CarouselFigure extends Component<SpreadsheetChildEnv> {
51
53
  removeEmptyHeadersFromRange(range: Range): Range;
52
54
  onResizeColumns(columnWeights: number[]): void;
53
55
  get canResizeDataViewColumns(): boolean;
56
+ get carouselLayout(): {
57
+ headerRect: Rect;
58
+ separatorRect: Rect | undefined;
59
+ contentRect: Rect;
60
+ headerLineHeight: 1.5;
61
+ };
54
62
  }
@@ -23,7 +23,6 @@ interface DndState {
23
23
  horizontalSnap?: Snap<HFigureAxisType>;
24
24
  verticalSnap?: Snap<VFigureAxisType>;
25
25
  cancelDnd: (() => void) | undefined;
26
- overlappingChartOrCarousel?: FigureUI;
27
26
  }
28
27
  /**
29
28
  * Each figure ⭐ is positioned inside a container `div` placed and sized
@@ -92,6 +91,8 @@ export declare class FiguresContainer extends Component<SpreadsheetChildEnv> {
92
91
  };
93
92
  dnd: DndState;
94
93
  private viewStore;
94
+ private zoomStore;
95
+ private chartDragStore;
95
96
  setup(): void;
96
97
  private getVisibleFigures;
97
98
  get containers(): Container[];
@@ -99,6 +100,10 @@ export declare class FiguresContainer extends Component<SpreadsheetChildEnv> {
99
100
  private rectToCss;
100
101
  private getContainerRect;
101
102
  get selectedRectStyle(): string;
103
+ get maxDimensions(): {
104
+ maxX: import("../../..").Pixel;
105
+ maxY: import("../../..").Pixel;
106
+ };
102
107
  private getInverseViewportPositionStyle;
103
108
  private getFigureContainer;
104
109
  private getDndFigureRect;
@@ -106,7 +111,7 @@ export declare class FiguresContainer extends Component<SpreadsheetChildEnv> {
106
111
  private isMenuClick;
107
112
  startDraggingFigure(figureUI: FigureUI, ev: MouseEvent): void;
108
113
  /**
109
- * Initialize the resize of a figure with mouse movements
114
+ * Initialize the resize of the selected figures with mouse movements
110
115
  *
111
116
  * @param dirX X direction of the resize. -1 : resize from the left border of the figure, 0 : no resize in X, 1 :
112
117
  * resize from the right border of the figure
@@ -114,12 +119,11 @@ export declare class FiguresContainer extends Component<SpreadsheetChildEnv> {
114
119
  * resize from the bottom border of the figure
115
120
  * @param ev Mouse Event
116
121
  */
117
- startResize(figureUI: FigureUI, dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
122
+ resizeAllSelectedFigures(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
118
123
  private getOtherFigures;
119
124
  getFigureStyle(figureUI: FigureUI): string;
120
125
  getFigureClass(figureUI: FigureUI): string;
121
126
  private getSnap;
122
127
  private getSnapLineStyle;
123
- private getOverlappingFigure;
124
128
  }
125
129
  export {};
@@ -8,10 +8,21 @@ export declare class FullScreenFigure extends Component<SpreadsheetChildEnv> {
8
8
  };
9
9
  private fullScreenFigureStore;
10
10
  private fullScreenFigureRef;
11
+ private containerSize;
11
12
  spreadsheetRect: import("../..").Rect;
12
13
  figureRegistry: import("../..").Registry<import("../../registries/figures_registry").FigureContent>;
13
14
  setup(): void;
14
- get figureUI(): import("../..").FigureUI | undefined;
15
+ get figureUI(): {
16
+ width: number;
17
+ height: number;
18
+ x: import("../..").Pixel;
19
+ y: import("../..").Pixel;
20
+ id: import("../..").UID;
21
+ tag: string;
22
+ col: import("../..").HeaderIndex;
23
+ row: import("../..").HeaderIndex;
24
+ offset: import("../..").PixelPosition;
25
+ } | undefined;
15
26
  get chartId(): import("../..").UID | undefined;
16
27
  exitFullScreen(): void;
17
28
  onKeyDown(ev: KeyboardEvent): void;
@@ -64,12 +64,14 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
64
64
  private canvasRef;
65
65
  private highlightStore;
66
66
  viewStore: Store<ViewportsStore>;
67
+ private zoomStore;
67
68
  private cellPopovers;
68
69
  private composerFocusStore;
69
70
  private DOMFocusableElementStore;
70
71
  private paintFormatStore;
71
72
  private clientFocusStore;
72
73
  private checkboxToggleStore;
74
+ private clipboardStore;
73
75
  dragNDropGrid: {
74
76
  start: (initialPointerCoordinates: {
75
77
  clientX: number;
@@ -127,4 +129,5 @@ export declare class Grid extends Component<SpreadsheetChildEnv> {
127
129
  get staticTables(): Table[];
128
130
  get displaySelectionHandler(): boolean;
129
131
  get clientsToDisplay(): Required<Client>[];
132
+ get displayTableResizer(): boolean;
130
133
  }
@@ -24,6 +24,7 @@ export declare class GridOverlay extends Component<SpreadsheetChildEnv> {
24
24
  private paintFormatStore;
25
25
  private hoveredIconStore;
26
26
  viewStore: Store<ViewportsStore>;
27
+ private zoomStore;
27
28
  setup(): void;
28
29
  get gridOverlayEl(): HTMLElement;
29
30
  get style(): string;
@@ -36,4 +37,5 @@ export declare class GridOverlay extends Component<SpreadsheetChildEnv> {
36
37
  onContextMenu(ev: MouseEvent): void;
37
38
  private getCartesianCoordinates;
38
39
  private getInteractiveIconAtEvent;
40
+ get isFooterVisible(): boolean;
39
41
  }
@@ -15,7 +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
+ private zoomStore;
19
19
  setup(): void;
20
20
  get cellPopover(): PositionedCellPopoverComponent | ClosedCellPopover;
21
21
  }
@@ -1,5 +1,6 @@
1
1
  import { Component } from "../../owl3_compatibility_layer";
2
2
  import { ViewportsStore } from "../../stores/viewports_store";
3
+ import { ZoomStore } from "../../stores/zoom_store";
3
4
  import { HeaderDimensions, HeaderIndex, Pixel } from "../../types/misc";
4
5
  import { EdgeScrollInfo } from "../../types/rendering";
5
6
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
@@ -30,6 +31,7 @@ declare abstract class AbstractResizer extends Component<SpreadsheetChildEnv> {
30
31
  }>;
31
32
  private composerFocusStore;
32
33
  protected viewStore: Store<ViewportsStore>;
34
+ protected zoomStore: Store<ZoomStore>;
33
35
  PADDING: number;
34
36
  MAX_SIZE_MARGIN: number;
35
37
  MIN_ELEMENT_SIZE: number;
@@ -0,0 +1,15 @@
1
+ import { ChartDefinition } from "../../types/chart/chart";
2
+ import { FigureUI } from "../../types/figure";
3
+ import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
+ export declare function getCarouselOverlappingChart(figureUI: {
5
+ tag: string;
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ }, otherFigures: FigureUI[], matchTags: FigureUI["tag"][]): FigureUI | undefined;
11
+ /**
12
+ * Start dragging a floating preview of the given chart definition, following the mouse.
13
+ * On drop, creates the chart on the grid (or inside a carousel if dropped on one).
14
+ */
15
+ export declare function startChartDragAndDrop(env: SpreadsheetChildEnv, definition: ChartDefinition, ev: MouseEvent): void;
@@ -1,13 +1,14 @@
1
- import { DOMCoordinates, Rect } from "../../types/rendering";
1
+ import { Rect } from "../../types/rendering";
2
2
  /**
3
3
  * Return true if the event was triggered from
4
4
  * a child element.
5
5
  */
6
6
  export declare function isChildEvent(parent: HTMLElement | null | undefined, ev: Event): boolean;
7
- export declare function gridOverlayPosition(zoom?: number): DOMCoordinates;
7
+ export declare function gridOverlayPosition(zoom?: number): Rect;
8
8
  export declare function zoomCorrectedElementRect(el: Element, zoomLevel: number): Rect;
9
9
  export declare function getElBoundingRect(el: HTMLElement | null): Rect;
10
10
  export declare function getBoundingRectAsPOJO(el: Element): Rect;
11
+ export declare function getBoundingRectWithMargins(el: Element): Rect;
11
12
  /**
12
13
  * Iterate over all the children of `el` in the dom tree starting at `el`, depth first.
13
14
  */
@@ -1,9 +1,8 @@
1
- import type { Signal } from "@odoo/owl";
2
1
  import { RendererStore } from "../../stores/renderer_store";
3
2
  import { GridRenderingContext } from "../../types/rendering";
4
3
  import { Store } from "../../types/store_engine";
5
4
  interface GridDrawingArgs {
6
- canvasRef: Signal<HTMLElement | null>;
5
+ canvasRef: () => HTMLElement | null;
7
6
  renderingCtx: () => Omit<GridRenderingContext, "ctx" | "thinLineWidth">;
8
7
  rendererStore?: Store<RendererStore>;
9
8
  changeCanvasSizeOnZoom?: boolean;
@@ -1,11 +1,11 @@
1
1
  import { FigureUI } from "../../types/figure";
2
2
  import { PixelPosition } from "../../types/misc";
3
- import { SheetDOMScrollInfo } from "../../types/rendering";
3
+ import { DOMDimension, Rect, SheetDOMScrollInfo } from "../../types/rendering";
4
4
  export declare function dragFigureForMove({ x: mouseX, y: mouseY }: PixelPosition, { x: mouseInitialX, y: mouseInitialY }: PixelPosition, initialFigures: FigureUI[], { maxX, maxY }: {
5
5
  maxX: number;
6
6
  maxY: number;
7
7
  }, { scrollX: initialScrollX, scrollY: initialScrollY }: SheetDOMScrollInfo, { scrollX, scrollY }: SheetDOMScrollInfo): FigureUI[];
8
- export declare function dragFigureForResize(initialFigure: FigureUI, dirX: -1 | 0 | 1, dirY: -1 | 0 | 1, { x: mouseX, y: mouseY }: PixelPosition, { x: mouseInitialX, y: mouseInitialY }: PixelPosition, keepRatio: boolean, minFigSize: number, { scrollX: initialScrollX, scrollY: initialScrollY }: SheetDOMScrollInfo, { scrollX, scrollY }: SheetDOMScrollInfo, { maxX, maxY }: {
8
+ export declare function dragFigureForResize(initialRect: Rect, dirX: -1 | 0 | 1, dirY: -1 | 0 | 1, { x: mouseX, y: mouseY }: PixelPosition, { x: mouseInitialX, y: mouseInitialY }: PixelPosition, keepRatio: boolean, minFigSize: DOMDimension, { scrollX: initialScrollX, scrollY: initialScrollY }: SheetDOMScrollInfo, { scrollX, scrollY }: SheetDOMScrollInfo, { maxX, maxY }: {
9
9
  maxX: number;
10
10
  maxY: number;
11
- }): FigureUI;
11
+ }): Rect;
@@ -1,5 +1,6 @@
1
1
  import { FigureUI } from "../../types/figure";
2
2
  import { Pixel, UID } from "../../types/misc";
3
+ import { Rect } from "../../types/rendering";
3
4
  import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
5
  export type HFigureAxisType = "top" | "bottom" | "vCenter";
5
6
  export type VFigureAxisType = "right" | "left" | "hCenter";
@@ -9,8 +10,10 @@ export interface SnapLine<T extends HFigureAxisType | VFigureAxisType> {
9
10
  snappedAxisType: T;
10
11
  position: Pixel;
11
12
  }
12
- interface SnapReturn {
13
+ interface SnapMoveReturn extends SnapReturn {
13
14
  snappedFigures: FigureUI[];
15
+ }
16
+ export interface SnapReturn {
14
17
  verticalSnapLine?: SnapLine<VFigureAxisType>;
15
18
  horizontalSnapLine?: SnapLine<HFigureAxisType>;
16
19
  }
@@ -18,10 +21,12 @@ interface SnapReturn {
18
21
  * Try to snap the given figure to other figures when moving the figure, and return the snapped
19
22
  * figure and the possible snap lines, if any were found
20
23
  */
21
- export declare function snapForMove(env: SpreadsheetChildEnv, figuresToSnap: FigureUI[], otherFigures: FigureUI[]): SnapReturn;
24
+ export declare function snapForMove(env: SpreadsheetChildEnv, figuresToSnap: FigureUI[], otherFigures: FigureUI[]): SnapMoveReturn;
22
25
  /**
23
26
  * Try to snap the given figure to the other figures when resizing the figure, and return the snapped
24
27
  * figure and the possible snap lines, if any were found
25
28
  */
26
- export declare function snapForResize(env: SpreadsheetChildEnv, resizeDirX: -1 | 0 | 1, resizeDirY: -1 | 0 | 1, figureToSnap: FigureUI, otherFigures: FigureUI[]): SnapReturn;
29
+ export declare function snapForResize(env: SpreadsheetChildEnv, resizeDirX: -1 | 0 | 1, resizeDirY: -1 | 0 | 1, rect: Rect, otherFigures: FigureUI[]): {
30
+ snappedRect: Rect;
31
+ } & SnapReturn;
27
32
  export {};
@@ -1,6 +1,4 @@
1
1
  import { Pixel } from "../../types/misc";
2
- import { DOMCoordinates, Rect } from "../../types/rendering";
3
- import { SpreadsheetChildEnv } from "../../types/spreadsheet_env";
4
2
  export type ZoomedMouseEvent<T extends MouseEvent | PointerEvent> = {
5
3
  clientX: Pixel;
6
4
  clientY: Pixel;
@@ -8,15 +6,3 @@ export type ZoomedMouseEvent<T extends MouseEvent | PointerEvent> = {
8
6
  offsetY: Pixel;
9
7
  ev: T;
10
8
  };
11
- /**
12
- * Return a POJO containing the original event as well as the client position and the client offset
13
- * where the event would target if the spreadsheet was not zoomed
14
- * @param ev unzoomed mouse event
15
- * @param originalTargetPosition The original target bounding rect the resulting ZoomedMouseEvent offset must refer to
16
- * @returns a ZoomedMouseEvent
17
- */
18
- export declare function withZoom<T extends MouseEvent>(env: SpreadsheetChildEnv, ev: T, originalTargetPosition?: DOMCoordinates | null): ZoomedMouseEvent<T>;
19
- /**
20
- * Return a Rect with position and size on the zoomed canvas
21
- */
22
- export declare function getZoomedRect(zoom: number, rect: Rect): Rect;
@@ -26,6 +26,7 @@ export declare class Highlight extends Component<SpreadsheetChildEnv> {
26
26
  }, onPointerMove: (col: HeaderIndex, row: HeaderIndex, ev: MouseEvent) => void, onPointerUp: () => void, startScrollDirection?: DnDDirection) => void;
27
27
  };
28
28
  private viewStore;
29
+ private zoomStore;
29
30
  setup(): void;
30
31
  get cornerOrientations(): Array<"nw" | "ne" | "sw" | "se" | "n" | "s" | "e" | "w">;
31
32
  onResizeHighlight(ev: PointerEvent, dirX: ResizeDirection, dirY: ResizeDirection): void;
@@ -29,12 +29,13 @@ export declare class LinkEditor extends Component<SpreadsheetChildEnv> {
29
29
  static size: {
30
30
  maxHeight: number;
31
31
  };
32
- urlInput: import("@odoo/owl").Signal<HTMLElement | null>;
32
+ urlInput: import("@odoo/owl").Signal<HTMLInputElement | null>;
33
33
  suggestionListRef: import("@odoo/owl").Signal<HTMLElement | null>;
34
34
  urlInputContainer: import("@odoo/owl").Signal<HTMLElement | null>;
35
35
  private state;
36
36
  private viewStore;
37
37
  setup(): void;
38
+ onLinkUrlInput(ev: InputEvent): void;
38
39
  computeLinks(): void;
39
40
  get linkProposalByCategory(): Record<string, LinkProposal>;
40
41
  get defaultState(): LinkState;
@@ -10,7 +10,6 @@ export declare class Popover extends Component<SpreadsheetChildEnv> {
10
10
  onMouseWheel: () => void;
11
11
  onPopoverHidden: () => void;
12
12
  onPopoverMoved: () => void;
13
- containerRect?: {} | undefined;
14
13
  maxWidth?: import("../..").Pixel | undefined;
15
14
  maxHeight?: import("../..").Pixel | undefined;
16
15
  zIndex?: number | undefined;
@@ -0,0 +1,5 @@
1
+ import { Plugin } from "@odoo/owl";
2
+ import { Rect } from "../../types/rendering";
3
+ export declare class PopoverContainerPlugin extends Plugin {
4
+ getContainerRect: () => Rect;
5
+ }
@@ -6,6 +6,7 @@ export declare class HorizontalScrollBar extends Component<SpreadsheetChildEnv>
6
6
  ScrollBar: typeof ScrollBar;
7
7
  };
8
8
  private viewStore;
9
+ private zoomStore;
9
10
  static template: string;
10
11
  setup(): void;
11
12
  protected props: import("@odoo/owl").PropsWithDefaults<{
@@ -6,6 +6,7 @@ export declare class VerticalScrollBar extends Component<SpreadsheetChildEnv> {
6
6
  ScrollBar: typeof ScrollBar;
7
7
  };
8
8
  private viewStore;
9
+ private zoomStore;
9
10
  static template: string;
10
11
  setup(): void;
11
12
  protected props: import("@odoo/owl").PropsWithDefaults<{
@@ -36,7 +36,7 @@ export declare class CarouselPanel extends Component<SpreadsheetChildEnv> {
36
36
  };
37
37
  private dragAndDrop;
38
38
  private previewListRef;
39
- addChartButton: import("@odoo/owl").Signal<HTMLElement | null>;
39
+ addChartButton: import("@odoo/owl").Signal<HTMLButtonElement | null>;
40
40
  state: CarouselPanelState;
41
41
  setup(): void;
42
42
  get carouselItems(): CarouselItem[];
@@ -17,6 +17,7 @@ export declare class ChartTitle extends Component<SpreadsheetChildEnv> {
17
17
  updateTitle: (title: string) => void;
18
18
  style: TitleDesign;
19
19
  updateStyle: (style: TitleDesign) => void;
20
+ class?: string | undefined;
20
21
  name?: string | undefined;
21
22
  defaultStyle?: {
22
23
  readonly text?: string | undefined;
@@ -30,7 +30,7 @@ export declare class ColorScalePicker extends Component<SpreadsheetChildEnv> {
30
30
  className: string;
31
31
  }[];
32
32
  state: ColorScalePickerState;
33
- popoverRef: import("@odoo/owl").Signal<HTMLElement | null>;
33
+ popoverRef: import("@odoo/owl").Signal<HTMLTableElement | null>;
34
34
  setup(): void;
35
35
  get currentColorScale(): ChartColorScale;
36
36
  get currentColorScaleStyle(): string | undefined;
@@ -1,5 +1,4 @@
1
1
  import { CalendarChartDefinition, CalendarChartGranularity } from "../../../../types/chart/calendar_chart";
2
- import { ValueAndLabel } from "../../../../types/misc";
3
2
  import { Select } from "../../../select/select";
4
3
  import { GenericChartConfigPanel } from "../building_blocks/generic_side_panel/config_panel";
5
4
  import { ChartSidePanelProps } from "../common";
@@ -16,7 +15,6 @@ export declare class CalendarChartConfigPanel extends GenericChartConfigPanel<Ch
16
15
  value: "year" | "second_number" | "minute_number" | "hour_number" | "day_of_week" | "day_of_month" | "iso_week_number" | "month_number" | "quarter_number";
17
16
  label: string;
18
17
  }[];
19
- getGroupByOptions(): ValueAndLabel[];
20
18
  getGroupByType(currentAxis: "horizontal" | "vertical"): CalendarChartGranularity;
21
19
  updateGroupBy(currentAxis: "horizontal" | "vertical", value: CalendarChartGranularity): void;
22
20
  }
@@ -37,7 +37,6 @@ export declare class ChartTypePickerPopover extends Component<SpreadsheetChildEn
37
37
  zIndex?: number | undefined;
38
38
  class?: string | undefined;
39
39
  anchorRect: import("../../../..").Rect;
40
- containerRect?: {} | undefined;
41
40
  positioning?: "top-right" | "bottom-left" | undefined;
42
41
  verticalOffset?: number | undefined;
43
42
  onMouseWheel?: (() => void) | undefined;
@@ -2,32 +2,28 @@ import { Component } from "../../../../owl3_compatibility_layer";
2
2
  import { BaselineMode, ScorecardChartDefinition } from "../../../../types/chart/scorecard_chart";
3
3
  import { ValueAndLabel } from "../../../../types/misc";
4
4
  import { SpreadsheetChildEnv } from "../../../../types/spreadsheet_env";
5
+ import { StandaloneComposer } from "../../../composer/standalone_composer/standalone_composer";
5
6
  import { Select } from "../../../select/select";
6
- import { SelectionInput } from "../../../selection_input/selection_input";
7
7
  import { Section } from "../../components/section/section";
8
8
  import { ChartErrorSection } from "../building_blocks/error_section/error_section";
9
9
  import { ChartSidePanelProps } from "../common";
10
10
  export declare class ScorecardChartConfigPanel extends Component<SpreadsheetChildEnv> {
11
11
  static template: string;
12
12
  static components: {
13
- SelectionInput: typeof SelectionInput;
14
13
  ChartErrorSection: typeof ChartErrorSection;
15
14
  Section: typeof Section;
16
15
  Select: typeof Select;
16
+ StandaloneComposer: typeof StandaloneComposer;
17
17
  };
18
18
  protected props: ChartSidePanelProps<ScorecardChartDefinition>;
19
19
  private state;
20
20
  private keyValue;
21
21
  private baseline;
22
22
  get errorMessages(): string[];
23
- get isKeyValueInvalid(): boolean;
24
- get isBaselineInvalid(): boolean;
25
- onKeyValueRangeChanged(ranges: string[]): void;
26
- updateKeyValueRange(): void;
27
- getKeyValueRange(): string;
28
- onBaselineRangeChanged(ranges: string[]): void;
29
- updateBaselineRange(): void;
30
- getBaselineRange(): string;
23
+ onConfirmKeyValue(keyValue: string): void;
24
+ getKeyValue(): string;
25
+ onConfirmBaseline(baseline: string): void;
26
+ getBaseline(): string;
31
27
  updateBaselineMode(baselineMode: BaselineMode): void;
32
28
  get baselineModeOptions(): ValueAndLabel[];
33
29
  }
@@ -11,7 +11,7 @@ export declare class RadioSelection extends Component<SpreadsheetChildEnv> {
11
11
  onChange: (value: unknown) => void;
12
12
  selectedValue: string;
13
13
  name: string;
14
- direction: "vertical" | "horizontal";
14
+ direction: "horizontal" | "vertical";
15
15
  }, "direction">;
16
16
  }
17
17
  export {};