import * as Icons from "./icons"; import React, { useState } from "react"; import { Meta } from "@storybook/react-vite"; import { IconProps } from "./components/Icon"; const meta: Meta = { title: "ICON", tags: ["autodocs"] }; export default meta; const iconList = Object.entries(Icons) as [string, React.ComponentType>][]; export const Default = { render: function DefaultRender() { const [copied, setCopied] = useState(false); const [currentCopyName, setCurrentCopyName] = useState(""); const handleCopy = async (content: string) => { await navigator.clipboard.writeText(content); setCopied(true); setCurrentCopyName(content); setTimeout(() => { setCopied(false); setCurrentCopyName(""); }, 2000); }; return (
{iconList.map(([name, Icon]) => (
handleCopy(name)} className="group relative w-32 cursor-pointer rounded-lg text-center transition-all duration-200 ease-in-out hover:-translate-y-0.5 hover:bg-gray-100 hover:shadow-md" >

{name}

{copied && name === currentCopyName && ( <>
已复制
)}
))}
); } };