surf-design-system
Version:
Surf Design System
33 lines (32 loc) • 1.52 kB
TypeScript
/** @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;