@ebay/ui-core-react
Version:
Skin components build off React
2 lines (1 loc) • 2.55 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../tslib.es6-C4EgNkz1.js"),e=require("react"),R=require("classnames"),d=require("../utils-C9NL3q0j.js"),c=require("../use-tooltip-CNTlgBVF.js"),P=require("../dialog-previous-button-M5TO2e3G.js");require("react-remove-scroll");require("makeup-screenreader-trap");require("makeup-keyboard-trap");const F=require("../icon-CR8ApQBy.js");require("../icon-button-B1aE4GTn.js");const $=require("classnames/dedupe"),D=require("../forwardRef-DBQKIlPy.js"),B=require("../lightbox-dialog--BV3usxS.js"),M=t=>{var{icon:n,className:o,children:i,forwardedRef:p,variant:u}=t,a=g.__rest(t,["icon","className","children","forwardedRef","variant"]);const f=u==="modal"?"dialog--mini":"infotip",s=e.createElement(F.EbayIcon,{name:n}),r=i instanceof Function?i({icon:s}):i;return e.createElement("button",Object.assign({},a,{className:$("icon-btn icon-btn--transparent",o,`${f}__host`),type:"button",ref:p}),r||s)},E=D.withForwardRef(M),S=({variant:t="default",pointer:n,overlayStyle:o,disabled:i,onExpand:p,onCollapse:u,children:a,initialExpanded:f,icon:s="information16",a11yCloseText:r,"aria-label":H,className:j})=>{const y=e.useRef(null),{isExpanded:l,expandTooltip:v,collapseTooltip:m}=c.useTooltip({onCollapse:u,onExpand:p,initialExpanded:f,hostRef:y}),b=t==="modal",O=e.useRef(null),h=d.findComponent(a,T),q=d.findComponent(a,w),C=d.findComponent(a,E)||e.createElement(E),x=()=>{l?m():v()};if(!q)throw new Error("EbayInfotip: Please use a EbayInfotipContent that defines the content of the infotip");const I=q.props,{children:_}=I,N=g.__rest(I,["children"]);return e.createElement(e.Fragment,null,e.createElement(c.Tooltip,{type:"infotip",isExpanded:l,className:R(j,{"dialog--mini":b}),ref:O},e.createElement(c.TooltipHost,null,e.cloneElement(C,Object.assign({ref:y,onClick:x,disabled:i,variant:t,"aria-label":H,"aria-expanded":l,icon:s},C.props))),!b&&e.createElement(c.TooltipContent,Object.assign({},N,{type:"infotip",style:o,pointer:n,showCloseButton:!0,a11yCloseText:r,onClose:m}),h,_)),b&&e.createElement(B.EbayLightboxDialog,Object.assign({},N,{open:l,onClose:m,a11yCloseText:r,className:"dialog--mini__overlay"}),e.createElement(P.EbayDialogHeader,null,h),_))},T=t=>{var{className:n}=t,o=g.__rest(t,["className"]);return e.createElement("span",Object.assign({},o,{className:R("infotip__heading",n)}))},w=({children:t})=>e.createElement(e.Fragment,null,t);exports.EbayInfotip=S;exports.EbayInfotipContent=w;exports.EbayInfotipHeading=T;exports.EbayInfotipHost=E;
;