Changes
- chore(release): v0.22.0 (38b688b)
- ci: retry when the job list of the full run cannot be read (cad9bd4)
- ci: read the job list of the full run from a file (321c2ef)
- ci: release only a commit whose full run passed (80e6465)
- ci: run every suite each week in one full run with a summary (cecae32)
- ci: compare only the web examples a change touches (56242d6)
- ci: take the mobile screenshots of changed examples on pull requests (5444f49)
- ci: find the examples and stories a change touches (718e8dc)
- ci: take every page of the Compose stories taller than the screen (bb69159)
- test: show the native calendar examples on January 15, 2026 (160dbd7)
- feat(swiftui): let DateCalendar take the day it marks as today (4334200)
- ci: keep emulator animations on for the Compose device tests (a074158)
- ci: compare every Compose catalog story with reference screenshots (88d6361)
- ci: run the Compose device tests on an emulator (f87ccb9)
- ci: add every Compose item to new Gradle projects and build them (f78feb4)
- fix(cli): read Compose dependencies from the version catalog (f023ffa)
- fix(cli): ask Compose projects for compileSdk 37 (d1db388)
- ci: leave the verify code countdown out of the SwiftUI screenshots (f44b6e5)
- ci: leave the live log story out of the SwiftUI screenshots (972cd6c)
- fix(swiftui): hold Spinner still when reduce motion is on (c86bfd4)
- ci: add every SwiftUI item to a new Swift package and Xcode project and build them (4a455e2)
- ci: compare every SwiftUI catalog story with reference screenshots (df88bdb)
- fix(swiftui): build MessageScroller in apps that run code on the main actor by default (badf037)
- feat(www): add docs for Access, One, Relay and Work and a UI item in the header (a6a684f)
- ci: rewrite a reference screenshot that cannot be read instead of stopping (5d99c41)
- ci: take the android screenshot again when it cannot be read (e7d35e0)
- ci: keep older copies from overwriting new screenshots when publishing a few examples (4e97ec6)
- fix(mobile): give font-mono a real monospace font on each platform (a08bcf7)
- ci: read job logs with escape sequences and re-run emulators that never started (ca9d9fa)
- fix(mobile): keep the last word of a code line from wrapping on android (1387bec)
- ci: re-run the android screenshots once when an emulator comes up with another screen size (5635e8b)
- ci: show bundled copies of the example photos while taking native screenshots (4b4c1e2)
- ci: add a replace option that publishes native screenshots of a new screen size (ed31410)
- ci: use three-button navigation on the emulator so the keyboard buttons stay out of screenshots (59e6680)
- fix(mobile): place the lifted preview on whole device pixels (5e79519)
- ci: reboot the emulator when its screen does not match the reference screenshots (c35ff79)
- ci: retry images that fail to load while taking native screenshots (0dc70c7)
- ci: run the native visual tests when the app's components change (1cb3ac5)
- fix(mobile): scroll to the focused field once its focus and the keyboard space are known (523f53d)
- fix(mobile): scroll the unread message example to a fixed message (9657270)
- ci: wait for the display cutout and never rewrite screenshots of another size (445eda7)
- ci: read the Android ready signal only from the app process just started (0e5f2e6)
- fix(mobile): measure the Android keyboard from its top edge and scroll to fields below the view (0490810)
- ci: accept only the opened example's ready signal on Android (e3d4f6f)
- ci: close system not-responding dialogs during Android captures (d467bfc)
- ci: keep system error dialogs out of Android screenshots (78bd5da)
- ci: wait until the Android system bars stop changing before cropping them (9adca40)
- ci: crop the full Android status bar and keep each emulator job short (3c81f3d)
- ci: wait for the Android system bars before reading their size (b5c8f1a)
- ci: crop the Android system bars and split the emulator screenshots ten ways (061489b)
- ci: log each React Native capture and allow taking only some Android examples (f337f72)
- ci: capture React Native examples on an Android emulator (89579a3)
- ci: turn off keyboard suggestions while capturing React Native examples (3a5cf35)
- ci: start React Native publishing from the current references and keep each shard to its own (1dce238)
- fix(mobile): read the open keyboard when a screen mounts after it appeared (2b66af9)
- ci: write a React Native reference only after two captures apart agree (589e8ec)
- ci: capture a React Native example once more when it differs from its reference (640dcf3)
- ci: show the React Native ready marker above full-window overlays (292df96)
- test(ui): load the sans font before rendering and mask the photo whose encoding varies (73b4f55)
- ci: capture React Native examples only after they show and their images load (0b6beaf)
- ci: wait for React Native images and hide text carets before capturing (29f833e)
- test(ui): reduce motion while capturing so transitions never land mid-way (efe0f47)
- ci: open the app once before the first React Native capture (3ef78e7)
- ci: hold motion still while capturing React Native examples and split the run into four jobs (1e99bde)
- test(ui): wait for late transitions and sample images the same way on every capture (98ce2aa)
- test(ui): pad the page before rendering so captures never move overlays (f8253a8)
- ci: compare screenshots of every React Native example on a simulator (e4d0bee)
- ci: replace only the published folder in the reference screenshots repository (8fcdbf4)
- test(ui): keep overlays in place after capturing and expect the tour on the first visit (4c0dda0)
- fix(site): give both tagline words the same letter spacing above the wordmark (9bb9c2e)
- test(ui): take the same screenshot of every example on every run (e93c2af)
- ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 in the actions group (1f2e534)
- fix(ui): round every corner of floating drawers in every style (69443a8)
- ci: keep the workflow actions up to date and point questions to discussions (1b98e2b)
- fix(scripts): retry reading the sitemap before notifying IndexNow (5c1ebd7)
- docs: run bun commands with the bun runtime (ce969fd)
- docs: drop the manual namespace registration steps (ee9b0e8)
- fix(scripts): show the whole failure message in compatibility summaries (c7650ac)
- fix(ui): keep chart labels and axes in place in right-to-left layouts (6e54251)
- test: take reference screenshots with every icon library (030734a)
- test: leave room around examples when taking screenshots (063b523)
- fix(ui): show bubbles, aria sliders and radix navigation panels in every style (d1a8412)
- docs: keep the contributing guide to what contributors need (f701d6f)
- chore: add issue and pull request templates, security policy and code of conduct (d26e56b)
- test: take right-to-left screenshots as each example first renders (dc0485e)
- test: take reference screenshots for every style, base and direction (9515ca0)
- test: check example behaviour the same way in every style (f55c903)
- fix(ui): keep each component's layout in every style (3502fe0)
- docs: reshape installation, usage and API reference sections (dfd0f33)
- test: wait for focus to return before pressing Escape in confirm (152b1fd)
- fix(cli): retry a registry download once when the connection drops (e3db24e)
- test: install every item with both CLIs across a pairwise option set (52246eb)
- feat(docs): show how to keep the suiss style with other registry CLIs (e0256c8)
- fix(ui): write every class where a Tailwind prefix reaches it (471c6c4)
- fix(registry): declare the peers that installed packages need (f410e0e)
- fix(ui): render the same on the server and in every locale (2d9dbad)
- test: add the test matrix and fix focus races in sheet tests (4764463)
- fix(docs): keep accordion and collapsible previews anchored to the top (920f5eb)
Install
npx @esuiss/ui@0.22.0 init