Grapes homepage1.57.0
  • Guide
  • Tokens
  • Components
    Grapes on GithubGrapes on Figma
    Interaction
    • Button
    • IconButton
    • FloatingActionBar
    • Link
    Icons
    • Icon
    • HighlightIcon
    Form
    • AmountInput
    • Autocomplete
    • AutocompleteMultiple
    • AutocompletePlace
    • CheckboxBox
    • CheckboxField
    • DatePicker
    • FormField
    • Input
    • OptionGroup
    • PasswordInput
    • PhoneInput
    • RadioBox
    • RadioField
    • RadioGroup
    • Select
    • SwitchField
    • TextArea
    • TextInput
    • Upload
    • UploadButton
    Feedback
    • Badge
    • Banner
    • Callout
    • EmptyState
    • Modal
    • ModalSlideshow
    • DeprecatedModalSlideshow
    • PageModal
    • Skeleton
    • Tag
    • Toast
    • Tooltip
    Data display
    • Accordion
    • Avatar
    • Box
    • Calendar
    • CalendarRange
    • CollapsibleList
    • FileCard
    • InfoTip
    • ListBox
    • ListView
    • Panel
    • SidePanel
    • DeprecatedPreview
    • Table
    • Timeline
    • useDateFormatter
    Navigation
    • DropdownItem
    • DropdownMenu
    • Navigation
    • NavigationItem
    • Popover
    • Tabs

    Popover

    View source code
    • Usage
    • Props
    Usage

    The Popover component should only be used in cases where the DropdownMenu cannot be used.

    Basic usage

    <Popover
      renderTrigger={(triggerProps) => (
        <Button
          {...triggerProps}
          text="Show me a dropdown"
          variant="primaryBrand"
        />
      )}
    >
      {(closeDropdown) => (
        <div className="body-m p-16 text-center min-w-[400px]">
          Hey there!
          <br />
          <div>Look at me, I&apos;m a dropdown.</div>
          <Button
            className="mt-16"
            variant="primaryBrand"
            text="Close me"
            onClick={closeDropdown}
          />
        </div>
      )}
    </Popover>
    

    Placement

    The placement prop lets you decide where the dropdown content should appear.

    <>
      <Popover placement="bottom-start" {...otherProps} />
      <Popover placement="bottom-end" {...otherProps} />
      <Popover placement="top-start" {...otherProps} />
      <Popover placement="top-end" {...otherProps} />
      <Popover placement="end-bottom" {...otherProps} />
      <Popover placement="end-top" {...otherProps} />
    </>