Commit graph

230 commits

Author SHA1 Message Date
Evan Almloff
77d53df532 Merge branch 'master' into pr/atty303/1349 2023-10-31 13:39:20 -05:00
Leonard
2d1234c3d1
Include README and Dioxus logo in package docs (#1536)
* Include README in docs.rs and add Dioxus logo

* Update README.md
2023-10-10 10:52:48 -05:00
Evan Almloff
9e167dfdb7 Merge branch 'many_optional_attributes' into pr/atty303/1349 2023-09-22 09:32:05 -05:00
Evan Almloff
7033276c34 Merge branch 'master' into pr/atty303/1349 2023-09-20 16:19:23 -05:00
Evan Almloff
fc8c25280a allow many attributes to be attached to one element 2023-09-20 16:02:04 -05:00
Evan Almloff
610401b928 fix repeated class in ssr test 2023-09-19 10:23:36 -05:00
Jonathan Kelley
9c300ff266
Merge pull request #1324 from ealmloff/bool-attrs-ssr
Fix boolean attribute rendering in SSR
2023-09-16 12:01:52 -07:00
marc2332
7f8c963cd9
fix: Update doc links from v3 to v4 2023-09-16 19:03:27 +02:00
Leonard
c866ae602b
Add system for creating component attributes + new #[component] attribute (#1448)
* Add `#[component]` attribute + system for creating component attributes + other stuff

* Delete inlineprops.rs

* Update inline_props.rs

* Cargo fmt

* Fix clippy warnings and paths in props/mods.rs

* Include where clause in `#[inline_props]` output

* Allow Clippy type complexity in `LinkProps`

* Allow the type complexity lint for the entire link.rs file

* Remove snake_case -> PascalCase converter, but rather enforce PascalCase

Also:
- Put the second function inside the main one instead of besides it.
- Simplify

* Simplify type check lints so they don't return false positives

They will not always work, but they won't return any false positives, like for aliases. This is likely going to be replaced by a more polished Clippy-backed linting system.

* Fix #583

* Cargo fmt

* Add docs for `deserialize()` and remove useless comment

* Add `#[component]` to prelude

* Merge branch 'master' of https://github.com/tigerros/dioxus

* #[inline_props] is no more. Except in the docs folder, but that's going to be removed

* Remove docs folder

* Remove docs from workspace

* Resolve `DeserializerOutput` conversation
2023-09-15 09:13:36 -05:00
Evan Almloff
c55c17cb81 switch to tracing for logging 2023-09-06 17:47:33 -05:00
Jay Graves
392c744ad1
Make incremental a cfg feature. (#1409)
* Make incremental a cfg feature.

* Make the incremental feature default.
2023-09-01 09:55:44 -05:00
Jani Mustonen
31f8bab20d
Add ScopeId::ROOT (#1398)
* add ScopeId::ROOT

* replace ScopeId(0) with ScopeId::ROOT

---------

Co-authored-by: Jani Mustonen <jani.mustonen@taitounited.fi>
2023-08-25 08:31:23 -05:00
Evan Almloff
25f02904e9 make clippy happy 2023-08-08 11:39:36 -07:00
Evan Almloff
e43bdd815f fix test failures 2023-08-08 11:27:29 -07:00
Evan Almloff
aaded7981f fix boolean attribute rendering in SSR 2023-08-08 10:56:41 -07:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Jonathan Kelley
f704d81519
Merge pull request #1253 from Demonthos/fix-map-route
Fix finding files with a custom map_path
2023-07-31 17:28:03 -07:00
Evan Almloff
2d51a1c4f2 make more of core private 2023-07-26 16:17:48 -07:00
Evan Almloff
715289c3de fix finding files with a custom map_path 2023-07-26 11:16:31 -07:00
Jonathan Kelley
3af0355196
Merge pull request #1199 from Demonthos/use-server-function
Use server function hook
2023-07-20 12:49:47 -07:00
Jonathan Kelley
91d4207fa7
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-20 10:51:10 -07:00
Andrea Frigido
dccad58f1d Update license field following SPDX 2.1 license expression standard 2023-07-20 18:00:07 +01:00
Evan Almloff
dd5d974aeb fix suspense 2023-07-17 16:48:54 -07:00
Evan Almloff
7453486448 fix formatting 2023-07-17 15:12:57 -07:00
Evan Almloff
d885846589 refactor incremental rendering 2023-07-14 14:53:03 -07:00
Evan Almloff
5896dfab1a fix clippy 2023-07-14 12:51:20 -07:00
Evan Almloff
35a3880b88 allow mapping paths in the incremental renderer 2023-07-14 10:36:48 -07:00
niedzwiedzw
f159779af4 make thiserror a workspace dependency everywhere else 2023-07-11 22:54:24 +02:00
ealmloff
39ec5f498c
Merge branch 'master' into router-typesafe 2023-07-10 19:16:39 -05:00
Marc Espín
32d4472bfd
fix: Remove duplicated doc links and improved some descriptions (#1167) 2023-07-08 11:04:27 -05:00
Evan Almloff
f0d1346652 remove unsafe from fullstack and ssr 2023-07-07 19:15:25 -07:00
Evan Almloff
576bc61855 fix playwrite tests 2023-07-07 19:03:25 -07:00
Evan Almloff
4f6e6a7c0d add extractors to server-fn 2023-07-06 17:54:05 -07:00
Evan Almloff
f5c60eeb4c make fullstack helpers compatable with prerendering 2023-06-28 18:48:42 -07:00
Evan Almloff
7b1f0c9412 Merge branch 'master' into router-typesafe 2023-06-28 08:56:07 -07:00
Evan Almloff
9ce16716ca make clippy happy 2023-06-24 13:46:08 -07:00
Evan Almloff
a165e13564 add cache headers 2023-06-24 13:21:12 -07:00
Evan Almloff
1704ee0068 router/fullstack/ssr intigration 2023-06-22 16:51:48 -07:00
Evan Almloff
5f873511c5 use workspace dependancies 2023-06-19 14:29:11 -05:00
Evan Almloff
579da12ab6 Merge branch 'upstream' into server-fn 2023-05-02 11:05:38 -05:00
Evan Almloff
7193453fe0 Merge branch 'upstream' into server-fn 2023-04-13 08:09:27 -05:00
Evan Almloff
6afd764aa4 Merge branch 'upstream' into fix-ssr-raw-attributes 2023-04-12 09:11:25 -05:00
Evan Almloff
fe75138e42 fix dangerous_inner_html with SSR 2023-04-07 09:35:32 -05:00
Evan Almloff
e1bb6cc750 Merge branch 'upstream' into server-fn 2023-04-02 07:11:07 -05:00
Evan Almloff
bfcb0f6eab add an example illistrating intigration with the router 2023-03-31 15:33:44 -05:00
Evan Almloff
468f684d7d fix style attributes in SSR 2023-03-22 10:10:18 -05:00
Evan Almloff
96397f08d0 fix int and float raw values in ssr 2023-03-22 08:43:58 -05:00
Evan Almloff
a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Jon Kelley
7d37dc39d5
Merge pull request #829 from Demonthos/fix-pre-tag-ssr 2023-02-14 11:36:02 -08:00
Evan Almloff
4bf655851b fix pre tag typo 2023-02-14 09:56:39 -06:00
Evan Almloff
c84003de98 update tests to escape text 2023-02-14 09:06:59 -06:00
Evan Almloff
c9f9b8b0fa escape text in ssr 2023-02-14 08:44:01 -06:00
Evan Almloff
b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Evan Almloff
52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley
7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Jonathan Kelley
4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley
8887d65e1b Merge branch 'master' into jk/suspense-rollover 2022-12-25 22:10:22 -05:00
Jonathan Kelley
5a70c6ecf9 chore: swap over router none 2022-12-22 14:45:48 -05:00
Evan Almloff
e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Jonathan Kelley
d3be971f4e chore: rollback to option instead of anyhow 2022-12-19 18:06:13 -08:00
Evan Almloff
4364a4b511 handle updating templates better 2022-12-19 19:28:44 -06:00
Jonathan Kelley
7ce07e3164 chore: fix tests passing 2022-12-07 15:29:32 -08:00
Jonathan Kelley
5673017def chore: clean up the repo some 2022-12-06 17:50:25 -08:00
Jonathan Kelley
5a0ae67ccb chore: make clippy happy 2022-12-06 17:44:29 -08:00
Jonathan Kelley
34d9aafe0e feat: overhaul ssr 2022-12-06 17:41:47 -08:00
Jonathan Kelley
b182a6ee75 chore: clean up interpreter and bindings 2022-12-05 16:47:04 -08:00
Jonathan Kelley
7b1cdb7d85 feat: get desktop working with new template strategy 2022-12-05 16:08:41 -08:00
Jonathan Kelley
a61daf220d feat: context api overhaul 2022-12-02 16:24:49 -08:00
Jonathan Kelley
3c19def550 chore: get create working and simplify dynamic nodes 2022-11-30 11:24:13 -05:00
Jonathan Kelley
491bf4332d wip: stop transmuting reference 2022-11-21 17:00:34 -08:00
Jonathan Kelley
04bc635ac5 wip: prep to fix bug in create 2022-11-15 23:22:41 -08:00
Jonathan Kelley
0dad91bc08 wip: pass more events 2022-11-15 16:37:23 -08:00
Jonathan Kelley
47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -08:00
Jonathan Kelley
a38fc9e4ab feat: suspense! 2022-11-06 01:48:34 -07:00
Jonathan Kelley
d2ce57ba6e feat: poll async once 2022-11-03 20:56:31 -07:00
Jonathan Kelley
584504feb7 feat: keys 2022-11-03 01:24:20 -07:00
Jonathan Kelley
dddbcfd5e2 feat: works with components 2022-11-02 17:36:36 -07:00
Jonathan Kelley
c6a6c3d0f8 feat: components pass thru children 2022-11-02 17:29:18 -07:00
Jonathan Kelley
b6c0bce89c feat: support cached ssr 2022-11-02 01:00:37 -07:00
Jonathan Kelley
22d4bf7346 feat: use walking pattern 2022-10-26 18:04:47 -07:00
Jonathan Kelley
7cbb4d52dd wip: more modifications to templates 2022-10-21 18:54:14 -07:00
Jonathan Kelley
90982e0ccb wip: start to refactor out hot reloading from packages
Also implement alternative simpler template system
2022-10-20 09:56:09 -07:00
Demonthos
3b7b503333
Refactor Mutations and simplify Templates (#578)
* update mutations to be path based rather than renderer integrated
2022-10-18 14:42:45 -07:00
Demonthos
daeffd4149
pass clippy (#575) 2022-10-02 14:12:24 -07:00
Demonthos
047ed1e553
Subtree memorization / reactive templates (#488)
This commit adds subtree memoization to Dioxus.

Subtree memoization is basically a compile-time step that drastically 
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates 
are then understood by the various renderers in the ecosystem as a 
faster way of rendering the same items. 

For example, in the web, templates are simply a set of DOM Nodes created 
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance. 

Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.

This commit represents a working starter point for this work, adding support 
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve 
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Jon Kelley
d9546d9504
Renderers are now packages, not features. (#387)
* feat: use synchronous router design

* feat: function to get router out of dom

* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Evan Almloff
fbf8e13b8d clean up imports 2022-06-25 08:27:10 -05:00
Jonathan Kelley
356f37e9ee feat: arbitrary attributes 2022-05-05 16:50:33 -04:00
Jonathan Kelley
3febd42588 Release dioxus-core v0.2.1, dioxus-core-macro v0.2.1, dioxus-html v0.2.1, dioxus-interpreter-js v0.2.1, dioxus-desktop v0.2.3, dioxus-hooks v0.2.1, dioxus-liveview v0.1.0, dioxus-native-core v0.2.0, dioxus-native-core-macro v0.2.0, dioxus-router v0.2.3, dioxus-ssr v0.2.1, dioxus-tui v0.2.2, dioxus-web v0.2.1, fermi v0.2.1, dioxus v0.2.4 2022-05-02 23:57:20 -04:00
Jonathan Kelley
e7505188d6 release: make a new 0.2.0 release of Dioxus 2022-03-09 14:24:05 -05:00
Jonathan Kelley
f6c6134d67 Release dioxus-core v0.1.9 2022-01-29 10:42:38 -05:00
Jonathan Kelley
3c2d5985da Release dioxus-ssr v0.1.3 2022-01-29 10:37:34 -05:00
Jonathan Kelley
f965030b80 Release dioxus-core v0.1.8 2022-01-29 10:36:10 -05:00
Jonathan Kelley
56f3002aed feat: add changelogs 2022-01-29 10:17:14 -05:00
Dave Rolsky
9e4ec43b1e Fix various typos and grammar nits
I also removed all trailing whitespace from lines since I have Emacs
configured to highlight this.
2022-01-21 21:43:43 -06:00
Jonathan Kelley
255f58af63 fix: ssr respects bool attrs 2022-01-10 01:32:32 -05:00
Alexandre Kirszenberg
b6903bf558 Enable clippy 2022-01-08 16:35:26 +01:00
Jonathan Kelley
b804c691d5 Release dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:30:37 -05:00
Jonathan Kelley
a36dab7f45 Release dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:28:25 -05:00
Jonathan Kelley
40d1f85d0c Release dioxus-core v0.1.7, dioxus-core-macro v0.1.6, dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7 2022-01-08 02:25:03 -05:00