import React from "react"; import { css, cx } from "@emotion/css"; import { intersperse, sleep } from "../util"; // && is used to increase specificity to override global styles // prettier-ignore const opaque = css`&& { opacity: 1 }`; // prettier-ignore const halfVisible = css`&&& {opacity: 0.5}`; // prettier-ignore const opacities = [0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45].map(each => css`&&& { opacity: ${0.5 + each} }`); const tripleBlink = async (el: HTMLElement) => { const delay = 150; await sleep(1000); el.classList.add(halfVisible); await sleep(delay); el.classList.remove(halfVisible); await sleep(delay); el.classList.add(halfVisible); await sleep(delay); el.classList.remove(halfVisible); await sleep(delay); el.classList.add(halfVisible); await sleep(delay * 2); el.classList.remove(halfVisible); }; const Flicker: React.FC<{ children: React.ReactNode; index: number; description: string; style?: React.CSSProperties; }> = ({ children, index, description, style }) => { return ( {description} ); }; const FlickerList: React.FC<{ list: { text: string; description: string }[]; style?: React.CSSProperties; }> = ({ list, style }) => { return (