Jonathan Kelley
4091846934
feat: add aria
2021-07-13 00:56:39 -04:00
Jonathan Kelley
c79d9ae674
feat: buff up html allowed attributes
2021-07-12 23:44:20 -04:00
Jonathan Kelley
a05047d01e
wip: use the new structure
2021-07-12 18:19:27 -04:00
Jonathan Kelley
a85b8c4b6b
wip: apply formatting
2021-07-12 13:03:24 -04:00
Jonathan Kelley
df8bb615de
docs: more workshopping
2021-07-12 12:22:08 -04:00
Jonathan Kelley
f5bead4f6e
wip: workshop readme
2021-07-12 12:20:58 -04:00
Jonathan Kelley
3a0919da36
wip: workshop the readme
2021-07-12 12:19:50 -04:00
Jonathan Kelley
fb0c6d2ea4
chore: remove unnecessary import
2021-07-12 11:03:35 -04:00
Jonathan Kelley
63bbc38f3f
wip: edit some css
2021-07-12 09:40:13 -04:00
Jonathan Kelley
68ed1c04e7
wip: ....sigh..... so the diffing algorithm is robust
...
but it's still not finished.
We need to re-enable the fancier keyed diffing versions some point (soon!).
2021-07-12 03:58:46 -04:00
Jonathan Kelley
ff0a3d1c83
wip: lots of changes to diffing
2021-07-12 02:23:46 -04:00
Jonathan Kelley
56e7eb83a9
wip: more examples
2021-07-11 19:31:07 -04:00
Jonathan Kelley
304259d818
wip: move examples around
2021-07-11 18:39:45 -04:00
Jonathan Kelley
269e81b0fd
example: ssr + tide
2021-07-11 17:24:47 -04:00
Jonathan Kelley
bbcb5a0234
feat: enable components in ssr
2021-07-11 15:17:55 -04:00
Jonathan Kelley
9abb0470b7
feat: static node infrastructure and ssr changes
2021-07-11 14:49:52 -04:00
Jonathan Kelley
975fa566f9
wip: more refactor for async
2021-07-09 12:47:41 -04:00
Jonathan Kelley
8cfc437bfe
wip: some project refactor
2021-07-09 11:54:07 -04:00
Jonathan Kelley
feab50f24a
wip: some work
2021-07-09 03:39:45 -04:00
Jonathan Kelley
58ab51a4e4
wip: more refactor
2021-07-09 01:42:26 -04:00
Jonathan Kelley
c811a8982c
wip: more refactor
2021-07-09 01:37:34 -04:00
Jonathan Kelley
9276fd7db7
wip: refactor
2021-07-09 01:36:18 -04:00
Jonathan Kelley
1cc1679a6b
feat: refactor out the hooks implementation
2021-07-09 01:26:15 -04:00
Jonathan Kelley
eb82051000
examples: webview and async
2021-07-08 23:25:27 -04:00
Jonathan Kelley
99d94b69ab
feat: move webview to wry
2021-07-08 12:01:31 -04:00
Jonathan Kelley
2547da36a0
wip: more examples
2021-07-08 10:17:51 -04:00
Jonathan Kelley
e4cdb645aa
feat: beaf up the use_state hook
2021-07-08 09:29:12 -04:00
Jonathan Kelley
7aec40d57e
feat: enable arbitrary body in rsx! macro
2021-07-07 18:17:00 -04:00
Jonathan Kelley
fd7933561f
chore: move CLI into its own "studio" app
2021-07-07 16:58:23 -04:00
Jonathan Kelley
207784800d
docs: reference guide
2021-07-07 16:25:51 -04:00
Jonathan Kelley
98a09339fd
wip: move some examples around
2021-07-07 16:19:10 -04:00
Jonathan Kelley
cca7c5fc3a
wip: remove the scoped trait
2021-07-07 15:07:46 -04:00
Jonathan Kelley
36542b482f
wip: move the functions around a bit
2021-07-07 14:37:31 -04:00
Jonathan Kelley
a38a81e129
wip: fix issues with lifetimes
...
this commit fixes some lifetime issues regarding having to "move" data into the IntoVNode closure.
2021-07-07 13:51:55 -04:00
Jonathan Kelley
22e659c2bd
feat: namespaced attributes
...
this commit adds namespaced attributes. This lets us support attribute groups, and thus, inline styles.
This namespaced attribute stuff is only available for styles at the moment, though it theoretically could be enabled for any other attributes.
2021-07-06 23:04:33 -04:00
Jonathan Kelley
a4bf3d9862
docs: more example
2021-07-06 15:18:36 -04:00
Jonathan Kelley
891e366cd8
wip: more examples
2021-07-06 12:13:20 -04:00
Jonathan Kelley
11f89e5d33
wip: more examples
2021-07-06 12:13:00 -04:00
Jonathan Kelley
904b26f711
feat: add edits back! and more webview support!
...
This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant and allows us to only render parts of the page at a time.
This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.
2021-07-05 18:37:15 -04:00
Jonathan Kelley
e8f29a8f8a
wip: enable more diffing
2021-07-05 01:11:49 -04:00
Jonathan Kelley
b5e5ef171a
feat: two calculator examples
2021-07-02 15:48:19 -04:00
Jonathan Kelley
d9e6d0925b
docs: examples
2021-07-02 01:30:52 -04:00
Jonathan Kelley
818043e5e4
chore: move nojekyll
2021-07-01 16:05:26 -04:00
Jonathan Kelley
53d34e3016
chore: ignore jekyll
2021-07-01 16:04:11 -04:00
Jonathan Kelley
eb39b000d7
wip: example
2021-07-01 16:03:27 -04:00
Jonathan Kelley
952a91d540
wip
2021-07-01 14:14:59 -04:00
Jonathan Kelley
c5f9cce63a
wip: more on signals
2021-06-30 17:20:13 -04:00
Jonathan Kelley
14d55d50ca
concept: signals guide
2021-06-30 16:47:30 -04:00
Jonathan Kelley
93900aac44
concept: integrate signals
2021-06-30 14:08:12 -04:00
Jonathan Kelley
7665f2c6cf
feat: move to slotmap
2021-06-29 22:44:21 -04:00
Jonathan Kelley
21685fbb16
wip: more work on diffing
2021-06-28 22:22:11 -04:00
Jonathan Kelley
f4fb5bb454
feat: integrate serialization and string borrowing
...
This commit adds lifetimes to the diff and realdom methods so consumers may borrow the contents of the DOM for serialization or asynchronous modifications.
2021-06-28 12:05:17 -04:00
Jonathan Kelley
9813f23cdf
wip: more work on diffing machine
2021-06-26 22:13:57 -04:00
Jonathan Kelley
ca3b80f069
wip: more work on diffing.
...
This commit is working on the diffing algorithm. We're *mostly* there but need to get fragments wired in and then keyed elements need to be re-implemented. For Dioxus core, this is the last major technical hurdle barring "fibers" (suspense) and attribute groups (inline styles).
2021-06-26 03:15:20 -04:00
Jonathan Kelley
895cc0142b
wip: stack-based "real child iterator"
2021-06-26 03:06:29 -04:00
Jonathan Kelley
0826fdfee1
docs: more docs
2021-06-26 02:05:20 -04:00
Jonathan Kelley
0f0fc3e4b8
wip: suspense ergonomics
2021-06-26 01:30:20 -04:00
Jonathan Kelley
bf21c82de0
docs: lib.rs docs
2021-06-26 01:30:13 -04:00
Jonathan Kelley
8af791e4eb
docs: more readme
2021-06-26 01:30:01 -04:00
Jonathan Kelley
ea91fc984d
perf: refcell to cell for hookidx
2021-06-26 01:29:51 -04:00
Jonathan Kelley
81382e7044
chore: rename ctx to cx
2021-06-25 21:15:33 -04:00
Jonathan Kelley
23c14078bb
docs: move suspense into a "figured out task"
2021-06-25 13:17:18 -04:00
Jonathan Kelley
8c37e4947e
Merge pull request #9 from jkelleyrtp/jk/no-more-patch-machine
...
Remove patch machine
2021-06-25 12:16:27 -04:00
Jonathan Kelley
c8495fd26e
docs: more readme
2021-06-25 09:35:01 -04:00
Jonathan Kelley
66920eab91
docs: more readme
2021-06-25 09:33:59 -04:00
Jonathan Kelley
57a61fb4ba
docs: update readme a tad
2021-06-25 09:33:43 -04:00
Jonathan Kelley
daa9bd82c3
docs: more work on docs
2021-06-25 09:31:13 -04:00
Jonathan Kelley
4ecfc241e2
docs: more work
2021-06-24 11:18:58 -04:00
Jonathan Kelley
772e11b965
docs: split table up
2021-06-24 11:17:59 -04:00
Jonathan Kelley
527e0abd0f
docs: fix formatting
2021-06-24 11:15:55 -04:00
Jonathan Kelley
acbeac02d9
docs: add a table to the readme
2021-06-24 11:15:25 -04:00
Jonathan Kelley
7fbaf69cab
Docs: more examples and docs
2021-06-24 11:09:38 -04:00
Jonathan Kelley
100a78f321
docs: fix types and add a conclusion to custom renderer guide
2021-06-24 00:27:48 -04:00
Jonathan Kelley
17f6576e98
Docs: fleshed out custom renderer doc
2021-06-24 00:18:29 -04:00
Jonathan Kelley
de1535ddac
wip: more anitpatterns
2021-06-23 23:25:34 -04:00
Jonathan Kelley
f5683a2346
wip: docs
...
Worked a bit on adding more examples. Trying out a new "antipattern" example to show how *not* to use Dioxus.
2021-06-23 22:32:54 -04:00
Jonathan Kelley
9d7ee79826
feat: events work again!
2021-06-23 01:44:48 -04:00
Jonathan Kelley
73047fe956
feat: props memoization is more powerful
...
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.
Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
2021-06-22 17:20:54 -04:00
Jonathan Kelley
7102fe5f98
docs: add some more sources in the core implementation
2021-06-21 01:35:12 -04:00
Jonathan Kelley
cff0547f1a
wip: get diff compiling
...
Currently working through the normalization process. Occasionally, we want to iterate through all the nodes that we know have a real image in the dom. However, fragments and components don't directly have a mirror in the dom. This commit is exploring the concept of a custom iterator that explores every node in an array of nodes, returning only valid nodes which may be mounted to the dom. A big issue we're working through is heavily nested rootless nodes - something not terribly common but important nonetheless.
Inferno, React, and Preact all perform a mutative-form of normalization which alter the children list before comparing to the previous. Mostly, we're concerned about fragments in lists and heavily nested components that do not render real elements.
2021-06-21 00:52:37 -04:00
Jonathan Kelley
79127ea6cd
wip: moving to IDs
2021-06-20 02:16:42 -04:00
Jonathan Kelley
45ee803609
wip: moving to imperative method of dom
2021-06-20 01:52:32 -04:00
Jonathan Kelley
91f1b00517
wip: move away from patch machine
2021-06-19 20:34:52 -04:00
Jonathan Kelley
62ae5d3bb9
wip: rethinking stack machine
2021-06-19 20:31:25 -04:00
Jonathan Kelley
70cd46dbb2
docs: move around examples
2021-06-17 18:00:32 -04:00
Jonathan Kelley
b9ff95fa12
wip: start moving events to rc<event>
2021-06-16 23:37:55 -04:00
Jonathan Kelley
9222d8ece3
docs: more docs on recoil
2021-06-16 13:47:41 -04:00
Jonathan Kelley
318cac9767
Feat: tweak docs for atoms
2021-06-16 13:42:12 -04:00
Jonathan Kelley
c08cd4cb5c
chore: tweak gitignore to hide unnecessary vscode files
2021-06-16 11:27:10 -04:00
Jonathan Kelley
3bc02ee7c4
Feat: more docs
2021-06-16 11:25:47 -04:00
Jonathan Kelley
36ea39ae30
Feat: rename recoil to atoms
2021-06-16 11:19:37 -04:00
Jonathan Kelley
47e896038e
wip: more work on updating syntad
2021-06-15 10:02:46 -04:00
Jonathan Kelley
e45b6e0aa2
Merge pull request #8 from jkelleyrtp/jk/diff_machine_own_vdom
...
Doc: change up example a bit
2021-06-10 11:45:55 -04:00
Jonathan Kelley
a03497e0d8
Doc: change up example a bit
2021-06-10 11:45:32 -04:00
Jonathan Kelley
984828f399
Merge pull request #6 from jkelleyrtp/jk/diff_machine_own_vdom
...
wip: new approach at direct access to vdom
2021-06-10 01:02:12 -04:00
Jonathan Kelley
517d7f1495
Chore: some cleanup and documentation
2021-06-10 01:01:53 -04:00
Jonathan Kelley
fe6938ceb3
wip: pre vnodes instead of vnode
2021-06-08 14:00:29 -04:00
Jonathan Kelley
e3d9db0847
wip: successfully building
2021-06-07 14:14:49 -04:00
Jonathan Kelley
7790750349
wip: merge in some code from the other branch
2021-06-05 23:47:54 -04:00
Jonathan Kelley
795a54a2e4
wip: new approach at direct access to vdom
...
This commit starts the process of merging scope arena
with the diff machine to give the diffing algorithm mutable
access to components. React and Preact mutate the dom
as they diff it which makes their implementations simpler
and cleaner. The goal here is to give access of scopes to
the diffing machine which can mutate the underyling
representation during diffing.
2021-06-05 23:38:51 -04:00