SwitcherPopover.jsx 1.0 KB

1234567891011121314151617181920212223242526272829
  1. import { Grid } from '@/components/products/Grid'
  2. import { Popover, Transition } from '@headlessui/react'
  3. export function SwitcherPopover({ children, props }) {
  4. return (
  5. <Popover className="relative" {...props}>
  6. {children}
  7. <Transition
  8. enter="transition ease-out duration-200"
  9. enterFrom="opacity-0 translate-y-1"
  10. enterTo="opacity-100 translate-y-0"
  11. leave="transition ease-in duration-150"
  12. leaveFrom="opacity-100 translate-y-0"
  13. leaveTo="opacity-0 translate-y-1"
  14. >
  15. <Popover.Panel className="absolute z-10 mt-4 w-max">
  16. {({ close }) => (
  17. <div className="overflow-hidden rounded-lg bg-white p-4 shadow-xl ring-1 ring-black ring-opacity-5 dark:border dark:border-slate-600 dark:bg-slate-800">
  18. <Grid
  19. className="relative md:grid-flow-col md:grid-cols-2 md:grid-rows-4"
  20. onClick={close}
  21. />
  22. </div>
  23. )}
  24. </Popover.Panel>
  25. </Transition>
  26. </Popover>
  27. )
  28. }