Jason Lee
44427afacb
theme: Add to support highlight color to theme config. ( #1055 )
...
<img width="1058" height="1026" alt="image"
src="https://github.com/user-attachments/assets/300fb16b-c5e4-4eef-9690-54fcabc4fe47 "
/>
<img width="836" height="855" alt="image"
src="https://github.com/user-attachments/assets/3fdc8301-375d-4223-a2ea-8d4f411a90bd "
/>
2025-07-14 17:04:18 +08:00
Jason Lee
82b87d92ab
text_view: Fix nested Blockquote render in Markdown and HTML. ( #1053 )
...
<img width="986" height="271" alt="image"
src="https://github.com/user-attachments/assets/1de04629-2bdc-48f2-ae69-45c33482aeff "
/>
- Also fixed short language name in code block, e.g.: `rs` -> `rust`.
2025-07-14 14:30:40 +08:00
Floyd Wang
3b759cd448
plot: Use f32 instead of f64 ( #1052 )
...
## Break Change
- Convert all `f64` parameters to `f32`.
Since the GPUI geometry module uses f32 for rendering, we are also
switching to f32. This helps avoid many as operators and unnecessary
conversions.
2025-07-08 16:24:59 +08:00
Jason Lee
8bf66443b2
theme: Add theme schema to support JSON theme config. ( #1050 )
2025-07-07 19:40:00 +08:00
Jason Lee
463c3ebfea
chore: Remove unnecessary examples that have includes in gallery. ( #1049 )
2025-07-07 12:11:19 +08:00
Jason Lee
1f46b6b81c
story: Add more case to markdown example. ( #1045 )
2025-07-04 16:35:30 +08:00
Jason Lee
9b0ce145f6
alert: Improve Alert styles. ( #1044 )
...
<img width="1201" alt="image"
src="https://github.com/user-attachments/assets/7484132b-8bdd-4353-a6f0-f038189d9b15 "
/>
2025-07-04 15:29:05 +08:00
Jason Lee
1069469c46
theme: Update secondary color and fix toggle selected color. ( #1039 )
...
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/9ec4f4ea-f318-4db6-b9cd-7911cc4f9462 "
/>
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/85d52c62-1e51-49d3-905e-30865555cfd8 "
/>
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/eb71f364-730d-4f55-a84d-95235a3545f0 "
/>
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/3383e8f7-500d-4348-b391-c764a35fd6a9 "
/>
2025-07-03 19:23:40 +08:00
Jason Lee
6886ae746e
story: Add Indicator, Skeleton story. ( #1038 )
2025-07-03 18:54:23 +08:00
Jason Lee
d70d649a67
story: Move DescriptionList into main story. ( #1037 )
2025-07-03 18:09:30 +08:00
Jason Lee
9eb7e10a1d
button: Adjust outline button active color. ( #1035 )
2025-07-03 15:35:19 +08:00
Floyd Wang
f4025a9447
form: Fix label text wrapping issue ( #1034 )
...
| Before | After |
| - | - |
| <img width="752" alt="image"
src="https://github.com/user-attachments/assets/32abd11a-39c6-4045-9727-3188c46e482c "
/> | <img width="752" alt="image"
src="https://github.com/user-attachments/assets/98e45484-1c05-4d90-977f-efd9b89d9dd9 "
/> |
2025-07-03 15:09:57 +08:00
Jason Lee
b80d3a95b1
badge: Add icon variant to Badge. ( #1029 )
...
<img width="1248" alt="image"
src="https://github.com/user-attachments/assets/5d80a3d9-4d4e-4eea-89c9-cea9ab33be9e "
/>
2025-07-03 11:13:39 +08:00
Jason Lee
66a9b3e9df
avatar: Add Avatar element. ( #1028 )
...
<img width="1384" alt="image"
src="https://github.com/user-attachments/assets/1e66aa8c-0c87-4d8d-abb7-38e5f616fe3e "
/>
<img width="1384" alt="image"
src="https://github.com/user-attachments/assets/bd32b6e0-aa0f-4d01-af9f-4bfaea1a3718 "
/>
2025-07-02 18:58:06 +08:00
Jason Lee
deb1187c40
story: Fix #1017 duplicate action name error. ( #1020 )
2025-06-30 11:18:57 +08:00
Jason Lee
21dbaffcf4
input: Add Cursor and Selection type and export line number, cursor. ( #1012 )
2025-06-27 20:48:26 +08:00
Jason Lee
5b17281374
text_view: Fix li > strong render not in same line. ( #1016 )
...
## Before
<img width="1294" alt="image"
src="https://github.com/user-attachments/assets/0620f33a-914e-4d2a-8832-16c037351352 "
/>
## After
<img width="1131" alt="image"
src="https://github.com/user-attachments/assets/a31b9b5a-6d41-4c04-a415-ff97e7cd1f31 "
/>
2025-06-27 18:41:28 +08:00
Jason Lee
692ee83b61
chore: Move shadow_xs to StyledExt trait. ( #1010 )
...
This PR for fix https://github.com/longbridge/gpui-component/pull/1009
mistake.
2025-06-25 16:54:48 +08:00
Jason Lee
c8481bee19
theme: Update theme details to match Shadcn. ( #1009 )
...
## Light
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/b1893648-5994-4c08-a79a-30b10dc62c47 "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/de5b4e13-7889-473b-b0c0-9ac11de0a4b0 "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/9f17c2a1-3a71-4d56-be6c-49f26f5e7406 "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/a4e99a61-a618-4c3b-a237-93bbc17d4cae "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/64313ae5-8284-46ff-a75f-5a14a1e3b339 "
/>
<img width="1193" alt="image"
src="https://github.com/user-attachments/assets/5c134172-0ab6-4299-950d-bac3dda7b61d "
/>
<img width="1374" alt="image"
src="https://github.com/user-attachments/assets/c8816288-d008-490d-9db3-4fa796278001 "
/>
<img width="1428" alt="image"
src="https://github.com/user-attachments/assets/d903a854-15e3-48aa-8ebd-969c1c91c624 "
/>
## Dark
<img width="1467" alt="image"
src="https://github.com/user-attachments/assets/720418b4-8a9b-42c9-814b-a0be660e8eba "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/4ca20f31-c998-40bb-b4bf-6079c506f9ec "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/ae828624-55b3-4d33-8a20-2c71a0a838cc "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/7014c76c-5e18-4cd5-9cf1-6bccbb58e56a "
/>
<img width="1393" alt="image"
src="https://github.com/user-attachments/assets/6e1c514d-5f76-460a-9c7e-a38f2f0e712a "
/>
<img width="1374" alt="image"
src="https://github.com/user-attachments/assets/07ad8c20-317b-4209-9f92-b500f53dd4c0 "
/>
<img width="1428" alt="image"
src="https://github.com/user-attachments/assets/6bd2969d-9bec-4ed7-9280-109a81144dfa "
/>
2025-06-25 16:40:27 +08:00
Jason Lee
67f0ffbc9c
chore: Upgrade GPUI and fix action API changes. ( #1008 )
...
Ref https://github.com/zed-industries/zed/pull/33263
2025-06-25 11:06:12 +08:00
Jason Lee
ed0887420f
chore: Impl Styled for more elements. ( #1007 )
...
This PR for continuing #1005 was missed commits.
2025-06-24 19:36:42 +08:00
Jason Lee
9aa593ce0b
chore: Apply Styled to elements to support flexable style refinement. ( #1005 )
...
## Break Changes
- date_picker, dropdown: Removed `width` method, use `w`, `w_full`
instead.
```diff
- .width(px(100.))
+ .w(px(100.))
```
- calendar: Removed `bordered` method, use `border` method from GPUI
instead.
```diff
- .bordered(false)
+ .border_0()
```
2025-06-24 18:56:35 +08:00
Michael Angerman
eb9a0ed881
chore: Fix button example so that it scrolls in the y direction ( #999 )
...
The button example was not scrolling in the y direction and therefore
you were *NOT* able to see the entire ButtonStory.
This minor fix now enables one to see the entire ButtonStory.
The only code that needed to be added was
```rust
.id("button_example")
.overflow_y_scroll()
```
2025-06-24 11:54:51 +08:00
Jason Lee
7360d2834d
theme: Update default radius to 6px, and modal to 8px. ( #995 )
2025-06-20 20:07:19 +08:00
Michael Angerman
389c25c287
chore: Fix spelling of the word masked ( #990 )
2025-06-19 12:34:19 +08:00
Jason Lee
d7e04ecdd0
scrollbar: Improve Scrollbar to get correct scroll size. ( #985 )
...
Continue #984
- Fixes there may Scrollbar size not match the content size. Close #979
- Improved Table scrollbar to only render at scrollable area when there
have fixed columns.
<img width="850" alt="image"
src="https://github.com/user-attachments/assets/84f54515-e61a-484f-b2b4-ea5abb98ddb8 "
/>
## Break Changes
- The `Scrollbar` has been removed `entity_id` and `scroll_size`
argument from new method, it will get that value from `scroll_handle`.
- There still have a `scroll_size` optional method, if you want to give
your own.
- Also changed the `scroll_state`, `scroll_handle` to receive a ref.
```diff
- Scrollbar::vertical(entity_id, scroll_state, scroll_handle, scroll_size);
+ Scrollbar::vertical(&scroll_state, &scroll_handle);
+ Scrollbar::vertical(&scroll_state, &scroll_handle).scroll_size(scroll_size);
```
2025-06-18 19:09:34 +08:00
Jason Lee
1752d3e2b4
chore: Improve Scrollbar and Scrollable to support Axis and ScrollbarAxis. ( #983 )
2025-06-18 16:00:35 +08:00
Floyd Wang
c5fed17941
notification: Better style details ( #982 )
...
| Before | After |
| - | - |
| <img width="752" alt="Before"
src="https://github.com/user-attachments/assets/d4e08e87-100a-4b8d-90f3-909900d41e66 "
/> | <img width="752" alt="After"
src="https://github.com/user-attachments/assets/e84c145e-8990-4c47-bbff-0d4e86acca64 "
/> |
2025-06-18 14:21:25 +08:00
Floyd Wang
1055131ffe
notification: Support remove notification with the given id ( #980 )
2025-06-18 14:02:07 +08:00
Floyd Wang
c39e7af50c
number_input_story: Fix subtraction overflow ( #976 )
2025-06-18 10:16:57 +08:00
Jason Lee
0e3b61a704
Revert "modal: Add scrollbar to Modal for overflow contents. #960 " ( #970 )
2025-06-17 17:48:42 +08:00
Jason Lee
de491a790c
input: Fix Input prefix, suffix position, and mask * in vertical center. ( #965 )
...
- Fix Input, NumberInput padding x with prefix, suffix.
- Fix Input mask char to render in vertical center.
<img width="498" alt="image"
src="https://github.com/user-attachments/assets/f7b34e17-2503-4a24-9e16-3a30b48bacb5 "
/>
- Fix to only use `Tab`, `Shift-Tab` to indent in multi-line mode.
- Improve blink cursor to render with 1.5px width and same as
line-height.
2025-06-17 13:59:02 +08:00
Jason Lee
d2633faf82
modal: Add scrollbar to Modal for overflow contents. ( #960 )
...
- Add `overlay` variable to Theme.
<img width="536" alt="image"
src="https://github.com/user-attachments/assets/12ed43c8-00b5-41b1-8cf6-0f31b533525c "
/>
2025-06-16 17:35:02 +08:00
Jason Lee
61283a71f0
scrollbar: Refactor ScrollbarState to have Cell inside. ( #959 )
...
## Break Change
- Now we added `Rc<Cell<>>` inside the ScrollbarState.
```diff
- scroll_state: Rc<Cell<ScrollbarState>>,
+ scroll_state: ScrollbarState,
```
2025-06-16 15:11:52 +08:00
Jason Lee
89c210c4ca
highlighter: Avoid crash when language not registered. ( #954 )
...
Close #952
Fallback to use plain text to display.
2025-06-12 19:45:29 +08:00
Jason Lee
e29b51cc83
popover: Improve PopoverContent to support styled methods. ( #951 )
...
- Add `refine_style` method to `StyledExt`.
- Also improve the Popover example style.
<img width="1053" alt="image"
src="https://github.com/user-attachments/assets/bf435a79-6c34-41ab-802a-29a7600ecd29 "
/>
2025-06-12 15:00:00 +08:00
Jason Lee
d61b0d2510
highlighter: Fix highlight offset and reset highlight when replace all text. ( #950 )
...
- Improve JSON highlights.
<img width="839" alt="image"
src="https://github.com/user-attachments/assets/3f28ae1c-9f07-4df4-a477-f875a26d4c7d "
/>
2025-06-12 14:11:01 +08:00
Jason Lee
6ea427549a
input: Add focus_bordered method to toggle Input focus border. ( #946 )
2025-06-11 21:34:37 +08:00
Jason Lee
a3a4f1942d
chart: Update Chart story by use JSON file data. ( #947 )
2025-06-11 21:34:22 +08:00
Jason Lee
4c0e13bc8d
radio: Add id to RadioGroup to avoid clicks conflict. ( #941 )
...
## Break Changes
- The `RadioGroup` now require a `id` to init.
```diff
- RadioGroup::horizontal()
+ RadioGroup::horizontal("group-id-1")
- RadioGroup::vertical()
+ RadioGroup::vertical("group-id-2")
```
2025-06-11 15:45:24 +08:00
Jason Lee
79ff6ba9cc
highlighter: Fix injection language highlight. ( #931 )
...
Still have a bit bug for highlight:
<img width="1012" alt="image"
src="https://github.com/user-attachments/assets/7ec39c85-c20c-4231-8752-b2a7a80f5570 "
/>
2025-06-11 15:26:27 +08:00
Floyd Wang
c333fd7106
notification: Add support for rendering custom content ( #938 )
...
## Break Change
You no longer need to pass a message when creating a new notification.
Instead, use the `message` method.
```diff
- Notification::new("There was a problem with your request.");
+ Notification::new().message("There was a problem with your request.");
```
<img width="1023" alt="image"
src="https://github.com/user-attachments/assets/4b93f2bb-e130-45d6-974f-8b14efac58a4 "
/>
2025-06-10 12:06:02 +08:00
Jason Lee
6aab9d3345
code-editor: Show hover popover for diagnostics. ( #924 )
...
<img width="719" alt="image"
src="https://github.com/user-attachments/assets/75fa9737-09e1-4baa-b7ac-304e847005c8 "
/>
2025-06-09 16:16:15 +08:00
Jason Lee
c3ec1deb97
code-editor: Update CodeEditor to support external language. ( #928 )
...
Add [Navi](https://navi-lang.org ) language for example to external
language for CodeEditor.
<img width="864" alt="image"
src="https://github.com/user-attachments/assets/73afa56d-31bd-4867-a9f2-0a8cf790af0f "
/>
2025-06-09 14:27:33 +08:00
Jason Lee
d598e58666
tag: Add rounded to Tag and support outline for all variants. ( #923 )
...
<img width="1316" alt="image"
src="https://github.com/user-attachments/assets/e06f672d-f311-4dc2-b62a-c1f5cbce6973 "
/>
2025-06-06 13:35:24 +08:00
Jason Lee
a8f5ced4e6
code-editor: Add markers for display diagnostics to CodeEditor. ( #920 )
...
Ref:
https://microsoft.github.io/monaco-editor/typedoc/functions/editor.setModelMarkers.html


2025-06-05 23:04:01 +08:00
Duane Bester
4477cca969
highlighter: Adding tree-sitter-sequel for SQL support. ( #917 )
...
📦 Adding dependency:
[tree-sitter-sequel](https://github.com/derekstride/tree-sitter-sql )
### Previews
<img width="1398" alt="Screenshot 2025-06-04 at 9 27 08 PM"
src="https://github.com/user-attachments/assets/4aee67be-6fb3-4c57-95be-20792639851a "
/>
<img width="1398" alt="Screenshot 2025-06-04 at 9 34 02 PM"
src="https://github.com/user-attachments/assets/730e148f-2bc9-481d-8eea-8110f7884e69 "
/>
2025-06-05 11:54:52 +08:00
Floyd Wang
a1bdd50735
story: Reorder story menu
2025-06-04 19:29:32 +08:00
Floyd Wang
516c8fada4
chart: Introduce chart ( #878 )
...
Add a new component called `plot`. It provides a low-level approach to
data analysis and visualization.
Chart is a collection of ready-to-use chart components built with
`plot`.
| Light | Dark |
| - | - |
| <img width="1712" alt="SCR-20250604-qhxb"
src="https://github.com/user-attachments/assets/bf7ce76e-ab7a-42c2-92e7-17cd135de66f "
/> | <img width="1712" alt="SCR-20250604-qhxr"
src="https://github.com/user-attachments/assets/dd3e44ea-bbb5-41a2-8cce-38b316d7d800 "
/> |
2025-06-04 19:22:11 +08:00
Jason Lee
7934e8af31
story: Fix double border in ResizableStory.
2025-06-04 18:11:00 +08:00
Jason Lee
2b796c94e9
highlighter: Improve performance for large file. ( #911 )
...
Still need to improve.
This version can work smooth when the file lines are less than 5000
lines.
> cargo run --release on MacBook Pro, Apple M3 CPU
- Editing at 110 FPS+
- Display at 120 FPS.
<img width="977" alt="image"
src="https://github.com/user-attachments/assets/37958bcb-20d8-486b-8c50-2728d16f971b "
/>
2025-06-03 23:20:33 +08:00
Floyd Wang
dc1d516a30
button: Impl Selectable for the dropdown button ( #913 )
...
## Break Change
- Add `is_selected` to the `Selectable` trait; Returns true if the
element is selected.
2025-06-02 14:25:18 +08:00
Jason Lee
901312bc5a
chore: Switch gpui to depends on Zed official. ( #912 )
...
Now, GPUI have merged `window_handle` support for all platforms.
- https://github.com/zed-industries/zed/pull/24327
- https://github.com/zed-industries/zed/pull/24545
- https://github.com/zed-industries/zed/pull/28152
It's time to depends on Zed official main branch.
2025-06-02 10:05:45 +08:00
Jason Lee
a4aff404ce
highlighter: Use tree-sitter to highlight code. ( #904 )
...
<img width="1318" alt="image"
src="https://github.com/user-attachments/assets/4a8e7b93-a7e7-4648-b8da-c5a6e7ede4f9 "
/>
<img width="1318" alt="image"
src="https://github.com/user-attachments/assets/bfc35845-719f-4c97-bf50-087feb0f6775 "
/>
2025-05-29 19:54:52 +08:00
Floyd Wang
838ffe0a79
modal: Display overlay at the correct z-index ( #909 )
...
| Before | After |
| - | - |
| <img width="1712" alt="SCR-20250528-ksil"
src="https://github.com/user-attachments/assets/3725f142-0792-478a-ac7e-1a9c5604821a "
/> | <img width="1712" alt="SCR-20250528-krmi"
src="https://github.com/user-attachments/assets/b0fac5db-97b2-4ebd-83e2-94786950185c "
/> |
2025-05-28 11:57:23 +08:00
Jason Lee
bad9506ebb
inspector: Fix Inspector on release build. ( #906 )
2025-05-27 18:51:57 +08:00
Jason Lee
1cbbf6ef18
code-editor: Improve CodeEditor to has default themes. ( #900 )
2025-05-26 18:17:15 +08:00
Floyd Wang
ebe10e20c7
alert: Add support for text wrapping ( #899 )
...
<img width="935" alt="image"
src="https://github.com/user-attachments/assets/6eb10c67-5301-4414-af7f-9b4444b77fb6 "
/>
2025-05-26 17:09:12 +08:00
Jason Lee
1c11b5fb55
inspector: Add Inspector. ( #897 )
...
<img width="1434" alt="image"
src="https://github.com/user-attachments/assets/f6ec2e1d-ff1c-4798-90fe-d29bef20fa9d "
/>
2025-05-26 16:44:11 +08:00
Floyd Wang
a1ad647527
number_input: Add support for prefix and suffix ( #896 )
...
<img width="1097" alt="image"
src="https://github.com/user-attachments/assets/b4c1fc69-88ad-4ecd-b1c8-1a5a92836e82 "
/>
2025-05-26 16:16:22 +08:00
Jason Lee
c99e696cb1
code-editor: Update code highlight theme colors. ( #888 )
2025-05-25 10:21:37 +08:00
Jason Lee
f539817d9b
alert: Add banner mode and on_close to Alert. ( #893 )
...
## Break Changes
- The `Alert::new` method change to 2 args, first is `id`.
```diff
- fn new(message: impl Into<Text>) -> Self
+ fn new(id: impl Into<ElementId>, message: impl Into<Text>) -> Self
```
<img width="1120" alt="image"
src="https://github.com/user-attachments/assets/214df737-6129-4a53-8f3b-86e83bc8082b "
/>
2025-05-23 19:20:13 +08:00
Floyd Wang
244090ddc5
number_input: Remove InputEvent from NumberInputEvent ( #884 )
...
## Break Change
- Number input no longer emits `InputEvent`; you need an additional
subscription for `InputEvent`.
2025-05-22 14:38:43 +08:00
ZW
6a190da785
calendar: Support custom matcher ( #873 )
...
See #870
2025-05-20 21:07:17 +08:00
Jason Lee
e68419bc95
example: Add resizable feature to HTML, Markdown example. ( #872 )
2025-05-20 18:25:14 +08:00
Jason Lee
5658db42c7
input: Add CodeEditor mode. ( #863 )
...
## TODO
- [x] Cache highlight result.
- [x] Add a `code-editor` example with more languages test.
- [x] Support setup font to Input (Base on window scope text style).
- [x] Line number
- [x] Change font size and font family.
- [x] Enter newline to keep indent.
- [x] Height with flex_1
- [x] Add to support press `up`, `down` to move cursor to start or end
of the selection, if there is selected.
- [x] Add `Tab`, `Shift-Tab` to indent or outdent for cursor and
selection.
- [x] Double click to select at least 1 char.
https://github.com/user-attachments/assets/af74862d-15a9-4802-b4b4-2aeb606227ec
2025-05-20 15:51:00 +08:00
Jason Lee
b97abd6394
input: Fix auto-grow height. ( #865 )
...
Fix #864
Updated InputState API to split `single_line`, `multi_line` and
`auto_grow`.
The `InputState::new` for default single_line, and added `multi_line`
and `auto_grow` to change other mode.
### With no wrap
https://github.com/user-attachments/assets/22a8f0d6-e264-4f39-bb30-386a41975d2b
### With soft wrap
https://github.com/user-attachments/assets/b71f0fb1-5937-470b-a278-8b1de7cfd7d7
2025-05-19 19:26:27 +08:00
Jason Lee
1e2cc8315a
dock: Show keybinding for ToggleZoom menu and button. ( #861 )
...
And binding `Shift-Esc` for example to toggle zoom panel, `Ctrl-W` for
close panel.

2025-05-17 22:23:45 +08:00
Jason Lee
bc398adbf3
input: Refactor Input, Picker as stateless mode. ( #858 )
2025-05-16 23:41:26 +08:00
Jason Lee
c0e0d82594
input: Add mask pattern to format display. ( #854 )
...
- Add `mask_pattern` to Input, NumberInput.
- Fix Input `set_text` to move cursor to end.
https://github.com/user-attachments/assets/2d7e362a-3f80-47a4-94e3-efd729bffcac
2025-05-14 22:27:46 +08:00
Jason Lee
1535df796e
resizable: Refactor to use stateless Resizable element. ( #852 )
...
## Break Changes
- The `ResizablePanelGroup` and `ResizablePanel` are changed to as
stateless element, please check out the diff to migrate.
2025-05-12 17:15:11 +08:00
Jason Lee
0a95f7c0f1
resizable: Add size_range to limit panel size and fix resize and initial_size of panel. ( #844 )
...
## Fix panel resize bug
- Fix some panel resizing details.
- Fix initial_size for panel and ensure split dock panel to get average
size.
### Before
https://github.com/user-attachments/assets/cd6c7e10-aec7-46a6-8a4d-11bf4d221f92
### After
https://github.com/user-attachments/assets/90c8b865-630a-4abd-98c9-310800b12fee
2025-05-12 11:07:06 +08:00
Michael Angerman
28582bc905
chore: Remove unused file text_view ( #850 )
...
The file text_view was empty.
So it does not need to be in the repo.
2025-05-12 10:40:00 +08:00
Jason Lee
d288a51e06
dock: Revert panel radio size to back to use Pixels type for panel size. ( #842 )
...
This PR to revert previous dock changes to back to use `Pixels` type for
panel size.
- #833
- #839
- #840
2025-05-09 16:47:24 +08:00
Jason Lee
f8e30c6f5d
dock: Revert dock to use absolute size. ( #840 )
...
This change to revert `Dock` to use `Pixels` for size, not use ratio,
because in most case we need to keep dock size, not wants it change when
window resize, we just only want center dock to change.
The `Panel` will keep the relative size changes.
2025-05-08 16:29:55 +08:00
Jason Lee
a26311dc0e
dock: Improve dock, panel to support absolute or fraction size. ( #839 )
2025-05-08 12:01:16 +08:00
Jason Lee
6514aec22a
dock: Refactor to use ratio for dock, panel size. ( #833 )
2025-05-07 01:32:31 +08:00
Jason Lee
e530af9b51
notification: Add action button to Notification. ( #832 )
...
- Fix `Icon` clone to keep text_color and other attributes.
<img width="1303" alt="image"
src="https://github.com/user-attachments/assets/abb35045-166e-450e-a200-1d4a1d2b6dd8 "
/>
2025-05-06 16:58:07 +08:00
Jason Lee
f4e8b952e9
modal: Add alert method to create modal with a Ok button. ( #829 )
...
- Fix to handle close modal when `on_ok`, `on_cancel` not present.
2025-05-02 10:28:26 +08:00
Jason Lee
38d9c24af5
chore: Update getter method to return reference to view components. ( #827 )
2025-04-30 17:18:44 +08:00
Floyd Wang
a5e5fc52b4
dropdown: Support change options for the dropdown ( #824 )
2025-04-30 10:33:21 +08:00
Jason Lee
832f8b8f75
svg_img: Refactor SvgImg to avoid assign source image size and fix drop image error. ( #821 )
...
## Break Change
- Removed `source` method from `SvgImg`, now need assign source in `new`
method.
- There is no need to give image size, it will read the size from SVG
file.
2025-04-29 19:25:43 +08:00
Sunli
dc776224f9
svg_img: Fix memory leak in SvgImg ( #818 )
2025-04-28 14:42:37 +08:00
Floyd Wang
547c9c1827
gallery: Fix the error active panel display with search keywords ( #817 )
...
## Before
https://github.com/user-attachments/assets/25b925e5-c0f3-42b0-97f3-190fb738a10a
## After
https://github.com/user-attachments/assets/2d6e2b23-f3e2-45fd-a58c-69f31d0646a8
2025-04-25 19:06:39 +08:00
Ylin
f946560837
dropdown: Add display_title to DropdownItem to support custom title to dropdown input. ( #816 )
...
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-04-25 19:05:24 +08:00
Jason Lee
9085879795
gallery: Add DatePicker and Calendar. ( #815 )
2025-04-25 16:05:47 +08:00
Jason Lee
a9d145dd50
Update disabled menu, button, dropdown etc. to use default cursor. ( #814 )
...
To follow macOS UX design.
2025-04-24 21:28:15 +08:00
Jason Lee
b4449f10cf
dropdown: Avoid selected value text wrap. ( #808 )
2025-04-22 21:19:20 +08:00
Jason Lee
5cacffcc06
chore: Fix cargo clippy.
2025-04-22 19:36:09 +08:00
Jason Lee
a195795978
input: Refactor window.focused_input by use better way to ensure update. ( #809 )
2025-04-22 19:34:41 +08:00
Jens Krause
f7be6a245a
input: Add Esc to clean. ( #803 )
2025-04-20 10:24:47 +08:00
Jason Lee
16eb0f304b
gallery: Add to support search stories. ( #802 )
...
<img width="1196" alt="image"
src="https://github.com/user-attachments/assets/daa3f47a-0c4d-404c-a673-8e18880e8f6c "
/>
2025-04-17 20:46:57 +08:00
Jason Lee
413d156ef4
input: Update Input text method to return &SharedString type. ( #800 )
...
## Break Changes
- input: Now the `text` method `Input` changed return type from
`SharedString` to `&SharedString`.
- list: Remove `set_query` and `query` method from `List`, you can use
`query_input` to instead.
2025-04-17 19:52:14 +08:00
Jason Lee
bef1dd2544
story: Add ClipboardStory ( #799 )
2025-04-17 18:57:23 +08:00
Jason Lee
034e465d28
list: Select first item on search. ( #798 )
2025-04-17 17:29:02 +08:00
Jason Lee
5b508d7219
gallery: Redesign the gallery. ( #797 )
...
Close #773
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/e27a28ca-cdd7-4970-8518-4fd0104bb3f8 "
/>
2025-04-17 17:12:48 +08:00
Jason Lee
e2463bbdcf
linux: Fix sync_system_appearance on Linux. ( #796 )
...
Close #104
2025-04-16 14:55:01 +08:00
Jason Lee
8d37716b88
list: Export query_input for support update the default Query Input. ( #794 )
...
## Break Change
- Updated `set_placeholder` and `set_pattern` method to add `window` and
`cx` argument.
```diff
- fn set_placeholder(&mut self, placeholder: impl Into<SharedString>)
+ fn set_placeholder(&mut self, placeholder: impl Into<SharedString>, _:
&Window, cx: &mut Context<Self>)
- fn set_pattern(&mut self, pattern: regex::Regex)
+ fn set_pattern(&mut self, pattern: regex::Regex, window: &mut Window,
cx: &mut Context<Self>)
```
2025-04-15 20:36:04 +08:00
Floyd Wang
8930acf648
sidebar: Add suffix for menu item ( #792 )
...
| Light | Dark |
| - | - |
| <img width="913" alt="SCR-20250415-mkdr"
src="https://github.com/user-attachments/assets/5c4931e6-4d03-48ec-91c6-ade2d86de75a "
/> | <img width="913" alt="SCR-20250415-mkec"
src="https://github.com/user-attachments/assets/f85af984-ecc3-4cd7-913c-c4e93384dbf1 "
/> |
2025-04-15 14:02:52 +08:00
Jason Lee
9a6a0f4421
tooltip: Add action, key_binding method to Tooltip. ( #787 )
2025-04-14 17:38:21 +08:00
Jason Lee
d0a73011de
tooltip: Add KeyBinding to tooltip and Button. ( #783 )
...
- Improve `Kbd::format` method.
- Add `tooltip_with_action` method to Button for display key binding in
tooltip.
-
## Break change
- The `Tooltip::new` has been changed it argument and return type.
```diff
- pub fn new(text: impl Into<Text>, _: &mut Window, cx: &mut App) ->
AnyView
+ pub fn new(text: impl Into<Text>) -> Self
```
2025-04-14 16:40:40 +08:00
Jason Lee
73be54a0f7
input: Improve clear button position in Input. ( #782 )
...
| Before | After |
| -- | -- |
| <img width="529" alt="image"
src="https://github.com/user-attachments/assets/02fdba71-7e83-43b9-ba4c-476eb21dcf28 "
/> | <img width="530" alt="image"
src="https://github.com/user-attachments/assets/ad7b6378-c9ff-4ea4-943a-87af53a2ac79 "
/> |
2025-04-11 19:13:17 +08:00
Floyd Wang
d04866eb77
checkbox: Support sizable ( #781 )
...
| Before | After |
| - | - |
| <img width="672" alt="SCR-20250409-pgbg"
src="https://github.com/user-attachments/assets/73a46b13-a3bb-4f58-afb0-aa388bbaefb5 "
/> | <img width="669" alt="SCR-20250409-phiy"
src="https://github.com/user-attachments/assets/1230a02d-cdc7-4c2e-9949-bcad09eb2edc "
/> |
2025-04-09 17:31:56 +08:00
Jason Lee
aaa88db52c
story: Add example for secondary click table row. ( #780 )
2025-04-09 13:42:08 +08:00
Jason Lee
d186bf7c9e
sidebar: Fix Sidebar details, something like icon size, remove view_id argument. ( #774 )
...
Also updated the Sidebar example to support expand multiple root items.
## Break Change
- Sidebar create not need assign parent view_id now.
2025-04-03 15:02:05 +08:00
王子凌
b016d9fff4
modal: Fix close Modal by clicking overlay to support closing layer by layer. ( #771 )
...
Fix the issue that wrongly trigger `overlay` click event for the
layer-stacked `modals`.
Fix #772
I.E. When clicking the `overlay`, only the last modal will possibly be
hide(If the last modal is not `overlayClosable`, click the overlay, all
the modals will not be hide).

I had tried another solution:


If this one is better than prev, I will commit it~
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-04-03 13:29:31 +08:00
Jason Lee
a60acd7e4d
list: Add secondary confirm support to list. ( #769 )
2025-04-02 16:45:27 +08:00
Jason Lee
c91dce3139
input: Add max_rows to support auto-grow. ( #768 )
...
Closes #762
https://github.com/user-attachments/assets/068a3f11-8498-4db6-a2ac-00cc043f16cf
2025-04-02 15:54:19 +08:00
Jakku Sakura
4f0617e96f
example: Fix to hide WebView when switch tab. ( #764 )
...
fixes #763
it also prevent crashing on linux due to gtk not initialized
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
2025-04-02 10:50:20 +08:00
Jason Lee
ebe93210af
Use normal cursor for buttons. ( #760 )
...
This change to follow native UI to use normal cursor for all buttons,
items.
Only use `pointer` for link item.
2025-04-01 17:59:27 +08:00
Jason Lee
88b5e5c023
input: Add mask_toggle button to toggle masked state to Input. ( #758 )
2025-03-31 22:57:07 +08:00
Jason Lee
3357197f60
example: Remove duplicate ProgressStory in main example. ( #757 )
...
Ref #740
2025-03-31 22:05:33 +08:00
Floyd Wang
9f103bac6f
svg_img: Use system fonts to support CJK characters ( #750 )
...
| Before | After |
| - | - |
| <img width="528" alt="SCR-20250327-mpcz"
src="https://github.com/user-attachments/assets/22dc30ea-582a-4133-996a-90bcf8cb54be "
/> | <img width="535" alt="SCR-20250327-mnbv"
src="https://github.com/user-attachments/assets/5f360d17-8285-44d8-963b-17784c4c0eb5 "
/> |
2025-03-27 14:44:04 +08:00
Jason Lee
aadcf4e1df
accordion: Fix toggle accordion item. ( #749 )
...
Close #740

2025-03-27 14:22:00 +08:00
Floyd Wang
26b59ea23e
story: Sync number input value when changed ( #748 )
...
Closed #741
https://github.com/user-attachments/assets/ec572918-a574-4adb-a8c0-c59010dc4d5e
2025-03-27 11:27:38 +08:00
Jason Lee
05fea87ec4
example: Fix modal example button id. ( #747 )
...
Ref #740
- Fix modal example button id.
- Fix switch example to allow check.
2025-03-27 11:24:06 +08:00
Jason Lee
17926cea16
button: Add warning, success, info variant to Button. ( #745 )
...
<img width="1342" alt="SCR-20250327-jfzq"
src="https://github.com/user-attachments/assets/7c44458a-9467-4095-9cd6-1dcb35cc351b "
/>
<img width="1342" alt="SCR-20250327-jgak"
src="https://github.com/user-attachments/assets/07d33d60-f581-46d4-9a54-174e56ab82ca "
/>
2025-03-27 10:15:53 +08:00
Jason Lee
22d9394266
alert: Add Alert. ( #735 )
...


<img width="821" alt="image"
src="https://github.com/user-attachments/assets/6350f48b-6ced-4063-b115-06422d49b92c "
/>
<img width="821" alt="image"
src="https://github.com/user-attachments/assets/3d71688a-b0ca-4223-a097-858388a47f6d "
/>
<img width="821" alt="image"
src="https://github.com/user-attachments/assets/ec3af860-0f8f-420b-9da7-f390c4742492 "
/>
<img width="821" alt="image"
src="https://github.com/user-attachments/assets/d9a85c06-209a-4ef9-ac9a-8456491fedc6 "
/>
2025-03-25 14:10:24 +08:00
Jason Lee
f650491605
menu: Add external link icon to link menu item. ( #734 )
...
<img width="403" alt="image"
src="https://github.com/user-attachments/assets/ad6682b6-2114-4f55-be84-d06c02ae401e "
/>
2025-03-24 22:30:29 +08:00
Jason Lee
e0f4a7d3cd
menu: Add label item to PopupMenu. ( #733 )
...
<img width="883" alt="image"
src="https://github.com/user-attachments/assets/06071f62-ddd3-4f9e-ae2f-82b583089792 "
/>
2025-03-24 22:04:47 +08:00
Jason Lee
8a3b858d1a
tabs: Add menu to TabBar to display more items. ( #731 )
...
<img width="752" alt="image"
src="https://github.com/user-attachments/assets/a7efb600-553a-4b78-a8f4-aaba504d44f0 "
/>
- tabs: Use default cursor when Tab is disabled.
- popup_menu: Add to support add menu item with disabled state.
2025-03-24 18:05:54 +08:00
Floyd Wang
760c0597eb
description_list: Fix incorrect align items for horizontal layout ( #730 )
...
| Before | After |
| - | - |
| <img width="539" alt="image"
src="https://github.com/user-attachments/assets/ecd997b5-1f59-4c41-83a3-dfdee6b1be8a "
/> | <img width="556" alt="image"
src="https://github.com/user-attachments/assets/1088d466-1635-45c3-b578-9ada1c960d66 "
/> |
2025-03-24 17:15:46 +08:00
Jason Lee
ffa36c1c5b
input: Add focused_input, has_focused_input method to Root. #727
...
Add this to save current focused Input, this used to avoid some special keybinding conflict.
For example: `/` as ToggleSearch, if on this action, we can check is there `has_focused_input` to decide to ignore or handle action.
- dock: Rename toggle button visible method.
2025-03-21 17:34:32 +08:00
Jason Lee
393e7e8f85
story: Update layout state file location on release mode.
2025-03-21 17:17:35 +08:00
Floyd Wang
0d1c40a56a
dock: Support hide dock toggle buttons ( #726 )
2025-03-21 11:55:02 +08:00
Jason Lee
a89f971108
chore: Update GPUI 2025/03/20 and fix spawn method. ( #725 )
...
- Update `resvg`, `usvg` to 0.45.0
2025-03-20 21:23:50 +08:00
Jason Lee
c98e4f0521
checkbox: Add children to Radio, Checkbox to display long texts. ( #724 )
...
This change is going to solve the wrapped text line-height.
Before this change, the Label is must set `line-height: 100%` to render
at same line with the checkbox.
But if there have a long text in label, wrapped lines need more
line-height to leave lines spaces. But if we set line-height over the
100%, that the checkbox will not align horizontal center.
So, this change to use other child to solve this issue, we can set
line-height to the child not to the label.
<img width="1204" alt="image"
src="https://github.com/user-attachments/assets/981cf925-01c7-48d7-9dd2-881c727a1759 "
/>
2025-03-20 19:12:48 +08:00
Jason Lee
88325ea14b
input: Add insert and replace method to Input. ( #721 )
...
Close #719
https://github.com/user-attachments/assets/aed24aef-c69f-4512-81bb-bb7e4a6de14e
2025-03-17 22:40:09 +08:00
Jason Lee
a0c7d0b791
tab: Adjust underline tab style. ( #720 )
...
<img width="1293" alt="image"
src="https://github.com/user-attachments/assets/bd0cdd71-9e83-460a-8224-f255a590f2ac "
/>
2025-03-17 21:50:39 +08:00
Jason Lee
6da7de5299
button: Improve Button to support combine outline with other variants. ( #714 )
...
<img width="1385" alt="image"
src="https://github.com/user-attachments/assets/240df695-bfd5-4680-89a2-2640db206b24 "
/>
2025-03-12 11:57:25 +08:00
Jason Lee
89170eea1d
color_picker: Add icon use icon as color picker button. ( #711 )
2025-03-11 21:14:14 +08:00
Jason Lee
65fad70c21
menu: Fix min_w support to PopupMenu. ( #705 )
2025-03-11 13:41:41 +08:00
Jason Lee
d451ce5c2d
menu: Add menu_element_with_icon, menu_element_with_check to PopupMenu. ( #704 )
...
- Added `menu_element_with_icon` and `menu_element_with_check` method to
PopupMenu.
<img width="317" alt="image"
src="https://github.com/user-attachments/assets/d32575e3-25fc-4d6f-bde2-ec5bc5f238dd "
/>
## Break changes
- menu: Renamed `menu_with_element` method to `menu_element`.
2025-03-11 11:18:43 +08:00
Jason Lee
6a00cfcc4a
text_view: Fix HTML render to support blockquote. ( #703 )
...
<img width="850" alt="image"
src="https://github.com/user-attachments/assets/4d8f662f-aebe-4c40-bc56-828627f16064 "
/>
2025-03-10 22:53:53 +08:00
Jason Lee
54d74a9617
kdb: Add min width 20px to Kdb. ( #700 )
...
<img width="358" alt="image"
src="https://github.com/user-attachments/assets/824a0cdd-e03b-49f4-bde6-b77ae0ab48cd "
/>
2025-03-10 17:12:43 +08:00
Jason Lee
3e4a3ed046
tag: Add color to Tag to support more colors. ( #698 )
...
- Add `ColorName` enum.
<img width="588" alt="image"
src="https://github.com/user-attachments/assets/20670946-1a4f-45ff-b5ac-81e7eb760242 "
/>
<img width="586" alt="image"
src="https://github.com/user-attachments/assets/7ce4a87f-fa6b-4794-83c5-3f18e6d09dcb "
/>
2025-03-07 21:41:04 +08:00
Jason Lee
4c9c7980ee
chore: Upgrade GPUI 2025/03/07 ( #697 )
2025-03-07 20:22:58 +08:00
Jason Lee
8f2ca40c51
tab: Add new pill style, renamed old pill tab to outline. ( #696 )
...
<img width="1011" alt="image"
src="https://github.com/user-attachments/assets/4800a737-4e57-405b-b083-bf57ae3038ad "
/>
## Break Changes
- As you see on the above screenshot, the old `pill` style has been
renamed to `outline`.
2025-03-07 18:46:47 +08:00
Jason Lee
8611a23aae
kbd: Add Kdb to show keystroke. ( #695 )
...
<img width="627" alt="image"
src="https://github.com/user-attachments/assets/c2a6f385-8820-4629-be57-bb5958e531ce "
/>
2025-03-07 14:29:50 +08:00
Jason Lee
c5416c4774
menu: Fix sub-menu render position. ( #694 )
...
<img width="385" alt="image"
src="https://github.com/user-attachments/assets/2e8527af-08af-4176-b4cf-931f79b6d45c "
/>
2025-03-07 11:47:27 +08:00
Jason Lee
c9c6449d24
toggle: Add Toggle and ToggleGroup. ( #691 )
...
- Improve `Icon` to inherit parent element font size by default.
<img width="777" alt="image"
src="https://github.com/user-attachments/assets/1a0ee94e-46ef-4b02-9538-09880586d3f2 "
/>
<img width="777" alt="image"
src="https://github.com/user-attachments/assets/4ecb016f-2e7c-4266-9a25-eae2566b2844 "
/>
2025-03-06 19:10:28 +08:00
Floyd Wang
9194d7f6bb
popup_menu: Ensure focus is returned after menu is closed ( #689 )
2025-03-05 16:41:43 +08:00
Jason Lee
4c96679cf7
tab: Improve segmented tab style and add for icon mode tab support. ( #688 )
...
<img width="873" alt="image"
src="https://github.com/user-attachments/assets/f616a9ba-0a60-49f5-8291-04f79f5b582c "
/>
<img width="948" alt="image"
src="https://github.com/user-attachments/assets/5ba1b50e-5b5f-45e1-89ca-683bcac8331a "
/>
<img width="929" alt="image"
src="https://github.com/user-attachments/assets/6545b67f-6c53-482f-a3ac-b7929c9bec99 "
/>
<img width="1153" alt="image"
src="https://github.com/user-attachments/assets/06abb411-43a7-4472-8e58-d7c8032bed7b "
/>
2025-03-05 15:41:03 +08:00
Jason Lee
6bf26f6f72
scrollbar: Update Scrollbar default to use hover to show on Linux. ( #687 )
...
Continue #686
2025-03-05 10:34:16 +08:00
Jason Lee
c3f08d52b9
text_view: Add syntax highlight to CodeBlock. ( #684 )
...
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/e7539df4-20db-431b-9bbc-52e08e9de062 "
/>
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/85d52319-1029-4306-8629-ec0321d0571b "
/>
2025-03-04 21:50:50 +08:00
Jason Lee
6c9a317b3b
scrollbar: Fix scroll to show scrollbar. ( #681 )
...
Fix #624 was broke scroll to show behaviors.
2025-03-04 15:37:13 +08:00
Jason Lee
c4331c9419
tab: Improve TabBar API. ( #678 )
...
- Fixed scroll support for TabBar.
- Remove `id` argument from Tab, it will set from TabBar iter.
- Add `id` to TabBar to ensure scroll_handle state will store correct.
- Update `label` argument of Tab, to use `impl Into<SharedString>` type
for better use.
- Added `child` to Tab for render custom element as label.
2025-03-03 19:48:28 +08:00
Jason Lee
bc89ce2536
tab: Add to support string children for TabBar. ( #677 )
...
## Break changes
- Removed `id` argument from `TabBar::new` method.
2025-03-03 17:34:17 +08:00
Jason Lee
1aa43b1bfe
tab: Add Pill, Segmented, Underline style Tab and complete the Tab API. ( #676 )
...
<img width="985" alt="image"
src="https://github.com/user-attachments/assets/3d3860ff-ac7c-459a-bb6e-d0ea09b8eac8 "
/>
<img width="936" alt="image"
src="https://github.com/user-attachments/assets/abb39b8f-4139-4f41-9c12-2a22f767bec0 "
/>
<img width="985" alt="image"
src="https://github.com/user-attachments/assets/9fccce5f-8da5-4c78-8679-1a85dcfc56f0 "
/>
Run example:
```
cargo run --example tabs
```
2025-03-03 17:09:52 +08:00
Jason Lee
42c82bfc31
story: Rename closeable to closable. ( #671 )
2025-02-28 14:33:30 +08:00
Jason Lee
7582ad3fb3
text_view: Add heading_base_font_size to TextViewStyle and fix text wrap for list item. ( #670 )
...
- Fix list item to wrap text.
<img width="797" alt="image"
src="https://github.com/user-attachments/assets/9e8156ad-bf58-4d7a-a850-69dfcb56c850 "
/>
2025-02-28 11:43:08 +08:00
Jason Lee
e443a219be
panel: Add title_suffix to panel and write a custom container panel example. ( #669 )
...
- Add to support `xsmall` size for TextInput.
- Add `global`, `global_mut`, `build_panel` static method to
`PanelRegistry`.
<img width="1011" alt="image"
src="https://github.com/user-attachments/assets/1a6e61c4-502a-4d1c-a4ea-2644777fd4d8 "
/>
2025-02-27 14:52:28 +08:00
Floyd Wang
e61f6204cc
calendar: Differentiate text color of disabled and non-current month ( #668 )
...
| Before | After |
| - | - |
| <img width="341" alt="image"
src="https://github.com/user-attachments/assets/452d57b1-5ec6-4ad3-bc30-ed8a966d12e5 "
/> | <img width="350" alt="image"
src="https://github.com/user-attachments/assets/9f664cea-aa55-479a-8d5b-61570101a66f "
/> |
2025-02-27 11:14:28 +08:00
Jason Lee
3ba63915ce
text_view: Fix some case may lose spaces, <br> in HTML and Markdown render. ( #667 )
2025-02-26 17:52:18 +08:00
Jason Lee
ffa848fb26
text_view: Fix markdown table alignment. ( #666 )
2025-02-26 15:49:13 +08:00
Jason Lee
6a125b391e
chore: Update example images in Markdown and HTML examples. ( #664 )
2025-02-26 15:26:22 +08:00
Jason Lee
00e5385878
input: Add h, h_full to Input for multi-line mode. ( #642 )
...
Close #641
<img width="1712" alt="image"
src="https://github.com/user-attachments/assets/9cbe090c-a5d7-4929-98db-5f71349fe559 "
/>
2025-02-25 16:17:39 +08:00
Jason Lee
c74791aac8
description_list: Add DescriptionList. ( #658 )
...
<img width="1089" alt="image"
src="https://github.com/user-attachments/assets/15069422-14aa-4fa3-b661-65fcf7417323 "
/>
<img width="1089" alt="image"
src="https://github.com/user-attachments/assets/df4a4b90-b304-40d3-a9ce-1be73eaaa9f4 "
/>
<img width="1089" alt="image"
src="https://github.com/user-attachments/assets/1deaf1e8-4b30-4afd-90af-1bd0eecf53e2 "
/>
2025-02-25 15:32:59 +08:00
Floyd Wang
dc4d7e614c
dock: Panel trait set_zoomed with mutable window and cx ( #661 )
...
Need Update panel functions to mutable `self`, `window` and `cx`.
2025-02-25 14:34:49 +08:00
Jason Lee
9f429592ce
text_view: Remove last paragraph bottom margin. ( #660 )
...
Now, we can be easy to use TextView for 1 line text.
## Break Changes
- Removed `inline` method by previous #649 added, this is not needed.
2025-02-25 14:27:59 +08:00
Floyd Wang
f75f96f135
dock: Panel trait set_active with mutable window and cx ( #659 )
2025-02-25 14:15:42 +08:00
Jason Lee
8edd80d5ee
modal: Do not occlude when overlay is not enable. ( #657 )
2025-02-25 12:25:46 +08:00
Floyd Wang
9739493bce
dock: Add mutable reference for set_active ( #655 )
2025-02-25 11:46:54 +08:00
Jason Lee
6bcc34c7f0
checkbox, switch: Improve Checkbox, Switch to use wrap text and TextView. ( #651 )
...
This change to revert #233 to let label to wrap.
<img width="1279" alt="image"
src="https://github.com/user-attachments/assets/8081216f-0ea0-4ba2-9095-6fd84102e03b "
/>
2025-02-24 18:04:06 +08:00
Jason Lee
8fa210bc21
text_view: Update Switch, Checkbox, Radio to let label method support TextView. ( #649 )
...
- Add `style` method to TextView.
- Add `inline` method to TextView to use default inline style.
2025-02-24 15:49:54 +08:00
Jason Lee
9dade704fb
webview: Let webview as a feature and not default enable. ( #648 )
...
Close #646
2025-02-24 14:24:22 +08:00
Jason Lee
d54dcdf417
text_view: Refactor TextView to RenderOnce to easy usage. ( #647 )
2025-02-24 14:13:50 +08:00
ihavecoke
03d5f83a83
dock: Implement core panel addition logic for tiling layout ( #644 )
2025-02-20 21:20:59 +08:00
Jason Lee
06f9178ec4
text: Add TextView with Markdown and Simple HTML support. ( #639 )
2025-02-20 20:08:59 +08:00
ihavecoke
6c39078e8a
dock: Add drag drop event for tiles ( #640 )
2025-02-19 22:20:48 +08:00
Jason Lee
851099f890
sidebar: Refactor Sidebar API to avoid map call will segmentation fault on release. ( #628 )
...
Close #471
```
Finished `release` profile [optimized] target(s) in 9.99s
Running `target/release/examples/sidebar`
[1] 30606 segmentation fault cargo run --example sidebar --release
```
This may cause by used `map` break by maybe Rust compiler bug, I
detected that if I remove a `map`, then the crash will gone.
So, this changes to refactor the Sidebar API to avoid use `map`.
2025-02-14 17:18:39 +08:00
Jason Lee
0ebedbe79f
chrome: Refactor state fields to remove is_ prefix. ( #627 )
2025-02-14 15:20:18 +08:00
Jason Lee
bf300a2880
sidebar: Fix sidebar example and add right side example. ( #626 )
2025-02-14 15:06:37 +08:00
Jason Lee
cca6277ea5
example: Add modal example. ( #625 )
...
```
cargo run --example modal
```
2025-02-14 14:44:26 +08:00
Floyd Wang
c7257d36cf
calendar: Add Matcher for disabled dates ( #623 )
...
| Day Of Week | Interval | Range |
|--------------|---------|-------|
| <img width="420" alt="image"
src="https://github.com/user-attachments/assets/e23f69b8-3191-4370-8adf-266362680e5c "
/> | <img width="264" alt="image"
src="https://github.com/user-attachments/assets/c211d7c3-9878-402e-a6cc-e3ac1b50e588 "
/> | <img width="337" alt="image"
src="https://github.com/user-attachments/assets/2b894ef1-14d0-4fc3-89e5-4e38b5e8572c "
/> |
2025-02-13 17:43:19 +08:00
Jason Lee
437f1b2098
theme: Add to support always show scrollbar mode and default to match with system style. ( #621 )
...
Close #573
- Fix theme settings to keeping when switch theme mode.
2025-02-12 15:15:33 +08:00
Jason Lee
0050685a58
chore: Avoid some unnecessary window.refresh call. ( #617 )
...
Ref
https://github.com/zed-industries/zed/discussions/24260#discussioncomment-12135749
2025-02-11 17:06:17 +08:00
Jason Lee
4a26776289
label: Avoid String alloc and remove custom text-align. ( #616 )
...
Reverted #615 and recreate again.
## Break changes
- Remove `TextAlign` and `text_left`, `text_right` ... method from
label, we can use same things from GPUI.
<img width="1151" alt="image"
src="https://github.com/user-attachments/assets/95e9066a-e58d-47a8-9acf-b483b0203b1b "
/>
2025-02-11 10:30:45 +08:00
Jason Lee
a5db381ef4
chore: Upgrade GPUI 2025/02/10 ( #610 )
...
- Replace `Window::parent_view_id()` with `Window::current_view()`
https://github.com/zed-industries/zed/pull/24212
- Fix SvgImg crash by move `use_asset` to `request_layout`.
- Fix Input to implement `character_index_for_point` method
https://github.com/zed-industries/zed/pull/23989
- Fix Input IME position to under the cursor line.
<img width="504" alt="image"
src="https://github.com/user-attachments/assets/8a6f56c8-6aae-4c0c-8c5a-3959d6a9d224 "
/>
- Fix Input overflow sub crash.
2025-02-10 11:53:25 +08:00
Jens Krause
a6922e3a10
example: Fix tiles needs package gpui-component ( #609 )
2025-02-08 23:43:37 +08:00
Floyd Wang
abb3de013e
Rename package from ui to gpui-component ( #606 )
...
## 🚨 Break Change
Update dependencies from `ui` to `gpui-component`.
2025-02-06 17:21:46 +08:00
Floyd Wang
e423497da6
tooltip: Support render element ( #605 )
...
<img width="376" alt="image"
src="https://github.com/user-attachments/assets/52793001-03cb-46ca-80a3-42aa3db57ecb "
/>
2025-02-06 16:05:44 +08:00
Jason Lee
99a4c793c5
chore: Update crate name to gpui-component for publish crate to hold the name. ( #603 )
2025-02-06 11:57:34 +08:00
Jason Lee
9675f1e02b
dock: Add cache to panel view. ( #600 )
2025-02-05 17:23:40 +08:00
Jason Lee
3e16c0d220
chore: Remove reexport prelude. ( #599 )
...
This is useless, we can just use `gpui::prelude`, so I removed it.
## Break changes
- The `ui::prelude` has been removed, you can replace by use
`gpui::prelude`.
2025-02-04 17:37:28 +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
e658aeee96
table: Improve sort icon color and fix stripe row display. ( #578 )
...
- Improve sort icon color:
<img width="139" alt="image"
src="https://github.com/user-attachments/assets/6374c26a-4555-4735-953b-dbd961fe5b31 "
/>
- Avoid duplicate border when enabled fixed column.
<img width="587" alt="image"
src="https://github.com/user-attachments/assets/6e186d29-5d8a-404e-b160-20c2af6a16fa "
/>
TODO
- [x] The extra rows not show when `stripe` is true.
2025-01-26 16:25:34 +08:00
Jason Lee
649e765729
story: Add TitleBar to examples. ( #586 )
2025-01-26 15:07:34 +08:00
Jason Lee
cd613db6d6
number_input: Improve NumberInput to better handle mouse down position cursor and fix sizable API. ( #582 )
...
Close #579
- Leave some space before the Input to support mouse down to position
cursor at start of line.
- Fix to match with size appearance.
- Keep padding left and right to Input, even setup `appearance: false`.
## Break Changes
- The `xlarge`, `large`, `small`, `xsmall` ... method has been moved to
use `ui::Sizable` trait to same as other component.
2025-01-24 23:39:19 +08:00
Jason Lee
1689f4208f
table: Add measure to table. ( #577 )
...
- Improve to not calc extra rows if `stripe` not enable.
- Improve to not change offset, when scrollbar drag changed less than
1px.
- Improve render cells to use `Vec::with_capacity` to prepare enough
space.
```bash
ZED_MEASUREMENTS=1 MTL_HUD_ENABLED=1 cargo run --release --example table
```
2025-01-24 18:59:01 +08:00
Jason Lee
878a51e5a9
example: Split single examples. ( #574 )
...
```bash
cargo run --example table
cargo run --example list
```
2025-01-24 11:13:24 +08:00
Jason Lee
77badb5799
radio: Add RadioGroup. ( #571 )
...
<img width="1265" alt="image"
src="https://github.com/user-attachments/assets/7ff51cb8-0aad-4d7d-a80a-e97c572c468a "
/>
2025-01-23 20:13:01 +08:00
Floyd Wang
1ff84a9943
popup_menu: Add max_h to set the height of menu ( #570 )
2025-01-23 18:43:34 +08:00
Jason Lee
e03a0d4f4e
chore: Fix Switch, Radio, Checkbox to use inline layout. ( #569 )
2025-01-23 18:05:32 +08:00
Jason Lee
a89e2430d3
form: Add Form and FormField. ( #565 )
...
<img width="899" alt="image"
src="https://github.com/user-attachments/assets/842dac65-36c3-4f3a-b55a-59d204d9a93c "
/>
<img width="901" alt="image"
src="https://github.com/user-attachments/assets/616b7a3a-4a84-4d27-b554-63ebd5213ad7 "
/>
2025-01-23 16:09:50 +08:00
Jason Lee
78ce573a52
list, table: Refactor to control loading by use delegate. ( #562 )
...
- Add `loading` method to `ListDelegate` and `TableDelegate` to control
loading view display.
## Break Changes
- Remove `loading`, `set_loading` method from List and Table, use
`loading` method in delegate instead.
2025-01-21 20:33:37 +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