import React, { useState } from 'react' import type { BannerProps } from './banner' import Button from '../Button/Button.tsx' import { classNames } from '../../utils/classNames' import closeIcon from '../../icons/close.svg?raw' import styles from './banner.module.scss' export type Props = BannerProps & { children: React.ReactNode } const Banner = ({ top, bottom, closeable, padded, sticky = true, className, children }: Props) => { const [visible, setVisible] = useState(true) const classes = classNames([ styles.banner, bottom && styles.bottom, padded && styles.padded, !sticky && styles.relative, className ]) const style = top ? { '--w-banner-top': `${top}px` } as React.CSSProperties : undefined if (!visible) { return null } return (
{children} {closeable && (
) } export default Banner