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.

113 lines (108 loc) 7.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _orbitDesignTokens = require("@kiwicom/orbit-design-tokens"); var _consts = require("../consts"); const getButtonTypeToken = ({ name, type, theme }) => { const tokens = { [_consts.TOKENS.backgroundButton]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.backgroundButtonPrimary, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.backgroundButtonSecondary, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.backgroundButtonCritical, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.backgroundButtonWhite, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductLight, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedLight, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.backgroundButtonBundleBasic, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.backgroundButtonBundleMedium, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.backgroundButtonBundleTop }, [_consts.TOKENS.backgroundButtonHover]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.backgroundButtonPrimaryHover, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.backgroundButtonSecondaryHover, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.backgroundButtonCriticalHover, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.backgroundButtonWhiteHover, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductLightHover, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedLightHover, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.backgroundButtonBundleBasicHover, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.backgroundButtonBundleMediumHover, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.backgroundButtonBundleTopHover }, [_consts.TOKENS.backgroundButtonActive]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.backgroundButtonPrimaryActive, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.backgroundButtonSecondaryActive, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.backgroundButtonCriticalActive, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.backgroundButtonWhiteActive, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductLightActive, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedLightActive, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.backgroundButtonBundleBasicActive, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.backgroundButtonBundleMediumActive, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.backgroundButtonBundleTopActive }, [_consts.TOKENS.backgroundButtonFocus]: { [_consts.TYPE_OPTIONS.PRIMARY]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteProductNormal, 10), [_consts.TYPE_OPTIONS.SECONDARY]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteInkLight, 10), [_consts.TYPE_OPTIONS.CRITICAL]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteRedNormal, 10), [_consts.TYPE_OPTIONS.WHITE]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteWhite, 20), [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductLight, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedLight, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.backgroundButtonBundleBasic, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.backgroundButtonBundleMedium, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.backgroundButtonBundleTop }, [_consts.TOKENS.colorTextButton]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.colorTextButtonPrimary, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.colorTextButtonSecondary, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.colorTextButtonCritical, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.colorTextButtonWhite, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductNormal, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedNormal, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.paletteWhite }, [_consts.TOKENS.colorTextButtonHover]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.colorTextButtonPrimaryHover, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.colorTextButtonSecondaryHover, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.colorTextButtonCriticalHover, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.colorTextButtonWhiteHover, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductDark, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedDark, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.paletteWhite }, [_consts.TOKENS.colorTextButtonActive]: { [_consts.TYPE_OPTIONS.PRIMARY]: theme.orbit.colorTextButtonPrimaryActive, [_consts.TYPE_OPTIONS.SECONDARY]: theme.orbit.colorTextButtonSecondaryActive, [_consts.TYPE_OPTIONS.CRITICAL]: theme.orbit.colorTextButtonCriticalActive, [_consts.TYPE_OPTIONS.WHITE]: theme.orbit.colorTextButtonWhiteActive, [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: theme.orbit.paletteProductDark, [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: theme.orbit.paletteRedDark, [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: theme.orbit.paletteWhite, [_consts.TYPE_OPTIONS.BUNDLE_TOP]: theme.orbit.paletteWhite }, [_consts.TOKENS.borderColorButtonFocus]: { [_consts.TYPE_OPTIONS.PRIMARY]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteProductNormal, 50), [_consts.TYPE_OPTIONS.SECONDARY]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteInkLight, 30), [_consts.TYPE_OPTIONS.CRITICAL]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteRedNormal, 50), // because it's not possible to see outline on the white bg, we use active token [_consts.TYPE_OPTIONS.WHITE]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteWhiteActive, 50), [_consts.TYPE_OPTIONS.PRIMARY_SUBTLE]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteProductNormal, 50), [_consts.TYPE_OPTIONS.CRITICAL_SUBTLE]: (0, _orbitDesignTokens.convertHexToRgba)(theme.orbit.paletteRedNormal, 50), // TODO: currently we do not have tokens for these colors [_consts.TYPE_OPTIONS.BUNDLE_BASIC]: (0, _orbitDesignTokens.convertHexToRgba)(`#E13E3B`, 50), [_consts.TYPE_OPTIONS.BUNDLE_MEDIUM]: (0, _orbitDesignTokens.convertHexToRgba)(`#3719AB`, 50), [_consts.TYPE_OPTIONS.BUNDLE_TOP]: (0, _orbitDesignTokens.convertHexToRgba)(`#2D2D2E`, 50) } }; return tokens[name][type]; }; var _default = getButtonTypeToken; exports.default = _default;