hiromi
Version:
React components for Bulma. http://bulma.io/
130 lines (95 loc) • 3.99 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.HorizontalControl = exports.default = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
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 _Icon = require('../Icon');
var _Icon2 = _interopRequireDefault(_Icon);
var _Label = require('../Label');
var _Label2 = _interopRequireDefault(_Label);
var _utils = require('../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var Control = function Control(_ref) {
var iconTag = _ref.iconTag;
var iconRight = _ref.iconRight;
var hasAddons = _ref.hasAddons;
var prefix = _ref.prefix;
var suffix = _ref.suffix;
var isGrouped = _ref.isGrouped;
var isHorizontal = _ref.isHorizontal;
var className = _ref.className;
var children = _ref.children;
var props = _objectWithoutProperties(_ref, ['iconTag', 'iconRight', 'hasAddons', 'prefix', 'suffix', 'isGrouped', 'isHorizontal', 'className', 'children']);
var hasIcon = !!iconTag;
var icon = hasIcon ? _react2.default.createElement(_Icon2.default, { tag: iconTag, hasSpan: false }) : null;
var _modifierClassList = (0, _utils.modifierClassList)(props);
var classList = _modifierClassList.classList;
var finalProps = _objectWithoutProperties(_modifierClassList, ['classList']);
classList = (0, _classnames2.default)('control', className, classList, {
'has-icon': hasIcon,
'has-icon-right': iconRight,
'has-addons': hasAddons,
'is-grouped': isGrouped
});
return _react2.default.createElement(
'div',
_extends({ className: classList }, finalProps),
prefix,
children,
icon,
suffix
);
};
Control.propTypes = _extends({
iconTag: _propTypes2.default.string,
iconRight: _propTypes2.default.bool,
hasAddons: _propTypes2.default.bool,
isGrouped: _propTypes2.default.bool,
prefix: _propTypes2.default.node,
suffix: _propTypes2.default.node,
children: _propTypes2.default.node
}, _utils.defaultReactProps);
Control.defaultProps = _extends({
iconRight: false,
hasAddons: false,
isGrouped: false
}, _utils.defaultReactPropsValues);
var HorizontalControl = function HorizontalControl(_ref2) {
var label = _ref2.label;
var className = _ref2.className;
var children = _ref2.children;
var props = _objectWithoutProperties(_ref2, ['label', 'className', 'children']);
var _modifierClassList2 = (0, _utils.modifierClassList)(props);
var classList = _modifierClassList2.classList;
var finalProps = _objectWithoutProperties(_modifierClassList2, ['classList']);
classList = (0, _classnames2.default)('control', className, 'is-horizontal', classList);
return _react2.default.createElement(
'div',
_extends({ className: classList }, finalProps),
_react2.default.createElement(
'div',
{ className: 'control-label' },
_react2.default.createElement(
_Label2.default,
null,
label
)
),
children
);
};
HorizontalControl.propTypes = _extends({
label: _propTypes2.default.string,
children: _propTypes2.default.element.isRequired
}, _utils.defaultReactProps);
HorizontalControl.defaultProps = _extends({}, _utils.defaultReactPropsValues);
exports.default = Control;
exports.HorizontalControl = HorizontalControl;