@ebay/ui-core-react
Version:
Skin components build off React
2 lines (1 loc) • 2.35 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../tslib.es6-BW4cJBUu.js"),t=require("react"),f=require("../utils-C9NL3q0j.js"),o=require("../use-tooltip-DEDSLeBq.js");require("classnames");const U=require("../index-Bsb1LHpi.js"),k=require("../floating-ui-BLTkNeJp.js");require("../array.polyfill.flat-5BAolFdk.js");require("../icon-M7M42naA.js");const y=()=>null,h=()=>null,A=l=>{var{className:b,pointer:i,overlayStyle:O,noHover:a,open:v,offset:m,noFlip:R,noShift:w,notInline:S,onFocus:F=()=>{},onBlur:C=()=>{},onMouseEnter:I=()=>{},onMouseLeave:L=()=>{},onExpand:g,onCollapse:q,children:u}=l,M=D.__rest(l,["className","pointer","overlayStyle","noHover","open","offset","noFlip","noShift","notInline","onFocus","onBlur","onMouseEnter","onMouseLeave","onExpand","onCollapse","children"]);const c=t.useRef(null),{isExpanded:n,expandTooltip:p,collapseTooltip:s}=o.useTooltip({onCollapse:q,onExpand:g,expanded:v}),r=t.useRef(null),{overlayStyles:N,arrowStyles:_,refs:E}=k.useFloatingTooltip({open:n,hostRef:c,options:{pointer:i,offset:m,noFlip:R,noShift:w,notInline:S}});t.useEffect(()=>{const e=function(B){U.handleEscapeKeydown(B,s)};return n&&document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[n]);const P=e=>{I(e),a||(clearTimeout(r.current),p())},j=e=>{L(e),a||(clearTimeout(r.current),r.current=setTimeout(()=>{s()},300))},x=e=>{F(e),p()},H=e=>{C(e),s()},T=f.findComponent(u,y),d=f.findComponent(u,h);if(!d)throw new Error("EbayTooltip: Please use a EbayTooltipHost that defines the host of the tooltip");if(!T)throw new Error("EbayTooltip: Please use a EbayTooltipContent that defines the content of the tooltip");return t.createElement(o.Tooltip,Object.assign({},M,{className:b,type:"tooltip",isExpanded:n,onFocus:x,onBlur:H,onMouseEnter:P,onMouseLeave:j}),t.createElement(o.TooltipHost,Object.assign({},d.props,{forwardedRef:c})),t.createElement(o.TooltipContent,Object.assign({},T.props,{type:"tooltip",style:Object.assign(Object.assign({},N),O),pointer:i,arrowStyle:_,overlayRef:E.setOverlay,arrowRef:E.arrow})))};exports.DEFAULT_POINTER_DIRECTION=o.DEFAULT_POINTER_DIRECTION;exports.POINTER_STYLES=o.POINTER_STYLES;exports.Tooltip=o.Tooltip;exports.TooltipFooter=o.TooltipFooter;exports.EbayTooltip=A;exports.EbayTooltipContent=y;exports.EbayTooltipHost=h;