Update icondata (#82)

* Update icondata

* merge upstream

* feat: update icondata

---------

Co-authored-by: luoxiaozero <48741584+luoxiaozero@users.noreply.github.com>
Co-authored-by: luoxiao <luoxiaozero@163.com>
This commit is contained in:
Yota 2024-01-26 23:10:17 +09:00 committed by luoxiaozero
parent 791e7ca9da
commit 3ea0afa7af
26 changed files with 56 additions and 86 deletions

View file

@ -12,14 +12,7 @@ leptos_meta = { version = "0.5.7" }
leptos_router = { version = "0.5.7" }
leptos_devtools = { version = "0.0.1", optional = true}
thaw = { path = "../thaw", default-features = false }
icondata = { version = "0.1.0", features = [
"AiCloseOutlined",
"AiCheckOutlined",
"AiGithubOutlined",
"AiUserOutlined",
"AiSearchOutlined",
"AiUnorderedListOutlined"
] }
icondata = "0.3.0"
demo_markdown = { path = "../demo_markdown" }
[features]
@ -41,4 +34,4 @@ nightly = ["leptos/nightly", "leptos_meta/nightly", "leptos_router/nightly"]
opt-level = 1
[profile.dev.package."*"]
opt-level = 3
opt-level = 3

View file

@ -141,14 +141,14 @@ pub fn SiteHeader() -> impl IntoView {
comp_ref=auto_complete_ref
>
<AutoCompletePrefix slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiSearchOutlined) style="font-size: 18px; color: var(--thaw-placeholder-color);"/>
<Icon icon=icondata::AiSearchOutlined style="font-size: 18px; color: var(--thaw-placeholder-color);"/>
</AutoCompletePrefix>
</AutoComplete>
<Popover placement=PopoverPlacement::BottomEnd class="demo-header__menu-popover-mobile">
<PopoverTrigger slot class="demo-header__menu-mobile">
<Button
variant=ButtonVariant::Text
icon=icondata::AiIcon::AiUnorderedListOutlined
icon=icondata::AiUnorderedListOutlined
style="font-size: 22px; padding: 0px 6px;"
/>
</PopoverTrigger>
@ -192,7 +192,7 @@ pub fn SiteHeader() -> impl IntoView {
</Button>
<Button
variant=ButtonVariant::Text
icon=icondata::AiIcon::AiGithubOutlined
icon=icondata::AiGithubOutlined
round=true
style="font-size: 22px; padding: 0px 6px;"
on_click=move |_| {

View file

@ -32,7 +32,7 @@ pub fn NavBarDemoPage() -> impl IntoView {
on_click_right=on_click_right
>
<NavBarRight slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiCloseOutlined)/>
<Icon icon=icondata::AiCloseOutlined/>
</NavBarRight>
</NavBar>
<div style="padding-top: 50px">{move || click_text.get()}</div>

View file

@ -23,7 +23,7 @@ pub fn TabbarDemoPage() -> impl IntoView {
{move || value.get()} <Tabbar value>
<TabbarItem key="a">"and"</TabbarItem>
<TabbarItem key="i">"if"</TabbarItem>
<TabbarItem key="o" icon=icondata::AiIcon::AiCloseOutlined>
<TabbarItem key="o" icon=icondata::AiCloseOutlined>
"or"
</TabbarItem>
</Tabbar>

View file

@ -17,7 +17,7 @@ view! {
on_click_right=on_click_right
>
<NavBarRight slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiCloseOutlined)/>
<Icon icon=icondata::AiCloseOutlined/>
</NavBarRight>
</NavBar>
<div style="padding-top: 50px">{move || click_text.get()}</div>

View file

@ -11,7 +11,7 @@ view! {
<Tabbar value>
<TabbarItem key="a">"and"</TabbarItem>
<TabbarItem key="i">"if"</TabbarItem>
<TabbarItem key="o" icon=icondata::AiIcon::AiCloseOutlined>
<TabbarItem key="o" icon=icondata::AiCloseOutlined>
"or"
</TabbarItem>
</Tabbar>

View file

@ -44,12 +44,12 @@ view! {
<Space vertical=true>
<AutoComplete>
<AutoCompletePrefix slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiUserOutlined)/>
<Icon icon=icondata::AiUserOutlined/>
</AutoCompletePrefix>
</AutoComplete>
<AutoComplete>
<AutoCompleteSuffix slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiGithubOutlined)/>
<Icon icon=icondata::AiGithubOutlined/>
</AutoCompleteSuffix>
</AutoComplete>
</Space>

View file

@ -29,17 +29,17 @@ view! {
```rust demo
view! {
<Space>
<Button color=ButtonColor::Error icon=icondata::AiIcon::AiCloseOutlined>
<Button color=ButtonColor::Error icon=icondata::AiCloseOutlined>
"Error Color Icon"
</Button>
<Button
color=ButtonColor::Error
icon=icondata::AiIcon::AiCloseOutlined
icon=icondata::AiCloseOutlined
round=true
/>
<Button
color=ButtonColor::Error
icon=icondata::AiIcon::AiCloseOutlined
icon=icondata::AiCloseOutlined
circle=true
/>
</Space>
@ -62,7 +62,7 @@ let on_click = move |_| {
view! {
<Space>
<Button loading on_click icon=icondata::AiIcon::AiCloseOutlined>
<Button loading on_click icon=icondata::AiCloseOutlined>
"Click Me"
</Button>
<Button loading on_click>

View file

@ -3,8 +3,8 @@
```rust demo
view! {
<Space>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiCloseOutlined)/>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiCheckOutlined)/>
<Icon icon=icondata::AiCloseOutlined/>
<Icon icon=icondata::AiCheckOutlined/>
</Space>
}
```

View file

@ -79,7 +79,7 @@ view! {
<Space vertical=true>
<Input value>
<InputPrefix slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiUserOutlined)/>
<Icon icon=icondata::AiUserOutlined/>
</InputPrefix>
</Input>
<Input value>
@ -87,7 +87,7 @@ view! {
</Input>
<Input value>
<InputSuffix slot>
<Icon icon=icondata::Icon::from(icondata::AiIcon::AiGithubOutlined)/>
<Icon icon=icondata::AiGithubOutlined/>
</InputSuffix>
</Input>
</Space>
@ -125,4 +125,4 @@ view! {
### TextArea Props
Removes variant and slot from Input component.
Removes variant and slot from Input component.

View file

@ -22,24 +22,8 @@ web-sys = { version = "0.3.63", features = [
"DataTransfer",
] }
wasm-bindgen = "0.2.89"
icondata = { version = "0.1.0", features = [
"AiCloseOutlined",
"AiCheckOutlined",
"AiLeftOutlined",
"AiLoadingOutlined",
"AiCheckCircleFilled",
"AiExclamationCircleFilled",
"AiCloseCircleFilled",
"AiPlusOutlined",
"AiPlusOutlined",
"AiMinusOutlined",
"AiRightOutlined",
"AiClockCircleOutlined",
"AiCalendarOutlined",
"AiArrowLeftOutlined",
"AiArrowRightOutlined",
] }
icondata_core = "0.0.2"
icondata = "0.3.0"
icondata_core = "0.1.0"
uuid = { version = "1.5.0", features = ["v4"] }
cfg-if = "1.0.0"
chrono = "0.4.31"

View file

@ -5,7 +5,6 @@ use crate::{
utils::{class_list::class_list, mount_style},
Icon, Theme,
};
use icondata::AiIcon;
use leptos::*;
pub use theme::AlertTheme;
@ -77,9 +76,9 @@ pub fn Alert(
});
let icon = create_memo(move |_| {
match variant.get() {
AlertVariant::Success => AiIcon::AiCheckCircleFilled,
AlertVariant::Warning => AiIcon::AiExclamationCircleFilled,
AlertVariant::Error => AiIcon::AiCloseCircleFilled,
AlertVariant::Success => icondata::AiCheckCircleFilled,
AlertVariant::Warning => icondata::AiExclamationCircleFilled,
AlertVariant::Error => icondata::AiCloseCircleFilled,
}
.into()
});

View file

@ -240,7 +240,7 @@ pub fn Button(
if loading.get() {
view! {
<Icon
icon=Icon::from(AiIcon::AiLoadingOutlined)
icon=icondata::AiLoadingOutlined
style=format!(
"animation: thawLoadingCircle 1s infinite linear;{icon_style}",
)

View file

@ -7,7 +7,6 @@ use crate::{
Button, ButtonGroup, ButtonVariant, Theme,
};
use chrono::{Month, Months};
use icondata::AiIcon;
use leptos::*;
use std::ops::Deref;
pub use theme::CalendarTheme;
@ -137,7 +136,7 @@ pub fn Calendar(
<ButtonGroup>
<Button
variant=ButtonVariant::Solid
icon=AiIcon::AiLeftOutlined
icon=icondata::AiLeftOutlined
on_click=previous_month
/>
<Button variant=ButtonVariant::Solid on_click=today>
@ -145,7 +144,7 @@ pub fn Calendar(
</Button>
<Button
variant=ButtonVariant::Solid
icon=AiIcon::AiRightOutlined
icon=icondata::AiRightOutlined
on_click=next_month
/>
</ButtonGroup>

View file

@ -10,7 +10,6 @@ use crate::{
};
pub use checkbox_group::CheckboxGroup;
pub use checkbox_item::CheckboxItem;
use icondata::AiIcon;
use leptos::*;
#[component]
@ -47,7 +46,7 @@ pub fn Checkbox(
<div class="thaw-checkbox__dot">
<If cond=value>
<Then slot>
<Icon icon=Icon::from(AiIcon::AiCheckOutlined) style="color: white"/>
<Icon icon=icondata::AiCheckOutlined style="color: white"/>
</Then>
</If>
</div>

View file

@ -4,7 +4,6 @@ use crate::{
utils::{class_list::class_list, StoredMaybeSignal},
Icon,
};
use icondata::AiIcon;
use leptos::*;
#[component]
@ -48,7 +47,7 @@ pub fn CollapseItem(
move || class.get()
]>
<div class="thaw-collapse-item__header" on:click=on_click>
<Icon icon=Icon::from(AiIcon::AiRightOutlined) class="thaw-collapse-item-arrow"/>
<Icon icon=icondata::AiRightOutlined class="thaw-collapse-item-arrow"/>
{move || title.get()}
</div>
<CSSTransition node_ref=content_ref show=is_show_content name="thaw-collapse-item" let:display>

View file

@ -5,7 +5,7 @@ use crate::{
chrono::NaiveDate,
components::{Binder, Follower, FollowerPlacement},
utils::{mount_style, now_date, ComponentRef},
AiIcon, Icon, Input, InputSuffix, SignalWatch,
Icon, Input, InputSuffix, SignalWatch,
};
use leptos::*;
use panel::{Panel, PanelRef};
@ -76,7 +76,7 @@ pub fn DatePicker(
<div ref=date_picker_ref>
<Input attrs class value=show_date_text on_focus=open_panel on_blur=on_input_blur>
<InputSuffix slot>
<Icon icon=Icon::from(AiIcon::AiCalendarOutlined) style="font-size: 18px"/>
<Icon icon=icondata::AiCalendarOutlined style="font-size: 18px"/>
</InputSuffix>
</Input>
</div>

View file

@ -2,7 +2,7 @@ use super::PanelVariant;
use crate::{
chrono::{Datelike, Days, Month, Months, NaiveDate},
utils::now_date,
AiIcon, Button, ButtonSize, ButtonVariant, CalendarItemDate,
Button, ButtonSize, ButtonVariant, CalendarItemDate,
};
use leptos::*;
use std::ops::Deref;
@ -92,13 +92,13 @@ pub fn DatePanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowLeftOutlined
icon=icondata::AiArrowLeftOutlined
on_click=previous_year
/>
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiLeftOutlined
icon=icondata::AiLeftOutlined
on_click=previous_month
/>
<div class="thaw-date-picker-date-panel__header-month-year">
@ -120,13 +120,13 @@ pub fn DatePanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiRightOutlined
icon=icondata::AiRightOutlined
on_click=next_month
/>
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowRightOutlined
icon=icondata::AiArrowRightOutlined
on_click=next_year
/>
</div>

View file

@ -1,7 +1,7 @@
use super::PanelVariant;
use crate::{
chrono::{Datelike, Month, Months, NaiveDate},
AiIcon, Button, ButtonSize, ButtonVariant,
Button, ButtonSize, ButtonVariant,
};
use leptos::*;
@ -27,7 +27,7 @@ pub fn MonthPanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowLeftOutlined
icon=icondata::AiArrowLeftOutlined
on_click=previous_year
/>
<div class="thaw-date-picker-date-panel__header-year">
@ -42,7 +42,7 @@ pub fn MonthPanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowRightOutlined
icon=icondata::AiArrowRightOutlined
on_click=next_year
/>
</div>

View file

@ -1,7 +1,7 @@
use super::PanelVariant;
use crate::{
chrono::{Datelike, NaiveDate},
AiIcon, Button, ButtonSize, ButtonVariant,
Button, ButtonSize, ButtonVariant,
};
use leptos::*;
@ -34,7 +34,7 @@ pub fn YearPanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowLeftOutlined
icon=icondata::AiArrowLeftOutlined
on_click=previous_year_range
/>
<div>
@ -47,7 +47,7 @@ pub fn YearPanel(
<Button
variant=ButtonVariant::Link
size=ButtonSize::Small
icon=AiIcon::AiArrowRightOutlined
icon=icondata::AiArrowRightOutlined
on_click=next_year_range
/>
</div>

View file

@ -1,6 +1,6 @@
// copy https://github.com/Carlosted/leptos-icons
// leptos updated version causes leptos_icons error
pub(crate) use icondata::*;
pub(crate) use icondata::Icon;
use leptos::*;
/// The Icon component.
@ -22,10 +22,8 @@ pub fn Icon(
#[prop(into, optional)]
style: Option<MaybeSignal<String>>,
) -> impl IntoView {
let icon = move || icondata_core::IconData::from(icon.get());
let svg = move || {
let icon = icon();
let icon = icon.get();
let mut svg = svg::svg();
if let Some(classes) = class.clone() {
svg = svg.classes(classes.get());

View file

@ -1,5 +1,5 @@
use crate::utils::StoredMaybeSignal;
use crate::{AiIcon, Button, ButtonVariant, ComponentRef, Icon, Input, InputRef, InputSuffix};
use crate::{Button, ButtonVariant, ComponentRef, Icon, Input, InputRef, InputSuffix};
use leptos::*;
use std::ops::{Add, Sub};
use std::str::FromStr;
@ -67,10 +67,10 @@ where
>
<InputSuffix slot>
<Button disabled variant=ButtonVariant::Link on_click=sub>
<Icon icon=Icon::from(AiIcon::AiMinusOutlined) style="font-size: 18px"/>
<Icon icon=icondata::AiMinusOutlined style="font-size: 18px"/>
</Button>
<Button disabled variant=ButtonVariant::Link on_click=add>
<Icon icon=Icon::from(AiIcon::AiPlusOutlined) style="font-size: 18px"/>
<Icon icon=icondata::AiPlusOutlined style="font-size: 18px"/>
</Button>
</InputSuffix>
</Input>

View file

@ -3,7 +3,6 @@ mod message_provider;
mod theme;
use crate::{theme::use_theme, Icon, Theme, components::{If, Then}};
use icondata::*;
use leptos::*;
use uuid::Uuid;
pub use message_provider::*;
@ -20,9 +19,9 @@ pub enum MessageVariant {
impl MessageVariant {
fn icon(&self) -> Icon {
match self {
MessageVariant::Success => icondata::Icon::Ai(AiCloseCircleFilled),
MessageVariant::Warning => icondata::Icon::Ai(AiExclamationCircleFilled),
MessageVariant::Error => icondata::Icon::Ai(AiCheckCircleFilled),
MessageVariant::Success => icondata::AiCloseCircleFilled,
MessageVariant::Warning => icondata::AiExclamationCircleFilled,
MessageVariant::Error => icondata::AiCheckCircleFilled,
}
}
fn theme_color(&self, theme: &Theme) -> String {
@ -64,7 +63,7 @@ pub(crate) fn Message(
<If cond=closable>
<Then slot>
<div class="thaw-message__close" on:click=move |_| on_close.call(id)>
<Icon icon=icondata::Icon::Ai(AiCloseOutlined)/>
<Icon icon=icondata::AiCloseOutlined/>
</div>
</Then>
</If>

View file

@ -78,7 +78,7 @@ pub fn NavBar(
<div class="thaw-nav-bar__left" on:click=on_click_left>
<If cond=left_arrow>
<Then slot>
<Icon icon=Icon::from(AiIcon::AiLeftOutlined)/>
<Icon icon=icondata::AiLeftOutlined/>
</Then>
</If>
{move || left_text.get()}

View file

@ -35,7 +35,7 @@ pub fn Modal(
</CardHeader>
<CardHeaderExtra slot>
<span style="cursor: pointer;" on:click=move |_| show.set(false)>
<Icon icon=Icon::from(AiIcon::AiCloseOutlined)/>
<Icon icon=icondata::AiCloseOutlined/>
</span>
</CardHeaderExtra>
{children()}

View file

@ -5,7 +5,7 @@ use crate::{
components::{Binder, Follower, FollowerPlacement},
use_theme,
utils::{mount_style, ComponentRef},
AiIcon, Button, ButtonSize, ButtonVariant, Icon, Input, InputSuffix, SignalWatch, Theme,
Button, ButtonSize, ButtonVariant, Icon, Input, InputSuffix, SignalWatch, Theme,
};
use leptos::*;
pub use theme::TimePickerTheme;
@ -77,7 +77,7 @@ pub fn TimePicker(
<Input attrs class value=show_time_text on_focus=open_panel on_blur=on_input_blur>
<InputSuffix slot>
<Icon
icon=Icon::from(AiIcon::AiClockCircleOutlined)
icon=icondata::AiClockCircleOutlined
style="font-size: 18px"
/>
</InputSuffix>