Repository navigation
StateUI 0.8.3 gives a page's title a name of its own, puts every sheet over the window's overlays, and keeps a number a toolkit cannot count from reaching the platform. The full list, with how to move over, is in CHANGELOG.md.
Upgrading. A project group builds with this release once its StateUI/ is cloned at it again: git clone --depth 1 --branch 0.8.3 https://github.com/idexus/StateUI.git StateUI. A page's view now sets its title with .pageTitle(_:) in place of .title(_:), and moves what a subtitle said into its title or its content; the compiler stops at each one. An overlay meant to cover a sheet is declared on the sheet's page. StateUI: Reinstall VS Code Extension brings the extension to this release.
Breaking changes
- A page's title is
.pageTitle(_:), matching.pageIcon(_:)and.pageBackground(_:):SettingsPage().pageTitle("Settings"). A map marker keeps its.title(_:). - A page has no subtitle:
View.subtitle(_:)andPageContract.subtitleare gone. A map marker keeps itssubtitle. - A sheet stands over the window's overlays. Overlays declared on a window's page stand over every page it shows and under its sheets, on every platform. Overlays declared on a sheet's page stand over that sheet, which they did not on iOS, GTK and the Web.
New
- A branch is written in its localization's language. A
Localizationgiven with.environment(_:)sets the language its branch speaks: a screen reader reads the words there in that language, and the platform sets them by its rules. The Web page uses the browser's language until the application sets its own. - Words a host writes for the user itself, such as a split button's arrow, a map pin's details button and a save with no name, are in the user's language.
Fixed
- Numbers: a NaN or infinite number is treated as no value, and a number too large for a toolkit no longer stops the application: ranges, line limits, a prompt's bound, grid tracks, days outside the years 1 to 9999, font weights, wheels and hands, map regions off the globe, a stepped number on the Web, and sizes and spacing on GTK and WinUI.
- WinUI text (#27): a line that never wraps, such as a label or a button caption, keeps its natural size at any width offered, and words that start to wrap are measured again. Thanks to @lucek8123 for the report, the reproduction and the first version of the fix.
- Pages and sheets: a sheet stays when the window is arranged anew and shows its page when it is shown again; the back button is named after the page beneath; each group behind a bar's More is a section of its menu; a scroller keeps clear of the system bars when its axes change.
- Views whose root may change receive keys, show their bars and tabs, offer their swipe actions and present their sheets.
- Input: the keypad's Enter presses Return on Android and GTK; on the Web and WinUI a field turns pasted or composed text into its case too; on Android a view with no hold or menu takes no long press.
- State, time and hosts: a scene value keyed by a key type comes back as it was saved; a ticker stops at its limit; the Apple hosts read the time on the Gregorian calendar; a web view keeps the user's page; a picture keeps its size when Android's display density changes.
Tooling
- CONTRIBUTING.md says how comments and design notes are written.
- The Gallery's window overlay sample opens a sheet with a notice of its own.