import React, { ReactNode, ReactHTML } from 'react'; import { useDesignTokens, IOptions } from '../../hooks/use-design-tokens'; export interface IProps extends IOptions { /** * Параметр `children` может содержать любые дочерние элементы, например строки, числа, другие компоненты React и т. д. */ readonly children?: ReactNode, /** * Параметр `tagName` используется для указания HTML-тега, который будет использоваться для отображения компонента или его части. */ readonly tagName?: keyof ReactHTML } /** * Компонент Design Tokens - это набор именованных значений, таких как цвета, размеры и типографика, которые определяют внешний вид интерфейса приложения. * Компонент Design Tokens позволяет упростить создание стилей для компонентов и повысить согласованность дизайна. * * Все предоставляемые переменные ограничены областью использования компонента. * * [Палитра](?path=/docs/native-design-tokens-палитра--документация#палитра) * * [Тени](?path=/docs/native-design-tokens-тени--документация#тени) */ export const DesignTokens = ({ tagName: Component = 'div', ...props }: IProps) => { const attrs = useDesignTokens({ className: props.className }); return ( ); };