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.
- Forward the
ref
to all components (#1116) - Ensure links are triggered inside
Popover Panel
components (#1153) - Improve SSR for
Tab
component (#1155) - Fix
hover
scroll (#1161) - Guarantee DOM sort order when performing actions (#1168)
- Fix
<Transition>
flickering issue (#1118) - Improve outside click support (#1175)
- Ensure that
appear
works regardless of multiple rerenders (#1179) - Reset Combobox Input when the value gets reset (#1181)
- Fix double
beforeEnter
due to SSR (#1183) - Adjust active {item,option} index (#1184)
- Only activate the
Tab
on mouseup (#1192) - Ignore "outside click" on removed elements (#1193)
- Remove
focus()
from Listbox Option (#1218) - Improve some internal code (#1221)
- Use
ownerDocument
instead ofdocument
(#1158) - Ensure focus trap, Tabs and Dialog play well together (#1231)
- Add
multi
value support for Listbox & Combobox (#1243) - Improve Combobox Input value (#1248)
- Fix Tree-shaking support (#1247)
- Stop propagation on the Popover Button (#1263)
- Fix incorrect
active
option in the Listbox/Combobox component (#1264) - Properly merge incoming props (#1265)
- Add
<form>
compatibility (#1214)
- Make sure that the input syncs when the combobox closes (#1137)
- Ensure that you can close the combobox initially (#1148)
- Fix Dialog usage in Tabs (#1149)
- Ensure links are triggered inside
Popover Panel
components (#1153) - Fix
hover
scroll (#1161) - Guarantee DOM sort order when performing actions (#1168)
- Improve outside click support (#1175)
- Reset Combobox Input when the value gets reset (#1181)
- Adjust active {item,option} index (#1184)
- Fix re-focusing element after close (#1186)
- Fix
Dialog
cycling (#553) - Only activate the
Tab
on mouseup (#1192) - Ignore "outside click" on removed elements (#1193)
- Remove
focus()
from Listbox Option (#1218) - Improve some internal code (#1221)
- Don’t drop initial character when searching in Combobox (#1223)
- Use
ownerDocument
instead ofdocument
(#1158) - Re-expose
el
(#1230) - Ensure focus trap, Tabs and Dialog play well together (#1231)
- Add
multi
value support for Listbox & Combobox (#1243) - Improve Combobox Input value (#1248)
- Fix Tree-shaking support (#1247)
- Stop propagation on the Popover Button (#1263)
- Add
<form>
compatibility (#1214)
@headlessui/[email protected] - 2022-02-17
- Ensure correct order when conditionally rendering
Menu.Item
,Listbox.Option
andRadioGroup.Option
(#1045) - Improve controlled Tabs behaviour (#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)
@headlessui/[email protected] - 2022-02-17
- Ensure correct order when conditionally rendering
MenuItem
,ListboxOption
andRadioGroupOption
(#1045) - 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)
@headlessui/[email protected] - 2022-01-14
- Ensure portal root exists in the DOM (#950)
- Ensure correct DOM node order when performing focus actions (#1038)
@headlessui/[email protected] - 2022-01-14
- Fix missing key binding in examples (#1036, #1006)
- Fix slice => splice typo in
Tabs
component (#1037, #986) - Ensure correct DOM node order when performing focus actions (#1038)
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-11-08
- Stop the event from propagating in the
Popover
component (#798) - Allow clicking on elements inside a
DialogOverlay
(#816) - Fix SSR crash because of
useWindowEvent
(#817) - Improve tree shaking (#859)
- Add
type="button"
toTabs
component (#912)
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-08-30
- Only add
type=button
to real buttons (#709) - Add Vue emit types (#679, #712)
- 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)
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-07-29
- Add new
Tabs
component (#674, #698) - Make
DisclosureButton
close the disclosure inside aDisclosurePanel
(#682) - Add
aria-orientation
toListbox
, which swaps Up/Down with Left/Right keys (#683) - Expose
close
function from the scoped slot forDisclosure
,DisclosurePanel
,Popover
andPopoverPanel
(#697)
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-06-21
- Ensure that you can use
TransitionChild
when using implicit Transitions (#503) - Add new
entered
prop forTransition
andTransitionChild
components (#504)
- Add
aria-disabled
on disabledRadioGroup.Option
components (#543) - Improve
disabled
andtabindex
prop handling (#512) - Improve reactivity when destructuring from props (#512)
- Improve
aria-expanded
logic (#592)
@headlessui/[email protected] - 2021-05-10
- Introduce Open/Closed state, to simplify component communication (#466)
- Improve SSR for
Dialog
(#477) - Delay focus trap initialization (#477)
- Improve incorrect behaviour for nesting
Dialog
components (#560)
@headlessui/[email protected] - 2021-05-10
- Introduce Open/Closed state, to simplify component communication (#466)
@headlessui/[email protected] - 2021-04-28
- Fix form submission within Dialog (#460)
@headlessui/[email protected] - 2021-04-28
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-04-26
- Improve search, make searching case insensitive (#385)
- Fix unreachable
RadioGroup
(#401) - Fix
RadioGroupOption
value type (#400) - Fix closing nested
Dialog
components when pressingEscape
(#430)
- Add
disabled
prop toRadioGroup
andRadioGroupOption
(#401) - Add
defaultOpen
prop to theDisclosure
component (#447)
@headlessui/[email protected] - 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)
@headlessui/[email protected] - 2021-04-14
- Add
SwitchDescription
component, which adds thearia-describedby
to the actual Switch (#220) - Add
Disclosure
,DisclosureButton
,DisclosurePanel
components (#282) - Add
Dialog
,DialogOverlay
,DialogTitle
andDialogDescription
components (#282) - Add
Portal
andPortalGroup
components (#282) - Add
FocusTrap
component (#282) - Add
Popover
,PopoverButton
,PopoverOverlay
,PopoverPanel
andPopoverGroup
components (#282) - Add
RadioGroup
,RadioGroupOption
,RadioGroupLabel
andRadioGroupDescription
components (#282) - Add
TransitionRoot
andTransitionChild
components (#326)
@headlessui/[email protected] - 2021-04-02
@headlessui/[email protected] - 2021-04-02
- Fix broken behaviour since Vue 3.0.5 (#279)
@headlessui/[email protected] - 2021-02-11
@headlessui/[email protected] - 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" behaviour 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
@headlessui/[email protected] - 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) - Added
emits
property to Vue components (#199) - Fix
disabled
not working when inside a disabled fieldset (#202) - Trigger "outside click" behaviour on mousedown (#212)
- Ensure the
active
MenuItem is scrolled into view - Ensure valid Menu accessibility tree (#228)
- Add render features + render strategy (
static
andunmount={true | false}
) (#106) - Add
disabled
prop toListbox
itself, instead of theListboxButton
(#229)
@headlessui/[email protected] - 2020-10-06
- Add
Listbox
component - Add
Switch
component
@headlessui/[email protected] - 2020-10-06
- Add
Listbox
component - Add
Switch
component
@headlessui/[email protected] - 2020-09-29
- Fix outside click behaviour. 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 behaviour.
@headlessui/[email protected] - 2020-09-29
- Fix an issue where you couldn't click on menu items that were links.
- Fix outside click behaviour. 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 behaviour.
@headlessui/[email protected] - 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
@headlessui/[email protected] - 2020-09-25
- Fix issue where button
MenuItem
instances didn't properly fire click events - Don't pass
disabled
prop through to children, only addaria-disabled
@headlessui/[email protected] - 2020-09-24
- Everything!
@headlessui/[email protected] - 2020-09-24
- Everything!