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.0 - 2024-10-25
- Add React 19 support (#3543)
2.1.10 - 2024-10-10
- Use
React.JSX
instead of deprecated globalJSX
(#3511) - Fix crash in
ListboxOptions
when usingas={Fragment}
(#3513)
2.1.9 - 2024-10-03
- Ensure
Element
is available before polyfilling to prevent crashes in non-browser environments (#3493) - Fix crash when using
instanceof HTMLElement
in some environments (#3494) - Cleanup
process
in Combobox component when using virtualization (#3495)
2.1.8 - 2024-09-12
- Fix crash when using
as={Fragment}
onMenuButton
,ListboxButton
,DisclosureButton
orButton
components (#3478)
2.1.7 - 2024-09-11
- Prevent crash in environments where
Element.prototype.getAnimations
is not available (#3473)
2.1.6 - 2024-09-09
- Fix
ListboxOptions
being incorrectly marked asinert
(#3466) - Fix crash when using
DisclosureButton
inside of aDisclosurePanel
when theDisclosure
is open by default (#3465)
2.1.5 - 2024-09-04
- Fix transition bug on Firefox, triggered by clicking the
PopoverButton
in rapid succession (#3452)
2.1.4 - 2024-09-03
- Fix components not closing properly when using the
transition
prop (#3448)
2.1.3 - 2024-08-23
- Ensure
Transition
component state doesn't change when it becomes hidden (#3372) - Fix closing components using the
transition
prop, 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
unmount
onDialog
works in combination with thetransition
prop onDialogBackdrop
andDialogPanel
components (#3352) - Fix crash in
Combobox
component when invirtual
mode when options are empty (#3356) - Fix hanging tests when using
anchor
prop (#3357) - Fix
transition
andfocus
prop combination forPopoverPanel
component (#3361) - Fix outside click in nested portalled
Popover
components (#3362) - Fix restoring focus to correct element when closing
Dialog
component (#3365) - Fix
flushSync
warning forCombobox
component withimmediate
prop 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
ComboboxOptions
to useany
instead ofunknown
(#3327) - Fix incorrect
Transition
boundary forDialog
component (#3331)
2.1.0 - 2024-06-21
- Add ability to render multiple
Dialog
components at once (without nesting them) (#3242) - Add new data-attribute-based transition API (#3273, #3285, #3307, #3309, #3312)
- Add
DialogBackdrop
component (#3307, #3310) - Add
PopoverBackdrop
component to replacePopoverOverlay
(#3308)
- Keep
Combobox
open when clicking scrollbar inComboboxOptions
(#3249) - Ensure
ComboboxInput
does not sync with current value while typing (#3259) - Fix visual jitter in
Combobox
component when using native scrollbar (#3190) - Improve UX by freezing
ComboboxOptions
while closing (#3304) - Merge incoming
style
prop onComboboxOptions
,ListboxOptions
,MenuItems
, andPopoverPanel
components (#3250) - Prevent focus on
Checkbox
when it isdisabled
(#3251) - Use
useId
instead of React internals (for React 19 compatibility) (#3254) - Cancel outside click behavior on touch devices when scrolling (#3266)
- Correctly apply conditional classes when using
Transition
andTransitionChild
components (#3303)
- Allow using the
Tab
andShift+Tab
keys when theListbox
component 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
Escape
to close theDialog
component (#3218) - Fix crash when toggling between
virtual
and non-virtual mode inCombobox
component (#3236) - Ensure tabbing to a portalled
PopoverPanel
component moves focus inside (without usingPortalGroup
) (#3239) - Only handle form reset when
defaultValue
is used (#3240)
- Mark
SwitchGroup
as deprecated, preferField
instead (#3232)
- Use native
fieldset
instead ofdiv
by default forFieldset
component (#3237)
2.0.3 - 2024-05-07
- Make sure disabling demo mode on
Combobox
works (#3182)
2.0.2 - 2024-05-07
- Improve performance of internal
useInertOthers
hook (#3181)
2.0.1 - 2024-05-06
- Remove accidental deprecation comments on
DialogPanel
andDialogTitle
(#3176)
2.0.0 - 2024-05-06
- Add new
Checkbox
component (#2887, #2962) - Add new
Button
component (#2887) - Add new
Input
component (#2887, #2902, #2940) - Add new
Textarea
component (#2887, #2902, #2940) - Add new
Select
component (#2887, #2902) - Add new
Fieldset
andLegend
components (#2887) - Add new
Field
,Label
, andDescription
components (#2887, #2941) - Add new
MenuSection
,MenuHeading
, andMenuSeparator
components (#2887) - Add new
ListboxSelectedOption
component (#2887) - Add new
DataInteractive
component (#2887) - Add new
CloseButton
component anduseClose
hook (#3096) - Add new
anchor
,modal
, andportal
props toCombobox
,Listbox
,Menu
andPopover
components (#2887, #3075, #3097, #3111, #3115, #3121, #3124, #3133, #3138, #3148, #3152, #3154, #3157) - Add new
autoFocus
prop to focusable components (#2887) - Add new
virtual
prop toCombobox
component (#2779, #3128, #3160, #3161, #3163) - Add new
onClose
prop toCombobox
component (#3122) - Add new
immediate
prop toCombobox
for immediately opening the Combobox when theinput
receives focus (#2686) - Add new
--button-width
CSS variable on theListboxOptions
,MenuItems
, andPopoverPanel
components (#2887, #3058) - Add new
--input-width
and--button-width
CSS variables on theComboboxOptions
component (#3057) - Add new
data-*
attributes as an alternative to the existingdata-headlessui-state
attribute (#2887, #3035, #3061)
- Fix scroll-locking on iOS (#2891)
- Fix cancellation of events when using
disabled
oraria-disabled
attributes (#2890) - Fix unnecessary execution of the
displayValue
callback inComboboxInput
component (#3048) - Fix types for
multiple
prop inCombobox
component (#3099) - Fix focus handling in
ComboboxInput
component (#3065, #3073) - Fix enter transitions in
Transition
component (#3074) - Fix focus handling in
ListboxOptions
andMenuItems
components (#3112) - Fix horizontal scrolling inside the
Dialog
component (#2889) - Don’t cancel
touchmove
oninput
elements inside a dialog (#3166)
- Require React 18 (#2887, #3092, #3131)
- Always render hidden form input fields for
Checkbox
,Switch
, andRadioGroup
components (#3095) - Deprecate the
RadioGroup.Option
component in favor of newRadio
component (#2887) - Deprecate the
active
prop in favor of newfocus
prop (#2887) - Dialog is now focused by default instead of the first focusable element (#2887)
- Change default tags for
ListboxOptions
,ListboxOption
,ComboboxOptions
,ComboboxOption
, andTabGroup
components (#3109) - Change default tag from
div
toFragment
onTransition
components (#3110, #3147) - Allow
Combobox
component to have anull
value (#3064, #3100) - Attempt form submission when pressing enter on the
ListboxButton
component (#2972) - Deprecate the
entered
prop on theTransition
component (#3089) - Deprecate dot notation for components (#2887, #3170)
- Add frozen value to
ComboboxOptions
component (#3126) - Remove deprecated
DialogBackdrop
andDialogOverlay
components (#3171)
1.7.19 - 2024-04-15
- Make sure panels re-register when IDs are calculated in React < 18 (#2883)
- Expose
disabled
state onTab
component (#2918) - Prevent default behavior when clicking outside of a
Dialog.Panel
(#2919) - Add
hidden
attribute to internalHidden
component when theFeatures.Hidden
feature is used (#2955) - Allow setting custom
tabIndex
on theSwitch
component (#2966) - Forward
disabled
state to hidden inputs in form-like components (#3004) - Respect
selectedIndex
for controlledTab
components (#3037)
2.0.0-alpha.4 - 2024-01-03
- Ensure
Input
,Select
andTextarea
exposeRef
related 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
Dialog
component (#2889) - Improve cancellation of events when using
disabled
oraria-disabled
attributes (#2890)
2.0.0-alpha.1 - 2023-12-20
- Add
immediate
prop toCombobox
for immediately opening the Combobox when theinput
receives focus (#2686) - Add
virtual
prop toCombobox
component (#2779) - Add new
Checkbox
component - Add new
Radio
component as an alternative to the existingRadioGroup.Option
component - Add new
Button
component - Add new
Input
component - Add new
Textarea
component - Add new
Select
component - Add new
Field
,Label
,Description
,Fieldset
andLegend
components - Add new
DataInteractive
component - Add new
anchor
andmodal
prop toComboboxOptions
,ListboxOptions
,MenuItems
andPopoverPanel
components - Add new
ListboxSelectedOption
component - Add new
MenuSection
,MenuHeading
, andMenuSeparator
components - Add new simplified
data-*
attributes as an alternative to the existingdata-headlessui-state="..."
attribute - Add
autoFocus
prop 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-autofocus
in the dialog)
1.7.18 - 2024-01-08
- Don't call
Dialog
'sonClose
twice on mobile devices (#2690) - Lazily resolve default containers in
Dialog
(#2697) - Ensure hidden
Tab.Panel
components are hidden from the accessibility tree (#2708) - Add support for
role="alertdialog"
toDialog
component (#2709) - Ensure blurring the
Combobox.Input
component closes theCombobox
(#2712) - Allow changes to the
className
prop when theTransition
component is currently not transitioning (#2722) - Export (internal-only) component interfaces for TypeScript compiler (#2313)
- Fix infinite render-loop for
Disclosure.Panel
andPopover.Panel
whenas={Fragment}
(#2760) - Fix VoiceOver bug for
Listbox
component 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
MainTreeNode
inPopover.Group
component only (#2634) - Disable smooth scrolling when opening/closing
Dialog
components on iOS (#2635) - Don't assume
Tab
components are available when setting the next index (#2642) - Fix incorrectly focused
Combobox.Input
component on page load (#2654) - Ensure
appear
works using theTransition
component (even when used with SSR) (#2646) - Improve resetting values when using the
nullable
prop on theCombobox
component (#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.Input
value (#2568) - Improve "outside click" behavior in combination with 3rd party libraries (#2572)
- Ensure IME works on Android devices (#2580)
- Calculate
aria-expanded
purely based on the open/closed state (#2610) - Submit form on
Enter
even if no submit-like button was found (#2613)
1.7.15 - 2023-06-01
- [internal] add demo mode to
Menu
andPopover
components (#2448)
- Ensure
FocusTrap
is only active when the givenenabled
value istrue
(#2456) - Stop
<Transition appear>
from overwriting classes on re-render (#2457) - Improve control over
Menu
andListbox
options while searching (#2471) - Consider clicks inside iframes to be "outside" (#2485)
- Ensure moving focus within a
Portal
component, does not close thePopover
component (#2492)
- Move
types
condition 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
Transition
component (#2374) - Add
FocusTrap
event listeners once document has loaded (#2389) - Fix
className
hydration for<Transition appear>
(#2390) - Improve
Combobox
types to improve false positives (#2411) - Merge
className
correctly when it’s a function (#2412) - Correctly handle IME composition in
Combobox.Input
(#2426)
- Add
form
prop to form-like components such asRadioGroup
,Switch
,Listbox
, andCombobox
(#2356)
1.7.13 - 2023-03-03
- Ensure
Transition
component completes if nothing is transitioning (#2318) - Enable native label behavior for
Switch
where possible (#2265) - Allow root containers from the
Dialog
component in theFocusTrap
component (#2322) - Fix
XYZPropsWeControl
and cleanup internal TypeScript types (#2329) - Fix invalid warning when using multiple
Popover.Button
components inside aPopover.Panel
(#2333) - Fix restore focus to buttons in Safari, when
Dialog
component closes (#2326)
1.7.12 - 2023-02-24
- Add explicit props types for every component (#2282)
- Ensure the main tree and parent
Dialog
components are marked asinert
(#2290) - Fix nested
Popover
components not opening (#2293) - Make React types more compatible with other libraries (#2282)
- Fix
Dialog
cleanup when theDialog
becomes hidden (#2303)
1.7.11 - 2023-02-15
- Ensure we handle
null
values for thedataRef
correctly (#2258) - Move
aria-multiselectable
to[role=listbox]
in theCombobox
component (#2271) - Re-focus
Combobox.Input
when aCombobox.Option
is selected (#2272) - Ensure we reset the
activeOptionIndex
if the active option is unmounted (#2274) - Improve
Ref
type for forwardedSwitch
's ref (#2277) - Start cleanup phase of the
Dialog
component when going into theClosing
state (#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
Suspense
boundary received an update before it finished hydrating" error in theDisclosure
component (#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.Button
components (#2146) - Fix
Tab
key with non focusable elements inPopover.Panel
(#2147) - Fix false positive warning when using
Popover.Button
in React 17 (#2163) - Fix
failed to removeChild on Node
bug (#2164) - Don’t overwrite classes during SSR when rendering fragments (#2173)
- Improve
Combobox
accessibility (#2153) - Fix crash when reading
headlessuiFocusGuard
ofrelatedTarget
in theFocusTrap
component (#2203) - Fix
FocusTrap
inDialog
when there is only 1 focusable element (#2172) - Improve
Tabs
wrapping around when controlling the component and overflowing theselectedIndex
(#2213) - Fix
shadow-root
bug closingDialog
containers (#2217)
- Allow setting
tabIndex
on theTab.Panel
(#2214)
1.7.7 - 2022-12-16
- Improve scroll restoration after
Dialog
closes (b20e48dd)
1.7.6 - 2022-12-15
- Fix regression where
displayValue
crashes (#2087) - Fix
displayValue
syncing whenCombobox.Input
is 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
form
resets (#2004) - Add warning when using
Popover.Button
multiple times (#2007) - Ensure Popover doesn't crash when
focus
is going towindow
(#2019) - Ensure
shift+home
andshift+end
works as expected in theCombobox.Input
component (#2024) - Improve syncing of the
Combobox.Input
value (#2042) - Fix crash when using
multiple
mode withoutvalue
prop (uncontrolled) forListbox
andCombobox
components (#2058) - Apply
enter
andenterFrom
classes in SSR forTransition
component (#2059) - Allow passing in your own
id
prop (#2060) - Fix
Dialog
unmounting problem due to incorrecttransitioncancel
event in theTransition
component 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
close
function forMenu
andMenu.Item
components (#1897) - Fix
useOutsideClick
, add improvements for ShadowDOM (#1914) - Fire
Combobox.Input
'sonChange
handler when changing the value internally (#1916) - Add
client-only
to mark everything as client components (#1981)
- Warn when changing components between controlled and uncontrolled (#1878)
1.7.3 - 2022-09-30
- Improve
Portal
detection forPopover
components (#1842) - Fix
useOutsideClick
swallowing events inside ShadowDOM (#1876) - Fix
Tab
incorrectly activating onfocus
event (#1887)
1.7.2 - 2022-09-15
- Prevent option selection in
Combobox.Input
while composing (#1850) - Ensure we handle the
static
prop inTab.Panel
components 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
Tab
order stays consistent, and the currently activeTab
stays active (#1837) - Ensure
Combobox.Label
is properly linked when rendered afterCombobox.Button
andCombobox.Input
components (#1838) - Remove
forceRerender
fromTab
component (#1846)
1.7.0 - 2022-09-06
- Add
by
prop forListbox
,Combobox
andRadioGroup
(#1482, #1717, #1814, #1815) - Make form components uncontrollable (#1683)
- Add
@headlessui/tailwindcss
plugin (#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
Menu
component when usingtab
key (#1673) - Resync input when display value changes (#1679, #1755)
- Ensure controlled
Tabs
don't change automagically (#1680) - Don't scroll lock when a Transition + Dialog is mounted but hidden (#1681)
- Allow
Popover
close
to be passed directly toonClick
handlers (#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
Combobox
re-opening keyboard issue on mobile (#1732) - Ensure
Disclosure.Panel
is properly linked (#1747) - Only select the active option when using "singular" mode when pressing
tab
in theCombobox
component (#1750) - Improve the types of the
Combobox
component (#1761) - Only restore focus to the
Menu.Button
if necessary when activating aMenu.Option
(#1782) - Don't scroll when wrapping around in focus trap (#1789)
- Fix
Transition
component's incorrect cleanup and order of events (#1803) - Ensure enter transitions work when using
unmount={false}
(#1811) - Improve accessibility when announcing
Listbox.Option
andCombobox.Option
components (#1812) - Fix
ref
stealing from children (#1820) - Expose the
value
from theCombobox
andListbox
components render prop (#1822) - Improve
scroll lock
on iOS (#1824) - Fix maximum call stack size exceeded error on
Tab
component when usingas={Fragment}
(#1826) - Fix "blank" screen on initial load of
Transition
component (#1823)
1.6.6 - 2022-07-07
- Ensure
CMD
+Backspace
works in nullable mode forCombobox
component (#1617)
1.6.5 - 2022-06-20
- Fix incorrect transitionend/transitioncancel events for the Transition component (#1537)
- Improve outside click of
Dialog
component (#1546) - Detect outside clicks from within
iframe
elements (#1552) - Improve Combobox input cursor position (#1574)
- Fix scrolling issue in
Tab
component when using arrow keys (#1584)
1.6.4 - 2022-05-29
- Ensure
Escape
propagates correctly inCombobox
component (#1511) - Remove leftover code in Combobox component (#1514)
- Fix event handlers with arity > 1 (#1515)
- Fix transition
enter
bug (#1519) - Fix render prop data in
RadioGroup
component (#1522)
1.6.3 - 2022-05-25
- Allow to override the
type
on theCombobox.Input
(#1476) - Ensure the the
<Popover.Panel focus>
closes correctly (#1477) - Only render the
FocusSentinel
if required in theTabs
component (#1493) - Ensure the Transition stops once DOM Nodes are hidden (#1500)
1.6.2 - 2022-05-19
- Fix closing of
Popover.Panel
in React 18 (#1409) - Ignore
Escape
when event got prevented inDialog
component (#1424) - Improve
FocusTrap
behavior (#1432) - Simplify
Popover
Tab logic by using sentinel nodes instead of keydown event interception (#1440) - Ensure the
Popover.Panel
is clickable without closing thePopover
(#1443) - Improve "Scroll lock" scrollbar width for
Dialog
component (#1457) - Make the
ref
optional in thePopover
component (#1465) - Ensure the
ref
is forwarded on theTransition.Child
component (#1473)
1.6.1 - 2022-05-03
- Fix hydration issue with
Tab
component (#1393)
1.6.0 - 2022-04-25
- Ensure that you can add the
ref
prop to all components (#1116) - Ensure links are triggered inside
Popover.Panel
components (#1153) - Improve SSR for
Tab
component (#1155) - Fix
hover
scroll issue inListbox
,Combobox
andMenu
components (#1161) - Guarantee DOM sort order when performing
Listbox
,Combobox
andMenu
actions (#1168) - Fix
Transition
flickering issue (#1118) - Improve outside click support (#1175)
- Ensure that
appear
prop on theTransition
component works regardless of multiple rerenders (#1179) - Reset
Combobox.Input
when the value gets reset (#1181) - Fix double
beforeEnter
callback on theTransition
component caused by SSR (#1183) - Adjust active
item
/option
index onListbox
,Combobox
andMenu
components (#1184) - Only activate the
Tab
on mouseup (#1192) - Ignore "outside click" on removed elements (#1193)
- Remove
focus()
fromListbox.Option
(#1218) - Improve some internal code (#1221)
- Use
ownerDocument
instead ofdocument
(#1158) - Ensure focus trapping plays well with the
Tab
andDialog
components (#1231) - Improve syncing of
Combobox.Input
value (#1248) - Fix tree-shaking support (#1247)
- Stop propagation on the
Popover.Button
(#1263) - Fix incorrect
active
option in theListbox
andCombobox
components (#1264) - Properly merge incoming props (#1265)
- Fix incorrect closing while interacting with third party libraries in
Dialog
component (#1268) - Mimic browser select on focus when navigating the
Tab
component (#1272) - Ensure that there is always an active option in the
Combobox
(#1279, #1281) - Support classic form submissions in
RadioGroup
,Switch
andCombobox
components (#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
Listbox
andCombobox
components (#1243, #1355) - Add support for clearing the value of a
Combobox
(#1295) - Add
Dialog.Backdrop
andDialog.Panel
components (#1333)
1.5.0 - 2022-02-17
- Ensure correct order when conditionally rendering
Menu.Item
,Listbox.Option
andRadioGroup.Option
(#1045) - Improve controlled Tabs behavior (#1050)
- Improve typeahead search logic (#1051)
- Improve overal codebase, use modern tech like
esbuild
and 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
Popover
component (#798) - Allow clicking on elements inside a
Dialog.Overlay
(#816) - Ensure interactability with
Popover.Panel
contents when using thestatic
prop (#857) - Fix initial transition in
Transition
component (#882)
1.4.1 - 2021-08-30
- Only add
type=button
to real buttons (#709) - Fix
escape
bug not closing Dialog after clicking in Dialog (#754) - Use
console.warn
instead of throwing an error when there are no focusable elements (#775)
1.4.0 - 2021-07-29
- Add new
Tabs
component (#674, #698) - Make
Disclosure.Button
close the disclosure inside aDisclosure.Panel
(#682) - Add
aria-orientation
toListbox
, which swaps Up/Down with Left/Right keys (#683) - Expose
close
function from the render prop forDisclosure
,Disclosure.Panel
,Popover
andPopover.Panel
(#697)
1.3.0 - 2021-06-21
- Ensure that you can use
Transition.Child
when using implicit Transitions (#503) - Add new
entered
prop forTransition
andTransition.Child
components (#504)
- Add
aria-disabled
on disabledRadioGroup.Option
components (#543) - Improve
disabled
andtabindex
prop handling (#512) - Improve React peer dependency version range (#544)
- Improve types for the
open
prop in theDialog
component (#550) - Improve
aria-expanded
logic (#592) - Remove undocumented
:className
prop (#607) - Improve types for
Listbox
component (#576) - Remove explicit
:class
prop (#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
Dialog
components (#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
Dialog
components when pressingEscape
(#430)
- Add
disabled
prop toRadioGroup
andRadioGroup.Option
(#401) - Add
defaultOpen
prop to theDisclosure
component (#447)
1.0.0 - 2021-04-14
- Fixed
outside click
not re-focusing theMenu.Button
(#220, #256) - Fixed
outside click
not re-focusing theListbox.Button
(#220, #256) - Force focus in
Menu.Items
andListbox.Options
from within the component itself (#261) - Stop propagating keyboard/mouse events (#261)
- Add
Disclosure
,Disclosure.Button
andDisclosure.Panel
components (#220) - Add
Dialog
,Dialog.Overlay
,Dialog.Tile
andDialog.Description
components (#220) - Add
Portal
andPortal.Group
component (#220) - Add
Switch.Description
component, which adds thearia-describedby
to the actual Switch (#220) - Add
FocusTrap
component (#220) - Add
Popover
,Popover.Button
,Popover.Overlay
,Popover.Panel
andPopover.Group
components (#220) - All components that accept a
className
, can now also receive a function with the renderProp argument (#257) - Add
RadioGroup
,RadioGroup.Option
,RadioGroup.Label
andRadioGroup.Description
components (#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
Switch
hastype="button"
(#192) - Fix
useId()
hook returningundefined
on the client - Fix
disabled
not working when inside a disabled fieldset (#202) - Trigger "outside click" behavior on mousedown (#212)
- Ensure the
active
MenuItem is scrolled into view - Ensure valid Menu accessibility tree (#228)
- Add Transition events (
beforeEnter
,afterEnter
,beforeLeave
andafterLeave
) (#57) - Add render features + render strategy (
static
andunmount={true | false}
) (#106) - Add displayName to all contexts (#175)
- Add
disabled
prop toListbox
itself, instead of theListbox.Button
(#229)
- Changes the API of the Transition component.
- We will now always render a
div
by default (unless you change this using theas={...}
prop). - The render function prop doesn't expose a
ref
anymore. - Adds
unmount
prop to theTransition
andTransition.Child
components.
- We will now always render a
0.2.0 - 2020-10-06
- Add
Listbox
component - Add
Switch
component
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
onClick
handling that wasn't working properly in @headlessui/vue to ensure behavior stays the same in this library
- Don't pass
disabled
prop through to children, only addaria-disabled
0.1.1 - 2020-09-24
- Everything!