{"version":3,"sources":["index.jsx"],"names":["Input","props","React","useState","value","handleChange","inputValid","setInputInvalid","id","type","placeholder","disabled","loading","error","success","autoFocus","e","currentTarget","match","test","key","onEvent","data","event","origin","testMessage","defaultProps","propTypes","PropTypes","bool","any","string","isRequired","func","object"],"mappings":"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","sourcesContent":["import React, {useState} from 'react'\nimport PropTypes from 'prop-types'\nimport Container, { Row, Column } from '../Grid'\nimport\n  StyledInput,\n  {\n    StyledIconLoading,\n    StyledIconError,\n    StyledErrorMessage,\n  }\nfrom \"./styles\"\n\nconst Input = props => {\n  const [value, handleChange] = React.useState(props.value);\n  const [inputValid, setInputInvalid] = React.useState(true);\n\n  return (\n    <>\n          <StyledInput\n            id={props.id}\n            type={props.type}\n            placeholder={props.placeholder}\n            disabled={props.disabled || props.loading}\n            error={props.error || !inputValid}\n            loading={props.loading}\n            success={props.success}\n            autoFocus={props.autoFocus}\n            value={value}\n            onChange={e => {\n              handleChange(e.currentTarget.value)\n\n              if (e.currentTarget.value) {\n                setInputInvalid(e.currentTarget.value.match(props.test))\n              } else {\n                setInputInvalid(true)\n              }\n            }}\n            onKeyUp={e => {\n              if (e.key === \"Enter\") {\n                inputValid && props.onEvent({\n                  data: {\n                    value,\n                    data: props.data\n                  },\n                  event: \"onKeyUpAction\",\n                  origin: \"Input\"\n                })\n              } else {\n                handleChange(e.currentTarget.value)\n                inputValid && props.onEvent({\n                    data: {\n                      value: e.currentTarget.value,\n                      data: props.data\n                    },\n                    event: \"onKeyUp\",\n                    origin: \"Input\"\n                  })\n                }\n\n            }}\n\n            onFocus={() => {\n              inputValid && props.onEvent({\n                data: {\n                  value,\n                  data: props.data\n                },\n                event: \"onFocus\",\n                origin: \"Input\"\n              })\n            }}\n\n            onBlur={() => {\n              inputValid && props.onEvent({\n                data: {\n                  value,\n                  key: props.data\n                },\n                event: \"onBlur\",\n                origin: \"Input\"\n              })\n            }}\n          />\n          {\n            props.loading && <StyledIconLoading />\n          }\n          {\n            (props.error || !inputValid) &&\n            <>\n              <StyledIconError />\n              <StyledErrorMessage>\n                {\n                  !inputValid ? props.testMessage : props.error\n                }\n              </StyledErrorMessage>\n            </>\n          }\n        </>\n  )\n}\n\nInput.defaultProps = {\n  type: \"text\",\n  testMessage: \"\",\n  disabled: false,\n  loading: false,\n  placeholder: '',\n  onEvent: () => {}\n}\n\nInput.propTypes = {\n  disabled: PropTypes.bool,\n  test: PropTypes.any,\n  loading: PropTypes.bool,\n  placeholder: PropTypes.string,\n  type: PropTypes.string,\n  testMessage: PropTypes.string,\n  value: PropTypes.string.isRequired,\n  onEvent: PropTypes.func,\n  data: PropTypes.object,\n}\n\nexport default Input\n"]}