wix-style-react
Version:
wix-style-react
124 lines • 5.45 kB
TypeScript
export default PopoverMenu;
/** PopoverMenu */
declare class PopoverMenu extends React.PureComponent<any, any, any> {
static displayName: string;
static propTypes: {
/** Sets a maximum width for a Popover menu */
maxWidth: PropTypes.Requireable<number>;
/** Sets a minimum width for a Popover menu */
minWidth: PropTypes.Requireable<number>;
/** Sets a maximum height for a Popover menu */
maxHeight: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
/** Sets the Popover z-index */
zIndex: PropTypes.Requireable<number>;
/** Moves Popover menu overlay relative to its trigger element by a defined number of px:
* - horizontally (on X-axis)
* - or vertically (on Y-axis)
*/
moveBy: PropTypes.Requireable<PropTypes.InferProps<{
x: PropTypes.Requireable<number>;
y: PropTypes.Requireable<number>;
}>>;
/** Defines a component that calls out a Popover menu (`<IconButton />`, `<Button />` or `<Text Button />`) */
triggerElement: PropTypes.Validator<NonNullable<NonNullable<((...args: any[]) => any) | PropTypes.ReactElementLike | null | undefined>>>;
/** Defines the Popover menu’s overlay placement in relation to its trigger element:
* * auto-start
* * auto
* * auto-end
* * top-start
* * top
* * top-end
* * right-start
* * right
* * right-end
* * bottom-start
* * bottom
* * bottom-end
* * left-start
* * left
* * left-end
*/
placement: PropTypes.Requireable<string>;
/** Sets the size of text in Popover menu items */
textSize: PropTypes.Requireable<string>;
/** Truncates menu item text that overflows component’s max Width */
ellipsis: PropTypes.Requireable<boolean>;
/**
* Stores Popover menu compound components:
* - <PopoverMenu.MenuItem />
* - <PopoverMenu.Divider /> (optional)
*
* `<PopoverMenu.MenuItem>` component has these fields:
* * `text` - Sets a label for a Popover menu item
* * `onClick` - Defines a callback function which is called when a Popover menu item is clicked on
* * `skin` - Controls the appearance of a Popover menu item (one of `standard`, `dark`, `destructive`)
* * `prefixIcon` - Contains an icon at the start of a Popover menu item
* * `dataHook` - Applies a data-hook HTML attribute to be used in the tests
* * `suffixIcon` - suffix icon property
* * `disabled` - Disables a Popover menu item
* * `subtitle` - Sets a text for a Popover menu item subtitle\
*
* `<PopoverMenu.Divider>` component has these fields:
* * `dataHook` - Applies a data-hook HTML attribute to be used in the tests
*/
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/** Enables calculations in relation to a DOM element */
appendTo: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
/** Enables the flip behaviour. This behaviour is used to flip the overlay placement when it starts to overlap the trigger element. */
flip: PropTypes.Requireable<boolean>;
/** Enables the fixed behaviour. This behaviour is used to keep the overlay at its original placement even when it is being positioned outside the boundary. */
fixed: PropTypes.Requireable<boolean>;
fluid: PropTypes.Requireable<boolean>;
/** Controls visibility of the pointer arrow */
showArrow: PropTypes.Requireable<boolean>;
/** Applies a data-hook HTML attribute to be used in the tests */
dataHook: PropTypes.Requireable<string>;
/** Applies a CSS class to the component’s root element */
className: PropTypes.Requireable<string>;
/** Defines a callback function which is called when a Popover menu is opened */
onShow: PropTypes.Requireable<(...args: any[]) => any>;
/** Defines a callback function which is called when a Popover menu is closed */
onHide: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
maxWidth: number;
minWidth: number;
placement: string;
appendTo: string;
textSize: string;
fixed: boolean;
flip: boolean;
showArrow: boolean;
ellipsis: boolean;
maxHeight: string;
};
constructor(props: any);
constructor(props: any, context: any);
ref: React.RefObject<any>;
_open: () => void;
_filterChildren: (children: any) => any;
_buildOptions: (children: any) => any;
_renderOptions: () => any;
_renderTriggerElement: ({ toggle, open, close, isOpen, ref }: {
toggle: any;
open: any;
close: any;
isOpen: any;
ref: any;
}) => any;
render(): React.JSX.Element;
}
declare namespace PopoverMenu {
function MenuItem(): {};
namespace MenuItem {
let displayName: string;
}
function Divider(): {};
namespace Divider {
let displayName_1: string;
export { displayName_1 as displayName };
}
}
import React from 'react';
import PropTypes from 'prop-types';
//# sourceMappingURL=PopoverMenu.d.ts.map