@pagopa/mui-italia
Version:
[Material-UI](https://mui.com/core/) theme inspired by [Bootstrap Italia](https://italia.github.io/bootstrap-italia/).
21 lines (20 loc) • 795 B
TypeScript
import React, { ComponentType } from 'react';
import { SvgIconProps } from '@mui/material';
export type Variants = 'default' | 'info' | 'warning' | 'error' | 'success' | 'only-icon';
type SpanHTMLAttributes = Pick<React.HTMLAttributes<HTMLSpanElement>, 'aria-label'>;
interface OnlyIconTagProps extends SpanHTMLAttributes {
variant: 'only-icon';
icon: ComponentType<SvgIconProps>;
}
interface DefaultTagProps extends SpanHTMLAttributes {
variant?: 'default';
value: string;
icon?: ComponentType<SvgIconProps>;
}
interface OtherTagProps extends SpanHTMLAttributes {
variant: Exclude<Variants, 'default' | 'only-icon'>;
value: string;
}
export type TagProps = OnlyIconTagProps | DefaultTagProps | OtherTagProps;
export declare const Tag: React.FC<TagProps>;
export {};