Releases: longbridge/gpui-component
Releases · longbridge/gpui-component
v20250611
Release Notes
🚀 Features
- inspector: Add Inspector. by @huacnlee in #897
- chart: Introduce
chart
by @madcodelife in #878 - code_editor: Add
CodeEditor
and use tree-sitter to highlight. by @huacnlee in #863
🛠 Improvements
Dock & Layout
- dock: Refactor to use ratio for dock, panel size. by @huacnlee in #833
- dock: Improve dock, panel to support absolute or fraction size. by @huacnlee in #839
- dock: Revert
dock
to use absolute size. by @huacnlee in #840 - dock: Revert panel
radio
size to back to usePixels
type for panel size. by @huacnlee in #842 - dock: Update drop panel target mask to 50% of panel. by @huacnlee in #845
- resizable: Add size_range to limit panel size and fix resize and initial_size of panel. by @huacnlee in #844
- resizable: Refactor to use stateless Resizable element. by @huacnlee in #852
- dock: Show keybinding for ToggleZoom menu and button. by @huacnlee in #861
- example: Add resizable feature to HTML, Markdown example. by @huacnlee in #872
Input
- input: Add mask pattern to format display. by @huacnlee in #854
- input: Refactor Input, Picker as stateless mode. by @huacnlee in #858
- input: Add
cmd-]
,cmd-[
to indent, outdent text. by @huacnlee in #929 - input: Change
InputState::disabled
to as builder method. by @huacnlee in #898 - input: Fix auto-grow height. by @huacnlee in #865
- input: Fix selection rendering for empty lines. by @huacnlee in #868
- input: Update GPUI for fix click can not to position cursor on a empty line on Windows. by @huacnlee in #874
- input: Fix click can not to position cursor on empty line on Windows. by @huacnlee in #875
- input: Fix indent, outdent to consider
\r
on Windows. by @huacnlee in #880 - input: Fix cursor and IME popup position when IME typing. by @huacnlee in #889
- input: Fix Input may out of char boundary by @huacnlee in #901
- input: Fix outdent when selection first line is no indent. by @huacnlee in #903
- input: Fix
enter
newline position incorrect by #901 change. by @huacnlee in #905 - input: Fix the panic issue in
end_of_line
by @madcodelife in #922
NumberInput
- number_input: Fix NumberInput appearance by #858 change. by @huacnlee in #860
- number_input: Remove
InputEvent
fromNumberInputEvent
by @madcodelife in #884
UI & UX
- notification: Add
action
button to Notification. by @huacnlee in #832 - tag: Add
rounded
to Tag and supportoutline
for all variants. by @huacnlee in #923 - alert: Add banner mode and on_close to Alert. by @huacnlee in #893
- notification: Add support for rendering custom content by @madcodelife in #938
- calendar: support custom matcher by @0x1997 in #873
- number_input: Add support for
prefix
andsuffix
by @madcodelife in #896 - scrollbar: Improve the scrollbar size. by @huacnlee in #830
- style: Add
smaller
,larger
method to Size. by @huacnlee in #831 - menu: Fix sub-menu item height to match with other items. by @huacnlee in #892
- modal: Display overlay at the correct z-index by @madcodelife in #909
- title_bar: Fix TitleBar drag area. by @huacnlee in #936
🐞 Bug Fixes
- form: Add text wrapping support for label by @madcodelife in #907
- popup_menu: Do not dismiss PopupMenu when clicked on a submenu item. by @huacnlee in #921
- radio: Add
id
to RadioGroup to avoid clicks conflict. by @huacnlee in #941
🧹 Maintenance & Documentation
- doc: Revise README for clarity and grammar improvements. by @zoubingwu in #836
- Rename DEVELOPMENT to DEVELOPMENT.md by @lzm0 in #894
- chore: Add Nix/Flake development environment. by @Losses in #837
- chore: Remove unused file
text_view
by @stormasm in #850 - chore: Switch
gpui
to depends on Zed official. by @huacnlee in #912 - chore: Unify icon parameter types in ListItem and Dropdown. by @ratazzi in #857
- dropdown: Replace specialized impl From Vec to Vec<T: DropdownItem + Clone> by @stayhydated in #935
- button: Impl
Selectable
for the dropdown button by @madcodelife in #913 - list: Improve the selection method to support more scenarios by @ylinwind in #925
🌱 New Contributors
- @zoubingwu made their first contribution in #836
- @Losses made their first contribution in #837
- @rataz...
v20250502
What's Changed
Components
Input
- Improve clear button position. #782
- Add
Esc
key to clear input. #803 - Fix
Esc
to propagate to parent element. #806 - Update
text
method to return&SharedString
type. #800 - Clean
focused_input
on blur. #825 - Refactor
window.focused_input
for better update. #809 - Add
Copy
andEq
derives forStepAction
. #812
Checkbox
Tooltip
Modal
- Respond confirm events only when
on_ok
orfooter
present. #786 - Fix resetting
focused_input
when modal or drawer is closed. #807 - Add
alert
method to create modal with OK button. #829
Sidebar
Table
- Add secondary click example. #780
- Ensure row selection with prev/next. #805
- Fix
render_tr
to applyh_flex
. #810 - Disable auto-scroll when resizing beyond right bound. #811
Dropdown
- Avoid selected value text wrap. #808
- Add
display_title
to support custom input title. #816 - Support dynamic options update. #824
List
SvgImg
- Fix memory leak. #818
- Refactor to avoid size assignment & fix image drop error. #821
- Avoid global image loader usage. #823
- Fix first-load image issue. #828
Accordion
- Add gap between title and icon. #813
Kbd
- Fix key ordering and Windows compatibility. #788
DescriptionList
- Wrap description value if too long. #779
Other UI
- Use default cursor for disabled menu/button/dropdown, etc. #814
- Improve Switch and Sidebar selected background color. #801
Storybook & Gallery
v20250407
What's Changed
Tab
- Add
Pill
,Segmented
,Underline
style Tab and complete the Tab API. by @huacnlee in #676 - Add to support string children for TabBar. by @huacnlee in #677
- Improve TabBar API. by @huacnlee in #678
- Add
xsmall
,large
style to Tab. by @huacnlee in #680 - Remove
w_full
from TabBar. by @huacnlee in #683 - Improve segmented tab style and add for icon mode tab support. by @huacnlee in #688
- Add
tab_bar_segemented
theme variable. by @huacnlee in #690 - Keep last empty when suffix exist. by @huacnlee in #692
- Add new
pill
style, renamed oldpill
tab tooutline
. by @huacnlee in #696 - Update default tab size padding x to match with Panel's padding. by @huacnlee in #701
- Adjust underline tab style. by @huacnlee in #720
- Add menu to TabBar to display more items. by @huacnlee in #731
TextView
- Add syntax highlight to CodeBlock. by @huacnlee in #684
- Fix img height in TextView. by @huacnlee in #679
- Fix HTML render to support blockquote. by @huacnlee in #703
Scrollbar
- Fix scroll to show scrollbar. by @huacnlee in #681
- Fix Scrollbar not clickable when it is always showing. by @sectore in #686
- Update Scrollbar default to use hover to show on Linux. by @huacnlee in #687
- Update min thumb size to 24px. by @huacnlee in #766
Dock
- Fix incorrect extra inner padding in Panels. by @madcodelife in #682
- Fix panels will lose height when dragged to minimum by @madcodelife in #718
- Support hide dock toggle buttons by @madcodelife in #726
- Fix to sync active state to panels when collapse dock. by @JakkuSakura in #770
- Add
tab_name
for collapsed tab panels by @madcodelife in #751
Toggle
Icon
Menu
- Add
menu_element_with_icon
,menu_element_with_check
to PopupMenu. by @huacnlee in #704 - Add label item to PopupMenu. by @huacnlee in #733
- Add external link icon to link menu item. by @huacnlee in #734
- Fix sub-menu render position. by @huacnlee in #694
- Fix
min_w
support to PopupMenu. by @huacnlee in #705
Kbd
Tag
TitleBar
Tiles
- Add to support resize tile from left and top side. by @huacnlee in #756
- Fix back panels flick when hover on top panel in tiles. by @huacnlee in #708
Input
- Update gap between input and prefix, suffix. by @huacnlee in #709
- Add
insert
andreplace
method to Input. by @huacnlee in #721 - Add max_rows to support auto-grow. by @huacnlee in #768
- Add
mask_toggle
button to toggle masked state to Input. by @huacnlee in #758 - Fix delete
beginning_of_line
andend_of_line
to handle empty line. by @huacnlee in #767
Switch
Button
- Add
warning
,success
,info
variant to Button. by @huacnlee in #745 - Improve Button to support combine outline with other variants. by @huacnlee in #714
- Update ButtonCustomVariant default variable value to use transparent. by @huacnlee in #746
Modal
- Use bold text for Modal title. by @huacnlee in #715
- Fix close Modal by clicking overlay to support closing layer by layer. by @wangziling in #771
DropdownButton
- Support
outline
style by @madcodelife in #716
DescriptionList
- Add to support border style to DescriptionList vertical layout. by @huacnlee in #706
- Update
label_width
type to accept any Into. by @huacnlee in #729 - Fix incorrect align items for horizontal layout by @madcodelife in #730
Calendar
- Fix duplicate IDs cause click events not respond by @madcodelife in #732
Alert
Sidebar
- Fix collapsed to display icon only. by @huacnlee in #743
- Fix Sidebar details, something like icon size, remove view_id argument. by @huacnlee in #774
- Fix menu item click handler by @victorhqc in #759
SvgImg
- Reduce
ImageSource
creation by @madcodelife in #728 - Use system fonts to support CJK characters by @madcodelife in #750
Label
- Fix typo by @madcodelife in #722
Checkbox
List
History
- Ensure unique History in redos and undos when push. by @huacnlee in #761
- Fix redo, undo chars order for Input. by @huacnlee in #775
Title Bar
Theme
- Update
table_head_foreground
by @madcodelife in #753
Accordion
I18n
Miscellaneous
Example
- Fix modal example button id. by @huacnlee in #747
- Remove duplicate ProgressStory in main example. by @huacnlee in #757
- Fix to hide WebView when switch tab. by @JakkuSakura in #764
- Sync number input value when changed by @madcodelife in #748
New Contributors
- @Angelk90 made their first contribution in #738
- @victorhqc made their first contribution in #759
- @JakkuSakura made their first contribution in #764
- @wangziling made their first contribution in #771
Full Changelog: v20250228...v20250407
v20250228
What's Changed
New Features
- text_view: Add TextView with Markdown and Simple HTML support. by @huacnlee in #639
- description_list: Add DescriptionList. by @huacnlee in #658
Dock & Tiles
- dock: Leave some space between the tabs title and panel by @madcodelife in #612
- dock: Make the panel inner padding controllable by @madcodelife in #613
- dock: Add drag drop event for tiles by @ihavecoke in #640
- dock: Implement core panel addition logic for tiling layout by @ihavecoke in #644
- dock: Add item to tiles layout should use default TabPanel view by @ihavecoke in #645
- dock: Add mutable reference for set_active by @madcodelife in #655
- dock: Panel trait set_active with mutable window and cx by @madcodelife in #659
- tiles: Limit tile panel move to avoid out of the container. by @huacnlee in #630
- tile: Add to support setup tiles background color, tile_shadow, tile_grid_size. by @huacnlee in #631
- tiles: Limit panel x to out of bounds, but keep retaining 64px. by @huacnlee in #632
- tiles: Add active_panel method to Tiles. by @huacnlee in #656
- tiles: Fix active_panel method to returns actually Panel view, avoid return TabPanel. by @huacnlee in #665
- tiles: Remove cursor style on Tile's title. by @huacnlee in #673
- tiles: To support close panel. by @huacnlee in #674
- tiles: Fix panels get item out of bound error when removed some panel. by @huacnlee in #675
- panel: Improve resize handle to show highlight color on dragging. by @huacnlee in #622
- panel: Only highlight resize handle when dragging. by @huacnlee in #629
- panel: Reduce tool buttons gap from 8px to 4px. by @huacnlee in #636
- panel: Add title_suffix to panel and write a custom container panel example. by @huacnlee in #669
Style & Theming
- theme: Add to support always show scrollbar mode and default to match with system style. by @huacnlee in #621
- scrollbar: Update scrollbar hitbox to it bounds, not fill the full of parent view. by @huacnlee in #624
- checkbox, switch: Improve Checkbox, Switch to use wrap text and TextView. by @huacnlee in #651
- input: Add h, h_full to Input for multi-line mode. by @huacnlee in #642
- number_input: Fix button margin. by @huacnlee in #634
- calendar: Add Matcher for disabled dates by @madcodelife in #623
- calendar: Differentiate text color of disabled and non-current month by @madcodelife in #668
Modal
- modal: Remove opacity animation for improve Modal appear. by @huacnlee in #633
- modal: Do not occlude when overlay is not enable. by @huacnlee in #657
Sidebar
- sidebar: Fix sidebar example and add right side example. by @huacnlee in #626
- sidebar: Refactor Sidebar API to avoid map call will segmentation fault on release. by @huacnlee in #628
WebView
- webview: Let webview as a feature and not default enable. by @huacnlee in #648
- webview: Update visible state when hide or show by @ylinwind in #654
Other
- label: Avoid String alloc and remove custom text-align. by @huacnlee in #616
- dropdown: Do not reset the selected index when cancelling by @madcodelife in #618
- example: Add modal example. by @huacnlee in #625
- example: Fix tiles needs package gpui-component by @sectore in #609
- chore: Avoid some unnecessary window.refresh call. by @huacnlee in #617
- chore: Update README for icons usage. by @huacnlee in #620
- chore: Rename outline styled method to focused_border. by @huacnlee in #635
- chore: Fix focusd_border typo in #635 by @huacnlee in #637
v20250207
🎉 Upgrade GPUI to 3, this release by use tag for mark a stable version.
What's Changed
- chore: Upgrade GPUI 3 by @huacnlee in #587
- chore: Remove unused
refactor.sh
. by @huacnlee in #588 - chore: Upgrade for GPUI API changes. by @huacnlee in #589
- input: Add to support move, select and delete by word. by @huacnlee in #591
- input: Fix Input to vertical center the mask chars. by @huacnlee in #590
- list: Avoid duplicate active item background. by @huacnlee in #594
- input: Use
closest_index_for_position
from GPUI. by @huacnlee in #593 - theme: Add doc for Theme variables. by @huacnlee in #595
- theme: Ensure all elements to use radius. by @huacnlee in #596
- chore: Fix subscriptions leak. by @huacnlee in #597
- chore: Refactor ClearButton to as method. by @huacnlee in #598
- chore: Remove reexport prelude. by @huacnlee in #599
- dock: Add cache to panel view. by @huacnlee in #600
- table: Fix Table subtract with overflow error. by @huacnlee in #602
- chore: Update crate name to gpui-component for publish crate to hold the name. by @huacnlee in #603
- tooltip: Support render element by @madcodelife in #605
- Rename package from
ui
togpui-component
by @madcodelife in #606 - scrollbar: Add max_fps to limit drag scroll update rate for reduce CPU usage. by @huacnlee in #604
- dock: Revert
AnyView
cached by @madcodelife in #607
Full Changelog: v20250127...v20250207