* Update fake requirement from =2.4.1 to =2.5.0
Updates the requirements on [fake](https://github.com/cksac/fake-rs) to permit the latest version.
- [Release notes](https://github.com/cksac/fake-rs/releases)
- [Commits](https://github.com/cksac/fake-rs/commits)
---
updated-dependencies:
- dependency-name: fake
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Don't pin version
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* partially undo #2673
VList again has a DerefMut implementation
the internal fully_keyed state now has an "indeterminate" variant
instead of being a bool, this recomputes it during reconciliation
* add Copy impl to FullyKeyedState
this should avoid having to manually call recheck_fully_keyed
* add mutable accessor to children
* fix workflow
* fix markdown example
* remove recheck_fully_keyed
* rework a bunch of feature flags to be more principled
* fixup of Collectable
* silence clippy
* unfix Mountable trait
leads to bundle size increase, so stick to the optimized version
* use required-features for function_router
* use --all-features in various places
* disable tokio dependency on wasm tests again
* add some #[inline] annotations
* merge one more feature annotations
* fixup: remove a line connected to trace_hydration
* RenderFn can be be directly Fn() now.
* Switch switch to function component.
* Make Link a function component.
* Remove non-exhaustive.
* Add migration guide.
* Update Website Docs.
* Fix CI.
* Pushing to Navigator no longer requires an owned instance.
* Fix CI.
* Fix code size.
* Further optimisation.
- Remove agents example
- Agents example is replaced by web_worker_fib as they both serve the same purpose now that trunk 0.15 has been released
- Clean up CI setup and ensure that examples are deployed in publish-examples.yml as they're built in size-cmp.yml
* Separate hydration and render queue.
* Revert "Fix issue with node refs and hydration (#2597)"
This reverts commit 469cc341c340bd0093d9233847f523b66a18fd90.
* Priority Render.
* Add some tests.
* Add more tests.
* Add test result after click.
* Fix test comment.
* Fix test timing.
* Restore test.
* Once AtomicBool, now a Cell.
* Prefer use_future.
* Revealing of Suspense always happen after the component has re-rendered itself.
* Shifting should register correct next_sibling.
* Revert to HashMap.
* cargo +nightly fmt.
* Fix comment.
* Optimise Code size?
* Add comment if assertion fails.
* Revert "Merge branch 'hydration-4' into fc-prepared-state"
This reverts commit 427b087d4db6b2e497ad618273655bd18ba9bd01, reversing
changes made to 109fcfaa127aefc5fa3c697e254fe2c049292be2.
* Revert "Revert "Merge branch 'hydration-4' into fc-prepared-state""
This reverts commit f1e408958d94cb13813ce75aa6f0aad06c9fa3e8.
* Redo #2957.
* Read through the docs and correct spelling and grammar
* Run prettier
* Apply review suggestions
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* adjust translation messages
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* improve js_callback example
it now loads two modules:
1. imp.js
2. unimp.js
imp.js is loaded at page load whereas unimp.js is loaded when requested. A fallback is displayed during loading using Suspense
* Hash is not hardcoded anymore
* pre_build hook to build the post build hook binary
* fmt
* add .gitignore for trunk_post_build executable
* move js imports to bindings module, upadte README
* simple counter application with functional components
* clean up some comments
* use the word 'function' instead of 'functional'
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* add the counter functional example package to workspace root cargo toml
* add data-trunk link tag in index html
* include counter functional into the examples readme file
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* implement event handling with multiple subtree roots
* add listeners to all subtree roots
* move host element to Registry
* add BSubtree argument
* surface level internal API for BSubtree
* cache invalidation & document limitations
* Update portal documentation
* Add test case for hierarchical event bubbling
* add shadow dom test case
* add button to portals/shadow dom example
* change ShadowRootMode in example to open
BSubtree controls the element where listeners are registered.
we have create_root and create_ssr
Async event dispatching is surprisingly complicated.
Make sure to see #2510 for details, comments and discussion
takes care of catching original events in shadow doms
* example of function memory game
* refactor: remove unnecessary manual PartialEq implementation
* refactor: remove unnecessary license note
* refactor: update implementation and doc with suggestions
* refactor: fix format and lint issues
`Model` is ambiguous and not a user-friendly name.
Some of the newer docs are already referring to the root component as
`App`.
This PR follows this naming scheme:
- `App` for a root component
- `MyComponent` for an arbitrary component
This naming is inspired by the React docs.
i18n references were not changed. They need a larger rewrite which will
go in a separate PR.
* Make Html a Result.
* Fix tests.
* Implement Suspense.
* Schedule render when suspension is resumed.
* Shift children into a detached node.
* styled example.
* Update wording a little bit.
* Move hint to hint.
* Add some tests.
* Fix clippy.
* Add docs.
* Add to sidebar.
* Fix syntax highlight.
* Component -> BaseComponent.
* Html -> VNode, HtmlResult = RenderResult<Html>.
* Suspendible Function Component.
* Add a method to create suspension from futures.
* Revert extra changes.
* Fix tests.
* Update documentation.
* Switch to custom trait to make test reliable.
* Fix file permission.
* Fix docs.
* Remove log.
* Fix file permission.
* Fix component name error.
* Make Suspension a future.