UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 1.75 kB
"use strict";const F=require("./tslib.es6-C4EgNkz1.js"),c=require("react"),j=require("classnames"),a=require("./icon-CR8ApQBy.js"),I=require("./label-BRztS0pw.js"),O=require("./utils-C9NL3q0j.js"),w=o=>typeof o<"u",D=o=>{var{id:d,size:t="default",className:r,style:k,checked:h,defaultChecked:u=!1,onChange:b=()=>{},onFocus:m=()=>{},onKeyDown:g=()=>{},children:i,inputRef:v}=o,C=F.__rest(o,["id","size","className","style","checked","defaultChecked","onChange","onFocus","onKeyDown","children","inputRef"]);const[y,_]=c.useState(u),x=n=>{const e=n.target;b(n,{value:e?.value,checked:!!e?.checked}),_(e?.checked)},E=n=>{var e,l;return m(n,{value:(e=n.target)===null||e===void 0?void 0:e.value,checked:!!(!((l=n.target)===null||l===void 0)&&l.checked)})},p=n=>{const e=n.target;g(n,{value:e.value,checked:!!e.checked})},f=j("checkbox",r,{"checkbox--large":t==="large"}),N=t==="large"?c.createElement(a.EbayIcon,{name:"checkboxChecked24",className:"checkbox__checked"}):c.createElement(a.EbayIcon,{name:"checkboxChecked18",className:"checkbox__checked"}),q=t==="large"?c.createElement(a.EbayIcon,{name:"checkboxUnchecked24",className:"checkbox__unchecked"}):c.createElement(a.EbayIcon,{name:"checkboxUnchecked18",className:"checkbox__unchecked"}),s=O.findComponent(i,I.Label);return c.createElement(c.Fragment,null,c.createElement("span",{className:f,style:Object.assign(Object.assign({},k),{alignItems:"center"})},c.createElement("input",Object.assign({},C,{id:d,className:"checkbox__control",type:"checkbox",checked:w(h)?h:y,onChange:x,onFocus:E,onKeyDown:p,ref:v})),c.createElement("span",{className:"checkbox__icon",hidden:!0},N,q)),s?c.cloneElement(s,Object.assign(Object.assign({},s.props),{position:"end",htmlFor:d})):i)};exports.EbayCheckbox=D;