Some checks are pending
Deploy Volleyball CMS / deploy (push) Waiting to run
97 lines
5.4 KiB
TypeScript
97 lines
5.4 KiB
TypeScript
import React, { type ElementType, type MouseEventHandler, type MutableRefObject, type Ref } from 'react';
|
|
import { type AnchorProps } from '../../internal/floating.js';
|
|
import type { Props } from '../../types.js';
|
|
import { type HasDisplayName, type PropsForFeatures, type RefProp } from '../../utils/render.js';
|
|
type MouseEvent<T> = Parameters<MouseEventHandler<T>>[0];
|
|
declare let DEFAULT_POPOVER_TAG: "div";
|
|
type PopoverRenderPropArg = {
|
|
open: boolean;
|
|
close: (focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null> | MouseEvent<HTMLElement>) => void;
|
|
};
|
|
type PopoverPropsWeControl = never;
|
|
export type PopoverProps<TTag extends ElementType = typeof DEFAULT_POPOVER_TAG> = Props<TTag, PopoverRenderPropArg, PopoverPropsWeControl, {
|
|
__demoMode?: boolean;
|
|
}>;
|
|
declare function PopoverFn<TTag extends ElementType = typeof DEFAULT_POPOVER_TAG>(props: PopoverProps<TTag>, ref: Ref<HTMLElement>): React.JSX.Element;
|
|
declare let DEFAULT_BUTTON_TAG: "button";
|
|
type ButtonRenderPropArg = {
|
|
open: boolean;
|
|
active: boolean;
|
|
hover: boolean;
|
|
focus: boolean;
|
|
disabled: boolean;
|
|
autofocus: boolean;
|
|
};
|
|
type ButtonPropsWeControl = 'aria-controls' | 'aria-expanded';
|
|
export type PopoverButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = Props<TTag, ButtonRenderPropArg, ButtonPropsWeControl, {
|
|
disabled?: boolean;
|
|
autoFocus?: boolean;
|
|
}>;
|
|
declare function ButtonFn<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(props: PopoverButtonProps<TTag>, ref: Ref<HTMLButtonElement>): React.JSX.Element;
|
|
declare let DEFAULT_BACKDROP_TAG: "div";
|
|
type BackdropRenderPropArg = {
|
|
open: boolean;
|
|
};
|
|
type BackdropPropsWeControl = 'aria-hidden';
|
|
declare let BackdropRenderFeatures: number;
|
|
export type PopoverBackdropProps<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG> = Props<TTag, BackdropRenderPropArg, BackdropPropsWeControl, {
|
|
transition?: boolean;
|
|
} & PropsForFeatures<typeof BackdropRenderFeatures>>;
|
|
export type PopoverOverlayProps<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG> = PopoverBackdropProps<TTag>;
|
|
declare function BackdropFn<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(props: PopoverBackdropProps<TTag>, ref: Ref<HTMLElement>): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
|
|
declare let DEFAULT_PANEL_TAG: "div";
|
|
type PanelRenderPropArg = {
|
|
open: boolean;
|
|
close: (focusableElement?: HTMLElement | MutableRefObject<HTMLElement | null>) => void;
|
|
};
|
|
type PanelPropsWeControl = 'tabIndex';
|
|
export type PopoverPanelProps<TTag extends ElementType = typeof DEFAULT_PANEL_TAG> = Props<TTag, PanelRenderPropArg, PanelPropsWeControl, {
|
|
focus?: boolean;
|
|
anchor?: AnchorProps;
|
|
portal?: boolean;
|
|
modal?: boolean;
|
|
transition?: boolean;
|
|
static?: boolean;
|
|
unmount?: boolean;
|
|
}>;
|
|
declare function PanelFn<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(props: PopoverPanelProps<TTag>, ref: Ref<HTMLElement>): React.JSX.Element;
|
|
declare let DEFAULT_GROUP_TAG: "div";
|
|
type GroupRenderPropArg = {};
|
|
type GroupPropsWeControl = never;
|
|
export type PopoverGroupProps<TTag extends ElementType = typeof DEFAULT_GROUP_TAG> = Props<TTag, GroupRenderPropArg, GroupPropsWeControl>;
|
|
declare function GroupFn<TTag extends ElementType = typeof DEFAULT_GROUP_TAG>(props: PopoverGroupProps<TTag>, ref: Ref<HTMLElement>): React.JSX.Element;
|
|
export interface _internal_ComponentPopover extends HasDisplayName {
|
|
<TTag extends ElementType = typeof DEFAULT_POPOVER_TAG>(props: PopoverProps<TTag> & RefProp<typeof PopoverFn>): React.JSX.Element;
|
|
}
|
|
export interface _internal_ComponentPopoverButton extends HasDisplayName {
|
|
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(props: PopoverButtonProps<TTag> & RefProp<typeof ButtonFn>): React.JSX.Element;
|
|
}
|
|
export interface _internal_ComponentPopoverBackdrop extends HasDisplayName {
|
|
<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(props: PopoverBackdropProps<TTag> & RefProp<typeof BackdropFn>): React.JSX.Element;
|
|
}
|
|
export interface _internal_ComponentPopoverPanel extends HasDisplayName {
|
|
<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(props: PopoverPanelProps<TTag> & RefProp<typeof PanelFn>): React.JSX.Element;
|
|
}
|
|
export interface _internal_ComponentPopoverGroup extends HasDisplayName {
|
|
<TTag extends ElementType = typeof DEFAULT_GROUP_TAG>(props: PopoverGroupProps<TTag> & RefProp<typeof GroupFn>): React.JSX.Element;
|
|
}
|
|
export declare let PopoverButton: _internal_ComponentPopoverButton;
|
|
/** @deprecated use `<PopoverBackdrop>` instead of `<PopoverOverlay>` */
|
|
export declare let PopoverOverlay: _internal_ComponentPopoverBackdrop;
|
|
export declare let PopoverBackdrop: _internal_ComponentPopoverBackdrop;
|
|
export declare let PopoverPanel: _internal_ComponentPopoverPanel;
|
|
export declare let PopoverGroup: _internal_ComponentPopoverGroup;
|
|
export declare let Popover: _internal_ComponentPopover & {
|
|
/** @deprecated use `<PopoverButton>` instead of `<Popover.Button>` */
|
|
Button: _internal_ComponentPopoverButton;
|
|
/** @deprecated use `<PopoverBackdrop>` instead of `<Popover.Backdrop>` */
|
|
Backdrop: _internal_ComponentPopoverBackdrop;
|
|
/** @deprecated use `<PopoverOverlay>` instead of `<Popover.Overlay>` */
|
|
Overlay: _internal_ComponentPopoverBackdrop;
|
|
/** @deprecated use `<PopoverPanel>` instead of `<Popover.Panel>` */
|
|
Panel: _internal_ComponentPopoverPanel;
|
|
/** @deprecated use `<PopoverGroup>` instead of `<Popover.Group>` */
|
|
Group: _internal_ComponentPopoverGroup;
|
|
};
|
|
export {};
|