Merge Component
and ComponentPreview
trait (#28365)
- Merge `Component` and `ComponentPreview` trait - Adds a number of component previews - Removes a number of stories Release Notes: - N/A
This commit is contained in:
parent
b15ee1b1cc
commit
c05bf096f8
52 changed files with 3276 additions and 1848 deletions
|
@ -1,4 +1,5 @@
|
|||
use crate::{AnyIcon, prelude::*};
|
||||
use super::AnyIcon;
|
||||
use crate::prelude::*;
|
||||
|
||||
#[derive(Default)]
|
||||
enum IndicatorKind {
|
||||
|
@ -8,7 +9,7 @@ enum IndicatorKind {
|
|||
Icon(AnyIcon),
|
||||
}
|
||||
|
||||
#[derive(IntoElement)]
|
||||
#[derive(IntoElement, RegisterComponent)]
|
||||
pub struct Indicator {
|
||||
kind: IndicatorKind,
|
||||
border_color: Option<Color>,
|
||||
|
@ -82,3 +83,95 @@ impl RenderOnce for Indicator {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Component for Indicator {
|
||||
fn scope() -> ComponentScope {
|
||||
ComponentScope::Status
|
||||
}
|
||||
|
||||
fn description() -> Option<&'static str> {
|
||||
Some(
|
||||
"Visual indicators used to represent status, notifications, or draw attention to specific elements.",
|
||||
)
|
||||
}
|
||||
|
||||
fn preview(_window: &mut Window, _cx: &mut App) -> Option<AnyElement> {
|
||||
Some(
|
||||
v_flex()
|
||||
.gap_6()
|
||||
.children(vec![
|
||||
example_group_with_title(
|
||||
"Dot Indicators",
|
||||
vec![
|
||||
single_example("Default", Indicator::dot().into_any_element()),
|
||||
single_example(
|
||||
"Success",
|
||||
Indicator::dot().color(Color::Success).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Warning",
|
||||
Indicator::dot().color(Color::Warning).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Error",
|
||||
Indicator::dot().color(Color::Error).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"With Border",
|
||||
Indicator::dot()
|
||||
.color(Color::Accent)
|
||||
.border_color(Color::Default)
|
||||
.into_any_element(),
|
||||
),
|
||||
],
|
||||
),
|
||||
example_group_with_title(
|
||||
"Bar Indicators",
|
||||
vec![
|
||||
single_example("Default", Indicator::bar().into_any_element()),
|
||||
single_example(
|
||||
"Success",
|
||||
Indicator::bar().color(Color::Success).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Warning",
|
||||
Indicator::bar().color(Color::Warning).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Error",
|
||||
Indicator::bar().color(Color::Error).into_any_element(),
|
||||
),
|
||||
],
|
||||
),
|
||||
example_group_with_title(
|
||||
"Icon Indicators",
|
||||
vec![
|
||||
single_example(
|
||||
"Default",
|
||||
Indicator::icon(Icon::new(IconName::Circle)).into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Success",
|
||||
Indicator::icon(Icon::new(IconName::Check))
|
||||
.color(Color::Success)
|
||||
.into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Warning",
|
||||
Indicator::icon(Icon::new(IconName::Warning))
|
||||
.color(Color::Warning)
|
||||
.into_any_element(),
|
||||
),
|
||||
single_example(
|
||||
"Error",
|
||||
Indicator::icon(Icon::new(IconName::X))
|
||||
.color(Color::Error)
|
||||
.into_any_element(),
|
||||
),
|
||||
],
|
||||
),
|
||||
])
|
||||
.into_any_element(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue