1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.DualListSelectorListItem = exports.DualListSelectorListItemBase = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const React = tslib_1.__importStar(require("react"));
|
6 | const dual_list_selector_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/DualListSelector/dual-list-selector"));
|
7 | const react_styles_1 = require("@patternfly/react-styles");
|
8 | const helpers_1 = require("../../helpers");
|
9 | const grip_vertical_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/grip-vertical-icon'));
|
10 | const Button_1 = require("../Button");
|
11 | const DualListSelectorContext_1 = require("./DualListSelectorContext");
|
12 | const DualListSelectorListItemBase = (_a) => {
|
13 | var { onOptionSelect, orderIndex, children, className, id = helpers_1.getUniqueId('dual-list-selector-list-item'), isSelected, innerRef, isDraggable = false, isDisabled,
|
14 |
|
15 | draggableButtonAriaLabel = 'Reorder option' } = _a, props = tslib_1.__rest(_a, ["onOptionSelect", "orderIndex", "children", "className", "id", "isSelected", "innerRef", "isDraggable", "isDisabled", "draggableButtonAriaLabel"]);
|
16 | const ref = innerRef || React.useRef(null);
|
17 | const { setFocusedOption } = React.useContext(DualListSelectorContext_1.DualListSelectorListContext);
|
18 | return (React.createElement("li", Object.assign({ className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorListItem, className, isDisabled && dual_list_selector_1.default.modifiers.disabled), key: orderIndex, onClick: isDisabled
|
19 | ? undefined
|
20 | : (e) => {
|
21 | setFocusedOption(id);
|
22 | onOptionSelect(e, id);
|
23 | }, onKeyDown: (e) => {
|
24 | if (e.key === ' ' || e.key === 'Enter') {
|
25 | document.activeElement.click();
|
26 | e.preventDefault();
|
27 | }
|
28 | }, "aria-selected": isSelected, id: id, ref: ref, role: "option", tabIndex: -1 }, props),
|
29 | React.createElement("div", { className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorListItemRow, isSelected && dual_list_selector_1.default.modifiers.selected) },
|
30 | isDraggable && !isDisabled && (React.createElement("div", { className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorDraggable) },
|
31 | React.createElement(Button_1.Button, { variant: Button_1.ButtonVariant.plain, component: "span" },
|
32 | React.createElement(grip_vertical_icon_1.default, { style: { verticalAlign: '-0.3em' } })))),
|
33 | React.createElement("span", { className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorItem) },
|
34 | React.createElement("span", { className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorItemMain) },
|
35 | React.createElement("span", { className: react_styles_1.css(dual_list_selector_1.default.dualListSelectorItemText) }, children))))));
|
36 | };
|
37 | exports.DualListSelectorListItemBase = DualListSelectorListItemBase;
|
38 | exports.DualListSelectorListItemBase.displayName = 'DualListSelectorListItemBase';
|
39 | exports.DualListSelectorListItem = React.forwardRef((props, ref) => (React.createElement(exports.DualListSelectorListItemBase, Object.assign({ innerRef: ref }, props))));
|
40 | exports.DualListSelectorListItem.displayName = 'DualListSelectorListItem';
|
41 |
|
\ | No newline at end of file |