@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
78 lines (62 loc) • 2.82 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var React = _interopRequireWildcard(require("react"));
var _consts = require("../../primitives/ButtonPrimitive/common/consts");
var _getBoxShadow = _interopRequireDefault(require("./helpers/getBoxShadow"));
var _getPadding = _interopRequireDefault(require("../../primitives/ButtonPrimitive/common/getPadding"));
var _useTheme = _interopRequireDefault(require("../../hooks/useTheme"));
var _ButtonPrimitive = _interopRequireDefault(require("../../primitives/ButtonPrimitive"));
var _consts2 = require("./consts");
var Button = function Button(_ref) {
var selected = _ref.selected,
iconLeft = _ref.iconLeft,
iconRight = _ref.iconRight,
disabled = _ref.disabled,
_ref$height = _ref.height,
height = _ref$height === void 0 ? _consts2.BUTTON_SIZE : _ref$height,
_ref$width = _ref.width,
width = _ref$width === void 0 ? _consts2.BUTTON_SIZE : _ref$width,
children = _ref.children,
props = (0, _objectWithoutProperties2.default)(_ref, ["selected", "iconLeft", "iconRight", "disabled", "height", "width", "children"]);
var theme = (0, _useTheme.default)();
var onlyIcon = Boolean(iconLeft && !children);
var padding = (0, _getPadding.default)(onlyIcon, iconRight, iconLeft, "small", theme);
var wrappedBoxShadow = function wrappedBoxShadow(state) {
return (0, _getBoxShadow.default)({
state: state,
disabled: disabled,
theme: theme,
selected: selected
});
};
var boxShadow = {
boxShadow: wrappedBoxShadow(_consts.BUTTON_STATES.DEFAULT),
boxShadowHover: wrappedBoxShadow(_consts.BUTTON_STATES.HOVER),
boxShadowActive: wrappedBoxShadow(_consts.BUTTON_STATES.ACTIVE),
boxShadowFocus: wrappedBoxShadow(_consts.BUTTON_STATES.FOCUS)
};
return /*#__PURE__*/React.createElement(_ButtonPrimitive.default, (0, _extends2.default)({
circled: true,
contentAlign: "center",
icons: {
width: _consts2.ICON_SIZE,
height: _consts2.ICON_SIZE,
foreground: selected ? theme.orbit.paletteWhite : theme.orbit.paletteInkNormal
},
background: selected ? theme.orbit.paletteBlueNormal : theme.orbit.paletteCloudDark,
iconLeft: iconLeft,
height: height,
width: width,
disabled: disabled,
padding: padding
}, props, boxShadow));
};
var _default = Button;
exports.default = _default;