@oslokommune/punkt-elements 12.27.0 → 12.27.3
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/dist/alert.d.ts +7 -0
- package/dist/calendar.d.ts +7 -0
- package/dist/card.d.ts +7 -0
- package/dist/datepicker.d.ts +7 -0
- package/dist/helptext.d.ts +7 -0
- package/dist/icon.d.ts +7 -0
- package/dist/index.d.ts +10 -2
- package/dist/input-wrapper.d.ts +7 -0
- package/dist/link.d.ts +7 -0
- package/dist/linkcard.d.ts +7 -0
- package/dist/messagebox.d.ts +7 -0
- package/dist/{modal-PKDnp91S.js → modal-8ATPiGdr.js} +47 -48
- package/dist/modal-KxnVxEio.cjs +32 -0
- package/dist/modal.d.ts +7 -0
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +1 -1
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/progressbar.d.ts +7 -0
- package/dist/radiobutton.d.ts +7 -0
- package/dist/select.d.ts +7 -0
- package/dist/tag.d.ts +7 -0
- package/dist/textarea.d.ts +7 -0
- package/dist/textinput.d.ts +7 -0
- package/package.json +4 -4
- package/src/components/icon/icon.ts +10 -3
- package/src/components/modal/modal.ts +9 -12
- package/dist/modal-BkchlKkL.cjs +0 -32
package/dist/alert.d.ts
CHANGED
package/dist/calendar.d.ts
CHANGED
package/dist/card.d.ts
CHANGED
package/dist/datepicker.d.ts
CHANGED
package/dist/helptext.d.ts
CHANGED
package/dist/icon.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
+
import { PktIconName } from '@oslokommune/punkt-assets/dist/icons/icon';
|
|
2
3
|
import { PropertyValues } from 'lit';
|
|
3
4
|
import { ReactiveController } from 'lit';
|
|
4
5
|
import { ReactiveControllerHost } from 'lit';
|
|
@@ -312,13 +313,13 @@ export declare class PktHelptext extends PktElement {
|
|
|
312
313
|
|
|
313
314
|
export declare class PktIcon extends PktElement {
|
|
314
315
|
path: string | undefined;
|
|
315
|
-
name:
|
|
316
|
+
name: PktIconName;
|
|
316
317
|
private icon;
|
|
317
318
|
private _updatedProps;
|
|
318
319
|
connectedCallback(): void;
|
|
319
320
|
attributeChangedCallback(name: string, _old: string | null, value: string | null): Promise<void>;
|
|
320
321
|
protected updated(_changedProperties: PropertyValues): Promise<void>;
|
|
321
|
-
protected getIcon(name?:
|
|
322
|
+
protected getIcon(name?: PktIconName): Promise<void>;
|
|
322
323
|
render(): TemplateResult<1>;
|
|
323
324
|
}
|
|
324
325
|
|
|
@@ -647,6 +648,13 @@ export declare type TTagType = 'button' | 'reset' | 'submit';
|
|
|
647
648
|
export { }
|
|
648
649
|
|
|
649
650
|
|
|
651
|
+
declare global {
|
|
652
|
+
interface HTMLElementTagNameMap {
|
|
653
|
+
'pkt-icon': PktIcon;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
|
|
650
658
|
declare global {
|
|
651
659
|
interface Window {
|
|
652
660
|
pktTz: string;
|
package/dist/input-wrapper.d.ts
CHANGED
package/dist/link.d.ts
CHANGED
package/dist/linkcard.d.ts
CHANGED
package/dist/messagebox.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { e as c } from "./class-map-CQzsZCwS.js";
|
|
2
|
-
import { P as f, x as p, E as
|
|
2
|
+
import { P as f, x as p, E as k, n as d, t as g } from "./element-BKrU5soj.js";
|
|
3
3
|
import { r as v } from "./state-C36ZmZgt.js";
|
|
4
4
|
import { P as b } from "./pkt-slot-controller-Clbye6cM.js";
|
|
5
|
-
import { e as
|
|
5
|
+
import { e as m, n as h } from "./ref-D5qG7OFB.js";
|
|
6
6
|
import "./icon-Bsb0MB2h.js";
|
|
7
7
|
const y = "pkt-modal", _ = !0, C = {
|
|
8
8
|
"background-click": {
|
|
@@ -48,7 +48,7 @@ const y = "pkt-modal", _ = !0, C = {
|
|
|
48
48
|
],
|
|
49
49
|
default: "medium"
|
|
50
50
|
}
|
|
51
|
-
},
|
|
51
|
+
}, w = {
|
|
52
52
|
default: {
|
|
53
53
|
description: "Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen."
|
|
54
54
|
}
|
|
@@ -58,92 +58,91 @@ const y = "pkt-modal", _ = !0, C = {
|
|
|
58
58
|
isElements: _,
|
|
59
59
|
events: C,
|
|
60
60
|
props: B,
|
|
61
|
-
slots:
|
|
61
|
+
slots: w
|
|
62
62
|
};
|
|
63
|
-
var
|
|
64
|
-
for (var
|
|
65
|
-
(
|
|
66
|
-
return
|
|
63
|
+
var E = Object.defineProperty, S = Object.getOwnPropertyDescriptor, l = (t, e, o, s) => {
|
|
64
|
+
for (var n = s > 1 ? void 0 : s ? S(e, o) : e, r = t.length - 1, a; r >= 0; r--)
|
|
65
|
+
(a = t[r]) && (n = (s ? a(e, o, n) : a(n)) || n);
|
|
66
|
+
return s && n && E(e, o, n), n;
|
|
67
67
|
};
|
|
68
68
|
let i = class extends f {
|
|
69
69
|
constructor() {
|
|
70
|
-
super(), this.headingText = "", this.removePadding = !1, this.hideCloseButton = u.props.hideCloseButton.default, this.closeOnBackdropClick = u.props.closeOnBackdropClick.default, this.closeButtonSkin = "blue", this.size = u.props.size.default, this.defaultSlot =
|
|
70
|
+
super(), this.headingText = "", this.removePadding = !1, this.hideCloseButton = u.props.hideCloseButton.default, this.closeOnBackdropClick = u.props.closeOnBackdropClick.default, this.closeButtonSkin = "blue", this.size = u.props.size.default, this.defaultSlot = m(), this.dialogRef = m(), this._isOpen = !1, this.close = (t, e = !1) => {
|
|
71
71
|
var s;
|
|
72
|
-
|
|
72
|
+
if (!this._isOpen) return;
|
|
73
|
+
this._isOpen = !1, document.body.classList.remove("pkt-modal--open");
|
|
73
74
|
const o = document.activeElement;
|
|
74
75
|
o && !this.isElementInViewport(o) && o.scrollIntoView({ behavior: "smooth", block: "nearest" }), this.dispatchEvent(
|
|
75
|
-
new CustomEvent("close", { detail: { origin:
|
|
76
|
-
),
|
|
77
|
-
}, this.showModal = (
|
|
76
|
+
new CustomEvent("close", { detail: { origin: t }, bubbles: !0, composed: !0 })
|
|
77
|
+
), e || (s = this.dialogRef.value) == null || s.close(), this.requestUpdate();
|
|
78
|
+
}, this.showModal = (t) => {
|
|
78
79
|
var o;
|
|
79
80
|
this._isOpen = !0, (o = this.dialogRef.value) == null || o.showModal();
|
|
80
|
-
const
|
|
81
|
+
const e = document.querySelector(".pkt-modal");
|
|
81
82
|
requestAnimationFrame(() => {
|
|
82
|
-
var
|
|
83
|
-
this.dialogRef.value && ((
|
|
84
|
-
}),
|
|
85
|
-
new CustomEvent("showModal", { detail: { origin:
|
|
83
|
+
var s;
|
|
84
|
+
this.dialogRef.value && ((s = this.dialogRef.value) == null || s.focus());
|
|
85
|
+
}), e && document.body.classList.add("pkt-modal--open"), this.dispatchEvent(
|
|
86
|
+
new CustomEvent("showModal", { detail: { origin: t }, bubbles: !0, composed: !0 })
|
|
86
87
|
), this.requestUpdate();
|
|
87
88
|
}, this.slotController = new b(this, this.defaultSlot), this._isOpen = !1;
|
|
88
89
|
}
|
|
89
90
|
async connectedCallback() {
|
|
90
|
-
|
|
91
|
-
super.connectedCallback(), document.addEventListener("keydown", this.handleKeyDown.bind(this)), document.addEventListener("click", this.handleBackdropClick.bind(this)), (e = this.dialogRef.value) == null || e.addEventListener("submit", (t) => this.close(t, !0));
|
|
91
|
+
super.connectedCallback(), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("click", this.handleBackdropClick);
|
|
92
92
|
}
|
|
93
93
|
disconnectedCallback() {
|
|
94
|
-
|
|
95
|
-
super.disconnectedCallback(), document.removeEventListener("keydown", this.handleKeyDown.bind(this)), document.removeEventListener("click", this.handleBackdropClick.bind(this)), (e = this.dialogRef.value) == null || e.removeEventListener("submit", (t) => this.close(t, !0));
|
|
94
|
+
super.disconnectedCallback(), document.removeEventListener("keydown", this.handleKeyDown), document.removeEventListener("click", this.handleBackdropClick);
|
|
96
95
|
}
|
|
97
96
|
// P R I V A T E M E T H O D S
|
|
98
|
-
handleKeyDown(
|
|
99
|
-
|
|
97
|
+
handleKeyDown(t) {
|
|
98
|
+
t.key === "Escape" && this.close(t);
|
|
100
99
|
}
|
|
101
|
-
handleBackdropClick(
|
|
102
|
-
var
|
|
103
|
-
this.closeOnBackdropClick &&
|
|
100
|
+
handleBackdropClick(t) {
|
|
101
|
+
var e;
|
|
102
|
+
this.closeOnBackdropClick && t.target === ((e = this.dialogRef) == null ? void 0 : e.value) && this.close(t);
|
|
104
103
|
}
|
|
105
|
-
isElementInViewport(
|
|
106
|
-
const
|
|
107
|
-
return
|
|
104
|
+
isElementInViewport(t) {
|
|
105
|
+
const e = t.getBoundingClientRect();
|
|
106
|
+
return e.top >= 0 && e.left >= 0 && e.bottom <= (window.innerHeight || document.documentElement.clientHeight) && e.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
108
107
|
}
|
|
109
108
|
render() {
|
|
110
|
-
const
|
|
109
|
+
const t = {
|
|
111
110
|
"pkt-modal": !0,
|
|
112
111
|
"pkt-modal--removePadding": this.removePadding ?? !1,
|
|
113
112
|
"pkt-modal--noHeadingText": this.headingText === "" || this.headingText === void 0,
|
|
114
113
|
[`pkt-modal--${this.size}`]: this.size !== void 0
|
|
115
|
-
},
|
|
114
|
+
}, e = {
|
|
116
115
|
"pkt-modal__headingText": !0,
|
|
117
116
|
"pkt-txt-24": !0
|
|
118
117
|
}, o = {
|
|
119
118
|
"pkt-modal__content": !0,
|
|
120
119
|
"pkt-txt-18-light": !0
|
|
121
|
-
},
|
|
120
|
+
}, s = this.closeButtonSkin === "blue", n = {
|
|
122
121
|
"pkt-modal__closeButton": !0,
|
|
123
122
|
[`pkt-modal__closeButton--${this.closeButtonSkin}`]: !0
|
|
124
|
-
},
|
|
123
|
+
}, r = {
|
|
125
124
|
"pkt-btn": !0,
|
|
126
|
-
[`pkt-btn--${
|
|
125
|
+
[`pkt-btn--${s ? "tertiary" : "primary"}`]: !0,
|
|
127
126
|
"pkt-btn--icon-only": !0,
|
|
128
127
|
"pkt-btn--medium": !0
|
|
129
128
|
};
|
|
130
129
|
return p`
|
|
131
130
|
<dialog
|
|
132
|
-
class=${c(
|
|
133
|
-
aria-modal=${this._isOpen}
|
|
131
|
+
class=${c(t)}
|
|
134
132
|
${h(this.dialogRef)}
|
|
135
133
|
aria-labelledby="pkt-modal__headingText"
|
|
136
134
|
aria-describedby="pkt-modal__content"
|
|
135
|
+
@close=${(a) => this.close(a, !0)}
|
|
137
136
|
>
|
|
138
137
|
<div class="pkt-modal__header">
|
|
139
138
|
<div class="pkt-modal__header-background"></div>
|
|
140
|
-
${this.headingText ? p`<h1 id="pkt-modal__headingText" class=${c(
|
|
139
|
+
${this.headingText ? p`<h1 id="pkt-modal__headingText" class=${c(e)}>
|
|
141
140
|
${this.headingText}
|
|
142
|
-
</h1>` :
|
|
143
|
-
${this.hideCloseButton ?
|
|
141
|
+
</h1>` : k}
|
|
142
|
+
${this.hideCloseButton ? k : p`<div class="${c(n)}">
|
|
144
143
|
<button
|
|
145
|
-
@click=${(
|
|
146
|
-
class=${c(
|
|
144
|
+
@click=${(a) => this.close(a)}
|
|
145
|
+
class=${c(r)}
|
|
147
146
|
aria-label="close"
|
|
148
147
|
>
|
|
149
148
|
<pkt-icon name="close" class="pkt-link__icon"></pkt-icon>
|
|
@@ -162,22 +161,22 @@ let i = class extends f {
|
|
|
162
161
|
}
|
|
163
162
|
};
|
|
164
163
|
l([
|
|
165
|
-
|
|
164
|
+
d({ type: String, reflect: !0 })
|
|
166
165
|
], i.prototype, "headingText", 2);
|
|
167
166
|
l([
|
|
168
|
-
|
|
167
|
+
d({ type: Boolean, reflect: !0 })
|
|
169
168
|
], i.prototype, "removePadding", 2);
|
|
170
169
|
l([
|
|
171
|
-
|
|
170
|
+
d({ type: Boolean, reflect: !0 })
|
|
172
171
|
], i.prototype, "hideCloseButton", 2);
|
|
173
172
|
l([
|
|
174
|
-
|
|
173
|
+
d({ type: Boolean, reflect: !0 })
|
|
175
174
|
], i.prototype, "closeOnBackdropClick", 2);
|
|
176
175
|
l([
|
|
177
|
-
|
|
176
|
+
d({ type: String, reflect: !0 })
|
|
178
177
|
], i.prototype, "closeButtonSkin", 2);
|
|
179
178
|
l([
|
|
180
|
-
|
|
179
|
+
d({ type: String, reflect: !0 })
|
|
181
180
|
], i.prototype, "size", 2);
|
|
182
181
|
l([
|
|
183
182
|
v()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";const d=require("./class-map-aeZWY44S.cjs"),s=require("./element-B0UgldHm.cjs"),k=require("./state-CG-binsl.cjs"),m=require("./pkt-slot-controller-Oc32unDk.cjs"),r=require("./ref-DDYBJ4EB.cjs");require("./icon-PWn7rnfg.cjs");const h="pkt-modal",g=!0,f={"background-click":{description:"Event som trigges når bakgrunnen trykkes på"},close:{description:"Event som trigges når meldingsboksen lukkes"}},v={headingText:{name:"Heading text",description:"Heading tekst på modalen",type:"string"},hideCloseButton:{name:"Gjem 'Lukk'-knapp",description:"Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.",type:"boolean",default:!1},closeOnBackdropClick:{name:"Lukk modalen når bakgrunnen trykkes på",description:"Lukk modalen når bakgrunnen trykkes på",type:"boolean",default:!1},closeButtonSkin:{name:"Stil på lukkeknappen",description:"Stil på lukkeknappen",type:["blue","yellow-filled"],default:"blue"},size:{name:"Størrelse",description:"Størrelsen på modalen",type:["small","medium","large"],default:"medium"}},b={default:{description:"Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen."}},u={name:h,"css-class":"pkt-modal",isElements:g,events:f,props:v,slots:b};var y=Object.defineProperty,_=Object.getOwnPropertyDescriptor,l=(c,e,t,n)=>{for(var o=n>1?void 0:n?_(e,t):e,i=c.length-1,a;i>=0;i--)(a=c[i])&&(o=(n?a(e,t,o):a(o))||o);return n&&o&&y(e,t,o),o};exports.PktModal=class extends s.PktElement{constructor(){super(),this.headingText="",this.removePadding=!1,this.hideCloseButton=u.props.hideCloseButton.default,this.closeOnBackdropClick=u.props.closeOnBackdropClick.default,this.closeButtonSkin="blue",this.size=u.props.size.default,this.defaultSlot=r.e(),this.dialogRef=r.e(),this._isOpen=!1,this.close=(e,t=!1)=>{var o;if(!this._isOpen)return;this._isOpen=!1,document.body.classList.remove("pkt-modal--open");const n=document.activeElement;n&&!this.isElementInViewport(n)&&n.scrollIntoView({behavior:"smooth",block:"nearest"}),this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),t||(o=this.dialogRef.value)==null||o.close(),this.requestUpdate()},this.showModal=e=>{var n;this._isOpen=!0,(n=this.dialogRef.value)==null||n.showModal();const t=document.querySelector(".pkt-modal");requestAnimationFrame(()=>{var o;this.dialogRef.value&&((o=this.dialogRef.value)==null||o.focus())}),t&&document.body.classList.add("pkt-modal--open"),this.dispatchEvent(new CustomEvent("showModal",{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this.slotController=new m.PktSlotController(this,this.defaultSlot),this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("click",this.handleBackdropClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("click",this.handleBackdropClick)}handleKeyDown(e){e.key==="Escape"&&this.close(e)}handleBackdropClick(e){var t;this.closeOnBackdropClick&&e.target===((t=this.dialogRef)==null?void 0:t.value)&&this.close(e)}isElementInViewport(e){const t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){const e={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===""||this.headingText===void 0,[`pkt-modal--${this.size}`]:this.size!==void 0},t={"pkt-modal__headingText":!0,"pkt-txt-24":!0},n={"pkt-modal__content":!0,"pkt-txt-18-light":!0},o=this.closeButtonSkin==="blue",i={"pkt-modal__closeButton":!0,[`pkt-modal__closeButton--${this.closeButtonSkin}`]:!0},a={"pkt-btn":!0,[`pkt-btn--${o?"tertiary":"primary"}`]:!0,"pkt-btn--icon-only":!0,"pkt-btn--medium":!0};return s.x`
|
|
2
|
+
<dialog
|
|
3
|
+
class=${d.e(e)}
|
|
4
|
+
${r.n(this.dialogRef)}
|
|
5
|
+
aria-labelledby="pkt-modal__headingText"
|
|
6
|
+
aria-describedby="pkt-modal__content"
|
|
7
|
+
@close=${p=>this.close(p,!0)}
|
|
8
|
+
>
|
|
9
|
+
<div class="pkt-modal__header">
|
|
10
|
+
<div class="pkt-modal__header-background"></div>
|
|
11
|
+
${this.headingText?s.x`<h1 id="pkt-modal__headingText" class=${d.e(t)}>
|
|
12
|
+
${this.headingText}
|
|
13
|
+
</h1>`:s.E}
|
|
14
|
+
${this.hideCloseButton?s.E:s.x`<div class="${d.e(i)}">
|
|
15
|
+
<button
|
|
16
|
+
@click=${p=>this.close(p)}
|
|
17
|
+
class=${d.e(a)}
|
|
18
|
+
aria-label="close"
|
|
19
|
+
>
|
|
20
|
+
<pkt-icon name="close" class="pkt-link__icon"></pkt-icon>
|
|
21
|
+
</button>
|
|
22
|
+
</div>`}
|
|
23
|
+
</div>
|
|
24
|
+
<div class="pkt-modal__container">
|
|
25
|
+
<div
|
|
26
|
+
id="pkt-modal__content"
|
|
27
|
+
class=${d.e(n)}
|
|
28
|
+
${r.n(this.defaultSlot)}
|
|
29
|
+
></div>
|
|
30
|
+
</div>
|
|
31
|
+
</dialog>
|
|
32
|
+
`}};l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"headingText",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"removePadding",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"hideCloseButton",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"closeOnBackdropClick",2);l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"closeButtonSkin",2);l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"size",2);l([k.r()],exports.PktModal.prototype,"_isOpen",2);exports.PktModal=l([s.t("pkt-modal")],exports.PktModal);
|
package/dist/modal.d.ts
CHANGED
package/dist/pkt-index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./alert-uNzcOJR9.cjs"),p=require("./calendar-CPEJ1enc.cjs"),d=require("./card-BaxqXP-k.cjs"),t=require("./element-B0UgldHm.cjs"),P=require("./pkt-slot-controller-Oc32unDk.cjs"),i=require("./ref-DDYBJ4EB.cjs"),k=require("./class-map-aeZWY44S.cjs"),b=require("./datepicker-BC0e34ws.cjs"),g=require("./helptext-xUdEGuNQ.cjs"),m=require("./icon-PWn7rnfg.cjs"),h=require("./input-wrapper-DeCY6nta.cjs"),f=require("./link-I_LKEBVK.cjs"),y=require("./linkcard-ClXGVwdJ.cjs"),v=require("./messagebox-CC3j63Wp.cjs"),x=require("./modal-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./alert-uNzcOJR9.cjs"),p=require("./calendar-CPEJ1enc.cjs"),d=require("./card-BaxqXP-k.cjs"),t=require("./element-B0UgldHm.cjs"),P=require("./pkt-slot-controller-Oc32unDk.cjs"),i=require("./ref-DDYBJ4EB.cjs"),k=require("./class-map-aeZWY44S.cjs"),b=require("./datepicker-BC0e34ws.cjs"),g=require("./helptext-xUdEGuNQ.cjs"),m=require("./icon-PWn7rnfg.cjs"),h=require("./input-wrapper-DeCY6nta.cjs"),f=require("./link-I_LKEBVK.cjs"),y=require("./linkcard-ClXGVwdJ.cjs"),v=require("./messagebox-CC3j63Wp.cjs"),x=require("./modal-KxnVxEio.cjs"),C=require("./progressbar-CkaLjQYa.cjs"),O=require("./radiobutton-HmicLshI.cjs"),j=require("./tag-DGywzHJ5.cjs"),q=require("./textarea-WWRAA1LV.cjs"),S=require("./textinput-CE5AzOur.cjs"),$=require("./select-DFlu7Eq6.cjs");var _=Object.defineProperty,T=Object.getOwnPropertyDescriptor,o=(a,e,r,s)=>{for(var n=s>1?void 0:s?T(e,r):e,l=a.length-1,u;l>=0;l--)(u=a[l])&&(n=(s?u(e,r,n):u(n))||n);return s&&n&&_(e,r,n),n};exports.PktComponent=class extends t.PktElement{constructor(){super(),this.string="",this.strings=[],this.darkmode=!1,this._list=[],this.defaultSlot=i.e(),this.namedSlot=i.e(),this.slotController=new P.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="${k.e(e)}">
|
|
3
3
|
<h1 class="pkt-txt-28">${this.string}</h1>
|
|
4
4
|
|
package/dist/pkt-index.js
CHANGED
|
@@ -13,7 +13,7 @@ import { P as M } from "./input-wrapper-Df18_PvD.js";
|
|
|
13
13
|
import { P as N } from "./link-0N9wG5l8.js";
|
|
14
14
|
import { P as W } from "./linkcard-BJeRbpq_.js";
|
|
15
15
|
import { P as z } from "./messagebox-C5M56R8f.js";
|
|
16
|
-
import { P as J } from "./modal-
|
|
16
|
+
import { P as J } from "./modal-8ATPiGdr.js";
|
|
17
17
|
import { P as V } from "./progressbar-DETyIwXf.js";
|
|
18
18
|
import { P as Y } from "./radiobutton-BhQCBJ0I.js";
|
|
19
19
|
import { P as tt } from "./tag-W9Lf1doW.js";
|
package/dist/pkt-modal.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./modal-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./modal-KxnVxEio.cjs"),t=e.PktModal;Object.defineProperty(exports,"PktModal",{enumerable:!0,get:()=>e.PktModal});exports.default=t;
|
package/dist/pkt-modal.js
CHANGED
package/dist/progressbar.d.ts
CHANGED
package/dist/radiobutton.d.ts
CHANGED
package/dist/select.d.ts
CHANGED
package/dist/tag.d.ts
CHANGED
package/dist/textarea.d.ts
CHANGED
package/dist/textinput.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-elements",
|
|
3
|
-
"version": "12.27.
|
|
3
|
+
"version": "12.27.3",
|
|
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.27.
|
|
32
|
+
"@oslokommune/punkt-assets": "^12.27.1",
|
|
33
|
+
"@oslokommune/punkt-css": "^12.27.1",
|
|
34
34
|
"sass": "^1.78.0",
|
|
35
35
|
"typescript": "^5.6.2",
|
|
36
36
|
"vite": "^5.4.4",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
58
58
|
},
|
|
59
59
|
"license": "MIT",
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "a022d4e96f1e77e5284d04166f680d6952d3ae1d"
|
|
61
61
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PktElement } from '@/base-elements/element'
|
|
2
|
+
import { PktIconName } from '@oslokommune/punkt-assets/dist/icons/icon'
|
|
2
3
|
import { html, PropertyValues } from 'lit'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
import { unsafeSVG } from 'lit/directives/unsafe-svg.js'
|
|
@@ -12,7 +13,7 @@ const errorSvg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></
|
|
|
12
13
|
const dlStatus: { [key: string]: string } = {}
|
|
13
14
|
|
|
14
15
|
const downloadIconOrGetFromCache = async (
|
|
15
|
-
name:
|
|
16
|
+
name: PktIconName,
|
|
16
17
|
path: string | undefined,
|
|
17
18
|
): Promise<string | null> => {
|
|
18
19
|
let i = 0
|
|
@@ -55,7 +56,7 @@ export class PktIcon extends PktElement {
|
|
|
55
56
|
path: string | undefined = window.pktIconPath
|
|
56
57
|
|
|
57
58
|
@property({ type: String, reflect: true })
|
|
58
|
-
name:
|
|
59
|
+
name: PktIconName = ''
|
|
59
60
|
|
|
60
61
|
@property({ type: SVGElement })
|
|
61
62
|
private icon: any = unsafeSVG(errorSvg)
|
|
@@ -79,7 +80,7 @@ export class PktIcon extends PktElement {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
protected async getIcon(name = '') {
|
|
83
|
+
protected async getIcon(name: PktIconName = '') {
|
|
83
84
|
if (this._updatedProps.length > 0) {
|
|
84
85
|
if (!this.path) this.path === window.pktIconPath
|
|
85
86
|
this.icon = unsafeSVG(
|
|
@@ -97,3 +98,9 @@ export class PktIcon extends PktElement {
|
|
|
97
98
|
return html`${this.name && this.icon}`
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
|
|
102
|
+
declare global {
|
|
103
|
+
interface HTMLElementTagNameMap {
|
|
104
|
+
'pkt-icon': PktIcon
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -43,16 +43,14 @@ export class PktModal extends PktElement implements IPktModal {
|
|
|
43
43
|
|
|
44
44
|
async connectedCallback(): Promise<void> {
|
|
45
45
|
super.connectedCallback()
|
|
46
|
-
document.addEventListener('keydown', this.handleKeyDown
|
|
47
|
-
document.addEventListener('click', this.handleBackdropClick
|
|
48
|
-
this.dialogRef.value?.addEventListener('submit', (e) => this.close(e, true))
|
|
46
|
+
document.addEventListener('keydown', this.handleKeyDown)
|
|
47
|
+
document.addEventListener('click', this.handleBackdropClick)
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
disconnectedCallback(): void {
|
|
52
51
|
super.disconnectedCallback()
|
|
53
|
-
document.removeEventListener('keydown', this.handleKeyDown
|
|
54
|
-
document.removeEventListener('click', this.handleBackdropClick
|
|
55
|
-
this.dialogRef.value?.removeEventListener('submit', (e) => this.close(e, true))
|
|
52
|
+
document.removeEventListener('keydown', this.handleKeyDown)
|
|
53
|
+
document.removeEventListener('click', this.handleBackdropClick)
|
|
56
54
|
}
|
|
57
55
|
|
|
58
56
|
// P R I V A T E M E T H O D S
|
|
@@ -80,8 +78,10 @@ export class PktModal extends PktElement implements IPktModal {
|
|
|
80
78
|
|
|
81
79
|
// P U B L I C M E T H O D S
|
|
82
80
|
public close = (event: Event, bypassNativeClose: boolean = false) => {
|
|
81
|
+
if (!this._isOpen) return
|
|
83
82
|
this._isOpen = false
|
|
84
|
-
|
|
83
|
+
|
|
84
|
+
document.body.classList.remove('pkt-modal--open')
|
|
85
85
|
|
|
86
86
|
// Scroll to the opener element if it's not in the viewport
|
|
87
87
|
const openerElement = document.activeElement as HTMLElement
|
|
@@ -92,11 +92,8 @@ export class PktModal extends PktElement implements IPktModal {
|
|
|
92
92
|
this.dispatchEvent(
|
|
93
93
|
new CustomEvent('close', { detail: { origin: event }, bubbles: true, composed: true }),
|
|
94
94
|
)
|
|
95
|
+
if (!bypassNativeClose) this.dialogRef.value?.close()
|
|
95
96
|
|
|
96
|
-
const modal = document.querySelector('.pkt-modal')
|
|
97
|
-
if (modal) {
|
|
98
|
-
document.body.classList.remove('pkt-modal--open')
|
|
99
|
-
}
|
|
100
97
|
this.requestUpdate()
|
|
101
98
|
}
|
|
102
99
|
|
|
@@ -155,10 +152,10 @@ export class PktModal extends PktElement implements IPktModal {
|
|
|
155
152
|
return html`
|
|
156
153
|
<dialog
|
|
157
154
|
class=${classMap(classes)}
|
|
158
|
-
aria-modal=${this._isOpen}
|
|
159
155
|
${ref(this.dialogRef)}
|
|
160
156
|
aria-labelledby="pkt-modal__headingText"
|
|
161
157
|
aria-describedby="pkt-modal__content"
|
|
158
|
+
@close=${(event: Event) => this.close(event, true)}
|
|
162
159
|
>
|
|
163
160
|
<div class="pkt-modal__header">
|
|
164
161
|
<div class="pkt-modal__header-background"></div>
|
package/dist/modal-BkchlKkL.cjs
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";const d=require("./class-map-aeZWY44S.cjs"),s=require("./element-B0UgldHm.cjs"),k=require("./state-CG-binsl.cjs"),m=require("./pkt-slot-controller-Oc32unDk.cjs"),r=require("./ref-DDYBJ4EB.cjs");require("./icon-PWn7rnfg.cjs");const h="pkt-modal",g=!0,f={"background-click":{description:"Event som trigges når bakgrunnen trykkes på"},close:{description:"Event som trigges når meldingsboksen lukkes"}},v={headingText:{name:"Heading text",description:"Heading tekst på modalen",type:"string"},hideCloseButton:{name:"Gjem 'Lukk'-knapp",description:"Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.",type:"boolean",default:!1},closeOnBackdropClick:{name:"Lukk modalen når bakgrunnen trykkes på",description:"Lukk modalen når bakgrunnen trykkes på",type:"boolean",default:!1},closeButtonSkin:{name:"Stil på lukkeknappen",description:"Stil på lukkeknappen",type:["blue","yellow-filled"],default:"blue"},size:{name:"Størrelse",description:"Størrelsen på modalen",type:["small","medium","large"],default:"medium"}},b={default:{description:"Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen."}},p={name:h,"css-class":"pkt-modal",isElements:g,events:f,props:v,slots:b};var y=Object.defineProperty,_=Object.getOwnPropertyDescriptor,l=(c,e,t,o)=>{for(var n=o>1?void 0:o?_(e,t):e,i=c.length-1,a;i>=0;i--)(a=c[i])&&(n=(o?a(e,t,n):a(n))||n);return o&&n&&y(e,t,n),n};exports.PktModal=class extends s.PktElement{constructor(){super(),this.headingText="",this.removePadding=!1,this.hideCloseButton=p.props.hideCloseButton.default,this.closeOnBackdropClick=p.props.closeOnBackdropClick.default,this.closeButtonSkin="blue",this.size=p.props.size.default,this.defaultSlot=r.e(),this.dialogRef=r.e(),this._isOpen=!1,this.close=(e,t=!1)=>{var i;this._isOpen=!1,t||(i=this.dialogRef.value)==null||i.close();const o=document.activeElement;o&&!this.isElementInViewport(o)&&o.scrollIntoView({behavior:"smooth",block:"nearest"}),this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),document.querySelector(".pkt-modal")&&document.body.classList.remove("pkt-modal--open"),this.requestUpdate()},this.showModal=e=>{var o;this._isOpen=!0,(o=this.dialogRef.value)==null||o.showModal();const t=document.querySelector(".pkt-modal");requestAnimationFrame(()=>{var n;this.dialogRef.value&&((n=this.dialogRef.value)==null||n.focus())}),t&&document.body.classList.add("pkt-modal--open"),this.dispatchEvent(new CustomEvent("showModal",{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this.slotController=new m.PktSlotController(this,this.defaultSlot),this._isOpen=!1}async connectedCallback(){var e;super.connectedCallback(),document.addEventListener("keydown",this.handleKeyDown.bind(this)),document.addEventListener("click",this.handleBackdropClick.bind(this)),(e=this.dialogRef.value)==null||e.addEventListener("submit",t=>this.close(t,!0))}disconnectedCallback(){var e;super.disconnectedCallback(),document.removeEventListener("keydown",this.handleKeyDown.bind(this)),document.removeEventListener("click",this.handleBackdropClick.bind(this)),(e=this.dialogRef.value)==null||e.removeEventListener("submit",t=>this.close(t,!0))}handleKeyDown(e){e.key==="Escape"&&this.close(e)}handleBackdropClick(e){var t;this.closeOnBackdropClick&&e.target===((t=this.dialogRef)==null?void 0:t.value)&&this.close(e)}isElementInViewport(e){const t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){const e={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===""||this.headingText===void 0,[`pkt-modal--${this.size}`]:this.size!==void 0},t={"pkt-modal__headingText":!0,"pkt-txt-24":!0},o={"pkt-modal__content":!0,"pkt-txt-18-light":!0},n=this.closeButtonSkin==="blue",i={"pkt-modal__closeButton":!0,[`pkt-modal__closeButton--${this.closeButtonSkin}`]:!0},a={"pkt-btn":!0,[`pkt-btn--${n?"tertiary":"primary"}`]:!0,"pkt-btn--icon-only":!0,"pkt-btn--medium":!0};return s.x`
|
|
2
|
-
<dialog
|
|
3
|
-
class=${d.e(e)}
|
|
4
|
-
aria-modal=${this._isOpen}
|
|
5
|
-
${r.n(this.dialogRef)}
|
|
6
|
-
aria-labelledby="pkt-modal__headingText"
|
|
7
|
-
aria-describedby="pkt-modal__content"
|
|
8
|
-
>
|
|
9
|
-
<div class="pkt-modal__header">
|
|
10
|
-
<div class="pkt-modal__header-background"></div>
|
|
11
|
-
${this.headingText?s.x`<h1 id="pkt-modal__headingText" class=${d.e(t)}>
|
|
12
|
-
${this.headingText}
|
|
13
|
-
</h1>`:s.E}
|
|
14
|
-
${this.hideCloseButton?s.E:s.x`<div class="${d.e(i)}">
|
|
15
|
-
<button
|
|
16
|
-
@click=${u=>this.close(u)}
|
|
17
|
-
class=${d.e(a)}
|
|
18
|
-
aria-label="close"
|
|
19
|
-
>
|
|
20
|
-
<pkt-icon name="close" class="pkt-link__icon"></pkt-icon>
|
|
21
|
-
</button>
|
|
22
|
-
</div>`}
|
|
23
|
-
</div>
|
|
24
|
-
<div class="pkt-modal__container">
|
|
25
|
-
<div
|
|
26
|
-
id="pkt-modal__content"
|
|
27
|
-
class=${d.e(o)}
|
|
28
|
-
${r.n(this.defaultSlot)}
|
|
29
|
-
></div>
|
|
30
|
-
</div>
|
|
31
|
-
</dialog>
|
|
32
|
-
`}};l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"headingText",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"removePadding",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"hideCloseButton",2);l([s.n({type:Boolean,reflect:!0})],exports.PktModal.prototype,"closeOnBackdropClick",2);l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"closeButtonSkin",2);l([s.n({type:String,reflect:!0})],exports.PktModal.prototype,"size",2);l([k.r()],exports.PktModal.prototype,"_isOpen",2);exports.PktModal=l([s.t("pkt-modal")],exports.PktModal);
|