UNPKG

website-session-kit

Version:

A modular and extensible session management toolkit for modern websites.

26 lines (25 loc) 2.19 kB
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;