UNPKG

2.17 kBJavaScriptView Raw
1import { __rest } from "tslib";
2import * as React from 'react';
3import styles from '@patternfly/react-styles/css/components/OptionsMenu/options-menu';
4import { DropdownContext } from '../Dropdown';
5import { DropdownWithContext } from '../Dropdown/DropdownWithContext';
6import { useOUIAId } from '../../helpers';
7export var OptionsMenuPosition;
8(function (OptionsMenuPosition) {
9 OptionsMenuPosition["right"] = "right";
10 OptionsMenuPosition["left"] = "left";
11})(OptionsMenuPosition || (OptionsMenuPosition = {}));
12export var OptionsMenuDirection;
13(function (OptionsMenuDirection) {
14 OptionsMenuDirection["up"] = "up";
15 OptionsMenuDirection["down"] = "down";
16})(OptionsMenuDirection || (OptionsMenuDirection = {}));
17export const OptionsMenu = (_a) => {
18 var { className = '', menuItems, toggle, isText = false, isGrouped = false, id,
19 // eslint-disable-next-line @typescript-eslint/no-unused-vars
20 ref, menuAppendTo = 'inline', ouiaId, ouiaSafe = true } = _a, props = __rest(_a, ["className", "menuItems", "toggle", "isText", "isGrouped", "id", "ref", "menuAppendTo", "ouiaId", "ouiaSafe"]);
21 return (React.createElement(DropdownContext.Provider, { value: {
22 id,
23 onSelect: () => undefined,
24 toggleIndicatorClass: styles.optionsMenuToggleIcon,
25 toggleTextClass: styles.optionsMenuToggleText,
26 menuClass: styles.optionsMenuMenu,
27 itemClass: styles.optionsMenuMenuItem,
28 toggleClass: isText ? styles.optionsMenuToggleButton : styles.optionsMenuToggle,
29 baseClass: styles.optionsMenu,
30 disabledClass: styles.modifiers.disabled,
31 menuComponent: isGrouped ? 'div' : 'ul',
32 baseComponent: 'div',
33 ouiaId: useOUIAId(OptionsMenu.displayName, ouiaId),
34 ouiaSafe,
35 ouiaComponentType: OptionsMenu.displayName
36 } },
37 React.createElement(DropdownWithContext, Object.assign({ id: id, dropdownItems: menuItems, className: className, isGrouped: isGrouped, toggle: toggle, menuAppendTo: menuAppendTo }, props))));
38};
39OptionsMenu.displayName = 'OptionsMenu';
40//# sourceMappingURL=OptionsMenu.js.map
\No newline at end of file