From cf84bfe38dd69cff9653b87d422a94aed366e5ab Mon Sep 17 00:00:00 2001 From: BenniEngel Date: Tue, 25 Aug 2026 08:46:37 +0200 Subject: [PATCH 1/5] feat(CartesianChart): add Bar and a layout prop for horizontal bars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bars render through the ComposedChart the CartesianChart already hosts, so axes, grid, legend, tooltip and emptyView are reused as-is. Bar mirrors Area: dataKey prop or dataKey function with label, categorical or custom color, and a TypedBar entry in typedCartesianChart. Grouped is the default — stacking is opt-in via stackId, unlike Area, which always stacks. Corner radius comes from the new bar.corner-radius token and lands on the growing end of the bar (top when horizontal, right when vertical); stacked segments stay square, since recharts cannot round only the last segment of a stack. The new layout prop on CartesianChart moves the category axis to the y-axis ("vertical"), which needs XAxis type="number" and YAxis type="category". A context carries the layout to Bar so it can pick the rounded corners. Purely additive — no change to existing @flr-generate props. Co-Authored-By: Claude Opus 5 (1M context) --- .idea/nx-angular-config.xml | 20 +--- .../cartesian-chart/examples/bar.tsx | 62 +++++++++++ .../examples/barHorizontal.tsx | 41 ++++++++ .../cartesian-chart/examples/barStacked.tsx | 65 ++++++++++++ .../cartesian-chart/index.mdx | 36 ++++++- .../src/app/remote/chart/page.tsx | 22 ++++ .../CartesianChart/CartesianChart.tsx | 86 +++++++++++----- .../CartesianChart/components/Bar/Bar.tsx | 77 ++++++++++++++ .../CartesianChart/components/Bar/index.ts | 2 + .../CartesianChart/components/Bar/view.ts | 10 ++ .../src/components/CartesianChart/context.ts | 15 +++ .../src/components/CartesianChart/index.ts | 1 + .../stories/Default.stories.tsx | 61 +++++++++++ .../typedCartesianChart.test-types.tsx | 35 +++++++ .../src/components/CartesianChart/types.ts | 7 ++ packages/components/src/views/BarView.tsx | 16 +++ .../src/dataVisualisation/bar.yml | 3 + .../src/auto-generated/RemoteBarElement.ts | 43 ++++++++ .../RemoteCartesianChartElement.ts | 1 + .../src/auto-generated/index.ts | 1 + .../src/auto-generated/Bar.ts | 18 ++++ .../src/auto-generated/index.ts | 1 + .../visual/CartesianChart.browser.test.tsx | 96 ++++++++++++++++++ ...artesianChart-with-Bars-firefox-darwin.png | Bin 0 -> 23828 bytes ...CartesianChart-with-Bars-webkit-darwin.png | Bin 0 -> 23654 bytes ...rt-with-horizontal-Bars-firefox-darwin.png | Bin 0 -> 14661 bytes ...art-with-horizontal-Bars-webkit-darwin.png | Bin 0 -> 14783 bytes ...Chart-with-stacked-Bars-firefox-darwin.png | Bin 0 -> 14142 bytes ...nChart-with-stacked-Bars-webkit-darwin.png | Bin 0 -> 13981 bytes .../src/auto-generated/index.ts | 2 + 30 files changed, 672 insertions(+), 49 deletions(-) create mode 100644 apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/bar.tsx create mode 100644 apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx create mode 100644 apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barStacked.tsx create mode 100644 packages/components/src/components/CartesianChart/components/Bar/Bar.tsx create mode 100644 packages/components/src/components/CartesianChart/components/Bar/index.ts create mode 100644 packages/components/src/components/CartesianChart/components/Bar/view.ts create mode 100644 packages/components/src/components/CartesianChart/context.ts create mode 100644 packages/components/src/views/BarView.tsx create mode 100644 packages/design-tokens/src/dataVisualisation/bar.yml create mode 100644 packages/remote-elements/src/auto-generated/RemoteBarElement.ts create mode 100644 packages/remote-react-components/src/auto-generated/Bar.ts create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-darwin.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-darwin.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-darwin.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-webkit-darwin.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-firefox-darwin.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-webkit-darwin.png diff --git a/.idea/nx-angular-config.xml b/.idea/nx-angular-config.xml index 1928b6db9f..81b95d041b 100644 --- a/.idea/nx-angular-config.xml +++ b/.idea/nx-angular-config.xml @@ -1,22 +1,4 @@ - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/bar.tsx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/bar.tsx new file mode 100644 index 0000000000..f7cccf1f21 --- /dev/null +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/bar.tsx @@ -0,0 +1,62 @@ +import { + typedCartesianChart, + Heading, + Section, +} from "@mittwald/flow-react-components"; + +export default () => { + const data = [ + { + Monat: "Juli", + Datenbanken: 10, + Webspace: 15.4, + Email: 5.1, + }, + { + Monat: "August", + Datenbanken: 32.9, + Webspace: 25.6, + Email: 10, + }, + { + Monat: "September", + Datenbanken: 40, + Webspace: 20.2, + Email: 8, + }, + ]; + + const CartesianChart = typedCartesianChart<{ + Monat: string; + Datenbanken: number; + Webspace: number; + Email: number; + }>(); + + return ( +
+ Speicherplatz + + + + + + + + + + +
+ ); +}; diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx new file mode 100644 index 0000000000..d5353873df --- /dev/null +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx @@ -0,0 +1,41 @@ +import { + typedCartesianChart, + Heading, + Section, +} from "@mittwald/flow-react-components"; + +export default () => { + const data = [ + { Projekt: "Projekt A", Speicherplatz: 68 }, + { Projekt: "Projekt B", Speicherplatz: 42 }, + { Projekt: "Projekt C", Speicherplatz: 21 }, + ]; + + const CartesianChart = typedCartesianChart<{ + Projekt: string; + Speicherplatz: number; + }>(); + + return ( +
+ Speicherplatz pro Projekt + + + + + + + +
+ ); +}; diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barStacked.tsx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barStacked.tsx new file mode 100644 index 0000000000..1bddcc3836 --- /dev/null +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barStacked.tsx @@ -0,0 +1,65 @@ +import { + typedCartesianChart, + Heading, + Section, +} from "@mittwald/flow-react-components"; + +export default () => { + const data = [ + { + Monat: "Juli", + Datenbanken: 10, + Webspace: 15.4, + Email: 5.1, + }, + { + Monat: "August", + Datenbanken: 32.9, + Webspace: 25.6, + Email: 10, + }, + { + Monat: "September", + Datenbanken: 40, + Webspace: 20.2, + Email: 8, + }, + ]; + + const CartesianChart = typedCartesianChart<{ + Monat: string; + Datenbanken: number; + Webspace: number; + Email: number; + }>(); + + return ( +
+ Speicherplatz + + + + + + + + + + +
+ ); +}; diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx index 4de8d8e075..ba6a59eb2d 100644 --- a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx @@ -1,8 +1,8 @@ --- component: CartesianChart description: - Das CartesianChart stellt Metriken über Zeit als Liniendiagramm oder - Flächendiagramm dar. + Das CartesianChart stellt Metriken als Linien-, Flächen- oder Balkendiagramm + dar. --- @@ -17,13 +17,16 @@ description: dar. - Sortiere die Areas bei der Area-Darstellung nach Größe, die größte unten. - Halte die Zahl der Dimensionen übersichtlich. Das sichert die Lesbarkeit. +- Bei der Bar-Darstellung darf die x-Achse auch kategorisch sein. Balken + vergleichen Kategorien, nicht nur Zeitpunkte. +- Stapele Balken nur dort, wo die Summe eine Bedeutung hat. --- # Darstellungstypen Im CartesianChart können unterschiedliche Darstellungstypen wie ``, -`` oder eine Kombination aus beiden verwendet werden. +``, `` oder eine Kombination daraus verwendet werden. ## Line @@ -39,6 +42,33 @@ Anteil einzelner Objekte daran. +## Bar + +Vergleicht Werte einzelner Kategorien miteinander. Ohne `stackId` stehen die +Balken einer Kategorie nebeneinander. + + + +Mehrere `` mit derselben `stackId` werden gestapelt. Das zeigt den Anteil +einzelner Objekte am Gesamtwert einer Kategorie. + + + +--- + +# Ausrichtung + +Die Property `layout` bestimmt, wo die Kategorie-Achse liegt. Mit dem Default +`horizontal` liegt sie auf der x-Achse, die Balken wachsen nach oben. Mit +`vertical` liegt sie auf der y-Achse und die Balken wachsen zur Seite. Dafür +braucht die `` ein `type="number"` und die `` ein +`type="category"` mit dem `dataKey`. + +Nutze die vertikale Ausrichtung für lange Kategorie-Namen oder für viele +Kategorien. + + + --- # Color diff --git a/apps/remote-dom-demo/src/app/remote/chart/page.tsx b/apps/remote-dom-demo/src/app/remote/chart/page.tsx index f05ff09a15..49328af82d 100644 --- a/apps/remote-dom-demo/src/app/remote/chart/page.tsx +++ b/apps/remote-dom-demo/src/app/remote/chart/page.tsx @@ -2,6 +2,7 @@ import { Area, + Bar, CartesianChart, CartesianGrid, ChartTooltip, @@ -69,10 +70,31 @@ export default function Page() { ); }; + const BarChart: FC<{ layout: "horizontal" | "vertical" }> = ({ layout }) => { + const vertical = layout === "vertical"; + + return ( + + + + + {vertical ? : } + {vertical ? ( + + ) : ( + + )} + + + ); + }; + return ( <> + + ); } diff --git a/packages/components/src/components/CartesianChart/CartesianChart.tsx b/packages/components/src/components/CartesianChart/CartesianChart.tsx index e3280d8da6..2c2bd00405 100644 --- a/packages/components/src/components/CartesianChart/CartesianChart.tsx +++ b/packages/components/src/components/CartesianChart/CartesianChart.tsx @@ -14,10 +14,13 @@ import { useChartClipRect } from "@/components/CartesianChart/hooks/useChartClip import DivView from "@/views/DivView"; import Wrap from "@/components/Wrap"; import type { + CartesianChartLayout, ChartDataValue, DataKeyProp, } from "@/components/CartesianChart/types"; +import { CartesianChartContextProvider } from "@/components/CartesianChart/context"; import { TypedArea } from "@/components/CartesianChart/components/Area"; +import { TypedBar } from "@/components/CartesianChart/components/Bar"; import { TypedXAxis } from "@/components/CartesianChart/components/XAxis"; import { TypedYAxis } from "@/components/CartesianChart/components/YAxis"; import { TypedChartGrid } from "@/components/CartesianChart/components/ChartGrid"; @@ -44,6 +47,17 @@ export interface CartesianChartProps /** The height of the chart. */ height?: string; + /** + * The orientation of the axes and graphical items. `"horizontal"` puts the + * category axis on the x-axis — bars grow upwards. `"vertical"` puts it on + * the y-axis — bars grow to the side. A vertical layout needs a numeric + * `XAxis` (`type="number"`) and a categorical `YAxis` (`type="category"` with + * the `dataKey`). + * + * @default "horizontal" + */ + layout?: CartesianChartLayout; + /** View that is provided when data is empty/undefined */ emptyView?: ReactNode; @@ -56,8 +70,16 @@ export interface CartesianChartProps /** @flr-generate all */ export const CartesianChart: FC = (props) => { - const { children, data, className, height, flexGrow, emptyView, ...rest } = - props; + const { + children, + data, + className, + height, + flexGrow, + emptyView, + layout = "horizontal", + ...rest + } = props; const warnDeprecation = useWarnDeprecation(); const { viewDimensions, ref: containerRef } = useChartClipRect(); @@ -88,32 +110,41 @@ export const CartesianChart: FC = (props) => { return null; }, [emptyView]); + const contextValue = useMemo(() => ({ layout }), [layout]); + return ( - -
- - - {children} - {showEmptyView && viewDimensions && ( - - - {emptyElement} - - - )} - - -
-
+ + +
+ + + {children} + {showEmptyView && viewDimensions && ( + + + {emptyElement} + + + )} + + +
+
+
); }; @@ -124,6 +155,7 @@ export const typedCartesianChart = < >() => ({ Chart: CartesianChart as ComponentType>, Area: TypedArea(), + Bar: TypedBar(), XAxis: TypedXAxis(), YAxis: TypedYAxis(), Grid: TypedChartGrid(), diff --git a/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx b/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx new file mode 100644 index 0000000000..403d22d428 --- /dev/null +++ b/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx @@ -0,0 +1,77 @@ +import { type ComponentType, type FC } from "react"; +import * as Recharts from "recharts"; +import type { CategoricalWithCustomColor } from "@/lib/tokens/CategoricalColors"; +import { isCategoricalColor } from "@/lib/tokens/isCategoricalColor"; +import { + type ChartDataValue, + type DataKeyProp, + type DataKeyWithLabel, + isDataKeyWithLabel, +} from "@/components/CartesianChart/types"; +import { useCartesianChartContext } from "@/components/CartesianChart/context"; +import { useDesignTokens } from "@/lib/theming"; + +type BarBaseProps = Pick< + Recharts.BarProps, + | "className" + | "stackId" + | "key" + | "xAxisId" + | "yAxisId" + | "unit" + | "barSize" + | "maxBarSize" + | "minPointSize" +> & { + /** The color of the bar. @default "sea-green" */ + color?: CategoricalWithCustomColor; +}; + +export interface BarPropsByDataKeyProp< + TData extends ChartDataValue = ChartDataValue, +> extends BarBaseProps { + dataKey: DataKeyProp; +} + +export interface BarPropsByDataKey< + TData extends ChartDataValue = ChartDataValue, +> + extends BarBaseProps, DataKeyWithLabel {} + +export type BarProps = + | BarPropsByDataKey + | BarPropsByDataKeyProp; + +/** @flr-generate all */ +export const Bar: FC = (props) => { + const { color: colorFromProps = "sea-green", ...rest } = props; + + const tokens = useDesignTokens(); + const { layout } = useCartesianChartContext(); + + const color = isCategoricalColor(colorFromProps) + ? `var(--color--categorical--${colorFromProps})` + : colorFromProps; + + const cornerRadius = parseInt(tokens.bar["corner-radius"].value); + const radius: Recharts.BarProps["radius"] = + props.stackId !== undefined + ? 0 + : layout === "vertical" + ? [0, cornerRadius, cornerRadius, 0] + : [cornerRadius, cornerRadius, 0, 0]; + + return ( + + ); +}; + +export const TypedBar = () => + Bar as ComponentType>; + +export default Bar; diff --git a/packages/components/src/components/CartesianChart/components/Bar/index.ts b/packages/components/src/components/CartesianChart/components/Bar/index.ts new file mode 100644 index 0000000000..77f082917d --- /dev/null +++ b/packages/components/src/components/CartesianChart/components/Bar/index.ts @@ -0,0 +1,2 @@ +export { default } from "./Bar"; +export * from "./Bar"; diff --git a/packages/components/src/components/CartesianChart/components/Bar/view.ts b/packages/components/src/components/CartesianChart/components/Bar/view.ts new file mode 100644 index 0000000000..f900348858 --- /dev/null +++ b/packages/components/src/components/CartesianChart/components/Bar/view.ts @@ -0,0 +1,10 @@ +/* prettier-ignore */ +/* This file is auto-generated with the remote-components-generator */ +import type { Bar } from "./Bar"; +import type { ViewComponent } from "@/lib/viewComponentContext"; + +declare global { + interface FlowViewComponents { + Bar: ViewComponent; + } +} diff --git a/packages/components/src/components/CartesianChart/context.ts b/packages/components/src/components/CartesianChart/context.ts new file mode 100644 index 0000000000..615230f7ac --- /dev/null +++ b/packages/components/src/components/CartesianChart/context.ts @@ -0,0 +1,15 @@ +import { createContext, useContext } from "react"; +import type { CartesianChartLayout } from "@/components/CartesianChart/types"; + +interface CartesianChartContext { + layout: CartesianChartLayout; +} + +const cartesianChartContext = createContext({ + layout: "horizontal", +}); + +export const useCartesianChartContext = (): CartesianChartContext => + useContext(cartesianChartContext); + +export const CartesianChartContextProvider = cartesianChartContext.Provider; diff --git a/packages/components/src/components/CartesianChart/index.ts b/packages/components/src/components/CartesianChart/index.ts index 43584d2000..c87c43ce79 100644 --- a/packages/components/src/components/CartesianChart/index.ts +++ b/packages/components/src/components/CartesianChart/index.ts @@ -7,6 +7,7 @@ export { } from "./CartesianChart"; export * from "./components/Area"; export * from "./components/AreaDot"; +export * from "./components/Bar"; export * from "./components/Line"; export * from "./components/ChartTooltip"; export * from "./components/ChartGrid"; diff --git a/packages/components/src/components/CartesianChart/stories/Default.stories.tsx b/packages/components/src/components/CartesianChart/stories/Default.stories.tsx index e0bea44c78..98f5b8590e 100644 --- a/packages/components/src/components/CartesianChart/stories/Default.stories.tsx +++ b/packages/components/src/components/CartesianChart/stories/Default.stories.tsx @@ -1,6 +1,8 @@ import type { Meta, StoryObj } from "@storybook/react"; import CartesianChart, { typedCartesianChart } from "../CartesianChart"; import Area from "../components/Area"; +import Bar from "../components/Bar"; +import Line from "../components/Line"; import IllustratedMessage from "@/components/IllustratedMessage"; import { Heading, IconMonitoring } from "@/components/public"; import ChartTooltip from "@/components/CartesianChart/components/ChartTooltip/ChartTooltip"; @@ -283,3 +285,62 @@ export const WithIntlNumberFormat: Story = { ), }; + +export const WithBars: Story = { + render: (props) => ( + + + + + + + + + + + ), +}; + +export const WithStackedBars: Story = { + render: (props) => ( + + + + + + + + + + + ), +}; + +export const WithHorizontalBars: Story = { + render: (props) => ( + + + + + + + + + + ), +}; + +export const WithBarsAndLine: Story = { + render: (props) => ( + + + + + + + + + + + ), +}; diff --git a/packages/components/src/components/CartesianChart/typedCartesianChart.test-types.tsx b/packages/components/src/components/CartesianChart/typedCartesianChart.test-types.tsx index 46f68dbfb2..8205e6dd34 100644 --- a/packages/components/src/components/CartesianChart/typedCartesianChart.test-types.tsx +++ b/packages/components/src/components/CartesianChart/typedCartesianChart.test-types.tsx @@ -6,6 +6,7 @@ import { ChartLegend } from "@/components/CartesianChart/components/ChartLegend" import { XAxis } from "@/components/CartesianChart/components/XAxis"; import type { ChartDataValue } from "@/components/CartesianChart/types"; import { Area } from "@/components/CartesianChart/components/Area"; +import { Bar } from "@/components/CartesianChart/components/Bar"; interface ChartData { time: Date; @@ -34,6 +35,17 @@ function filters() { 3} />; } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + function testKnownBarProperty() { + ; + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + function testUnknownBarProperty() { + // @ts-expect-error Is unknown + ; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars function testLegendFormatter() { ; } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + function testUntypedBarWithDataKeyAndLabel() { + ; + { + expectTypeOf(data).toMatchTypeOf(); + return 1337; + }} + dataKeyLabel={"foo"} + />; + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + function testUntypedBarWithDataKeyMissingLabel() { + // @ts-expect-error Is unknown + { + expectTypeOf(data).toMatchTypeOf(); + return 1337; + }} + />; + } } diff --git a/packages/components/src/components/CartesianChart/types.ts b/packages/components/src/components/CartesianChart/types.ts index 5dc623d591..1ecf7e2abf 100644 --- a/packages/components/src/components/CartesianChart/types.ts +++ b/packages/components/src/components/CartesianChart/types.ts @@ -37,3 +37,10 @@ export const isDataKeyWithLabel = ( typeof obj.dataKeyLabel === "string" ); }; + +/** + * The orientation of the chart's axes and graphical items. `"horizontal"` puts + * the category axis on the x-axis (bars grow upwards), `"vertical"` puts it on + * the y-axis (bars grow to the side). + */ +export type CartesianChartLayout = "horizontal" | "vertical"; diff --git a/packages/components/src/views/BarView.tsx b/packages/components/src/views/BarView.tsx new file mode 100644 index 0000000000..293f96dbe3 --- /dev/null +++ b/packages/components/src/views/BarView.tsx @@ -0,0 +1,16 @@ +/* prettier-ignore */ +/* This file is auto-generated with the remote-components-generator */ +import React, { memo, type FC, useContext } from "react"; +import { + Bar, + type BarProps, +} from "@/components/CartesianChart/components/Bar/Bar"; +import { viewComponentContext } from "@/lib/viewComponentContext/viewComponentContext"; + +const BarView: FC = memo((props) => { + const View = useContext(viewComponentContext)["Bar"] ?? Bar; + return ; +}); +BarView.displayName = "BarView"; + +export default BarView; diff --git a/packages/design-tokens/src/dataVisualisation/bar.yml b/packages/design-tokens/src/dataVisualisation/bar.yml new file mode 100644 index 0000000000..fff0a7bb4f --- /dev/null +++ b/packages/design-tokens/src/dataVisualisation/bar.yml @@ -0,0 +1,3 @@ +bar: + corner-radius: + value: "{corner-radius.s}" diff --git a/packages/remote-elements/src/auto-generated/RemoteBarElement.ts b/packages/remote-elements/src/auto-generated/RemoteBarElement.ts new file mode 100644 index 0000000000..2699bf60d8 --- /dev/null +++ b/packages/remote-elements/src/auto-generated/RemoteBarElement.ts @@ -0,0 +1,43 @@ +/* prettier-ignore */ +/* This file is auto-generated with the remote-components-generator */ +import { FlowRemoteElement } from "@/lib/FlowRemoteElement"; +import type { BarProps as RemoteBarElementProps } from "@mittwald/flow-react-components"; +export type { BarProps as RemoteBarElementProps } from "@mittwald/flow-react-components"; + +export class RemoteBarElement extends FlowRemoteElement { + static override get remoteAttributes() { + return ["style"]; + } + + static override get remoteProperties() { + return { + barSize: {}, + className: {}, + color: {}, + dataKey: {}, + dataKeyLabel: {}, + maxBarSize: {}, + minPointSize: {}, + stackId: {}, + unit: {}, + xAxisId: {}, + yAxisId: {}, + }; + } + + static override get remoteEvents() { + return {}; + } + + static override get remoteSlots() { + return []; + } +} + +declare global { + interface HTMLElementTagNameMap { + "flr-bar": InstanceType; + } +} + +customElements.define("flr-bar", RemoteBarElement); diff --git a/packages/remote-elements/src/auto-generated/RemoteCartesianChartElement.ts b/packages/remote-elements/src/auto-generated/RemoteCartesianChartElement.ts index 64acc3e8ba..061eb47608 100644 --- a/packages/remote-elements/src/auto-generated/RemoteCartesianChartElement.ts +++ b/packages/remote-elements/src/auto-generated/RemoteCartesianChartElement.ts @@ -15,6 +15,7 @@ export class RemoteCartesianChartElement extends FlowRemoteElement { + await render( + + + + + + + + + , + ); + + await testScreenshot("CartesianChart with Bars"); + }, +); + +test.each(testEnvironments)( + "CartesianChart with stacked Bars (%s)", + async ({ + testScreenshot, + render, + components: { CartesianChart, ChartGrid, Bar, XAxis, YAxis, ChartLegend }, + }) => { + await render( + + + + + + + + , + ); + + await testScreenshot("CartesianChart with stacked Bars"); + }, +); + +test.each(testEnvironments)( + "CartesianChart with horizontal Bars (%s)", + async ({ + testScreenshot, + render, + components: { CartesianChart, ChartGrid, Bar, XAxis, YAxis, ChartLegend }, + }) => { + await render( + + + + + + + + , + ); + + await testScreenshot("CartesianChart with horizontal Bars"); + }, +); diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-darwin.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..1b83818e993f219c43edc2442979b00dde39bf1a GIT binary patch literal 23828 zcmd?RcU)8H+BJ+i%2;Zd+^7vN5C82cUYf^$z)LVkK4MQ2j;&VjT+p1+_x?Ie3ZBG#DQfF zvj7Dv)wJJLONoY74G8`p)TUK#Vf86ChH@0yL6_~S@{_jc3jWx`}|vbJ}yDh z+zIDZG5p|Vdzlyky{lp*idR(_AE_o7q4q!GZ_9=6e}u8t=h?qORa_`+|EFp3(aQTj zCA7Bi{cO(q|6k3Oe-Rdu>MM5QjTJf*RJDE09QRH!u$k!M1N&qb;yt<{wXrz(bGcmQ zejPe5h(zuZm-gnWcH~A|1ZX&VeIR=4kjAhx$#gdoy&_7^%hMT_!nd>>8wFQrk|qvk z)Qof1zTw@f3tLVnVN*{w?lu(o{>e-K$ZG}X`MK(*ImbRN$fBdz4RV}Fsr1FkwH_~F zxlJzHm{spu${<|yMP2RoHX0}Dw{~`GY!l7PySJS}OlE`E?J0+@4%TjS!k1!Y<^8cJj-mxJjweJ_{^SpFEza43GGVktq z?cFSsC$s)^a#$puwEZ$=j~y$`6Sj?@ZwYM8H2TGxR(c>8=Z!}8u$!x6OM4@+Qe8k?)(QLRYmsgNt}&IV!GR`kg+%;A$D##M4} zO?!{OH=&MYtTn!Kcf*Nx)4Y9r&}s6cGS6c;kNEn$xHfWS;;>^4QNKM|4mVz3wqmZZ zlF~mL5y(5SgPsX^@sFmWU<13}_Jv$ixVl@TBR|=$nJ6&j0`*g3;&(?R&`dG<%Zn{n zB@0OldilwhH$=DC*jhW1@qFawE z$_3`WVD@OeOSJ}bN?QRJR2h#X@s5A%#9xF`gdpi~&|GKeZZTnO#-!EZd-Buu*6F(s z_g?7Nwvo__CnC8p`3L+tO{6$Z-WhXwdFPP?$4b?Gsf)iKG$tPRCxs~UF_JGq@6xfV zJeTLz>0csRE><2xYB+?7%gdUicRNuYDU7e#1e~1;cMbV6{%G^3*Mlu2$RO9C;j;M!7Zl<0Lg`8j0OXojTW z^f>LGz(#}>`E!BBs zE29!cFY^^ppjjxqWvo$es+!31#_C07A(jy{GfU+w;*v?0K3>n>PVPyuIr1lQZlZ33 z9^;25Gy^XW-SS%wq@PK5dBa9uW{w*u_TWX6mgtI$K9h+}MJH?5Icpoj=nK4;G<7l- z%Qxla*UA*W*6cCQY*g$fqW5%mCq#F-3VNXEMG0X2&M@H6Ox^o9r7GvQ&RmJll_jxP z%pc8al(w(X#2Tp%@^UiG;U_WHijFH8il^2TTAcBI{h|?9+nRGjLVTn&4=KPpus%9uaRUFe_O_Lv%;Fv27}IW&jXAh z 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%0DRBp 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 literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-darwin.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..631e880b30b0959f888b3b2e6d99c7af1f5a5664 GIT binary patch literal 23654 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 JUApu1e*xUN!Jq&D literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-darwin.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..13014d401c8c54b7d5a88298a80c05527c10aea0 GIT binary patch literal 14661 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 literal 0 HcmV?d00001 diff --git a/packages/remote-react-renderer/src/auto-generated/index.ts b/packages/remote-react-renderer/src/auto-generated/index.ts index aa4f789d22..b898cf7c7e 100644 --- a/packages/remote-react-renderer/src/auto-generated/index.ts +++ b/packages/remote-react-renderer/src/auto-generated/index.ts @@ -14,6 +14,7 @@ import { Autocomplete as Autocomplete } from "@mittwald/flow-react-components"; import { Avatar as Avatar } from "@mittwald/flow-react-components"; import { AvatarStack as AvatarStack } from "@mittwald/flow-react-components"; import { Badge as Badge } from "@mittwald/flow-react-components"; +import { Bar as Bar } from "@mittwald/flow-react-components"; import { BigNumber as BigNumber } from "@mittwald/flow-react-components"; import { Breadcrumb as Breadcrumb } from "@mittwald/flow-react-components"; import { Button as Button } from "@mittwald/flow-react-components"; @@ -160,6 +161,7 @@ export const flowComponents = { AvatarStack, ), "flr-badge": createFlowRemoteComponentRenderer("Badge", Badge), + "flr-bar": createFlowRemoteComponentRenderer("Bar", Bar), "flr-big-number": createFlowRemoteComponentRenderer("BigNumber", BigNumber), "flr-breadcrumb": createFlowRemoteComponentRenderer("Breadcrumb", Breadcrumb), "flr-button": createFlowRemoteComponentRenderer("Button", Button), From df4b68208a28fcbd69e5860067f7e4dfe60483ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2026 08:15:59 +0000 Subject: [PATCH 2/5] test: update visual regression screenshots Co-authored-by: BenniEngel <187296787+BenniEngel@users.noreply.github.com> --- .../CartesianChart-with-Bars-firefox-linux.png | Bin 0 -> 23284 bytes .../CartesianChart-with-Bars-webkit-linux.png | Bin 0 -> 23307 bytes ...Chart-with-horizontal-Bars-firefox-linux.png | Bin 0 -> 14134 bytes ...nChart-with-horizontal-Bars-webkit-linux.png | Bin 0 -> 14136 bytes ...ianChart-with-stacked-Bars-firefox-linux.png | Bin 0 -> 13724 bytes ...sianChart-with-stacked-Bars-webkit-linux.png | Bin 0 -> 13690 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-linux.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-linux.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-linux.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-webkit-linux.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-firefox-linux.png create mode 100644 packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-webkit-linux.png diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-linux.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..6007cdd4ec6b39905521e4745e8bdd9b61e16f44 GIT binary patch literal 23284 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 Wf7n}?H322F+Fh+Xg}2TB_CEl5X#_a{ literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-linux.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-Bars-webkit-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac0988f569a8b201f2fd5d1a66dcdc32953c882 GIT binary patch literal 23307 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%0DqqT>S%;@3 z!>B)o+@O&?F^y@6E$Dxbd_4e%=H9VJ!ug4lWpm7$>hCB}FVlMu59oUi{w?^Z8A}*_ z*Xm>b@>n>I_6euw&FPYj_FU{pc0WGBC?=*=ZNs@;*Q!b1xlI&tIF`a6{PV`MIT#9W zN?N{ddJ+D;zDFAsB=`#q`tF@}j*E8`@Ut^$VR7Jhht;w!poP~EdJyyP0OFVuXs^0SJ zXQUX^(iYa%jlN%2_8iF`|D0krP~q27?3xkd^wl1V|18jg57)D6=y7v&9G}&I>@GV0 zno+#*m53THGOHYyYteeqrYrYd(ZF9ZqC@ZY_1#|pn&?Mf(<*QDUY`zO5i!RjYf8x| z3qNEY7nj$rFT!S*kB90YN}??s zmn8`JSC!~M4%c6@R;gv~`>9_@+0&9%gv!4@e&l9kT!J*DT4%xn4i!+$3)FmU9<>7eH z<`B~YsC@VfbhOw%kPc9q+<`jTb*~GUKKB$b+#{D>(}&Qe!5m1DL6NZUSe=b`*_4^) zcj8++ZM$u6uMqQrcijuUkL`tE-U2G4Y?&s(tu+eh{ zilNun`xoYxI+TIBAT@q@YHo|tYIi>+ZrjFsa?@Uc)WAQANMmtg8p*241W0Z_HPp=G z{bYk)+N{;7;e!;ontXddr=$kI6zWJ;OHz#rE@(|wn-QG-7NTahvDBevVq(Jd>+wJZ z(ubkDXYp`1^c%hfDX_=&y7mi+gCT4S=c?IVzrIFxo3^>WKa>R0BG;#}0<_rmB*aS0 zveBErZ4$>}%>!;mtDsivV(hzS$th)C5e-IMp69{q?2SA16d_7u29&6eQ;C>}=5r zZLL#B==d+boXy*j&_j6B5!1ZrAaclAa$kakE-m6nr$}MWP2=oRtKKFLMkPw5QSbMY8VR%_nd zdGa=-tItoQnLTKOx-PJ~-p_?Av>$eyON=nX%6dWkMp!Qp(~$l2oO-fjVaz08 z^fiB6<5haD_gvIPbBoqAy@JW|{xXS??{=fj#T2M-JosB{*|FMOU~EReIhNp z$HB{C7GNLfTdV@7*CnHkwWpmHH5?#oQ%l(BIUZf{cCMc#Qx0?xumlWF5rvWvE}6X+ z9$Mtzq@(Z55xro$NNnX-lUZ__UTf%$60^|_e_g?_`6DL=`Iwid@nX}r^>q;m* zqIye11K~apQKthq@ANd5EPQ}SZ?HF_ODk9kdmz-KhSnx9t+wab&DIV z&ZCo6NYlNJ^}^^ND1*Qx`>QXmwdsX^|Xr1l#DlWMuGwVn*d;x;jgjohHPt1;E^?Vt)s z33mu@a>+=HY;=|Vq}m!pV3Dt@*aA*%w2jLks4A;x4x{G##p(~bf%p&Jzfcg~dvw6i z&>Qxs#=VasLV{DZvg%Xp@To@n#ol>+KArYh?@w=lf?`09iqtZSjgAu0Lm28zf=10+ zs>BDAvW2F**{dI>jeoFe5yS9#;W#q-ma+{#<|jUXBsNsF$wJq0by3o~#_8AnCWLtc zTHf2!U8dG=-JfhHJC4xm=VDV#;c@$;8E^VF?b=EAq(JMxqtW<(zeV})Z_@pbba?-5 zzJHq!Ddzv}L;p6y|M+>4f1}C21L^+(G^wDra3^=K$CXB zrNiy23W(_rJgNZ$tcl?Gf#C{Rz@cOKFKKh(jvg MP`#dh?cTHh4cAFYl>h($ literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-linux.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-horizontal-Bars-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..edd8d188f5c5b317d72667ebf63ac70f68b27732 GIT binary patch literal 14134 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 aLohNdx)yuO>j}iKE}U~cTlwX;-~SJTqM0-R literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-firefox-linux.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-firefox-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f764db62621fb4e63ca17df2920f30bf117c223f GIT binary patch literal 13724 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 literal 0 HcmV?d00001 diff --git a/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-webkit-linux.png b/packages/remote-react-components/src/tests/visual/__screenshots__/CartesianChart.browser.test.tsx/CartesianChart-with-stacked-Bars-webkit-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b2eb8a96e9742932d70f54971f09d96501ff8f4c GIT binary patch literal 13690 zcmeHtd011|`fjYP)LP+K6%Qg%YaN*s3K+&(iik`KA~Hs062c&a00ENN+Da7^lrca^ zl}SKANC3lVMHv$!1c-zoD3BPY03m^dA$M&&J@>ii_MYdQ=icW&=XY=aAbXSSwfEX< zed~SS@BP;8b9R>7Kim5m3@2q80-^p`qAr8w}1l!JA4ra(>rDL{izF4o2Gx0 z%jVqt&1{Z=6@*0&q#xaJ;Pln_(uclxAHO`NSL{kDj&O1cbc*@8=S^=wuJ5oTr8;x} z#nMZ+fBN!N5^-p4y@4m{5O$0qe!NKPG!QJ+6)z}k0#AXRE&3EXoO88+4mWy^eFPm- zF7AL1zf$f%2Uxz-$I#(O=~vL|xF06&xOkOwW?+P_npu4N# zSFO6FbPLS;`}d2=%R8%Y*3d>`rZXQM(P5R8C$=j!-||~jFZa1`5$#PfiDVQgm#RU- zag82O`Iij6m1u!!9Ta$k$9~-XKW#xm@n&W=p-XtMiB9^OP$^rKNO*h{2

R9qs}eb*}E^)ZMyay}AS5%_5z0 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 TP#%G_kClbp_hsK*{_(#7`dVY+ literal 0 HcmV?d00001 From d703ed32b731e017caa439ac44e729c724a9127c Mon Sep 17 00:00:00 2001 From: BenniEngel Date: Tue, 25 Aug 2026 15:41:11 +0200 Subject: [PATCH 3/5] fix(CartesianChart): infer axis type from the chart layout and cleanup --- .../cartesian-chart/examples/barHorizontal.tsx | 7 ++----- .../data-visualisation/cartesian-chart/index.mdx | 13 ++++++------- apps/remote-dom-demo/src/app/remote/chart/page.tsx | 4 ++-- .../components/CartesianChart/CartesianChart.tsx | 6 +++--- .../CartesianChart/components/XAxis/XAxis.tsx | 5 ++++- .../CartesianChart/components/YAxis/YAxis.tsx | 3 ++- .../CartesianChart/stories/Default.stories.tsx | 4 ++-- .../tests/visual/CartesianChart.browser.test.tsx | 4 ++-- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx index d5353873df..2f8ee4ea4d 100644 --- a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/examples/barHorizontal.tsx @@ -28,11 +28,8 @@ export default () => { dataKey="Speicherplatz" unit="GB" /> - - + + diff --git a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx index ba6a59eb2d..3c53fd17f5 100644 --- a/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx +++ b/apps/docs/src/content/04-components/data-visualisation/cartesian-chart/index.mdx @@ -54,18 +54,17 @@ einzelner Objekte am Gesamtwert einer Kategorie. ---- - -# Ausrichtung +### Ausrichtung Die Property `layout` bestimmt, wo die Kategorie-Achse liegt. Mit dem Default `horizontal` liegt sie auf der x-Achse, die Balken wachsen nach oben. Mit -`vertical` liegt sie auf der y-Achse und die Balken wachsen zur Seite. Dafür -braucht die `` ein `type="number"` und die `` ein -`type="category"` mit dem `dataKey`. +`vertical` liegt sie auf der y-Achse und die Balken wachsen zur Seite. Der +`dataKey` wandert dabei auf die ``, die Achsentypen ergeben sich von +selbst. Nutze die vertikale Ausrichtung für lange Kategorie-Namen oder für viele -Kategorien. +Kategorien. Nur Balken lassen sich sinnvoll drehen. `` und `` +zeigen einen Verlauf und bleiben horizontal. diff --git a/apps/remote-dom-demo/src/app/remote/chart/page.tsx b/apps/remote-dom-demo/src/app/remote/chart/page.tsx index 49328af82d..b420d4aac5 100644 --- a/apps/remote-dom-demo/src/app/remote/chart/page.tsx +++ b/apps/remote-dom-demo/src/app/remote/chart/page.tsx @@ -78,9 +78,9 @@ export default function Page() { - {vertical ? : } + {vertical ? : } {vertical ? ( - + ) : ( )} diff --git a/packages/components/src/components/CartesianChart/CartesianChart.tsx b/packages/components/src/components/CartesianChart/CartesianChart.tsx index 2c2bd00405..afbf088a4c 100644 --- a/packages/components/src/components/CartesianChart/CartesianChart.tsx +++ b/packages/components/src/components/CartesianChart/CartesianChart.tsx @@ -50,9 +50,9 @@ export interface CartesianChartProps /** * The orientation of the axes and graphical items. `"horizontal"` puts the * category axis on the x-axis — bars grow upwards. `"vertical"` puts it on - * the y-axis — bars grow to the side. A vertical layout needs a numeric - * `XAxis` (`type="number"`) and a categorical `YAxis` (`type="category"` with - * the `dataKey`). + * the y-axis — bars grow to the side. `XAxis` and `YAxis` follow the layout + * on their own; only the `dataKey` moves to whichever axis is the categorical + * one. * * @default "horizontal" */ diff --git a/packages/components/src/components/CartesianChart/components/XAxis/XAxis.tsx b/packages/components/src/components/CartesianChart/components/XAxis/XAxis.tsx index cbbb3da78e..4690b07853 100644 --- a/packages/components/src/components/CartesianChart/components/XAxis/XAxis.tsx +++ b/packages/components/src/components/CartesianChart/components/XAxis/XAxis.tsx @@ -31,11 +31,14 @@ export type XAxisProps< /** @flr-generate all */ export const XAxis: FC = (props) => { + const { type = "auto", ...rest } = props; + const tokens = useDesignTokens(); return ( = (props) => { - const { domain, ...rest } = props; + const { domain, type = "auto", ...rest } = props; const tokens = useDesignTokens(); @@ -39,6 +39,7 @@ export const YAxis: FC = (props) => { {...rest} allowDataOverflow domain={domain} + type={type} fontSize={tokens.axis["font-size"].value} tick={{ fill: tokens.axis["color"].value, diff --git a/packages/components/src/components/CartesianChart/stories/Default.stories.tsx b/packages/components/src/components/CartesianChart/stories/Default.stories.tsx index 98f5b8590e..777bcfbc9e 100644 --- a/packages/components/src/components/CartesianChart/stories/Default.stories.tsx +++ b/packages/components/src/components/CartesianChart/stories/Default.stories.tsx @@ -321,8 +321,8 @@ export const WithHorizontalBars: Story = { - - + + diff --git a/packages/remote-react-components/src/tests/visual/CartesianChart.browser.test.tsx b/packages/remote-react-components/src/tests/visual/CartesianChart.browser.test.tsx index 5d5466e224..0d439fd21c 100644 --- a/packages/remote-react-components/src/tests/visual/CartesianChart.browser.test.tsx +++ b/packages/remote-react-components/src/tests/visual/CartesianChart.browser.test.tsx @@ -183,8 +183,8 @@ test.each(testEnvironments)( - - + + , ); From 95a31021f2c4b12b8408644aa6ae1f75947ef292 Mon Sep 17 00:00:00 2001 From: BenniEngel Date: Tue, 25 Aug 2026 15:42:32 +0200 Subject: [PATCH 4/5] chore: drop unrelated .idea config change Co-Authored-By: Claude Opus 5 (1M context) --- .idea/nx-angular-config.xml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.idea/nx-angular-config.xml b/.idea/nx-angular-config.xml index 81b95d041b..1928b6db9f 100644 --- a/.idea/nx-angular-config.xml +++ b/.idea/nx-angular-config.xml @@ -1,4 +1,22 @@ - + + + + + + + + + + + + + + + + + + + \ No newline at end of file From d8be1bdb14f02112eb22133923d0d22da4dad362 Mon Sep 17 00:00:00 2001 From: BenniEngel Date: Fri, 28 Aug 2026 15:39:57 +0200 Subject: [PATCH 5/5] style(CartesianChart): reformat Bar union type after prettier change Co-Authored-By: Claude Opus 5 (1M context) --- .../src/components/CartesianChart/components/Bar/Bar.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx b/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx index 403d22d428..bfc366303e 100644 --- a/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx +++ b/packages/components/src/components/CartesianChart/components/Bar/Bar.tsx @@ -39,8 +39,7 @@ export interface BarPropsByDataKey< extends BarBaseProps, DataKeyWithLabel {} export type BarProps = - | BarPropsByDataKey - | BarPropsByDataKeyProp; + BarPropsByDataKey | BarPropsByDataKeyProp; /** @flr-generate all */ export const Bar: FC = (props) => {