From e8b34ae69ec014dab12fa5380fdefcbda0ec0df8 Mon Sep 17 00:00:00 2001 From: reya Date: Tue, 14 Jan 2025 12:08:06 +0700 Subject: [PATCH] wip: design --- Cargo.lock | 102 ++++++---- crates/app/src/views/account.rs | 5 +- crates/app/src/views/app.rs | 4 +- crates/app/src/views/sidebar/contact_list.rs | 6 +- crates/app/src/views/sidebar/inbox.rs | 24 ++- crates/app/src/views/sidebar/mod.rs | 2 +- crates/ui/src/badge.rs | 4 +- crates/ui/src/button.rs | 81 +++----- crates/ui/src/button_group.rs | 1 - crates/ui/src/checkbox.rs | 4 +- crates/ui/src/context_menu.rs | 6 +- crates/ui/src/dock/mod.rs | 5 +- crates/ui/src/dock/tab_panel.rs | 44 +++-- crates/ui/src/dropdown.rs | 15 +- crates/ui/src/input/element.rs | 2 +- crates/ui/src/label.rs | 3 +- crates/ui/src/lib.rs | 1 - crates/ui/src/modal.rs | 2 +- crates/ui/src/notification.rs | 4 +- crates/ui/src/popover.rs | 4 +- crates/ui/src/popup_menu.rs | 41 ++-- crates/ui/src/progress.rs | 6 +- crates/ui/src/radio.rs | 14 +- crates/ui/src/resizable/panel.rs | 11 +- crates/ui/src/resizable/resize_handle.rs | 9 +- crates/ui/src/root.rs | 17 +- crates/ui/src/skeleton.rs | 24 +-- crates/ui/src/slider.rs | 196 ------------------- crates/ui/src/styled.rs | 6 +- crates/ui/src/switch.rs | 2 +- crates/ui/src/tab/tab_bar.rs | 20 +- crates/ui/src/theme/mod.rs | 91 +++------ crates/ui/src/theme/scale.rs | 14 +- crates/ui/src/title_bar.rs | 40 ++-- crates/ui/src/tooltip.rs | 16 +- crates/ui/src/window_border.rs | 8 +- 36 files changed, 302 insertions(+), 532 deletions(-) delete mode 100644 crates/ui/src/slider.rs diff --git a/Cargo.lock b/Cargo.lock index d52206f..8279ca7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -123,11 +123,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -1013,7 +1014,7 @@ dependencies = [ [[package]] name = "collections" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "indexmap", "rustc-hash 2.1.0", @@ -1302,7 +1303,7 @@ dependencies = [ [[package]] name = "derive_refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "proc-macro2", "quote", @@ -1997,7 +1998,7 @@ dependencies = [ [[package]] name = "gpui" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "as-raw-xcb-connection", @@ -2082,7 +2083,7 @@ dependencies = [ [[package]] name = "gpui_macros" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "proc-macro2", "quote", @@ -2287,7 +2288,7 @@ dependencies = [ [[package]] name = "http_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "bytes", @@ -2702,9 +2703,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -2909,7 +2910,7 @@ dependencies = [ [[package]] name = "media" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "bindgen", @@ -2965,6 +2966,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2973,9 +2984,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", "simd-adler32", @@ -3078,7 +3089,7 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "nostr" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "aes", "async-trait", @@ -3107,7 +3118,7 @@ dependencies = [ [[package]] name = "nostr-database" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "async-trait", "flatbuffers", @@ -3118,7 +3129,7 @@ dependencies = [ [[package]] name = "nostr-lmdb" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "async-utility", "heed", @@ -3130,7 +3141,7 @@ dependencies = [ [[package]] name = "nostr-relay-pool" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "async-utility", "async-wsocket", @@ -3146,7 +3157,7 @@ dependencies = [ [[package]] name = "nostr-sdk" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "async-utility", "lnurl-pay", @@ -3162,7 +3173,7 @@ dependencies = [ [[package]] name = "nostr-zapper" version = "0.38.0" -source = "git+https://github.com/rust-nostr/nostr#209812bcabc861cc6b619234da0cb95fef9e9bd3" +source = "git+https://github.com/rust-nostr/nostr#6a9b65a3daeef00310b2a763dca58d94a0f4198f" dependencies = [ "async-trait", "nostr", @@ -3860,9 +3871,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.28" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924b9a625d6df5b74b0b3cfbb5669b3f62ddf3d46a677ce12b1945471b4ae5c3" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", "syn 2.0.96", @@ -4164,7 +4175,7 @@ dependencies = [ [[package]] name = "refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "derive_refineable", ] @@ -4265,6 +4276,7 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", @@ -4292,7 +4304,7 @@ dependencies = [ [[package]] name = "reqwest_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "bytes", @@ -4642,7 +4654,7 @@ checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" [[package]] name = "semantic_version" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "serde", @@ -4958,7 +4970,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sum_tree" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "arrayvec", "log", @@ -5781,7 +5793,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "util" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#61115bd04792d87a540558753cd01a6368baba2a" +source = "git+https://github.com/zed-industries/zed#93f117b21a07cb0e5c41682658339a473794d2da" dependencies = [ "anyhow", "async-fs", @@ -5933,20 +5945,21 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", @@ -5958,9 +5971,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -5971,9 +5984,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5981,9 +5994,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -5994,9 +6007,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" @@ -6098,9 +6114,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -6642,7 +6658,7 @@ dependencies = [ "winnow", "xdg-home", "zbus_macros 5.3.0", - "zbus_names 4.1.0", + "zbus_names 4.1.1", "zvariant 5.2.0", ] @@ -6669,7 +6685,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.96", - "zbus_names 4.1.0", + "zbus_names 4.1.1", "zvariant 5.2.0", "zvariant_utils 3.1.0", ] @@ -6687,9 +6703,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856b7a38811f71846fd47856ceee8bccaec8399ff53fb370247e66081ace647b" +checksum = "519629a3f80976d89c575895b05677cbc45eaf9f70d62a364d819ba646409cc8" dependencies = [ "serde", "static_assertions", diff --git a/crates/app/src/views/account.rs b/crates/app/src/views/account.rs index f07f967..6a669ff 100644 --- a/crates/app/src/views/account.rs +++ b/crates/app/src/views/account.rs @@ -66,10 +66,9 @@ impl Account { impl Render for Account { fn render(&mut self, cx: &mut ViewContext) -> impl IntoElement { Button::new("account") - .small() - .compact() - .reverse() .ghost() + .xsmall() + .reverse() .icon(Icon::new(IconName::ChevronDownSmall)) .map(|this| { if let Some(metadata) = self.metadata.read(cx).as_ref() { diff --git a/crates/app/src/views/app.rs b/crates/app/src/views/app.rs index 6662531..88b60b8 100644 --- a/crates/app/src/views/app.rs +++ b/crates/app/src/views/app.rs @@ -4,7 +4,7 @@ use super::{ }; use crate::states::{app::AppRegistry, chat::ChatRegistry}; use gpui::{ - div, impl_actions, px, Axis, Context, Edges, InteractiveElement, IntoElement, Model, + div, impl_internal_actions, px, Axis, Context, Edges, InteractiveElement, IntoElement, Model, ParentElement, Render, Styled, View, ViewContext, VisualContext, WeakView, WindowContext, }; use serde::Deserialize; @@ -28,7 +28,7 @@ pub struct AddPanel { pub position: DockPlacement, } -impl_actions!(dock, [AddPanel]); +impl_internal_actions!(dock, [AddPanel]); pub struct DockAreaTab { id: &'static str, diff --git a/crates/app/src/views/sidebar/contact_list.rs b/crates/app/src/views/sidebar/contact_list.rs index 397336a..d6221fc 100644 --- a/crates/app/src/views/sidebar/contact_list.rs +++ b/crates/app/src/views/sidebar/contact_list.rs @@ -1,6 +1,6 @@ use crate::{constants::IMAGE_SERVICE, get_client, utils::show_npub}; use gpui::{ - div, img, impl_actions, list, px, Context, ElementId, FocusHandle, InteractiveElement, + div, img, impl_internal_actions, list, px, Context, ElementId, FocusHandle, InteractiveElement, IntoElement, ListAlignment, ListState, Model, ParentElement, Pixels, Render, RenderOnce, SharedString, StatefulInteractiveElement, Styled, ViewContext, WindowContext, }; @@ -16,7 +16,7 @@ use ui::{ #[derive(Clone, PartialEq, Eq, Deserialize)] struct SelectContact(PublicKey); -impl_actions!(contacts, [SelectContact]); +impl_internal_actions!(contacts, [SelectContact]); #[derive(Clone, IntoElement)] struct ContactListItem { @@ -95,7 +95,7 @@ impl RenderOnce for ContactListItem { this.child( Icon::new(IconName::CircleCheck) .size_4() - .text_color(cx.theme().primary), + .text_color(cx.theme().colors.primary), ) }) .hover(|this| { diff --git a/crates/app/src/views/sidebar/inbox.rs b/crates/app/src/views/sidebar/inbox.rs index c2c1f64..fe808dc 100644 --- a/crates/app/src/views/sidebar/inbox.rs +++ b/crates/app/src/views/sidebar/inbox.rs @@ -4,10 +4,14 @@ use crate::{ views::app::{AddPanel, PanelKind}, }; use gpui::{ - div, img, percentage, prelude::FluentBuilder, InteractiveElement, IntoElement, ParentElement, - Render, SharedString, StatefulInteractiveElement, Styled, ViewContext, + div, img, percentage, prelude::FluentBuilder, px, InteractiveElement, IntoElement, + ParentElement, Render, SharedString, StatefulInteractiveElement, Styled, ViewContext, +}; +use ui::{ + skeleton::Skeleton, + theme::{scale::ColorScaleStep, ActiveTheme}, + v_flex, Collapsible, Icon, IconName, StyledExt, }; -use ui::{skeleton::Skeleton, theme::ActiveTheme, v_flex, Collapsible, Icon, IconName, StyledExt}; pub struct Inbox { label: SharedString, @@ -59,8 +63,8 @@ impl Inbox { .items_center() .justify_between() .text_xs() - .rounded_md() - .hover(|this| this.bg(cx.theme().list_hover)) + .rounded(px(cx.theme().radius)) + .hover(|this| this.bg(cx.theme().base.step(cx, ColorScaleStep::FOUR))) .child(div().font_medium().map(|this| { if room.is_group { this.flex() @@ -83,7 +87,11 @@ impl Inbox { }) } })) - .child(div().child(ago)) + .child( + div() + .text_color(cx.theme().base.step(cx, ColorScaleStep::ELEVEN)) + .child(ago), + ) .on_click(cx.listener(move |this, _, cx| { this.action(id, cx); })) @@ -126,10 +134,10 @@ impl Render for Inbox { .px_1() .flex() .items_center() - .rounded_md() + .rounded(px(cx.theme().radius)) .text_xs() .font_semibold() - .hover(|this| this.bg(cx.theme().list_hover)) + .hover(|this| this.bg(cx.theme().base.step(cx, ColorScaleStep::THREE))) .on_click(cx.listener(move |view, _event, cx| { view.is_collapsed = !view.is_collapsed; cx.notify(); diff --git a/crates/app/src/views/sidebar/mod.rs b/crates/app/src/views/sidebar/mod.rs index e9e3f9d..7a71fb3 100644 --- a/crates/app/src/views/sidebar/mod.rs +++ b/crates/app/src/views/sidebar/mod.rs @@ -115,7 +115,7 @@ impl Render for Sidebar { .child( v_flex() .px_2() - .gap_1() + .gap_0p5() .child( Button::new("compose") .small() diff --git a/crates/ui/src/badge.rs b/crates/ui/src/badge.rs index 4597267..43a33f9 100644 --- a/crates/ui/src/badge.rs +++ b/crates/ui/src/badge.rs @@ -20,7 +20,7 @@ pub enum BadgeVariant { impl BadgeVariant { fn bg(&self, cx: &gpui::WindowContext) -> Hsla { match self { - Self::Primary => cx.theme().primary, + Self::Primary => cx.theme().colors.primary, Self::Secondary => cx.theme().secondary, Self::Outline => gpui::transparent_black(), Self::Destructive => cx.theme().danger, @@ -30,7 +30,7 @@ impl BadgeVariant { fn border(&self, cx: &gpui::WindowContext) -> Hsla { match self { - Self::Primary => cx.theme().primary, + Self::Primary => cx.theme().colors.primary, Self::Secondary => cx.theme().secondary, Self::Outline => cx.theme().border, Self::Destructive => cx.theme().danger, diff --git a/crates/ui/src/button.rs b/crates/ui/src/button.rs index 48c8292..b91525f 100644 --- a/crates/ui/src/button.rs +++ b/crates/ui/src/button.rs @@ -1,6 +1,6 @@ use crate::{ indicator::Indicator, - theme::{ActiveTheme, Colorize as _}, + theme::{scale::ColorScaleStep, ActiveTheme, Colorize as _}, tooltip::Tooltip, Disableable, Icon, Selectable, Sizable, Size, StyledExt, }; @@ -76,11 +76,11 @@ pub trait ButtonVariants: Sized { impl ButtonCustomVariant { pub fn new(cx: &WindowContext) -> Self { Self { - color: cx.theme().secondary, - foreground: cx.theme().secondary_foreground, - border: cx.theme().border, - hover: cx.theme().secondary_hover, - active: cx.theme().secondary_active, + color: cx.theme().accent.step(cx, ColorScaleStep::NINE), + foreground: cx.theme().accent.step(cx, ColorScaleStep::ONE), + border: cx.theme().accent.step(cx, ColorScaleStep::TEN), + hover: cx.theme().accent.step(cx, ColorScaleStep::TEN), + active: cx.theme().accent.step(cx, ColorScaleStep::ELEVEN), shadow: true, } } @@ -120,7 +120,6 @@ impl ButtonCustomVariant { #[derive(Clone, Copy, PartialEq, Eq)] pub enum ButtonVariant { Primary, - Secondary, Danger, Outline, Ghost, @@ -131,7 +130,7 @@ pub enum ButtonVariant { impl Default for ButtonVariant { fn default() -> Self { - Self::Secondary + Self::Primary } } @@ -160,21 +159,20 @@ pub struct Button { label: Option, children: Vec, disabled: bool, - pub(crate) selected: bool, variant: ButtonVariant, rounded: ButtonRounded, border_corners: Corners, border_edges: Edges, size: Size, - compact: bool, reverse: bool, bold: bool, centered: bool, tooltip: Option, on_click: OnClick, - pub(crate) stop_propagation: bool, loading: bool, loading_icon: Option, + pub(crate) selected: bool, + pub(crate) stop_propagation: bool, } impl From