rustcn_ui/button/
props.rs1use dioxus::prelude::*;
3
4#[derive(PartialEq, Props, Clone)]
5pub struct ButtonProps {
6 #[props(default)]
7 pub class: String,
8
9 #[props(default)]
10 pub variant: ButtonVariants,
11
12 #[props(default)]
13 pub size: ButtonSize,
14
15 #[props(default)]
16 pub onclick: Option<EventHandler<MouseEvent>>,
17
18 #[props(default)]
19 pub children: Element,
20
21}
22
23#[derive(PartialEq, Clone)]
24pub enum ButtonVariants {
25 Default,
26 _Secondary,
27 _Destructive,
28 _Outline,
29 _Ghost,
30 _Link,
31 }
33
34impl Default for ButtonVariants {
35 fn default() -> Self {
36 ButtonVariants::Default
37 }
38}
39
40#[derive(PartialEq, Clone)]
41pub enum ButtonSize {
42 Default,
43 _SM,
44 _LG,
45 _ICON,
46}
47
48impl Default for ButtonSize {
49 fn default() -> Self {
50 ButtonSize::Default
51 }
52}