@naturacosmeticos/natds-web
Version:
A collection of components from Natura Design System for React websites and webapps
111 lines (110 loc) • 2.92 kB
TypeScript
import { PopperProps } from '@material-ui/core/Popper/Popper';
import * as React from 'react';
import { PopperPlacementType } from '@material-ui/core';
import { IActionLinkProps } from './ActionLink';
export interface IPopoverProps extends Omit<PopperProps, 'placement'> {
/**
* @optional
* @type IActionLinkProps
*/
actionLink?: IActionLinkProps;
/**
* This is the reference element, or a function that returns the reference element
*
* It may be used to set the position of the popover.
*
* Its value should be an HTML element instance or a referenceObject.
*
* @optional
* @type object | func
*/
anchorEl?: PopperProps['anchorEl'];
/**
* Popper render function or node.
*
* @required
* @type node | func
*/
children: PopperProps['children'];
/**
* @optional
* @type element
*/
component?: React.ElementType;
/**
* A node, component instance, or function that returns either.
*
* @optional
* @type object | func
*/
container?: PopperProps['container'];
/**
* @optional
* @type PopperPlacementType
*/
direction?: PopperPlacementType;
/**
* Disable the portal behavior. The children stay within it's parent DOM hierarchy.
*
* @default false
* @optional
* @type bool
*/
disablePortal?: PopperProps['disablePortal'];
/**
* Always keep the children in the DOM.
*
* This prop can be useful in SEO situation or when you want to maximize the responsiveness of the `Popper`.
*
* @default false
* @optional
* @type bool
*/
keepMounted?: PopperProps['keepMounted'];
/**
* @optional
* @todo Add support to size tokens
* @type number
*/
maxWidth?: number;
/**
* If `true`, the `Popover` is visible.
*
* @required
* @type bool
*/
open: PopperProps['open'];
/**
* Popper placement.
*
* @default "bottom"
* @optional
* @type "bottom-end" | "bottom-start" | "bottom" | "left-end" | "left-start" | "left" | "right-end" | "right-start" | "right" | "top-end" | "top-start" | "top"
*/
placement?: PopperProps['placement'];
/**
* Options provided to the `Popover` positioning engine.
*
* @default {}
* @optional
* @see https://popper.js.org/
* @type object
*/
popperOptions?: PopperProps['popperOptions'];
/**
* A ref that points to the used popper instance.
*
* @optional
* @type ref
*/
popperRef?: PopperProps['popperRef'];
/**
* Help supporting a `react-transition-group` / `Transition` component.
*
* @default false
* @optional
* @see https://reactcommunity.org/react-transition-group/
* @type bool
*/
transition?: PopperProps['transition'];
}