@odoo/o-spreadsheet 18.0.55 → 18.0.68

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 +45 -25
  551. package/dist/o-spreadsheet.d.ts +0 -12439
@@ -0,0 +1,83 @@
1
+ import { CommandResult, CoreCommand, ExcelWorkbookData, UID, WorkbookData } from "../../types";
2
+ import { Dimension, HeaderGroup, HeaderIndex, Zone } from "./../../types/misc";
3
+ import { CorePlugin } from "./../core_plugin";
4
+ interface State {
5
+ groups: Record<UID, Record<Dimension, HeaderGroup[]>>;
6
+ }
7
+ export declare class HeaderGroupingPlugin extends CorePlugin<State> {
8
+ static getters: readonly ["getHeaderGroups", "getGroupsLayers", "getVisibleGroupLayers", "getHeaderGroup", "getHeaderGroupsInZone", "isGroupFolded", "isRowFolded", "isColFolded"];
9
+ private readonly groups;
10
+ allowDispatch(cmd: CoreCommand): CommandResult;
11
+ handle(cmd: CoreCommand): void;
12
+ getHeaderGroups(sheetId: UID, dim: Dimension): HeaderGroup[];
13
+ getHeaderGroup(sheetId: UID, dim: Dimension, start: number, end: number): HeaderGroup | undefined;
14
+ getHeaderGroupsInZone(sheetId: UID, dim: Dimension, zone: Zone): HeaderGroup[];
15
+ /**
16
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups.
17
+ *
18
+ * The layering rules are:
19
+ * 1) A group containing another group should be on a layer above the group it contains
20
+ * 2) The widest/highest groups should be on the left/top layer compared to the groups it contains
21
+ * 3) The group should be on the left/top-most layer possible, barring intersections with other groups (see rules 1 and 2)
22
+ */
23
+ getGroupsLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
24
+ /**
25
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups,
26
+ * excluding the groups that are totally hidden.
27
+ */
28
+ getVisibleGroupLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
29
+ isGroupFolded(sheetId: UID, dimension: Dimension, start: number, end: number): boolean;
30
+ isRowFolded(sheetId: UID, row: HeaderIndex): boolean;
31
+ isColFolded(sheetId: UID, col: HeaderIndex): boolean;
32
+ private getGroupId;
33
+ /**
34
+ * To get layers of groups, and to add/remove headers from groups, we can see each header of a group as a brick. Each
35
+ * brick falls down in the pile corresponding to its header, until it hits another brick, or the ground.
36
+ *
37
+ * With this abstraction, we can very simply group/ungroup headers from groups, and get the layers of groups.
38
+ * - grouping headers is done by adding a brick to each header pile
39
+ * - un-grouping headers is done by removing a brick from each header pile
40
+ * - getting the layers of groups is done by simply letting the brick fall and checking the result
41
+ *
42
+ * Example:
43
+ * We have 2 groups ([A=>E] and [C=>D]), and we want to group headers [C=>F]
44
+ *
45
+ * Headers : A B C D E F G A B C D E F G A B C D E F G
46
+ * Headers to group: [C=>D]: _ _ [C=>F]: _ _ _ _
47
+ * | | ==> | | | | ==> ==> Result: 3 groups
48
+ * | | ˅ ˅ | | _ _ - [C=>D]
49
+ * Groups: ˅ ˅ _ _ ˅ | _ _ _ - [C=>E]
50
+ * Groups: _ _ _ _ _ _ _ _ _ _ ˅ _ _ _ _ _ _ - [A=>F]
51
+
52
+ * @param groups
53
+ * @param start start of the range where to add/remove headers
54
+ * @param end end of the range where to add/remove headers
55
+ * @param delta -1: remove headers, 1: add headers, 0: get layers (don't add/remove anything)
56
+ */
57
+ private bricksFallingAlgorithm;
58
+ private groupHeaders;
59
+ /**
60
+ * Ungroup the given headers. The headers will be taken out of the group they are in. This might split a group into two
61
+ * if the headers were in the middle of a group. If multiple groups contains a header, it will only be taken out of the
62
+ * lowest group in the layering of the groups.
63
+ */
64
+ private unGroupHeaders;
65
+ private moveGroupsOnHeaderInsertion;
66
+ private moveGroupsOnHeaderDeletion;
67
+ private doGroupOverlap;
68
+ private removeDuplicateGroups;
69
+ private findGroupWithStartEnd;
70
+ /**
71
+ * Fold the given group, and all the groups starting at the same index that are contained inside the given group.
72
+ */
73
+ private foldHeaderGroup;
74
+ /**
75
+ * Unfold the given group, and all the groups starting at the same index that contain the given group.
76
+ */
77
+ private unfoldHeaderGroup;
78
+ private getGroupIndex;
79
+ import(data: WorkbookData): void;
80
+ export(data: WorkbookData): void;
81
+ exportForExcel(data: ExcelWorkbookData): void;
82
+ }
83
+ export {};
@@ -0,0 +1,23 @@
1
+ import { Command, ExcelWorkbookData, WorkbookData } from "../../types";
2
+ import { Dimension, HeaderIndex, Pixel, UID } from "../../types/misc";
3
+ import { CorePlugin } from "../core_plugin";
4
+ interface HeaderSizeState {
5
+ sizes: Record<UID, Record<Dimension, Array<Pixel | undefined>>>;
6
+ }
7
+ export declare class HeaderSizePlugin extends CorePlugin<HeaderSizeState> implements HeaderSizeState {
8
+ static getters: readonly ["getUserRowSize", "getColSize"];
9
+ readonly sizes: Record<UID, Record<Dimension, Array<Pixel | undefined>>>;
10
+ handle(cmd: Command): void;
11
+ getColSize(sheetId: UID, index: HeaderIndex): Pixel;
12
+ getUserRowSize(sheetId: UID, index: HeaderIndex): Pixel | undefined;
13
+ import(data: WorkbookData): void;
14
+ exportForExcel(data: ExcelWorkbookData): void;
15
+ export(data: WorkbookData): void;
16
+ /**
17
+ * Export the header sizes
18
+ *
19
+ * @param exportDefaults : if true, export column/row sizes even if they have the default size
20
+ */
21
+ exportData(data: WorkbookData, exportDefaults?: boolean): void;
22
+ }
23
+ export {};
@@ -0,0 +1,20 @@
1
+ import { Command, CommandResult, ExcelWorkbookData, WorkbookData } from "../../types";
2
+ import { ConsecutiveIndexes, Dimension, HeaderIndex, UID } from "../../types/misc";
3
+ import { CorePlugin } from "../core_plugin";
4
+ export declare class HeaderVisibilityPlugin extends CorePlugin {
5
+ static getters: readonly ["checkElementsIncludeAllVisibleHeaders", "getHiddenColsGroups", "getHiddenRowsGroups", "isHeaderHiddenByUser", "isRowHiddenByUser", "isColHiddenByUser"];
6
+ private readonly hiddenHeaders;
7
+ allowDispatch(cmd: Command): CommandResult.Success | CommandResult.NotEnoughElements | CommandResult.InvalidSheetId | CommandResult.TooManyHiddenElements | CommandResult.InvalidHeaderIndex;
8
+ handle(cmd: Command): void;
9
+ checkElementsIncludeAllVisibleHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
10
+ isHeaderHiddenByUser(sheetId: UID, dimension: Dimension, index: HeaderIndex): boolean;
11
+ isRowHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
12
+ isColHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
13
+ getHiddenColsGroups(sheetId: UID): ConsecutiveIndexes[];
14
+ getHiddenRowsGroups(sheetId: UID): ConsecutiveIndexes[];
15
+ private getAllVisibleHeaders;
16
+ import(data: WorkbookData): void;
17
+ exportForExcel(data: ExcelWorkbookData): void;
18
+ export(data: WorkbookData): void;
19
+ exportData(data: WorkbookData, exportDefaults?: boolean): void;
20
+ }
@@ -0,0 +1,32 @@
1
+ import { FileStore } from "../../types/files";
2
+ import { Image } from "../../types/image";
3
+ import { CommandResult, CoreCommand, ExcelWorkbookData, FigureSize, UID, WorkbookData } from "../../types/index";
4
+ import { CorePlugin, CorePluginConfig } from "../core_plugin";
5
+ interface ImageState {
6
+ readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
7
+ }
8
+ export declare class ImagePlugin extends CorePlugin<ImageState> implements ImageState {
9
+ static getters: readonly ["getImage", "getImagePath", "getImageSize"];
10
+ readonly fileStore?: FileStore;
11
+ readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
12
+ /**
13
+ * paths of images synced with the file store server.
14
+ */
15
+ readonly syncedImages: Set<Image["path"]>;
16
+ constructor(config: CorePluginConfig);
17
+ allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.InvalidFigureId;
18
+ handle(cmd: CoreCommand): void;
19
+ /**
20
+ * Delete unused images from the file store
21
+ */
22
+ garbageCollectExternalResources(): void;
23
+ getImage(figureId: UID): Image;
24
+ getImagePath(figureId: UID): string;
25
+ getImageSize(figureId: UID): FigureSize;
26
+ private addImage;
27
+ import(data: WorkbookData): void;
28
+ export(data: WorkbookData): void;
29
+ exportForExcel(data: ExcelWorkbookData): void;
30
+ private getAllImages;
31
+ }
32
+ export {};
@@ -0,0 +1,13 @@
1
+ export * from "./borders";
2
+ export * from "./cell";
3
+ export * from "./chart";
4
+ export * from "./conditional_format";
5
+ export * from "./data_validation";
6
+ export * from "./figures";
7
+ export * from "./header_size";
8
+ export * from "./header_visibility";
9
+ export * from "./image";
10
+ export * from "./merge";
11
+ export * from "./range";
12
+ export * from "./sheet";
13
+ export * from "./tables";
@@ -0,0 +1,82 @@
1
+ import { ApplyRangeChange, CellPosition, CommandResult, CoreCommand, ExcelWorkbookData, HeaderIndex, Merge, Range, UID, WorkbookData, Zone } from "../../types/index";
2
+ import { CorePlugin } from "../core_plugin";
3
+ type SheetMergeCellMap = Record<number, Record<number, number | undefined> | undefined>;
4
+ interface MergeState {
5
+ readonly merges: Record<UID, Record<number, Range | undefined> | undefined>;
6
+ readonly mergeCellMap: Record<UID, SheetMergeCellMap | undefined>;
7
+ }
8
+ export declare class MergePlugin extends CorePlugin<MergeState> implements MergeState {
9
+ static getters: readonly ["isInMerge", "isInSameMerge", "isMergeHidden", "getMainCellPosition", "expandZone", "doesIntersectMerge", "doesColumnsHaveCommonMerges", "doesRowsHaveCommonMerges", "getMerges", "getMerge", "getMergesInZone", "isSingleCellOrMerge", "getSelectionRangeString", "isMainCellPosition"];
10
+ private nextId;
11
+ readonly merges: Record<UID, Record<number, Range | undefined> | undefined>;
12
+ readonly mergeCellMap: Record<UID, SheetMergeCellMap | undefined>;
13
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
14
+ handle(cmd: CoreCommand): void;
15
+ adaptRanges(applyChange: ApplyRangeChange, sheetId?: UID): void;
16
+ getMerges(sheetId: UID): Merge[];
17
+ getMerge({ sheetId, col, row }: CellPosition): Merge | undefined;
18
+ getMergesInZone(sheetId: UID, zone: Zone): Merge[];
19
+ /**
20
+ * Same as `getRangeString` but add all necessary merge to the range to make it a valid selection
21
+ */
22
+ getSelectionRangeString(range: Range, forSheetId: UID): string;
23
+ /**
24
+ * Return true if the zone intersects an existing merge:
25
+ * if they have at least a common cell
26
+ */
27
+ doesIntersectMerge(sheetId: UID, zone: Zone): boolean;
28
+ /**
29
+ * Returns true if two columns have at least one merge in common
30
+ */
31
+ doesColumnsHaveCommonMerges(sheetId: string, colA: HeaderIndex, colB: HeaderIndex): boolean;
32
+ /**
33
+ * Returns true if two rows have at least one merge in common
34
+ */
35
+ doesRowsHaveCommonMerges(sheetId: string, rowA: HeaderIndex, rowB: HeaderIndex): boolean;
36
+ /**
37
+ * Add all necessary merge to the current selection to make it valid
38
+ */
39
+ expandZone(sheetId: UID, zone: Zone): Zone;
40
+ isInSameMerge(sheetId: UID, colA: HeaderIndex, rowA: HeaderIndex, colB: HeaderIndex, rowB: HeaderIndex): boolean;
41
+ isInMerge({ sheetId, col, row }: CellPosition): boolean;
42
+ getMainCellPosition(position: CellPosition): CellPosition;
43
+ isMergeHidden(sheetId: UID, merge: Merge): boolean;
44
+ /**
45
+ * Check if the zone represents a single cell or a single merge.
46
+ */
47
+ isSingleCellOrMerge(sheetId: UID, zone: Zone): boolean;
48
+ isMainCellPosition(position: CellPosition): boolean;
49
+ /**
50
+ * Return true if the current selection requires losing state if it is merged.
51
+ * This happens when there is some textual content in other cells than the
52
+ * top left.
53
+ */
54
+ private isMergeDestructive;
55
+ private getMergeById;
56
+ private checkDestructiveMerge;
57
+ private checkOverlap;
58
+ private checkFrozenPanes;
59
+ /**
60
+ * The content of a merged cell should always be empty.
61
+ * Except for the top-left cell.
62
+ */
63
+ private checkMergedContentUpdate;
64
+ private checkMergeExists;
65
+ /**
66
+ * Merge the current selection. Note that:
67
+ * - it assumes that we have a valid selection (no intersection with other
68
+ * merges)
69
+ * - it does nothing if the merge is trivial: A1:A1
70
+ */
71
+ private addMerge;
72
+ private removeMerge;
73
+ /**
74
+ * Apply a range change on merges of a particular sheet.
75
+ */
76
+ private applyRangeChangeOnSheet;
77
+ import(data: WorkbookData): void;
78
+ private importMerges;
79
+ export(data: WorkbookData): void;
80
+ exportForExcel(data: ExcelWorkbookData): void;
81
+ }
82
+ export {};
@@ -0,0 +1,66 @@
1
+ import { ApplyRangeChange, CommandResult, CoreCommand, Range, RangeCompiledFormula, UID, WorkbookData } from "../../types";
2
+ import { PivotCoreDefinition, PivotCoreMeasure } from "../../types/pivot";
3
+ import { CorePlugin } from "../core_plugin";
4
+ interface Pivot {
5
+ definition: PivotCoreDefinition;
6
+ formulaId: string;
7
+ }
8
+ interface MeasureState {
9
+ formula: RangeCompiledFormula;
10
+ dependencies: Range[];
11
+ }
12
+ interface CoreState {
13
+ nextFormulaId: number;
14
+ pivots: Record<UID, Pivot | undefined>;
15
+ formulaIds: Record<UID, string | undefined>;
16
+ compiledMeasureFormulas: Record<UID, Record<string, MeasureState | undefined>>;
17
+ }
18
+ export declare class PivotCorePlugin extends CorePlugin<CoreState> implements CoreState {
19
+ static getters: readonly ["getPivotCoreDefinition", "getPivotDisplayName", "getPivotId", "getPivotFormulaId", "getPivotIds", "getMeasureCompiledFormula", "getPivotName", "isExistingPivot", "getMeasureFullDependencies"];
20
+ readonly nextFormulaId: number;
21
+ readonly pivots: {
22
+ [pivotId: UID]: Pivot | undefined;
23
+ };
24
+ readonly formulaIds: {
25
+ [formulaId: UID]: UID | undefined;
26
+ };
27
+ readonly compiledMeasureFormulas: Record<UID, Record<string, MeasureState>>;
28
+ allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.NoChanges | CommandResult.PivotIdNotFound | CommandResult.EmptyName | CommandResult.InvalidDefinition;
29
+ handle(cmd: CoreCommand): void;
30
+ adaptRanges(applyChange: ApplyRangeChange): void;
31
+ getPivotDisplayName(pivotId: UID): string;
32
+ getPivotName(pivotId: UID): string;
33
+ /**
34
+ * Returns the pivot core definition of the pivot with the given id.
35
+ * Be careful, this is the core definition, this should be used only in a
36
+ * context where the pivot is not loaded yet.
37
+ */
38
+ getPivotCoreDefinition(pivotId: UID): PivotCoreDefinition;
39
+ /**
40
+ * Get the pivot ID (UID) from the formula ID (the one used in the formula)
41
+ */
42
+ getPivotId(formulaId: string): UID | undefined;
43
+ getPivotFormulaId(pivotId: UID): string;
44
+ getPivotIds(): UID[];
45
+ isExistingPivot(pivotId: UID): boolean;
46
+ getMeasureCompiledFormula(pivotId: UID, measure: PivotCoreMeasure): RangeCompiledFormula;
47
+ getMeasureFullDependencies(pivotId: UID, measure: PivotCoreMeasure): Range[];
48
+ private addPivot;
49
+ private compileCalculatedMeasures;
50
+ private computeMeasureFullDependencies;
51
+ private insertPivot;
52
+ private resizeSheet;
53
+ private getPivotCore;
54
+ private compileMeasureFormula;
55
+ private replaceMeasureFormula;
56
+ private checkDuplicatedMeasureIds;
57
+ /**
58
+ * Import the pivots
59
+ */
60
+ import(data: WorkbookData): void;
61
+ /**
62
+ * Export the pivots
63
+ */
64
+ export(data: WorkbookData): void;
65
+ }
66
+ export {};
@@ -0,0 +1,75 @@
1
+ import { RangeImpl } from "../../helpers/index";
2
+ import { Command, CommandHandler, CommandResult, CoreCommand, CoreGetters, Dimension, Range, RangeData, RangeProvider, UID, UnboundedZone, Zone } from "../../types/index";
3
+ interface RangeStringOptions {
4
+ useBoundedReference?: boolean;
5
+ useFixedReference?: boolean;
6
+ }
7
+ export declare class RangeAdapter implements CommandHandler<CoreCommand> {
8
+ private getters;
9
+ private providers;
10
+ private isAdaptingRanges;
11
+ constructor(getters: CoreGetters);
12
+ static getters: readonly ["extendRange", "getRangeString", "getRangeFromSheetXC", "createAdaptedRanges", "getRangeDataFromXc", "getRangeDataFromZone", "getRangeFromRangeData", "getRangeFromZone", "getRangesUnion", "recomputeRanges", "isRangeValid", "removeRangesSheetPrefix"];
13
+ allowDispatch(cmd: Command): CommandResult;
14
+ beforeHandle(command: Command): void;
15
+ handle(cmd: Command): void;
16
+ finalize(): void;
17
+ /**
18
+ * Return a modified adapting function that verifies that after adapting a range, the range is still valid.
19
+ * Any range that gets adapted by the function adaptRange in parameter does so
20
+ * without caring if the start and end of the range in both row and column
21
+ * direction can be incorrect. This function ensure that an incorrect range gets removed.
22
+ */
23
+ private verifyRangeRemoved;
24
+ private createAdaptedRange;
25
+ private executeOnAllRanges;
26
+ /**
27
+ * Stores the functions bound to each plugin to be able to iterate over all ranges of the application,
28
+ * without knowing any details of the internal data structure of the plugins and without storing ranges
29
+ * in the range adapter.
30
+ *
31
+ * @param provider a function bound to a plugin that will loop over its internal data structure to find
32
+ * all ranges
33
+ */
34
+ addRangeProvider(provider: RangeProvider["adaptRanges"]): void;
35
+ createAdaptedRanges(ranges: Range[], offsetX: number, offsetY: number, sheetId: UID): Range[];
36
+ /**
37
+ * Remove the sheet name prefix if a range is part of the given sheet.
38
+ */
39
+ removeRangesSheetPrefix(sheetId: UID, ranges: Range[]): Range[];
40
+ extendRange(range: Range, dimension: Dimension, quantity: number): Range;
41
+ /**
42
+ * Creates a range from a XC reference that can contain a sheet reference
43
+ * @param defaultSheetId the sheet to default to if the sheetXC parameter does not contain a sheet reference (usually the active sheet Id)
44
+ * @param sheetXC the string description of a range, in the form SheetName!XC:XC
45
+ */
46
+ getRangeFromSheetXC(defaultSheetId: UID, sheetXC: string): RangeImpl;
47
+ /**
48
+ * Gets the string that represents the range as it is at the moment of the call.
49
+ * The string will be prefixed with the sheet name if the call specified a sheet id in `forSheetId`
50
+ * different than the sheet on which the range has been created.
51
+ *
52
+ * @param range the range (received from getRangeFromXC or getRangeFromZone)
53
+ * @param forSheetId the id of the sheet where the range string is supposed to be used.
54
+ * @param options
55
+ * @param options.useBoundedReference if true, the range will be returned with bounded row and column
56
+ * @param options.useFixedReference if true, the range will be returned with fixed row and column
57
+ */
58
+ getRangeString(range: Range, forSheetId: UID, options?: RangeStringOptions): string;
59
+ getRangeDataFromXc(sheetId: UID, xc: string): RangeData;
60
+ getRangeDataFromZone(sheetId: UID, zone: Zone | UnboundedZone): RangeData;
61
+ getRangeFromZone(sheetId: UID, zone: Zone | UnboundedZone): Range;
62
+ /**
63
+ * Allows you to recompute ranges from the same sheet
64
+ */
65
+ recomputeRanges(ranges: Range[], rangesToRemove: Range[]): Range[];
66
+ getRangeFromRangeData(data: RangeData): Range;
67
+ isRangeValid(rangeStr: string): boolean;
68
+ getRangesUnion(ranges: Range[]): Range;
69
+ /**
70
+ * Get a Xc string that represent a part of a range
71
+ */
72
+ private getRangePartString;
73
+ private getInvalidRange;
74
+ }
75
+ export {};
@@ -0,0 +1,12 @@
1
+ import { CommandResult, CoreCommand, Locale, WorkbookData } from "../../types";
2
+ import { CorePlugin } from "./../core_plugin";
3
+ export declare class SettingsPlugin extends CorePlugin {
4
+ static getters: readonly ["getLocale"];
5
+ private locale;
6
+ allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.InvalidLocale;
7
+ handle(cmd: CoreCommand): void;
8
+ getLocale(): Locale;
9
+ private changeCellsDateFormatWithLocale;
10
+ import(data: WorkbookData): void;
11
+ export(data: WorkbookData): void;
12
+ }
@@ -0,0 +1,148 @@
1
+ import { Cell, CellPosition, Command, CommandResult, CoreCommand, Dimension, ExcelWorkbookData, HeaderIndex, PaneDivision, Sheet, UID, UnboundedZone, WorkbookData, Zone, ZoneDimension } from "../../types/index";
2
+ import { CorePlugin } from "../core_plugin";
3
+ interface SheetState {
4
+ readonly sheets: Record<UID, Sheet | undefined>;
5
+ readonly orderedSheetIds: UID[];
6
+ readonly sheetIdsMapName: Record<string, UID | undefined>;
7
+ readonly cellPosition: Record<UID, CellPosition | undefined>;
8
+ }
9
+ export declare class SheetPlugin extends CorePlugin<SheetState> implements SheetState {
10
+ static getters: readonly ["getSheetName", "tryGetSheetName", "getSheet", "tryGetSheet", "getSheetIdByName", "getSheetIds", "getVisibleSheetIds", "isSheetVisible", "doesHeaderExist", "doesHeadersExist", "getCell", "getCellPosition", "getColsZone", "getRowCells", "getRowsZone", "getNumberCols", "getNumberRows", "getNumberHeaders", "getGridLinesVisibility", "getNextSheetName", "getSheetSize", "getSheetZone", "getPaneDivisions", "checkZonesExistInSheet", "getCommandZones", "getUnboundedZone", "checkElementsIncludeAllNonFrozenHeaders", "getDuplicateSheetName"];
11
+ readonly sheetIdsMapName: Record<string, UID | undefined>;
12
+ readonly orderedSheetIds: UID[];
13
+ readonly sheets: Record<UID, Sheet | undefined>;
14
+ readonly cellPosition: Record<UID, CellPosition | undefined>;
15
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
16
+ handle(cmd: CoreCommand): void;
17
+ import(data: WorkbookData): void;
18
+ private exportSheets;
19
+ export(data: WorkbookData): void;
20
+ exportForExcel(data: ExcelWorkbookData): void;
21
+ getGridLinesVisibility(sheetId: UID): boolean;
22
+ tryGetSheet(sheetId: UID): Sheet | undefined;
23
+ getSheet(sheetId: UID): Sheet;
24
+ isSheetVisible(sheetId: UID): boolean;
25
+ /**
26
+ * Return the sheet name. Throw if the sheet is not found.
27
+ */
28
+ getSheetName(sheetId: UID): string;
29
+ /**
30
+ * Return the sheet name or undefined if the sheet doesn't exist.
31
+ */
32
+ tryGetSheetName(sheetId: UID): string | undefined;
33
+ getSheetIdByName(name: string | undefined): UID | undefined;
34
+ getSheetIds(): UID[];
35
+ getVisibleSheetIds(): UID[];
36
+ doesHeaderExist(sheetId: UID, dimension: Dimension, index: number): boolean;
37
+ doesHeadersExist(sheetId: UID, dimension: Dimension, headerIndexes: HeaderIndex[]): boolean;
38
+ getCell({ sheetId, col, row }: CellPosition): Cell | undefined;
39
+ getColsZone(sheetId: UID, start: HeaderIndex, end: HeaderIndex): Zone;
40
+ getRowCells(sheetId: UID, row: HeaderIndex): UID[];
41
+ getRowsZone(sheetId: UID, start: HeaderIndex, end: HeaderIndex): Zone;
42
+ getCellPosition(cellId: UID): CellPosition;
43
+ getNumberCols(sheetId: UID): number;
44
+ getNumberRows(sheetId: UID): number;
45
+ getNumberHeaders(sheetId: UID, dimension: Dimension): number;
46
+ getNextSheetName(baseName?: string): string;
47
+ getSheetSize(sheetId: UID): ZoneDimension;
48
+ getSheetZone(sheetId: UID): Zone;
49
+ getUnboundedZone(sheetId: UID, zone: Zone | UnboundedZone): UnboundedZone;
50
+ getPaneDivisions(sheetId: UID): Readonly<PaneDivision>;
51
+ private setPaneDivisions;
52
+ /**
53
+ * Checks if all non-frozen header indices are present in the provided elements of selected rows/columns.
54
+ * This validation ensures that all rows or columns cannot be deleted when frozen panes exist.
55
+ */
56
+ checkElementsIncludeAllNonFrozenHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
57
+ getCommandZones(cmd: Command): Zone[];
58
+ /**
59
+ * Check if zones in the command are well formed and
60
+ * not outside the sheet.
61
+ */
62
+ checkZonesExistInSheet(sheetId: UID, zones: Zone[]): CommandResult;
63
+ private updateCellPosition;
64
+ /**
65
+ * Set the cell at a new position and clear its previous position.
66
+ */
67
+ private setNewPosition;
68
+ /**
69
+ * Remove the cell at the given position (if there's one)
70
+ */
71
+ private clearPosition;
72
+ private setGridLinesVisibility;
73
+ private createSheet;
74
+ private moveSheet;
75
+ private findIndexOfTargetSheet;
76
+ private checkSheetName;
77
+ private checkSheetPosition;
78
+ private checkRowFreezeQuantity;
79
+ private checkColFreezeQuantity;
80
+ private checkRowFreezeOverlapMerge;
81
+ private checkColFreezeOverlapMerge;
82
+ private isRenameAllowed;
83
+ private renameSheet;
84
+ private hideSheet;
85
+ private showSheet;
86
+ private duplicateSheet;
87
+ getDuplicateSheetName(sheetName: string): string;
88
+ private deleteSheet;
89
+ /**
90
+ * Delete column. This requires a lot of handling:
91
+ * - Update all the formulas in all sheets
92
+ * - Move the cells
93
+ * - Update the cols/rows (size, number, (cells), ...)
94
+ * - Reevaluate the cells
95
+ *
96
+ * @param sheet ID of the sheet on which deletion should be applied
97
+ * @param columns Columns to delete
98
+ */
99
+ private removeColumns;
100
+ /**
101
+ * Delete row. This requires a lot of handling:
102
+ * - Update the merges
103
+ * - Update all the formulas in all sheets
104
+ * - Move the cells
105
+ * - Update the cols/rows (size, number, (cells), ...)
106
+ * - Reevaluate the cells
107
+ *
108
+ * @param sheet ID of the sheet on which deletion should be applied
109
+ * @param rows Rows to delete
110
+ */
111
+ private removeRows;
112
+ private addColumns;
113
+ private addRows;
114
+ private moveCellOnColumnsDeletion;
115
+ /**
116
+ * Move the cells after a column or rows insertion
117
+ */
118
+ private moveCellsOnAddition;
119
+ /**
120
+ * Move all the cells that are from the row under `deleteToRow` up to `deleteFromRow`
121
+ *
122
+ * b.e.
123
+ * move vertically with delete from 3 and delete to 5 will first clear all the cells from lines 3 to 5,
124
+ * then take all the row starting at index 6 and add them back at index 3
125
+ *
126
+ */
127
+ private moveCellOnRowsDeletion;
128
+ private updateRowsStructureOnDeletion;
129
+ /**
130
+ * Add empty rows at the end of the rows
131
+ *
132
+ * @param sheet Sheet
133
+ * @param quantity Number of rows to add
134
+ */
135
+ private addEmptyRows;
136
+ private getImportedSheetSize;
137
+ /**
138
+ * Check that any "sheetId" in the command matches an existing
139
+ * sheet.
140
+ */
141
+ private checkSheetExists;
142
+ /**
143
+ * Check if zones in the command are well formed and
144
+ * not outside the sheet.
145
+ */
146
+ private checkZonesAreInSheet;
147
+ }
148
+ export {};
@@ -0,0 +1,6 @@
1
+ import { CommandResult, CoreCommand } from "../../types";
2
+ import { CorePlugin } from "../core_plugin";
3
+ export declare class SpreadsheetPivotCorePlugin extends CorePlugin {
4
+ allowDispatch(cmd: CoreCommand): CommandResult;
5
+ private checkDataSetValidity;
6
+ }
@@ -0,0 +1,22 @@
1
+ import { CommandResult, CoreCommand, TableStyle, WorkbookData } from "../../types/index";
2
+ import { CorePlugin } from "../core_plugin";
3
+ interface TableStylesState {
4
+ readonly styles: {
5
+ [styleId: string]: TableStyle;
6
+ };
7
+ }
8
+ export declare class TableStylePlugin extends CorePlugin<TableStylesState> implements TableStylesState {
9
+ static getters: readonly ["getNewCustomTableStyleName", "getTableStyle", "getTableStyles", "isTableStyleEditable"];
10
+ readonly styles: {
11
+ [styleId: string]: TableStyle;
12
+ };
13
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
14
+ handle(cmd: CoreCommand): void;
15
+ getTableStyle(styleId: string): TableStyle;
16
+ getTableStyles(): Record<string, TableStyle>;
17
+ getNewCustomTableStyleName(): string;
18
+ isTableStyleEditable(styleId: string): boolean;
19
+ import(data: WorkbookData): void;
20
+ export(data: WorkbookData): void;
21
+ }
22
+ export {};
@@ -0,0 +1,56 @@
1
+ import { ApplyRangeChange, CellPosition, CommandResult, CoreCommand, CoreTable, ExcelWorkbookData, TableId, UID, WorkbookData, Zone } from "../../types/index";
2
+ import { CorePlugin } from "../core_plugin";
3
+ interface TableState {
4
+ tables: Record<UID, Record<TableId, CoreTable | undefined>>;
5
+ insertionOrders: Record<UID, TableId[] | undefined>;
6
+ }
7
+ export declare class TablePlugin extends CorePlugin<TableState> implements TableState {
8
+ static getters: readonly ["getCoreTable", "getCoreTables", "getCoreTableMatchingTopLeft"];
9
+ readonly tables: Record<UID, Record<TableId, CoreTable | undefined>>;
10
+ readonly insertionOrders: Record<UID, TableId[] | undefined>;
11
+ adaptRanges(applyChange: ApplyRangeChange, sheetId?: UID): void;
12
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
13
+ handle(cmd: CoreCommand): void;
14
+ getCoreTables(sheetId: UID): CoreTable[];
15
+ getCoreTable({ sheetId, col, row }: CellPosition): CoreTable | undefined;
16
+ private getTablesOverlappingZones;
17
+ /** Extend a table down one row */
18
+ private extendTableDown;
19
+ /** Extend a table right one col */
20
+ private extendTableRight;
21
+ /**
22
+ * Check if an UpdateCell command should cause the given table to be extended by one row or col.
23
+ *
24
+ * The table should be extended if all of these conditions are true:
25
+ * 1) The updated cell is right below/right of the table
26
+ * 2) The command adds a content to the cell
27
+ * 3) No cell right below/right next to the table had any content before the command
28
+ * 4) Extending the table down/right would not overlap with another table
29
+ * 5) Extending the table down/right would not overlap with a merge
30
+ *
31
+ */
32
+ private canUpdateCellCmdExtendTable;
33
+ getCoreTableMatchingTopLeft(sheetId: UID, zone: Zone): CoreTable | undefined;
34
+ private checkUpdatedTableZoneIsValid;
35
+ private checkTableConfigUpdateIsValid;
36
+ private createStaticTable;
37
+ private createDynamicTable;
38
+ private updateTable;
39
+ private updateStaticTable;
40
+ private updateDynamicTable;
41
+ /**
42
+ * Update the old config of a table with the new partial config from an UpdateTable command.
43
+ *
44
+ * Make sure the new config make sense (e.g. if the table has no header, it should not have
45
+ * filters and number of headers should be 0)
46
+ */
47
+ private updateTableConfig;
48
+ private createFilterFromZone;
49
+ private copyStaticTableForSheet;
50
+ private copyDynamicTableForSheet;
51
+ private applyRangeChangeOnTable;
52
+ import(data: WorkbookData): void;
53
+ export(data: WorkbookData): void;
54
+ exportForExcel(data: ExcelWorkbookData): void;
55
+ }
56
+ export {};