Overlay
A layer that covers the inert portion of the view when the drawer is open.
import { useState } from 'react'
import { Drawer, type Snap } from '@vladyoslav/drawer'
// or import { DrawerOverlay } from '@vladyoslav/drawer'
 
export const MyComponent = () => {
  const snapPoints = ['100px', '50%', '100%']
  const [snap, setSnap] = useState<Snap>(snapPoints[0])
 
  return (
    <Drawer.Root
      snap={snap}
      setSnap={setSnap}
    >
      <Drawer.Trigger />
      <Drawer.Portal>
        <Drawer.Overlay
          className="..."
          radixPrimitive={false} // use custom primitive
          fadeFrom={'100px'} // same as fadeFrom={100}
          blockInteraction={snap === '100%'} // block page scrolling on the last snap point
        />
          ...
      </Drawer.Portal>
    </Drawer.Root>
  )
}API
The Overlay component takes all props from @radix-ui/react-dialog (opens in a new tab) Overlay and some additional ones:
| Prop | Type | Default | 
|---|---|---|
asChild | boolean | false | 
forceMount | boolean | |
radixPrimitive | boolean | true | 
blockInteraction | boolean | Root modal prop value | 
fadeFrom | number | string | 0 | 
finalOpacity | number | 0.8 |