UNPKG

material-ui-cordova

Version:

React components that implement Google's Material Design.

192 lines (150 loc) 7.37 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.styles = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _ref; /* eslint-disable jsx-a11y/label-has-for */ var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _withStyles = require('../styles/withStyles'); var _withStyles2 = _interopRequireDefault(_withStyles); var _Typography = require('../Typography'); var _Typography2 = _interopRequireDefault(_Typography); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var babelPluginFlowReactPropTypes_proptype_Element = require('react').babelPluginFlowReactPropTypes_proptype_Element || require('prop-types').any; var babelPluginFlowReactPropTypes_proptype_Node = require('react').babelPluginFlowReactPropTypes_proptype_Node || require('prop-types').any; var styles = exports.styles = function styles(theme) { return { root: { display: 'inline-flex', alignItems: 'center', cursor: 'pointer', // Remove grey highlight WebkitTapHighlightColor: theme.palette.common.transparent, marginLeft: -14, marginRight: theme.spacing.unit * 2 // used for row presentation of radio/checkbox }, disabled: { color: theme.palette.text.disabled, cursor: 'default' }, label: { userSelect: 'none' } }; }; var babelPluginFlowReactPropTypes_proptype_Props = { /** * If `true`, the component appears selected. */ checked: require('prop-types').oneOfType([require('prop-types').bool, require('prop-types').string]), /** * Useful to extend the style applied to components. */ classes: require('prop-types').object, /** * @ignore */ className: require('prop-types').string, /** * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`. */ control: typeof babelPluginFlowReactPropTypes_proptype_Element === 'function' ? babelPluginFlowReactPropTypes_proptype_Element.isRequired ? babelPluginFlowReactPropTypes_proptype_Element.isRequired : babelPluginFlowReactPropTypes_proptype_Element : require('prop-types').shape(babelPluginFlowReactPropTypes_proptype_Element).isRequired, /** * If `true`, the control will be disabled. */ disabled: require('prop-types').bool, /** * Use that property to pass a ref callback to the native input component. */ inputRef: require('prop-types').func, /** * The text to be used in an enclosing label element. */ label: typeof babelPluginFlowReactPropTypes_proptype_Node === 'function' ? babelPluginFlowReactPropTypes_proptype_Node.isRequired ? babelPluginFlowReactPropTypes_proptype_Node.isRequired : babelPluginFlowReactPropTypes_proptype_Node : require('prop-types').shape(babelPluginFlowReactPropTypes_proptype_Node).isRequired, /* * @ignore */ name: require('prop-types').string, /** * Callback fired when the state is changed. * * @param {object} event The event source of the callback * @param {boolean} checked The `checked` value of the switch */ onChange: require('prop-types').func, /** * The value of the component. */ value: require('prop-types').string }; /** * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component. * Use this component if you want to display an extra label. */ function FormControlLabel(props, context) { var checked = props.checked, classes = props.classes, classNameProp = props.className, control = props.control, disabledProp = props.disabled, inputRef = props.inputRef, label = props.label, name = props.name, onChange = props.onChange, value = props.value, other = (0, _objectWithoutProperties3.default)(props, ['checked', 'classes', 'className', 'control', 'disabled', 'inputRef', 'label', 'name', 'onChange', 'value']); var muiFormControl = context.muiFormControl; var disabled = disabledProp; if (typeof control.props.disabled !== 'undefined') { if (typeof disabled === 'undefined') { disabled = control.props.disabled; } } if (muiFormControl) { if (typeof disabled === 'undefined') { disabled = muiFormControl.disabled; } } var className = (0, _classnames2.default)(classes.root, (0, _defineProperty3.default)({}, classes.disabled, disabled), classNameProp); return _react2.default.createElement( 'label', (0, _extends3.default)({ className: className }, other), _react2.default.cloneElement(control, { disabled: disabled, checked: typeof control.props.checked === 'undefined' ? checked : control.props.checked, name: control.props.name || name, onChange: control.props.onChange || onChange, value: control.props.value || value, inputRef: control.props.inputRef || inputRef }), _react2.default.createElement( _Typography2.default, { component: 'span', className: classes.label }, label ) ); } FormControlLabel.propTypes = process.env.NODE_ENV !== "production" ? (_ref = { classes: require('prop-types').object.isRequired, /** * @ignore */ theme: require('prop-types').object, checked: require('prop-types').oneOfType([require('prop-types').bool, require('prop-types').string]) }, (0, _defineProperty3.default)(_ref, 'classes', require('prop-types').object), (0, _defineProperty3.default)(_ref, 'className', require('prop-types').string), (0, _defineProperty3.default)(_ref, 'control', typeof babelPluginFlowReactPropTypes_proptype_Element === 'function' ? babelPluginFlowReactPropTypes_proptype_Element.isRequired ? babelPluginFlowReactPropTypes_proptype_Element.isRequired : babelPluginFlowReactPropTypes_proptype_Element : require('prop-types').shape(babelPluginFlowReactPropTypes_proptype_Element).isRequired), (0, _defineProperty3.default)(_ref, 'disabled', require('prop-types').bool), (0, _defineProperty3.default)(_ref, 'inputRef', require('prop-types').func), (0, _defineProperty3.default)(_ref, 'label', typeof babelPluginFlowReactPropTypes_proptype_Node === 'function' ? babelPluginFlowReactPropTypes_proptype_Node.isRequired ? babelPluginFlowReactPropTypes_proptype_Node.isRequired : babelPluginFlowReactPropTypes_proptype_Node : require('prop-types').shape(babelPluginFlowReactPropTypes_proptype_Node).isRequired), (0, _defineProperty3.default)(_ref, 'name', require('prop-types').string), (0, _defineProperty3.default)(_ref, 'onChange', require('prop-types').func), (0, _defineProperty3.default)(_ref, 'value', require('prop-types').string), _ref) : {}; FormControlLabel.contextTypes = { muiFormControl: _propTypes2.default.object }; exports.default = (0, _withStyles2.default)(styles, { name: 'MuiFormControlLabel' })(FormControlLabel);