import type { QwikIntrinsicElements } from "@builder.io/qwik"; import { $, component$, useSignal, useTask$ } from "@builder.io/qwik"; import { CheckIcon } from "../Icons/CheckIcon"; import { CopyIcon } from "../Icons/CopyIcon"; type CopyButtonProps = QwikIntrinsicElements["button"] & { code: string; src?: string; }; export async function copyToClipboardWithMeta(value: string) { navigator.clipboard.writeText(value); } export const CopyButton = component$(({ code, ...props }) => { const hasCopied = useSignal(false); useTask$(({ track }) => { track(() => hasCopied.value); setTimeout( $(() => { hasCopied.value = false; }), 2000, ); }); return ( ); });