UNPKG

@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
"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;