@ebay/ui-core-react
Version:
Skin components build off React
2 lines (1 loc) • 3.44 kB
JavaScript
;const h=require("./tslib.es6-C4EgNkz1.js"),o=require("react"),re=require("classnames"),ce=require("./forwardRef-DBQKIlPy.js"),p=require("./utils-C9NL3q0j.js"),w=require("./icon-I30uh1Ov.js"),ue=require("./icon-button-AJ6dtyvc.js"),de=require("./hooks-uidlIIid.js"),K=t=>{var{children:s,name:a,icon:l,buttonAriaLabel:i,onClick:u=()=>{}}=t,d=h.__rest(t,["children","name","icon","buttonAriaLabel","onClick"]);return a||l?i?o.createElement(ue.EbayIconButton,Object.assign({"aria-label":i,icon:l||a,transparent:!0,onClick:u},d)):l||o.createElement(w.EbayIcon,Object.assign({name:a},d)):s},P=t=>o.createElement("span",Object.assign({},t)),F=t=>{var{children:s,name:a,icon:l}=t,i=h.__rest(t,["children","name","icon"]);return a?o.createElement(w.EbayIcon,Object.assign({name:a},i)):l||s},_=t=>o.createElement("span",Object.assign({},t)),m=t=>typeof t<"u",be=t=>{var s,a,{type:l="text",invalid:i,fluid:u,multiline:d,onChange:q=()=>{},onInputChange:B=()=>{},onFocus:j=()=>{},onBlur:k=()=>{},onKeyPress:O=()=>{},onKeyUp:V=()=>{},onKeyDown:N=()=>{},onInvalid:S=()=>{},onFloatingLabelInit:R=()=>{},onButtonClick:D=()=>{},autoFocus:E,defaultValue:g="",value:y,forwardedRef:U,inputSize:C="default",floatingLabel:z,floatingLabelStatic:$,children:b,placeholder:A,opaqueLabel:M}=t,c=h.__rest(t,["type","invalid","fluid","multiline","onChange","onInputChange","onFocus","onBlur","onKeyPress","onKeyUp","onKeyDown","onInvalid","onFloatingLabelInit","onButtonClick","autoFocus","defaultValue","value","forwardedRef","inputSize","floatingLabel","floatingLabelStatic","children","placeholder","opaqueLabel"]);const[I,W]=o.useState(g),[G,H]=o.useState(g),T=de.useFloatingLabel({text:z,disabled:c.disabled,size:C,invalid:i,opaqueLabel:M,static:$||l==="date",onMount:R,containerTagName:u?"div":"span"}),L=n=>{var e;j(n,{value:((e=n?.target)===null||e===void 0?void 0:e.value)||g})},J=n=>{var e;const r=(e=n.target)===null||e===void 0?void 0:e.value;k(n,{value:r}),r!==I&&(q(n,{value:r}),W(r))},Q=n=>{const e=n.target;O(n,{value:e?.value})},X=n=>{const e=n.target;V(n,{value:e?.value})},Y=n=>{const e=n.target;N(n,{value:e?.value})},Z=n=>{const e=n.target;S(n,{value:e?.value})},ee=n=>{D(n,{value:I})};o.useEffect(()=>{E&&L()},[]);const ne=n=>{var e;const r=(e=n.target)===null||e===void 0?void 0:e.value;m(y)||H(r),B(n,{value:r})},te=d?"textarea":"input",oe=u?"div":"span",ae=p.findComponent(b,F),x=p.findComponent(b,_),le=(s=x?.props)===null||s===void 0?void 0:s.id,v=p.findComponent(b,K),f=p.findComponent(b,P),ie=(a=f?.props)===null||a===void 0?void 0:a.id,se=re("textbox",c.className,{"textbox--fluid":u,"textbox--large":C==="large","textbox--disabled":c.disabled,"textbox--invalid":i,"textbox--readonly":c.readOnly});return o.createElement(T.Container,null,o.createElement(T.Label,{htmlFor:c.id}),o.createElement(oe,{className:se},ae,x,o.createElement(te,Object.assign({"aria-describedby":[le,ie].filter(Boolean).join(" ")||void 0},c,{className:"textbox__control",type:l,"aria-invalid":i,value:m(y)?y:G,onChange:ne,onBlur:J,onFocus:L,onKeyPress:Q,onKeyUp:X,onKeyDown:Y,onInvalid:Z,autoFocus:E,ref:U,placeholder:A})),f,v&&o.cloneElement(v,Object.assign(Object.assign({},v.props),{onClick:n=>{const{onClick:e=()=>{}}=v.props;e(n),ee(n)}}))))},xe=ce.withForwardRef(be);exports.EbayTextbox=xe;exports.EbayTextboxPostfixIcon=K;exports.EbayTextboxPostfixText=P;exports.EbayTextboxPrefixIcon=F;exports.EbayTextboxPrefixText=_;exports.isControlled=m;