UNPKG

@wix/design-system

Version:

@wix/design-system

21 lines 1.02 kB
import { forwardRef, isValidElement, cloneElement } from 'react'; import { usePopoverNextContext } from '../../hooks/usePopoverNextContext'; import { mergeRefs } from '../../../utils/mergeRefs'; const Trigger = forwardRef(function PopoverTriggerWrapper({ children: triggerElement }, propRef) { const { dataHook, context, interactions } = usePopoverNextContext(); if (!isValidElement(triggerElement)) { throw new Error('<PopoverNext.Trigger /> children must be a valid React element'); } const ref = mergeRefs(context?.refs.setReference, propRef, triggerElement.ref); const referenceProps = interactions.getReferenceProps({ ...triggerElement.props, ref, 'data-hook': `${dataHook}-trigger`, }); return cloneElement(triggerElement, // @ts-ignore TODO: this overrides onKeyDown for DatePicker, // to allow entering white space inside input { ...referenceProps, onKeyDown: undefined }); }); export default Trigger; //# sourceMappingURL=Trigger.js.map