@odoo/o-spreadsheet 19.5.0-alpha.12 → 19.5.0-alpha.13

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,9 +1,9 @@
1
1
  <!--
2
2
  This file is generated by o-spreadsheet build tools. Do not edit it.
3
3
  @see https://github.com/odoo/o-spreadsheet
4
- @version 19.5.0-alpha.12
5
- @date 2026-08-19T09:47:04.804Z
6
- @hash 68ca68e
4
+ @version 19.5.0-alpha.13
5
+ @date 2026-08-21T15:33:45.089Z
6
+ @hash a73559e
7
7
  -->
8
8
  <odoo>
9
9
  <t t-name="o-spreadsheet-ValidationMessages">
@@ -665,7 +665,7 @@
665
665
  <div class="d-flex flex-fill align-items-center bottom-bar-menu border-top border-bottom">
666
666
  <Ripple>
667
667
  <div class="py-1 px-1 mx-2 ribbon-toggler" t-on-click="this.toggleRibbon">
668
- <i class="o-icon oi oi-filled" data-icon="settings"/>
668
+ <i class="o-icon oi oi-filled" data-icon="settings_f"/>
669
669
  </div>
670
670
  </Ripple>
671
671
  <BottomBar onClick="this.props.onClick"/>
@@ -925,7 +925,7 @@
925
925
  t-if="this.props.isPinned"
926
926
  class="o-pin-panel o-sidePanelAction ms-auto rounded active"
927
927
  t-on-click="this.props.onTogglePinPanel">
928
- <i class="oi" data-icon="keep"/>
928
+ <i class="oi" data-icon="push_pin"/>
929
929
  </div>
930
930
  <div
931
931
  class="o-sidePanelClose o-sidePanelAction rounded"
@@ -970,7 +970,7 @@
970
970
  t-if="this.props.isPinned"
971
971
  class="o-pin-panel o-sidePanelAction ms-auto rounded active"
972
972
  t-on-click="this.props.onTogglePinPanel">
973
- <i class="oi" data-icon="keep"/>
973
+ <i class="oi" data-icon="push_pin"/>
974
974
  </div>
975
975
  <div
976
976
  class="o-sidePanelClose o-sidePanelAction rounded mb-1"
@@ -1089,17 +1089,17 @@
1089
1089
  <div class="o-pivot-panel d-flex flex-column h-100">
1090
1090
  <div class="o-panel d-flex">
1091
1091
  <div
1092
- class="o-sidePanel-tab o-panel-configuration d-flew flex-grow-1 text-center"
1092
+ class="o-sidePanel-tab o-panel-configuration d-flex flex-grow-1 justify-content-center"
1093
1093
  t-att-class="this.state.panel !== 'configuration' ? 'inactive' : ''"
1094
1094
  t-on-click="this.switchPanel.bind(this, 'configuration')">
1095
- <i class="oi me-1" data-icon="tune"/>
1095
+ <i class="oi me-2" data-icon="tune"/>
1096
1096
  Configuration
1097
1097
  </div>
1098
1098
  <div
1099
- class="o-sidePanel-tab o-panel-design d-flew flex-grow-1 text-center"
1099
+ class="o-sidePanel-tab o-panel-design d-flex flex-grow-1 justify-content-center"
1100
1100
  t-att-class="this.state.panel !== 'design' ? 'inactive' : ''"
1101
1101
  t-on-click="this.switchPanel.bind(this, 'design')">
1102
- <i class="oi me-1" data-icon="design_services"/>
1102
+ <i class="oi me-2" data-icon="design_services"/>
1103
1103
  Design
1104
1104
  </div>
1105
1105
  </div>
@@ -1511,14 +1511,14 @@
1511
1511
  <t t-if="measure.isHidden" t-set="hideTitle">Show</t>
1512
1512
  <t t-else="" t-set="hideTitle">Hide</t>
1513
1513
  <i
1514
- t-att-data-icon="measure.isHidden ? 'visibility_off' : 'visibility'"
1514
+ t-att-data-icon="measure.isHidden ? 'visibility_off_f' : 'visibility_f'"
1515
1515
  t-att-title="hideTitle"
1516
- class="o-button-icon pe-1 ps-2 oi"
1516
+ class="o-button-icon pe-1 ps-1 oi"
1517
1517
  t-on-click="this.toggleMeasureVisibility"
1518
1518
  />
1519
1519
  <i
1520
- class="o-button-icon pe-1 ps-2 oi oi-filled"
1521
- data-icon="settings"
1520
+ class="o-button-icon pe-1 ps-1 oi oi-filled"
1521
+ data-icon="settings_f"
1522
1522
  title="Show values as"
1523
1523
  t-on-click="this.openShowValuesAs"
1524
1524
  />
@@ -1606,8 +1606,8 @@
1606
1606
  <div class="d-flex flex-rows">
1607
1607
  <t t-call-slot="upper-right-icons"/>
1608
1608
  <i
1609
- class="o-button-icon oi oi-filled pe-1 ps-2"
1610
- data-icon="delete"
1609
+ class="o-button-icon oi oi-filled pe-1 ps-1"
1610
+ data-icon="delete_f"
1611
1611
  t-if="this.props.onRemoved"
1612
1612
  t-on-click="() => this.props.onRemoved(this.props.dimension)"
1613
1613
  />
@@ -1722,7 +1722,7 @@
1722
1722
  />
1723
1723
  <i
1724
1724
  class="o-button-icon ps-3 oi oi-filled"
1725
- data-icon="delete"
1725
+ data-icon="delete_f"
1726
1726
  t-on-click="() => this.onDeleteGroup(group_index)"
1727
1727
  />
1728
1728
  </div>
@@ -1757,8 +1757,10 @@
1757
1757
  <div class="d-flex flex-column gap-1">
1758
1758
  <div class="d-flex justify-content-center mb-3">
1759
1759
  <button class="o-button" t-on-click="this.startProfiling">
1760
- <i class="oi me-1" data-icon="refresh"/>
1761
- Re-analyze
1760
+ <div class="d-flex justify-content-center align-content-center">
1761
+ <i class="oi me-1" data-icon="refresh"/>
1762
+ Re-analyze
1763
+ </div>
1762
1764
  </button>
1763
1765
  </div>
1764
1766
  <div class="d-flex justify-content-between">
@@ -2971,7 +2973,7 @@
2971
2973
  <t t-name="o-spreadsheet-CogWheelMenu">
2972
2974
  <span
2973
2975
  class="oi oi-filled os-cog-wheel-menu-icon o-button-icon"
2974
- data-icon="settings"
2976
+ data-icon="settings_f"
2975
2977
  t-on-click="this.toggleMenu"
2976
2978
  t-ref="this.buttonRef"
2977
2979
  />
@@ -3484,23 +3486,22 @@
3484
3486
  <t t-name="o-spreadsheet-ScorecardChartConfigPanel">
3485
3487
  <div>
3486
3488
  <Section class="'o-data-series'" title.translate="Key value">
3487
- <SelectionInput
3488
- ranges="[this.getKeyValueRange()]"
3489
- isInvalid="this.isKeyValueInvalid"
3490
- hasSingleRange="true"
3491
- required="true"
3492
- onSelectionChanged="(ranges) => this.onKeyValueRangeChanged(ranges)"
3493
- onSelectionConfirmed="() => this.updateKeyValueRange()"
3489
+ <StandaloneComposer
3490
+ placeholder.translate="Formula"
3491
+ title.translate=""
3492
+ composerContent="this.getKeyValue()"
3493
+ defaultRangeSheetId="this.env.model.getters.getActiveSheetId()"
3494
+ onConfirm.bind="this.onConfirmKeyValue"
3494
3495
  />
3495
3496
  </Section>
3496
3497
  <Section class="'o-data-labels'" title.translate="Baseline configuration">
3497
3498
  <div class="o-section-subtitle">Value</div>
3498
- <SelectionInput
3499
- ranges="[this.getBaselineRange()]"
3500
- isInvalid="this.isBaselineInvalid"
3501
- hasSingleRange="true"
3502
- onSelectionChanged="(ranges) => this.onBaselineRangeChanged(ranges)"
3503
- onSelectionConfirmed="() => this.updateBaselineRange()"
3499
+ <StandaloneComposer
3500
+ placeholder.translate="Formula"
3501
+ title.translate=""
3502
+ composerContent="this.getBaseline()"
3503
+ defaultRangeSheetId="this.env.model.getters.getActiveSheetId()"
3504
+ onConfirm.bind="this.onConfirmBaseline"
3504
3505
  />
3505
3506
  <div class="o-section-subtitle">Format</div>
3506
3507
  <Select
@@ -3592,17 +3593,17 @@
3592
3593
  <div class="o-chart d-flex flex-column h-100" t-if="this.chartId">
3593
3594
  <div class="o-panel d-flex">
3594
3595
  <div
3595
- class="o-sidePanel-tab o-panel-configuration d-flew flex-grow-1 text-center"
3596
+ class="o-sidePanel-tab o-panel-configuration d-flex flex-grow-1 justify-content-center"
3596
3597
  t-att-class="this.store.panel !== 'configuration' ? 'inactive' : ''"
3597
3598
  t-on-click="this.switchPanel.bind(this, 'configuration')">
3598
- <i class="oi me-1" data-icon="tune"/>
3599
+ <i class="oi me-2" data-icon="tune"/>
3599
3600
  Configuration
3600
3601
  </div>
3601
3602
  <div
3602
- class="o-sidePanel-tab o-panel-design d-flew flex-grow-1 text-center"
3603
+ class="o-sidePanel-tab o-panel-design d-flex flex-grow-1 justify-content-center"
3603
3604
  t-att-class="this.store.panel !== 'design' ? 'inactive' : ''"
3604
3605
  t-on-click="this.switchPanel.bind(this, 'design')">
3605
- <i class="oi me-1" data-icon="design_services"/>
3606
+ <i class="oi me-2" data-icon="design_services"/>
3606
3607
  Design
3607
3608
  </div>
3608
3609
  </div>
@@ -6562,7 +6563,7 @@
6562
6563
  </t>
6563
6564
  <t t-name="o-spreadsheet-Icon.FULLSCREEN_IN">
6564
6565
  <div class="o-icon">
6565
- <i class="oi" data-icon="open_in_full"/>
6566
+ <i class="oi" data-icon="expand_content"/>
6566
6567
  </div>
6567
6568
  </t>
6568
6569
  <t t-name="o-spreadsheet-Icon.EDIT">
@@ -6607,7 +6608,7 @@
6607
6608
  </t>
6608
6609
  <t t-name="o-spreadsheet-Icon.TRASH_FILLED">
6609
6610
  <div class="o-icon">
6610
- <i class="oi oi-filled" data-icon="delete"/>
6611
+ <i class="oi oi-filled" data-icon="delete_f"/>
6611
6612
  </div>
6612
6613
  </t>
6613
6614
  <t t-name="o-spreadsheet-Icon.REFRESH">
@@ -6743,7 +6744,7 @@
6743
6744
  </t>
6744
6745
  <t t-name="o-spreadsheet-Icon.FILTER_ICON_ACTIVE">
6745
6746
  <div class="o-icon filter-icon-active">
6746
- <i class="oi oi-filled" data-icon="filter_alt"/>
6747
+ <i class="oi oi-filled" data-icon="filter_alt_f"/>
6747
6748
  </div>
6748
6749
  </t>
6749
6750
  <t t-name="o-spreadsheet-Icon.SEARCH">
@@ -7130,12 +7131,12 @@
7130
7131
  </t>
7131
7132
  <t t-name="o-spreadsheet-Icon.LOCK">
7132
7133
  <div class="o-icon">
7133
- <i class="oi" data-icon="lock"/>
7134
+ <i class="oi" data-icon="lock_f"/>
7134
7135
  </div>
7135
7136
  </t>
7136
7137
  <t t-name="o-spreadsheet-Icon.UNLOCK">
7137
7138
  <div class="o-icon">
7138
- <i class="oi" data-icon="lock_open"/>
7139
+ <i class="oi" data-icon="lock_open_f"/>
7139
7140
  </div>
7140
7141
  </t>
7141
7142
  <t t-name="o-spreadsheet-Icon.PRINT">
@@ -7218,6 +7219,11 @@
7218
7219
  />
7219
7220
  </svg>
7220
7221
  </t>
7222
+ <t t-name="o-spreadsheet-Icon.MORE_MENU">
7223
+ <div class="o-icon">
7224
+ <i class="oi" data-icon="more_vert"/>
7225
+ </div>
7226
+ </t>
7221
7227
 
7222
7228
  <t t-name="o-spreadsheet-IconPicker">
7223
7229
  <div class="o-icon-picker bg-white">
@@ -7919,12 +7925,11 @@
7919
7925
  class="o-figure-menu position-absolute m-2 align-items-center"
7920
7926
  t-if="this.shouldShowMenuButton">
7921
7927
  <div
7922
- class="o-figure-menu-item btn oi rounded p-1"
7923
- data-icon="more_vert"
7924
- t-on-click="this.showMenu"
7928
+ class="o-figure-menu-item d-flex align-items-center justify-content-center rounded p-1"
7925
7929
  t-ref="this.menuButtonRef"
7926
- t-on-contextmenu.prevent.stop="this.showMenu"
7927
- />
7930
+ t-on-click="this.showMenu">
7931
+ <t t-call="o-spreadsheet-Icon.MORE_MENU"/>
7932
+ </div>
7928
7933
  </div>
7929
7934
  </t>
7930
7935
 
@@ -8024,7 +8029,9 @@
8024
8029
  t-att-class="{'active': this.menuState.isOpen}"
8025
8030
  t-ref="this.carouselTabsDropdownRef"
8026
8031
  t-on-click="this.toggleMenu">
8027
- <div class="oi" data-icon="keyboard_arrow_down"/>
8032
+ <div class="o-icon">
8033
+ <i class="oi" data-icon="keyboard_arrow_down"/>
8034
+ </div>
8028
8035
  <MenuPopover
8029
8036
  t-if="this.menuState.isOpen"
8030
8037
  menuId="this.menuId"
@@ -8038,14 +8045,14 @@
8038
8045
  t-if="this.env.model.getters.isDashboard()"
8039
8046
  t-att-title="this.fullScreenButtonTitle"
8040
8047
  class="o-carousel-full-screen-button oi o-carousel-button rounded p-1 ms-1"
8041
- t-att-data-icon="this.props.isFullScreen ? 'close_fullscreen' : 'open_in_full'"
8048
+ t-att-data-icon="this.props.isFullScreen ? 'close_fullscreen' : 'expand_content'"
8042
8049
  t-on-click="this.toggleFullScreen"
8043
8050
  />
8044
8051
  <div
8045
8052
  t-if="!this.env.model.getters.isDashboard()"
8046
8053
  class="o-carousel-menu-button o-carousel-button rounded ms-1"
8047
8054
  t-on-click="this.openContextMenu">
8048
- <div class="oi" data-icon="more_vert"/>
8055
+ <t t-call="o-spreadsheet-Icon.MORE_MENU"/>
8049
8056
  </div>
8050
8057
  </div>
8051
8058
  <div
@@ -8210,11 +8217,11 @@
8210
8217
  </div>
8211
8218
  </t>
8212
8219
  <t t-if="this.isMenuAvailable()">
8213
- <button
8214
- class="o-chart-menu-item btn text-muted lh-1 p-1 oi"
8215
- data-icon="more_vert"
8216
- t-on-click="this.openContextMenu"
8217
- />
8220
+ <div
8221
+ class="o-chart-menu-item border-0 lh-1 p-1 d-flex align-items-center justify-content-center rounded"
8222
+ t-on-click="this.openContextMenu">
8223
+ <t t-call="o-spreadsheet-Icon.MORE_MENU"/>
8224
+ </div>
8218
8225
  </t>
8219
8226
  </div>
8220
8227
  <InfoPopover
@@ -8507,8 +8514,8 @@
8507
8514
  t-on-pointerdown.prevent.stop=""
8508
8515
  t-on-pointerup.stop=""
8509
8516
  class="oi-stack position-absolute translate-middle force-open-assistant fs-4">
8510
- <i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle"/>
8511
- <i class="oi oi-filled oi-stack-1x" data-icon="help"/>
8517
+ <i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle_f"/>
8518
+ <i class="oi oi-filled oi-stack-1x" data-icon="help_f"/>
8512
8519
  </span>
8513
8520
  <div
8514
8521
  class="o-composer w-100 text-start"
@@ -8550,8 +8557,8 @@
8550
8557
  t-on-click="this.closeAssistant"
8551
8558
  t-on-pointerdown.prevent.stop=""
8552
8559
  class="oi-stack position-absolute top-0 start-100 translate-middle fs-4">
8553
- <i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle"/>
8554
- <i class="oi oi-filled oi-stack-1x" data-icon="cancel"/>
8560
+ <i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle_f"/>
8561
+ <i class="oi oi-filled oi-stack-1x" data-icon="cancel_f"/>
8555
8562
  </span>
8556
8563
  <div class="o-composer-assistant overflow-auto" t-att-style="this.assistantStyle">
8557
8564
  <FunctionDescriptionProvider
@@ -8910,7 +8917,7 @@
8910
8917
  t-att-title="this.sheetName"
8911
8918
  t-att-data-id="this.props.sheetId"
8912
8919
  t-att-class="{active: this.isSheetActive}">
8913
- <span t-if="this.isSheetLocked" class="me-1">
8920
+ <span t-if="this.isSheetLocked" class="me-1 lock-icon">
8914
8921
  <t t-call="o-spreadsheet-Icon.LOCK"/>
8915
8922
  </span>
8916
8923
  <span
@@ -2,32 +2,28 @@ import { Component } from "../../../../owl3_compatibility_layer";
2
2
  import { BaselineMode, ScorecardChartDefinition } from "../../../../types/chart/scorecard_chart";
3
3
  import { ValueAndLabel } from "../../../../types/misc";
4
4
  import { SpreadsheetChildEnv } from "../../../../types/spreadsheet_env";
5
+ import { StandaloneComposer } from "../../../composer/standalone_composer/standalone_composer";
5
6
  import { Select } from "../../../select/select";
6
- import { SelectionInput } from "../../../selection_input/selection_input";
7
7
  import { Section } from "../../components/section/section";
8
8
  import { ChartErrorSection } from "../building_blocks/error_section/error_section";
9
9
  import { ChartSidePanelProps } from "../common";
10
10
  export declare class ScorecardChartConfigPanel extends Component<SpreadsheetChildEnv> {
11
11
  static template: string;
12
12
  static components: {
13
- SelectionInput: typeof SelectionInput;
14
13
  ChartErrorSection: typeof ChartErrorSection;
15
14
  Section: typeof Section;
16
15
  Select: typeof Select;
16
+ StandaloneComposer: typeof StandaloneComposer;
17
17
  };
18
18
  protected props: ChartSidePanelProps<ScorecardChartDefinition>;
19
19
  private state;
20
20
  private keyValue;
21
21
  private baseline;
22
22
  get errorMessages(): string[];
23
- get isKeyValueInvalid(): boolean;
24
- get isBaselineInvalid(): boolean;
25
- onKeyValueRangeChanged(ranges: string[]): void;
26
- updateKeyValueRange(): void;
27
- getKeyValueRange(): string;
28
- onBaselineRangeChanged(ranges: string[]): void;
29
- updateBaselineRange(): void;
30
- getBaselineRange(): string;
23
+ onConfirmKeyValue(keyValue: string): void;
24
+ getKeyValue(): string;
25
+ onConfirmBaseline(baseline: string): void;
26
+ getBaseline(): string;
31
27
  updateBaselineMode(baselineMode: BaselineMode): void;
32
28
  get baselineModeOptions(): ValueAndLabel[];
33
29
  }
@@ -16,7 +16,7 @@ export declare class SpreadsheetChart {
16
16
  static fromStrDefinition(getters: CoreGetters, sheetId: UID, definition: ChartDefinition<string>): SpreadsheetChart;
17
17
  static fromDefinition(getters: CoreGetters, sheetId: UID, definition: ChartDefinition<Range>): SpreadsheetChart;
18
18
  static validate(validator: Validator, definition: ChartDefinition<string>): import("../..").CommandResult | import("../..").CommandResult[];
19
- static transformDefinition(chartSheetId: UID, definition: ChartDefinition<string>, rangeAdapters: RangeAdapterFunctions): import("../../types/chart/line_chart").LineChartDefinition<string> | import("../../types/chart/pie_chart").PieChartDefinition<string> | import("../../types/chart/bar_chart").BarChartDefinition<string> | import("../../types/chart/scatter_chart").ScatterChartDefinition<string> | import("../../types/chart/combo_chart").ComboChartDefinition<string> | import("../../types/chart/waterfall_chart").WaterfallChartDefinition<string> | import("../../types/chart/pyramid_chart").PyramidChartDefinition<string> | import("../../types/chart/radar_chart").RadarChartDefinition<string> | import("../../types/chart/geo_chart").GeoChartDefinition<string> | import("../../types/chart/funnel_chart").FunnelChartDefinition<string> | import("../../types/chart/sunburst_chart").SunburstChartDefinition<string> | import("../../types/chart/tree_map_chart").TreeMapChartDefinition<string> | import("../../types/chart/calendar_chart").CalendarChartDefinition<string> | import("../../types/chart/scorecard_chart").ScorecardChartDefinition<string> | import("../../types/chart/gauge_chart").GaugeChartDefinition<string> | import("../../types/chart/bubble_chart").BubbleChartDefinition<string>;
19
+ static transformDefinition(chartSheetId: UID, definition: ChartDefinition<string>, rangeAdapters: RangeAdapterFunctions): import("../../types/chart/scorecard_chart").ScorecardChartDefinition | import("../../types/chart/line_chart").LineChartDefinition<string> | import("../../types/chart/pie_chart").PieChartDefinition<string> | import("../../types/chart/bar_chart").BarChartDefinition<string> | import("../../types/chart/scatter_chart").ScatterChartDefinition<string> | import("../../types/chart/combo_chart").ComboChartDefinition<string> | import("../../types/chart/waterfall_chart").WaterfallChartDefinition<string> | import("../../types/chart/pyramid_chart").PyramidChartDefinition<string> | import("../../types/chart/radar_chart").RadarChartDefinition<string> | import("../../types/chart/geo_chart").GeoChartDefinition<string> | import("../../types/chart/funnel_chart").FunnelChartDefinition<string> | import("../../types/chart/sunburst_chart").SunburstChartDefinition<string> | import("../../types/chart/tree_map_chart").TreeMapChartDefinition<string> | import("../../types/chart/calendar_chart").CalendarChartDefinition<string> | import("../../types/chart/gauge_chart").GaugeChartDefinition<string> | import("../../types/chart/bubble_chart").BubbleChartDefinition<string>;
20
20
  getRangeDefinition(): ChartDefinition<Range>;
21
21
  getDefinition(): ChartDefinition<string>;
22
22
  updateRanges(rangeAdapters: RangeAdapterFunctions): ChartDefinition<Range>;
@@ -1,4 +1,5 @@
1
1
  import { Command } from "../types/commands";
2
+ import { Get } from "../types/store_engine";
2
3
  import { SpreadsheetStore } from "./spreadsheet_store";
3
4
  /**
4
5
  * The goal of this store is to make its attached viewport store follow the active sheet
@@ -6,6 +7,8 @@ import { SpreadsheetStore } from "./spreadsheet_store";
6
7
  export declare class MainViewportStore extends SpreadsheetStore {
7
8
  private viewStore;
8
9
  private sheetIdAtFinalize;
10
+ constructor(get: Get);
11
+ private handleEvent;
9
12
  protected handle(cmd: Command): void;
10
13
  protected finalize(): void;
11
14
  }
@@ -23,7 +23,6 @@ export declare class ViewportsStore extends SpreadsheetStore {
23
23
  private shouldRepositionViewports;
24
24
  displayedSheetId: UID;
25
25
  constructor(get: Get);
26
- private handleEvent;
27
26
  handle(cmd: Command): void;
28
27
  finalize(): void;
29
28
  private setViewports;
@@ -24,7 +24,7 @@ import { BubbleChartDefinition, BubbleChartRuntime, BubbleColorMode } from "./bu
24
24
  export declare const CHART_TYPES: readonly ["line", "bar", "pie", "scorecard", "gauge", "scatter", "bubble", "combo", "waterfall", "pyramid", "radar", "geo", "funnel", "sunburst", "treemap", "calendar"];
25
25
  export type ChartType = (typeof CHART_TYPES)[number];
26
26
  export type ChartDefinitionWithDataSource<T extends string | Range = Range> = LineChartDefinition<T> | PieChartDefinition<T> | BarChartDefinition<T> | ScatterChartDefinition<T> | ComboChartDefinition<T> | WaterfallChartDefinition<T> | PyramidChartDefinition<T> | RadarChartDefinition<T> | GeoChartDefinition<T> | FunnelChartDefinition<T> | SunburstChartDefinition<T> | TreeMapChartDefinition<T> | CalendarChartDefinition<T>;
27
- export type ChartDefinition<T extends string | Range = string> = ChartDefinitionWithDataSource<T> | ScorecardChartDefinition<T> | GaugeChartDefinition<T> | BubbleChartDefinition<T>;
27
+ export type ChartDefinition<T extends string | Range = string> = ChartDefinitionWithDataSource<T> | ScorecardChartDefinition | GaugeChartDefinition<T> | BubbleChartDefinition<T>;
28
28
  /**
29
29
  * `ChartTypeDefinition<"bar", Range>`
30
30
  * `ChartTypeDefinition<"bar", string>`
@@ -203,6 +203,8 @@ export interface ChartCreationContext {
203
203
  readonly bubbleColorMode?: BubbleColorMode;
204
204
  readonly annotationText?: string;
205
205
  readonly annotationLink?: string;
206
+ readonly scorecardKeyValueFormula?: string;
207
+ readonly scorecardBaselineFormula?: string;
206
208
  }
207
209
  export type ChartAxisFormats = {
208
210
  [axisId: string]: Format | undefined;
@@ -1,12 +1,11 @@
1
1
  import { Color, Style } from "../misc";
2
- import { Range } from "../range";
3
2
  import { TitleDesign } from "./chart";
4
3
  import { NonDataSourceBaseChartDefinition } from "./common_chart";
5
- export interface ScorecardChartDefinition<T extends string | Range = string> extends NonDataSourceBaseChartDefinition {
4
+ export interface ScorecardChartDefinition extends NonDataSourceBaseChartDefinition {
6
5
  readonly type: "scorecard";
7
- readonly keyValue?: T;
6
+ readonly keyValue?: string;
8
7
  readonly keyDescr?: TitleDesign;
9
- readonly baseline?: T;
8
+ readonly baseline?: string;
10
9
  readonly baselineMode: BaselineMode;
11
10
  readonly baselineDescr?: TitleDesign;
12
11
  readonly baselineColorUp: Color;
@@ -834,8 +834,6 @@ export declare const enum CommandResult {
834
834
  InvalidXRange = "InvalidXRange",
835
835
  InvalidLabelRange = "InvalidLabelRange",
836
836
  InvalidBubbleSizeRange = "InvalidBubbleSizeRange",
837
- InvalidScorecardKeyValue = "InvalidScorecardKeyValue",
838
- InvalidScorecardBaseline = "InvalidScorecardBaseline",
839
837
  InvalidGaugeDataRange = "InvalidGaugeDataRange",
840
838
  EmptyGaugeRangeMin = "EmptyGaugeRangeMin",
841
839
  GaugeRangeMinNaN = "GaugeRangeMinNaN",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odoo/o-spreadsheet",
3
- "version": "19.5.0-alpha.12",
3
+ "version": "19.5.0-alpha.13",
4
4
  "description": "A spreadsheet component",
5
5
  "type": "module",
6
6
  "main": "dist/o_spreadsheet.cjs",
@@ -44,7 +44,8 @@
44
44
  "model-in-node": "npm run dist && node tools/run_in_node.mjs",
45
45
  "zipXlsx": "node tools/bundle_xlsx/zip_xlsx_demo.cjs",
46
46
  "unzipXlsx": "node tools/bundle_xlsx/unzip_xlsx_demo.cjs",
47
- "runbot": "npm run check-formatting && npm run model-in-node && npm run test --"
47
+ "runbot": "npm run check-formatting && npm run model-in-node && npm run test --",
48
+ "update-icons": "node tools/bundle_icons/update_icons.cjs"
48
49
  },
49
50
  "browserslist": [
50
51
  "last 1 Chrome versions"