From 8df6c4d1c8f890d0d880166c8ac23e1a36d9cdd5 Mon Sep 17 00:00:00 2001
From: Alexander Lesnenko <alxnddr@users.noreply.github.com>
Date: Wed, 27 Oct 2021 12:22:25 +0300
Subject: [PATCH] tune static viz appearance (#18686)

---
 .../CategoricalAreaChart/CategoricalAreaChart.jsx         | 4 ++++
 .../CategoricalBarChart/CategoricalBarChart.jsx           | 4 ++++
 .../CategoricalLineChart/CategoricalLineChart.jsx         | 4 ++++
 .../TimeSeriesAreaChart/TimeSeriesAreaChart.jsx           | 4 ++++
 .../components/TimeSeriesBarChart/TimeSeriesBarChart.jsx  | 4 ++++
 .../TimeSeriesLineChart/TimeSeriesLineChart.jsx           | 4 ++++
 frontend/src/metabase/static-viz/lib/axes.js              | 8 ++++++++
 7 files changed, 32 insertions(+)

diff --git a/frontend/src/metabase/static-viz/components/CategoricalAreaChart/CategoricalAreaChart.jsx b/frontend/src/metabase/static-viz/components/CategoricalAreaChart/CategoricalAreaChart.jsx
index 9d897853af4..5469e3d61bc 100644
--- a/frontend/src/metabase/static-viz/components/CategoricalAreaChart/CategoricalAreaChart.jsx
+++ b/frontend/src/metabase/static-viz/components/CategoricalAreaChart/CategoricalAreaChart.jsx
@@ -11,6 +11,7 @@ import {
   getYTickLabelProps,
   getYTickWidth,
   getXTickHeight,
+  getLabelProps,
 } from "../../lib/axes";
 import { formatNumber } from "../../lib/numbers";
 import { truncateText } from "../../lib/text";
@@ -51,6 +52,7 @@ const layout = {
     textMedium: "#949aab",
   },
   barPadding: 0.2,
+  labelFontWeight: 700,
   labelPadding: 12,
   maxTickWidth: 100,
   areaOpacity: 0.2,
@@ -121,6 +123,7 @@ const CategoricalAreaChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -138,6 +141,7 @@ const CategoricalAreaChart = ({ data, accessors, settings, labels }) => {
         numTicks={data.length}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickComponent={props => <Text {...getXTickProps(props)} />}
         tickLabelProps={() => getXTickLabelProps(layout, isVertical)}
       />
diff --git a/frontend/src/metabase/static-viz/components/CategoricalBarChart/CategoricalBarChart.jsx b/frontend/src/metabase/static-viz/components/CategoricalBarChart/CategoricalBarChart.jsx
index 079e48de488..e449947002e 100644
--- a/frontend/src/metabase/static-viz/components/CategoricalBarChart/CategoricalBarChart.jsx
+++ b/frontend/src/metabase/static-viz/components/CategoricalBarChart/CategoricalBarChart.jsx
@@ -11,6 +11,7 @@ import {
   getYTickLabelProps,
   getYTickWidth,
   getXTickHeight,
+  getLabelProps,
 } from "../../lib/axes";
 import { formatNumber } from "../../lib/numbers";
 import { truncateText } from "../../lib/text";
@@ -51,6 +52,7 @@ const layout = {
     textMedium: "#949aab",
   },
   barPadding: 0.2,
+  labelFontWeight: 700,
   labelPadding: 12,
   maxTickWidth: 100,
   strokeDasharray: "4",
@@ -125,6 +127,7 @@ const CategoricalBarChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -135,6 +138,7 @@ const CategoricalBarChart = ({ data, accessors, settings, labels }) => {
         numTicks={data.length}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickComponent={props => <Text {...getXTickProps(props)} />}
         tickLabelProps={() => getXTickLabelProps(layout, isVertical)}
       />
diff --git a/frontend/src/metabase/static-viz/components/CategoricalLineChart/CategoricalLineChart.jsx b/frontend/src/metabase/static-viz/components/CategoricalLineChart/CategoricalLineChart.jsx
index 0534b7535c2..a0f8135f5e0 100644
--- a/frontend/src/metabase/static-viz/components/CategoricalLineChart/CategoricalLineChart.jsx
+++ b/frontend/src/metabase/static-viz/components/CategoricalLineChart/CategoricalLineChart.jsx
@@ -11,6 +11,7 @@ import {
   getYTickLabelProps,
   getYTickWidth,
   getXTickHeight,
+  getLabelProps,
 } from "../../lib/axes";
 import { formatNumber } from "../../lib/numbers";
 import { truncateText } from "../../lib/text";
@@ -51,6 +52,7 @@ const layout = {
     textMedium: "#949aab",
   },
   barPadding: 0.2,
+  labelFontWeight: 700,
   labelPadding: 12,
   maxTickWidth: 100,
   strokeDasharray: "4",
@@ -119,6 +121,7 @@ const CategoricalLineChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -129,6 +132,7 @@ const CategoricalLineChart = ({ data, accessors, settings, labels }) => {
         numTicks={data.length}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickComponent={props => <Text {...getXTickProps(props)} />}
         tickLabelProps={() => getXTickLabelProps(layout, isVertical)}
       />
diff --git a/frontend/src/metabase/static-viz/components/TimeSeriesAreaChart/TimeSeriesAreaChart.jsx b/frontend/src/metabase/static-viz/components/TimeSeriesAreaChart/TimeSeriesAreaChart.jsx
index 20628f1bcd1..13482646f53 100644
--- a/frontend/src/metabase/static-viz/components/TimeSeriesAreaChart/TimeSeriesAreaChart.jsx
+++ b/frontend/src/metabase/static-viz/components/TimeSeriesAreaChart/TimeSeriesAreaChart.jsx
@@ -5,6 +5,7 @@ import { GridRows } from "@visx/grid";
 import { AxisBottom, AxisLeft } from "@visx/axis";
 import { AreaClosed, LinePath } from "@visx/shape";
 import {
+  getLabelProps,
   getXTickLabelProps,
   getYTickLabelProps,
   getYTickWidth,
@@ -50,6 +51,7 @@ const layout = {
   },
   numTicks: 5,
   strokeWidth: 2,
+  labelFontWeight: 700,
   labelPadding: 12,
   areaOpacity: 0.2,
   strokeDasharray: "4",
@@ -111,6 +113,7 @@ const TimeSeriesAreaChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -121,6 +124,7 @@ const TimeSeriesAreaChart = ({ data, accessors, settings, labels }) => {
         numTicks={layout.numTicks}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatDate(value, settings?.x)}
         tickLabelProps={() => getXTickLabelProps(layout)}
       />
diff --git a/frontend/src/metabase/static-viz/components/TimeSeriesBarChart/TimeSeriesBarChart.jsx b/frontend/src/metabase/static-viz/components/TimeSeriesBarChart/TimeSeriesBarChart.jsx
index 204d73a77b1..1f900275a1f 100644
--- a/frontend/src/metabase/static-viz/components/TimeSeriesBarChart/TimeSeriesBarChart.jsx
+++ b/frontend/src/metabase/static-viz/components/TimeSeriesBarChart/TimeSeriesBarChart.jsx
@@ -5,6 +5,7 @@ import { GridRows } from "@visx/grid";
 import { scaleBand, scaleLinear } from "@visx/scale";
 import { Bar } from "@visx/shape";
 import {
+  getLabelProps,
   getXTickLabelProps,
   getYTickLabelProps,
   getYTickWidth,
@@ -49,6 +50,7 @@ const layout = {
   },
   numTicks: 5,
   barPadding: 0.2,
+  labelFontWeight: 700,
   labelPadding: 12,
   strokeDasharray: "4",
 };
@@ -106,6 +108,7 @@ const TimeSeriesBarChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -116,6 +119,7 @@ const TimeSeriesBarChart = ({ data, accessors, settings, labels }) => {
         numTicks={layout.numTicks}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatDate(value, settings?.x)}
         tickLabelProps={() => getXTickLabelProps(layout)}
       />
diff --git a/frontend/src/metabase/static-viz/components/TimeSeriesLineChart/TimeSeriesLineChart.jsx b/frontend/src/metabase/static-viz/components/TimeSeriesLineChart/TimeSeriesLineChart.jsx
index a1ff189f9e8..ed8da17fc77 100644
--- a/frontend/src/metabase/static-viz/components/TimeSeriesLineChart/TimeSeriesLineChart.jsx
+++ b/frontend/src/metabase/static-viz/components/TimeSeriesLineChart/TimeSeriesLineChart.jsx
@@ -8,6 +8,7 @@ import {
   getXTickLabelProps,
   getYTickWidth,
   getYTickLabelProps,
+  getLabelProps,
 } from "../../lib/axes";
 import { formatDate } from "../../lib/dates";
 import { formatNumber } from "../../lib/numbers";
@@ -48,6 +49,7 @@ const layout = {
     textMedium: "#949aab",
   },
   numTicks: 5,
+  labelFontWeight: 700,
   labelPadding: 12,
   strokeWidth: 2,
   strokeDasharray: "4",
@@ -101,6 +103,7 @@ const TimeSeriesLineChart = ({ data, accessors, settings, labels }) => {
         labelOffset={yLabelOffset}
         hideTicks
         hideAxisLine
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatNumber(value, settings?.y)}
         tickLabelProps={() => getYTickLabelProps(layout)}
       />
@@ -111,6 +114,7 @@ const TimeSeriesLineChart = ({ data, accessors, settings, labels }) => {
         numTicks={layout.numTicks}
         stroke={palette.textLight}
         tickStroke={palette.textLight}
+        labelProps={getLabelProps(layout)}
         tickFormat={value => formatDate(value, settings?.x)}
         tickLabelProps={() => getXTickLabelProps(layout)}
       />
diff --git a/frontend/src/metabase/static-viz/lib/axes.js b/frontend/src/metabase/static-viz/lib/axes.js
index 267dbe721c3..45afc674c01 100644
--- a/frontend/src/metabase/static-viz/lib/axes.js
+++ b/frontend/src/metabase/static-viz/lib/axes.js
@@ -36,3 +36,11 @@ export const getYTickLabelProps = layout => ({
   fill: layout.colors.textMedium,
   textAnchor: "end",
 });
+
+export const getLabelProps = layout => ({
+  fontWeight: layout.labelFontWeight,
+  fontSize: layout.font.size,
+  fontFamily: layout.font.family,
+  fill: layout.colors.textMedium,
+  textAnchor: "middle",
+});
-- 
GitLab