@odoo/o-spreadsheet 19.0.0 → 19.0.3

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 19.0.0
6
- * @date 2025-09-11T07:18:49.704Z
7
- * @hash 0ac0e86
5
+ * @version 19.0.3
6
+ * @date 2025-09-19T07:26:41.356Z
7
+ * @hash 84f3b74
8
8
  */
9
9
 
10
10
  'use strict';
@@ -890,6 +890,7 @@ const tokenColors = {
890
890
  ARG_SEPARATOR: functionColor,
891
891
  ORPHAN_RIGHT_PAREN: "#ff0000",
892
892
  };
893
+ const DRAG_THRESHOLD = 5; // in pixels, to avoid unwanted drag when clicking
893
894
 
894
895
  //------------------------------------------------------------------------------
895
896
  // Miscellaneous
@@ -1368,8 +1369,19 @@ function memoize(func) {
1368
1369
  },
1369
1370
  }[funcName];
1370
1371
  }
1372
+ /**
1373
+ * Removes the specified indexes from the array.
1374
+ * Sparse (empty) elements are transformed to undefined (unless their index is explicitly removed).
1375
+ */
1371
1376
  function removeIndexesFromArray(array, indexes) {
1372
- return array.filter((_, index) => !indexes.includes(index));
1377
+ const toRemove = new Set(indexes);
1378
+ const newArray = [];
1379
+ for (let i = 0; i < array.length; i++) {
1380
+ if (!toRemove.has(i)) {
1381
+ newArray.push(array[i]);
1382
+ }
1383
+ }
1384
+ return newArray;
1373
1385
  }
1374
1386
  function insertItemsAtIndex(array, items, index) {
1375
1387
  const newArray = [...array];
@@ -16084,8 +16096,9 @@ function interactiveSort(env, sheetId, anchor, zone, sortDirection, sortOptions)
16084
16096
  }
16085
16097
 
16086
16098
  function sortMatrix(matrix, locale, ...criteria) {
16087
- for (const [i, value] of criteria.entries()) {
16088
- assert(value !== undefined, _t("Value for parameter %d is missing, while the function [[FUNCTION_NAME]] expect a number or a range.", i + 1));
16099
+ for (let i = 0; i < criteria.length; i++) {
16100
+ const param = i % 2 === 0 ? "sort_column" : "is_ascending";
16101
+ assert(criteria[i] !== undefined, _t("Value for parameter %s is missing in [[FUNCTION_NAME]].", param));
16089
16102
  }
16090
16103
  const sortingOrders = [];
16091
16104
  const sortColumns = [];
@@ -24539,18 +24552,15 @@ function createScorecardChartRuntime(chart, getters) {
24539
24552
  return {
24540
24553
  title: {
24541
24554
  ...chart.title,
24542
- // chart titles are extracted from .json files and they are translated at runtime here
24543
- text: chart.title.text ? _t(chart.title.text) : "",
24555
+ text: chart.title.text ? getters.dynamicTranslate(chart.title.text) : "",
24544
24556
  },
24545
24557
  keyValue: formattedKeyValue,
24546
- keyDescr: chart.keyDescr?.text
24547
- ? _t(chart.keyDescr.text) // descriptions are extracted from .json files and they are translated at runtime here
24548
- : "",
24558
+ keyDescr: chart.keyDescr?.text ? getters.dynamicTranslate(chart.keyDescr.text) : "",
24549
24559
  baselineDisplay,
24550
24560
  baselineArrow: getBaselineArrowDirection(baselineCell, keyValueCell, chart.baselineMode),
24551
24561
  baselineColor: getBaselineColor(baselineCell, chart.baselineMode, keyValueCell, chart.baselineColorUp, chart.baselineColorDown),
24552
24562
  baselineDescr: chart.baselineMode !== "progress" && chart.baselineDescr?.text
24553
- ? _t(chart.baselineDescr.text) // descriptions are extracted from .json files and they are translated at runtime here
24563
+ ? getters.dynamicTranslate(chart.baselineDescr.text)
24554
24564
  : "",
24555
24565
  fontColor,
24556
24566
  background,
@@ -24850,9 +24860,8 @@ class ScorecardChart extends owl.Component {
24850
24860
  return this.env.model.getters.getChartRuntime(this.props.chartId);
24851
24861
  }
24852
24862
  get title() {
24853
- const title = this.env.model.getters.getChartDefinition(this.props.chartId).title.text ?? "";
24854
- // chart titles are extracted from .json files and they are translated at runtime here
24855
- return _t(title);
24863
+ const title = this.env.model.getters.getChartDefinition(this.props.chartId).title.text;
24864
+ return title ? this.env.model.getters.dynamicTranslate(title) : "";
24856
24865
  }
24857
24866
  setup() {
24858
24867
  owl.useEffect(this.createChart.bind(this), () => {
@@ -27025,12 +27034,12 @@ function getDatasetAxisId(definition, dataset) {
27025
27034
  return axisId || "y";
27026
27035
  }
27027
27036
 
27028
- function getChartTitle(definition) {
27037
+ function getChartTitle(definition, getters) {
27029
27038
  const chartTitle = definition.title;
27030
27039
  const fontColor = chartMutedFontColor(definition.background);
27031
27040
  return {
27032
27041
  display: !!chartTitle.text,
27033
- text: _t(chartTitle.text),
27042
+ text: chartTitle.text ? getters.dynamicTranslate(chartTitle.text) : "",
27034
27043
  color: chartTitle?.color ?? fontColor,
27035
27044
  align: chartTitle.align === "center" ? "center" : chartTitle.align === "right" ? "end" : "start",
27036
27045
  font: {
@@ -27598,7 +27607,7 @@ function createBarChartRuntime(chart, getters) {
27598
27607
  layout: getChartLayout(definition, chartData),
27599
27608
  scales: getBarChartScales(definition, chartData),
27600
27609
  plugins: {
27601
- title: getChartTitle(definition),
27610
+ title: getChartTitle(definition, getters),
27602
27611
  legend: getBarChartLegend(definition),
27603
27612
  tooltip: getBarChartTooltip(definition, chartData),
27604
27613
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -28829,7 +28838,7 @@ function createComboChartRuntime(chart, getters) {
28829
28838
  layout: getChartLayout(definition, chartData),
28830
28839
  scales: getBarChartScales(definition, chartData),
28831
28840
  plugins: {
28832
- title: getChartTitle(definition),
28841
+ title: getChartTitle(definition, getters),
28833
28842
  legend: getComboChartLegend(definition),
28834
28843
  tooltip: getBarChartTooltip(definition, chartData),
28835
28844
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -28975,7 +28984,7 @@ function createFunnelChartRuntime(chart, getters) {
28975
28984
  layout: getChartLayout(definition, chartData),
28976
28985
  scales: getFunnelChartScales(definition, chartData),
28977
28986
  plugins: {
28978
- title: getChartTitle(definition),
28987
+ title: getChartTitle(definition, getters),
28979
28988
  legend: { display: false },
28980
28989
  tooltip: getFunnelChartTooltip(definition, chartData),
28981
28990
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -29212,8 +29221,7 @@ function createGaugeChartRuntime(chart, getters) {
29212
29221
  background: getters.getStyleOfSingleCellChart(chart.background, dataRange).background,
29213
29222
  title: {
29214
29223
  ...chart.title,
29215
- // chart titles are extracted from .json files and they are translated at runtime here
29216
- text: _t(chart.title.text ?? ""),
29224
+ text: chart.title.text ? getters.dynamicTranslate(chart.title.text) : "",
29217
29225
  },
29218
29226
  minValue: {
29219
29227
  value: minValue,
@@ -29397,7 +29405,7 @@ function createGeoChartRuntime(chart, getters) {
29397
29405
  layout: getChartLayout(definition, chartData),
29398
29406
  scales: getGeoChartScales(definition, chartData),
29399
29407
  plugins: {
29400
- title: getChartTitle(definition),
29408
+ title: getChartTitle(definition, getters),
29401
29409
  tooltip: getGeoChartTooltip(definition, chartData),
29402
29410
  legend: { display: false },
29403
29411
  },
@@ -29562,7 +29570,7 @@ function createLineChartRuntime(chart, getters) {
29562
29570
  layout: getChartLayout(definition, chartData),
29563
29571
  scales: getLineChartScales(definition, chartData),
29564
29572
  plugins: {
29565
- title: getChartTitle(definition),
29573
+ title: getChartTitle(definition, getters),
29566
29574
  legend: getLineChartLegend(definition),
29567
29575
  tooltip: getLineChartTooltip(definition, chartData),
29568
29576
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -29699,7 +29707,7 @@ function createPieChartRuntime(chart, getters) {
29699
29707
  : undefined,
29700
29708
  layout: getChartLayout(definition, chartData),
29701
29709
  plugins: {
29702
- title: getChartTitle(definition),
29710
+ title: getChartTitle(definition, getters),
29703
29711
  legend: getPieChartLegend(definition, chartData),
29704
29712
  tooltip: getPieChartTooltip(definition, chartData),
29705
29713
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -29853,7 +29861,7 @@ function createPyramidChartRuntime(chart, getters) {
29853
29861
  layout: getChartLayout(definition, chartData),
29854
29862
  scales: getPyramidChartScales(definition, chartData),
29855
29863
  plugins: {
29856
- title: getChartTitle(definition),
29864
+ title: getChartTitle(definition, getters),
29857
29865
  legend: getBarChartLegend(definition),
29858
29866
  tooltip: getPyramidChartTooltip(definition, chartData),
29859
29867
  chartShowValuesPlugin: getPyramidChartShowValues(definition, chartData),
@@ -30002,7 +30010,7 @@ function createRadarChartRuntime(chart, getters) {
30002
30010
  layout: getChartLayout(definition, chartData),
30003
30011
  scales: getRadarChartScales(definition, chartData),
30004
30012
  plugins: {
30005
- title: getChartTitle(definition),
30013
+ title: getChartTitle(definition, getters),
30006
30014
  legend: getRadarChartLegend(definition),
30007
30015
  tooltip: getRadarChartTooltip(definition, chartData),
30008
30016
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -30157,7 +30165,7 @@ function createScatterChartRuntime(chart, getters) {
30157
30165
  layout: getChartLayout(definition, chartData),
30158
30166
  scales: getScatterChartScales(definition, chartData),
30159
30167
  plugins: {
30160
- title: getChartTitle(definition),
30168
+ title: getChartTitle(definition, getters),
30161
30169
  legend: getScatterChartLegend(definition),
30162
30170
  tooltip: getLineChartTooltip(definition, chartData),
30163
30171
  chartShowValuesPlugin: getChartShowValues(definition, chartData),
@@ -30296,7 +30304,7 @@ function createSunburstChartRuntime(chart, getters) {
30296
30304
  ...CHART_COMMON_OPTIONS,
30297
30305
  layout: getChartLayout(definition, chartData),
30298
30306
  plugins: {
30299
- title: getChartTitle(definition),
30307
+ title: getChartTitle(definition, getters),
30300
30308
  legend: getSunburstChartLegend(definition),
30301
30309
  tooltip: getSunburstChartTooltip(definition, chartData),
30302
30310
  sunburstLabelsPlugin: getSunburstShowValues(definition, chartData),
@@ -30446,7 +30454,7 @@ function createTreeMapChartRuntime(chart, getters) {
30446
30454
  ...CHART_COMMON_OPTIONS,
30447
30455
  layout: getChartLayout(definition, chartData),
30448
30456
  plugins: {
30449
- title: getChartTitle(definition),
30457
+ title: getChartTitle(definition, getters),
30450
30458
  legend: { display: false },
30451
30459
  tooltip: getTreeMapChartTooltip(definition, chartData),
30452
30460
  },
@@ -30609,7 +30617,7 @@ function createWaterfallChartRuntime(chart, getters) {
30609
30617
  layout: getChartLayout(definition, chartData),
30610
30618
  scales: getWaterfallChartScales(definition, chartData),
30611
30619
  plugins: {
30612
- title: getChartTitle(definition),
30620
+ title: getChartTitle(definition, getters),
30613
30621
  legend: getWaterfallChartLegend(definition),
30614
30622
  tooltip: getWaterfallChartTooltip(definition, chartData),
30615
30623
  chartShowValuesPlugin: getWaterfallChartShowValues(definition, chartData),
@@ -32385,7 +32393,11 @@ class CarouselFigure extends owl.Component {
32385
32393
  onFigureDeleted: Function,
32386
32394
  editFigureStyle: { type: Function, optional: true },
32387
32395
  };
32388
- static components = { ChartDashboardMenu };
32396
+ static components = { ChartDashboardMenu, MenuPopover };
32397
+ carouselTabsRef = owl.useRef("carouselTabs");
32398
+ carouselTabsDropdownRef = owl.useRef("carouselTabsDropdown");
32399
+ menuState = owl.useState({ isOpen: false, anchorRect: null, menuItems: [] });
32400
+ hiddenItems = [];
32389
32401
  animationStore;
32390
32402
  setup() {
32391
32403
  this.animationStore = useStore(ChartAnimationStore);
@@ -32396,6 +32408,7 @@ class CarouselFigure extends owl.Component {
32396
32408
  else {
32397
32409
  this.props.editFigureStyle?.({ "pointer-events": "auto" });
32398
32410
  }
32411
+ this.updateTabsVisibility();
32399
32412
  });
32400
32413
  }
32401
32414
  get carousel() {
@@ -32455,6 +32468,49 @@ class CarouselFigure extends owl.Component {
32455
32468
  const style = { ...DEFAULT_CAROUSEL_TITLE_STYLE, ...this.carousel.title };
32456
32469
  return cssPropertiesToCss(cellTextStyleToCss(chartStyleToCellStyle(style)));
32457
32470
  }
32471
+ updateTabsVisibility() {
32472
+ const tabsContainerEl = this.carouselTabsRef.el;
32473
+ const dropDownEl = this.carouselTabsDropdownRef.el;
32474
+ if (!tabsContainerEl || !dropDownEl) {
32475
+ return;
32476
+ }
32477
+ this.hiddenItems = [];
32478
+ const containerRect = getBoundingRectAsPOJO(tabsContainerEl);
32479
+ const tabs = Array.from(tabsContainerEl.children);
32480
+ for (const tab of tabs) {
32481
+ tab.style.display = "block";
32482
+ }
32483
+ const tabWidths = tabs.map((tab) => getBoundingRectAsPOJO(tab).width);
32484
+ let currentWidth = 0;
32485
+ for (let i = 0; i < tabs.length; i++) {
32486
+ const shouldBeHidden = currentWidth + tabWidths[i] > containerRect.width;
32487
+ currentWidth += tabWidths[i];
32488
+ if (shouldBeHidden) {
32489
+ tabs[i].style.display = "none";
32490
+ this.hiddenItems.push(this.carousel.items[i]);
32491
+ }
32492
+ }
32493
+ dropDownEl.style.display = this.hiddenItems.length ? "block" : "none";
32494
+ }
32495
+ get menuId() {
32496
+ return "carousel-tabs-menu-";
32497
+ }
32498
+ toggleMenu(ev) {
32499
+ if (ev.closedMenuId === this.menuId) {
32500
+ this.menuState.isOpen = false;
32501
+ return;
32502
+ }
32503
+ const rect = getRefBoundingRect(this.carouselTabsDropdownRef);
32504
+ const menuItems = this.hiddenItems.map((item) => ({
32505
+ name: this.getItemTitle(item),
32506
+ execute: () => this.onCarouselTabClick(item),
32507
+ isActive: () => this.isItemSelected(item),
32508
+ isReadonlyAllowed: true,
32509
+ }));
32510
+ this.menuState.isOpen = true;
32511
+ this.menuState.anchorRect = rect;
32512
+ this.menuState.menuItems = createActions(menuItems);
32513
+ }
32458
32514
  }
32459
32515
 
32460
32516
  class ChartFigure extends owl.Component {
@@ -39328,6 +39384,14 @@ function getCaretDownSvg(color) {
39328
39384
  paths: [{ fillColor: color.textColor || TEXT_BODY_MUTED, path: "M120 195 h270 l-135 130" }],
39329
39385
  };
39330
39386
  }
39387
+ function getCaretUpSvg(color) {
39388
+ return {
39389
+ name: "CARET_UP",
39390
+ width: 512,
39391
+ height: 512,
39392
+ paths: [{ fillColor: color.textColor || TEXT_BODY_MUTED, path: "M120 325 h270 l-135 -130" }],
39393
+ };
39394
+ }
39331
39395
  function getHoveredCaretDownSvg(color) {
39332
39396
  return {
39333
39397
  name: "CARET_DOWN",
@@ -50434,9 +50498,16 @@ class FiguresContainer extends owl.Component {
50434
50498
  maxX: this.env.model.getters.getColDimensions(sheetId, this.env.model.getters.getNumberCols(sheetId) - 1).end,
50435
50499
  maxY: this.env.model.getters.getRowDimensions(sheetId, this.env.model.getters.getNumberRows(sheetId) - 1).end,
50436
50500
  };
50501
+ let hasStartedDnd = false;
50437
50502
  const onMouseMove = (ev) => {
50438
50503
  const getters = this.env.model.getters;
50439
50504
  const currentMousePosition = { x: ev.clientX, y: ev.clientY };
50505
+ const offsetX = Math.abs(currentMousePosition.x - initialMousePosition.x);
50506
+ const offsetY = Math.abs(currentMousePosition.y - initialMousePosition.y);
50507
+ if (!hasStartedDnd && offsetX < DRAG_THRESHOLD && offsetY < DRAG_THRESHOLD) {
50508
+ return; // add a small threshold to avoid dnd when just clicking
50509
+ }
50510
+ hasStartedDnd = true;
50440
50511
  const draggedFigure = dragFigureForMove(currentMousePosition, initialMousePosition, initialFigure, maxDimensions, initialScrollPosition, getters.getActiveSheetScrollInfo());
50441
50512
  const otherFigures = this.getOtherFigures(initialFigure.id);
50442
50513
  const overlappingCarousel = this.getCarouselOverlappingChart(draggedFigure, otherFigures);
@@ -55636,7 +55707,7 @@ class ScorecardChartDesignPanel extends owl.Component {
55636
55707
  return SCORECARD_CHART_TITLE_FONT_SIZE;
55637
55708
  }
55638
55709
  translate(term) {
55639
- return _t(term);
55710
+ return this.env.model.getters.dynamicTranslate(term);
55640
55711
  }
55641
55712
  setColor(color, colorPickerId) {
55642
55713
  switch (colorPickerId) {
@@ -57188,7 +57259,7 @@ class CustomCurrencyPanel extends owl.Component {
57188
57259
  });
57189
57260
  }
57190
57261
  const emptyCurrency = {
57191
- name: _t(CustomCurrencyTerms.Custom),
57262
+ name: CustomCurrencyTerms.Custom,
57192
57263
  code: "",
57193
57264
  symbol: "",
57194
57265
  decimalPlaces: 2,
@@ -58848,12 +58919,13 @@ class PivotLayoutConfigurator extends owl.Component {
58848
58919
  addCalculatedMeasure() {
58849
58920
  const { measures } = this.props.definition;
58850
58921
  const measureName = this.env.model.getters.generateNewCalculatedMeasureName(measures);
58922
+ const aggregator = "sum";
58851
58923
  this.props.onDimensionsUpdated({
58852
58924
  measures: measures.concat([
58853
58925
  {
58854
- id: this.getMeasureId(measureName),
58926
+ id: this.getMeasureId(measureName, aggregator),
58855
58927
  fieldName: measureName,
58856
- aggregator: "sum",
58928
+ aggregator,
58857
58929
  computedBy: {
58858
58930
  sheetId: this.env.model.getters.getActiveSheetId(),
58859
58931
  formula: "=0",
@@ -61445,14 +61517,16 @@ class ClickableCellSortIcon extends owl.Component {
61445
61517
  "background-color": this.getBackgroundColor(cellStyle),
61446
61518
  });
61447
61519
  }
61448
- get icon() {
61449
- switch (this.props.sortDirection) {
61450
- case "asc":
61451
- return "fa-sort-asc";
61452
- case "desc":
61453
- return "fa-sort-desc";
61520
+ get verticalJustifyClass() {
61521
+ const cellStyle = this.env.model.getters.getCellComputedStyle(this.props.position);
61522
+ switch (cellStyle.verticalAlign) {
61523
+ case "top":
61524
+ return "justify-content-start";
61525
+ case "middle":
61526
+ return "justify-content-center";
61527
+ case "bottom":
61454
61528
  default:
61455
- return "fa-sort";
61529
+ return "justify-content-end";
61456
61530
  }
61457
61531
  }
61458
61532
  getBackgroundColor(cellStyle) {
@@ -70653,6 +70727,30 @@ function togglePivotCollapse(position, env) {
70653
70727
  pivot: { ...definition, collapsedDomains: newDomains },
70654
70728
  });
70655
70729
  }
70730
+ iconsOnCellRegistry.add("pivot_dashboard_sorting", (getters, position) => {
70731
+ if (!getters.isDashboard()) {
70732
+ return undefined;
70733
+ }
70734
+ const pivotCell = getters.getPivotCellFromPosition(position);
70735
+ if (pivotCell.type !== "MEASURE_HEADER") {
70736
+ return undefined;
70737
+ }
70738
+ const sortDirection = getters.getPivotCellSortDirection(position);
70739
+ if (sortDirection !== "asc" && sortDirection !== "desc") {
70740
+ return undefined;
70741
+ }
70742
+ const cellStyle = getters.getCellComputedStyle(position);
70743
+ return {
70744
+ type: `pivot_dashboard_sorting_${sortDirection}`,
70745
+ priority: 5,
70746
+ horizontalAlign: "right",
70747
+ size: GRID_ICON_EDGE_LENGTH,
70748
+ margin: GRID_ICON_MARGIN,
70749
+ svg: sortDirection === "asc" ? getCaretUpSvg(cellStyle) : getCaretDownSvg(cellStyle),
70750
+ position,
70751
+ onClick: undefined, // click is managed by ClickableCellSortIcon
70752
+ };
70753
+ });
70656
70754
 
70657
70755
  class CellIconPlugin extends CoreViewPlugin {
70658
70756
  static getters = ["doesCellHaveGridIcon", "getCellIcons", "getCellIconRect"];
@@ -71132,7 +71230,7 @@ function withPivotPresentationLayer (PivotClass) {
71132
71230
  return { value: 0 };
71133
71231
  }
71134
71232
  const { columns, rows } = super.definition;
71135
- if (columns.length + rows.length !== domain.length) {
71233
+ if (measure.aggregator && columns.length + rows.length !== domain.length) {
71136
71234
  const values = this.getValuesToAggregate(measure, domain);
71137
71235
  const aggregator = AGGREGATORS_FN[measure.aggregator];
71138
71236
  if (!aggregator) {
@@ -71151,11 +71249,17 @@ function withPivotPresentationLayer (PivotClass) {
71151
71249
  if (columns.find((col) => col.nameWithGranularity === symbolName)) {
71152
71250
  const { colDomain } = domainToColRowDomain(this, domain);
71153
71251
  const symbolIndex = colDomain.findIndex((node) => node.field === symbolName);
71252
+ if (symbolIndex === -1) {
71253
+ return new NotAvailableError();
71254
+ }
71154
71255
  return this.getPivotHeaderValueAndFormat(colDomain.slice(0, symbolIndex + 1));
71155
71256
  }
71156
71257
  if (rows.find((row) => row.nameWithGranularity === symbolName)) {
71157
71258
  const { rowDomain } = domainToColRowDomain(this, domain);
71158
71259
  const symbolIndex = rowDomain.findIndex((row) => row.field === symbolName);
71260
+ if (symbolIndex === -1) {
71261
+ return new NotAvailableError();
71262
+ }
71159
71263
  return this.getPivotHeaderValueAndFormat(rowDomain.slice(0, symbolIndex + 1));
71160
71264
  }
71161
71265
  return this.getPivotCellValueAndFormat(symbolName, domain);
@@ -75549,6 +75653,21 @@ class DataValidationInsertionPlugin extends UIPlugin {
75549
75653
  }
75550
75654
  }
75551
75655
 
75656
+ /**
75657
+ * This plugin provides dynamic translation getter. In o-spreadsheet, it has
75658
+ * no implementation, but this plugin can be replaced by another one to provide
75659
+ * a real implementation.
75660
+ *
75661
+ * For example, in Odoo, the plugin is replaced by a plugin that used the
75662
+ * module namespace to dynamically translate terms.
75663
+ */
75664
+ class DynamicTranslate extends UIPlugin {
75665
+ static getters = ["dynamicTranslate"];
75666
+ dynamicTranslate(term) {
75667
+ return term;
75668
+ }
75669
+ }
75670
+
75552
75671
  const genericRepeatsTransforms = [
75553
75672
  repeatSheetDependantCommand,
75554
75673
  repeatTargetDependantCommand,
@@ -77519,13 +77638,10 @@ class GridSelectionPlugin extends UIPlugin {
77519
77638
  const deltaCol = isBasedBefore && isCol ? thickness : 0;
77520
77639
  const deltaRow = isBasedBefore && !isCol ? thickness : 0;
77521
77640
  const toRemove = isBasedBefore ? cmd.elements.map((el) => el + thickness) : cmd.elements;
77522
- const originalSize = Object.fromEntries(toRemove.map((element) => {
77523
- const size = isCol
77524
- ? this.getters.getColSize(cmd.sheetId, element)
77525
- : this.getters.getUserRowSize(cmd.sheetId, element);
77526
- const isDefaultCol = isCol && size === DEFAULT_CELL_WIDTH;
77527
- return [element, isDefaultCol ? undefined : size];
77528
- }));
77641
+ const originalSize = {};
77642
+ for (const element of toRemove) {
77643
+ originalSize[element] = this.getters.getHeaderSize(cmd.sheetId, cmd.dimension, element);
77644
+ }
77529
77645
  const target = [
77530
77646
  {
77531
77647
  left: isCol ? start + deltaCol : 0,
@@ -77569,11 +77685,11 @@ class GridSelectionPlugin extends UIPlugin {
77569
77685
  for (const element of toRemove) {
77570
77686
  const size = originalSize[element];
77571
77687
  const currentSize = this.getters.getHeaderSize(cmd.sheetId, cmd.dimension, currentIndex);
77572
- if (size && size !== currentSize) {
77688
+ if (size !== currentSize) {
77573
77689
  resizingGroups[size] ??= [];
77574
77690
  resizingGroups[size].push(currentIndex);
77575
- currentIndex += 1;
77576
77691
  }
77692
+ currentIndex += 1;
77577
77693
  }
77578
77694
  for (const size in resizingGroups) {
77579
77695
  this.dispatch("RESIZE_COLUMNS_ROWS", {
@@ -79180,6 +79296,7 @@ const featurePluginRegistry = new Registry()
79180
79296
  .add("table_ui_resize", TableResizeUI)
79181
79297
  .add("datavalidation_insert", DataValidationInsertionPlugin)
79182
79298
  .add("checkbox_toggle", CheckboxTogglePlugin)
79299
+ .add("dynamic_translate", DynamicTranslate)
79183
79300
  .add("geo_features", GeoFeaturePlugin);
79184
79301
  // Plugins which have a state, but which should not be shared in collaborative
79185
79302
  const statefulUIPluginRegistry = new Registry()
@@ -88390,6 +88507,8 @@ exports.convertAstNodes = convertAstNodes;
88390
88507
  exports.coreTypes = coreTypes;
88391
88508
  exports.findCellInNewZone = findCellInNewZone;
88392
88509
  exports.functionCache = functionCache;
88510
+ exports.getCaretDownSvg = getCaretDownSvg;
88511
+ exports.getCaretUpSvg = getCaretUpSvg;
88393
88512
  exports.helpers = helpers;
88394
88513
  exports.hooks = hooks;
88395
88514
  exports.invalidateCFEvaluationCommands = invalidateCFEvaluationCommands;
@@ -88410,6 +88529,6 @@ exports.tokenColors = tokenColors;
88410
88529
  exports.tokenize = tokenize;
88411
88530
 
88412
88531
 
88413
- __info__.version = "19.0.0";
88414
- __info__.date = "2025-09-11T07:18:49.704Z";
88415
- __info__.hash = "0ac0e86";
88532
+ __info__.version = "19.0.3";
88533
+ __info__.date = "2025-09-19T07:26:41.356Z";
88534
+ __info__.hash = "84f3b74";
@@ -3487,6 +3487,19 @@ declare class CheckboxTogglePlugin extends UIPlugin {
3487
3487
  private toggleCheckbox;
3488
3488
  }
3489
3489
 
3490
+ /**
3491
+ * This plugin provides dynamic translation getter. In o-spreadsheet, it has
3492
+ * no implementation, but this plugin can be replaced by another one to provide
3493
+ * a real implementation.
3494
+ *
3495
+ * For example, in Odoo, the plugin is replaced by a plugin that used the
3496
+ * module namespace to dynamically translate terms.
3497
+ */
3498
+ declare class DynamicTranslate extends UIPlugin {
3499
+ static getters: readonly ["dynamicTranslate"];
3500
+ dynamicTranslate(term: string): string;
3501
+ }
3502
+
3490
3503
  /**
3491
3504
  * Local History
3492
3505
  *
@@ -4059,7 +4072,7 @@ type CoreGetters = PluginGetters<typeof SheetPlugin> & PluginGetters<typeof Head
4059
4072
  type Getters = {
4060
4073
  isReadonly: () => boolean;
4061
4074
  isDashboard: () => boolean;
4062
- } & CoreGetters & PluginGetters<typeof AutofillPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof HistoryPlugin> & PluginGetters<typeof ClipboardPlugin> & PluginGetters<typeof EvaluationPlugin> & PluginGetters<typeof EvaluationChartPlugin> & PluginGetters<typeof EvaluationConditionalFormatPlugin> & 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 SubtotalEvaluationPlugin> & PluginGetters<typeof HeaderSizeUIPlugin> & PluginGetters<typeof EvaluationDataValidationPlugin> & PluginGetters<typeof HeaderPositionsUIPlugin> & PluginGetters<typeof TableStylePlugin> & PluginGetters<typeof CellComputedStylePlugin> & PluginGetters<typeof DynamicTablesPlugin> & PluginGetters<typeof PivotUIPlugin> & PluginGetters<typeof TableComputedStylePlugin> & PluginGetters<typeof GeoFeaturePlugin> & PluginGetters<typeof PivotPresencePlugin> & PluginGetters<typeof TableComputedStylePlugin> & PluginGetters<typeof CheckboxTogglePlugin> & PluginGetters<typeof CellIconPlugin> & PluginGetters<typeof CarouselUIPlugin>;
4075
+ } & CoreGetters & PluginGetters<typeof AutofillPlugin> & PluginGetters<typeof AutomaticSumPlugin> & PluginGetters<typeof HistoryPlugin> & PluginGetters<typeof ClipboardPlugin> & PluginGetters<typeof EvaluationPlugin> & PluginGetters<typeof EvaluationChartPlugin> & PluginGetters<typeof EvaluationConditionalFormatPlugin> & 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 SubtotalEvaluationPlugin> & PluginGetters<typeof HeaderSizeUIPlugin> & PluginGetters<typeof EvaluationDataValidationPlugin> & PluginGetters<typeof HeaderPositionsUIPlugin> & PluginGetters<typeof TableStylePlugin> & PluginGetters<typeof CellComputedStylePlugin> & PluginGetters<typeof DynamicTablesPlugin> & PluginGetters<typeof PivotUIPlugin> & PluginGetters<typeof TableComputedStylePlugin> & PluginGetters<typeof GeoFeaturePlugin> & PluginGetters<typeof PivotPresencePlugin> & PluginGetters<typeof TableComputedStylePlugin> & PluginGetters<typeof CheckboxTogglePlugin> & PluginGetters<typeof CellIconPlugin> & PluginGetters<typeof DynamicTranslate> & PluginGetters<typeof CarouselUIPlugin>;
4063
4076
 
4064
4077
  interface CorePluginConfig {
4065
4078
  readonly getters: CoreGetters;
@@ -9222,7 +9235,7 @@ declare class ScorecardChartDesignPanel extends Component<Props$X, SpreadsheetCh
9222
9235
  };
9223
9236
  get colorsSectionTitle(): string;
9224
9237
  get defaultScorecardTitleFontSize(): number;
9225
- translate(term: any): string;
9238
+ translate(term: string): string;
9226
9239
  setColor(color: Color, colorPickerId: ColorPickerId): void;
9227
9240
  get keyStyle(): TitleDesign;
9228
9241
  get baselineStyle(): TitleDesign;
@@ -11339,8 +11352,8 @@ declare class ClickableCellSortIcon extends Component<Props$m, SpreadsheetChildE
11339
11352
  private hoveredTableStore;
11340
11353
  setup(): void;
11341
11354
  get style(): string;
11342
- get icon(): "fa-sort-asc" | "fa-sort-desc" | "fa-sort";
11343
- getBackgroundColor(cellStyle: Style): Color;
11355
+ get verticalJustifyClass(): "justify-content-start" | "justify-content-center" | "justify-content-end";
11356
+ private getBackgroundColor;
11344
11357
  }
11345
11358
 
11346
11359
  declare class ZoomableChartJsComponent extends ChartJsComponent {
@@ -12823,6 +12836,9 @@ type TranslationFunction = (string: string, ...values: SprintfValues) => string;
12823
12836
  */
12824
12837
  declare function setTranslationMethod(tfn: TranslationFunction, loaded?: () => boolean): void;
12825
12838
 
12839
+ declare function getCaretDownSvg(color: Style): ImageSVG;
12840
+ declare function getCaretUpSvg(color: Style): ImageSVG;
12841
+
12826
12842
  /**
12827
12843
  * We export here all entities that needs to be accessed publicly by Odoo.
12828
12844
  *
@@ -13551,7 +13567,7 @@ declare const chartHelpers: {
13551
13567
  getSunburstShowValues(definition: SunburstChartDefinition, args: ChartRuntimeGenerationArgs): ChartSunburstLabelsPluginOptions;
13552
13568
  getPyramidChartShowValues(definition: ChartWithDataSetDefinition, args: ChartRuntimeGenerationArgs): ChartShowValuesPluginOptions;
13553
13569
  getWaterfallChartShowValues(definition: WaterfallChartDefinition, args: ChartRuntimeGenerationArgs): ChartShowValuesPluginOptions;
13554
- getChartTitle(definition: ChartWithDataSetDefinition): chart_js_dist_types_utils._DeepPartialObject<chart_js.TitleOptions>;
13570
+ getChartTitle(definition: ChartWithDataSetDefinition, getters: Getters): chart_js_dist_types_utils._DeepPartialObject<chart_js.TitleOptions>;
13555
13571
  getBarChartTooltip(definition: GenericDefinition<BarChartDefinition>, args: ChartRuntimeGenerationArgs): chart_js_dist_types_utils._DeepPartialObject<chart_js.TooltipOptions<any>>;
13556
13572
  getLineChartTooltip(definition: GenericDefinition<LineChartDefinition>, args: ChartRuntimeGenerationArgs): chart_js_dist_types_utils._DeepPartialObject<chart_js.TooltipOptions<any>>;
13557
13573
  getPieChartTooltip(definition: PieChartDefinition, args: ChartRuntimeGenerationArgs): chart_js_dist_types_utils._DeepPartialObject<chart_js.TooltipOptions<any>>;
@@ -13637,4 +13653,4 @@ declare const chartHelpers: {
13637
13653
  WaterfallChart: typeof WaterfallChart;
13638
13654
  };
13639
13655
 
13640
- export { AST, ASTFuncall, AboveAverageRule, AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, ActivateNextSheetCommand, ActivatePreviousSheetCommand, ActivateSheetCommand, AdaptSheetName, AddColumnsRowsCommand, AddConditionalFormatCommand, AddDataValidationCommand, AddFigureChartToCarouselCommand, AddFunctionDescription, AddMergeCommand, AddNewChartToCarouselCommand, AddPivotCommand, AdjacentEdge, Aggregator, Alias, Align, AlphanumericIncrementModifier, AnchorOffset, AnchorZone, ApplyRangeChange, ApplyRangeChangeResult, Arg, ArgDefinition, ArgProposal, ArgType, AutoFillCellCommand, AutofillAutoCommand, AutofillCellData, AutofillCommand, AutofillData, AutofillModifier, AutofillModifierImplementation, AutofillResult, AutofillSelectCommand, AutofillTableCommand, AutoresizeColumnsCommand, AutoresizeRowsCommand, AxesDesign, AxisDesign, AxisType, BeginsWithRule, BooleanCell, Border$1 as Border, BorderData, BorderDescr, BorderDescrWithOpacity, BorderPosition, BorderStyle, Box, BoxTextContent, CHART_TYPES, CSSProperties, CancelledReason, Carousel, CarouselItem, Cell, CellErrorType, CellIsRule, CellPosition, CellValue, CellValueType, ChangeType, ChartAxisFormats, ChartCreationContext, ChartDatasetOrientation, ChartDefinition, ChartJSRuntime, ChartRuntime, ChartRuntimeGenerationArgs, ChartStyle, ChartType, ChartWithAxisDefinition, ChartWithDataSetDefinition, CleanClipBoardHighlightCommand, ClearCellCommand, ClearCellsCommand, ClearFormattingCommand, Client, ClientDisconnectedError, ClientId, ClientJoinedMessage, ClientLeftMessage, ClientMovedMessage, ClientPosition, ClientWithColor, ClientWithPosition, ClipboardCell, ClipboardCellData, ClipboardCopyOptions, ClipboardData, ClipboardFigureData, ClipboardMIMEType, ClipboardOperation, ClipboardOptions, ClipboardPasteOptions, ClipboardPasteTarget, Cloneable, CollaborationMessage, CollaborativeEvent, CollaborativeEventReceived, CollaborativeEventTypes, Color, ColorScaleMidPointThreshold, ColorScaleRule, ColorScaleThreshold, ColorSheetCommand, Command, CommandDispatcher, CommandHandler, CommandResult, CommandTypes, CommonPivotCoreDefinition, CompiledFormula, ComposerFocusType, ComputeFunction, ComputedTableStyle, ConditionalFormat, ConditionalFormatInternal, ConditionalFormatRule, ConditionalFormatRuleInternal, ConditionalFormattingOperatorValues, ConsecutiveIndexes, ContainsTextRule, CopyCommand, CopyModifier, CopyPasteCellsAboveCommand, CopyPasteCellsOnLeftCommand, CoreCommand, CoreCommandDispatcher, CoreCommandTypes, CoreGetters, CorePlugin, CoreTable, CoreTableType, CoreViewCommand, CoreViewCommandTypes, CoreViewPlugin, CreateCarouselCommand, CreateChartCommand, CreateFigureCommand, CreateImageOverCommand, CreateRevisionOptions, CreateSheetCommand, CreateTableCommand, CreateTableStyleCommand, CriterionFilter, Currency, CustomFormulaCriterion, CustomizedDataSet, CutCommand, DEFAULT_LOCALE, DEFAULT_LOCALES, DIRECTION, DOMCoordinates, DOMDimension, DataBarFill, DataBarRule, DataBarRuleInternal, DataFilterValue, DataSet, DataValidationCriterion, DataValidationCriterionType, DataValidationDateCriterion, DataValidationRule, DataValidationRuleData, DatasetDesign, DatasetValues, DateCriterionValue, DateIncrementModifier, DateIsAfterCriterion, DateIsBeforeCriterion, DateIsBetweenCriterion, DateIsCriterion, DateIsNotBetweenCriterion, DateIsOnOrAfterCriterion, DateIsOnOrBeforeCriterion, DateIsValidCriterion, DebouncedFunction, DeleteCellCommand, DeleteChartCommand, DeleteContentCommand, DeleteFigureCommand, DeleteSheetCommand, DeleteUnfilteredContentCommand, Dependencies, Dimension, DimensionTree, DimensionTreeNode, Direction$1 as Direction, DispatchResult, DuplicatePivotCommand, DuplicatePivotInNewSheetCommand, DuplicateSheetCommand, DynamicTable, EdgeScrollInfo, EditTextOptions, EditionMode, EmptyCell, EndsWithRule, EnrichedToken, EnsureRange, ErrorCell, EvalContext, EvaluateCellsCommand, EvaluateChartsCommand, EvaluatedCell, EvaluatedCriterion, EvaluatedDateCriterion, EvaluationError, ExcelChartDataset, ExcelChartDefinition, ExcelChartTrendConfiguration, ExcelChartType, ExcelFigureSize, ExcelFilterData, ExcelHeaderData, ExcelSheetData, ExcelTableData, ExcelTrendlineType, ExcelWorkbookData, ExpressionRule, Figure, FigureData, FigureInfo, FigureSize, FigureUI, Filter, FilterCriterionType, FilterId, FoldAllHeaderGroupsCommand, FoldHeaderGroupCommand, FoldHeaderGroupsInZoneCommand, Format, FormattedValue, FormulaCell, FormulaModifier, FormulaToExecute, FreezeColumnsCommand, FreezeRowsCommand, FunctionDescription, FunctionRegistry, FunctionResultNumber, FunctionResultObject, GeneratorCell, GenericCriterion, GenericCriterionType, GenericDateCriterion, GenericDefinition, GetSymbolValue, Getters, Granularity, GridClickModifiers, GridRenderingContext, GroupHeadersCommand, HSLA, HeaderData, HeaderDimensions, HeaderGroup, HeaderIndex, HeadersDependentCommand, HideColumnsRowsCommand, HideSheetCommand, Highlight$1 as Highlight, HistoryChange, IconSet, IconSetRule, IconThreshold, Image, Immutable, Increment, IncrementModifier, InformationNotification, InitPivotParams, InsertCellCommand, InsertNewPivotCommand, InsertPivotCommand, InsertPivotWithTableCommand, IsBetweenCriterion, IsCheckboxCriterion, IsEqualCriterion, IsGreaterOrEqualToCriterion, IsGreaterThanCriterion, IsLessOrEqualToCriterion, IsLessThanCriterion, IsNotBetweenCriterion, IsNotEqualCriterion, IsValueInListCriterion, IsValueInRangeCriterion, LabelValues, LayerName, Lazy, Link, LiteralCell, LocalCommand, LocalTransportService, Locale, LocaleCode, LocaleFormat, LookupCaches, Matrix, Maybe, MenuMouseEvent, Merge, MinimalClipboardData, Model, MoveColumnsRowsCommand, MoveConditionalFormatCommand, MoveRangeCommand, MoveSheetCommand, MoveViewportDownCommand, MoveViewportToCellCommand, MoveViewportUpCommand, NewLocalStateUpdateEvent, NotContainsTextRule, NotificationType, NumberCell, OSClipboardContent, Offset, OperationSequenceNode, OrderedLayers, PaintFormat, PaneDivision, ParsedOSClipboardContent, ParsedOsClipboardContentWithImageData, PasteCommand, PasteFromOSClipboardCommand, Pivot, PivotColRowDomain, PivotCollapsedDomains, PivotCoreDefinition, PivotCoreDimension, PivotCoreMeasure, PivotCustomGroup, PivotCustomGroupedField, PivotDimension$1 as PivotDimension, PivotDomain, PivotEmptyCell, PivotField, PivotFields, PivotHeaderCell, PivotMeasure, PivotMeasureDisplay, PivotMeasureDisplayType, PivotMeasureHeaderCell, PivotNode, PivotRuntimeDefinition, PivotSortedColumn, PivotStartPresenceTracking, PivotStopPresenceTracking, PivotTableCell, PivotTableColumn, PivotTableData, PivotTableRow, PivotTimeAdapter, PivotTimeAdapterNotNull, PivotValueCell, PivotVisibilityOptions, Pixel, PixelPosition, PopOutChartFromCarouselCommand, Position$1 as Position, PositionDependentCommand, PropsOf, RGBA, Range, RangeAdapter, RangeCompiledFormula, RangeData, RangePart, RangeProvider, RangeStringOptions, RangesDependentCommand, Rect, RedoCommand, Ref, ReferenceDenormalizer, RefreshPivotCommand, Registry, RemoteRevisionMessage, RemoteRevisionReceivedEvent, RemoveColumnsRowsCommand, RemoveConditionalFormatCommand, RemoveDataValidationCommand, RemoveDuplicatesCommand, RemoveMergeCommand, RemovePivotCommand, RemoveTableCommand, RemoveTableStyleCommand, RenamePivotCommand, RenameSheetCommand, RenderingBorder, RenderingBox, RenderingGridIcon, RepeatPasteCommand, ReplaceSearchCommand, RequestRedoCommand, RequestUndoCommand, ResizeColumnsRowsCommand, ResizeDirection, ResizeTableCommand, ResizeViewportCommand, Revision, RevisionAcknowledgedEvent, RevisionData, RevisionRedone, RevisionRedoneMessage, RevisionUndone, RevisionUndoneMessage, Row, SPREADSHEET_DIMENSIONS, ScrollDirection$1 as ScrollDirection, SelectFigureCommand, Selection$1 as Selection, SelectionStep, SetBorderCommand, SetBorderTargetCommand, SetContextualFormatCommand, SetDecimalCommand, SetDecimalStep, SetFormattingCommand, SetGridLinesVisibilityCommand, SetViewportOffsetCommand, SetZoneBordersCommand, Sheet, SheetDOMScrollInfo, SheetData, SheetDependentCommand, SheetEditingCommand, ShowFormulaCommand, ShowSheetCommand, SingleColorRule, SingleColorRules, SnapshotEvent, SortCommand, SortDirection, SortOptions, SplitPivotFormulaCommand, SplitTextIntoColumnsCommand, Spreadsheet, SpreadsheetChildEnv, SpreadsheetPivotCoreDefinition, SpreadsheetPivotTable, StartChangeHighlightCommand, StartCommand, StaticTable, StoreConstructor, StoreParams, Style, SumSelectionCommand, Table, TableBorder, TableConfig, TableData$1 as TableData, TableElementStyle, TableId, TableStyle, TableStyleData, TableStyleTemplateName, TargetDependentCommand, TechnicalName, TextCell, TextContainsCriterion, TextIsCriterion, TextIsEmailCriterion, TextIsLinkCriterion, TextNotContainsCriterion, TextRule, ThresholdType, TimePeriodRule, TitleDesign, ToggleCheckboxCommand, Token, Tooltip, Top10Rule, Transformation, TransformationFactory, TransportService, TrendConfiguration, TrendType, TrimWhitespaceCommand, UID, UIPlugin, UnGroupHeadersCommand, UnboundedZone, UndoCommand, UnexpectedRevisionIdEvent, UnfoldAllHeaderGroupsCommand, UnfoldHeaderGroupCommand, UnfoldHeaderGroupsInZoneCommand, UnfreezeColumnsCommand, UnfreezeColumnsRowsCommand, UnfreezeRowsCommand, UnhideColumnsRowsCommand, UpdateCarouselActiveItemCommand, UpdateCarouselCommand, UpdateCellCommand, UpdateCellData, UpdateCellPositionCommand, UpdateChartCommand, UpdateFigureCommand, UpdateFilterCommand, UpdateLocaleCommand, UpdatePivotCommand, UpdateTableCommand, Validation, ValueAndLabel, ValuesFilter, VerticalAlign, Viewport, WorkbookData, WorkbookHistory, Wrapping, Zone, ZoneDependentCommand, ZoneDimension, ZoomableChartDefinition, __info__, addFunction, addRenderingLayer, astToFormula, availableConditionalFormatOperators, availableDataValidationOperators, availableFiltersOperators, borderStyles, canExecuteInReadonly, chartHelpers, compile, compileTokens, components, constants, containsBlanksRule, containsErrorsRule, convertAstNodes, coreTypes, filterDateCriterionOperators, filterNumberCriterionOperators, filterTextCriterionOperators, findCellInNewZone, functionCache, helpers, hooks, invalidSubtotalFormulasCommands, invalidateBordersCommands, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, notContainsBlanksRule, notContainsErrorsRule, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
13656
+ export { AST, ASTFuncall, AboveAverageRule, AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, ActivateNextSheetCommand, ActivatePreviousSheetCommand, ActivateSheetCommand, AdaptSheetName, AddColumnsRowsCommand, AddConditionalFormatCommand, AddDataValidationCommand, AddFigureChartToCarouselCommand, AddFunctionDescription, AddMergeCommand, AddNewChartToCarouselCommand, AddPivotCommand, AdjacentEdge, Aggregator, Alias, Align, AlphanumericIncrementModifier, AnchorOffset, AnchorZone, ApplyRangeChange, ApplyRangeChangeResult, Arg, ArgDefinition, ArgProposal, ArgType, AutoFillCellCommand, AutofillAutoCommand, AutofillCellData, AutofillCommand, AutofillData, AutofillModifier, AutofillModifierImplementation, AutofillResult, AutofillSelectCommand, AutofillTableCommand, AutoresizeColumnsCommand, AutoresizeRowsCommand, AxesDesign, AxisDesign, AxisType, BeginsWithRule, BooleanCell, Border$1 as Border, BorderData, BorderDescr, BorderDescrWithOpacity, BorderPosition, BorderStyle, Box, BoxTextContent, CHART_TYPES, CSSProperties, CancelledReason, Carousel, CarouselItem, Cell, CellErrorType, CellIsRule, CellPosition, CellValue, CellValueType, ChangeType, ChartAxisFormats, ChartCreationContext, ChartDatasetOrientation, ChartDefinition, ChartJSRuntime, ChartRuntime, ChartRuntimeGenerationArgs, ChartStyle, ChartType, ChartWithAxisDefinition, ChartWithDataSetDefinition, CleanClipBoardHighlightCommand, ClearCellCommand, ClearCellsCommand, ClearFormattingCommand, Client, ClientDisconnectedError, ClientId, ClientJoinedMessage, ClientLeftMessage, ClientMovedMessage, ClientPosition, ClientWithColor, ClientWithPosition, ClipboardCell, ClipboardCellData, ClipboardCopyOptions, ClipboardData, ClipboardFigureData, ClipboardMIMEType, ClipboardOperation, ClipboardOptions, ClipboardPasteOptions, ClipboardPasteTarget, Cloneable, CollaborationMessage, CollaborativeEvent, CollaborativeEventReceived, CollaborativeEventTypes, Color, ColorScaleMidPointThreshold, ColorScaleRule, ColorScaleThreshold, ColorSheetCommand, Command, CommandDispatcher, CommandHandler, CommandResult, CommandTypes, CommonPivotCoreDefinition, CompiledFormula, ComposerFocusType, ComputeFunction, ComputedTableStyle, ConditionalFormat, ConditionalFormatInternal, ConditionalFormatRule, ConditionalFormatRuleInternal, ConditionalFormattingOperatorValues, ConsecutiveIndexes, ContainsTextRule, CopyCommand, CopyModifier, CopyPasteCellsAboveCommand, CopyPasteCellsOnLeftCommand, CoreCommand, CoreCommandDispatcher, CoreCommandTypes, CoreGetters, CorePlugin, CoreTable, CoreTableType, CoreViewCommand, CoreViewCommandTypes, CoreViewPlugin, CreateCarouselCommand, CreateChartCommand, CreateFigureCommand, CreateImageOverCommand, CreateRevisionOptions, CreateSheetCommand, CreateTableCommand, CreateTableStyleCommand, CriterionFilter, Currency, CustomFormulaCriterion, CustomizedDataSet, CutCommand, DEFAULT_LOCALE, DEFAULT_LOCALES, DIRECTION, DOMCoordinates, DOMDimension, DataBarFill, DataBarRule, DataBarRuleInternal, DataFilterValue, DataSet, DataValidationCriterion, DataValidationCriterionType, DataValidationDateCriterion, DataValidationRule, DataValidationRuleData, DatasetDesign, DatasetValues, DateCriterionValue, DateIncrementModifier, DateIsAfterCriterion, DateIsBeforeCriterion, DateIsBetweenCriterion, DateIsCriterion, DateIsNotBetweenCriterion, DateIsOnOrAfterCriterion, DateIsOnOrBeforeCriterion, DateIsValidCriterion, DebouncedFunction, DeleteCellCommand, DeleteChartCommand, DeleteContentCommand, DeleteFigureCommand, DeleteSheetCommand, DeleteUnfilteredContentCommand, Dependencies, Dimension, DimensionTree, DimensionTreeNode, Direction$1 as Direction, DispatchResult, DuplicatePivotCommand, DuplicatePivotInNewSheetCommand, DuplicateSheetCommand, DynamicTable, EdgeScrollInfo, EditTextOptions, EditionMode, EmptyCell, EndsWithRule, EnrichedToken, EnsureRange, ErrorCell, EvalContext, EvaluateCellsCommand, EvaluateChartsCommand, EvaluatedCell, EvaluatedCriterion, EvaluatedDateCriterion, EvaluationError, ExcelChartDataset, ExcelChartDefinition, ExcelChartTrendConfiguration, ExcelChartType, ExcelFigureSize, ExcelFilterData, ExcelHeaderData, ExcelSheetData, ExcelTableData, ExcelTrendlineType, ExcelWorkbookData, ExpressionRule, Figure, FigureData, FigureInfo, FigureSize, FigureUI, Filter, FilterCriterionType, FilterId, FoldAllHeaderGroupsCommand, FoldHeaderGroupCommand, FoldHeaderGroupsInZoneCommand, Format, FormattedValue, FormulaCell, FormulaModifier, FormulaToExecute, FreezeColumnsCommand, FreezeRowsCommand, FunctionDescription, FunctionRegistry, FunctionResultNumber, FunctionResultObject, GeneratorCell, GenericCriterion, GenericCriterionType, GenericDateCriterion, GenericDefinition, GetSymbolValue, Getters, Granularity, GridClickModifiers, GridRenderingContext, GroupHeadersCommand, HSLA, HeaderData, HeaderDimensions, HeaderGroup, HeaderIndex, HeadersDependentCommand, HideColumnsRowsCommand, HideSheetCommand, Highlight$1 as Highlight, HistoryChange, IconSet, IconSetRule, IconThreshold, Image, Immutable, Increment, IncrementModifier, InformationNotification, InitPivotParams, InsertCellCommand, InsertNewPivotCommand, InsertPivotCommand, InsertPivotWithTableCommand, IsBetweenCriterion, IsCheckboxCriterion, IsEqualCriterion, IsGreaterOrEqualToCriterion, IsGreaterThanCriterion, IsLessOrEqualToCriterion, IsLessThanCriterion, IsNotBetweenCriterion, IsNotEqualCriterion, IsValueInListCriterion, IsValueInRangeCriterion, LabelValues, LayerName, Lazy, Link, LiteralCell, LocalCommand, LocalTransportService, Locale, LocaleCode, LocaleFormat, LookupCaches, Matrix, Maybe, MenuMouseEvent, Merge, MinimalClipboardData, Model, MoveColumnsRowsCommand, MoveConditionalFormatCommand, MoveRangeCommand, MoveSheetCommand, MoveViewportDownCommand, MoveViewportToCellCommand, MoveViewportUpCommand, NewLocalStateUpdateEvent, NotContainsTextRule, NotificationType, NumberCell, OSClipboardContent, Offset, OperationSequenceNode, OrderedLayers, PaintFormat, PaneDivision, ParsedOSClipboardContent, ParsedOsClipboardContentWithImageData, PasteCommand, PasteFromOSClipboardCommand, Pivot, PivotColRowDomain, PivotCollapsedDomains, PivotCoreDefinition, PivotCoreDimension, PivotCoreMeasure, PivotCustomGroup, PivotCustomGroupedField, PivotDimension$1 as PivotDimension, PivotDomain, PivotEmptyCell, PivotField, PivotFields, PivotHeaderCell, PivotMeasure, PivotMeasureDisplay, PivotMeasureDisplayType, PivotMeasureHeaderCell, PivotNode, PivotRuntimeDefinition, PivotSortedColumn, PivotStartPresenceTracking, PivotStopPresenceTracking, PivotTableCell, PivotTableColumn, PivotTableData, PivotTableRow, PivotTimeAdapter, PivotTimeAdapterNotNull, PivotValueCell, PivotVisibilityOptions, Pixel, PixelPosition, PopOutChartFromCarouselCommand, Position$1 as Position, PositionDependentCommand, PropsOf, RGBA, Range, RangeAdapter, RangeCompiledFormula, RangeData, RangePart, RangeProvider, RangeStringOptions, RangesDependentCommand, Rect, RedoCommand, Ref, ReferenceDenormalizer, RefreshPivotCommand, Registry, RemoteRevisionMessage, RemoteRevisionReceivedEvent, RemoveColumnsRowsCommand, RemoveConditionalFormatCommand, RemoveDataValidationCommand, RemoveDuplicatesCommand, RemoveMergeCommand, RemovePivotCommand, RemoveTableCommand, RemoveTableStyleCommand, RenamePivotCommand, RenameSheetCommand, RenderingBorder, RenderingBox, RenderingGridIcon, RepeatPasteCommand, ReplaceSearchCommand, RequestRedoCommand, RequestUndoCommand, ResizeColumnsRowsCommand, ResizeDirection, ResizeTableCommand, ResizeViewportCommand, Revision, RevisionAcknowledgedEvent, RevisionData, RevisionRedone, RevisionRedoneMessage, RevisionUndone, RevisionUndoneMessage, Row, SPREADSHEET_DIMENSIONS, ScrollDirection$1 as ScrollDirection, SelectFigureCommand, Selection$1 as Selection, SelectionStep, SetBorderCommand, SetBorderTargetCommand, SetContextualFormatCommand, SetDecimalCommand, SetDecimalStep, SetFormattingCommand, SetGridLinesVisibilityCommand, SetViewportOffsetCommand, SetZoneBordersCommand, Sheet, SheetDOMScrollInfo, SheetData, SheetDependentCommand, SheetEditingCommand, ShowFormulaCommand, ShowSheetCommand, SingleColorRule, SingleColorRules, SnapshotEvent, SortCommand, SortDirection, SortOptions, SplitPivotFormulaCommand, SplitTextIntoColumnsCommand, Spreadsheet, SpreadsheetChildEnv, SpreadsheetPivotCoreDefinition, SpreadsheetPivotTable, StartChangeHighlightCommand, StartCommand, StaticTable, StoreConstructor, StoreParams, Style, SumSelectionCommand, Table, TableBorder, TableConfig, TableData$1 as TableData, TableElementStyle, TableId, TableStyle, TableStyleData, TableStyleTemplateName, TargetDependentCommand, TechnicalName, TextCell, TextContainsCriterion, TextIsCriterion, TextIsEmailCriterion, TextIsLinkCriterion, TextNotContainsCriterion, TextRule, ThresholdType, TimePeriodRule, TitleDesign, ToggleCheckboxCommand, Token, Tooltip, Top10Rule, Transformation, TransformationFactory, TransportService, TrendConfiguration, TrendType, TrimWhitespaceCommand, UID, UIPlugin, UnGroupHeadersCommand, UnboundedZone, UndoCommand, UnexpectedRevisionIdEvent, UnfoldAllHeaderGroupsCommand, UnfoldHeaderGroupCommand, UnfoldHeaderGroupsInZoneCommand, UnfreezeColumnsCommand, UnfreezeColumnsRowsCommand, UnfreezeRowsCommand, UnhideColumnsRowsCommand, UpdateCarouselActiveItemCommand, UpdateCarouselCommand, UpdateCellCommand, UpdateCellData, UpdateCellPositionCommand, UpdateChartCommand, UpdateFigureCommand, UpdateFilterCommand, UpdateLocaleCommand, UpdatePivotCommand, UpdateTableCommand, Validation, ValueAndLabel, ValuesFilter, VerticalAlign, Viewport, WorkbookData, WorkbookHistory, Wrapping, Zone, ZoneDependentCommand, ZoneDimension, ZoomableChartDefinition, __info__, addFunction, addRenderingLayer, astToFormula, availableConditionalFormatOperators, availableDataValidationOperators, availableFiltersOperators, borderStyles, canExecuteInReadonly, chartHelpers, compile, compileTokens, components, constants, containsBlanksRule, containsErrorsRule, convertAstNodes, coreTypes, filterDateCriterionOperators, filterNumberCriterionOperators, filterTextCriterionOperators, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidSubtotalFormulasCommands, invalidateBordersCommands, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, notContainsBlanksRule, notContainsErrorsRule, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };