@guruhotel/aura-ui
Version:
⚛️ React UI library by GuruHotel
1 lines • 2.19 kB
JavaScript
var e=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=!0,exports.InputRightElement=exports.InputRightAddon=exports.InputLeftElement=exports.InputLeftAddon=exports.InputGroup=exports.Input=void 0;var t=e(require("react")),n=require("./input.styles"),s=require("react/jsx-runtime");const r=e=>{const{isDisabled:t,ref:r,className:o,...d}=e;return(0,s.jsx)(n.StyledInput,{className:`input ${o}`,ref:r,disabled:!!t,...d})};exports.Input=r,r.toString=()=>".input";const o=({content:e,className:t,...r})=>(0,s.jsx)(n.StyledInputLeftElement,{className:`left-element ${t}`,...r,children:e});exports.InputLeftElement=o,o.toString=()=>".left-element";const d=({content:e,className:t,...r})=>(0,s.jsx)(n.StyledInputRightElement,{className:`right-element ${t}`,...r,children:e});exports.InputRightElement=d,d.toString=()=>".right-element";const i=({content:e,className:t,...r})=>(0,s.jsx)(n.StyledInputLeftAddon,{className:`left-addon ${t}`,...r,children:e});exports.InputLeftAddon=i,i.toString=()=>".left-addon";const l=({content:e,className:t,...r})=>(0,s.jsx)(n.StyledInputRightAddon,{className:`right-addon ${t}`,...r,children:e});exports.InputRightAddon=l,l.toString=()=>".right-addon";const p=({children:e,size:p,colorScheme:u,isDisabled:a,rounded:c,css:m,ref:f,...h})=>{const I=t.default.Children.toArray(e),x=I.find((e=>e.type===o)),g=I.find((e=>e.type===i)),y=I.find((e=>e.type===d)),R=I.find((e=>e.type===l)),S=t.default.Children.map(e,(e=>{const n=e;if(n.type===r)return t.default.cloneElement(n,{size:p,colorScheme:u,isDisabled:a,rounded:c,ref:f,hasLeftElement:!!x,hasRightElement:!!y,css:{...n.props.css,zIndex:2,borderTopLeftRadius:g?0:void 0,borderBottomLeftRadius:g?0:void 0,borderTopRightRadius:R?0:void 0,borderBottomRightRadius:R?0:void 0},...h});if(n.type===i||n.type===l)return t.default.cloneElement(n,{size:p,rounded:c,css:{...n.props.css,zIndex:1}});if(n.type===o||n.type===d)return t.default.cloneElement(n,{size:p,css:{...n.props.css,zIndex:3}});throw new Error("InputGroup only accepts Input, InputLeftAddon and InputRightAddon as children")}));return(0,s.jsx)(n.StyledInputContainer,{css:m,children:S})};exports.InputGroup=p,p.displayName="InputGroup";