@engie-group/fluid-design-system-react
Version:
Fluid Design System React
23 lines (20 loc) • 1.24 kB
JavaScript
import { jsx } from 'react/jsx-runtime';
import { useMergeRefs } from '../../../node_modules/.pnpm/@floating-ui_react@0.27.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react/dist/floating-ui.react.js';
import { Root as Slot } from '../../../node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.js';
import React__default, { useEffect } from 'react';
import { usePopoverContext } from '../NJPopoverContext.js';
import { usePopoverInteractionContext } from '../NJPopoverInteractionContext.js';
const NJPopoverAnchor = React__default.forwardRef(({ onOpen, children }, forwardedRef) => {
const { refs, isOpen } = usePopoverContext();
useEffect(() => {
if (onOpen) {
onOpen(isOpen ?? false);
}
}, [isOpen, onOpen]);
const popoverInteractionContext = usePopoverInteractionContext();
const getReferenceProps = popoverInteractionContext?.getReferenceProps;
const anchorRef = useMergeRefs([forwardedRef, refs.setReference]);
return jsx(Slot, { ...getReferenceProps?.({ ref: anchorRef }), children: children });
});
NJPopoverAnchor.displayName = 'NJPopoverAnchor';
export { NJPopoverAnchor };