@activecollab/components
Version:
ActiveCollab Components
31 lines • 1.17 kB
JavaScript
import React, { forwardRef, useCallback } from "react";
import classnames from "classnames";
import { StyledOption, StyledOptionContent } from "./Styles";
export const Option = /*#__PURE__*/forwardRef((_ref, ref) => {
let id = _ref.id,
name = _ref.name,
_ref$tooltip = _ref.tooltip,
tooltip = _ref$tooltip === void 0 ? "" : _ref$tooltip,
hover = _ref.hover,
className = _ref.className,
renderOption = _ref.renderOption,
onMouseEnter = _ref.onMouseEnter,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? () => null : _ref$onClick;
const handleOnMouseEnter = useCallback(() => {
if (onMouseEnter) {
onMouseEnter(id);
}
}, [onMouseEnter, id]);
return /*#__PURE__*/React.createElement(StyledOption, {
ref: hover ? ref : null,
title: tooltip ? tooltip : name,
onMouseEnter: handleOnMouseEnter,
onTouchStart: handleOnMouseEnter,
className: classnames("c-option", className),
hover: hover,
onClick: onClick
}, /*#__PURE__*/React.createElement(StyledOptionContent, null, renderOption ? renderOption : name));
});
Option.displayName = "Option";
//# sourceMappingURL=Option.js.map