var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import { h } from '@stencil/core';
import { observe } from '../IntersectionHelper/IntersectionHelper';
import { applyProps } from '../common';
const Heading = (_a, children) => {
    var { level = 3, poster = false, as } = _a, props = __rest(_a, ["level", "poster", "as"]);
    const Tag = as ? as : (poster ? 'h1' : `h${level}`);
    const classes = [
        `ui-heading`,
        `${poster ? `ui-poster-${level}` : `ui-heading-${level}`}`
    ];
    return (h(Tag, Object.assign({}, applyProps(props, { class: classes.join(' ') }), { ref: (e) => observe(e) }), children));
};
export default Heading;
