Askr documentation
Generated API snapshot

@askrjs/ui/popover

Exports from the declarations published in @askrjs/ui. Signatures reflect the published artifact.

Exports

This entrypoint publishes 18 exports. Use the anchored symbol rows for direct links. Type-only exports are labeled separately from runtime values.

Popovertype

Popover: (props: PopoverProps) => JSX.Element

Renders a part of `popover`.

POPOVER_A11Y_CONTRACTtype

POPOVER_A11Y_CONTRACT: { readonly DATA_ATTRIBUTES: { readonly slot: "data-slot"; readonly state: "data-state"; readonly disabled: "data-disabled"; readonly side: "data-side"; readonly align: "data-align"; }; readonly TRIGGER_ATTRIBUTES: { readonly popup: "aria-haspopup"; readonly expanded: "aria-expanded"; readonly controls: "aria-controls"; }; readonly CONTENT_ATTRIBUTES: { readonly role: "dialog"; readonly labelledBy: "aria-labelledby"; readonly tabIndex: -1; }; readonly DEFAULT_LABELING: { readonly source: "trigger-id"; readonly override: "aria-label or aria-labelledby"; }; readonly FOCUS_RULES: { readonly trapScope: true; readonly restoreFocusOnClose: true; readonly dismissableLayer: true; }; }

WAI-ARIA dialog-style popover contract.

PopoverA11yContracttype

PopoverA11yContract: typeof POPOVER_A11Y_CONTRACT

Type of the Popover A11y Contract object.

PopoverClosetype

PopoverClose: { (props: PopoverCloseProps): JSX.Element; (props: PopoverCloseAsChildProps): JSX.Element; }

Renders the `popover-close` part of `popover`. Supports polymorphic rendering via `asChild`.

PopoverCloseAsChildPropstype

PopoverCloseAsChildProps: ButtonLikeAsChildProps

Props for the `asChild` (polymorphic) rendering of Popover Close.

asChild
asChild: true;
children
children: JSXElement;
disabled
disabled?: boolean | undefined;
onPress
onPress?: ((event: PressEvent) => void) | undefined;
ref
ref?: Ref<Element>;
type
type?: undefined;

PopoverClosePropstype

PopoverCloseProps: ButtonLikeProps<'button', HTMLButtonElement>

Props for Popover Close.

asChild
asChild?: false | undefined;
children
children?: unknown;
disabled
disabled?: boolean | undefined;
onPress
onPress?: ((event: PressEvent) => void) | undefined;
ref
ref?: Ref<HTMLButtonElement>;
type
type?: "button" | "submit" | "reset" | undefined;

PopoverContenttype

PopoverContent: { (props: PopoverContentProps): JSX.Element | null; (props: PopoverContentAsChildProps): JSX.Element | null; }

Renders the `popover-content` part of `popover` with `role="dialog"`. Supports polymorphic rendering via `asChild`.

PopoverContentAsChildPropstype

PopoverContentAsChildProps: BoxAsChildProps & PopoverContentOwnProps

Props for the `asChild` (polymorphic) rendering of Popover Content.

align
align?: OverlayAlign | undefined;
asChild
asChild: true;
children
children: JSXElement;
forceMount
forceMount?: boolean | undefined;
ref
ref?: Ref<Element>;
side
side?: OverlaySide | undefined;
sideOffset
sideOffset?: number | undefined;
width
width?: PopoverContentWidth | undefined;

PopoverContentOwnPropstype

PopoverContentOwnProps: {
  forceMount?: boolean;
  side?: OverlaySide;
  align?: OverlayAlign;
  sideOffset?: number;
  width?: PopoverContentWidth;
}

Own props for Popover Content, before merging with native element attributes.

align
align?: OverlayAlign | undefined;
forceMount
forceMount?: boolean | undefined;
side
side?: OverlaySide | undefined;
sideOffset
sideOffset?: number | undefined;
width
width?: PopoverContentWidth | undefined;

PopoverContentPropstype

PopoverContentProps: BoxProps<'div', HTMLDivElement> & PopoverContentOwnProps

Props for Popover Content.

align
align?: OverlayAlign | undefined;
asChild
asChild?: false | undefined;
children
children?: unknown;
forceMount
forceMount?: boolean | undefined;
ref
ref?: Ref<HTMLDivElement>;
side
side?: OverlaySide | undefined;
sideOffset
sideOffset?: number | undefined;
width
width?: PopoverContentWidth | undefined;

PopoverOwnPropstype

PopoverOwnProps: {
  children?: unknown;
  id?: string;
  open?: boolean;
  defaultOpen?: boolean;
  onOpenChange?: (open: boolean) => void;
}

Own props for Popover, before merging with native element attributes.

children
children?: unknown;
defaultOpen
defaultOpen?: boolean | undefined;
id
id?: string | undefined;
onOpenChange
onOpenChange?: ((open: boolean) => void) | undefined;
open
open?: boolean | undefined;

PopoverPortaltype

PopoverPortal: (props: PopoverPortalProps) => JSX.Element | null

Renders a part of `popover`.

PopoverPortalPropstype

PopoverPortalProps: {
  children?: unknown;
}

Props for Popover Portal.

children
children?: unknown;

PopoverPropstype

PopoverProps: PopoverOwnProps

Props for Popover.

children
children?: unknown;
defaultOpen
defaultOpen?: boolean | undefined;
id
id?: string | undefined;
onOpenChange
onOpenChange?: ((open: boolean) => void) | undefined;
open
open?: boolean | undefined;

PopoverTriggertype

PopoverTrigger: { (props: PopoverTriggerProps): JSX.Element; (props: PopoverTriggerAsChildProps): JSX.Element; }

Renders the `popover-trigger` part of `popover`. Supports polymorphic rendering via `asChild`.

PopoverTriggerAsChildPropstype

PopoverTriggerAsChildProps: ButtonLikeAsChildProps

Props for the `asChild` (polymorphic) rendering of Popover Trigger.

asChild
asChild: true;
children
children: JSXElement;
disabled
disabled?: boolean | undefined;
onPress
onPress?: ((event: PressEvent) => void) | undefined;
ref
ref?: Ref<Element>;
type
type?: undefined;

PopoverTriggerPropstype

PopoverTriggerProps: ButtonLikeProps<'button', HTMLButtonElement>

Props for Popover Trigger.

asChild
asChild?: false | undefined;
children
children?: unknown;
disabled
disabled?: boolean | undefined;
onPress
onPress?: ((event: PressEvent) => void) | undefined;
ref
ref?: Ref<HTMLButtonElement>;
type
type?: "button" | "submit" | "reset" | undefined;