From 33fb74e083c14542f46326230869e589feefd152 Mon Sep 17 00:00:00 2001 From: Oisin Coveney <oisin@metabase.com> Date: Tue, 1 Oct 2024 14:27:09 +0300 Subject: [PATCH] Attempt a fix at font size scaling --- .../src/metabase/css/dashboard.module.css | 9 ++++ .../components/ScalarValue/ScalarValue.jsx | 48 ++++--------------- 2 files changed, 18 insertions(+), 39 deletions(-) diff --git a/frontend/src/metabase/css/dashboard.module.css b/frontend/src/metabase/css/dashboard.module.css index 7393201f951..bef57aa4cc4 100644 --- a/frontend/src/metabase/css/dashboard.module.css +++ b/frontend/src/metabase/css/dashboard.module.css @@ -218,3 +218,12 @@ pointer-events: all; user-select: auto; } + +.ScalarValueContainer { + container-type: size; + container-name: scalar-value; +} + +.ScalarValueElement { + font-size: calc(0.5rem + 10cqmin); +} diff --git a/frontend/src/metabase/visualizations/components/ScalarValue/ScalarValue.jsx b/frontend/src/metabase/visualizations/components/ScalarValue/ScalarValue.jsx index 7654c655028..c3ed18d4151 100644 --- a/frontend/src/metabase/visualizations/components/ScalarValue/ScalarValue.jsx +++ b/frontend/src/metabase/visualizations/components/ScalarValue/ScalarValue.jsx @@ -3,7 +3,6 @@ */ /* eslint-disable react/prop-types */ import cx from "classnames"; -import { useMemo } from "react"; import { t } from "ttag"; import { Ellipsified } from "metabase/core/components/Ellipsified"; @@ -23,54 +22,25 @@ import { ScalarTitleContent, ScalarValueWrapper, } from "./ScalarValue.styled"; -import { findSize, getMaxFontSize } from "./utils"; export const ScalarWrapper = ({ children }) => ( - <ScalarRoot>{children}</ScalarRoot> + <ScalarRoot className={DashboardS.ScalarValueContainer}> + {children} + </ScalarRoot> ); -const ScalarValue = ({ - value, - height, - width, - gridSize, - totalNumGridCols, - fontFamily, -}) => { +const ScalarValue = ({ value }) => { const { other: { number: numberTheme }, } = useMantineTheme(); - const fontSize = useMemo(() => { - if (numberTheme?.value?.fontSize) { - return numberTheme.value?.fontSize; - } - - return findSize({ - text: value, - targetHeight: height, - targetWidth: width, - fontFamily: fontFamily ?? "Lato", - fontWeight: 700, - unit: "rem", - step: 0.2, - min: 1, - max: gridSize ? getMaxFontSize(gridSize.width, totalNumGridCols) : 4, - }); - }, [ - fontFamily, - gridSize, - height, - totalNumGridCols, - value, - width, - numberTheme?.value?.fontSize, - ]); - return ( <ScalarValueWrapper - className={cx(DashboardS.ScalarValue, QueryBuilderS.ScalarValue)} - fontSize={fontSize} + className={cx( + DashboardS.ScalarValue, + DashboardS.ScalarValueElement, + QueryBuilderS.ScalarValue, + )} lineHeight={numberTheme?.value?.lineHeight} data-testid="scalar-value" > -- GitLab