import { FlattenSimpleInterpolation, InterpolationFunction } from 'styled-components'; import type { ThemeProps } from '../types'; import 'focus-visible'; export interface FocusProps { /** * Компонент в фокусе */ focused?: boolean; } export interface OutlinedProps { /** * Добавить рамку при фокусе */ outlined?: boolean; } declare type SynthesizeFocus = (ruleset: FlattenSimpleInterpolation, focused?: boolean) => FlattenSimpleInterpolation; export interface OutlineProps { /** * Размер фокусной рамки */ outlineSize?: string; /** * Отступ фокусной рамки от родителя */ outlineOffset?: string; /** * Цвет фокусной рамки */ outlineColor?: string; /** * Радиус фокусной рамки */ outlineRadius?: string; /** * Пользовательская функция синтетического фокуса */ synthesizeFocus?: SynthesizeFocus; } export declare const syntheticFocus: SynthesizeFocus; /** * Миксин для добавления фокусной рамки к элементу через псевдоэлемент before * @param {FocusProps} props * @example * // Выведет фокусную рамку размером 2em, скруглением 5em, отступом 2em и цветом 'rebeccapurple'. * addFocus({ * outlineSize: '2em', * outlineOffset: '2em', * outlineRadius: '5em', * outlineColor: 'rebeccapurple', * }); * @example * // Выведет outline размером 4em, скруглением 10px 1px, без отступа и цветом 'greenyellow'. * addFocus({ * outlineSize: '4em', * outlineOffset: '0', * outlineRadius: '10em 1em', * outlineColor: 'greenyellow', * }); */ export declare const addFocus: InterpolationFunction; export {}; //# sourceMappingURL=addFocus.d.ts.map