@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
59 lines (58 loc) • 2.18 kB
JavaScript
import { b as p, x as u, n as d, a as o } from "./element-CgEWt74-.js";
var g = Object.defineProperty, c = Object.getOwnPropertyDescriptor, l = (t, i, e, r) => {
for (var s = r > 1 ? void 0 : r ? c(i, e) : i, n = t.length - 1, h; n >= 0; n--)
(h = t[n]) && (s = (r ? h(i, e, s) : h(s)) || s);
return r && s && g(i, e, s), s;
};
let a = class extends p {
constructor() {
super(...arguments), this.size = "medium", this.level = 2, this.visuallyHidden = !1, this.align = "start";
}
connectedCallback() {
super.connectedCallback(), this.setAttribute("role", "heading"), this.setAttribute("aria-level", String(this.level)), this.updateHostClasses();
}
attributeChangedCallback(t, i, e) {
super.attributeChangedCallback(t, i, e), t === "level" && e && this.setLevel(Number(e)), (t === "size" || t === "visuallyHidden" || t === "align") && this.updateHostClasses();
}
updated(t) {
super.updated(t), t.has("level") && this.setLevel(this.level), (t.has("size") || t.has("visuallyHidden") || t.has("align")) && this.updateHostClasses();
}
setLevel(t) {
t >= 1 && t <= 6 ? (this.level = t, this.setAttribute("aria-level", String(t))) : console.warn(`Invalid heading level: ${t}. Must be between 1 and 6.`);
}
updateHostClasses() {
this.classList.remove(
"pkt-heading",
"pkt-heading--xsmall",
"pkt-heading--small",
"pkt-heading--medium",
"pkt-heading--large",
"pkt-heading--xlarge",
"pkt-sr-only",
"pkt-heading--start",
"pkt-heading--center",
"pkt-heading--end"
), this.classList.add("pkt-heading"), this.size && this.classList.add(`pkt-heading--${this.size}`), this.visuallyHidden && this.classList.add("pkt-sr-only"), this.align && this.classList.add(`pkt-heading--${this.align}`);
}
render() {
return u`<slot></slot>`;
}
};
l([
d({ type: String, reflect: !0 })
], a.prototype, "size", 2);
l([
d({ type: Number, reflect: !0 })
], a.prototype, "level", 2);
l([
d({ type: Boolean, reflect: !0 })
], a.prototype, "visuallyHidden", 2);
l([
d({ type: String, reflect: !0 })
], a.prototype, "align", 2);
a = l([
o("pkt-heading")
], a);
export {
a as P
};