All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Nothing yet!
2.2.10 - 2026-04-07
- Don’t render
<Portal>while hydrating (#3825) - Fix passing props on
Fragmenterror due toSymbol(react.lazy)(#3873)
2.2.9 - 2025-09-25
- Improve focus management in shadow DOM roots (#3794)
- Don't accidentally open the
Comboboxwhen touching theComboboxButtonwhile dragging on mobile (#3795) - Ensure sibling
Dialogcomponents are scrollable on mobile (#3796) - Infer
Comboboxtype based ononChangehandler (#3798) - Allow home/end key default behavior inside
ComboboxInputwhenComboboxis closed (#3798) - Ensure interacting with a
Dialogon iOS works after interacting with a disallowed area (#3801) - Freeze Listbox values as soon as a value is selected (#3802)
- Ensure refs are forwarded when freezing data (#3390)
- Do not serialize React components into form fields (49e9e8e)
2.2.8 - 2025-09-12
- Ensure we are not freezing data when the
staticprop is used (#3779) - Ensure
onChangetypes are contravariant instead of bivariant (#3781) - Support
<summary>as a focusable element inside<details>(#3389) - Fix
Maximum update depth exceededcrash when usingtransitionprop (#3782) - Ensure pressing
Tabin theComboboxInput, correctly syncs the input value (#3785) - Ensure
--button-widthand--input-widthhave the latest value (#3786) - Fix 'Invalid prop
data-headlessui-statesupplied toReact.Fragment' warning (#3788) - Ensure
elementinrefcallback is always connected when rendering in aPortal(#3789) - Ensure form state is up to date when using uncontrolled components (#3790)
- Ensure
data-openonComboboxInputis up to date (#3791) - Ensure changing the
immediateprop value on theComboboxcomponent works as expected (#3792)
2.2.7 - 2025-07-30
- Fix incorrect double invocation of menu items, listbox options and combobox options (#3766)
- Fix memory leak in SSR environment (#3767)
- Ensure programmatic
.click()onMenuButtonref works (#3768) - Don't activate hovered items while using the keyboard (#3769)
2.2.6 - 2025-07-24
- Fix immediately closing Listbox by requiring some cursor movement (#3762)
2.2.5 - 2025-07-23
- Fix listbox closing immediately after opening on touch devices (#3755)
2.2.4 - 2025-05-20
- Fix
Comboboxerror (unexpected undefined) when using virtual mode (#3734)
2.2.3 - 2025-05-12
- Add a quick trigger action to the
Menu,ListboxandComboboxcomponents (#3700)
- Fix clicking
Labelcomponent should open<Input type="file">(#3707) - Ensure clicking on interactive elements inside
Labelcomponent works (#3709) - Fix focus not returned to SVG Element (#3704)
- Fix
Listboxnot focusing first or last option on ArrowUp / ArrowDown (#3721) - Performance improvement: only re-render top-level component when nesting components e.g.:
Menuinside aDialog(#3722) - Fix closing
Menuwhen otherMenuis opened (#3726)
2.2.2 - 2025-04-17
- Improve
Menucomponent performance (#3685) - Improve
Listboxcomponent performance (#3688) - Open
MenuandListboxonmousedown(#3689) - Fix
Transitioncomponent from incorrectly exposing theClosingstate (#3696) - Improve
Comboboxcomponent performance (#3697)
2.2.1 - 2025-04-04
- Accept
tabIndexon theCheckboxcomponent (#3645) - Accept
tabIndexon theRadioGroupcomponent (#3646)
- Use correct
ownerDocumentwhen using internalPortalcomponent (#3594) - Bump
@tanstack/react-virtualto fix warnings in React 19 projects (#3588) - Fix
aria-invalidattributes to have a valid'true'value (#3639) - Add missing
invalidprop toComboboxcomponent (#3677) - Fix
Unexpected undefinedcrash inComboboxcomponent withvirtualmode (#3678)
2.2.0 - 2024-10-25
- Add React 19 support (#3543)
2.1.10 - 2024-10-10
- Use
React.JSXinstead of deprecated globalJSX(#3511) - Fix crash in
ListboxOptionswhen usingas={Fragment}(#3513)
2.1.9 - 2024-10-03
- Ensure
Elementis available before polyfilling to prevent crashes in non-browser environments (#3493) - Fix crash when using
instanceof HTMLElementin some environments (#3494) - Cleanup
processin Combobox component when using virtualization (#3495)
2.1.8 - 2024-09-12
- Fix crash when using
as={Fragment}onMenuButton,ListboxButton,DisclosureButtonorButtoncomponents (#3478)
2.1.7 - 2024-09-11
- Prevent crash in environments where
Element.prototype.getAnimationsis not available (#3473)
2.1.6 - 2024-09-09
- Fix
ListboxOptionsbeing incorrectly marked asinert(#3466) - Fix crash when using
DisclosureButtoninside of aDisclosurePanelwhen theDisclosureis open by default (#3465)
2.1.5 - 2024-09-04
- Fix transition bug on Firefox, triggered by clicking the
PopoverButtonin rapid succession (#3452)
2.1.4 - 2024-09-03
- Fix components not closing properly when using the
transitionprop (#3448)
2.1.3 - 2024-08-23
- Ensure
Transitioncomponent state doesn't change when it becomes hidden (#3372) - Fix closing components using the
transitionprop, and after scrolling the page (#3407) - Ensure all client components are marked correctly to avoid a crash with React 19 and Turbopack (#3429)
2.1.2 - 2024-07-05
- Fix prematurely added anchoring styles on
ListboxOptions(#3337) - Ensure
unmountonDialogworks in combination with thetransitionprop onDialogBackdropandDialogPanelcomponents (#3352) - Fix crash in
Comboboxcomponent when invirtualmode when options are empty (#3356) - Fix hanging tests when using
anchorprop (#3357) - Fix
transitionandfocusprop combination forPopoverPanelcomponent (#3361) - Fix outside click in nested portalled
Popovercomponents (#3362) - Fix restoring focus to correct element when closing
Dialogcomponent (#3365) - Fix
flushSyncwarning forComboboxcomponent withimmediateprop enabled (#3366)
2.1.1 - 2024-06-26
- Fix issues spreading omitted props onto components (#3313)
- Fix initial
anchor="selection"positioning (#3324) - Fix render prop in
ComboboxOptionsto useanyinstead ofunknown(#3327) - Fix incorrect
Transitionboundary forDialogcomponent (#3331)
2.1.0 - 2024-06-21
- Add ability to render multiple
Dialogcomponents at once (without nesting them) (#3242) - Add new data-attribute-based transition API (#3273, #3285, #3307, #3309, #3312)
- Add
DialogBackdropcomponent (#3307, #3310) - Add
PopoverBackdropcomponent to replacePopoverOverlay(#3308)
- Keep
Comboboxopen when clicking scrollbar inComboboxOptions(#3249) - Ensure
ComboboxInputdoes not sync with current value while typing (#3259) - Fix visual jitter in
Comboboxcomponent when using native scrollbar (#3190) - Improve UX by freezing
ComboboxOptionswhile closing (#3304) - Merge incoming
styleprop onComboboxOptions,ListboxOptions,MenuItems, andPopoverPanelcomponents (#3250) - Prevent focus on
Checkboxwhen it isdisabled(#3251) - Use
useIdinstead of React internals (for React 19 compatibility) (#3254) - Cancel outside click behavior on touch devices when scrolling (#3266)
- Correctly apply conditional classes when using
TransitionandTransitionChildcomponents (#3303)
- Allow using the
TabandShift+Tabkeys when theListboxcomponent is open (#3284)
2.0.4 - 2024-05-25
- [internal] Don’t set a focus fallback for Dialog’s in demo mode (#3194)
- Ensure page doesn't scroll down when pressing
Escapeto close theDialogcomponent (#3218) - Fix crash when toggling between
virtualand non-virtual mode inComboboxcomponent (#3236) - Ensure tabbing to a portalled
PopoverPanelcomponent moves focus inside (without usingPortalGroup) (#3239) - Only handle form reset when
defaultValueis used (#3240)
- Mark
SwitchGroupas deprecated, preferFieldinstead (#3232)
- Use native
fieldsetinstead ofdivby default forFieldsetcomponent (#3237)
2.0.3 - 2024-05-07
- Make sure disabling demo mode on
Comboboxworks (#3182)
2.0.2 - 2024-05-07
- Improve performance of internal
useInertOthershook (#3181)
2.0.1 - 2024-05-06
- Remove accidental deprecation comments on
DialogPanelandDialogTitle(#3176)
2.0.0 - 2024-05-06
- Add new
Checkboxcomponent (#2887, #2962) - Add new
Buttoncomponent (#2887) - Add new
Inputcomponent (#2887, #2902, #2940) - Add new
Textareacomponent (#2887, #2902, #2940) - Add new
Selectcomponent (#2887, #2902) - Add new
FieldsetandLegendcomponents (#2887) - Add new
Field,Label, andDescriptioncomponents (#2887, #2941) - Add new
MenuSection,MenuHeading, andMenuSeparatorcomponents (#2887) - Add new
ListboxSelectedOptioncomponent (#2887) - Add new
DataInteractivecomponent (#2887) - Add new
CloseButtoncomponent anduseClosehook (#3096) - Add new
anchor,modal, andportalprops toCombobox,Listbox,MenuandPopovercomponents (#2887, #3075, #3097, #3111, #3115, #3121, #3124, #3133, #3138, #3148, #3152, #3154, #3157) - Add new
autoFocusprop to focusable components (#2887) - Add new
virtualprop toComboboxcomponent (#2779, #3128, #3160, #3161, #3163) - Add new
onCloseprop toComboboxcomponent (#3122) - Add new
immediateprop toComboboxfor immediately opening the Combobox when theinputreceives focus (#2686) - Add new
--button-widthCSS variable on theListboxOptions,MenuItems, andPopoverPanelcomponents (#2887, #3058) - Add new
--input-widthand--button-widthCSS variables on theComboboxOptionscomponent (#3057) - Add new
data-*attributes as an alternative to the existingdata-headlessui-stateattribute (#2887, #3035, #3061)
- Fix scroll-locking on iOS (#2891)
- Fix cancellation of events when using
disabledoraria-disabledattributes (#2890) - Fix unnecessary execution of the
displayValuecallback inComboboxInputcomponent (#3048) - Fix types for
multipleprop inComboboxcomponent (#3099) - Fix focus handling in
ComboboxInputcomponent (#3065, #3073) - Fix enter transitions in
Transitioncomponent (#3074) - Fix focus handling in
ListboxOptionsandMenuItemscomponents (#3112) - Fix horizontal scrolling inside the
Dialogcomponent (#2889) - Don’t cancel
touchmoveoninputelements inside a dialog (#3166)
- Require React 18 (#2887, #3092, #3131)
- Always render hidden form input fields for
Checkbox,Switch, andRadioGroupcomponents (#3095) - Deprecate the
RadioGroup.Optioncomponent in favor of newRadiocomponent (#2887) - Deprecate the
activeprop in favor of newfocusprop (#2887) - Dialog is now focused by default instead of the first focusable element (#2887)
- Change default tags for
ListboxOptions,ListboxOption,ComboboxOptions,ComboboxOption, andTabGroupcomponents (#3109) - Change default tag from
divtoFragmentonTransitioncomponents (#3110, #3147) - Allow
Comboboxcomponent to have anullvalue (#3064, #3100) - Attempt form submission when pressing enter on the
ListboxButtoncomponent (#2972) - Deprecate the
enteredprop on theTransitioncomponent (#3089) - Deprecate dot notation for components (#2887, #3170)
- Add frozen value to
ComboboxOptionscomponent (#3126) - Remove deprecated
DialogBackdropandDialogOverlaycomponents (#3171)
1.7.19 - 2024-04-15
- Make sure panels re-register when IDs are calculated in React < 18 (#2883)
- Expose
disabledstate onTabcomponent (#2918) - Prevent default behavior when clicking outside of a
Dialog.Panel(#2919) - Add
hiddenattribute to internalHiddencomponent when theFeatures.Hiddenfeature is used (#2955) - Allow setting custom
tabIndexon theSwitchcomponent (#2966) - Forward
disabledstate to hidden inputs in form-like components (#3004) - Respect
selectedIndexfor controlledTabcomponents (#3037)
2.0.0-alpha.4 - 2024-01-03
- Ensure
Input,SelectandTextareaexposeRefrelated types (#2902)
2.0.0-alpha.3 - 2023-12-20
- Further fine tune scroll locking on iOS (#2891)
2.0.0-alpha.2 - 2023-12-20
- Allow horizontal scrolling inside the
Dialogcomponent (#2889) - Improve cancellation of events when using
disabledoraria-disabledattributes (#2890)
2.0.0-alpha.1 - 2023-12-20
- Add
immediateprop toComboboxfor immediately opening the Combobox when theinputreceives focus (#2686) - Add
virtualprop toComboboxcomponent (#2779) - Add new
Checkboxcomponent - Add new
Radiocomponent as an alternative to the existingRadioGroup.Optioncomponent - Add new
Buttoncomponent - Add new
Inputcomponent - Add new
Textareacomponent - Add new
Selectcomponent - Add new
Field,Label,Description,FieldsetandLegendcomponents - Add new
DataInteractivecomponent - Add new
anchorandmodalprop toComboboxOptions,ListboxOptions,MenuItemsandPopoverPanelcomponents - Add new
ListboxSelectedOptioncomponent - Add new
MenuSection,MenuHeading, andMenuSeparatorcomponents - Add new simplified
data-*attributes as an alternative to the existingdata-headlessui-state="..."attribute - Add
autoFocusprop on focusable components (which maps todata-autofocus)
- Bumped to React and React DOM 18
- Dialog is focused by default instead of the first focusable element (unless an element exists with a
data-autofocusin the dialog)
1.7.18 - 2024-01-08
- Don't call
Dialog'sonClosetwice on mobile devices (#2690) - Lazily resolve default containers in
Dialog(#2697) - Ensure hidden
Tab.Panelcomponents are hidden from the accessibility tree (#2708) - Add support for
role="alertdialog"toDialogcomponent (#2709) - Ensure blurring the
Combobox.Inputcomponent closes theCombobox(#2712) - Allow changes to the
classNameprop when theTransitioncomponent is currently not transitioning (#2722) - Export (internal-only) component interfaces for TypeScript compiler (#2313)
- Fix infinite render-loop for
Disclosure.PanelandPopover.Panelwhenas={Fragment}(#2760) - Fix VoiceOver bug for
Listboxcomponent in Chrome (#2824) - Fix outside click detection when component is mounted in the Shadow DOM (#2866)
- Fix CJS types (#2880)
- Fix error when transition classes contain new lines (#2871)
- Improve iOS locking (7721aca)
1.7.17 - 2023-08-17
- Use correct value when resetting
<Listbox multiple>and<Combobox multiple>(#2626) - Render
MainTreeNodeinPopover.Groupcomponent only (#2634) - Disable smooth scrolling when opening/closing
Dialogcomponents on iOS (#2635) - Don't assume
Tabcomponents are available when setting the next index (#2642) - Fix incorrectly focused
Combobox.Inputcomponent on page load (#2654) - Ensure
appearworks using theTransitioncomponent (even when used with SSR) (#2646) - Improve resetting values when using the
nullableprop on theComboboxcomponent (#2660) - Fix hydration of components inside
Suspense(#2663) - Prevent scrolling when focusing a tab (#2674)
1.7.16 - 2023-07-27
- Ensure the caret is in a consistent position when syncing the
Combobox.Inputvalue (#2568) - Improve "outside click" behavior in combination with 3rd party libraries (#2572)
- Ensure IME works on Android devices (#2580)
- Calculate
aria-expandedpurely based on the open/closed state (#2610) - Submit form on
Entereven if no submit-like button was found (#2613)
1.7.15 - 2023-06-01
- [internal] add demo mode to
MenuandPopovercomponents (#2448)
- Ensure
FocusTrapis only active when the givenenabledvalue istrue(#2456) - Stop
<Transition appear>from overwriting classes on re-render (#2457) - Improve control over
MenuandListboxoptions while searching (#2471) - Consider clicks inside iframes to be "outside" (#2485)
- Ensure moving focus within a
Portalcomponent, does not close thePopovercomponent (#2492)
- Move
typescondition to the front (#2469)
1.7.14 - 2023-04-12
- Fix focus styles showing up when using the mouse (#2347)
- Fix "Can't perform a React state update on an unmounted component." when using the
Transitioncomponent (#2374) - Add
FocusTrapevent listeners once document has loaded (#2389) - Fix
classNamehydration for<Transition appear>(#2390) - Improve
Comboboxtypes to improve false positives (#2411) - Merge
classNamecorrectly when it’s a function (#2412) - Correctly handle IME composition in
Combobox.Input(#2426)
- Add
formprop to form-like components such asRadioGroup,Switch,Listbox, andCombobox(#2356)
1.7.13 - 2023-03-03
- Ensure
Transitioncomponent completes if nothing is transitioning (#2318) - Enable native label behavior for
Switchwhere possible (#2265) - Allow root containers from the
Dialogcomponent in theFocusTrapcomponent (#2322) - Fix
XYZPropsWeControland cleanup internal TypeScript types (#2329) - Fix invalid warning when using multiple
Popover.Buttoncomponents inside aPopover.Panel(#2333) - Fix restore focus to buttons in Safari, when
Dialogcomponent closes (#2326)
1.7.12 - 2023-02-24
- Add explicit props types for every component (#2282)
- Ensure the main tree and parent
Dialogcomponents are marked asinert(#2290) - Fix nested
Popovercomponents not opening (#2293) - Make React types more compatible with other libraries (#2282)
- Fix
Dialogcleanup when theDialogbecomes hidden (#2303)
1.7.11 - 2023-02-15
- Ensure we handle
nullvalues for thedataRefcorrectly (#2258) - Move
aria-multiselectableto[role=listbox]in theComboboxcomponent (#2271) - Re-focus
Combobox.Inputwhen aCombobox.Optionis selected (#2272) - Ensure we reset the
activeOptionIndexif the active option is unmounted (#2274) - Improve
Reftype for forwardedSwitch's ref (#2277) - Start cleanup phase of the
Dialogcomponent when going into theClosingstate (#2264)
1.7.10 - 2023-02-06
- Revert "Use the
import * as React from 'react'pattern (#2242)
1.7.9 - 2023-02-03
- Fix SSR tab hydration when using Strict Mode in development (#2231)
- Don't break overflow when multiple dialogs are open at the same time (#2215)
- Fix "This
Suspenseboundary received an update before it finished hydrating" error in theDisclosurecomponent (#2238) - Use the
import * as React from 'react'pattern (#2242)
1.7.8 - 2023-01-27
- Fix SSR tab rendering on React 17 (#2102)
- Fix arrow key handling in
Tab(after DOM order changes) (#2145) - Fix false positive warning about using multiple
Popover.Buttoncomponents (#2146) - Fix
Tabkey with non focusable elements inPopover.Panel(#2147) - Fix false positive warning when using
Popover.Buttonin React 17 (#2163) - Fix
failed to removeChild on Nodebug (#2164) - Don’t overwrite classes during SSR when rendering fragments (#2173)
- Improve
Comboboxaccessibility (#2153) - Fix crash when reading
headlessuiFocusGuardofrelatedTargetin theFocusTrapcomponent (#2203) - Fix
FocusTrapinDialogwhen there is only 1 focusable element (#2172) - Improve
Tabswrapping around when controlling the component and overflowing theselectedIndex(#2213) - Fix
shadow-rootbug closingDialogcontainers (#2217)
- Allow setting
tabIndexon theTab.Panel(#2214)
1.7.7 - 2022-12-16
- Improve scroll restoration after
Dialogcloses (b20e48dd)
1.7.6 - 2022-12-15
- Fix regression where
displayValuecrashes (#2087) - Fix
displayValuesyncing whenCombobox.Inputis unmounted and re-mounted in different trees (#2090) - Fix FocusTrap escape due to strange tabindex values (#2093)
- Improve scroll locking on iOS (#2100, 28234b0e)
1.7.5 - 2022-12-08
- Reset form-like components when the parent
formresets (#2004) - Add warning when using
Popover.Buttonmultiple times (#2007) - Ensure Popover doesn't crash when
focusis going towindow(#2019) - Ensure
shift+homeandshift+endworks as expected in theCombobox.Inputcomponent (#2024) - Improve syncing of the
Combobox.Inputvalue (#2042) - Fix crash when using
multiplemode withoutvalueprop (uncontrolled) forListboxandComboboxcomponents (#2058) - Apply
enterandenterFromclasses in SSR forTransitioncomponent (#2059) - Allow passing in your own
idprop (#2060) - Fix
Dialogunmounting problem due to incorrecttransitioncancelevent in theTransitioncomponent on Android (#2071) - Ignore pointer events in Listbox, Menu, and Combobox when cursor hasn't moved (#2069)
- Allow clicks inside dialog panel when target is inside shadow root (#2079)
1.7.4 - 2022-11-03
- Fix
<Popover.Button as={Fragment} />crash (#1889) - Expose
closefunction forMenuandMenu.Itemcomponents (#1897) - Fix
useOutsideClick, add improvements for ShadowDOM (#1914) - Fire
Combobox.Input'sonChangehandler when changing the value internally (#1916) - Add
client-onlyto mark everything as client components (#1981)
- Warn when changing components between controlled and uncontrolled (#1878)
1.7.3 - 2022-09-30
- Improve
Portaldetection forPopovercomponents (#1842) - Fix
useOutsideClickswallowing events inside ShadowDOM (#1876) - Fix
Tabincorrectly activating onfocusevent (#1887)
1.7.2 - 2022-09-15
- Prevent option selection in
Combobox.Inputwhile composing (#1850) - Ensure we handle the
staticprop inTab.Panelcomponents correctly (#1856)
1.7.1 - 2022-09-12
- Improve iOS scroll locking (#1830)
- Add
<fieldset disabled>check to radio group options in React (#1835) - Ensure
Taborder stays consistent, and the currently activeTabstays active (#1837) - Ensure
Combobox.Labelis properly linked when rendered afterCombobox.ButtonandCombobox.Inputcomponents (#1838) - Remove
forceRerenderfromTabcomponent (#1846)
1.7.0 - 2022-09-06
- Add
byprop forListbox,ComboboxandRadioGroup(#1482, #1717, #1814, #1815) - Make form components uncontrollable (#1683)
- Add
@headlessui/tailwindcssplugin (#1487)
- Fixed SSR support on Deno (#1671)
- Don’t close dialog when opened during mouse up event (#1667)
- Don’t close dialog when drag ends outside dialog (#1667)
- Fix outside clicks to close dialog when nested, unopened dialogs are present (#1667)
- Close
Menucomponent when usingtabkey (#1673) - Resync input when display value changes (#1679, #1755)
- Ensure controlled
Tabsdon't change automagically (#1680) - Don't scroll lock when a Transition + Dialog is mounted but hidden (#1681)
- Allow
Popovercloseto be passed directly toonClickhandlers (#1696) - Improve outside click on Safari iOS (#1712)
- Improve event handler merging (#1715)
- Fix incorrect scrolling to the bottom when opening a
Dialog(#1716) - Improve
Comboboxre-opening keyboard issue on mobile (#1732) - Ensure
Disclosure.Panelis properly linked (#1747) - Only select the active option when using "singular" mode when pressing
tabin theComboboxcomponent (#1750) - Improve the types of the
Comboboxcomponent (#1761) - Only restore focus to the
Menu.Buttonif necessary when activating aMenu.Option(#1782) - Don't scroll when wrapping around in focus trap (#1789)
- Fix
Transitioncomponent's incorrect cleanup and order of events (#1803) - Ensure enter transitions work when using
unmount={false}(#1811) - Improve accessibility when announcing
Listbox.OptionandCombobox.Optioncomponents (#1812) - Fix
refstealing from children (#1820) - Expose the
valuefrom theComboboxandListboxcomponents render prop (#1822) - Improve
scroll lockon iOS (#1824) - Fix maximum call stack size exceeded error on
Tabcomponent when usingas={Fragment}(#1826) - Fix "blank" screen on initial load of
Transitioncomponent (#1823)
1.6.6 - 2022-07-07
- Ensure
CMD+Backspaceworks in nullable mode forComboboxcomponent (#1617)
1.6.5 - 2022-06-20
- Fix incorrect transitionend/transitioncancel events for the Transition component (#1537)
- Improve outside click of
Dialogcomponent (#1546) - Detect outside clicks from within
iframeelements (#1552) - Improve Combobox input cursor position (#1574)
- Fix scrolling issue in
Tabcomponent when using arrow keys (#1584)
1.6.4 - 2022-05-29
- Ensure
Escapepropagates correctly inComboboxcomponent (#1511) - Remove leftover code in Combobox component (#1514)
- Fix event handlers with arity > 1 (#1515)
- Fix transition
enterbug (#1519) - Fix render prop data in
RadioGroupcomponent (#1522)
1.6.3 - 2022-05-25
- Allow to override the
typeon theCombobox.Input(#1476) - Ensure the the
<Popover.Panel focus>closes correctly (#1477) - Only render the
FocusSentinelif required in theTabscomponent (#1493) - Ensure the Transition stops once DOM Nodes are hidden (#1500)
1.6.2 - 2022-05-19
- Fix closing of
Popover.Panelin React 18 (#1409) - Ignore
Escapewhen event got prevented inDialogcomponent (#1424) - Improve
FocusTrapbehavior (#1432) - Simplify
PopoverTab logic by using sentinel nodes instead of keydown event interception (#1440) - Ensure the
Popover.Panelis clickable without closing thePopover(#1443) - Improve "Scroll lock" scrollbar width for
Dialogcomponent (#1457) - Make the
refoptional in thePopovercomponent (#1465) - Ensure the
refis forwarded on theTransition.Childcomponent (#1473)
1.6.1 - 2022-05-03
- Fix hydration issue with
Tabcomponent (#1393)
1.6.0 - 2022-04-25
- Ensure that you can add the
refprop to all components (#1116) - Ensure links are triggered inside
Popover.Panelcomponents (#1153) - Improve SSR for
Tabcomponent (#1155) - Fix
hoverscroll issue inListbox,ComboboxandMenucomponents (#1161) - Guarantee DOM sort order when performing
Listbox,ComboboxandMenuactions (#1168) - Fix
Transitionflickering issue (#1118) - Improve outside click support (#1175)
- Ensure that
appearprop on theTransitioncomponent works regardless of multiple rerenders (#1179) - Reset
Combobox.Inputwhen the value gets reset (#1181) - Fix double
beforeEntercallback on theTransitioncomponent caused by SSR (#1183) - Adjust active
item/optionindex onListbox,ComboboxandMenucomponents (#1184) - Only activate the
Tabon mouseup (#1192) - Ignore "outside click" on removed elements (#1193)
- Remove
focus()fromListbox.Option(#1218) - Improve some internal code (#1221)
- Use
ownerDocumentinstead ofdocument(#1158) - Ensure focus trapping plays well with the
TabandDialogcomponents (#1231) - Improve syncing of
Combobox.Inputvalue (#1248) - Fix tree-shaking support (#1247)
- Stop propagation on the
Popover.Button(#1263) - Fix incorrect
activeoption in theListboxandComboboxcomponents (#1264) - Properly merge incoming props (#1265)
- Fix incorrect closing while interacting with third party libraries in
Dialogcomponent (#1268) - Mimic browser select on focus when navigating the
Tabcomponent (#1272) - Ensure that there is always an active option in the
Combobox(#1279, #1281) - Support classic form submissions in
RadioGroup,SwitchandComboboxcomponents (#1285) - Add React 18 compatibility (#1326)
- Fix open/closed state issue in
Dialog(#1360)
- Add classic form submission compatibility via new hidden inputs (#1214)
- Add multiple value support to
ListboxandComboboxcomponents (#1243, #1355) - Add support for clearing the value of a
Combobox(#1295) - Add
Dialog.BackdropandDialog.Panelcomponents (#1333)
1.5.0 - 2022-02-17
- Ensure correct order when conditionally rendering
Menu.Item,Listbox.OptionandRadioGroup.Option(#1045) - Improve controlled Tabs behavior (#1050)
- Improve typeahead search logic (#1051)
- Improve overal codebase, use modern tech like
esbuildand TypeScript 4! (#1055) - Improve build files (#1078)
- Ensure typeahead stays on same item if it still matches (#1098)
- Fix off-by-one frame issue causing flicker (#1111)
- Trigger scrollIntoView effect when position changes (#1113)
1.4.3 - 2022-01-14
- Ensure portal root exists in the DOM (#950)
- Ensure correct DOM node order when performing focus actions (#1038)
1.4.2 - 2021-11-08
- Stop the event from propagating in the
Popovercomponent (#798) - Allow clicking on elements inside a
Dialog.Overlay(#816) - Ensure interactability with
Popover.Panelcontents when using thestaticprop (#857) - Fix initial transition in
Transitioncomponent (#882)
1.4.1 - 2021-08-30
- Only add
type=buttonto real buttons (#709) - Fix
escapebug not closing Dialog after clicking in Dialog (#754) - Use
console.warninstead of throwing an error when there are no focusable elements (#775)
1.4.0 - 2021-07-29
- Add new
Tabscomponent (#674, #698) - Make
Disclosure.Buttonclose the disclosure inside aDisclosure.Panel(#682) - Add
aria-orientationtoListbox, which swaps Up/Down with Left/Right keys (#683) - Expose
closefunction from the render prop forDisclosure,Disclosure.Panel,PopoverandPopover.Panel(#697)
1.3.0 - 2021-06-21
- Ensure that you can use
Transition.Childwhen using implicit Transitions (#503) - Add new
enteredprop forTransitionandTransition.Childcomponents (#504)
- Add
aria-disabledon disabledRadioGroup.Optioncomponents (#543) - Improve
disabledandtabindexprop handling (#512) - Improve React peer dependency version range (#544)
- Improve types for the
openprop in theDialogcomponent (#550) - Improve
aria-expandedlogic (#592) - Remove undocumented
:classNameprop (#607) - Improve types for
Listboxcomponent (#576) - Remove explicit
:classprop (#608) - Improve tree shaking (#602)
- Improve peer dependencies for
react-dom, and for the future version18(#622)
1.2.0 - 2021-05-10
- Introduce Open/Closed state, to simplify component communication (#466)
- Improve SSR for
Dialog(#477) - Delay focus trap initialization (#477)
- Improve incorrect behavior for nesting
Dialogcomponents (#560)
1.1.1 - 2021-04-28
- Fix form submission within Dialog (#460)
1.1.0 - 2021-04-26
- Improve search, make searching case insensitive (#385)
- Fix unreachable
RadioGroup(#401) - Fix closing nested
Dialogcomponents when pressingEscape(#430)
- Add
disabledprop toRadioGroupandRadioGroup.Option(#401) - Add
defaultOpenprop to theDisclosurecomponent (#447)
1.0.0 - 2021-04-14
- Fixed
outside clicknot re-focusing theMenu.Button(#220, #256) - Fixed
outside clicknot re-focusing theListbox.Button(#220, #256) - Force focus in
Menu.ItemsandListbox.Optionsfrom within the component itself (#261) - Stop propagating keyboard/mouse events (#261)
- Add
Disclosure,Disclosure.ButtonandDisclosure.Panelcomponents (#220) - Add
Dialog,Dialog.Overlay,Dialog.TileandDialog.Descriptioncomponents (#220) - Add
PortalandPortal.Groupcomponent (#220) - Add
Switch.Descriptioncomponent, which adds thearia-describedbyto the actual Switch (#220) - Add
FocusTrapcomponent (#220) - Add
Popover,Popover.Button,Popover.Overlay,Popover.PanelandPopover.Groupcomponents (#220) - All components that accept a
className, can now also receive a function with the renderProp argument (#257) - Add
RadioGroup,RadioGroup.Option,RadioGroup.LabelandRadioGroup.Descriptioncomponents (#274)
0.3.2 - 2021-04-02
0.3.1 - 2021-02-11
0.3.0 - 2021-02-06
- Ensure that you can't use Enter to invoke the Switch
- Fix outside click refocus bug (#114)
- Prevent scrolling when refocusing items
- Ensure
Switchhastype="button"(#192) - Fix
useId()hook returningundefinedon the client - Fix
disablednot working when inside a disabled fieldset (#202) - Trigger "outside click" behavior on mousedown (#212)
- Ensure the
activeMenuItem is scrolled into view - Ensure valid Menu accessibility tree (#228)
- Add Transition events (
beforeEnter,afterEnter,beforeLeaveandafterLeave) (#57) - Add render features + render strategy (
staticandunmount={true | false}) (#106) - Add displayName to all contexts (#175)
- Add
disabledprop toListboxitself, instead of theListbox.Button(#229)
- Changes the API of the Transition component.
- We will now always render a
divby default (unless you change this using theas={...}prop). - The render function prop doesn't expose a
refanymore. - Adds
unmountprop to theTransitionandTransition.Childcomponents.
- We will now always render a
0.2.0 - 2020-10-06
- Add
Listboxcomponent - Add
Switchcomponent
0.1.3 - 2020-09-29
- Fix outside click behavior. If you had multiple menu's, when menu 1 is open, menu 2 is closed and you click on menu button 2 it will open both menu's. This is now fixed.
- Ensure when using keyboard navigation we prevent the default behavior.
0.1.2 - 2020-09-25
- Add tests for
onClickhandling that wasn't working properly in @headlessui/vue to ensure behavior stays the same in this library
- Don't pass
disabledprop through to children, only addaria-disabled
0.1.1 - 2020-09-24
- Everything!