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

2.2 KiB

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.

Features

  • Theming
  • TitleBar
  • TextInput
    • Ctrl+a, e to move cursor to start/end
    • Copy, Cut, Paste by keyboard
    • Selection by mouse, drag to select text
    • Cursor blinking
    • Input icon
    • Textarea
  • OtpInput
  • Button
    • Button with Icon
    • ButtonGroup
    • IconButton
    • Glost / Outline Button
    • Loading
  • Link
  • Label
  • Icon
  • Checkbox
  • Radio
  • Switch
  • Dropdown
  • Tabs
  • Notification
  • Tooltip
  • Popover
  • Dock & Tiles
  • Resizable
  • Progress & Indicator
  • Slider
  • Skeleton
  • DatePicker
    • DatePicker
    • DateRangePicker
    • Calendar
    • TimePicker
  • ColorPicker
  • List
    • A complex List example.
  • Table
    • Virtual Rows and Columns for only render visible area for high performance.
    • Row, Column selection
    • Left, Right / Up, Down to selection column or row.
    • Horizontal scroll
    • Vertical scroll
    • Column resizing
    • Column ordering
    • Column sorting
  • Menu
    • Popup Menu
    • Context Menu
  • Drawer
  • Modal
  • Notification
  • WebView
  • Accordion
  • Sidebar
  • Breadcrumb
  • Badge

Showcase

Here is an application that is built by using GPUI Component.

This application is still under development, not published yet.

image

image

Demo

If you want to see the demo, here is a some demo applications.

Development

cargo run

More examples can be found in examples directory.

Checkout DEVELOPMENT to see more details.

License

Apache-2.0