import { HTMLAttributes, useEffect } from "react";
import { Padding } from "../../index";
import { IButtonTouch } from "../ButtonTouch/ButtonTouch";
import { getClassName, isDevaice, radnomPropsId } from "../utils";
import "./Group.css";
interface IGroup extends HTMLAttributes {
children?: React.ReactNode,
top?: React.ReactNode,
description?: React.ReactNode,
autoPadding?: boolean,
background?: boolean,
padding?: "auto" | "desktop" | "mobile",
onClick?: IButtonTouch["onClick"]
className?: HTMLAttributes["className"]
};
const Group = ({
children,
top,
description,
autoPadding = false, // false - Выключает автоматическое расставление отступов
background = true, // false - Выключает background
padding = `desktop`,
onClick,
className,
...props
}: IGroup) => {
return (
{
if (onClick) onClick(e);
}}
{...props}
data-is_description={!!description}
className={getClassName(
[
`Group`,
`Group--${padding == `auto` ? isDevaice() : padding ? `desktop` : `mobile`
}`,
],
className
)}
>
{top && (
{top}
)}
{autoPadding ?
{children} : children}
{description && (
{description}
)}
);
}
export default Group;