@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
91 lines • 3.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLineSeparatorStyles = void 0;
// vendors
// types
const styled_components_1 = require("styled-components");
const lineSeparatorTheme_1 = require("../../../../../components/lineSeparator/types/lineSeparatorTheme");
// fundations
const borders_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/borders");
const sizes_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/sizes");
const spacings_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/spacings");
const typography_1 = require("../../../../../designSystem/kubitWireframe/commons/foundations/typography");
const variants_1 = require("../text/variants");
const variants_2 = require("./variants");
const lineSeparatorStyledBuild = ({ border_color, border_weight }) => (position) => {
const commonCss = (0, styled_components_1.css) `
border-width: ${border_weight};
border-color: ${border_color};
`;
switch (position) {
case lineSeparatorTheme_1.LineSeparatorPositionType.BOTTOM:
return (0, styled_components_1.css) `
border-bottom-style: solid;
${commonCss}
`;
case lineSeparatorTheme_1.LineSeparatorPositionType.LEFT:
return (0, styled_components_1.css) `
border-left-style: solid;
${commonCss}
`;
case lineSeparatorTheme_1.LineSeparatorPositionType.RIGHT:
return (0, styled_components_1.css) `
border-right-style: solid;
${commonCss}
`;
default:
return (0, styled_components_1.css) `
border-top-style: solid;
${commonCss}
`;
}
};
const getLineSeparatorStyles = (COLORS) => {
return {
[variants_2.LineSeparatorLabelVariantType.LABEL_DEFAULT]: {
labelContainer: {
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
border_radius: borders_1.RADIUS.radius_00,
height: sizes_1.SIZES.size_400,
gap: spacings_1.SPACINGS.spacing_300,
},
label: {
font_variant: variants_1.TextVariantType.PARAGRAPH_CAPTION_EXPANDED,
color: COLORS.NEUTRAL.color_neutral_font_50,
font_weight: typography_1.FONT_WEIGHT.font_weight_400,
text_align: typography_1.TEXT_ALIGN.center,
},
},
[variants_2.LineSeparatorLabelVariantType.LABEL_TABLE]: {
labelContainer: {
position: 'relative',
background_color: COLORS.NEUTRAL.color_neutral_bg_250,
border_radius: borders_1.RADIUS.radius_00,
border_bottom: 'solid',
border_color: COLORS.NEUTRAL.color_neutral_border_50,
border_width: borders_1.BORDERS.border_50,
padding: spacings_1.SPACINGS.spacing_100,
},
label: {
font_variant: variants_1.TextVariantType.PARAGRAPH_CAPTION_EXPANDED,
color: COLORS.NEUTRAL.color_neutral_font_50,
font_weight: typography_1.FONT_WEIGHT.font_weight_400,
text_align: typography_1.TEXT_ALIGN.center,
},
},
[variants_2.LineSeparatorLineVariantType.LINE_DEFAULT]: {
buildLineStyles: lineSeparatorStyledBuild({
border_color: COLORS.NEUTRAL.color_neutral_border_50,
border_weight: borders_1.BORDERS.border_50,
}),
},
[variants_2.LineSeparatorLineVariantType.NONE_LINE]: {
buildLineStyles: lineSeparatorStyledBuild({
border_color: COLORS.BRAND.color_brand_border_50,
border_weight: borders_1.BORDERS.border_00,
}),
},
};
};
exports.getLineSeparatorStyles = getLineSeparatorStyles;
//# sourceMappingURL=styles.js.map