Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 23:56
Immutable release. Only release title and notes can be modified.
2978802

2.0.0 (2026-06-04)

⚠ BREAKING CHANGES

  • compiled output now targets ES2022
  • Node 18 and 20 are no longer supported; Node 22 or newer is now required
  • the top-level module and types fields are removed from package.json; consumers must use tooling that resolves the exports field
  • zoom.disabled is removed; use zoom={{ supports: [] }} to disable zoom
  • zoom.supports no longer extends the implicit ["image"] default; include "image" explicitly when also enabling custom types (e.g. zoom={{ supports: ["image", "x"] }})
  • .yarll__selectable is removed; replace with .yarll__interactive on the same wrapper (the new class is a superset)
  • slide navigation no longer triggers a view transition; CSS effects targeting ::view-transition-old(*) / ::view-transition-new(*) must migrate to .yarll__slide and .yarll__slide_current
  • removed properties (migrate to the slots prop):
    • LightboxProps.stylesslots.<key>.style
    • LightboxProps.classNameslots.portal.className
    • CarouselSettings.imagePropsslots.image
  • renamed the following custom CSS properties:
    • --yarll__color--yarll__foreground_color
    • --yarll__fade_transition--yarll__fade_duration + --yarll__fade_easing
    • --yarll__scrollbar-width--yarll__scrollbar_width (internal)
  • declaration merging into Labels no longer works (it's now a type alias); merge into the newly exported LabelRegistry interface to register typed label keys
  • the Callback type is no longer exported; use () => void instead

Features

  • add infinite carousel mode (25c76d5)
  • add configurable slide transition presets (12ef9ef)
  • unify customization via slots prop (2951ca6)
  • replace yarll__selectable with broader yarll__interactive class (1b20911)
  • expose imperative ref for programmatic control (a152c42)
  • soft-disable navigation buttons to preserve focus (3aa0326)
  • export useController hook (499ee04)
  • export IconButton component (8a59cb3)
  • add zoom.maxZoom setting (82cc029)
  • collapse zoom { disabled, supports } into zoom.supports (97cffcf)
  • support Shift+wheel for horizontal slide navigation (82b4e5c)
  • accept custom keys in the labels prop (68893dd)
  • add goto method to imperative handle and useController (6548763)
  • add Home / End keyboard shortcuts (445940f)

Bug Fixes

  • detect double-tap from pointer events for Android reliability (20b7891)
  • normalize wheel deltaMode for Firefox compatibility (4277180)

Miscellaneous Chores

  • bump ES target to 2022 (5ba82f4)
  • bump minimum Node version to 22 (e31a2e0)
  • remove legacy module and types fields (59a415a)

Code Refactoring

  • replace startViewTransition with CSS cross-fade (a424be2)
  • drop trivial Callback type alias (086f5ef)

Build System

  • migrate build from sass to lightningcss (a7ded49)