UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

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