@odoo/o-spreadsheet 17.0.85 → 17.0.96

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 (398) hide show
  1. package/dist/o-spreadsheet.cjs.js +45990 -53385
  2. package/dist/o-spreadsheet.esm.js +45805 -53384
  3. package/dist/o-spreadsheet.iife.js +50220 -57798
  4. package/dist/o-spreadsheet.iife.min.js +534 -505
  5. package/dist/o_spreadsheet.xml +3 -3
  6. package/dist/types/actions/action.d.ts +73 -0
  7. package/dist/types/actions/data_actions.d.ts +9 -0
  8. package/dist/types/actions/edit_actions.d.ts +21 -0
  9. package/dist/types/actions/format_actions.d.ts +45 -0
  10. package/dist/types/actions/insert_actions.d.ts +28 -0
  11. package/dist/types/actions/menu_items_actions.d.ts +32 -0
  12. package/dist/types/actions/sheet_actions.d.ts +10 -0
  13. package/dist/types/actions/view_actions.d.ts +28 -0
  14. package/dist/types/collaborative/local_transport_service.d.ts +8 -0
  15. package/dist/types/collaborative/ot/ot.d.ts +22 -0
  16. package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -0
  17. package/dist/types/collaborative/ot/ot_specific.d.ts +1 -0
  18. package/dist/types/collaborative/revisions.d.ts +22 -0
  19. package/dist/types/collaborative/session.d.ts +100 -0
  20. package/dist/types/components/action_button/action_button.d.ts +23 -0
  21. package/dist/types/components/animation/ripple.d.ts +53 -0
  22. package/dist/types/components/autofill/autofill.d.ts +25 -0
  23. package/dist/types/components/border_editor/border_editor.d.ts +41 -0
  24. package/dist/types/components/border_editor/border_editor_widget.d.ts +31 -0
  25. package/dist/types/components/bottom_bar/bottom_bar.d.ts +56 -0
  26. package/dist/types/components/bottom_bar_sheet/bottom_bar_sheet.d.ts +44 -0
  27. package/dist/types/components/bottom_bar_statistic/bottom_bar_statistic.d.ts +21 -0
  28. package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +14 -0
  29. package/dist/types/components/color_picker/color_picker.d.ts +41 -0
  30. package/dist/types/components/color_picker/color_picker_widget.d.ts +27 -0
  31. package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown.d.ts +15 -0
  32. package/dist/types/components/composer/composer/composer.d.ts +135 -0
  33. package/dist/types/components/composer/content_editable_helper.d.ts +60 -0
  34. package/dist/types/components/composer/formula_assistant/formula_assistant.d.ts +20 -0
  35. package/dist/types/components/composer/grid_composer/grid_composer.d.ts +39 -0
  36. package/dist/types/components/composer/top_bar_composer/top_bar_composer.d.ts +18 -0
  37. package/dist/types/components/dashboard/dashboard.d.ts +50 -0
  38. package/dist/types/components/data_validation_overlay/data_validation_overlay.d.ts +15 -0
  39. package/dist/types/components/data_validation_overlay/dv_checkbox/dv_checkbox.d.ts +12 -0
  40. package/dist/types/components/data_validation_overlay/dv_list_icon/dv_list_icon.d.ts +10 -0
  41. package/dist/types/components/error_tooltip/error_tooltip.d.ts +18 -0
  42. package/dist/types/components/figures/chart/chartJs/chartjs.d.ts +18 -0
  43. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +14 -0
  44. package/dist/types/components/figures/figure/figure.d.ts +41 -0
  45. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +14 -0
  46. package/dist/types/components/figures/figure_container/figure_container.d.ts +117 -0
  47. package/dist/types/components/figures/figure_image/figure_image.d.ts +13 -0
  48. package/dist/types/components/filters/filter_icon/filter_icon.d.ts +12 -0
  49. package/dist/types/components/filters/filter_icons_overlay/filter_icons_overlay.d.ts +22 -0
  50. package/dist/types/components/filters/filter_menu/filter_menu.d.ts +43 -0
  51. package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +17 -0
  52. package/dist/types/components/font_size_editor/font_size_editor.d.ts +29 -0
  53. package/dist/types/components/grid/grid.d.ts +99 -0
  54. package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +27 -0
  55. package/dist/types/components/grid_cell_icon/grid_cell_icon.d.ts +16 -0
  56. package/dist/types/components/grid_overlay/grid_overlay.d.ts +45 -0
  57. package/dist/types/components/grid_popover/grid_popover.d.ts +20 -0
  58. package/dist/types/components/header_group/header_group.d.ts +41 -0
  59. package/dist/types/components/header_group/header_group_container.d.ts +29 -0
  60. package/dist/types/components/headers_overlay/headers_overlay.d.ts +117 -0
  61. package/dist/types/components/helpers/css.d.ts +40 -0
  62. package/dist/types/components/helpers/dom_helpers.d.ts +34 -0
  63. package/dist/types/components/helpers/drag_and_drop.d.ts +20 -0
  64. package/dist/types/components/helpers/drag_and_drop_hook.d.ts +24 -0
  65. package/dist/types/components/helpers/draw_grid_hook.d.ts +3 -0
  66. package/dist/types/components/helpers/figure_container_helper.d.ts +14 -0
  67. package/dist/types/components/helpers/figure_drag_helper.d.ts +6 -0
  68. package/dist/types/components/helpers/figure_snap_helper.d.ts +25 -0
  69. package/dist/types/components/helpers/html_content_helpers.d.ts +2 -0
  70. package/dist/types/components/helpers/index.d.ts +1 -0
  71. package/dist/types/components/helpers/listener_hook.d.ts +10 -0
  72. package/dist/types/components/helpers/position_hook.d.ts +25 -0
  73. package/dist/types/components/helpers/selection_helpers.d.ts +2 -0
  74. package/dist/types/components/helpers/time_hooks.d.ts +9 -0
  75. package/dist/types/components/helpers/wheel_hook.d.ts +1 -0
  76. package/dist/types/components/highlight/border/border.d.ts +15 -0
  77. package/dist/types/components/highlight/corner/corner.d.ts +18 -0
  78. package/dist/types/components/highlight/highlight/highlight.d.ts +22 -0
  79. package/dist/types/components/icon_picker/icon_picker.d.ts +65 -0
  80. package/dist/types/components/icons/icons.d.ts +56 -0
  81. package/dist/types/components/index.d.ts +1 -0
  82. package/dist/types/components/link/index.d.ts +2 -0
  83. package/dist/types/components/link/link_display/link_display.d.ts +21 -0
  84. package/dist/types/components/link/link_editor/link_editor.d.ts +39 -0
  85. package/dist/types/components/menu/menu.d.ts +58 -0
  86. package/dist/types/components/paint_format_button/paint_format_button.d.ts +12 -0
  87. package/dist/types/components/popover/popover.d.ts +40 -0
  88. package/dist/types/components/scrollbar/index.d.ts +2 -0
  89. package/dist/types/components/scrollbar/scrollbar.d.ts +25 -0
  90. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +26 -0
  91. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +26 -0
  92. package/dist/types/components/scrollbar.d.ts +9 -0
  93. package/dist/types/components/selection_input/selection_input.d.ts +54 -0
  94. package/dist/types/components/side_panel/chart/bar_chart/bar_chart_config_panel.d.ts +6 -0
  95. package/dist/types/components/side_panel/chart/bar_chart/bar_chart_design_panel.d.ts +4 -0
  96. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_config_panel.d.ts +26 -0
  97. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_design_panel.d.ts +34 -0
  98. package/dist/types/components/side_panel/chart/index.d.ts +17 -0
  99. package/dist/types/components/side_panel/chart/line_bar_pie_panel/config_panel.d.ts +45 -0
  100. package/dist/types/components/side_panel/chart/line_bar_pie_panel/design_panel.d.ts +26 -0
  101. package/dist/types/components/side_panel/chart/line_chart/line_chart_config_panel.d.ts +9 -0
  102. package/dist/types/components/side_panel/chart/line_chart/line_chart_design_panel.d.ts +4 -0
  103. package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel.d.ts +20 -0
  104. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +32 -0
  105. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_design_panel.d.ts +26 -0
  106. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor.d.ts +137 -0
  107. package/dist/types/components/side_panel/conditional_formatting/cf_preview_list/cf_preview_list.d.ts +58 -0
  108. package/dist/types/components/side_panel/conditional_formatting/conditional_formatting.d.ts +23 -0
  109. package/dist/types/components/side_panel/custom_currency/custom_currency.d.ts +27 -0
  110. package/dist/types/components/side_panel/data_validation/data_validation_panel.d.ts +25 -0
  111. package/dist/types/components/side_panel/data_validation/data_validation_panel_helper.d.ts +14 -0
  112. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_criterion_form.d.ts +11 -0
  113. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_date_criterion/dv_date_criterion.d.ts +16 -0
  114. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_double_input_criterion/dv_double_input_criterion.d.ts +10 -0
  115. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_input/dv_input.d.ts +30 -0
  116. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_single_input_criterion/dv_single_input_criterion.d.ts +9 -0
  117. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_value_in_list_criterion/dv_value_in_list_criterion.d.ts +23 -0
  118. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_value_in_range_criterion/dv_value_in_range_criterion.d.ts +12 -0
  119. package/dist/types/components/side_panel/data_validation/dv_editor/dv_editor.d.ts +34 -0
  120. package/dist/types/components/side_panel/data_validation/dv_preview/dv_preview.d.ts +13 -0
  121. package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +27 -0
  122. package/dist/types/components/side_panel/more_formats/more_formats.d.ts +10 -0
  123. package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +32 -0
  124. package/dist/types/components/side_panel/select_menu/select_menu.d.ts +29 -0
  125. package/dist/types/components/side_panel/settings/settings_panel.d.ts +18 -0
  126. package/dist/types/components/side_panel/side_panel/side_panel.d.ts +18 -0
  127. package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +35 -0
  128. package/dist/types/components/spreadsheet/spreadsheet.d.ts +64 -0
  129. package/dist/types/components/top_bar/top_bar.d.ts +65 -0
  130. package/dist/types/components/translations_terms.d.ts +104 -0
  131. package/dist/types/components/validation_messages/validation_messages.d.ts +11 -0
  132. package/dist/types/constants.d.ts +137 -0
  133. package/dist/types/formulas/code_builder.d.ts +28 -0
  134. package/dist/types/formulas/compiler.d.ts +7 -0
  135. package/dist/types/formulas/composer_tokenizer.d.ts +31 -0
  136. package/dist/types/formulas/helpers.d.ts +2 -0
  137. package/dist/types/formulas/index.d.ts +16 -0
  138. package/dist/types/formulas/parser.d.ts +72 -0
  139. package/dist/types/formulas/range_tokenizer.d.ts +8 -0
  140. package/dist/types/formulas/tokenizer.d.ts +25 -0
  141. package/dist/types/functions/arguments.d.ts +10 -0
  142. package/dist/types/functions/helper_assert.d.ts +6 -0
  143. package/dist/types/functions/helper_financial.d.ts +49 -0
  144. package/dist/types/functions/helper_matrices.d.ts +23 -0
  145. package/dist/types/functions/helper_statistical.d.ts +3 -0
  146. package/dist/types/functions/helpers.d.ts +101 -0
  147. package/dist/types/functions/index.d.ts +10 -0
  148. package/dist/types/functions/module_array.d.ts +141 -0
  149. package/dist/types/functions/module_custom.d.ts +8 -0
  150. package/dist/types/functions/module_database.d.ts +85 -0
  151. package/dist/types/functions/module_date.d.ts +231 -0
  152. package/dist/types/functions/module_engineering.d.ts +8 -0
  153. package/dist/types/functions/module_filter.d.ts +17 -0
  154. package/dist/types/functions/module_financial.d.ts +358 -0
  155. package/dist/types/functions/module_info.d.ts +64 -0
  156. package/dist/types/functions/module_logical.d.ts +59 -0
  157. package/dist/types/functions/module_lookup.d.ts +72 -0
  158. package/dist/types/functions/module_math.d.ts +424 -0
  159. package/dist/types/functions/module_operators.d.ts +98 -0
  160. package/dist/types/functions/module_statistical.d.ts +296 -0
  161. package/dist/types/functions/module_text.d.ts +147 -0
  162. package/dist/types/functions/module_web.d.ts +8 -0
  163. package/dist/types/helpers/cells/cell_evaluation.d.ts +6 -0
  164. package/dist/types/helpers/cells/index.d.ts +2 -0
  165. package/dist/types/helpers/chart_date.d.ts +8 -0
  166. package/dist/types/helpers/clipboard/clipboard_abstract_cell_state.d.ts +26 -0
  167. package/dist/types/helpers/clipboard/clipboard_cells_state.d.ts +70 -0
  168. package/dist/types/helpers/clipboard/clipboard_figure_state.d.ts +41 -0
  169. package/dist/types/helpers/clipboard/clipboard_os_state.d.ts +12 -0
  170. package/dist/types/helpers/clipboard/navigator_clipboard_wrapper.d.ts +13 -0
  171. package/dist/types/helpers/color.d.ts +68 -0
  172. package/dist/types/helpers/coordinates.d.ts +40 -0
  173. package/dist/types/helpers/data_validation_helpers.d.ts +5 -0
  174. package/dist/types/helpers/dates.d.ts +90 -0
  175. package/dist/types/helpers/edge_scrolling.d.ts +9 -0
  176. package/dist/types/helpers/event_bus.d.ts +45 -0
  177. package/dist/types/helpers/figures/charts/abstract_chart.d.ts +56 -0
  178. package/dist/types/helpers/figures/charts/bar_chart.d.ts +29 -0
  179. package/dist/types/helpers/figures/charts/chart_common.d.ts +62 -0
  180. package/dist/types/helpers/figures/charts/chart_factory.d.ts +40 -0
  181. package/dist/types/helpers/figures/charts/chart_js_gauge_controller.d.ts +1 -0
  182. package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +41 -0
  183. package/dist/types/helpers/figures/charts/gauge_chart.d.ts +23 -0
  184. package/dist/types/helpers/figures/charts/index.d.ts +10 -0
  185. package/dist/types/helpers/figures/charts/line_chart.d.ts +32 -0
  186. package/dist/types/helpers/figures/charts/pie_chart.d.ts +27 -0
  187. package/dist/types/helpers/figures/charts/scorecard_chart.d.ts +30 -0
  188. package/dist/types/helpers/figures/charts/scorecard_chart_config_builder.d.ts +35 -0
  189. package/dist/types/helpers/figures/figure/figure.d.ts +6 -0
  190. package/dist/types/helpers/figures/images/image_provider.d.ts +10 -0
  191. package/dist/types/helpers/filters.d.ts +19 -0
  192. package/dist/types/helpers/focus_manager.d.ts +5 -0
  193. package/dist/types/helpers/format.d.ts +32 -0
  194. package/dist/types/helpers/index.d.ts +15 -0
  195. package/dist/types/helpers/internal_viewport.d.ts +83 -0
  196. package/dist/types/helpers/inverse_commands.d.ts +2 -0
  197. package/dist/types/helpers/links.d.ts +23 -0
  198. package/dist/types/helpers/locale.d.ts +58 -0
  199. package/dist/types/helpers/misc.d.ts +178 -0
  200. package/dist/types/helpers/numbers.d.ts +25 -0
  201. package/dist/types/helpers/range.d.ts +59 -0
  202. package/dist/types/helpers/recompute_zones.d.ts +136 -0
  203. package/dist/types/helpers/rectangle.d.ts +7 -0
  204. package/dist/types/helpers/reference_type.d.ts +9 -0
  205. package/dist/types/helpers/references.d.ts +23 -0
  206. package/dist/types/helpers/search.d.ts +19 -0
  207. package/dist/types/helpers/sheet.d.ts +7 -0
  208. package/dist/types/helpers/sort.d.ts +16 -0
  209. package/dist/types/helpers/state_manager_helpers.d.ts +6 -0
  210. package/dist/types/helpers/text_helper.d.ts +28 -0
  211. package/dist/types/helpers/ui/cut_interactive.d.ts +2 -0
  212. package/dist/types/helpers/ui/filter_interactive.d.ts +7 -0
  213. package/dist/types/helpers/ui/freeze_interactive.d.ts +2 -0
  214. package/dist/types/helpers/ui/merge_interactive.d.ts +6 -0
  215. package/dist/types/helpers/ui/paste_interactive.d.ts +10 -0
  216. package/dist/types/helpers/ui/sheet_interactive.d.ts +2 -0
  217. package/dist/types/helpers/ui/split_to_columns_interactive.d.ts +6 -0
  218. package/dist/types/helpers/ui/stop_edition_interactive.d.ts +2 -0
  219. package/dist/types/helpers/ui/toggle_group_interactive.d.ts +6 -0
  220. package/dist/types/helpers/uuid.d.ts +20 -0
  221. package/dist/types/helpers/zones.d.ts +173 -0
  222. package/dist/types/history/branch.d.ts +62 -0
  223. package/dist/types/history/factory.d.ts +9 -0
  224. package/dist/types/history/operation.d.ts +17 -0
  225. package/dist/types/history/operation_sequence.d.ts +31 -0
  226. package/dist/types/history/repeat_commands/repeat_commands_generic.d.ts +6 -0
  227. package/dist/types/history/repeat_commands/repeat_commands_specific.d.ts +13 -0
  228. package/dist/types/history/repeat_commands/repeat_revision.d.ts +5 -0
  229. package/dist/types/history/selective_history.d.ts +81 -0
  230. package/dist/types/history/tree.d.ts +175 -0
  231. package/dist/types/index.d.ts +189 -0
  232. package/dist/types/migrations/data.d.ts +30 -0
  233. package/dist/types/migrations/legacy_tools.d.ts +15 -0
  234. package/dist/types/model.d.ts +192 -0
  235. package/dist/types/plugins/base_plugin.d.ts +63 -0
  236. package/dist/types/plugins/core/borders.d.ts +127 -0
  237. package/dist/types/plugins/core/cell.d.ts +103 -0
  238. package/dist/types/plugins/core/chart.d.ts +41 -0
  239. package/dist/types/plugins/core/conditional_format.d.ts +52 -0
  240. package/dist/types/plugins/core/data_validation.d.ts +31 -0
  241. package/dist/types/plugins/core/figures.d.ts +34 -0
  242. package/dist/types/plugins/core/filters.d.ts +43 -0
  243. package/dist/types/plugins/core/header_grouping.d.ts +82 -0
  244. package/dist/types/plugins/core/header_size.d.ts +23 -0
  245. package/dist/types/plugins/core/header_visibility.d.ts +20 -0
  246. package/dist/types/plugins/core/image.d.ts +32 -0
  247. package/dist/types/plugins/core/index.d.ts +13 -0
  248. package/dist/types/plugins/core/merge.d.ts +83 -0
  249. package/dist/types/plugins/core/range.d.ts +59 -0
  250. package/dist/types/plugins/core/settings.d.ts +12 -0
  251. package/dist/types/plugins/core/sheet.d.ts +151 -0
  252. package/dist/types/plugins/core_plugin.d.ts +49 -0
  253. package/dist/types/plugins/index.d.ts +7 -0
  254. package/dist/types/plugins/ui_core_views/cell_evaluation/compilation_parameters.d.ts +10 -0
  255. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluation_plugin.d.ts +43 -0
  256. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluator.d.ts +90 -0
  257. package/dist/types/plugins/ui_core_views/cell_evaluation/formula_dependency_graph.d.ts +23 -0
  258. package/dist/types/plugins/ui_core_views/cell_evaluation/index.d.ts +1 -0
  259. package/dist/types/plugins/ui_core_views/cell_evaluation/r_tree.d.ts +108 -0
  260. package/dist/types/plugins/ui_core_views/cell_evaluation/spreading_relation.d.ts +60 -0
  261. package/dist/types/plugins/ui_core_views/custom_colors.d.ts +24 -0
  262. package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +24 -0
  263. package/dist/types/plugins/ui_core_views/evaluation_conditional_format.d.ts +37 -0
  264. package/dist/types/plugins/ui_core_views/evaluation_data_validation.d.ts +38 -0
  265. package/dist/types/plugins/ui_core_views/header_sizes_ui.d.ts +32 -0
  266. package/dist/types/plugins/ui_core_views/index.d.ts +5 -0
  267. package/dist/types/plugins/ui_feature/autofill.d.ts +60 -0
  268. package/dist/types/plugins/ui_feature/automatic_sum.d.ts +101 -0
  269. package/dist/types/plugins/ui_feature/cell_popovers.d.ts +16 -0
  270. package/dist/types/plugins/ui_feature/collaborative.d.ts +25 -0
  271. package/dist/types/plugins/ui_feature/data_cleanup.d.ts +16 -0
  272. package/dist/types/plugins/ui_feature/find_and_replace.d.ts +76 -0
  273. package/dist/types/plugins/ui_feature/format.d.ts +23 -0
  274. package/dist/types/plugins/ui_feature/header_visibility_ui.d.ts +21 -0
  275. package/dist/types/plugins/ui_feature/highlight.d.ts +12 -0
  276. package/dist/types/plugins/ui_feature/index.d.ts +15 -0
  277. package/dist/types/plugins/ui_feature/local_history.d.ts +36 -0
  278. package/dist/types/plugins/ui_feature/renderer.d.ts +45 -0
  279. package/dist/types/plugins/ui_feature/selection_input.d.ts +67 -0
  280. package/dist/types/plugins/ui_feature/selection_inputs_manager.d.ts +33 -0
  281. package/dist/types/plugins/ui_feature/sort.d.ts +75 -0
  282. package/dist/types/plugins/ui_feature/split_to_columns.d.ts +21 -0
  283. package/dist/types/plugins/ui_feature/ui_options.d.ts +8 -0
  284. package/dist/types/plugins/ui_feature/ui_sheet.d.ts +30 -0
  285. package/dist/types/plugins/ui_plugin.d.ts +36 -0
  286. package/dist/types/plugins/ui_stateful/clipboard.d.ts +43 -0
  287. package/dist/types/plugins/ui_stateful/edition.d.ts +117 -0
  288. package/dist/types/plugins/ui_stateful/filter_evaluation.d.ts +26 -0
  289. package/dist/types/plugins/ui_stateful/header_positions.d.ts +28 -0
  290. package/dist/types/plugins/ui_stateful/index.d.ts +5 -0
  291. package/dist/types/plugins/ui_stateful/selection.d.ts +78 -0
  292. package/dist/types/plugins/ui_stateful/sheetview.d.ts +164 -0
  293. package/dist/types/registries/autofill_modifiers.d.ts +7 -0
  294. package/dist/types/registries/autofill_rules.d.ts +15 -0
  295. package/dist/types/registries/cell_clickable_registry.d.ts +8 -0
  296. package/dist/types/registries/cell_popovers_registry.d.ts +3 -0
  297. package/dist/types/registries/chart_types.d.ts +28 -0
  298. package/dist/types/registries/currencies_registry.d.ts +7 -0
  299. package/dist/types/registries/data_validation_registry.d.ts +32 -0
  300. package/dist/types/registries/figure_registry.d.ts +18 -0
  301. package/dist/types/registries/index.d.ts +11 -0
  302. package/dist/types/registries/inverse_command_registry.d.ts +5 -0
  303. package/dist/types/registries/menu_items_registry.d.ts +19 -0
  304. package/dist/types/registries/menus/cell_menu_registry.d.ts +2 -0
  305. package/dist/types/registries/menus/col_menu_registry.d.ts +2 -0
  306. package/dist/types/registries/menus/header_group_registry.d.ts +7 -0
  307. package/dist/types/registries/menus/index.d.ts +7 -0
  308. package/dist/types/registries/menus/link_menu_registry.d.ts +2 -0
  309. package/dist/types/registries/menus/number_format_menu_registry.d.ts +4 -0
  310. package/dist/types/registries/menus/row_menu_registry.d.ts +2 -0
  311. package/dist/types/registries/menus/sheet_menu_registry.d.ts +4 -0
  312. package/dist/types/registries/menus/topbar_menu_registry.d.ts +2 -0
  313. package/dist/types/registries/ot_registry.d.ts +21 -0
  314. package/dist/types/registries/registry.d.ts +44 -0
  315. package/dist/types/registries/repeat_commands_registry.d.ts +20 -0
  316. package/dist/types/registries/side_panel_registry.d.ts +8 -0
  317. package/dist/types/registries/topbar_component_registry.d.ts +18 -0
  318. package/dist/types/selection_stream/event_stream.d.ts +64 -0
  319. package/dist/types/selection_stream/selection_stream_processor.d.ts +167 -0
  320. package/dist/types/state_observer.d.ts +15 -0
  321. package/dist/types/translation.d.ts +21 -0
  322. package/dist/types/types/autofill.d.ts +62 -0
  323. package/dist/types/types/cell_popovers.d.ts +44 -0
  324. package/dist/types/types/cells.d.ts +64 -0
  325. package/dist/types/types/chart/bar_chart.d.ts +19 -0
  326. package/dist/types/types/chart/chart.d.ts +48 -0
  327. package/dist/types/types/chart/common_chart.d.ts +2 -0
  328. package/dist/types/types/chart/gauge_chart.d.ts +73 -0
  329. package/dist/types/types/chart/index.d.ts +7 -0
  330. package/dist/types/types/chart/line_chart.d.ts +21 -0
  331. package/dist/types/types/chart/pie_chart.d.ts +17 -0
  332. package/dist/types/types/chart/scorecard_chart.d.ts +26 -0
  333. package/dist/types/types/clipboard.d.ts +31 -0
  334. package/dist/types/types/collaborative/revisions.d.ts +7 -0
  335. package/dist/types/types/collaborative/session.d.ts +46 -0
  336. package/dist/types/types/collaborative/transport_service.d.ts +91 -0
  337. package/dist/types/types/commands.d.ts +873 -0
  338. package/dist/types/types/conditional_formatting.d.ts +103 -0
  339. package/dist/types/types/currency.d.ts +7 -0
  340. package/dist/types/types/data_validation.d.ts +121 -0
  341. package/dist/types/types/env.d.ts +33 -0
  342. package/dist/types/types/errors.d.ts +33 -0
  343. package/dist/types/types/event_stream/index.d.ts +1 -0
  344. package/dist/types/types/event_stream/selection_events.d.ts +11 -0
  345. package/dist/types/types/figure.d.ts +14 -0
  346. package/dist/types/types/files.d.ts +27 -0
  347. package/dist/types/types/format.d.ts +8 -0
  348. package/dist/types/types/functions.d.ts +49 -0
  349. package/dist/types/types/getters.d.ts +101 -0
  350. package/dist/types/types/history.d.ts +43 -0
  351. package/dist/types/types/image.d.ts +12 -0
  352. package/dist/types/types/index.d.ts +30 -0
  353. package/dist/types/types/locale.d.ts +13 -0
  354. package/dist/types/types/misc.d.ts +276 -0
  355. package/dist/types/types/range.d.ts +21 -0
  356. package/dist/types/types/rendering.d.ts +86 -0
  357. package/dist/types/types/validator.d.ts +16 -0
  358. package/dist/types/types/workbook_data.d.ts +112 -0
  359. package/dist/types/types/xlsx.d.ts +441 -0
  360. package/dist/types/xlsx/constants.d.ts +74 -0
  361. package/dist/types/xlsx/conversion/cf_conversion.d.ts +4 -0
  362. package/dist/types/xlsx/conversion/color_conversion.d.ts +24 -0
  363. package/dist/types/xlsx/conversion/conversion_maps.d.ts +167 -0
  364. package/dist/types/xlsx/conversion/figure_conversion.d.ts +3 -0
  365. package/dist/types/xlsx/conversion/format_conversion.d.ts +8 -0
  366. package/dist/types/xlsx/conversion/formula_conversion.d.ts +9 -0
  367. package/dist/types/xlsx/conversion/index.d.ts +7 -0
  368. package/dist/types/xlsx/conversion/sheet_conversion.d.ts +4 -0
  369. package/dist/types/xlsx/conversion/style_conversion.d.ts +19 -0
  370. package/dist/types/xlsx/conversion/table_conversion.d.ts +14 -0
  371. package/dist/types/xlsx/extraction/base_extractor.d.ts +142 -0
  372. package/dist/types/xlsx/extraction/cf_extractor.d.ts +14 -0
  373. package/dist/types/xlsx/extraction/chart_extractor.d.ts +11 -0
  374. package/dist/types/xlsx/extraction/external_book_extractor.d.ts +6 -0
  375. package/dist/types/xlsx/extraction/figure_extractor.d.ts +8 -0
  376. package/dist/types/xlsx/extraction/index.d.ts +3 -0
  377. package/dist/types/xlsx/extraction/misc_extractor.d.ts +18 -0
  378. package/dist/types/xlsx/extraction/pivot_extractor.d.ts +8 -0
  379. package/dist/types/xlsx/extraction/sheet_extractor.d.ts +23 -0
  380. package/dist/types/xlsx/extraction/style_extractor.d.ts +19 -0
  381. package/dist/types/xlsx/extraction/table_extractor.d.ts +10 -0
  382. package/dist/types/xlsx/functions/cells.d.ts +11 -0
  383. package/dist/types/xlsx/functions/charts.d.ts +3 -0
  384. package/dist/types/xlsx/functions/conditional_formatting.d.ts +3 -0
  385. package/dist/types/xlsx/functions/drawings.d.ts +5 -0
  386. package/dist/types/xlsx/functions/styles.d.ts +10 -0
  387. package/dist/types/xlsx/functions/table.d.ts +2 -0
  388. package/dist/types/xlsx/functions/worksheet.d.ts +9 -0
  389. package/dist/types/xlsx/helpers/colors.d.ts +8 -0
  390. package/dist/types/xlsx/helpers/content_helpers.d.ts +48 -0
  391. package/dist/types/xlsx/helpers/misc.d.ts +29 -0
  392. package/dist/types/xlsx/helpers/xlsx_helper.d.ts +10 -0
  393. package/dist/types/xlsx/helpers/xlsx_parser_error_manager.d.ts +34 -0
  394. package/dist/types/xlsx/helpers/xml_helpers.d.ts +36 -0
  395. package/dist/types/xlsx/xlsx_reader.d.ts +13 -0
  396. package/dist/types/xlsx/xlsx_writer.d.ts +8 -0
  397. package/package.json +42 -25
  398. package/dist/o-spreadsheet.d.ts +0 -8046
@@ -0,0 +1,26 @@
1
+ import { Border, CellPosition, Command, CommandResult, ExcelWorkbookData, UID } from "../../types";
2
+ import { LocalCommand } from "../../types/commands";
3
+ import { UIPlugin } from "../ui_plugin";
4
+ export declare class FilterEvaluationPlugin extends UIPlugin {
5
+ static getters: readonly ["getCellBorderWithFilterBorder", "getFilterValues", "isRowFiltered", "isFilterActive"];
6
+ private filterValues;
7
+ hiddenRows: Record<UID, Set<number> | undefined>;
8
+ isEvaluationDirty: boolean;
9
+ allowDispatch(cmd: LocalCommand): CommandResult;
10
+ handle(cmd: Command): void;
11
+ finalize(): void;
12
+ isRowFiltered(sheetId: UID, row: number): boolean;
13
+ getCellBorderWithFilterBorder(position: CellPosition): Border | null;
14
+ getFilterValues(position: CellPosition): string[];
15
+ isFilterActive(position: CellPosition): boolean;
16
+ private intersectZoneWithViewport;
17
+ private updateFilter;
18
+ private updateHiddenRows;
19
+ private getCellValueAsString;
20
+ exportForExcel(data: ExcelWorkbookData): void;
21
+ /**
22
+ * Get an unique column name for the column at colIndex. If the column name is already in the array of used column names,
23
+ * concatenate a number to the name until we find a new unique name (eg. "ColName" => "ColName1" => "ColName2" ...)
24
+ */
25
+ private getUniqueColNameForExcel;
26
+ }
@@ -0,0 +1,28 @@
1
+ import { Command, UID } from "../../types";
2
+ import { Dimension, HeaderDimensions, HeaderIndex, Pixel } from "../../types/misc";
3
+ import { UIPlugin } from "../ui_plugin";
4
+ export declare class HeaderPositionsUIPlugin extends UIPlugin {
5
+ static getters: readonly ["getColDimensions", "getRowDimensions", "getColRowOffset"];
6
+ private headerPositions;
7
+ private isDirty;
8
+ handle(cmd: Command): void;
9
+ finalize(): void;
10
+ /**
11
+ * Returns the size, start and end coordinates of a column on an unfolded sheet
12
+ */
13
+ getColDimensions(sheetId: UID, col: HeaderIndex): HeaderDimensions;
14
+ /**
15
+ * Returns the size, start and end coordinates of a row an unfolded sheet
16
+ */
17
+ getRowDimensions(sheetId: UID, row: HeaderIndex): HeaderDimensions;
18
+ /**
19
+ * Returns the offset of a header (determined by the dimension) at the given index
20
+ * based on the referenceIndex given. If start === 0, this method will return
21
+ * the start attribute of the header.
22
+ *
23
+ * i.e. The size from A to B is the distance between A.start and B.end
24
+ */
25
+ getColRowOffset(dimension: Dimension, referenceIndex: HeaderIndex, index: HeaderIndex, sheetId?: UID): Pixel;
26
+ private computeHeaderPositionsOfSheet;
27
+ private computePositions;
28
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./clipboard";
2
+ export * from "./edition";
3
+ export * from "./filter_evaluation";
4
+ export * from "./selection";
5
+ export * from "./sheetview";
@@ -0,0 +1,78 @@
1
+ import { CellPosition, Command, CommandResult, Dimension, EvaluatedCell, GridRenderingContext, LAYERS, LocalCommand, Selection, Sheet, Style, UID, Zone } from "../../types/index";
2
+ import { UIPlugin, UIPluginConfig } from "../ui_plugin";
3
+ /**
4
+ * SelectionPlugin
5
+ */
6
+ export declare class GridSelectionPlugin extends UIPlugin {
7
+ static layers: LAYERS[];
8
+ static getters: readonly ["getActiveSheet", "getActiveSheetId", "getActiveCell", "getActiveCols", "getActiveRows", "getCurrentStyle", "getSelectedZones", "getSelectedZone", "getSelectedCells", "getStatisticFnResults", "getAggregate", "getSelectedFigureId", "getSelection", "getActivePosition", "getSheetPosition", "isSelected", "isSingleColSelected", "getElementsFromSelection", "tryGetActiveSheetId", "isGridSelectionActive"];
9
+ private gridSelection;
10
+ private selectedFigureId;
11
+ private sheetsData;
12
+ private moveClient;
13
+ activeSheet: Sheet;
14
+ constructor(config: UIPluginConfig);
15
+ allowDispatch(cmd: LocalCommand): CommandResult;
16
+ private handleEvent;
17
+ handle(cmd: Command): void;
18
+ finalize(): void;
19
+ isGridSelectionActive(): boolean;
20
+ getActiveSheet(): Readonly<Sheet>;
21
+ getActiveSheetId(): UID;
22
+ tryGetActiveSheetId(): UID | undefined;
23
+ getActiveCell(): EvaluatedCell;
24
+ getActiveCols(): Set<number>;
25
+ getActiveRows(): Set<number>;
26
+ getCurrentStyle(): Style;
27
+ getSelectedZones(): Zone[];
28
+ getSelectedZone(): Zone;
29
+ getSelection(): Selection;
30
+ getSelectedCells(): EvaluatedCell[];
31
+ getSelectedFigureId(): UID | null;
32
+ getActivePosition(): CellPosition;
33
+ getSheetPosition(sheetId: UID): CellPosition;
34
+ getStatisticFnResults(): {
35
+ [name: string]: number | undefined;
36
+ };
37
+ getAggregate(): string | null;
38
+ isSelected(zone: Zone): boolean;
39
+ isSingleColSelected(): boolean;
40
+ /**
41
+ * Returns a sorted array of indexes of all columns (respectively rows depending
42
+ * on the dimension parameter) intersected by the currently selected zones.
43
+ *
44
+ * example:
45
+ * assume selectedZones: [{left:0, right: 2, top :2, bottom: 4}, {left:5, right: 6, top :3, bottom: 5}]
46
+ *
47
+ * if dimension === "COL" => [0,1,2,5,6]
48
+ * if dimension === "ROW" => [2,3,4,5]
49
+ */
50
+ getElementsFromSelection(dimension: Dimension): number[];
51
+ private activateSheet;
52
+ /**
53
+ * Ensure selections are not outside sheet boundaries.
54
+ * They are clipped to fit inside the sheet if needed.
55
+ */
56
+ private setSelectionMixin;
57
+ /**
58
+ * Change the anchor of the selection active cell to an absolute col and row index.
59
+ *
60
+ * This is a non trivial task. We need to stop the editing process and update
61
+ * properly the current selection. Also, this method can optionally create a new
62
+ * range in the selection.
63
+ */
64
+ private selectCell;
65
+ private setActiveSheet;
66
+ private activateNextSheet;
67
+ private onColumnsRemoved;
68
+ private onRowsRemoved;
69
+ private onAddElements;
70
+ private onMoveElements;
71
+ private isMoveElementAllowed;
72
+ private fallbackToVisibleSheet;
73
+ /**
74
+ * Clip the selection if it spans outside the sheet
75
+ */
76
+ private clipSelection;
77
+ drawGrid(renderingContext: GridRenderingContext): void;
78
+ }
@@ -0,0 +1,164 @@
1
+ import { InternalViewport } from "../../helpers/internal_viewport";
2
+ import { CellPosition, Command, CommandResult, DOMCoordinates, DOMDimension, Dimension, EdgeScrollInfo, Figure, HeaderIndex, LocalCommand, Pixel, Rect, SheetDOMScrollInfo, SheetScrollInfo, UID, Viewport, Zone } from "../../types/index";
3
+ import { PixelPosition } from "../../types/misc";
4
+ import { UIPlugin } from "../ui_plugin";
5
+ /**
6
+ * EdgeScrollCases Schema
7
+ *
8
+ * The dots/double dots represent a freeze (= a split of viewports)
9
+ * In this example, we froze vertically between columns D and E
10
+ * and horizontally between rows 4 and 5.
11
+ *
12
+ * One can see that we scrolled horizontally from column E to G and
13
+ * vertically from row 5 to 7.
14
+ *
15
+ * A B C D G H I J K L M N O P Q R S T
16
+ * _______________________________________________________
17
+ * 1 | : |
18
+ * 2 | : |
19
+ * 3 | : B ↑ 6 |
20
+ * 4 | : | | | |
21
+ * ····················+···+·················+············|
22
+ * 7 | : | | | |
23
+ * 8 | : ↓ 2 | |
24
+ * 9 | : | |
25
+ * 10 | A --+--→ | |
26
+ * 11 | : | |
27
+ * 12 | : | |
28
+ * 13 | ←--+-- 1 | |
29
+ * 14 | : | 3 --+--→
30
+ * 15 | : | |
31
+ * 16 | : | |
32
+ * 17 | 5 --+-------------------------------------------+--→
33
+ * 18 | : | |
34
+ * 19 | : 4 | |
35
+ * 20 | : | | |
36
+ * ______________________________+___________| ____________
37
+ * | |
38
+ * ↓ ↓
39
+ */
40
+ /**
41
+ * Viewport plugin.
42
+ *
43
+ * This plugin manages all things related to all viewport states.
44
+ *
45
+ */
46
+ export declare class SheetViewPlugin extends UIPlugin {
47
+ static getters: readonly ["getColIndex", "getRowIndex", "getActiveMainViewport", "getSheetViewDimension", "getSheetViewDimensionWithHeaders", "getMainViewportRect", "isVisibleInViewport", "getEdgeScrollCol", "getEdgeScrollRow", "getVisibleFigures", "getVisibleRect", "getVisibleRectWithoutHeaders", "getVisibleCellPositions", "getColRowOffsetInViewport", "getMainViewportCoordinates", "getActiveSheetScrollInfo", "getActiveSheetDOMScrollInfo", "getSheetViewVisibleCols", "getSheetViewVisibleRows", "getFrozenSheetViewRatio", "isPositionVisible", "getAllActiveViewportsZonesAndRect", "getRect"];
48
+ private viewports;
49
+ /**
50
+ * The viewport dimensions are usually set by one of the components
51
+ * (i.e. when grid component is mounted) to properly reflect its state in the DOM.
52
+ * In the absence of a component (standalone model), is it mandatory to set reasonable default values
53
+ * to ensure the correct operation of this plugin.
54
+ */
55
+ private sheetViewWidth;
56
+ private sheetViewHeight;
57
+ private gridOffsetX;
58
+ private gridOffsetY;
59
+ private sheetsWithDirtyViewports;
60
+ private shouldAdjustViewports;
61
+ allowDispatch(cmd: LocalCommand): CommandResult | CommandResult[];
62
+ private handleEvent;
63
+ handle(cmd: Command): void;
64
+ finalize(): void;
65
+ private setViewports;
66
+ /**
67
+ * Return the index of a column given an offset x, based on the viewport left
68
+ * visible cell.
69
+ * It returns -1 if no column is found.
70
+ */
71
+ getColIndex(x: Pixel): HeaderIndex;
72
+ /**
73
+ * Return the index of a row given an offset y, based on the viewport top
74
+ * visible cell.
75
+ * It returns -1 if no row is found.
76
+ */
77
+ getRowIndex(y: Pixel): HeaderIndex;
78
+ getSheetViewDimensionWithHeaders(): DOMDimension;
79
+ getSheetViewDimension(): DOMDimension;
80
+ /** type as pane, not viewport but basically pane extends viewport */
81
+ getActiveMainViewport(): Viewport;
82
+ /**
83
+ * Return the scroll info of the active sheet, ie. the offset between the viewport left/top side and
84
+ * the grid left/top side, snapped to the columns/rows.
85
+ */
86
+ getActiveSheetScrollInfo(): SheetScrollInfo;
87
+ /**
88
+ * Return the DOM scroll info of the active sheet, ie. the offset between the viewport left/top side and
89
+ * the grid left/top side, corresponding to the scroll of the scrollbars and not snapped to the grid.
90
+ */
91
+ getActiveSheetDOMScrollInfo(): SheetDOMScrollInfo;
92
+ getSheetViewVisibleCols(): HeaderIndex[];
93
+ getSheetViewVisibleRows(): HeaderIndex[];
94
+ /**
95
+ * Get the positions of all the cells that are visible in the viewport, taking merges into account.
96
+ */
97
+ getVisibleCellPositions(): CellPosition[];
98
+ /**
99
+ * Return the main viewport maximum size relative to the client size.
100
+ */
101
+ getMainViewportRect(): Rect;
102
+ private getMaximumSheetOffset;
103
+ getColRowOffsetInViewport(dimension: Dimension, referenceHeaderIndex: HeaderIndex, targetHeaderIndex: HeaderIndex): Pixel;
104
+ /**
105
+ * Check if a given position is visible in the viewport.
106
+ */
107
+ isVisibleInViewport({ sheetId, col, row }: CellPosition): boolean;
108
+ getEdgeScrollCol(x: number, previousX: number, startingX: number): EdgeScrollInfo;
109
+ getEdgeScrollRow(y: number, previousY: number, startingY: number): EdgeScrollInfo;
110
+ /**
111
+ * Computes the coordinates and size to draw the zone on the canvas
112
+ */
113
+ getVisibleRect(zone: Zone): Rect;
114
+ /**
115
+ * Computes the coordinates and size to draw the zone without taking the grid offset into account
116
+ */
117
+ getVisibleRectWithoutHeaders(zone: Zone): Rect;
118
+ /**
119
+ * Computes the actual size and position (:Rect) of the zone on the canvas
120
+ * regardless of the viewport dimensions.
121
+ */
122
+ getRect(zone: Zone): Rect;
123
+ /**
124
+ * Returns the position of the MainViewport relatively to the start of the grid (without headers)
125
+ * It corresponds to the summed dimensions of the visible cols/rows (in x/y respectively)
126
+ * situated before the pane divisions.
127
+ */
128
+ getMainViewportCoordinates(): DOMCoordinates;
129
+ getAllActiveViewportsZonesAndRect(): {
130
+ zone: Zone;
131
+ rect: Rect;
132
+ }[];
133
+ private ensureMainViewportExist;
134
+ private getSubViewports;
135
+ private checkPositiveDimension;
136
+ private checkValuesAreDifferent;
137
+ private checkScrollingDirection;
138
+ private getMainViewport;
139
+ private getMainInternalViewport;
140
+ /** gets rid of deprecated sheetIds */
141
+ private cleanViewports;
142
+ private resizeSheetView;
143
+ private recomputeViewports;
144
+ private setSheetViewOffset;
145
+ private getViewportOffset;
146
+ private resetViewports;
147
+ /**
148
+ * Adjust the viewport such that the anchor position is visible
149
+ */
150
+ private refreshViewport;
151
+ /**
152
+ * Shift the viewport vertically and move the selection anchor
153
+ * such that it remains at the same place relative to the
154
+ * viewport top.
155
+ */
156
+ private shiftVertically;
157
+ getVisibleFigures(): Figure[];
158
+ isPositionVisible(position: PixelPosition): boolean;
159
+ getFrozenSheetViewRatio(sheetId: UID): {
160
+ xRatio: number;
161
+ yRatio: number;
162
+ };
163
+ mapViewportsToRect(sheetId: UID, rectCallBack: (viewport: InternalViewport) => Rect | undefined): Rect;
164
+ }
@@ -0,0 +1,7 @@
1
+ import { AutofillModifierImplementation } from "../types/index";
2
+ import { Registry } from "./registry";
3
+ /**
4
+ * An AutofillModifierImplementation is used to describe how to handle a
5
+ * AutofillModifier.
6
+ */
7
+ export declare const autofillModifiersRegistry: Registry<AutofillModifierImplementation>;
@@ -0,0 +1,15 @@
1
+ import { AutofillModifier, Cell, DIRECTION } from "../types/index";
2
+ import { Registry } from "./registry";
3
+ /**
4
+ * An AutofillRule is used to generate what to do when we need to autofill
5
+ * a cell. (In a AutofillGenerator, see plugins/autofill.ts)
6
+ *
7
+ * When we generate the rules to autofill, we take the first matching rule
8
+ * (ordered by sequence), and we generate the AutofillModifier with generateRule
9
+ */
10
+ export interface AutofillRule {
11
+ condition: (cell: Cell, cells: (Cell | undefined)[]) => boolean;
12
+ generateRule: (cell: Cell, cells: (Cell | undefined)[], direction: DIRECTION) => AutofillModifier;
13
+ sequence: number;
14
+ }
15
+ export declare const autofillRulesRegistry: Registry<AutofillRule>;
@@ -0,0 +1,8 @@
1
+ import { CellPosition, SpreadsheetChildEnv } from "../types";
2
+ import { Registry } from "./registry";
3
+ export interface CellClickableItem {
4
+ condition: (position: CellPosition, env: SpreadsheetChildEnv) => boolean;
5
+ execute: (position: CellPosition, env: SpreadsheetChildEnv) => void;
6
+ sequence: number;
7
+ }
8
+ export declare const clickableCellRegistry: Registry<CellClickableItem>;
@@ -0,0 +1,3 @@
1
+ import { PopoverBuilders } from "../types/cell_popovers";
2
+ import { Registry } from "./registry";
3
+ export declare const cellPopoverRegistry: Registry<PopoverBuilders>;
@@ -0,0 +1,28 @@
1
+ import { Component } from "@odoo/owl";
2
+ import { AbstractChart } from "../helpers/figures/charts/abstract_chart";
3
+ import { AddColumnsRowsCommand, CommandResult, CoreGetters, Getters, RemoveColumnsRowsCommand, UID } from "../types";
4
+ import { ChartCreationContext, ChartDefinition, ChartRuntime, ChartType } from "../types/chart/chart";
5
+ import { Validator } from "../types/validator";
6
+ import { Registry } from "./registry";
7
+ /**
8
+ * Instantiate a chart object based on a definition
9
+ */
10
+ export interface ChartBuilder {
11
+ /**
12
+ * Check if this factory should be used
13
+ */
14
+ match: (type: ChartType) => boolean;
15
+ createChart: (definition: ChartDefinition, sheetId: UID, getters: CoreGetters) => AbstractChart;
16
+ getChartRuntime: (chart: AbstractChart, getters: Getters) => ChartRuntime;
17
+ validateChartDefinition(validator: Validator, definition: ChartDefinition): CommandResult | CommandResult[];
18
+ transformDefinition(definition: ChartDefinition, executed: AddColumnsRowsCommand | RemoveColumnsRowsCommand): ChartDefinition;
19
+ getChartDefinitionFromContextCreation(context: ChartCreationContext): ChartDefinition;
20
+ name: string;
21
+ sequence: number;
22
+ }
23
+ /**
24
+ * This registry is intended to map a cell content (raw string) to
25
+ * an instance of a cell.
26
+ */
27
+ export declare const chartRegistry: Registry<ChartBuilder>;
28
+ export declare const chartComponentRegistry: Registry<new (...args: any) => Component>;
@@ -0,0 +1,7 @@
1
+ import { Currency } from "../types";
2
+ import { Registry } from "./registry";
3
+ /**
4
+ * Registry intended to support usual currencies. It is mainly used to create
5
+ * currency formats that can be selected or modified when customizing formats.
6
+ */
7
+ export declare const currenciesRegistry: Registry<Currency>;
@@ -0,0 +1,32 @@
1
+ import { CellValue, DataValidationCriterion, DataValidationCriterionType, Getters, UID } from "../types";
2
+ import { Registry } from "./registry";
3
+ export type DataValidationCriterionEvaluator = {
4
+ type: DataValidationCriterionType;
5
+ /**
6
+ * Checks if a value is valid for the given criterion.
7
+ *
8
+ * The value and the criterion values should be in canonical form (non-localized), and formulas should
9
+ * be evaluated.
10
+ */
11
+ isValueValid: (value: CellValue, criterion: DataValidationCriterion, getters: Getters, sheetId: UID) => boolean;
12
+ /**
13
+ * Returns the error string to display when the value is not valid.
14
+ *
15
+ * The criterion values should be in canonical form (non-localized), and formulas should be evaluated.
16
+ */
17
+ getErrorString: (criterion: DataValidationCriterion, getters: Getters, sheetId: UID) => string;
18
+ /**
19
+ * Checks if a criterion value is valid.
20
+ *
21
+ * The value should be in canonical form (non-localized).
22
+ */
23
+ isCriterionValueValid: (value: string) => boolean;
24
+ /** Return the number of values that the criterion must contains. Return undefined if the criterion can have any number of values */
25
+ numberOfValues: (criterion: DataValidationCriterion) => number | undefined;
26
+ name: string;
27
+ getPreview: (criterion: DataValidationCriterion, getters: Getters) => string;
28
+ /** Error string when a criterion value is invalid */
29
+ criterionValueErrorString: string;
30
+ allowedValues?: "onlyLiterals" | "onlyFormulas";
31
+ };
32
+ export declare const dataValidationEvaluatorRegistry: Registry<DataValidationCriterionEvaluator>;
@@ -0,0 +1,18 @@
1
+ import { Action } from "../actions/action";
2
+ import { SpreadsheetChildEnv, UID } from "../types";
3
+ import { Registry } from "./registry";
4
+ /**
5
+ * This registry is intended to map a type of figure (tag) to a class of
6
+ * component, that will be used in the UI to represent the figure.
7
+ *
8
+ * The most important type of figure will be the Chart
9
+ */
10
+ export interface FigureContent {
11
+ Component: any;
12
+ menuBuilder: (figureId: UID, onFigureDeleted: () => void, env: SpreadsheetChildEnv) => Action[];
13
+ SidePanelComponent?: string;
14
+ keepRatio?: boolean;
15
+ minFigSize?: number;
16
+ borderWidth?: number;
17
+ }
18
+ export declare const figureRegistry: Registry<FigureContent>;
@@ -0,0 +1,11 @@
1
+ export * from "./autofill_modifiers";
2
+ export * from "./autofill_rules";
3
+ export * from "./cell_popovers_registry";
4
+ export * from "./chart_types";
5
+ export * from "./currencies_registry";
6
+ export * from "./figure_registry";
7
+ export * from "./inverse_command_registry";
8
+ export * from "./menus/index";
9
+ export * from "./ot_registry";
10
+ export * from "./side_panel_registry";
11
+ export * from "./topbar_component_registry";
@@ -0,0 +1,5 @@
1
+ import { CoreCommand } from "../types/commands";
2
+ import { Registry } from "./registry";
3
+ type InverseFunction = (cmd: CoreCommand) => CoreCommand[];
4
+ export declare const inverseCommandRegistry: Registry<InverseFunction>;
5
+ export {};
@@ -0,0 +1,19 @@
1
+ import { Action, ActionBuilder, ActionSpec } from "../actions/action";
2
+ import { Registry } from "./registry";
3
+ /**
4
+ * The class Registry is extended in order to add the function addChild
5
+ *
6
+ */
7
+ export declare class MenuItemRegistry extends Registry<ActionSpec> {
8
+ /**
9
+ * @override
10
+ */
11
+ add(key: string, value: ActionSpec): MenuItemRegistry;
12
+ /**
13
+ * Add a subitem to an existing item
14
+ * @param path Path of items to add this subitem
15
+ * @param value Subitem to add
16
+ */
17
+ addChild(key: string, path: string[], value: ActionSpec | ActionBuilder): MenuItemRegistry;
18
+ getMenuItems(): Action[];
19
+ }
@@ -0,0 +1,2 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare const cellMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,2 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare const colMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,7 @@
1
+ import { Action } from "../../actions/action";
2
+ import { Dimension, UID } from "../../types";
3
+ import { MenuItemRegistry } from "../menu_items_registry";
4
+ export declare function createHeaderGroupContainerContextMenu(sheetId: UID, dimension: Dimension): Action[];
5
+ export declare function getHeaderGroupContextMenu(sheetId: UID, dimension: Dimension, start: number, end: number): Action[];
6
+ export declare const groupHeadersMenuRegistry: MenuItemRegistry;
7
+ export declare const unGroupHeadersMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,7 @@
1
+ export * from "./cell_menu_registry";
2
+ export * from "./col_menu_registry";
3
+ export * from "./link_menu_registry";
4
+ export * from "./number_format_menu_registry";
5
+ export * from "./row_menu_registry";
6
+ export * from "./sheet_menu_registry";
7
+ export * from "./topbar_menu_registry";
@@ -0,0 +1,2 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare const linkMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,4 @@
1
+ import { ActionSpec } from "../../actions/action";
2
+ import { MenuItemRegistry } from "../menu_items_registry";
3
+ export declare const numberFormatMenuRegistry: MenuItemRegistry;
4
+ export declare const formatNumberMenuItemSpec: ActionSpec;
@@ -0,0 +1,2 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare const rowMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,4 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare function getSheetMenuRegistry(args: {
3
+ renameSheetCallback: () => void;
4
+ }): MenuItemRegistry;
@@ -0,0 +1,2 @@
1
+ import { MenuItemRegistry } from "../menu_items_registry";
2
+ export declare const topbarMenuRegistry: MenuItemRegistry;
@@ -0,0 +1,21 @@
1
+ import { CoreCommand, CoreCommandTypes } from "../types";
2
+ import { Registry } from "./registry";
3
+ export type TransformationFunction<U extends CoreCommandTypes, V extends CoreCommandTypes> = (toTransform: Extract<CoreCommand, {
4
+ type: U;
5
+ }>, executed: Extract<CoreCommand, {
6
+ type: V;
7
+ }>) => CoreCommand | undefined;
8
+ export declare class OTRegistry extends Registry<Map<CoreCommandTypes, TransformationFunction<CoreCommandTypes, CoreCommandTypes>>> {
9
+ /**
10
+ * Add a transformation function to the registry. When the executed command
11
+ * happened, all the commands in toTransforms should be transformed using the
12
+ * transformation function given
13
+ */
14
+ addTransformation<U extends CoreCommandTypes, V extends CoreCommandTypes>(executed: U, toTransforms: V[], fn: TransformationFunction<CoreCommandTypes, CoreCommandTypes>): this;
15
+ /**
16
+ * Get the transformation function to transform the command toTransform, after
17
+ * that the executed command happened.
18
+ */
19
+ getTransformation<U extends CoreCommandTypes, V extends CoreCommandTypes>(toTransform: U, executed: V): TransformationFunction<CoreCommandTypes, CoreCommandTypes> | undefined;
20
+ }
21
+ export declare const otRegistry: OTRegistry;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Registry
3
+ *
4
+ * The Registry class is basically just a mapping from a string key to an object.
5
+ * It is really not much more than an object. It is however useful for the
6
+ * following reasons:
7
+ *
8
+ * 1. it let us react and execute code when someone add something to the registry
9
+ * (for example, the FunctionRegistry subclass this for this purpose)
10
+ * 2. it throws an error when the get operation fails
11
+ * 3. it provides a chained API to add items to the registry.
12
+ */
13
+ export declare class Registry<T> {
14
+ content: {
15
+ [key: string]: T;
16
+ };
17
+ /**
18
+ * Add an item to the registry
19
+ *
20
+ * Note that this also returns the registry, so another add method call can
21
+ * be chained
22
+ */
23
+ add(key: string, value: T): Registry<T>;
24
+ /**
25
+ * Get an item from the registry
26
+ */
27
+ get(key: string): T;
28
+ /**
29
+ * Check if the key is already in the registry
30
+ */
31
+ contains(key: string): boolean;
32
+ /**
33
+ * Get a list of all elements in the registry
34
+ */
35
+ getAll(): T[];
36
+ /**
37
+ * Get a list of all keys in the registry
38
+ */
39
+ getKeys(): string[];
40
+ /**
41
+ * Remove an item from the registry
42
+ */
43
+ remove(key: string): void;
44
+ }
@@ -0,0 +1,20 @@
1
+ import { CoreCommand, Getters } from "../types";
2
+ import { Command, LocalCommand } from "./../types/commands";
3
+ import { Registry } from "./registry";
4
+ type RepeatTransform = (getters: Getters, cmd: CoreCommand) => CoreCommand | undefined;
5
+ type LocalRepeatTransform = (getters: Getters, cmd: LocalCommand, childCommands: readonly CoreCommand[]) => CoreCommand[] | LocalCommand | undefined;
6
+ /**
7
+ * Registry containing all the command that can be repeated on redo, and function to transform them
8
+ * to the current state of the model.
9
+ *
10
+ * If the transform function is undefined, the command will be transformed using generic transformations.
11
+ * (change the sheetId, the row, the col, the target, the ranges, to the current active sheet & selection)
12
+ *
13
+ */
14
+ export declare const repeatCommandTransformRegistry: Registry<RepeatTransform>;
15
+ export declare const repeatLocalCommandTransformRegistry: Registry<LocalRepeatTransform>;
16
+ export declare function genericRepeat<T extends Command>(getters: Getters, command: T): T;
17
+ export declare function repeatCoreCommand(getters: Getters, command: CoreCommand | undefined): CoreCommand | undefined;
18
+ export declare function repeatLocalCommand(getters: Getters, command: LocalCommand, childCommands: readonly CoreCommand[]): CoreCommand[] | LocalCommand | undefined;
19
+ export declare function repeatLocalCommandChildren<T extends LocalCommand>(getters: Getters, cmd: T, childCommands: readonly CoreCommand[]): CoreCommand[] | undefined;
20
+ export {};
@@ -0,0 +1,8 @@
1
+ import { SpreadsheetChildEnv } from "../types";
2
+ import { Registry } from "./registry";
3
+ export interface SidePanelContent {
4
+ title: string | ((env: SpreadsheetChildEnv) => string);
5
+ Body: any;
6
+ Footer?: any;
7
+ }
8
+ export declare const sidePanelRegistry: Registry<SidePanelContent>;
@@ -0,0 +1,18 @@
1
+ import { UuidGenerator } from "../helpers";
2
+ import { UID } from "../types";
3
+ import { SpreadsheetChildEnv } from "../types/env";
4
+ import { Registry } from "./registry";
5
+ export interface TopbarComponent {
6
+ id: UID;
7
+ component: any;
8
+ isVisible?: (env: SpreadsheetChildEnv) => boolean;
9
+ }
10
+ declare class TopBarComponentRegistry extends Registry<TopbarComponent> {
11
+ mapping: {
12
+ [key: string]: Function;
13
+ };
14
+ uuidGenerator: UuidGenerator;
15
+ add(name: string, value: Omit<TopbarComponent, "id">): Registry<TopbarComponent>;
16
+ }
17
+ export declare const topbarComponentRegistry: TopBarComponentRegistry;
18
+ export {};