import React, { ReactHTML, ReactNode, MouseEvent } from 'react';
import { type TStyle, useClassnames } from '../../hooks/use-classnames';
import style from './index.module.pcss';
export interface IProps {
/**
* Параметр `children` может содержать любые дочерние элементы, например строки, числа, другие компоненты React и т. д.
*/
readonly children?: ReactNode,
/**
* Параметр `className` используется для добавления пользовательских CSS классов к компоненту. Это позволяет настраивать внешний вид компонента с помощью пользовательских стилей.
*/
readonly className?: string | TStyle,
/**
* При использовании `presetStyle` компонент будет автоматически применять стили, соответствующие выбранному значению.
*/
readonly presetStyle?: 'orange' | 'dark-gray' | 'purple',
/**
* При использовании `presetSize` компонент будет автоматически применять размер, соответствующий выбранному значению.
*/
readonly presetSize?: 'small' | 'big',
/**
* Параметр `tagName` используется для указания HTML-тега, который будет использоваться для отображения компонента или его части.
*/
readonly tagName?: keyof ReactHTML,
/**
* Обработчик события клика на компоненте.
*/
readonly onClick?: (e: MouseEvent) => void
}
/**
* Компонент `Counter` используется для отображения информации в виде счетчика, которые могут быть прикреплены к другим элементам интерфейса.
*/
export const Counter = ({ tagName: Component = 'span', presetSize = 'small', presetStyle = 'orange', ...props }: IProps) => {
const cn = useClassnames(style, props.className);
return (
);
};