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