2071 Commits

Author SHA1 Message Date
Kaede Hoshikawa
f39afdc5e1
Remove benchmarks for now as it does not work at all. (#2495) 2022-03-07 18:28:58 +05:00
Jet Li
dce04f1a9b
Sync awesome projects added recently. (#2493)
* Sync awesome projects added recently.

* Update website/community/awesome.md

Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>

Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
2022-03-07 14:11:12 +02:00
Julius Lungys
427ac22e09
bump rust dependecies (#2501) 2022-03-06 14:23:36 +01:00
dependabot[bot]
92c4ce434f
Update strum requirement from 0.23 to 0.24 (#2471)
Updates the requirements on [strum](https://github.com/Peternator7/strum) to permit the latest version.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-06 15:02:16 +02:00
Julius Lungys
81bca6e52c
bump website dependecies (#2500)
* bump website dependecies

* fix translations
2022-03-06 13:49:31 +01:00
dependabot[bot]
7b07209b27
Bump @docusaurus/plugin-google-analytics in /website (#2487)
Bumps [@docusaurus/plugin-google-analytics](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-google-analytics) from 2.0.0-beta.15 to 2.0.0-beta.17.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.17/packages/docusaurus-plugin-google-analytics)

---
updated-dependencies:
- dependency-name: "@docusaurus/plugin-google-analytics"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-06 14:26:23 +02:00
dependabot[bot]
973fdd953c
Bump follow-redirects from 1.14.7 to 1.14.9 in /website (#2497)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.9.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.9)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-06 14:16:47 +02:00
Julius Lungys
f32dd53d6f
auto approve dependabot (#2496) 2022-03-06 12:53:29 +02:00
WorldSEnder
78d4204a9a
Introduce explicit internal datastructures modeling dom state (#2330)
* detach destructures now

* add failing keyed-list issue

* crude port to the new bundle infrastructure

* port over the infrastructure

the new bcomp is especially nice and lost a few unwraps owed to not having
to reserve space for a scope before rendering.
Note also that bsuspense has been slimmed a bit, storing the suspended flag
implicitly in the state.
some naming is not perfect yet and has to be adjusted still.

* mass rename: apply -> reconcile

* get rid of move_before in favor of shift

* generate id directly when creating a new scope

* bundle for text nodes

* work on naming: ancestor -> bundle

* slightly optimize list reconciler, add doccomments

* address review

* add internal documentation

* address review comments

rename fields in bsuspense
convert to gloo::events

* move even more stuff into dom_bundle to scope exports

- app_handle and layout_tests are now in there
- items are publically re-exported in crate::dom_bundle
- dom_bundle itself is private
- btag and bcomp get their own submodules
- bcomp now contains the lifecycle and scope impls

* move replace into Reconcilable

* move lifecycle and scope back into html as per review

* move back Value and InputFields into html

* actually only type-check format args in production

* fix documentation link

* move btag_impl up into containing module

* shift comps immediately

shifting the rendered Nodes does not tie into the lifecycle,
as such it can happen immediately

* use list-bundle in tag-bundle

* fix cargo make tests

* improve 05_swap benchmark

* fix a blunder where I swapped operands

* fix naming of BNode variants
2022-03-06 08:37:07 +05:00
Julius Lungys
221b4dfa51
fix clippy (#2492) 2022-03-05 20:53:19 +01:00
Peter Kolloch
3a11f15ec5
[events.mdx] relative link to use_deps_with_effects fixed (#2491)
Co-authored-by: Peter Kolloch <peter.kolloch@nexxiot.com>
2022-03-05 01:06:17 +01:00
Peter Kolloch
451227fe5c
[Events] Cross references to use_effect_with_deps (#2486)
Figuring out how to use manual event listening with Function Components
took me a while. The new docs already contain a great example!

I add a small cross reference here to make it more discoverable.

Co-authored-by: Peter Kolloch <peter.kolloch@nexxiot.com>
2022-03-03 16:40:01 +01:00
Sam Kearney
68859ce13e
Tutorial: Add clarification for html! 'for' syntax (#2477) 2022-03-02 14:21:12 +05:00
Aaron Erhardt
36058d455c
Improve AnyScope API (#2445)
* Improve AnyScope API

Signed-off-by: Aaron Erhardt <aaron.erhardt@t-online.de>

* Make find_parent_scope public

Signed-off-by: Aaron Erhardt <aaron.erhardt@t-online.de>
2022-02-26 13:00:44 +01:00
gitlocalize-app[bot]
6fc9ef489c
Gitlocalize: move translated files (#2441)
Co-authored-by: gitlocalize-app[bot] <55277160+gitlocalize-app[bot]@users.noreply.github.com>
2022-02-26 12:39:58 +01:00
Kenjiro Nakayama
f9763db70c
docs: Add backquote for the description of suspense (#2468) 2022-02-22 22:50:32 +01:00
Thomas O'Brien
52327b5ef0
Fix dependencies in tutorial (#2470) 2022-02-22 22:45:33 +01:00
Kenjiro Nakayama
da01ceb27f
docs: Fix diff in the tutorial (#2466)
* docs: Fix diff in the tutorial

* Fix ignore lines
2022-02-22 22:45:12 +01:00
Thomas O'Brien
df21e3d87c
Update index.mdx (#2469) 2022-02-22 22:44:58 +01:00
Kaede Hoshikawa
fc067ab56c
Fix Call Generics & FnOnce macro hygiene (#2437)
* Fix Call Generics & FnOnce macro hygiene.

* Add a failure case as well.

* Remove a unused struct in test case.

* Update packages/yew-macro/tests/hook_attr/hook-const-generic-pass.rs

Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
2022-02-12 18:26:23 +05:00
Cecile Tonglet
95fb5dc8fb
Remove probably unused impl ImplicitClone on Cow<str> (#2447)
* Remove probably unused impl ImplicitClone on Cow<str>

* Remove unused import

* Remove variant Owned for AttrValue for consistency

* Implement ImplicitClone on primitive types

Especially those that are Copy.
2022-02-12 01:09:49 +05:00
Ruben Gonzalez
81bce9406d
docs: fix diff inside the tutorial (#2449) 2022-02-11 13:53:46 +05:00
dependabot[bot]
eddc5367da
Bump @types/react from 17.0.38 to 17.0.39 in /website (#2433)
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 17.0.38 to 17.0.39.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-11 09:37:36 +01:00
Jabez Borja
4f65b3961f
docs: fix typo (#2450) 2022-02-11 09:32:57 +01:00
Kaede Hoshikawa
e56ff20b63
Automatic Message Batching (#2421)
* (○`дノ´)ノ┳┳・゚・┻┻・゚・。

* Recover docs as well.

* Make scheduler synchronous for now.

* Disable Component IDs as they are not useful at the moment.

* Minor fixing, amending messages and apply optimisation on batched messages.
2022-02-07 20:46:09 +05:00
Julius Lungys
636692507e
Convert components concept docs from SC to FC (#2434)
* Convert components concept docs from SC to FC
- moved struct components to advanced topics
- added docs about HOC for Suspense and Context
- added a ease-in topic before components that introduces
HTML/CSS/JS in yew
- edit components concept to use function components

* translations

* fix todo links

* fix tests

* spelling bee
2022-02-07 11:03:12 +02:00
Michael Grigoryan
bd373d2861
docs: added a screenshot of an example (#2422)
* docs: added a screenshot of an example

* Added the screenshot

* Update index.mdx

* Update website/versioned_docs/version-0.19.0/tutorial/index.mdx

Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com>

* Rename screenshot

* Delete screenshot.png

* Update index.mdx

Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com>
2022-02-01 21:02:58 +01:00
Simon
9bdf3014c2
Update references to gitlocalize project (#2427) 2022-01-31 21:40:56 +02:00
Julius Lungys
1d1c2bf163
run npm run write-translations (#2426) 2022-01-31 20:20:00 +01:00
dependabot[bot]
a877b0b507
Bump @docusaurus/plugin-google-analytics in /website (#2425)
Bumps [@docusaurus/plugin-google-analytics](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-google-analytics) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-plugin-google-analytics)

---
updated-dependencies:
- dependency-name: "@docusaurus/plugin-google-analytics"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:52:43 +01:00
dependabot[bot]
f5cb28e82f
Bump @docusaurus/core from 2.0.0-beta.14 to 2.0.0-beta.15 in /website (#2424)
Bumps [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus)

---
updated-dependencies:
- dependency-name: "@docusaurus/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:51:51 +01:00
dependabot[bot]
d786064110
Bump @docusaurus/module-type-aliases in /website (#2413)
Bumps [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-module-type-aliases)

---
updated-dependencies:
- dependency-name: "@docusaurus/module-type-aliases"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:50:37 +01:00
dependabot[bot]
b6623f3b0a
Bump @svgr/webpack from 6.2.0 to 6.2.1 in /website (#2423)
Bumps [@svgr/webpack](https://github.com/gregberge/svgr) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/gregberge/svgr/releases)
- [Changelog](https://github.com/gregberge/svgr/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gregberge/svgr/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: "@svgr/webpack"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:49:54 +01:00
dependabot[bot]
3f6bcb3955
Bump @docusaurus/plugin-client-redirects in /website (#2412)
Bumps [@docusaurus/plugin-client-redirects](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-client-redirects) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-plugin-client-redirects)

---
updated-dependencies:
- dependency-name: "@docusaurus/plugin-client-redirects"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:43:23 +01:00
dependabot[bot]
60a9b18971
Bump @docusaurus/theme-classic in /website (#2411)
Bumps [@docusaurus/theme-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-classic) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-theme-classic)

---
updated-dependencies:
- dependency-name: "@docusaurus/theme-classic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:40:00 +01:00
dependabot[bot]
6fd84a164b
Bump @docusaurus/plugin-content-pages in /website (#2410)
Bumps [@docusaurus/plugin-content-pages](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-content-pages) from 2.0.0-beta.14 to 2.0.0-beta.15.
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v2.0.0-beta.15/packages/docusaurus-plugin-content-pages)

---
updated-dependencies:
- dependency-name: "@docusaurus/plugin-content-pages"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:37:25 +01:00
dependabot[bot]
2c617af3b9
Bump typescript from 4.5.4 to 4.5.5 in /website (#2392)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.5.4 to 4.5.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.5.4...v4.5.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 19:35:39 +01:00
Alexander Mescheryakov
d5cc4a3237
Add Other variant to the ListenerKind (#2417)
* Add other listener kind

* Remove Copy restriction

* Fix fmt
2022-01-31 09:57:08 +02:00
Kaede Hoshikawa
b7b28ba963
Do not detach child elements if parent element is about to be detached (#2420)
* Make a use_hook hook with the new Hook trait.

* Implement Lifetime.

* Rewrites function signature.

* Only apply lifetime if there're other lifetimes.

* Cleanup signature rewrite logic.

* Rewrite hook body.

* Port some built-in hooks.

* Finish porting all built-in hooks.

* Port tests.

* Fix tests.

* Migrate to macro-based hooks.

* Fix HookContext, add tests on non-possible locations.

* Fix stderr for trybuild.

* Add 1 more test case.

* Adjust doc location.

* Pretty print hook signature.

* Fix Items & std::ops::Fn*.

* Add use_memo.

* Optimise Implementation of hooks.

* Use Box to capture function value only.

* Detect whether needs boxing.

* Add args if boxing not needed.

* Enforce hook number.

* Deduplicate use_effect.

* Optimise Implementation.

* Update documentation.

* Fix website test. Strip BoxedHook implementation from it.

* Allow doc string.

* Workaround doc tests.

* Optimise codebase & documentation.

* Fix website test.

* Reduce implementation complexity.

* Destructor is no more.

* Do not detach child element if parent element is about to be detached as well.

* Fix tests.
2022-01-30 13:24:33 +02:00
Kaede Hoshikawa
485a1b8c4a
Function Components & Hooks V2 (#2401)
* Make a use_hook hook with the new Hook trait.

* Implement Lifetime.

* Rewrites function signature.

* Only apply lifetime if there're other lifetimes.

* Cleanup signature rewrite logic.

* Rewrite hook body.

* Port some built-in hooks.

* Finish porting all built-in hooks.

* Port tests.

* Fix tests.

* Migrate to macro-based hooks.

* Fix HookContext, add tests on non-possible locations.

* Fix stderr for trybuild.

* Add 1 more test case.

* Adjust doc location.

* Pretty print hook signature.

* Fix Items & std::ops::Fn*.

* Add use_memo.

* Optimise Implementation of hooks.

* Use Box to capture function value only.

* Detect whether needs boxing.

* Add args if boxing not needed.

* Enforce hook number.

* Deduplicate use_effect.

* Optimise Implementation.

* Update documentation.

* Fix website test. Strip BoxedHook implementation from it.

* Allow doc string.

* Workaround doc tests.

* Optimise codebase & documentation.

* Fix website test.

* Reduce implementation complexity.

* Destructor is no more.

* Documentation and macros.

* Reduce heap allocation and hook complexity.

* Remove Queue as well.

* Prefer Generics.

* Fix typo.

* Remove more allocations.

* Add comments.

* Remove outdated comment.

* Bare Function Pointer for better code size.
2022-01-28 11:51:37 +02:00
Julius Lungys
22f3f46dd7
Benchmark action specify repository (#2419) 2022-01-28 09:16:32 +01:00
Julius Lungys
a0ef5630ab
Make benchmarks run on head_ref (#2416) 2022-01-27 23:09:01 +01:00
Teymour Aldridge
c7599c54d8
Tidy up the documentation. (#2404)
- fix a number of typos/grammatical errors
- also includes some stylistic changes
2022-01-25 23:14:36 +02:00
Anuvrat Singh
4580d94c59
Add ContextHandle in yew::prelude (#2372)
* Adds ContextHandle in yew::prelude

* Adds ContextHandle in yew::prelude

Added ContextHandle in /yew/src/lib.rs and updated stderr with test-overwrite

* Formats code using cargo fmt

* Revert "Adds ContextHandle in yew::prelude"

This reverts commit abdf21f2d523ac2df56cca3d29f8860dbefc5cc5.
2022-01-25 14:51:16 +02:00
Allan
31afa9de49
Editing fixes on Editor Setup page (#2397)
* Editing fixes on Editor Setup page

- "Jetbrains" fixed to "Jetbrains"
- fixed some typos and grammatical errors
- improved sentence flow

* Space before ignore attribute
2022-01-24 08:56:14 +05:00
Kaede Hoshikawa
38021e31fe
Separate scheduler rendered call from create and render (#2374)
* Separate push_component_rendered from push_component_render and push_component_update.

* Fix pr-flow.

* Make first_render more reliable.
2022-01-22 20:04:12 +02:00
Julius Lungys
ef60f0943e
fix CI (#2395) 2022-01-22 18:07:28 +01:00
Alexander Mescheryakov
fac220fd64
Fix add a listener to VTag when the listeners is None (#2375)
* Fix add listener and remove unused listener code

* Format code
2022-01-20 20:30:36 +01:00
Muhammad Hamza
a8f7113d4a
Documentation Improvements (#2391)
* the app crashes

* update the button

* API button

* Tutorial button

* Tutorial sidebar on next

* blog

* write-translations
2022-01-20 18:53:33 +05:00
Muhammad Hamza
d1f050e892
Add community page using docs multi-instance (#2390)
* use docs multi-instance

* Add awesome yew

This content is taken from https://github.com/jetli/awesome-yew/blob/master/README.md

* remove "Official" - We are official
2022-01-20 14:14:08 +05:00