component: Add component and component_preview crates to power UI components (#24456)
This PR formalizes design components with the Component and ComponentPreview traits. You can open the preview UI with `workspace: open component preview`. Component previews no longer need to return `Self` allowing for more complex previews, and previews of components like `ui::Tooltip` that supplement other components rather than are rendered by default. `cargo-machete` incorrectly identifies `linkme` as an unused dep on crates that have components deriving `IntoComponent`, so you may need to add this to that crate's `Cargo.toml`: ```toml # cargo-machete doesn't understand that linkme is used in the component macro [package.metadata.cargo-machete] ignored = ["linkme"] ``` Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
This commit is contained in:
co-authored by
Marshall Bowers
parent
56cfc60875
commit
8f1ff189cc
@@ -14,8 +14,10 @@ path = "src/ui.rs"
|
||||
|
||||
[dependencies]
|
||||
chrono.workspace = true
|
||||
component.workspace = true
|
||||
gpui.workspace = true
|
||||
itertools = { workspace = true, optional = true }
|
||||
linkme.workspace = true
|
||||
menu.workspace = true
|
||||
serde.workspace = true
|
||||
settings.workspace = true
|
||||
@@ -31,3 +33,7 @@ windows.workspace = true
|
||||
[features]
|
||||
default = []
|
||||
stories = ["dep:itertools", "dep:story"]
|
||||
|
||||
# cargo-machete doesn't understand that linkme is used in the component macro
|
||||
[package.metadata.cargo-machete]
|
||||
ignored = ["linkme"]
|
||||
|
||||
Reference in New Issue
Block a user