Jason Lee
75212c3aba
chore: Fix focusd_border typo in #635 ( #637 )
2025-02-17 17:29:40 +08:00
Jason Lee
4c554580c9
chore: Rename outline styled method to focused_border. ( #635 )
...
This change to avoid conflict with `outline` method in Button.
## Break changes:
- The `outline` method in `StyledExt` now renamed to `focused_border`.
2025-02-17 14:34:54 +08:00
Floyd Wang
d95cbabcc3
dropdown: Do not reset the selected index when cancelling ( #618 )
...
## Before
https://github.com/user-attachments/assets/e33c2324-94f0-42b0-99cc-9e2dcdee3f3d
## After
https://github.com/user-attachments/assets/7c5c6fee-b0f6-4cd5-986e-ea8f6f0e7f9d
2025-02-11 18:54:52 +08:00
Jason Lee
155f2ee3b9
chore: Refactor ClearButton to as method. ( #598 )
2025-02-04 17:34:26 +08:00
Jason Lee
dffb419145
chore: Fix subscriptions leak. ( #597 )
2025-02-04 15:43:26 +08:00
Jason Lee
3ffbbb0688
theme: Ensure all elements to use radius. ( #596 )
...
- Fix menu dispatch action.
2025-02-03 19:03:16 +08:00
Jason Lee
6fa1888ee6
chore: Upgrade for GPUI API changes. ( #589 )
2025-01-29 16:49:17 +08:00
Jason Lee
327d40e0e0
chore: Upgrade GPUI 3 ( #587 )
...
The pervious version has keep on
[gpui2](https://github.com/longbridge/gpui-component/tree/gpui2 ) branch,
if there need to use.
Ref https://github.com/zed-industries/zed/pull/22632
## Prepare
### Generate index.scip
```bash
rust-analyzer scip ./ > index.scip
```
### Get [refactor](https://github.com/zed-industries/refactor )
```bash
https://github.com/zed-industries/refactor.git
```
## Refactor exist code
```bash
cd refactor
cargo run -- ~/work/gpui-component
```
Then will get result if successed:
```
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s
Running `target/debug/refactor /Users/jason/work/gpui-component`
Loaded 115 SCIP documents
Processing files starting with focus path: ""
Changed 90 files
```
-------------
## Changes
```diff
- View<T>
- Model<T>
+ Entity<T>
- WeakView<T>
+ WeakEntity<T>
- FocusableView
+ Focusable
- cx.bounds()
+ window.bounds()
- cx.refresh()
+ window.refresh()
- cx.focused()
+ window.focused(cx)
- cx.with_optional_element_state
- window.with_optional_element_state
```
```diff
- &mut WindowContext
+ &mut Window, &mut App
- cx: &mut WindowContext
+ window: &mut Window, cx: &mut App
- &mut ViewContext<
+ &mut Window, &mut Context<
- cx: &mut ViewContext<
+ window: &mut Window, cx: &mut Context<
```
```diff
- cx.spawn(|_, mut cx| async move {
+ cx.spawn_in(window, |_, mut cx| async move {
- cx.dispatch_action(Box::new(...))
+ window.dispatch_action(Box::new(...), cx)
```
`cx.spawn`
```diff
- cx.spawn(|view, mut cx| async move {
+ cx.spawn_in(window, |view, mut window| async move {
+ _ = view.update_in(&mut window, move |view, window, cx| {
```
2025-01-27 03:58:48 +08:00
Jason Lee
9f2cd84b23
color: Add mix method and merge ColorExt to Colorize. ( #561 )
...
- Add `mix` method to mix two color.
- Export `ui::theme::*` to crate root, before `use
ui:theme::ActiveTheme` to `use ui::ActiveTheme`.
## Break Changes
- Moved `ui::theme::Colorize` to `ui::Colorize`.
- Merged `ColorExt` to `Colorize`.
- Renamed `to_hex_string` to `to_hex`, `parse_hex_string` to
`parse_hex`.
2025-01-21 18:31:01 +08:00
Jason Lee
f41edfd318
list: Add ListEvent to List. ( #552 )
...
- Add `ListEvent` and emit event for List with `Select`, `Confirm`,
`Cancel` events.
## Break Changes
- Removed useless `ListDelegate::confirmed_index` method.
- Updated `ListDelegate::confirm` method, to change `ix: Option<usize>`
to `ix: usize`.
2025-01-17 16:00:28 +08:00
Jason Lee
d4819b34aa
chore: Update GPUI with AnchorCorner renamed to Corner. ( #497 )
...
Ref https://github.com/zed-industries/zed/pull/22119
2024-12-18 18:02:47 +08:00
Jason Lee
c02cb802cb
list: Add cx argument to ListDelegate. ( #361 )
...
Following #360 TableDelegate changes.
2024-10-18 10:17:59 +08:00
Jason Lee
41c64e2912
chore: Update controls detail. ( #352 )
...
- Better icon style in Input, Dropdown, DatePicker.
2024-10-16 17:51:39 +08:00
Floyd Wang
000c0bec57
dropdown: Add set_disabled for &mut self ( #351 )
2024-10-16 17:33:46 +08:00
Jason Lee
b18207728b
dropdown: Use difference chevron icon color for enabled/disabled dropdown. ( #336 )
...
<img width="547" alt="image"
src="https://github.com/user-attachments/assets/07239a63-b1ae-4462-b8ba-d30d7e7e66f5 ">
2024-10-14 10:19:58 +08:00
Jason Lee
2a331fcb79
theme: Add shadow option to support toggle shadow for base controls, default: true. ( #268 )
...
- Add shadow to Button if it enabled.
2024-09-24 10:52:01 +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
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
a0d3d35be4
modal: Add to support open multiple Modals. ( #232 )
...
- Add `Esc` to close modal.
2024-09-10 16:58:22 +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
2c469da55a
Update GPUI and apply opacity feature. ( #215 )
2024-09-04 19:29:51 +08:00
Jason Lee
f611b599aa
dropdown: Fix Dropdown placeholder to support change locale. ( #203 )
2024-09-02 14:57:53 +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
Floyd Wang
ef49753d32
Improve dropdown disabled state ( #192 )
2024-08-30 15:26:56 +08:00
Floyd Wang
14af8998bf
Add disabled state for the dropdown ( #190 )
2024-08-30 09:56:12 +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
e86f90d309
Close Dropdown menu on blur. ( #157 )
...
Closes #156
2024-08-16 14:03:45 +08:00
Floyd Wang
a02a6ed6b8
Set default true for cleanable & trigger event when dropdown clean ( #152 )
2024-08-15 18:01:43 +08:00
Floyd Wang
ccad5cd98e
TableDelegate support render_empty (#142 )
2024-08-14 11:01:57 +08:00
Jason Lee
70bc526fbb
Fix Dropdown and DatePicker anchor to snap to window. ( #139 )
...
<img width="786" alt="image"
src="https://github.com/user-attachments/assets/c40fab1d-2cbe-4750-b05e-ed42cb43dd3c ">
2024-08-13 18:10:30 +08:00
Jason Lee
bb6d8d8f60
Cleanup first version impls ( #132 )
2024-08-11 14:46:55 +08:00
Jason Lee
ebdcf244e2
Add Calendar and DatePicker. ( #117 )
...
https://github.com/user-attachments/assets/dda87fa7-f080-418a-8dd7-ab8581eb3beb
2024-08-07 20:25:11 +08:00
Jason Lee
827f57fb6a
Add Sizable trait to impl small, xsmall, large and apply to Button, Input, Dropdown, Switch. ( #113 )
2024-08-06 17:19:54 +08:00
Jason Lee
553b6409c0
Improve Dropdown to Add search support and custom icon ( #106 )
...
- Add SearchableVec to let Dropdown support search filter.
- Fix dropdown title overflow.
- Add to support custom dropdown right icon.
https://github.com/user-attachments/assets/b9e28fce-3e0f-44f7-a0f4-3e01f6db31d1
2024-08-05 11:47:55 +08:00
Jason Lee
0e3736e312
Update Dropdown title to use SharedString ( #95 )
2024-08-01 11:00:18 +08:00
Jason Lee
9766a0766b
Fix dropdown to avoid item text wrap. ( #88 )
2024-07-30 19:58:48 +08:00
Jason Lee
8aaeb9383d
Fix dropdown click to lose focus. ( #80 )
2024-07-29 19:00:17 +08:00
Floyd Wang
66698bfe27
Rename dropdown render_empty to empty ( #82 )
...
Also, `OTPInput` to `OtpInput`
2024-07-29 15:37:38 +08:00
Jason Lee
a3df086e79
theme: Fix list, table theme colors. ( #79 )
...
- Fix list, table theme colors.
- Fix table hover bg.
- Add avatar to table list.
- Update dropdown Size:Small style.
2024-07-29 13:52:45 +08:00
Floyd Wang
11034ec2ac
Improve dropdown render_empty builder result from AnyElement to impl IntoElement for better usage
2024-07-26 17:26:58 +08:00
Floyd Wang
d278d85058
Imporve dropdown ( #73 )
...
* Remove min-height
* Provide `render_empty` for custom empty view
* Fix crash when delegate is empty
2024-07-26 14:31:47 +08:00
Floyd Wang
f02c2a82b1
Do not preset padding when input with affix ( #70 )
2024-07-25 11:02:04 +08:00
Floyd Wang
764e7486e7
Set the default cleanable to false for new dropdown ( #63 )
2024-07-24 10:07:11 +08:00
Floyd Wang
1b715c431f
Fix new dropdown selected_index not work ( #60 )
2024-07-23 19:18:39 +08:00
Jason Lee
613cfebb65
Improve ActiveTheme trait to impl ViewContent and ModelContext to support auto import. ( #49 )
2024-07-19 11:20:45 +08:00
Floyd Wang
653222db73
dropdown: Use event instead of callback ( #46 )
...
* Rule: use event for `Render`, use callback for `RenderOnce`
2024-07-18 18:40:32 +08:00
Floyd Wang
07a1f3099e
dropdown: Add on change callback
2024-07-18 16:50:30 +08:00
尹吉峰
4ccbe9bd71
Update Dropdown ( #42 )
2024-07-18 16:12:12 +08:00
Jason Lee
07e1296916
Add cleanable to Input ( #36 )
2024-07-16 19:44:16 +08:00
Jason Lee
ce7c1a3a34
Add Small, Large size support to Input and Dropdown and let them use same height. ( #35 )
...
- Add `Dropdown::string_list` to use `Vec<SharedString>` to create
dropdown for easy use.
- Add `input_px`, `input_py`, `input_h` trait methods to `Styled`
element.
2024-07-16 15:14:12 +08:00