diff --git a/package.json b/package.json index 879c74c7fe99f..f686da5ad4e92 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "@elastic/apm-rum": "5.17.0", "@elastic/apm-rum-core": "5.23.0", "@elastic/apm-rum-react": "2.0.6", - "@elastic/charts": "71.2.0", + "@elastic/charts": "71.3.0", "@elastic/datemath": "5.0.3", "@elastic/ebt": "1.4.1", "@elastic/ecs": "9.3.0", diff --git a/src/platform/packages/shared/kbn-lens-common/visualizations/metric/types.ts b/src/platform/packages/shared/kbn-lens-common/visualizations/metric/types.ts index 2ff2deb88d401..b7bfc2f51586e 100644 --- a/src/platform/packages/shared/kbn-lens-common/visualizations/metric/types.ts +++ b/src/platform/packages/shared/kbn-lens-common/visualizations/metric/types.ts @@ -30,6 +30,8 @@ export type SecondaryTrend = baselineValue: number | 'primary'; }; +type TitleFontWeightString = Extract; + export interface MetricVisualizationState { layerId: string; layerType: LensLayerType; @@ -60,7 +62,7 @@ export interface MetricVisualizationState { primaryAlign?: MetricStyle['valueTextAlign']; iconAlign?: MetricStyle['iconAlign']; valueFontMode?: ValueFontMode; - titleWeight?: MetricStyle['titleWeight']; + titleWeight?: TitleFontWeightString; primaryPosition?: MetricStyle['valuePosition']; secondaryLabelPosition?: SecondaryMetricProps['labelPosition']; color?: string; diff --git a/x-pack/platform/plugins/shared/lens/public/visualizations/metric/toolbar/appearance_settings.tsx b/x-pack/platform/plugins/shared/lens/public/visualizations/metric/toolbar/appearance_settings.tsx index db77e68e21096..01463c5882714 100644 --- a/x-pack/platform/plugins/shared/lens/public/visualizations/metric/toolbar/appearance_settings.tsx +++ b/x-pack/platform/plugins/shared/lens/public/visualizations/metric/toolbar/appearance_settings.tsx @@ -28,6 +28,8 @@ import { LENS_METRIC_STATE_DEFAULTS, } from '@kbn/lens-common'; +type TitleFontWeightString = Extract; + /** Get default layout config based on primary metric position */ const getDefaultLayoutConfig = ( primaryMetricPosition: PrimaryMetricPosition, @@ -61,6 +63,10 @@ export function MetricAppearanceSettings({ }) { const hasSecondaryMetric = !!state.secondaryMetricAccessor; const hasMetricIcon = hasIcon(state.icon); + const titleWeightValue: TitleFontWeightString = + state.titleWeight === 'normal' || state.titleWeight === 'bold' + ? state.titleWeight + : (LENS_METRIC_STATE_DEFAULTS.titleWeight as TitleFontWeightString); const disabledStates = { subtitle: !!state.breakdownByAccessor, @@ -155,7 +161,7 @@ export function MetricAppearanceSettings({ label={i18n.translate('xpack.lens.metric.appearancePopover.fontWeight', { defaultMessage: 'Font weight', })} - value={state.titleWeight ?? LENS_METRIC_STATE_DEFAULTS.titleWeight} + value={titleWeightValue} options={fontWeightOptions} onChange={(id) => { setState({ @@ -340,7 +346,7 @@ const iconPositionOptions: Array = [ +const fontWeightOptions: Array = [ { id: 'normal', label: i18n.translate('xpack.lens.metric.appearancePopover.regular', { diff --git a/yarn.lock b/yarn.lock index 6444f0159e781..63d2e8d83f3aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2335,10 +2335,10 @@ dependencies: object-hash "^1.3.0" -"@elastic/charts@71.2.0": - version "71.2.0" - resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-71.2.0.tgz#884bec027ebccbbdd6dc8a6d990415fa90b24cf4" - integrity sha512-y/sf6yKsajsQhEueLU4HlG4z4j1c9VvgxTsX+AEG81zBAJLWfQ+eaO3hbH3cL1qFEm2KJLn5RF3/cpm5wu3ADg== +"@elastic/charts@71.3.0": + version "71.3.0" + resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-71.3.0.tgz#5fba40d1d78fae7cca7f73e6bb0b2b2cd4d683e4" + integrity sha512-F6GkcsVWQcigtAzbRe4MFIkNgkZjjZ9JTL603AcK46WF2zEW3yKQ0KOoEAh85gzbBnEdDksXWWhWPGvY4508cQ== dependencies: "@popperjs/core" "^2.11.8" "@reduxjs/toolkit" "1.9.7"