@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.
34 lines (28 loc) • 1.06 kB
JavaScript
import { convertHexToRgba } from "@kiwicom/orbit-design-tokens";
import { TOKENS, TYPE_OPTIONS } from "../consts";
import { BUTTON_STATES } from "../../../primitives/ButtonPrimitive/common/consts";
import getAlertButtonTypeToken from "./getAlertButtonTypeToken";
const opacity = {
[TYPE_OPTIONS.INFO]: 15,
[TYPE_OPTIONS.SUCCESS]: 15,
[TYPE_OPTIONS.WARNING]: 15,
[TYPE_OPTIONS.CRITICAL]: 15,
[TYPE_OPTIONS.INFO_SUBTLE]: 8,
[TYPE_OPTIONS.SUCCESS_SUBTLE]: 8,
[TYPE_OPTIONS.WARNING_SUBTLE]: 8,
[TYPE_OPTIONS.CRITICAL_SUBTLE]: 8
};
const getAlertButtonBoxShadow = (state, disabled, theme, type) => {
const wrappedButtonTypeToken = name => getAlertButtonTypeToken(name, type, theme);
if (disabled) {
return null;
}
if (state === BUTTON_STATES.ACTIVE) {
return `inset 0 0 6px 3px ${convertHexToRgba(theme.orbit.paletteInkNormal, opacity[type])};`;
}
if (state === BUTTON_STATES.FOCUS) {
return `0 0 0 3px ${wrappedButtonTypeToken(TOKENS.borderColorButtonFocus)}`;
}
return null;
};
export default getAlertButtonBoxShadow;