UNPKG

3.28 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _react = _interopRequireDefault(require("react"));
9
10var _propTypes = _interopRequireDefault(require("prop-types"));
11
12var _reactWithStyles = require("react-with-styles");
13
14var _withStyles = require("../helpers/withStyles");
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18function _extends() { _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; }; return _extends.apply(this, arguments); }
19
20function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
21
22function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
24var propTypes = _objectSpread({}, _reactWithStyles.withStylesPropTypes, {
25 children: _propTypes.default.any.isRequired,
26 disabled: _propTypes.default.bool,
27 inline: _propTypes.default.bool,
28 inverse: _propTypes.default.bool,
29 onClick: _propTypes.default.func,
30 rectangular: _propTypes.default.bool
31});
32
33var Clickable = function Clickable(_ref) {
34 var children = _ref.children,
35 css = _ref.css,
36 disabled = _ref.disabled,
37 inline = _ref.inline,
38 inverse = _ref.inverse,
39 onClick = _ref.onClick,
40 rectangular = _ref.rectangular,
41 styles = _ref.styles;
42 return inline ? _react.default.createElement("span", _extends({
43 onClick: onClick
44 }, css(styles.clickable, disabled && styles.clickable_disabled, inverse && styles.clickable_inverse, rectangular && styles.clickable_rectangular)), children) : _react.default.createElement("div", _extends({
45 onClick: onClick
46 }, css(styles.clickable, disabled && styles.clickable_disabled, inverse && styles.clickable_inverse, rectangular && styles.clickable_rectangular)), children);
47};
48
49Clickable.propTypes = propTypes;
50var ClickableWithStyles = (0, _withStyles.withStyles)(function (_ref2) {
51 var color = _ref2.color,
52 radius = _ref2.radius;
53 return {
54 clickable: {
55 cursor: 'pointer',
56 borderRadius: radius,
57 ':hover': {
58 background: color.shadowWeakest
59 },
60 ':active': {
61 background: color.shadowWeaker
62 }
63 },
64 clickable_disabled: {
65 pointerEvents: 'none',
66 opacity: 0.5
67 },
68 clickable_inverse: {
69 ':hover': {
70 background: color.fogWeakest
71 },
72 ':active': {
73 background: color.fogWeaker
74 }
75 },
76 clickable_rectangular: {
77 borderRadius: 0
78 }
79 };
80})(Clickable);
81var _default = ClickableWithStyles;
82exports.default = _default;
\No newline at end of file