import React from 'react'; import styled from 'styled-components'; import { Button, AnchorButton } from './index'; import { Spacer } from '@lendi/ui/Layout'; import Add from '@lendi-ui/icon/Add'; import ArrowForward from '@lendi-ui/icon/ArrowForward'; import ArrowBack from '@lendi-ui/icon/ArrowBack'; import Close from '@lendi-ui/icon/Close'; import { Spacing } from '../../tokens'; export const Interactive = (args) => ( ); export const ColouredDiv = styled.div` background-color: ${({ theme }) => theme.color.fill.contrast}; padding: ${Spacing.sm}; `; const actionButtonArgs = { onClick: (e) => console.log('click', e), variant: 'primary', }; Interactive.args = { ...actionButtonArgs, }; export const Variants = (args) => ( ); Variants.args = { ...actionButtonArgs, }; export const States = (args) => ( <>
); States.args = { ...actionButtonArgs, }; States.parameters = { pseudo: { hover: ['#hover', '#hover2', '#hover3', '#hover4', '#hover5', '#hover6'], active: ['#active', '#active2', '#active3', '#active4', '#active5', '#active6'], focusVisible: [ '#focus-visible', '#focus-visible2', '#focus-visible3', '#focus-visible4', '#focus-visible5', '#focus-visible6', ], }, attributes: { disabled: ['#disabled', '#disabled2', '#disabled3', '#disabled4', '#disabled5', '#disabled6'], }, }; export const Inverse = (args) => { return ( ); }; Inverse.args = { ...actionButtonArgs, }; export const ButtonTypes = (args) => ( ); ButtonTypes.args = { ...actionButtonArgs, }; ButtonTypes.parameters = { docs: { disable: true } }; export const Icons = (args) => ( ); Icons.args = { ...actionButtonArgs, icon: { component: Add, position: 'end' }, }; export const IconPosition = (args) => ( Previous page Next page ); IconPosition.args = { ...actionButtonArgs, }; export const IconOnly = () => ( ); ButtonSizes.args = { ...actionButtonArgs }; export const ButtonWidth = (args) => ( ); ButtonWidth.args = { ...actionButtonArgs }; export const TextOverflow = (args) => ( ); TextOverflow.args = { ...actionButtonArgs, maxWidth: '200px' }; TextOverflow.parameters = { docs: { disable: true } }; const ThemedBackgroundDiv = styled.div` ${({ theme }) => `background-color: ${theme.color.fill.contrast}`}; padding: 1rem; padding-left: 0; color: white; `; const Matrix = (args) => { const sizes = ['xs', 'sm', 'md', 'lg']; const variants = ['primary', 'secondary', 'text'] as const; return ( <> {sizes.map((size, i) => variants.map((variant, i) => (

{variant} - {size}

)) )} {sizes.map((size, i) => variants.map((variant, i) => (

{variant} inverse - {size}

)) )}
); }; export const MatrixStory = (args) => ; MatrixStory.parameters = { docs: { disable: true } }; export const AnchorButtonDefault = () => ( Anchor link looks like a Button Anchor link with icon ); AnchorButtonDefault.parameters = { layout: 'centered', controls: { exclude: ['type', 'onPress', 'onClick', 'isDisabled', 'isLoading'] }, }; export const AnchorButtonOpenNewTab = () => ( Anchor link (opens in new tab) );