Skip to Content

Overlay

Overlays parent element with a div element with any color and opacity. Useful for creating loading states or modal backdrops.

Import

import { Overlay } from '@tidbcloud/uikit'

Basic Usage

import { useState } from 'react' import { Button, Overlay, Box } from '@tidbcloud/uikit' function Demo() { const [visible, setVisible] = useState(true) return ( <> <Box pos="relative" h={200}> <img src="image.png" alt="Demo" /> {visible && <Overlay color="#000" backgroundOpacity={0.85} />} </Box> <Button onClick={() => setVisible((v) => !v)}>Toggle overlay</Button> </> ) }

With Gradient

import { Overlay, Box } from '@tidbcloud/uikit' function Demo() { return ( <Box pos="relative" h={200}> <img src="image.png" alt="Demo" /> <Overlay gradient="linear-gradient(145deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0) 100%)" /> </Box> ) }

With Blur

import { Overlay, Box } from '@tidbcloud/uikit' function Demo() { return ( <Box pos="relative" h={200}> <img src="image.png" alt="Demo" /> <Overlay color="#000" backgroundOpacity={0.35} blur={2} /> </Box> ) }

Fixed Position

import { Overlay } from '@tidbcloud/uikit' function Demo() { return <Overlay fixed color="#000" backgroundOpacity={0.5} /> }

Key Props

PropTypeDescription
colorstringBackground color
backgroundOpacitynumberOpacity from 0 to 1
gradientstringCSS gradient (overrides color)
blurstring | numberBackdrop blur amount
fixedbooleanUse fixed positioning
centerbooleanCenter content inside overlay
zIndexstring | numberz-index value
radiusMantineRadiusBorder radius
childrenReactNodeContent inside overlay
Last updated on