ConceptPortal-public/rsconcept/frontend/src/components/ui/Overlay.tsx

36 lines
711 B
TypeScript
Raw Normal View History

2023-12-28 14:04:44 +03:00
import clsx from 'clsx';
2023-12-28 14:04:44 +03:00
import { CProps } from '../props';
interface OverlayProps extends CProps.Styling {
/** Id of the overlay. */
2023-12-28 14:04:44 +03:00
id?: string;
/** Classnames for position of the overlay. */
2023-12-28 14:04:44 +03:00
position?: string;
/** Classname for z-index of the overlay. */
2023-12-28 14:04:44 +03:00
layer?: string;
}
/**
* Displays a transparent overlay over the main content.
*/
2024-09-19 17:49:25 +03:00
function Overlay({
children,
className,
position = 'top-0 right-0',
layer = 'z-pop',
...restProps
}: React.PropsWithChildren<OverlayProps>) {
return (
2023-12-28 14:04:44 +03:00
<div className='relative'>
<div className={clsx('absolute', className, position, layer)} {...restProps}>
{children}
</div>
</div>
);
}
2023-12-28 14:04:44 +03:00
export default Overlay;