@odoo/o-spreadsheet 19.5.0-alpha.2 → 19.5.0-alpha.20

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 (271) hide show
  1. package/dist/material_symbols_outlined.css +9 -0
  2. package/dist/o_spreadsheet.cjs +53040 -49146
  3. package/dist/o_spreadsheet.css +330 -157
  4. package/dist/o_spreadsheet.esm.js +52813 -48924
  5. package/dist/o_spreadsheet.iife.js +49777 -45883
  6. package/dist/o_spreadsheet.min.iife.js +413 -359
  7. package/dist/o_spreadsheet.xml +505 -332
  8. package/dist/types/actions/action.d.ts +1 -7
  9. package/dist/types/actions/data_actions.d.ts +2 -0
  10. package/dist/types/actions/menu_items_actions.d.ts +5 -2
  11. package/dist/types/clipboard_handlers/default_clipboard.d.ts +1 -1
  12. package/dist/types/collaborative/command_squisher.d.ts +1 -1
  13. package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -1
  14. package/dist/types/collaborative/session.d.ts +3 -1
  15. package/dist/types/components/autofill/autofill.d.ts +3 -0
  16. package/dist/types/{plugins/ui_feature/autofill.d.ts → components/autofill/autofill_store.d.ts} +7 -12
  17. package/dist/types/components/autofill/table_autofill_store.d.ts +6 -0
  18. package/dist/types/components/border_editor/border_editor_widget.d.ts +1 -0
  19. package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +3 -0
  20. package/dist/types/components/clickable_cells_overlay/clickable_cells_overlay.d.ts +20 -0
  21. package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +2 -0
  22. package/dist/types/components/composer/composer/abstract_composer_store.d.ts +3 -2
  23. package/dist/types/components/composer/composer/composer.d.ts +2 -1
  24. package/dist/types/components/composer/grid_composer/grid_composer.d.ts +1 -0
  25. package/dist/types/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.d.ts +1 -1
  26. package/dist/types/components/dashboard/clickable_cell_store.d.ts +1 -0
  27. package/dist/types/components/dashboard/dashboard.d.ts +7 -12
  28. package/dist/types/components/error_tooltip/error_tooltip.d.ts +2 -0
  29. package/dist/types/components/figures/chart/chartJs/chartjs_geo_projection_plugin.d.ts +12 -0
  30. package/dist/types/components/figures/chart/chartJs/zoomable_chart/zoomable_chartjs.d.ts +1 -0
  31. package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +1 -0
  32. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +1 -0
  33. package/dist/types/components/figures/figure/figure.d.ts +10 -9
  34. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +16 -1
  35. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +1 -2
  36. package/dist/types/components/figures/figure_container/figure_container.d.ts +9 -4
  37. package/dist/types/components/figures/figure_image/figure_image.d.ts +1 -2
  38. package/dist/types/components/filters/filter_menu/filter_menu.d.ts +1 -0
  39. package/dist/types/components/full_screen_figure/full_screen_figure.d.ts +12 -1
  40. package/dist/types/components/grid/grid.d.ts +10 -0
  41. package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +1 -0
  42. package/dist/types/components/grid_overlay/grid_overlay.d.ts +8 -4
  43. package/dist/types/components/grid_popover/grid_popover.d.ts +1 -0
  44. package/dist/types/components/header_group/header_group_container.d.ts +2 -0
  45. package/dist/types/components/headers_overlay/headers_overlay.d.ts +5 -0
  46. package/dist/types/components/headers_overlay/unhide_headers.d.ts +4 -0
  47. package/dist/types/components/helpers/chart_drag_and_drop.d.ts +15 -0
  48. package/dist/types/components/helpers/dom_helpers.d.ts +5 -2
  49. package/dist/types/components/helpers/draw_grid_hook.d.ts +1 -2
  50. package/dist/types/components/helpers/figure_drag_helper.d.ts +3 -3
  51. package/dist/types/components/helpers/figure_snap_helper.d.ts +9 -4
  52. package/dist/types/components/helpers/wheel_hook.d.ts +1 -1
  53. package/dist/types/components/helpers/zoom.d.ts +0 -14
  54. package/dist/types/components/highlight/border/border.d.ts +2 -0
  55. package/dist/types/components/highlight/corner/corner.d.ts +1 -0
  56. package/dist/types/components/highlight/highlight/highlight.d.ts +3 -0
  57. package/dist/types/components/link/link_display/link_display.d.ts +1 -0
  58. package/dist/types/components/link/link_editor/link_editor.d.ts +3 -1
  59. package/dist/types/components/paint_format_button/paint_format_store.d.ts +1 -1
  60. package/dist/types/components/popover/cell_popover_store.d.ts +2 -1
  61. package/dist/types/components/popover/popover.d.ts +0 -1
  62. package/dist/types/components/popover/popover_container_owl_plugin.d.ts +5 -0
  63. package/dist/types/components/props_validation.d.ts +7 -7
  64. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +3 -0
  65. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +5 -1
  66. package/dist/types/components/selection_input/selection_input_store.d.ts +1 -1
  67. package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +20 -2
  68. package/dist/types/components/side_panel/chart/building_blocks/chart_title/chart_title.d.ts +1 -0
  69. package/dist/types/components/side_panel/chart/building_blocks/color_scale/color_scale_picker.d.ts +1 -1
  70. package/dist/types/components/side_panel/chart/calendar_chart/calendar_chart_config_panel.d.ts +0 -2
  71. package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +5 -18
  72. package/dist/types/components/side_panel/chart/chart_type_picker_popover/chart_type_picker_popover.d.ts +63 -0
  73. package/dist/types/components/side_panel/chart/common.d.ts +1 -1
  74. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +6 -10
  75. package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +1 -1
  76. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cell_is_rule_editor.d.ts +1 -1
  77. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor.d.ts +1 -1
  78. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor_threshold.d.ts +1 -1
  79. package/dist/types/components/side_panel/conditional_formatting/cf_editor/data_bar_rule_editor.d.ts +1 -1
  80. package/dist/types/components/side_panel/conditional_formatting/cf_editor/icon_set_rule_editor.d.ts +1 -1
  81. package/dist/types/components/side_panel/data_analysis/chart_suggestion_preview.d.ts +19 -0
  82. package/dist/types/components/side_panel/data_analysis/data_analysis_panel.d.ts +17 -0
  83. package/dist/types/components/side_panel/data_analysis/data_analysis_store.d.ts +15 -0
  84. package/dist/types/components/side_panel/data_sources_cleanup/data_sources_cleanup.d.ts +28 -0
  85. package/dist/types/components/side_panel/data_sources_cleanup/data_sources_cleanup_store.d.ts +13 -0
  86. package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +1 -0
  87. package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +3 -1
  88. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +1 -8
  89. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +1 -0
  90. package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +3 -10
  91. package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +3 -2
  92. package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +4 -11
  93. package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_store.d.ts +33 -0
  94. package/dist/types/components/side_panel/table_panel/table_panel.d.ts +6 -0
  95. package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +2 -0
  96. package/dist/types/components/small_bottom_bar/small_bottom_bar.d.ts +1 -0
  97. package/dist/types/components/spreadsheet/spreadsheet.d.ts +12 -5
  98. package/dist/types/components/spreadsheet_print/print_iframe.d.ts +15 -0
  99. package/dist/types/components/spreadsheet_print/spreadsheet_print.d.ts +4 -0
  100. package/dist/types/components/standalone_grid_canvas/carousel_data_view_print.d.ts +32 -0
  101. package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +397 -2
  102. package/dist/types/components/standalone_viewport/standalone_viewport.d.ts +59 -0
  103. package/dist/types/components/standalone_viewport/standalone_viewport_store.d.ts +29 -0
  104. package/dist/types/components/tables/hovered_table_store.d.ts +7 -11
  105. package/dist/types/components/tables/table_resizer/table_resizer.d.ts +2 -0
  106. package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +0 -1
  107. package/dist/types/components/top_bar/color_editor/color_editor.d.ts +1 -1
  108. package/dist/types/components/top_bar/zoom_editor/zoom_editor.d.ts +2 -1
  109. package/dist/types/constants.d.ts +17 -2
  110. package/dist/types/formulas/code_builder.d.ts +2 -1
  111. package/dist/types/formulas/compiler.d.ts +8 -1
  112. package/dist/types/functions/create_compute_function.d.ts +4 -3
  113. package/dist/types/functions/function_registry.d.ts +4 -5
  114. package/dist/types/functions/helper_lookup.d.ts +1 -1
  115. package/dist/types/functions/helper_matrices.d.ts +1 -0
  116. package/dist/types/functions/helper_statistical.d.ts +6 -0
  117. package/dist/types/functions/helpers.d.ts +4 -0
  118. package/dist/types/functions/module_array.d.ts +41 -23
  119. package/dist/types/functions/module_database.d.ts +18 -6
  120. package/dist/types/functions/module_date.d.ts +70 -22
  121. package/dist/types/functions/module_engineering.d.ts +3 -1
  122. package/dist/types/functions/module_filter.d.ts +2 -2
  123. package/dist/types/functions/module_financial.d.ts +105 -35
  124. package/dist/types/functions/module_info.d.ts +33 -11
  125. package/dist/types/functions/module_logical.d.ts +16 -8
  126. package/dist/types/functions/module_lookup.d.ts +23 -15
  127. package/dist/types/functions/module_math.d.ts +125 -43
  128. package/dist/types/functions/module_operators.d.ts +7 -3
  129. package/dist/types/functions/module_statistical.d.ts +78 -22
  130. package/dist/types/functions/module_text.d.ts +75 -26
  131. package/dist/types/functions/module_web.d.ts +3 -1
  132. package/dist/types/helpers/carousel_helpers.d.ts +15 -3
  133. package/dist/types/helpers/cells/cell_evaluation.d.ts +1 -1
  134. package/dist/types/helpers/color.d.ts +1 -1
  135. package/dist/types/helpers/color_themes.d.ts +2 -0
  136. package/dist/types/helpers/data_analysis.d.ts +17 -0
  137. package/dist/types/helpers/figures/chart.d.ts +9 -6
  138. package/dist/types/helpers/figures/charts/chart_common.d.ts +3 -5
  139. package/dist/types/helpers/figures/charts/chart_data_source_helpers.d.ts +10 -0
  140. package/dist/types/helpers/figures/charts/chart_data_sources.d.ts +3 -3
  141. package/dist/types/helpers/figures/charts/chart_suggestion_engine.d.ts +8 -0
  142. package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +11 -4
  143. package/dist/types/helpers/figures/charts/charts_suggestions_constants.d.ts +37 -0
  144. package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +6 -2
  145. package/dist/types/helpers/figures/charts/runtime/chart_data_extractor.d.ts +13 -12
  146. package/dist/types/helpers/figures/charts/runtime/chartjs_title.d.ts +2 -2
  147. package/dist/types/helpers/figures/figure/figure.d.ts +3 -2
  148. package/dist/types/helpers/filter_helpers.d.ts +2 -2
  149. package/dist/types/helpers/internal_viewport.d.ts +19 -10
  150. package/dist/types/helpers/links.d.ts +1 -1
  151. package/dist/types/helpers/misc.d.ts +2 -0
  152. package/dist/types/helpers/owl3_helpers.d.ts +4 -0
  153. package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +1 -1
  154. package/dist/types/helpers/pivot/pivot_highlight.d.ts +2 -2
  155. package/dist/types/helpers/pivot/pivot_presentation.d.ts +2 -2
  156. package/dist/types/helpers/pivot/pivot_registry.d.ts +4 -5
  157. package/dist/types/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.d.ts +2 -2
  158. package/dist/types/helpers/range.d.ts +1 -1
  159. package/dist/types/helpers/rectangle.d.ts +4 -0
  160. package/dist/types/helpers/text_helper.d.ts +1 -1
  161. package/dist/types/helpers/ui/split_to_columns_interactive.d.ts +1 -1
  162. package/dist/types/helpers/viewport_collection.d.ts +50 -21
  163. package/dist/types/helpers/zones.d.ts +1 -0
  164. package/dist/types/index.d.ts +39 -9
  165. package/dist/types/model.d.ts +18 -10
  166. package/dist/types/owl3_compatibility_layer.d.ts +1 -14
  167. package/dist/types/plugins/core/carousel.d.ts +8 -4
  168. package/dist/types/plugins/core/cell.d.ts +1 -0
  169. package/dist/types/plugins/core/chart.d.ts +2 -0
  170. package/dist/types/plugins/core/conditional_format.d.ts +2 -0
  171. package/dist/types/plugins/core/data_validation.d.ts +2 -0
  172. package/dist/types/plugins/core/formulas_provider.d.ts +8 -0
  173. package/dist/types/plugins/core/image.d.ts +2 -1
  174. package/dist/types/plugins/core/pivot.d.ts +1 -0
  175. package/dist/types/plugins/core/range.d.ts +4 -2
  176. package/dist/types/plugins/core/squisher.d.ts +7 -2
  177. package/dist/types/plugins/core/tables.d.ts +2 -1
  178. package/dist/types/plugins/core/unsquisher.d.ts +1 -1
  179. package/dist/types/plugins/core_plugin.d.ts +8 -4
  180. package/dist/types/plugins/{ui_feature → evaluation}/cell_computed_style.d.ts +4 -4
  181. package/dist/types/plugins/{ui_core_views/cell_evaluation/evaluation_plugin.d.ts → evaluation/cell_evaluation/cell_evaluation_plugin.d.ts} +14 -7
  182. package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/compilation_parameters.d.ts +2 -2
  183. package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/evaluator.d.ts +2 -2
  184. package/dist/types/plugins/{ui_core_views → evaluation}/custom_colors.d.ts +5 -5
  185. package/dist/types/plugins/{ui_core_views → evaluation}/dynamic_tables.d.ts +4 -4
  186. package/dist/types/plugins/{ui_feature → evaluation}/dynamic_translate.d.ts +2 -2
  187. package/dist/types/plugins/evaluation/evaluation_chart.d.ts +27 -0
  188. package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_conditional_format.d.ts +4 -4
  189. package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_data_validation.d.ts +4 -4
  190. package/dist/types/plugins/{ui_stateful → evaluation}/filter_evaluation.d.ts +7 -8
  191. package/dist/types/plugins/{ui_core_views → evaluation}/fingerprint.d.ts +2 -2
  192. package/dist/types/plugins/evaluation/formula_tracker.d.ts +8 -0
  193. package/dist/types/plugins/evaluation/geo_loader.d.ts +13 -0
  194. package/dist/types/plugins/{ui_core_views → evaluation}/header_sizes_ui.d.ts +5 -5
  195. package/dist/types/plugins/{ui_feature/header_visibility_ui.d.ts → evaluation/header_visibility_evaluation.d.ts} +2 -2
  196. package/dist/types/plugins/evaluation/pivot_presence_plugin.d.ts +12 -0
  197. package/dist/types/plugins/{ui_core_views → evaluation}/pivot_ui.d.ts +9 -6
  198. package/dist/types/plugins/evaluation/subtotal_evaluation.d.ts +5 -0
  199. package/dist/types/plugins/{ui_feature → evaluation}/table_computed_style.d.ts +7 -7
  200. package/dist/types/plugins/evaluation_plugin.d.ts +31 -0
  201. package/dist/types/plugins/plugin_registries.d.ts +11 -5
  202. package/dist/types/plugins/ui_feature/chart_ui.d.ts +6 -0
  203. package/dist/types/plugins/ui_feature/collaborative.d.ts +2 -1
  204. package/dist/types/plugins/ui_feature/color_theme.d.ts +0 -3
  205. package/dist/types/plugins/ui_feature/geo_features.d.ts +1 -6
  206. package/dist/types/plugins/ui_feature/ui_options.d.ts +1 -7
  207. package/dist/types/plugins/ui_feature/ui_sheet.d.ts +2 -1
  208. package/dist/types/plugins/ui_plugin.d.ts +1 -4
  209. package/dist/types/plugins/ui_stateful/carousel_ui.d.ts +2 -2
  210. package/dist/types/plugins/{ui_core_views → ui_stateful}/cell_icon_plugin.d.ts +2 -2
  211. package/dist/types/plugins/{ui_feature → ui_stateful}/figure.d.ts +4 -0
  212. package/dist/types/plugins/ui_stateful/header_positions.d.ts +2 -1
  213. package/dist/types/registries/chart_data_source_registry.d.ts +4 -5
  214. package/dist/types/registries/chart_registry.d.ts +7 -4
  215. package/dist/types/registries/criterion_registry.d.ts +4 -4
  216. package/dist/types/registries/data_source_registry.d.ts +15 -0
  217. package/dist/types/registries/evaluation_registry.d.ts +2 -2
  218. package/dist/types/registries/figures_registry.d.ts +6 -2
  219. package/dist/types/store_engine/dependency_container.d.ts +5 -0
  220. package/dist/types/store_engine/store_hooks.d.ts +6 -0
  221. package/dist/types/store_engine/store_registries.d.ts +4 -0
  222. package/dist/types/stores/array_formula_highlight.d.ts +1 -1
  223. package/dist/types/{plugins/ui_feature/automatic_sum.d.ts → stores/automatic_sum_store.d.ts} +5 -4
  224. package/dist/types/stores/cell_hover_overlay_store.d.ts +15 -0
  225. package/dist/types/stores/chart_drag_store.d.ts +10 -0
  226. package/dist/types/stores/checkbox_toggle.d.ts +9 -0
  227. package/dist/types/stores/client_focus_store.d.ts +1 -0
  228. package/dist/types/{plugins/ui_stateful/clipboard.d.ts → stores/clipboard_store.d.ts} +11 -11
  229. package/dist/types/stores/data_cleanup_store.d.ts +31 -0
  230. package/dist/types/stores/grid_renderer_store.d.ts +3 -2
  231. package/dist/types/stores/main_viewport_store.d.ts +14 -0
  232. package/dist/types/stores/spreadsheet_store.d.ts +1 -1
  233. package/dist/types/stores/table_resize_store.d.ts +6 -0
  234. package/dist/types/stores/trim_whitespace_store.d.ts +9 -0
  235. package/dist/types/stores/viewports_store.d.ts +85 -0
  236. package/dist/types/stores/zoom_store.d.ts +27 -0
  237. package/dist/types/types/chart/chart.d.ts +3 -1
  238. package/dist/types/types/chart/chart_suggestion.d.ts +137 -0
  239. package/dist/types/types/chart/radar_chart.d.ts +1 -1
  240. package/dist/types/types/chart/scorecard_chart.d.ts +3 -4
  241. package/dist/types/types/collaborative/transport_service.d.ts +1 -0
  242. package/dist/types/types/commands.d.ts +55 -68
  243. package/dist/types/types/figure.d.ts +26 -3
  244. package/dist/types/types/functions.d.ts +16 -6
  245. package/dist/types/types/getters.d.ts +126 -28
  246. package/dist/types/types/misc.d.ts +19 -1
  247. package/dist/types/types/model.d.ts +2 -4
  248. package/dist/types/types/range.d.ts +1 -0
  249. package/dist/types/types/rendering.d.ts +21 -1
  250. package/dist/types/types/store_engine.d.ts +10 -3
  251. package/package.json +6 -5
  252. package/dist/types/plugins/core_view_plugin.d.ts +0 -29
  253. package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +0 -26
  254. package/dist/types/plugins/ui_core_views/formula_tracker.d.ts +0 -8
  255. package/dist/types/plugins/ui_feature/checkbox_toggle.d.ts +0 -9
  256. package/dist/types/plugins/ui_feature/data_cleanup.d.ts +0 -16
  257. package/dist/types/plugins/ui_feature/pivot_presence_plugin.d.ts +0 -11
  258. package/dist/types/plugins/ui_feature/split_to_columns.d.ts +0 -21
  259. package/dist/types/plugins/ui_feature/subtotal_evaluation.d.ts +0 -5
  260. package/dist/types/plugins/ui_feature/table_autofill.d.ts +0 -6
  261. package/dist/types/plugins/ui_feature/table_resize_ui.d.ts +0 -6
  262. package/dist/types/plugins/ui_stateful/sheetview.d.ts +0 -123
  263. package/dist/types/types/core_getters.d.ts +0 -75
  264. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/binary_grid.d.ts +0 -0
  265. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/formula_dependency_graph.d.ts +0 -0
  266. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/interval_tree.d.ts +0 -0
  267. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/position_set.d.ts +0 -0
  268. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/r_tree.d.ts +0 -0
  269. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/range_set.d.ts +0 -0
  270. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/spreading_relation.d.ts +0 -0
  271. /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/zone_set.d.ts +0 -0
@@ -99,6 +99,7 @@ import { HighlightStore } from "./stores/highlight_store";
99
99
  import { NotificationStore } from "./stores/notification_store";
100
100
  import { RendererStore } from "./stores/renderer_store";
101
101
  import { SpreadsheetStore } from "./stores/spreadsheet_store";
102
+ import { ZoomStore } from "./stores/zoom_store";
102
103
  import { schemeToColorScale } from "./types/chart/chart";
103
104
  import { AddFunctionDescription } from "./types/functions";
104
105
  import { isMatrix } from "./types/misc";
@@ -123,13 +124,13 @@ export { findCellInNewZone } from "./helpers/zones";
123
124
  export { load } from "./migrations/data";
124
125
  export { Model } from "./model";
125
126
  export { CorePlugin } from "./plugins/core_plugin";
126
- export { CoreViewPlugin } from "./plugins/core_view_plugin";
127
+ export { EvaluationPlugin } from "./plugins/evaluation_plugin";
127
128
  export { UIPlugin } from "./plugins/ui_plugin";
128
129
  export { Registry } from "./registries/registry";
129
130
  export { setTranslationMethod } from "./translation";
130
131
  export type { Client } from "./types/collaborative/session";
131
132
  export type { ClientJoinedMessage, ClientLeftMessage, ClientMovedMessage, CollaborationMessage, RemoteRevisionMessage, RevisionRedoneMessage, RevisionUndoneMessage, TransportService, } from "./types/collaborative/transport_service";
132
- export { canExecuteInReadonly, CommandResult, coreTypes, DispatchResult, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isSheetDependent, lockedSheetAllowedCommands, readonlyAllowedCommands, } from "./types/commands";
133
+ export { canExecuteInReadonly, CommandResult, coreTypes, dispatcheableEvaluationCommandTypes, DispatchResult, evaluationCommandTypes, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isSheetDependent, lockedSheetAllowedCommands, readonlyAllowedCommands, } from "./types/commands";
133
134
  export type { CancelledReason } from "./types/commands";
134
135
  export { CellErrorType, EvaluationError } from "./types/errors";
135
136
  export { addRenderingLayer } from "./types/rendering";
@@ -151,11 +152,11 @@ export declare const registries: {
151
152
  colMenuRegistry: import("./registries/menu_items_registry").MenuItemRegistry;
152
153
  errorTypes: Set<string>;
153
154
  functionRegistry: import(".").FunctionRegistry;
154
- featurePluginRegistry: import(".").Registry<import("./plugins/ui_plugin").UIPluginConstructor>;
155
+ featurePluginRegistry: import("./plugins/plugin_registries").PluginRegistry<import("./plugins/ui_plugin").UIPluginConstructor>;
155
156
  iconsOnCellRegistry: import(".").Registry<(getters: import(".").Getters, position: import(".").CellPosition) => import("./registries/icons_on_cell_registry").GridIcon | undefined>;
156
- statefulUIPluginRegistry: import(".").Registry<import("./plugins/ui_plugin").UIPluginConstructor>;
157
- coreViewsPluginRegistry: import(".").Registry<import("./plugins/core_view_plugin").CoreViewPluginConstructor>;
158
- corePluginRegistry: import(".").Registry<import("./plugins/core_plugin").CorePluginConstructor>;
157
+ statefulUIPluginRegistry: import("./plugins/plugin_registries").PluginRegistry<import("./plugins/ui_plugin").UIPluginConstructor>;
158
+ evaluationPluginRegistry: import("./plugins/plugin_registries").PluginRegistry<import("./plugins/evaluation_plugin").EvaluationPluginConstructor>;
159
+ corePluginRegistry: import("./plugins/plugin_registries").PluginRegistry<import("./plugins/core_plugin").CorePluginConstructor>;
159
160
  rowMenuRegistry: import("./registries/menu_items_registry").MenuItemRegistry;
160
161
  sidePanelRegistry: import(".").Registry<import("./registries/side_panel_registry").SidePanelContent>;
161
162
  figureRegistry: import(".").Registry<import("./registries/figures_registry").FigureContent>;
@@ -206,7 +207,7 @@ export declare const registries: {
206
207
  register: (chart: import("./types/chart/chartjs").GlobalChart) => void;
207
208
  unregister: (chart: import("./types/chart/chartjs").GlobalChart) => void;
208
209
  }>;
209
- onIterationEndEvaluationRegistry: import(".").Registry<(getters: import(".").Getters) => void>;
210
+ onIterationEndEvaluationRegistry: import(".").Registry<(getters: import(".").EvaluationGetters) => void>;
210
211
  specificRangeTransformRegistry: {
211
212
  add<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
212
213
  replace<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
@@ -219,6 +220,8 @@ export declare const registries: {
219
220
  getKeys(): string[];
220
221
  remove(key: string): void;
221
222
  };
223
+ unusedDataSourceRegistry: import(".").Registry<import("./registries/data_source_registry").DataSourceType>;
224
+ NonSquishableFunctionRegistry: import(".").Registry<string>;
222
225
  };
223
226
  /** Registries Population */
224
227
  import "./clipboard_handlers/clipboard_handler_registrations";
@@ -228,17 +231,28 @@ import "./plugins/plugin_registries";
228
231
  import "./registries/auto_completes/autocompelete_registration";
229
232
  import "./registries/chart_types";
230
233
  import "./registries/interactive_icon_on_cell_registry";
234
+ import { AutofillStore } from "./components/autofill/autofill_store";
235
+ import { TableAutofillStore } from "./components/autofill/table_autofill_store";
231
236
  import { Composer } from "./components/composer/composer/composer";
232
237
  import { StandaloneComposer } from "./components/composer/standalone_composer/standalone_composer";
238
+ import { CarouselFigure } from "./components/figures/figure_carousel/figure_carousel";
239
+ import { getBoundingRectWithMargins, hasInteractiveElementInEventTree, isMobileOS } from "./components/helpers/dom_helpers";
240
+ import { PopoverContainerPlugin } from "./components/popover/popover_container_owl_plugin";
233
241
  import { Select } from "./components/select/select";
234
242
  import { ChartRangeDataSourceComponent } from "./components/side_panel/chart/building_blocks/range_data_source/range_data_source";
235
243
  import { CalendarButton } from "./components/side_panel/criterion_form/calendar_button/calendar_button";
244
+ import { Spreadsheet } from "./components/spreadsheet/spreadsheet";
236
245
  import { TopBar } from "./components/top_bar/top_bar";
246
+ import { createComputeFunction } from "./functions/create_compute_function";
247
+ import { PositionMap } from "./helpers/cells/position_map";
237
248
  import { parseFormat } from "./helpers/format/format_parser";
238
249
  import { replaceSymbolInFormula } from "./helpers/formulas";
239
250
  import { getFirstPivotFunction, getNumberOfPivotFunctions } from "./helpers/pivot/pivot_composer_helpers";
240
251
  import { domainToColRowDomain } from "./helpers/pivot/pivot_domain_helpers";
252
+ import { drawHighlight } from "./helpers/rendering";
241
253
  import { fuzzyLookup } from "./helpers/search";
254
+ import { ClipboardStore } from "./stores/clipboard_store";
255
+ import { ViewportsStore } from "./stores/viewports_store";
242
256
  export declare const helpers: {
243
257
  arg: typeof arg;
244
258
  isEvaluationError: typeof isEvaluationError;
@@ -313,9 +327,15 @@ export declare const helpers: {
313
327
  collapseHierarchicalDisplayName: typeof collapseHierarchicalDisplayName;
314
328
  getCanonicalSymbolName: typeof getCanonicalSymbolName;
315
329
  fuzzyLookup: typeof fuzzyLookup;
330
+ PositionMap: typeof PositionMap;
316
331
  replaceSymbolInFormula: typeof replaceSymbolInFormula;
317
332
  isSingleCellReference: typeof isSingleCellReference;
318
333
  computeCachedTextDimension: typeof computeCachedTextDimension;
334
+ createComputeFunction: typeof createComputeFunction;
335
+ isMobileOS: typeof isMobileOS;
336
+ drawHighlight: typeof drawHighlight;
337
+ getBoundingRectWithMargins: typeof getBoundingRectWithMargins;
338
+ hasInteractiveElementInEventTree: typeof hasInteractiveElementInEventTree;
319
339
  };
320
340
  export declare const links: {
321
341
  isMarkdownLink: typeof isMarkdownLink;
@@ -387,6 +407,8 @@ export declare const components: {
387
407
  TopBar: typeof TopBar;
388
408
  Composer: typeof Composer;
389
409
  CalendarButton: typeof CalendarButton;
410
+ Spreadsheet: typeof Spreadsheet;
411
+ CarouselFigure: typeof CarouselFigure;
390
412
  };
391
413
  export declare const hooks: {
392
414
  useDragAndDropListItems: typeof useDragAndDropListItems;
@@ -395,7 +417,6 @@ export declare const hooks: {
395
417
  };
396
418
  export declare const compatibility: {
397
419
  Component: any;
398
- useExternalListener: any;
399
420
  EnvPlugin: any;
400
421
  App: any;
401
422
  };
@@ -419,12 +440,21 @@ export declare const stores: {
419
440
  SidePanelStore: typeof SidePanelStore;
420
441
  PivotSidePanelStore: typeof PivotSidePanelStore;
421
442
  PivotMeasureDisplayPanelStore: typeof PivotMeasureDisplayPanelStore;
443
+ TableAutofillStore: typeof TableAutofillStore;
444
+ AutofillStore: typeof AutofillStore;
422
445
  ClientFocusStore: typeof ClientFocusStore;
423
446
  GridRenderer: typeof GridRenderer;
447
+ ViewportsStore: typeof ViewportsStore;
448
+ ClipboardStore: typeof ClipboardStore;
449
+ ZoomStore: typeof ZoomStore;
450
+ globalStores: import(".").Registry<import(".").StoreConstructor<SpreadsheetStore, any[]>>;
451
+ };
452
+ export declare const owlPlugins: {
453
+ PopoverContainerPlugin: typeof PopoverContainerPlugin;
424
454
  };
425
455
  export { getCaretDownSvg, getCaretUpSvg } from "./components/icons/icons";
426
456
  export { createAutocompleteArgumentsProvider } from "./functions/autocomplete_arguments_provider";
427
- export type { FunctionRegistry } from "./functions/function_registry";
457
+ export type { FunctionRegistry, NonSquishableFunctionRegistry, } from "./functions/function_registry";
428
458
  export { categories } from "./functions/function_registry_population";
429
459
  export type { StoreConstructor, StoreParams } from "./types/store_engine";
430
460
  export declare function addFunction(functionName: string, functionDescription: AddFunctionDescription): {
@@ -32,9 +32,9 @@ import { XLSXExport } from "./types/xlsx";
32
32
  * programmatically a spreadsheet.
33
33
  */
34
34
  export declare class Model extends EventBus<any> implements CommandDispatcher {
35
- private corePlugins;
36
35
  private statefulUIPlugins;
37
36
  private range;
37
+ private formulasPlugin;
38
38
  private session;
39
39
  /**
40
40
  * In a collaborative context, some commands can be replayed, we have to ensure
@@ -58,7 +58,7 @@ export declare class Model extends EventBus<any> implements CommandDispatcher {
58
58
  */
59
59
  readonly config: ModelConfig;
60
60
  private corePluginConfig;
61
- private coreViewPluginConfig;
61
+ private evaluationPluginConfig;
62
62
  private uiPluginConfig;
63
63
  private state;
64
64
  readonly selection: SelectionStreamProcessor;
@@ -70,24 +70,30 @@ export declare class Model extends EventBus<any> implements CommandDispatcher {
70
70
  getters: Getters;
71
71
  /**
72
72
  * Getters that are accessible from the core plugins. It's a subset of `getters`,
73
- * without the UI getters
73
+ * without the UI getters and without the evaluation getters
74
74
  */
75
75
  private coreGetters;
76
+ /**
77
+ * Getters that are accessible from the evaluation plugins. It's a subset of
78
+ * `getters`, without the UI getters.
79
+ */
80
+ private evaluationGetters;
76
81
  private readonly handlers;
77
82
  private readonly uiHandlers;
78
83
  private readonly coreHandlers;
84
+ private readonly evaluationHandlers;
79
85
  constructor(data?: any, config?: Partial<ModelConfig>, stateUpdateMessages?: StateUpdateMessage[], verboseImport?: boolean);
80
86
  joinSession(): void;
81
87
  leaveSession({ shouldSnapshot }?: {
82
88
  shouldSnapshot?: boolean;
83
89
  }): Promise<void>;
90
+ private registerCoreGetter;
91
+ private registerEvaluationGetter;
92
+ private registerUiGetter;
84
93
  private setupUiPlugin;
85
- private setupCoreViewPlugin;
94
+ private setupEvaluationPlugin;
86
95
  /**
87
96
  * Initialize and properly configure a plugin.
88
- *
89
- * This method is private for now, but if the need arise, there is no deep
90
- * reason why the model could not add dynamically a plugin while it is running.
91
97
  */
92
98
  private setupCorePlugin;
93
99
  private onRemoteRevisionReceived;
@@ -95,9 +101,9 @@ export declare class Model extends EventBus<any> implements CommandDispatcher {
95
101
  private setupSessionEvents;
96
102
  private setupConfig;
97
103
  private setupExternalConfig;
98
- private setupCorePluginConfig;
99
- private setupCoreViewPluginConfig;
100
- private setupUiPluginConfig;
104
+ private getCorePluginConfig;
105
+ private getEvaluationPluginConfig;
106
+ private getUiPluginConfig;
101
107
  /**
102
108
  * Check if the given command is allowed by all the plugins and the history.
103
109
  */
@@ -106,6 +112,7 @@ export declare class Model extends EventBus<any> implements CommandDispatcher {
106
112
  private checkDispatchAllowedRemoteCommand;
107
113
  private checkDispatchAllowedCoreCommand;
108
114
  private checkDispatchAllowedLocalCommand;
115
+ private canHandle;
109
116
  private finalize;
110
117
  /**
111
118
  * Check if a command can be dispatched, and returns a DispatchResult object with the possible
@@ -132,6 +139,7 @@ export declare class Model extends EventBus<any> implements CommandDispatcher {
132
139
  * A command dispatched from this function is not added to the history.
133
140
  */
134
141
  private dispatchFromCorePlugin;
142
+ private dispatchFromEvaluationPlugin;
135
143
  /**
136
144
  * Dispatch the given command to the given handlers.
137
145
  * It will call `beforeHandle` and `handle`
@@ -11,7 +11,6 @@
11
11
  *
12
12
  * 1. Update template directives:
13
13
  * - replace `t-portal` → `t-custom-portal`
14
- * - replace `t-model` → `t-custom-model`
15
14
  *
16
15
  * 2. Load this file immediately after Owl 3.
17
16
  *
@@ -26,7 +25,6 @@
26
25
  * Gradually remove the compatibility layer by migrating to native Owl 3:
27
26
  *
28
27
  * - replace `t-custom-portal` with proper Owl 3 portal usage
29
- * - replace `t-custom-model` with `t-model` + signals
30
28
  * - convert `useLayoutEffect` back to `useEffect` where appropriate
31
29
  *
32
30
  * The end goal is to eliminate all compatibility shims.
@@ -38,14 +36,11 @@ export interface ComponentConstructor<Env = any> {
38
36
  template: string;
39
37
  }
40
38
  declare class _Component<Env = any> extends OwlComponent {
41
- static template: string;
42
39
  env: Env;
43
40
  constructor(node: any);
44
41
  setup(): void;
45
- render(deep?: boolean): void;
46
42
  }
47
43
  declare function _useComponent(): any;
48
- declare function _useExternalListener(target: any, eventName: any, handler: any, eventParams?: any): void;
49
44
  declare function _useLayoutEffect(effect: any, computeDependencies?: () => any): void;
50
45
  declare class _EnvPlugin extends Plugin {
51
46
  static id: string;
@@ -53,8 +48,6 @@ declare class _EnvPlugin extends Plugin {
53
48
  }
54
49
  declare function _useEnv(): any;
55
50
  declare function _useSubEnv(extension: any): void;
56
- declare function _useChildSubEnv(extension: any): void;
57
- declare function _useChildEnv(): any;
58
51
  declare class _App extends OwlApp {
59
52
  /**
60
53
  * @param {any} config
@@ -64,22 +57,16 @@ declare class _App extends OwlApp {
64
57
  }
65
58
  declare const Component: typeof _Component;
66
59
  declare const useComponent: typeof _useComponent;
67
- declare const useExternalListener: typeof _useExternalListener;
68
60
  declare const useLayoutEffect: typeof _useLayoutEffect;
69
61
  declare const EnvPlugin: typeof _EnvPlugin;
70
62
  declare const useEnv: typeof _useEnv;
71
63
  declare const useSubEnv: typeof _useSubEnv;
72
- declare const useChildEnv: typeof _useChildEnv;
73
- declare const useChildSubEnv: typeof _useChildSubEnv;
74
64
  declare const App: typeof _App;
75
- export { App, Component, EnvPlugin, useChildEnv, useChildSubEnv, useComponent, useEnv, useExternalListener, useLayoutEffect, useSubEnv, };
65
+ export { App, Component, EnvPlugin, useComponent, useEnv, useLayoutEffect, useSubEnv };
76
66
  export type Component<Env = any> = _Component<Env>;
77
67
  export type useComponent = () => any;
78
- export type useExternalListener = (target: any, eventName: any, handler: any, eventParams?: any) => void;
79
68
  export type useLayoutEffect = (effect: any, computeDependencies: () => any) => void;
80
69
  export type EnvPlugin = _EnvPlugin;
81
70
  export type useEnv = () => any;
82
71
  export type useSubEnv = () => any;
83
- export type useChildEnv = () => any;
84
- export type useChildSubEnv = () => any;
85
72
  export type App = _App;
@@ -1,19 +1,23 @@
1
1
  import { CommandResult, CoreCommand } from "../../types/commands";
2
- import { Carousel } from "../../types/figure";
3
- import { UID } from "../../types/misc";
2
+ import { Carousel, CarouselData } from "../../types/figure";
3
+ import { RangeAdapterFunctions, UID } from "../../types/misc";
4
4
  import { WorkbookData } from "../../types/workbook_data";
5
5
  import { CorePlugin } from "../core_plugin";
6
6
  interface CarouselState {
7
7
  readonly carousels: Record<UID, Record<UID, Carousel | undefined> | undefined>;
8
8
  }
9
9
  export declare class CarouselPlugin extends CorePlugin<CarouselState> implements CarouselState {
10
- static getters: readonly ["getCarousel", "doesCarouselExist"];
10
+ static getters: readonly ["getCarousel", "doesCarouselExist", "carouselToCarouselData"];
11
11
  readonly carousels: Record<UID, Record<UID, Carousel | undefined> | undefined>;
12
- allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.InvalidFigureId | CommandResult.DuplicatedFigureId;
12
+ adaptRanges(rangeAdapterFunctions: RangeAdapterFunctions): void;
13
+ allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.InvalidRange | CommandResult.InvalidFigureId | CommandResult.DuplicatedFigureId | CommandResult.ChartDoesNotExist;
13
14
  handle(cmd: CoreCommand): void;
14
15
  doesCarouselExist(figureId: UID): boolean;
15
16
  getCarousel(figureId: UID): Carousel;
16
17
  private removeDeletedCharts;
18
+ private carouselDataToCarousel;
19
+ carouselToCarouselData(carousel: Carousel): CarouselData;
20
+ private areDataViewRangesValid;
17
21
  import(data: WorkbookData): void;
18
22
  export(data: WorkbookData): void;
19
23
  }
@@ -87,5 +87,6 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
87
87
  private checkCellOutOfSheet;
88
88
  private checkUselessClearCell;
89
89
  private checkUselessUpdateCell;
90
+ getFormulas(): CompiledFormula[];
90
91
  }
91
92
  export {};
@@ -1,3 +1,4 @@
1
+ import { CompiledFormula } from "../../formulas/compiler";
1
2
  import { SpreadsheetChart } from "../../helpers/figures/chart";
2
3
  import { ChartCreationContext, ChartDefinition, ChartType } from "../../types/chart/chart";
3
4
  import { Command, CommandResult, CoreCommand } from "../../types/commands";
@@ -41,5 +42,6 @@ export declare class ChartPlugin extends CorePlugin<ChartState> implements Chart
41
42
  private checkChartChanged;
42
43
  /** If the command is meant to create a new figure, the position & offset argument need to be defined in the command */
43
44
  private checkFigureArguments;
45
+ getFormulas(): CompiledFormula[];
44
46
  }
45
47
  export {};
@@ -1,3 +1,4 @@
1
+ import { CompiledFormula } from "../../formulas/compiler";
1
2
  import { Command, CommandResult, CoreCommand } from "../../types/commands";
2
3
  import { ConditionalFormat, ConditionalFormatInternal } from "../../types/conditional_formatting";
3
4
  import { RangeAdapterFunctions, UID, Zone } from "../../types/misc";
@@ -55,5 +56,6 @@ export declare class ConditionalFormatPlugin extends CorePlugin<ConditionalForma
55
56
  private checkCFValues;
56
57
  private removeConditionalFormatting;
57
58
  private changeCFPriority;
59
+ getFormulas(): CompiledFormula[];
58
60
  }
59
61
  export {};
@@ -1,3 +1,4 @@
1
+ import { CompiledFormula } from "../../formulas/compiler";
1
2
  import { Command, CommandResult, CoreCommand } from "../../types/commands";
2
3
  import { DataValidationRule } from "../../types/data_validation";
3
4
  import { CellPosition, RangeAdapterFunctions, UID } from "../../types/misc";
@@ -34,5 +35,6 @@ export declare class DataValidationPlugin extends CorePlugin<DataValidationState
34
35
  private checkCriterionHasValidNumberOfValues;
35
36
  private checkCriterionValuesAreValid;
36
37
  private checkValidRange;
38
+ getFormulas(): CompiledFormula[];
37
39
  }
38
40
  export {};
@@ -0,0 +1,8 @@
1
+ import { CompiledFormula } from "../../formulas/compiler";
2
+ import { FormulaProvider } from "../../types/misc";
3
+ export declare class FormulaProviderAggregator {
4
+ private providers;
5
+ static getters: readonly ["getAllFormulas"];
6
+ addFormulaProvider(provider: FormulaProvider["getFormulas"]): void;
7
+ getAllFormulas(): CompiledFormula[];
8
+ }
@@ -9,7 +9,7 @@ interface ImageState {
9
9
  readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
10
10
  }
11
11
  export declare class ImagePlugin extends CorePlugin<ImageState> implements ImageState {
12
- static getters: readonly ["getImage", "getImagePath", "getImageSize"];
12
+ static getters: readonly ["getImage", "getImagePath", "getImageSize", "getImageFile"];
13
13
  readonly fileStore?: FileStore;
14
14
  readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
15
15
  /**
@@ -22,6 +22,7 @@ export declare class ImagePlugin extends CorePlugin<ImageState> implements Image
22
22
  getImage(figureId: UID): Image;
23
23
  getImagePath(figureId: UID): string;
24
24
  getImageSize(figureId: UID): FigureSize;
25
+ getImageFile(figureId: UID): Promise<Blob | File | undefined>;
25
26
  private addFigure;
26
27
  import(data: WorkbookData): void;
27
28
  export(data: WorkbookData): void;
@@ -59,6 +59,7 @@ export declare class PivotCorePlugin extends CorePlugin<CoreState> implements Co
59
59
  private checkSortedColumnInMeasures;
60
60
  private checkDuplicatedMeasureIds;
61
61
  private checkCustomFieldsAreValid;
62
+ getFormulas(): CompiledFormula[];
62
63
  /**
63
64
  * Import the pivots
64
65
  */
@@ -1,5 +1,5 @@
1
1
  import { Command, CommandHandler, CommandResult, CoreCommand } from "../../types/commands";
2
- import { CoreGetters } from "../../types/core_getters";
2
+ import { CoreGetters } from "../../types/getters";
3
3
  import { Dimension, RangeProvider, UID, UnboundedZone, Zone } from "../../types/misc";
4
4
  import { Range, RangeData, RangeStringOptions } from "../../types/range";
5
5
  export declare class RangeAdapterPlugin implements CommandHandler<CoreCommand> {
@@ -7,7 +7,7 @@ export declare class RangeAdapterPlugin implements CommandHandler<CoreCommand> {
7
7
  private providers;
8
8
  private isAdaptingRanges;
9
9
  constructor(getters: CoreGetters);
10
- static getters: readonly ["copyFormulaStringForSheet", "extendRange", "getRangeString", "getRangeFromSheetXC", "createAdaptedRanges", "getRangeData", "getRangeDataFromXc", "getRangeDataFromZone", "getRangeFromRangeData", "getRangeFromZone", "getRangesUnion", "recomputeRanges", "isRangeValid", "removeRangesSheetPrefix"];
10
+ static getters: readonly ["copyFormulaStringForSheet", "extendRange", "getRangeString", "getRangeFromSheetXC", "clipRangesToSheet", "clipRangeToSheet", "createAdaptedRanges", "getRangeData", "getRangeDataFromXc", "getRangeDataFromZone", "getRangeFromRangeData", "getRangeFromZone", "getRangesUnion", "recomputeRanges", "isRangeValid", "removeRangesSheetPrefix"];
11
11
  allowDispatch(cmd: CoreCommand): CommandResult;
12
12
  beforeHandle(command: Command): void;
13
13
  handle(cmd: CoreCommand): void;
@@ -22,6 +22,8 @@ export declare class RangeAdapterPlugin implements CommandHandler<CoreCommand> {
22
22
  * all ranges
23
23
  */
24
24
  addRangeProvider(provider: RangeProvider["adaptRanges"]): void;
25
+ clipRangeToSheet(range: Range): Range | undefined;
26
+ clipRangesToSheet(ranges: Range[]): Range[];
25
27
  createAdaptedRanges(ranges: Range[], offsetX: number, offsetY: number, sheetId: UID): Range[];
26
28
  /**
27
29
  * Remove the sheet name prefix if a range is part of the given sheet.
@@ -1,7 +1,7 @@
1
1
  import { CompiledFormula } from "../../formulas/compiler";
2
2
  import { Cell } from "../../types/cells";
3
3
  import { UpdateCellCommand } from "../../types/commands";
4
- import { CoreGetters } from "../../types/core_getters";
4
+ import { CoreGetters } from "../../types/getters";
5
5
  import { UID } from "../../types/misc";
6
6
  /**
7
7
  * Example of squishing:
@@ -30,7 +30,9 @@ export declare class Squisher {
30
30
  private alreadyAppliedNumberOffsets;
31
31
  private previousStrings;
32
32
  private baseFormulaWasTransformed;
33
+ private rangeToStringOptions;
33
34
  private baseNumber;
35
+ private baseNumberFormat;
34
36
  constructor(getters: CoreGetters);
35
37
  /** Build the result object based on a transformation. Joins the numbers into a single string, tries to do the same
36
38
  * with references (unless they contain a sheet name that contains the separator). */
@@ -39,6 +41,8 @@ export declare class Squisher {
39
41
  resetBaseTo(formula: CompiledFormula): void;
40
42
  /** Reset the base formula to undefined, resetting all offsets */
41
43
  resetBaseFormula(): void;
44
+ /** Reset the base number literal chain, so the next literal number cannot be squished as an offset of it */
45
+ resetBaseNumber(): void;
42
46
  /**
43
47
  * Takes a cell and squish their formulas against the previous one (in the previous call).
44
48
  * We should call this method for each cell in the sheet, in order from top to bottom, then from left to right (all cells of a columns, for each columns left to right).
@@ -46,7 +50,8 @@ export declare class Squisher {
46
50
  * The result of this method is:
47
51
  * - if the cell is not a formula, returns the content as is and resets the base formula
48
52
  * - if the cell is a formula:
49
- * - if there is no previous formula, or the normalized formula is different from the previous one, resets the base formula to this one and returns the full formula string
53
+ * - if there is no previous formula, or the normalized formula is different from the previous one or it contains blacklisted functions (see NonSquishableFunctionRegistry),
54
+ * resets the base formula to this one and returns the full formula string
50
55
  * - else, compares the literal values and range dependencies to the previous formula, and for each parameter:
51
56
  * - for numbers: returns a relative change (+N or -N) if possible, else the full number or "=" if unchanged
52
57
  * - for strings: returns the full string if changed, else "="
@@ -8,7 +8,7 @@ interface TableState {
8
8
  nextTableId: number;
9
9
  }
10
10
  export declare class TablePlugin extends CorePlugin<TableState> implements TableState {
11
- static getters: readonly ["getCoreTable", "getCoreTables", "getCoreTableMatchingTopLeft"];
11
+ static getters: readonly ["getCoreTable", "getCoreTables", "getCoreTableMatchingTopLeft", "getCoreTableById"];
12
12
  readonly tables: Record<UID, Record<TableId, CoreTable | undefined>>;
13
13
  readonly nextTableId: number;
14
14
  adaptRanges({ applyChange }: RangeAdapterFunctions): void;
@@ -16,6 +16,7 @@ export declare class TablePlugin extends CorePlugin<TableState> implements Table
16
16
  handle(cmd: CoreCommand): void;
17
17
  getCoreTables(sheetId: UID): CoreTable[];
18
18
  getCoreTable({ sheetId, col, row }: CellPosition): CoreTable | undefined;
19
+ getCoreTableById(sheetId: UID, tableId: UID): CoreTable | undefined;
19
20
  private getTablesOverlappingZones;
20
21
  /** Extend a table down one row */
21
22
  private extendTableDown;
@@ -1,7 +1,7 @@
1
1
  import { SquishedCoreCommand } from "../../collaborative/command_squisher";
2
2
  import { CompiledFormula } from "../../formulas/compiler";
3
3
  import { CoreCommand } from "../../types/commands";
4
- import { CoreGetters } from "../../types/core_getters";
4
+ import { CoreGetters } from "../../types/getters";
5
5
  import { Position, UID } from "../../types/misc";
6
6
  import { SquishedContent } from "./squisher";
7
7
  export declare class Unsquisher {
@@ -1,15 +1,18 @@
1
+ import { CompiledFormula } from "../formulas/compiler";
1
2
  import { StateObserver } from "../state_observer";
2
3
  import { CoreCommand, CoreCommandDispatcher } from "../types/commands";
3
- import { CoreGetters } from "../types/core_getters";
4
- import { RangeAdapterFunctions, RangeProvider } from "../types/misc";
4
+ import { CoreGetters } from "../types/getters";
5
+ import { FormulaProvider, RangeAdapterFunctions, RangeProvider } from "../types/misc";
5
6
  import { ModelConfig } from "../types/model";
6
7
  import { WorkbookData } from "../types/workbook_data";
7
8
  import { BasePlugin } from "./base_plugin";
9
+ import { FormulaProviderAggregator } from "./core/formulas_provider";
8
10
  import { RangeAdapterPlugin } from "./core/range";
9
11
  export interface CorePluginConfig {
10
12
  readonly getters: CoreGetters;
11
13
  readonly stateObserver: StateObserver;
12
14
  readonly range: RangeAdapterPlugin;
15
+ readonly formulasPlugin: FormulaProviderAggregator;
13
16
  readonly dispatch: CoreCommandDispatcher["dispatch"];
14
17
  readonly canDispatch: CoreCommandDispatcher["dispatch"];
15
18
  readonly custom: ModelConfig["custom"];
@@ -25,11 +28,11 @@ export interface CorePluginConstructor {
25
28
  * persisted state.
26
29
  * They should not be concerned about UI parts or transient state.
27
30
  */
28
- export declare class CorePlugin<State = any> extends BasePlugin<State, CoreCommand> implements RangeProvider {
31
+ export declare class CorePlugin<State = any> extends BasePlugin<State, CoreCommand> implements RangeProvider, FormulaProvider {
29
32
  protected getters: CoreGetters;
30
33
  protected dispatch: CoreCommandDispatcher["dispatch"];
31
34
  protected canDispatch: CoreCommandDispatcher["dispatch"];
32
- constructor({ getters, stateObserver, range, dispatch, canDispatch }: CorePluginConfig);
35
+ constructor({ getters, stateObserver, range, dispatch, canDispatch, formulasPlugin, }: CorePluginConfig);
33
36
  import(data: WorkbookData): void;
34
37
  export(data: WorkbookData, shouldSquish: boolean): void;
35
38
  /**
@@ -44,4 +47,5 @@ export declare class CorePlugin<State = any> extends BasePlugin<State, CoreComma
44
47
  * @param sheetName couple of old and new sheet names to adapt ranges pointing to that sheet
45
48
  */
46
49
  adaptRanges(rangeAdapterFunctions: RangeAdapterFunctions): void;
50
+ getFormulas(): CompiledFormula[];
47
51
  }
@@ -1,12 +1,12 @@
1
- import { Command } from "../../types/commands";
1
+ import { EvaluationCommand } from "../../types/commands";
2
2
  import { Border, CellPosition, Style } from "../../types/misc";
3
3
  import { ExcelWorkbookData } from "../../types/workbook_data";
4
- import { UIPlugin } from "../ui_plugin";
5
- export declare class CellComputedStylePlugin extends UIPlugin {
4
+ import { EvaluationPlugin } from "../evaluation_plugin";
5
+ export declare class CellComputedStylePlugin extends EvaluationPlugin {
6
6
  static getters: readonly ["getCellComputedBorder", "getCellComputedStyle"];
7
7
  private styles;
8
8
  private borders;
9
- handle(cmd: Command): void;
9
+ handle(cmd: EvaluationCommand): void;
10
10
  getCellComputedBorder(position: CellPosition): Border | null;
11
11
  getCellComputedStyle(position: CellPosition): Style;
12
12
  private computeCellStyle;
@@ -1,21 +1,28 @@
1
1
  import { CompiledFormula } from "../../../formulas/compiler";
2
2
  import { CellValue, EvaluatedCell, FormulaCell } from "../../../types/cells";
3
- import { Command, CoreViewCommand } from "../../../types/commands";
3
+ import { CommandResult, EvaluationCommand } from "../../../types/commands";
4
4
  import { PerfProfile } from "../../../types/functions";
5
5
  import { CellPosition, FunctionResultObject, GetSymbolValue, Matrix, UID, Zone } from "../../../types/misc";
6
6
  import { Range } from "../../../types/range";
7
7
  import { ExcelWorkbookData } from "../../../types/workbook_data";
8
- import { CoreViewPlugin, CoreViewPluginConfig } from "../../core_view_plugin";
9
- export declare class EvaluationPlugin extends CoreViewPlugin {
10
- static getters: readonly ["evaluateFormula", "evaluateFormulaResult", "evaluateCompiledFormula", "getCorrespondingFormulaCell", "getVisibleRangeValues", "getEvaluatedCell", "getEvaluatedCells", "getEvaluatedCellsInZone", "getEvaluatedCellsPositions", "getSpreadZone", "getArrayFormulaSpreadingOn", "isArrayFormulaSpillBlocked", "isEmpty", "getPerfProfile"];
8
+ import { EvaluationPlugin, EvaluationPluginConfig } from "../../evaluation_plugin";
9
+ export declare class CellEvaluationPlugin extends EvaluationPlugin {
10
+ static getters: readonly ["evaluateFormula", "evaluateFormulaResult", "evaluateCompiledFormula", "getCorrespondingFormulaCell", "getVisibleRangeValues", "getEvaluatedCell", "getEvaluatedCells", "getEvaluatedCellsInZone", "getEvaluatedCellsPositions", "getSpreadZone", "getArrayFormulaSpreadingOn", "isArrayFormulaSpillBlocked", "isEmpty", "getPerfProfile", "isAutomaticEvaluationEnabled"];
11
11
  private shouldRebuildDependenciesGraph;
12
12
  private forceEvaluation;
13
+ private automaticEvaluation;
13
14
  private evaluator;
14
15
  private positionsToUpdate;
15
- constructor(config: CoreViewPluginConfig);
16
- beforeHandle(cmd: Command): void;
17
- handle(cmd: CoreViewCommand): void;
16
+ constructor(config: EvaluationPluginConfig);
17
+ allowDispatch(cmd: EvaluationCommand): CommandResult.Success | CommandResult.NoChangeInAutomaticEvaluation;
18
+ beforeHandle(cmd: EvaluationCommand): void;
19
+ handle(cmd: EvaluationCommand): void;
18
20
  finalize(): void;
21
+ /**
22
+ * Returns whether automatic evaluation is enabled.
23
+ * When disabled, cells are only re-evaluated on explicit EVALUATE_CELLS commands (F9).
24
+ */
25
+ isAutomaticEvaluationEnabled(): boolean;
19
26
  evaluateFormula(sheetId: UID, formulaString: string, cellPosition?: CellPosition): CellValue | Matrix<CellValue>;
20
27
  evaluateFormulaResult(sheetId: UID, formulaString: string, cellPosition?: CellPosition): Matrix<FunctionResultObject> | FunctionResultObject;
21
28
  evaluateCompiledFormula(sheetId: UID, compiledFormula: CompiledFormula, getSymbolValue?: GetSymbolValue): FunctionResultObject | Matrix<FunctionResultObject>;
@@ -1,6 +1,6 @@
1
1
  import { EvaluatedCell } from "../../../types/cells";
2
2
  import { EvalContext } from "../../../types/functions";
3
- import { Getters } from "../../../types/getters";
3
+ import { EvaluationGetters } from "../../../types/getters";
4
4
  import { CellPosition, EnsureRange, ReferenceDenormalizer } from "../../../types/misc";
5
5
  import { ModelConfig } from "../../../types/model";
6
6
  export type CompilationParameters = {
@@ -14,4 +14,4 @@ export type CompilationParameters = {
14
14
  * - a range function to convert any reference to a proper value array
15
15
  * - an evaluation context
16
16
  */
17
- export declare function buildCompilationParameters(context: ModelConfig["custom"], getters: Getters, computeCell: (position: CellPosition) => EvaluatedCell): CompilationParameters;
17
+ export declare function buildCompilationParameters(context: ModelConfig["custom"], getters: EvaluationGetters, computeCell: (position: CellPosition) => EvaluatedCell): CompilationParameters;
@@ -2,7 +2,7 @@ import { CompiledFormula } from "../../../formulas/compiler";
2
2
  import { EvaluatedCell } from "../../../types/cells";
3
3
  import { CompilationParameters } from "./compilation_parameters";
4
4
  import { PerfProfile } from "../../../types/functions";
5
- import { Getters } from "../../../types/getters";
5
+ import { EvaluationGetters } from "../../../types/getters";
6
6
  import { CellPosition, FunctionResultObject, GetSymbolValue, Matrix, UID, Zone } from "../../../types/misc";
7
7
  import { ModelConfig } from "../../../types/model";
8
8
  export declare class Evaluator {
@@ -14,7 +14,7 @@ export declare class Evaluator {
14
14
  private blockedArrayFormulas;
15
15
  private spreadingRelations;
16
16
  private perfProfile;
17
- constructor(context: ModelConfig["custom"], getters: Getters);
17
+ constructor(context: ModelConfig["custom"], getters: EvaluationGetters);
18
18
  getPerfProfile(): PerfProfile | undefined;
19
19
  getEvaluatedCell(position: CellPosition): EvaluatedCell;
20
20
  getSpreadZone(position: CellPosition, options?: {