InView
0.3.0
2026-09-26
- Задержка стаггера у
createRevealControllerтеперь полностью пропускается приprefers-reduced-motion: reduce— переключение класса/атрибута по-прежнему происходит как обычно, пропускается только сама задержка по времени. createElementTracker(а вместе с ним и composables/хукиuseElementViewport/useParallaxLayer, построенные на нём, для Vue и React) принимает элементroot, чтобы считатьviewportProgress/distanceFromCenterотносительно прокручиваемого контейнера вместо окна — для параллакс-слоя или трекера позиции внутриoverflow: auto(панель дашборда, модалка). Самrectв любом случае остаётся привязанным к окну.- Опции
useElementVisibilityтеперь реактивны в обоих адаптерах. Vue:threshold/rootMargin/root/onceпринимают ref/геттер — изменениеthreshold/rootMargin/rootвызывает настоящую переподписку,onceобновляется вживую без пересоздания подписки. React:once/onEnter/onLeaveтеперь обновляются вживую при каждом ре-рендере (раньше замораживались на том рендере, где подписка впервые создавалась), а свежий инлайн-массивthresholdна каждом рендере больше не вызывает лишнюю переподписку. - Новые Vue composables:
useRevealController(создаётcreateRevealControllerпри монтировании, уничтожает при размонтировании),usePrefersReducedMotion(реактивныйRef<boolean>, в отличие от статическойprefersReducedMotion()),useStagger,useScrollTo,useScrollSpy. - Новые React-хуки:
useReveal(эквивалент Vue-директивыv-reveal— автоматически переключает класс/атрибут),useRevealController,usePrefersReducedMotion,useStagger,useScrollTo,useScrollSpy— той же формы, что и Vue composables выше. - Новое в
@macrulez/inview-core:createScrollSpy(отслеживает, какой из списка целевых элементов сейчас находится в «активной» полосе около вертикального центра viewport — для подсветки активного пункта навигации) иscrollToElement(плавно прокручивает контейнер, чтобы элемент оказался у его края, с отступом в px). - Контроллер, который возвращает
createRevealController, получилobserve(el)/unobserve(el)(для элементов вне скана поselector) иrefresh(selector?)(разовый скан с другим селектором, в дополнение к уже существующемуrefresh()без аргументов). Атрибутdata-reveal-attributeна конкретном элементе теперь переопределяетactiveAttributeтак же, какdata-reveal-classуже переопределялactiveClass. - Список автоимпортов Nuxt теперь включает
useRevealController,usePrefersReducedMotion,useStagger,useScrollTo,useScrollSpy,createScrollSpyиscrollToElement.