import { layerIntents, layerVariants } from '@fuel-ui/css'; import { Box } from '../Box'; import { Heading } from '../Heading'; import { Icon } from '../Icon'; import { Button } from './Button'; import type { ButtonProps } from './defs'; export default { title: 'UI/Button', component: Button, argTypes: { size: { defaultValue: 'md', control: 'select', }, intent: { options: layerIntents, defaultValue: 'primary', control: 'select', }, variant: { defaultValue: 'solid', control: 'select', }, leftIcon: { options: Icon.iconList, control: 'select', }, rightIcon: { options: Icon.iconList, control: 'select', }, }, }; export const Sizes = (args: ButtonProps) => { return ( ); }; export const Variants = (args: ButtonProps) => ( ); export const intents = (args: ButtonProps) => ( {layerIntents.map((intent) => ( ))} ); export const AllCombinations = (args: ButtonProps) => ( <> Active {layerIntents.map((intent) => ( {layerVariants.map((variant) => ( ))} ))} Disabled {layerIntents.map((intent) => ( {layerVariants.map((variant) => ( ))} ))} ); export const WithIcon = (args: ButtonProps) => ( ); export const Loading = (args: ButtonProps) => ( ); export const CustomLoadingMessage = (args: ButtonProps) => ( ); export const Disabled = (args: ButtonProps) => ( ); /** * Styles */ const styles = { wrapper: { display: 'flex', alignItems: 'center', gap: '$4', }, gridList: { display: 'grid', gap: '$4', gridTemplateColumns: 'repeat(6, 1fr)', }, };