Import
use maccn::MacTextField;Usage
let state = cx.new(|cx| InputState::new(window, cx).placeholder("you@example.com"));
MacTextField::new("email", &state);Labelling
use gpui::div;
use maccn::{MacLabel, MacTextField};
div()
.flex()
.items_center()
.gap_2()
.child(MacLabel::new("field-label").child("Server:"))
.child(MacTextField::new("field-labelled", &state).w(px(200.)))Placeholder
use gpui::Context as _;
use gpui_base::input::InputState;
use maccn::MacTextField;
let state = cx.new(|cx| {
InputState::new(window, cx).placeholder("you@example.com")
});
MacTextField::new("field-placeholder", &state).w(px(220.));Sizes
use gpui::div;
use maccn::{MacControlSize, MacTextField};
div()
.flex()
.items_center()
.gap_2()
.child(
MacTextField::new("field-xl", &state)
.size(MacControlSize::ExtraLarge)
.w(px(220.)),
)
.child(
MacTextField::new("field-l", &state)
.size(MacControlSize::Large)
.w(px(180.)),
)
.child(MacTextField::new("field-r", &state).w(px(160.)))
.child(
MacTextField::new("field-s", &state)
.size(MacControlSize::Small)
.w(px(140.)),
)
.child(
MacTextField::new("field-m", &state)
.size(MacControlSize::Mini)
.w(px(120.)),
)Disabled
MacTextField::new("field-d", &state)
.disabled(true)
.w(px(220.))API
Props
| Prop | Type | Default |
|---|---|---|
size | MacControlSize | Regular |
disabled | bool | false |
Methods
| Method | Description |
|---|---|
pill() | Enables pill-shaped styling. |
prefix(element) | Adds a prefix element. |
suffix(element) | Adds a suffix element. |
radius(f32) | Sets custom corner radius. |
InputState
MacTextField::new(id, &state) requires an Entity<InputState> created with InputState::new(window, cx).