UNPKG

pouncejs

Version:

A collection of UI components from Panther labs

46 lines (33 loc) 1.69 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _utils = require("@reach/utils"); var _Popover = require("./Popover"); var PopoverTrigger = /*#__PURE__*/_react.default.forwardRef(function PopoverTrigger(_ref, forwardedRef) { var _ref$as = _ref.as, Comp = _ref$as === void 0 ? 'button' : _ref$as, onMouseDown = _ref.onMouseDown, onKeyDown = _ref.onKeyDown, rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "onMouseDown", "onKeyDown"]); // get the ref that we should store this trigger under var _usePopoverContext = (0, _Popover.usePopoverContext)(), popoverId = _usePopoverContext.popoverId, triggerRef = _usePopoverContext.triggerRef, toggle = _usePopoverContext.toggle; // merge internal + passed prop together var ref = (0, _utils.useComposedRefs)(triggerRef, forwardedRef); return /*#__PURE__*/_react.default.createElement(Comp, (0, _extends2.default)({ ref: ref, onMouseDown: (0, _utils.composeEventHandlers)(onMouseDown, toggle), onKeyDown: (0, _utils.composeEventHandlers)(onKeyDown, function (_ref2) { var key = _ref2.key; return key === 'Enter' && toggle(); }), "aria-describedby": popoverId }, rest)); }); var _default = /*#__PURE__*/_react.default.memo(PopoverTrigger); exports.default = _default;