## Break Changes - Renamed `DockItemState` to `PanelState`. - Renamed `DockItemInfo` to `PanelInfo`. - Update `cx` type from `WindowContext` to `AppContext` for Panel trait `panel_name` method. ## TODO - [ ] Support merge panels into TabPanel. - [ ] Support split panels into Tile. --------- Co-authored-by: Jason Lee <huacnlee@gmail.com>
102 lines
2.2 KiB
Markdown
102 lines
2.2 KiB
Markdown
# GPUI Component
|
|
|
|
> This is still an early stage of development, we may change API frequently.
|
|
> But the features is ok to use, you must keep tracking our changes.
|
|
|
|
A UI components for building desktop application by using [GPUI](https://gpui.rs).
|
|
|
|
## Features
|
|
|
|
- [x] Theming
|
|
- [x] TitleBar
|
|
- [ ] TextInput
|
|
- [x] Ctrl+a, e to move cursor to start/end
|
|
- [x] Copy, Cut, Paste by keyboard
|
|
- [x] Selection by mouse, drag to select text
|
|
- [x] Cursor blinking
|
|
- [x] Input icon
|
|
- [x] Textarea
|
|
- [x] OtpInput
|
|
- [x] Button
|
|
- [x] Button with Icon
|
|
- [x] ButtonGroup
|
|
- [x] IconButton
|
|
- [x] Glost / Outline Button
|
|
- [x] Loading
|
|
- [x] Link
|
|
- [x] Label
|
|
- [x] Icon
|
|
- [x] Checkbox
|
|
- [x] Radio
|
|
- [x] Switch
|
|
- [x] Dropdown
|
|
- [x] Tabs
|
|
- [x] Notification
|
|
- [x] Tooltip
|
|
- [x] Popover
|
|
- [x] Dock & Tiles
|
|
- [x] Resizable
|
|
- [x] Progress & Indicator
|
|
- [x] Slider
|
|
- [x] Skeleton
|
|
- [ ] DatePicker
|
|
- [x] DatePicker
|
|
- [x] DateRangePicker
|
|
- [x] Calendar
|
|
- [ ] TimePicker
|
|
- [x] ColorPicker
|
|
- [x] List
|
|
- [x] A complex List example.
|
|
- [x] Table
|
|
- [x] Virtual Rows and Columns for only render visible area for high performance.
|
|
- [x] Row, Column selection
|
|
- [x] Left, Right / Up, Down to selection column or row.
|
|
- [x] Horizontal scroll
|
|
- [x] Vertical scroll
|
|
- [x] Column resizing
|
|
- [x] Column ordering
|
|
- [x] Column sorting
|
|
- [x] Menu
|
|
- [x] Popup Menu
|
|
- [x] Context Menu
|
|
- [x] Drawer
|
|
- [x] Modal
|
|
- [x] Notification
|
|
- [x] WebView
|
|
- [x] Accordion
|
|
- [x] Sidebar
|
|
- [x] Breadcrumb
|
|
- [x] Badge
|
|
|
|
## Showcase
|
|
|
|
Here is an application that is built by using GPUI Component.
|
|
|
|
> This application is still under development, not published yet.
|
|
|
|

|
|
|
|

|
|
|
|
## Demo
|
|
|
|
If you want to see the demo, here is a some demo applications.
|
|
|
|
- [gpui-app-windows.zip](https://github.com/user-attachments/files/17396296/gpui-app-windows.zip) - Updated at 2024/10/16
|
|
|
|
## Development
|
|
|
|
```bash
|
|
cargo run
|
|
```
|
|
|
|
More examples can be found in `examples` directory.
|
|
|
|
Checkout [DEVELOPMENT](DEVELOPMENT) to see more details.
|
|
|
|
## License
|
|
|
|
Apache-2.0
|
|
|
|
- UI design based on [shadcn/ui](https://ui.shadcn.com).
|
|
- Icon from [Lucide](https://lucide.dev).
|