@oslokommune/punkt-elements 12.34.3 → 12.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/heading-BkC05ohM.js +59 -0
- package/dist/heading-CP3NaeWE.cjs +1 -0
- package/dist/heading.d.ts +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/pkt-heading.cjs +1 -0
- package/dist/pkt-heading.js +6 -0
- package/dist/pkt-index.cjs +2 -2
- package/dist/pkt-index.js +35 -33
- package/package.json +4 -4
- package/src/components/heading/heading.ts +59 -0
- package/src/components/heading/index.ts +6 -0
- package/src/components/index.ts +3 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Punkt følger [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html) for versjonering,
|
|
4
|
+
og skriver commits ca etter [Conventional Commits](https://conventionalcommits.org).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## [12.35.0](https://github.com/oslokommune/punkt/compare/12.34.4...12.35.0) (2025-04-25)
|
|
9
|
+
|
|
10
|
+
### ⚠ BREAKING CHANGES
|
|
11
|
+
Ingen
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
Ingen
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
Ingen
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
Ingen
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { P as f, x as l, n as o, a as d } from "./element-DjjF_tEh.js";
|
|
2
|
+
import { P as g } from "./pkt-slot-controller-DFrc5O93.js";
|
|
3
|
+
import { e as r } from "./class-map-KyMqi0fa.js";
|
|
4
|
+
import { e as $, n as i } from "./ref-iIffqQAI.js";
|
|
5
|
+
var S = Object.defineProperty, y = Object.getOwnPropertyDescriptor, a = (t, n, p, h) => {
|
|
6
|
+
for (var e = h > 1 ? void 0 : h ? y(n, p) : n, u = t.length - 1, c; u >= 0; u--)
|
|
7
|
+
(c = t[u]) && (e = (h ? c(n, p, e) : c(e)) || e);
|
|
8
|
+
return h && e && S(n, p, e), e;
|
|
9
|
+
};
|
|
10
|
+
let s = class extends f {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(), this.defaultSlot = $(), this.size = "medium", this.level = 2, this.noSpacing = !0, this.visuallyHidden = !1, this.align = "start", this.slotController = new g(this, this.defaultSlot);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
const t = {
|
|
16
|
+
"pkt-heading": !0,
|
|
17
|
+
[`pkt-heading--${this.size}`]: this.size,
|
|
18
|
+
"pkt-heading--noSpacing": this.noSpacing,
|
|
19
|
+
"pkt-sr-only": this.visuallyHidden,
|
|
20
|
+
[`pkt-heading--${this.align}`]: this.align
|
|
21
|
+
};
|
|
22
|
+
switch (this.level) {
|
|
23
|
+
case 2:
|
|
24
|
+
return l`<h2 class=${r(t)} ${i(this.defaultSlot)}></h2>`;
|
|
25
|
+
case 3:
|
|
26
|
+
return l`<h3 class=${r(t)} ${i(this.defaultSlot)}></h3>`;
|
|
27
|
+
case 4:
|
|
28
|
+
return l`<h4 class=${r(t)} ${i(this.defaultSlot)}></h4>`;
|
|
29
|
+
case 5:
|
|
30
|
+
return l`<h5 class=${r(t)} ${i(this.defaultSlot)}></h5>`;
|
|
31
|
+
case 6:
|
|
32
|
+
return l`<h6 class=${r(t)} ${i(this.defaultSlot)}></h6>`;
|
|
33
|
+
case 1:
|
|
34
|
+
default:
|
|
35
|
+
return l`<h1 class=${r(t)} ${i(this.defaultSlot)}></h1>`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
a([
|
|
40
|
+
o({ type: String, reflect: !0 })
|
|
41
|
+
], s.prototype, "size", 2);
|
|
42
|
+
a([
|
|
43
|
+
o({ type: Number, reflect: !0 })
|
|
44
|
+
], s.prototype, "level", 2);
|
|
45
|
+
a([
|
|
46
|
+
o({ type: Boolean, reflect: !0 })
|
|
47
|
+
], s.prototype, "noSpacing", 2);
|
|
48
|
+
a([
|
|
49
|
+
o({ type: Boolean, reflect: !0 })
|
|
50
|
+
], s.prototype, "visuallyHidden", 2);
|
|
51
|
+
a([
|
|
52
|
+
o({ type: String, reflect: !0 })
|
|
53
|
+
], s.prototype, "align", 2);
|
|
54
|
+
s = a([
|
|
55
|
+
d("pkt-heading")
|
|
56
|
+
], s);
|
|
57
|
+
export {
|
|
58
|
+
s as P
|
|
59
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("./element-BSypUpzA.cjs"),c=require("./pkt-slot-controller-plQxXRvV.cjs"),l=require("./class-map-DCyaICmy.cjs"),n=require("./ref-BvbyvXRH.cjs");var p=Object.defineProperty,d=Object.getOwnPropertyDescriptor,r=(a,t,o,i)=>{for(var s=i>1?void 0:i?d(t,o):t,h=a.length-1,u;h>=0;h--)(u=a[h])&&(s=(i?u(t,o,s):u(s))||s);return i&&s&&p(t,o,s),s};exports.PktHeading=class extends e.PktElement{constructor(){super(),this.defaultSlot=n.e(),this.size="medium",this.level=2,this.noSpacing=!0,this.visuallyHidden=!1,this.align="start",this.slotController=new c.PktSlotController(this,this.defaultSlot)}render(){const t={"pkt-heading":!0,[`pkt-heading--${this.size}`]:this.size,"pkt-heading--noSpacing":this.noSpacing,"pkt-sr-only":this.visuallyHidden,[`pkt-heading--${this.align}`]:this.align};switch(this.level){case 2:return e.x`<h2 class=${l.e(t)} ${n.n(this.defaultSlot)}></h2>`;case 3:return e.x`<h3 class=${l.e(t)} ${n.n(this.defaultSlot)}></h3>`;case 4:return e.x`<h4 class=${l.e(t)} ${n.n(this.defaultSlot)}></h4>`;case 5:return e.x`<h5 class=${l.e(t)} ${n.n(this.defaultSlot)}></h5>`;case 6:return e.x`<h6 class=${l.e(t)} ${n.n(this.defaultSlot)}></h6>`;case 1:default:return e.x`<h1 class=${l.e(t)} ${n.n(this.defaultSlot)}></h1>`}}};r([e.n({type:String,reflect:!0})],exports.PktHeading.prototype,"size",2);r([e.n({type:Number,reflect:!0})],exports.PktHeading.prototype,"level",2);r([e.n({type:Boolean,reflect:!0})],exports.PktHeading.prototype,"noSpacing",2);r([e.n({type:Boolean,reflect:!0})],exports.PktHeading.prototype,"visuallyHidden",2);r([e.n({type:String,reflect:!0})],exports.PktHeading.prototype,"align",2);exports.PktHeading=r([e.t("pkt-heading")],exports.PktHeading);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { }
|
package/dist/index.d.ts
CHANGED
|
@@ -156,6 +156,14 @@ export declare interface IPktComboboxOption {
|
|
|
156
156
|
value: string;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
+
export declare interface IPktHeading {
|
|
160
|
+
size?: TPktHeadingSize;
|
|
161
|
+
level?: TPktHeadingLevel;
|
|
162
|
+
spacing?: boolean;
|
|
163
|
+
visuallyHidden?: boolean;
|
|
164
|
+
textAlign?: 'start' | 'center' | 'end';
|
|
165
|
+
}
|
|
166
|
+
|
|
159
167
|
declare interface IPktLinkCard {
|
|
160
168
|
title?: string;
|
|
161
169
|
href?: string;
|
|
@@ -638,6 +646,17 @@ declare class PktElement<T = {}> extends LitElement {
|
|
|
638
646
|
constructor();
|
|
639
647
|
}
|
|
640
648
|
|
|
649
|
+
export declare class PktHeading extends PktElement<IPktHeading> implements IPktHeading {
|
|
650
|
+
defaultSlot: Ref<HTMLElement>;
|
|
651
|
+
constructor();
|
|
652
|
+
size: TPktHeadingSize;
|
|
653
|
+
level: TPktHeadingLevel;
|
|
654
|
+
noSpacing: boolean;
|
|
655
|
+
visuallyHidden: boolean;
|
|
656
|
+
align: 'start' | 'center' | 'end';
|
|
657
|
+
render(): TemplateResult<1>;
|
|
658
|
+
}
|
|
659
|
+
|
|
641
660
|
export declare class PktHelptext extends PktElement {
|
|
642
661
|
defaultSlot: Ref<HTMLElement>;
|
|
643
662
|
constructor();
|
|
@@ -1095,6 +1114,10 @@ export declare type TPktButtonVariant = 'label-only' | 'icon-left' | 'icon-right
|
|
|
1095
1114
|
|
|
1096
1115
|
export declare type TPktComboboxTagPlacement = 'inside' | 'outside';
|
|
1097
1116
|
|
|
1117
|
+
export declare type TPktHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
1118
|
+
|
|
1119
|
+
export declare type TPktHeadingSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
1120
|
+
|
|
1098
1121
|
export declare type TPktLoaderVariant = 'blue' | 'rainbow' | 'shapes';
|
|
1099
1122
|
|
|
1100
1123
|
declare type TPktSize = 'small' | 'medium' | 'large';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./heading-CP3NaeWE.cjs"),t=e.PktHeading;Object.defineProperty(exports,"PktHeading",{enumerable:!0,get:()=>e.PktHeading});exports.default=t;
|
package/dist/pkt-index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("./alert-DWIElKEZ.cjs"),l=require("./accordionitem-cvsySqgK.cjs"),P=require("./backlink-HHM21crL.cjs"),b=require("./button-BNdVIhUp.cjs"),p=require("./calendar-oX4HJomV.cjs"),m=require("./card-BDcr3PII.cjs"),g=require("./combobox-D9NKnao2.cjs"),h=require("./checkbox-CqatE-eX.cjs"),t=require("./element-BSypUpzA.cjs"),f=require("./pkt-slot-controller-plQxXRvV.cjs"),s=require("./ref-BvbyvXRH.cjs"),y=require("./class-map-DCyaICmy.cjs"),O=require("./datepicker-CskZMUib.cjs"),j=require("./helptext-CCnYxYA9.cjs"),q=require("./heading-CP3NaeWE.cjs"),x=require("./icon-BnKGwYjj.cjs"),C=require("./input-wrapper-Cn929YTV.cjs"),v=require("./link-CnibgS3c.cjs"),S=require("./linkcard-DPGX1kb1.cjs"),$=require("./loader-BN4q8pSl.cjs"),L=require("./messagebox-BWJr42m9.cjs"),_=require("./modal-cPcTJriW.cjs"),A=require("./progressbar-DiRfScnB.cjs"),d=require("./radiobutton-CIW0FvT8.cjs"),B=require("./tag-CgkUxA5D.cjs"),T=require("./textarea-qX4Inr1X.cjs"),I=require("./textinput-BlsgLNwW.cjs"),M=require("./select-BJziJVde.cjs");var R=Object.defineProperty,H=Object.getOwnPropertyDescriptor,o=(a,e,r,i)=>{for(var n=i>1?void 0:i?H(e,r):e,u=a.length-1,c;u>=0;u--)(c=a[u])&&(n=(i?c(e,r,n):c(n))||n);return i&&n&&R(e,r,n),n};exports.PktComponent=class extends t.PktElement{constructor(){super(),this.string="",this.strings=[],this.darkmode=!1,this._list=[],this.defaultSlot=s.e(),this.namedSlot=s.e(),this.slotController=new f.PktSlotController(this,this.defaultSlot,this.namedSlot)}connectedCallback(){this.strings.length&&this.strings.forEach(e=>{this._list.push(e.toUpperCase())}),super.connectedCallback()}render(){const e={"pkt-component":!0,"pkt-component--has-list":this.strings.length>0,"pkt-darkmode":this.darkmode};return t.x`
|
|
2
2
|
<div class="${y.e(e)}">
|
|
3
3
|
<h1 class="pkt-txt-28">${this.string}</h1>
|
|
4
4
|
|
|
@@ -26,4 +26,4 @@
|
|
|
26
26
|
<ul>
|
|
27
27
|
${e.map(r=>t.x`<li>${r}</li>`)}
|
|
28
28
|
</ul>
|
|
29
|
-
`}doStuff(e){return e.reverse()}handleGreeting(){this.dispatchEvent(new CustomEvent("pkt-greeting",{detail:"Hei på deg!"}))}};o([t.n({type:String})],exports.PktComponent.prototype,"string",2);o([t.n({converter:p.csvToArray})],exports.PktComponent.prototype,"strings",2);o([t.n({type:Boolean})],exports.PktComponent.prototype,"darkmode",2);o([t.n({type:Array})],exports.PktComponent.prototype,"_list",2);exports.PktComponent=o([t.t("pkt-component")],exports.PktComponent);Object.defineProperty(exports,"PktAlert",{enumerable:!0,get:()=>
|
|
29
|
+
`}doStuff(e){return e.reverse()}handleGreeting(){this.dispatchEvent(new CustomEvent("pkt-greeting",{detail:"Hei på deg!"}))}};o([t.n({type:String})],exports.PktComponent.prototype,"string",2);o([t.n({converter:p.csvToArray})],exports.PktComponent.prototype,"strings",2);o([t.n({type:Boolean})],exports.PktComponent.prototype,"darkmode",2);o([t.n({type:Array})],exports.PktComponent.prototype,"_list",2);exports.PktComponent=o([t.t("pkt-component")],exports.PktComponent);Object.defineProperty(exports,"PktAlert",{enumerable:!0,get:()=>k.PktAlert});exports.PktAccordion=l.PktAccordion;exports.PktAccordionItem=l.PktAccordionItem;Object.defineProperty(exports,"PktBackLink",{enumerable:!0,get:()=>P.PktBackLink});Object.defineProperty(exports,"PktButton",{enumerable:!0,get:()=>b.PktButton});Object.defineProperty(exports,"PktCalendar",{enumerable:!0,get:()=>p.PktCalendar});Object.defineProperty(exports,"PktCard",{enumerable:!0,get:()=>m.PktCard});Object.defineProperty(exports,"PktCombobox",{enumerable:!0,get:()=>g.PktCombobox});Object.defineProperty(exports,"PktCheckbox",{enumerable:!0,get:()=>h.PktCheckbox});Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>O.PktDatepicker});Object.defineProperty(exports,"PktHelptext",{enumerable:!0,get:()=>j.PktHelptext});Object.defineProperty(exports,"PktHeading",{enumerable:!0,get:()=>q.PktHeading});Object.defineProperty(exports,"PktIcon",{enumerable:!0,get:()=>x.PktIcon});Object.defineProperty(exports,"PktInputWrapper",{enumerable:!0,get:()=>C.PktInputWrapper});Object.defineProperty(exports,"PktLink",{enumerable:!0,get:()=>v.PktLink});Object.defineProperty(exports,"PktLinkCard",{enumerable:!0,get:()=>S.PktLinkCard});Object.defineProperty(exports,"PktLoader",{enumerable:!0,get:()=>$.PktLoader});Object.defineProperty(exports,"PktMessagebox",{enumerable:!0,get:()=>L.PktMessagebox});Object.defineProperty(exports,"PktModal",{enumerable:!0,get:()=>_.PktModal});Object.defineProperty(exports,"PktProgressbar",{enumerable:!0,get:()=>A.PktProgressbar});Object.defineProperty(exports,"PktRadioButton",{enumerable:!0,get:()=>d.PktRadioButton});Object.defineProperty(exports,"PktRadiobutton",{enumerable:!0,get:()=>d.PktRadioButton});Object.defineProperty(exports,"PktTag",{enumerable:!0,get:()=>B.PktTag});Object.defineProperty(exports,"PktTextarea",{enumerable:!0,get:()=>T.PktTextarea});Object.defineProperty(exports,"PktTextinput",{enumerable:!0,get:()=>I.PktTextinput});Object.defineProperty(exports,"PktSelect",{enumerable:!0,get:()=>M.PktSelect});
|
package/dist/pkt-index.js
CHANGED
|
@@ -2,36 +2,37 @@ import { P as A } from "./alert-B5lVS6Qs.js";
|
|
|
2
2
|
import { P as B, a as E } from "./accordionitem-Db-3WiJS.js";
|
|
3
3
|
import { P as O } from "./backlink-hvyJmwrO.js";
|
|
4
4
|
import { P as T } from "./button-B6uRE7uT.js";
|
|
5
|
-
import { c as
|
|
5
|
+
import { c as f } from "./calendar-mTDcujoj.js";
|
|
6
6
|
import { P as D } from "./calendar-mTDcujoj.js";
|
|
7
|
-
import { P as
|
|
7
|
+
import { P as G } from "./card-B5zTEmH1.js";
|
|
8
8
|
import { P as K } from "./combobox-CELUAZxF.js";
|
|
9
9
|
import { P as U } from "./checkbox-CyYfA2fu.js";
|
|
10
|
-
import { P as
|
|
10
|
+
import { P as h, t as k, x as P, n, a as c } from "./element-DjjF_tEh.js";
|
|
11
11
|
import { P as x } from "./pkt-slot-controller-DFrc5O93.js";
|
|
12
12
|
import { e as m, n as d } from "./ref-iIffqQAI.js";
|
|
13
13
|
import { e as u } from "./class-map-KyMqi0fa.js";
|
|
14
14
|
import { P as q } from "./datepicker-B6qk_tTl.js";
|
|
15
15
|
import { P as F } from "./helptext-BLHAJ1aC.js";
|
|
16
|
-
import { P as Q } from "./
|
|
17
|
-
import { P as X } from "./
|
|
18
|
-
import { P as Z } from "./
|
|
19
|
-
import { P as et } from "./
|
|
20
|
-
import { P as ot } from "./
|
|
21
|
-
import { P as at } from "./
|
|
22
|
-
import { P as it } from "./
|
|
23
|
-
import { P as lt } from "./
|
|
24
|
-
import { P as mt
|
|
25
|
-
import { P as ft } from "./
|
|
26
|
-
import { P as ct } from "./
|
|
27
|
-
import { P as ut } from "./
|
|
28
|
-
import { P as vt } from "./
|
|
16
|
+
import { P as Q } from "./heading-BkC05ohM.js";
|
|
17
|
+
import { P as X } from "./icon-Beoxup8E.js";
|
|
18
|
+
import { P as Z } from "./input-wrapper-CeeNYbDA.js";
|
|
19
|
+
import { P as et } from "./link-BYI8VNGd.js";
|
|
20
|
+
import { P as ot } from "./linkcard--zuuAt_v.js";
|
|
21
|
+
import { P as at } from "./loader-DgIiyYBl.js";
|
|
22
|
+
import { P as it } from "./messagebox-cme5VbUM.js";
|
|
23
|
+
import { P as lt } from "./modal-B-varrJT.js";
|
|
24
|
+
import { P as mt } from "./progressbar-BKt_aj7f.js";
|
|
25
|
+
import { P as ft, P as ht } from "./radiobutton-DtHuz7qn.js";
|
|
26
|
+
import { P as ct } from "./tag-CGnj4c1Z.js";
|
|
27
|
+
import { P as ut } from "./textarea-CiA4IzMs.js";
|
|
28
|
+
import { P as vt } from "./textinput-CrxjZNEq.js";
|
|
29
|
+
import { P as bt } from "./select-DbRLz-7l.js";
|
|
29
30
|
var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (t, e, i, a) => {
|
|
30
31
|
for (var r = a > 1 ? void 0 : a ? v(e, i) : e, p = t.length - 1, l; p >= 0; p--)
|
|
31
32
|
(l = t[p]) && (r = (a ? l(e, i, r) : l(r)) || r);
|
|
32
33
|
return a && r && g(e, i, r), r;
|
|
33
34
|
};
|
|
34
|
-
let o = class extends
|
|
35
|
+
let o = class extends h {
|
|
35
36
|
constructor() {
|
|
36
37
|
super(), this.string = "", this.strings = [], this.darkmode = !1, this._list = [], this.defaultSlot = m(), this.namedSlot = m(), this.slotController = new x(this, this.defaultSlot, this.namedSlot);
|
|
37
38
|
}
|
|
@@ -106,7 +107,7 @@ s([
|
|
|
106
107
|
n({ type: String })
|
|
107
108
|
], o.prototype, "string", 2);
|
|
108
109
|
s([
|
|
109
|
-
n({ converter:
|
|
110
|
+
n({ converter: f })
|
|
110
111
|
], o.prototype, "strings", 2);
|
|
111
112
|
s([
|
|
112
113
|
n({ type: Boolean })
|
|
@@ -124,24 +125,25 @@ export {
|
|
|
124
125
|
O as PktBackLink,
|
|
125
126
|
T as PktButton,
|
|
126
127
|
D as PktCalendar,
|
|
127
|
-
|
|
128
|
+
G as PktCard,
|
|
128
129
|
U as PktCheckbox,
|
|
129
130
|
K as PktCombobox,
|
|
130
131
|
o as PktComponent,
|
|
131
132
|
q as PktDatepicker,
|
|
133
|
+
Q as PktHeading,
|
|
132
134
|
F as PktHelptext,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
135
|
+
X as PktIcon,
|
|
136
|
+
Z as PktInputWrapper,
|
|
137
|
+
et as PktLink,
|
|
138
|
+
ot as PktLinkCard,
|
|
139
|
+
at as PktLoader,
|
|
140
|
+
it as PktMessagebox,
|
|
141
|
+
lt as PktModal,
|
|
142
|
+
mt as PktProgressbar,
|
|
143
|
+
ft as PktRadioButton,
|
|
144
|
+
ht as PktRadiobutton,
|
|
145
|
+
bt as PktSelect,
|
|
146
|
+
ct as PktTag,
|
|
147
|
+
ut as PktTextarea,
|
|
148
|
+
vt as PktTextinput
|
|
147
149
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-elements",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.35.0",
|
|
4
4
|
"description": "Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"urlpattern-polyfill": "^10.0.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@oslokommune/punkt-assets": "^12.
|
|
33
|
-
"@oslokommune/punkt-css": "^12.
|
|
32
|
+
"@oslokommune/punkt-assets": "^12.34.4",
|
|
33
|
+
"@oslokommune/punkt-css": "^12.35.0",
|
|
34
34
|
"sass": "^1.78.0",
|
|
35
35
|
"typescript": "^5.6.2",
|
|
36
36
|
"vite": "^5.4.18",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
58
58
|
},
|
|
59
59
|
"license": "MIT",
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "897a80f0520cca735bc514c074d11a7e750079cc"
|
|
61
61
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PktElement } from '@/base-elements/element'
|
|
2
|
+
import { PktSlotController } from '@/controllers/pkt-slot-controller'
|
|
3
|
+
import { html } from 'lit'
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js'
|
|
5
|
+
import { classMap } from 'lit/directives/class-map.js'
|
|
6
|
+
import { createRef, ref, Ref } from 'lit/directives/ref.js'
|
|
7
|
+
|
|
8
|
+
export type TPktHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6
|
|
9
|
+
export type TPktHeadingSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'
|
|
10
|
+
|
|
11
|
+
export interface IPktHeading {
|
|
12
|
+
size?: TPktHeadingSize
|
|
13
|
+
level?: TPktHeadingLevel
|
|
14
|
+
spacing?: boolean
|
|
15
|
+
visuallyHidden?: boolean
|
|
16
|
+
textAlign?: 'start' | 'center' | 'end'
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@customElement('pkt-heading')
|
|
20
|
+
export class PktHeading extends PktElement<IPktHeading> implements IPktHeading {
|
|
21
|
+
defaultSlot: Ref<HTMLElement> = createRef()
|
|
22
|
+
|
|
23
|
+
constructor() {
|
|
24
|
+
super()
|
|
25
|
+
this.slotController = new PktSlotController(this, this.defaultSlot)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@property({ type: String, reflect: true }) size: TPktHeadingSize = 'medium'
|
|
29
|
+
@property({ type: Number, reflect: true }) level: TPktHeadingLevel = 2
|
|
30
|
+
@property({ type: Boolean, reflect: true }) noSpacing: boolean = true
|
|
31
|
+
@property({ type: Boolean, reflect: true }) visuallyHidden: boolean = false
|
|
32
|
+
@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' = 'start'
|
|
33
|
+
|
|
34
|
+
render() {
|
|
35
|
+
const classes = {
|
|
36
|
+
'pkt-heading': true,
|
|
37
|
+
[`pkt-heading--${this.size}`]: this.size,
|
|
38
|
+
'pkt-heading--noSpacing': this.noSpacing,
|
|
39
|
+
'pkt-sr-only': this.visuallyHidden,
|
|
40
|
+
[`pkt-heading--${this.align}`]: this.align,
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
switch (this.level) {
|
|
44
|
+
case 2:
|
|
45
|
+
return html`<h2 class=${classMap(classes)} ${ref(this.defaultSlot)}></h2>`
|
|
46
|
+
case 3:
|
|
47
|
+
return html`<h3 class=${classMap(classes)} ${ref(this.defaultSlot)}></h3>`
|
|
48
|
+
case 4:
|
|
49
|
+
return html`<h4 class=${classMap(classes)} ${ref(this.defaultSlot)}></h4>`
|
|
50
|
+
case 5:
|
|
51
|
+
return html`<h5 class=${classMap(classes)} ${ref(this.defaultSlot)}></h5>`
|
|
52
|
+
case 6:
|
|
53
|
+
return html`<h6 class=${classMap(classes)} ${ref(this.defaultSlot)}></h6>`
|
|
54
|
+
case 1:
|
|
55
|
+
default:
|
|
56
|
+
return html`<h1 class=${classMap(classes)} ${ref(this.defaultSlot)}></h1>`
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
package/src/components/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { PktCheckbox } from '@/components/checkbox'
|
|
|
10
10
|
export { PktComponent } from '../base-elements/component-template.js'
|
|
11
11
|
export { PktDatepicker } from '@/components/datepicker/datepicker.js'
|
|
12
12
|
export { PktHelptext } from '@/components/helptext'
|
|
13
|
+
export { PktHeading } from '@/components/heading'
|
|
13
14
|
export { PktIcon } from '@/components/icon'
|
|
14
15
|
export { PktInputWrapper } from '@/components/input-wrapper'
|
|
15
16
|
export { PktLink } from '@/components/link'
|
|
@@ -55,6 +56,8 @@ export type {
|
|
|
55
56
|
TPktComboboxTagPlacement,
|
|
56
57
|
} from '@/components/combobox'
|
|
57
58
|
|
|
59
|
+
export type { IPktHeading, TPktHeadingSize, TPktHeadingLevel } from '@/components/heading'
|
|
60
|
+
|
|
58
61
|
export type { TTagSkin, TTagType } from '@/components/tag'
|
|
59
62
|
|
|
60
63
|
export type { TSelectOption } from '@/components/select'
|