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
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors
2023-07-31 18:49:54 -07:00
Jonathan Kelley
f0289068a2
Merge pull request #1219 from Demonthos/improve-build-times
...
Halve Build Times
2023-07-20 10:50:15 -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
212022d0c2
more clippy fixes
2023-07-19 13:54:10 -07:00
Evan Almloff
3d8d8a1b6f
half-build-times
2023-07-19 10:19:23 -07:00
Jonathan Kelley
f62af4057f
Fix clippy lint
2023-07-14 13:22:08 -07:00
Jonathan Kelley
3b3020edd2
Make clippy ignore dumb lint
2023-07-14 13:13:33 -07:00
Marc Espín
32d4472bfd
fix: Remove duplicated doc links and improved some descriptions ( #1167 )
2023-07-08 11:04:27 -05:00
Torstein Grindvik
a3169ac17b
Change missing trailing comma span to point to span where comma is missing from
...
Signed-off-by: Torstein Grindvik <torstein.grindvik@nordicsemi.no>
2023-07-02 15:19:03 +02:00
Evan Almloff
5f873511c5
use workspace dependancies
2023-06-19 14:29:11 -05:00
Evan Almloff
bfdcad6ede
fix trait bounds on generics with inline_props
2023-03-01 20:41:49 -06:00
Jonathan Kelley
f664ce8fe0
Merge branch 'master' of github.com:DioxusLabs/dioxus
2023-02-22 13:06:41 -08:00
Jonathan Kelley
ab0023129d
bump rsx
2023-02-22 12:22:45 -08:00
Evan Almloff
a51f67c2ec
add version to docs links in readmes
2023-02-18 18:38:30 -06:00
Jon Kelley
4f0f2484fd
Merge pull request #774 from Demonthos/update-doc-links
...
Update guide doc links
2023-02-17 11:53:15 -08:00
Evan Almloff
b6c7d44a27
fix clippy
2023-01-27 20:35:46 -06:00
Jonathan Kelley
07447fd756
Fix 782 - inline props should use cx token
2023-01-17 15:50:04 -08:00
Evan Almloff
3f3db39c28
update doc links
2023-01-15 15:18:12 -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
e7e21fa2f0
fix: errors when using render macro
2022-12-23 17:47:57 -05:00
Jonathan Kelley
19eb12b8dd
rollback: use default default
2022-12-19 20:25:21 -08:00
Jonathan Kelley
b254d9e761
chore: remove cross-crate doc comments
2022-12-09 15:03:56 -08:00
Jonathan Kelley
9c4abcbea0
wip: more tests!
2022-11-22 21:32:26 -08:00
Jonathan Kelley
642b21f125
suspense works in desktop
2022-11-16 11:48:47 -08:00
Jonathan Kelley
c6a6c3d0f8
feat: components pass thru children
2022-11-02 17:29:18 -07:00
Jonathan Kelley
4a31b29703
feat: simple tests passing
2022-11-01 18:42:29 -07:00
Demonthos
23c48cf795
render optimizations ( #585 )
2022-10-08 23:24:41 -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
28fba42e7e
feat: add an unhygenic render macro ( #556 )
...
* feat: add an unhygenic render macro
* chore: use render instead of rsx!(cx,
2022-09-25 01:05:16 -07:00
Demonthos
baf1807338
allow duplicate idents in format_args_f ( #515 )
2022-08-10 22:45:56 -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
Demonthos
4a5ae758ee
Allow Multiple dependencies for states in the RealDom (native core) ( #412 )
...
* WIP multable deps
* WIP: refactor and genralize state macro
* add traversable trait
* update tui to use elementid to index dom
2022-07-07 00:50:22 -04:00
Jonathan Kelley
2884d72b08
chore: make clippy happy
2022-07-02 23:45:32 -04:00
Evan Almloff
7730401288
fix escape sequences in ifmt
2022-06-28 12:19:07 -05:00
YuKun Liu
0af69f83f2
Rename hot_reload
to hot-reload
2022-06-26 14:23:19 +08:00
Evan Almloff
dd335cda59
use line!, col!, and row! instead of panic location
2022-06-20 15:44:10 -05:00
Evan Almloff
9e7e5b0859
Merge remote-tracking branch 'upstream/master' into jk/rsx-refactor
2022-06-16 09:17:36 -05:00
Demonthos
df4ea20bb8
create serde compatible parse error
2022-06-15 12:58:08 -05:00
Evan Almloff
2a6d9ed075
handle rsx!{cx, ...}
2022-06-05 07:38:05 -05:00
Evan Almloff
8c6fceb0c7
finish desktop implementation
2022-06-04 14:26:37 -05:00
Evan Almloff
2bcaa2e43e
refactor interperting macro into function and don't rely on cx being in scope
2022-06-04 12:20:56 -05:00
Muhannad Alrusayni
dded91a589
doc: put docs in once place instead of two
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
252f9343b8
fix: Support Div ()
as component
...
previously I from some reason I thought this not allowed syntax. Some test
failed because of my misunderstood, so now I fix this :D
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
03a14f4a86
fix: element start with lowercase letter again :D
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
062f986841
refactor: Remove unused types from scope
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
37f7fe2ac6
fix: Element must be of lowercase letters only
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
690efade88
fix: Support Input::<..>
style to for generic components
...
before that, we accepted this style `Input<..>` but to be consistent
with Rust syntax this is dropped now.
> For reference, the two ways of specifying explicit type parameters in
> Rust are:
> // for functions
> let _ = foo::<MyType>();
>
> // for structs
> let _ = Foo::<MyType> { ... };
>
> by @jkelleyrtp
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
5b079075d7
refactor: clean up commented code.
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
0b5b7f09db
feat: Support generic component with inline_props
with some limitation
2022-06-04 13:40:50 +03:00
Muhannad Alrusayni
a55b56b403
feat: Support generic components in rsx!()
macro
2022-06-04 13:40:50 +03:00
Evan Almloff
0079f7d18b
WIP: expose pipe for desktop
2022-06-02 13:33:08 -05:00
Evan Almloff
3b2ac82e8d
fix spelling of interpreter
2022-05-31 12:18:22 -05:00
Evan Almloff
b921dc4eec
call error handler when error occurs
2022-05-31 12:06:53 -05:00
Evan Almloff
51b87dafcc
derive serde for Errors and Location, and add error handler
2022-05-31 12:03:04 -05:00
Evan Almloff
94448ea4aa
handle formatting options
2022-05-30 18:32:57 -05:00
Evan Almloff
2183ecf3fb
better error handling
2022-05-29 08:04:08 -05:00
Evan Almloff
06390b9be5
allow rsx to be used outside of a proc_macro context
2022-05-28 12:10:32 -05:00
Evan Almloff
f9713b2fe9
Merge remote-tracking branch 'origin/master' into jk/rsx-refactor
2022-05-27 17:56:50 -05:00
Evan Almloff
94169083f5
use __varibles
2022-05-27 13:09:29 -05:00
Evan Almloff
3c7db0631b
handle iterators and nested rsx calls
2022-05-27 12:21:12 -05:00
Evan Almloff
a0c7e4d78a
add component support
2022-05-27 09:47:44 -05:00
Evan Almloff
5b0a60c294
handle expressions in attributes
2022-05-26 19:16:51 -05:00
Evan Almloff
62cca95905
update interperter to use CapuredContext
2022-05-26 17:02:36 -05:00
Evan Almloff
871f51f91b
It compiles
2022-05-25 14:08:59 -05:00
Evan Almloff
ca10d89670
add RsxTextIndex
2022-05-25 11:20:07 -05:00
Evan Almloff
c7c84da8ab
WIP hot reload
2022-05-25 08:58:59 -05:00
Evan Almloff
db1866090a
fix broken doc links
2022-05-22 20:44:32 -05: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
2a1970b3a9
feat: add prettyplease vendored and get basic test working
2022-04-24 02:55:20 -04:00
Jonathan Kelley
794f43ffee
concept: move rsx out to its own crate
2022-04-24 02:35:52 -04:00
Jonathan Kelley
24bca45612
fix: inline props should look for attributes
2022-04-09 19:41:29 -04:00
Jon Kelley
4edaeb0aae
Merge pull request #324 from overlisted/inlineprops-generics
...
`#[inline_props]` generics
2022-03-20 20:28:06 -04:00
Jon Kelley
d3ac3db296
Merge pull request #315 from Synphonyte/master
...
Option<...> props are optional by default.
2022-03-20 19:59:35 -04:00
Ilya Maximov
46b7f3b623
feat: basic generic support
2022-03-20 20:59:30 +01:00
Ilya Maximov
334936b276
fix: typos
2022-03-19 21:04:48 +01:00
Ilya Maximov
86159d0b55
fix: wrong type of error
2022-03-19 20:48:54 +01:00
Ilya Maximov
1f065acb4c
refactor: simplify and organize the errors
2022-03-19 20:37:25 +01:00
Ilya Maximov
0be88d20ee
docs: remove capitals and periods from errors
2022-03-19 19:29:57 +01:00
Maccesch
5818da5f70
auto detect optional props
2022-03-15 16:52:45 +00:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00
Jonathan Kelley
56517ef5de
fix: merge conflicts
2022-02-26 17:35:23 -05:00
Jonathan Kelley
03feaa446a
fix: make clippy happy
2022-02-23 11:37:28 -05:00
Jonathan Kelley
45231651dd
fix: quick patch
2022-02-22 16:34:06 -05:00
Jonathan Kelley
185902f935
fix: macro compiles
2022-02-18 23:14:17 -05:00
Jonathan Kelley
b93487282d
feat: move files around
2022-02-18 20:54:30 -05:00
Jonathan Kelley
b2472e3cfe
Merge branch 'master' into jk/partialexpansion
2022-02-18 15:31:49 -05:00
Jonathan Kelley
3873cd1a60
fix: remove unused depds
2022-02-16 14:40:45 -05:00
Jonathan Kelley
ca7ce46cdb
Merge branch 'master' into jk/partialexpansion
2022-02-13 12:36:02 -05:00
Jonathan Kelley
4a3680ee1b
chore: remove all warnings
2022-02-10 21:00:15 -05:00
Jonathan Kelley
0820e18d3d
feat: make component name accessible
2022-01-31 02:49:37 -05:00
Jonathan Kelley
1b2a0053ef
Release dioxus-core-macro v0.1.7
2022-01-29 10:35:54 -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
174d287062
wip: extract to rsx module
2022-01-17 23:02:36 -05:00
Jonathan Kelley
abfac0d59b
wip: move macro lib out of proc macro crate
2022-01-17 16:37:44 -05:00