@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
39 lines (36 loc) • 2.17 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import { a as __rest } from './tslib.es6.js';
import { h } from '@stencil/core/internal/client';
import { c as clsx } from './clsx.js';
const MIN_HEADING_LEVEL = 1;
const MAX_HEADING_LEVEL = 6;
function isValidHeadingLevel(level) {
return level >= MIN_HEADING_LEVEL && level <= MAX_HEADING_LEVEL;
}
function getHeadlineTag(level) {
return isValidHeadingLevel(level) ? `h${level}` : 'strong';
}
const KolHeadlineFc = (_a, children) => {
var { class: classNames, level = MIN_HEADING_LEVEL } = _a, other = __rest(_a, ["class", "level"]);
const HeadlineTag = getHeadlineTag(level);
return (h(HeadlineTag, Object.assign({ class: clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames) }, other), children));
};
const KolSecondaryHeadlineFc = (_a, children) => {
var { class: classNames } = _a, other = __rest(_a, ["class"]);
return (h("p", Object.assign({ class: clsx('kol-headline kol-headline--group kol-headline--secondary', classNames) }, other), children));
};
const KolHeadingFc = (_a, children) => {
var { secondaryHeadline, level = MIN_HEADING_LEVEL, class: classNames, HeadingGroupProps = {}, SecondaryHeadlineProps = {} } = _a, other = __rest(_a, ["secondaryHeadline", "level", "class", "HeadingGroupProps", "SecondaryHeadlineProps"]);
const headlineProps = Object.assign({ level }, other);
if (!secondaryHeadline) {
return (h(KolHeadlineFc, Object.assign({ class: clsx(classNames, 'kol-headline--single') }, headlineProps), children));
}
const { class: groupClassNames } = HeadingGroupProps, groupOthers = __rest(HeadingGroupProps, ["class"]);
const headlineGroupProps = Object.assign({ class: clsx('kol-heading-group', groupClassNames) }, groupOthers);
return (h("hgroup", Object.assign({}, headlineGroupProps), h(KolHeadlineFc, Object.assign({ class: clsx(classNames, 'kol-headline--group', 'kol-headline--primary') }, headlineProps), children), h(KolSecondaryHeadlineFc, Object.assign({}, SecondaryHeadlineProps), secondaryHeadline)));
};
export { KolHeadingFc as K };
//# sourceMappingURL=Heading.js.map
//# sourceMappingURL=Heading.js.map