Commit graph

368 commits

Author SHA1 Message Date
Floyd Wang
f20f573dbc
notification: Fix when multiple notifications pop up at the same time, autohide not work (#255) 2024-09-19 17:33:49 +08:00
Jason Lee
20926b7077
popover: Fix PopoverContent content build to use ViewContext<Self>. (#254)
And add popover self dismiss example.

## How to dismiss popover from inside.

```rs
cx.emit(DismissEvent);
```
2024-09-19 10:54:04 +08:00
Jason Lee
08a160e543 button: Apply disable color to ButtonStyleCustom. 2024-09-17 21:15:48 +08:00
Jason Lee
d641c219a1
button: Use primary or danger color for the disable background. (#252)
<img width="1624" alt="image"
src="https://github.com/user-attachments/assets/61162ba5-9188-4cad-a154-2584abd0fd31">

Fix #251
2024-09-17 21:01:06 +08:00
Jason Lee
8f0ba2e5c3
modal: Only focus modal when it not focused on. (#250)
- Fix dropdown to mouse down out to dismiss.


https://github.com/user-attachments/assets/f5ab4aca-bfdc-460e-ae5a-cd0a31a30906
2024-09-17 18:48:06 +08:00
Jason Lee
97e61a507b
otp_input: Fix OtpInput to stop_propagation on keydown. (#249) 2024-09-17 10:55:09 +08:00
Floyd Wang
90c5125abc
Reduce popover border radius (#248) 2024-09-17 10:26:47 +08:00
Jason Lee
f77993082d
input: Update Input selection behavior to like OS input. (#247)
Revert old implementation

- https://github.com/huacnlee/gpui-component/pull/26
- https://github.com/zed-industries/zed/pull/14340

## Before


https://github.com/user-attachments/assets/52ce2e3a-3e1d-4ba2-af42-76b1df987404


## After


https://github.com/user-attachments/assets/9aa8cfe1-5928-4d20-b534-806140c7ee59

## The Input in the Browser



https://github.com/user-attachments/assets/c913248e-b1dc-46d6-a517-e1231e606171
2024-09-17 09:58:07 +08:00
Jason Lee
0e16d742bb
list: Add set_size method to List and fix input size in small dropdown. (#246) 2024-09-16 19:57:49 +08:00
Jason Lee
75b4f34b92
Try fix Button, Checkbox, Radio text line-height (#240)
<img width="1202" alt="屏幕截图 2024-09-12 224306"
src="https://github.com/user-attachments/assets/b96fee5e-6d39-4ba0-829c-3eaf4aed8ff2">
2024-09-16 10:36:18 +08:00
Jason Lee
d33b4b2ea0
dock: Fix panel zoom when it split and added to other StackPanel. (#245) 2024-09-16 10:18:04 +08:00
Jason Lee
55585f9699
windows: Fix button and checkbox line-height again. (#244)
<img width="1202"
src="https://github.com/user-attachments/assets/6741041a-f449-4600-bec1-751841dcec88">
2024-09-13 22:55:59 +08:00
Floyd Wang
d8ace3c683
clipboard: Refactor with Element (#242) 2024-09-13 13:53:39 +08:00
Jason Lee
a8d4abea69
button: Improve ButtonGroup to add style, size methods. (#241)
- Add `ButtonStyled` trait to apply the style for Button and
ButtonGroup.
2024-09-13 12:00:47 +08:00
xda
b83ece3cd8
Add ToggleButton (as part of ButtonGroup) (#239)
![2024-09-12 19 20
46](https://github.com/user-attachments/assets/4cf9b374-2d3b-4f36-9fc7-cd6dbd1f861c)

---------

Co-authored-by: Jason Lee <huacnlee@gmail.com>
2024-09-13 11:58:10 +08:00
Jason Lee
ce87c3a001
modal: Improve Modal and Panel focus handle. (#238)
- modal: Improve modal focus take, when modal close, make sure focus
back.
- modal: Fix hover close button will cross to back modal on multiple
modal layer.
- panel: Add focus handle to Panel and TabPanel.
- panel: Update title method to return `AnyElement`.
2024-09-12 19:51:33 +08:00
Floyd Wang
9388b88f59
theme: Simplify init (#237) 2024-09-12 16:14:41 +08:00
Jason Lee
cf551654fe
scrollbar: Fix Scrollbar inset and remove bar border. (#236)
<img width="920" alt="image"
src="https://github.com/user-attachments/assets/f834a920-8f89-4be8-9100-d2b5e4364449">
2024-09-11 11:59:37 +08:00
Jason Lee
77cb8cb448
button: Hotfix Button to valign text center. (#235)
<img width="1336" alt="image"
src="https://github.com/user-attachments/assets/64029ab3-6447-47b1-a40c-f1e6668172b7">
2024-09-11 11:39:17 +08:00
xda
4f8c4ccd5d
scrollbar: Keep the original thumb position when mouse down to dragging (#234)
![2024-09-10 23 18
50](https://github.com/user-attachments/assets/58c480a3-9c92-4c7c-8e7a-b37c2ffc3526)

fix #224
2024-09-11 09:37:07 +08:00
Jason Lee
fbbb985e84
ui: Improve UI details (Modal, Checkbox, Radio and MenuItem) (#233)
- modal: Reduce modal title line height.
- checkbox, radio: Fix label line height to align with checkbox.
- menu: Update Menu item style, height to 28px, and fix divider padding.

<img width="523" alt="image"
src="https://github.com/user-attachments/assets/c254dc07-9d37-4885-b687-58ec4d8e95a4">

<img width="453" alt="image"
src="https://github.com/user-attachments/assets/3ad44419-1953-4048-8173-4d8c0646777a">

<img width="369" alt="image"
src="https://github.com/user-attachments/assets/84d23eb2-15f9-47d7-b6d4-15295ab3a544">
2024-09-10 19:42:54 +08:00
Jason Lee
a0d3d35be4
modal: Add to support open multiple Modals. (#232)
- Add `Esc` to close modal.
2024-09-10 16:58:22 +08:00
ihavecoke
303dd51047
Use small size for calendar month item to fixed content overflow (#231) 2024-09-10 00:16:31 +08:00
Jason Lee
728be16a39 Fix windows dependency only on Windows. 2024-09-09 22:40:54 +08:00
Jason Lee
9bc4887d55 Update dependencies. 2024-09-09 22:33:41 +08:00
Jason Lee
74abc339b7
Fix bugs (#230)
- Fix color picker hover preview color to shrink_0.
- Fix Divider display.
2024-09-09 22:05:02 +08:00
Jason Lee
840a54850a
Update register_panel to use trait object Fn. (#229) 2024-09-09 19:19:27 +08:00
Jason Lee
d6d00f59a2 Add dump default impl for Panel trait. 2024-09-09 14:38:52 +08:00
Jason Lee
33f0291f6d Improve layout save details for example app. 2024-09-09 14:03:51 +08:00
Sunli
ac83fad692
windows: Set the default stack size to 8M on Windows. (#228) 2024-09-09 13:51:10 +08:00
Jason Lee
16396d3583 Revert "Set the stack size of the main thread to 8M (#227)" is not work on macOS.
This reverts commit 2f80ba408a.
2024-09-09 13:34:31 +08:00
Jason Lee
bf134b2ff9
Add to support dump/load Dock layout. (#226) 2024-09-09 13:30:22 +08:00
Sunli
2f80ba408a
Set the stack size of the main thread to 8M (#227)
For fix stack overflow issue on Windows.
2024-09-09 10:24:41 +08:00
Jason Lee
821487bed5
Improve popup snap to window with margin. (#225)
- Also update GPUI.

Ref: https://github.com/zed-industries/zed/pull/17159

<img width="866" alt="image"
src="https://github.com/user-attachments/assets/0737e4e4-7069-4554-a766-b9fc7b487fd6">
2024-09-07 11:50:38 +08:00
Jason Lee
b6374313b2 Fix DockItem::tabs, the items should use trait object to support difference type. 2024-09-06 18:04:26 +08:00
Jason Lee
9baada4fb4
dock: Reduce dock item member (#223) 2024-09-06 17:51:21 +08:00
xda
83aecf1293
Add ButtonGroup (#221)
<img width="849" alt="image"
src="https://github.com/user-attachments/assets/5f809b40-9d4c-4934-828d-98f77a3f4b29">

---------

Co-authored-by: Jason Lee <huacnlee@gmail.com>
2024-09-06 10:32:10 +08:00
Jason Lee
adf6f70185
dock: Define a better way to init Dock layout. (#218) 2024-09-05 19:33:32 +08:00
Floyd Wang
d6015f636c
panel: Support custom style for the panel title (#220) 2024-09-05 11:36:59 +08:00
Jason Lee
e1d6b3aaed
dock: Improve drop target style and size to 35%. (#217) 2024-09-04 22:01:09 +08:00
ihavecoke
d996144713
date_picker: Add range_mode method to DatePicker to set as range mode. (#216)
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2024-09-04 21:41:01 +08:00
Jason Lee
2c469da55a
Update GPUI and apply opacity feature. (#215) 2024-09-04 19:29:51 +08:00
Jason Lee
9e67525650 Fix mistake. 2024-09-04 19:00:50 +08:00
Jason Lee
f2d75f7abd
dock: Fix split_panel to use async. (#214) 2024-09-04 17:30:55 +08:00
Jason Lee
476f97d5e0
scrollbar: Opacity scrollbar when not hover on it. (#213)
https://github.com/user-attachments/assets/ea070e6f-3d4c-4a0d-b6da-be34e7dfc579
2024-09-04 16:48:49 +08:00
Jason Lee
f6b4e5a591
dock: Fix add_panel with placement to split size. (#212)
https://github.com/user-attachments/assets/7177bd8f-5b19-4959-8d60-cae583173e73
2024-09-04 00:35:51 +08:00
ihavecoke
acabaf32c8
Correcting shacn to shadcn to uniformly use shadcn ui names (#210)
* Fixed some color naming with shadcn style
* Input story support scroll y
2024-09-03 23:31:34 +08:00
Jason Lee
0158083599
dock: Fix panel zoom sometimes is not work. #197 (#211)
This is because the `PanelEvent::ZoomIn` is called 2 times when we click
the menu (I don't why, not found the source).

So just split Zoom in, Zoom out as two difference methods to avoid this.
2024-09-03 23:15:44 +08:00
Jason Lee
0834ac0394
dock: Fix panel that can not auto resize when it have initial size. (#209)
https://github.com/user-attachments/assets/8605b82e-6113-41d1-a9c4-0ba7d55968ba
2024-09-03 21:39:03 +08:00
Jason Lee
e318a9d8dc
doc: Fix TabPanel popup menu can't dispatch action to TabContent. (#208)
Co-authored-by: Floyd Wang <gassnake999@gmail.com>
2024-09-03 19:51:35 +08:00
Jason Lee
5e86c9cfa0
dock: Revert first argument for TabPanel::new (#207) 2024-09-03 14:04:00 +08:00
Jason Lee
73e82c785a
dock: Improve set_parent in StackPanel insert_panel to use defer instead of spawn (#205) 2024-09-03 11:18:57 +08:00
Jason Lee
8ece86cd0c
dock: Add id to DockArea and improve DockArea init. (#204)
- Export add_panel_at method for TabPanel to split_panel.
- Fix resizeable_panel init size support.
- Fix panel resize to let panel that have initial size will not auto resize on window resize.
- Fix resize_handle sometimes will invisibly bug.
- Update TabPanel new to support give parent StackPanel.
2024-09-02 21:27:19 +08:00
Jason Lee
f611b599aa
dropdown: Fix Dropdown placeholder to support change locale. (#203) 2024-09-02 14:57:53 +08:00
Jason Lee
af09525c1e
dock: Add popup_menu delegate to custom panel menu. (#202) 2024-09-02 14:55:37 +08:00
Jason Lee
f5cae46e42
Improve ColorPicker to support input hex color. (#201)
https://github.com/user-attachments/assets/be5fc290-0464-4356-9f97-c35720e3e11d
2024-09-02 13:56:19 +08:00
Jason Lee
a049f606c0
Fix Checkbox, Radio label color. (#200) 2024-09-02 00:24:57 +08:00
Jason Lee
1f0e52da50
Add ColorPicker (#199)
<img width="262" alt="image"
src="https://github.com/user-attachments/assets/ad96859f-e6cb-47a6-bedb-fef02122b711">
2024-09-02 00:21:01 +08:00
Jason Lee
926de77967
Fix tooltip padding. (#198) 2024-09-01 21:58:50 +08:00
Jason Lee
6564c502c9
Add close menu to Panel. (#196) 2024-09-01 21:33:50 +08:00
Jason Lee
9c4411ff2b
date_picker: Reduce DatePicker popup position. (#195) 2024-09-01 00:36:51 +08:00
Jason Lee
169572fa74
tab: Improve TabBar border to let active item can override it. (#194) 2024-09-01 00:31:14 +08:00
Jason Lee
3d8e7a9e54
Update GPUI and fix Input API changes. (#193) 2024-08-31 23:17:14 +08:00
Floyd Wang
ef49753d32
Improve dropdown disabled state (#192) 2024-08-30 15:26:56 +08:00
Jason Lee
0da882349f
Add exit animation to Notification.
- Add `cubic_bezier` method and change modal to use this.

Ref #148 

https://github.com/user-attachments/assets/c09adc18-554c-4300-8109-98f3ab183910
2024-08-30 11:24:55 +08:00
Floyd Wang
14af8998bf
Add disabled state for the dropdown (#190) 2024-08-30 09:56:12 +08:00
ihavecoke
fd2f5e46f2
Securely handle table load more subtract logic to prevent attempt to subtract with overflow panic (#189) 2024-08-29 23:29:26 +08:00
Floyd Wang
b6ce44c349
Support press esc to close popover (#188) 2024-08-29 18:07:26 +08:00
Floyd Wang
311abe07fe
Reduce Popover pop-up margin (#187) 2024-08-29 16:19:29 +08:00
Floyd Wang
7286866afd
Reduce PopoverContent padding (#186) 2024-08-29 11:35:38 +08:00
Jason Lee
f7f3fcedf3
slider: Improved bar and thumb position. (#185) 2024-08-29 10:36:47 +08:00
Jason Lee
9768755eab
Fix panel resize when window resized. (#181)
Co-authored-by: Floyd Wang <gassnake999@gmail.com>
2024-08-28 19:40:35 +08:00
Jason Lee
237b0f6956
table: Add load_more delegate method and called when scrolled near the bottom. (#183)
https://github.com/user-attachments/assets/03001a21-6a3d-4c06-a00c-9dea8208e357
2024-08-28 15:12:42 +08:00
ihavecoke
a5217df13e
Popover content supports setting the maximum width (#180)
Before:

![image](https://github.com/user-attachments/assets/cde8dc35-f59d-474c-8386-b6f666e83249)

After:

![image](https://github.com/user-attachments/assets/d5db1bed-5c2d-4efd-81e4-a0d13e48b035)
2024-08-27 22:08:50 +08:00
Jason Lee
7b5efd19bb
Better Panel resize. (#178)
- Resize panels when windows is resize to smaller #175.

https://github.com/user-attachments/assets/b2c50949-7310-4d3d-8276-5bf15cf3ba9f
2024-08-27 18:38:37 +08:00
Jason Lee
ad5e480e63
Fix input history (#179) 2024-08-27 13:52:19 +08:00
Jason Lee
1dbf809e99
Improved Notification to manage autohide on list. (#177) 2024-08-24 00:26:16 +08:00
Jason Lee
409f597100
Fix resizeable panel sometime will not fill parent. (#176)
<img width="1202" alt="image"
src="https://github.com/user-attachments/assets/dbffde88-fc1d-409b-8795-15c405cc4ce9">
2024-08-23 22:15:52 +08:00
Jason Lee
5533a8b72c
Fix drawer position (#174) 2024-08-23 22:01:52 +08:00
Jason Lee
72b8290945
Upgrade GPUI. (#173) 2024-08-23 18:43:26 +08:00
Jason Lee
c5c8e46ac7
New Dock (#172)
https://github.com/user-attachments/assets/c8c55faa-8f17-4fa2-9f62-5fdd598087ef

- [x] Move to insert panel to tabs middle.
- [x] Zoom panel
- [x] Tab popup menu (Close Panel, Split, Zoom in/Zoom out)
- [x] TabBar scrollable
- [ ] TabBar nav history
2024-08-23 18:01:29 +08:00
Floyd Wang
7e9d79ca1b
Improve the loading button (#170)
* Set the background opacity when loading
* Do not trigger the on click event when loading
2024-08-21 10:57:41 +08:00
王恒
36354cc5e4
Set cursor width to an integer to prevent width fluctuation on low PPI devices. (#169)
Before


https://github.com/user-attachments/assets/38ceac8e-c98d-43c7-844b-0a2fb7d416a5

After


https://github.com/user-attachments/assets/e3f9c70e-773e-4606-ad6a-021b0e7fd7c9
2024-08-19 16:37:40 +08:00
Jason Lee
7a00e8a68e
Add search to List example. (#168)
- Fix drawer, modal open to focus on first input.
2024-08-19 16:13:14 +08:00
Jason Lee
b3bee1db3a
Improved id for Switch. (#167) 2024-08-19 15:53:38 +08:00
Jason Lee
f05d2ebbd2
popup_menu: Add submenu support. (#165)
- Add submenu support.
- Removed Popover `window` mode, this is not a good design.


https://github.com/user-attachments/assets/0e3735f4-2bfb-459f-a24d-e3440e738d4f
2024-08-19 14:58:28 +08:00
Jason Lee
fd837565c4
Add KeyBinding to MenuItem. (#164)
<img width="370" alt="image"
src="https://github.com/user-attachments/assets/a0e98260-75ac-4a79-bf24-80d2c82f9507">
2024-08-16 18:57:43 +08:00
Jason Lee
46ff43ff36
Extract History to a common design to support more cases. (#162)
Ref https://github.com/huacnlee/gpui-component/issues/161

For example: Used to do Back/Forward
2024-08-16 17:04:11 +08:00
Jason Lee
4490618c4a
Update table to support to support toggle col selection. (#159)
- Add `border` method to enable/disable border, default: `true`.
- Update `stripe` default to false.
- Update theme to remove table head color, just use window bg like.

<img width="1263" alt="image"
src="https://github.com/user-attachments/assets/2e0994a9-7172-4812-a0e2-3b3ba4281112">

Closes #155
2024-08-16 14:34:53 +08:00
Jason Lee
a79d1a3dc2
Fix scrollbar to default to invisible on first render. #146 (#158) 2024-08-16 14:07:59 +08:00
Jason Lee
e86f90d309
Close Dropdown menu on blur. (#157)
Closes #156
2024-08-16 14:03:45 +08:00
Jason Lee
b3f62bf096
Export with_type and impl FluentBuilder for Notification. (#154) 2024-08-15 19:52:37 +08:00
Jason Lee
57dab4d15a
Rename with_id, with_type_id to id, type_id. (#153) 2024-08-15 18:05:07 +08:00
Floyd Wang
a02a6ed6b8
Set default true for cleanable & trigger event when dropdown clean (#152) 2024-08-15 18:01:43 +08:00
Jason Lee
36475bac76
Add with_type_id to support set a struct as a Notification unique id. (#151) 2024-08-15 18:01:32 +08:00
Jason Lee
981d1391e6
Update Root API (#150) 2024-08-15 17:27:34 +08:00
Jason Lee
c9763224c2
Add Notification (#149)
https://github.com/user-attachments/assets/8a10bff7-f669-471e-8516-2a64ae95ae0a
2024-08-15 16:50:33 +08:00
Jason Lee
6d86e64846
Update modal demo to focus input on open. (#147) 2024-08-15 09:45:58 +08:00
Jason Lee
a36e3e09d5
Focus back last focus handle when modal, drawer closed. (#145) 2024-08-14 18:14:59 +08:00
Floyd Wang
c9a1bba3c2
Fix the disabled style of ghost button (#144) 2024-08-14 17:44:00 +08:00