Repository navigation
Releases: unovue/reka-ui
Releases · unovue/reka-ui
Release list
v2.11.0
🚀 Features
- Add TagGroup component - by @yan-ad and Claude Opus 5.5 (1M context) in #2684 (485cf)
- Add
loopkeyboard navigation to Listbox, Select and Tree - by @zernonia and Claude Opus 5.5 (1M context) in #2981 (67409) - Calendar/RangeCalendar:
- Checkbox:
- Add max prop - by @malik-jouda in #2058 (72355)
- Combobox:
- Drawer:
- Field,Form:
- Menu:
- Allow grace customization - by @J-Michalek and Claude Opus 5.5 (1M context) in #1771 (472b5)
- Number Field:
- Add startingValue prop for increment/decrement - by @rikzwarthoff in #2628 (e9230)
- NumberField:
- Add allowInvalid prop - by @xerox0213 in #2761 (43a8e)
- Select/Listbox/Combobox/Menu/ContextMenu/DropdownMenu/Menubar/ColorSwatchPicker:
- Toast:
🐞 Bug Fixes
- Respect defaultPrevented in trigger event handlers - by @zernonia and Claude Opus 5.5 (1M context) in #2984 (b9a0e)
- Regressions found in the 2.11.0 release review - by @zernonia and Claude Opus 5.5 (1M context) in #2991 (29926)
- Autocomplete:
- Calendar:
- Keep the visible month when modelValue is a new object for the same day - by @jevin98, @cursoragent and Claude Opus 5.5 (1M context) in #2961 (8c820)
- ContextMenu:
- DismissableLayer:
- Drawer:
- Accept initialFocus/finalFocus elements from another realm - by @chiliec and Claude Opus 5.5 (1M context) in #2972 (2d9b3)
- Let touch swipes start on interactive elements - by @zernonia and Claude Opus 5.5 (1M context) in #2982 (abb74)
- Let consumers cancel a swipe dismissal - by @zernonia and Claude Opus 5.5 (1M context) in #2983 (714c3)
- FocusScope:
- Menu:
- Rating:
- Splitter:
- Ignore residual mousemove events after the pointer enters an iframe - by @ahmedrangel and Claude Opus 5.5 (1M context) in #2969 (6cd48)
- TagsInput:
- TimeRangeField:
- VisuallyHidden:
- deps:
- focus-scope:
- Trap focus inside a shadow root - by @qudsiamehmood in #2780 (511e6)
View changes on GitHub
v2.10.5
🐞 Bug Fixes
- Dialog:
- Re-key auto-focus on presence when force-mounted - by @EasonLin0716 and Claude Opus 5 (1M context) in #2856 (eb702)
- DismissableLayer:
- Drawer:
- Listbox:
- Include $attrs in ListboxItem v-memo deps - by @KeionneDerousselle in #2905 (7b0eb)
- Menu:
- NumberField:
- Defer touch stepper activation - by @kaspernowak in #2948 (72a3a)
- PinInput:
- Select:
- Exclude Space from typeahead search - by @martinascharrer, @zernonia and Claude Opus 5 (1M context) in #2955 (f4089)
- Splitter:
- Tooltip:
- Tree:
- shared:
- Stop infinite type recursion in useEmitAsProps for
[void]emits - by @zernonia and Claude Opus 5 (1M context) in #2945 (8360a) - Derive the day period from a ZonedDateTime's own time zone - by @simonworkhouse in #2953 (97006)
- Derive the day period from the hour, not a localized string - by @zernonia and Claude Opus 5 (1M context) in #2958 (a3239)
- Stop infinite type recursion in useEmitAsProps for
🏎 Performance
- Listbox: Avoid collection scan when highlighting - by @onmax in #2912 (bb6f6)
- useFilter: Short-circuit contains on exact substring match - by @Cherry and Claude Opus 5 (1M context) in #2890 (94895)
View changes on GitHub
v2.10.4
🐞 Bug Fixes
- Combobox:
- DismissableLayer:
- Drawer:
- FocusScope:
- RadioGroup:
- Select,Popover:
- Stepper:
- Default StepperIndicator as - by @dibunbuns in #2865 (c23e0)
- Tooltip:
View changes on GitHub
v2.10.3
No significant changes
View changes on GitHub
v2.10.2
🐞 Bug Fixes
- DateField,TimeField: Advance segment focus in DOM order in RTL - by @61021 and Claude Opus 5 (1M context) in #2813 (868cb)
- DismissableLayer: Keep body pointer-events locked when the last scroll lock releases - by @61021 and Claude Opus 5 (1M context) in #2832 (a24ea)
- Drawer: Track drags in non-dismissable directions so the drawer pulls elastically - by @zernonia and Claude Opus 5 (1M context) in #2854 (719d5)
- IME: Process Android soft-keyboard composition live for filters - by @benjamincanac in #2806 (4e40e)
- NumberField: Allow backspacing through a formatted unit suffix - by @lazerg and Lazizbek Ergashev in #2851 (35fd0)
- Rating: Reset hover state on mouse leave in case of hoverable - by @al1maher and Claude Opus 5 (1M context) in #2807 (6aaf8)
- Splitter: Validate empty group silently - by @lazerg in #2835 (d3721)
- Stepper: Remove stale trigger element from totalStepperItems on unmount - by @xerox0213 in #2778 (0c9c0)
- TagsInput: Keep disabled tags out of keyboard removal index - by @JoMarchant and Claude Opus 5 (1M context) in #2786 (fc8c1)
- Toast: Remove viewport listeners when a toast is dismissed - by @lazerg in #2809 (6ff2c)
🏎 Performance
- Presence: Skip work for bubbled animation events - by @guillemservera in #2839 (85895)
View changes on GitHub
v2.10.1
🐞 Bug Fixes
- Only consume Enter/Space keydown when no modifier key is held - by @zernonia and Claude Opus 4.8 (1M context) in #2762 (30bce)
- FocusScope:
- Default present to true so scopes without it still pause ancestor traps - by @benjamincanac in #2752 (2d856)
- Menu:
- NumberField:
- Snap off-grid value to the nearest grid line when stepping - by @xerox0213 in #2759 (3c9be)
- RadioGroupItem, ToggleGroupItem:
- ScrollArea, Presence:
- Splitter:
- Set data-state="collapsed" for px sizeUnit panels - by @cultofleda and Claude Opus 4.8 (1M context) in #2743 (04cba)
View changes on GitHub
v2.10.0
🚀 Features
- Enhance type inference for useEmitAsProps and useForwardPropsEmits - by @myshkouski and Claude Opus 4.8 (1M context) in #2643 (f76c5)
- ConfigProvider: Add
teleportTofor global default teleport target - by @zernonia and Claude Opus 4.8 (1M context) in #2714 (1b7c7) - DateField: Add stepSnapping support - by @yan-ad in #2640 (3d32a)
- Dialog: Add
unmountOnHideprop - by @benjamincanac and Claude Opus 4.8 (1M context) in #2662 (eb746) - Drawer: Add Drawer primitive - by @zernonia and Claude Opus 4.8 (1M context) in #2689 (e0ec8)
- HoverCard: Add
enableTouchprop for touch devices - by @benjamincanac in #2687 (40232) - Popper: Add dir prop for
RTL/LTRsupport - by @malik-jouda in #2610 (01bdb) - Rating: Expose Rating component and add documentation - by @zernonia and Claude Opus 4.8 (1M context) in #2691 (ee61b)
- Select: Add nullableValue prop - by @yan-ad in #2641 (4549d)
- Tabs: Expose
--reka-tabs-indicator-thicknessCSS variable - by @kricsleo in #2523 (85507) - Tree: Add
disabledforTreeItem- by @kricsleo in #2529 (7ef55)
🐞 Bug Fixes
- AlertDialog: Preserve pointer events lock - by @Perdolique in #2692 (fa5cf)
- Calendar: Focus first day when no selected or today cell on initial focus - by @nakagam3, nakagam3 and Claude Opus 4.8 (1M context) in #2676 (52aa5)
- Popper: Memoize content subtree updates - by @yan-ad in #2639 (5ba69)
- SelectTrigger: Prevent suppression of mousedown event - by @rastuhacode in #2688 (43989)
- Toolbar: Forward disabled to ToolbarButton + reactive focusable count - by @yan-ad in #2735 (b8e38)
- form-controls: Un-nest hidden form input to fix nested-interactive a11y - by @zernonia and Claude Opus 4.8 (1M context) in #2720 (1460e)
- shared: Disconnect ResizeObserver on unmount in useSize - by @zernonia and Claude Opus 4.8 (1M context) in #2693 (4223c)
🏎 Performance
- Checkbox: Skip label querySelector when
aria-labelis provided - by @zernonia and Claude Opus 4.8 (1M context) in #2715 (39c52) - Collection: Replace indexOf sort with node index map in getItems - by @zernonia and Claude Opus 4.8 (1M context) in #2695 (a0f3d)
View changes on GitHub
v2.9.10
🐞 Bug Fixes
- Combobox: Keep content open when interacting with associated label - by @benjamincanac and Claude Opus 4.8 (1M context) in #2686 (ed753)
- Dialog: Honor disableOutsidePointerEvents on modal content - by @zernonia and Claude Opus 4.8 (1M context) in #2677 and #2679 (5496c)
- DismissableLayer: Keep body pointer-events locked when nested layer closes - by @zernonia and Claude Opus 4.8 (1M context) in #2674 and #2678 (034d2)
- Listbox: Prevent virtualized list from scrolling page on mount - by @benjamincanac and Claude Opus 4.8 (1M context) in #2675 (c5dc8)
- useId: Honor configured id source before vue useId - by @Mat4m0 in #2683 (b2e78)
- Behavior change: on Vue 3.5+, ConfigProvider's useId option now takes precedence over Vue's native useId, matching the documented Reka UI configuration behavior and avoiding SSR hydration mismatches when an app provides a stable ID source.
View changes on GitHub
v2.9.9
🐞 Bug Fixes
- Handle IME composition correctly across input components - by @benjamincanac in #2665 (8212f)
- Combobox: Defer handleBlur close to let FocusScope restore focus - by @benjamincanac in #2663 (7e13d)
- DatePicker: Reset time after clearing value - by @yan-ad in #2636 (9f53d)
- Dialog: Scope overlay pointerdown prevention to the overlay itself - by @zernonia and Claude Opus 4.8 in #2668 (396ba)
- Listbox: Prevent page scroll on mount caused by changeHighlight - by @benjamincanac and Claude Opus 4.8 in #2666 (5bcea)
- NavigationMenu: Behavior should match radix ui navigation menu w… - by @dbzx10299 in #2667 (04799)
- ScrollArea: Clear scrollbar registration on unmount so corner stays in sync - by @zernonia and Claude Opus 4.8 in #2670 (76983)
View changes on GitHub
v2.9.8
🐞 Bug Fixes
- DatePicker: Align modelValue prop type with sibling pickers - by @zernonia in #2657 (c3c37)
- Dialog: Restore focus to trigger after overlay click - by @zernonia and Claude Opus 4.7 (1M context) in #2655 (e17b2)
- Listbox: Include
disabledandfocusablein ListboxItem v-memo deps - by @zernonia in #2653 (bf1f9) - Menu,Listbox: Prevent
data-highlightedflash on mount - by @benjamincanac in #2651 (33370) - NavigationMenu: Ignore inactive content dismiss - by @yan-ad in #2637 (67a7b)
- Select: Clean up delayed presence update - by @yan-ad in #2638 (0e80c)
- focus-scope: Add data-focus-scope-unmounting attribute during focus restoration - by @Valentin-Shyaka in #2631 (8814a)