import { Meta, StoryObj } from "@storybook/react" import React from "react" import { TestGridContainer } from "../../../tests/TestGridContainer" import { Edit, Favorite, Flag } from "../../icons" import { Tooltip } from "../Tooltip" import { Button } from "./Button" type Story = StoryObj const meta: Meta = { title: "Design System/Button", component: Button, args: { children: "Click me", onClick: () => alert("Clicked!"), }, } export default meta export const Default: Story = {} export const Small: Story = { args: { size: "sm", }, } export const Large: Story = { args: { size: "lg", }, } export const Secondary: Story = { args: { variant: "secondary", }, } export const SecondaryTransparent: Story = { args: { variant: "secondary-transparent", }, } export const Tertiary: Story = { args: { variant: "tertiary", }, } export const Frosted: Story = { args: { variant: "frosted", }, } export const Destructive: Story = { args: { variant: "destructive", }, } export const Ghost: Story = { args: { variant: "ghost", }, } export const Disabled: Story = { args: { disabled: true, }, } export const WithIcon: Story = { args: { icon: Favorite, }, } export const WithCustomIcon: Story = { args: { icon: 👋, }, } export const WithRightIcon: Story = { args: { icon: Favorite, iconSide: "right", }, } export const Loading: Story = { args: { isLoading: true, }, } export const LoadingWithIcon: Story = { args: { children: null, icon: Edit, isLoading: true, }, } export const DestructiveWithIcon: Story = { args: { variant: "destructive", icon: Flag, }, } export const DestructiveLoading: Story = { args: { variant: "destructive", isLoading: true, }, } export const WithLink: Story = { args: { href: "https://www.opensea.io", }, } export const WithLinkAndTooltip: Story = { render: function Render() { return ( ) }, } export const WithLinkDisabled: Story = { args: { href: "https://www.opensea.io", disabled: true, }, } export const OnlyIcon: Story = { args: { icon: Favorite, children: null, }, } export const OnlyIconSmall: Story = { args: { icon: Favorite, children: null, size: "sm", }, } export const OnlyIconSecondary: Story = { args: { icon: Favorite, variant: "secondary", children: null, }, } export const AllVariants: Story = { render: function Render() { return (