Skip to content

Commit 873b2a7

Browse files
committed
feat!: features
1 parent f88cc16 commit 873b2a7

File tree

28 files changed

+414
-361
lines changed

28 files changed

+414
-361
lines changed

Cargo.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/frender-csr-web/src/renderer/csr.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use std::borrow::Cow;
22

3-
use frender_html::{
4-
csr::experimental::RenderHtml,
5-
dom::csr::{
6-
render::{Render, RenderWithContext},
7-
web::{CursorPlaceholder, Node, RenderContext},
8-
ProvideRenderContext,
3+
use frender_html::csr::{
4+
experimental::{
5+
render::Render,
6+
web::{self, CursorPlaceholder, Node, RenderContext},
7+
ProvideRenderContext, RenderHtml,
98
},
9+
render::RenderWithContext,
1010
};
1111

1212
use super::{Renderer, RendererWithRoot};
@@ -22,9 +22,7 @@ impl ProvideRenderContext for RendererWithRoot {
2222
) -> Res {
2323
let mut ctx = RenderContext {
2424
renderer: &mut self.renderer,
25-
cursor: &mut frender_html::dom::csr::web::Cursor::first_child_of(Cow::Borrowed(
26-
&self.root,
27-
)),
25+
cursor: &mut web::Cursor::first_child_of(Cow::Borrowed(&self.root)),
2826
};
2927
f(&mut ctx)
3028
}
@@ -178,7 +176,7 @@ impl RenderHtml for Renderer {
178176
);
179177
}
180178

181-
impl frender_html::dom::csr::web::Renderer for Renderer {
179+
impl web::Renderer for Renderer {
182180
fn document(&self) -> Cow<web_sys::Document> {
183181
Cow::Borrowed(&self.document)
184182
}

packages/frender-csr-web/src/renderer/csr/text.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use frender_html::dom::csr::{render::RenderTextFrom, web::Node};
1+
use frender_html::csr::experimental::{
2+
render::RenderTextFrom,
3+
web::{self, Node},
4+
};
25

36
use super::Renderer;
47

@@ -72,11 +75,11 @@ mod into_js_string {
7275
mod into_text_node {
7376
use std::{borrow::Cow, rc::Rc, sync::Arc};
7477

78+
use frender_html::values::StringElement;
7579
use frender_reactive_value::{static_or_temp_ref::StaticOrTempRef, temp_ref::TempRef};
7680
use wasm_bindgen::JsCast as _;
7781

7882
use frender_common::impl_many;
79-
use frender_html::dom::string_element::StringElement;
8083

8184
use super::Renderer;
8285

@@ -168,7 +171,7 @@ impl<V: into_text_node::IntoTextNode> RenderTextFrom<V> for Renderer {
168171

169172
fn render_text_from(render_context: &mut Self::RenderContext<'_>, v: V) -> Self::Text {
170173
let text = v.into_text_node(render_context.renderer);
171-
<Self as frender_html::dom::csr::web::Renderer>::mount_node(render_context, &text);
174+
<Self as web::Renderer>::mount_node(render_context, &text);
172175
Node(text)
173176
}
174177

packages/frender-dom-values/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ frender-dom = { version = "0.1.0", path = "../frender-dom" }
99
frender-dom-tokens = { version = "0.1.0", path = "../frender-dom-tokens" }
1010
frender-form-control = { version = "0.1.0", path = "../frender-form-control" }
1111
frender-style = { version = "0.1.0", path = "../frender-style" }
12+
frender-events = { version = "0.1.0", path = "../frender-events" }
1213

1314
[features]
1415
csr = [

packages/frender-dom-values/src/lib.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ pub mod attr_value {
6666
pub use self::macros::style;
6767
pub mod style {
6868
pub use frender_style::{
69-
css_style_declaration, impl_has_const_declaration_list_for,
69+
impl_has_const_declaration_list_for,
7070
style::{comma_separated, one, r#const},
7171
styles::{constness::ConstDeclarationList, Chain, EitherStyle, Never},
7272
IntoStyle, Style,
@@ -87,9 +87,7 @@ pub mod dom_tokens {
8787
dom_tokens::{comma_separated, one, r#const},
8888
impl_dom_tokens_for,
8989
impl_has_const_dom_tokens_for,
90-
Chain,
91-
EitherDomTokens,
92-
EraseConstKnownPossibleDomTokens,
90+
values::{Chain, EitherDomTokens, EraseConstKnownPossibleDomTokens},
9391
{ChainableDomTokens, DomTokens, IntoDomTokens},
9492
};
9593
}
@@ -98,3 +96,11 @@ pub mod macros {
9896
pub use frender_dom_tokens::dom_tokens::comma_separated as dom_tokens;
9997
pub use frender_style::style::comma_separated as style;
10098
}
99+
100+
pub mod event {
101+
pub use frender_events::event::{
102+
AnimationEvent, CompositionEvent, Event, FocusEvent, InputEvent, KeyboardEvent, MouseEvent,
103+
PointerEvent, SecurityPolicyViolationEvent, TouchEvent, TransitionEvent, UiEvent,
104+
WheelEvent,
105+
};
106+
}

packages/frender-dom/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ frender-events = { version = "0.1.0", path = "../frender-events" }
1010
frender-common = { version = "0.1.0", path = "../frender-common" }
1111

1212
frender-style = { version = "0.1.0", path = "../frender-style" }
13-
frender-dom-tokens = { version = "0.1.0", path = "../frender-dom-tokens" }
13+
frender-dom-tokens = { version = "0.1.0", path = "../frender-dom-tokens", features = [
14+
"experimental",
15+
] }
1416
frender-attr-value = { version = "0.1.0", path = "../frender-attr-value" }
1517

1618
# ssr
@@ -74,3 +76,4 @@ either = [
7476
"frender-dom-tokens/either",
7577
"frender-style/either",
7678
]
79+
experimental = []

packages/frender-dom/src/csr/behaviors.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use frender_dom_tokens::experimental::csr::DomTokenList;
12
use frender_style::css_style_declaration::CssStyleDeclaration;
23

34
use crate::csr::{render::RenderWithContext, render_from::str::ValueForStr};
@@ -71,15 +72,15 @@ pub trait HtmlElement<Renderer: ?Sized>: Element<Renderer> + SetInnerTextFromStr
7172
}
7273

7374
pub trait ElementWithClassList<Renderer: ?Sized>: Element<Renderer> {
74-
type ClassList<'a>: frender_dom_tokens::DomTokenList
75+
type ClassList<'a>: DomTokenList
7576
where
7677
Self: 'a,
7778
Renderer: 'a;
7879
fn class_list<'a>(&'a mut self, renderer: &'a mut Renderer) -> Self::ClassList<'a>;
7980
}
8081

8182
pub trait ElementWithRelList<Renderer: ?Sized>: Element<Renderer> {
82-
type RelList<'a>: frender_dom_tokens::DomTokenList
83+
type RelList<'a>: DomTokenList
8384
where
8485
Self: 'a,
8586
Renderer: 'a;

packages/frender-dom/src/csr/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@ pub mod behaviors;
1919

2020
mod ui_handle;
2121
pub use ui_handle::{ProvideMutMounted, UiHandle, UnmountedUiHandle};
22+
23+
pub mod experimental {
24+
pub use frender_dom_tokens::experimental::csr::DomTokenList;
25+
}

packages/frender-dom/src/lib.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ pub mod style {
1010
}
1111
}
1212

13-
pub mod dom_tokens {
14-
pub use frender_dom_tokens::{DomToken, DomTokenList, DomTokens};
15-
}
16-
1713
mod tag;
1814

1915
#[cfg(feature = "csr")]

packages/frender-dom/src/ssr.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ pub use self::component::{
44
};
55

66
mod component;
7+
8+
pub mod experimental {
9+
pub use frender_dom_tokens::experimental::ssr::SsrDomTokens;
10+
}

0 commit comments

Comments
 (0)