UNPKG

@oslokommune/punkt-elements

Version:

Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo

59 lines (58 loc) 2.18 kB
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 };