UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 2.49 kB
"use strict";const B=require("./tslib.es6-C4EgNkz1.js"),n=require("react"),S=require("classnames"),H=require("./forwardRef-DBQKIlPy.js");require("./array.polyfill.flat-5BAolFdk.js");const u=require("./icon-CR8ApQBy.js"),L=require("./progress-spinner-BqahPJmn.js"),A={cta:"cta-",fake:"fake-",expand:"expand-",default:""},y=t=>{var{type:r="default",children:a}=t,s=B.__rest(t,["type","children"]);return n.createElement("span",Object.assign({className:`${A[r]}btn__cell`},s),n.createElement(n.Fragment,null,a))},P=()=>n.createElement(y,null,n.createElement(L.EbayProgressSpinner,null)),T=({className:t,children:r})=>n.createElement("span",{className:S(t,"btn__text")},r),G=({children:t})=>t?n.createElement(y,null,n.createElement(T,null,t),n.createElement(u.EbayIcon,{name:"chevronDown12"})):n.createElement(u.EbayIcon,{name:"chevronDown12"}),J=t=>{var{priority:r="secondary",variant:a="standard",size:s,bodyState:f,split:q,transparent:N=!1,fluid:_=!1,disabled:b,partiallyDisabled:k,children:o,onKeyDown:C=()=>{},onEscape:R=()=>{},truncate:I=!1,href:c,className:K,forwardedRef:m,borderless:p,fixedHeight:E}=t,$=B.__rest(t,["priority","variant","size","bodyState","split","transparent","fluid","disabled","partiallyDisabled","children","onKeyDown","onEscape","truncate","href","className","forwardedRef","borderless","fixedHeight"]);const e=c?"fake-btn":"btn",O={primary:`${e}--primary`,secondary:`${e}--secondary`,tertiary:`${e}--tertiary`,none:""},i={large:`${e}--large`,small:`${e}--small`},j={start:`${e}--split-start`,end:`${e}--split-end`},z=a==="destructive",d=a==="form",g=f==="loading",h=f==="expand",F=d&&(Q(o)||h&&!o),v=S(e,K,O[d||p?"none":r],i[s],j[q],z&&`${e}--destructive`,d&&`${e}--form`,F&&`${e}--slim`,N&&`${e}--transparent`,_&&`${e}--fluid`,I&&`${e}--truncated`,p&&`${e}--borderless`,E&&(i[s]?`${i[s]}-${E}`:`${e}--fixed-height`)),w=l=>{C(l),(l.key==="Escape"||l.key==="Esc")&&R(l)},x=M(o,{isLoading:g,isExpand:h}),D=g?"polite":null;return c?n.createElement("a",Object.assign({className:v,href:b?void 0:c,ref:m,onKeyDown:w,"aria-live":D},$),x):n.createElement("button",Object.assign({disabled:b,"aria-disabled":k,"aria-live":D,className:v,ref:m,onKeyDown:w},$),x)};function M(t,{isLoading:r,isExpand:a}){switch(!0){case r:return n.createElement(P,null);case a:return n.createElement(G,null,t);default:return t}}function Q(t){const r=n.Children.toArray(t);return r.length===1&&r[0].type===u.EbayIcon}const U=H.withForwardRef(J);exports.EbayButton=U;exports.EbayButtonCell=y;