@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,211 @@
1
+ import { ConsecutiveIndexes, Lazy, UID } from "../types";
2
+ import { SearchOptions } from "../types/find_and_replace";
3
+ import { DebouncedFunction } from "./../types/misc";
4
+ /**
5
+ * Remove quotes from a quoted string
6
+ * ```js
7
+ * removeStringQuotes('"Hello"')
8
+ * > 'Hello'
9
+ * ```
10
+ */
11
+ export declare function removeStringQuotes(str: string): string;
12
+ /**
13
+ * Escapes a string to use as a literal string in a RegExp.
14
+ * @url https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
15
+ */
16
+ export declare function escapeRegExp(str: string): string;
17
+ /**
18
+ * Deep copy arrays, plain objects and primitive values.
19
+ * Throws an error for other types such as class instances.
20
+ * Sparse arrays remain sparse.
21
+ */
22
+ export declare function deepCopy<T>(obj: T): T;
23
+ /**
24
+ * Sanitize the name of a sheet, by eventually removing quotes
25
+ * @param sheetName name of the sheet, potentially quoted with single quotes
26
+ */
27
+ export declare function getUnquotedSheetName(sheetName: string): string;
28
+ export declare function unquote(string: string, quoteChar?: "'" | '"'): string;
29
+ /**
30
+ * Add quotes around the sheet name or any symbol name if it contains at least one non alphanumeric character
31
+ * '\w' captures [0-9][a-z][A-Z] and _.
32
+ * @param symbolName Name of the sheet or symbol
33
+ */
34
+ export declare function getCanonicalSymbolName(symbolName: string): string;
35
+ /** Replace the excel-excluded characters of a sheetName */
36
+ export declare function sanitizeSheetName(sheetName: string, replacementChar?: string): string;
37
+ export declare function clip(val: number, min: number, max: number): number;
38
+ /**
39
+ * Create a range from start (included) to end (excluded).
40
+ * range(10, 13) => [10, 11, 12]
41
+ * range(2, 8, 2) => [2, 4, 6]
42
+ */
43
+ export declare function range(start: number, end: number, step?: number): number[];
44
+ /**
45
+ * Groups consecutive numbers.
46
+ * The input array is assumed to be sorted
47
+ * @param numbers
48
+ */
49
+ export declare function groupConsecutive(numbers: number[]): ConsecutiveIndexes[];
50
+ /**
51
+ * Create one generator from two generators by linking
52
+ * each item of the first generator to the next item of
53
+ * the second generator.
54
+ *
55
+ * Let's say generator G1 yields A, B, C and generator G2 yields X, Y, Z.
56
+ * The resulting generator of `linkNext(G1, G2)` will yield A', B', C'
57
+ * where `A' = A & {next: Y}`, `B' = B & {next: Z}` and `C' = C & {next: undefined}`
58
+ * @param generator
59
+ * @param nextGenerator
60
+ */
61
+ export declare function linkNext<T>(generator: Generator<T>, nextGenerator: Generator<T>): Generator<T & {
62
+ next?: T;
63
+ }>;
64
+ export declare function isBoolean(str: string): boolean;
65
+ export declare function isMarkdownLink(str: string): boolean;
66
+ /**
67
+ * Check if the string is a web link.
68
+ * e.g. http://odoo.com
69
+ */
70
+ export declare function isWebLink(str: string): boolean;
71
+ /**
72
+ * Build a markdown link from a label and an url
73
+ */
74
+ export declare function markdownLink(label: string, url: string): string;
75
+ export declare function parseMarkdownLink(str: string): {
76
+ url: string;
77
+ label: string;
78
+ };
79
+ export declare function isSheetUrl(url: string): boolean;
80
+ export declare function buildSheetLink(sheetId: UID): string;
81
+ /**
82
+ * Parse a sheet link and return the sheet id
83
+ */
84
+ export declare function parseSheetUrl(sheetLink: string): string;
85
+ /**
86
+ * This helper function can be used as a type guard when filtering arrays.
87
+ * const foo: number[] = [1, 2, undefined, 4].filter(isDefined)
88
+ */
89
+ export declare function isDefined<T>(argument: T | undefined): argument is T;
90
+ export declare function isNotNull<T>(argument: T | null): argument is T;
91
+ /**
92
+ * Check if all the values of an object, and all the values of the objects inside of it, are undefined.
93
+ */
94
+ export declare function isObjectEmptyRecursive<T extends object>(argument: T | undefined): boolean;
95
+ /**
96
+ * Returns a function, that, as long as it continues to be invoked, will not
97
+ * be triggered. The function will be called after it stops being called for
98
+ * N milliseconds. If `immediate` is passed, trigger the function on the
99
+ * leading edge, instead of the trailing.
100
+ *
101
+ * Also decorate the argument function with two methods: stopDebounce and isDebouncePending.
102
+ *
103
+ * Inspired by https://davidwalsh.name/javascript-debounce-function
104
+ */
105
+ export declare function debounce<T extends (...args: any) => void>(func: T, wait: number, immediate?: boolean): DebouncedFunction<T>;
106
+ /**
107
+ * Creates a batched version of a callback so that all calls to it in the same
108
+ * microtick will only call the original callback once.
109
+ *
110
+ * @param callback the callback to batch
111
+ * @returns a batched version of the original callback
112
+ *
113
+ * Copied from odoo/owl repo.
114
+ */
115
+ export declare function batched(callback: () => void): () => void;
116
+ export declare function concat(chars: string[]): string;
117
+ /**
118
+ * Lazy value computed by the provided function.
119
+ */
120
+ export declare function lazy<T>(fn: (() => T) | T): Lazy<T>;
121
+ /**
122
+ * Find the next defined value after the given index in an array of strings. If there is no defined value
123
+ * after the index, return the closest defined value before the index. Return an empty string if no
124
+ * defined value was found.
125
+ *
126
+ */
127
+ export declare function findNextDefinedValue(arr: string[], index: number): string;
128
+ /** Get index of first header added by an ADD_COLUMNS_ROWS command */
129
+ export declare function getAddHeaderStartIndex(position: "before" | "after", base: number): number;
130
+ /**
131
+ * Compares two objects.
132
+ */
133
+ export declare function deepEquals(o1: any, o2: any): boolean;
134
+ /**
135
+ * Compares two arrays.
136
+ * For performance reasons, this function is to be preferred
137
+ * to 'deepEquals' in the case we know that the inputs are arrays.
138
+ */
139
+ export declare function deepEqualsArray(arr1: unknown[], arr2: unknown[]): boolean;
140
+ /**
141
+ * Check if the given array contains all the values of the other array.
142
+ * It makes the assumption that both array do not contain duplicates.
143
+ */
144
+ export declare function includesAll<T>(arr: T[], values: T[]): boolean;
145
+ /**
146
+ * Return an object with all the keys in the object that have a falsy value removed.
147
+ */
148
+ export declare function removeFalsyAttributes<T extends Object | undefined | null>(obj: T): T;
149
+ export declare const specialWhiteSpaceRegexp: RegExp;
150
+ export declare const whiteSpaceCharacters: string[];
151
+ /**
152
+ * Replace all different newlines characters by \n
153
+ */
154
+ export declare function replaceNewLines(text: string | undefined): string;
155
+ /**
156
+ * Determine if the numbers are consecutive.
157
+ */
158
+ export declare function isConsecutive(iterable: Iterable<number>): boolean;
159
+ /**
160
+ * Creates a version of the function that's memoized on the value of its first
161
+ * argument, if any.
162
+ */
163
+ export declare function memoize<T extends any[], U>(func: (...args: T) => U): (...args: T) => U;
164
+ /**
165
+ * Removes the specified indexes from the array.
166
+ * Sparse (empty) elements are transformed to undefined (unless their index is explicitly removed).
167
+ */
168
+ export declare function removeIndexesFromArray<T>(array: readonly T[], indexes: number[]): T[];
169
+ export declare function insertItemsAtIndex<T>(array: readonly T[], items: T[], index: number): T[];
170
+ export declare function replaceItemAtIndex<T>(array: readonly T[], newItem: T, index: number): T[];
171
+ export declare function trimContent(content: string): string;
172
+ export declare function isNumberBetween(value: number, min: number, max: number): boolean;
173
+ /**
174
+ * Get a Regex for the find & replace that matches the given search string and options.
175
+ */
176
+ export declare function getSearchRegex(searchStr: string, searchOptions: SearchOptions): RegExp;
177
+ /**
178
+ * Alternative to Math.max that works with large arrays.
179
+ * Typically useful for arrays bigger than 100k elements.
180
+ */
181
+ export declare function largeMax(array: number[]): number;
182
+ /**
183
+ * Alternative to Math.min that works with large arrays.
184
+ * Typically useful for arrays bigger than 100k elements.
185
+ */
186
+ export declare function largeMin(array: number[]): number;
187
+ export declare class TokenizingChars {
188
+ private text;
189
+ private currentIndex;
190
+ current: string;
191
+ constructor(text: string);
192
+ shift(): string;
193
+ advanceBy(length: number): void;
194
+ isOver(): boolean;
195
+ remaining(): string;
196
+ currentStartsWith(str: string): boolean;
197
+ }
198
+ /**
199
+ * Remove duplicates from an array.
200
+ *
201
+ * @param array The array to remove duplicates from.
202
+ * @param cb A callback to get an element value.
203
+ */
204
+ export declare function removeDuplicates<T>(array: T[], cb?: (a: T) => any): T[];
205
+ /**
206
+ * Similar to transposing and array, but with POJOs instead of arrays. Useful, for example, when manipulating
207
+ * a POJO grid[col][row] and you want to transpose it to grid[row][col].
208
+ *
209
+ * The resulting object is created such as result[key1][key2] = pojo[key2][key1]
210
+ */
211
+ export declare function transpose2dPOJO<T>(pojo: Record<string, Record<string, T>>): Record<string, Record<string, T>>;
@@ -0,0 +1,25 @@
1
+ import { Locale } from "../types";
2
+ /**
3
+ * This function returns a regexp that is supposed to be as close as possible as the numberRegexp,
4
+ * but its purpose is to be used by the tokenizer.
5
+ *
6
+ * - it tolerates extra characters at the end. This is useful because the tokenizer
7
+ * only needs to find the number at the start of a string
8
+ * - it does not support % symbol, in formulas % is an operator
9
+ */
10
+ export declare const getFormulaNumberRegex: (decimalSeparator: string) => RegExp;
11
+ /**
12
+ * Return true if the argument is a "number string".
13
+ *
14
+ * Note that "" (empty string) does not count as a number string
15
+ */
16
+ export declare function isNumber(value: string | undefined, locale: Locale): boolean;
17
+ /**
18
+ * Convert a string into a number. It assumes that the string actually represents
19
+ * a number (as determined by the isNumber function)
20
+ *
21
+ * Note that it accepts "" (empty string), even though it does not count as a
22
+ * number from the point of view of the isNumber function.
23
+ */
24
+ export declare function parseNumber(str: string, locale: Locale): number;
25
+ export declare function percentile(values: number[], percent: number, isInclusive: boolean): number;
@@ -0,0 +1,61 @@
1
+ import { CellComposerStore } from "../../components/composer/composer/cell_composer_store";
2
+ import { Token } from "../../formulas";
3
+ import { EnrichedToken } from "../../formulas/composer_tokenizer";
4
+ import { Granularity, PivotField, PivotMeasure } from "../../types";
5
+ /**
6
+ * Create a proposal entry for the compose autowcomplete
7
+ * to insert a field name string in a formula.
8
+ */
9
+ export declare function makeFieldProposal(field: PivotField, granularity?: Granularity): {
10
+ text: string;
11
+ description: string;
12
+ htmlContent: {
13
+ value: string;
14
+ color: "#00a82d";
15
+ }[];
16
+ fuzzySearchKey: string;
17
+ };
18
+ export declare function makeMeasureProposal(measure: PivotMeasure): {
19
+ text: string;
20
+ description: string;
21
+ htmlContent: {
22
+ value: string;
23
+ color: "#00a82d";
24
+ }[];
25
+ fuzzySearchKey: string;
26
+ };
27
+ /**
28
+ * Perform the autocomplete of the composer by inserting the value
29
+ * at the cursor position, replacing the current token if necessary.
30
+ * Must be bound to the autocomplete provider.
31
+ */
32
+ export declare function insertTokenAfterArgSeparator(this: {
33
+ composer: CellComposerStore;
34
+ }, tokenAtCursor: EnrichedToken, value: string): void;
35
+ /**
36
+ * Perform the autocomplete of the composer by inserting the value
37
+ * at the cursor position, replacing the current token if necessary.
38
+ * Must be bound to the autocomplete provider.
39
+ * @param {EnrichedToken} tokenAtCursor
40
+ * @param {string} value
41
+ */
42
+ export declare function insertTokenAfterLeftParenthesis(this: {
43
+ composer: CellComposerStore;
44
+ }, tokenAtCursor: EnrichedToken, value: string): void;
45
+ /**
46
+ * Extract the pivot id (always the first argument) from the function
47
+ * context of the given token.
48
+ */
49
+ export declare function extractFormulaIdFromToken(tokenAtCursor: EnrichedToken): any;
50
+ /**
51
+ * Get the first Pivot function description of the given formula.
52
+ */
53
+ export declare function getFirstPivotFunction(tokens: Token[]): {
54
+ functionName: string;
55
+ args: import("../..").AST[];
56
+ };
57
+ /**
58
+ * Parse a spreadsheet formula and detect the number of PIVOT functions that are
59
+ * present in the given formula.
60
+ */
61
+ export declare function getNumberOfPivotFunctions(tokens: Token[]): number;
@@ -0,0 +1,68 @@
1
+ import { CellValue, Pivot, PivotColRowDomain, PivotDomain, PivotNode } from "../../types";
2
+ export declare const PREVIOUS_VALUE = "(previous)";
3
+ export declare const NEXT_VALUE = "(next)";
4
+ export declare function getDomainOfParentRow(pivot: Pivot, domain: PivotDomain): PivotDomain;
5
+ export declare function getDomainOfParentCol(pivot: Pivot, domain: PivotDomain): PivotDomain;
6
+ /**
7
+ * Split a pivot domain into the part related to the rows of the pivot, and the part related to the columns.
8
+ */
9
+ export declare function domainToColRowDomain(pivot: Pivot, domain: PivotDomain): PivotColRowDomain;
10
+ export declare function getDimensionDomain(pivot: Pivot, dimension: "column" | "row", domain: PivotDomain): PivotDomain;
11
+ export declare function isDomainIsInPivot(pivot: Pivot, domain: PivotDomain): boolean;
12
+ /**
13
+ * Get the domain parent of the given domain with the field `parentFieldName` as leaf of the domain.
14
+ *
15
+ * In practice, if the `parentFieldName` is a row in the pivot, the helper will return a domain with the same column
16
+ * domain, and with a row domain all groupBys children to `parentFieldName` removed.
17
+ */
18
+ export declare function getFieldParentDomain(pivot: Pivot, parentFieldName: string, domain: PivotDomain): PivotDomain;
19
+ /**
20
+ * Replace in the domain the value of the field `fieldNameWithGranularity` with the given `value`
21
+ */
22
+ export declare function replaceFieldValueInDomain(domain: PivotDomain, fieldNameWithGranularity: string, value: CellValue): PivotDomain;
23
+ export declare function isFieldInDomain(nameWithGranularity: string, domain: PivotDomain): boolean;
24
+ /**
25
+ * Check if the field is in the rows or columns of the pivot
26
+ */
27
+ export declare function getFieldDimensionType(pivot: Pivot, nameWithGranularity: string): "row" | "column";
28
+ /**
29
+ * Replace in the given domain the value of the field `fieldNameWithGranularity` with the previous or next value.
30
+ */
31
+ export declare function getPreviousOrNextValueDomain(pivot: Pivot, domain: PivotDomain, fieldNameWithGranularity: string, direction: typeof PREVIOUS_VALUE | typeof NEXT_VALUE): PivotDomain | undefined;
32
+ export declare function domainToString(domain: PivotDomain | undefined): string;
33
+ export declare function domainNodeToString(domainNode: PivotNode | undefined): string;
34
+ /**
35
+ *
36
+ * For the ranking, the pivot cell values of a column (or row) at the same depth are grouped together before being sorted
37
+ * and ranked.
38
+ *
39
+ * The grouping of a pivot cell is done with both the value of the domain nodes that are parent of the field
40
+ * `fieldNameWithGranularity` and the value of the last node of the domain of the pivot cell, if it's not the field
41
+ * `fieldNameWithGranularity`.
42
+ *
43
+ * For example, let's take a pivot grouped by (Date:year, Stage, User, Product), where we want to rank by "Stage" field.
44
+ * The domain nodes parents of the "Stage" are [Date:year]. The pivot cell with domain:
45
+ * - [Date:year=2021] is not ranked because it does not contain the "Stage" field
46
+ * - [Date:year=2021, Stage=Lead] is grouped with the cells [Date:year=2021, Stage=*, User=None, Product=None],
47
+ * and then ranked within the group
48
+ * - [Date:year=2021, Stage=Lead, User=Bob] is grouped with the cells [Date:year=2021, Stage=*, User=Bob, Product=None],
49
+ * and then ranked within the group
50
+ * - [Date:year=2021, Stage=Lead, User=Bob, Product=Table] is grouped with the cells [Date:year=2021, Stage=*, User=*, Product=Table],
51
+ * and then ranked within the group
52
+ *
53
+ * If we rank the pivot on "User" instead, the parent domain becomes [Date:year, Sage] .The cell with domain:
54
+ * - [Date:year=2021] is not ranked because it does not contain the "Stage" field
55
+ * - [Date:year=2021, Stage=Lead] is not ranked because it does not contain the "User" field
56
+ * - [Date:year=2021, Stage=Lead, User=Bob] is grouped with the cells [Date:year=2021, Stage=Lead, User=Bob, Product=None],
57
+ * and then ranked within the group
58
+ * - [Date:year=2021, Stage=Lead, User=Bob, Product=Table] is grouped with the cells with [Date:year=2021, Stage=Lead, User=*, Product=Table],
59
+ * and then ranked within the group
60
+ *
61
+ */
62
+ export declare function getRankingDomainKey(domain: PivotDomain, fieldNameWithGranularity: string): string;
63
+ /**
64
+ * The running total domain is the domain without the field `fieldNameWithGranularity`, ie. we do the running total of
65
+ * all the pivot cells of the column that have any value for the field `fieldNameWithGranularity` and the same value for
66
+ * the other fields.
67
+ */
68
+ export declare function getRunningTotalDomainKey(domain: PivotDomain, fieldNameWithGranularity: string): string;
@@ -0,0 +1,55 @@
1
+ import { Registry } from "../../registries/registry";
2
+ import { CellValue, FunctionResultObject, Locale, Matrix, Maybe, Pivot } from "../../types";
3
+ import { Granularity, PivotCoreDimension, PivotDimension, PivotDomain, PivotField, PivotTableCell } from "../../types/pivot";
4
+ import { PivotRuntimeDefinition } from "./pivot_runtime_definition";
5
+ export declare const AGGREGATORS: {};
6
+ type AggregatorFN = (args: Matrix<FunctionResultObject>, locale?: Locale) => FunctionResultObject;
7
+ export declare const AGGREGATORS_FN: Record<string, AggregatorFN | undefined>;
8
+ /**
9
+ * Given an object of form {"1": {...}, "2": {...}, ...} get the maximum ID used
10
+ * in this object
11
+ * If the object has no keys, return 0
12
+ *
13
+ */
14
+ export declare function getMaxObjectId(o: object): number;
15
+ export declare const ALL_PERIODS: {
16
+ year: string;
17
+ quarter: string;
18
+ month: string;
19
+ week: string;
20
+ day: string;
21
+ quarter_number: string;
22
+ month_number: string;
23
+ iso_week_number: string;
24
+ day_of_month: string;
25
+ day_of_week: string;
26
+ hour_number: string;
27
+ minute_number: string;
28
+ second_number: string;
29
+ };
30
+ /**
31
+ * Parse a dimension string into a pivot dimension definition.
32
+ * e.g "create_date:month" => { name: "create_date", granularity: "month" }
33
+ */
34
+ export declare function parseDimension(dimension: string): PivotCoreDimension;
35
+ export declare function isDateOrDatetimeField(field: PivotField): boolean;
36
+ export declare function generatePivotArgs(formulaId: string, domain: PivotDomain, measure?: string): string[];
37
+ /**
38
+ * Check if the fields in the domain part of
39
+ * a pivot function are valid according to the pivot definition.
40
+ * e.g. =PIVOT.VALUE(1,"revenue","country_id",...,"create_date:month",...,"source_id",...)
41
+ */
42
+ export declare function areDomainArgsFieldsValid(dimensions: string[], definition: PivotRuntimeDefinition): boolean;
43
+ export declare function createPivotFormula(formulaId: string, cell: PivotTableCell): string;
44
+ /**
45
+ * Parses the value defining a pivot group in a PIVOT formula
46
+ * e.g. given the following formula PIVOT.VALUE("1", "stage_id", "42", "status", "won"),
47
+ * the two group values are "42" and "won".
48
+ */
49
+ export declare function toNormalizedPivotValue(dimension: Pick<PivotDimension, "type" | "displayName" | "granularity">, groupValue: Maybe<CellValue | FunctionResultObject>): CellValue;
50
+ export declare function toFunctionPivotValue(value: CellValue, dimension: Pick<PivotDimension, "type" | "granularity">): string;
51
+ export declare const pivotNormalizationValueRegistry: Registry<(value: string, granularity?: Granularity | string) => CellValue>;
52
+ export declare const pivotToFunctionValueRegistry: Registry<(value: CellValue, granularity?: string) => string>;
53
+ export declare function getFieldDisplayName(field: PivotDimension): string;
54
+ export declare function addIndentAndAlignToPivotHeader(pivot: Pivot, domain: PivotDomain, functionResult: FunctionResultObject): FunctionResultObject;
55
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Getters, Highlight, UID } from "../../types";
2
+ export declare function getPivotHighlights(getters: Getters, pivotId: UID): Highlight[];
@@ -0,0 +1,3 @@
1
+ import { ActionSpec } from "../../actions/action";
2
+ export declare const pivotProperties: ActionSpec;
3
+ export declare const FIX_FORMULAS: ActionSpec;
@@ -0,0 +1,7 @@
1
+ import { Registry } from "../../registries/registry";
2
+ /**
3
+ * Registry to enable or disable the support of positional arguments
4
+ * (with a leading #) in pivot functions
5
+ * e.g. =PIVOT.VALUE(1,"probability","#stage",1)
6
+ */
7
+ export declare const supportedPivotPositionalFormulaRegistry: Registry<boolean>;
@@ -0,0 +1,9 @@
1
+ import { PivotDomain } from "../../types";
2
+ export declare class PivotPresenceTracker {
3
+ private trackedValues;
4
+ private domainToArray;
5
+ isValuePresent(measure: string, domain: PivotDomain): boolean;
6
+ isHeaderPresent(domain: PivotDomain): boolean;
7
+ trackValue(measure: string, domain: PivotDomain): void;
8
+ trackHeader(domain: PivotDomain): void;
9
+ }
@@ -0,0 +1,91 @@
1
+ import { ModelConfig } from "../../model";
2
+ import { CellValue, DimensionTree, FunctionResultObject, Getters, PivotDomain, PivotMeasure, PivotMeasureDisplay, PivotValueCell } from "../../types";
3
+ import { UID } from "../../types/misc";
4
+ import { NEXT_VALUE, PREVIOUS_VALUE } from "./pivot_domain_helpers";
5
+ import { PivotParams, PivotUIConstructor } from "./pivot_registry";
6
+ type CacheForMeasureAndField<T> = {
7
+ [measureId: string]: {
8
+ [field: string]: T;
9
+ };
10
+ };
11
+ type DomainGroups<T> = {
12
+ [colDomain: string]: {
13
+ [rowDomain: string]: T;
14
+ };
15
+ };
16
+ /**
17
+ * Dynamically creates a presentation layer wrapper around a given pivot class.
18
+ *
19
+ * It allows to implement additional behaviors and features that can be applied
20
+ * to all pivots, regardless of the specific pivot implementation.
21
+ * Examples of such features include calculated measures or "Show value as" options.
22
+ */
23
+ export default function (PivotClass: PivotUIConstructor): {
24
+ new (pivotId: any, custom: ModelConfig["custom"], params: PivotParams): {
25
+ getters: Getters;
26
+ pivotId: UID;
27
+ cache: Record<string, FunctionResultObject>;
28
+ rankAsc: CacheForMeasureAndField<DomainGroups<number> | undefined>;
29
+ rankDesc: CacheForMeasureAndField<DomainGroups<number> | undefined>;
30
+ runningTotal: CacheForMeasureAndField<DomainGroups<number | undefined> | undefined>;
31
+ runningTotalInPercent: CacheForMeasureAndField<DomainGroups<number | undefined> | undefined>;
32
+ markAsDirtyForEvaluation(): void;
33
+ getPivotCellValueAndFormat(measureName: string, domain: PivotDomain): FunctionResultObject;
34
+ _getPivotCellValueAndFormat(measureName: string, domain: PivotDomain): FunctionResultObject;
35
+ computeMeasure(measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
36
+ getValuesToAggregate(measure: PivotMeasure, domain: PivotDomain): FunctionResultObject[];
37
+ getSubTreeMatchingDomain(tree: DimensionTree, domain: PivotDomain, domainLevel?: number): DimensionTree;
38
+ treeToLeafDomains(tree: DimensionTree, parentDomain?: PivotDomain): PivotDomain[];
39
+ getMeasureDisplayValue(measureId: string, domain: PivotDomain): FunctionResultObject;
40
+ asPercentOfGrandTotal(rawValue: FunctionResultObject, measure: PivotMeasure): FunctionResultObject;
41
+ asPercentOfRowTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
42
+ asPercentOfColumnTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
43
+ asPercentOfParentRowTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
44
+ asPercentOfParentColumnTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
45
+ asPercentOfParentTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
46
+ asIndex(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
47
+ asRunningTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay, mode: "running_total" | "%_running_total"): FunctionResultObject;
48
+ asPercentOf(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
49
+ asDifferenceFrom(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
50
+ asDifferenceFromInPercent(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
51
+ asRank(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay, order: "asc" | "desc"): FunctionResultObject;
52
+ computeRank(measure: PivotMeasure, fieldNameWithGranularity: string, order: "asc" | "desc"): DomainGroups<number>;
53
+ computeRunningTotal(measure: PivotMeasure, fieldNameWithGranularity: string, mode: "running_total" | "%_running_total"): DomainGroups<number | undefined>;
54
+ getGrandTotal(measureId: string): number;
55
+ getRowTotal(measureId: string, domain: PivotDomain): number;
56
+ getColumnTotal(measureId: string, domain: PivotDomain): number;
57
+ isFieldInPivot(nameWithGranularity: string): boolean;
58
+ /**
59
+ * With the given measure, fetch the value of the cell in the pivot that has the given domain with
60
+ * the value of the field `fieldNameWithGranularity` replaced by `valueToCompare`.
61
+ *
62
+ * @param valueToCompare either a value to replace the field value with, or "(previous)" or "(next)"
63
+ * @returns the value of the cell in the pivot with the new domain, or "sameValue" if the domain is the same
64
+ */
65
+ getComparisonValue(measure: PivotMeasure, domain: PivotDomain, fieldNameWithGranularity: string, valueToCompare: CellValue | typeof PREVIOUS_VALUE | typeof NEXT_VALUE): number | "sameValue" | undefined;
66
+ getPivotValueCells(measureId: string): PivotValueCell[][];
67
+ measureValueToNumber(result: FunctionResultObject): number;
68
+ strictMeasureValueToNumber(result: FunctionResultObject): number | undefined;
69
+ type: import("../..").PivotCoreDefinition["type"];
70
+ definition: import("./pivot_runtime_definition").PivotRuntimeDefinition;
71
+ init(params?: import("../..").InitPivotParams): void;
72
+ isValid(): boolean;
73
+ onDefinitionChange(nextDefinition: import("../..").PivotCoreDefinition): void;
74
+ getTableStructure(): import("./table_spreadsheet_pivot").SpreadsheetPivotTable;
75
+ getFields(): import("../..").PivotFields;
76
+ getPivotHeaderValueAndFormat(domain: PivotDomain): FunctionResultObject;
77
+ getPivotMeasureValue(measure: string, domain: PivotDomain): FunctionResultObject;
78
+ getMeasure: (id: string) => PivotMeasure;
79
+ parseArgsToPivotDomain(args: import("../..").Maybe<FunctionResultObject>[]): PivotDomain;
80
+ areDomainArgsFieldsValid(args: import("../..").Maybe<FunctionResultObject>[]): boolean;
81
+ assertIsValid({ throwOnError }: {
82
+ throwOnError: boolean;
83
+ }): FunctionResultObject | undefined;
84
+ getPossibleFieldValues(dimension: import("../..").PivotDimension): {
85
+ value: string | boolean | number;
86
+ label: string;
87
+ }[];
88
+ needsReevaluation: boolean;
89
+ };
90
+ };
91
+ export {};
@@ -0,0 +1,28 @@
1
+ import { ModelConfig } from "../../model";
2
+ import { Registry } from "../../registries/registry";
3
+ import { ApplyRangeChange, CoreGetters, Getters } from "../../types";
4
+ import { PivotCoreDefinition, PivotField, PivotFields } from "../../types/pivot";
5
+ import { Pivot } from "../../types/pivot_runtime";
6
+ import { PivotRuntimeDefinition } from "./pivot_runtime_definition";
7
+ export interface PivotParams {
8
+ definition: PivotCoreDefinition;
9
+ getters: Getters;
10
+ }
11
+ export interface PivotCoreParams {
12
+ definition: PivotCoreDefinition;
13
+ getters: CoreGetters;
14
+ }
15
+ export type PivotUIConstructor = new (custom: ModelConfig["custom"], params: PivotParams) => Pivot;
16
+ type PivotDefinitionConstructor = new (definition: PivotCoreDefinition, fields: PivotFields, getters: Getters) => PivotRuntimeDefinition;
17
+ export interface PivotRegistryItem {
18
+ ui: PivotUIConstructor;
19
+ definition: PivotDefinitionConstructor;
20
+ dateGranularities: string[];
21
+ datetimeGranularities: string[];
22
+ isMeasureCandidate: (field: PivotField) => boolean;
23
+ isGroupable: (field: PivotField) => boolean;
24
+ adaptRanges?: (getters: CoreGetters, definition: PivotCoreDefinition, applyChange: ApplyRangeChange) => PivotCoreDefinition;
25
+ }
26
+ export declare const pivotRegistry: Registry<PivotRegistryItem>;
27
+ export declare const datetimeGranularities: string[];
28
+ export {};
@@ -0,0 +1,14 @@
1
+ import { CommonPivotCoreDefinition, PivotDimension, PivotFields, PivotMeasure } from "../../types/pivot";
2
+ /**
3
+ * Represent a pivot runtime definition. A pivot runtime definition is a pivot
4
+ * definition that has been enriched to include the display name of its attributes
5
+ * (measures, columns, rows).
6
+ */
7
+ export declare class PivotRuntimeDefinition {
8
+ readonly measures: PivotMeasure[];
9
+ readonly columns: PivotDimension[];
10
+ readonly rows: PivotDimension[];
11
+ constructor(definition: CommonPivotCoreDefinition, fields: PivotFields);
12
+ getDimension(nameWithGranularity: string): PivotDimension;
13
+ getMeasure(id: string): PivotMeasure;
14
+ }
@@ -0,0 +1,6 @@
1
+ import { Component } from "@odoo/owl";
2
+ import { Registry } from "../../registries/registry";
3
+ export interface PivotRegistryItem {
4
+ editor: new (...args: any) => Component;
5
+ }
6
+ export declare const pivotSidePanelRegistry: Registry<PivotRegistryItem>;
@@ -0,0 +1,5 @@
1
+ import { Registry } from "../../registries/registry";
2
+ import { CellValue } from "../../types";
3
+ import { Granularity, PivotTimeAdapter } from "../../types/pivot";
4
+ export declare const pivotTimeAdapterRegistry: Registry<PivotTimeAdapter<CellValue>>;
5
+ export declare function pivotTimeAdapter(granularity: Granularity): PivotTimeAdapter<CellValue>;
@@ -0,0 +1,20 @@
1
+ import { EvaluatedCell } from "../../../types";
2
+ import { PivotDimension } from "../../../types/pivot";
3
+ import { SpreadsheetPivotTable } from "../table_spreadsheet_pivot";
4
+ import { SpreadsheetPivotRuntimeDefinition } from "./runtime_definition_spreadsheet_pivot";
5
+ export type FieldName = string;
6
+ export type FieldValue = Pick<EvaluatedCell, "type" | "format" | "value" | "formattedValue">;
7
+ export type DataEntry = Record<FieldName, FieldValue | undefined>;
8
+ export type DataEntries = DataEntry[];
9
+ /**
10
+ * This function converts a list of data entry into a spreadsheet pivot table.
11
+ */
12
+ export declare function dataEntriesToSpreadsheetPivotTable(dataEntries: DataEntries, definition: SpreadsheetPivotRuntimeDefinition): SpreadsheetPivotTable;
13
+ /**
14
+ * Group the dataEntries based on the given dimension
15
+ */
16
+ export declare function groupPivotDataEntriesBy(dataEntries: DataEntries, dimension: PivotDimension): Partial<Record<string, DataEntry[]>>;
17
+ /**
18
+ * Order the keys of the given data entries, based on the given dimension
19
+ */
20
+ export declare function orderDataEntriesKeys(groups: Partial<Record<string, DataEntries>>, dimension: PivotDimension): string[];
@@ -0,0 +1,7 @@
1
+ import { CellValue, Locale } from "../../../types";
2
+ import { PivotDimension } from "../../../types/pivot";
3
+ export declare function createDate(dimension: PivotDimension, value: CellValue, locale: Locale): CellValue;
4
+ /**
5
+ * Reset the cache of the pivot date values.
6
+ */
7
+ export declare function resetMapValueDimensionDate(): void;
@@ -0,0 +1,7 @@
1
+ import { Getters, Range } from "../../../types";
2
+ import { PivotFields, SpreadsheetPivotCoreDefinition } from "../../../types/pivot";
3
+ import { PivotRuntimeDefinition } from "../pivot_runtime_definition";
4
+ export declare class SpreadsheetPivotRuntimeDefinition extends PivotRuntimeDefinition {
5
+ readonly range?: Range;
6
+ constructor(definition: SpreadsheetPivotCoreDefinition, fields: PivotFields, getters: Getters);
7
+ }