@odoo/o-spreadsheet 17.2.0-alpha.4 → 17.2.0-alpha.6

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.
@@ -1,6 +1,6 @@
1
1
  import * as _odoo_owl from '@odoo/owl';
2
2
  import { ComponentConstructor, Component } from '@odoo/owl';
3
- import { ChartConfiguration, ChartData, ChartDataset, ChartOptions } from 'chart.js';
3
+ import { ChartConfiguration } from 'chart.js';
4
4
 
5
5
  /**
6
6
  * An injectable store constructor
@@ -8,6 +8,13 @@ import { ChartConfiguration, ChartData, ChartDataset, ChartOptions } from 'chart
8
8
  interface StoreConstructor<T = any, A extends unknown[] = any[]> {
9
9
  new (get: Get, ...args: A): T;
10
10
  }
11
+ /**
12
+ * A store constructor for a store that implements the Disposable interface.
13
+ * Useful for local stores that need to be disposed when the component unmounts.
14
+ */
15
+ interface LocalStoreConstructor<T extends Disposable = any, A extends unknown[] = unknown[]> {
16
+ new (get: Get, ...args: A): T;
17
+ }
11
18
  interface Disposable {
12
19
  dispose(): void;
13
20
  }
@@ -75,6 +82,11 @@ declare class DependencyContainer {
75
82
  * This hook should be used at the root of your app to provide the store container.
76
83
  */
77
84
  declare function useStoreProvider(): DependencyContainer;
85
+ /**
86
+ * Get the instance of a store.
87
+ */
88
+ declare function useStore<T extends StoreConstructor>(Store: T): Store<InstanceType<T>>;
89
+ declare function useLocalStore<T extends LocalStoreConstructor<any>>(Store: T, ...args: StoreParams<T>): Store<InstanceType<T>>;
78
90
 
79
91
  /**
80
92
  * This is a generic event bus based on the Owl event bus.
@@ -214,9 +226,13 @@ interface FigureSize {
214
226
  width: Pixel;
215
227
  height: Pixel;
216
228
  }
229
+ interface ExcelFigureSize {
230
+ cx: number;
231
+ cy: number;
232
+ }
217
233
  type ResizeDirection = -1 | 0 | 1;
218
234
 
219
- interface Image {
235
+ interface Image$1 {
220
236
  path: string;
221
237
  size: FigureSize;
222
238
  mimetype?: string;
@@ -286,52 +302,18 @@ interface SectionThreshold {
286
302
  readonly type: "number" | "percentage";
287
303
  readonly value: string;
288
304
  }
289
- interface GaugeChartConfiguration extends Omit<ChartConfiguration, "data" | "options"> {
290
- data?: GaugeChartData;
291
- options: GaugeChartOptions;
305
+ interface GaugeValue {
306
+ value: number;
307
+ label: string;
292
308
  }
293
309
  interface GaugeChartRuntime {
294
- chartJsConfig: GaugeChartConfiguration;
295
310
  background: Color;
296
- }
297
- interface GaugeChartData extends Omit<ChartData, "datasets"> {
298
- datasets: GaugeChartDataSets[];
299
- }
300
- interface GaugeChartDataSets extends ChartDataset<"doughnut"> {
301
- readonly minValue?: number;
302
- readonly value?: number | undefined;
303
- readonly backgroundColor?: string[];
304
- }
305
- interface GaugeChartOptions extends ChartOptions {
306
- needle?: NeedleOptions;
307
- valueLabel?: ValueLabelOptions;
308
- }
309
- interface NeedleOptions {
310
- display?: boolean;
311
- borderColor?: Color;
312
- backgroundColor?: Color;
313
- /**
314
- * Needle width as the percentage of the chart area width
315
- */
316
- width?: number;
317
- }
318
- interface ValueLabelOptions {
319
- display?: boolean;
320
- formatter?: (value: any) => string;
321
- font?: {
322
- size?: number;
323
- family?: string;
324
- color?: Color;
325
- };
326
- backgroundColor?: Color;
327
- borderColor?: Color;
328
- borderRadius?: number;
329
- padding?: {
330
- left: number;
331
- right: number;
332
- top: number;
333
- bottom: number;
334
- };
311
+ title: string;
312
+ minValue: GaugeValue;
313
+ maxValue: GaugeValue;
314
+ gaugeValue?: GaugeValue;
315
+ inflectionValues: GaugeValue[];
316
+ colors: Color[];
335
317
  }
336
318
 
337
319
  interface LineChartDefinition {
@@ -399,10 +381,24 @@ interface ScorecardChartRuntime {
399
381
  readonly baselineStyle?: Style;
400
382
  }
401
383
 
402
- type ChartType = "line" | "bar" | "pie" | "scorecard" | "gauge" | "scatter";
384
+ declare const CHART_TYPES: readonly ["line", "bar", "pie", "scorecard", "gauge", "scatter"];
385
+ type ChartType = (typeof CHART_TYPES)[number];
403
386
  type ChartDefinition = LineChartDefinition | PieChartDefinition | BarChartDefinition | ScorecardChartDefinition | GaugeChartDefinition | ScatterChartDefinition;
404
- type ChartJSRuntime = LineChartRuntime | PieChartRuntime | BarChartRuntime | GaugeChartRuntime | ScatterChartRuntime;
405
- type ChartRuntime = ChartJSRuntime | ScorecardChartRuntime;
387
+ type ChartJSRuntime = LineChartRuntime | PieChartRuntime | BarChartRuntime | ScatterChartRuntime;
388
+ type ChartRuntime = ChartJSRuntime | ScorecardChartRuntime | GaugeChartRuntime;
389
+ interface LabelValues {
390
+ readonly values: string[];
391
+ readonly formattedValues: string[];
392
+ }
393
+ interface DatasetValues {
394
+ readonly label?: string;
395
+ readonly data: any[];
396
+ }
397
+ type AxisType = "category" | "linear" | "time";
398
+ interface DataSet {
399
+ readonly labelCell?: Range;
400
+ readonly dataRange: Range;
401
+ }
406
402
  interface ExcelChartDataset {
407
403
  readonly label?: string;
408
404
  readonly range: string;
@@ -440,6 +436,7 @@ interface ClipboardOptions {
440
436
  isCutOperation?: boolean;
441
437
  }
442
438
  type ClipboardPasteOptions = "onlyFormat" | "asValue";
439
+ type ClipboardOperation = "CUT" | "COPY";
443
440
  type ClipboardCellData = {
444
441
  zones: Zone[];
445
442
  rowsIndexes: HeaderIndex[];
@@ -484,6 +481,56 @@ interface SearchOptions {
484
481
  specificRange?: Range;
485
482
  }
486
483
 
484
+ interface Table {
485
+ readonly id: TableId;
486
+ readonly range: Range;
487
+ readonly filters: Filter[];
488
+ readonly config: TableConfig;
489
+ }
490
+ interface Filter {
491
+ readonly id: UID;
492
+ readonly rangeWithHeaders: Range;
493
+ readonly col: number;
494
+ /** The filtered zone doesn't includes the headers of the table */
495
+ readonly filteredRange: Range | undefined;
496
+ }
497
+ interface TableConfig {
498
+ hasFilters: boolean;
499
+ totalRow: boolean;
500
+ firstColumn: boolean;
501
+ lastColumn: boolean;
502
+ numberOfHeaders: number;
503
+ bandedRows: boolean;
504
+ bandedColumns: boolean;
505
+ styleId: string;
506
+ }
507
+ interface ComputedTableStyle {
508
+ borders: Border$1[][];
509
+ styles: Style[][];
510
+ }
511
+ interface TableElementStyle {
512
+ border?: TableBorder;
513
+ style?: Style;
514
+ size?: number;
515
+ }
516
+ interface TableBorder extends Border$1 {
517
+ horizontal?: BorderDescr;
518
+ vertical?: BorderDescr;
519
+ }
520
+ interface TableStyle {
521
+ category: string;
522
+ colorName: string;
523
+ wholeTable?: TableElementStyle;
524
+ firstColumnStripe?: TableElementStyle;
525
+ secondColumnStripe?: TableElementStyle;
526
+ firstRowStripe?: TableElementStyle;
527
+ secondRowStripe?: TableElementStyle;
528
+ firstColumn?: TableElementStyle;
529
+ lastColumn?: TableElementStyle;
530
+ headerRow?: TableElementStyle;
531
+ totalRow?: TableElementStyle;
532
+ }
533
+
487
534
  /**
488
535
  * There are two kinds of commands: CoreCommands and LocalCommands
489
536
  *
@@ -508,18 +555,22 @@ interface SearchOptions {
508
555
  interface SheetDependentCommand {
509
556
  sheetId: UID;
510
557
  }
558
+ declare function isSheetDependent(cmd: CoreCommand): boolean;
511
559
  interface HeadersDependentCommand {
512
560
  sheetId: UID;
513
561
  dimension: Dimension;
514
562
  elements: HeaderIndex[];
515
563
  }
564
+ declare function isHeadersDependant(cmd: CoreCommand): boolean;
516
565
  interface TargetDependentCommand {
517
566
  sheetId: UID;
518
567
  target: Zone[];
519
568
  }
569
+ declare function isTargetDependent(cmd: CoreCommand): boolean;
520
570
  interface RangesDependentCommand {
521
571
  ranges: RangeData[];
522
572
  }
573
+ declare function isRangeDependant(cmd: CoreCommand): boolean;
523
574
  interface PositionDependentCommand {
524
575
  sheetId: UID;
525
576
  col: number;
@@ -529,11 +580,15 @@ interface ZoneDependentCommand {
529
580
  sheetId: UID;
530
581
  zone: Zone;
531
582
  }
532
- declare const invalidateEvaluationCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
533
- declare const invalidateDependenciesCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
534
- declare const invalidateCFEvaluationCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
535
- declare const readonlyAllowedCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
536
- 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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE">;
583
+ declare function isZoneDependent(cmd: CoreCommand): boolean;
584
+ declare function isPositionDependent(cmd: CoreCommand): boolean;
585
+ declare const invalidateEvaluationCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
586
+ declare const invalidateDependenciesCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
587
+ declare const invalidateCFEvaluationCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
588
+ declare const readonlyAllowedCommands: Set<"SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS">;
589
+ 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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE">;
590
+ declare function isCoreCommand(cmd: Command): cmd is CoreCommand;
591
+ declare function canExecuteInReadonly(cmd: Command): boolean;
537
592
  interface UpdateCellCommand extends PositionDependentCommand {
538
593
  type: "UPDATE_CELL";
539
594
  content?: string;
@@ -699,13 +754,22 @@ interface CreateImageOverCommand extends SheetDependentCommand {
699
754
  figureId: UID;
700
755
  position: DOMCoordinates;
701
756
  size: FigureSize;
702
- definition: Image;
757
+ definition: Image$1;
758
+ }
759
+ interface CreateTableCommand extends RangesDependentCommand {
760
+ type: "CREATE_TABLE";
761
+ sheetId: UID;
762
+ config?: TableConfig;
703
763
  }
704
- interface CreateFilterTableCommand extends TargetDependentCommand {
705
- type: "CREATE_FILTER_TABLE";
764
+ interface RemoveTableCommand extends TargetDependentCommand {
765
+ type: "REMOVE_TABLE";
706
766
  }
707
- interface RemoveFilterTableCommand extends TargetDependentCommand {
708
- type: "REMOVE_FILTER_TABLE";
767
+ interface UpdateTableCommand {
768
+ type: "UPDATE_TABLE";
769
+ zone: Zone;
770
+ sheetId: UID;
771
+ newTableRange?: RangeData;
772
+ config?: Partial<TableConfig>;
709
773
  }
710
774
  interface UpdateFilterCommand extends PositionDependentCommand {
711
775
  type: "UPDATE_FILTER";
@@ -1014,7 +1078,7 @@ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContent
1014
1078
  /** IMAGE */
1015
1079
  | CreateImageOverCommand
1016
1080
  /** FILTERS */
1017
- | CreateFilterTableCommand | RemoveFilterTableCommand
1081
+ | CreateTableCommand | RemoveTableCommand | UpdateTableCommand
1018
1082
  /** HEADER GROUP */
1019
1083
  | GroupHeadersCommand | UnGroupHeadersCommand | UnfoldHeaderGroupCommand | FoldHeaderGroupCommand | FoldAllHeaderGroupsCommand | UnfoldAllHeaderGroupsCommand | UnfoldHeaderGroupsInZoneCommand | FoldHeaderGroupsInZoneCommand
1020
1084
  /** DATA VALIDATION */
@@ -1123,9 +1187,11 @@ declare const enum CommandResult {
1123
1187
  FrozenPaneOverlap = "FrozenPaneOverlap",
1124
1188
  ValuesNotChanged = "ValuesNotChanged",
1125
1189
  InvalidFilterZone = "InvalidFilterZone",
1126
- FilterOverlap = "FilterOverlap",
1190
+ TableNotFound = "TableNotFound",
1191
+ TableOverlap = "TableOverlap",
1192
+ InvalidTableConfig = "InvalidTableConfig",
1127
1193
  FilterNotFound = "FilterNotFound",
1128
- MergeInFilter = "MergeInFilter",
1194
+ MergeInTable = "MergeInTable",
1129
1195
  NonContinuousTargets = "NonContinuousTargets",
1130
1196
  DuplicatedFigureId = "DuplicatedFigureId",
1131
1197
  InvalidSelectionStep = "InvalidSelectionStep",
@@ -1186,6 +1252,7 @@ interface CoreCommandDispatcher {
1186
1252
  type CommandTypes = Command["type"];
1187
1253
  type CoreCommandTypes = CoreCommand["type"];
1188
1254
  type CoreViewCommand = CoreCommand | EvaluateCellsCommand | UndoCommand | RedoCommand;
1255
+ type CoreViewCommandTypes = CoreViewCommand["type"];
1189
1256
 
1190
1257
  /**
1191
1258
  * The following type is meant to be used in union with other aliases to prevent
@@ -1198,7 +1265,7 @@ type Pixel = number & Alias;
1198
1265
  type UID = string & Alias;
1199
1266
  type SetDecimalStep = 1 | -1;
1200
1267
  type FilterId = UID & Alias;
1201
- type FilterTableId = UID & Alias;
1268
+ type TableId = UID & Alias;
1202
1269
  /**
1203
1270
  * CSS style color string
1204
1271
  * e.g. "#ABC", "#AAAFFF", "rgb(30, 80, 16)"
@@ -1210,6 +1277,12 @@ interface RGBA {
1210
1277
  g: number;
1211
1278
  b: number;
1212
1279
  }
1280
+ interface HSLA {
1281
+ a: number;
1282
+ h: number;
1283
+ s: number;
1284
+ l: number;
1285
+ }
1213
1286
  interface Link {
1214
1287
  readonly label: string;
1215
1288
  readonly url: string;
@@ -1317,8 +1390,18 @@ type FPayload = {
1317
1390
  format?: Format;
1318
1391
  message?: string;
1319
1392
  };
1393
+ type FPayloadNumber = {
1394
+ value: number;
1395
+ format?: string;
1396
+ };
1320
1397
  type Arg = Maybe<FPayload> | Matrix<FPayload>;
1321
1398
  declare function isMatrix(x: any): x is Matrix<any>;
1399
+ interface ClipboardCell {
1400
+ cell?: Cell;
1401
+ evaluatedCell: EvaluatedCell;
1402
+ border?: Border$1;
1403
+ position: CellPosition;
1404
+ }
1322
1405
  interface HeaderDimensions {
1323
1406
  start: Pixel;
1324
1407
  size: Pixel;
@@ -1345,6 +1428,8 @@ interface Highlight$1 {
1345
1428
  color: Color;
1346
1429
  interactive?: boolean;
1347
1430
  noFill?: boolean;
1431
+ /** transparency of the fill color (0-1) */
1432
+ fillAlpha?: number;
1348
1433
  }
1349
1434
  interface PaneDivision {
1350
1435
  /** Represents the number of frozen columns */
@@ -1377,6 +1462,7 @@ interface RangeProvider {
1377
1462
  adaptRanges: (applyChange: ApplyRangeChange, sheetId?: UID) => void;
1378
1463
  }
1379
1464
  type Validation<T> = (toValidate: T) => CommandResult | CommandResult[];
1465
+ type Increment = 1 | -1 | 0;
1380
1466
  interface Ref<T> {
1381
1467
  el: T | null;
1382
1468
  }
@@ -1435,6 +1521,10 @@ interface HeaderGroup {
1435
1521
  }
1436
1522
  type Direction$1 = "up" | "down" | "left" | "right";
1437
1523
  type SelectionStep = number | "end";
1524
+ interface Offset {
1525
+ col: number;
1526
+ row: number;
1527
+ }
1438
1528
  type DebouncedFunction<T> = T & {
1439
1529
  stopDebounce: () => void;
1440
1530
  isDebouncePending: () => boolean;
@@ -1450,6 +1540,8 @@ interface Locale {
1450
1540
  timeFormat: string;
1451
1541
  formulaArgSeparator: string;
1452
1542
  }
1543
+ declare const DEFAULT_LOCALES: Locale[];
1544
+ declare const DEFAULT_LOCALE: Locale;
1453
1545
 
1454
1546
  type Format = string & Alias;
1455
1547
  type FormattedValue = string & Alias;
@@ -1457,6 +1549,7 @@ interface LocaleFormat {
1457
1549
  locale: Locale;
1458
1550
  format?: Format;
1459
1551
  }
1552
+ declare const PLAIN_TEXT_FORMAT: Format;
1460
1553
 
1461
1554
  interface CellAttributes {
1462
1555
  readonly id: UID;
@@ -1572,6 +1665,10 @@ interface AutofillResult {
1572
1665
  row: number;
1573
1666
  };
1574
1667
  }
1668
+ interface GeneratorCell {
1669
+ data: AutofillData;
1670
+ rule: AutofillModifier;
1671
+ }
1575
1672
  interface AutofillModifierImplementation {
1576
1673
  apply: (rule: AutofillModifier, data: AutofillData, getters: Getters, direction: DIRECTION) => Omit<AutofillResult, "origin">;
1577
1674
  }
@@ -1623,6 +1720,7 @@ interface SnapshotEvent {
1623
1720
  type: "snapshot";
1624
1721
  }
1625
1722
  type CollaborativeEvent = NewLocalStateUpdateEvent | UnexpectedRevisionIdEvent | RemoteRevisionReceivedEvent | RevisionAcknowledgedEvent | RevisionUndone | RevisionRedone | RevisionsDroppedEvent | SnapshotEvent | CollaborativeEventReceived;
1723
+ type CollaborativeEventTypes = CollaborativeEvent["type"];
1626
1724
 
1627
1725
  interface RevisionData {
1628
1726
  readonly id: UID;
@@ -1647,11 +1745,17 @@ type SingleColorRules = CellIsRule;
1647
1745
  interface SingleColorRule {
1648
1746
  style: Style;
1649
1747
  }
1748
+ interface TextRule extends SingleColorRule {
1749
+ text: string;
1750
+ }
1650
1751
  interface CellIsRule extends SingleColorRule {
1651
1752
  type: "CellIsRule";
1652
1753
  operator: ConditionalFormattingOperatorValues;
1653
1754
  values: string[];
1654
1755
  }
1756
+ interface ExpressionRule extends SingleColorRule {
1757
+ type: "ExpressionRule";
1758
+ }
1655
1759
  type ThresholdType = "value" | "number" | "percentage" | "percentile" | "formula";
1656
1760
  type ColorScaleThreshold = {
1657
1761
  color: number;
@@ -1685,6 +1789,45 @@ interface IconSetRule {
1685
1789
  upperInflectionPoint: IconThreshold;
1686
1790
  lowerInflectionPoint: IconThreshold;
1687
1791
  }
1792
+ interface ContainsTextRule extends TextRule {
1793
+ type: "ContainsTextRule";
1794
+ }
1795
+ interface NotContainsTextRule extends TextRule {
1796
+ type: "NotContainsTextRule";
1797
+ }
1798
+ interface BeginsWithRule extends TextRule {
1799
+ type: "BeginsWithRule";
1800
+ }
1801
+ interface EndsWithRule extends TextRule {
1802
+ type: "EndsWithRule";
1803
+ }
1804
+ interface containsBlanksRule extends TextRule {
1805
+ type: "containsBlanksRule";
1806
+ }
1807
+ interface notContainsBlanksRule extends TextRule {
1808
+ type: "notContainsBlanksRule";
1809
+ }
1810
+ interface containsErrorsRule extends SingleColorRule {
1811
+ type: "containsErrorsRule";
1812
+ }
1813
+ interface notContainsErrorsRule extends SingleColorRule {
1814
+ type: "notContainsErrorsRule";
1815
+ }
1816
+ interface TimePeriodRule extends SingleColorRule {
1817
+ type: "TimePeriodRule";
1818
+ timePeriod: string;
1819
+ }
1820
+ interface AboveAverageRule extends SingleColorRule {
1821
+ type: "AboveAverageRule";
1822
+ aboveAverage: boolean;
1823
+ equalAverage: boolean;
1824
+ }
1825
+ interface Top10Rule extends SingleColorRule {
1826
+ type: "Top10Rule";
1827
+ percent: boolean;
1828
+ bottom: boolean;
1829
+ rank: number;
1830
+ }
1688
1831
  type ConditionalFormattingOperatorValues = "BeginsWith" | "Between" | "ContainsText" | "IsEmpty" | "IsNotEmpty" | "EndsWith" | "Equal" | "GreaterThan" | "GreaterThanOrEqual" | "LessThan" | "LessThanOrEqual" | "NotBetween" | "NotContains" | "NotEqual";
1689
1832
 
1690
1833
  interface Currency {
@@ -1811,6 +1954,9 @@ type CustomFormulaCriterion = {
1811
1954
  type DataValidationCriterion = TextContainsCriterion | TextNotContainsCriterion | TextIsCriterion | TextIsEmailCriterion | TextIsLinkCriterion | IsBetweenCriterion | DateIsCriterion | DateIsBeforeCriterion | DateIsOnOrBeforeCriterion | DateIsAfterCriterion | DateIsOnOrAfterCriterion | DateIsBetweenCriterion | DateIsNotBetweenCriterion | DateIsValidCriterion | IsEqualCriterion | IsNotEqualCriterion | IsGreaterThanCriterion | IsGreaterOrEqualToCriterion | IsLessThanCriterion | IsLessOrEqualToCriterion | IsNotBetweenCriterion | IsCheckboxCriterion | IsValueInListCriterion | IsValueInRangeCriterion | CustomFormulaCriterion;
1812
1955
  type DateCriterionValue = "today" | "tomorrow" | "yesterday" | "lastWeek" | "lastMonth" | "lastYear" | "exactDate";
1813
1956
  type DataValidationCriterionType = DataValidationCriterion["type"];
1957
+ type DataValidationDateCriterion = Extract<DataValidationCriterion, {
1958
+ dateValue: DateCriterionValue;
1959
+ }>;
1814
1960
 
1815
1961
  type ClipboardReadResult = {
1816
1962
  status: "ok";
@@ -1845,10 +1991,14 @@ interface ImageProviderInterface {
1845
1991
  /**
1846
1992
  * RequestImage ask the user to input an image file. Then send it to a server trough an FileStore. Finally it return the path and the size of the image in the server.
1847
1993
  */
1848
- requestImage(): Promise<Image>;
1994
+ requestImage(): Promise<Image$1>;
1849
1995
  getImageOriginalSize(path: string): Promise<FigureSize>;
1850
1996
  }
1851
1997
 
1998
+ interface EditTextOptions {
1999
+ error?: string;
2000
+ placeholder?: string;
2001
+ }
1852
2002
  type NotificationType = "danger" | "info" | "success" | "warning";
1853
2003
  interface InformationNotification {
1854
2004
  text: string;
@@ -1968,7 +2118,7 @@ declare class RangeAdapter implements CommandHandler<CoreCommand> {
1968
2118
  private getters;
1969
2119
  private providers;
1970
2120
  constructor(getters: CoreGetters);
1971
- static getters: readonly ["getRangeString", "getRangeFromSheetXC", "createAdaptedRanges", "getRangeDataFromXc", "getRangeDataFromZone", "getRangeFromRangeData", "getRangeFromZone", "isRangeValid"];
2121
+ static getters: readonly ["extendRange", "getRangeString", "getRangeFromSheetXC", "createAdaptedRanges", "getRangeDataFromXc", "getRangeDataFromZone", "getRangeFromRangeData", "getRangeFromZone", "getRangesUnion", "isRangeValid"];
1972
2122
  allowDispatch(cmd: Command): CommandResult;
1973
2123
  beforeHandle(command: Command): void;
1974
2124
  handle(cmd: Command): void;
@@ -1992,6 +2142,7 @@ declare class RangeAdapter implements CommandHandler<CoreCommand> {
1992
2142
  */
1993
2143
  addRangeProvider(provider: RangeProvider["adaptRanges"]): void;
1994
2144
  createAdaptedRanges(ranges: Range[], offsetX: number, offsetY: number, sheetId: UID): Range[];
2145
+ extendRange(range: Range, dimension: Dimension, quantity: number): Range;
1995
2146
  /**
1996
2147
  * Creates a range from a XC reference that can contain a sheet reference
1997
2148
  * @param defaultSheetId the sheet to default to if the sheetXC parameter does not contain a sheet reference (usually the active sheet Id)
@@ -2016,6 +2167,7 @@ declare class RangeAdapter implements CommandHandler<CoreCommand> {
2016
2167
  getRangeFromZone(sheetId: UID, zone: Zone | UnboundedZone): Range;
2017
2168
  getRangeFromRangeData(data: RangeData): Range;
2018
2169
  isRangeValid(rangeStr: string): boolean;
2170
+ getRangesUnion(ranges: Range[]): Range;
2019
2171
  /**
2020
2172
  * Get a Xc string that represent a part of a range
2021
2173
  */
@@ -2278,6 +2430,7 @@ declare class CellPlugin extends CorePlugin<CoreState> implements CoreState {
2278
2430
  private createErrorFormula;
2279
2431
  private checkCellOutOfSheet;
2280
2432
  private checkUselessClearCell;
2433
+ private checkUselessUpdateCell;
2281
2434
  }
2282
2435
 
2283
2436
  /**
@@ -2479,65 +2632,6 @@ declare class FigurePlugin extends CorePlugin<FigureState> implements FigureStat
2479
2632
  exportForExcel(data: ExcelWorkbookData): void;
2480
2633
  }
2481
2634
 
2482
- declare class FilterTable implements Cloneable<FilterTable> {
2483
- readonly id: FilterTableId;
2484
- readonly zone: Zone;
2485
- readonly filters: Filter[];
2486
- constructor(zone: Zone);
2487
- /** Get zone of the table without the headers */
2488
- get contentZone(): Zone | undefined;
2489
- getFilterId(col: number): string | undefined;
2490
- clone(): FilterTable;
2491
- }
2492
- declare class Filter {
2493
- readonly id: UID;
2494
- readonly zoneWithHeaders: Zone;
2495
- constructor(id: UID, zone: Zone);
2496
- get col(): HeaderIndex;
2497
- /** Filtered zone, ie. zone of the filter without the header */
2498
- get filteredZone(): Zone | undefined;
2499
- }
2500
-
2501
- interface FiltersState {
2502
- tables: Record<UID, Record<FilterTableId, FilterTable | undefined>>;
2503
- }
2504
- declare class FiltersPlugin extends CorePlugin<FiltersState> implements FiltersState {
2505
- static getters: readonly ["doesZonesContainFilter", "getFilter", "getFilters", "getFilterTable", "getFilterTables", "getFilterTablesInZone", "getFilterId", "getFilterHeaders", "isFilterHeader"];
2506
- readonly tables: Record<UID, Record<FilterTableId, FilterTable | undefined>>;
2507
- allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
2508
- handle(cmd: CoreCommand): void;
2509
- getFilters(sheetId: UID): Filter[];
2510
- getFilterTables(sheetId: UID): FilterTable[];
2511
- getFilter(position: CellPosition): Filter | undefined;
2512
- getFilterId(position: CellPosition): FilterId | undefined;
2513
- getFilterTable({ sheetId, col, row }: CellPosition): FilterTable | undefined;
2514
- /** Get the filter tables that are fully inside the given zone */
2515
- getFilterTablesInZone(sheetId: UID, zone: Zone): FilterTable[];
2516
- doesZonesContainFilter(sheetId: UID, zones: Zone[]): boolean;
2517
- getFilterHeaders(sheetId: UID): Position$1[];
2518
- isFilterHeader({ sheetId, col, row }: CellPosition): boolean;
2519
- private onAddColumnsRows;
2520
- private onDeleteColumnsRows;
2521
- private createFilterTable;
2522
- /** Extend a table down one row */
2523
- private extendTableDown;
2524
- /**
2525
- * Check if an UpdateCell command should cause the given table to be extended by one row.
2526
- *
2527
- * The table should be extended if all of these conditions are true:
2528
- * 1) The updated cell is right below the table
2529
- * 2) The command adds a content to the cell
2530
- * 3) No cell right below the table had any content before the command
2531
- * 4) Extending the table down would not overlap with another filter
2532
- * 5) Extending the table down would not overlap with a merge
2533
- *
2534
- */
2535
- private canUpdateCellCmdExtendTable;
2536
- import(data: WorkbookData): void;
2537
- export(data: WorkbookData): void;
2538
- exportForExcel(data: ExcelWorkbookData): void;
2539
- }
2540
-
2541
2635
  interface State$7 {
2542
2636
  groups: Record<UID, Record<Dimension, HeaderGroup[]>>;
2543
2637
  }
@@ -2657,16 +2751,16 @@ declare class HeaderVisibilityPlugin extends CorePlugin {
2657
2751
  }
2658
2752
 
2659
2753
  interface ImageState {
2660
- readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
2754
+ readonly images: Record<UID, Record<UID, Image$1 | undefined> | undefined>;
2661
2755
  }
2662
2756
  declare class ImagePlugin extends CorePlugin<ImageState> implements ImageState {
2663
2757
  static getters: readonly ["getImage", "getImagePath", "getImageSize"];
2664
2758
  readonly fileStore?: FileStore;
2665
- readonly images: Record<UID, Record<UID, Image | undefined> | undefined>;
2759
+ readonly images: Record<UID, Record<UID, Image$1 | undefined> | undefined>;
2666
2760
  /**
2667
2761
  * paths of images synced with the file store server.
2668
2762
  */
2669
- readonly syncedImages: Set<Image["path"]>;
2763
+ readonly syncedImages: Set<Image$1["path"]>;
2670
2764
  constructor(config: CorePluginConfig);
2671
2765
  allowDispatch(cmd: CoreCommand): CommandResult.Success | CommandResult.InvalidFigureId;
2672
2766
  handle(cmd: CoreCommand): void;
@@ -2674,7 +2768,7 @@ declare class ImagePlugin extends CorePlugin<ImageState> implements ImageState {
2674
2768
  * Delete unused images from the file store
2675
2769
  */
2676
2770
  garbageCollectExternalResources(): void;
2677
- getImage(figureId: UID): Image;
2771
+ getImage(figureId: UID): Image$1;
2678
2772
  getImagePath(figureId: UID): string;
2679
2773
  getImageSize(figureId: UID): FigureSize;
2680
2774
  private addImage;
@@ -2824,7 +2918,7 @@ declare class SheetPlugin extends CorePlugin<SheetState> implements SheetState {
2824
2918
  getNextSheetName(baseName?: string): string;
2825
2919
  getSheetSize(sheetId: UID): ZoneDimension;
2826
2920
  getSheetZone(sheetId: UID): Zone;
2827
- getUnboundedZone(sheetId: UID, zone: Zone): UnboundedZone;
2921
+ getUnboundedZone(sheetId: UID, zone: Zone | UnboundedZone): UnboundedZone;
2828
2922
  getPaneDivisions(sheetId: UID): Readonly<PaneDivision>;
2829
2923
  private setPaneDivisions;
2830
2924
  /**
@@ -2928,6 +3022,62 @@ declare class SheetPlugin extends CorePlugin<SheetState> implements SheetState {
2928
3022
  private checkZonesAreInSheet;
2929
3023
  }
2930
3024
 
3025
+ interface TableState {
3026
+ tables: Record<UID, Record<TableId, Table | undefined>>;
3027
+ }
3028
+ declare class TablePlugin extends CorePlugin<TableState> implements TableState {
3029
+ static getters: readonly ["doesZonesContainFilter", "getFilter", "getFilters", "getTable", "getTables", "getTablesInZone", "getTablesOverlappingZones", "getFilterId", "getFilterHeaders", "isFilterHeader"];
3030
+ readonly tables: Record<UID, Record<TableId, Table | undefined>>;
3031
+ adaptRanges(applyChange: ApplyRangeChange, sheetId?: UID): void;
3032
+ allowDispatch(cmd: CoreCommand): CommandResult | CommandResult[];
3033
+ handle(cmd: CoreCommand): void;
3034
+ getFilters(sheetId: UID): Filter[];
3035
+ getTables(sheetId: UID): Table[];
3036
+ getFilter(position: CellPosition): Filter | undefined;
3037
+ getFilterId(position: CellPosition): FilterId | undefined;
3038
+ getTable({ sheetId, col, row }: CellPosition): Table | undefined;
3039
+ /** Get the filter tables that are fully inside the given zone */
3040
+ getTablesInZone(sheetId: UID, zone: Zone): Table[];
3041
+ getTablesOverlappingZones(sheetId: UID, zones: Zone[]): Table[];
3042
+ doesZonesContainFilter(sheetId: UID, zones: Zone[]): boolean;
3043
+ getFilterHeaders(sheetId: UID): Position$1[];
3044
+ isFilterHeader({ sheetId, col, row }: CellPosition): boolean;
3045
+ /** Extend a table down one row */
3046
+ private extendTableDown;
3047
+ /** Extend a table right one col */
3048
+ private extendTableRight;
3049
+ /**
3050
+ * Check if an UpdateCell command should cause the given table to be extended by one row or col.
3051
+ *
3052
+ * The table should be extended if all of these conditions are true:
3053
+ * 1) The updated cell is right below/right of the table
3054
+ * 2) The command adds a content to the cell
3055
+ * 3) No cell right below/right next to the table had any content before the command
3056
+ * 4) Extending the table down/right would not overlap with another table
3057
+ * 5) Extending the table down/right would not overlap with a merge
3058
+ *
3059
+ */
3060
+ private canUpdateCellCmdExtendTable;
3061
+ private checkUpdatedTableZoneIsValid;
3062
+ private checkTableConfigUpdateIsValid;
3063
+ private createTable;
3064
+ private updateTable;
3065
+ /**
3066
+ * Update the old config of a table with the new partial config from an UpdateTable command.
3067
+ *
3068
+ * Make sure the new config make sense (e.g. if the table has no header, it should not have
3069
+ * filters and number of headers should be 0)
3070
+ */
3071
+ private updateTableConfig;
3072
+ private createFilterFromZone;
3073
+ private createFilter;
3074
+ private copyTableForSheet;
3075
+ private applyRangeChangeOnTable;
3076
+ import(data: WorkbookData): void;
3077
+ export(data: WorkbookData): void;
3078
+ exportForExcel(data: ExcelWorkbookData): void;
3079
+ }
3080
+
2931
3081
  declare class SelectiveHistory<T = unknown> {
2932
3082
  private HEAD_BRANCH;
2933
3083
  private HEAD_OPERATION;
@@ -3009,6 +3159,11 @@ declare class SelectiveHistory<T = unknown> {
3009
3159
  private fastForward;
3010
3160
  }
3011
3161
 
3162
+ interface Dependencies {
3163
+ references: string[];
3164
+ numbers: number[];
3165
+ strings: string[];
3166
+ }
3012
3167
  interface CellData {
3013
3168
  content?: string;
3014
3169
  style?: number;
@@ -3046,7 +3201,7 @@ interface SheetData {
3046
3201
  };
3047
3202
  conditionalFormats: ConditionalFormat[];
3048
3203
  dataValidationRules?: DataValidationRuleData[];
3049
- filterTables: FilterTableData[];
3204
+ tables: TableData[];
3050
3205
  areGridLinesVisible?: boolean;
3051
3206
  isVisible: boolean;
3052
3207
  panes?: PaneDivision;
@@ -3084,8 +3239,8 @@ interface ExcelSheetData extends Omit<SheetData, "figureTables" | "cols" | "rows
3084
3239
  [key: string]: ExcelCellData | undefined;
3085
3240
  };
3086
3241
  charts: FigureData<ExcelChartDefinition>[];
3087
- images: FigureData<Image>[];
3088
- filterTables: ExcelFilterTableData[];
3242
+ images: FigureData<Image$1>[];
3243
+ tables: ExcelTableData[];
3089
3244
  cols: {
3090
3245
  [key: number]: ExcelHeaderData;
3091
3246
  };
@@ -3097,13 +3252,14 @@ interface ExcelHeaderData extends HeaderData {
3097
3252
  outlineLevel?: number;
3098
3253
  collapsed?: boolean;
3099
3254
  }
3100
- interface FilterTableData {
3255
+ interface TableData {
3101
3256
  range: string;
3257
+ config?: TableConfig;
3102
3258
  }
3103
3259
  interface DataValidationRuleData extends Omit<DataValidationRule, "ranges"> {
3104
3260
  ranges: string[];
3105
3261
  }
3106
- interface ExcelFilterTableData {
3262
+ interface ExcelTableData {
3107
3263
  range: string;
3108
3264
  filters: ExcelFilterData[];
3109
3265
  }
@@ -3371,6 +3527,7 @@ interface UIPluginConfig {
3371
3527
  readonly custom: ModelConfig["custom"];
3372
3528
  readonly session: Session;
3373
3529
  readonly defaultCurrencyFormat?: Format;
3530
+ readonly customColors: Color[];
3374
3531
  }
3375
3532
  interface UIPluginConstructor {
3376
3533
  new (config: UIPluginConfig): UIPlugin;
@@ -3437,8 +3594,10 @@ interface CustomColorState {
3437
3594
  */
3438
3595
  declare class CustomColorsPlugin extends UIPlugin<CustomColorState> {
3439
3596
  private readonly customColors;
3597
+ private readonly configCustomColors;
3440
3598
  private readonly shouldUpdateColors;
3441
3599
  static getters: readonly ["getCustomColors"];
3600
+ constructor(config: UIPluginConfig);
3442
3601
  handle(cmd: CoreViewCommand): void;
3443
3602
  finalize(): void;
3444
3603
  getCustomColors(): Color[];
@@ -3469,13 +3628,13 @@ declare class EvaluationChartPlugin extends UIPlugin<EvaluationChartState> {
3469
3628
  }
3470
3629
 
3471
3630
  declare class EvaluationConditionalFormatPlugin extends UIPlugin {
3472
- static getters: readonly ["getConditionalIcon", "getCellComputedStyle"];
3631
+ static getters: readonly ["getConditionalIcon", "getCellConditionalFormatStyle"];
3473
3632
  private isStale;
3474
3633
  private computedStyles;
3475
3634
  private computedIcons;
3476
3635
  handle(cmd: CoreViewCommand): void;
3477
3636
  finalize(): void;
3478
- getCellComputedStyle(position: CellPosition): Style;
3637
+ getCellConditionalFormatStyle(position: CellPosition): Style | undefined;
3479
3638
  getConditionalIcon({ sheetId, col, row }: CellPosition): string | undefined;
3480
3639
  /**
3481
3640
  * Compute the styles according to the conditional formatting.
@@ -3865,6 +4024,26 @@ declare class SplitToColumnsPlugin extends UIPlugin {
3865
4024
  private checkSeparatorInSelection;
3866
4025
  }
3867
4026
 
4027
+ declare class TableStylePlugin extends UIPlugin {
4028
+ static getters: readonly ["getCellTableStyle", "getCellTableBorder"];
4029
+ private tableStyles;
4030
+ handle(cmd: Command): void;
4031
+ finalize(): void;
4032
+ getCellTableStyle(position: CellPosition): Style | undefined;
4033
+ getCellTableBorder(position: CellPosition): Border$1 | undefined;
4034
+ private computeTableStyle;
4035
+ /**
4036
+ * Get the actual table config that will be used to compute the table style. It is different from
4037
+ * the config of the table because of hidden rows and columns in the sheet. For example remove the
4038
+ * hidden rows from config.numberOfHeaders.
4039
+ */
4040
+ private getTableRuntimeConfig;
4041
+ /**
4042
+ * Get a mapping: relative col/row position in the table <=> col/row in the sheet
4043
+ */
4044
+ private getTableMapping;
4045
+ }
4046
+
3868
4047
  declare class UIOptionsPlugin extends UIPlugin {
3869
4048
  static getters: readonly ["shouldShowFormulas"];
3870
4049
  private showFormulas;
@@ -3873,7 +4052,7 @@ declare class UIOptionsPlugin extends UIPlugin {
3873
4052
  }
3874
4053
 
3875
4054
  declare class SheetUIPlugin extends UIPlugin {
3876
- static getters: readonly ["doesCellHaveGridIcon", "getCellWidth", "getTextWidth", "getCellText", "getCellMultiLineText", "getContiguousZone", "isCellEmpty"];
4055
+ static getters: readonly ["doesCellHaveGridIcon", "getCellWidth", "getCellComputedBorder", "getCellComputedStyle", "getTextWidth", "getCellText", "getCellMultiLineText", "getContiguousZone"];
3877
4056
  private ctx;
3878
4057
  allowDispatch(cmd: LocalCommand): CommandResult | CommandResult[];
3879
4058
  handle(cmd: Command): void;
@@ -3891,10 +4070,12 @@ declare class SheetUIPlugin extends UIPlugin {
3891
4070
  */
3892
4071
  getContiguousZone(sheetId: UID, zoneToExpand: Zone): Zone;
3893
4072
  /**
3894
- * Check if a cell is empty. If the cell is part of a merge,
3895
- * check if the merge containing the cell is empty.
4073
+ * Checks if a cell is empty (i.e. does not have a content or a formula does not spread over it).
4074
+ * If the cell is part of a merge, the check applies to the main cell of the merge.
3896
4075
  */
3897
- isCellEmpty(position: CellPosition): boolean;
4076
+ private isCellEmpty;
4077
+ getCellComputedBorder(position: CellPosition): Border$1 | null;
4078
+ getCellComputedStyle(position: CellPosition): Style;
3898
4079
  private getColMaxWidth;
3899
4080
  /**
3900
4081
  * Check that any "sheetId" in the command matches an existing
@@ -3960,7 +4141,7 @@ declare class ClipboardPlugin extends UIPlugin {
3960
4141
  }
3961
4142
 
3962
4143
  declare class FilterEvaluationPlugin extends UIPlugin {
3963
- static getters: readonly ["getCellBorderWithFilterBorder", "getFilterValues", "isRowFiltered", "isFilterActive"];
4144
+ static getters: readonly ["getFilterHiddenValues", "getFirstTableInSelection", "isRowFiltered", "isFilterActive"];
3964
4145
  private filterValues;
3965
4146
  hiddenRows: Set<number>;
3966
4147
  isEvaluationDirty: boolean;
@@ -3968,10 +4149,9 @@ declare class FilterEvaluationPlugin extends UIPlugin {
3968
4149
  handle(cmd: Command): void;
3969
4150
  finalize(): void;
3970
4151
  isRowFiltered(sheetId: UID, row: number): boolean;
3971
- getCellBorderWithFilterBorder(position: CellPosition): Border$1 | null;
3972
- getFilterValues(position: CellPosition): string[];
4152
+ getFilterHiddenValues(position: CellPosition): string[];
3973
4153
  isFilterActive(position: CellPosition): boolean;
3974
- private intersectZoneWithViewport;
4154
+ getFirstTableInSelection(): Table | undefined;
3975
4155
  private updateFilter;
3976
4156
  private updateHiddenRows;
3977
4157
  private getCellValueAsString;
@@ -4377,11 +4557,11 @@ type PluginGetters<Plugin extends {
4377
4557
  getters: readonly string[];
4378
4558
  }> = Pick<InstanceType<Plugin>, GetterNames<Plugin>>;
4379
4559
  type RangeAdapterGetters = Pick<RangeAdapter, GetterNames<typeof RangeAdapter>>;
4380
- type CoreGetters = PluginGetters<typeof SheetPlugin> & PluginGetters<typeof HeaderSizePlugin> & PluginGetters<typeof HeaderVisibilityPlugin> & PluginGetters<typeof CellPlugin> & PluginGetters<typeof MergePlugin> & PluginGetters<typeof BordersPlugin> & PluginGetters<typeof ChartPlugin> & PluginGetters<typeof ImagePlugin> & PluginGetters<typeof FigurePlugin> & RangeAdapterGetters & PluginGetters<typeof ConditionalFormatPlugin> & PluginGetters<typeof FiltersPlugin> & PluginGetters<typeof SettingsPlugin> & PluginGetters<typeof HeaderGroupingPlugin> & PluginGetters<typeof DataValidationPlugin>;
4560
+ type CoreGetters = PluginGetters<typeof SheetPlugin> & PluginGetters<typeof HeaderSizePlugin> & PluginGetters<typeof HeaderVisibilityPlugin> & PluginGetters<typeof CellPlugin> & PluginGetters<typeof MergePlugin> & PluginGetters<typeof BordersPlugin> & PluginGetters<typeof ChartPlugin> & PluginGetters<typeof ImagePlugin> & PluginGetters<typeof FigurePlugin> & RangeAdapterGetters & PluginGetters<typeof ConditionalFormatPlugin> & PluginGetters<typeof TablePlugin> & PluginGetters<typeof SettingsPlugin> & PluginGetters<typeof HeaderGroupingPlugin> & PluginGetters<typeof DataValidationPlugin>;
4381
4561
  type Getters = {
4382
4562
  isReadonly: () => boolean;
4383
4563
  isDashboard: () => boolean;
4384
- } & CoreGetters & PluginGetters<typeof AutofillPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof HistoryPlugin> & PluginGetters<typeof ClipboardPlugin> & PluginGetters<typeof EvaluationPlugin> & PluginGetters<typeof EvaluationChartPlugin> & PluginGetters<typeof EvaluationConditionalFormatPlugin> & PluginGetters<typeof FindAndReplacePlugin> & PluginGetters<typeof HeaderVisibilityUIPlugin> & PluginGetters<typeof CustomColorsPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof GridSelectionPlugin> & PluginGetters<typeof CollaborativePlugin> & PluginGetters<typeof SortPlugin> & PluginGetters<typeof UIOptionsPlugin> & PluginGetters<typeof SheetUIPlugin> & PluginGetters<typeof SheetViewPlugin> & PluginGetters<typeof FilterEvaluationPlugin> & PluginGetters<typeof SplitToColumnsPlugin> & PluginGetters<typeof HeaderSizeUIPlugin> & PluginGetters<typeof EvaluationDataValidationPlugin> & PluginGetters<typeof HeaderPositionsUIPlugin>;
4564
+ } & CoreGetters & PluginGetters<typeof AutofillPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof HistoryPlugin> & PluginGetters<typeof ClipboardPlugin> & PluginGetters<typeof EvaluationPlugin> & PluginGetters<typeof EvaluationChartPlugin> & PluginGetters<typeof EvaluationConditionalFormatPlugin> & PluginGetters<typeof FindAndReplacePlugin> & PluginGetters<typeof HeaderVisibilityUIPlugin> & PluginGetters<typeof CustomColorsPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof GridSelectionPlugin> & PluginGetters<typeof CollaborativePlugin> & PluginGetters<typeof SortPlugin> & PluginGetters<typeof UIOptionsPlugin> & PluginGetters<typeof SheetUIPlugin> & PluginGetters<typeof SheetViewPlugin> & PluginGetters<typeof FilterEvaluationPlugin> & PluginGetters<typeof SplitToColumnsPlugin> & PluginGetters<typeof HeaderSizeUIPlugin> & PluginGetters<typeof EvaluationDataValidationPlugin> & PluginGetters<typeof HeaderPositionsUIPlugin> & PluginGetters<typeof TableStylePlugin>;
4385
4565
 
4386
4566
  type ArgType = "ANY" | "BOOLEAN" | "NUMBER" | "STRING" | "DATE" | "RANGE" | "RANGE<BOOLEAN>" | "RANGE<NUMBER>" | "RANGE<DATE>" | "RANGE<STRING>" | "RANGE<ANY>" | "META";
4387
4567
  interface ArgDefinition {
@@ -4415,8 +4595,93 @@ type EvalContext = {
4415
4595
  locale: Locale;
4416
4596
  getters: Getters;
4417
4597
  [key: string]: any;
4598
+ updateDependencies?: (position: CellPosition) => void;
4599
+ addDependencies?: (position: CellPosition, ranges: Range[]) => void;
4418
4600
  };
4419
4601
 
4602
+ /**
4603
+ * An Operation can be executed to change a data structure from state A
4604
+ * to state B.
4605
+ * It should hold the necessary data used to perform this transition.
4606
+ * It should be possible to revert the changes made by this operation.
4607
+ *
4608
+ * In the context of o-spreadsheet, the data from an operation would
4609
+ * be a revision (the commands are used to execute it, the `changes` are used
4610
+ * to revert it).
4611
+ */
4612
+ declare class Operation<T> {
4613
+ readonly id: UID;
4614
+ readonly data: T;
4615
+ constructor(id: UID, data: T);
4616
+ transformed(transformation: Transformation<T>): Operation<T>;
4617
+ }
4618
+
4619
+ /**
4620
+ * A branch holds a sequence of operations.
4621
+ * It can be represented as "A - B - C - D" if A, B, C and D are executed one
4622
+ * after the other.
4623
+ *
4624
+ * @param buildTransformation Factory to build transformations
4625
+ * @param operations initial operations
4626
+ */
4627
+ declare class Branch<T> {
4628
+ private readonly buildTransformation;
4629
+ private operations;
4630
+ constructor(buildTransformation: TransformationFactory<T>, operations?: Operation<T>[]);
4631
+ getOperations(): readonly Operation<T>[];
4632
+ getOperation(operationId: UID): Operation<T>;
4633
+ getLastOperationId(): UID | undefined;
4634
+ /**
4635
+ * Get the id of the operation appears first in the list of operations
4636
+ */
4637
+ getFirstOperationAmong(op1: UID, op2: UID): UID;
4638
+ contains(operationId: UID): boolean;
4639
+ /**
4640
+ * Add the given operation as the first operation
4641
+ */
4642
+ prepend(operation: Operation<T>): void;
4643
+ /**
4644
+ * add the given operation after the given predecessorOpId
4645
+ */
4646
+ insert(newOperation: Operation<T>, predecessorOpId: UID): void;
4647
+ /**
4648
+ * Add the given operation as the last operation
4649
+ */
4650
+ append(operation: Operation<T>): void;
4651
+ /**
4652
+ * Append operations in the given branch to this branch.
4653
+ */
4654
+ appendBranch(branch: Branch<T>): void;
4655
+ /**
4656
+ * Create and return a copy of this branch, starting after the given operationId
4657
+ */
4658
+ fork(operationId: UID): Branch<T>;
4659
+ /**
4660
+ * Transform all the operations in this branch with the given transformation
4661
+ */
4662
+ transform(transformation: Transformation<T>): void;
4663
+ /**
4664
+ * Cut the branch before the operation, meaning the operation
4665
+ * and all following operations are dropped.
4666
+ */
4667
+ cutBefore(operationId: UID): void;
4668
+ /**
4669
+ * Cut the branch after the operation, meaning all following operations are dropped.
4670
+ */
4671
+ cutAfter(operationId: UID): void;
4672
+ /**
4673
+ * Find an operation in this branch based on its id.
4674
+ * This returns the operation itself, operations which comes before it
4675
+ * and operation which comes after it.
4676
+ */
4677
+ private locateOperation;
4678
+ }
4679
+
4680
+ interface CreateRevisionOptions {
4681
+ revisionId?: UID;
4682
+ clientId?: UID;
4683
+ pending?: boolean;
4684
+ }
4420
4685
  interface HistoryChange {
4421
4686
  path: [any, ...(number | string)[]];
4422
4687
  before: any;
@@ -4443,6 +4708,15 @@ interface TransformationFactory<T = unknown> {
4443
4708
  */
4444
4709
  with: (operation: T) => Transformation<T>;
4445
4710
  }
4711
+ interface OperationSequenceNode<T> {
4712
+ operation: Operation<T>;
4713
+ branch: Branch<T>;
4714
+ isCancelled: boolean;
4715
+ next?: {
4716
+ operation: Operation<T>;
4717
+ branch: Branch<T>;
4718
+ };
4719
+ }
4446
4720
 
4447
4721
  /**
4448
4722
  * Coordinate in pixels
@@ -4456,6 +4730,29 @@ interface DOMDimension {
4456
4730
  height: Pixel;
4457
4731
  }
4458
4732
  type Rect = DOMCoordinates & DOMDimension;
4733
+ interface BoxTextContent {
4734
+ textLines: string[];
4735
+ width: Pixel;
4736
+ align: Align;
4737
+ }
4738
+ interface Box extends Rect {
4739
+ content?: BoxTextContent;
4740
+ style: Style;
4741
+ border?: Border$1;
4742
+ hasIcon?: boolean;
4743
+ clipRect?: Rect;
4744
+ isError?: boolean;
4745
+ image?: Image;
4746
+ isMerge?: boolean;
4747
+ verticalAlign?: VerticalAlign;
4748
+ isOverflow?: boolean;
4749
+ }
4750
+ interface Image {
4751
+ clipIcon: Rect | null;
4752
+ size: Pixel;
4753
+ type: "icon";
4754
+ image: HTMLImageElement;
4755
+ }
4459
4756
  /**
4460
4757
  * The viewport is the visible area of a sheet.
4461
4758
  * Column and row headers are not included in the viewport.
@@ -4501,6 +4798,13 @@ declare const LAYERS: {
4501
4798
  readonly Headers: 100;
4502
4799
  };
4503
4800
  type LayerName = keyof typeof LAYERS;
4801
+ declare const OrderedLayers: () => ("Chart" | "Background" | "Highlights" | "Clipboard" | "Search" | "Autofill" | "Selection" | "Headers")[];
4802
+ /**
4803
+ *
4804
+ * @param layer New layer name
4805
+ * @param priority The lower priorities are rendered first
4806
+ */
4807
+ declare function addRenderingLayer(layer: string, priority: number): void;
4504
4808
  interface EdgeScrollInfo {
4505
4809
  canEdgeScroll: boolean;
4506
4810
  direction: ScrollDirection$1;
@@ -4594,6 +4898,13 @@ declare class DateTime {
4594
4898
  declare function formatValue(value: CellValue, { format, locale }: LocaleFormat): FormattedValue;
4595
4899
  declare function createCurrencyFormat(currency: Partial<Currency>): Format;
4596
4900
 
4901
+ /**
4902
+ * Deep copy arrays, plain objects and primitive values.
4903
+ * Throws an error for other types such as class instances.
4904
+ * Sparse arrays remain sparse.
4905
+ */
4906
+ declare function deepCopy<T>(obj: T): T;
4907
+ declare function unquote(string: string, quoteChar?: "'" | '"'): string;
4597
4908
  declare function isMarkdownLink(str: string): boolean;
4598
4909
  /**
4599
4910
  * Build a markdown link from a label and an url
@@ -4657,7 +4968,7 @@ declare class RangeImpl implements Range {
4657
4968
  clone(rangeParams?: Partial<ConstructorArgs>): RangeImpl;
4658
4969
  }
4659
4970
 
4660
- declare function computeTextWidth(context: CanvasRenderingContext2D, text: string, style: Style): number;
4971
+ declare function computeTextWidth(context: CanvasRenderingContext2D, text: string, style: Style, fontUnit?: "px" | "pt"): number;
4661
4972
 
4662
4973
  declare class UuidGenerator {
4663
4974
  private isFastIdStrategy;
@@ -4687,14 +4998,24 @@ declare function toUnboundedZone(xc: string): UnboundedZone;
4687
4998
  *
4688
4999
  * Examples:
4689
5000
  * "A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
4690
- * "B1:B3" ==> Top 0, Bottom 3, Left: 1, Right: 1
5001
+ * "B1:B3" ==> Top 0, Bottom 2, Left: 1, Right: 1
4691
5002
  * "Sheet1!A1" ==> Top 0, Bottom 0, Left: 0, Right: 0
4692
- * "Sheet1!B1:B3" ==> Top 0, Bottom 3, Left: 1, Right: 1
5003
+ * "Sheet1!B1:B3" ==> Top 0, Bottom 2, Left: 1, Right: 1
4693
5004
  *
4694
5005
  * @param xc the string reference to convert
4695
5006
  *
4696
5007
  */
4697
5008
  declare function toZone(xc: string): Zone;
5009
+ /**
5010
+ * Expand a zone after inserting columns or rows.
5011
+ *
5012
+ * Don't resize the zone if a col/row was added right before/after the row but only move the zone.
5013
+ */
5014
+ declare function expandZoneOnInsertion<Z extends UnboundedZone | Zone>(zone: Z, start: "left" | "top", base: number, position: "after" | "before", quantity: number): Z;
5015
+ /**
5016
+ * Reduce a zone after deletion of elements
5017
+ */
5018
+ declare function reduceZoneOnDeletion<Z extends UnboundedZone | Zone>(zone: Z, start: "left" | "top", elements: number[]): Z | undefined;
4698
5019
  /**
4699
5020
  * Compute the union of multiple zones.
4700
5021
  */
@@ -4703,6 +5024,7 @@ declare function union(...zones: Zone[]): Zone;
4703
5024
  * Return true if two zones overlap, false otherwise.
4704
5025
  */
4705
5026
  declare function overlap(z1: Zone, z2: Zone): boolean;
5027
+ declare function isInside(col: number, row: number, zone: Zone): boolean;
4706
5028
  /**
4707
5029
  * This function will compare the modifications of selection to determine
4708
5030
  * a cell that is part of the new zone and not the previous one.
@@ -4762,6 +5084,7 @@ interface ModelConfig {
4762
5084
  readonly snapshotRequested: boolean;
4763
5085
  readonly notifyUI: (payload: InformationNotification) => void;
4764
5086
  readonly raiseBlockingErrorUI: (text: string) => void;
5087
+ readonly customColors: Color[];
4765
5088
  }
4766
5089
  interface ModelExternalConfig {
4767
5090
  readonly fileStore?: FileStore;
@@ -5170,7 +5493,7 @@ declare class SelectionInputStore extends SpreadsheetStore {
5170
5493
  private setRange;
5171
5494
  private removeRangeByIndex;
5172
5495
  /**
5173
- * Convert highlights input format to the command format.
5496
+ * Converts highlights input format to the command format.
5174
5497
  * The first xc in the input range will keep its color.
5175
5498
  * Invalid ranges and ranges from other sheets than the active sheets
5176
5499
  * are ignored.
@@ -5282,6 +5605,8 @@ interface Props$O {
5282
5605
  value: boolean;
5283
5606
  className?: string;
5284
5607
  name?: string;
5608
+ title?: string;
5609
+ disabled?: boolean;
5285
5610
  onChange: (value: boolean) => void;
5286
5611
  }
5287
5612
  declare class Checkbox extends Component<Props$O, SpreadsheetChildEnv> {
@@ -5303,6 +5628,14 @@ declare class Checkbox extends Component<Props$O, SpreadsheetChildEnv> {
5303
5628
  type: StringConstructor;
5304
5629
  optional: boolean;
5305
5630
  };
5631
+ title: {
5632
+ type: StringConstructor;
5633
+ optional: boolean;
5634
+ };
5635
+ disabled: {
5636
+ type: BooleanConstructor;
5637
+ optional: boolean;
5638
+ };
5306
5639
  onChange: FunctionConstructor;
5307
5640
  };
5308
5641
  static defaultProps: {
@@ -5977,10 +6310,38 @@ interface FigureContent {
5977
6310
  borderWidth?: number;
5978
6311
  }
5979
6312
 
6313
+ interface SidePanelProps {
6314
+ onCloseSidePanel?: () => void;
6315
+ [key: string]: unknown;
6316
+ }
6317
+ interface OpenSidePanel {
6318
+ isOpen: true;
6319
+ props: SidePanelProps;
6320
+ }
6321
+ interface ClosedSidePanel {
6322
+ isOpen: false;
6323
+ }
6324
+ type SidePanelState = OpenSidePanel | ClosedSidePanel;
6325
+ declare class SidePanelStore extends SpreadsheetStore {
6326
+ initialPanelProps: SidePanelProps;
6327
+ componentTag: string;
6328
+ get isOpen(): boolean;
6329
+ get panelProps(): SidePanelProps;
6330
+ open(componentTag: string, panelProps?: SidePanelProps): void;
6331
+ toggle(componentTag: string, panelProps: SidePanelProps): void;
6332
+ close(): void;
6333
+ private computeState;
6334
+ }
6335
+
5980
6336
  interface SidePanelContent {
5981
6337
  title: string | ((env: SpreadsheetChildEnv) => string);
5982
6338
  Body: any;
5983
6339
  Footer?: any;
6340
+ /**
6341
+ * A callback used to validate the props or generate new props
6342
+ * based on the current state of the spreadsheet model, using the getters.
6343
+ */
6344
+ computeState?: (getters: Getters, initialProps: object) => SidePanelState;
5984
6345
  }
5985
6346
 
5986
6347
  /**
@@ -6014,11 +6375,25 @@ interface AutofillRule {
6014
6375
  sequence: number;
6015
6376
  }
6016
6377
 
6017
- declare function transformRangeData(range: RangeData, executed: CoreCommand): RangeData | undefined;
6018
-
6019
6378
  interface FunctionContext {
6379
+ /**
6380
+ * The parent function name of the token.
6381
+ */
6020
6382
  parent: string;
6383
+ /**
6384
+ * The position of the token within the argument list of its parent function.
6385
+ */
6021
6386
  argPosition: number;
6387
+ /**
6388
+ * An array of parsed arguments, possibly containing undefined values if the argument
6389
+ * is empty or is an invalid expression.
6390
+ */
6391
+ args: (AST | undefined)[];
6392
+ /**
6393
+ * Array of token arrays representing the tokens for each argument.
6394
+ * Needed as an intermediate step to parse the arguments AST (see `args` property).
6395
+ */
6396
+ argsTokens?: Token[][];
6022
6397
  }
6023
6398
  /**
6024
6399
  * Enriched Token is used by the composer to add information on the tokens that
@@ -6039,6 +6414,27 @@ interface EnrichedToken extends Token {
6039
6414
  functionContext?: FunctionContext;
6040
6415
  }
6041
6416
 
6417
+ interface Props$A {
6418
+ proposals: AutoCompleteProposal[];
6419
+ selectedIndex: number | undefined;
6420
+ onValueSelected: (value: string) => void;
6421
+ onValueHovered: (index: string) => void;
6422
+ }
6423
+ declare class TextValueProvider extends Component<Props$A> {
6424
+ static template: string;
6425
+ static props: {
6426
+ proposals: ArrayConstructor;
6427
+ selectedIndex: {
6428
+ type: NumberConstructor;
6429
+ optional: boolean;
6430
+ };
6431
+ onValueSelected: FunctionConstructor;
6432
+ onValueHovered: FunctionConstructor;
6433
+ };
6434
+ private autoCompleteListRef;
6435
+ setup(): void;
6436
+ }
6437
+
6042
6438
  type EditionMode = "editing" | "selecting" | "inactive";
6043
6439
  interface ComposerSelection {
6044
6440
  start: number;
@@ -6135,7 +6531,7 @@ declare class ComposerStore extends SpreadsheetStore {
6135
6531
  * Return ranges currently referenced in the composer
6136
6532
  */
6137
6533
  private getReferencedRanges;
6138
- get autoCompleteDataValidationValues(): string[];
6534
+ get autocompleteProvider(): AutoCompleteProvider | undefined;
6139
6535
  /**
6140
6536
  * Function used to determine when composer selection can start.
6141
6537
  * Three conditions are necessary:
@@ -6163,255 +6559,6 @@ declare class ComposerFocusStore extends SpreadsheetStore {
6163
6559
  private setComposerContent;
6164
6560
  }
6165
6561
 
6166
- interface Props$A {
6167
- figure: Figure;
6168
- }
6169
- declare class ChartJsComponent extends Component<Props$A, SpreadsheetChildEnv> {
6170
- static template: string;
6171
- static props: {
6172
- figure: ObjectConstructor;
6173
- };
6174
- private canvas;
6175
- private chart?;
6176
- get background(): string;
6177
- get canvasStyle(): string;
6178
- get chartRuntime(): ChartJSRuntime;
6179
- setup(): void;
6180
- private createChart;
6181
- private updateChartJs;
6182
- }
6183
-
6184
- interface Props$z {
6185
- figure: Figure;
6186
- }
6187
- declare class ScorecardChart extends Component<Props$z, SpreadsheetChildEnv> {
6188
- static template: string;
6189
- static props: {
6190
- figure: ObjectConstructor;
6191
- };
6192
- private canvas;
6193
- get runtime(): ScorecardChartRuntime;
6194
- setup(): void;
6195
- private createChart;
6196
- }
6197
-
6198
- type MenuItemOrSeparator = Action | "separator";
6199
- interface Props$y {
6200
- position: DOMCoordinates;
6201
- menuItems: Action[];
6202
- depth: number;
6203
- maxHeight?: Pixel;
6204
- onClose: () => void;
6205
- onMenuClicked?: (ev: CustomEvent) => void;
6206
- menuId?: UID;
6207
- }
6208
- interface MenuState {
6209
- isOpen: boolean;
6210
- parentMenu?: Action;
6211
- position: null | DOMCoordinates;
6212
- scrollOffset?: Pixel;
6213
- menuItems: Action[];
6214
- }
6215
- declare class Menu extends Component<Props$y, SpreadsheetChildEnv> {
6216
- static template: string;
6217
- static props: {
6218
- position: ObjectConstructor;
6219
- menuItems: ArrayConstructor;
6220
- depth: {
6221
- type: NumberConstructor;
6222
- optional: boolean;
6223
- };
6224
- maxHeight: {
6225
- type: NumberConstructor;
6226
- optional: boolean;
6227
- };
6228
- onClose: FunctionConstructor;
6229
- onMenuClicked: {
6230
- type: FunctionConstructor;
6231
- optional: boolean;
6232
- };
6233
- menuId: {
6234
- type: StringConstructor;
6235
- optional: boolean;
6236
- };
6237
- };
6238
- static components: {
6239
- Menu: typeof Menu;
6240
- Popover: typeof Popover;
6241
- };
6242
- static defaultProps: {
6243
- depth: number;
6244
- };
6245
- private subMenu;
6246
- private menuRef;
6247
- private hoveredMenu;
6248
- private position;
6249
- setup(): void;
6250
- get menuItemsAndSeparators(): MenuItemOrSeparator[];
6251
- get subMenuPosition(): DOMCoordinates;
6252
- get popoverProps(): PopoverProps;
6253
- get childrenHaveIcon(): boolean;
6254
- getIconName(menu: Action): string;
6255
- getColor(menu: Action): string | undefined;
6256
- activateMenu(menu: Action): Promise<void>;
6257
- private close;
6258
- private onExternalClick;
6259
- getName(menu: Action): string;
6260
- isRoot(menu: Action): boolean;
6261
- isEnabled(menu: Action): boolean;
6262
- onScroll(ev: any): void;
6263
- /**
6264
- * If the given menu is not disabled, open it's submenu at the
6265
- * correct position according to available surrounding space.
6266
- */
6267
- openSubMenu(menu: Action, ev: MouseEvent): void;
6268
- isParentMenu(subMenu: MenuState, menuItem: Action): boolean;
6269
- closeSubMenu(): void;
6270
- onClickMenu(menu: Action, ev: MouseEvent): void;
6271
- onMouseEnter(menu: Action, ev: MouseEvent): void;
6272
- onMouseLeave(menu: Action): void;
6273
- }
6274
-
6275
- type ResizeAnchor = "top left" | "top" | "top right" | "right" | "bottom right" | "bottom" | "bottom left" | "left";
6276
- interface Props$x {
6277
- figure: Figure;
6278
- style: string;
6279
- onFigureDeleted: () => void;
6280
- onMouseDown: (ev: MouseEvent) => void;
6281
- onClickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
6282
- }
6283
- declare class FigureComponent extends Component<Props$x, SpreadsheetChildEnv> {
6284
- static template: string;
6285
- static props: {
6286
- figure: ObjectConstructor;
6287
- style: {
6288
- type: StringConstructor;
6289
- optional: boolean;
6290
- };
6291
- onFigureDeleted: {
6292
- type: FunctionConstructor;
6293
- optional: boolean;
6294
- };
6295
- onMouseDown: {
6296
- type: FunctionConstructor;
6297
- optional: boolean;
6298
- };
6299
- onClickAnchor: {
6300
- type: FunctionConstructor;
6301
- optional: boolean;
6302
- };
6303
- };
6304
- static components: {
6305
- Menu: typeof Menu;
6306
- };
6307
- static defaultProps: {
6308
- onFigureDeleted: () => void;
6309
- onMouseDown: () => void;
6310
- onClickAnchor: () => void;
6311
- };
6312
- private menuState;
6313
- private figureRef;
6314
- private menuButtonRef;
6315
- private menuButtonRect;
6316
- private borderWidth;
6317
- get isSelected(): boolean;
6318
- get figureRegistry(): Registry<FigureContent>;
6319
- private getBorderWidth;
6320
- get borderStyle(): string;
6321
- get wrapperStyle(): string;
6322
- getResizerPosition(resizer: ResizeAnchor): string;
6323
- setup(): void;
6324
- clickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
6325
- onMouseDown(ev: MouseEvent): void;
6326
- onKeyDown(ev: KeyboardEvent): void;
6327
- onContextMenu(ev: MouseEvent): void;
6328
- showMenu(): void;
6329
- private openContextMenu;
6330
- }
6331
-
6332
- interface Props$w {
6333
- figure: Figure;
6334
- onFigureDeleted: () => void;
6335
- }
6336
- declare class ChartFigure extends Component<Props$w, SpreadsheetChildEnv> {
6337
- static template: string;
6338
- static props: {
6339
- figure: ObjectConstructor;
6340
- onFigureDeleted: FunctionConstructor;
6341
- };
6342
- static components: {};
6343
- onDoubleClick(): void;
6344
- get chartType(): ChartType;
6345
- get chartComponent(): new (...args: any) => Component;
6346
- }
6347
-
6348
- interface Props$v {
6349
- isVisible: boolean;
6350
- position: Position;
6351
- }
6352
- interface Position {
6353
- top: HeaderIndex;
6354
- left: HeaderIndex;
6355
- }
6356
- interface State$6 {
6357
- position: Position;
6358
- handler: boolean;
6359
- }
6360
- declare class Autofill extends Component<Props$v, SpreadsheetChildEnv> {
6361
- static template: string;
6362
- static props: {
6363
- position: ObjectConstructor;
6364
- isVisible: BooleanConstructor;
6365
- };
6366
- state: State$6;
6367
- get style(): string;
6368
- get handlerStyle(): string;
6369
- get styleNextValue(): string;
6370
- getTooltip(): Tooltip | undefined;
6371
- onMouseDown(ev: MouseEvent): void;
6372
- onDblClick(): void;
6373
- }
6374
-
6375
- interface ClientTagProps {
6376
- active: boolean;
6377
- name: string;
6378
- color: Color;
6379
- col: HeaderIndex;
6380
- row: HeaderIndex;
6381
- }
6382
- declare class ClientTag extends Component<ClientTagProps, SpreadsheetChildEnv> {
6383
- static template: string;
6384
- static props: {
6385
- active: BooleanConstructor;
6386
- name: StringConstructor;
6387
- color: StringConstructor;
6388
- col: NumberConstructor;
6389
- row: NumberConstructor;
6390
- };
6391
- get tagStyle(): string;
6392
- }
6393
-
6394
- interface Props$u {
6395
- values: AutocompleteValue[];
6396
- selectedIndex: number | undefined;
6397
- getHtmlContent: (value: string) => string;
6398
- onValueSelected: (value: string) => void;
6399
- onValueHovered: (index: string) => void;
6400
- }
6401
- declare class TextValueProvider extends Component<Props$u> {
6402
- static template: string;
6403
- static props: {
6404
- values: ArrayConstructor;
6405
- selectedIndex: {
6406
- type: NumberConstructor;
6407
- optional: boolean;
6408
- };
6409
- getHtmlContent: FunctionConstructor;
6410
- onValueSelected: FunctionConstructor;
6411
- onValueHovered: FunctionConstructor;
6412
- };
6413
- }
6414
-
6415
6562
  declare class ContentEditableHelper {
6416
6563
  el: HTMLElement;
6417
6564
  constructor(el: HTMLElement);
@@ -6472,7 +6619,7 @@ declare class ContentEditableHelper {
6472
6619
  getText(): string;
6473
6620
  }
6474
6621
 
6475
- interface Props$t {
6622
+ interface Props$z {
6476
6623
  functionName: string;
6477
6624
  functionDescription: FunctionDescription;
6478
6625
  argToFocus: number;
@@ -6480,7 +6627,7 @@ interface Props$t {
6480
6627
  interface AssistantState {
6481
6628
  allowCellSelectionBehind: boolean;
6482
6629
  }
6483
- declare class FunctionDescriptionProvider extends Component<Props$t> {
6630
+ declare class FunctionDescriptionProvider extends Component<Props$z> {
6484
6631
  static template: string;
6485
6632
  static props: {
6486
6633
  functionName: StringConstructor;
@@ -6490,7 +6637,7 @@ declare class FunctionDescriptionProvider extends Component<Props$t> {
6490
6637
  assistantState: AssistantState;
6491
6638
  private timeOutId;
6492
6639
  setup(): void;
6493
- getContext(): Props$t;
6640
+ getContext(): Props$z;
6494
6641
  onMouseMove(): void;
6495
6642
  }
6496
6643
 
@@ -6499,10 +6646,17 @@ type HtmlContent = {
6499
6646
  color?: Color;
6500
6647
  class?: string;
6501
6648
  };
6502
- interface AutocompleteValue {
6503
- text: string;
6504
- description: string;
6505
- }
6649
+ declare const tokenColors: {
6650
+ readonly OPERATOR: "#3da4ab";
6651
+ readonly NUMBER: "#02c39a";
6652
+ readonly STRING: "#00a82d";
6653
+ readonly FUNCTION: "#4a4e4d";
6654
+ readonly DEBUGGER: "#3da4ab";
6655
+ readonly LEFT_PAREN: "#4a4e4d";
6656
+ readonly RIGHT_PAREN: "#4a4e4d";
6657
+ readonly ARG_SEPARATOR: "#4a4e4d";
6658
+ readonly MATCHING_PAREN: "#000000";
6659
+ };
6506
6660
  interface ComposerProps {
6507
6661
  focus: ComposerFocusType;
6508
6662
  inputStyle?: string;
@@ -6517,11 +6671,8 @@ interface ComposerState {
6517
6671
  positionEnd: number;
6518
6672
  }
6519
6673
  interface AutoCompleteState {
6520
- showProvider: boolean;
6674
+ provider: AutoCompleteProvider | undefined;
6521
6675
  selectedIndex: number | undefined;
6522
- values: AutocompleteValue[];
6523
- type: "function" | "dataValidation";
6524
- getHtmlContent: (text: string) => HtmlContent[];
6525
6676
  }
6526
6677
  interface FunctionDescriptionState {
6527
6678
  showDescription: boolean;
@@ -6529,110 +6680,378 @@ interface FunctionDescriptionState {
6529
6680
  functionDescription: FunctionDescription;
6530
6681
  argToFocus: number;
6531
6682
  }
6532
- declare class Composer extends Component<ComposerProps, SpreadsheetChildEnv> {
6683
+ declare class Composer extends Component<ComposerProps, SpreadsheetChildEnv> {
6684
+ static template: string;
6685
+ static props: {
6686
+ focus: {
6687
+ validate: (value: string) => boolean;
6688
+ };
6689
+ inputStyle: {
6690
+ type: StringConstructor;
6691
+ optional: boolean;
6692
+ };
6693
+ rect: {
6694
+ type: ObjectConstructor;
6695
+ optional: boolean;
6696
+ };
6697
+ delimitation: {
6698
+ type: ObjectConstructor;
6699
+ optional: boolean;
6700
+ };
6701
+ onComposerCellFocused: {
6702
+ type: FunctionConstructor;
6703
+ optional: boolean;
6704
+ };
6705
+ onComposerContentFocused: FunctionConstructor;
6706
+ isDefaultFocus: {
6707
+ type: BooleanConstructor;
6708
+ optional: boolean;
6709
+ };
6710
+ };
6711
+ static components: {
6712
+ TextValueProvider: typeof TextValueProvider;
6713
+ FunctionDescriptionProvider: typeof FunctionDescriptionProvider;
6714
+ };
6715
+ static defaultProps: {
6716
+ inputStyle: string;
6717
+ isDefaultFocus: boolean;
6718
+ };
6719
+ private composerStore;
6720
+ private DOMFocusableElementStore;
6721
+ composerRef: {
6722
+ el: HTMLElement | null;
6723
+ };
6724
+ contentHelper: ContentEditableHelper;
6725
+ composerState: ComposerState;
6726
+ autoCompleteState: AutoCompleteState;
6727
+ functionDescriptionState: FunctionDescriptionState;
6728
+ private compositionActive;
6729
+ get assistantStyle(): string;
6730
+ shouldProcessInputEvents: boolean;
6731
+ tokens: EnrichedToken[];
6732
+ keyMapping: {
6733
+ [key: string]: Function;
6734
+ };
6735
+ keyCodeMapping: {
6736
+ [keyCode: string]: Function;
6737
+ };
6738
+ setup(): void;
6739
+ private processArrowKeys;
6740
+ private handleArrowKeysForAutocomplete;
6741
+ private processTabKey;
6742
+ private processEnterKey;
6743
+ private processNewLineEvent;
6744
+ private processEscapeKey;
6745
+ private processF4Key;
6746
+ private processNumpadDecimal;
6747
+ onCompositionStart(): void;
6748
+ onCompositionEnd(): void;
6749
+ onKeydown(ev: KeyboardEvent): void;
6750
+ onPaste(ev: ClipboardEvent): void;
6751
+ onInput(ev: InputEvent): void;
6752
+ onKeyup(ev: KeyboardEvent): void;
6753
+ showAutoComplete(provider: AutoCompleteProvider): void;
6754
+ updateAutoCompleteIndex(index: number): void;
6755
+ /**
6756
+ * This is required to ensure the content helper selection is
6757
+ * properly updated on "onclick" events. Depending on the browser,
6758
+ * the callback onClick from the composer will be executed before
6759
+ * the selection was updated in the dom, which means we capture an
6760
+ * wrong selection which is then forced upon the content helper on
6761
+ * processContent.
6762
+ */
6763
+ onMousedown(ev: MouseEvent): void;
6764
+ onClick(): void;
6765
+ onDblClick(): void;
6766
+ private processContent;
6767
+ /**
6768
+ * Get the HTML content corresponding to the current composer token, divided by lines.
6769
+ */
6770
+ private getContentLines;
6771
+ private getColoredTokens;
6772
+ /**
6773
+ * Split an array of HTMLContents into lines. Each NEWLINE character encountered will create a new
6774
+ * line. Contents can be split into multiple parts if they contain multiple NEWLINE characters.
6775
+ */
6776
+ private splitHtmlContentIntoLines;
6777
+ private isContentEmpty;
6778
+ private rangeColor;
6779
+ /**
6780
+ * Compute the state of the composer from the tokenAtCursor.
6781
+ * If the token is a function or symbol (that isn't a cell/range reference) we have to initialize
6782
+ * the autocomplete engine otherwise we initialize the formula assistant.
6783
+ */
6784
+ private processTokenAtCursor;
6785
+ private autoComplete;
6786
+ }
6787
+
6788
+ interface AutoCompleteProposal {
6789
+ /**
6790
+ * Text to auto complete.
6791
+ */
6792
+ text: string;
6793
+ description?: string;
6794
+ /**
6795
+ * Version of the text but displayed using html to highlight part of it.
6796
+ */
6797
+ htmlContent?: HtmlContent[];
6798
+ /**
6799
+ * Key to use for fuzzy search.
6800
+ */
6801
+ fuzzySearchKey?: string;
6802
+ }
6803
+ interface AutoCompleteProvider {
6804
+ proposals: AutoCompleteProposal[];
6805
+ selectProposal(text: string): void;
6806
+ autoSelectFirstProposal: boolean;
6807
+ }
6808
+ /**
6809
+ * We declare the providers in the registry as an object (rather than a class)
6810
+ * to allow a type-safe way to declare the provider.
6811
+ * We still want to be able to use `this` for the getters and dispatch for simplicity.
6812
+ * Binding happens at runtime in the edition plugin.
6813
+ */
6814
+ interface AutoCompleteProviderDefinition {
6815
+ sequence?: number;
6816
+ autoSelectFirstProposal?: boolean;
6817
+ maxDisplayedProposals?: number;
6818
+ getProposals(this: {
6819
+ composer: ComposerStore;
6820
+ getters: Getters;
6821
+ }, tokenAtCursor: EnrichedToken, content: string): AutoCompleteProposal[] | undefined;
6822
+ selectProposal(this: {
6823
+ composer: ComposerStore;
6824
+ }, tokenAtCursor: EnrichedToken, text: string): void;
6825
+ }
6826
+
6827
+ declare function transformRangeData(range: RangeData, executed: CoreCommand): RangeData | undefined;
6828
+
6829
+ interface Props$y {
6830
+ figure: Figure;
6831
+ }
6832
+ declare class ChartJsComponent extends Component<Props$y, SpreadsheetChildEnv> {
6833
+ static template: string;
6834
+ static props: {
6835
+ figure: ObjectConstructor;
6836
+ };
6837
+ private canvas;
6838
+ private chart?;
6839
+ get background(): string;
6840
+ get canvasStyle(): string;
6841
+ get chartRuntime(): ChartJSRuntime;
6842
+ setup(): void;
6843
+ private createChart;
6844
+ private updateChartJs;
6845
+ }
6846
+
6847
+ interface Props$x {
6848
+ figure: Figure;
6849
+ }
6850
+ declare class ScorecardChart extends Component<Props$x, SpreadsheetChildEnv> {
6851
+ static template: string;
6852
+ static props: {
6853
+ figure: ObjectConstructor;
6854
+ };
6855
+ private canvas;
6856
+ get runtime(): ScorecardChartRuntime;
6857
+ setup(): void;
6858
+ private createChart;
6859
+ }
6860
+
6861
+ type MenuItemOrSeparator = Action | "separator";
6862
+ interface Props$w {
6863
+ position: DOMCoordinates;
6864
+ menuItems: Action[];
6865
+ depth: number;
6866
+ maxHeight?: Pixel;
6867
+ onClose: () => void;
6868
+ onMenuClicked?: (ev: CustomEvent) => void;
6869
+ menuId?: UID;
6870
+ }
6871
+ interface MenuState {
6872
+ isOpen: boolean;
6873
+ parentMenu?: Action;
6874
+ position: null | DOMCoordinates;
6875
+ scrollOffset?: Pixel;
6876
+ menuItems: Action[];
6877
+ }
6878
+ declare class Menu extends Component<Props$w, SpreadsheetChildEnv> {
6879
+ static template: string;
6880
+ static props: {
6881
+ position: ObjectConstructor;
6882
+ menuItems: ArrayConstructor;
6883
+ depth: {
6884
+ type: NumberConstructor;
6885
+ optional: boolean;
6886
+ };
6887
+ maxHeight: {
6888
+ type: NumberConstructor;
6889
+ optional: boolean;
6890
+ };
6891
+ onClose: FunctionConstructor;
6892
+ onMenuClicked: {
6893
+ type: FunctionConstructor;
6894
+ optional: boolean;
6895
+ };
6896
+ menuId: {
6897
+ type: StringConstructor;
6898
+ optional: boolean;
6899
+ };
6900
+ };
6901
+ static components: {
6902
+ Menu: typeof Menu;
6903
+ Popover: typeof Popover;
6904
+ };
6905
+ static defaultProps: {
6906
+ depth: number;
6907
+ };
6908
+ private subMenu;
6909
+ private menuRef;
6910
+ private hoveredMenu;
6911
+ private position;
6912
+ setup(): void;
6913
+ get menuItemsAndSeparators(): MenuItemOrSeparator[];
6914
+ get subMenuPosition(): DOMCoordinates;
6915
+ get popoverProps(): PopoverProps;
6916
+ get childrenHaveIcon(): boolean;
6917
+ getIconName(menu: Action): string;
6918
+ getColor(menu: Action): string | undefined;
6919
+ activateMenu(menu: Action): Promise<void>;
6920
+ private close;
6921
+ private onExternalClick;
6922
+ getName(menu: Action): string;
6923
+ isRoot(menu: Action): boolean;
6924
+ isEnabled(menu: Action): boolean;
6925
+ onScroll(ev: any): void;
6926
+ /**
6927
+ * If the given menu is not disabled, open it's submenu at the
6928
+ * correct position according to available surrounding space.
6929
+ */
6930
+ openSubMenu(menu: Action, ev: MouseEvent): void;
6931
+ isParentMenu(subMenu: MenuState, menuItem: Action): boolean;
6932
+ closeSubMenu(): void;
6933
+ onClickMenu(menu: Action, ev: MouseEvent): void;
6934
+ onMouseEnter(menu: Action, ev: MouseEvent): void;
6935
+ onMouseLeave(menu: Action): void;
6936
+ }
6937
+
6938
+ type ResizeAnchor = "top left" | "top" | "top right" | "right" | "bottom right" | "bottom" | "bottom left" | "left";
6939
+ interface Props$v {
6940
+ figure: Figure;
6941
+ style: string;
6942
+ onFigureDeleted: () => void;
6943
+ onMouseDown: (ev: MouseEvent) => void;
6944
+ onClickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
6945
+ }
6946
+ declare class FigureComponent extends Component<Props$v, SpreadsheetChildEnv> {
6533
6947
  static template: string;
6534
6948
  static props: {
6535
- focus: {
6536
- validate: (value: string) => boolean;
6537
- };
6538
- inputStyle: {
6949
+ figure: ObjectConstructor;
6950
+ style: {
6539
6951
  type: StringConstructor;
6540
6952
  optional: boolean;
6541
6953
  };
6542
- rect: {
6543
- type: ObjectConstructor;
6544
- optional: boolean;
6545
- };
6546
- delimitation: {
6547
- type: ObjectConstructor;
6954
+ onFigureDeleted: {
6955
+ type: FunctionConstructor;
6548
6956
  optional: boolean;
6549
6957
  };
6550
- onComposerCellFocused: {
6958
+ onMouseDown: {
6551
6959
  type: FunctionConstructor;
6552
6960
  optional: boolean;
6553
6961
  };
6554
- onComposerContentFocused: FunctionConstructor;
6555
- isDefaultFocus: {
6556
- type: BooleanConstructor;
6962
+ onClickAnchor: {
6963
+ type: FunctionConstructor;
6557
6964
  optional: boolean;
6558
6965
  };
6559
6966
  };
6560
6967
  static components: {
6561
- TextValueProvider: typeof TextValueProvider;
6562
- FunctionDescriptionProvider: typeof FunctionDescriptionProvider;
6968
+ Menu: typeof Menu;
6563
6969
  };
6564
6970
  static defaultProps: {
6565
- inputStyle: string;
6566
- isDefaultFocus: boolean;
6567
- };
6568
- private composerStore;
6569
- private DOMFocusableElementStore;
6570
- composerRef: {
6571
- el: HTMLElement | null;
6971
+ onFigureDeleted: () => void;
6972
+ onMouseDown: () => void;
6973
+ onClickAnchor: () => void;
6572
6974
  };
6573
- contentHelper: ContentEditableHelper;
6574
- composerState: ComposerState;
6575
- autoCompleteState: AutoCompleteState;
6576
- functionDescriptionState: FunctionDescriptionState;
6577
- private compositionActive;
6578
- get assistantStyle(): string;
6579
- shouldProcessInputEvents: boolean;
6580
- tokens: EnrichedToken[];
6581
- keyMapping: {
6582
- [key: string]: Function;
6975
+ private menuState;
6976
+ private figureRef;
6977
+ private menuButtonRef;
6978
+ private menuButtonRect;
6979
+ private borderWidth;
6980
+ get isSelected(): boolean;
6981
+ get figureRegistry(): Registry<FigureContent>;
6982
+ private getBorderWidth;
6983
+ get borderStyle(): string;
6984
+ get wrapperStyle(): string;
6985
+ getResizerPosition(resizer: ResizeAnchor): string;
6986
+ setup(): void;
6987
+ clickAnchor(dirX: ResizeDirection, dirY: ResizeDirection, ev: MouseEvent): void;
6988
+ onMouseDown(ev: MouseEvent): void;
6989
+ onKeyDown(ev: KeyboardEvent): void;
6990
+ onContextMenu(ev: MouseEvent): void;
6991
+ showMenu(): void;
6992
+ private openContextMenu;
6993
+ }
6994
+
6995
+ interface Props$u {
6996
+ figure: Figure;
6997
+ onFigureDeleted: () => void;
6998
+ }
6999
+ declare class ChartFigure extends Component<Props$u, SpreadsheetChildEnv> {
7000
+ static template: string;
7001
+ static props: {
7002
+ figure: ObjectConstructor;
7003
+ onFigureDeleted: FunctionConstructor;
6583
7004
  };
6584
- keyCodeMapping: {
6585
- [keyCode: string]: Function;
7005
+ static components: {};
7006
+ onDoubleClick(): void;
7007
+ get chartType(): ChartType;
7008
+ get chartComponent(): new (...args: any) => Component;
7009
+ }
7010
+
7011
+ interface Props$t {
7012
+ isVisible: boolean;
7013
+ position: Position;
7014
+ }
7015
+ interface Position {
7016
+ top: HeaderIndex;
7017
+ left: HeaderIndex;
7018
+ }
7019
+ interface State$6 {
7020
+ position: Position;
7021
+ handler: boolean;
7022
+ }
7023
+ declare class Autofill extends Component<Props$t, SpreadsheetChildEnv> {
7024
+ static template: string;
7025
+ static props: {
7026
+ position: ObjectConstructor;
7027
+ isVisible: BooleanConstructor;
6586
7028
  };
6587
- setup(): void;
6588
- private processArrowKeys;
6589
- private handleArrowKeysForAutocomplete;
6590
- private processTabKey;
6591
- private processEnterKey;
6592
- private processNewLineEvent;
6593
- private processEscapeKey;
6594
- private processF4Key;
6595
- private processNumpadDecimal;
6596
- onCompositionStart(): void;
6597
- onCompositionEnd(): void;
6598
- onKeydown(ev: KeyboardEvent): void;
6599
- onPaste(ev: ClipboardEvent): void;
6600
- onInput(ev: InputEvent): void;
6601
- onKeyup(ev: KeyboardEvent): void;
6602
- showFunctionAutocomplete(searchTerm: string): void;
6603
- updateAutoCompleteIndex(index: number): void;
6604
- /**
6605
- * This is required to ensure the content helper selection is
6606
- * properly updated on "onclick" events. Depending on the browser,
6607
- * the callback onClick from the composer will be executed before
6608
- * the selection was updated in the dom, which means we capture an
6609
- * wrong selection which is then forced upon the content helper on
6610
- * processContent.
6611
- */
6612
- onMousedown(ev: MouseEvent): void;
6613
- onClick(): void;
7029
+ state: State$6;
7030
+ get style(): string;
7031
+ get handlerStyle(): string;
7032
+ get styleNextValue(): string;
7033
+ getTooltip(): Tooltip | undefined;
7034
+ onMouseDown(ev: MouseEvent): void;
6614
7035
  onDblClick(): void;
6615
- private processContent;
6616
- /**
6617
- * Get the HTML content corresponding to the current composer token, divided by lines.
6618
- */
6619
- private getContentLines;
6620
- private getColoredTokens;
6621
- /**
6622
- * Split an array of HTMLContents into lines. Each NEWLINE character encountered will create a new
6623
- * line. Contents can be split into multiple parts if they contain multiple NEWLINE characters.
6624
- */
6625
- private splitHtmlContentIntoLines;
6626
- private isContentEmpty;
6627
- private rangeColor;
6628
- /**
6629
- * Compute the state of the composer from the tokenAtCursor.
6630
- * If the token is a function or symbol (that isn't a cell/range reference) we have to initialize
6631
- * the autocomplete engine otherwise we initialize the formula assistant.
6632
- */
6633
- private processTokenAtCursor;
6634
- private autoComplete;
6635
- private showDataValidationAutocomplete;
7036
+ }
7037
+
7038
+ interface ClientTagProps {
7039
+ active: boolean;
7040
+ name: string;
7041
+ color: Color;
7042
+ col: HeaderIndex;
7043
+ row: HeaderIndex;
7044
+ }
7045
+ declare class ClientTag extends Component<ClientTagProps, SpreadsheetChildEnv> {
7046
+ static template: string;
7047
+ static props: {
7048
+ active: BooleanConstructor;
7049
+ name: StringConstructor;
7050
+ color: StringConstructor;
7051
+ col: NumberConstructor;
7052
+ row: NumberConstructor;
7053
+ };
7054
+ get tagStyle(): string;
6636
7055
  }
6637
7056
 
6638
7057
  interface Props$s {
@@ -6736,6 +7155,7 @@ declare class FilterIcon extends Component<Props$r, SpreadsheetChildEnv> {
6736
7155
  setup(): void;
6737
7156
  onClick(): void;
6738
7157
  get isFilterActive(): boolean;
7158
+ get iconClass(): string;
6739
7159
  }
6740
7160
 
6741
7161
  interface Props$q {
@@ -7344,13 +7764,11 @@ declare class HoveredCellStore extends SpreadsheetStore {
7344
7764
  */
7345
7765
  type ContextMenuType = "ROW" | "COL" | "CELL" | "FILTER" | "GROUP_HEADERS" | "UNGROUP_HEADERS";
7346
7766
  interface Props$d {
7347
- sidePanelIsOpen: boolean;
7348
7767
  exposeFocus: (focus: () => void) => void;
7349
7768
  }
7350
7769
  declare class Grid extends Component<Props$d, SpreadsheetChildEnv> {
7351
7770
  static template: string;
7352
7771
  static props: {
7353
- sidePanelIsOpen: BooleanConstructor;
7354
7772
  exposeFocus: FunctionConstructor;
7355
7773
  };
7356
7774
  static components: {
@@ -7379,6 +7797,7 @@ declare class Grid extends Component<Props$d, SpreadsheetChildEnv> {
7379
7797
  onMouseWheel: (ev: WheelEvent) => void;
7380
7798
  canvasPosition: DOMCoordinates;
7381
7799
  hoveredCell: Store<HoveredCellStore>;
7800
+ sidePanel: Store<SidePanelStore>;
7382
7801
  setup(): void;
7383
7802
  onCellHovered({ col, row }: {
7384
7803
  col: any;
@@ -7450,8 +7869,14 @@ declare function useDragAndDropListItems(): State$5;
7450
7869
  declare function useHighlightsOnHover(ref: Ref<HTMLElement>, highlightProvider: HighlightProvider): void;
7451
7870
  declare function useHighlights(highlightProvider: HighlightProvider): void;
7452
7871
 
7872
+ declare class MainChartPanelStore extends SpreadsheetStore {
7873
+ panel: "configuration" | "design";
7874
+ activatePanel(panel: "configuration" | "design"): void;
7875
+ }
7876
+
7453
7877
  interface Props$c {
7454
7878
  onCloseSidePanel: () => void;
7879
+ figureId: UID;
7455
7880
  }
7456
7881
  declare class ChartPanel extends Component<Props$c, SpreadsheetChildEnv> {
7457
7882
  static template: string;
@@ -7460,8 +7885,9 @@ declare class ChartPanel extends Component<Props$c, SpreadsheetChildEnv> {
7460
7885
  };
7461
7886
  static props: {
7462
7887
  onCloseSidePanel: FunctionConstructor;
7888
+ figureId: StringConstructor;
7463
7889
  };
7464
- private state;
7890
+ store: Store<MainChartPanelStore>;
7465
7891
  get figureId(): UID;
7466
7892
  setup(): void;
7467
7893
  updateChart<T extends ChartDefinition>(figureId: UID, updateDefinition: Partial<T>): DispatchResult | undefined;
@@ -7470,7 +7896,6 @@ declare class ChartPanel extends Component<Props$c, SpreadsheetChildEnv> {
7470
7896
  get chartPanel(): ChartSidePanel;
7471
7897
  private getChartDefinition;
7472
7898
  get chartTypes(): Record<string, string>;
7473
- activatePanel(panel: "configuration" | "design"): void;
7474
7899
  }
7475
7900
 
7476
7901
  declare class FindAndReplaceStore extends SpreadsheetStore {
@@ -7961,29 +8386,49 @@ declare class HeaderGroupContainer extends Component<Props$6, SpreadsheetChildEn
7961
8386
  get frozenPaneContainerSize(): Pixel;
7962
8387
  }
7963
8388
 
7964
- interface Props$5 {
7965
- component: string;
7966
- panelProps: any;
7967
- onCloseSidePanel: () => void;
7968
- }
7969
- interface State$4 {
7970
- panel: SidePanelContent;
7971
- }
7972
- declare class SidePanel extends Component<Props$5, SpreadsheetChildEnv> {
8389
+ declare class SidePanel extends Component<{}, SpreadsheetChildEnv> {
7973
8390
  static template: string;
7974
- static props: {
7975
- component: StringConstructor;
7976
- panelProps: {
7977
- type: ObjectConstructor;
7978
- optional: boolean;
7979
- };
7980
- onCloseSidePanel: FunctionConstructor;
7981
- };
7982
- state: State$4;
8391
+ static props: {};
8392
+ sidePanelStore: Store<SidePanelStore>;
7983
8393
  setup(): void;
8394
+ get panel(): SidePanelContent;
8395
+ close(): void;
7984
8396
  getTitle(): string;
7985
8397
  }
7986
8398
 
8399
+ declare const sortRange: ActionSpec;
8400
+ declare const sortAscending: ActionSpec;
8401
+ declare const dataCleanup: ActionSpec;
8402
+ declare const removeDuplicates: ActionSpec;
8403
+ declare const trimWhitespace: ActionSpec;
8404
+ declare const sortDescending: ActionSpec;
8405
+ declare const createRemoveFilter: ActionSpec;
8406
+ declare const createRemoveFilterTool: ActionSpec;
8407
+ declare const splitToColumns: ActionSpec;
8408
+
8409
+ declare const ACTION_DATA_createRemoveFilter: typeof createRemoveFilter;
8410
+ declare const ACTION_DATA_createRemoveFilterTool: typeof createRemoveFilterTool;
8411
+ declare const ACTION_DATA_dataCleanup: typeof dataCleanup;
8412
+ declare const ACTION_DATA_removeDuplicates: typeof removeDuplicates;
8413
+ declare const ACTION_DATA_sortAscending: typeof sortAscending;
8414
+ declare const ACTION_DATA_sortDescending: typeof sortDescending;
8415
+ declare const ACTION_DATA_sortRange: typeof sortRange;
8416
+ declare const ACTION_DATA_splitToColumns: typeof splitToColumns;
8417
+ declare const ACTION_DATA_trimWhitespace: typeof trimWhitespace;
8418
+ declare namespace ACTION_DATA {
8419
+ export {
8420
+ ACTION_DATA_createRemoveFilter as createRemoveFilter,
8421
+ ACTION_DATA_createRemoveFilterTool as createRemoveFilterTool,
8422
+ ACTION_DATA_dataCleanup as dataCleanup,
8423
+ ACTION_DATA_removeDuplicates as removeDuplicates,
8424
+ ACTION_DATA_sortAscending as sortAscending,
8425
+ ACTION_DATA_sortDescending as sortDescending,
8426
+ ACTION_DATA_sortRange as sortRange,
8427
+ ACTION_DATA_splitToColumns as splitToColumns,
8428
+ ACTION_DATA_trimWhitespace as trimWhitespace,
8429
+ };
8430
+ }
8431
+
7987
8432
  declare const undo: ActionSpec;
7988
8433
  declare const redo: ActionSpec;
7989
8434
  declare const copy: ActionSpec;
@@ -8004,6 +8449,8 @@ declare const deleteCells: ActionSpec;
8004
8449
  declare const deleteCellShiftUp: ActionSpec;
8005
8450
  declare const deleteCellShiftLeft: ActionSpec;
8006
8451
  declare const mergeCells: ActionSpec;
8452
+ declare const editTable: ActionSpec;
8453
+ declare const deleteTable: ActionSpec;
8007
8454
 
8008
8455
  declare const ACTION_EDIT_clearCols: typeof clearCols;
8009
8456
  declare const ACTION_EDIT_clearRows: typeof clearRows;
@@ -8016,7 +8463,9 @@ declare const ACTION_EDIT_deleteCol: typeof deleteCol;
8016
8463
  declare const ACTION_EDIT_deleteCols: typeof deleteCols;
8017
8464
  declare const ACTION_EDIT_deleteRow: typeof deleteRow;
8018
8465
  declare const ACTION_EDIT_deleteRows: typeof deleteRows;
8466
+ declare const ACTION_EDIT_deleteTable: typeof deleteTable;
8019
8467
  declare const ACTION_EDIT_deleteValues: typeof deleteValues;
8468
+ declare const ACTION_EDIT_editTable: typeof editTable;
8020
8469
  declare const ACTION_EDIT_findAndReplace: typeof findAndReplace;
8021
8470
  declare const ACTION_EDIT_mergeCells: typeof mergeCells;
8022
8471
  declare const ACTION_EDIT_paste: typeof paste;
@@ -8038,7 +8487,9 @@ declare namespace ACTION_EDIT {
8038
8487
  ACTION_EDIT_deleteCols as deleteCols,
8039
8488
  ACTION_EDIT_deleteRow as deleteRow,
8040
8489
  ACTION_EDIT_deleteRows as deleteRows,
8490
+ ACTION_EDIT_deleteTable as deleteTable,
8041
8491
  ACTION_EDIT_deleteValues as deleteValues,
8492
+ ACTION_EDIT_editTable as editTable,
8042
8493
  ACTION_EDIT_findAndReplace as findAndReplace,
8043
8494
  ACTION_EDIT_mergeCells as mergeCells,
8044
8495
  ACTION_EDIT_paste as paste,
@@ -8191,92 +8642,14 @@ declare namespace ACTION_FORMAT {
8191
8642
  };
8192
8643
  }
8193
8644
 
8194
- declare const hideCols: ActionSpec;
8195
- declare const unhideCols: ActionSpec;
8196
- declare const unhideAllCols: ActionSpec;
8197
- declare const hideRows: ActionSpec;
8198
- declare const unhideRows: ActionSpec;
8199
- declare const unhideAllRows: ActionSpec;
8200
- declare const unFreezePane: ActionSpec;
8201
- declare const freezePane: ActionSpec;
8202
- declare const unFreezeRows: ActionSpec;
8203
- declare const freezeFirstRow: ActionSpec;
8204
- declare const freezeSecondRow: ActionSpec;
8205
- declare const freezeCurrentRow: ActionSpec;
8206
- declare const unFreezeCols: ActionSpec;
8207
- declare const freezeFirstCol: ActionSpec;
8208
- declare const freezeSecondCol: ActionSpec;
8209
- declare const freezeCurrentCol: ActionSpec;
8210
- declare const viewGridlines: ActionSpec;
8211
- declare const viewFormulas: ActionSpec;
8212
- declare const createRemoveFilter: ActionSpec;
8213
- declare const groupColumns: ActionSpec;
8214
- declare const groupRows: ActionSpec;
8215
- declare const ungroupColumns: ActionSpec;
8216
- declare const ungroupRows: ActionSpec;
8217
- declare function canUngroupHeaders(env: SpreadsheetChildEnv, dimension: Dimension): boolean;
8218
-
8219
- declare const ACTION_VIEW_canUngroupHeaders: typeof canUngroupHeaders;
8220
- declare const ACTION_VIEW_createRemoveFilter: typeof createRemoveFilter;
8221
- declare const ACTION_VIEW_freezeCurrentCol: typeof freezeCurrentCol;
8222
- declare const ACTION_VIEW_freezeCurrentRow: typeof freezeCurrentRow;
8223
- declare const ACTION_VIEW_freezeFirstCol: typeof freezeFirstCol;
8224
- declare const ACTION_VIEW_freezeFirstRow: typeof freezeFirstRow;
8225
- declare const ACTION_VIEW_freezePane: typeof freezePane;
8226
- declare const ACTION_VIEW_freezeSecondCol: typeof freezeSecondCol;
8227
- declare const ACTION_VIEW_freezeSecondRow: typeof freezeSecondRow;
8228
- declare const ACTION_VIEW_groupColumns: typeof groupColumns;
8229
- declare const ACTION_VIEW_groupRows: typeof groupRows;
8230
- declare const ACTION_VIEW_hideCols: typeof hideCols;
8231
- declare const ACTION_VIEW_hideRows: typeof hideRows;
8232
- declare const ACTION_VIEW_unFreezeCols: typeof unFreezeCols;
8233
- declare const ACTION_VIEW_unFreezePane: typeof unFreezePane;
8234
- declare const ACTION_VIEW_unFreezeRows: typeof unFreezeRows;
8235
- declare const ACTION_VIEW_ungroupColumns: typeof ungroupColumns;
8236
- declare const ACTION_VIEW_ungroupRows: typeof ungroupRows;
8237
- declare const ACTION_VIEW_unhideAllCols: typeof unhideAllCols;
8238
- declare const ACTION_VIEW_unhideAllRows: typeof unhideAllRows;
8239
- declare const ACTION_VIEW_unhideCols: typeof unhideCols;
8240
- declare const ACTION_VIEW_unhideRows: typeof unhideRows;
8241
- declare const ACTION_VIEW_viewFormulas: typeof viewFormulas;
8242
- declare const ACTION_VIEW_viewGridlines: typeof viewGridlines;
8243
- declare namespace ACTION_VIEW {
8244
- export {
8245
- ACTION_VIEW_canUngroupHeaders as canUngroupHeaders,
8246
- ACTION_VIEW_createRemoveFilter as createRemoveFilter,
8247
- ACTION_VIEW_freezeCurrentCol as freezeCurrentCol,
8248
- ACTION_VIEW_freezeCurrentRow as freezeCurrentRow,
8249
- ACTION_VIEW_freezeFirstCol as freezeFirstCol,
8250
- ACTION_VIEW_freezeFirstRow as freezeFirstRow,
8251
- ACTION_VIEW_freezePane as freezePane,
8252
- ACTION_VIEW_freezeSecondCol as freezeSecondCol,
8253
- ACTION_VIEW_freezeSecondRow as freezeSecondRow,
8254
- ACTION_VIEW_groupColumns as groupColumns,
8255
- ACTION_VIEW_groupRows as groupRows,
8256
- ACTION_VIEW_hideCols as hideCols,
8257
- ACTION_VIEW_hideRows as hideRows,
8258
- ACTION_VIEW_unFreezeCols as unFreezeCols,
8259
- ACTION_VIEW_unFreezePane as unFreezePane,
8260
- ACTION_VIEW_unFreezeRows as unFreezeRows,
8261
- ACTION_VIEW_ungroupColumns as ungroupColumns,
8262
- ACTION_VIEW_ungroupRows as ungroupRows,
8263
- ACTION_VIEW_unhideAllCols as unhideAllCols,
8264
- ACTION_VIEW_unhideAllRows as unhideAllRows,
8265
- ACTION_VIEW_unhideCols as unhideCols,
8266
- ACTION_VIEW_unhideRows as unhideRows,
8267
- ACTION_VIEW_viewFormulas as viewFormulas,
8268
- ACTION_VIEW_viewGridlines as viewGridlines,
8269
- };
8270
- }
8271
-
8272
- interface Props$4 {
8645
+ interface Props$5 {
8273
8646
  action: ActionSpec;
8274
8647
  hasTriangleDownIcon?: boolean;
8275
8648
  selectedColor?: string;
8276
8649
  class?: string;
8277
8650
  onClick?: (ev: MouseEvent) => void;
8278
8651
  }
8279
- declare class ActionButton extends Component<Props$4, SpreadsheetChildEnv> {
8652
+ declare class ActionButton extends Component<Props$5, SpreadsheetChildEnv> {
8280
8653
  static template: string;
8281
8654
  static props: {
8282
8655
  action: ObjectConstructor;
@@ -8309,7 +8682,7 @@ declare class ActionButton extends Component<Props$4, SpreadsheetChildEnv> {
8309
8682
  }
8310
8683
 
8311
8684
  type Tool = "borderColorTool" | "borderTypeTool";
8312
- interface State$3 {
8685
+ interface State$4 {
8313
8686
  activeTool: Tool | undefined;
8314
8687
  }
8315
8688
  interface BorderEditorProps {
@@ -8360,7 +8733,7 @@ declare class BorderEditor extends Component<BorderEditorProps, SpreadsheetChild
8360
8733
  el: HTMLElement | null;
8361
8734
  };
8362
8735
  borderStyles: readonly ["thin", "medium", "thick", "dashed", "dotted"];
8363
- state: State$3;
8736
+ state: State$4;
8364
8737
  toggleDropdownTool(tool: Tool): void;
8365
8738
  closeDropdown(): void;
8366
8739
  setBorderPosition(position: BorderPosition): void;
@@ -8371,19 +8744,19 @@ declare class BorderEditor extends Component<BorderEditorProps, SpreadsheetChild
8371
8744
  get lineStylePickerAnchorRect(): Rect;
8372
8745
  }
8373
8746
 
8374
- interface Props$3 {
8747
+ interface Props$4 {
8375
8748
  toggleBorderEditor: () => void;
8376
8749
  showBorderEditor: boolean;
8377
8750
  disabled?: boolean;
8378
8751
  dropdownMaxHeight?: Pixel;
8379
8752
  class?: string;
8380
8753
  }
8381
- interface State$2 {
8754
+ interface State$3 {
8382
8755
  currentColor: Color;
8383
8756
  currentStyle: BorderStyle;
8384
8757
  currentPosition: BorderPosition | undefined;
8385
8758
  }
8386
- declare class BorderEditorWidget extends Component<Props$3, SpreadsheetChildEnv> {
8759
+ declare class BorderEditorWidget extends Component<Props$4, SpreadsheetChildEnv> {
8387
8760
  static template: string;
8388
8761
  static props: {
8389
8762
  toggleBorderEditor: FunctionConstructor;
@@ -8407,7 +8780,7 @@ declare class BorderEditorWidget extends Component<Props$3, SpreadsheetChildEnv>
8407
8780
  borderEditorButtonRef: {
8408
8781
  el: HTMLElement | null;
8409
8782
  };
8410
- state: State$2;
8783
+ state: State$3;
8411
8784
  get borderEditorAnchorRect(): Rect;
8412
8785
  onBorderPositionPicked(position: BorderPosition): void;
8413
8786
  onBorderColorPicked(color: Color): void;
@@ -8429,15 +8802,15 @@ declare class TopBarComposer extends Component<any, SpreadsheetChildEnv> {
8429
8802
  onFocus(selection: ComposerSelection): void;
8430
8803
  }
8431
8804
 
8432
- interface State$1 {
8805
+ interface State$2 {
8433
8806
  isOpen: boolean;
8434
8807
  }
8435
- interface Props$2 {
8808
+ interface Props$3 {
8436
8809
  onToggle: () => void;
8437
8810
  dropdownStyle: string;
8438
8811
  class: string;
8439
8812
  }
8440
- declare class FontSizeEditor extends Component<Props$2, SpreadsheetChildEnv> {
8813
+ declare class FontSizeEditor extends Component<Props$3, SpreadsheetChildEnv> {
8441
8814
  static template: string;
8442
8815
  static props: {
8443
8816
  onToggle: FunctionConstructor;
@@ -8446,7 +8819,7 @@ declare class FontSizeEditor extends Component<Props$2, SpreadsheetChildEnv> {
8446
8819
  };
8447
8820
  static components: {};
8448
8821
  fontSizes: number[];
8449
- dropdown: State$1;
8822
+ dropdown: State$2;
8450
8823
  private inputRef;
8451
8824
  private rootEditorRef;
8452
8825
  setup(): void;
@@ -8461,6 +8834,81 @@ declare class FontSizeEditor extends Component<Props$2, SpreadsheetChildEnv> {
8461
8834
  onInputKeydown(ev: KeyboardEvent): void;
8462
8835
  }
8463
8836
 
8837
+ interface Props$2 {
8838
+ tableConfig: TableConfig;
8839
+ }
8840
+ declare class TableStylePreview extends Component<Props$2, SpreadsheetChildEnv> {
8841
+ static template: string;
8842
+ static props: {
8843
+ tableConfig: ObjectConstructor;
8844
+ };
8845
+ private canvasRef;
8846
+ setup(): void;
8847
+ private drawTable;
8848
+ }
8849
+
8850
+ interface TableStylesPopoverProps {
8851
+ selectedStyleId?: string;
8852
+ tableConfig: Omit<TableConfig, "styleId">;
8853
+ closePopover: () => void;
8854
+ onStylePicked: (styleId: string) => void;
8855
+ popoverProps?: PopoverProps;
8856
+ }
8857
+ type CustomTablePopoverMouseEvent = MouseEvent & {
8858
+ hasClosedTableStylesPopover?: boolean;
8859
+ };
8860
+ declare class TableStylesPopover extends Component<TableStylesPopoverProps, SpreadsheetChildEnv> {
8861
+ static template: string;
8862
+ static components: {
8863
+ Popover: typeof Popover;
8864
+ TableStylePreview: typeof TableStylePreview;
8865
+ };
8866
+ static props: {
8867
+ tableConfig: ObjectConstructor;
8868
+ popoverProps: {
8869
+ type: ObjectConstructor;
8870
+ optional: boolean;
8871
+ };
8872
+ closePopover: FunctionConstructor;
8873
+ onStylePicked: FunctionConstructor;
8874
+ selectedStyleId: {
8875
+ type: StringConstructor;
8876
+ optional: boolean;
8877
+ };
8878
+ };
8879
+ stylePresets: Record<string, TableStyle>;
8880
+ categories: {
8881
+ none: string;
8882
+ light: string;
8883
+ medium: string;
8884
+ dark: string;
8885
+ };
8886
+ private tableStyleListRef;
8887
+ setup(): void;
8888
+ onExternalClick(ev: CustomTablePopoverMouseEvent): void;
8889
+ getPresetsByCategory(category: string): string[];
8890
+ getTableConfig(styleId: string): TableConfig;
8891
+ getStyleName(styleId: string): string;
8892
+ }
8893
+
8894
+ interface State$1 {
8895
+ popoverProps: PopoverProps | undefined;
8896
+ }
8897
+ declare class TableDropdownButton extends Component<{}, SpreadsheetChildEnv> {
8898
+ static template: string;
8899
+ static components: {
8900
+ TableStylesPopover: typeof TableStylesPopover;
8901
+ ActionButton: typeof ActionButton;
8902
+ };
8903
+ static props: {};
8904
+ state: State$1;
8905
+ onStylePicked(styleId: string): void;
8906
+ onClick(ev: CustomTablePopoverMouseEvent): void;
8907
+ private closePopover;
8908
+ get action(): ActionSpec;
8909
+ get tableConfig(): TableConfig;
8910
+ }
8911
+
8464
8912
  interface Props$1 {
8465
8913
  class?: string;
8466
8914
  }
@@ -8503,6 +8951,7 @@ declare class TopBar extends Component<Props, SpreadsheetChildEnv> {
8503
8951
  ActionButton: typeof ActionButton;
8504
8952
  PaintFormatButton: typeof PaintFormatButton;
8505
8953
  BorderEditorWidget: typeof BorderEditorWidget;
8954
+ TableDropdownButton: typeof TableDropdownButton;
8506
8955
  };
8507
8956
  state: State;
8508
8957
  isSelectingMenu: boolean;
@@ -8510,7 +8959,7 @@ declare class TopBar extends Component<Props, SpreadsheetChildEnv> {
8510
8959
  menus: Action[];
8511
8960
  EDIT: typeof ACTION_EDIT;
8512
8961
  FORMAT: typeof ACTION_FORMAT;
8513
- VIEW: typeof ACTION_VIEW;
8962
+ DATA: typeof ACTION_DATA;
8514
8963
  formatNumberMenuItemSpec: ActionSpec;
8515
8964
  isntToolbarMenu: boolean;
8516
8965
  composerStore: Store<ComposerStore>;
@@ -8532,11 +8981,6 @@ declare class TopBar extends Component<Props, SpreadsheetChildEnv> {
8532
8981
  interface SpreadsheetProps {
8533
8982
  model: Model;
8534
8983
  }
8535
- interface SidePanelState {
8536
- isOpen: boolean;
8537
- component?: string;
8538
- panelProps: any;
8539
- }
8540
8984
  declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEnv> {
8541
8985
  static template: string;
8542
8986
  static props: {
@@ -8550,7 +8994,7 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
8550
8994
  SpreadsheetDashboard: typeof SpreadsheetDashboard;
8551
8995
  HeaderGroupContainer: typeof HeaderGroupContainer;
8552
8996
  };
8553
- sidePanel: SidePanelState;
8997
+ sidePanel: Store<SidePanelStore>;
8554
8998
  spreadsheetRef: {
8555
8999
  el: HTMLElement | null;
8556
9000
  };
@@ -8565,9 +9009,6 @@ declare class Spreadsheet extends Component<SpreadsheetProps, SpreadsheetChildEn
8565
9009
  private bindModelEvents;
8566
9010
  private unbindModelEvents;
8567
9011
  private checkViewportSize;
8568
- openSidePanel(panel: string, panelProps: any): void;
8569
- closeSidePanel(): void;
8570
- toggleSidePanel(panel: string, panelProps: any): void;
8571
9012
  focusGrid(): void;
8572
9013
  onKeydown(ev: KeyboardEvent): void;
8573
9014
  get gridHeight(): Pixel;
@@ -8620,6 +9061,7 @@ declare const SPREADSHEET_DIMENSIONS: {
8620
9061
  SCROLLBAR_WIDTH: number;
8621
9062
  };
8622
9063
  declare const registries: {
9064
+ autoCompleteProviders: Registry<AutoCompleteProviderDefinition>;
8623
9065
  autofillModifiersRegistry: Registry<AutofillModifierImplementation>;
8624
9066
  autofillRulesRegistry: Registry<AutofillRule>;
8625
9067
  cellMenuRegistry: MenuItemRegistry;
@@ -8664,7 +9106,7 @@ declare const registries: {
8664
9106
  clipboardHandlersRegistries: {
8665
9107
  figureHandlers: Registry<{
8666
9108
  new (getters: Getters, dispatch: {
8667
- <T extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C extends Extract<UpdateCellCommand, {
9109
+ <T extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C extends Extract<UpdateCellCommand, {
8668
9110
  type: T;
8669
9111
  }> | Extract<UpdateCellPositionCommand, {
8670
9112
  type: T;
@@ -8740,9 +9182,11 @@ declare const registries: {
8740
9182
  type: T;
8741
9183
  }> | Extract<CreateImageOverCommand, {
8742
9184
  type: T;
8743
- }> | Extract<CreateFilterTableCommand, {
9185
+ }> | Extract<CreateTableCommand, {
9186
+ type: T;
9187
+ }> | Extract<RemoveTableCommand, {
8744
9188
  type: T;
8745
- }> | Extract<RemoveFilterTableCommand, {
9189
+ }> | Extract<UpdateTableCommand, {
8746
9190
  type: T;
8747
9191
  }> | Extract<GroupHeadersCommand, {
8748
9192
  type: T;
@@ -8859,7 +9303,7 @@ declare const registries: {
8859
9303
  }> | Extract<RenderCanvasCommand, {
8860
9304
  type: T;
8861
9305
  }>>(type: {} extends Omit<C, "type"> ? T : never): DispatchResult;
8862
- <T_1 extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C_1 extends Extract<UpdateCellCommand, {
9306
+ <T_1 extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C_1 extends Extract<UpdateCellCommand, {
8863
9307
  type: T_1;
8864
9308
  }> | Extract<UpdateCellPositionCommand, {
8865
9309
  type: T_1;
@@ -8935,9 +9379,11 @@ declare const registries: {
8935
9379
  type: T_1;
8936
9380
  }> | Extract<CreateImageOverCommand, {
8937
9381
  type: T_1;
8938
- }> | Extract<CreateFilterTableCommand, {
9382
+ }> | Extract<CreateTableCommand, {
8939
9383
  type: T_1;
8940
- }> | Extract<RemoveFilterTableCommand, {
9384
+ }> | Extract<RemoveTableCommand, {
9385
+ type: T_1;
9386
+ }> | Extract<UpdateTableCommand, {
8941
9387
  type: T_1;
8942
9388
  }> | Extract<GroupHeadersCommand, {
8943
9389
  type: T_1;
@@ -9058,7 +9504,7 @@ declare const registries: {
9058
9504
  }>;
9059
9505
  cellHandlers: Registry<{
9060
9506
  new (getters: Getters, dispatch: {
9061
- <T extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C extends Extract<UpdateCellCommand, {
9507
+ <T extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C extends Extract<UpdateCellCommand, {
9062
9508
  type: T;
9063
9509
  }> | Extract<UpdateCellPositionCommand, {
9064
9510
  type: T;
@@ -9134,9 +9580,11 @@ declare const registries: {
9134
9580
  type: T;
9135
9581
  }> | Extract<CreateImageOverCommand, {
9136
9582
  type: T;
9137
- }> | Extract<CreateFilterTableCommand, {
9583
+ }> | Extract<CreateTableCommand, {
9584
+ type: T;
9585
+ }> | Extract<RemoveTableCommand, {
9138
9586
  type: T;
9139
- }> | Extract<RemoveFilterTableCommand, {
9587
+ }> | Extract<UpdateTableCommand, {
9140
9588
  type: T;
9141
9589
  }> | Extract<GroupHeadersCommand, {
9142
9590
  type: T;
@@ -9253,7 +9701,7 @@ declare const registries: {
9253
9701
  }> | Extract<RenderCanvasCommand, {
9254
9702
  type: T;
9255
9703
  }>>(type: {} extends Omit<C, "type"> ? T : never): DispatchResult;
9256
- <T_1 extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "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" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C_1 extends Extract<UpdateCellCommand, {
9704
+ <T_1 extends "SORT_CELLS" | "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" | "CHANGE_CONDITIONAL_FORMAT_PRIORITY" | "CREATE_FIGURE" | "DELETE_FIGURE" | "UPDATE_FIGURE" | "SET_FORMATTING" | "CLEAR_FORMATTING" | "SET_ZONE_BORDERS" | "SET_BORDER" | "CREATE_CHART" | "UPDATE_CHART" | "CREATE_IMAGE" | "CREATE_TABLE" | "REMOVE_TABLE" | "UPDATE_TABLE" | "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" | "ADD_DATA_VALIDATION_RULE" | "REMOVE_DATA_VALIDATION_RULE" | "UPDATE_LOCALE" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "COPY" | "CUT" | "PASTE" | "COPY_PASTE_CELLS_ABOVE" | "COPY_PASTE_CELLS_ON_LEFT" | "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" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "REPLACE_SEARCH" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "SCROLL_TO_CELL" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE" | "RENDER_CANVAS", C_1 extends Extract<UpdateCellCommand, {
9257
9705
  type: T_1;
9258
9706
  }> | Extract<UpdateCellPositionCommand, {
9259
9707
  type: T_1;
@@ -9329,9 +9777,11 @@ declare const registries: {
9329
9777
  type: T_1;
9330
9778
  }> | Extract<CreateImageOverCommand, {
9331
9779
  type: T_1;
9332
- }> | Extract<CreateFilterTableCommand, {
9780
+ }> | Extract<CreateTableCommand, {
9333
9781
  type: T_1;
9334
- }> | Extract<RemoveFilterTableCommand, {
9782
+ }> | Extract<RemoveTableCommand, {
9783
+ type: T_1;
9784
+ }> | Extract<UpdateTableCommand, {
9335
9785
  type: T_1;
9336
9786
  }> | Extract<GroupHeadersCommand, {
9337
9787
  type: T_1;
@@ -9489,6 +9939,11 @@ declare const helpers: {
9489
9939
  deepEquals: typeof deepEquals;
9490
9940
  overlap: typeof overlap;
9491
9941
  union: typeof union;
9942
+ isInside: typeof isInside;
9943
+ deepCopy: typeof deepCopy;
9944
+ expandZoneOnInsertion: typeof expandZoneOnInsertion;
9945
+ reduceZoneOnDeletion: typeof reduceZoneOnDeletion;
9946
+ unquote: typeof unquote;
9492
9947
  };
9493
9948
  declare const links: {
9494
9949
  isMarkdownLink: typeof isMarkdownLink;
@@ -9521,6 +9976,7 @@ declare const components: {
9521
9976
  ScorecardChartDesignPanel: typeof ScorecardChartDesignPanel;
9522
9977
  FigureComponent: typeof FigureComponent;
9523
9978
  Menu: typeof Menu;
9979
+ Popover: typeof Popover;
9524
9980
  SelectionInput: typeof SelectionInput;
9525
9981
  ValidationMessages: typeof ValidationMessages;
9526
9982
  };
@@ -9543,13 +9999,17 @@ declare const stores: {
9543
9999
  RendererStore: typeof RendererStore;
9544
10000
  SelectionInputStore: typeof SelectionInputStore;
9545
10001
  SpreadsheetStore: typeof SpreadsheetStore;
10002
+ useStore: typeof useStore;
10003
+ useLocalStore: typeof useLocalStore;
10004
+ SidePanelStore: typeof SidePanelStore;
9546
10005
  };
10006
+
9547
10007
  declare function addFunction(functionName: string, functionDescription: AddFunctionDescription): {
9548
10008
  addFunction: (fName: string, fDescription: AddFunctionDescription) => any;
9549
10009
  };
9550
10010
  declare const constants: {
9551
10011
  DEFAULT_LOCALE: Locale;
9552
- SECONDARY_COLOR: string;
10012
+ HIGHLIGHT_COLOR: string;
9553
10013
  };
9554
10014
 
9555
- export { AST, ASTFuncall, AbstractChart, AddFunctionDescription, Arg, CancelledReason, Cell, CellErrorType, CellPosition, Client, ClientJoinedMessage, ClientLeftMessage, ClientMovedMessage, CollaborationMessage, CommandResult, CorePlugin, DispatchResult, EnrichedToken, EvalContext, EvaluationError, FPayload, FunctionRegistry, Model, Registry, RemoteRevisionMessage, Revision, RevisionRedoneMessage, RevisionUndoneMessage, SPREADSHEET_DIMENSIONS, Spreadsheet, Token, TransportService, UIPlugin, __info__, addFunction, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenize };
10015
+ export { AST, ASTFuncall, AboveAverageRule, AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, ActivateNextSheetCommand, ActivatePaintFormatCommand, ActivatePreviousSheetCommand, ActivateSheetCommand, AddColumnsRowsCommand, AddConditionalFormatCommand, AddDataValidationCommand, AddFunctionDescription, AddMergeCommand, Alias, Align, AlphanumericIncrementModifier, AnchorZone, ApplyRangeChange, ApplyRangeChangeResult, Arg, ArgDefinition, ArgType, AutoFillCellCommand, AutofillAutoCommand, AutofillCellData, AutofillCommand, AutofillData, AutofillModifier, AutofillModifierImplementation, AutofillResult, AutofillSelectCommand, AutoresizeColumnsCommand, AutoresizeRowsCommand, AxisType, BeginsWithRule, BooleanCell, Border$1 as Border, BorderData, BorderDescr, BorderDescription, BorderPosition, BorderStyle, Box, BoxTextContent, CHART_TYPES, CSSProperties, CancelPaintFormatCommand, CancelledReason, Cell, CellData, CellErrorType, CellIsRule, CellPosition, CellValue, CellValueType, ChangeType, ChartCreationContext, ChartDefinition, ChartJSRuntime, ChartRuntime, ChartType, CleanClipBoardHighlightCommand, ClearCellCommand, ClearFormattingCommand, Client, ClientId, ClientJoinedMessage, ClientLeftMessage, ClientMovedMessage, ClientPosition, ClipboardCell, ClipboardCellData, ClipboardContent, ClipboardData, ClipboardFigureData, ClipboardMIMEType, ClipboardOperation, ClipboardOptions, ClipboardPasteOptions, ClipboardPasteTarget, Cloneable, CollaborationMessage, CollaborativeEvent, CollaborativeEventReceived, CollaborativeEventTypes, Color, ColorScaleMidPointThreshold, ColorScaleRule, ColorScaleThreshold, Command, CommandDispatcher, CommandHandler, CommandResult, CommandTypes, CompiledFormula, ComputeFunction, ComputedTableStyle, ConditionalFormat, ConditionalFormatInternal, ConditionalFormatRule, ConditionalFormattingOperatorValues, ConsecutiveIndexes, ContainsTextRule, CopyCommand, CopyModifier, CopyPasteCellsAboveCommand, CopyPasteCellsOnLeftCommand, CoreCommand, CoreCommandDispatcher, CoreCommandTypes, CoreGetters, CorePlugin, CoreViewCommand, CoreViewCommandTypes, CreateChartCommand, CreateFigureCommand, CreateImageOverCommand, CreateRevisionOptions, CreateSheetCommand, CreateTableCommand, Currency, CustomFormulaCriterion, CutCommand, DEFAULT_LOCALE, DEFAULT_LOCALES, DIRECTION, DOMCoordinates, DOMDimension, DataSet, DataValidationCriterion, DataValidationCriterionType, DataValidationDateCriterion, DataValidationRule, DataValidationRuleData, DatasetValues, DateCriterionValue, DateIsAfterCriterion, DateIsBeforeCriterion, DateIsBetweenCriterion, DateIsCriterion, DateIsNotBetweenCriterion, DateIsOnOrAfterCriterion, DateIsOnOrBeforeCriterion, DateIsValidCriterion, DebouncedFunction, DeleteCellCommand, DeleteContentCommand, DeleteFigureCommand, DeleteSheetCommand, Dependencies, Dimension, Direction$1 as Direction, DispatchResult, DuplicateSheetCommand, EdgeScrollInfo, EditTextOptions, EmptyCell, EndsWithRule, EnrichedToken, EnsureRange, ErrorCell, EvalContext, EvaluateCellsCommand, EvaluatedCell, EvaluationError, ExcelCellData, ExcelChartDataset, ExcelChartDefinition, ExcelChartType, ExcelFigureSize, ExcelFilterData, ExcelHeaderData, ExcelSheetData, ExcelTableData, ExcelWorkbookData, ExpressionRule, FPayload, FPayloadNumber, Figure, FigureData, FigureSize, Filter, FilterId, FoldAllHeaderGroupsCommand, FoldHeaderGroupCommand, FoldHeaderGroupsInZoneCommand, Format, FormattedValue, FormulaCell, FormulaModifier, FreezeColumnsCommand, FreezeRowsCommand, FunctionDescription, FunctionRegistry, GeneratorCell, Getters, GridRenderingContext, GroupHeadersCommand, HSLA, HeaderData, HeaderDimensions, HeaderGroup, HeaderIndex, HeadersDependentCommand, HideColumnsRowsCommand, HideSheetCommand, Highlight$1 as Highlight, HistoryChange, IconSet, IconSetRule, IconThreshold, Image, Immutable, Increment, IncrementModifier, InformationNotification, InsertCellCommand, IsBetweenCriterion, IsCheckboxCriterion, IsEqualCriterion, IsGreaterOrEqualToCriterion, IsGreaterThanCriterion, IsLessOrEqualToCriterion, IsLessThanCriterion, IsNotBetweenCriterion, IsNotEqualCriterion, IsValueInListCriterion, IsValueInRangeCriterion, LabelValues, LayerName, Lazy, Link, LiteralCell, LocalCommand, Locale, LocaleCode, LocaleFormat, Matrix, Maybe, MenuMouseEvent, Merge, Model, MoveColumnsRowsCommand, MoveConditionalFormatCommand, MoveRangeCommand, MoveSheetCommand, MoveViewportDownCommand, MoveViewportToCellCommand, MoveViewportUpCommand, NewLocalStateUpdateEvent, NotContainsTextRule, NotificationType, NumberCell, Offset, OperationSequenceNode, OrderedLayers, PLAIN_TEXT_FORMAT, PaneDivision, PasteCommand, PasteFromOSClipboardCommand, Pixel, PixelPosition, Position$1 as Position, PositionDependentCommand, PropsOf, RGBA, Range, RangeCompiledFormula, RangeData, RangePart, RangeProvider, RangesDependentCommand, Rect, RedoCommand, Ref, ReferenceDenormalizer, Registry, RemoteRevisionMessage, RemoteRevisionReceivedEvent, RemoveColumnsRowsCommand, RemoveConditionalFormatCommand, RemoveDataValidationCommand, RemoveDuplicatesCommand, RemoveMergeCommand, RemoveTableCommand, RenameSheetCommand, RenderCanvasCommand, RepeatPasteCommand, ReplaceSearchCommand, RequestRedoCommand, RequestUndoCommand, ResizeColumnsRowsCommand, ResizeDirection, ResizeViewportCommand, Revision, RevisionAcknowledgedEvent, RevisionData, RevisionRedone, RevisionRedoneMessage, RevisionUndone, RevisionUndoneMessage, RevisionsDroppedEvent, Row, SPREADSHEET_DIMENSIONS, ScrollDirection$1 as ScrollDirection, SelectFigureCommand, Selection, SelectionStep, SetBorderCommand, SetColorCommand, SetDecimalCommand, SetDecimalStep, SetFormattingCommand, SetGridLinesVisibilityCommand, SetViewportOffsetCommand, SetZoneBordersCommand, Sheet, SheetDOMScrollInfo, SheetData, SheetDependentCommand, SheetScrollInfo, ShowFormulaCommand, ShowSheetCommand, SingleColorRule, SingleColorRules, SnapshotEvent, SortCommand, SortDirection, SortOptions, SplitTextIntoColumnsCommand, Spreadsheet, SpreadsheetChildEnv, SpreadsheetEnv, StartChangeHighlightCommand, StartCommand, StoreConstructor, StoreParams, Style, SumSelectionCommand, Table, TableConfig, TableData, TableId, TableStyle, TargetDependentCommand, TextCell, TextContainsCriterion, TextIsCriterion, TextIsEmailCriterion, TextIsLinkCriterion, TextNotContainsCriterion, TextRule, ThresholdType, TimePeriodRule, Token, Tooltip, Top10Rule, Transformation, TransformationFactory, TransportService, TrimWhitespaceCommand, UID, UIPlugin, UnGroupHeadersCommand, UnboundedZone, UndoCommand, UnexpectedRevisionIdEvent, UnfoldAllHeaderGroupsCommand, UnfoldHeaderGroupCommand, UnfoldHeaderGroupsInZoneCommand, UnfreezeColumnsCommand, UnfreezeColumnsRowsCommand, UnfreezeRowsCommand, UnhideColumnsRowsCommand, UpdateCellCommand, UpdateCellData, UpdateCellPositionCommand, UpdateChartCommand, UpdateFigureCommand, UpdateFilterCommand, UpdateLocaleCommand, UpdateTableCommand, Validation, VerticalAlign, Viewport, WorkbookData, WorkbookHistory, Wrapping, Zone, ZoneDependentCommand, ZoneDimension, _CompiledFormula, __info__, addFunction, addRenderingLayer, astToFormula, borderStyles, canExecuteInReadonly, compile, compileTokens, components, constants, containsBlanksRule, containsErrorsRule, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, notContainsBlanksRule, notContainsErrorsRule, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };