UNPKG

@smart-react-components/ui

Version:
28 lines (27 loc) 1.55 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const WaveEffect_1 = __importDefault(require("../WaveEffect")); const DropdownItemElement_1 = __importDefault(require("../components/Dropdown/DropdownItemElement")); const DropdownItem = ({ children, elementProps = {}, hasHover, hasWaveEffect, isActive = false, isDisabled, isOutline, isSoft, onClick, palette, setStatus, waveEffectPalette }) => { const isClicked = react_1.default.useRef(false); const handleOnClick = (e) => { if (isClicked.current || isDisabled) { return; } isClicked.current = true; onClick === null || onClick === void 0 ? void 0 : onClick(e); if (!e.defaultPrevented || e.target instanceof HTMLAnchorElement) { setStatus(false); } else { isClicked.current = false; } }; const content = (react_1.default.createElement(DropdownItemElement_1.default, Object.assign({ cursor: "$cursor.dropdown", hasHover: hasHover, isActive: isActive, isDisabled: isDisabled, isHovered: false, isOutline: isOutline, isSoft: isSoft, palette: palette, onClick: handleOnClick }, elementProps), children)); return hasWaveEffect ? react_1.default.createElement(WaveEffect_1.default, { palette: waveEffectPalette }, content) : content; }; exports.default = DropdownItem;