import type { Meta, StoryObj } from "@storybook/react";
const meta = {
title: "Tokens/Colors",
parameters: {
layout: "padded",
docs: {
description: {
component:
"Tokens couleur DSMMG. Les sémantiques se réfèrent aux primitives — c'est ce que les composants consomment. L'accent est user-themable via `[data-mmg-accent]`.",
},
},
},
} satisfies Meta;
export default meta;
type Story = StoryObj;
const Swatch = ({ name, css }: { name: string; css: string }) => (
);
const Grid = ({ children }: { children: React.ReactNode }) => (
{children}
);
export const Surfaces: Story = {
render: () => (
),
};
export const Borders: Story = {
render: () => (
),
};
export const Text: Story = {
render: () => (
),
};
export const Accent: Story = {
render: () => (
),
};
export const Semantic: Story = {
render: () => (
<>
Success
Warning
Danger
Info
>
),
};
const palette = (name: string, label: string) => {
const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
return (
<>
{label}
{shades.map((s) => (
))}
>
);
};
export const Palettes: Story = {
render: () => (
<>
{palette("synapse", "Synapse (default)")}
{palette("rose", "Rose")}
{palette("blue", "Blue")}
{palette("violet", "Violet")}
{palette("green", "Green")}
{palette("amber", "Amber")}
{palette("red", "Red")}
{palette("cyan", "Cyan")}
{palette("slate", "Slate")}
>
),
};