@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
407 lines • 18.2 kB
JavaScript
import { DrawerLevelPositionTypes } from '../../../../../components/drawer/types/level';
import { DrawerVariantPositionTypes } from '../../../../../components/drawer/types/variantPosition';
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 { DeviceBreakpointsType } from '../../../../../types/breakpoints/breakpoints';
import { shadowAfterStyles, transformShadow } from '../../../utils/wireframe';
import { TextVariantType } from '../text/variants';
import { FooterVariants } from '../variants';
import { DrawerVariantType } from './variants';
const drawerContainerTokens = (COLORS) => {
return {
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
overflow_y: 'unset',
border: `${BORDERS.border_50} solid ${COLORS.NEUTRAL.color_neutral_border_50}`,
...transformShadow(RADIUS.radius_00),
...shadowAfterStyles(RADIUS.radius_00, COLORS.BRAND.color_brand_bg_50, SPACINGS.spacing_50),
};
};
const iconContainerTokens = (COLORS) => {
return {
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
padding_top: SPACINGS.spacing_400,
padding_left: SPACINGS.spacing_400,
padding_right: SPACINGS.spacing_400,
padding_bottom: SPACINGS.spacing_300,
};
};
const iconTokens = (COLORS) => {
return {
color: COLORS.NEUTRAL.color_neutral_bg_50,
height: SIZES.size_250,
width: SIZES.size_250,
};
};
const titleContainerTokens = (COLORS) => {
return {
padding_left: SPACINGS.spacing_740,
padding_right: SPACINGS.spacing_740,
padding_bottom: SPACINGS.spacing_400,
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
};
};
const titleTokens = (COLORS) => {
return {
font_variant: TextVariantType.HEADING_H3_EXPANDED,
font_weight: FONT_WEIGHT.font_weight_600,
color: COLORS.BRAND.color_brand_02_font_50,
};
};
const contentTokens = {
padding_left: SPACINGS.spacing_740,
padding_right: SPACINGS.spacing_740,
childs: {
margin_left: SPACINGS.spacing_0,
},
firstChild: {
margin_top: SPACINGS.spacing_300,
margin_left: SPACINGS.spacing_0,
},
lastChild: {
margin_bottom: SPACINGS.spacing_300,
margin_left: SPACINGS.spacing_0,
},
};
const footerTokens = (COLORS) => {
return {
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
border_top: `${BORDERS.border_50} solid ${COLORS.NEUTRAL.color_neutral_border_50}`,
variant: FooterVariants.EMPTY,
padding: `${SPACINGS.spacing_400} ${SPACINGS.spacing_450}`,
width: SPACINGS.spacing_100_percent,
};
};
export const getDrawerStyles = (COLORS) => {
return {
[DrawerVariantType.DEFAULT]: {
[DeviceBreakpointsType.DESKTOP]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_LEFT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_BOTTOM]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
},
footer: {
...footerTokens(COLORS),
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_RIGHT,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_RIGHT,
},
},
[DeviceBreakpointsType.TABLET]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_LEFT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_BOTTOM]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
height: 'fit-content',
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
},
footer: {
...footerTokens(COLORS),
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_BOTTOM,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_LEFT,
},
},
[DeviceBreakpointsType.MOBILE]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_LEFT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
[DrawerVariantPositionTypes.DRAWER_BOTTOM]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
padding_top: SPACINGS.spacing_300,
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
padding_bottom: SPACINGS.spacing_300,
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
padding_bottom: SPACINGS.spacing_300,
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
},
footer: {
...footerTokens(COLORS),
bottom: SPACINGS.spacing_50,
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_BOTTOM,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_LEFT,
},
},
},
[DrawerVariantType.DEFAULT_ABSOLUTE_NO_ANIMATION]: {
[DeviceBreakpointsType.DESKTOP]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.DESKTOP]: {
width: `calc(50vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
},
footer: {
...footerTokens(COLORS),
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
},
[DeviceBreakpointsType.TABLET]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
position: 'relative',
bottom: SPACINGS.spacing_0,
[DeviceBreakpointsType.TABLET]: {
width: `calc(100vw - ${SPACINGS.spacing_100})`,
right: SPACINGS.spacing_50,
bottom: SPACINGS.spacing_50,
position: 'absolute',
max_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: 'auto',
min_height: 'unset',
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
height: 'fit-content',
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
},
footer: {
...footerTokens(COLORS),
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
},
[DeviceBreakpointsType.MOBILE]: {
container: {
[DrawerVariantPositionTypes.DRAWER_RIGHT]: {
...drawerContainerTokens(COLORS),
[DeviceBreakpointsType.MOBILE]: {
width: `calc(${SPACINGS.spacing_100_vw} - ${SPACINGS.spacing_50})`,
right: SPACINGS.spacing_50,
bottom: SPACINGS.spacing_50,
position: 'absolute',
min_height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
height: `calc(${SPACINGS.spacing_100_vh} - ${SPACINGS.spacing_100})`,
},
},
},
iconContainer: {
...iconContainerTokens(COLORS),
padding_top: SPACINGS.spacing_300,
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
padding_bottom: SPACINGS.spacing_300,
},
icon: {
...iconTokens(COLORS),
},
titleContentFooterContainer: {
paddingTopIsBlocking: SPACINGS.spacing_740,
},
titleContainer: {
...titleContainerTokens(COLORS),
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
padding_bottom: SPACINGS.spacing_300,
},
title: {
...titleTokens(COLORS),
},
content: {
...contentTokens,
padding_left: SPACINGS.spacing_300,
padding_right: SPACINGS.spacing_300,
},
footer: {
...footerTokens(COLORS),
bottom: SPACINGS.spacing_50,
},
[DrawerLevelPositionTypes.FIRST_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
[DrawerLevelPositionTypes.SECOND_LEVEL]: {
containerPosition: DrawerVariantPositionTypes.DRAWER_NO_ANIMATION,
},
},
},
};
};
//# sourceMappingURL=styles.js.map