UNPKG

@yandex/ui

Version:

Yandex UI components

80 lines (78 loc) 3.43 kB
import React, { RefObject, ReactNode, MouseEventHandler } from 'react'; import './Image.css'; export interface IImageProps { /** * Ссылка на корневой DOM-элемент компонента */ innerRef?: RefObject<HTMLImageElement>; /** * Ссылка на изображение */ src?: string; /** * Набор источников для создания [адаптивных изображений](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). Подробнее об атрибуте `srcSet` в документации [MDN web docs](https://developer.mozilla.org/ru/docs/Web/HTML/Element/img#attr-srcset) */ srcSet?: string; /** * Набор размеров для создания [адаптивных изображений](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). Подробнее об атрибуте `sizes` в документации [MDN web docs](https://developer.mozilla.org/ru/docs/Web/HTML/Element/img#attr-sizes) */ sizes?: string; /** * URL картинки для экранов с высокой плотностью пикселей = srcSet: "url 2x". srcSet имеет приоритет. */ src2x?: string; /** * Ссылка на изображение при неудачной загрузке */ fallbackSrc?: string; /** * Дополнительный класс */ className?: string; /** * Дополнительный класс для изображения */ imageClassName?: string; /** * Компонент для отображения во время загрузки картинки */ stub?: ReactNode; /** * Альтернативный текст */ alt?: string; /** * атрибут aria-label */ ariaLabel?: string; /** * обработчик клика */ onClick?: MouseEventHandler<HTMLElement>; /** * атрибут [loading у изображения](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading) */ loading?: 'lazy' | 'eager' | 'auto'; /** * Ширина изображения */ width?: number | string; /** * Высота изображения */ height?: number | string; /** * Скругления изображения */ borderRadius?: number | string; } /** * Компонент для красивой загрузки картинок * - Пока загружается картинка, пользователь будет видеть `<stub/>` * - После загрузки картинки она будет плавно отображена поверх `<stub/>` * - После плавного показана картинки `<stub/>` будет удалён из `DOM` * - Если картинка загружается из кэша, то пользователь увидит сразу картинку без показа `<stub/>` * - Если картинку не удалось загрузить, то покажется стандартная картинка из свойства `fallback` * @param {IImageProps} props */ export declare const Image: React.FC<IImageProps>;