camille
Version:
Camille is a minimalistic UI library for ReactJS.
244 lines (196 loc) • 10 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Avatar = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _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); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _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; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var Avatar = function Avatar(_ref) {
var src = _ref.src,
size = _ref.size,
radius = _ref.radius,
status = _ref.status,
style = _ref.style,
rest = _objectWithoutProperties(_ref, ["src", "size", "radius", "status", "style"]);
var styles = {
width: size,
height: size,
borderRadius: radius,
objectFit: 'cover'
};
styles = _objectSpread(_objectSpread({}, styles), style);
return /*#__PURE__*/_react["default"].createElement("img", _extends({
src: src,
style: styles
}, rest));
};
exports.Avatar = Avatar;
Avatar.defaultProps = {
src: 'https://i.pinimg.com/236x/cd/da/4b/cdda4beceee4594f5bdc0cf505a73d8b--camille-lol-league-of-legends-camille.jpg',
size: '40px',
radius: '100px',
status: 'offline'
};
Avatar.propTypes = {
src: _propTypes["default"].string,
size: _propTypes["default"].string,
radius: _propTypes["default"].string,
status: _propTypes["default"].oneOf(['online', 'away', 'offline'])
};
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Button = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _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); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _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; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var determineSize = function determineSize(styles, size) {
switch (size) {
case 'mini':
styles.fontSize = '9px';
styles.padding = '6px 12px';
break;
case 'small':
styles.fontSize = '11px';
styles.padding = '8px 16px';
break;
case 'large':
styles.fontSize = '15px';
styles.padding = '12px 24px';
break;
case 'massive':
styles.fontSize = '17px';
styles.padding = '13px 26px';
break;
case 'normal':
default:
styles.fontSize = '13px';
styles.padding = '10px 20px';
break;
}
};
var determineColor = function determineColor(styles, color) {
switch (color) {
case 'red':
styles.backgroundColor = '#DB2828';
break;
case 'orange':
styles.backgroundColor = '#F2711C';
break;
case 'yellow':
styles.backgroundColor = '#FBBD08';
break;
case 'olive':
styles.backgroundColor = '#B5CC18';
break;
case 'green':
styles.backgroundColor = '#21BA45';
break;
case 'teal':
styles.backgroundColor = '#00b5AD';
break;
case 'blue':
styles.backgroundColor = '#2185D0';
break;
case 'violet':
styles.backgroundColor = '#6435C9';
break;
case 'purple':
styles.backgroundColor = '#A333C8';
break;
case 'pink':
styles.backgroundColor = '#E03997';
break;
case 'brown':
styles.backgroundColor = '#A5673F';
break;
case 'grey':
styles.backgroundColor = '#767676';
break;
case 'black':
styles.backgroundColor = '#1b1C1D';
break;
case 'default':
default:
styles.backgroundColor = '#E0E1E2';
styles.color = '#595959';
break;
}
};
var determineCompact = function determineCompact(styles) {
var newPadding = '';
styles.padding.split(' ').forEach(function (item) {
return newPadding += "".concat(item.replace(/\D/g, '') / 2, "px ");
});
styles.padding = newPadding;
};
var determineInverted = function determineInverted(styles) {
var backgroundColor = styles.backgroundColor;
var color = styles.color;
styles.backgroundColor = color;
styles.color = backgroundColor;
styles.border = "2px solid ".concat(backgroundColor);
};
var Button = function Button(_ref) {
var type = _ref.type,
size = _ref.size,
disabled = _ref.disabled,
compact = _ref.compact,
color = _ref.color,
inverted = _ref.inverted,
children = _ref.children,
style = _ref.style,
rest = _objectWithoutProperties(_ref, ["type", "size", "disabled", "compact", "color", "inverted", "children", "style"]);
var styles = {
color: '#FFFFFF',
backgroundColor: '#E0E1E2',
cursor: disabled ? 'default' : 'pointer',
outline: '0',
fontFamily: 'Helvetica Neue',
fontWeight: '700',
lineHeight: '14px',
border: '2px solid transparent',
borderRadius: '5px',
opacity: disabled ? '.45' : '1'
};
determineSize(styles, size);
determineColor(styles, color);
if (compact) determineCompact(styles);
if (inverted) determineInverted(styles);
styles = _objectSpread(_objectSpread({}, styles), style);
return /*#__PURE__*/_react["default"].createElement("button", _extends({
style: styles,
disabled: disabled
}, rest), children);
};
exports.Button = Button;
Button.defaultProps = {
type: 'default',
size: 'normal',
disabled: false,
compact: false,
color: 'default',
inverted: false
};
Button.propTypes = {
type: _propTypes["default"].oneOf(['default', 'basic', 'inverted', 'text']),
size: _propTypes["default"].oneOf(['mini', 'small', 'normal', 'large', 'massive']),
disabled: _propTypes["default"].bool,
compact: _propTypes["default"].bool,
color: _propTypes["default"].oneOf(['default', 'red', 'orange', 'yellow', 'olive', 'green', 'teal', 'blue', 'violet', 'purple', 'pink', 'brown', 'grey', 'black']),
inverted: _propTypes["default"].bool
};