import { useProgressBar } from 'react-aria'; import { twJoin } from 'tailwind-merge'; export const Spinner = () => { const { progressBarProps } = useProgressBar({ 'aria-label': 'Loading…', isIndeterminate: true, }); return ( ); }; Spinner.sleep = async (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); Spinner.minDelay = async function minDelay(promise: Promise, ms = 700) { await Promise.allSettled([promise, Spinner.sleep(ms)]); return promise; }; export const BusyBar = ({ busy }: { busy?: boolean }) => { const { progressBarProps } = useProgressBar({ 'aria-label': 'Loading…', isIndeterminate: true, }); return (
); };