gpui-component/README.md
xda 5874c6974f
tiles: Add Tiles (#435)
## 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>
2024-12-16 20:33:14 +08:00

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.
![image](https://github.com/user-attachments/assets/559a648d-19df-4b5a-b563-b78cc79c8894)
![image](https://github.com/user-attachments/assets/5e06ad5d-7ea0-43db-8d13-86a240da4c8d)
## 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).