UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

156 lines (113 loc) 6.38 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral'); var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _templateObject = (0, _taggedTemplateLiteral3.default)(['\n padding: 6px;\n z-index: auto;\n position: relative;\n'], ['\n padding: 6px;\n z-index: auto;\n position: relative;\n']), _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\n font-size: 16px;\n color: color(black, light);\n text-transform: uppercase;\n ', '\n white-space: nowrap;\n'], ['\n font-size: 16px;\n color: color(black, light);\n text-transform: uppercase;\n ', '\n white-space: nowrap;\n']), _templateObject3 = (0, _taggedTemplateLiteral3.default)(['\n position: absolute;\n right: 0;\n top: 100%;\n width: 300px;\n z-index: 1;\n background-color: white;\n box-shadow: 0 1px 2px 1px ', ';\n padding: 5px 0;\n'], ['\n position: absolute;\n right: 0;\n top: 100%;\n width: 300px;\n z-index: 1;\n background-color: white;\n box-shadow: 0 1px 2px 1px ', ';\n padding: 5px 0;\n']), _templateObject4 = (0, _taggedTemplateLiteral3.default)(['\n padding: 8px 14px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n ', '\n'], ['\n padding: 8px 14px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n ', '\n']), _templateObject5 = (0, _taggedTemplateLiteral3.default)(['\n width: 20px;\n height: 20px;\n position: relative;\n'], ['\n width: 20px;\n height: 20px;\n position: relative;\n']), _templateObject6 = (0, _taggedTemplateLiteral3.default)(['\n ', '\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n background-color: ', ';\n'], ['\n ', '\n display: flex;\n justify-content: center;\n align-items: center;\n color: white;\n background-color: ', ';\n']); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _md = require('react-icons/lib/md'); var _reactSpinjs = require('react-spinjs'); var _reactSpinjs2 = _interopRequireDefault(_reactSpinjs); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _hover = require('components/utils/hover'); var _hover2 = _interopRequireDefault(_hover); var _auto_bind = require('common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _styles = require('common/styles'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SecondaryActions = function (_Component) { (0, _inherits3.default)(SecondaryActions, _Component); function SecondaryActions(props) { (0, _classCallCheck3.default)(this, SecondaryActions); var _this = (0, _possibleConstructorReturn3.default)(this, (SecondaryActions.__proto__ || (0, _getPrototypeOf2.default)(SecondaryActions)).call(this, props)); (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(SecondaryActions, [{ key: 'render_action', value: function render_action(_ref, id) { var onClick = _ref.onClick, label = _ref.label, badge = _ref.badge, loading = _ref.loading, disabled = _ref.disabled; return _react2.default.createElement( Action, { onClick: !loading && !disabled && onClick, key: id, disabled: disabled }, label, badge ? _react2.default.createElement( Badge, null, badge ) : null, loading ? _react2.default.createElement( Loading, null, _react2.default.createElement(_reactSpinjs2.default, { config: { length: 4, width: 2, radius: 5 } }) ) : null ); } }, { key: 'render', value: function render() { var _this2 = this; var _props = this.props, actions = _props.children, active = _props.active; return _react2.default.createElement( _hover2.default, null, function (hover) { return _react2.default.createElement( Container, null, _react2.default.createElement( Label, { active: active }, 'Action ', _react2.default.createElement(_md.MdKeyboardArrowDown, null) ), hover ? _react2.default.createElement( Actions, null, actions.map(_this2.render_action) ) : null ); } ); } }]); return SecondaryActions; }(_react.Component); exports.default = SecondaryActions; var Container = _styledComponents2.default.div(_templateObject); var Label = _styledComponents2.default.div(_templateObject2, function (_ref2) { var active = _ref2.active; return active ? 'color: ' + (0, _styles.color)('action') + ';' : ''; }); var Actions = _styledComponents2.default.div(_templateObject3, (0, _styles.color)('black', 'bright')); var Action = _styledComponents2.default.div(_templateObject4, function (_ref3) { var onClick = _ref3.onClick, disabled = _ref3.disabled; return disabled ? '\n opacity: 0.54;\n ' + _styles.disabled_link + '\n ' : onClick ? '\n ' + _styles.link + '\n &:hover {\n opacity: 1;\n background-color: ' + (0, _styles.color)('black', 'pale') + ';\n }\n ' : ''; }); var Loading = _styledComponents2.default.div(_templateObject5); var Badge = _styledComponents2.default.div(_templateObject6, (0, _styles.circle)(20), (0, _styles.color)('action'));