Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | "use client"; import React, { useState } from "react"; import { Icon } from "@/components/ui/icons"; import { Button } from "@/components/ui"; const ColorsDropdown = () => { const [toggleDropdown, setToggleDropdown] = useState(true); const [activeColor, setActiveColor] = useState("blue"); const colors = ["red", "blue", "orange", "pink", "purple"]; return ( <div className="bg-white shadow-1 rounded-lg"> <div onClick={() => setToggleDropdown(!toggleDropdown)} className={`cursor-pointer flex items-center justify-between py-3 pl-6 pr-5.5 ${ toggleDropdown && "shadow-filter" }`} > <p className="text-dark">Colors</p> <Button aria-label="Toggle color filter options" aria-expanded={toggleDropdown} variant="ghost" size="sm" className={`text-dark ease-out duration-200 ${ toggleDropdown && "rotate-180" }`} > <Icon name="chevron-down" className="fill-current" size={24} /> </Button> </div> {/* <!-- dropdown menu --> */} <div className={`flex-wrap gap-2.5 p-6 ${ toggleDropdown ? "flex" : "hidden" }`} > {colors.map((color, key) => ( <label key={key} htmlFor={color} className="cursor-pointer select-none flex items-center" > <div className="relative"> <input type="radio" name="color" id={color} className="sr-only" onChange={() => setActiveColor(color)} /> <div className={`flex items-center justify-center w-5.5 h-5.5 rounded-full ${ activeColor === color && "border" }`} style={{ borderColor: `${color}` }} > <span className="block w-3 h-3 rounded-full" style={{ backgroundColor: `${color}` }} ></span> </div> </div> </label> ))} </div> </div> ); }; export default ColorsDropdown; |