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

349 lines 13.6 kB
// types import { LinkActionType } from '../../../../components/link/types/action'; import { LinkStateType } from '../../../../components/link/types/state'; import { TextDisplayType } from '../../../../components/text/types/display'; import { RADIUS } from '../../foundations/borders'; // constants import { COLORS } from '../../foundations/colors'; import { SPACINGS } from '../../foundations/spacings'; import { FONT_WEIGHT } from '../../foundations/typography'; import { LinkVariantType } from './variants'; const commonTokens = { labelIconContainer: { display: TextDisplayType.INLINE_FLEX, align_items: 'center', color: 'inherit', gap: SPACINGS.spacing_100, }, container: { display: TextDisplayType.INLINE_FLEX, // Used to border on focus border_radius: RADIUS.radius_00, font_weight: FONT_WEIGHT.font_weight_500, cursor: 'pointer', }, }; export const LINK_STYLES = { [LinkActionType.INLINE]: { [LinkVariantType.PRIMARY]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_100, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_100, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_50, background_color: COLORS.PRESSED.color_accent_pressed_bg_100, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, [LinkVariantType.SECONDARY]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_50, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_50, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_50, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_50, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_150, background_color: COLORS.PRESSED.color_accent_pressed_bg_100, }, icon: { color: COLORS.PRESSED.color_accent_pressed_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, [LinkVariantType.SECONDARY_ALT]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_150, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_150, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_100, background_color: COLORS.PRESSED.color_accent_pressed_bg_200, }, icon: { color: COLORS.PRESSED.color_accent_pressed_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, }, [LinkActionType.NAVIGATION]: { [LinkVariantType.PRIMARY]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_100, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_100, text_decoration: 'none', }, icon: { color: COLORS.ACCENT.color_accent_default_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_50, background_color: COLORS.PRESSED.color_accent_pressed_bg_100, }, icon: { color: COLORS.PRESSED.color_accent_pressed_icon_50, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, [LinkVariantType.SECONDARY]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_50, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_50, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_50, text_decoration: 'none', }, icon: { color: COLORS.ACCENT.color_accent_default_icon_50, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_150, background_color: COLORS.PRESSED.color_accent_pressed_bg_100, }, icon: { color: COLORS.PRESSED.color_accent_pressed_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, [LinkVariantType.SECONDARY_ALT]: { [LinkStateType.DEFAULT]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_150, }, icon: { color: COLORS.ACCENT.color_accent_default_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.HOVER]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.ACCENT.color_accent_default_font_150, text_decoration: 'none', }, icon: { color: COLORS.ACCENT.color_accent_default_icon_150, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.PRESSED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.PRESSED.color_accent_pressed_font_100, background_color: COLORS.PRESSED.color_accent_pressed_bg_200, }, icon: { color: COLORS.PRESSED.color_accent_pressed_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, [LinkStateType.VISITED]: {}, [LinkStateType.DISABLED]: { ...commonTokens, container: { ...commonTokens.container, color: COLORS.DISABLED.color_accentDisabled_font_100, }, icon: { color: COLORS.DISABLED.color_accentDisabled_icon_100, width: SPACINGS.spacing_350, height: SPACINGS.spacing_350, }, }, }, }, }; //# sourceMappingURL=styles.js.map