+
+ {buttonV3Sizes.map((size) => (
+
+ {size}
+
+ ))}
+
+
+ {matrixRows.map(({ label, loading }) => (
+
+
+ {label}
+
+
+ {buttonV3Sizes.map((size) => (
+
+
+ {size !== 'tiny' ? 'Button' : undefined}
+
+
+ ))}
+
+ ))}
+
+ );
+};
+
+const IconMatrixGrid = ({
+ rows,
+ isOnDark = false,
+}: {
+ rows: ReadonlyArray<{
+ label: string;
+ icon: 'check_circle' | 'info' | 'delete' | 'keyboard_arrow_down' | 'home';
+ variant: ButtonV3Variant;
+ color: ButtonV3Color;
+ loading: boolean;
+ }>;
+ isOnDark?: boolean;
+}) => (
+
+
+ {buttonV3Sizes.map((size) => (
+
+ {size}
+
+ ))}
+
+
+ {rows.map(({ label, icon, loading, variant, color }) => (
+
+
+ {label}
+
+
+ {buttonV3Sizes.map((size) => {
+ const ariaLabel = `${label} ${size}`;
+
+ return (
+
+
+
+ );
+ })}
+
+ ))}
+
+);
+
+export const MatrixDefault: Story = {
+ parameters: { layout: 'fullscreen' },
+ render: () => (
+