11import * as React from "react" ;
2- import { Menu , Transition , Portal } from "@headlessui/react" ;
2+ import { Menu , Transition , Portal , MenuButton , MenuItems , MenuItem } from "@headlessui/react" ;
33import { cn } from "../../utils/cn" ;
4- import { ZINDEX } from "../../utils/z-index" ;
54
65export interface DropdownProps {
76 trigger : React . ReactNode ;
@@ -38,8 +37,7 @@ export const Dropdown: React.FC<DropdownProps> = ({
3837
3938 return (
4039 < Menu as = "div"
41- open = { isControlled ? controlledOpen : undefined }
42- onChange = { ( open ) => isControlled && onOpenChange ?.( open ) }
40+ data-open = { isControlled ? controlledOpen : undefined }
4341 >
4442 { ( { open : menuOpen } ) => {
4543 // Handle controlled state changes
@@ -53,7 +51,7 @@ export const Dropdown: React.FC<DropdownProps> = ({
5351 return (
5452 < div className = "relative inline-block text-left" >
5553 < div ref = { buttonRef } >
56- < Menu . Button
54+ < MenuButton
5755 className = "inline-flex cursor-pointer"
5856 onClick = { ( ) => {
5957 updatePosition ( true ) ;
@@ -63,7 +61,7 @@ export const Dropdown: React.FC<DropdownProps> = ({
6361 } }
6462 >
6563 { trigger }
66- </ Menu . Button >
64+ </ MenuButton >
6765 </ div >
6866
6967 < Portal >
@@ -83,7 +81,7 @@ export const Dropdown: React.FC<DropdownProps> = ({
8381 }
8482 } }
8583 >
86- < Menu . Items
84+ < MenuItems
8785 className = { cn (
8886 "fixed rounded-lg shadow-lg" ,
8987 "bg-white dark:bg-gray-800" ,
@@ -102,7 +100,7 @@ export const Dropdown: React.FC<DropdownProps> = ({
102100 static
103101 >
104102 { children }
105- </ Menu . Items >
103+ </ MenuItems >
106104 </ Transition >
107105 </ Portal >
108106 </ div >
@@ -122,7 +120,7 @@ export interface DropdownItemProps {
122120export const DropdownItem = React . forwardRef < HTMLDivElement , DropdownItemProps > (
123121 ( { children, asChild = false , className, onClick } , ref ) => {
124122 return (
125- < Menu . Item >
123+ < MenuItem >
126124 { ( { active } ) => {
127125 if ( asChild ) {
128126 const child = React . Children . only ( children ) as React . ReactElement ;
@@ -158,7 +156,7 @@ export const DropdownItem = React.forwardRef<HTMLDivElement, DropdownItemProps>(
158156 </ button >
159157 ) ;
160158 } }
161- </ Menu . Item >
159+ </ MenuItem >
162160 ) ;
163161 }
164162) ;
0 commit comments