Commit graph

332 commits

Author SHA1 Message Date
Evan Almloff
355cd9b19e Merge branch 'master' into pr/atty303/1349 2023-11-20 18:37:33 -06:00
Evan Almloff
8a2d170d96 pull out the CLI config data into a separate library 2023-11-08 12:48:25 -06:00
Evan Almloff
6141aeb037 polish the throw trait 2023-11-07 18:24:07 -06:00
xTeKc
ca556ea9cb
update readme (#1615)
* Fix wasm-bindgen version mismatch

* fixes #1613
2023-11-06 13:32:42 -06:00
Evan Almloff
77d53df532 Merge branch 'master' into pr/atty303/1349 2023-10-31 13:39:20 -05:00
ealmloff
5bb06b9719
Merge branch 'master' into events-2 2023-10-30 15:37:29 -05:00
Stygmates
b836851d02
Add openidconnect authentication demo (#1500)
* Add openidconnect authentication demo

* use_atom_ref usage to have a read/write handle on the atom

* Use default

* Code rewrite to better reflect the authentication flow

* Use the env macro instead of the build.rs to load env variables

* Add env variables

* Remove unnecessary dependency

* Add env variables to the root workspace

* Update readme

* Bump openidconnect version

* Use props to pass the client to the child components

* Code clean up

---------

Co-authored-by: Truong Tan Dat <truongt@igbmc.fr>
2023-10-20 12:43:24 -05:00
Evan Almloff
7033276c34 Merge branch 'master' into pr/atty303/1349 2023-09-20 16:19:23 -05:00
Evan Almloff
219c068283 Merge branch 'master' into events-2 2023-09-17 20:01:21 -05: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
6e74d08bf5 remove log from a few examples 2023-09-11 19:42:08 -05:00
Evan Almloff
c55c17cb81 switch to tracing for logging 2023-09-06 17:47:33 -05:00
Evan Almloff
baf36ab9ec Merge branch 'master' into events-2 2023-09-02 18:14:36 -05:00
Stygmates
1b977fdce9
Add query segment example and documentation (#1417)
* fix a few new clippy lints

* Add query segment example

* Add trait documentation

* Change core package to root package

The core package contains the virtual dom implementation ([here](https://github.com/DioxusLabs/dioxus/tree/master/packages/core)). Root package might be a more clear way to refer to the main directory

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-09-02 10:24:30 -05:00
Evan Almloff
b54f7dd5d2 fix no default features on the web renderer 2023-08-25 21:28:44 -05:00
Jonathan Kelley
da4794d793
bump core to 0.4.2 2023-08-22 11:56:13 -07:00
Koji AGAWA
d573f5dfd5 feat: props spread 2023-08-13 16:45:17 +09:00
ealmloff
39ab39ac56
Merge branch 'DioxusLabs:master' into signals 2023-08-10 16:31:00 -05:00
Jonathan Kelley
2c79b7fd67
Update dioxus-core to 0.4.1 2023-08-09 15:00:57 -07:00
Evan Almloff
646c161c7d create read only signal 2023-08-07 16:04:49 -07:00
Evan Almloff
84734c4146 change dioxus signal to generational box 2023-08-07 14:34:16 -07:00
Evan Almloff
2b6b3b67b1 move dioxus copy into a separate package 2023-08-04 14:28:55 -07:00
Jonathan Kelley
3d4c5d7c98
Update fullstack to 0.4.1 2023-08-03 12:34:54 -07:00
Jonathan Kelley
906f3ee7db
Bump workspace version to 0.4.1 2023-08-01 16:37:42 -07:00
Jonathan Kelley
7c6bb27b1e
Bump the router to include #1272 2023-08-01 10:52:32 -07:00
Jonathan Kelley
83987f9728
Release new version of router including small fixes 2023-08-01 10:47:16 -07:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Jonathan Kelley
8a875acdd2
Adjust versions, add authors, move server macro to top level 2023-07-31 17:59:36 -07:00
Brian Donovan
8f8627af18
attempt to hoist prettier-please dependencies 2023-07-23 16:06:55 -07:00
Brian Donovan
2c2534d1cc
feat(check): adds dx check
At the moment this only checks the Rules of Hooks, ensuring that hook functions (i.e. `use_*`) are being called as expected.

https://dioxuslabs.com/docs/0.3/guide/en/interactivity/hooks.html

Closes #1202
2023-07-23 16:06:55 -07:00
Jonathan Kelley
91d4207fa7
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-20 10:51:10 -07:00
Evan Almloff
4c3fb1a33f Merge branch 'master' into router-typesafe 2023-07-17 15:12:25 -07:00
Brian Donovan
947b7b650e
chore: rename playwrite to playwright (#1203)
I assume this was a mistake and not intentional.
2023-07-17 11:00:59 -05:00
Jonathan Kelley
9d2b44aa0f
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-14 15:07:53 -07:00
Jonathan Kelley
f2cd6b8af6
Disable LTO on CLI 2023-07-14 14:54:21 -07:00
niedzwiedzw
f159779af4 make thiserror a workspace dependency everywhere else 2023-07-11 22:54:24 +02:00
niedzwiedzw
469a7ac0af better diagnostics for use_shared_state 2023-07-11 21:41:52 +02:00
ealmloff
39ec5f498c
Merge branch 'master' into router-typesafe 2023-07-10 19:16:39 -05:00
Jonathan Kelley
b5312732ba Get wasm loading in extension 2023-07-08 18:53:43 -07:00
Jonathan Kelley
f59cacb2a0 Get wasm bundling working 2023-07-08 14:24:01 -07:00
Evan Almloff
27b0c2683b create auth example 2023-07-08 10:37:28 -07:00
Evan Almloff
fb042df2fb fix cargo.toml 2023-07-07 18:33:21 -07:00
Evan Almloff
05fb8c1e91 Merge branch 'master' into router-typesafe 2023-07-07 18:31:48 -07:00
Jonathan Kelley
3f74b10e7c Feat: add dx as a package and move plugin to feature 2023-07-07 18:17:42 -07:00
Evan Almloff
b7ea3580c2 add static generation hydrated example 2023-07-06 10:52:09 -07:00
Jonathan Kelley
60a873a49c leave hotreload 2023-07-05 15:20:54 -07:00
Jonathan Kelley
ea3b199eb2 Android build working too 2023-07-05 14:35:08 -07:00
Jonathan Kelley
1a5936afda Add iOS example to mainline! 2023-07-05 11:31:09 -07:00
Jon Kelley
86402d3e23
Merge pull request #1077 from Demonthos/end-to-end-testing
create end to end tests using playwright
2023-06-30 12:23:31 -07:00
Jonathan Kelley
f1dbf033b9 Add cli to workspace 2023-06-28 17:38:08 -07:00
Evan Almloff
7b1f0c9412 Merge branch 'master' into router-typesafe 2023-06-28 08:56:07 -07:00
Evan Almloff
5f873511c5 use workspace dependancies 2023-06-19 14:29:11 -05:00
Evan Almloff
741ff97882 create end to end tests using playwright 2023-06-05 13:48:58 -05:00
Evan Almloff
037a248ad9 fix queries 2023-06-01 11:09:51 -05:00
Evan Almloff
92755a381d Merge branch 'upstream' into router-typesafe 2023-05-31 17:16:27 -05:00
Azriel Hoh
23dcd0657c Update env-logger to 0.10.0. 2023-05-29 13:19:08 +12:00
Evan Almloff
b91fb39142 Merge branch 'upstream' into router-typesafe 2023-05-23 11:24:31 -05:00
Evan Almloff
e4b8fbfafe Intigrate macro with router hooks and components 2023-05-22 16:42:32 -05:00
Jon Kelley
6bd3437e3a
Merge branch 'master' into server-fn 2023-05-18 13:18:41 +02:00
Evan Almloff
2aadeb8046 parse query strings 2023-05-12 20:55:38 -05:00
Evan Almloff
579da12ab6 Merge branch 'upstream' into server-fn 2023-05-02 11:05:38 -05:00
Evan Almloff
e6c540320e rename package to dioxus-fullstack 2023-05-02 10:15:34 -05:00
ealmloff
4b5bea171a
Merge branch 'master' into full-tailwind-css-example 2023-04-24 17:15:05 -05:00
Antonio Curavalea
459d8d69a7
examples: add PWA w/ Dioxus CLI template (#977)
* examples: add PWA w/ Dioxus CLI template

* ci: properly set workspace and dependencies
2023-04-23 18:26:23 -05:00
Adrian Wannenmacher
231e32d76e
merge upstream changes 2023-04-11 19:21:48 +02:00
Evan Almloff
0e445c9f59 add desktop server functions example 2023-04-03 13:34:34 -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
976d4ab960 Add warp adapter 2023-03-31 09:40:58 -05:00
Evan Almloff
f618da7311 allow passing props to the rendered component 2023-03-30 19:42:46 -05:00
Evan Almloff
1d395d572f fix workspace build 2023-03-30 10:38:32 -05:00
Evan Almloff
7f6f6fb8c8 create server package 2023-03-28 13:35:17 -05:00
Evan Almloff
0029fed24a create complete tailwind example project with steps to setup tailwind 2023-03-26 11:29:56 -05:00
Evan Almloff
f34fa5d974 Move dioxus-specifc code into dioxus-tui crate and rename core crate to Rink 2023-03-13 12:04:51 -05:00
Evan Almloff
a8566b4e71 finish shipyard migration in native-core 2023-03-07 16:00:43 -06:00
Evan Almloff
d53bfb6c56 Merge branch 'upstream' into simplify-native-core 2023-01-28 18:49:19 -06:00
Evan Almloff
4738352955 remove native-core-macro 2023-01-22 16:41:15 -06:00
Evan Almloff
351b9fab6f allow custom namespaces 2023-01-12 10:52:24 -06:00
=
9e45cbe4a7 remove the hot-reload-macro crate 2023-01-11 18:51:09 -06:00
Evan Almloff
1073574896 implement hot reloading for desktop 2023-01-11 13:40:02 -06:00
Jonathan Kelley
4f9d67fb45 feat: simple signals implementation 2023-01-01 19:57:33 -05:00
Jonathan Kelley
d3ab397ad3 chore: add transparency and overlay 2022-12-30 22:30:04 -05:00
Jonathan Kelley
c890051f87 chore: add back examples 2022-12-28 16:23:05 -05:00
Jonathan Kelley
bc3cf6501c feat: complete html to rsx rosetta 2022-12-28 16:22:20 -05:00
Jonathan Kelley
14bc007c15 wip: refactor out translation into its own crate 2022-12-28 11:51:41 -05:00
Adrian Wannenmacher
dbbfdefc21
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-23 18:19:02 +01:00
Jonathan Kelley
8d7d07db56 chore: make clippy happy in workspace crate 2022-12-19 11:56:44 -08:00
Adrian Wannenmacher
a7e9b32f7e
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-14 17:19:37 +01:00
Jonathan Kelley
5c20e651da fix: get rollover working 2022-12-13 14:44:47 -08:00
Adrian Wannenmacher
1d69698ec9
Merge branch 'master' of github.com:DioxusLabs/dioxus into router-2 2022-12-08 23:01:12 +01:00
Jonathan Kelley
f075a519cc chore: prevent publishing 2022-12-07 13:21:38 -08:00
Jonathan Kelley
6184ea500b chore: also fix native core 2022-12-07 13:20:31 -08:00
Adrian Wannenmacher
1f1c49b9c9
add router core 2022-12-03 21:49:16 +01:00
Jonathan Kelley
3b166c9edd wip: clean up some things 2022-11-30 23:54:30 -05:00
Jonathan Kelley
18d6b1ad6f feat: get web working properly 2022-11-30 17:21:10 -05:00
Jonathan Kelley
4a31b29703 feat: simple tests passing 2022-11-01 18:42:29 -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
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
Reinis Mazeiks
6c323e9fc5
Rework Guide (#486)
* Move getting started to Guide

* Clean up summary and getting started

* Shorten intro by moving stuff to individual platform docs

* Make intro even shorter, summarize features

* Further cleanup; move development-related docs to separate section

* Make `guide` a crate. Turn code samples into examples so that we can check if they compile

* Rewrite "Describing the UI":

* Focus on RSX syntax (interactivity covered in later chapters); make sure samples are tested; concise language

* Move some "special attribute" samples to the `examples` directory

* Simplify introduction to components

* Simplify introduction to component props

* Document Prop features; add code samples

* Simplify component children docs

* Interactivity: better introduction to events

* Hooks: better introduction

* Remove outdated doc

* Introducs use_ref

* Simplify User Input chapter

* Document event handler props

* Meme editor example

* Meme editor walkthrough

* Add dark mode example

* Guide for context; dark mode example

* Guide: custom hooks

* Guide: conditional rendering

* Guide: rendering lists

* Guide: rendering lists + keys

* Move remaining infor from Reference to guide

* Delete reference book
2022-07-07 08:50:36 +00:00