@odoo/o-spreadsheet 19.4.0-alpha.6 → 19.4.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 (283) hide show
  1. package/dist/o_spreadsheet.cjs +5582 -3815
  2. package/dist/o_spreadsheet.css +76 -22
  3. package/dist/o_spreadsheet.esm.js +5378 -3614
  4. package/dist/o_spreadsheet.iife.js +5582 -3815
  5. package/dist/o_spreadsheet.min.iife.js +299 -307
  6. package/dist/o_spreadsheet.xml +2247 -1887
  7. package/dist/types/actions/action.d.ts +1 -0
  8. package/dist/types/actions/data_actions.d.ts +3 -0
  9. package/dist/types/actions/sheet_actions.d.ts +5 -2
  10. package/dist/types/clipboard_handlers/cell_clipboard.d.ts +1 -1
  11. package/dist/types/clipboard_handlers/default_clipboard.d.ts +29 -0
  12. package/dist/types/components/action_button/action_button.d.ts +9 -30
  13. package/dist/types/components/animation/ripple.d.ts +28 -94
  14. package/dist/types/components/autofill/autofill.d.ts +6 -10
  15. package/dist/types/components/border_editor/border_editor.d.ts +20 -47
  16. package/dist/types/components/border_editor/border_editor_widget.d.ts +8 -24
  17. package/dist/types/components/bottom_bar/bottom_bar.d.ts +6 -9
  18. package/dist/types/components/bottom_bar/bottom_bar_sheet/bottom_bar_sheet.d.ts +8 -24
  19. package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +9 -13
  20. package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +9 -18
  21. package/dist/types/components/color_picker/color_picker.d.ts +14 -31
  22. package/dist/types/components/color_picker/color_picker_widget.d.ts +14 -44
  23. package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown.d.ts +9 -19
  24. package/dist/types/components/composer/composer/abstract_composer_store.d.ts +1 -1
  25. package/dist/types/components/composer/composer/cell_composer_store.d.ts +1 -0
  26. package/dist/types/components/composer/composer/composer.d.ts +16 -70
  27. package/dist/types/components/composer/formula_assistant/formula_assistant.d.ts +9 -18
  28. package/dist/types/components/composer/grid_composer/grid_composer.d.ts +9 -14
  29. package/dist/types/components/composer/speech_bubble/speech_bubble.d.ts +6 -11
  30. package/dist/types/components/composer/standalone_composer/standalone_composer.d.ts +14 -63
  31. package/dist/types/components/composer/standalone_composer/standalone_composer_store.d.ts +1 -0
  32. package/dist/types/components/composer/top_bar_composer/top_bar_composer.d.ts +2 -3
  33. package/dist/types/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.d.ts +6 -12
  34. package/dist/types/components/dashboard/clickable_cell_store.d.ts +1 -1
  35. package/dist/types/components/dashboard/dashboard.d.ts +7 -9
  36. package/dist/types/components/error_tooltip/error_tooltip.d.ts +6 -15
  37. package/dist/types/components/figures/chart/chartJs/chartjs.d.ts +7 -18
  38. package/dist/types/components/figures/chart/chart_menu/chart_menu.d.ts +43 -0
  39. package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +6 -14
  40. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +6 -15
  41. package/dist/types/components/figures/figure/figure.d.ts +10 -35
  42. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +13 -28
  43. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +10 -27
  44. package/dist/types/components/figures/figure_container/figure_container.d.ts +2 -5
  45. package/dist/types/components/figures/figure_image/figure_image.d.ts +10 -21
  46. package/dist/types/components/filters/filter_menu/filter_menu.d.ts +6 -14
  47. package/dist/types/components/filters/filter_menu_criterion/filter_menu_criterion.d.ts +8 -16
  48. package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +11 -23
  49. package/dist/types/components/filters/filter_menu_value_list/filter_menu_value_list.d.ts +14 -15
  50. package/dist/types/components/filters/pivot_filter_menu/pivot_filter_menu.d.ts +37 -0
  51. package/dist/types/components/font_size_editor/font_size_editor.d.ts +8 -25
  52. package/dist/types/components/full_screen_figure/full_screen_figure.d.ts +3 -4
  53. package/dist/types/components/generic_input/generic_input.d.ts +18 -49
  54. package/dist/types/components/grid/grid.d.ts +7 -11
  55. package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +3 -9
  56. package/dist/types/components/grid_overlay/grid_overlay.d.ts +10 -42
  57. package/dist/types/components/grid_popover/grid_popover.d.ts +7 -14
  58. package/dist/types/components/header_group/header_group.d.ts +8 -13
  59. package/dist/types/components/header_group/header_group_container.d.ts +7 -12
  60. package/dist/types/components/headers_overlay/headers_overlay.d.ts +13 -19
  61. package/dist/types/components/headers_overlay/unhide_headers.d.ts +16 -31
  62. package/dist/types/components/helpers/autofocus_hook.d.ts +2 -3
  63. package/dist/types/components/helpers/dom_helpers.d.ts +1 -6
  64. package/dist/types/components/helpers/draw_grid_hook.d.ts +3 -2
  65. package/dist/types/components/helpers/highlight_hook.d.ts +2 -2
  66. package/dist/types/components/helpers/listener_hook.d.ts +2 -11
  67. package/dist/types/components/helpers/touch_handlers_hook.d.ts +2 -2
  68. package/dist/types/components/highlight/border/border.d.ts +8 -17
  69. package/dist/types/components/highlight/corner/corner.d.ts +9 -19
  70. package/dist/types/components/highlight/highlight/highlight.d.ts +7 -12
  71. package/dist/types/components/icon_picker/icon_picker.d.ts +6 -29
  72. package/dist/types/components/info_popover/info_popover.d.ts +21 -0
  73. package/dist/types/components/link/link_display/link_display.d.ts +7 -14
  74. package/dist/types/components/link/link_editor/link_editor.d.ts +10 -23
  75. package/dist/types/components/menu/menu.d.ts +16 -56
  76. package/dist/types/components/menu_popover/menu_popover.d.ts +21 -71
  77. package/dist/types/components/named_range_selector/named_range_selector.d.ts +2 -5
  78. package/dist/types/components/number_editor/number_editor.d.ts +17 -55
  79. package/dist/types/components/number_input/number_input.d.ts +18 -61
  80. package/dist/types/components/paint_format_button/paint_format_button.d.ts +5 -12
  81. package/dist/types/components/pivot_html_renderer/pivot_html_renderer.d.ts +7 -12
  82. package/dist/types/components/popover/popover.d.ts +12 -69
  83. package/dist/types/components/props_validation.d.ts +182 -0
  84. package/dist/types/components/scrollbar/scrollbar.d.ts +11 -30
  85. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +4 -14
  86. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +4 -14
  87. package/dist/types/components/select/select.d.ts +14 -37
  88. package/dist/types/components/selection/selection.d.ts +5 -5
  89. package/dist/types/components/selection_input/selection_input.d.ts +20 -76
  90. package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +6 -11
  91. package/dist/types/components/side_panel/chart/bar_chart/bar_chart_design_panel.d.ts +2 -10
  92. package/dist/types/components/side_panel/chart/bubble_chart/bubble_chart_config_panel.d.ts +3 -8
  93. package/dist/types/components/side_panel/chart/bubble_chart/bubble_chart_design_panel.d.ts +7 -17
  94. package/dist/types/components/side_panel/chart/building_blocks/annotation/annotation.d.ts +24 -0
  95. package/dist/types/components/side_panel/chart/building_blocks/axis_design/axis_design_editor.d.ts +10 -18
  96. package/dist/types/components/side_panel/chart/building_blocks/chart_title/chart_title.d.ts +18 -34
  97. package/dist/types/components/side_panel/chart/building_blocks/color_scale/color_scale_picker.d.ts +12 -17
  98. package/dist/types/components/side_panel/chart/building_blocks/data_series/data_series.d.ts +20 -62
  99. package/dist/types/components/side_panel/chart/building_blocks/data_source/data_source.d.ts +17 -42
  100. package/dist/types/components/side_panel/chart/building_blocks/error_section/error_section.d.ts +6 -13
  101. package/dist/types/components/side_panel/chart/building_blocks/general_design/general_design_editor.d.ts +10 -25
  102. package/dist/types/components/side_panel/chart/building_blocks/generic_side_panel/config_panel.d.ts +3 -8
  103. package/dist/types/components/side_panel/chart/building_blocks/humanize_numbers/humanize_numbers.d.ts +3 -8
  104. package/dist/types/components/side_panel/chart/building_blocks/label_range/label_range.d.ts +15 -35
  105. package/dist/types/components/side_panel/chart/building_blocks/legend/legend.d.ts +9 -18
  106. package/dist/types/components/side_panel/chart/building_blocks/pie_hole_size/pie_hole_size.d.ts +6 -11
  107. package/dist/types/components/side_panel/chart/building_blocks/range_data_source/range_data_source.d.ts +19 -42
  108. package/dist/types/components/side_panel/chart/building_blocks/series_design/series_design_editor.d.ts +9 -17
  109. package/dist/types/components/side_panel/chart/building_blocks/series_design/series_with_axis_design_editor.d.ts +9 -17
  110. package/dist/types/components/side_panel/chart/building_blocks/show_data_markers/show_data_markers.d.ts +3 -8
  111. package/dist/types/components/side_panel/chart/building_blocks/show_values/show_values.d.ts +11 -17
  112. package/dist/types/components/side_panel/chart/building_blocks/text_styler/text_styler.d.ts +19 -39
  113. package/dist/types/components/side_panel/chart/calendar_chart/calendar_chart_design_panel.d.ts +5 -8
  114. package/dist/types/components/side_panel/chart/chart_side_panel_registry.d.ts +1 -1
  115. package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +11 -18
  116. package/dist/types/components/side_panel/chart/chart_with_axis/design_panel.d.ts +5 -8
  117. package/dist/types/components/side_panel/chart/combo_chart/combo_chart_design_panel.d.ts +2 -0
  118. package/dist/types/components/side_panel/chart/common.d.ts +6 -5
  119. package/dist/types/components/side_panel/chart/funnel_chart_panel/funnel_chart_design_panel.d.ts +7 -8
  120. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_config_panel.d.ts +3 -8
  121. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_design_panel.d.ts +7 -9
  122. package/dist/types/components/side_panel/chart/geo_chart_panel/geo_chart_design_panel.d.ts +1 -0
  123. package/dist/types/components/side_panel/chart/geo_chart_panel/geo_chart_region_select_section.d.ts +9 -15
  124. package/dist/types/components/side_panel/chart/line_chart/line_chart_design_panel.d.ts +1 -0
  125. package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel.d.ts +6 -11
  126. package/dist/types/components/side_panel/chart/pie_chart/pie_chart_design_panel.d.ts +5 -8
  127. package/dist/types/components/side_panel/chart/radar_chart/radar_chart_design_panel.d.ts +5 -8
  128. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +3 -8
  129. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_design_panel.d.ts +5 -8
  130. package/dist/types/components/side_panel/chart/sunburst_chart/sunburst_chart_design_panel.d.ts +5 -8
  131. package/dist/types/components/side_panel/chart/treemap_chart/treemap_category_color/treemap_category_color.d.ts +9 -15
  132. package/dist/types/components/side_panel/chart/treemap_chart/treemap_chart_design_panel.d.ts +5 -8
  133. package/dist/types/components/side_panel/chart/treemap_chart/treemap_color_scale/treemap_color_scale.d.ts +8 -15
  134. package/dist/types/components/side_panel/chart/waterfall_chart/waterfall_chart_design_panel.d.ts +5 -8
  135. package/dist/types/components/side_panel/chart/zoomable_chart/design_panel.d.ts +2 -3
  136. package/dist/types/components/side_panel/column_stats/column_stats_panel.d.ts +6 -10
  137. package/dist/types/components/side_panel/components/badge_selection/badge_selection.d.ts +7 -12
  138. package/dist/types/components/side_panel/components/checkbox/checkbox.d.ts +10 -41
  139. package/dist/types/components/side_panel/components/cog_wheel_menu/cog_wheel_menu.d.ts +5 -10
  140. package/dist/types/components/side_panel/components/collapse/collapse.d.ts +5 -11
  141. package/dist/types/components/side_panel/components/collapsible/side_panel_collapsible.d.ts +7 -17
  142. package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +9 -24
  143. package/dist/types/components/side_panel/components/round_color_picker/round_color_picker.d.ts +9 -27
  144. package/dist/types/components/side_panel/components/section/section.d.ts +7 -17
  145. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cell_is_rule_editor.d.ts +5 -10
  146. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor.d.ts +7 -14
  147. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor_store.d.ts +1 -1
  148. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor.d.ts +5 -10
  149. package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor_threshold.d.ts +9 -13
  150. package/dist/types/components/side_panel/conditional_formatting/cf_editor/data_bar_rule_editor.d.ts +5 -10
  151. package/dist/types/components/side_panel/conditional_formatting/cf_editor/icon_set_rule_editor.d.ts +8 -11
  152. package/dist/types/components/side_panel/conditional_formatting/cf_preview/cf_preview.d.ts +8 -15
  153. package/dist/types/components/side_panel/conditional_formatting/cf_preview_list/cf_preview_list.d.ts +5 -9
  154. package/dist/types/components/side_panel/criterion_form/criterion_form.d.ts +4 -15
  155. package/dist/types/components/side_panel/criterion_form/criterion_input/criterion_input.d.ts +16 -50
  156. package/dist/types/components/side_panel/data_validation/data_validation_panel.d.ts +6 -12
  157. package/dist/types/components/side_panel/data_validation/dv_editor/dv_editor.d.ts +7 -15
  158. package/dist/types/components/side_panel/data_validation/dv_preview/dv_preview.d.ts +6 -11
  159. package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +9 -10
  160. package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +10 -3
  161. package/dist/types/components/side_panel/more_formats/more_formats.d.ts +7 -15
  162. package/dist/types/components/side_panel/named_ranges_panel/named_range_preview/named_range_preview.d.ts +7 -10
  163. package/dist/types/components/side_panel/named_ranges_panel/named_ranges_panel.d.ts +5 -9
  164. package/dist/types/components/side_panel/perf_profile/perf_profile_panel.d.ts +5 -9
  165. package/dist/types/components/side_panel/pivot/pivot_custom_groups_collapsible/pivot_custom_groups_collapsible.d.ts +7 -13
  166. package/dist/types/components/side_panel/pivot/pivot_defer_update/pivot_defer_update.d.ts +9 -17
  167. package/dist/types/components/side_panel/pivot/pivot_filter/pivot_filter.d.ts +45 -0
  168. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/add_dimension_button/add_dimension_button.d.ts +7 -15
  169. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension/pivot_dimension.d.ts +9 -25
  170. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_granularity/pivot_dimension_granularity.d.ts +9 -16
  171. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_order/pivot_dimension_order.d.ts +9 -12
  172. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +18 -29
  173. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_measure/pivot_measure.d.ts +12 -22
  174. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_sort_section/pivot_sort_section.d.ts +6 -13
  175. package/dist/types/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel.d.ts +8 -15
  176. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_design_panel/pivot_design_panel.d.ts +5 -10
  177. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel.d.ts +7 -19
  178. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +1 -0
  179. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_spreadsheet_side_panel/pivot_spreadsheet_side_panel.d.ts +13 -13
  180. package/dist/types/components/side_panel/pivot/pivot_title_section/pivot_title_section.d.ts +6 -12
  181. package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +5 -8
  182. package/dist/types/components/side_panel/settings/settings_panel.d.ts +5 -9
  183. package/dist/types/components/side_panel/side_panel/side_panel.d.ts +13 -38
  184. package/dist/types/components/side_panel/side_panels/side_panels.d.ts +27 -7
  185. package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +5 -8
  186. package/dist/types/components/side_panel/table_panel/table_panel.d.ts +7 -11
  187. package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +7 -18
  188. package/dist/types/components/small_bottom_bar/ribbon_menu/ribbon_menu.d.ts +8 -12
  189. package/dist/types/components/small_bottom_bar/small_bottom_bar.d.ts +8 -11
  190. package/dist/types/components/spreadsheet/spreadsheet.d.ts +10 -24
  191. package/dist/types/components/spreadsheet_print/spreadsheet_print.d.ts +5 -9
  192. package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +17 -18
  193. package/dist/types/components/tables/table_dropdown_button/table_dropdown_button.d.ts +9 -14
  194. package/dist/types/components/tables/table_resizer/table_resizer.d.ts +5 -9
  195. package/dist/types/components/tables/table_style_picker/table_style_picker.d.ts +12 -17
  196. package/dist/types/components/tables/table_style_preview/table_style_preview.d.ts +10 -29
  197. package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +33 -27
  198. package/dist/types/components/text_input/text_input.d.ts +2 -48
  199. package/dist/types/components/top_bar/color_editor/color_editor.d.ts +9 -15
  200. package/dist/types/components/top_bar/dropdown_action/dropdown_action.d.ts +12 -21
  201. package/dist/types/components/top_bar/font_size_editor/font_size_editor.d.ts +5 -9
  202. package/dist/types/components/top_bar/number_formats_tool/number_formats_tool.d.ts +6 -11
  203. package/dist/types/components/top_bar/top_bar.d.ts +16 -31
  204. package/dist/types/components/top_bar/top_bar_tool_store.d.ts +2 -2
  205. package/dist/types/components/top_bar/zoom_editor/zoom_editor.d.ts +5 -9
  206. package/dist/types/components/validation_messages/validation_messages.d.ts +7 -17
  207. package/dist/types/constants.d.ts +2 -2
  208. package/dist/types/formulas/code_builder.d.ts +19 -5
  209. package/dist/types/functions/function_registry.d.ts +1 -1
  210. package/dist/types/helpers/cells/cell_evaluation.d.ts +1 -1
  211. package/dist/types/helpers/data_normalization.d.ts +1 -2
  212. package/dist/types/helpers/figures/charts/chart_js_extension.d.ts +1 -1
  213. package/dist/types/helpers/figures/charts/runtime/chart_highlight.d.ts +11 -0
  214. package/dist/types/helpers/figures/charts/runtime/chartjs_legend.d.ts +12 -10
  215. package/dist/types/helpers/figures/charts/runtime/chartjs_scales.d.ts +11 -12
  216. package/dist/types/helpers/filter_helpers.d.ts +8 -0
  217. package/dist/types/helpers/formulas.d.ts +1 -0
  218. package/dist/types/helpers/locale.d.ts +0 -5
  219. package/dist/types/helpers/misc.d.ts +5 -0
  220. package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +4 -0
  221. package/dist/types/helpers/pivot/pivot_registry.d.ts +1 -1
  222. package/dist/types/helpers/pivot/pivot_runtime_definition.d.ts +3 -1
  223. package/dist/types/helpers/pivot/pivot_side_panel_registry.d.ts +1 -1
  224. package/dist/types/helpers/pivot/spreadsheet_pivot/spreadsheet_pivot.d.ts +11 -3
  225. package/dist/types/helpers/selection_statistic_functions.d.ts +5 -3
  226. package/dist/types/index.d.ts +41 -12
  227. package/dist/types/migrations/migration_steps.d.ts +1 -1
  228. package/dist/types/owl3_compatibility_layer.d.ts +85 -0
  229. package/dist/types/plugins/core/cell.d.ts +2 -10
  230. package/dist/types/plugins/core/default.d.ts +64 -0
  231. package/dist/types/plugins/core/sheet.d.ts +2 -1
  232. package/dist/types/plugins/plugin_registries.d.ts +1 -1
  233. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluation_plugin.d.ts +2 -0
  234. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluator.d.ts +6 -0
  235. package/dist/types/plugins/ui_core_views/custom_colors.d.ts +2 -0
  236. package/dist/types/plugins/ui_core_views/pivot_ui.d.ts +17 -8
  237. package/dist/types/plugins/ui_feature/color_theme.d.ts +0 -1
  238. package/dist/types/plugins/ui_feature/table_computed_style.d.ts +1 -1
  239. package/dist/types/plugins/ui_feature/ui_options.d.ts +7 -1
  240. package/dist/types/plugins/ui_stateful/filter_evaluation.d.ts +0 -1
  241. package/dist/types/plugins/ui_stateful/selection.d.ts +1 -0
  242. package/dist/types/registries/cell_clickable_registry.d.ts +1 -1
  243. package/dist/types/registries/chart_component_registry.d.ts +1 -1
  244. package/dist/types/registries/chart_data_source_registry.d.ts +3 -1
  245. package/dist/types/registries/chart_registry.d.ts +2 -4
  246. package/dist/types/registries/criterion_component_registry.d.ts +1 -1
  247. package/dist/types/registries/menus/sheet_menu_registry.d.ts +2 -1
  248. package/dist/types/registries/toolbar_menu_registry.d.ts +8 -7
  249. package/dist/types/registries/topbar_component_registry.d.ts +1 -0
  250. package/dist/types/selection_stream/selection_stream_processor.d.ts +1 -1
  251. package/dist/types/store_engine/store_hooks.d.ts +1 -2
  252. package/dist/types/stores/grid_renderer_store.d.ts +1 -0
  253. package/dist/types/types/autofill.d.ts +4 -1
  254. package/dist/types/types/cell_popovers.d.ts +3 -3
  255. package/dist/types/types/chart/bar_chart.d.ts +3 -2
  256. package/dist/types/types/chart/calendar_chart.d.ts +2 -2
  257. package/dist/types/types/chart/chart.d.ts +4 -0
  258. package/dist/types/types/chart/combo_chart.d.ts +2 -2
  259. package/dist/types/types/chart/common_chart.d.ts +9 -8
  260. package/dist/types/types/chart/funnel_chart.d.ts +2 -12
  261. package/dist/types/types/chart/geo_chart.d.ts +2 -2
  262. package/dist/types/types/chart/line_chart.d.ts +2 -2
  263. package/dist/types/types/chart/pie_chart.d.ts +2 -2
  264. package/dist/types/types/chart/radar_chart.d.ts +2 -2
  265. package/dist/types/types/chart/sunburst_chart.d.ts +3 -6
  266. package/dist/types/types/chart/tree_map_chart.d.ts +2 -4
  267. package/dist/types/types/chart/waterfall_chart.d.ts +2 -2
  268. package/dist/types/types/commands.d.ts +25 -12
  269. package/dist/types/types/core_getters.d.ts +2 -1
  270. package/dist/types/types/event_stream/selection_events.d.ts +1 -0
  271. package/dist/types/types/find_and_replace.d.ts +1 -0
  272. package/dist/types/types/misc.d.ts +8 -4
  273. package/dist/types/types/pivot.d.ts +13 -0
  274. package/dist/types/types/props_of.d.ts +11 -3
  275. package/dist/types/types/selection_stream_processor.d.ts +1 -1
  276. package/dist/types/types/spreadsheet_env.d.ts +0 -1
  277. package/dist/types/types/workbook_data.d.ts +4 -0
  278. package/dist/types/xlsx/conversion/color_conversion.d.ts +5 -0
  279. package/dist/types/xlsx/extraction/chart_extractor.d.ts +18 -0
  280. package/dist/types/xlsx/functions/worksheet.d.ts +2 -4
  281. package/package.json +11 -8
  282. package/dist/types/components/figures/chart/chart_dashboard_menu/chart_dashboard_menu.d.ts +0 -44
  283. package/dist/types/registry.d.ts +0 -10
@@ -4,6 +4,7 @@ import { PivotDimension, PivotDomain, PivotFields, PivotMeasure, SpreadsheetPivo
4
4
  import { InitPivotParams, Pivot } from "../../../types/pivot_runtime";
5
5
  import { PivotParams } from "../pivot_registry";
6
6
  import { SpreadsheetPivotTable } from "../table_spreadsheet_pivot";
7
+ import { DataEntries } from "./data_entry_spreadsheet_pivot";
7
8
  import { SpreadsheetPivotRuntimeDefinition } from "./runtime_definition_spreadsheet_pivot";
8
9
  interface SpreadsheetPivotParams extends PivotParams {
9
10
  definition: SpreadsheetPivotCoreDefinition;
@@ -27,10 +28,15 @@ export declare class SpreadsheetPivot implements Pivot<SpreadsheetPivotRuntimeDe
27
28
  private coreDefinition;
28
29
  private metaData;
29
30
  /**
30
- * This array contains the data entries of the pivot. Each entry is an object
31
+ * This array contains the complete set of original data entries. Each entry is an object
31
32
  * that contains the values of the fields for a row.
32
33
  */
33
- private dataEntries;
34
+ private unfilteredDataEntries;
35
+ /**
36
+ * Data entries after filters have been applied.
37
+ * This is the subset used for rendering and pivot calculations.
38
+ */
39
+ private filteredDataEntries;
34
40
  /**
35
41
  * This object contains the pivot table structure. It is created from the
36
42
  * data entries and the pivot definition.
@@ -67,6 +73,7 @@ export declare class SpreadsheetPivot implements Pivot<SpreadsheetPivotRuntimeDe
67
73
  getPivotMeasureValue(id: string): FunctionResultObject;
68
74
  getPivotHeaderValueAndFormat(domain: PivotDomain): FunctionResultObject;
69
75
  getPivotCellValueAndFormat(measureId: string, domain: PivotDomain): FunctionResultObject;
76
+ getDataEntries(): DataEntries;
70
77
  getPossibleFieldValues(dimension: PivotDimension): ValueAndLabel<string | number | boolean>[];
71
78
  getCollapsedTableStructure(): SpreadsheetPivotTable;
72
79
  getExpandedTableStructure(): SpreadsheetPivotTable;
@@ -74,7 +81,8 @@ export declare class SpreadsheetPivot implements Pivot<SpreadsheetPivotRuntimeDe
74
81
  get fields(): PivotFields;
75
82
  private loadMetaData;
76
83
  private loadRuntimeDefinition;
77
- private loadData;
84
+ private loadDataEntries;
85
+ private loadFilteredDataEntries;
78
86
  private getTypeOfDimension;
79
87
  private filterDataEntriesFromDomain;
80
88
  private filterDataEntriesFromDomainNode;
@@ -1,16 +1,18 @@
1
1
  import { CellValueType, EvaluatedCell } from "../types/cells";
2
+ import { Format } from "../types/format";
2
3
  import { Locale } from "../types/locale";
3
4
  import { Lazy } from "../types/misc";
4
5
  export interface StatisticFnResults {
5
6
  [name: string]: {
6
7
  value: Lazy<number | string> | undefined;
7
- format?: string;
8
+ format: Lazy<string>;
8
9
  } | undefined;
9
10
  }
10
11
  export interface SelectionStatisticFunction {
11
12
  name: string;
12
- compute: (data: EvaluatedCell[], locale: Locale) => number | string;
13
+ compute: (cells: EvaluatedCell[], locale: Locale) => number | string;
13
14
  types: CellValueType[];
14
- format?: string;
15
+ visible?: (cells: EvaluatedCell[], locale: Locale) => boolean;
16
+ computeFormat: (cells: EvaluatedCell[], locale: Locale) => Format;
15
17
  }
16
18
  export declare function computeStatisticFnResults(selectionStatisticFunctions: SelectionStatisticFunction[], cells: EvaluatedCell[], locale: Locale): StatisticFnResults;
@@ -52,17 +52,18 @@ import { lettersToNumber, numberToLetters, toCartesian, toXC } from "./helpers/c
52
52
  import { DateTime, isDateTime, jsDateToNumber, numberToJsDate } from "./helpers/dates";
53
53
  import { createCurrencyFormat, formatValue } from "./helpers/format/format";
54
54
  import { openLink, urlRepresentation } from "./helpers/links";
55
- import { deepCopy, deepEquals, doesCellContainFunction, getUniqueText, isDefined, isFormula, isMarkdownLink, lazy, markdownLink, parseMarkdownLink, sanitizeSheetName, unquote } from "./helpers/misc";
55
+ import { deepCopy, deepEquals, doesCellContainFunction, getCanonicalSymbolName, getUniqueText, isDefined, isFormula, isMarkdownLink, lazy, markdownLink, parseMarkdownLink, sanitizeSheetName, unquote } from "./helpers/misc";
56
56
  import { isNumber } from "./helpers/numbers";
57
57
  import { insertTokenAfterArgSeparator, insertTokenAfterLeftParenthesis, makeFieldProposal } from "./helpers/pivot/pivot_composer_helpers";
58
58
  import { splitReference } from "./helpers/references";
59
59
  import { computeTextWidth } from "./helpers/text_helper";
60
60
  import { UuidGenerator } from "./helpers/uuid";
61
61
  import { expandZoneOnInsertion, isInside, mergeContiguousZones, overlap, positionToZone, reduceZoneOnDeletion, toUnboundedZone, toZone, union } from "./helpers/zones";
62
+ import { Component } from "./owl3_compatibility_layer";
62
63
  import { CellComposerStore } from "./components/composer/composer/cell_composer_store";
63
64
  import { ClickableCellSortIcon } from "./components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon";
64
65
  import { ZoomableChartJsComponent } from "./components/figures/chart/chartJs/zoomable_chart/zoomable_chartjs";
65
- import { ChartDashboardMenu } from "./components/figures/chart/chart_dashboard_menu/chart_dashboard_menu";
66
+ import { ChartMenu } from "./components/figures/chart/chart_menu/chart_menu";
66
67
  import { GaugeChartComponent } from "./components/figures/chart/gauge/gauge_chart_component";
67
68
  import { FullScreenFigure } from "./components/full_screen_figure/full_screen_figure";
68
69
  import { NumberInput } from "./components/number_input/number_input";
@@ -150,17 +151,17 @@ export declare const registries: {
150
151
  colMenuRegistry: import("./registries/menu_items_registry").MenuItemRegistry;
151
152
  errorTypes: Set<string>;
152
153
  functionRegistry: import(".").FunctionRegistry;
153
- featurePluginRegistry: import("./registry").Registry<import("./plugins/ui_plugin").UIPluginConstructor>;
154
+ featurePluginRegistry: import(".").Registry<import("./plugins/ui_plugin").UIPluginConstructor>;
154
155
  iconsOnCellRegistry: import(".").Registry<(getters: import(".").Getters, position: import(".").CellPosition) => import("./registries/icons_on_cell_registry").GridIcon | undefined>;
155
- statefulUIPluginRegistry: import("./registry").Registry<import("./plugins/ui_plugin").UIPluginConstructor>;
156
- coreViewsPluginRegistry: import("./registry").Registry<import("./plugins/core_view_plugin").CoreViewPluginConstructor>;
157
- corePluginRegistry: import("./registry").Registry<import("./plugins/core_plugin").CorePluginConstructor>;
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>;
158
159
  rowMenuRegistry: import("./registries/menu_items_registry").MenuItemRegistry;
159
160
  sidePanelRegistry: import(".").Registry<import("./registries/side_panel_registry").SidePanelContent>;
160
161
  figureRegistry: import(".").Registry<import("./registries/figures_registry").FigureContent>;
161
162
  chartSidePanelComponentRegistry: import(".").Registry<import("./components/side_panel/chart/chart_side_panel_registry").ChartSidePanel>;
162
163
  chartDataSourceSidePanelComponentRegistry: import(".").Registry<import("@odoo/owl").ComponentConstructor>;
163
- chartComponentRegistry: import(".").Registry<new (...args: any) => import("@odoo/owl").Component>;
164
+ chartComponentRegistry: import(".").Registry<new (...args: any) => Component>;
164
165
  chartTypeRegistry: import("./registries/chart_registry").ChartTypeRegistry;
165
166
  chartSubtypeRegistry: import(".").Registry<import("./types/chart_subtype_properties").ChartSubtypeProperties>;
166
167
  chartDataSourceRegistry: import("./registries/chart_data_source_registry").ChartDataSourceRegistry;
@@ -169,18 +170,19 @@ export declare const registries: {
169
170
  mapping: {
170
171
  [key: string]: Function;
171
172
  };
173
+ add(name: string, value: Omit<import("./registries/topbar_component_registry").TopbarComponent, "id">): /*elided*/ any;
172
174
  replace(name: string, value: Omit<import("./registries/topbar_component_registry").TopbarComponent, "id">): /*elided*/ any;
173
175
  getAllOrdered(): import("./registries/topbar_component_registry").TopbarComponent[];
174
176
  content: {
175
177
  [key: string]: import("./registries/topbar_component_registry").TopbarComponent;
176
178
  };
177
- add(key: string, value: import("./registries/topbar_component_registry").TopbarComponent): /*elided*/ any;
178
179
  get(key: string): import("./registries/topbar_component_registry").TopbarComponent;
179
180
  contains(key: string): boolean;
180
181
  getAll(): import("./registries/topbar_component_registry").TopbarComponent[];
181
182
  getKeys(): string[];
182
183
  remove(key: string): void;
183
184
  };
185
+ topBarToolBarRegistry: import("./registries/toolbar_menu_registry").ToolBarRegistry;
184
186
  clickableCellRegistry: import(".").Registry<import("./registries/cell_clickable_registry").CellClickableItem>;
185
187
  otRegistry: import("./registries/ot_registry").OTRegistry;
186
188
  inverseCommandRegistry: import(".").Registry<(cmd: import(".").CoreCommand) => import(".").CoreCommand[]>;
@@ -193,17 +195,30 @@ export declare const registries: {
193
195
  figureHandlers: import(".").Registry<typeof import(".").AbstractFigureClipboardHandler>;
194
196
  cellHandlers: import(".").Registry<typeof import(".").AbstractCellClipboardHandler>;
195
197
  };
196
- pivotRegistry: import("./registry").Registry<import("./helpers/pivot/pivot_registry").PivotRegistryItem>;
198
+ pivotRegistry: import(".").Registry<import("./helpers/pivot/pivot_registry").PivotRegistryItem>;
197
199
  pivotTimeAdapterRegistry: import(".").Registry<import(".").PivotTimeAdapter<import(".").CellValue>>;
198
200
  pivotSidePanelRegistry: import(".").Registry<import("./helpers/pivot/pivot_side_panel_registry").PivotRegistryItem>;
199
201
  pivotNormalizationValueRegistry: import(".").Registry<(value: string, granularity?: import(".").Granularity | string) => import(".").CellValue>;
200
202
  supportedPivotPositionalFormulaRegistry: import(".").Registry<boolean>;
201
203
  pivotToFunctionValueRegistry: import(".").Registry<(value: import(".").CellValue, granularity?: string) => string>;
202
- migrationStepRegistry: import("./registry").Registry<import("./migrations/migration_steps").MigrationStep>;
203
- chartJsExtensionRegistry: import("./registry").Registry<{
204
+ migrationStepRegistry: import(".").Registry<import("./migrations/migration_steps").MigrationStep>;
205
+ chartJsExtensionRegistry: import(".").Registry<{
204
206
  register: (chart: import("./types/chart/chartjs").GlobalChart) => void;
205
207
  unregister: (chart: import("./types/chart/chartjs").GlobalChart) => void;
206
208
  }>;
209
+ onIterationEndEvaluationRegistry: import(".").Registry<(getters: import(".").Getters) => void>;
210
+ specificRangeTransformRegistry: {
211
+ add<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
212
+ replace<C extends import(".").CoreCommand>(cmdType: C["type"], fn: (cmd: C, rangeAdapters: import(".").RangeAdapterFunctions) => C): /*elided*/ any;
213
+ get<C extends import(".").CoreCommand>(cmdType: C["type"]): (cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand;
214
+ content: {
215
+ [key: string]: (cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand;
216
+ };
217
+ contains(key: string): boolean;
218
+ getAll(): ((cmd: import(".").CoreCommand, rangeAdapters: import(".").RangeAdapterFunctions) => import(".").CoreCommand)[];
219
+ getKeys(): string[];
220
+ remove(key: string): void;
221
+ };
207
222
  };
208
223
  /** Registries Population */
209
224
  import "./clipboard_handlers/clipboard_handler_registrations";
@@ -214,12 +229,15 @@ import "./registries/auto_completes/autocompelete_registration";
214
229
  import "./registries/chart_types";
215
230
  import "./registries/interactive_icon_on_cell_registry";
216
231
  import { Composer } from "./components/composer/composer/composer";
232
+ import { StandaloneComposer } from "./components/composer/standalone_composer/standalone_composer";
217
233
  import { Select } from "./components/select/select";
218
234
  import { ChartRangeDataSourceComponent } from "./components/side_panel/chart/building_blocks/range_data_source/range_data_source";
219
235
  import { TopBar } from "./components/top_bar/top_bar";
220
236
  import { parseFormat } from "./helpers/format/format_parser";
237
+ import { replaceSymbolInFormula } from "./helpers/formulas";
221
238
  import { getFirstPivotFunction, getNumberOfPivotFunctions } from "./helpers/pivot/pivot_composer_helpers";
222
239
  import { domainToColRowDomain } from "./helpers/pivot/pivot_domain_helpers";
240
+ import { fuzzyLookup } from "./helpers/search";
223
241
  export declare const helpers: {
224
242
  arg: typeof arg;
225
243
  isEvaluationError: typeof isEvaluationError;
@@ -292,6 +310,9 @@ export declare const helpers: {
292
310
  isFormula: typeof isFormula;
293
311
  domainToColRowDomain: typeof domainToColRowDomain;
294
312
  collapseHierarchicalDisplayName: typeof collapseHierarchicalDisplayName;
313
+ getCanonicalSymbolName: typeof getCanonicalSymbolName;
314
+ fuzzyLookup: typeof fuzzyLookup;
315
+ replaceSymbolInFormula: typeof replaceSymbolInFormula;
295
316
  };
296
317
  export declare const links: {
297
318
  isMarkdownLink: typeof isMarkdownLink;
@@ -342,6 +363,7 @@ export declare const components: {
342
363
  MenuPopover: typeof MenuPopover;
343
364
  Popover: typeof Popover;
344
365
  SelectionInput: typeof SelectionInput;
366
+ StandaloneComposer: typeof StandaloneComposer;
345
367
  ValidationMessages: typeof ValidationMessages;
346
368
  AddDimensionButton: typeof AddDimensionButton;
347
369
  PivotDimensionGranularity: typeof PivotDimensionGranularity;
@@ -356,7 +378,7 @@ export declare const components: {
356
378
  SidePanelCollapsible: typeof SidePanelCollapsible;
357
379
  RadioSelection: typeof RadioSelection;
358
380
  GeoChartRegionSelectSection: typeof GeoChartRegionSelectSection;
359
- ChartDashboardMenu: typeof ChartDashboardMenu;
381
+ ChartMenu: typeof ChartMenu;
360
382
  FullScreenFigure: typeof FullScreenFigure;
361
383
  NumberInput: typeof NumberInput;
362
384
  TopBar: typeof TopBar;
@@ -367,6 +389,12 @@ export declare const hooks: {
367
389
  useHighlights: typeof useHighlights;
368
390
  useHighlightsOnHover: typeof useHighlightsOnHover;
369
391
  };
392
+ export declare const compatibility: {
393
+ Component: any;
394
+ useExternalListener: any;
395
+ EnvPlugin: any;
396
+ App: any;
397
+ };
370
398
  export declare const stores: {
371
399
  useStoreProvider: typeof useStoreProvider;
372
400
  DependencyContainer: typeof DependencyContainer;
@@ -421,6 +449,7 @@ export declare const constants: {
421
449
  GRID_ICON_EDGE_LENGTH: number;
422
450
  GRID_ICON_MARGIN: number;
423
451
  CHART_TYPES: readonly ["line", "bar", "pie", "scorecard", "gauge", "scatter", "bubble", "combo", "waterfall", "pyramid", "radar", "geo", "funnel", "sunburst", "treemap", "calendar"];
452
+ DARK_MODE_FILTER_STRING: string;
424
453
  };
425
454
  export declare const chartHelpers: typeof CHART_HELPERS & typeof CHART_RUNTIME_HELPERS;
426
455
  export { SpreadsheetPivotTable } from "./helpers/pivot/table_spreadsheet_pivot";
@@ -1,4 +1,4 @@
1
- import { Registry } from "../registry";
1
+ import { Registry } from "../registries/registry";
2
2
  export interface MigrationStep {
3
3
  migrate: (data: any) => any;
4
4
  }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Owl 2 → Owl 3 compatibility layer.
3
+ *
4
+ * This file patches Owl 3 so that existing Owl 2 code can continue to run
5
+ * with minimal changes. It is intended as a temporary bridge to ease
6
+ * incremental migration from Owl 2 to Owl 3.
7
+ *
8
+ * ---------------------------------------------------------------------------
9
+ * Setup (required to run Owl 2 code on Owl 3)
10
+ * ---------------------------------------------------------------------------
11
+ *
12
+ * 1. Update template directives:
13
+ * - replace `t-portal` → `t-custom-portal`
14
+ * - replace `t-model` → `t-custom-model`
15
+ *
16
+ * 2. Load this file immediately after Owl 3.
17
+ *
18
+ * 3. Update hooks:
19
+ * - replace all `useEffect` with `useLayoutEffect`
20
+ * import { useLayoutEffect } from "@odoo/owl";
21
+ *
22
+ * ---------------------------------------------------------------------------
23
+ * Migration (once the app builds successfully)
24
+ * ---------------------------------------------------------------------------
25
+ *
26
+ * Gradually remove the compatibility layer by migrating to native Owl 3:
27
+ *
28
+ * - replace `t-custom-portal` with proper Owl 3 portal usage
29
+ * - replace `t-custom-model` with `t-model` + signals
30
+ * - convert `useLayoutEffect` back to `useEffect` where appropriate
31
+ *
32
+ * The end goal is to eliminate all compatibility shims.
33
+ */
34
+ import * as owl from "@odoo/owl";
35
+ declare const OwlApp: typeof owl.App, OwlComponent: typeof owl.Component, Plugin: typeof owl.Plugin;
36
+ export interface ComponentConstructor<Env = any> {
37
+ new (...args: any[]): any;
38
+ template: string;
39
+ }
40
+ declare class _Component<Env = any> extends OwlComponent {
41
+ static template: string;
42
+ env: Env;
43
+ constructor(node: any);
44
+ setup(): void;
45
+ render(deep?: boolean): void;
46
+ }
47
+ declare function _useComponent(): any;
48
+ declare function _useExternalListener(target: any, eventName: any, handler: any, eventParams?: any): void;
49
+ declare function _useLayoutEffect(effect: any, computeDependencies?: () => any): void;
50
+ declare class _EnvPlugin extends Plugin {
51
+ static id: string;
52
+ env: any;
53
+ }
54
+ declare function _useEnv(): any;
55
+ declare function _useSubEnv(extension: any): void;
56
+ declare function _useChildSubEnv(extension: any): void;
57
+ declare function _useChildEnv(): any;
58
+ declare class _App extends OwlApp {
59
+ /**
60
+ * @param {any} config
61
+ */
62
+ constructor(config: any);
63
+ createRoot(component: any, config?: {}): owl.Root<any>;
64
+ }
65
+ declare const Component: typeof _Component;
66
+ declare const useComponent: typeof _useComponent;
67
+ declare const useExternalListener: typeof _useExternalListener;
68
+ declare const useLayoutEffect: typeof _useLayoutEffect;
69
+ declare const EnvPlugin: typeof _EnvPlugin;
70
+ declare const useEnv: typeof _useEnv;
71
+ declare const useSubEnv: typeof _useSubEnv;
72
+ declare const useChildEnv: typeof _useChildEnv;
73
+ declare const useChildSubEnv: typeof _useChildSubEnv;
74
+ declare const App: typeof _App;
75
+ export { App, Component, EnvPlugin, useChildEnv, useChildSubEnv, useComponent, useEnv, useExternalListener, useLayoutEffect, useSubEnv, };
76
+ export type Component<Env = any> = _Component<Env>;
77
+ export type useComponent = () => any;
78
+ export type useExternalListener = (target: any, eventName: any, handler: any, eventParams?: any) => void;
79
+ export type useLayoutEffect = (effect: any, computeDependencies: () => any) => void;
80
+ export type EnvPlugin = _EnvPlugin;
81
+ export type useEnv = () => any;
82
+ export type useSubEnv = () => any;
83
+ export type useChildEnv = () => any;
84
+ export type useChildSubEnv = () => any;
85
+ export type App = _App;
@@ -1,7 +1,7 @@
1
1
  import { CorePlugin } from "../core_plugin";
2
2
  import { Cell } from "../../types/cells";
3
3
  import { CommandResult, CoreCommand } from "../../types/commands";
4
- import { CellPosition, RangeAdapterFunctions, UID } from "../../types/misc";
4
+ import { RangeAdapterFunctions, UID } from "../../types/misc";
5
5
  import { CompiledFormula, SerializedCompiledFormula } from "../../formulas/compiler";
6
6
  import { Format } from "../../types/format";
7
7
  import { Style, Zone } from "../../types/misc";
@@ -18,7 +18,7 @@ interface CoreState {
18
18
  * cell and sheet content.
19
19
  */
20
20
  export declare class CellPlugin extends CorePlugin<CoreState> implements CoreState {
21
- static getters: readonly ["zoneToXC", "getCells", "getTranslatedCellFormula", "getCellStyle", "getCellById", "getFormulaString", "getFormulaMovedInSheet"];
21
+ static getters: readonly ["zoneToXC", "getCells", "getTranslatedCellFormula", "getCellById", "getFormulaString", "getFormulaMovedInSheet"];
22
22
  readonly nextId = 1;
23
23
  readonly cells: {
24
24
  [sheetId: string]: {
@@ -29,10 +29,6 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
29
29
  allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
30
30
  handle(cmd: CoreCommand): void;
31
31
  private clearZones;
32
- /**
33
- * Clear the styles and format of zones
34
- */
35
- private clearFormatting;
36
32
  /**
37
33
  * Clear the styles, the format and the content of zones
38
34
  */
@@ -45,7 +41,6 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
45
41
  export(data: WorkbookData, shouldSquish: boolean): void;
46
42
  importCell(sheetId: UID, content?: string, style?: Style, format?: Format, compiledFormula?: CompiledFormula | undefined): Cell;
47
43
  exportForExcel(data: ExcelWorkbookData): void;
48
- private extractCustomStyle;
49
44
  getCells(sheetId: UID): Cell[];
50
45
  /**
51
46
  * get a cell by ID. Used in evaluation when evaluating an async cell, we need to be able to find it back after
@@ -58,7 +53,6 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
58
53
  */
59
54
  getTranslatedCellFormula(sheetId: UID, offsetX: number, offsetY: number, compiledFormula: CompiledFormula | SerializedCompiledFormula): string;
60
55
  getFormulaMovedInSheet(targetSheetId: UID, compiledFormula: CompiledFormula): string;
61
- getCellStyle(position: CellPosition): Style;
62
56
  /**
63
57
  * Converts a zone to a XC coordinate system
64
58
  *
@@ -76,7 +70,6 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
76
70
  * {top:1,left:0,right:1,bottom:3} ==> A1:A5
77
71
  */
78
72
  zoneToXC(sheetId: UID, zone: Zone, fixedParts?: RangePart[]): string;
79
- private setStyleFormat;
80
73
  /**
81
74
  * Copy the style of one column to other columns.
82
75
  */
@@ -94,6 +87,5 @@ export declare class CellPlugin extends CorePlugin<CoreState> implements CoreSta
94
87
  private checkCellOutOfSheet;
95
88
  private checkUselessClearCell;
96
89
  private checkUselessUpdateCell;
97
- private checkUselessSetFormatting;
98
90
  }
99
91
  export {};
@@ -0,0 +1,64 @@
1
+ import { CellPosition, Color, Format, HeaderIndex, Style, UID } from "../..";
2
+ import { ItemsDic } from "../../helpers/data_normalization";
3
+ import { CommandResult, CoreCommand } from "../../types/commands";
4
+ import { ExcelWorkbookData, WorkbookData } from "../../types/workbook_data";
5
+ import { CorePlugin } from "../core_plugin";
6
+ export type defaultValue<T> = {
7
+ sheetDefault?: T | undefined;
8
+ colDefault?: (T | undefined)[];
9
+ rowDefault?: (T | undefined)[];
10
+ };
11
+ export type sparseDefaultValue<T> = {
12
+ sheetDefault?: T | undefined;
13
+ colDefault?: Record<number, T | undefined>;
14
+ rowDefault?: Record<number, T | undefined>;
15
+ };
16
+ export type defaultValues<T> = Record<UID, defaultValue<T> | undefined>;
17
+ export type defaultStyle = {
18
+ [J in keyof Style]: defaultValue<Style[J]>;
19
+ };
20
+ export type defaultStyles = Record<UID, defaultStyle | undefined>;
21
+ interface defaultState {
22
+ readonly style: defaultStyles;
23
+ readonly format: defaultValues<Format>;
24
+ }
25
+ export declare class DefaultPlugin extends CorePlugin<defaultState> implements defaultState {
26
+ static getters: readonly ["getCellStyle", "getDefaultStyle", "getCellDefaultStyleValue", "getCellFormat", "getCellDefaultFormat", "getDefaultFormat", "getDefaultStyleColors"];
27
+ readonly style: defaultStyles;
28
+ readonly format: defaultValues<Format>;
29
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
30
+ handle(cmd: CoreCommand): void;
31
+ private clearColRows;
32
+ private moveColRows;
33
+ private copyColRow;
34
+ private setFormat;
35
+ private setSheetFormat;
36
+ private setColsFormat;
37
+ private setRowsFormat;
38
+ private updateCellsFormat;
39
+ private updateCellFormat;
40
+ private getDefaultFormatInCell;
41
+ private setStyle;
42
+ private setSheetStyle;
43
+ private setColsStyle;
44
+ private setRowsStyle;
45
+ private updateCellsStyle;
46
+ private updateCellStyle;
47
+ private clearCellStyle;
48
+ private getPartialDefaultStyleInCell;
49
+ getCellStyle(position: CellPosition): Style;
50
+ getCellDefaultStyleValue<J extends keyof Style>(position: CellPosition, key: J): Style[J];
51
+ getCellFormat(position: CellPosition): Format | undefined;
52
+ getCellDefaultFormat(position: CellPosition): Format | undefined;
53
+ getDefaultStyle<J extends keyof Style, D extends "COL" | "ROW" | "SHEET">(sheetId: UID, key: J, dimension: D, index: D extends "COL" | "ROW" ? HeaderIndex : undefined): Style[J];
54
+ getDefaultStyleColors(): Color[];
55
+ getDefaultFormat<D extends "COL" | "ROW" | "SHEET">(sheetId: UID, dimension: D, index: D extends "COL" | "ROW" ? HeaderIndex : undefined): Format | undefined;
56
+ private checkUselessSetFormatting;
57
+ mapToId<T>(defaults: defaultValue<T>, dict: ItemsDic<T>): sparseDefaultValue<number>;
58
+ mapToValue<T>(defaultIds: sparseDefaultValue<number>, dict: ItemsDic<T>): defaultValue<T>;
59
+ mapStyleToId(defaults: defaultStyle, dict: ItemsDic<Style>): sparseDefaultValue<number>;
60
+ export(data: WorkbookData): void;
61
+ import(data: WorkbookData): void;
62
+ exportForExcel(data: ExcelWorkbookData): void;
63
+ }
64
+ export {};
@@ -10,7 +10,7 @@ interface SheetState {
10
10
  readonly cellPosition: Record<number, CellPosition | undefined>;
11
11
  }
12
12
  export declare class SheetPlugin extends CorePlugin<SheetState> implements SheetState {
13
- static getters: readonly ["getSheetName", "tryGetSheetName", "getSheet", "tryGetSheet", "getSheetIdByName", "getSheetIds", "getVisibleSheetIds", "isSheetVisible", "doesHeaderExist", "doesHeadersExist", "getCell", "getCellPosition", "getColsZone", "getRowCellIds", "getRowsZone", "getNumberCols", "getNumberRows", "getNumberHeaders", "getGridLinesVisibility", "getNextSheetName", "getSheetSize", "getSheetZone", "getPaneDivisions", "checkZonesExistInSheet", "getCommandZones", "getUnboundedZone", "checkElementsIncludeAllNonFrozenHeaders", "getDuplicateSheetName", "tryGetCellPosition", "isSheetLocked"];
13
+ static getters: readonly ["getSheetName", "tryGetSheetName", "getSheet", "tryGetSheet", "getSheetIdByName", "getSheetIds", "getVisibleSheetIds", "getInvisibleSheetIds", "isSheetVisible", "doesHeaderExist", "doesHeadersExist", "getCell", "getCellPosition", "getColsZone", "getRowCellIds", "getRowsZone", "getNumberCols", "getNumberRows", "getNumberHeaders", "getGridLinesVisibility", "getNextSheetName", "getSheetSize", "getSheetZone", "getPaneDivisions", "checkZonesExistInSheet", "getCommandZones", "getUnboundedZone", "checkElementsIncludeAllNonFrozenHeaders", "getDuplicateSheetName", "tryGetCellPosition", "isSheetLocked"];
14
14
  readonly sheetIdsMapName: Record<string, UID | undefined>;
15
15
  readonly orderedSheetIds: UID[];
16
16
  readonly sheets: Record<UID, Sheet | undefined>;
@@ -37,6 +37,7 @@ export declare class SheetPlugin extends CorePlugin<SheetState> implements Sheet
37
37
  getSheetIdByName(name: string | undefined): UID | undefined;
38
38
  getSheetIds(): UID[];
39
39
  getVisibleSheetIds(): UID[];
40
+ getInvisibleSheetIds(): UID[];
40
41
  doesHeaderExist(sheetId: UID, dimension: Dimension, index: number): boolean;
41
42
  doesHeadersExist(sheetId: UID, dimension: Dimension, headerIndexes: HeaderIndex[]): boolean;
42
43
  getCell({ sheetId, col, row }: CellPosition): Cell | undefined;
@@ -1,4 +1,4 @@
1
- import { Registry } from "../registry";
1
+ import { Registry } from "../registries/registry";
2
2
  import { CorePluginConstructor } from "./core_plugin";
3
3
  import { CoreViewPluginConstructor } from "./core_view_plugin";
4
4
  import { UIPluginConstructor } from "./ui_plugin";
@@ -9,6 +9,7 @@ import { CoreViewPlugin, CoreViewPluginConfig } from "../../core_view_plugin";
9
9
  export declare class EvaluationPlugin extends CoreViewPlugin {
10
10
  static getters: readonly ["evaluateFormula", "evaluateFormulaResult", "evaluateCompiledFormula", "getCorrespondingFormulaCell", "getVisibleRangeValues", "getEvaluatedCell", "getEvaluatedCells", "getEvaluatedCellsInZone", "getEvaluatedCellsPositions", "getSpreadZone", "getArrayFormulaSpreadingOn", "isArrayFormulaSpillBlocked", "isEmpty", "getPerfProfile"];
11
11
  private shouldRebuildDependenciesGraph;
12
+ private forceEvaluation;
12
13
  private evaluator;
13
14
  private positionsToUpdate;
14
15
  constructor(config: CoreViewPluginConfig);
@@ -39,6 +40,7 @@ export declare class EvaluationPlugin extends CoreViewPlugin {
39
40
  */
40
41
  isEmpty(sheetId: UID, zone: Zone): boolean;
41
42
  getPerfProfile(): PerfProfile | undefined;
43
+ shouldPerformEvaluation(): boolean;
42
44
  /**
43
45
  * Maps the visible positions of a range according to a provided callback
44
46
  * @param range - the range we filter out
@@ -31,6 +31,12 @@ export declare class Evaluator {
31
31
  private updateCompilationParameters;
32
32
  private createEmptyPositionSet;
33
33
  evaluateCells(positions: CellPosition[]): void;
34
+ /**
35
+ * Evaluates the given cells without propagating to their dependents.
36
+ * Used when automatic evaluation is disabled, to show the result of a
37
+ * directly modified cell without triggering a potentially expensive cascade.
38
+ */
39
+ evaluateCellsWithoutCascade(positions: CellPosition[]): void;
34
40
  private getArrayFormulasImpactedByChangesOf;
35
41
  buildDependencyGraph(): void;
36
42
  evaluateAllCells(profiling?: boolean): void;
@@ -19,9 +19,11 @@ export declare class CustomColorsPlugin extends CoreViewPlugin<CustomColorState>
19
19
  finalize(): void;
20
20
  getCustomColors(): Color[];
21
21
  private computeCustomColors;
22
+ private getSheetColors;
22
23
  private getColorsFromCells;
23
24
  private getFormattingColors;
24
25
  private getChartColors;
26
+ private getCarouselColors;
25
27
  private getTableColors;
26
28
  private getTableStyleElementColors;
27
29
  private tryToAddColors;
@@ -1,12 +1,17 @@
1
1
  import { CompiledFormula } from "../../formulas/compiler";
2
+ import { CellValue } from "../../types/cells";
2
3
  import { Command } from "../../types/commands";
3
- import { CellPosition, SortDirection, UID } from "../../types/misc";
4
+ import { CellPosition, Matrix, SortDirection, UID } from "../../types/misc";
4
5
  import { PivotCoreMeasure, PivotStyle, PivotTableCell } from "../../types/pivot";
5
6
  import { Pivot } from "../../types/pivot_runtime";
6
7
  import { CoreViewPlugin, CoreViewPluginConfig } from "../core_view_plugin";
7
8
  export declare const UNDO_REDO_PIVOT_COMMANDS: string[];
9
+ interface PivotEvaluatedArgs {
10
+ functionName: string;
11
+ args: (CellValue | Matrix<CellValue> | undefined)[];
12
+ }
8
13
  export declare class PivotUIPlugin extends CoreViewPlugin {
9
- static getters: readonly ["getPivot", "getFirstPivotFunction", "getPivotCellSortDirection", "getPivotIdFromPosition", "getPivotCellFromPosition", "generateNewCalculatedMeasureName", "isPivotUnused", "isSpillPivotFormula", "getAllPivotArrayFormulas", "getPivotStyleAtPosition"];
14
+ static getters: readonly ["getPivot", "getFirstPivotFunction", "getPivotCellSortDirection", "getPivotIdFromPosition", "getPivotIdsFromPosition", "getPivotCellFromPosition", "generateNewCalculatedMeasureName", "isPivotUnused", "isSpillPivotFormula", "getAllPivotArrayFormulas", "getPivotStyleAtPosition"];
10
15
  private pivots;
11
16
  private unusedPivotsInFormulas?;
12
17
  private custom;
@@ -14,15 +19,18 @@ export declare class PivotUIPlugin extends CoreViewPlugin {
14
19
  beforeHandle(cmd: Command): void;
15
20
  handle(cmd: Command): void;
16
21
  /**
17
- * Get the id of the pivot at the given position. Returns undefined if there
22
+ * Get the id of the first pivot in the formula at the given position. Returns undefined if there
18
23
  * is no pivot at this position
19
24
  */
20
- getPivotIdFromPosition(position: CellPosition): "" | UID | undefined;
25
+ getPivotIdFromPosition(position: CellPosition): UID | undefined;
26
+ /**
27
+ * Get all of the ids of the pivot present in the formula at the given position.
28
+ */
29
+ getPivotIdsFromPosition(position: CellPosition): UID[];
30
+ private getPivotIdsFromFormula;
21
31
  isSpillPivotFormula(position: CellPosition): boolean;
22
- getFirstPivotFunction(sheetId: UID, compiledFormula: CompiledFormula): {
23
- functionName: string;
24
- args: (import("../..").CellValue | import("../..").Matrix<import("../..").CellValue> | undefined)[];
25
- } | undefined;
32
+ private getPivotFunctions;
33
+ getFirstPivotFunction(sheetId: UID, formula: CompiledFormula): PivotEvaluatedArgs | undefined;
26
34
  /**
27
35
  * Returns the domain args of a pivot formula from a position.
28
36
  * For all those formulas:
@@ -60,3 +68,4 @@ export declare class PivotUIPlugin extends CoreViewPlugin {
60
68
  } | undefined;
61
69
  private isMainFunctionPivotSpreadFunction;
62
70
  }
71
+ export {};
@@ -1,7 +1,6 @@
1
1
  import { Command } from "../../types/commands";
2
2
  import { GridRenderingTheme } from "../../types/rendering";
3
3
  import { UIPlugin, UIPluginConfig } from "../ui_plugin";
4
- export declare const CELL_BORDER_COLOR = "#E2E3E3";
5
4
  export declare const BACKGROUND_HEADER_SELECTED_COLOR = "#E8EAED";
6
5
  export declare const BACKGROUND_HEADER_ACTIVE_COLOR = "#595959";
7
6
  export declare const COLOR_THEMES: Record<string, GridRenderingTheme>;
@@ -21,7 +21,7 @@ export declare class TableComputedStylePlugin extends UIPlugin {
21
21
  */
22
22
  private getTableMapping;
23
23
  }
24
- declare const invalidateTableStyleCommands: readonly ["HIDE_COLUMNS_ROWS", "UNHIDE_COLUMNS_ROWS", "UNFOLD_HEADER_GROUP", "UNGROUP_HEADERS", "FOLD_HEADER_GROUP", "FOLD_ALL_HEADER_GROUPS", "UNFOLD_ALL_HEADER_GROUPS", "FOLD_HEADER_GROUPS_IN_ZONE", "UNFOLD_HEADER_GROUPS_IN_ZONE", "CREATE_TABLE", "UPDATE_TABLE", "UPDATE_FILTER", "REMOVE_TABLE", "RESIZE_TABLE", "CREATE_TABLE_STYLE", "REMOVE_TABLE_STYLE"];
24
+ declare const invalidateTableStyleCommands: readonly ["HIDE_COLUMNS_ROWS", "UNHIDE_COLUMNS_ROWS", "UNFOLD_HEADER_GROUP", "UNGROUP_HEADERS", "FOLD_HEADER_GROUP", "FOLD_ALL_HEADER_GROUPS", "UNFOLD_ALL_HEADER_GROUPS", "FOLD_HEADER_GROUPS_IN_ZONE", "UNFOLD_HEADER_GROUPS_IN_ZONE", "CREATE_TABLE", "UPDATE_TABLE", "UPDATE_FILTER", "REMOVE_TABLE", "RESIZE_TABLE", "CREATE_TABLE_STYLE", "REMOVE_TABLE_STYLE", "DELETE_CONTENT"];
25
25
  export declare function doesCommandInvalidatesTableStyle(cmd: Command): cmd is {
26
26
  type: (typeof invalidateTableStyleCommands)[number];
27
27
  } & Command;
@@ -1,8 +1,14 @@
1
1
  import { Command } from "../../types/commands";
2
2
  import { UIPlugin } from "../ui_plugin";
3
3
  export declare class UIOptionsPlugin extends UIPlugin {
4
- static getters: readonly ["shouldShowFormulas"];
4
+ static getters: readonly ["shouldShowFormulas", "isAutomaticEvaluationEnabled"];
5
5
  private showFormulas;
6
+ private automaticEvaluation;
6
7
  handle(cmd: Command): void;
7
8
  shouldShowFormulas(): boolean;
9
+ /**
10
+ * Returns whether automatic evaluation is enabled.
11
+ * When disabled, cells are only re-evaluated on explicit EVALUATE_CELLS commands (F9).
12
+ */
13
+ isAutomaticEvaluationEnabled(): boolean;
8
14
  }
@@ -19,7 +19,6 @@ export declare class FilterEvaluationPlugin extends UIPlugin {
19
19
  getFirstTableInSelection(): Table | undefined;
20
20
  private updateFilter;
21
21
  private updateHiddenRows;
22
- private getCellValueAsString;
23
22
  exportForExcel(data: ExcelWorkbookData): void;
24
23
  /**
25
24
  * Get an unique column name for the column at colIndex. If the column name is already in the array of used column names,
@@ -22,6 +22,7 @@ export declare class GridSelectionPlugin extends UIPlugin {
22
22
  private sheetsData;
23
23
  private moveClient;
24
24
  private isUnbounded;
25
+ private currentStyle;
25
26
  activeSheet: Sheet;
26
27
  constructor(config: UIPluginConfig);
27
28
  allowDispatch(cmd: LocalCommand): CommandResult;
@@ -1,8 +1,8 @@
1
- import { ComponentConstructor } from "@odoo/owl";
2
1
  import { Getters } from "../types/getters";
3
2
  import { CellPosition } from "../types/misc";
4
3
  import { SpreadsheetChildEnv } from "../types/spreadsheet_env";
5
4
  import { Registry } from "./registry";
5
+ import { ComponentConstructor } from "../owl3_compatibility_layer";
6
6
  export interface CellClickableItem {
7
7
  condition: (position: CellPosition, getters: Getters) => boolean;
8
8
  execute: (position: CellPosition, env: SpreadsheetChildEnv, isMiddleClick?: boolean) => void;