diff --git a/demo/Cargo.toml b/demo/Cargo.toml index 47ee7f8..a69f90c 100644 --- a/demo/Cargo.toml +++ b/demo/Cargo.toml @@ -8,14 +8,15 @@ edition = "2021" [dependencies] leptos = { version = "0.5.2", features = ["csr"] } +leptos_meta = { version = "0.5.2", features = ["csr"] } +leptos_router = { version = "0.5.2", features = ["csr"] } +leptos_devtools = "0.0.1" thaw = { path = "../" } icondata = { version = "0.1.0", features = [ "AiCloseOutlined", "AiCheckOutlined", "AiGithubOutlined", ] } -leptos_router = { version = "0.5.2", features = ["csr"] } -leptos_devtools = "0.0.1" prisms = { git = "https://github.com/luoxiaozero/prisms", rev = "16d4d34b93fc20578ebf03137d54ecc7eafa4d4b" } [features] diff --git a/demo/src/app.rs b/demo/src/app.rs index 775f9d1..6d37601 100644 --- a/demo/src/app.rs +++ b/demo/src/app.rs @@ -1,5 +1,6 @@ use crate::pages::*; use leptos::*; +use leptos_meta::provide_meta_context; use leptos_router::*; use thaw::*; @@ -22,6 +23,7 @@ pub fn App() -> impl IntoView { let theme = create_rw_signal(theme); provide_context(theme); + provide_meta_context(); view! { diff --git a/demo/src/components/demo.rs b/demo/src/components/demo.rs index 796a1a9..710db99 100644 --- a/demo/src/components/demo.rs +++ b/demo/src/components/demo.rs @@ -1,4 +1,5 @@ use leptos::*; +use leptos_meta::Style; use thaw::*; #[slot] @@ -10,7 +11,6 @@ pub struct DemoCode { #[component] pub fn Demo(demo_code: DemoCode, children: Children) -> impl IntoView { - mount_style("demo", prisms::prism_css!()); let theme = use_theme(Theme::light); let style = create_memo(move |_| { let mut style = String::from("background-image: url(/thaw/grid_dot.svg); background-repeat: repeat; background-size: 1.5rem; margin-top: 1rem; padding: 1rem; border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem;"); @@ -40,6 +40,9 @@ pub fn Demo(demo_code: DemoCode, children: Children) -> impl IntoView { style }); view! { +
{children()}
diff --git a/demo/src/pages/grid/mod.rs b/demo/src/pages/grid/mod.rs index 4897b79..42967eb 100644 --- a/demo/src/pages/grid/mod.rs +++ b/demo/src/pages/grid/mod.rs @@ -1,25 +1,25 @@ use crate::components::{Demo, DemoCode}; use leptos::*; +use leptos_meta::Style; use prisms::highlight_str; use thaw::*; #[component] pub fn GridPage() -> impl IntoView { - mount_style( - "grid-demo", - r#".thaw-grid-item { - height: 60px; - text-align: center; - line-height: 60px; - } - .thaw-grid-item:nth-child(odd) { - background-color: #0078ff88; - } - .thaw-grid-item:nth-child(even) { - background-color: #0078ffaa; - }"#, - ); view! { +

"Grid"

diff --git a/src/alert/mod.rs b/src/alert/mod.rs index dc10cdc..78f5862 100644 --- a/src/alert/mod.rs +++ b/src/alert/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{theme::use_theme, utils::mount_style::mount_style, Icon, Theme}; +use crate::{theme::use_theme, utils::mount_style, Icon, Theme}; use icondata::AiIcon; use leptos::*; pub use theme::AlertTheme; diff --git a/src/auto_complete/mod.rs b/src/auto_complete/mod.rs index 998d54d..fb84c11 100644 --- a/src/auto_complete/mod.rs +++ b/src/auto_complete/mod.rs @@ -2,8 +2,8 @@ mod theme; use crate::{ components::{Binder, Follower, FollowerPlacement, FollowerWidth}, - mount_style, use_theme, - utils::StoredMaybeSignal, + use_theme, + utils::{mount_style, StoredMaybeSignal}, Input, Theme, }; use leptos::*; diff --git a/src/avatar/mod.rs b/src/avatar/mod.rs index 8adf34f..496817e 100644 --- a/src/avatar/mod.rs +++ b/src/avatar/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{mount_style, use_theme, Theme}; +use crate::{use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::AvatarTheme; diff --git a/src/badge/mod.rs b/src/badge/mod.rs index 0fdc8e1..a5aa6e9 100644 --- a/src/badge/mod.rs +++ b/src/badge/mod.rs @@ -1,4 +1,4 @@ -use crate::{mount_style, theme::use_theme, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; #[derive(Default, Clone)] diff --git a/src/breadcrumb/mod.rs b/src/breadcrumb/mod.rs index a1fcbc0..9a4c3d2 100644 --- a/src/breadcrumb/mod.rs +++ b/src/breadcrumb/mod.rs @@ -1,7 +1,7 @@ mod breadcrumb_item; mod theme; -use crate::{mount_style, use_theme, Theme}; +use crate::{use_theme, utils::mount_style, Theme}; pub use breadcrumb_item::BreadcrumbItem; use leptos::*; pub use theme::BreadcrumbTheme; diff --git a/src/button/mod.rs b/src/button/mod.rs index 4c6a714..a2c955b 100644 --- a/src/button/mod.rs +++ b/src/button/mod.rs @@ -4,7 +4,7 @@ use crate::{ components::{OptionComp, Wave, WaveRef}, icon::*, theme::*, - utils::{mount_style::mount_style, ComponentRef}, + utils::{mount_style, ComponentRef}, }; use leptos::*; pub use theme::ButtonTheme; diff --git a/src/card/mod.rs b/src/card/mod.rs index 9512f4f..8ce1955 100644 --- a/src/card/mod.rs +++ b/src/card/mod.rs @@ -1,4 +1,4 @@ -use crate::{components::*, use_theme, utils::mount_style::mount_style, Theme}; +use crate::{components::*, use_theme, utils::mount_style, Theme}; use leptos::*; #[derive(Clone)] diff --git a/src/checkbox/mod.rs b/src/checkbox/mod.rs index f3129d4..17248a8 100644 --- a/src/checkbox/mod.rs +++ b/src/checkbox/mod.rs @@ -1,7 +1,7 @@ mod checkbox_group; mod checkbox_item; -use crate::{components::*, icon::*, theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{components::*, icon::*, theme::use_theme, utils::mount_style, Theme}; pub use checkbox_group::CheckboxGroup; pub use checkbox_item::CheckboxItem; use icondata::AiIcon; diff --git a/src/code/mod.rs b/src/code/mod.rs index 3720fe4..1320b76 100644 --- a/src/code/mod.rs +++ b/src/code/mod.rs @@ -1,4 +1,4 @@ -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; use leptos::*; #[component] diff --git a/src/color_picker/mod.rs b/src/color_picker/mod.rs index f39e82b..6897834 100644 --- a/src/color_picker/mod.rs +++ b/src/color_picker/mod.rs @@ -2,7 +2,7 @@ mod color; mod theme; use crate::components::{Binder, Follower, FollowerPlacement}; -use crate::{mount_style, use_theme, Theme}; +use crate::{use_theme, utils::mount_style, Theme}; pub use color::*; use leptos::*; use leptos::{leptos_dom::helpers::WindowListenerHandle, wasm_bindgen::__rt::IntoJsResult}; diff --git a/src/components/binder/mod.rs b/src/components/binder/mod.rs index 250626f..134bb52 100644 --- a/src/components/binder/mod.rs +++ b/src/components/binder/mod.rs @@ -2,7 +2,7 @@ mod get_placement_style; use crate::{ components::Teleport, - mount_style, + utils::mount_style, utils::{add_event_listener, EventListenerHandle}, }; use get_placement_style::get_follower_placement_style; diff --git a/src/components/wave/mod.rs b/src/components/wave/mod.rs index 2fc1b9d..2922ec9 100644 --- a/src/components/wave/mod.rs +++ b/src/components/wave/mod.rs @@ -1,4 +1,4 @@ -use crate::utils::{mount_style::mount_style, ComponentRef}; +use crate::utils::{mount_style, ComponentRef}; use leptos::{leptos_dom::helpers::TimeoutHandle, *}; use std::time::Duration; diff --git a/src/divider/mod.rs b/src/divider/mod.rs index 8ebdd30..b021766 100644 --- a/src/divider/mod.rs +++ b/src/divider/mod.rs @@ -1,6 +1,6 @@ use leptos::*; -use crate::mount_style; +use crate::utils::mount_style; #[component] pub fn Divider() -> impl IntoView { diff --git a/src/input/mod.rs b/src/input/mod.rs index f2a1070..eda84f2 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -2,7 +2,7 @@ mod theme; use crate::{ theme::{use_theme, Theme}, - utils::mount_style::mount_style, + utils::mount_style, }; use leptos::*; pub use theme::InputTheme; diff --git a/src/layout/layout_sider.rs b/src/layout/layout_sider.rs index 3de8710..2c365d1 100644 --- a/src/layout/layout_sider.rs +++ b/src/layout/layout_sider.rs @@ -1,4 +1,4 @@ -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; use leptos::*; #[component] diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 45dd87a..c3faa18 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -1,7 +1,7 @@ mod layout_header; mod layout_sider; -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; pub use layout_header::*; pub use layout_sider::*; use leptos::*; diff --git a/src/lib.rs b/src/lib.rs index 2868455..3687b98 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -70,4 +70,4 @@ pub use tabs::*; pub use tag::*; pub use theme::*; pub use upload::*; -pub use utils::{mount_style::mount_style, signal::SignalWatch}; +pub use utils::SignalWatch; diff --git a/src/loading_bar/mod.rs b/src/loading_bar/mod.rs index f18e704..06693bb 100644 --- a/src/loading_bar/mod.rs +++ b/src/loading_bar/mod.rs @@ -1,6 +1,6 @@ mod loading_bar_provider; -use crate::{mount_style, use_theme, utils::ComponentRef, Theme}; +use crate::{use_theme, utils::mount_style, utils::ComponentRef, Theme}; use leptos::*; pub use loading_bar_provider::{use_loading_bar, LoadingBarProvider}; diff --git a/src/menu/menu_group.rs b/src/menu/menu_group.rs index d3d393d..d4a5260 100644 --- a/src/menu/menu_group.rs +++ b/src/menu/menu_group.rs @@ -1,4 +1,4 @@ -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; #[component] diff --git a/src/menu/menu_item.rs b/src/menu/menu_item.rs index e2a9172..e4fce27 100644 --- a/src/menu/menu_item.rs +++ b/src/menu/menu_item.rs @@ -1,5 +1,5 @@ use super::use_menu; -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; #[component] diff --git a/src/message/message_provider.rs b/src/message/message_provider.rs index 8749232..1367f4b 100644 --- a/src/message/message_provider.rs +++ b/src/message/message_provider.rs @@ -1,7 +1,7 @@ use std::time::Duration; use super::{message_environment::MessageEnvironment, MessageVariant}; -use crate::{components::Teleport, mount_style}; +use crate::{components::Teleport, utils::mount_style}; use leptos::*; use uuid::Uuid; diff --git a/src/mobile/nav_bar/mod.rs b/src/mobile/nav_bar/mod.rs index 1956de7..3975587 100644 --- a/src/mobile/nav_bar/mod.rs +++ b/src/mobile/nav_bar/mod.rs @@ -4,7 +4,7 @@ use crate::{ components::*, icon::*, use_theme, - utils::{mount_style::mount_style, StoredMaybeSignal}, + utils::{mount_style, StoredMaybeSignal}, Theme, }; use leptos::*; diff --git a/src/mobile/tabbar/mod.rs b/src/mobile/tabbar/mod.rs index 84414f9..a5c84be 100644 --- a/src/mobile/tabbar/mod.rs +++ b/src/mobile/tabbar/mod.rs @@ -1,7 +1,7 @@ mod tabbar_item; mod theme; -use crate::{use_theme, utils::mount_style::mount_style, Theme}; +use crate::{use_theme, utils::mount_style, Theme}; use leptos::*; pub use tabbar_item::*; pub use theme::TabbarTheme; diff --git a/src/mobile/tabbar/tabbar_item.rs b/src/mobile/tabbar/tabbar_item.rs index b7c47a2..ed4f06f 100644 --- a/src/mobile/tabbar/tabbar_item.rs +++ b/src/mobile/tabbar/tabbar_item.rs @@ -1,7 +1,7 @@ use super::use_tabbar; use crate::components::*; use crate::utils::StoredMaybeSignal; -use crate::{icon::*, theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{icon::*, theme::use_theme, utils::mount_style, Theme}; use leptos::*; #[component] diff --git a/src/mobile/toast/mod.rs b/src/mobile/toast/mod.rs index cb0aa61..8a5f969 100644 --- a/src/mobile/toast/mod.rs +++ b/src/mobile/toast/mod.rs @@ -1,4 +1,4 @@ -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; use cfg_if::cfg_if; use std::time::Duration; diff --git a/src/modal/mod.rs b/src/modal/mod.rs index 7f74ce1..6daa285 100644 --- a/src/modal/mod.rs +++ b/src/modal/mod.rs @@ -1,7 +1,7 @@ use crate::icon::*; use crate::{ components::{OptionComp, Teleport}, - utils::{mount_style::mount_style, StoredMaybeSignal}, + utils::{mount_style, StoredMaybeSignal}, Card, CardFooter, CardHeader, CardHeaderExtra, }; use leptos::*; diff --git a/src/progress/mod.rs b/src/progress/mod.rs index 684690a..45c23fa 100644 --- a/src/progress/mod.rs +++ b/src/progress/mod.rs @@ -1,4 +1,4 @@ -use crate::utils::{mount_style::mount_style, StoredMaybeSignal}; +use crate::utils::{mount_style, StoredMaybeSignal}; use leptos::*; #[component] diff --git a/src/radio/mod.rs b/src/radio/mod.rs index bde3d63..99fd1cf 100644 --- a/src/radio/mod.rs +++ b/src/radio/mod.rs @@ -1,4 +1,4 @@ -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; #[component] diff --git a/src/select/mod.rs b/src/select/mod.rs index e5f329c..e765999 100644 --- a/src/select/mod.rs +++ b/src/select/mod.rs @@ -3,7 +3,7 @@ mod theme; use crate::{ components::{Binder, Follower, FollowerPlacement, FollowerWidth}, theme::use_theme, - utils::mount_style::mount_style, + utils::mount_style, Theme, }; use leptos::wasm_bindgen::__rt::IntoJsResult; diff --git a/src/skeleton/mod.rs b/src/skeleton/mod.rs index cc8dc44..2e93a8c 100644 --- a/src/skeleton/mod.rs +++ b/src/skeleton/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{mount_style, theme::use_theme, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::SkeletionTheme; diff --git a/src/slider/mod.rs b/src/slider/mod.rs index cd0b3b2..4f09f55 100644 --- a/src/slider/mod.rs +++ b/src/slider/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::SliderTheme; diff --git a/src/space/mod.rs b/src/space/mod.rs index 25f17c7..33857e9 100644 --- a/src/space/mod.rs +++ b/src/space/mod.rs @@ -1,4 +1,4 @@ -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; use leptos::*; #[derive(Default)] diff --git a/src/switch/mod.rs b/src/switch/mod.rs index fdd3792..1f6aaac 100644 --- a/src/switch/mod.rs +++ b/src/switch/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{mount_style, theme::use_theme, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::SwitchTheme; diff --git a/src/table/mod.rs b/src/table/mod.rs index c310b0e..f18bd43 100644 --- a/src/table/mod.rs +++ b/src/table/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::TableTheme; diff --git a/src/tabs/mod.rs b/src/tabs/mod.rs index b6a7e3f..5d06988 100644 --- a/src/tabs/mod.rs +++ b/src/tabs/mod.rs @@ -1,6 +1,6 @@ mod tab; -use crate::{theme::use_theme, utils::mount_style::mount_style, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use tab::*; diff --git a/src/tabs/tab.rs b/src/tabs/tab.rs index 27d5f70..d2fbe27 100644 --- a/src/tabs/tab.rs +++ b/src/tabs/tab.rs @@ -1,5 +1,5 @@ use super::use_tabs; -use crate::utils::mount_style::mount_style; +use crate::utils::mount_style; use leptos::*; #[derive(Clone)] diff --git a/src/tag/mod.rs b/src/tag/mod.rs index bbb6819..8cad970 100644 --- a/src/tag/mod.rs +++ b/src/tag/mod.rs @@ -1,6 +1,6 @@ mod theme; -use crate::{mount_style, theme::use_theme, Theme}; +use crate::{theme::use_theme, utils::mount_style, Theme}; use leptos::*; pub use theme::TagTheme; diff --git a/src/upload/mod.rs b/src/upload/mod.rs index 52c5019..81a6a19 100644 --- a/src/upload/mod.rs +++ b/src/upload/mod.rs @@ -1,7 +1,7 @@ mod theme; mod upload_dragger; -use crate::{mount_style, utils::add_event_listener}; +use crate::{utils::add_event_listener, utils::mount_style}; use leptos::*; pub use theme::UploadTheme; pub use upload_dragger::UploadDragger; diff --git a/src/upload/upload_dragger.rs b/src/upload/upload_dragger.rs index 82dc50a..d18c6f6 100644 --- a/src/upload/upload_dragger.rs +++ b/src/upload/upload_dragger.rs @@ -1,4 +1,4 @@ -use crate::{use_theme, utils::mount_style::mount_style, Theme}; +use crate::{use_theme, utils::mount_style, Theme}; use leptos::*; #[component] diff --git a/src/utils/mod.rs b/src/utils/mod.rs index f2237aa..d304890 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,11 +1,13 @@ // mod callback; mod component_ref; mod event_listener; -pub mod mount_style; -pub mod signal; +mod mount_style; +mod signal; mod stored_maybe_signal; // pub use callback::AsyncCallback; -pub use component_ref::ComponentRef; -pub use event_listener::*; -pub use stored_maybe_signal::*; +pub(crate) use component_ref::ComponentRef; +pub(crate) use event_listener::*; +pub(crate) use mount_style::mount_style; +pub use signal::SignalWatch; +pub(crate) use stored_maybe_signal::*;