k8ordo
  • UI
  • Form
  • State
  • Router
  • Static
  • Server
ダークモードに切り替え
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AI
ナビゲーションを開く
Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons
k8ordo

Baselineに入った機能を、制限なく使うReactのライブラリ群。

パッケージ
  • @k8ordo/ui
  • @k8ordo/form
  • @k8ordo/state
  • @k8ordo/router
  • @k8ordo/static
  • @k8ordo/server
UI
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AIチャット
  • Generative UI
  • AIエージェント
  • Storybook
リソース
  • GitHub
  • npm

© 2026 k8o — MIT License

組版 — Noto Sans JP / M PLUS 2

Components

Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons

Popover

要素に紐づくフローティングコンテンツ

Storybookで確認

インポート

使い方

縦書きプレビューに切り替え

配置

縦書きプレビューに切り替え

Props

Popover.Root

children?
Type: ReactNode
Default: -
closeOnClickAway?
Type: boolean
Default: true
defaultOpen?
Type: boolean
Default: false
flipDisabled?
Type: boolean
Default: false
isOpen?
Type: boolean
Default: -
onChange?
Type: (isOpen: boolean) => void
Default: -
placement?
Type: Placement
Default: 'bottom-start'
role?
Type: 'dialog'|'menu'|'listbox'
Default: 'menu'
Popover content goes here.
Top placement
Right placement
Bottom placement
Left placement
trapFocus?
Type: boolean
Default: true
PropTypeDefault
children?ReactNode-
closeOnClickAway?booleantrue
defaultOpen?booleanfalse
flipDisabled?booleanfalse
isOpen?boolean-
onChange?(isOpen: boolean) => void-
placement?Placement'bottom-start'
role?'dialog'

Popover.Trigger

renderItem
Type: (props: PopoverTriggerProps) => ReactElement
Default: -
PropTypeDefault
renderItem(props: PopoverTriggerProps) => ReactElement-

Popover.Content

renderItem
Type: (props: PopoverContentProps) => ReactElement
Default: -
animation?
Type: 'scale'|'fade'
Default: 'scale'
PropTypeDefault
renderItem(props: PopoverContentProps) => ReactElement-
animation?'scale'|'fade''scale'
|'menu'
|'listbox'
'menu'
trapFocus?booleantrue
import { Popover } from '@k8ordo/ui';
<Popover.Root>
  <Popover.Trigger
    renderItem={(props) => (
      <Button {...props} type="button">
        Open Popover
      </Button>
    )}
  />
  <Popover.Content
    renderItem={(props) => (
      <div
        className="rounded-lg bg-bg-raised p-4 shadow-md"
        {...props}
      >
        <p>Popover content goes here.</p>
      </div>
    )}
  />
</Popover.Root>
<Popover.Root placement="top">
  <Popover.Trigger
    renderItem={(props) => (
      <Button {...props} type="button">Top</Button>
    )}
  />
  <Popover.Content
    renderItem={(props) => (
      <div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
        <p>Top placement</p>
      </div>
    )}
  />
</Popover.Root>

<Popover.Root placement="right">
  <Popover.Trigger
    renderItem={(props) => (
      <Button {...props} type="button">Right</Button>
    )}
  />
  <Popover.Content
    renderItem={(props) => (
      <div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
        <p>Right placement</p>
      </div>
    )}
  />
</Popover.Root>

<Popover.Root placement="bottom">
  <Popover.Trigger
    renderItem={(props) => (
      <Button {...props} type="button">Bottom</Button>
    )}
  />
  <Popover.Content
    renderItem={(props) => (
      <div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
        <p>Bottom placement</p>
      </div>
    )}
  />
</Popover.Root>

<Popover.Root placement="left">
  <Popover.Trigger
    renderItem={(props) => (
      <Button {...props} type="button">Left</Button>
    )}
  />
  <Popover.Content
    renderItem={(props) => (
      <div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
        <p>Left placement</p>
      </div>
    )}
  />
</Popover.Root>