import React, { useState } from 'react'; import { HStack, Pressable, Text, Box, ChevronDownIcon, Link, } from '../../primitives'; import data from '../../utils/ecosystem.json'; import NextImage from 'next/image'; import type { DataKey } from '../../utils/ecosystem'; export function Flyout({ values, current, }: { values: Array; current: DataKey; }) { const [isOpen, setIsOpen] = useState(false); let keys = Object.keys(data) as Array; keys = keys.filter((element) => values.includes(element)); let selectedItemId = ''; if (keys.includes(current)) { const k = keys.findIndex((val) => val === current); const temp = keys[k]; keys[k] = keys[keys.length - 1]; keys[keys.length - 1] = temp; selectedItemId = data[current].id; } const cardsData = keys.map((key) => data[key]); const handleMouseEnter = () => { setIsOpen(true); }; const handleMouseLeave = () => { setIsOpen(false); }; return (
setIsOpen(!isOpen)} sx={{ _web: { ':focus': { boxShadow: '#004282 0px 0px 0px 2px', _dark: { boxShadow: '#004282 0px 0px 0px 2px', }, }, }, }} > Products {isOpen && ( {cardsData.map((item: any, index: number) => { return ( setIsOpen(false)} isDisabled={selectedItemId == item.id} > {item.name} {item.tag && ( {item.tag} )} {item.ossTag && ( {item.ossTag} )} {current === item.name && ( )} {item.flyoutDescription} ); })} )}
); } const TickIcon = () => { return ( ); };