UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

305 lines 13 kB
import { PillStateType } from '../../../../../components/pill/types/state'; import { BORDERS, RADIUS } from '../../../../../designSystem/kubitWireframe/commons/foundations/borders'; import { SIZES } from '../../../../../designSystem/kubitWireframe/commons/foundations/sizes'; import { SPACINGS } from '../../../../../designSystem/kubitWireframe/commons/foundations/spacings'; import { FONT_WEIGHT } from '../../../../../designSystem/kubitWireframe/commons/foundations/typography'; import { shadowAfterStyles, transformShadow } from '../../../utils/wireframe'; import { TextVariantType } from '../variants'; import { PillSizeTypeV2, PillVariantTypeV2 } from './variants'; const buildCommonProps = (COLORS) => ({ rootContainer: { position: 'relative', display: 'flex', flex_direction: 'column', align_items: 'center', gap: SPACINGS.spacing_150, border_radius: RADIUS.radius_300, }, contentContainer: { display: 'flex', flex_direction: 'row', align_items: 'center', gap: SPACINGS.spacing_150, background_color: COLORS.NEUTRAL.color_neutral_bg_250, border: `${BORDERS.border_50} solid ${COLORS.NEUTRAL.color_neutral_border_100}`, border_radius: RADIUS.radius_300, cursor: 'pointer', ...transformShadow(RADIUS.radius_300), ...shadowAfterStyles(RADIUS.radius_300, COLORS.ACCENT.color_accent_default_bg_100, '2px'), }, leftIcon: { color: COLORS.NEUTRAL.color_neutral_icon_50, height: SIZES.size_200, width: SIZES.size_200, }, label: { font_variant: TextVariantType.PARAGRAPH_SMALL_EXTENDED, font_weight: FONT_WEIGHT.font_weight_400, color: COLORS.NEUTRAL.color_neutral_font_50, }, rightIcon: { color: COLORS.NEUTRAL.color_neutral_icon_50, height: SIZES.size_200, width: SIZES.size_200, }, input: { position: 'absolute', top: '0', left: '0', right: '0', bottom: '0', cursor: 'pointer', border_radius: RADIUS.radius_300, }, }); export const getPillStylesV2 = (COLORS) => { const commonProps = buildCommonProps(COLORS); const commonPropsLarge = { ...commonProps, contentContainer: { ...commonProps.contentContainer, padding: `${SPACINGS.spacing_250} ${SPACINGS.spacing_300}`, }, }; const commonPropsSmall = { ...commonProps, contentContainer: { ...commonProps.contentContainer, padding: `${SPACINGS.spacing_150} ${SPACINGS.spacing_300}`, }, }; const commonPropsExtraSmall = { ...commonProps, contentContainer: { ...commonProps.contentContainer, padding: `${SPACINGS.spacing_100} ${SPACINGS.spacing_300}`, }, }; return { [PillVariantTypeV2.DEFAULT]: { [PillSizeTypeV2.LARGE]: { [PillStateType.DEFAULT]: { ...commonPropsLarge, }, [PillStateType.SELECTED]: { ...commonPropsLarge, contentContainer: { ...commonPropsLarge.contentContainer, background_color: COLORS.SECONDARY.color_secondary_bg_150, }, leftIcon: { ...commonPropsLarge.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, label: { ...commonPropsLarge.label, color: COLORS.NEUTRAL.color_neutral_font_50, }, rightIcon: { ...commonPropsLarge.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, }, [PillStateType.DISABLED]: { ...commonPropsLarge, contentContainer: { ...commonPropsLarge.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsLarge.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, label: { ...commonPropsLarge.label, color: COLORS.DISABLED.color_accentDisabled_font_50, }, rightIcon: { ...commonPropsLarge.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, input: { ...commonPropsLarge.input, cursor: 'auto', }, }, [PillStateType.DISABLED_SELECTED]: { ...commonPropsLarge, contentContainer: { ...commonPropsLarge.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsLarge.leftIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, label: { ...commonPropsLarge.label, color: COLORS.DISABLED.color_accent_default_font_50, }, rightIcon: { ...commonPropsLarge.rightIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, input: { ...commonPropsLarge.input, cursor: 'auto', }, }, }, [PillSizeTypeV2.SMALL]: { [PillStateType.DEFAULT]: { ...commonPropsSmall, }, [PillStateType.SELECTED]: { ...commonPropsSmall, contentContainer: { ...commonPropsSmall.contentContainer, background_color: COLORS.SECONDARY.color_secondary_bg_150, }, leftIcon: { ...commonPropsSmall.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, label: { ...commonPropsSmall.label, color: COLORS.NEUTRAL.color_neutral_font_50, }, rightIcon: { ...commonPropsSmall.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, }, [PillStateType.DISABLED]: { ...commonPropsSmall, contentContainer: { ...commonPropsSmall.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsSmall.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, label: { ...commonPropsSmall.label, color: COLORS.DISABLED.color_accentDisabled_font_50, }, rightIcon: { ...commonPropsSmall.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, input: { ...commonPropsSmall.input, cursor: 'auto', }, }, [PillStateType.DISABLED_SELECTED]: { ...commonPropsSmall, contentContainer: { ...commonPropsSmall.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsSmall.leftIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, label: { ...commonPropsSmall.label, color: COLORS.DISABLED.color_accent_default_font_50, }, rightIcon: { ...commonPropsSmall.rightIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, input: { ...commonPropsSmall.input, cursor: 'auto', }, }, }, [PillSizeTypeV2.EXTRA_SMALL]: { [PillStateType.DEFAULT]: { ...commonPropsExtraSmall, }, [PillStateType.SELECTED]: { ...commonPropsExtraSmall, contentContainer: { ...commonPropsExtraSmall.contentContainer, background_color: COLORS.SECONDARY.color_secondary_bg_150, }, leftIcon: { ...commonPropsExtraSmall.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, label: { ...commonPropsExtraSmall.label, color: COLORS.NEUTRAL.color_neutral_font_50, }, rightIcon: { ...commonPropsExtraSmall.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_300, }, }, [PillStateType.DISABLED]: { ...commonPropsExtraSmall, contentContainer: { ...commonPropsExtraSmall.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsExtraSmall.leftIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, label: { ...commonPropsExtraSmall.label, color: COLORS.DISABLED.color_accentDisabled_font_50, }, rightIcon: { ...commonPropsExtraSmall.rightIcon, color: COLORS.NEUTRAL.color_neutral_icon_50, }, input: { ...commonPropsExtraSmall.input, cursor: 'auto', }, }, [PillStateType.DISABLED_SELECTED]: { ...commonPropsExtraSmall, contentContainer: { ...commonPropsExtraSmall.contentContainer, background_color: COLORS.DISABLED.color_accentDisabled_bg_150, border: `${BORDERS.border_50} solid ${COLORS.DISABLED.color_accentDisabled_border_50}`, cursor: 'auto', }, leftIcon: { ...commonPropsExtraSmall.leftIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, label: { ...commonPropsExtraSmall.label, color: COLORS.DISABLED.color_accent_default_font_50, }, rightIcon: { ...commonPropsExtraSmall.rightIcon, color: COLORS.DISABLED.color_accentDisabled_icon_50, }, input: { ...commonPropsExtraSmall.input, cursor: 'auto', }, }, }, }, }; }; //# sourceMappingURL=styles.js.map