UNPKG

surf-design-system

Version:
33 lines (32 loc) 1.52 kB
/** @jsxRuntime classic */ /** @jsx jsx */ import { SerializedStyles } from '@emotion/react'; import type { sizeSDS } from '../types/common'; export declare type buttonType = 'submit' | 'reset' | 'button'; export interface ButtonCustomColor { buttonColor?: string; buttonHoverColor?: string; buttonDisabledColor?: string; labelColor?: string; labelDisabledColor?: string; } export interface ButtonProps extends ButtonCustomColor { children?: React.ReactNode; mould?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom'; icon?: React.ReactNode | string; iconPosition?: 'none' | 'left' | 'right' | 'movable'; iconLeft?: string; iconTop?: string; iconRight?: string; iconBottom?: string; size?: sizeSDS; type?: buttonType; disabled?: boolean; width?: string; height?: string; onClick?: React.MouseEventHandler; emotionCss?: SerializedStyles | SerializedStyles[]; tabIndex?: number; } export declare type ButtonIconPositionSize = 'leftlarge' | 'leftmedium' | 'leftsmall' | 'rightlarge' | 'rightmedium' | 'rightsmall' | 'movablelarge' | 'movablemedium' | 'movablesmall'; export default function Button({ children, mould, icon, iconPosition, iconTop, iconRight, iconBottom, iconLeft, size, type, disabled, width, height, onClick, buttonColor, labelColor, buttonDisabledColor, buttonHoverColor, labelDisabledColor, emotionCss, tabIndex, }: ButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;