@yandex/ui
Version:
Yandex UI components
80 lines (78 loc) • 3.43 kB
TypeScript
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>;