Skip to main content
Overlay
@coinbase/cds-web@8.13.6
A semi-transparent layer that covers content.
Import
import { Overlay } from '@coinbase/cds-web/overlays/overlay/Overlay'
SourceView source code
Related components

Basic usage

Loading...
Live Code
function BasicOverlay() {
  const [isVisible, setIsVisible] = useState(false);

  return (
    <VStack gap={4} height={200} position="relative" width="100%">
      <Button onClick={() => setIsVisible(!isVisible)}>
        {isVisible ? 'Hide' : 'Show'} Overlay
      </Button>
      <Text>Content underneath the overlay</Text>
      {isVisible && <Overlay onClick={() => setIsVisible(false)} />}
    </VStack>
  );
}

With Animation

Loading...
Live Code
function AnimatedOverlay() {
  const [isVisible, setIsVisible] = useState(false);

  return (
    <VStack gap={4} height={200} position="relative" width="100%">
      <Button onClick={() => setIsVisible(!isVisible)}>
        {isVisible ? 'Hide' : 'Show'} Animated Overlay
      </Button>
      <Text>Content underneath the overlay</Text>
      {isVisible && <Overlay animated onClick={() => setIsVisible(false)} />}
    </VStack>
  );
}

Custom Background

Loading...
Live Code
function CustomOverlay() {
  const [isVisible, setIsVisible] = useState(false);

  return (
    <VStack gap={4} height={200} position="relative" width="100%">
      <Button onClick={() => setIsVisible(!isVisible)}>
        {isVisible ? 'Hide' : 'Show'} Custom Overlay
      </Button>
      <Text>Content underneath the overlay</Text>
      {isVisible && <Overlay animated background="bgLine" onClick={() => setIsVisible(false)} />}
    </VStack>
  );
}

Is this page useful?

Coinbase Design is an open-source, adaptable system of guidelines, components, and tools that aid the best practices of user interface design for crypto products.