UNPKG

@trellixio/roaster-coffee

Version:
80 lines (74 loc) 1.92 kB
'use strict'; var React = require('react'); var react = require('@floating-ui/react'); var useTooltip = require('./useTooltip.js'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { for (var k in e) { n[k] = e[k]; } } n.default = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React); const Tooltip = React__namespace.forwardRef((props, ref) => { const { children, position, refProp = "ref", label, opened, offset = 5, width, events = { hover: true, focus: false, touch: false }, zIndex, onClick, onMouseEnter, onMouseLeave, inline } = props; const tooltip = useTooltip.useTooltip({ position, opened, events, offset, inline }); const targetRef = react.useMergeRefs([tooltip.setReference, children.ref, ref]); return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, tooltip.opened && /* @__PURE__ */ React__namespace.createElement(react.FloatingPortal, null, /* @__PURE__ */ React__namespace.createElement( "sub", { ref: tooltip.setFloating, ...tooltip.getFloatingProps({ // ref: tooltip.floating, className: "tooltip", style: { zIndex, width, display: "block", top: tooltip.y ?? 0, left: tooltip.x ?? 0 } }) }, label )), React__namespace.cloneElement( children, tooltip.getReferenceProps({ onClick, onMouseEnter, onMouseLeave, onMouseMove: props.onMouseMove, onPointerDown: props.onPointerDown, onPointerEnter: props.onPointerEnter, [refProp]: targetRef, className: children.props.className, ...children.props }) )); }); Tooltip.displayName = "Tooltip"; exports.Tooltip = Tooltip; //# sourceMappingURL=Tooltip.js.map