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.

58 lines (45 loc) 1.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _orbitDesignTokens = require("@kiwicom/orbit-design-tokens"); var _consts = require("../consts"); var _consts2 = require("../../primitives/ButtonPrimitive/common/consts"); var _getButtonTypeToken = _interopRequireDefault(require("./getButtonTypeToken")); const opacity = { [_consts.TYPE_OPTIONS.PRIMARY]: 15, [_consts.TYPE_OPTIONS.SECONDARY]: 8, [_consts.TYPE_OPTIONS.CRITICAL]: 15, [_consts.TYPE_OPTIONS.WHITE]: 8, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: 8, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: 8, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: 15, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: 15, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: 15 }; const getButtonBoxShadow = ({ state, disabled, theme, type }) => { const wrappedButtonTypeToken = name => (0, _getButtonTypeToken.default)({ name, type, theme }); if (disabled) { return null; } if (state === _consts2.BUTTON_STATES.ACTIVE) { return `inset 0 0 6px 3px ${(0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteInkNormal, opacity[type])};`; } if (state === _consts2.BUTTON_STATES.FOCUS) { return `0 0 0 3px ${wrappedButtonTypeToken(_consts.TOKENS.borderColorButtonFocus)}`; } return null; }; var _default = getButtonBoxShadow; exports.default = _default;