@odoo/o-spreadsheet 18.0.55 → 18.0.67

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 (551) hide show
  1. package/dist/o-spreadsheet.cjs.js +60099 -68434
  2. package/dist/o-spreadsheet.esm.js +59914 -68433
  3. package/dist/o-spreadsheet.iife.js +65385 -73903
  4. package/dist/o-spreadsheet.iife.min.js +764 -727
  5. package/dist/o_spreadsheet.xml +9 -6
  6. package/dist/types/actions/action.d.ts +84 -0
  7. package/dist/types/actions/data_actions.d.ts +12 -0
  8. package/dist/types/actions/edit_actions.d.ts +23 -0
  9. package/dist/types/actions/format_actions.d.ts +63 -0
  10. package/dist/types/actions/insert_actions.d.ts +32 -0
  11. package/dist/types/actions/menu_items_actions.d.ts +55 -0
  12. package/dist/types/actions/sheet_actions.d.ts +13 -0
  13. package/dist/types/actions/view_actions.d.ts +26 -0
  14. package/dist/types/clipboard_handlers/abstract_cell_clipboard_handler.d.ts +7 -0
  15. package/dist/types/clipboard_handlers/abstract_clipboard_handler.d.ts +12 -0
  16. package/dist/types/clipboard_handlers/abstract_figure_clipboard_handler.d.ts +5 -0
  17. package/dist/types/clipboard_handlers/borders_clipboard.d.ts +17 -0
  18. package/dist/types/clipboard_handlers/cell_clipboard.d.ts +29 -0
  19. package/dist/types/clipboard_handlers/chart_clipboard.d.ts +15 -0
  20. package/dist/types/clipboard_handlers/conditional_format_clipboard.d.ts +25 -0
  21. package/dist/types/clipboard_handlers/data_validation_clipboard.d.ts +25 -0
  22. package/dist/types/clipboard_handlers/image_clipboard.d.ts +16 -0
  23. package/dist/types/clipboard_handlers/index.d.ts +7 -0
  24. package/dist/types/clipboard_handlers/merge_clipboard.d.ts +16 -0
  25. package/dist/types/clipboard_handlers/references_clipboard.d.ts +11 -0
  26. package/dist/types/clipboard_handlers/sheet_clipboard.d.ts +11 -0
  27. package/dist/types/clipboard_handlers/tables_clipboard.d.ts +33 -0
  28. package/dist/types/collaborative/local_transport_service.d.ts +8 -0
  29. package/dist/types/collaborative/ot/ot.d.ts +22 -0
  30. package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -0
  31. package/dist/types/collaborative/ot/ot_specific.d.ts +1 -0
  32. package/dist/types/collaborative/revisions.d.ts +22 -0
  33. package/dist/types/collaborative/session.d.ts +101 -0
  34. package/dist/types/components/action_button/action_button.d.ts +42 -0
  35. package/dist/types/components/animation/ripple.d.ts +118 -0
  36. package/dist/types/components/autofill/autofill.d.ts +29 -0
  37. package/dist/types/components/border_editor/border_editor.d.ts +67 -0
  38. package/dist/types/components/border_editor/border_editor_widget.d.ts +47 -0
  39. package/dist/types/components/bottom_bar/bottom_bar.d.ts +59 -0
  40. package/dist/types/components/bottom_bar/bottom_bar_sheet/bottom_bar_sheet.d.ts +62 -0
  41. package/dist/types/components/bottom_bar/bottom_bar_statistic/aggregate_statistics_store.d.ts +15 -0
  42. package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +25 -0
  43. package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +21 -0
  44. package/dist/types/components/color_picker/color_picker.d.ts +57 -0
  45. package/dist/types/components/color_picker/color_picker_widget.d.ts +52 -0
  46. package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown.d.ts +23 -0
  47. package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown_store.d.ts +12 -0
  48. package/dist/types/components/composer/composer/abstract_composer_store.d.ts +113 -0
  49. package/dist/types/components/composer/composer/cell_composer_store.d.ts +18 -0
  50. package/dist/types/components/composer/composer/composer.d.ts +172 -0
  51. package/dist/types/components/composer/composer_focus_store.d.ts +28 -0
  52. package/dist/types/components/composer/content_editable_helper.d.ts +60 -0
  53. package/dist/types/components/composer/formula_assistant/formula_assistant.d.ts +18 -0
  54. package/dist/types/components/composer/grid_composer/grid_composer.d.ts +47 -0
  55. package/dist/types/components/composer/standalone_composer/standalone_composer.d.ts +60 -0
  56. package/dist/types/components/composer/standalone_composer/standalone_composer_store.d.ts +22 -0
  57. package/dist/types/components/composer/top_bar_composer/top_bar_composer.d.ts +19 -0
  58. package/dist/types/components/dashboard/clickable_cell_store.d.ts +15 -0
  59. package/dist/types/components/dashboard/dashboard.d.ts +49 -0
  60. package/dist/types/components/data_validation_overlay/data_validation_overlay.d.ts +16 -0
  61. package/dist/types/components/data_validation_overlay/dv_checkbox/dv_checkbox.d.ts +19 -0
  62. package/dist/types/components/data_validation_overlay/dv_list_icon/dv_list_icon.d.ts +13 -0
  63. package/dist/types/components/error_tooltip/error_tooltip.d.ts +25 -0
  64. package/dist/types/components/figures/chart/chartJs/chartjs.d.ts +23 -0
  65. package/dist/types/components/figures/chart/chartJs/chartjs_show_values_plugin.d.ts +16 -0
  66. package/dist/types/components/figures/chart/chartJs/chartjs_waterfall_plugin.d.ts +12 -0
  67. package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +13 -0
  68. package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +18 -0
  69. package/dist/types/components/figures/figure/figure.d.ts +54 -0
  70. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +16 -0
  71. package/dist/types/components/figures/figure_container/figure_container.d.ts +117 -0
  72. package/dist/types/components/figures/figure_image/figure_image.d.ts +15 -0
  73. package/dist/types/components/filters/filter_icon/filter_icon.d.ts +19 -0
  74. package/dist/types/components/filters/filter_icons_overlay/filter_icons_overlay.d.ts +13 -0
  75. package/dist/types/components/filters/filter_menu/filter_menu.d.ts +46 -0
  76. package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +28 -0
  77. package/dist/types/components/focus_store.d.ts +6 -0
  78. package/dist/types/components/font_size_editor/font_size_editor.d.ts +34 -0
  79. package/dist/types/components/grid/grid.d.ts +105 -0
  80. package/dist/types/components/grid/hovered_cell_store.d.ts +10 -0
  81. package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +29 -0
  82. package/dist/types/components/grid_cell_icon/grid_cell_icon.d.ts +26 -0
  83. package/dist/types/components/grid_overlay/grid_overlay.d.ts +68 -0
  84. package/dist/types/components/grid_popover/grid_popover.d.ts +28 -0
  85. package/dist/types/components/header_group/header_group.d.ts +46 -0
  86. package/dist/types/components/header_group/header_group_container.d.ts +33 -0
  87. package/dist/types/components/headers_overlay/headers_overlay.d.ts +131 -0
  88. package/dist/types/components/helpers/autofocus_hook.d.ts +3 -0
  89. package/dist/types/components/helpers/css.d.ts +40 -0
  90. package/dist/types/components/helpers/dom_helpers.d.ts +34 -0
  91. package/dist/types/components/helpers/drag_and_drop.d.ts +20 -0
  92. package/dist/types/components/helpers/drag_and_drop_hook.d.ts +24 -0
  93. package/dist/types/components/helpers/draw_grid_hook.d.ts +3 -0
  94. package/dist/types/components/helpers/figure_container_helper.d.ts +14 -0
  95. package/dist/types/components/helpers/figure_drag_helper.d.ts +6 -0
  96. package/dist/types/components/helpers/figure_snap_helper.d.ts +25 -0
  97. package/dist/types/components/helpers/highlight_hook.d.ts +4 -0
  98. package/dist/types/components/helpers/html_content_helpers.d.ts +2 -0
  99. package/dist/types/components/helpers/index.d.ts +1 -0
  100. package/dist/types/components/helpers/listener_hook.d.ts +13 -0
  101. package/dist/types/components/helpers/position_hook.d.ts +25 -0
  102. package/dist/types/components/helpers/selection_helpers.d.ts +2 -0
  103. package/dist/types/components/helpers/time_hooks.d.ts +17 -0
  104. package/dist/types/components/helpers/touch_scroll_hook.d.ts +3 -0
  105. package/dist/types/components/helpers/wheel_hook.d.ts +1 -0
  106. package/dist/types/components/highlight/border/border.d.ts +21 -0
  107. package/dist/types/components/highlight/corner/corner.d.ts +25 -0
  108. package/dist/types/components/highlight/highlight/highlight.d.ts +26 -0
  109. package/dist/types/components/icon_picker/icon_picker.d.ts +68 -0
  110. package/dist/types/components/icons/icons.d.ts +56 -0
  111. package/dist/types/components/index.d.ts +1 -0
  112. package/dist/types/components/link/index.d.ts +2 -0
  113. package/dist/types/components/link/link_display/link_display.d.ts +28 -0
  114. package/dist/types/components/link/link_editor/link_editor.d.ts +46 -0
  115. package/dist/types/components/menu/menu.d.ts +99 -0
  116. package/dist/types/components/paint_format_button/paint_format_button.d.ts +20 -0
  117. package/dist/types/components/paint_format_button/paint_format_store.d.ts +27 -0
  118. package/dist/types/components/pivot_html_renderer/pivot_html_renderer.d.ts +87 -0
  119. package/dist/types/components/popover/cell_popover_store.d.ts +22 -0
  120. package/dist/types/components/popover/index.d.ts +3 -0
  121. package/dist/types/components/popover/popover.d.ts +80 -0
  122. package/dist/types/components/popover/popover_builders.d.ts +1 -0
  123. package/dist/types/components/scrollbar/index.d.ts +2 -0
  124. package/dist/types/components/scrollbar/scrollbar.d.ts +39 -0
  125. package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +32 -0
  126. package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +32 -0
  127. package/dist/types/components/scrollbar.d.ts +9 -0
  128. package/dist/types/components/selection_input/selection_input.d.ts +81 -0
  129. package/dist/types/components/selection_input/selection_input_store.d.ts +96 -0
  130. package/dist/types/components/side_panel/chart/bar_chart/bar_chart_config_panel.d.ts +7 -0
  131. package/dist/types/components/side_panel/chart/building_blocks/axis_design/axis_design_editor.d.ts +46 -0
  132. package/dist/types/components/side_panel/chart/building_blocks/data_series/data_series.d.ts +30 -0
  133. package/dist/types/components/side_panel/chart/building_blocks/error_section/error_section.d.ts +21 -0
  134. package/dist/types/components/side_panel/chart/building_blocks/general_design/general_design_editor.d.ts +41 -0
  135. package/dist/types/components/side_panel/chart/building_blocks/generic_side_panel/config_panel.d.ts +87 -0
  136. package/dist/types/components/side_panel/chart/building_blocks/label_range/label_range.d.ts +42 -0
  137. package/dist/types/components/side_panel/chart/building_blocks/title/title.d.ts +76 -0
  138. package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +49 -0
  139. package/dist/types/components/side_panel/chart/chart_with_axis/design_panel.d.ts +63 -0
  140. package/dist/types/components/side_panel/chart/combo_chart/combo_chart_config_panel.d.ts +4 -0
  141. package/dist/types/components/side_panel/chart/combo_chart/combo_chart_design_panel.d.ts +19 -0
  142. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_config_panel.d.ts +32 -0
  143. package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_design_panel.d.ts +48 -0
  144. package/dist/types/components/side_panel/chart/index.d.ts +15 -0
  145. package/dist/types/components/side_panel/chart/line_chart/line_chart_config_panel.d.ts +16 -0
  146. package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel.d.ts +31 -0
  147. package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel_store.d.ts +10 -0
  148. package/dist/types/components/side_panel/chart/pie_chart/pie_chart_design_panel.d.ts +31 -0
  149. package/dist/types/components/side_panel/chart/scatter_chart/scatter_chart_config_panel.d.ts +12 -0
  150. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +40 -0
  151. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_design_panel.d.ts +41 -0
  152. package/dist/types/components/side_panel/chart/waterfall_chart/waterfall_chart_design_panel.d.ts +53 -0
  153. package/dist/types/components/side_panel/components/badge_selection/badge_selection.d.ts +20 -0
  154. package/dist/types/components/side_panel/components/checkbox/checkbox.d.ts +47 -0
  155. package/dist/types/components/side_panel/components/cog_wheel_menu/cog_wheel_menu.d.ts +22 -0
  156. package/dist/types/components/side_panel/components/collapsible/side_panel_collapsible.d.ts +16 -0
  157. package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +32 -0
  158. package/dist/types/components/side_panel/components/round_color_picker/round_color_picker.d.ts +45 -0
  159. package/dist/types/components/side_panel/components/section/section.d.ts +16 -0
  160. package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor.d.ts +167 -0
  161. package/dist/types/components/side_panel/conditional_formatting/cf_preview/cf_preview.d.ts +57 -0
  162. package/dist/types/components/side_panel/conditional_formatting/cf_preview_list/cf_preview_list.d.ts +64 -0
  163. package/dist/types/components/side_panel/conditional_formatting/conditional_formatting.d.ts +30 -0
  164. package/dist/types/components/side_panel/custom_currency/custom_currency.d.ts +43 -0
  165. package/dist/types/components/side_panel/data_validation/data_validation_panel.d.ts +28 -0
  166. package/dist/types/components/side_panel/data_validation/data_validation_panel_helper.d.ts +14 -0
  167. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_criterion_form.d.ts +15 -0
  168. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_date_criterion/dv_date_criterion.d.ts +16 -0
  169. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_double_input_criterion/dv_double_input_criterion.d.ts +10 -0
  170. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_input/dv_input.d.ts +54 -0
  171. package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_single_input_criterion/dv_single_input_criterion.d.ts +9 -0
  172. 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
  173. 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
  174. package/dist/types/components/side_panel/data_validation/dv_editor/dv_editor.d.ts +48 -0
  175. package/dist/types/components/side_panel/data_validation/dv_preview/dv_preview.d.ts +20 -0
  176. package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +46 -0
  177. package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +72 -0
  178. package/dist/types/components/side_panel/more_formats/more_formats.d.ts +13 -0
  179. package/dist/types/components/side_panel/pivot/editable_name/editable_name.d.ts +21 -0
  180. package/dist/types/components/side_panel/pivot/pivot_defer_update/pivot_defer_update.d.ts +28 -0
  181. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/add_dimension_button/add_dimension_button.d.ts +46 -0
  182. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension/pivot_dimension.d.ts +35 -0
  183. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_granularity/pivot_dimension_granularity.d.ts +34 -0
  184. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_order/pivot_dimension_order.d.ts +15 -0
  185. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +73 -0
  186. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_measure/pivot_measure.d.ts +37 -0
  187. package/dist/types/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel.d.ts +68 -0
  188. package/dist/types/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.d.ts +34 -0
  189. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel.d.ts +21 -0
  190. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +35 -0
  191. package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_spreadsheet_side_panel/pivot_spreadsheet_side_panel.d.ts +49 -0
  192. package/dist/types/components/side_panel/pivot/pivot_title_section/pivot_title_section.d.ts +29 -0
  193. package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +39 -0
  194. package/dist/types/components/side_panel/select_menu/select_menu.d.ts +37 -0
  195. package/dist/types/components/side_panel/settings/settings_panel.d.ts +28 -0
  196. package/dist/types/components/side_panel/side_panel/side_panel.d.ts +15 -0
  197. package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +32 -0
  198. package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +42 -0
  199. package/dist/types/components/side_panel/table_panel/table_panel.d.ts +52 -0
  200. package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +50 -0
  201. package/dist/types/components/spreadsheet/spreadsheet.d.ts +63 -0
  202. package/dist/types/components/tables/table_dropdown_button/table_dropdown_button.d.ts +25 -0
  203. package/dist/types/components/tables/table_resizer/table_resizer.d.ts +20 -0
  204. package/dist/types/components/tables/table_style_picker/table_style_picker.d.ts +28 -0
  205. package/dist/types/components/tables/table_style_preview/table_canvas_helpers.d.ts +2 -0
  206. package/dist/types/components/tables/table_style_preview/table_style_preview.d.ts +45 -0
  207. package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +53 -0
  208. package/dist/types/components/text_input/text_input.d.ts +35 -0
  209. package/dist/types/components/top_bar/top_bar.d.ts +70 -0
  210. package/dist/types/components/translations_terms.d.ts +191 -0
  211. package/dist/types/components/validation_messages/validation_messages.d.ts +21 -0
  212. package/dist/types/constants.d.ts +179 -0
  213. package/dist/types/formulas/code_builder.d.ts +24 -0
  214. package/dist/types/formulas/compiler.d.ts +26 -0
  215. package/dist/types/formulas/composer_tokenizer.d.ts +48 -0
  216. package/dist/types/formulas/helpers.d.ts +7 -0
  217. package/dist/types/formulas/index.d.ts +14 -0
  218. package/dist/types/formulas/parser.d.ts +76 -0
  219. package/dist/types/formulas/range_tokenizer.d.ts +8 -0
  220. package/dist/types/formulas/tokenizer.d.ts +25 -0
  221. package/dist/types/functions/arguments.d.ts +10 -0
  222. package/dist/types/functions/helper_assert.d.ts +6 -0
  223. package/dist/types/functions/helper_financial.d.ts +51 -0
  224. package/dist/types/functions/helper_logical.d.ts +9 -0
  225. package/dist/types/functions/helper_lookup.d.ts +9 -0
  226. package/dist/types/functions/helper_math.d.ts +3 -0
  227. package/dist/types/functions/helper_matrices.d.ts +24 -0
  228. package/dist/types/functions/helper_parser.d.ts +95 -0
  229. package/dist/types/functions/helper_statistical.d.ts +19 -0
  230. package/dist/types/functions/helpers.d.ts +146 -0
  231. package/dist/types/functions/index.d.ts +18 -0
  232. package/dist/types/functions/module_array.d.ts +122 -0
  233. package/dist/types/functions/module_custom.d.ts +6 -0
  234. package/dist/types/functions/module_database.d.ts +73 -0
  235. package/dist/types/functions/module_date.d.ts +185 -0
  236. package/dist/types/functions/module_engineering.d.ts +7 -0
  237. package/dist/types/functions/module_filter.d.ts +16 -0
  238. package/dist/types/functions/module_financial.d.ts +295 -0
  239. package/dist/types/functions/module_info.d.ts +63 -0
  240. package/dist/types/functions/module_logical.d.ts +31 -0
  241. package/dist/types/functions/module_lookup.d.ts +108 -0
  242. package/dist/types/functions/module_math.d.ts +354 -0
  243. package/dist/types/functions/module_operators.d.ts +77 -0
  244. package/dist/types/functions/module_parser.d.ts +7 -0
  245. package/dist/types/functions/module_statistical.d.ts +244 -0
  246. package/dist/types/functions/module_text.d.ts +132 -0
  247. package/dist/types/functions/module_web.d.ts +7 -0
  248. package/dist/types/helpers/cells/cell_evaluation.d.ts +4 -0
  249. package/dist/types/helpers/cells/index.d.ts +2 -0
  250. package/dist/types/helpers/chart_date.d.ts +8 -0
  251. package/dist/types/helpers/clipboard/clipboard_helpers.d.ts +32 -0
  252. package/dist/types/helpers/clipboard/navigator_clipboard_wrapper.d.ts +13 -0
  253. package/dist/types/helpers/color.d.ts +80 -0
  254. package/dist/types/helpers/coordinates.d.ts +38 -0
  255. package/dist/types/helpers/data_normalization.d.ts +14 -0
  256. package/dist/types/helpers/data_validation_helpers.d.ts +6 -0
  257. package/dist/types/helpers/dates.d.ts +92 -0
  258. package/dist/types/helpers/edge_scrolling.d.ts +9 -0
  259. package/dist/types/helpers/event_bus.d.ts +45 -0
  260. package/dist/types/helpers/figures/charts/abstract_chart.d.ts +56 -0
  261. package/dist/types/helpers/figures/charts/bar_chart.d.ts +32 -0
  262. package/dist/types/helpers/figures/charts/chart_common.d.ts +122 -0
  263. package/dist/types/helpers/figures/charts/chart_common_line_scatter.d.ts +16 -0
  264. package/dist/types/helpers/figures/charts/chart_factory.d.ts +35 -0
  265. package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +51 -0
  266. package/dist/types/helpers/figures/charts/combo_chart.d.ts +29 -0
  267. package/dist/types/helpers/figures/charts/gauge_chart.d.ts +23 -0
  268. package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +48 -0
  269. package/dist/types/helpers/figures/charts/index.d.ts +10 -0
  270. package/dist/types/helpers/figures/charts/line_chart.d.ts +33 -0
  271. package/dist/types/helpers/figures/charts/pie_chart.d.ts +29 -0
  272. package/dist/types/helpers/figures/charts/pyramid_chart.d.ts +32 -0
  273. package/dist/types/helpers/figures/charts/scatter_chart.d.ts +31 -0
  274. package/dist/types/helpers/figures/charts/scorecard_chart.d.ts +32 -0
  275. package/dist/types/helpers/figures/charts/scorecard_chart_config_builder.d.ts +44 -0
  276. package/dist/types/helpers/figures/charts/waterfall_chart.d.ts +37 -0
  277. package/dist/types/helpers/figures/figure/figure.d.ts +6 -0
  278. package/dist/types/helpers/figures/images/image_provider.d.ts +10 -0
  279. package/dist/types/helpers/format/format.d.ts +45 -0
  280. package/dist/types/helpers/format/format_parser.d.ts +38 -0
  281. package/dist/types/helpers/format/format_tokenizer.d.ts +39 -0
  282. package/dist/types/helpers/index.d.ts +17 -0
  283. package/dist/types/helpers/internal_viewport.d.ts +82 -0
  284. package/dist/types/helpers/inverse_commands.d.ts +2 -0
  285. package/dist/types/helpers/links.d.ts +23 -0
  286. package/dist/types/helpers/locale.d.ts +58 -0
  287. package/dist/types/helpers/misc.d.ts +211 -0
  288. package/dist/types/helpers/numbers.d.ts +25 -0
  289. package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +61 -0
  290. package/dist/types/helpers/pivot/pivot_domain_helpers.d.ts +68 -0
  291. package/dist/types/helpers/pivot/pivot_helpers.d.ts +55 -0
  292. package/dist/types/helpers/pivot/pivot_highlight.d.ts +2 -0
  293. package/dist/types/helpers/pivot/pivot_menu_items.d.ts +3 -0
  294. package/dist/types/helpers/pivot/pivot_positional_formula_registry.d.ts +7 -0
  295. package/dist/types/helpers/pivot/pivot_presence_tracker.d.ts +9 -0
  296. package/dist/types/helpers/pivot/pivot_presentation.d.ts +91 -0
  297. package/dist/types/helpers/pivot/pivot_registry.d.ts +28 -0
  298. package/dist/types/helpers/pivot/pivot_runtime_definition.d.ts +14 -0
  299. package/dist/types/helpers/pivot/pivot_side_panel_registry.d.ts +6 -0
  300. package/dist/types/helpers/pivot/pivot_time_adapter.d.ts +5 -0
  301. package/dist/types/helpers/pivot/spreadsheet_pivot/data_entry_spreadsheet_pivot.d.ts +20 -0
  302. package/dist/types/helpers/pivot/spreadsheet_pivot/date_spreadsheet_pivot.d.ts +7 -0
  303. package/dist/types/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.d.ts +7 -0
  304. package/dist/types/helpers/pivot/spreadsheet_pivot/spreadsheet_pivot.d.ts +96 -0
  305. package/dist/types/helpers/pivot/table_spreadsheet_pivot.d.ts +80 -0
  306. package/dist/types/helpers/range.d.ts +59 -0
  307. package/dist/types/helpers/recompute_zones.d.ts +130 -0
  308. package/dist/types/helpers/rectangle.d.ts +7 -0
  309. package/dist/types/helpers/reference_type.d.ts +29 -0
  310. package/dist/types/helpers/references.d.ts +25 -0
  311. package/dist/types/helpers/rendering.d.ts +2 -0
  312. package/dist/types/helpers/search.d.ts +19 -0
  313. package/dist/types/helpers/sheet.d.ts +7 -0
  314. package/dist/types/helpers/sort.d.ts +16 -0
  315. package/dist/types/helpers/state_manager_helpers.d.ts +6 -0
  316. package/dist/types/helpers/table_helpers.d.ts +9 -0
  317. package/dist/types/helpers/table_presets.d.ts +23 -0
  318. package/dist/types/helpers/text_helper.d.ts +35 -0
  319. package/dist/types/helpers/ui/cut_interactive.d.ts +2 -0
  320. package/dist/types/helpers/ui/freeze_interactive.d.ts +2 -0
  321. package/dist/types/helpers/ui/merge_interactive.d.ts +6 -0
  322. package/dist/types/helpers/ui/paste_interactive.d.ts +10 -0
  323. package/dist/types/helpers/ui/sheet_interactive.d.ts +2 -0
  324. package/dist/types/helpers/ui/split_to_columns_interactive.d.ts +6 -0
  325. package/dist/types/helpers/ui/table_interactive.d.ts +7 -0
  326. package/dist/types/helpers/ui/toggle_group_interactive.d.ts +6 -0
  327. package/dist/types/helpers/uuid.d.ts +20 -0
  328. package/dist/types/helpers/zones.d.ts +150 -0
  329. package/dist/types/history/branch.d.ts +62 -0
  330. package/dist/types/history/factory.d.ts +9 -0
  331. package/dist/types/history/operation.d.ts +17 -0
  332. package/dist/types/history/operation_sequence.d.ts +31 -0
  333. package/dist/types/history/repeat_commands/repeat_commands_generic.d.ts +7 -0
  334. package/dist/types/history/repeat_commands/repeat_commands_specific.d.ts +13 -0
  335. package/dist/types/history/repeat_commands/repeat_revision.d.ts +5 -0
  336. package/dist/types/history/selective_history.d.ts +80 -0
  337. package/dist/types/history/tree.d.ts +175 -0
  338. package/dist/types/index.d.ts +364 -0
  339. package/dist/types/migrations/data.d.ts +30 -0
  340. package/dist/types/migrations/legacy_tools.d.ts +15 -0
  341. package/dist/types/migrations/locale.d.ts +94 -0
  342. package/dist/types/migrations/migration_steps.d.ts +6 -0
  343. package/dist/types/model.d.ts +193 -0
  344. package/dist/types/plugins/base_plugin.d.ts +64 -0
  345. package/dist/types/plugins/core/borders.d.ts +127 -0
  346. package/dist/types/plugins/core/cell.d.ts +115 -0
  347. package/dist/types/plugins/core/chart.d.ts +41 -0
  348. package/dist/types/plugins/core/conditional_format.d.ts +53 -0
  349. package/dist/types/plugins/core/data_validation.d.ts +33 -0
  350. package/dist/types/plugins/core/figures.d.ts +34 -0
  351. package/dist/types/plugins/core/header_grouping.d.ts +83 -0
  352. package/dist/types/plugins/core/header_size.d.ts +23 -0
  353. package/dist/types/plugins/core/header_visibility.d.ts +20 -0
  354. package/dist/types/plugins/core/image.d.ts +32 -0
  355. package/dist/types/plugins/core/index.d.ts +13 -0
  356. package/dist/types/plugins/core/merge.d.ts +82 -0
  357. package/dist/types/plugins/core/pivot.d.ts +66 -0
  358. package/dist/types/plugins/core/range.d.ts +75 -0
  359. package/dist/types/plugins/core/settings.d.ts +12 -0
  360. package/dist/types/plugins/core/sheet.d.ts +148 -0
  361. package/dist/types/plugins/core/spreadsheet_pivot.d.ts +6 -0
  362. package/dist/types/plugins/core/table_style.d.ts +22 -0
  363. package/dist/types/plugins/core/tables.d.ts +56 -0
  364. package/dist/types/plugins/core_plugin.d.ts +50 -0
  365. package/dist/types/plugins/index.d.ts +7 -0
  366. package/dist/types/plugins/ui_core_views/cell_evaluation/binary_grid.d.ts +36 -0
  367. package/dist/types/plugins/ui_core_views/cell_evaluation/compilation_parameters.d.ts +14 -0
  368. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluation_plugin.d.ts +58 -0
  369. package/dist/types/plugins/ui_core_views/cell_evaluation/evaluator.d.ts +59 -0
  370. package/dist/types/plugins/ui_core_views/cell_evaluation/formula_dependency_graph.d.ts +24 -0
  371. package/dist/types/plugins/ui_core_views/cell_evaluation/index.d.ts +1 -0
  372. package/dist/types/plugins/ui_core_views/cell_evaluation/position_map.d.ts +11 -0
  373. package/dist/types/plugins/ui_core_views/cell_evaluation/position_set.d.ts +28 -0
  374. package/dist/types/plugins/ui_core_views/cell_evaluation/r_tree.d.ts +108 -0
  375. package/dist/types/plugins/ui_core_views/cell_evaluation/spreading_relation.d.ts +63 -0
  376. package/dist/types/plugins/ui_core_views/custom_colors.d.ts +28 -0
  377. package/dist/types/plugins/ui_core_views/dynamic_tables.d.ts +32 -0
  378. package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +24 -0
  379. package/dist/types/plugins/ui_core_views/evaluation_conditional_format.d.ts +41 -0
  380. package/dist/types/plugins/ui_core_views/evaluation_data_validation.d.ts +38 -0
  381. package/dist/types/plugins/ui_core_views/header_sizes_ui.d.ts +32 -0
  382. package/dist/types/plugins/ui_core_views/index.d.ts +5 -0
  383. package/dist/types/plugins/ui_core_views/pivot_ui.d.ts +49 -0
  384. package/dist/types/plugins/ui_feature/autofill.d.ts +61 -0
  385. package/dist/types/plugins/ui_feature/automatic_sum.d.ts +101 -0
  386. package/dist/types/plugins/ui_feature/cell_computed_style.d.ts +13 -0
  387. package/dist/types/plugins/ui_feature/collaborative.d.ts +25 -0
  388. package/dist/types/plugins/ui_feature/data_cleanup.d.ts +16 -0
  389. package/dist/types/plugins/ui_feature/datavalidation_insertion.d.ts +5 -0
  390. package/dist/types/plugins/ui_feature/format.d.ts +25 -0
  391. package/dist/types/plugins/ui_feature/header_visibility_ui.d.ts +21 -0
  392. package/dist/types/plugins/ui_feature/index.d.ts +10 -0
  393. package/dist/types/plugins/ui_feature/insert_pivot.d.ts +14 -0
  394. package/dist/types/plugins/ui_feature/local_history.d.ts +36 -0
  395. package/dist/types/plugins/ui_feature/pivot_presence_plugin.d.ts +10 -0
  396. package/dist/types/plugins/ui_feature/sort.d.ts +29 -0
  397. package/dist/types/plugins/ui_feature/split_to_columns.d.ts +21 -0
  398. package/dist/types/plugins/ui_feature/table_autofill.d.ts +6 -0
  399. package/dist/types/plugins/ui_feature/table_computed_style.d.ts +26 -0
  400. package/dist/types/plugins/ui_feature/table_resize_ui.d.ts +6 -0
  401. package/dist/types/plugins/ui_feature/ui_options.d.ts +8 -0
  402. package/dist/types/plugins/ui_feature/ui_sheet.d.ts +48 -0
  403. package/dist/types/plugins/ui_plugin.d.ts +38 -0
  404. package/dist/types/plugins/ui_stateful/clipboard.d.ts +58 -0
  405. package/dist/types/plugins/ui_stateful/filter_evaluation.d.ts +25 -0
  406. package/dist/types/plugins/ui_stateful/header_positions.d.ts +28 -0
  407. package/dist/types/plugins/ui_stateful/index.d.ts +4 -0
  408. package/dist/types/plugins/ui_stateful/selection.d.ts +74 -0
  409. package/dist/types/plugins/ui_stateful/sheetview.d.ts +175 -0
  410. package/dist/types/registries/auto_completes/auto_complete_registry.d.ts +56 -0
  411. package/dist/types/registries/auto_completes/data_validation_auto_complete.d.ts +1 -0
  412. package/dist/types/registries/auto_completes/function_auto_complete.d.ts +1 -0
  413. package/dist/types/registries/auto_completes/index.d.ts +5 -0
  414. package/dist/types/registries/auto_completes/pivot_auto_complete.d.ts +1 -0
  415. package/dist/types/registries/auto_completes/pivot_dimension_auto_complete.d.ts +4 -0
  416. package/dist/types/registries/auto_completes/sheet_name_auto_complete.d.ts +1 -0
  417. package/dist/types/registries/autofill_modifiers.d.ts +7 -0
  418. package/dist/types/registries/autofill_rules.d.ts +20 -0
  419. package/dist/types/registries/cell_clickable_registry.d.ts +8 -0
  420. package/dist/types/registries/cell_popovers_registry.d.ts +3 -0
  421. package/dist/types/registries/chart_types.d.ts +52 -0
  422. package/dist/types/registries/currencies_registry.d.ts +7 -0
  423. package/dist/types/registries/data_validation_registry.d.ts +32 -0
  424. package/dist/types/registries/evaluation_registry.d.ts +9 -0
  425. package/dist/types/registries/figure_registry.d.ts +18 -0
  426. package/dist/types/registries/icons_on_cell_registry.d.ts +9 -0
  427. package/dist/types/registries/index.d.ts +12 -0
  428. package/dist/types/registries/inverse_command_registry.d.ts +5 -0
  429. package/dist/types/registries/menu_items_registry.d.ts +21 -0
  430. package/dist/types/registries/menus/cell_menu_registry.d.ts +2 -0
  431. package/dist/types/registries/menus/col_menu_registry.d.ts +2 -0
  432. package/dist/types/registries/menus/header_group_registry.d.ts +7 -0
  433. package/dist/types/registries/menus/index.d.ts +7 -0
  434. package/dist/types/registries/menus/link_menu_registry.d.ts +2 -0
  435. package/dist/types/registries/menus/number_format_menu_registry.d.ts +7 -0
  436. package/dist/types/registries/menus/row_menu_registry.d.ts +2 -0
  437. package/dist/types/registries/menus/sheet_menu_registry.d.ts +5 -0
  438. package/dist/types/registries/menus/table_style_menu_registry.d.ts +3 -0
  439. package/dist/types/registries/menus/topbar_menu_registry.d.ts +2 -0
  440. package/dist/types/registries/ot_registry.d.ts +21 -0
  441. package/dist/types/registries/registry.d.ts +44 -0
  442. package/dist/types/registries/repeat_commands_registry.d.ts +19 -0
  443. package/dist/types/registries/side_panel_registry.d.ts +14 -0
  444. package/dist/types/registries/side_panel_registry_entries.d.ts +1 -0
  445. package/dist/types/registries/topbar_component_registry.d.ts +20 -0
  446. package/dist/types/selection_stream/event_stream.d.ts +65 -0
  447. package/dist/types/selection_stream/selection_stream_processor.d.ts +154 -0
  448. package/dist/types/state_observer.d.ts +17 -0
  449. package/dist/types/store_engine/dependency_container.d.ts +25 -0
  450. package/dist/types/store_engine/index.d.ts +3 -0
  451. package/dist/types/store_engine/store.d.ts +72 -0
  452. package/dist/types/store_engine/store_hooks.d.ts +18 -0
  453. package/dist/types/stores/DOM_focus_store.d.ts +6 -0
  454. package/dist/types/stores/array_formula_highlight.d.ts +14 -0
  455. package/dist/types/stores/grid_renderer_store.d.ts +36 -0
  456. package/dist/types/stores/highlight_store.d.ts +16 -0
  457. package/dist/types/stores/index.d.ts +2 -0
  458. package/dist/types/stores/model_store.d.ts +2 -0
  459. package/dist/types/stores/notification_store.d.ts +13 -0
  460. package/dist/types/stores/renderer_store.d.ts +12 -0
  461. package/dist/types/stores/spreadsheet_store.d.ts +13 -0
  462. package/dist/types/translation.d.ts +21 -0
  463. package/dist/types/types/autofill.d.ts +71 -0
  464. package/dist/types/types/cell_popovers.d.ts +50 -0
  465. package/dist/types/types/cells.d.ts +64 -0
  466. package/dist/types/types/chart/bar_chart.d.ts +12 -0
  467. package/dist/types/types/chart/chart.d.ts +114 -0
  468. package/dist/types/types/chart/combo_chart.d.ts +15 -0
  469. package/dist/types/types/chart/common_bar_combo.d.ts +14 -0
  470. package/dist/types/types/chart/common_chart.d.ts +2 -0
  471. package/dist/types/types/chart/gauge_chart.d.ts +83 -0
  472. package/dist/types/types/chart/index.d.ts +7 -0
  473. package/dist/types/types/chart/line_chart.d.ts +24 -0
  474. package/dist/types/types/chart/pie_chart.d.ts +21 -0
  475. package/dist/types/types/chart/pyramid_chart.d.ts +10 -0
  476. package/dist/types/types/chart/scatter_chart.d.ts +5 -0
  477. package/dist/types/types/chart/scorecard_chart.d.ts +33 -0
  478. package/dist/types/types/chart/waterfall_chart.d.ts +27 -0
  479. package/dist/types/types/clipboard.d.ts +45 -0
  480. package/dist/types/types/collaborative/revisions.d.ts +7 -0
  481. package/dist/types/types/collaborative/session.d.ts +46 -0
  482. package/dist/types/types/collaborative/transport_service.d.ts +91 -0
  483. package/dist/types/types/commands.d.ts +833 -0
  484. package/dist/types/types/conditional_formatting.d.ts +113 -0
  485. package/dist/types/types/currency.d.ts +7 -0
  486. package/dist/types/types/data_validation.d.ts +121 -0
  487. package/dist/types/types/env.d.ts +29 -0
  488. package/dist/types/types/errors.d.ts +36 -0
  489. package/dist/types/types/event_stream/index.d.ts +1 -0
  490. package/dist/types/types/event_stream/selection_events.d.ts +11 -0
  491. package/dist/types/types/figure.d.ts +18 -0
  492. package/dist/types/types/files.d.ts +27 -0
  493. package/dist/types/types/find_and_replace.d.ts +8 -0
  494. package/dist/types/types/format.d.ts +8 -0
  495. package/dist/types/types/functions.d.ts +50 -0
  496. package/dist/types/types/getters.d.ts +102 -0
  497. package/dist/types/types/history.d.ts +43 -0
  498. package/dist/types/types/image.d.ts +16 -0
  499. package/dist/types/types/index.d.ts +39 -0
  500. package/dist/types/types/locale.d.ts +14 -0
  501. package/dist/types/types/misc.d.ts +312 -0
  502. package/dist/types/types/pivot.d.ts +136 -0
  503. package/dist/types/types/pivot_runtime.d.ts +31 -0
  504. package/dist/types/types/range.d.ts +21 -0
  505. package/dist/types/types/rendering.d.ts +95 -0
  506. package/dist/types/types/table.d.ts +65 -0
  507. package/dist/types/types/validator.d.ts +16 -0
  508. package/dist/types/types/workbook_data.d.ts +147 -0
  509. package/dist/types/types/xlsx.d.ts +502 -0
  510. package/dist/types/xlsx/constants.d.ts +74 -0
  511. package/dist/types/xlsx/conversion/cf_conversion.d.ts +4 -0
  512. package/dist/types/xlsx/conversion/color_conversion.d.ts +31 -0
  513. package/dist/types/xlsx/conversion/conversion_maps.d.ts +186 -0
  514. package/dist/types/xlsx/conversion/data_validation_conversion.d.ts +4 -0
  515. package/dist/types/xlsx/conversion/figure_conversion.d.ts +3 -0
  516. package/dist/types/xlsx/conversion/format_conversion.d.ts +8 -0
  517. package/dist/types/xlsx/conversion/formula_conversion.d.ts +9 -0
  518. package/dist/types/xlsx/conversion/index.d.ts +7 -0
  519. package/dist/types/xlsx/conversion/sheet_conversion.d.ts +4 -0
  520. package/dist/types/xlsx/conversion/style_conversion.d.ts +19 -0
  521. package/dist/types/xlsx/conversion/table_conversion.d.ts +8 -0
  522. package/dist/types/xlsx/extraction/base_extractor.d.ts +142 -0
  523. package/dist/types/xlsx/extraction/cf_extractor.d.ts +14 -0
  524. package/dist/types/xlsx/extraction/chart_extractor.d.ts +14 -0
  525. package/dist/types/xlsx/extraction/data_validation_extractor.d.ts +9 -0
  526. package/dist/types/xlsx/extraction/external_book_extractor.d.ts +6 -0
  527. package/dist/types/xlsx/extraction/figure_extractor.d.ts +10 -0
  528. package/dist/types/xlsx/extraction/index.d.ts +3 -0
  529. package/dist/types/xlsx/extraction/misc_extractor.d.ts +18 -0
  530. package/dist/types/xlsx/extraction/pivot_extractor.d.ts +10 -0
  531. package/dist/types/xlsx/extraction/sheet_extractor.d.ts +26 -0
  532. package/dist/types/xlsx/extraction/style_extractor.d.ts +19 -0
  533. package/dist/types/xlsx/extraction/table_extractor.d.ts +10 -0
  534. package/dist/types/xlsx/functions/cells.d.ts +11 -0
  535. package/dist/types/xlsx/functions/charts.d.ts +3 -0
  536. package/dist/types/xlsx/functions/conditional_formatting.d.ts +3 -0
  537. package/dist/types/xlsx/functions/data_validation.d.ts +3 -0
  538. package/dist/types/xlsx/functions/drawings.d.ts +5 -0
  539. package/dist/types/xlsx/functions/styles.d.ts +10 -0
  540. package/dist/types/xlsx/functions/table.d.ts +2 -0
  541. package/dist/types/xlsx/functions/worksheet.d.ts +10 -0
  542. package/dist/types/xlsx/helpers/colors.d.ts +8 -0
  543. package/dist/types/xlsx/helpers/content_helpers.d.ts +58 -0
  544. package/dist/types/xlsx/helpers/misc.d.ts +34 -0
  545. package/dist/types/xlsx/helpers/xlsx_helper.d.ts +10 -0
  546. package/dist/types/xlsx/helpers/xlsx_parser_error_manager.d.ts +38 -0
  547. package/dist/types/xlsx/helpers/xml_helpers.d.ts +36 -0
  548. package/dist/types/xlsx/xlsx_reader.d.ts +13 -0
  549. package/dist/types/xlsx/xlsx_writer.d.ts +19 -0
  550. package/package.json +43 -23
  551. package/dist/o-spreadsheet.d.ts +0 -12439
@@ -0,0 +1,150 @@
1
+ import { CellPosition, Position, UnboundedZone, Zone, ZoneDimension } from "../types";
2
+ /**
3
+ * Convert from a cartesian reference to a (possibly unbounded) Zone
4
+ *
5
+ * Examples:
6
+ * "A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
7
+ * "B1:B3" ==> Top 0, Bottom 3, Left: 1, Right: 1
8
+ * "B:B" ==> Top 0, Bottom undefined, Left: 1, Right: 1
9
+ * "B2:B" ==> Top 1, Bottom undefined, Left: 1, Right: 1, hasHeader: 1
10
+ * "Sheet1!A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
11
+ * "Sheet1!B1:B3" ==> Top 0, Bottom 3, Left: 1, Right: 1
12
+ *
13
+ * @param xc the string reference to convert
14
+ *
15
+ */
16
+ export declare function toUnboundedZone(xc: string): UnboundedZone;
17
+ /**
18
+ * Convert from a cartesian reference to a Zone.
19
+ * Will return throw an error if given a unbounded zone (eg : A:A).
20
+ *
21
+ * Examples:
22
+ * "A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
23
+ * "B1:B3" ==> Top 0, Bottom 2, Left: 1, Right: 1
24
+ * "Sheet1!A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
25
+ * "Sheet1!B1:B3" ==> Top 0, Bottom 2, Left: 1, Right: 1
26
+ *
27
+ * @param xc the string reference to convert
28
+ *
29
+ */
30
+ export declare function toZone(xc: string): Zone;
31
+ export declare function isXcValid(xc: string): boolean;
32
+ /**
33
+ * Check that the zone has valid coordinates and in
34
+ * the correct order.
35
+ */
36
+ export declare function isZoneValid(zone: Zone | UnboundedZone): boolean;
37
+ /**
38
+ * Check that the zone properties are in the correct order.
39
+ */
40
+ export declare function isZoneOrdered(zone: Zone | UnboundedZone): boolean;
41
+ /**
42
+ * Convert from zone to a cartesian reference
43
+ *
44
+ */
45
+ export declare function zoneToXc(zone: Zone | UnboundedZone): string;
46
+ /**
47
+ * Expand a zone after inserting columns or rows.
48
+ *
49
+ * Don't resize the zone if a col/row was added right before/after the row but only move the zone.
50
+ */
51
+ export declare function expandZoneOnInsertion<Z extends UnboundedZone | Zone>(zone: Z, start: "left" | "top", base: number, position: "after" | "before", quantity: number): Z;
52
+ /**
53
+ * Update the selection after column/row addition
54
+ */
55
+ export declare function updateSelectionOnInsertion(selection: Zone, start: "left" | "top", base: number, position: "after" | "before", quantity: number): Zone;
56
+ /**
57
+ * Update the selection after column/row deletion
58
+ */
59
+ export declare function updateSelectionOnDeletion(zone: Zone, start: "left" | "top", elements: number[]): Zone;
60
+ /**
61
+ * Reduce a zone after deletion of elements
62
+ */
63
+ export declare function reduceZoneOnDeletion<Z extends UnboundedZone | Zone>(zone: Z, start: "left" | "top", elements: number[]): Z | undefined;
64
+ /**
65
+ * Compute the union of multiple zones.
66
+ */
67
+ export declare function union(...zones: Zone[]): Zone;
68
+ /**
69
+ * Compute the union of multiple unbounded zones.
70
+ */
71
+ export declare function unionUnboundedZones(...zones: UnboundedZone[]): UnboundedZone;
72
+ /**
73
+ * Compute the intersection of two zones. Returns nothing if the two zones don't overlap
74
+ */
75
+ export declare function intersection(z1: Zone, z2: Zone): Zone | undefined;
76
+ /**
77
+ * Two zones are equal if they represent the same area, so we clearly cannot use
78
+ * reference equality.
79
+ */
80
+ export declare function isEqual(z1: Zone, z2: Zone): boolean;
81
+ /**
82
+ * Return true if two zones overlap, false otherwise.
83
+ */
84
+ export declare function overlap(z1: Zone, z2: Zone): boolean;
85
+ export declare function isInside(col: number, row: number, zone: Zone): boolean;
86
+ /**
87
+ * Check if a zone is inside another
88
+ */
89
+ export declare function isZoneInside(smallZone: Zone, biggerZone: Zone): boolean;
90
+ export declare function zoneToDimension(zone: Zone): ZoneDimension;
91
+ export declare function isOneDimensional(zone: Zone): boolean;
92
+ export declare function excludeTopLeft(zone: Zone): Zone[];
93
+ export declare function aggregatePositionsToZones(positions: Iterable<CellPosition>): {
94
+ [sheetId: string]: Zone[];
95
+ };
96
+ /**
97
+ * Array of all positions in the zone.
98
+ */
99
+ export declare function positions(zone: Zone): Position[];
100
+ export declare function reorderZone<Z extends UnboundedZone | Zone>(zone: Z): Z;
101
+ /**
102
+ * This function returns a zone with coordinates modified according to the change
103
+ * applied to the zone. It may be possible to change the zone by resizing or moving
104
+ * it according to different dimensions.
105
+ *
106
+ * @param zone the zone to modify
107
+ * @param dimension the direction to change the zone among "columns", "rows" and
108
+ * "both"
109
+ * @param operation how to change the zone, modify its size "RESIZE" or modify
110
+ * its location "MOVE"
111
+ * @param by a number of how many units the change should be made. This parameter
112
+ * takes the form of a two-number array when the dimension is "both"
113
+ */
114
+ export declare function createAdaptedZone<Dimension extends "columns" | "rows" | "both", Z extends UnboundedZone | Zone>(zone: Z, dimension: Dimension, operation: "MOVE" | "RESIZE", by: Dimension extends "both" ? [number, number] : number): Z;
115
+ /**
116
+ * Returns a Zone array with unique occurrence of each zone.
117
+ * For each multiple occurrence, the occurrence with the largest index is kept.
118
+ * This allows to always have the last selection made in the last position.
119
+ * */
120
+ export declare function uniqueZones(zones: Zone[]): Zone[];
121
+ /**
122
+ * This function will find all overlapping zones in an array and transform them
123
+ * into an union of each one.
124
+ * */
125
+ export declare function mergeOverlappingZones(zones: Zone[]): Zone[];
126
+ /**
127
+ * This function will compare the modifications of selection to determine
128
+ * a cell that is part of the new zone and not the previous one.
129
+ */
130
+ export declare function findCellInNewZone(oldZone: Zone, currentZone: Zone): Position;
131
+ export declare function positionToZone(position: Position): Zone;
132
+ /** Transform a zone into a zone with only its top-left position */
133
+ export declare function zoneToTopLeft(zone: Zone): Zone;
134
+ export declare function isFullRow(zone: UnboundedZone): boolean;
135
+ /** Returns the area of a zone */
136
+ export declare function getZoneArea(zone: Zone): number;
137
+ /**
138
+ * Check if the zones are continuous, ie. if they can be merged into a single zone without
139
+ * including cells outside the zones
140
+ * */
141
+ export declare function areZonesContinuous(zones: Zone[]): boolean;
142
+ /** Return all the columns in the given list of zones */
143
+ export declare function getZonesCols(zones: Zone[]): Set<number>;
144
+ /** Return all the rows in the given list of zones */
145
+ export declare function getZonesRows(zones: Zone[]): Set<number>;
146
+ export declare function unionPositionsToZone(positions: Position[]): Zone;
147
+ /**
148
+ * Merge contiguous and overlapping zones that are in the array into bigger zones
149
+ */
150
+ export declare function mergeContiguousZones(zones: Zone[]): Zone[];
@@ -0,0 +1,62 @@
1
+ import { Transformation, TransformationFactory, UID } from "../types";
2
+ import { Operation } from "./operation";
3
+ /**
4
+ * A branch holds a sequence of operations.
5
+ * It can be represented as "A - B - C - D" if A, B, C and D are executed one
6
+ * after the other.
7
+ *
8
+ * @param buildTransformation Factory to build transformations
9
+ * @param operations initial operations
10
+ */
11
+ export declare class Branch<T> {
12
+ private readonly buildTransformation;
13
+ private operations;
14
+ constructor(buildTransformation: TransformationFactory<T>, operations?: Operation<T>[]);
15
+ getOperations(): readonly Operation<T>[];
16
+ getOperation(operationId: UID): Operation<T>;
17
+ getLastOperationId(): UID | undefined;
18
+ /**
19
+ * Get the id of the operation appears first in the list of operations
20
+ */
21
+ getFirstOperationAmong(op1: UID, op2: UID): UID;
22
+ contains(operationId: UID): boolean;
23
+ /**
24
+ * Add the given operation as the first operation
25
+ */
26
+ prepend(operation: Operation<T>): void;
27
+ /**
28
+ * add the given operation after the given predecessorOpId
29
+ */
30
+ insert(newOperation: Operation<T>, predecessorOpId: UID): void;
31
+ /**
32
+ * Add the given operation as the last operation
33
+ */
34
+ append(operation: Operation<T>): void;
35
+ /**
36
+ * Append operations in the given branch to this branch.
37
+ */
38
+ appendBranch(branch: Branch<T>): void;
39
+ /**
40
+ * Create and return a copy of this branch, starting after the given operationId
41
+ */
42
+ fork(operationId: UID): Branch<T>;
43
+ /**
44
+ * Transform all the operations in this branch with the given transformation
45
+ */
46
+ transform(transformation: Transformation<T>): void;
47
+ /**
48
+ * Cut the branch before the operation, meaning the operation
49
+ * and all following operations are dropped.
50
+ */
51
+ cutBefore(operationId: UID): void;
52
+ /**
53
+ * Cut the branch after the operation, meaning all following operations are dropped.
54
+ */
55
+ cutAfter(operationId: UID): void;
56
+ /**
57
+ * Find an operation in this branch based on its id.
58
+ * This returns the operation itself, operations which comes before it
59
+ * and operation which comes after it.
60
+ */
61
+ private locateOperation;
62
+ }
@@ -0,0 +1,9 @@
1
+ import { Revision } from "../collaborative/revisions";
2
+ import { StateObserver } from "../state_observer";
3
+ import { CoreCommand, UID } from "../types";
4
+ import { SelectiveHistory } from "./selective_history";
5
+ export declare function buildRevisionLog(args: {
6
+ initialRevisionId: UID;
7
+ recordChanges: StateObserver["recordChanges"];
8
+ dispatch: (command: CoreCommand) => void;
9
+ }): SelectiveHistory<Revision>;
@@ -0,0 +1,17 @@
1
+ import { Transformation, UID } from "../types";
2
+ /**
3
+ * An Operation can be executed to change a data structure from state A
4
+ * to state B.
5
+ * It should hold the necessary data used to perform this transition.
6
+ * It should be possible to revert the changes made by this operation.
7
+ *
8
+ * In the context of o-spreadsheet, the data from an operation would
9
+ * be a revision (the commands are used to execute it, the `changes` are used
10
+ * to revert it).
11
+ */
12
+ export declare class Operation<T> {
13
+ readonly id: UID;
14
+ readonly data: T;
15
+ constructor(id: UID, data: T);
16
+ transformed(transformation: Transformation<T>): Operation<T>;
17
+ }
@@ -0,0 +1,31 @@
1
+ import { OperationSequenceNode, UID } from "../types";
2
+ /**
3
+ * An execution object is a sequence of executionSteps (each execution step is an operation in a branch).
4
+ *
5
+ * You can iterate over the steps of an execution
6
+ * ```js
7
+ * for (const operation of execution) {
8
+ * // ... do something
9
+ * }
10
+ * ```
11
+ */
12
+ export declare class OperationSequence<T> implements Iterable<OperationSequenceNode<T>> {
13
+ private readonly operations;
14
+ constructor(operations: Iterable<OperationSequenceNode<T>>);
15
+ [Symbol.iterator](): Iterator<OperationSequenceNode<T>, void>;
16
+ /**
17
+ * Stop the operation sequence at a given operation
18
+ * @param operationId included
19
+ */
20
+ stopWith(operationId: UID): OperationSequence<T>;
21
+ /**
22
+ * Stop the operation sequence before a given operation
23
+ * @param operationId excluded
24
+ */
25
+ stopBefore(operationId: UID): OperationSequence<T>;
26
+ /**
27
+ * Start the operation sequence at a given operation
28
+ * @param operationId excluded
29
+ */
30
+ startAfter(operationId: UID): OperationSequence<T>;
31
+ }
@@ -0,0 +1,7 @@
1
+ import { Command, Getters } from "../../types";
2
+ export declare const genericRepeatsTransforms: (typeof repeatSheetDependantCommand)[];
3
+ export declare function repeatSheetDependantCommand<T extends Command>(getters: Getters, command: T): T;
4
+ export declare function repeatTargetDependantCommand<T extends Command>(getters: Getters, command: T): T;
5
+ export declare function repeatZoneDependantCommand<T extends Command>(getters: Getters, command: T): T;
6
+ export declare function repeatPositionDependantCommand<T extends Command>(getters: Getters, command: T): T;
7
+ export declare function repeatRangeDependantCommand<T extends Command>(getters: Getters, command: T): T;
@@ -0,0 +1,13 @@
1
+ import { Getters } from "../../types";
2
+ import { AddColumnsRowsCommand, AutoresizeColumnsCommand, AutoresizeRowsCommand, CreateChartCommand, CreateFigureCommand, CreateImageOverCommand, CreateSheetCommand, DeleteCellCommand, GroupHeadersCommand, HideColumnsRowsCommand, InsertCellCommand, PasteCommand, RemoveColumnsRowsCommand, RepeatPasteCommand, ResizeColumnsRowsCommand, SortCommand, UnGroupHeadersCommand } from "./../../types/commands";
3
+ export declare function repeatCreateChartCommand(getters: Getters, cmd: CreateChartCommand): CreateChartCommand;
4
+ export declare function repeatCreateImageCommand(getters: Getters, cmd: CreateImageOverCommand): CreateImageOverCommand;
5
+ export declare function repeatCreateFigureCommand(getters: Getters, cmd: CreateFigureCommand): CreateFigureCommand;
6
+ export declare function repeatCreateSheetCommand(getters: Getters, cmd: CreateSheetCommand): CreateSheetCommand;
7
+ export declare function repeatAddColumnsRowsCommand(getters: Getters, cmd: AddColumnsRowsCommand): AddColumnsRowsCommand;
8
+ export declare function repeatHeaderElementCommand<T extends RemoveColumnsRowsCommand | HideColumnsRowsCommand | ResizeColumnsRowsCommand>(getters: Getters, cmd: T): T;
9
+ export declare function repeatInsertOrDeleteCellCommand<T extends InsertCellCommand | DeleteCellCommand>(getters: Getters, cmd: T): T;
10
+ export declare function repeatAutoResizeCommand<T extends AutoresizeColumnsCommand | AutoresizeRowsCommand>(getters: Getters, cmd: T): T;
11
+ export declare function repeatSortCellsCommand(getters: Getters, cmd: SortCommand): SortCommand;
12
+ export declare function repeatPasteCommand(getters: Getters, cmd: PasteCommand): RepeatPasteCommand;
13
+ export declare function repeatGroupHeadersCommand<T extends GroupHeadersCommand | UnGroupHeadersCommand>(getters: Getters, cmd: T): T;
@@ -0,0 +1,5 @@
1
+ import { Revision } from "../../collaborative/revisions";
2
+ import { CoreCommand, Getters } from "../../types";
3
+ import { Command } from "../../types/commands";
4
+ export declare function canRepeatRevision(revision: Revision | undefined): boolean;
5
+ export declare function repeatRevision(revision: Revision, getters: Getters): CoreCommand[] | Command | undefined;
@@ -0,0 +1,80 @@
1
+ import { TransformationFactory, UID } from "../types";
2
+ export declare class SelectiveHistory<T = unknown> {
3
+ private HEAD_BRANCH;
4
+ private HEAD_OPERATION;
5
+ private tree;
6
+ private readonly applyOperation;
7
+ private readonly revertOperation;
8
+ private readonly buildEmpty;
9
+ private readonly buildTransformation;
10
+ /**
11
+ * The selective history is a data structure used to register changes/updates of a state.
12
+ * Each change/update is called an "operation".
13
+ * The data structure allows to easily cancel (and redo) any operation individually.
14
+ * An operation can be represented by any data structure. It can be a "command", a "diff", etc.
15
+ * However it must have the following properties:
16
+ * - it can be applied to modify the state
17
+ * - it can be reverted on the state such that it was never executed.
18
+ * - it can be transformed given other operation (Operational Transformation)
19
+ *
20
+ * Since this data structure doesn't know anything about the state nor the structure of
21
+ * operations, the actual work must be performed by external functions given as parameters.
22
+ * @param initialOperationId
23
+ * @param applyOperation a function which can apply an operation to the state
24
+ * @param revertOperation a function which can revert an operation from the state
25
+ * @param buildEmpty a function returning an "empty" operation.
26
+ * i.e an operation that leaves the state unmodified once applied or reverted
27
+ * (used for internal implementation)
28
+ * @param buildTransformation Factory used to build transformations
29
+ */
30
+ constructor(args: {
31
+ initialOperationId: UID;
32
+ applyOperation: (data: T) => void;
33
+ revertOperation: (data: T) => void;
34
+ buildEmpty: (id: UID) => T;
35
+ buildTransformation: TransformationFactory<T>;
36
+ });
37
+ /**
38
+ * Return the operation identified by its id.
39
+ */
40
+ get(operationId: UID): T;
41
+ /**
42
+ * Append a new operation as the last one
43
+ */
44
+ append(operationId: UID, data: T): void;
45
+ /**
46
+ * Insert a new operation after a specific operation (may not be the last operation).
47
+ * Following operations will be transformed according
48
+ * to the new operation.
49
+ */
50
+ insert(operationId: UID, data: T, insertAfter: UID): void;
51
+ /**
52
+ * @param operationId operation to undo
53
+ * @param undoId the id of the "undo operation"
54
+ * @param insertAfter the id of the operation after which to insert the undo
55
+ */
56
+ undo(operationId: UID, undoId: UID, insertAfter: UID): void;
57
+ /**
58
+ * @param operationId operation to redo
59
+ * @param redoId the if of the "redo operation"
60
+ * @param insertAfter the id of the operation after which to insert the redo
61
+ */
62
+ redo(operationId: UID, redoId: UID, insertAfter: UID): void;
63
+ rebase(operationId: UID): void;
64
+ /**
65
+ * Revert the state as it was *before* the given operation was executed.
66
+ */
67
+ private revertBefore;
68
+ /**
69
+ * Revert the state as it was *after* the given operation was executed.
70
+ */
71
+ private revertTo;
72
+ /**
73
+ * Revert an execution
74
+ */
75
+ private revert;
76
+ /**
77
+ * Replay the operations between the current HEAD_BRANCH and the end of the tree
78
+ */
79
+ private fastForward;
80
+ }
@@ -0,0 +1,175 @@
1
+ import { OperationSequenceNode, TransformationFactory, UID } from "../types";
2
+ import { Branch } from "./branch";
3
+ import { Operation } from "./operation";
4
+ import { OperationSequence } from "./operation_sequence";
5
+ /**
6
+ * The tree is a data structure used to maintain the different branches of the
7
+ * SelectiveHistory.
8
+ *
9
+ * Branches can be "stacked" on each other and an execution path can be derived
10
+ * from any stack of branches. The rules to derive this path is explained below.
11
+ *
12
+ * An operation can be cancelled/undone by inserting a new branch below
13
+ * this operation.
14
+ * e.g
15
+ * Given the branch A B C
16
+ * To undo B, a new branching branch is inserted at operation B.
17
+ * ```txt
18
+ * A B C D
19
+ * > C' D'
20
+ * ```
21
+ * A new execution path can now be derived. At each operation:
22
+ * - if there is a lower branch, don't execute it and go to the operation below
23
+ * - if not, execute it and go to the operation on the right.
24
+ * The execution path is A C' D'
25
+ * Operation C and D have been adapted (transformed) in the lower branch
26
+ * since operation B is not executed in this branch.
27
+ *
28
+ */
29
+ export declare class Tree<T = unknown> {
30
+ private readonly buildTransformation;
31
+ private readonly branches;
32
+ private branchingOperationIds;
33
+ constructor(buildTransformation: TransformationFactory<T>, initialBranch: Branch<T>);
34
+ /**
35
+ * Return the last branch of the entire stack of branches.
36
+ */
37
+ getLastBranch(): Branch<T>;
38
+ /**
39
+ * Return the sequence of operations from this branch
40
+ * until the very last branch.
41
+ */
42
+ execution(branch: Branch<T>): OperationSequence<T>;
43
+ /**
44
+ * Return the sequence of operations from this branch
45
+ * to the very first branch.
46
+ */
47
+ revertedExecution(branch: Branch<T>): OperationSequence<T>;
48
+ /**
49
+ * Append an operation to the end of the tree.
50
+ * Also insert the (transformed) operation in all previous branches.
51
+ *
52
+ * Adding operation `D` to the last branch
53
+ * ```txt
54
+ * A1 B1 C1
55
+ * > B2 C2
56
+ * ```
57
+ * will give
58
+ * ```txt
59
+ * A1 B1 C1 D' with D' = D transformed with A1
60
+ * > B2 C2 D
61
+ * ```
62
+ */
63
+ insertOperationLast(branch: Branch<T>, operation: Operation<T>): void;
64
+ /**
65
+ * Insert a new operation after an other operation.
66
+ * The operation will be inserted in this branch, in next branches (transformed)
67
+ * and in previous branches (also transformed).
68
+ *
69
+ * Given
70
+ * ```txt
71
+ * 1: A1 B1 C1
72
+ * 2: > B2 C2
73
+ * 3: > C3
74
+ * ```
75
+ * Inserting D to branch 2 gives
76
+ * ```txt
77
+ * 1: A1 B1 C1 D1 D1 = D transformed with A1
78
+ * 2: > B2 C2 D with D = D
79
+ * 3: > C3 D2 D2 = D transformed without B2 (B2⁻¹)
80
+ * ```
81
+ */
82
+ insertOperationAfter(branch: Branch<T>, operation: Operation<T>, predecessorOpId: UID): void;
83
+ /**
84
+ * Create a new branching branch at the given operation.
85
+ * This cancels the operation from the execution path.
86
+ */
87
+ undo(branch: Branch<T>, operation: Operation<T>): void;
88
+ /**
89
+ * Remove the branch just after this one. This un-cancels (redo) the branching
90
+ * operation. Lower branches will be transformed accordingly.
91
+ *
92
+ * Given
93
+ * ```txt
94
+ * 1: A1 B1 C1
95
+ * 2: > B2 C2
96
+ * 3: > C3
97
+ * ```
98
+ * removing the next branch of 1 gives
99
+ *
100
+ * ```txt
101
+ * 1: A1 B1 C1
102
+ * 2: > C3' with C3' = C1 transformed without B1 (B1⁻¹)
103
+ * ```
104
+ */
105
+ redo(branch: Branch<T>): void;
106
+ /**
107
+ * Drop the operation and all following operations in every
108
+ * branches
109
+ */
110
+ drop(operationId: UID): void;
111
+ /**
112
+ * Find the operation in the execution path.
113
+ */
114
+ findOperation(branch: Branch<T>, operationId: UID): OperationSequenceNode<T>;
115
+ /**
116
+ * Rebuild transformed operations of this branch based on the upper branch.
117
+ *
118
+ * Given the following structure:
119
+ * ```txt
120
+ * 1: A1 B1 C1
121
+ * 2: > B2 C2
122
+ * 3: > C3
123
+ * ```
124
+ * Rebasing branch "2" gives
125
+ * ```txt
126
+ * 1: A1 B1 C1
127
+ * 2: > B2' C2' With B2' = B1 transformed without A1 and C2' = C1 transformed without A1
128
+ * 3: > C3' C3' = C2' transformed without B2'
129
+ * ```
130
+ */
131
+ private rebaseUp;
132
+ private removeBranchFromTree;
133
+ private insertBranchAfter;
134
+ /**
135
+ * Update the branching branch of this branch, either by (1) inserting the new
136
+ * operation in it or (2) by transforming it.
137
+ * (1) If the operation is positioned before the branching branch, the branching
138
+ * branch should be transformed with this operation.
139
+ * (2) If it's positioned after, the operation should be inserted in the
140
+ * branching branch.
141
+ */
142
+ private updateNextWith;
143
+ private addToNextBranch;
144
+ private getTransformedOperation;
145
+ /**
146
+ * Check if this branch should execute the given operation.
147
+ * i.e. If the operation is not cancelled by a branching branch.
148
+ */
149
+ private shouldExecute;
150
+ private transform;
151
+ /**
152
+ * Insert a new operation in previous branches. The operations which are
153
+ * positioned after the inserted operations are transformed with the newly
154
+ * inserted operations. This one is also transformed, with the branching
155
+ * operation.
156
+ */
157
+ private insertPrevious;
158
+ private findPreviousBranchingOperation;
159
+ /**
160
+ * Retrieve the next branch of the given branch
161
+ */
162
+ private nextBranch;
163
+ /**
164
+ * Retrieve the previous branch of the given branch
165
+ */
166
+ private previousBranch;
167
+ /**
168
+ * Yields the sequence of operations to execute, in reverse order.
169
+ */
170
+ private _revertedExecution;
171
+ /**
172
+ * Yields the sequence of operations to execute
173
+ */
174
+ private _execution;
175
+ }