diff options
Diffstat (limited to 'src/react/Input.js')
-rw-r--r-- | src/react/Input.js | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/react/Input.js b/src/react/Input.js deleted file mode 100644 index 5760637..0000000 --- a/src/react/Input.js +++ /dev/null @@ -1,88 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import SVGIcon from './SVGIcon.js'; - -class Input extends React.Component { - - render() { - let {className, disabled, errorMessage, readOnly, label, name, value, type, placeholder, isRequired} = this.props; - let dataTestId = this.props['data-test-id']; - let inputClasses = `sdc-input__input ${errorMessage ? 'error' : ''} ${readOnly ? 'view-only' : ''}`; - let labelClasses = `sdc-input__label ${readOnly ? 'view-only' : ''} ${isRequired ? 'required' : ''}`; - - return ( - <div className={`sdc-input ${className || ''}`}> - - <label className={labelClasses} htmlFor={name}>{label}</label> - <input className={inputClasses} - disabled={disabled} - readOnly={readOnly} - type={type} - id={name} - name={name} - value={this.props.value} - placeholder={placeholder} - data-test-id={dataTestId} - onBlur={(e) => this.onBlur(e)} - onKeyDown={(e) => this.onKeyDown(e)} - onChange={(e) => this.onChange(e)}/> - { errorMessage && <div className="sdc-label__error"> - <SVGIcon - label={errorMessage} - labelPosition='right' - color='negative' - name='exclamationTriangleFull' /> - </div>} - </div> - ); - } - - onChange(e) { - let {onChange, readOnly, disabled} = this.props; - if (onChange && !readOnly && !disabled) { - onChange(e.target.value); - } - } - - onBlur(e) { - let {onBlur, readOnly} = this.props; - if (!readOnly && onBlur) { - onBlur(e); - } - } - - onKeyDown(e) { - let {onKeyDown, readOnly} = this.props; - if (!readOnly && onKeyDown) { - onKeyDown(e); - } - } - - getValue() { - return this.props.value; - } - -} -Input.propTypes = { - name: PropTypes.string, - value: PropTypes.string, - type: PropTypes.oneOf(['text', 'number']), - placeholder : PropTypes.string, - onChange: PropTypes.func, - onBlur: PropTypes.func, - onKeyDown: PropTypes.func, - errorMessage: PropTypes.string, - readOnly: PropTypes.bool, - isRequired: PropTypes.bool, - disabled: PropTypes.bool, - label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), - className: PropTypes.string -}; - -Input.defaultProps = { - type: 'text', - readOnly: false, - isRequired: false, - disabled: false -}; -export default Input; |