github.com/replicatedhq/ship@v0.55.0/web/init/src/components/kustomize/HelmAdvancedInput.jsx (about) 1 import React from "react"; 2 import PropTypes from "prop-types"; 3 import ConfigItemTitle from "../config_render/ConfigItemTitle"; 4 5 export default class HelmAdvancedInput extends React.Component { 6 7 handleOnChange = (e) => { 8 const { onChange } = this.props; 9 onChange(e.target.value); 10 } 11 12 render() { 13 const { 14 value, 15 title, 16 subTitle, 17 placeholder, 18 } = this.props; 19 20 return ( 21 <div className={`field field-type-text u-marginTop--15`}> 22 <ConfigItemTitle 23 title={title} 24 /> 25 <p className="u-color--dustyGray u-fontSize--normal u-marginTop--normal u-marginBottom--20">{subTitle}</p> 26 <div className="field-input-wrapper u-marginTop--15"> 27 <input 28 type={this.props.inputType} 29 {...this.props.props} 30 placeholder={placeholder} 31 value={value} 32 onChange={this.handleOnChange} 33 className={`${this.props.className || ""} Input`} /> 34 </div> 35 </div> 36 ); 37 } 38 } 39 40 HelmAdvancedInput.propTypes = { 41 value: PropTypes.string.isRequired, 42 onChange: PropTypes.func.isRequired, 43 title: PropTypes.string.isRequired, 44 subTitle: PropTypes.string.isRequired, 45 placeholder: PropTypes.string, 46 };