@odoo/o-spreadsheet 16.5.0-alpha.4 → 16.5.0-alpha.7

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">;
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">;
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
  }
@@ -1877,7 +1886,7 @@ interface RemoveFilterTableCommand extends TargetDependentCommand {
1877
1886
  }
1878
1887
  interface UpdateFilterCommand extends PositionDependentCommand {
1879
1888
  type: "UPDATE_FILTER";
1880
- values: string[];
1889
+ hiddenValues: string[];
1881
1890
  }
1882
1891
  interface SetFormattingCommand extends TargetDependentCommand {
1883
1892
  type: "SET_FORMATTING";
@@ -1903,6 +1912,51 @@ 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 GroupHeadersCommand extends SheetDependentCommand {
1921
+ type: "GROUP_HEADERS";
1922
+ dimension: Dimension;
1923
+ start: HeaderIndex;
1924
+ end: HeaderIndex;
1925
+ }
1926
+ interface UnGroupHeadersCommand extends SheetDependentCommand {
1927
+ type: "UNGROUP_HEADERS";
1928
+ dimension: Dimension;
1929
+ start: HeaderIndex;
1930
+ end: HeaderIndex;
1931
+ }
1932
+ interface FoldHeaderGroupCommand extends SheetDependentCommand {
1933
+ type: "FOLD_HEADER_GROUP";
1934
+ dimension: Dimension;
1935
+ start: HeaderIndex;
1936
+ end: HeaderIndex;
1937
+ }
1938
+ interface UnfoldHeaderGroupCommand extends SheetDependentCommand {
1939
+ type: "UNFOLD_HEADER_GROUP";
1940
+ dimension: Dimension;
1941
+ start: HeaderIndex;
1942
+ end: HeaderIndex;
1943
+ }
1944
+ interface FoldAllHeaderGroupsCommand extends SheetDependentCommand {
1945
+ type: "FOLD_ALL_HEADER_GROUPS";
1946
+ dimension: Dimension;
1947
+ }
1948
+ interface UnfoldAllHeaderGroupsCommand extends SheetDependentCommand {
1949
+ type: "UNFOLD_ALL_HEADER_GROUPS";
1950
+ dimension: Dimension;
1951
+ }
1952
+ interface UnfoldHeaderGroupsInZoneCommand extends ZoneDependentCommand {
1953
+ type: "UNFOLD_HEADER_GROUPS_IN_ZONE";
1954
+ dimension: Dimension;
1955
+ }
1956
+ interface FoldHeaderGroupsInZoneCommand extends ZoneDependentCommand {
1957
+ type: "FOLD_HEADER_GROUPS_IN_ZONE";
1958
+ dimension: Dimension;
1959
+ }
1906
1960
  interface CopyCommand {
1907
1961
  type: "COPY";
1908
1962
  }
@@ -2254,8 +2308,10 @@ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContent
2254
2308
  /** Image */
2255
2309
  | CreateImageOverCommand
2256
2310
  /** 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;
2311
+ | CreateFilterTableCommand | RemoveFilterTableCommand | UpdateLocaleCommand
2312
+ /** Grouping */
2313
+ | GroupHeadersCommand | UnGroupHeadersCommand | UnfoldHeaderGroupCommand | FoldHeaderGroupCommand | FoldAllHeaderGroupsCommand | UnfoldAllHeaderGroupsCommand | UnfoldHeaderGroupsInZoneCommand | FoldHeaderGroupsInZoneCommand;
2314
+ 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;
2259
2315
  type Command = CoreCommand | LocalCommand;
2260
2316
  /**
2261
2317
  * Holds the result of a command dispatch.
@@ -2278,102 +2334,109 @@ declare class DispatchResult {
2278
2334
  }
2279
2335
  type CancelledReason = Exclude<CommandResult, CommandResult.Success>;
2280
2336
  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
2337
+ Success = "Success",
2338
+ CancelledForUnknownReason = "CancelledForUnknownReason",
2339
+ WillRemoveExistingMerge = "WillRemoveExistingMerge",
2340
+ MergeIsDestructive = "MergeIsDestructive",
2341
+ CellIsMerged = "CellIsMerged",
2342
+ InvalidTarget = "InvalidTarget",
2343
+ EmptyUndoStack = "EmptyUndoStack",
2344
+ EmptyRedoStack = "EmptyRedoStack",
2345
+ NotEnoughElements = "NotEnoughElements",
2346
+ NotEnoughSheets = "NotEnoughSheets",
2347
+ MissingSheetName = "MissingSheetName",
2348
+ UnchangedSheetName = "UnchangedSheetName",
2349
+ DuplicatedSheetName = "DuplicatedSheetName",
2350
+ DuplicatedSheetId = "DuplicatedSheetId",
2351
+ ForbiddenCharactersInSheetName = "ForbiddenCharactersInSheetName",
2352
+ WrongSheetMove = "WrongSheetMove",
2353
+ WrongSheetPosition = "WrongSheetPosition",
2354
+ InvalidAnchorZone = "InvalidAnchorZone",
2355
+ SelectionOutOfBound = "SelectionOutOfBound",
2356
+ TargetOutOfSheet = "TargetOutOfSheet",
2357
+ WrongCutSelection = "WrongCutSelection",
2358
+ WrongPasteSelection = "WrongPasteSelection",
2359
+ WrongPasteOption = "WrongPasteOption",
2360
+ WrongFigurePasteOption = "WrongFigurePasteOption",
2361
+ EmptyClipboard = "EmptyClipboard",
2362
+ EmptyRange = "EmptyRange",
2363
+ InvalidRange = "InvalidRange",
2364
+ InvalidZones = "InvalidZones",
2365
+ InvalidSheetId = "InvalidSheetId",
2366
+ InvalidFigureId = "InvalidFigureId",
2367
+ InputAlreadyFocused = "InputAlreadyFocused",
2368
+ MaximumRangesReached = "MaximumRangesReached",
2369
+ InvalidChartDefinition = "InvalidChartDefinition",
2370
+ InvalidDataSet = "InvalidDataSet",
2371
+ InvalidLabelRange = "InvalidLabelRange",
2372
+ InvalidScorecardKeyValue = "InvalidScorecardKeyValue",
2373
+ InvalidScorecardBaseline = "InvalidScorecardBaseline",
2374
+ InvalidGaugeDataRange = "InvalidGaugeDataRange",
2375
+ EmptyGaugeRangeMin = "EmptyGaugeRangeMin",
2376
+ GaugeRangeMinNaN = "GaugeRangeMinNaN",
2377
+ EmptyGaugeRangeMax = "EmptyGaugeRangeMax",
2378
+ GaugeRangeMaxNaN = "GaugeRangeMaxNaN",
2379
+ GaugeRangeMinBiggerThanRangeMax = "GaugeRangeMinBiggerThanRangeMax",
2380
+ GaugeLowerInflectionPointNaN = "GaugeLowerInflectionPointNaN",
2381
+ GaugeUpperInflectionPointNaN = "GaugeUpperInflectionPointNaN",
2382
+ GaugeLowerBiggerThanUpper = "GaugeLowerBiggerThanUpper",
2383
+ InvalidAutofillSelection = "InvalidAutofillSelection",
2384
+ WrongComposerSelection = "WrongComposerSelection",
2385
+ MinBiggerThanMax = "MinBiggerThanMax",
2386
+ LowerBiggerThanUpper = "LowerBiggerThanUpper",
2387
+ MidBiggerThanMax = "MidBiggerThanMax",
2388
+ MinBiggerThanMid = "MinBiggerThanMid",
2389
+ FirstArgMissing = "FirstArgMissing",
2390
+ SecondArgMissing = "SecondArgMissing",
2391
+ MinNaN = "MinNaN",
2392
+ MidNaN = "MidNaN",
2393
+ MaxNaN = "MaxNaN",
2394
+ ValueUpperInflectionNaN = "ValueUpperInflectionNaN",
2395
+ ValueLowerInflectionNaN = "ValueLowerInflectionNaN",
2396
+ MinInvalidFormula = "MinInvalidFormula",
2397
+ MidInvalidFormula = "MidInvalidFormula",
2398
+ MaxInvalidFormula = "MaxInvalidFormula",
2399
+ ValueUpperInvalidFormula = "ValueUpperInvalidFormula",
2400
+ ValueLowerInvalidFormula = "ValueLowerInvalidFormula",
2401
+ InvalidSortZone = "InvalidSortZone",
2402
+ WaitingSessionConfirmation = "WaitingSessionConfirmation",
2403
+ MergeOverlap = "MergeOverlap",
2404
+ TooManyHiddenElements = "TooManyHiddenElements",
2405
+ Readonly = "Readonly",
2406
+ InvalidViewportSize = "InvalidViewportSize",
2407
+ InvalidScrollingDirection = "InvalidScrollingDirection",
2408
+ FigureDoesNotExist = "FigureDoesNotExist",
2409
+ InvalidConditionalFormatId = "InvalidConditionalFormatId",
2410
+ InvalidCellPopover = "InvalidCellPopover",
2411
+ EmptyTarget = "EmptyTarget",
2412
+ InvalidFreezeQuantity = "InvalidFreezeQuantity",
2413
+ FrozenPaneOverlap = "FrozenPaneOverlap",
2414
+ ValuesNotChanged = "ValuesNotChanged",
2415
+ InvalidFilterZone = "InvalidFilterZone",
2416
+ FilterOverlap = "FilterOverlap",
2417
+ FilterNotFound = "FilterNotFound",
2418
+ MergeInFilter = "MergeInFilter",
2419
+ NonContinuousTargets = "NonContinuousTargets",
2420
+ DuplicatedFigureId = "DuplicatedFigureId",
2421
+ InvalidSelectionStep = "InvalidSelectionStep",
2422
+ DuplicatedChartId = "DuplicatedChartId",
2423
+ ChartDoesNotExist = "ChartDoesNotExist",
2424
+ InvalidHeaderIndex = "InvalidHeaderIndex",
2425
+ InvalidQuantity = "InvalidQuantity",
2426
+ MoreThanOneColumnSelected = "MoreThanOneColumnSelected",
2427
+ EmptySplitSeparator = "EmptySplitSeparator",
2428
+ SplitWillOverwriteContent = "SplitWillOverwriteContent",
2429
+ NoSplitSeparatorInSelection = "NoSplitSeparatorInSelection",
2430
+ NoActiveSheet = "NoActiveSheet",
2431
+ InvalidLocale = "InvalidLocale",
2432
+ AlreadyInPaintingFormatMode = "AlreadyInPaintingFormatMode",
2433
+ MoreThanOneRangeSelected = "MoreThanOneRangeSelected",
2434
+ NoColumnsProvided = "NoColumnsProvided",
2435
+ ColumnsNotIncludedInZone = "ColumnsNotIncludedInZone",
2436
+ DuplicatesColumnsSelected = "DuplicatesColumnsSelected",
2437
+ InvalidHeaderGroupStartEnd = "InvalidHeaderGroupStartEnd",
2438
+ HeaderGroupAlreadyExists = "HeaderGroupAlreadyExists",
2439
+ UnknownHeaderGroup = "UnknownHeaderGroup"
2377
2440
  }
2378
2441
  interface CommandHandler<T> {
2379
2442
  allowDispatch(command: T): CommandResult | CommandResult[];
@@ -2501,7 +2564,7 @@ interface CellPosition {
2501
2564
  sheetId: UID;
2502
2565
  }
2503
2566
  declare const borderStyles: readonly ["thin", "medium", "thick", "dashed", "dotted"];
2504
- type BorderStyle = typeof borderStyles[number];
2567
+ type BorderStyle = (typeof borderStyles)[number];
2505
2568
  type BorderDescr = {
2506
2569
  style: BorderStyle;
2507
2570
  color: Color;
@@ -2521,44 +2584,20 @@ interface Border$1 {
2521
2584
  right?: BorderDescr;
2522
2585
  }
2523
2586
  type ReferenceDenormalizer = (range: Range, isMeta: boolean, functionName: string, paramNumber: number) => any | any[][];
2524
- type EnsureRange = (range: Range) => MatrixArg;
2525
- type _CompiledFormula = (deps: Range[], refFn: ReferenceDenormalizer, range: EnsureRange, ctx: {}) => FormulaReturn;
2587
+ type EnsureRange = (range: Range) => Matrix<ValueAndFormat>;
2588
+ type _CompiledFormula = (deps: Range[], refFn: ReferenceDenormalizer, range: EnsureRange, ctx: {}) => Matrix<ValueAndFormat> | ValueAndFormat;
2526
2589
  interface CompiledFormula {
2527
2590
  execute: _CompiledFormula;
2528
2591
  tokens: Token[];
2529
2592
  dependencies: string[];
2530
2593
  }
2531
2594
  type Matrix<T = unknown> = T[][];
2532
- type Arg = MatrixArg | PrimitiveArg;
2533
- type MatrixArg = {
2534
- value: MatrixArgValue;
2535
- format?: MatrixArgFormat;
2536
- };
2537
- type PrimitiveArg = {
2538
- value: PrimitiveArgValue;
2539
- format?: PrimitiveFormat;
2540
- };
2541
- type ArgValue = PrimitiveArgValue | MatrixArgValue;
2542
- type MatrixArgValue = Matrix<CellValue | undefined>;
2543
- type PrimitiveArgValue = CellValue | null;
2544
- type MatrixArgFormat = Matrix<PrimitiveFormat>;
2545
- type PrimitiveFormat = Format | undefined;
2546
- type FunctionReturn = MatrixFunctionReturn | PrimitiveFunctionReturn;
2547
- type FunctionReturnValue = CellValue | Matrix<CellValue>;
2548
- type FunctionReturnFormat = PrimitiveFormat | MatrixArgFormat;
2549
- type MatrixFunctionReturn = {
2550
- value: Matrix<CellValue>;
2551
- format?: FunctionReturnFormat;
2552
- };
2553
- type PrimitiveFunctionReturn = {
2595
+ type ValueAndFormat = {
2554
2596
  value: CellValue;
2555
- format?: PrimitiveFormat;
2556
- };
2557
- type FormulaReturn = MatrixFunctionReturn | PrimitiveFormulaReturn;
2558
- type PrimitiveFormulaReturn = {
2559
- value: CellValue | null;
2560
- format?: PrimitiveFormat;
2597
+ format?: Format;
2561
2598
  };
2599
+ type Arg = Maybe<ValueAndFormat> | Matrix<ValueAndFormat>;
2600
+ type ArgValue = Maybe<CellValue> | Matrix<CellValue>;
2562
2601
  interface HeaderDimensions {
2563
2602
  start: Pixel;
2564
2603
  size: Pixel;
@@ -2641,6 +2680,7 @@ interface Lazy<T> {
2641
2680
  */
2642
2681
  map: <U>(callback: (value: T) => U) => Lazy<U>;
2643
2682
  }
2683
+ type Maybe<T> = T | undefined;
2644
2684
  interface Cloneable<T> {
2645
2685
  clone: (args?: Partial<T>) => T;
2646
2686
  }
@@ -2662,6 +2702,13 @@ type ImmutableSet<T> = ReadonlySet<Immutable<T>>;
2662
2702
  type ImmutableObject<T> = {
2663
2703
  readonly [K in keyof T]: Immutable<T[K]>;
2664
2704
  };
2705
+ interface HeaderGroup {
2706
+ start: HeaderIndex;
2707
+ end: HeaderIndex;
2708
+ isFolded?: boolean;
2709
+ }
2710
+ type Direction = "up" | "down" | "left" | "right";
2711
+ type SelectionStep = number | "end";
2665
2712
 
2666
2713
  type LocaleCode = string & Alias;
2667
2714
  interface Locale {
@@ -2712,7 +2759,7 @@ interface EvaluatedCellProperties {
2712
2759
  readonly isAutoSummable: boolean;
2713
2760
  readonly link?: Link;
2714
2761
  }
2715
- type CellValue = string | number | boolean;
2762
+ type CellValue = string | number | boolean | null;
2716
2763
  type EvaluatedCell = NumberCell | TextCell | BooleanCell | EmptyCell | ErrorCell;
2717
2764
  interface NumberCell extends EvaluatedCellProperties {
2718
2765
  readonly type: CellValueType.number;
@@ -2826,16 +2873,6 @@ interface ClipboardInterface {
2826
2873
  readText(): Promise<ClipboardReadResult>;
2827
2874
  }
2828
2875
 
2829
- type TranslationFunction = (string: string, ...values: string[] | [{
2830
- [key: string]: string;
2831
- }]) => string;
2832
- /***
2833
- * Allow to inject a translation function from outside o-spreadsheet.
2834
- * @param tfn the function that will do the translation
2835
- * @param loaded a function that returns true when the translation is loaded
2836
- */
2837
- declare function setTranslationMethod(tfn: TranslationFunction, loaded?: () => boolean): void;
2838
-
2839
2876
  interface EditTextOptions {
2840
2877
  error?: string;
2841
2878
  placeholder?: string;
@@ -2859,7 +2896,6 @@ interface SpreadsheetChildEnv extends SpreadsheetEnv {
2859
2896
  openSidePanel: (panel: string, panelProps?: any) => void;
2860
2897
  toggleSidePanel: (panel: string, panelProps?: any) => void;
2861
2898
  clipboard: ClipboardInterface;
2862
- _t: TranslationFunction;
2863
2899
  startCellEdition: (content: string) => void;
2864
2900
  loadCurrencies?: () => Promise<Currency[]>;
2865
2901
  loadLocales: () => Promise<Locale[]>;
@@ -2876,24 +2912,32 @@ interface ArgDefinition {
2876
2912
  default?: boolean;
2877
2913
  defaultValue?: any;
2878
2914
  }
2879
- type ComputeFunctionArg<T> = T | (() => T) | undefined;
2915
+ type ComputeFunctionArg<T> = T | (() => T);
2880
2916
  type ComputeFunction<T, R> = (this: EvalContext, ...args: ComputeFunctionArg<T>[]) => R;
2881
- interface AddFunctionDescription {
2917
+ interface AddFunctionDescriptionBase {
2882
2918
  description: string;
2883
- compute: ComputeFunction<ArgValue, FunctionReturnValue>;
2884
- computeFormat?: ComputeFunction<Arg, FunctionReturnFormat>;
2885
2919
  category?: string;
2886
2920
  args: ArgDefinition[];
2887
2921
  returns: [ArgType];
2888
2922
  isExported?: boolean;
2889
2923
  hidden?: boolean;
2890
2924
  }
2891
- interface FunctionDescription extends AddFunctionDescription {
2925
+ interface ComputeValue {
2926
+ compute: ComputeFunction<ArgValue, CellValue | Matrix<CellValue>>;
2927
+ }
2928
+ interface ComputeFormat {
2929
+ computeFormat: ComputeFunction<Arg, Format | undefined | Matrix<Format | undefined>>;
2930
+ }
2931
+ interface ComputeValueAndFormat {
2932
+ computeValueAndFormat: ComputeFunction<Arg, Matrix<ValueAndFormat> | ValueAndFormat>;
2933
+ }
2934
+ type AddFunctionDescription = (AddFunctionDescriptionBase & ComputeValue & Partial<ComputeFormat>) | (AddFunctionDescriptionBase & ComputeValueAndFormat);
2935
+ type FunctionDescription = AddFunctionDescription & {
2892
2936
  minArgRequired: number;
2893
2937
  maxArgPossible: number;
2894
2938
  nbrArgRepeating: number;
2895
2939
  getArgToFocus: (argPosition: number) => number;
2896
- }
2940
+ };
2897
2941
  type EvalContext = {
2898
2942
  __lastFnCalled?: string;
2899
2943
  __originCellXC?: () => string;
@@ -3437,6 +3481,85 @@ declare class FiltersPlugin extends CorePlugin<FiltersState> implements FiltersS
3437
3481
  exportForExcel(data: ExcelWorkbookData): void;
3438
3482
  }
3439
3483
 
3484
+ interface State$6 {
3485
+ groups: Record<UID, Record<Dimension, HeaderGroup[]>>;
3486
+ }
3487
+ declare class HeaderGroupingPlugin extends CorePlugin<State$6> {
3488
+ static getters: readonly ["getHeaderGroups", "getGroupsLayers", "getVisibleGroupLayers", "getHeaderGroup", "getHeaderGroupsInZone", "isGroupFolded", "isRowFolded", "isColFolded"];
3489
+ private readonly groups;
3490
+ allowDispatch(cmd: CoreCommand): CommandResult;
3491
+ handle(cmd: CoreCommand): void;
3492
+ getHeaderGroups(sheetId: UID, dim: Dimension): HeaderGroup[];
3493
+ getHeaderGroup(sheetId: UID, dim: Dimension, start: number, end: number): HeaderGroup | undefined;
3494
+ getHeaderGroupsInZone(sheetId: UID, dim: Dimension, zone: Zone): HeaderGroup[];
3495
+ /**
3496
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups.
3497
+ *
3498
+ * The layering rules are:
3499
+ * 1) A group containing another group should be on a layer above the group it contains
3500
+ * 2) The widest/highest groups should be on the left/top layer compared to the groups it contains
3501
+ * 3) The group should be on the left/top-most layer possible, barring intersections with other groups (see rules 1 and 2)
3502
+ */
3503
+ getGroupsLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
3504
+ /**
3505
+ * Get all the groups of a sheet in a dimension, and return an array of layers of those groups,
3506
+ * excluding the groups that are totally hidden.
3507
+ */
3508
+ getVisibleGroupLayers(sheetId: UID, dimension: Dimension): HeaderGroup[][];
3509
+ isGroupFolded(sheetId: UID, dimension: Dimension, start: number, end: number): boolean;
3510
+ isRowFolded(sheetId: UID, row: HeaderIndex): boolean;
3511
+ isColFolded(sheetId: UID, col: HeaderIndex): boolean;
3512
+ private getGroupId;
3513
+ /**
3514
+ * To get layers of groups, and to add/remove headers from groups, we can see each header of a group as a brick. Each
3515
+ * brick falls down in the pile corresponding to its header, until it hits another brick, or the ground.
3516
+ *
3517
+ * With this abstraction, we can very simply group/ungroup headers from groups, and get the layers of groups.
3518
+ * - grouping headers is done by adding a brick to each header pile
3519
+ * - un-grouping headers is done by removing a brick from each header pile
3520
+ * - getting the layers of groups is done by simply letting the brick fall and checking the result
3521
+ *
3522
+ * Example:
3523
+ * We have 2 groups ([A=>E] and [C=>D]), and we want to group headers [C=>F]
3524
+ *
3525
+ * Headers : A B C D E F G A B C D E F G A B C D E F G
3526
+ * Headers to group: [C=>D]: _ _ [C=>F]: _ _ _ _
3527
+ * | | ==> | | | | ==> ==> Result: 3 groups
3528
+ * | | ˅ ˅ | | _ _ - [C=>D]
3529
+ * Groups: ˅ ˅ _ _ ˅ | _ _ _ - [C=>E]
3530
+ * Groups: _ _ _ _ _ _ _ _ _ _ ˅ _ _ _ _ _ _ - [A=>F]
3531
+
3532
+ * @param groups
3533
+ * @param start start of the range where to add/remove headers
3534
+ * @param end end of the range where to add/remove headers
3535
+ * @param delta -1: remove headers, 1: add headers, 0: get layers (don't add/remove anything)
3536
+ */
3537
+ private bricksFallingAlgorithm;
3538
+ private groupHeaders;
3539
+ /**
3540
+ * Ungroup the given headers. The headers will be taken out of the group they are in. This might split a group into two
3541
+ * if the headers were in the middle of a group. If multiple groups contains a header, it will only be taken out of the
3542
+ * lowest group in the layering of the groups.
3543
+ */
3544
+ private unGroupHeaders;
3545
+ private moveGroupsOnHeaderInsertion;
3546
+ private moveGroupsOnHeaderDeletion;
3547
+ private doGroupOverlap;
3548
+ private removeDuplicateGroups;
3549
+ private findGroupWithStartEnd;
3550
+ /**
3551
+ * Fold the given group, and all the groups starting at the same index that are contained inside the given group.
3552
+ */
3553
+ private foldHeaderGroup;
3554
+ /**
3555
+ * Unfold the given group, and all the groups starting at the same index that contain the given group.
3556
+ */
3557
+ private unfoldHeaderGroup;
3558
+ private getGroupIndex;
3559
+ import(data: WorkbookData): void;
3560
+ export(data: WorkbookData): void;
3561
+ }
3562
+
3440
3563
  interface HeaderSizeState$1 {
3441
3564
  sizes: Record<UID, Record<Dimension, Array<Pixel | undefined>>>;
3442
3565
  }
@@ -3458,11 +3581,12 @@ declare class HeaderSizePlugin extends CorePlugin<HeaderSizeState$1> implements
3458
3581
  }
3459
3582
 
3460
3583
  declare class HeaderVisibilityPlugin extends CorePlugin {
3461
- static getters: readonly ["canRemoveHeaders", "getHiddenColsGroups", "getHiddenRowsGroups", "isRowHiddenByUser", "isColHiddenByUser"];
3584
+ static getters: readonly ["checkElementsIncludeAllVisibleHeaders", "getHiddenColsGroups", "getHiddenRowsGroups", "isHeaderHiddenByUser", "isRowHiddenByUser", "isColHiddenByUser"];
3462
3585
  private readonly hiddenHeaders;
3463
3586
  allowDispatch(cmd: Command): CommandResult.Success | CommandResult.NotEnoughElements | CommandResult.InvalidSheetId | CommandResult.TooManyHiddenElements | CommandResult.InvalidHeaderIndex;
3464
3587
  handle(cmd: Command): void;
3465
- canRemoveHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3588
+ checkElementsIncludeAllVisibleHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3589
+ isHeaderHiddenByUser(sheetId: UID, dimension: Dimension, index: HeaderIndex): boolean;
3466
3590
  isRowHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
3467
3591
  isColHiddenByUser(sheetId: UID, index: HeaderIndex): boolean;
3468
3592
  getHiddenColsGroups(sheetId: UID): ConsecutiveIndexes[];
@@ -3599,7 +3723,7 @@ interface SheetState$1 {
3599
3723
  readonly cellPosition: Record<UID, CellPosition | undefined>;
3600
3724
  }
3601
3725
  declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState$1 {
3602
- 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"];
3726
+ 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"];
3603
3727
  readonly sheetIdsMapName: Record<string, UID | undefined>;
3604
3728
  readonly orderedSheetIds: UID[];
3605
3729
  readonly sheets: Record<UID, Sheet | undefined>;
@@ -3627,6 +3751,7 @@ declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState
3627
3751
  getVisibleSheetIds(): UID[];
3628
3752
  getEvaluationSheets(): Record<UID, Sheet | undefined>;
3629
3753
  doesHeaderExist(sheetId: UID, dimension: Dimension, index: number): boolean;
3754
+ doesHeadersExist(sheetId: UID, dimension: Dimension, headerIndexes: HeaderIndex[]): boolean;
3630
3755
  getRow(sheetId: UID, index: HeaderIndex): Row;
3631
3756
  getCell({ sheetId, col, row }: CellPosition): Cell | undefined;
3632
3757
  getColsZone(sheetId: UID, start: HeaderIndex, end: HeaderIndex): Zone;
@@ -3642,6 +3767,11 @@ declare class SheetPlugin extends CorePlugin<SheetState$1> implements SheetState
3642
3767
  getUnboundedZone(sheetId: UID, zone: Zone): UnboundedZone;
3643
3768
  getPaneDivisions(sheetId: UID): Readonly<PaneDivision>;
3644
3769
  private setPaneDivisions;
3770
+ /**
3771
+ * Checks if all non-frozen header indices are present in the provided elements of selected rows/columns.
3772
+ * This validation ensures that all rows or columns cannot be deleted when frozen panes exist.
3773
+ */
3774
+ checkElementsIncludeAllNonFrozenHeaders(sheetId: UID, dimension: Dimension, elements: HeaderIndex[]): boolean;
3645
3775
  /**
3646
3776
  * Check if a zone only contains empty cells
3647
3777
  */
@@ -4846,7 +4976,8 @@ type ConditionalFormatGetters = Pick<ConditionalFormatPlugin, GetterNames<typeof
4846
4976
  type LocalHistoryGetters = Pick<HistoryPlugin, GetterNames<typeof HistoryPlugin>>;
4847
4977
  type FiltersGetters = Pick<FiltersPlugin, GetterNames<typeof FiltersPlugin>>;
4848
4978
  type SettingsGetters = Pick<SettingsPlugin, GetterNames<typeof SettingsPlugin>>;
4849
- type CoreGetters = SheetGetters & HeaderSizeGetters & HeaderVisibilityGetters & CellGetters & MergeGetters & BordersGetters & ChartGetters & ImageGetters & ConditionalFormatGetters & FigureGetters & RangeAdapterGetters & FiltersGetters & SettingsGetters;
4979
+ type HeaderGroupingGetters = Pick<HeaderGroupingPlugin, GetterNames<typeof HeaderGroupingPlugin>>;
4980
+ type CoreGetters = SheetGetters & HeaderSizeGetters & HeaderVisibilityGetters & CellGetters & MergeGetters & BordersGetters & ChartGetters & ImageGetters & ConditionalFormatGetters & FigureGetters & RangeAdapterGetters & FiltersGetters & SettingsGetters & HeaderGroupingGetters;
4850
4981
  type AutofillGetters = Pick<AutofillPlugin, GetterNames<typeof AutofillPlugin>>;
4851
4982
  type AutomaticSumGetters = Pick<AutomaticSumPlugin, GetterNames<typeof AutomaticSumPlugin>>;
4852
4983
  type ClipboardGetters = Pick<ClipboardPlugin, GetterNames<typeof ClipboardPlugin>>;
@@ -4903,9 +5034,6 @@ interface TransformationFactory<T = unknown> {
4903
5034
  with: (operation: T) => Transformation<T>;
4904
5035
  }
4905
5036
 
4906
- type SelectionDirection = "up" | "down" | "left" | "right";
4907
- type SelectionStep = number | "end";
4908
-
4909
5037
  type CellPopoverType = "ErrorToolTip" | "LinkDisplay" | "FilterMenu" | "LinkEditor";
4910
5038
  type PopoverPropsPosition = "TopRight" | "BottomLeft";
4911
5039
  type MaxSizedComponentConstructor = ComponentConstructor & {
@@ -5055,7 +5183,7 @@ interface ChartBuilder {
5055
5183
  sequence: number;
5056
5184
  }
5057
5185
 
5058
- interface Props$F {
5186
+ interface Props$H {
5059
5187
  ranges: () => string[];
5060
5188
  hasSingleRange?: boolean;
5061
5189
  required?: boolean;
@@ -5077,7 +5205,7 @@ interface SelectionRange extends Omit<RangeInputValue, "color"> {
5077
5205
  * onSelectionChanged is called every time the input value
5078
5206
  * changes.
5079
5207
  */
5080
- declare class SelectionInput extends Component<Props$F, SpreadsheetChildEnv> {
5208
+ declare class SelectionInput extends Component<Props$H, SpreadsheetChildEnv> {
5081
5209
  static template: string;
5082
5210
  private id;
5083
5211
  private previousRanges;
@@ -5106,22 +5234,22 @@ declare class SelectionInput extends Component<Props$F, SpreadsheetChildEnv> {
5106
5234
  confirm(): void;
5107
5235
  }
5108
5236
 
5109
- interface Props$E {
5237
+ interface Props$G {
5110
5238
  messages: string[];
5111
5239
  msgType: "warning" | "error";
5112
5240
  }
5113
- declare class SidePanelErrors extends Component<Props$E, SpreadsheetChildEnv> {
5241
+ declare class SidePanelErrors extends Component<Props$G, SpreadsheetChildEnv> {
5114
5242
  static template: string;
5115
5243
  get divClasses(): "o-sidepanel-warning text-warning" | "o-sidepanel-error text-danger";
5116
5244
  }
5117
5245
 
5118
- interface Props$D {
5246
+ interface Props$F {
5119
5247
  figureId: UID;
5120
5248
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
5121
5249
  canUpdateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5122
5250
  updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5123
5251
  }
5124
- declare class LineBarPieConfigPanel extends Component<Props$D, SpreadsheetChildEnv> {
5252
+ declare class LineBarPieConfigPanel extends Component<Props$F, SpreadsheetChildEnv> {
5125
5253
  static template: string;
5126
5254
  static components: {
5127
5255
  SelectionInput: typeof SelectionInput;
@@ -5162,6 +5290,7 @@ declare class BarConfigPanel extends LineBarPieConfigPanel {
5162
5290
  declare enum ComponentsImportance {
5163
5291
  Grid = 0,
5164
5292
  Highlight = 5,
5293
+ HeaderGroupingButton = 6,
5165
5294
  Figure = 10,
5166
5295
  ScrollBar = 15,
5167
5296
  GridPopover = 19,
@@ -5249,7 +5378,7 @@ declare class ColorPicker extends Component<ColorPickerProps, SpreadsheetChildEn
5249
5378
  isSameColor(color1: Color, color2: Color): boolean;
5250
5379
  }
5251
5380
 
5252
- interface Props$C {
5381
+ interface Props$E {
5253
5382
  currentColor: string | undefined;
5254
5383
  toggleColorPicker: () => void;
5255
5384
  showColorPicker: boolean;
@@ -5260,7 +5389,7 @@ interface Props$C {
5260
5389
  dropdownMaxHeight?: Pixel;
5261
5390
  class?: string;
5262
5391
  }
5263
- declare class ColorPickerWidget extends Component<Props$C, SpreadsheetChildEnv> {
5392
+ declare class ColorPickerWidget extends Component<Props$E, SpreadsheetChildEnv> {
5264
5393
  static template: string;
5265
5394
  static components: {
5266
5395
  ColorPicker: typeof ColorPicker;
@@ -5272,13 +5401,13 @@ declare class ColorPickerWidget extends Component<Props$C, SpreadsheetChildEnv>
5272
5401
  get colorPickerAnchorRect(): Rect;
5273
5402
  }
5274
5403
 
5275
- interface Props$B {
5404
+ interface Props$D {
5276
5405
  figureId: UID;
5277
5406
  definition: LineChartDefinition | BarChartDefinition | PieChartDefinition;
5278
5407
  canUpdateChart: (definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5279
5408
  updateChart: (figureId: UID, definition: Partial<LineChartDefinition | BarChartDefinition | PieChartDefinition>) => DispatchResult;
5280
5409
  }
5281
- declare class LineBarPieDesignPanel extends Component<Props$B, SpreadsheetChildEnv> {
5410
+ declare class LineBarPieDesignPanel extends Component<Props$D, SpreadsheetChildEnv> {
5282
5411
  static template: string;
5283
5412
  static components: {
5284
5413
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5292,13 +5421,13 @@ declare class LineBarPieDesignPanel extends Component<Props$B, SpreadsheetChildE
5292
5421
  updateSelect(attr: string, ev: any): void;
5293
5422
  }
5294
5423
 
5295
- interface Props$A {
5424
+ interface Props$C {
5296
5425
  figureId: UID;
5297
5426
  definition: GaugeChartDefinition;
5298
5427
  canUpdateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5299
5428
  updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5300
5429
  }
5301
- declare class GaugeChartConfigPanel extends Component<Props$A, SpreadsheetChildEnv> {
5430
+ declare class GaugeChartConfigPanel extends Component<Props$C, SpreadsheetChildEnv> {
5302
5431
  static template: string;
5303
5432
  static components: {
5304
5433
  SelectionInput: typeof SelectionInput;
@@ -5314,13 +5443,13 @@ declare class GaugeChartConfigPanel extends Component<Props$A, SpreadsheetChildE
5314
5443
  }
5315
5444
 
5316
5445
  type GaugeMenu = "backgroundColor" | "sectionColor-lowerColor" | "sectionColor-middleColor" | "sectionColor-upperColor";
5317
- interface Props$z {
5446
+ interface Props$B {
5318
5447
  figureId: UID;
5319
5448
  definition: GaugeChartDefinition;
5320
5449
  canUpdateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5321
5450
  updateChart: (figureId: UID, definition: Partial<GaugeChartDefinition>) => DispatchResult;
5322
5451
  }
5323
- declare class GaugeChartDesignPanel extends Component<Props$z, SpreadsheetChildEnv> {
5452
+ declare class GaugeChartDesignPanel extends Component<Props$B, SpreadsheetChildEnv> {
5324
5453
  static template: string;
5325
5454
  static components: {
5326
5455
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5348,15 +5477,16 @@ declare class LineConfigPanel extends LineBarPieConfigPanel {
5348
5477
  onUpdateLabelsAsText(ev: any): void;
5349
5478
  onUpdateStacked(ev: any): void;
5350
5479
  onUpdateAggregated(ev: any): void;
5480
+ onUpdateCumulative(ev: any): void;
5351
5481
  }
5352
5482
 
5353
- interface Props$y {
5483
+ interface Props$A {
5354
5484
  figureId: UID;
5355
5485
  definition: ScorecardChartDefinition;
5356
5486
  canUpdateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5357
5487
  updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5358
5488
  }
5359
- declare class ScorecardChartConfigPanel extends Component<Props$y, SpreadsheetChildEnv> {
5489
+ declare class ScorecardChartConfigPanel extends Component<Props$A, SpreadsheetChildEnv> {
5360
5490
  static template: string;
5361
5491
  static components: {
5362
5492
  SelectionInput: typeof SelectionInput;
@@ -5378,13 +5508,13 @@ declare class ScorecardChartConfigPanel extends Component<Props$y, SpreadsheetCh
5378
5508
  }
5379
5509
 
5380
5510
  type ColorPickerId = undefined | "backgroundColor" | "baselineColorUp" | "baselineColorDown";
5381
- interface Props$x {
5511
+ interface Props$z {
5382
5512
  figureId: UID;
5383
5513
  definition: ScorecardChartDefinition;
5384
5514
  canUpdateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5385
5515
  updateChart: (figureId: UID, definition: Partial<ScorecardChartDefinition>) => DispatchResult;
5386
5516
  }
5387
- declare class ScorecardChartDesignPanel extends Component<Props$x, SpreadsheetChildEnv> {
5517
+ declare class ScorecardChartDesignPanel extends Component<Props$z, SpreadsheetChildEnv> {
5388
5518
  static template: string;
5389
5519
  static components: {
5390
5520
  ColorPickerWidget: typeof ColorPickerWidget;
@@ -5392,6 +5522,7 @@ declare class ScorecardChartDesignPanel extends Component<Props$x, SpreadsheetCh
5392
5522
  private state;
5393
5523
  setup(): void;
5394
5524
  updateTitle(): void;
5525
+ translate(term: any): string;
5395
5526
  updateBaselineDescr(ev: any): void;
5396
5527
  toggleColorPicker(colorPickerId: ColorPickerId): void;
5397
5528
  setColor(color: Color, colorPickerId: ColorPickerId): void;
@@ -5472,6 +5603,8 @@ interface Action {
5472
5603
  }
5473
5604
  type ActionBuilder = (env: SpreadsheetChildEnv) => ActionSpec[];
5474
5605
  type ActionChildren = (ActionSpec | ActionBuilder)[];
5606
+ declare function createActions(menuItems: ActionSpec[]): Action[];
5607
+ declare function createAction(item: ActionSpec): Action;
5475
5608
 
5476
5609
  /**
5477
5610
  * This registry is intended to map a type of figure (tag) to a class of
@@ -5525,10 +5658,10 @@ interface AutofillRule {
5525
5658
  sequence: number;
5526
5659
  }
5527
5660
 
5528
- interface Props$w {
5661
+ interface Props$y {
5529
5662
  figure: Figure;
5530
5663
  }
5531
- declare class ChartJsComponent extends Component<Props$w, SpreadsheetChildEnv> {
5664
+ declare class ChartJsComponent extends Component<Props$y, SpreadsheetChildEnv> {
5532
5665
  static template: string;
5533
5666
  private canvas;
5534
5667
  private chart?;
@@ -5540,10 +5673,10 @@ declare class ChartJsComponent extends Component<Props$w, SpreadsheetChildEnv> {
5540
5673
  private updateChartJs;
5541
5674
  }
5542
5675
 
5543
- interface Props$v {
5676
+ interface Props$x {
5544
5677
  figure: Figure;
5545
5678
  }
5546
- declare class ScorecardChart extends Component<Props$v, SpreadsheetChildEnv> {
5679
+ declare class ScorecardChart extends Component<Props$x, SpreadsheetChildEnv> {
5547
5680
  static template: string;
5548
5681
  private ctx;
5549
5682
  get runtime(): ScorecardChartRuntime;
@@ -5559,6 +5692,7 @@ declare class ScorecardChart extends Component<Props$v, SpreadsheetChildEnv> {
5559
5692
  get chartStyle(): string;
5560
5693
  get chartContentStyle(): string;
5561
5694
  get chartPadding(): number;
5695
+ translate(term: any): string;
5562
5696
  getTextStyles(): {
5563
5697
  titleStyle: string;
5564
5698
  keyStyle: string;
@@ -5575,7 +5709,7 @@ declare class ScorecardChart extends Component<Props$v, SpreadsheetChildEnv> {
5575
5709
  }
5576
5710
 
5577
5711
  type MenuItemOrSeparator = Action | "separator";
5578
- interface Props$u {
5712
+ interface Props$w {
5579
5713
  position: DOMCoordinates;
5580
5714
  menuItems: Action[];
5581
5715
  depth: number;
@@ -5591,7 +5725,7 @@ interface MenuState {
5591
5725
  scrollOffset?: Pixel;
5592
5726
  menuItems: Action[];
5593
5727
  }
5594
- declare class Menu extends Component<Props$u, SpreadsheetChildEnv> {
5728
+ declare class Menu extends Component<Props$w, SpreadsheetChildEnv> {
5595
5729
  static template: string;
5596
5730
  static components: {
5597
5731
  Menu: typeof Menu;
@@ -5629,14 +5763,14 @@ declare class Menu extends Component<Props$u, SpreadsheetChildEnv> {
5629
5763
  }
5630
5764
 
5631
5765
  type ResizeAnchor = "top left" | "top" | "top right" | "right" | "bottom right" | "bottom" | "bottom left" | "left";
5632
- interface Props$t {
5766
+ interface Props$v {
5633
5767
  figure: Figure;
5634
5768
  style: string;
5635
5769
  onFigureDeleted: () => void;
5636
5770
  onMouseDown: (ev: MouseEvent) => void;
5637
5771
  onClickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
5638
5772
  }
5639
- declare class FigureComponent extends Component<Props$t, SpreadsheetChildEnv> {
5773
+ declare class FigureComponent extends Component<Props$v, SpreadsheetChildEnv> {
5640
5774
  static template: string;
5641
5775
  static components: {
5642
5776
  Menu: typeof Menu;
@@ -5666,11 +5800,11 @@ declare class FigureComponent extends Component<Props$t, SpreadsheetChildEnv> {
5666
5800
  private openContextMenu;
5667
5801
  }
5668
5802
 
5669
- interface Props$s {
5803
+ interface Props$u {
5670
5804
  figure: Figure;
5671
5805
  onFigureDeleted: () => void;
5672
5806
  }
5673
- declare class ChartFigure extends Component<Props$s, SpreadsheetChildEnv> {
5807
+ declare class ChartFigure extends Component<Props$u, SpreadsheetChildEnv> {
5674
5808
  static template: string;
5675
5809
  static components: {};
5676
5810
  onDoubleClick(): void;
@@ -5678,7 +5812,7 @@ declare class ChartFigure extends Component<Props$s, SpreadsheetChildEnv> {
5678
5812
  get chartComponent(): new (...args: any) => Component;
5679
5813
  }
5680
5814
 
5681
- interface Props$r {
5815
+ interface Props$t {
5682
5816
  isVisible: boolean;
5683
5817
  position: Position;
5684
5818
  }
@@ -5690,7 +5824,7 @@ interface State$5 {
5690
5824
  position: Position;
5691
5825
  handler: boolean;
5692
5826
  }
5693
- declare class Autofill extends Component<Props$r, SpreadsheetChildEnv> {
5827
+ declare class Autofill extends Component<Props$t, SpreadsheetChildEnv> {
5694
5828
  static template: string;
5695
5829
  state: State$5;
5696
5830
  get style(): string;
@@ -5764,13 +5898,13 @@ declare class Ripple extends Component<RippleProps, SpreadsheetChildEnv> {
5764
5898
  getRippleEffectProps(id: number): RippleEffectProps;
5765
5899
  }
5766
5900
 
5767
- interface Props$q {
5901
+ interface Props$s {
5768
5902
  sheetId: string;
5769
5903
  openContextMenu: (registry: MenuItemRegistry, ev: MouseEvent) => void;
5770
5904
  style?: string;
5771
5905
  onMouseDown: (ev: MouseEvent) => void;
5772
5906
  }
5773
- declare class BottomBarSheet extends Component<Props$q, SpreadsheetChildEnv> {
5907
+ declare class BottomBarSheet extends Component<Props$s, SpreadsheetChildEnv> {
5774
5908
  static template: string;
5775
5909
  static components: {
5776
5910
  Ripple: typeof Ripple;
@@ -5804,11 +5938,11 @@ declare class BottomBarSheet extends Component<Props$q, SpreadsheetChildEnv> {
5804
5938
  get sheetName(): string;
5805
5939
  }
5806
5940
 
5807
- interface Props$p {
5941
+ interface Props$r {
5808
5942
  openContextMenu: (x: number, y: number, registry: MenuItemRegistry) => void;
5809
5943
  closeContextMenu: () => void;
5810
5944
  }
5811
- declare class BottomBarStatistic extends Component<Props$p, SpreadsheetChildEnv> {
5945
+ declare class BottomBarStatistic extends Component<Props$r, SpreadsheetChildEnv> {
5812
5946
  static template: string;
5813
5947
  static components: {
5814
5948
  Ripple: typeof Ripple;
@@ -5830,13 +5964,13 @@ interface SheetState {
5830
5964
  isDnd: boolean;
5831
5965
  sheetDndPositions: Record<UID, number> | undefined;
5832
5966
  }
5833
- interface Props$o {
5967
+ interface Props$q {
5834
5968
  onClick: () => void;
5835
5969
  }
5836
5970
  interface BottomBarMenuState extends MenuState {
5837
5971
  menuId: UID | undefined;
5838
5972
  }
5839
- declare class BottomBar extends Component<Props$o, SpreadsheetChildEnv> {
5973
+ declare class BottomBar extends Component<Props$q, SpreadsheetChildEnv> {
5840
5974
  static template: string;
5841
5975
  static components: {
5842
5976
  Menu: typeof Menu;
@@ -5879,21 +6013,21 @@ declare class BottomBar extends Component<Props$o, SpreadsheetChildEnv> {
5879
6013
  get sheetListMaxScroll(): number;
5880
6014
  }
5881
6015
 
5882
- interface Props$n {
6016
+ interface Props$p {
5883
6017
  position: DOMCoordinates;
5884
6018
  isActive: boolean;
5885
6019
  onClick: () => void;
5886
6020
  }
5887
- declare class FilterIcon extends Component<Props$n, SpreadsheetEnv> {
6021
+ declare class FilterIcon extends Component<Props$p, SpreadsheetEnv> {
5888
6022
  static style: string;
5889
6023
  static template: string;
5890
6024
  get style(): string;
5891
6025
  }
5892
6026
 
5893
- interface Props$m {
6027
+ interface Props$o {
5894
6028
  gridPosition: DOMCoordinates;
5895
6029
  }
5896
- declare class FilterIconsOverlay extends Component<Props$m, SpreadsheetChildEnv> {
6030
+ declare class FilterIconsOverlay extends Component<Props$o, SpreadsheetChildEnv> {
5897
6031
  static style: string;
5898
6032
  static template: string;
5899
6033
  static components: {
@@ -5923,7 +6057,7 @@ interface SnapLine<T extends HFigureAxisType | VFigureAxisType> {
5923
6057
  }
5924
6058
 
5925
6059
  type ContainerType = "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "dnd";
5926
- interface Props$l {
6060
+ interface Props$n {
5927
6061
  onFigureDeleted: () => void;
5928
6062
  }
5929
6063
  interface Container {
@@ -6002,7 +6136,7 @@ interface DndState {
6002
6136
  * that occurred during the drag & drop, and to position the figure on the correct pane.
6003
6137
  *
6004
6138
  */
6005
- declare class FiguresContainer extends Component<Props$l, SpreadsheetChildEnv> {
6139
+ declare class FiguresContainer extends Component<Props$n, SpreadsheetChildEnv> {
6006
6140
  static template: string;
6007
6141
  static components: {
6008
6142
  FigureComponent: typeof FigureComponent;
@@ -6034,7 +6168,7 @@ declare class FiguresContainer extends Component<Props$l, SpreadsheetChildEnv> {
6034
6168
  private getSnapLineStyle;
6035
6169
  }
6036
6170
 
6037
- interface Props$k {
6171
+ interface Props$m {
6038
6172
  onCellHovered: (position: Partial<Position$1>) => void;
6039
6173
  onCellDoubleClicked: (col: HeaderIndex, row: HeaderIndex) => void;
6040
6174
  onCellClicked: (col: HeaderIndex, row: HeaderIndex, modifiers: {
@@ -6042,12 +6176,12 @@ interface Props$k {
6042
6176
  shiftKey: boolean;
6043
6177
  }) => void;
6044
6178
  onCellRightClicked: (col: HeaderIndex, row: HeaderIndex, coordinates: DOMCoordinates) => void;
6045
- onGridResized: (dimension: DOMDimension) => void;
6179
+ onGridResized: (dimension: Rect) => void;
6046
6180
  onGridMoved: (deltaX: Pixel, deltaY: Pixel) => void;
6047
6181
  gridOverlayDimensions: string;
6048
6182
  onFigureDeleted: () => void;
6049
6183
  }
6050
- declare class GridOverlay extends Component<Props$k, SpreadsheetChildEnv> {
6184
+ declare class GridOverlay extends Component<Props$m, SpreadsheetChildEnv> {
6051
6185
  static template: string;
6052
6186
  static components: {
6053
6187
  FiguresContainer: typeof FiguresContainer;
@@ -6071,13 +6205,13 @@ declare class GridOverlay extends Component<Props$k, SpreadsheetChildEnv> {
6071
6205
  private getCartesianCoordinates;
6072
6206
  }
6073
6207
 
6074
- interface Props$j {
6208
+ interface Props$l {
6075
6209
  hoveredCell: Partial<Position$1>;
6076
6210
  gridRect: Rect;
6077
6211
  onClosePopover: () => void;
6078
6212
  onMouseWheel: (ev: WheelEvent) => void;
6079
6213
  }
6080
- declare class GridPopover extends Component<Props$j, SpreadsheetChildEnv> {
6214
+ declare class GridPopover extends Component<Props$l, SpreadsheetChildEnv> {
6081
6215
  static template: string;
6082
6216
  static components: {
6083
6217
  Popover: typeof Popover;
@@ -6088,7 +6222,7 @@ declare class GridPopover extends Component<Props$j, SpreadsheetChildEnv> {
6088
6222
 
6089
6223
  type ScrollDirection = "horizontal" | "vertical";
6090
6224
 
6091
- interface Props$i {
6225
+ interface Props$k {
6092
6226
  width: Pixel;
6093
6227
  height: Pixel;
6094
6228
  direction: ScrollDirection;
@@ -6096,7 +6230,7 @@ interface Props$i {
6096
6230
  offset: Pixel;
6097
6231
  onScroll: (offset: Pixel) => void;
6098
6232
  }
6099
- declare class ScrollBar extends Component<Props$i> {
6233
+ declare class ScrollBar extends Component<Props$k> {
6100
6234
  static template: string;
6101
6235
  static defaultProps: {
6102
6236
  width: number;
@@ -6110,10 +6244,10 @@ declare class ScrollBar extends Component<Props$i> {
6110
6244
  onScroll(ev: any): void;
6111
6245
  }
6112
6246
 
6113
- interface Props$h {
6247
+ interface Props$j {
6114
6248
  leftOffset: number;
6115
6249
  }
6116
- declare class HorizontalScrollBar extends Component<Props$h, SpreadsheetChildEnv> {
6250
+ declare class HorizontalScrollBar extends Component<Props$j, SpreadsheetChildEnv> {
6117
6251
  static components: {
6118
6252
  ScrollBar: typeof ScrollBar;
6119
6253
  };
@@ -6133,10 +6267,10 @@ declare class HorizontalScrollBar extends Component<Props$h, SpreadsheetChildEnv
6133
6267
  onScroll(offset: any): void;
6134
6268
  }
6135
6269
 
6136
- interface Props$g {
6270
+ interface Props$i {
6137
6271
  topOffset: number;
6138
6272
  }
6139
- declare class VerticalScrollBar extends Component<Props$g, SpreadsheetChildEnv> {
6273
+ declare class VerticalScrollBar extends Component<Props$i, SpreadsheetChildEnv> {
6140
6274
  static components: {
6141
6275
  ScrollBar: typeof ScrollBar;
6142
6276
  };
@@ -6156,7 +6290,7 @@ declare class VerticalScrollBar extends Component<Props$g, SpreadsheetChildEnv>
6156
6290
  onScroll(offset: any): void;
6157
6291
  }
6158
6292
 
6159
- interface Props$f {
6293
+ interface Props$h {
6160
6294
  }
6161
6295
  interface ClickableCell {
6162
6296
  coordinates: Rect;
@@ -6164,7 +6298,7 @@ interface ClickableCell {
6164
6298
  action: (position: CellPosition, env: SpreadsheetChildEnv) => void;
6165
6299
  tKey: string;
6166
6300
  }
6167
- declare class SpreadsheetDashboard extends Component<Props$f, SpreadsheetChildEnv> {
6301
+ declare class SpreadsheetDashboard extends Component<Props$h, SpreadsheetChildEnv> {
6168
6302
  static template: string;
6169
6303
  static components: {
6170
6304
  GridOverlay: typeof GridOverlay;
@@ -6200,6 +6334,66 @@ declare class SpreadsheetDashboard extends Component<Props$f, SpreadsheetChildEn
6200
6334
  private getGridRect;
6201
6335
  }
6202
6336
 
6337
+ interface Props$g {
6338
+ group: HeaderGroup;
6339
+ layerOffset: number;
6340
+ openContextMenu(position: DOMCoordinates, menuItems: Action[]): void;
6341
+ }
6342
+ interface GroupBox {
6343
+ groupRect: Rect;
6344
+ headerRect: Rect;
6345
+ isEndHidden: boolean;
6346
+ }
6347
+ declare abstract class AbstractHeaderGroup extends Component<Props$g, SpreadsheetChildEnv> {
6348
+ static template: string;
6349
+ abstract dimension: Dimension;
6350
+ toggleGroup(): void;
6351
+ get groupBoxStyle(): string;
6352
+ abstract get groupBorderStyle(): string;
6353
+ abstract get groupHeaderStyle(): string;
6354
+ get groupButtonStyle(): string;
6355
+ get groupButtonIcon(): string;
6356
+ get isGroupFolded(): boolean;
6357
+ /** The box that will be used to draw the header group. */
6358
+ abstract get groupBox(): GroupBox;
6359
+ onContextMenu(ev: MouseEvent): void;
6360
+ }
6361
+ declare class RowGroup extends AbstractHeaderGroup {
6362
+ dimension: Dimension;
6363
+ get groupBorderStyle(): string;
6364
+ get groupHeaderStyle(): string;
6365
+ get groupBox(): GroupBox;
6366
+ }
6367
+ declare class ColGroup extends AbstractHeaderGroup {
6368
+ dimension: Dimension;
6369
+ get groupBorderStyle(): string;
6370
+ get groupHeaderStyle(): string;
6371
+ get groupBox(): GroupBox;
6372
+ }
6373
+
6374
+ interface Props$f {
6375
+ dimension: Dimension;
6376
+ layers: HeaderGroup[][];
6377
+ }
6378
+ declare class HeaderGroupContainer extends Component<Props$f, SpreadsheetChildEnv> {
6379
+ static template: string;
6380
+ static components: {
6381
+ RowGroup: typeof RowGroup;
6382
+ ColGroup: typeof ColGroup;
6383
+ Menu: typeof Menu;
6384
+ };
6385
+ menu: MenuState;
6386
+ getLayerOffset(layerIndex: number): number;
6387
+ onContextMenu(event: MouseEvent): void;
6388
+ openContextMenu(position: DOMCoordinates, menuItems: Action[]): void;
6389
+ closeMenu(): void;
6390
+ get groupComponent(): typeof RowGroup;
6391
+ get hasFrozenPane(): boolean;
6392
+ get scrollContainerStyle(): string;
6393
+ get frozenPaneContainerStyle(): string;
6394
+ get frozenPaneContainerSize(): Pixel;
6395
+ }
6396
+
6203
6397
  interface Props$e {
6204
6398
  component: string;
6205
6399
  panelProps: any;
@@ -6236,48 +6430,48 @@ declare const deleteCellShiftUp: ActionSpec;
6236
6430
  declare const deleteCellShiftLeft: ActionSpec;
6237
6431
  declare const mergeCells: ActionSpec;
6238
6432
 
6239
- declare const ACTION_EDIT_undo: typeof undo;
6240
- declare const ACTION_EDIT_redo: typeof redo;
6433
+ declare const ACTION_EDIT_clearCols: typeof clearCols;
6434
+ declare const ACTION_EDIT_clearRows: typeof clearRows;
6241
6435
  declare const ACTION_EDIT_copy: typeof copy;
6242
6436
  declare const ACTION_EDIT_cut: typeof cut;
6437
+ declare const ACTION_EDIT_deleteCellShiftLeft: typeof deleteCellShiftLeft;
6438
+ declare const ACTION_EDIT_deleteCellShiftUp: typeof deleteCellShiftUp;
6439
+ declare const ACTION_EDIT_deleteCells: typeof deleteCells;
6440
+ declare const ACTION_EDIT_deleteCol: typeof deleteCol;
6441
+ declare const ACTION_EDIT_deleteCols: typeof deleteCols;
6442
+ declare const ACTION_EDIT_deleteRow: typeof deleteRow;
6443
+ declare const ACTION_EDIT_deleteRows: typeof deleteRows;
6444
+ declare const ACTION_EDIT_deleteValues: typeof deleteValues;
6445
+ declare const ACTION_EDIT_findAndReplace: typeof findAndReplace;
6446
+ declare const ACTION_EDIT_mergeCells: typeof mergeCells;
6243
6447
  declare const ACTION_EDIT_paste: typeof paste;
6244
6448
  declare const ACTION_EDIT_pasteSpecial: typeof pasteSpecial;
6245
- declare const ACTION_EDIT_pasteSpecialValue: typeof pasteSpecialValue;
6246
6449
  declare const ACTION_EDIT_pasteSpecialFormat: typeof pasteSpecialFormat;
6247
- declare const ACTION_EDIT_findAndReplace: typeof findAndReplace;
6248
- declare const ACTION_EDIT_deleteValues: typeof deleteValues;
6249
- declare const ACTION_EDIT_deleteRows: typeof deleteRows;
6250
- declare const ACTION_EDIT_deleteRow: typeof deleteRow;
6251
- declare const ACTION_EDIT_clearRows: typeof clearRows;
6252
- declare const ACTION_EDIT_deleteCols: typeof deleteCols;
6253
- declare const ACTION_EDIT_deleteCol: typeof deleteCol;
6254
- declare const ACTION_EDIT_clearCols: typeof clearCols;
6255
- declare const ACTION_EDIT_deleteCells: typeof deleteCells;
6256
- declare const ACTION_EDIT_deleteCellShiftUp: typeof deleteCellShiftUp;
6257
- declare const ACTION_EDIT_deleteCellShiftLeft: typeof deleteCellShiftLeft;
6258
- declare const ACTION_EDIT_mergeCells: typeof mergeCells;
6450
+ declare const ACTION_EDIT_pasteSpecialValue: typeof pasteSpecialValue;
6451
+ declare const ACTION_EDIT_redo: typeof redo;
6452
+ declare const ACTION_EDIT_undo: typeof undo;
6259
6453
  declare namespace ACTION_EDIT {
6260
6454
  export {
6261
- ACTION_EDIT_undo as undo,
6262
- ACTION_EDIT_redo as redo,
6455
+ ACTION_EDIT_clearCols as clearCols,
6456
+ ACTION_EDIT_clearRows as clearRows,
6263
6457
  ACTION_EDIT_copy as copy,
6264
6458
  ACTION_EDIT_cut as cut,
6459
+ ACTION_EDIT_deleteCellShiftLeft as deleteCellShiftLeft,
6460
+ ACTION_EDIT_deleteCellShiftUp as deleteCellShiftUp,
6461
+ ACTION_EDIT_deleteCells as deleteCells,
6462
+ ACTION_EDIT_deleteCol as deleteCol,
6463
+ ACTION_EDIT_deleteCols as deleteCols,
6464
+ ACTION_EDIT_deleteRow as deleteRow,
6465
+ ACTION_EDIT_deleteRows as deleteRows,
6466
+ ACTION_EDIT_deleteValues as deleteValues,
6467
+ ACTION_EDIT_findAndReplace as findAndReplace,
6468
+ ACTION_EDIT_mergeCells as mergeCells,
6265
6469
  ACTION_EDIT_paste as paste,
6266
6470
  ACTION_EDIT_pasteSpecial as pasteSpecial,
6267
- ACTION_EDIT_pasteSpecialValue as pasteSpecialValue,
6268
6471
  ACTION_EDIT_pasteSpecialFormat as pasteSpecialFormat,
6269
- ACTION_EDIT_findAndReplace as findAndReplace,
6270
- ACTION_EDIT_deleteValues as deleteValues,
6271
- ACTION_EDIT_deleteRows as deleteRows,
6272
- ACTION_EDIT_deleteRow as deleteRow,
6273
- ACTION_EDIT_clearRows as clearRows,
6274
- ACTION_EDIT_deleteCols as deleteCols,
6275
- ACTION_EDIT_deleteCol as deleteCol,
6276
- ACTION_EDIT_clearCols as clearCols,
6277
- ACTION_EDIT_deleteCells as deleteCells,
6278
- ACTION_EDIT_deleteCellShiftUp as deleteCellShiftUp,
6279
- ACTION_EDIT_deleteCellShiftLeft as deleteCellShiftLeft,
6280
- ACTION_EDIT_mergeCells as mergeCells,
6472
+ ACTION_EDIT_pasteSpecialValue as pasteSpecialValue,
6473
+ ACTION_EDIT_redo as redo,
6474
+ ACTION_EDIT_undo as undo,
6281
6475
  };
6282
6476
  }
6283
6477
 
@@ -6318,80 +6512,80 @@ declare const fillColor: ActionSpec;
6318
6512
  declare const formatCF: ActionSpec;
6319
6513
  declare const clearFormat: ActionSpec;
6320
6514
 
6515
+ declare const ACTION_FORMAT_clearFormat: typeof clearFormat;
6516
+ declare const ACTION_FORMAT_decraseDecimalPlaces: typeof decraseDecimalPlaces;
6517
+ declare const ACTION_FORMAT_fillColor: typeof fillColor;
6518
+ declare const ACTION_FORMAT_formatAlignment: typeof formatAlignment;
6519
+ declare const ACTION_FORMAT_formatAlignmentBottom: typeof formatAlignmentBottom;
6520
+ declare const ACTION_FORMAT_formatAlignmentCenter: typeof formatAlignmentCenter;
6521
+ declare const ACTION_FORMAT_formatAlignmentHorizontal: typeof formatAlignmentHorizontal;
6522
+ declare const ACTION_FORMAT_formatAlignmentLeft: typeof formatAlignmentLeft;
6523
+ declare const ACTION_FORMAT_formatAlignmentMiddle: typeof formatAlignmentMiddle;
6524
+ declare const ACTION_FORMAT_formatAlignmentRight: typeof formatAlignmentRight;
6525
+ declare const ACTION_FORMAT_formatAlignmentTop: typeof formatAlignmentTop;
6526
+ declare const ACTION_FORMAT_formatAlignmentVertical: typeof formatAlignmentVertical;
6527
+ declare const ACTION_FORMAT_formatBold: typeof formatBold;
6528
+ declare const ACTION_FORMAT_formatCF: typeof formatCF;
6529
+ declare const ACTION_FORMAT_formatCustomCurrency: typeof formatCustomCurrency;
6530
+ declare const ACTION_FORMAT_formatFontSize: typeof formatFontSize;
6531
+ declare const ACTION_FORMAT_formatItalic: typeof formatItalic;
6321
6532
  declare const ACTION_FORMAT_formatNumberAutomatic: typeof formatNumberAutomatic;
6322
- declare const ACTION_FORMAT_formatNumberNumber: typeof formatNumberNumber;
6323
- declare const ACTION_FORMAT_formatPercent: typeof formatPercent;
6324
- declare const ACTION_FORMAT_formatNumberPercent: typeof formatNumberPercent;
6325
6533
  declare const ACTION_FORMAT_formatNumberCurrency: typeof formatNumberCurrency;
6326
6534
  declare const ACTION_FORMAT_formatNumberCurrencyRounded: typeof formatNumberCurrencyRounded;
6327
- declare const ACTION_FORMAT_formatCustomCurrency: typeof formatCustomCurrency;
6328
6535
  declare const ACTION_FORMAT_formatNumberDate: typeof formatNumberDate;
6329
- declare const ACTION_FORMAT_formatNumberTime: typeof formatNumberTime;
6330
6536
  declare const ACTION_FORMAT_formatNumberDateTime: typeof formatNumberDateTime;
6331
6537
  declare const ACTION_FORMAT_formatNumberDuration: typeof formatNumberDuration;
6332
- declare const ACTION_FORMAT_incraseDecimalPlaces: typeof incraseDecimalPlaces;
6333
- declare const ACTION_FORMAT_decraseDecimalPlaces: typeof decraseDecimalPlaces;
6334
- declare const ACTION_FORMAT_formatBold: typeof formatBold;
6335
- declare const ACTION_FORMAT_formatItalic: typeof formatItalic;
6336
- declare const ACTION_FORMAT_formatUnderline: typeof formatUnderline;
6538
+ declare const ACTION_FORMAT_formatNumberNumber: typeof formatNumberNumber;
6539
+ declare const ACTION_FORMAT_formatNumberPercent: typeof formatNumberPercent;
6540
+ declare const ACTION_FORMAT_formatNumberTime: typeof formatNumberTime;
6541
+ declare const ACTION_FORMAT_formatPercent: typeof formatPercent;
6337
6542
  declare const ACTION_FORMAT_formatStrikethrough: typeof formatStrikethrough;
6338
- declare const ACTION_FORMAT_formatFontSize: typeof formatFontSize;
6339
- declare const ACTION_FORMAT_formatAlignment: typeof formatAlignment;
6340
- declare const ACTION_FORMAT_formatAlignmentHorizontal: typeof formatAlignmentHorizontal;
6341
- declare const ACTION_FORMAT_formatAlignmentLeft: typeof formatAlignmentLeft;
6342
- declare const ACTION_FORMAT_formatAlignmentCenter: typeof formatAlignmentCenter;
6343
- declare const ACTION_FORMAT_formatAlignmentRight: typeof formatAlignmentRight;
6344
- declare const ACTION_FORMAT_formatAlignmentVertical: typeof formatAlignmentVertical;
6345
- declare const ACTION_FORMAT_formatAlignmentTop: typeof formatAlignmentTop;
6346
- declare const ACTION_FORMAT_formatAlignmentMiddle: typeof formatAlignmentMiddle;
6347
- declare const ACTION_FORMAT_formatAlignmentBottom: typeof formatAlignmentBottom;
6348
- declare const ACTION_FORMAT_formatWrappingIcon: typeof formatWrappingIcon;
6543
+ declare const ACTION_FORMAT_formatUnderline: typeof formatUnderline;
6349
6544
  declare const ACTION_FORMAT_formatWrapping: typeof formatWrapping;
6545
+ declare const ACTION_FORMAT_formatWrappingClip: typeof formatWrappingClip;
6546
+ declare const ACTION_FORMAT_formatWrappingIcon: typeof formatWrappingIcon;
6350
6547
  declare const ACTION_FORMAT_formatWrappingOverflow: typeof formatWrappingOverflow;
6351
6548
  declare const ACTION_FORMAT_formatWrappingWrap: typeof formatWrappingWrap;
6352
- declare const ACTION_FORMAT_formatWrappingClip: typeof formatWrappingClip;
6549
+ declare const ACTION_FORMAT_incraseDecimalPlaces: typeof incraseDecimalPlaces;
6353
6550
  declare const ACTION_FORMAT_textColor: typeof textColor;
6354
- declare const ACTION_FORMAT_fillColor: typeof fillColor;
6355
- declare const ACTION_FORMAT_formatCF: typeof formatCF;
6356
- declare const ACTION_FORMAT_clearFormat: typeof clearFormat;
6357
6551
  declare namespace ACTION_FORMAT {
6358
6552
  export {
6553
+ ACTION_FORMAT_clearFormat as clearFormat,
6554
+ ACTION_FORMAT_decraseDecimalPlaces as decraseDecimalPlaces,
6555
+ ACTION_FORMAT_fillColor as fillColor,
6556
+ ACTION_FORMAT_formatAlignment as formatAlignment,
6557
+ ACTION_FORMAT_formatAlignmentBottom as formatAlignmentBottom,
6558
+ ACTION_FORMAT_formatAlignmentCenter as formatAlignmentCenter,
6559
+ ACTION_FORMAT_formatAlignmentHorizontal as formatAlignmentHorizontal,
6560
+ ACTION_FORMAT_formatAlignmentLeft as formatAlignmentLeft,
6561
+ ACTION_FORMAT_formatAlignmentMiddle as formatAlignmentMiddle,
6562
+ ACTION_FORMAT_formatAlignmentRight as formatAlignmentRight,
6563
+ ACTION_FORMAT_formatAlignmentTop as formatAlignmentTop,
6564
+ ACTION_FORMAT_formatAlignmentVertical as formatAlignmentVertical,
6565
+ ACTION_FORMAT_formatBold as formatBold,
6566
+ ACTION_FORMAT_formatCF as formatCF,
6567
+ ACTION_FORMAT_formatCustomCurrency as formatCustomCurrency,
6568
+ ACTION_FORMAT_formatFontSize as formatFontSize,
6569
+ ACTION_FORMAT_formatItalic as formatItalic,
6359
6570
  ACTION_FORMAT_formatNumberAutomatic as formatNumberAutomatic,
6360
- ACTION_FORMAT_formatNumberNumber as formatNumberNumber,
6361
- ACTION_FORMAT_formatPercent as formatPercent,
6362
- ACTION_FORMAT_formatNumberPercent as formatNumberPercent,
6363
6571
  ACTION_FORMAT_formatNumberCurrency as formatNumberCurrency,
6364
6572
  ACTION_FORMAT_formatNumberCurrencyRounded as formatNumberCurrencyRounded,
6365
- ACTION_FORMAT_formatCustomCurrency as formatCustomCurrency,
6366
6573
  ACTION_FORMAT_formatNumberDate as formatNumberDate,
6367
- ACTION_FORMAT_formatNumberTime as formatNumberTime,
6368
6574
  ACTION_FORMAT_formatNumberDateTime as formatNumberDateTime,
6369
6575
  ACTION_FORMAT_formatNumberDuration as formatNumberDuration,
6370
- ACTION_FORMAT_incraseDecimalPlaces as incraseDecimalPlaces,
6371
- ACTION_FORMAT_decraseDecimalPlaces as decraseDecimalPlaces,
6372
- ACTION_FORMAT_formatBold as formatBold,
6373
- ACTION_FORMAT_formatItalic as formatItalic,
6374
- ACTION_FORMAT_formatUnderline as formatUnderline,
6576
+ ACTION_FORMAT_formatNumberNumber as formatNumberNumber,
6577
+ ACTION_FORMAT_formatNumberPercent as formatNumberPercent,
6578
+ ACTION_FORMAT_formatNumberTime as formatNumberTime,
6579
+ ACTION_FORMAT_formatPercent as formatPercent,
6375
6580
  ACTION_FORMAT_formatStrikethrough as formatStrikethrough,
6376
- ACTION_FORMAT_formatFontSize as formatFontSize,
6377
- ACTION_FORMAT_formatAlignment as formatAlignment,
6378
- ACTION_FORMAT_formatAlignmentHorizontal as formatAlignmentHorizontal,
6379
- ACTION_FORMAT_formatAlignmentLeft as formatAlignmentLeft,
6380
- ACTION_FORMAT_formatAlignmentCenter as formatAlignmentCenter,
6381
- ACTION_FORMAT_formatAlignmentRight as formatAlignmentRight,
6382
- ACTION_FORMAT_formatAlignmentVertical as formatAlignmentVertical,
6383
- ACTION_FORMAT_formatAlignmentTop as formatAlignmentTop,
6384
- ACTION_FORMAT_formatAlignmentMiddle as formatAlignmentMiddle,
6385
- ACTION_FORMAT_formatAlignmentBottom as formatAlignmentBottom,
6386
- ACTION_FORMAT_formatWrappingIcon as formatWrappingIcon,
6581
+ ACTION_FORMAT_formatUnderline as formatUnderline,
6387
6582
  ACTION_FORMAT_formatWrapping as formatWrapping,
6583
+ ACTION_FORMAT_formatWrappingClip as formatWrappingClip,
6584
+ ACTION_FORMAT_formatWrappingIcon as formatWrappingIcon,
6388
6585
  ACTION_FORMAT_formatWrappingOverflow as formatWrappingOverflow,
6389
6586
  ACTION_FORMAT_formatWrappingWrap as formatWrappingWrap,
6390
- ACTION_FORMAT_formatWrappingClip as formatWrappingClip,
6587
+ ACTION_FORMAT_incraseDecimalPlaces as incraseDecimalPlaces,
6391
6588
  ACTION_FORMAT_textColor as textColor,
6392
- ACTION_FORMAT_fillColor as fillColor,
6393
- ACTION_FORMAT_formatCF as formatCF,
6394
- ACTION_FORMAT_clearFormat as clearFormat,
6395
6589
  };
6396
6590
  }
6397
6591
 
@@ -6414,47 +6608,62 @@ declare const freezeCurrentCol: ActionSpec;
6414
6608
  declare const viewGridlines: ActionSpec;
6415
6609
  declare const viewFormulas: ActionSpec;
6416
6610
  declare const createRemoveFilter: ActionSpec;
6611
+ declare const groupColumns: ActionSpec;
6612
+ declare const groupRows: ActionSpec;
6613
+ declare const ungroupColumns: ActionSpec;
6614
+ declare const ungroupRows: ActionSpec;
6615
+ declare function canUngroupHeaders(env: SpreadsheetChildEnv, dimension: Dimension): boolean;
6417
6616
 
6617
+ declare const ACTION_VIEW_canUngroupHeaders: typeof canUngroupHeaders;
6618
+ declare const ACTION_VIEW_createRemoveFilter: typeof createRemoveFilter;
6619
+ declare const ACTION_VIEW_freezeCurrentCol: typeof freezeCurrentCol;
6620
+ declare const ACTION_VIEW_freezeCurrentRow: typeof freezeCurrentRow;
6621
+ declare const ACTION_VIEW_freezeFirstCol: typeof freezeFirstCol;
6622
+ declare const ACTION_VIEW_freezeFirstRow: typeof freezeFirstRow;
6623
+ declare const ACTION_VIEW_freezePane: typeof freezePane;
6624
+ declare const ACTION_VIEW_freezeSecondCol: typeof freezeSecondCol;
6625
+ declare const ACTION_VIEW_freezeSecondRow: typeof freezeSecondRow;
6626
+ declare const ACTION_VIEW_groupColumns: typeof groupColumns;
6627
+ declare const ACTION_VIEW_groupRows: typeof groupRows;
6418
6628
  declare const ACTION_VIEW_hideCols: typeof hideCols;
6419
- declare const ACTION_VIEW_unhideCols: typeof unhideCols;
6420
- declare const ACTION_VIEW_unhideAllCols: typeof unhideAllCols;
6421
6629
  declare const ACTION_VIEW_hideRows: typeof hideRows;
6422
- declare const ACTION_VIEW_unhideRows: typeof unhideRows;
6423
- declare const ACTION_VIEW_unhideAllRows: typeof unhideAllRows;
6630
+ declare const ACTION_VIEW_unFreezeCols: typeof unFreezeCols;
6424
6631
  declare const ACTION_VIEW_unFreezePane: typeof unFreezePane;
6425
- declare const ACTION_VIEW_freezePane: typeof freezePane;
6426
6632
  declare const ACTION_VIEW_unFreezeRows: typeof unFreezeRows;
6427
- declare const ACTION_VIEW_freezeFirstRow: typeof freezeFirstRow;
6428
- declare const ACTION_VIEW_freezeSecondRow: typeof freezeSecondRow;
6429
- declare const ACTION_VIEW_freezeCurrentRow: typeof freezeCurrentRow;
6430
- declare const ACTION_VIEW_unFreezeCols: typeof unFreezeCols;
6431
- declare const ACTION_VIEW_freezeFirstCol: typeof freezeFirstCol;
6432
- declare const ACTION_VIEW_freezeSecondCol: typeof freezeSecondCol;
6433
- declare const ACTION_VIEW_freezeCurrentCol: typeof freezeCurrentCol;
6434
- declare const ACTION_VIEW_viewGridlines: typeof viewGridlines;
6633
+ declare const ACTION_VIEW_ungroupColumns: typeof ungroupColumns;
6634
+ declare const ACTION_VIEW_ungroupRows: typeof ungroupRows;
6635
+ declare const ACTION_VIEW_unhideAllCols: typeof unhideAllCols;
6636
+ declare const ACTION_VIEW_unhideAllRows: typeof unhideAllRows;
6637
+ declare const ACTION_VIEW_unhideCols: typeof unhideCols;
6638
+ declare const ACTION_VIEW_unhideRows: typeof unhideRows;
6435
6639
  declare const ACTION_VIEW_viewFormulas: typeof viewFormulas;
6436
- declare const ACTION_VIEW_createRemoveFilter: typeof createRemoveFilter;
6640
+ declare const ACTION_VIEW_viewGridlines: typeof viewGridlines;
6437
6641
  declare namespace ACTION_VIEW {
6438
6642
  export {
6643
+ ACTION_VIEW_canUngroupHeaders as canUngroupHeaders,
6644
+ ACTION_VIEW_createRemoveFilter as createRemoveFilter,
6645
+ ACTION_VIEW_freezeCurrentCol as freezeCurrentCol,
6646
+ ACTION_VIEW_freezeCurrentRow as freezeCurrentRow,
6647
+ ACTION_VIEW_freezeFirstCol as freezeFirstCol,
6648
+ ACTION_VIEW_freezeFirstRow as freezeFirstRow,
6649
+ ACTION_VIEW_freezePane as freezePane,
6650
+ ACTION_VIEW_freezeSecondCol as freezeSecondCol,
6651
+ ACTION_VIEW_freezeSecondRow as freezeSecondRow,
6652
+ ACTION_VIEW_groupColumns as groupColumns,
6653
+ ACTION_VIEW_groupRows as groupRows,
6439
6654
  ACTION_VIEW_hideCols as hideCols,
6440
- ACTION_VIEW_unhideCols as unhideCols,
6441
- ACTION_VIEW_unhideAllCols as unhideAllCols,
6442
6655
  ACTION_VIEW_hideRows as hideRows,
6443
- ACTION_VIEW_unhideRows as unhideRows,
6444
- ACTION_VIEW_unhideAllRows as unhideAllRows,
6656
+ ACTION_VIEW_unFreezeCols as unFreezeCols,
6445
6657
  ACTION_VIEW_unFreezePane as unFreezePane,
6446
- ACTION_VIEW_freezePane as freezePane,
6447
6658
  ACTION_VIEW_unFreezeRows as unFreezeRows,
6448
- ACTION_VIEW_freezeFirstRow as freezeFirstRow,
6449
- ACTION_VIEW_freezeSecondRow as freezeSecondRow,
6450
- ACTION_VIEW_freezeCurrentRow as freezeCurrentRow,
6451
- ACTION_VIEW_unFreezeCols as unFreezeCols,
6452
- ACTION_VIEW_freezeFirstCol as freezeFirstCol,
6453
- ACTION_VIEW_freezeSecondCol as freezeSecondCol,
6454
- ACTION_VIEW_freezeCurrentCol as freezeCurrentCol,
6455
- ACTION_VIEW_viewGridlines as viewGridlines,
6659
+ ACTION_VIEW_ungroupColumns as ungroupColumns,
6660
+ ACTION_VIEW_ungroupRows as ungroupRows,
6661
+ ACTION_VIEW_unhideAllCols as unhideAllCols,
6662
+ ACTION_VIEW_unhideAllRows as unhideAllRows,
6663
+ ACTION_VIEW_unhideCols as unhideCols,
6664
+ ACTION_VIEW_unhideRows as unhideRows,
6456
6665
  ACTION_VIEW_viewFormulas as viewFormulas,
6457
- ACTION_VIEW_createRemoveFilter as createRemoveFilter,
6666
+ ACTION_VIEW_viewGridlines as viewGridlines,
6458
6667
  };
6459
6668
  }
6460
6669
 
@@ -6855,8 +7064,8 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
6855
7064
  BottomBar: typeof BottomBar;
6856
7065
  SidePanel: typeof SidePanel;
6857
7066
  SpreadsheetDashboard: typeof SpreadsheetDashboard;
7067
+ HeaderGroupContainer: typeof HeaderGroupContainer;
6858
7068
  };
6859
- static _t: (s: string) => string;
6860
7069
  sidePanel: SidePanelState;
6861
7070
  composer: ComposerState;
6862
7071
  private _focusGrid?;
@@ -6883,6 +7092,9 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
6883
7092
  */
6884
7093
  private setComposerContent;
6885
7094
  get gridHeight(): Pixel;
7095
+ get gridContainerStyle(): string;
7096
+ get rowLayers(): HeaderGroup[][];
7097
+ get colLayers(): HeaderGroup[][];
6886
7098
  }
6887
7099
 
6888
7100
  interface Props$5 {
@@ -7081,7 +7293,7 @@ declare class Highlight extends Component<Props$2, SpreadsheetChildEnv> {
7081
7293
  * - a horizontal resizer (to resize columns)
7082
7294
  * - a vertical resizer (same, for rows)
7083
7295
  */
7084
- type ContextMenuType = "ROW" | "COL" | "CELL" | "FILTER";
7296
+ type ContextMenuType = "ROW" | "COL" | "CELL" | "FILTER" | "GROUP_HEADERS" | "UNGROUP_HEADERS";
7085
7297
  interface Props$1 {
7086
7298
  sidePanelIsOpen: boolean;
7087
7299
  exposeFocus: (focus: () => void) => void;
@@ -7151,6 +7363,10 @@ declare class Grid extends Component<Props$1, SpreadsheetChildEnv> {
7151
7363
  private clearFormatting;
7152
7364
  private setHorizontalAlign;
7153
7365
  closeMenu(): void;
7366
+ private processHeaderGroupingKey;
7367
+ private processHeaderGroupingEventOnHeaders;
7368
+ private processHeaderGroupingEventOnWholeSheet;
7369
+ private processHeaderGroupingEventOnGrid;
7154
7370
  }
7155
7371
 
7156
7372
  interface Props {
@@ -7208,6 +7424,17 @@ declare function createEmptyExcelSheet(sheetId: UID, name: string): ExcelSheetDa
7208
7424
 
7209
7425
  declare function genericRepeat<T extends Command>(getters: Getters, command: T): T;
7210
7426
 
7427
+ type SprintfValues = (string | String | number)[] | [{
7428
+ [key: string]: string | number;
7429
+ }];
7430
+ type TranslationFunction = (string: string, ...values: SprintfValues) => string;
7431
+ /***
7432
+ * Allow to inject a translation function from outside o-spreadsheet.
7433
+ * @param tfn the function that will do the translation
7434
+ * @param loaded a function that returns true when the translation is loaded
7435
+ */
7436
+ declare function setTranslationMethod(tfn: TranslationFunction, loaded?: () => boolean): void;
7437
+
7211
7438
  /**
7212
7439
  * We export here all entities that needs to be accessed publicly by Odoo.
7213
7440
  *
@@ -7235,7 +7462,7 @@ declare const registries: {
7235
7462
  linkMenuRegistry: MenuItemRegistry;
7236
7463
  functionRegistry: {
7237
7464
  mapping: {
7238
- [key: string]: ComputeFunction<Arg, FunctionReturn>;
7465
+ [key: string]: ComputeFunction<Arg, ValueAndFormat | Matrix<ValueAndFormat>>;
7239
7466
  };
7240
7467
  add(name: string, addDescr: AddFunctionDescription): any;
7241
7468
  content: {
@@ -7311,6 +7538,8 @@ declare const helpers: {
7311
7538
  isDefined: typeof isDefined;
7312
7539
  lazy: typeof lazy;
7313
7540
  genericRepeat: typeof genericRepeat;
7541
+ createAction: typeof createAction;
7542
+ createActions: typeof createActions;
7314
7543
  };
7315
7544
  declare const links: {
7316
7545
  isMarkdownLink: typeof isMarkdownLink;
@@ -7335,6 +7564,7 @@ declare const components: {
7335
7564
  ScorecardChartConfigPanel: typeof ScorecardChartConfigPanel;
7336
7565
  ScorecardChartDesignPanel: typeof ScorecardChartDesignPanel;
7337
7566
  FigureComponent: typeof FigureComponent;
7567
+ Menu: typeof Menu;
7338
7568
  };
7339
7569
  declare function addFunction(functionName: string, functionDescription: AddFunctionDescription): {
7340
7570
  addFunction: (fName: string, fDescription: AddFunctionDescription) => any;