UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 1.05 kB
"use strict";const w=require("./tslib.es6-C4EgNkz1.js"),e=require("react"),p=require("classnames"),q=require("./icon-CR8ApQBy.js"),N=require("./badge-BWhBKWCu.js"),$=require("./forwardRef-DBQKIlPy.js");require("./array.polyfill.flat-5BAolFdk.js");const D=s=>{var{href:r,icon:d,badgeNumber:t,badgeAriaLabel:m,transparent:y,className:E,forwardedRef:o,size:c,onEscape:f=()=>{},onKeyDown:g=()=>{}}=s,i=w.__rest(s,["href","icon","badgeNumber","badgeAriaLabel","transparent","className","forwardedRef","size","onEscape","onKeyDown"]);const n=r?"icon-link":"icon-btn",b=p(E,n,c&&`${n}--${c}`,{[`${n}--badged`]:t,[`${n}--transparent`]:y}),l=e.createElement(e.Fragment,null,e.createElement(q.EbayIcon,{name:d}),t&&e.createElement(N.EbayBadge,{type:"icon",number:t,"aria-label":m})),u=a=>{(a.key==="Escape"||a.key==="Esc")&&f(a),g(a)};return r?e.createElement("a",Object.assign({ref:o,className:b,href:r,onKeyDown:u},i),l):e.createElement("button",Object.assign({ref:o,type:"button",className:b,onKeyDown:u},i),l)},R=$.withForwardRef(D);exports.EbayIconButton=R;