website-session-kit
Version:
A modular and extensible session management toolkit for modern websites.
26 lines (25 loc) • 2.19 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import LpMainContainer from '../../containers/LpMainContainer';
import Line from '../../ui/Line';
const DEFAULT_LINE_COLOR = 'bg-[#e16a3d]';
const DEFAULT_GRAFISM_COLOR = '#222222';
const LpContentContainer = ({ children, title, paddingY = 'py-5', paddingX = 'px-4', paddingSmX = 'md:px-[15%] sm:px-[10%]', spacingY = 'space-y-5', alignment = 'center', className = '', containerBgColor = '', containerHeight = 'h-full', containerClassName = '', showLine = true, lineColor = DEFAULT_LINE_COLOR, lineWidth = 'sm:w-[5%] w-[15%]', lineHeight = 'h-[2px]', lineMargins = 'mt-3 mb-4', showGrafism = true, grafismColor = DEFAULT_GRAFISM_COLOR, grafismWidth = 150, customGrafism, }) => {
const alignmentClasses = {
center: 'items-center justify-center',
left: 'items-start justify-start',
right: 'items-end justify-end',
};
const renderGrafism = () => {
if (!showGrafism)
return null;
if (customGrafism) {
return typeof customGrafism === 'string' ? (_jsx("img", { src: customGrafism, alt: "grafism", className: "mt-3 max-w-full" })) : (_jsx("div", { className: "mt-3", children: customGrafism }));
}
return (_jsx("div", { className: "mt-3 h-[2px]", style: {
width: grafismWidth,
backgroundColor: grafismColor,
} }));
};
return (_jsx(LpMainContainer, { bgColor: containerBgColor, height: containerHeight, className: containerClassName, children: _jsxs("div", { className: `w-full flex flex-col items-center justify-center gap-4 ${paddingY} ${paddingX} ${paddingSmX} ${className}`, children: [title && (_jsxs("div", { className: "w-full flex flex-col items-center justify-center", children: [_jsx("h2", { className: "text-3xl sm:text-4xl text-center font-thin uppercase mb-0", children: title }), showLine && (_jsx(Line, { color: lineColor, width: lineWidth, height: lineHeight, margins: lineMargins }))] })), _jsx("div", { className: `w-full flex flex-col ${alignmentClasses[alignment]} ${spacingY}`, children: children }), renderGrafism()] }) }));
};
export default LpContentContainer;