@odoo/o-spreadsheet 16.5.0-alpha.11 → 16.5.0-alpha.12

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.
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 16.5.0-alpha.11
6
- * @date 2023-10-19T14:26:01.790Z
7
- * @hash 4b42059
5
+ * @version 16.5.0-alpha.12
6
+ * @date 2023-10-20T15:12:28.296Z
7
+ * @hash 430f090
8
8
  */
9
9
 
10
10
  'use strict';
@@ -2060,6 +2060,7 @@ exports.CommandResult = void 0;
2060
2060
  CommandResult["InvalidDataValidationCriterionValue"] = "InvalidDataValidationCriterionValue";
2061
2061
  CommandResult["InvalidNumberOfCriterionValues"] = "InvalidNumberOfCriterionValues";
2062
2062
  CommandResult["BlockingValidationRule"] = "BlockingValidationRule";
2063
+ CommandResult["InvalidCopyPasteSelection"] = "InvalidCopyPasteSelection";
2063
2064
  })(exports.CommandResult || (exports.CommandResult = {}));
2064
2065
 
2065
2066
  const DEFAULT_LOCALES = [
@@ -4661,7 +4662,7 @@ class ChartJsComponent extends owl.Component {
4661
4662
  return `background-color: ${this.background}`;
4662
4663
  }
4663
4664
  get chartRuntime() {
4664
- const runtime = this.env.model.getters.getChartRuntime(this.props.figureId);
4665
+ const runtime = this.env.model.getters.getChartRuntime(this.props.figure.id);
4665
4666
  if (!("chartJsConfig" in runtime)) {
4666
4667
  throw new Error("Unsupported chart runtime");
4667
4668
  }
@@ -4705,7 +4706,7 @@ class ChartJsComponent extends owl.Component {
4705
4706
  }
4706
4707
  }
4707
4708
  ChartJsComponent.props = {
4708
- figureId: String,
4709
+ figure: Object,
4709
4710
  };
4710
4711
 
4711
4712
  /**
@@ -5107,6 +5108,8 @@ function checkBaseline(definition) {
5107
5108
  ? "InvalidScorecardBaseline" /* CommandResult.InvalidScorecardBaseline */
5108
5109
  : "Success" /* CommandResult.Success */;
5109
5110
  }
5111
+ const arrowDownPath = new window.Path2D("M8.6 4.8a.5.5 0 0 1 0 .75l-3.9 3.9a.5 .5 0 0 1 -.75 0l-3.8 -3.9a.5 .5 0 0 1 0 -.75l.4-.4a.5.5 0 0 1 .75 0l2.3 2.4v-5.7c0-.25.25-.5.5-.5h.6c.25 0 .5.25.5.5v5.8l2.3 -2.4a.5.5 0 0 1 .75 0z");
5112
+ const arrowUpPath = new window.Path2D("M8.7 5.5a.5.5 0 0 0 0-.75l-3.8-4a.5.5 0 0 0-.75 0l-3.8 4a.5.5 0 0 0 0 .75l.4.4a.5.5 0 0 0 .75 0l2.3-2.4v5.8c0 .25.25.5.5.5h.6c.25 0 .5-.25.5-.5v-5.8l2.2 2.4a.5.5 0 0 0 .75 0z");
5110
5113
  let ScorecardChart$1 = class ScorecardChart extends AbstractChart {
5111
5114
  keyValue;
5112
5115
  baseline;
@@ -5227,10 +5230,24 @@ function drawScoreChart(structure, canvas) {
5227
5230
  ctx.fillStyle = structure.baseline.style.color;
5228
5231
  drawDecoratedText(ctx, structure.baseline.text, structure.baseline.position, structure.baseline.style.underline, structure.baseline.style.strikethrough);
5229
5232
  }
5230
- if (structure.baselineArrow) {
5231
- ctx.font = structure.baselineArrow.style.font;
5233
+ if (structure.baselineArrow && structure.baselineArrow.style.size > 0) {
5234
+ ctx.save();
5232
5235
  ctx.fillStyle = structure.baselineArrow.style.color;
5233
- ctx.fillText(structure.baselineArrow.text, structure.baselineArrow.position.x, structure.baselineArrow.position.y);
5236
+ ctx.translate(structure.baselineArrow.position.x, structure.baselineArrow.position.y);
5237
+ // This ratio is computed according to the original svg size and the final size we want
5238
+ const ratio = structure.baselineArrow.style.size / 10;
5239
+ ctx.scale(ratio, ratio);
5240
+ switch (structure.baselineArrow.direction) {
5241
+ case "down": {
5242
+ ctx.fill(arrowDownPath);
5243
+ break;
5244
+ }
5245
+ case "up": {
5246
+ ctx.fill(arrowUpPath);
5247
+ break;
5248
+ }
5249
+ }
5250
+ ctx.restore();
5234
5251
  }
5235
5252
  if (structure.baselineDescr) {
5236
5253
  ctx.font = structure.baselineDescr.style.font;
@@ -5353,25 +5370,29 @@ class ScorecardChartConfigBuilder {
5353
5370
  },
5354
5371
  };
5355
5372
  }
5356
- const { height: baselineArrowHeight, width: baselineArrowWidth } = this.getTextDimensions(this.baselineArrow, style.baselineArrow.font);
5373
+ const baselineArrowSize = style.baselineArrow?.size ?? 0;
5357
5374
  const { height: baselineHeight, width: baselineWidth } = this.getTextDimensions(this.baseline, style.baselineValue.font);
5358
5375
  const { width: baselineDescrWidth } = this.getTextDimensions(this.baselineDescr, style.baselineDescr.font);
5359
5376
  structure.baseline = {
5360
5377
  text: this.baseline,
5361
5378
  style: style.baselineValue,
5362
5379
  position: {
5363
- x: (this.width - baselineWidth - baselineDescrWidth + baselineArrowWidth) / 2,
5364
- y: this.height - 2 * this.chartPadding,
5365
- },
5366
- };
5367
- structure.baselineArrow = {
5368
- text: this.baselineArrow,
5369
- style: style.baselineArrow,
5370
- position: {
5371
- x: structure.baseline.position.x - baselineArrowWidth,
5372
- y: structure.baseline.position.y - (baselineHeight - baselineArrowHeight) / 2,
5380
+ x: (this.width - baselineWidth - baselineDescrWidth + baselineArrowSize) / 2,
5381
+ y: this.keyValue
5382
+ ? this.height - 2 * this.chartPadding
5383
+ : this.height - (this.height - titleHeight - baselineHeight) / 2 - this.chartPadding,
5373
5384
  },
5374
5385
  };
5386
+ if (style.baselineArrow) {
5387
+ structure.baselineArrow = {
5388
+ direction: this.baselineArrow,
5389
+ style: style.baselineArrow,
5390
+ position: {
5391
+ x: structure.baseline.position.x - baselineArrowSize,
5392
+ y: structure.baseline.position.y - (baselineHeight + baselineArrowSize) / 2,
5393
+ },
5394
+ };
5395
+ }
5375
5396
  if (this.baselineDescr) {
5376
5397
  structure.baselineDescr = {
5377
5398
  text: this.baselineDescr,
@@ -5408,13 +5429,7 @@ class ScorecardChartConfigBuilder {
5408
5429
  return formatBaselineDescr(this.runtime.baselineDescr, this.baseline);
5409
5430
  }
5410
5431
  get baselineArrow() {
5411
- switch (this.runtime.baselineArrow) {
5412
- case "up":
5413
- return "\u{1F871}";
5414
- case "down":
5415
- return "\u{1F873}";
5416
- }
5417
- return "";
5432
+ return this.runtime.baselineArrow;
5418
5433
  }
5419
5434
  get backgroundColor() {
5420
5435
  return this.runtime.background;
@@ -5466,10 +5481,12 @@ class ScorecardChartConfigBuilder {
5466
5481
  font: getDefaultContextFont(baselineFontSize * BASELINE_DESCR_FONT_RATIO),
5467
5482
  color: this.secondaryFontColor,
5468
5483
  },
5469
- baselineArrow: {
5470
- font: getDefaultContextFont(0.8 * baselineFontSize),
5471
- color: this.runtime.baselineColor || this.secondaryFontColor,
5472
- },
5484
+ baselineArrow: this.baselineArrow === "neutral"
5485
+ ? undefined
5486
+ : {
5487
+ size: this.keyValue ? 0.8 * baselineFontSize : 0,
5488
+ color: this.runtime.baselineColor || this.secondaryFontColor,
5489
+ },
5473
5490
  };
5474
5491
  }
5475
5492
  /** Get the height of the chart minus all the vertical paddings */
@@ -5506,7 +5523,7 @@ class BaselineElement extends ScorecardScalableElement {
5506
5523
  }
5507
5524
  const baselineStr = chart.baseline;
5508
5525
  // Put mock text to simulate the width of the up/down arrow
5509
- const largeText = chart.baselineArrow !== "" ? "A " + baselineStr : baselineStr;
5526
+ const largeText = chart.baselineArrow !== "neutral" ? "A " + baselineStr : baselineStr;
5510
5527
  let textWidth = this.measureTextWidth(ctx, largeText, fontSize);
5511
5528
  // Baseline descr font size should be smaller than baseline font size
5512
5529
  textWidth += this.measureTextWidth(ctx, chart.baselineDescr, fontSize * BASELINE_DESCR_FONT_RATIO);
@@ -5543,7 +5560,7 @@ class ScorecardChart extends owl.Component {
5543
5560
  static template = "o-spreadsheet-ScorecardChart";
5544
5561
  canvas = owl.useRef("chartContainer");
5545
5562
  get runtime() {
5546
- return this.env.model.getters.getChartRuntime(this.props.figureId);
5563
+ return this.env.model.getters.getChartRuntime(this.props.figure.id);
5547
5564
  }
5548
5565
  setup() {
5549
5566
  owl.useEffect(this.createChart.bind(this), () => {
@@ -5559,7 +5576,7 @@ class ScorecardChart extends owl.Component {
5559
5576
  }
5560
5577
  }
5561
5578
  ScorecardChart.props = {
5562
- figureId: String,
5579
+ figure: Object,
5563
5580
  };
5564
5581
 
5565
5582
  /**
@@ -17089,7 +17106,7 @@ const PasteInteractiveContent = {
17089
17106
  wrongPasteSelection: _t("This operation is not allowed with multiple selections."),
17090
17107
  willRemoveExistingMerge: _t("This operation is not possible due to a merge. Please remove the merges first than try again."),
17091
17108
  wrongFigurePasteOption: _t("Cannot do a special paste of a figure."),
17092
- frozenPaneOverlap: _t("Cannot paste merged cells over a frozen pane."),
17109
+ frozenPaneOverlap: _t("This operation is not allowed due to an overlapping frozen pane."),
17093
17110
  };
17094
17111
  function handlePasteResult(env, result) {
17095
17112
  if (!result.isSuccessful) {
@@ -18629,11 +18646,11 @@ class ChartFigure extends owl.Component {
18629
18646
  static template = "o-spreadsheet-ChartFigure";
18630
18647
  static components = {};
18631
18648
  onDoubleClick() {
18632
- this.env.model.dispatch("SELECT_FIGURE", { id: this.props.figureId });
18649
+ this.env.model.dispatch("SELECT_FIGURE", { id: this.props.figure.id });
18633
18650
  this.env.openSidePanel("ChartPanel");
18634
18651
  }
18635
18652
  get chartType() {
18636
- return this.env.model.getters.getChartType(this.props.figureId);
18653
+ return this.env.model.getters.getChartType(this.props.figure.id);
18637
18654
  }
18638
18655
  get chartComponent() {
18639
18656
  const type = this.chartType;
@@ -18645,7 +18662,7 @@ class ChartFigure extends owl.Component {
18645
18662
  }
18646
18663
  }
18647
18664
  ChartFigure.props = {
18648
- figureId: String,
18665
+ figure: Object,
18649
18666
  onFigureDeleted: Function,
18650
18667
  };
18651
18668
 
@@ -18656,14 +18673,14 @@ class ImageFigure extends owl.Component {
18656
18673
  // Getters
18657
18674
  // ---------------------------------------------------------------------------
18658
18675
  get figureId() {
18659
- return this.props.figureId;
18676
+ return this.props.figure.id;
18660
18677
  }
18661
18678
  get getImagePath() {
18662
18679
  return this.env.model.getters.getImagePath(this.figureId);
18663
18680
  }
18664
18681
  }
18665
18682
  ImageFigure.props = {
18666
- figureId: String,
18683
+ figure: Object,
18667
18684
  onFigureDeleted: Function,
18668
18685
  };
18669
18686
 
@@ -30115,6 +30132,8 @@ class Grid extends owl.Component {
30115
30132
  const position = this.env.model.getters.getActivePosition();
30116
30133
  this.env.model.selection.selectZone({ cell: position, zone: newZone });
30117
30134
  },
30135
+ "CTRL+D": async () => this.env.model.dispatch("COPY_PASTE_CELLS_ABOVE"),
30136
+ "CTRL+R": async () => this.env.model.dispatch("COPY_PASTE_CELLS_ON_LEFT"),
30118
30137
  "CTRL+SHIFT+E": () => this.setHorizontalAlign("center"),
30119
30138
  "CTRL+SHIFT+L": () => this.setHorizontalAlign("left"),
30120
30139
  "CTRL+SHIFT+R": () => this.setHorizontalAlign("right"),
@@ -46517,6 +46536,20 @@ class ClipboardPlugin extends UIPlugin {
46517
46536
  const state = new ClipboardOsState(cmd.text, this.getters, this.dispatch, this.selection);
46518
46537
  return state.isPasteAllowed(cmd.target, { pasteOption: cmd.pasteOption });
46519
46538
  }
46539
+ case "COPY_PASTE_CELLS_ABOVE": {
46540
+ const zones = this.getters.getSelectedZones();
46541
+ if (zones.length > 1 || (zones[0].top === 0 && zones[0].bottom === 0)) {
46542
+ return "InvalidCopyPasteSelection" /* CommandResult.InvalidCopyPasteSelection */;
46543
+ }
46544
+ break;
46545
+ }
46546
+ case "COPY_PASTE_CELLS_ON_LEFT": {
46547
+ const zones = this.getters.getSelectedZones();
46548
+ if (zones.length > 1 || (zones[0].left === 0 && zones[0].right === 0)) {
46549
+ return "InvalidCopyPasteSelection" /* CommandResult.InvalidCopyPasteSelection */;
46550
+ }
46551
+ break;
46552
+ }
46520
46553
  case "INSERT_CELL": {
46521
46554
  const { cut, paste } = this.getInsertCellsTargets(cmd.zone, cmd.shiftDimension);
46522
46555
  const state = this.getClipboardStateForCopyCells(cut, "CUT");
@@ -46556,6 +46589,40 @@ class ClipboardPlugin extends UIPlugin {
46556
46589
  this.status = "invisible";
46557
46590
  }
46558
46591
  break;
46592
+ case "COPY_PASTE_CELLS_ABOVE":
46593
+ {
46594
+ const zone = this.getters.getSelectedZone();
46595
+ const multipleRowsInSelection = zone.top !== zone.bottom;
46596
+ const copyTarget = {
46597
+ ...zone,
46598
+ bottom: multipleRowsInSelection ? zone.top : zone.top - 1,
46599
+ top: multipleRowsInSelection ? zone.top : zone.top - 1,
46600
+ };
46601
+ const state = this.getClipboardStateForCopyCells([copyTarget], "COPY");
46602
+ state.paste([zone], {
46603
+ pasteOption: undefined,
46604
+ shouldPasteCF: true,
46605
+ selectTarget: true,
46606
+ });
46607
+ }
46608
+ break;
46609
+ case "COPY_PASTE_CELLS_ON_LEFT":
46610
+ {
46611
+ const zone = this.getters.getSelectedZone();
46612
+ const multipleColsInSelection = zone.left !== zone.right;
46613
+ const copyTarget = {
46614
+ ...zone,
46615
+ right: multipleColsInSelection ? zone.left : zone.left - 1,
46616
+ left: multipleColsInSelection ? zone.left : zone.left - 1,
46617
+ };
46618
+ const state = this.getClipboardStateForCopyCells([copyTarget], "COPY");
46619
+ state.paste([zone], {
46620
+ pasteOption: undefined,
46621
+ shouldPasteCF: true,
46622
+ selectTarget: true,
46623
+ });
46624
+ }
46625
+ break;
46559
46626
  case "CLEAN_CLIPBOARD_HIGHLIGHT":
46560
46627
  this.status = "invisible";
46561
46628
  break;
@@ -48095,11 +48162,19 @@ class GridSelectionPlugin extends UIPlugin {
48095
48162
  }
48096
48163
  }
48097
48164
  getStatisticFnResults() {
48098
- // get deduplicated cells in zones
48099
- const cells = new Set(this.gridSelection.zones
48100
- .map((zone) => this.getters.getEvaluatedCellsInZone(this.getters.getActiveSheetId(), zone))
48101
- .flat()
48102
- .filter((cell) => cell.type !== CellValueType.empty));
48165
+ const sheetId = this.getters.getActiveSheetId();
48166
+ const cells = new Set();
48167
+ for (const zone of this.gridSelection.zones) {
48168
+ for (const { col, row } of positions(zone)) {
48169
+ if (this.getters.isRowHidden(sheetId, row) || this.getters.isColHidden(sheetId, col)) {
48170
+ continue; // Skip hidden cells
48171
+ }
48172
+ const evaluatedCell = this.getters.getEvaluatedCell({ sheetId, col, row });
48173
+ if (evaluatedCell.type !== CellValueType.empty) {
48174
+ cells.add(evaluatedCell);
48175
+ }
48176
+ }
48177
+ }
48103
48178
  let cellsTypes = new Set();
48104
48179
  let cellsValues = [];
48105
48180
  for (let cell of cells) {
@@ -55455,6 +55530,6 @@ exports.setTranslationMethod = setTranslationMethod;
55455
55530
  exports.tokenize = tokenize;
55456
55531
 
55457
55532
 
55458
- __info__.version = "16.5.0-alpha.11";
55459
- __info__.date = "2023-10-19T14:26:01.790Z";
55460
- __info__.hash = "4b42059";
55533
+ __info__.version = "16.5.0-alpha.12";
55534
+ __info__.date = "2023-10-20T15:12:28.296Z";
55535
+ __info__.hash = "430f090";
@@ -1735,9 +1735,9 @@ interface ZoneDependentCommand {
1735
1735
  zone: Zone;
1736
1736
  }
1737
1737
  declare const invalidateEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1738
- declare const invalidateDependenciesCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1738
+ declare const invalidateDependenciesCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "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" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1739
1739
  declare const invalidateCFEvaluationCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "UNDO" | "REDO" | "EVALUATE_CELLS">;
1740
- declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "REPEAT_PASTE" | "CLEAN_CLIPBOARD_HIGHLIGHT" | "AUTOFILL_CELL" | "PASTE_FROM_OS_CLIPBOARD" | "ACTIVATE_PAINT_FORMAT" | "CANCEL_PAINT_FORMAT" | "AUTORESIZE_COLUMNS" | "AUTORESIZE_ROWS" | "MOVE_COLUMNS_ROWS" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1740
+ declare const readonlyAllowedCommands: Set<"UPDATE_CELL" | "UPDATE_CELL_POSITION" | "CLEAR_CELL" | "DELETE_CONTENT" | "ADD_COLUMNS_ROWS" | "REMOVE_COLUMNS_ROWS" | "RESIZE_COLUMNS_ROWS" | "HIDE_COLUMNS_ROWS" | "UNHIDE_COLUMNS_ROWS" | "SET_GRID_LINES_VISIBILITY" | "FREEZE_COLUMNS" | "FREEZE_ROWS" | "UNFREEZE_COLUMNS_ROWS" | "UNFREEZE_COLUMNS" | "UNFREEZE_ROWS" | "ADD_MERGE" | "REMOVE_MERGE" | "CREATE_SHEET" | "DELETE_SHEET" | "DUPLICATE_SHEET" | "MOVE_SHEET" | "RENAME_SHEET" | "HIDE_SHEET" | "SHOW_SHEET" | "MOVE_RANGES" | "ADD_CONDITIONAL_FORMAT" | "REMOVE_CONDITIONAL_FORMAT" | "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" | "ACTIVATE_SHEET" | "REQUEST_UNDO" | "REQUEST_REDO" | "UNDO" | "REDO" | "ENABLE_NEW_SELECTION_INPUT" | "DISABLE_SELECTION_INPUT" | "UNFOCUS_SELECTION_INPUT" | "FOCUS_RANGE" | "ADD_EMPTY_RANGE" | "ADD_RANGE" | "REMOVE_RANGE" | "CHANGE_RANGE" | "COPY" | "CUT" | "PASTE" | "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" | "EVALUATE_CELLS" | "START_CHANGE_HIGHLIGHT" | "SET_HIGHLIGHT_COLOR" | "STOP_COMPOSER_RANGE_SELECTION" | "START_EDITION" | "STOP_EDITION" | "CANCEL_EDITION" | "SET_CURRENT_CONTENT" | "CHANGE_COMPOSER_CURSOR_SELECTION" | "REPLACE_COMPOSER_CURSOR_SELECTION" | "CYCLE_EDITION_REFERENCES" | "START" | "AUTOFILL" | "AUTOFILL_SELECT" | "SET_FORMULA_VISIBILITY" | "AUTOFILL_AUTO" | "SELECT_FIGURE" | "UPDATE_SEARCH" | "CLEAR_SEARCH" | "SELECT_SEARCH_PREVIOUS_MATCH" | "SELECT_SEARCH_NEXT_MATCH" | "REPLACE_SEARCH" | "REPLACE_ALL_SEARCH" | "SORT_CELLS" | "SET_DECIMAL" | "RESIZE_SHEETVIEW" | "SUM_SELECTION" | "DELETE_CELL" | "INSERT_CELL" | "SET_VIEWPORT_OFFSET" | "SHIFT_VIEWPORT_DOWN" | "SHIFT_VIEWPORT_UP" | "OPEN_CELL_POPOVER" | "CLOSE_CELL_POPOVER" | "ACTIVATE_NEXT_SHEET" | "ACTIVATE_PREVIOUS_SHEET" | "UPDATE_FILTER" | "SPLIT_TEXT_INTO_COLUMNS" | "REMOVE_DUPLICATES" | "TRIM_WHITESPACE">;
1741
1741
  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">;
1742
1742
  interface UpdateCellCommand extends PositionDependentCommand {
1743
1743
  type: "UPDATE_CELL";
@@ -2012,6 +2012,12 @@ interface PasteCommand {
2012
2012
  target: Zone[];
2013
2013
  pasteOption?: ClipboardPasteOptions;
2014
2014
  }
2015
+ interface CopyPasteCellsAboveCommand {
2016
+ type: "COPY_PASTE_CELLS_ABOVE";
2017
+ }
2018
+ interface CopyPasteCellsOnLeftCommand {
2019
+ type: "COPY_PASTE_CELLS_ON_LEFT";
2020
+ }
2015
2021
  interface RepeatPasteCommand {
2016
2022
  type: "REPEAT_PASTE";
2017
2023
  target: Zone[];
@@ -2359,7 +2365,7 @@ UpdateCellCommand | UpdateCellPositionCommand | ClearCellCommand | DeleteContent
2359
2365
  | AddDataValidationCommand | RemoveDataValidationCommand
2360
2366
  /** MISC */
2361
2367
  | UpdateLocaleCommand;
2362
- type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | AddRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | RepeatPasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | CancelPaintFormatCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | EvaluateCellsCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | CancelEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand | ClearSearchCommand | SelectSearchPreviousCommand | SelectSearchNextCommand | ReplaceSearchCommand | ReplaceAllSearchCommand | SortCommand | SetDecimalCommand | ResizeViewportCommand | SumSelectionCommand | DeleteCellCommand | InsertCellCommand | SetViewportOffsetCommand | MoveViewportDownCommand | MoveViewportUpCommand | OpenCellPopoverCommand | CloseCellPopoverCommand | ActivateNextSheetCommand | ActivatePreviousSheetCommand | UpdateFilterCommand | SplitTextIntoColumnsCommand | RemoveDuplicatesCommand | TrimWhitespaceCommand;
2368
+ type LocalCommand = RequestUndoCommand | RequestRedoCommand | UndoCommand | RedoCommand | NewInputCommand | RemoveInputCommand | UnfocusInputCommand | FocusInputCommand | AddEmptyRangeCommand | AddRangeCommand | RemoveRangeCommand | ChangeRangeCommand | CopyCommand | CutCommand | PasteCommand | CopyPasteCellsAboveCommand | CopyPasteCellsOnLeftCommand | RepeatPasteCommand | CleanClipBoardHighlightCommand | AutoFillCellCommand | PasteFromOSClipboardCommand | ActivatePaintFormatCommand | CancelPaintFormatCommand | AutoresizeColumnsCommand | AutoresizeRowsCommand | MoveColumnsRowsCommand | ActivateSheetCommand | EvaluateCellsCommand | StartChangeHighlightCommand | SetColorCommand | StopComposerSelectionCommand | StartEditionCommand | StopEditionCommand | CancelEditionCommand | SetCurrentContentCommand | ChangeComposerSelectionCommand | ReplaceComposerSelectionCommand | CycleEditionReferencesCommand | StartCommand | AutofillCommand | AutofillSelectCommand | ShowFormulaCommand | AutofillAutoCommand | SelectFigureCommand | UpdateSearchCommand | ClearSearchCommand | SelectSearchPreviousCommand | SelectSearchNextCommand | ReplaceSearchCommand | ReplaceAllSearchCommand | SortCommand | SetDecimalCommand | ResizeViewportCommand | SumSelectionCommand | DeleteCellCommand | InsertCellCommand | SetViewportOffsetCommand | MoveViewportDownCommand | MoveViewportUpCommand | OpenCellPopoverCommand | CloseCellPopoverCommand | ActivateNextSheetCommand | ActivatePreviousSheetCommand | UpdateFilterCommand | SplitTextIntoColumnsCommand | RemoveDuplicatesCommand | TrimWhitespaceCommand;
2363
2369
  type Command = CoreCommand | LocalCommand;
2364
2370
  /**
2365
2371
  * Holds the result of a command dispatch.
@@ -2489,7 +2495,8 @@ declare const enum CommandResult {
2489
2495
  UnknownDataValidationCriterionType = "UnknownDataValidationCriterionType",
2490
2496
  InvalidDataValidationCriterionValue = "InvalidDataValidationCriterionValue",
2491
2497
  InvalidNumberOfCriterionValues = "InvalidNumberOfCriterionValues",
2492
- BlockingValidationRule = "BlockingValidationRule"
2498
+ BlockingValidationRule = "BlockingValidationRule",
2499
+ InvalidCopyPasteSelection = "InvalidCopyPasteSelection"
2493
2500
  }
2494
2501
  interface CommandHandler<T> {
2495
2502
  allowDispatch(command: T): CommandResult | CommandResult[];
@@ -5882,7 +5889,7 @@ interface AutofillRule {
5882
5889
  declare function transformRangeData(range: RangeData, executed: CoreCommand): RangeData | undefined;
5883
5890
 
5884
5891
  interface Props$B {
5885
- figureId: UID;
5892
+ figure: Figure;
5886
5893
  }
5887
5894
  declare class ChartJsComponent extends Component<Props$B, SpreadsheetChildEnv> {
5888
5895
  static template: string;
@@ -5897,7 +5904,7 @@ declare class ChartJsComponent extends Component<Props$B, SpreadsheetChildEnv> {
5897
5904
  }
5898
5905
 
5899
5906
  interface Props$A {
5900
- figureId: UID;
5907
+ figure: Figure;
5901
5908
  }
5902
5909
  declare class ScorecardChart extends Component<Props$A, SpreadsheetChildEnv> {
5903
5910
  static template: string;
@@ -6000,7 +6007,7 @@ declare class FigureComponent extends Component<Props$y, SpreadsheetChildEnv> {
6000
6007
  }
6001
6008
 
6002
6009
  interface Props$x {
6003
- figureId: UID;
6010
+ figure: Figure;
6004
6011
  onFigureDeleted: () => void;
6005
6012
  }
6006
6013
  declare class ChartFigure extends Component<Props$x, SpreadsheetChildEnv> {