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 (
);
};