Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 1x 7x 1x 1x | import PropTypes from 'prop-types'
import AtomRadioButton from '@s-ui/react-atom-radio-button'
import {AtomValidationTextTypes} from '@s-ui/react-atom-validation-text'
import MoleculeField from '@s-ui/react-molecule-field'
import {BASE_CLASS} from './settings.js'
const MoleculeRadioButtonField = ({
id,
label,
nodeLabel,
successText,
errorText,
alertText,
helpText,
status,
statusText,
onChange,
onClickLabel,
fullWidth,
...props
}) => {
return (
<div className={BASE_CLASS}>
<MoleculeField
name={id}
label={label}
nodeLabel={nodeLabel}
successText={successText}
errorText={errorText}
alertText={alertText}
helpText={helpText}
onChange={onChange}
status={status}
statusText={statusText}
onClickLabel={onClickLabel}
fullWidth={fullWidth}
inline
reverse
isAligned
>
<AtomRadioButton id={id} {...props} />
</MoleculeField>
</div>
)
}
MoleculeRadioButtonField.displayName = 'MoleculeRadioButtonField'
MoleculeRadioButtonField.propTypes = {
/** Text to be displayed as label */
label: PropTypes.string,
/** React node to be displayed as label if there is not a label */
nodeLabel: PropTypes.element,
/** used as label for attribute and input element id */
id: PropTypes.string,
/* onChange callback */
onChange: PropTypes.func,
/* onClickLabel callback */
onClickLabel: PropTypes.func,
/** Success message to display when success state */
successText: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
/** Error message to display when error state */
errorText: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
/** Alert message to display when alert state */
alertText: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
/** Help Text to display */
helpText: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
/** Boolean to decide if elements should be set inline */
inline: PropTypes.bool,
/** Makes nodeLabelContainer full width */
fullWidth: PropTypes.bool,
/** set the field status (ERROR, SUCCESS, ALERT) */
status: PropTypes.oneOf(Object.values(AtomValidationTextTypes)),
/** status field text **/
statusText: PropTypes.string
}
export default MoleculeRadioButtonField
export {AtomValidationTextTypes as MoleculeRadioButtonFieldStatus}
|