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.

44 lines (38 loc) 1.1 kB
import { convertHexToRgba } from "@kiwicom/orbit-design-tokens"; import { TOKENS, TYPE_OPTIONS } from "../consts"; import { BUTTON_STATES } from "../../primitives/ButtonPrimitive/common/consts"; import getButtonTypeToken from "./getButtonTypeToken"; const opacity = { [TYPE_OPTIONS.PRIMARY]: 15, [TYPE_OPTIONS.SECONDARY]: 8, [TYPE_OPTIONS.CRITICAL]: 15, [TYPE_OPTIONS.WHITE]: 8, [TYPE_OPTIONS.PRIMARY_SUBTLE]: 8, [TYPE_OPTIONS.CRITICAL_SUBTLE]: 8, [TYPE_OPTIONS.BUNDLE_BASIC]: 15, [TYPE_OPTIONS.BUNDLE_MEDIUM]: 15, [TYPE_OPTIONS.BUNDLE_TOP]: 15 }; const getButtonBoxShadow = ({ state, disabled, theme, type }) => { const wrappedButtonTypeToken = name => getButtonTypeToken({ 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 getButtonBoxShadow;