import React, { FC, ElementType, HTMLAttributes } from 'react';
import classNames from 'classnames';
export interface CalloutProps extends HTMLAttributes {
/** Classi aggiuntive per il componente */
className?: string;
/** Permette di dichiarare il colore del bordo e del titolo */
color?: 'success' | 'warning' | 'danger' | 'note' | 'important' | string;
/** Permette personalizzare il tag utilizzato per il Callout (diverso da "div"). Accetta sia tag HTML che componenti React. */
tag?: ElementType;
/** Abilita il Callout di tipo Highlight */
highlight?: boolean;
/** Abilita il Callout di tipo Approfondimento */
detailed?: boolean;
testId?: string;
}
export const Callout: FC = ({
children,
color = '',
highlight = false,
className,
detailed,
tag = 'div',
testId,
...attributes
}) => {
const Tag = tag;
const classes = classNames(className, color, 'callout', {
'callout-highlight': highlight,
'callout-more': detailed
});
return (
{!highlight && !detailed ? {children}
: children}
);
};