Files
aiturk-hermes-ide/apps/desktop/src/components/page-loader.tsx
T

35 lines
746 B
TypeScript

import type { ComponentProps } from 'react'
import { Loader } from '@/components/ui/loader'
import { cn } from '@/lib/utils'
interface PageLoaderProps extends Omit<ComponentProps<'div'>, 'children'> {
label?: string
}
export function PageLoader({
'aria-label': ariaLabel,
className,
label = 'Loading',
role = 'status',
...props
}: PageLoaderProps) {
return (
<div
{...props}
aria-label={ariaLabel ?? label}
className={cn('grid h-full place-items-center', className)}
role={role}
>
<Loader
aria-hidden="true"
className="size-10 text-primary/70"
pathSteps={220}
role="presentation"
strokeScale={0.72}
type="rose-curve"
/>
</div>
)
}