@smitch/fluid
Version:
A Next/React ui-component libray.
30 lines (29 loc) • 1.34 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { twMerge } from 'tailwind-merge';
var headingStyles = {
1: 'h1 text-4xl md:text-5xl lg:text-6xl',
2: 'h2 text-3xl md:text-4xl lg:text-5xl',
3: 'h3 text-2xl md:text-3xl lg:text-4xl',
4: 'h4 text-xl md:text-2xl lg:text-3xl',
5: 'h5 text-lg md:text-xl lg:text-2xl',
6: 'h6 text-base md:text-lg lg:text-xl',
};
var headingWeights = {
bold: 'font-bold opacity-95',
semibold: 'font-semibold opacity-95',
medium: 'font-medium',
normal: 'font-normal',
light: 'font-light',
};
var headingCase = {
normal: 'normal-case',
capitalize: 'capitalize',
uppercase: 'uppercase',
lowercase: 'lowercase',
};
var Heading = function (_a) {
var _b = _a.level, level = _b === void 0 ? 1 : _b, _c = _a.weight, weight = _c === void 0 ? 'semibold' : _c, _d = _a.align, align = _d === void 0 ? 'left' : _d, _e = _a.transform, transform = _e === void 0 ? 'normal' : _e, children = _a.children, _f = _a.className, className = _f === void 0 ? '' : _f;
var Tag = "h".concat(level);
return (_jsx(Tag, { className: twMerge("".concat(headingStyles[level], " ").concat(headingWeights[weight], " text-").concat(align, " ").concat(headingCase[transform], " mb-[.5em]"), className), role: 'heading', children: children }));
};
export default Heading;