* Implement IME composition handling in WasmWebBrowser
This update introduces support for handling Input Method Editor (IME) composition events in the WasmWebBrowser class. The changes include:
- Added event listeners for `compositionstart`, `compositionupdate`, and `compositionend` to manage the composition state and data.
- Skipped normal input events during composition to prevent interference.
- Sent the final IME input result to the WebAssembly module upon composition end, ensuring proper handling of user input.
These enhancements improve the text input experience for users utilizing IME, particularly for languages requiring composition.
* chore: remove log
This allows an app dev/user to create and populate a new widget
within the PageFlip parent widget *before* waiting for it to be drawn.
Previously, the child widgets within PageFlip were either created
upon app load (which is inefficient) or upon draw (which is too late).
* Refactor stack navigation into a proper stack
- Replace show_stack_view_by_id with push/pop/popToRoot methods
- Add proper navigation stack with history tracking
- Fix animation transitions between consecutive views
- Add stack inspection methods (depth, can_pop, current_view)
- Maintain backward compatibility with deprecated methods
- Update action enum to use Push/Pop/PopToRoot variants
* Add support for multiple instances of StackNavigation.
- Introduced full-screen flag necessary to disable full-screen positioning and sliding animations when needed.
* Update old `windows-targets` dep version to reduce lockfile duplicates
All other crates in the Rust ecosystem depend on `windows-targets`
v0.52.*, so this small change vastly reduces the number of duplicate
`windows-*` crate dependencies that cargo must download and track in the lockfile.
Also address minor compiler warnings in AdaptiveView.
* Add `PortalList::is_filling_viewport()`
This is needed in order for an app to be able to take action
upon a portal list's viewport not being completely full.
For example, if you're showing a chat room, you can fetch older events
until there is enough history to fill the entire viewport.
All other crates in the Rust ecosystem depend on `windows-targets`
v0.52.*, so this small change vastly reduces the number of duplicate
`windows-*` crate dependencies that cargo must download and track in the lockfile.
Also address minor compiler warnings in AdaptiveView.