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