компонент, загрузчик изображений:
- контроль загрузки изображения в браузер;
- кэширование уже загружавшихся изображений;
- расширение функциональности тэга
;
- ES6-7, React или Preact;
- компонент абсолютно изолирован и реюзабелен;
- до загрузки изображения имеют статус 'unloaded', в процессе загрузки - 'loading', по окончании - 'loaded'. Статус отображается в соответствущее имя класса;
- статусам могут соответствовать стили, в тч transition, сглаживающие появление изображения;
- Компонент должен полностью повторять вид и поведение тэга
(inline-block), адекватно реагировать на все стандартные атрибуты, но также позволять иустановку изображения бэкграудом;
- Все ImgLoader-ы на странице должны использовать общий кэш изображений;
- Все состояния компонента должны быть покрыты тестами, инструменты тестирования - на усмотрение исполнителя;
- Важно оформление кода, в т.ч. стиль комментариев;
- Hint: зачёт, если известно решение поставленной задачи, более универсальное, нежели ImgLoader