@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
342 lines • 15.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLinkStyles = void 0;
const action_1 = require("../../../../../components/link/types/action");
const state_1 = require("../../../../../components/link/types/state");
const display_1 = require("../../../../../components/text/types/display");
const borders_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/borders");
const spacings_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/spacings");
const typography_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/typography");
const wireframe_1 = require("../../../../../designSystem/kubitWireframe/utils/wireframe");
const variants_1 = require("../variants");
const commonTokens = {
labelIconContainer: {
display: display_1.TextDisplayType.INLINE_FLEX,
align_items: 'center',
color: 'inherit',
gap: spacings_1.SPACINGS.spacing_100,
},
};
const commonContainerTokens = COLORS => ({
display: display_1.TextDisplayType.INLINE_FLEX,
// Used to border on focus
border_radius: borders_1.RADIUS.radius_full,
font_variant: variants_1.TextVariantType.PARAGRAPH_SMALL_EXPANDED,
font_weight: typography_1.FONT_WEIGHT.font_weight_400,
cursor: 'pointer',
...(0, wireframe_1.transformShadow)(borders_1.RADIUS.radius_00),
...(0, wireframe_1.shadowAfterStylesSpecificProps)(borders_1.RADIUS.radius_300, COLORS, spacings_1.SPACINGS.spacing_50, `calc(100% + ${spacings_1.SPACINGS.spacing_100})`, spacings_1.SPACINGS.spacing_50, spacings_1.SPACINGS.spacing_0, `calc(100% + ${spacings_1.SPACINGS.spacing_100})`),
});
const commonContainerTokensWithouShadow = {
display: display_1.TextDisplayType.INLINE_FLEX,
// Used to border on focus
border_radius: borders_1.RADIUS.radius_full,
font_variant: variants_1.TextVariantType.PARAGRAPH_SMALL_EXPANDED,
font_weight: typography_1.FONT_WEIGHT.font_weight_400,
cursor: 'pointer',
};
const commonIconTokens = {
width: spacings_1.SPACINGS.spacing_350,
height: spacings_1.SPACINGS.spacing_350,
};
const getLinkStyles = (COLORS) => {
return {
[action_1.LinkActionType.NAVIGATION]: {
[variants_1.LinkVariantType.PRIMARY]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_100,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_200,
background_color: COLORS.PRESSED.color_accent_pressed_bg_100,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_200,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.DISABLED.color_accentDisabled_icon_100,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_100,
},
},
},
[variants_1.LinkVariantType.SECONDARY]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_50,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_50,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_150,
background_color: COLORS.PRESSED.color_accent_pressed_bg_100,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_150,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokensWithouShadow,
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.DISABLED.color_accentDisabled_icon_100,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_50,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_50,
},
},
},
[variants_1.LinkVariantType.SECONDARY_ALT]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_150,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_150,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_100,
background_color: COLORS.PRESSED.color_accent_pressed_bg_200,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_100,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokensWithouShadow,
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.DISABLED.color_accentDisabled_icon_100,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_150,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_150,
},
},
},
},
[action_1.LinkActionType.INLINE]: {
[variants_1.LinkVariantType.PRIMARY]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_100,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_200,
background_color: COLORS.PRESSED.color_accent_pressed_bg_100,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_200,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
color: COLORS.DISABLED.color_accentDisabled_icon_100,
width: spacings_1.SPACINGS.spacing_350,
height: spacings_1.SPACINGS.spacing_350,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_100,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_100,
},
},
},
[variants_1.LinkVariantType.SECONDARY]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_50,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_50,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_150,
background_color: COLORS.PRESSED.color_accent_pressed_bg_100,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_150,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokensWithouShadow,
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
color: COLORS.DISABLED.color_accentDisabled_icon_100,
width: spacings_1.SPACINGS.spacing_350,
height: spacings_1.SPACINGS.spacing_350,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_50,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_50,
},
},
},
[variants_1.LinkVariantType.SECONDARY_ALT]: {
[state_1.LinkStateType.DEFAULT]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_150,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_150,
},
},
[state_1.LinkStateType.PRESSED]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.PRESSED.color_accent_pressed_font_100,
background_color: COLORS.PRESSED.color_accent_pressed_bg_200,
},
icon: {
...commonIconTokens,
color: COLORS.PRESSED.color_accent_pressed_icon_100,
},
},
[state_1.LinkStateType.VISITED]: {},
[state_1.LinkStateType.DISABLED]: {
...commonTokens,
container: {
...commonContainerTokensWithouShadow,
color: COLORS.DISABLED.color_accentDisabled_font_100,
},
icon: {
color: COLORS.DISABLED.color_accentDisabled_icon_100,
width: spacings_1.SPACINGS.spacing_350,
height: spacings_1.SPACINGS.spacing_350,
},
},
[state_1.LinkStateType.HOVER]: {
...commonTokens,
container: {
...commonContainerTokens(COLORS),
color: COLORS.ACCENT.color_accent_default_font_150,
},
icon: {
...commonIconTokens,
color: COLORS.ACCENT.color_accent_default_icon_150,
},
},
},
},
};
};
exports.getLinkStyles = getLinkStyles;
//# sourceMappingURL=styles.js.map