Design System

Component usage guide template

Browse Components

ui

Popover Panel

Wrapper cấp cao cho Popover với layout chuẩn gồm header, body, footer và preset kích thước để dùng đồng bộ giữa nhiều màn.

1. Import
Import các phần cần dùng cho popover panel.
import {
  PopoverPanel,
  PopoverPanelRoot,
  PopoverPanelTrigger,
} from "@/design-system/components/ui/popover-panel"
2. Props
PopoverPanel kế thừa toàn bộ props của PopoverContent.
PropTypeDefault
size"sm" | "md" | "lg" | "xl" | "auto""md"
titleReact.ReactNode--
descriptionReact.ReactNode--
footerReact.ReactNode--
classNamestring--
side"top" | "right" | "bottom" | "left""bottom"
3. Usages
Các pattern phổ biến khi dùng popover panel.
import {
  PopoverPanel,
  PopoverPanelRoot,
  PopoverPanelTrigger,
} from "@/design-system/components/ui/popover-panel";
import { Button } from "@/design-system/components/ui/button";
import { Input } from "@/design-system/components/ui/input";

export function Example() {
  return (
    <PopoverPanelRoot>
      <PopoverPanelTrigger render={<Button variant="outline">Mở bộ lọc</Button>} />
      <PopoverPanel
        title="Bộ lọc nhanh"
        description="Áp dụng các điều kiện lọc thường dùng."
        footer={<Button>Lưu bộ lọc</Button>}
      >
        <div className="grid gap-3">
          <Input label="Từ khóa" placeholder="Nhập từ khóa" />
          <Input label="Mã đơn hàng" placeholder="VD: DH-1024" />
        </div>
      </PopoverPanel>
    </PopoverPanelRoot>
  );
}