import { SystemStyleObject } from '@styled-system/css'; import React from 'react'; import { Base, SxProp } from './Base'; import { ForwardRefComponent } from './polymorphic'; import { common, CommonSystemProps, forwardSystemProps } from './system-props'; const defaultElement = 'button'; type Variant = 'default' | 'primary' | 'danger'; export type ButtonProps = SxProp & CommonSystemProps & { variant?: Variant; }; type ButtonComponent = ForwardRefComponent; const variants: Record = { default: { color: 'btn.text', bg: 'btn.bg', borderColor: 'btn.border', }, primary: { color: 'btn.primary.text', bg: 'btn.primary.bg', borderColor: 'btn.primary.border', }, danger: { color: 'btn.danger.text', bg: 'btn.bg', borderColor: 'btn.border', }, }; export const Button = React.forwardRef( ({ as = defaultElement, variant = 'default', ...props }, ref) => { return ( ); } ) as ButtonComponent;