@odoo/o-spreadsheet 16.5.0-alpha.6 → 16.5.0-alpha.8

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.
@@ -432,6 +432,7 @@ interface LineChartDefinition {
432
432
  readonly labelsAsText: boolean;
433
433
  readonly stacked: boolean;
434
434
  readonly aggregated?: boolean;
435
+ readonly cumulative: boolean;
435
436
  }
436
437
  type LineChartRuntime = {
437
438
  chartJsConfig: ChartConfiguration;
@@ -498,6 +499,7 @@ interface ExcelChartDefinition {
498
499
  readonly verticalAxisPosition: VerticalAxisPosition;
499
500
  readonly legendPosition: LegendPosition;
500
501
  readonly stacked?: boolean;
502
+ readonly cumulative?: boolean;
501
503
  }
502
504
  interface ChartCreationContext {
503
505
  readonly range?: string[];
@@ -625,6 +627,7 @@ interface SheetData {
625
627
  areGridLinesVisible?: boolean;
626
628
  isVisible: boolean;
627
629
  panes?: PaneDivision;
630
+ headerGroups?: Record<Dimension, HeaderGroup[]>;
628
631
  }
629
632
  interface WorkbookSettings {
630
633
  locale: Locale;
@@ -1054,10 +1057,10 @@ type StatefulStream<Event, State> = {
1054
1057
  interface SelectionProcessor {
1055
1058
  selectZone(anchor: AnchorZone, options?: SelectionEventOptions): DispatchResult;
1056
1059
  selectCell(col: number, row: number): DispatchResult;
1057
- moveAnchorCell(direction: SelectionDirection, step: SelectionStep): DispatchResult;
1060
+ moveAnchorCell(direction: Direction, step: SelectionStep): DispatchResult;
1058
1061
  setAnchorCorner(col: number, row: number): DispatchResult;
1059
1062
  addCellToSelection(col: number, row: number): DispatchResult;
1060
- resizeAnchorZone(direction: SelectionDirection, step: SelectionStep): DispatchResult;
1063
+ resizeAnchorZone(direction: Direction, step: SelectionStep): DispatchResult;
1061
1064
  selectColumn(index: number, mode: SelectionEvent["mode"]): DispatchResult;
1062
1065
  selectRow(index: number, mode: SelectionEvent["mode"]): DispatchResult;
1063
1066
  selectAll(): DispatchResult;
@@ -1677,9 +1680,10 @@ type ClipboardPasteOptions = "onlyFormat" | "onlyValue";
1677
1680
  interface SheetDependentCommand {
1678
1681
  sheetId: UID;
1679
1682
  }
1680
- interface GridDependentCommand {
1683
+ interface HeadersDependentCommand {
1681
1684
  sheetId: UID;
1682
1685
  dimension: Dimension;
1686
+ elements: HeaderIndex[];
1683
1687
  }
1684
1688
  interface TargetDependentCommand {
1685
1689
  sheetId: UID;
@@ -1693,11 +1697,15 @@ interface PositionDependentCommand {
1693
1697
  col: number;
1694
1698
  row: number;
1695
1699
  }
1696
- declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1697
- declare const invalidateDependenciesCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "SORT_CELLS" | "SET_DECIMAL" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS">;
1698
- declare const invalidateCFEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1699
- declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "SORT_CELLS" | "SET_DECIMAL" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "ACTIVATE_SHEET" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS">;
1700
- declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE">;
1700
+ interface ZoneDependentCommand {
1701
+ sheetId: UID;
1702
+ zone: Zone;
1703
+ }
1704
+ declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1705
+ declare const invalidateDependenciesCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1706
+ declare const invalidateCFEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1707
+ declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1708
+ declare const coreTypes: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "MOVE_CONDITIONAL_FORMAT" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_FILTER_TABLE" | "REMOVE_FILTER_TABLE" | "UPDATE_LOCALE" | "GROUP_HEADERS" | "UNGROUP_HEADERS" | "UNFOLD_HEADER_GROUP" | "FOLD_HEADER_GROUP" | "FOLD_ALL_HEADER_GROUPS" | "UNFOLD_ALL_HEADER_GROUPS" | "UNFOLD_HEADER_GROUPS_IN_ZONE" | "FOLD_HEADER_GROUPS_IN_ZONE">;
1701
1709
  interface UpdateCellCommand extends PositionDependentCommand {
1702
1710
  type: "UPDATE_CELL";
1703
1711
  content?: string;
@@ -1711,31 +1719,32 @@ interface UpdateCellPositionCommand extends PositionDependentCommand {
1711
1719
  type: "UPDATE_CELL_POSITION";
1712
1720
  cellId?: UID;
1713
1721
  }
1714
- interface AddColumnsRowsCommand extends GridDependentCommand {
1722
+ interface AddColumnsRowsCommand extends SheetDependentCommand {
1715
1723
  type: "ADD_COLUMNS_ROWS";
1724
+ dimension: Dimension;
1716
1725
  base: HeaderIndex;
1717
1726
  quantity: number;
1718
1727
  position: "before" | "after";
1719
1728
  }
1720
- interface RemoveColumnsRowsCommand extends GridDependentCommand {
1729
+ interface RemoveColumnsRowsCommand extends HeadersDependentCommand {
1721
1730
  type: "REMOVE_COLUMNS_ROWS";
1722
1731
  elements: HeaderIndex[];
1723
1732
  }
1724
- interface MoveColumnsRowsCommand extends GridDependentCommand {
1733
+ interface MoveColumnsRowsCommand extends HeadersDependentCommand {
1725
1734
  type: "MOVE_COLUMNS_ROWS";
1726
1735
  base: HeaderIndex;
1727
1736
  elements: HeaderIndex[];
1728
1737
  }
1729
- interface ResizeColumnsRowsCommand extends GridDependentCommand {
1738
+ interface ResizeColumnsRowsCommand extends HeadersDependentCommand {
1730
1739
  type: "RESIZE_COLUMNS_ROWS";
1731
1740
  elements: number[];
1732
1741
  size: number | null;
1733
1742
  }
1734
- interface HideColumnsRowsCommand extends GridDependentCommand {
1743
+ interface HideColumnsRowsCommand extends HeadersDependentCommand {
1735
1744
  type: "HIDE_COLUMNS_ROWS";
1736
1745
  elements: HeaderIndex[];
1737
1746
  }
1738
- interface UnhideColumnsRowsCommand extends GridDependentCommand {
1747
+ interface UnhideColumnsRowsCommand extends HeadersDependentCommand {
1739
1748
  type: "UNHIDE_COLUMNS_ROWS";
1740
1749
  elements: HeaderIndex[];
1741
1750
  }
@@ -1903,13 +1912,59 @@ interface UpdateLocaleCommand {
1903
1912
  type: "UPDATE_LOCALE";
1904
1913
  locale: Locale;
1905
1914
  }
1915
+ interface RemoveDuplicatesCommand {
1916
+ type: "REMOVE_DUPLICATES";
1917
+ columns: HeaderIndex[];
1918
+ hasHeader: boolean;
1919
+ }
1920
+ interface TrimWhitespaceCommand {
1921
+ type: "TRIM_WHITESPACE";
1922
+ }
1923
+ interface GroupHeadersCommand extends SheetDependentCommand {
1924
+ type: "GROUP_HEADERS";
1925
+ dimension: Dimension;
1926
+ start: HeaderIndex;
1927
+ end: HeaderIndex;
1928
+ }
1929
+ interface UnGroupHeadersCommand extends SheetDependentCommand {
1930
+ type: "UNGROUP_HEADERS";
1931
+ dimension: Dimension;
1932
+ start: HeaderIndex;
1933
+ end: HeaderIndex;
1934
+ }
1935
+ interface FoldHeaderGroupCommand extends SheetDependentCommand {
1936
+ type: "FOLD_HEADER_GROUP";
1937
+ dimension: Dimension;
1938
+ start: HeaderIndex;
1939
+ end: HeaderIndex;
1940
+ }
1941
+ interface UnfoldHeaderGroupCommand extends SheetDependentCommand {
1942
+ type: "UNFOLD_HEADER_GROUP";
1943
+ dimension: Dimension;
1944
+ start: HeaderIndex;
1945
+ end: HeaderIndex;
1946
+ }
1947
+ interface FoldAllHeaderGroupsCommand extends SheetDependentCommand {
1948
+ type: "FOLD_ALL_HEADER_GROUPS";
1949
+ dimension: Dimension;
1950
+ }
1951
+ interface UnfoldAllHeaderGroupsCommand extends SheetDependentCommand {
1952
+ type: "UNFOLD_ALL_HEADER_GROUPS";
1953
+ dimension: Dimension;
1954
+ }
1955
+ interface UnfoldHeaderGroupsInZoneCommand extends ZoneDependentCommand {
1956
+ type: "UNFOLD_HEADER_GROUPS_IN_ZONE";
1957
+ dimension: Dimension;
1958
+ }
1959
+ interface FoldHeaderGroupsInZoneCommand extends ZoneDependentCommand {
1960
+ type: "FOLD_HEADER_GROUPS_IN_ZONE";
1961
+ dimension: Dimension;
1962
+ }
1906
1963
  interface CopyCommand {
1907
1964
  type: "COPY";
1908
1965
  }
1909
1966
  interface CutCommand {
1910
1967
  type: "CUT";
1911
- /** Zones to cut. If none were given, will copy the zones in the selection*/
1912
- cutTarget?: Zone[];
1913
1968
  }
1914
1969
  interface PasteCommand {
1915
1970
  type: "PASTE";
@@ -2254,8 +2309,10 @@ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContent
2254
2309
  /** Image */
2255
2310
  | CreateImageOverCommand
2256
2311
  /** FILTERS */
2257
- | CreateFilterTableCommand | RemoveFilterTableCommand | UpdateLocaleCommand;
2258
- type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | AddRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | RepeatPasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | CancelPaintFormatCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | EvaluateCellsCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand | ClearSearchCommand | SelectSearchPreviousCommand | SelectSearchNextCommand | ReplaceSearchCommand | ReplaceAllSearchCommand | SortCommand | SetDecimalCommand | ResizeViewportCommand | SumSelectionCommand | DeleteCellCommand | InsertCellCommand | SetViewportOffsetCommand | MoveViewportDownCommand | MoveViewportUpCommand | OpenCellPopoverCommand | CloseCellPopoverCommand | ActivateNextSheetCommand | ActivatePreviousSheetCommand | UpdateFilterCommand | SplitTextIntoColumnsCommand;
2312
+ | CreateFilterTableCommand | RemoveFilterTableCommand | UpdateLocaleCommand
2313
+ /** Grouping */
2314
+ | GroupHeadersCommand | UnGroupHeadersCommand | UnfoldHeaderGroupCommand | FoldHeaderGroupCommand | FoldAllHeaderGroupsCommand | UnfoldAllHeaderGroupsCommand | UnfoldHeaderGroupsInZoneCommand | FoldHeaderGroupsInZoneCommand;
2315
+ type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | AddRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | RepeatPasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | CancelPaintFormatCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | EvaluateCellsCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand | ClearSearchCommand | SelectSearchPreviousCommand | SelectSearchNextCommand | ReplaceSearchCommand | ReplaceAllSearchCommand | SortCommand | SetDecimalCommand | ResizeViewportCommand | SumSelectionCommand | DeleteCellCommand | InsertCellCommand | SetViewportOffsetCommand | MoveViewportDownCommand | MoveViewportUpCommand | OpenCellPopoverCommand | CloseCellPopoverCommand | ActivateNextSheetCommand | ActivatePreviousSheetCommand | UpdateFilterCommand | SplitTextIntoColumnsCommand | RemoveDuplicatesCommand | TrimWhitespaceCommand;
2259
2316
  type Command = CoreCommand | LocalCommand;
2260
2317
  /**
2261
2318
  * Holds the result of a command dispatch.
@@ -2278,102 +2335,109 @@ declare class DispatchResult {
2278
2335
  }
2279
2336
  type CancelledReason = Exclude<CommandResult, CommandResult.Success>;
2280
2337
  declare const enum CommandResult {
2281
- Success = 0,
2282
- CancelledForUnknownReason = 1,
2283
- WillRemoveExistingMerge = 2,
2284
- MergeIsDestructive = 3,
2285
- CellIsMerged = 4,
2286
- InvalidTarget = 5,
2287
- EmptyUndoStack = 6,
2288
- EmptyRedoStack = 7,
2289
- NotEnoughElements = 8,
2290
- NotEnoughSheets = 9,
2291
- MissingSheetName = 10,
2292
- UnchangedSheetName = 11,
2293
- DuplicatedSheetName = 12,
2294
- DuplicatedSheetId = 13,
2295
- ForbiddenCharactersInSheetName = 14,
2296
- WrongSheetMove = 15,
2297
- WrongSheetPosition = 16,
2298
- InvalidAnchorZone = 17,
2299
- SelectionOutOfBound = 18,
2300
- TargetOutOfSheet = 19,
2301
- WrongCutSelection = 20,
2302
- WrongPasteSelection = 21,
2303
- WrongPasteOption = 22,
2304
- WrongFigurePasteOption = 23,
2305
- EmptyClipboard = 24,
2306
- EmptyRange = 25,
2307
- InvalidRange = 26,
2308
- InvalidZones = 27,
2309
- InvalidSheetId = 28,
2310
- InvalidFigureId = 29,
2311
- InputAlreadyFocused = 30,
2312
- MaximumRangesReached = 31,
2313
- InvalidChartDefinition = 32,
2314
- InvalidDataSet = 33,
2315
- InvalidLabelRange = 34,
2316
- InvalidScorecardKeyValue = 35,
2317
- InvalidScorecardBaseline = 36,
2318
- InvalidGaugeDataRange = 37,
2319
- EmptyGaugeRangeMin = 38,
2320
- GaugeRangeMinNaN = 39,
2321
- EmptyGaugeRangeMax = 40,
2322
- GaugeRangeMaxNaN = 41,
2323
- GaugeRangeMinBiggerThanRangeMax = 42,
2324
- GaugeLowerInflectionPointNaN = 43,
2325
- GaugeUpperInflectionPointNaN = 44,
2326
- GaugeLowerBiggerThanUpper = 45,
2327
- InvalidAutofillSelection = 46,
2328
- WrongComposerSelection = 47,
2329
- MinBiggerThanMax = 48,
2330
- LowerBiggerThanUpper = 49,
2331
- MidBiggerThanMax = 50,
2332
- MinBiggerThanMid = 51,
2333
- FirstArgMissing = 52,
2334
- SecondArgMissing = 53,
2335
- MinNaN = 54,
2336
- MidNaN = 55,
2337
- MaxNaN = 56,
2338
- ValueUpperInflectionNaN = 57,
2339
- ValueLowerInflectionNaN = 58,
2340
- MinInvalidFormula = 59,
2341
- MidInvalidFormula = 60,
2342
- MaxInvalidFormula = 61,
2343
- ValueUpperInvalidFormula = 62,
2344
- ValueLowerInvalidFormula = 63,
2345
- InvalidSortZone = 64,
2346
- WaitingSessionConfirmation = 65,
2347
- MergeOverlap = 66,
2348
- TooManyHiddenElements = 67,
2349
- Readonly = 68,
2350
- InvalidViewportSize = 69,
2351
- InvalidScrollingDirection = 70,
2352
- FigureDoesNotExist = 71,
2353
- InvalidConditionalFormatId = 72,
2354
- InvalidCellPopover = 73,
2355
- EmptyTarget = 74,
2356
- InvalidFreezeQuantity = 75,
2357
- FrozenPaneOverlap = 76,
2358
- ValuesNotChanged = 77,
2359
- InvalidFilterZone = 78,
2360
- FilterOverlap = 79,
2361
- FilterNotFound = 80,
2362
- MergeInFilter = 81,
2363
- NonContinuousTargets = 82,
2364
- DuplicatedFigureId = 83,
2365
- InvalidSelectionStep = 84,
2366
- DuplicatedChartId = 85,
2367
- ChartDoesNotExist = 86,
2368
- InvalidHeaderIndex = 87,
2369
- InvalidQuantity = 88,
2370
- MoreThanOneColumnSelected = 89,
2371
- EmptySplitSeparator = 90,
2372
- SplitWillOverwriteContent = 91,
2373
- NoSplitSeparatorInSelection = 92,
2374
- NoActiveSheet = 93,
2375
- InvalidLocale = 94,
2376
- AlreadyInPaintingFormatMode = 95
2338
+ Success = "Success",
2339
+ CancelledForUnknownReason = "CancelledForUnknownReason",
2340
+ WillRemoveExistingMerge = "WillRemoveExistingMerge",
2341
+ MergeIsDestructive = "MergeIsDestructive",
2342
+ CellIsMerged = "CellIsMerged",
2343
+ InvalidTarget = "InvalidTarget",
2344
+ EmptyUndoStack = "EmptyUndoStack",
2345
+ EmptyRedoStack = "EmptyRedoStack",
2346
+ NotEnoughElements = "NotEnoughElements",
2347
+ NotEnoughSheets = "NotEnoughSheets",
2348
+ MissingSheetName = "MissingSheetName",
2349
+ UnchangedSheetName = "UnchangedSheetName",
2350
+ DuplicatedSheetName = "DuplicatedSheetName",
2351
+ DuplicatedSheetId = "DuplicatedSheetId",
2352
+ ForbiddenCharactersInSheetName = "ForbiddenCharactersInSheetName",
2353
+ WrongSheetMove = "WrongSheetMove",
2354
+ WrongSheetPosition = "WrongSheetPosition",
2355
+ InvalidAnchorZone = "InvalidAnchorZone",
2356
+ SelectionOutOfBound = "SelectionOutOfBound",
2357
+ TargetOutOfSheet = "TargetOutOfSheet",
2358
+ WrongCutSelection = "WrongCutSelection",
2359
+ WrongPasteSelection = "WrongPasteSelection",
2360
+ WrongPasteOption = "WrongPasteOption",
2361
+ WrongFigurePasteOption = "WrongFigurePasteOption",
2362
+ EmptyClipboard = "EmptyClipboard",
2363
+ EmptyRange = "EmptyRange",
2364
+ InvalidRange = "InvalidRange",
2365
+ InvalidZones = "InvalidZones",
2366
+ InvalidSheetId = "InvalidSheetId",
2367
+ InvalidFigureId = "InvalidFigureId",
2368
+ InputAlreadyFocused = "InputAlreadyFocused",
2369
+ MaximumRangesReached = "MaximumRangesReached",
2370
+ InvalidChartDefinition = "InvalidChartDefinition",
2371
+ InvalidDataSet = "InvalidDataSet",
2372
+ InvalidLabelRange = "InvalidLabelRange",
2373
+ InvalidScorecardKeyValue = "InvalidScorecardKeyValue",
2374
+ InvalidScorecardBaseline = "InvalidScorecardBaseline",
2375
+ InvalidGaugeDataRange = "InvalidGaugeDataRange",
2376
+ EmptyGaugeRangeMin = "EmptyGaugeRangeMin",
2377
+ GaugeRangeMinNaN = "GaugeRangeMinNaN",
2378
+ EmptyGaugeRangeMax = "EmptyGaugeRangeMax",
2379
+ GaugeRangeMaxNaN = "GaugeRangeMaxNaN",
2380
+ GaugeRangeMinBiggerThanRangeMax = "GaugeRangeMinBiggerThanRangeMax",
2381
+ GaugeLowerInflectionPointNaN = "GaugeLowerInflectionPointNaN",
2382
+ GaugeUpperInflectionPointNaN = "GaugeUpperInflectionPointNaN",
2383
+ GaugeLowerBiggerThanUpper = "GaugeLowerBiggerThanUpper",
2384
+ InvalidAutofillSelection = "InvalidAutofillSelection",
2385
+ WrongComposerSelection = "WrongComposerSelection",
2386
+ MinBiggerThanMax = "MinBiggerThanMax",
2387
+ LowerBiggerThanUpper = "LowerBiggerThanUpper",
2388
+ MidBiggerThanMax = "MidBiggerThanMax",
2389
+ MinBiggerThanMid = "MinBiggerThanMid",
2390
+ FirstArgMissing = "FirstArgMissing",
2391
+ SecondArgMissing = "SecondArgMissing",
2392
+ MinNaN = "MinNaN",
2393
+ MidNaN = "MidNaN",
2394
+ MaxNaN = "MaxNaN",
2395
+ ValueUpperInflectionNaN = "ValueUpperInflectionNaN",
2396
+ ValueLowerInflectionNaN = "ValueLowerInflectionNaN",
2397
+ MinInvalidFormula = "MinInvalidFormula",
2398
+ MidInvalidFormula = "MidInvalidFormula",
2399
+ MaxInvalidFormula = "MaxInvalidFormula",
2400
+ ValueUpperInvalidFormula = "ValueUpperInvalidFormula",
2401
+ ValueLowerInvalidFormula = "ValueLowerInvalidFormula",
2402
+ InvalidSortZone = "InvalidSortZone",
2403
+ WaitingSessionConfirmation = "WaitingSessionConfirmation",
2404
+ MergeOverlap = "MergeOverlap",
2405
+ TooManyHiddenElements = "TooManyHiddenElements",
2406
+ Readonly = "Readonly",
2407
+ InvalidViewportSize = "InvalidViewportSize",
2408
+ InvalidScrollingDirection = "InvalidScrollingDirection",
2409
+ FigureDoesNotExist = "FigureDoesNotExist",
2410
+ InvalidConditionalFormatId = "InvalidConditionalFormatId",
2411
+ InvalidCellPopover = "InvalidCellPopover",
2412
+ EmptyTarget = "EmptyTarget",
2413
+ InvalidFreezeQuantity = "InvalidFreezeQuantity",
2414
+ FrozenPaneOverlap = "FrozenPaneOverlap",
2415
+ ValuesNotChanged = "ValuesNotChanged",
2416
+ InvalidFilterZone = "InvalidFilterZone",
2417
+ FilterOverlap = "FilterOverlap",
2418
+ FilterNotFound = "FilterNotFound",
2419
+ MergeInFilter = "MergeInFilter",
2420
+ NonContinuousTargets = "NonContinuousTargets",
2421
+ DuplicatedFigureId = "DuplicatedFigureId",
2422
+ InvalidSelectionStep = "InvalidSelectionStep",
2423
+ DuplicatedChartId = "DuplicatedChartId",
2424
+ ChartDoesNotExist = "ChartDoesNotExist",
2425
+ InvalidHeaderIndex = "InvalidHeaderIndex",
2426
+ InvalidQuantity = "InvalidQuantity",
2427
+ MoreThanOneColumnSelected = "MoreThanOneColumnSelected",
2428
+ EmptySplitSeparator = "EmptySplitSeparator",
2429
+ SplitWillOverwriteContent = "SplitWillOverwriteContent",
2430
+ NoSplitSeparatorInSelection = "NoSplitSeparatorInSelection",
2431
+ NoActiveSheet = "NoActiveSheet",
2432
+ InvalidLocale = "InvalidLocale",
2433
+ AlreadyInPaintingFormatMode = "AlreadyInPaintingFormatMode",
2434
+ MoreThanOneRangeSelected = "MoreThanOneRangeSelected",
2435
+ NoColumnsProvided = "NoColumnsProvided",
2436
+ ColumnsNotIncludedInZone = "ColumnsNotIncludedInZone",
2437
+ DuplicatesColumnsSelected = "DuplicatesColumnsSelected",
2438
+ InvalidHeaderGroupStartEnd = "InvalidHeaderGroupStartEnd",
2439
+ HeaderGroupAlreadyExists = "HeaderGroupAlreadyExists",
2440
+ UnknownHeaderGroup = "UnknownHeaderGroup"
2377
2441
  }
2378
2442
  interface CommandHandler<T> {
2379
2443
  allowDispatch(command: T): CommandResult | CommandResult[];
@@ -2639,6 +2703,13 @@ type ImmutableSet<T> = ReadonlySet<Immutable<T>>;
2639
2703
  type ImmutableObject<T> = {
2640
2704
  readonly [K in keyof T]: Immutable<T[K]>;
2641
2705
  };
2706
+ interface HeaderGroup {
2707
+ start: HeaderIndex;
2708
+ end: HeaderIndex;
2709
+ isFolded?: boolean;
2710
+ }
2711
+ type Direction = "up" | "down" | "left" | "right";
2712
+ type SelectionStep = number | "end";
2642
2713
 
2643
2714
  type LocaleCode = string & Alias;
2644
2715
  interface Locale {
@@ -2803,10 +2874,6 @@ interface ClipboardInterface {
2803
2874
  readText(): Promise<ClipboardReadResult>;
2804
2875
  }
2805
2876
 
2806
- interface EditTextOptions {
2807
- error?: string;
2808
- placeholder?: string;
2809
- }
2810
2877
  type NotificationType = "danger" | "info" | "success" | "warning";
2811
2878
  interface InformationNotification {
2812
2879
  text: string;
@@ -2817,7 +2884,6 @@ interface SpreadsheetEnv {
2817
2884
  notifyUser: (notification: InformationNotification) => any;
2818
2885
  raiseError: (text: string, callback?: () => void) => any;
2819
2886
  askConfirmation: (content: string, confirm: () => any, cancel?: () => any) => any;
2820
- editText: (title: string, callback: (text: string | null) => any, options?: EditTextOptions) => any;
2821
2887
  }
2822
2888
  interface SpreadsheetChildEnv extends SpreadsheetEnv {
2823
2889
  model: Model;
@@ -3128,6 +3194,7 @@ declare class CellPlugin extends CorePlugin<CoreState> implements CoreState {
3128
3194
  [key: number]: Format;
3129
3195
  }): Cell;
3130
3196
  exportForExcel(data: ExcelWorkbookData): void;
3197
+ private removeDefaultStyleValues;
3131
3198
  getCells(sheetId: UID): Record<UID, Cell>;
3132
3199
  /**
3133
3200
  * get a cell by ID. Used in evaluation when evaluating an async cell, we need to be able to find it back after
@@ -3411,6 +3478,85 @@ declare class FiltersPlugin extends CorePlugin<FiltersState> implements FiltersS
3411
3478
  exportForExcel(data: ExcelWorkbookData): void;
3412
3479
  }
3413
3480
 
3481
+ interface State$6 {
3482
+ groups: Record<UID, Record<Dimension, HeaderGroup[]>>;
3483
+ }
3484
+ declare class HeaderGroupingPlugin extends CorePlugin<State$6> {
3485
+ static getters: readonly ["getHeaderGroups", "getGroupsLayers", "getVisibleGroupLayers", "getHeaderGroup", "getHeaderGroupsInZone", "isGroupFolded", "isRowFolded", "isColFolded"];
3486
+ private readonly groups;
3487
+ allowDispatch(cmd: CoreCommand): CommandResult;
3488
+ handle(cmd: CoreCommand): void;
3489
+ getHeaderGroups(sheetId: UID, dim: Dimension): HeaderGroup[];
3490
+ getHeaderGroup(sheetId: UID, dim: Dimension, start: number, end: number): HeaderGroup | undefined;
3491
+ getHeaderGroupsInZone(sheetId: UID, dim: Dimension, zone: Zone): HeaderGroup[];
3492
+ /**
3493
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups.
3494
+ *
3495
+ * The layering rules are:
3496
+ * 1) A group containing another group should be on a layer above the group it contains
3497
+ * 2) The widest/highest groups should be on the left/top layer compared to the groups it contains
3498
+ * 3) The group should be on the left/top-most layer possible, barring intersections with other groups (see rules 1 and 2)
3499
+ */
3500
+ getGroupsLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
3501
+ /**
3502
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups,
3503
+ * excluding the groups that are totally hidden.
3504
+ */
3505
+ getVisibleGroupLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
3506
+ isGroupFolded(sheetId: UID, dimension: Dimension, start: number, end: number): boolean;
3507
+ isRowFolded(sheetId: UID, row: HeaderIndex): boolean;
3508
+ isColFolded(sheetId: UID, col: HeaderIndex): boolean;
3509
+ private getGroupId;
3510
+ /**
3511
+ * To get layers of groups, and to add/remove headers from groups, we can see each header of a group as a brick. Each
3512
+ * brick falls down in the pile corresponding to its header, until it hits another brick, or the ground.
3513
+ *
3514
+ * With this abstraction, we can very simply group/ungroup headers from groups, and get the layers of groups.
3515
+ * - grouping headers is done by adding a brick to each header pile
3516
+ * - un-grouping headers is done by removing a brick from each header pile
3517
+ * - getting the layers of groups is done by simply letting the brick fall and checking the result
3518
+ *
3519
+ * Example:
3520
+ * We have 2 groups ([A=>E] and [C=>D]), and we want to group headers [C=>F]
3521
+ *
3522
+ * Headers : A B C D E F G A B C D E F G A B C D E F G
3523
+ * Headers to group: [C=>D]: _ _ [C=>F]: _ _ _ _
3524
+ * | | ==> | | | | ==> ==> Result: 3 groups
3525
+ * | | ˅ ˅ | | _ _ - [C=>D]
3526
+ * Groups: ˅ ˅ _ _ ˅ | _ _ _ - [C=>E]
3527
+ * Groups: _ _ _ _ _ _ _ _ _ _ ˅ _ _ _ _ _ _ - [A=>F]
3528
+
3529
+ * @param groups
3530
+ * @param start start of the range where to add/remove headers
3531
+ * @param end end of the range where to add/remove headers
3532
+ * @param delta -1: remove headers, 1: add headers, 0: get layers (don't add/remove anything)
3533
+ */
3534
+ private bricksFallingAlgorithm;
3535
+ private groupHeaders;
3536
+ /**
3537
+ * Ungroup the given headers. The headers will be taken out of the group they are in. This might split a group into two
3538
+ * if the headers were in the middle of a group. If multiple groups contains a header, it will only be taken out of the
3539
+ * lowest group in the layering of the groups.
3540
+ */
3541
+ private unGroupHeaders;
3542
+ private moveGroupsOnHeaderInsertion;
3543
+ private moveGroupsOnHeaderDeletion;
3544
+ private doGroupOverlap;
3545
+ private removeDuplicateGroups;
3546
+ private findGroupWithStartEnd;
3547
+ /**
3548
+ * Fold the given group, and all the groups starting at the same index that are contained inside the given group.
3549
+ */
3550
+ private foldHeaderGroup;
3551
+ /**
3552
+ * Unfold the given group, and all the groups starting at the same index that contain the given group.
3553
+ */
3554
+ private unfoldHeaderGroup;
3555
+ private getGroupIndex;
3556
+ import(data: WorkbookData): void;
3557
+ export(data: WorkbookData): void;
3558
+ }
3559
+
3414
3560
  interface HeaderSizeState$1 {
3415
3561
  sizes: Record<UID, Record<Dimension, Array<Pixel | undefined>>>;
3416
3562
  }
@@ -3432,11 +3578,12 @@ declare class HeaderSizePlugin extends CorePlugin<HeaderSizeState$1> implements
3432
3578
  }
3433
3579
 
3434
3580
  declare class HeaderVisibilityPlugin extends CorePlugin {
3435
- static getters: readonly ["canRemoveHeaders", "getHiddenColsGroups", "getHiddenRowsGroups", "isRowHiddenByUser", "isColHiddenByUser"];
3581
+ static getters: readonly ["checkElementsIncludeAllVisibleHeaders", "getHiddenColsGroups", "getHiddenRowsGroups", "isHeaderHiddenByUser", "isRowHiddenByUser", "isColHiddenByUser"];
3436
3582
  private readonly hiddenHeaders;
3437
3583
  allowDispatch(cmd: Command): CommandResult.Success | CommandResult.NotEnoughElements | CommandResult.InvalidSheetId | CommandResult.TooManyHiddenElements | CommandResult.InvalidHeaderIndex;
3438
3584
  handle(cmd: Command): void;
3439
- canRemoveHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3585
+ checkElementsIncludeAllVisibleHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3586
+ isHeaderHiddenByUser(sheetId: UID, dimension: Dimension, index: HeaderIndex): boolean;
3440
3587
  isRowHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
3441
3588
  isColHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
3442
3589
  getHiddenColsGroups(sheetId: UID): ConsecutiveIndexes[];
@@ -3573,7 +3720,7 @@ interface SheetState$1 {
3573
3720
  readonly cellPosition: Record<UID, CellPosition | undefined>;
3574
3721
  }
3575
3722
  declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState$1 {
3576
- static getters: readonly ["getSheetName", "tryGetSheetName", "getSheet", "tryGetSheet", "getSheetIdByName", "getSheetIds", "getVisibleSheetIds", "isSheetVisible", "getEvaluationSheets", "doesHeaderExist", "getCell", "getCellPosition", "getColsZone", "getRowCells", "getRowsZone", "getNumberCols", "getNumberRows", "getNumberHeaders", "getGridLinesVisibility", "getNextSheetName", "isEmpty", "getSheetSize", "getSheetZone", "getPaneDivisions", "checkZonesExistInSheet", "getCommandZones", "getUnboundedZone"];
3723
+ static getters: readonly ["getSheetName", "tryGetSheetName", "getSheet", "tryGetSheet", "getSheetIdByName", "getSheetIds", "getVisibleSheetIds", "isSheetVisible", "getEvaluationSheets", "doesHeaderExist", "doesHeadersExist", "getCell", "getCellPosition", "getColsZone", "getRowCells", "getRowsZone", "getNumberCols", "getNumberRows", "getNumberHeaders", "getGridLinesVisibility", "getNextSheetName", "isEmpty", "getSheetSize", "getSheetZone", "getPaneDivisions", "checkZonesExistInSheet", "getCommandZones", "getUnboundedZone", "checkElementsIncludeAllNonFrozenHeaders"];
3577
3724
  readonly sheetIdsMapName: Record<string, UID | undefined>;
3578
3725
  readonly orderedSheetIds: UID[];
3579
3726
  readonly sheets: Record<UID, Sheet | undefined>;
@@ -3601,6 +3748,7 @@ declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState
3601
3748
  getVisibleSheetIds(): UID[];
3602
3749
  getEvaluationSheets(): Record<UID, Sheet | undefined>;
3603
3750
  doesHeaderExist(sheetId: UID, dimension: Dimension, index: number): boolean;
3751
+ doesHeadersExist(sheetId: UID, dimension: Dimension, headerIndexes: HeaderIndex[]): boolean;
3604
3752
  getRow(sheetId: UID, index: HeaderIndex): Row;
3605
3753
  getCell({ sheetId, col, row }: CellPosition): Cell | undefined;
3606
3754
  getColsZone(sheetId: UID, start: HeaderIndex, end: HeaderIndex): Zone;
@@ -3616,6 +3764,11 @@ declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState
3616
3764
  getUnboundedZone(sheetId: UID, zone: Zone): UnboundedZone;
3617
3765
  getPaneDivisions(sheetId: UID): Readonly<PaneDivision>;
3618
3766
  private setPaneDivisions;
3767
+ /**
3768
+ * Checks if all non-frozen header indices are present in the provided elements of selected rows/columns.
3769
+ * This validation ensures that all rows or columns cannot be deleted when frozen panes exist.
3770
+ */
3771
+ checkElementsIncludeAllNonFrozenHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3619
3772
  /**
3620
3773
  * Check if a zone only contains empty cells
3621
3774
  */
@@ -4820,7 +4973,8 @@ type ConditionalFormatGetters = Pick<ConditionalFormatPlugin, GetterNames<typeof
4820
4973
  type LocalHistoryGetters = Pick<HistoryPlugin, GetterNames<typeof HistoryPlugin>>;
4821
4974
  type FiltersGetters = Pick<FiltersPlugin, GetterNames<typeof FiltersPlugin>>;
4822
4975
  type SettingsGetters = Pick<SettingsPlugin, GetterNames<typeof SettingsPlugin>>;
4823
- type CoreGetters = SheetGetters & HeaderSizeGetters & HeaderVisibilityGetters & CellGetters & MergeGetters & BordersGetters & ChartGetters & ImageGetters & ConditionalFormatGetters & FigureGetters & RangeAdapterGetters & FiltersGetters & SettingsGetters;
4976
+ type HeaderGroupingGetters = Pick<HeaderGroupingPlugin, GetterNames<typeof HeaderGroupingPlugin>>;
4977
+ type CoreGetters = SheetGetters & HeaderSizeGetters & HeaderVisibilityGetters & CellGetters & MergeGetters & BordersGetters & ChartGetters & ImageGetters & ConditionalFormatGetters & FigureGetters & RangeAdapterGetters & FiltersGetters & SettingsGetters & HeaderGroupingGetters;
4824
4978
  type AutofillGetters = Pick<AutofillPlugin, GetterNames<typeof AutofillPlugin>>;
4825
4979
  type AutomaticSumGetters = Pick<AutomaticSumPlugin, GetterNames<typeof AutomaticSumPlugin>>;
4826
4980
  type ClipboardGetters = Pick<ClipboardPlugin, GetterNames<typeof ClipboardPlugin>>;
@@ -4877,9 +5031,6 @@ interface TransformationFactory<T = unknown> {
4877
5031
  with: (operation: T) => Transformation<T>;
4878
5032
  }
4879
5033
 
4880
- type SelectionDirection = "up" | "down" | "left" | "right";
4881
- type SelectionStep = number | "end";
4882
-
4883
5034
  type CellPopoverType = "ErrorToolTip" | "LinkDisplay" | "FilterMenu" | "LinkEditor";
4884
5035
  type PopoverPropsPosition = "TopRight" | "BottomLeft";
4885
5036
  type MaxSizedComponentConstructor = ComponentConstructor & {
@@ -5029,7 +5180,7 @@ interface ChartBuilder {
5029
5180
  sequence: number;
5030
5181
  }
5031
5182
 
5032
- interface Props$F {
5183
+ interface Props$H {
5033
5184
  ranges: () => string[];
5034
5185
  hasSingleRange?: boolean;
5035
5186
  required?: boolean;
@@ -5051,7 +5202,7 @@ interface SelectionRange extends Omit<RangeInputValue, "color"> {
5051
5202
  * onSelectionChanged is called every time the input value
5052
5203
  * changes.
5053
5204
  */
5054
- declare class SelectionInput extends Component<Props$F, SpreadsheetChildEnv> {
5205
+ declare class SelectionInput extends Component<Props$H, SpreadsheetChildEnv> {
5055
5206
  static template: string;
5056
5207
  private id;
5057
5208
  private previousRanges;
@@ -5080,22 +5231,22 @@ declare class SelectionInput extends Component<Props$F, SpreadsheetChildEnv> {
5080
5231
  confirm(): void;
5081
5232
  }
5082
5233
 
5083
- interface Props$E {
5234
+ interface Props$G {
5084
5235
  messages: string[];
5085
5236
  msgType: "warning" | "error";
5086
5237
  }
5087
- declare class SidePanelErrors extends Component<Props$E, SpreadsheetChildEnv> {
5238
+ declare class SidePanelErrors extends Component<Props$G, SpreadsheetChildEnv> {
5088
5239
  static template: string;
5089
5240
  get divClasses(): "o-sidepanel-warning text-warning" | "o-sidepanel-error text-danger";
5090
5241
  }
5091
5242
 
5092
- interface Props$D {
5243
+ interface Props$F {
5093
5244
  figureId: UID;
5094
5245
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
5095
5246
  canUpdateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5096
5247
  updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5097
5248
  }
5098
- declare class LineBarPieConfigPanel extends Component<Props$D, SpreadsheetChildEnv> {
5249
+ declare class LineBarPieConfigPanel extends Component<Props$F, SpreadsheetChildEnv> {
5099
5250
  static template: string;
5100
5251
  static components: {
5101
5252
  SelectionInput: typeof SelectionInput;
@@ -5136,6 +5287,7 @@ declare class BarConfigPanel extends LineBarPieConfigPanel {
5136
5287
  declare enum ComponentsImportance {
5137
5288
  Grid = 0,
5138
5289
  Highlight = 5,
5290
+ HeaderGroupingButton = 6,
5139
5291
  Figure = 10,
5140
5292
  ScrollBar = 15,
5141
5293
  GridPopover = 19,
@@ -5223,7 +5375,7 @@ declare class ColorPicker extends Component<ColorPickerProps, SpreadsheetChildEn
5223
5375
  isSameColor(color1: Color, color2: Color): boolean;
5224
5376
  }
5225
5377
 
5226
- interface Props$C {
5378
+ interface Props$E {
5227
5379
  currentColor: string | undefined;
5228
5380
  toggleColorPicker: () => void;
5229
5381
  showColorPicker: boolean;
@@ -5234,7 +5386,7 @@ interface Props$C {
5234
5386
  dropdownMaxHeight?: Pixel;
5235
5387
  class?: string;
5236
5388
  }
5237
- declare class ColorPickerWidget extends Component<Props$C, SpreadsheetChildEnv> {
5389
+ declare class ColorPickerWidget extends Component<Props$E, SpreadsheetChildEnv> {
5238
5390
  static template: string;
5239
5391
  static components: {
5240
5392
  ColorPicker: typeof ColorPicker;
@@ -5246,13 +5398,13 @@ declare class ColorPickerWidget extends Component<Props$C, SpreadsheetChildEnv>
5246
5398
  get colorPickerAnchorRect(): Rect;
5247
5399
  }
5248
5400
 
5249
- interface Props$B {
5401
+ interface Props$D {
5250
5402
  figureId: UID;
5251
5403
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
5252
5404
  canUpdateChart: (definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5253
5405
  updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5254
5406
  }
5255
- declare class LineBarPieDesignPanel extends Component<Props$B, SpreadsheetChildEnv> {
5407
+ declare class LineBarPieDesignPanel extends Component<Props$D, SpreadsheetChildEnv> {
5256
5408
  static template: string;
5257
5409
  static components: {
5258
5410
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5266,13 +5418,13 @@ declare class LineBarPieDesignPanel extends Component<Props$B, SpreadsheetChildE
5266
5418
  updateSelect(attr: string, ev: any): void;
5267
5419
  }
5268
5420
 
5269
- interface Props$A {
5421
+ interface Props$C {
5270
5422
  figureId: UID;
5271
5423
  definition: GaugeChartDefinition;
5272
5424
  canUpdateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5273
5425
  updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5274
5426
  }
5275
- declare class GaugeChartConfigPanel extends Component<Props$A, SpreadsheetChildEnv> {
5427
+ declare class GaugeChartConfigPanel extends Component<Props$C, SpreadsheetChildEnv> {
5276
5428
  static template: string;
5277
5429
  static components: {
5278
5430
  SelectionInput: typeof SelectionInput;
@@ -5288,13 +5440,13 @@ declare class GaugeChartConfigPanel extends Component<Props$A, SpreadsheetChildE
5288
5440
  }
5289
5441
 
5290
5442
  type GaugeMenu = "backgroundColor" | "sectionColor-lowerColor" | "sectionColor-middleColor" | "sectionColor-upperColor";
5291
- interface Props$z {
5443
+ interface Props$B {
5292
5444
  figureId: UID;
5293
5445
  definition: GaugeChartDefinition;
5294
5446
  canUpdateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5295
5447
  updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5296
5448
  }
5297
- declare class GaugeChartDesignPanel extends Component<Props$z, SpreadsheetChildEnv> {
5449
+ declare class GaugeChartDesignPanel extends Component<Props$B, SpreadsheetChildEnv> {
5298
5450
  static template: string;
5299
5451
  static components: {
5300
5452
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5322,15 +5474,16 @@ declare class LineConfigPanel extends LineBarPieConfigPanel {
5322
5474
  onUpdateLabelsAsText(ev: any): void;
5323
5475
  onUpdateStacked(ev: any): void;
5324
5476
  onUpdateAggregated(ev: any): void;
5477
+ onUpdateCumulative(ev: any): void;
5325
5478
  }
5326
5479
 
5327
- interface Props$y {
5480
+ interface Props$A {
5328
5481
  figureId: UID;
5329
5482
  definition: ScorecardChartDefinition;
5330
5483
  canUpdateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5331
5484
  updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5332
5485
  }
5333
- declare class ScorecardChartConfigPanel extends Component<Props$y, SpreadsheetChildEnv> {
5486
+ declare class ScorecardChartConfigPanel extends Component<Props$A, SpreadsheetChildEnv> {
5334
5487
  static template: string;
5335
5488
  static components: {
5336
5489
  SelectionInput: typeof SelectionInput;
@@ -5352,13 +5505,13 @@ declare class ScorecardChartConfigPanel extends Component<Props$y, SpreadsheetCh
5352
5505
  }
5353
5506
 
5354
5507
  type ColorPickerId = undefined | "backgroundColor" | "baselineColorUp" | "baselineColorDown";
5355
- interface Props$x {
5508
+ interface Props$z {
5356
5509
  figureId: UID;
5357
5510
  definition: ScorecardChartDefinition;
5358
5511
  canUpdateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5359
5512
  updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5360
5513
  }
5361
- declare class ScorecardChartDesignPanel extends Component<Props$x, SpreadsheetChildEnv> {
5514
+ declare class ScorecardChartDesignPanel extends Component<Props$z, SpreadsheetChildEnv> {
5362
5515
  static template: string;
5363
5516
  static components: {
5364
5517
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5502,10 +5655,10 @@ interface AutofillRule {
5502
5655
  sequence: number;
5503
5656
  }
5504
5657
 
5505
- interface Props$w {
5658
+ interface Props$y {
5506
5659
  figure: Figure;
5507
5660
  }
5508
- declare class ChartJsComponent extends Component<Props$w, SpreadsheetChildEnv> {
5661
+ declare class ChartJsComponent extends Component<Props$y, SpreadsheetChildEnv> {
5509
5662
  static template: string;
5510
5663
  private canvas;
5511
5664
  private chart?;
@@ -5517,10 +5670,10 @@ declare class ChartJsComponent extends Component<Props$w, SpreadsheetChildEnv> {
5517
5670
  private updateChartJs;
5518
5671
  }
5519
5672
 
5520
- interface Props$v {
5673
+ interface Props$x {
5521
5674
  figure: Figure;
5522
5675
  }
5523
- declare class ScorecardChart extends Component<Props$v, SpreadsheetChildEnv> {
5676
+ declare class ScorecardChart extends Component<Props$x, SpreadsheetChildEnv> {
5524
5677
  static template: string;
5525
5678
  private ctx;
5526
5679
  get runtime(): ScorecardChartRuntime;
@@ -5553,7 +5706,7 @@ declare class ScorecardChart extends Component<Props$v, SpreadsheetChildEnv> {
5553
5706
  }
5554
5707
 
5555
5708
  type MenuItemOrSeparator = Action | "separator";
5556
- interface Props$u {
5709
+ interface Props$w {
5557
5710
  position: DOMCoordinates;
5558
5711
  menuItems: Action[];
5559
5712
  depth: number;
@@ -5569,7 +5722,7 @@ interface MenuState {
5569
5722
  scrollOffset?: Pixel;
5570
5723
  menuItems: Action[];
5571
5724
  }
5572
- declare class Menu extends Component<Props$u, SpreadsheetChildEnv> {
5725
+ declare class Menu extends Component<Props$w, SpreadsheetChildEnv> {
5573
5726
  static template: string;
5574
5727
  static components: {
5575
5728
  Menu: typeof Menu;
@@ -5607,14 +5760,14 @@ declare class Menu extends Component<Props$u, SpreadsheetChildEnv> {
5607
5760
  }
5608
5761
 
5609
5762
  type ResizeAnchor = "top left" | "top" | "top right" | "right" | "bottom right" | "bottom" | "bottom left" | "left";
5610
- interface Props$t {
5763
+ interface Props$v {
5611
5764
  figure: Figure;
5612
5765
  style: string;
5613
5766
  onFigureDeleted: () => void;
5614
5767
  onMouseDown: (ev: MouseEvent) => void;
5615
5768
  onClickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
5616
5769
  }
5617
- declare class FigureComponent extends Component<Props$t, SpreadsheetChildEnv> {
5770
+ declare class FigureComponent extends Component<Props$v, SpreadsheetChildEnv> {
5618
5771
  static template: string;
5619
5772
  static components: {
5620
5773
  Menu: typeof Menu;
@@ -5644,11 +5797,11 @@ declare class FigureComponent extends Component<Props$t, SpreadsheetChildEnv> {
5644
5797
  private openContextMenu;
5645
5798
  }
5646
5799
 
5647
- interface Props$s {
5800
+ interface Props$u {
5648
5801
  figure: Figure;
5649
5802
  onFigureDeleted: () => void;
5650
5803
  }
5651
- declare class ChartFigure extends Component<Props$s, SpreadsheetChildEnv> {
5804
+ declare class ChartFigure extends Component<Props$u, SpreadsheetChildEnv> {
5652
5805
  static template: string;
5653
5806
  static components: {};
5654
5807
  onDoubleClick(): void;
@@ -5656,7 +5809,7 @@ declare class ChartFigure extends Component<Props$s, SpreadsheetChildEnv> {
5656
5809
  get chartComponent(): new (...args: any) => Component;
5657
5810
  }
5658
5811
 
5659
- interface Props$r {
5812
+ interface Props$t {
5660
5813
  isVisible: boolean;
5661
5814
  position: Position;
5662
5815
  }
@@ -5668,7 +5821,7 @@ interface State$5 {
5668
5821
  position: Position;
5669
5822
  handler: boolean;
5670
5823
  }
5671
- declare class Autofill extends Component<Props$r, SpreadsheetChildEnv> {
5824
+ declare class Autofill extends Component<Props$t, SpreadsheetChildEnv> {
5672
5825
  static template: string;
5673
5826
  state: State$5;
5674
5827
  get style(): string;
@@ -5742,13 +5895,13 @@ declare class Ripple extends Component<RippleProps, SpreadsheetChildEnv> {
5742
5895
  getRippleEffectProps(id: number): RippleEffectProps;
5743
5896
  }
5744
5897
 
5745
- interface Props$q {
5898
+ interface Props$s {
5746
5899
  sheetId: string;
5747
5900
  openContextMenu: (registry: MenuItemRegistry, ev: MouseEvent) => void;
5748
5901
  style?: string;
5749
5902
  onMouseDown: (ev: MouseEvent) => void;
5750
5903
  }
5751
- declare class BottomBarSheet extends Component<Props$q, SpreadsheetChildEnv> {
5904
+ declare class BottomBarSheet extends Component<Props$s, SpreadsheetChildEnv> {
5752
5905
  static template: string;
5753
5906
  static components: {
5754
5907
  Ripple: typeof Ripple;
@@ -5782,11 +5935,11 @@ declare class BottomBarSheet extends Component<Props$q, SpreadsheetChildEnv> {
5782
5935
  get sheetName(): string;
5783
5936
  }
5784
5937
 
5785
- interface Props$p {
5938
+ interface Props$r {
5786
5939
  openContextMenu: (x: number, y: number, registry: MenuItemRegistry) => void;
5787
5940
  closeContextMenu: () => void;
5788
5941
  }
5789
- declare class BottomBarStatistic extends Component<Props$p, SpreadsheetChildEnv> {
5942
+ declare class BottomBarStatistic extends Component<Props$r, SpreadsheetChildEnv> {
5790
5943
  static template: string;
5791
5944
  static components: {
5792
5945
  Ripple: typeof Ripple;
@@ -5808,13 +5961,13 @@ interface SheetState {
5808
5961
  isDnd: boolean;
5809
5962
  sheetDndPositions: Record<UID, number> | undefined;
5810
5963
  }
5811
- interface Props$o {
5964
+ interface Props$q {
5812
5965
  onClick: () => void;
5813
5966
  }
5814
5967
  interface BottomBarMenuState extends MenuState {
5815
5968
  menuId: UID | undefined;
5816
5969
  }
5817
- declare class BottomBar extends Component<Props$o, SpreadsheetChildEnv> {
5970
+ declare class BottomBar extends Component<Props$q, SpreadsheetChildEnv> {
5818
5971
  static template: string;
5819
5972
  static components: {
5820
5973
  Menu: typeof Menu;
@@ -5857,21 +6010,21 @@ declare class BottomBar extends Component<Props$o, SpreadsheetChildEnv> {
5857
6010
  get sheetListMaxScroll(): number;
5858
6011
  }
5859
6012
 
5860
- interface Props$n {
6013
+ interface Props$p {
5861
6014
  position: DOMCoordinates;
5862
6015
  isActive: boolean;
5863
6016
  onClick: () => void;
5864
6017
  }
5865
- declare class FilterIcon extends Component<Props$n, SpreadsheetEnv> {
6018
+ declare class FilterIcon extends Component<Props$p, SpreadsheetEnv> {
5866
6019
  static style: string;
5867
6020
  static template: string;
5868
6021
  get style(): string;
5869
6022
  }
5870
6023
 
5871
- interface Props$m {
6024
+ interface Props$o {
5872
6025
  gridPosition: DOMCoordinates;
5873
6026
  }
5874
- declare class FilterIconsOverlay extends Component<Props$m, SpreadsheetChildEnv> {
6027
+ declare class FilterIconsOverlay extends Component<Props$o, SpreadsheetChildEnv> {
5875
6028
  static style: string;
5876
6029
  static template: string;
5877
6030
  static components: {
@@ -5901,7 +6054,7 @@ interface SnapLine<T extends HFigureAxisType | VFigureAxisType> {
5901
6054
  }
5902
6055
 
5903
6056
  type ContainerType = "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "dnd";
5904
- interface Props$l {
6057
+ interface Props$n {
5905
6058
  onFigureDeleted: () => void;
5906
6059
  }
5907
6060
  interface Container {
@@ -5980,7 +6133,7 @@ interface DndState {
5980
6133
  * that occurred during the drag & drop, and to position the figure on the correct pane.
5981
6134
  *
5982
6135
  */
5983
- declare class FiguresContainer extends Component<Props$l, SpreadsheetChildEnv> {
6136
+ declare class FiguresContainer extends Component<Props$n, SpreadsheetChildEnv> {
5984
6137
  static template: string;
5985
6138
  static components: {
5986
6139
  FigureComponent: typeof FigureComponent;
@@ -6012,7 +6165,7 @@ declare class FiguresContainer extends Component<Props$l, SpreadsheetChildEnv> {
6012
6165
  private getSnapLineStyle;
6013
6166
  }
6014
6167
 
6015
- interface Props$k {
6168
+ interface Props$m {
6016
6169
  onCellHovered: (position: Partial<Position$1>) => void;
6017
6170
  onCellDoubleClicked: (col: HeaderIndex, row: HeaderIndex) => void;
6018
6171
  onCellClicked: (col: HeaderIndex, row: HeaderIndex, modifiers: {
@@ -6020,12 +6173,12 @@ interface Props$k {
6020
6173
  shiftKey: boolean;
6021
6174
  }) => void;
6022
6175
  onCellRightClicked: (col: HeaderIndex, row: HeaderIndex, coordinates: DOMCoordinates) => void;
6023
- onGridResized: (dimension: DOMDimension) => void;
6176
+ onGridResized: (dimension: Rect) => void;
6024
6177
  onGridMoved: (deltaX: Pixel, deltaY: Pixel) => void;
6025
6178
  gridOverlayDimensions: string;
6026
6179
  onFigureDeleted: () => void;
6027
6180
  }
6028
- declare class GridOverlay extends Component<Props$k, SpreadsheetChildEnv> {
6181
+ declare class GridOverlay extends Component<Props$m, SpreadsheetChildEnv> {
6029
6182
  static template: string;
6030
6183
  static components: {
6031
6184
  FiguresContainer: typeof FiguresContainer;
@@ -6049,13 +6202,13 @@ declare class GridOverlay extends Component<Props$k, SpreadsheetChildEnv> {
6049
6202
  private getCartesianCoordinates;
6050
6203
  }
6051
6204
 
6052
- interface Props$j {
6205
+ interface Props$l {
6053
6206
  hoveredCell: Partial<Position$1>;
6054
6207
  gridRect: Rect;
6055
6208
  onClosePopover: () => void;
6056
6209
  onMouseWheel: (ev: WheelEvent) => void;
6057
6210
  }
6058
- declare class GridPopover extends Component<Props$j, SpreadsheetChildEnv> {
6211
+ declare class GridPopover extends Component<Props$l, SpreadsheetChildEnv> {
6059
6212
  static template: string;
6060
6213
  static components: {
6061
6214
  Popover: typeof Popover;
@@ -6066,7 +6219,7 @@ declare class GridPopover extends Component<Props$j, SpreadsheetChildEnv> {
6066
6219
 
6067
6220
  type ScrollDirection = "horizontal" | "vertical";
6068
6221
 
6069
- interface Props$i {
6222
+ interface Props$k {
6070
6223
  width: Pixel;
6071
6224
  height: Pixel;
6072
6225
  direction: ScrollDirection;
@@ -6074,7 +6227,7 @@ interface Props$i {
6074
6227
  offset: Pixel;
6075
6228
  onScroll: (offset: Pixel) => void;
6076
6229
  }
6077
- declare class ScrollBar extends Component<Props$i> {
6230
+ declare class ScrollBar extends Component<Props$k> {
6078
6231
  static template: string;
6079
6232
  static defaultProps: {
6080
6233
  width: number;
@@ -6088,10 +6241,10 @@ declare class ScrollBar extends Component<Props$i> {
6088
6241
  onScroll(ev: any): void;
6089
6242
  }
6090
6243
 
6091
- interface Props$h {
6244
+ interface Props$j {
6092
6245
  leftOffset: number;
6093
6246
  }
6094
- declare class HorizontalScrollBar extends Component<Props$h, SpreadsheetChildEnv> {
6247
+ declare class HorizontalScrollBar extends Component<Props$j, SpreadsheetChildEnv> {
6095
6248
  static components: {
6096
6249
  ScrollBar: typeof ScrollBar;
6097
6250
  };
@@ -6111,10 +6264,10 @@ declare class HorizontalScrollBar extends Component<Props$h, SpreadsheetChildEnv
6111
6264
  onScroll(offset: any): void;
6112
6265
  }
6113
6266
 
6114
- interface Props$g {
6267
+ interface Props$i {
6115
6268
  topOffset: number;
6116
6269
  }
6117
- declare class VerticalScrollBar extends Component<Props$g, SpreadsheetChildEnv> {
6270
+ declare class VerticalScrollBar extends Component<Props$i, SpreadsheetChildEnv> {
6118
6271
  static components: {
6119
6272
  ScrollBar: typeof ScrollBar;
6120
6273
  };
@@ -6134,7 +6287,7 @@ declare class VerticalScrollBar extends Component<Props$g, SpreadsheetChildEnv>
6134
6287
  onScroll(offset: any): void;
6135
6288
  }
6136
6289
 
6137
- interface Props$f {
6290
+ interface Props$h {
6138
6291
  }
6139
6292
  interface ClickableCell {
6140
6293
  coordinates: Rect;
@@ -6142,7 +6295,7 @@ interface ClickableCell {
6142
6295
  action: (position: CellPosition, env: SpreadsheetChildEnv) => void;
6143
6296
  tKey: string;
6144
6297
  }
6145
- declare class SpreadsheetDashboard extends Component<Props$f, SpreadsheetChildEnv> {
6298
+ declare class SpreadsheetDashboard extends Component<Props$h, SpreadsheetChildEnv> {
6146
6299
  static template: string;
6147
6300
  static components: {
6148
6301
  GridOverlay: typeof GridOverlay;
@@ -6178,6 +6331,66 @@ declare class SpreadsheetDashboard extends Component<Props$f, SpreadsheetChildEn
6178
6331
  private getGridRect;
6179
6332
  }
6180
6333
 
6334
+ interface Props$g {
6335
+ group: HeaderGroup;
6336
+ layerOffset: number;
6337
+ openContextMenu(position: DOMCoordinates, menuItems: Action[]): void;
6338
+ }
6339
+ interface GroupBox {
6340
+ groupRect: Rect;
6341
+ headerRect: Rect;
6342
+ isEndHidden: boolean;
6343
+ }
6344
+ declare abstract class AbstractHeaderGroup extends Component<Props$g, SpreadsheetChildEnv> {
6345
+ static template: string;
6346
+ abstract dimension: Dimension;
6347
+ toggleGroup(): void;
6348
+ get groupBoxStyle(): string;
6349
+ abstract get groupBorderStyle(): string;
6350
+ abstract get groupHeaderStyle(): string;
6351
+ get groupButtonStyle(): string;
6352
+ get groupButtonIcon(): string;
6353
+ get isGroupFolded(): boolean;
6354
+ /** The box that will be used to draw the header group. */
6355
+ abstract get groupBox(): GroupBox;
6356
+ onContextMenu(ev: MouseEvent): void;
6357
+ }
6358
+ declare class RowGroup extends AbstractHeaderGroup {
6359
+ dimension: Dimension;
6360
+ get groupBorderStyle(): string;
6361
+ get groupHeaderStyle(): string;
6362
+ get groupBox(): GroupBox;
6363
+ }
6364
+ declare class ColGroup extends AbstractHeaderGroup {
6365
+ dimension: Dimension;
6366
+ get groupBorderStyle(): string;
6367
+ get groupHeaderStyle(): string;
6368
+ get groupBox(): GroupBox;
6369
+ }
6370
+
6371
+ interface Props$f {
6372
+ dimension: Dimension;
6373
+ layers: HeaderGroup[][];
6374
+ }
6375
+ declare class HeaderGroupContainer extends Component<Props$f, SpreadsheetChildEnv> {
6376
+ static template: string;
6377
+ static components: {
6378
+ RowGroup: typeof RowGroup;
6379
+ ColGroup: typeof ColGroup;
6380
+ Menu: typeof Menu;
6381
+ };
6382
+ menu: MenuState;
6383
+ getLayerOffset(layerIndex: number): number;
6384
+ onContextMenu(event: MouseEvent): void;
6385
+ openContextMenu(position: DOMCoordinates, menuItems: Action[]): void;
6386
+ closeMenu(): void;
6387
+ get groupComponent(): typeof RowGroup;
6388
+ get hasFrozenPane(): boolean;
6389
+ get scrollContainerStyle(): string;
6390
+ get frozenPaneContainerStyle(): string;
6391
+ get frozenPaneContainerSize(): Pixel;
6392
+ }
6393
+
6181
6394
  interface Props$e {
6182
6395
  component: string;
6183
6396
  panelProps: any;
@@ -6392,7 +6605,13 @@ declare const freezeCurrentCol: ActionSpec;
6392
6605
  declare const viewGridlines: ActionSpec;
6393
6606
  declare const viewFormulas: ActionSpec;
6394
6607
  declare const createRemoveFilter: ActionSpec;
6608
+ declare const groupColumns: ActionSpec;
6609
+ declare const groupRows: ActionSpec;
6610
+ declare const ungroupColumns: ActionSpec;
6611
+ declare const ungroupRows: ActionSpec;
6612
+ declare function canUngroupHeaders(env: SpreadsheetChildEnv, dimension: Dimension): boolean;
6395
6613
 
6614
+ declare const ACTION_VIEW_canUngroupHeaders: typeof canUngroupHeaders;
6396
6615
  declare const ACTION_VIEW_createRemoveFilter: typeof createRemoveFilter;
6397
6616
  declare const ACTION_VIEW_freezeCurrentCol: typeof freezeCurrentCol;
6398
6617
  declare const ACTION_VIEW_freezeCurrentRow: typeof freezeCurrentRow;
@@ -6401,11 +6620,15 @@ declare const ACTION_VIEW_freezeFirstRow: typeof freezeFirstRow;
6401
6620
  declare const ACTION_VIEW_freezePane: typeof freezePane;
6402
6621
  declare const ACTION_VIEW_freezeSecondCol: typeof freezeSecondCol;
6403
6622
  declare const ACTION_VIEW_freezeSecondRow: typeof freezeSecondRow;
6623
+ declare const ACTION_VIEW_groupColumns: typeof groupColumns;
6624
+ declare const ACTION_VIEW_groupRows: typeof groupRows;
6404
6625
  declare const ACTION_VIEW_hideCols: typeof hideCols;
6405
6626
  declare const ACTION_VIEW_hideRows: typeof hideRows;
6406
6627
  declare const ACTION_VIEW_unFreezeCols: typeof unFreezeCols;
6407
6628
  declare const ACTION_VIEW_unFreezePane: typeof unFreezePane;
6408
6629
  declare const ACTION_VIEW_unFreezeRows: typeof unFreezeRows;
6630
+ declare const ACTION_VIEW_ungroupColumns: typeof ungroupColumns;
6631
+ declare const ACTION_VIEW_ungroupRows: typeof ungroupRows;
6409
6632
  declare const ACTION_VIEW_unhideAllCols: typeof unhideAllCols;
6410
6633
  declare const ACTION_VIEW_unhideAllRows: typeof unhideAllRows;
6411
6634
  declare const ACTION_VIEW_unhideCols: typeof unhideCols;
@@ -6414,6 +6637,7 @@ declare const ACTION_VIEW_viewFormulas: typeof viewFormulas;
6414
6637
  declare const ACTION_VIEW_viewGridlines: typeof viewGridlines;
6415
6638
  declare namespace ACTION_VIEW {
6416
6639
  export {
6640
+ ACTION_VIEW_canUngroupHeaders as canUngroupHeaders,
6417
6641
  ACTION_VIEW_createRemoveFilter as createRemoveFilter,
6418
6642
  ACTION_VIEW_freezeCurrentCol as freezeCurrentCol,
6419
6643
  ACTION_VIEW_freezeCurrentRow as freezeCurrentRow,
@@ -6422,11 +6646,15 @@ declare namespace ACTION_VIEW {
6422
6646
  ACTION_VIEW_freezePane as freezePane,
6423
6647
  ACTION_VIEW_freezeSecondCol as freezeSecondCol,
6424
6648
  ACTION_VIEW_freezeSecondRow as freezeSecondRow,
6649
+ ACTION_VIEW_groupColumns as groupColumns,
6650
+ ACTION_VIEW_groupRows as groupRows,
6425
6651
  ACTION_VIEW_hideCols as hideCols,
6426
6652
  ACTION_VIEW_hideRows as hideRows,
6427
6653
  ACTION_VIEW_unFreezeCols as unFreezeCols,
6428
6654
  ACTION_VIEW_unFreezePane as unFreezePane,
6429
6655
  ACTION_VIEW_unFreezeRows as unFreezeRows,
6656
+ ACTION_VIEW_ungroupColumns as ungroupColumns,
6657
+ ACTION_VIEW_ungroupRows as ungroupRows,
6430
6658
  ACTION_VIEW_unhideAllCols as unhideAllCols,
6431
6659
  ACTION_VIEW_unhideAllRows as unhideAllRows,
6432
6660
  ACTION_VIEW_unhideCols as unhideCols,
@@ -6833,6 +7061,7 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
6833
7061
  BottomBar: typeof BottomBar;
6834
7062
  SidePanel: typeof SidePanel;
6835
7063
  SpreadsheetDashboard: typeof SpreadsheetDashboard;
7064
+ HeaderGroupContainer: typeof HeaderGroupContainer;
6836
7065
  };
6837
7066
  sidePanel: SidePanelState;
6838
7067
  composer: ComposerState;
@@ -6860,6 +7089,9 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
6860
7089
  */
6861
7090
  private setComposerContent;
6862
7091
  get gridHeight(): Pixel;
7092
+ get gridContainerStyle(): string;
7093
+ get rowLayers(): HeaderGroup[][];
7094
+ get colLayers(): HeaderGroup[][];
6863
7095
  }
6864
7096
 
6865
7097
  interface Props$5 {
@@ -7058,7 +7290,7 @@ declare class Highlight extends Component<Props$2, SpreadsheetChildEnv> {
7058
7290
  * - a horizontal resizer (to resize columns)
7059
7291
  * - a vertical resizer (same, for rows)
7060
7292
  */
7061
- type ContextMenuType = "ROW" | "COL" | "CELL" | "FILTER";
7293
+ type ContextMenuType = "ROW" | "COL" | "CELL" | "FILTER" | "GROUP_HEADERS" | "UNGROUP_HEADERS";
7062
7294
  interface Props$1 {
7063
7295
  sidePanelIsOpen: boolean;
7064
7296
  exposeFocus: (focus: () => void) => void;
@@ -7128,6 +7360,10 @@ declare class Grid extends Component<Props$1, SpreadsheetChildEnv> {
7128
7360
  private clearFormatting;
7129
7361
  private setHorizontalAlign;
7130
7362
  closeMenu(): void;
7363
+ private processHeaderGroupingKey;
7364
+ private processHeaderGroupingEventOnHeaders;
7365
+ private processHeaderGroupingEventOnWholeSheet;
7366
+ private processHeaderGroupingEventOnGrid;
7131
7367
  }
7132
7368
 
7133
7369
  interface Props {