@oslokommune/punkt-elements 12.18.0 → 12.18.2
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-BbVWu2lm.cjs +27 -0
- package/dist/alert-Dh6A96vo.js +159 -0
- package/dist/{index-D2jSRMrn.js → calendar-BUqcNvfI.js} +41 -29
- package/dist/calendar-QSulz7im.cjs +108 -0
- package/dist/card-B0GPdG5M.cjs +23 -0
- package/dist/card-kWt0BA2a.js +170 -0
- package/dist/{class-map-a5HUzP83.cjs → class-map-Boa7BqCc.cjs} +2 -2
- package/dist/{class-map-CBvUV2N3.js → class-map-hz16xq5a.js} +9 -10
- package/dist/datepicker-BhavwiBZ.js +659 -0
- package/dist/datepicker-vX74tb3R.cjs +154 -0
- package/dist/helptext--4FLdAWi.js +194 -0
- package/dist/helptext-iZEgxz2U.cjs +23 -0
- package/dist/icon-CdMQ6zBT.cjs +250 -0
- package/dist/{index-CFDwiDTU.js → icon-wUXeHiBk.js} +7371 -7559
- package/dist/if-defined-DEDlGbAc.cjs +5 -0
- package/dist/if-defined-ZFE4ti2t.js +10 -0
- package/dist/index.d.ts +49 -51
- package/dist/input-element-BQTCZtNQ.js +185 -0
- package/dist/input-element-DNklGY_O.cjs +1 -0
- package/dist/{input-wrapper-DVXNuxVu.js → input-wrapper-BTQk3W8T.js} +10 -11
- package/dist/input-wrapper-D-PNRJB_.cjs +46 -0
- package/dist/link-BpqavGSD.cjs +8 -0
- package/dist/link-Bx9nVgZi.js +108 -0
- package/dist/linkcard-CUrbzjLK.js +53 -0
- package/dist/linkcard-DSu3A4Yx.cjs +13 -0
- package/dist/messagebox-C1aWoQbu.cjs +12 -0
- package/dist/messagebox-LpiVQIoM.js +107 -0
- package/dist/modal-Avai5eVz.cjs +30 -0
- package/dist/{modal-lQfiTbGh.js → modal-Co1YFmHi.js} +7 -8
- package/dist/pkt-alert.cjs +1 -27
- package/dist/pkt-alert.js +4 -158
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +4 -7
- package/dist/pkt-card.cjs +1 -23
- package/dist/pkt-card.js +4 -169
- package/dist/pkt-datepicker.cjs +1 -154
- package/dist/pkt-datepicker.js +4 -657
- package/dist/pkt-helptext.cjs +1 -1
- package/dist/pkt-helptext.js +1 -1
- package/dist/pkt-icon.cjs +1 -1
- package/dist/pkt-icon.js +4 -4
- package/dist/pkt-index.cjs +29 -1
- package/dist/pkt-index.js +127 -32
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +1 -1
- package/dist/pkt-link.cjs +1 -8
- package/dist/pkt-link.js +4 -108
- package/dist/pkt-linkcard.cjs +1 -1
- package/dist/pkt-linkcard.js +1 -1
- package/dist/pkt-messagebox.cjs +1 -12
- package/dist/pkt-messagebox.js +4 -106
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/pkt-progressbar.cjs +1 -1
- package/dist/pkt-progressbar.js +2 -2
- package/dist/pkt-tag.cjs +1 -17
- package/dist/pkt-tag.js +4 -149
- package/dist/pkt-textarea.cjs +1 -1
- package/dist/pkt-textarea.js +1 -1
- package/dist/pkt-textinput.cjs +1 -1
- package/dist/pkt-textinput.js +1 -1
- package/dist/{progressbar-1PEs_SMc.js → progressbar-BS_oawSB.js} +42 -47
- package/dist/{progressbar-BlzTFI9U.cjs → progressbar-CuXkbAhJ.cjs} +7 -11
- package/dist/ref-DCOsLZQg.cjs +13 -0
- package/dist/{ref-Dzme4zb6.js → ref-DuFGTLVX.js} +26 -27
- package/dist/state-BfyXV7EL.js +12 -0
- package/dist/state-SKYD8kRO.cjs +5 -0
- package/dist/stringutils-CkVRq4jP.cjs +1 -0
- package/dist/stringutils-DJjRa8dG.js +7 -0
- package/dist/tag-CGy2mSLE.cjs +17 -0
- package/dist/tag-DGFgUF3l.js +150 -0
- package/dist/textarea-BFWHQHLs.cjs +48 -0
- package/dist/{textarea-BXzQA_ub.js → textarea-BYtGXst8.js} +29 -29
- package/dist/{textinput-52G3CfwA.cjs → textinput-33wZwZ4O.cjs} +2 -2
- package/dist/{textinput-CTNWiIaP.js → textinput-IgHewJDJ.js} +23 -23
- package/package.json +2 -2
- package/src/components/alert/alert.ts +115 -0
- package/src/components/alert/index.ts +4 -113
- package/src/components/calendar/calendar.ts +711 -0
- package/src/components/calendar/index.ts +3 -711
- package/src/components/card/card.ts +78 -0
- package/src/components/card/index.ts +4 -77
- package/src/components/datepicker/datepicker.ts +619 -0
- package/src/components/datepicker/index.ts +3 -618
- package/src/components/helptext/helptext.ts +2 -2
- package/src/components/icon/icon.ts +99 -0
- package/src/components/icon/index.ts +3 -98
- package/src/components/index.ts +21 -17
- package/src/components/input-wrapper/input-wrapper.ts +2 -2
- package/src/components/link/index.ts +3 -56
- package/src/components/link/link.ts +57 -0
- package/src/components/linkcard/index.ts +1 -1
- package/src/components/linkcard/linkcard.ts +5 -6
- package/src/components/messagebox/index.ts +4 -69
- package/src/components/messagebox/messagebox.ts +69 -0
- package/src/components/modal/index.ts +0 -1
- package/src/components/modal/modal.ts +5 -7
- package/src/components/progressbar/progressbar.ts +2 -2
- package/src/components/tag/index.ts +4 -109
- package/src/components/tag/tag.ts +118 -0
- package/src/components/textarea/textarea.ts +5 -4
- package/src/components/textinput/textinput.ts +3 -3
- package/dist/component-template.d.ts +0 -8
- package/dist/converters-DNCwIFwr.js +0 -17
- package/dist/converters-DhM11VlY.cjs +0 -1
- package/dist/custom-element-B-TlBwRu.cjs +0 -9
- package/dist/custom-element-CWfU4dcr.js +0 -38
- package/dist/element.d.ts +0 -8
- package/dist/helptext-DBolvFI4.js +0 -72
- package/dist/helptext-_fMLOOCL.cjs +0 -23
- package/dist/index-CR7t1zY9.cjs +0 -238
- package/dist/index-CmTjXoAb.cjs +0 -9
- package/dist/index-RwtTBIhT.js +0 -88
- package/dist/index-tvpcg-ad.cjs +0 -108
- package/dist/input-wrapper-tJE-X4Ac.cjs +0 -46
- package/dist/linkcard-BHokvuVN.js +0 -55
- package/dist/linkcard-CUXMP6BH.cjs +0 -13
- package/dist/modal-CjsQgmmH.cjs +0 -30
- package/dist/pkt-component-template.cjs +0 -29
- package/dist/pkt-component-template.js +0 -100
- package/dist/pkt-element.cjs +0 -1
- package/dist/pkt-element.js +0 -5
- package/dist/ref-CA2-0S_W.cjs +0 -13
- package/dist/textarea-D_ud1Mpa.cjs +0 -48
- package/src/components/component-template/index.ts +0 -129
- package/src/components/element/index.ts +0 -353
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";const d=require("./class-map-Boa7BqCc.cjs"),t=require("./icon-CdMQ6zBT.cjs"),k=require("./state-SKYD8kRO.cjs"),u=require("./pkt-slot-controller-Ckk_yV0j.cjs"),c=require("./ref-DCOsLZQg.cjs"),h="pkt-alert",v=!0,f={onClose:{description:"React: Klikk-event for 'Lukk'-knappen"},close:{description:"Vue: Klikk-event for 'Lukk'-knappen"}},m={title:{name:"Tittel",description:"Tittelen som vises øverst i på meldingen",type:"string"},skin:{name:"Utseende",description:"Hvordan type melding er dette?",type:["info","success","warning","error"],default:"info"},date:{name:"Sist oppdatert",description:"Dato som vises nederst i på meldingen",type:"string"},ariaLive:{name:"aria-live",description:"Hvordan skal skjermleseren lese opp meldingen?",type:["off","polite","assertive"],default:"polite"},compact:{name:"Kompakt",description:"Gjør meldingen mindre",type:"boolean",default:!1},closeAlert:{name:"Vis 'Lukk'-knapp",description:"Viser 'Lukk'-knappen",type:"boolean",default:!1}},b={default:{description:"Innholdet i meldingen"}},n={name:h,"css-class":"pkt-alert","dark-mode":!0,isElement:v,events:f,props:m,slots:b};var y=Object.defineProperty,_=Object.getOwnPropertyDescriptor,i=(a,e,l,s)=>{for(var r=s>1?void 0:s?_(e,l):e,o=a.length-1,p;o>=0;o--)(p=a[o])&&(r=(s?p(e,l,r):p(r))||r);return s&&r&&y(e,l,r),r};exports.PktAlert=class extends t.PktElement{constructor(){super(),this.defaultSlot=c.e(),this.compact=n.props.compact.default,this.title="",this.skin=n.props.skin.default,this.ariaLive=n.props.ariaLive.default,this["aria-live"]=null,this.closeAlert=n.props.closeAlert.default,this.date=null,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("on-close",{detail:{origin:e},bubbles:!0,composed:!0}))},this.slotController=new u.PktSlotController(this,this.defaultSlot),this._isClosed=!1}connectedCallback(){super.connectedCallback(),this["aria-live"]=this.getAttribute("aria-live")||this.ariaLive}attributeChangedCallback(e,l,s){e==="ariaLive"&&(this["aria-live"]=s),super.attributeChangedCallback(e,l,s)}updated(e){super.updated(e),e.has("ariaLive")&&(this["aria-live"]=this.ariaLive)}render(){const e={"pkt-alert":!0,"pkt-alert--compact":this.compact,[`pkt-alert--${this.skin}`]:this.skin,"pkt-hide":this._isClosed};return t.x`
|
|
2
|
+
<div class=${d.e(e)}>
|
|
3
|
+
<pkt-icon
|
|
4
|
+
class="pkt-alert__icon"
|
|
5
|
+
name=${this.skin==="info"?"alert-information":`alert-${this.skin}`}
|
|
6
|
+
></pkt-icon>
|
|
7
|
+
|
|
8
|
+
${this.closeAlert?t.x`
|
|
9
|
+
<div class="pkt-alert__close">
|
|
10
|
+
<button
|
|
11
|
+
type="button"
|
|
12
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only"
|
|
13
|
+
tabindex="0"
|
|
14
|
+
aria-label="close"
|
|
15
|
+
@click=${this.close}
|
|
16
|
+
>
|
|
17
|
+
<pkt-icon name="close" class="pkt-btn__icon" aria-hidden="true"></pkt-icon>
|
|
18
|
+
</button>
|
|
19
|
+
</div>
|
|
20
|
+
`:t.E}
|
|
21
|
+
${this.title?t.x`<div class="pkt-alert__title">${this.title}</div>`:t.E}
|
|
22
|
+
|
|
23
|
+
<div class="pkt-alert__text" ${c.n(this.defaultSlot)}></div>
|
|
24
|
+
|
|
25
|
+
${this.date?t.x`<div class="pkt-alert__date">Sist oppdatert: ${this.date}</div>`:t.E}
|
|
26
|
+
</div>
|
|
27
|
+
`}};i([t.n({type:Boolean,reflect:!1})],exports.PktAlert.prototype,"compact",2);i([t.n({type:String,reflect:!0})],exports.PktAlert.prototype,"title",2);i([t.n({type:String,reflect:!0})],exports.PktAlert.prototype,"skin",2);i([t.n({type:String})],exports.PktAlert.prototype,"ariaLive",2);i([t.n({type:String,reflect:!0})],exports.PktAlert.prototype,"aria-live",2);i([t.n({type:Boolean,reflect:!0})],exports.PktAlert.prototype,"closeAlert",2);i([t.n({type:String,reflect:!0})],exports.PktAlert.prototype,"date",2);i([k.r()],exports.PktAlert.prototype,"_isClosed",2);exports.PktAlert=i([t.t("pkt-alert")],exports.PktAlert);
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { e as k } from "./class-map-hz16xq5a.js";
|
|
2
|
+
import { P as m, x as n, E as u, n as r, t as h } from "./icon-wUXeHiBk.js";
|
|
3
|
+
import { r as f } from "./state-BfyXV7EL.js";
|
|
4
|
+
import { P as v } from "./pkt-slot-controller-RJvOnbF4.js";
|
|
5
|
+
import { e as b, n as y } from "./ref-DuFGTLVX.js";
|
|
6
|
+
const _ = "pkt-alert", g = !0, C = {
|
|
7
|
+
onClose: {
|
|
8
|
+
description: "React: Klikk-event for 'Lukk'-knappen"
|
|
9
|
+
},
|
|
10
|
+
close: {
|
|
11
|
+
description: "Vue: Klikk-event for 'Lukk'-knappen"
|
|
12
|
+
}
|
|
13
|
+
}, $ = {
|
|
14
|
+
title: {
|
|
15
|
+
name: "Tittel",
|
|
16
|
+
description: "Tittelen som vises øverst i på meldingen",
|
|
17
|
+
type: "string"
|
|
18
|
+
},
|
|
19
|
+
skin: {
|
|
20
|
+
name: "Utseende",
|
|
21
|
+
description: "Hvordan type melding er dette?",
|
|
22
|
+
type: [
|
|
23
|
+
"info",
|
|
24
|
+
"success",
|
|
25
|
+
"warning",
|
|
26
|
+
"error"
|
|
27
|
+
],
|
|
28
|
+
default: "info"
|
|
29
|
+
},
|
|
30
|
+
date: {
|
|
31
|
+
name: "Sist oppdatert",
|
|
32
|
+
description: "Dato som vises nederst i på meldingen",
|
|
33
|
+
type: "string"
|
|
34
|
+
},
|
|
35
|
+
ariaLive: {
|
|
36
|
+
name: "aria-live",
|
|
37
|
+
description: "Hvordan skal skjermleseren lese opp meldingen?",
|
|
38
|
+
type: [
|
|
39
|
+
"off",
|
|
40
|
+
"polite",
|
|
41
|
+
"assertive"
|
|
42
|
+
],
|
|
43
|
+
default: "polite"
|
|
44
|
+
},
|
|
45
|
+
compact: {
|
|
46
|
+
name: "Kompakt",
|
|
47
|
+
description: "Gjør meldingen mindre",
|
|
48
|
+
type: "boolean",
|
|
49
|
+
default: !1
|
|
50
|
+
},
|
|
51
|
+
closeAlert: {
|
|
52
|
+
name: "Vis 'Lukk'-knapp",
|
|
53
|
+
description: "Viser 'Lukk'-knappen",
|
|
54
|
+
type: "boolean",
|
|
55
|
+
default: !1
|
|
56
|
+
}
|
|
57
|
+
}, L = {
|
|
58
|
+
default: {
|
|
59
|
+
description: "Innholdet i meldingen"
|
|
60
|
+
}
|
|
61
|
+
}, p = {
|
|
62
|
+
name: _,
|
|
63
|
+
"css-class": "pkt-alert",
|
|
64
|
+
"dark-mode": !0,
|
|
65
|
+
isElement: g,
|
|
66
|
+
events: C,
|
|
67
|
+
props: $,
|
|
68
|
+
slots: L
|
|
69
|
+
};
|
|
70
|
+
var S = Object.defineProperty, P = Object.getOwnPropertyDescriptor, i = (t, l, a, o) => {
|
|
71
|
+
for (var s = o > 1 ? void 0 : o ? P(l, a) : l, c = t.length - 1, d; c >= 0; c--)
|
|
72
|
+
(d = t[c]) && (s = (o ? d(l, a, s) : d(s)) || s);
|
|
73
|
+
return o && s && S(l, a, s), s;
|
|
74
|
+
};
|
|
75
|
+
let e = class extends m {
|
|
76
|
+
constructor() {
|
|
77
|
+
super(), this.defaultSlot = b(), this.compact = p.props.compact.default, this.title = "", this.skin = p.props.skin.default, this.ariaLive = p.props.ariaLive.default, this["aria-live"] = null, this.closeAlert = p.props.closeAlert.default, this.date = null, this._isClosed = !1, this.close = (t) => {
|
|
78
|
+
this._isClosed = !0, this.dispatchEvent(
|
|
79
|
+
new CustomEvent("close", { detail: { origin: t }, bubbles: !0, composed: !0 })
|
|
80
|
+
), this.dispatchEvent(
|
|
81
|
+
new CustomEvent("on-close", { detail: { origin: t }, bubbles: !0, composed: !0 })
|
|
82
|
+
);
|
|
83
|
+
}, this.slotController = new v(this, this.defaultSlot), this._isClosed = !1;
|
|
84
|
+
}
|
|
85
|
+
connectedCallback() {
|
|
86
|
+
super.connectedCallback(), this["aria-live"] = this.getAttribute("aria-live") || this.ariaLive;
|
|
87
|
+
}
|
|
88
|
+
attributeChangedCallback(t, l, a) {
|
|
89
|
+
t === "ariaLive" && (this["aria-live"] = a), super.attributeChangedCallback(t, l, a);
|
|
90
|
+
}
|
|
91
|
+
updated(t) {
|
|
92
|
+
super.updated(t), t.has("ariaLive") && (this["aria-live"] = this.ariaLive);
|
|
93
|
+
}
|
|
94
|
+
render() {
|
|
95
|
+
const t = {
|
|
96
|
+
"pkt-alert": !0,
|
|
97
|
+
"pkt-alert--compact": this.compact,
|
|
98
|
+
[`pkt-alert--${this.skin}`]: this.skin,
|
|
99
|
+
"pkt-hide": this._isClosed
|
|
100
|
+
};
|
|
101
|
+
return n`
|
|
102
|
+
<div class=${k(t)}>
|
|
103
|
+
<pkt-icon
|
|
104
|
+
class="pkt-alert__icon"
|
|
105
|
+
name=${this.skin === "info" ? "alert-information" : `alert-${this.skin}`}
|
|
106
|
+
></pkt-icon>
|
|
107
|
+
|
|
108
|
+
${this.closeAlert ? n`
|
|
109
|
+
<div class="pkt-alert__close">
|
|
110
|
+
<button
|
|
111
|
+
type="button"
|
|
112
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only"
|
|
113
|
+
tabindex="0"
|
|
114
|
+
aria-label="close"
|
|
115
|
+
@click=${this.close}
|
|
116
|
+
>
|
|
117
|
+
<pkt-icon name="close" class="pkt-btn__icon" aria-hidden="true"></pkt-icon>
|
|
118
|
+
</button>
|
|
119
|
+
</div>
|
|
120
|
+
` : u}
|
|
121
|
+
${this.title ? n`<div class="pkt-alert__title">${this.title}</div>` : u}
|
|
122
|
+
|
|
123
|
+
<div class="pkt-alert__text" ${y(this.defaultSlot)}></div>
|
|
124
|
+
|
|
125
|
+
${this.date ? n`<div class="pkt-alert__date">Sist oppdatert: ${this.date}</div>` : u}
|
|
126
|
+
</div>
|
|
127
|
+
`;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
i([
|
|
131
|
+
r({ type: Boolean, reflect: !1 })
|
|
132
|
+
], e.prototype, "compact", 2);
|
|
133
|
+
i([
|
|
134
|
+
r({ type: String, reflect: !0 })
|
|
135
|
+
], e.prototype, "title", 2);
|
|
136
|
+
i([
|
|
137
|
+
r({ type: String, reflect: !0 })
|
|
138
|
+
], e.prototype, "skin", 2);
|
|
139
|
+
i([
|
|
140
|
+
r({ type: String })
|
|
141
|
+
], e.prototype, "ariaLive", 2);
|
|
142
|
+
i([
|
|
143
|
+
r({ type: String, reflect: !0 })
|
|
144
|
+
], e.prototype, "aria-live", 2);
|
|
145
|
+
i([
|
|
146
|
+
r({ type: Boolean, reflect: !0 })
|
|
147
|
+
], e.prototype, "closeAlert", 2);
|
|
148
|
+
i([
|
|
149
|
+
r({ type: String, reflect: !0 })
|
|
150
|
+
], e.prototype, "date", 2);
|
|
151
|
+
i([
|
|
152
|
+
f()
|
|
153
|
+
], e.prototype, "_isClosed", 2);
|
|
154
|
+
e = i([
|
|
155
|
+
h("pkt-alert")
|
|
156
|
+
], e);
|
|
157
|
+
export {
|
|
158
|
+
e as P
|
|
159
|
+
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { e as ft } from "./class-map-CBvUV2N3.js";
|
|
5
|
-
import "./index-RwtTBIhT.js";
|
|
1
|
+
import { e as ht } from "./class-map-hz16xq5a.js";
|
|
2
|
+
import { P as dt, x as D, E as I, n as m, t as ft } from "./icon-wUXeHiBk.js";
|
|
3
|
+
import { r as _ } from "./state-BfyXV7EL.js";
|
|
6
4
|
const at = 6048e5, mt = 864e5, gt = 36e5, X = Symbol.for("constructDateFrom");
|
|
7
5
|
function S(t, e) {
|
|
8
6
|
return typeof t == "function" ? t(e) : t && typeof t == "object" && X in t ? t[X](e) : t instanceof Date ? new t.constructor(e) : new Date(e);
|
|
@@ -21,12 +19,12 @@ function W(t, e, n) {
|
|
|
21
19
|
return yt(t, e * gt);
|
|
22
20
|
}
|
|
23
21
|
let pt = {};
|
|
24
|
-
function
|
|
22
|
+
function L() {
|
|
25
23
|
return pt;
|
|
26
24
|
}
|
|
27
25
|
function H(t, e) {
|
|
28
26
|
var c, o, d, g;
|
|
29
|
-
const n =
|
|
27
|
+
const n = L(), r = (e == null ? void 0 : e.weekStartsOn) ?? ((o = (c = e == null ? void 0 : e.locale) == null ? void 0 : c.options) == null ? void 0 : o.weekStartsOn) ?? n.weekStartsOn ?? ((g = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : g.weekStartsOn) ?? 0, a = v(t, e == null ? void 0 : e.in), s = a.getDay(), i = (s < r ? 7 : 0) + s - r;
|
|
30
28
|
return a.setDate(a.getDate() - i), a.setHours(0, 0, 0, 0), a;
|
|
31
29
|
}
|
|
32
30
|
function q(t, e) {
|
|
@@ -543,7 +541,7 @@ function ae(t, e) {
|
|
|
543
541
|
}
|
|
544
542
|
function ot(t, e) {
|
|
545
543
|
var g, y, f, x;
|
|
546
|
-
const n = v(t, e == null ? void 0 : e.in), r = n.getFullYear(), a =
|
|
544
|
+
const n = v(t, e == null ? void 0 : e.in), r = n.getFullYear(), a = L(), s = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((y = (g = e == null ? void 0 : e.locale) == null ? void 0 : g.options) == null ? void 0 : y.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((x = (f = a.locale) == null ? void 0 : f.options) == null ? void 0 : x.firstWeekContainsDate) ?? 1, i = S((e == null ? void 0 : e.in) || t, 0);
|
|
547
545
|
i.setFullYear(r + 1, 0, s), i.setHours(0, 0, 0, 0);
|
|
548
546
|
const c = H(i, e), o = S((e == null ? void 0 : e.in) || t, 0);
|
|
549
547
|
o.setFullYear(r, 0, s), o.setHours(0, 0, 0, 0);
|
|
@@ -552,7 +550,7 @@ function ot(t, e) {
|
|
|
552
550
|
}
|
|
553
551
|
function se(t, e) {
|
|
554
552
|
var c, o, d, g;
|
|
555
|
-
const n =
|
|
553
|
+
const n = L(), r = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((o = (c = e == null ? void 0 : e.locale) == null ? void 0 : c.options) == null ? void 0 : o.firstWeekContainsDate) ?? n.firstWeekContainsDate ?? ((g = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : g.firstWeekContainsDate) ?? 1, a = ot(t, e), s = S((e == null ? void 0 : e.in) || t, 0);
|
|
556
554
|
return s.setFullYear(a, 0, r), s.setHours(0, 0, 0, 0), H(s, e);
|
|
557
555
|
}
|
|
558
556
|
function ct(t, e) {
|
|
@@ -1190,7 +1188,7 @@ function me(t, e, n) {
|
|
|
1190
1188
|
const ge = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, ye = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, pe = /^'([^]*?)'?$/, we = /''/g, be = /[a-zA-Z]/;
|
|
1191
1189
|
function ke(t, e, n) {
|
|
1192
1190
|
var g, y, f, x;
|
|
1193
|
-
const r =
|
|
1191
|
+
const r = L(), a = r.locale ?? ne, s = r.firstWeekContainsDate ?? ((y = (g = r.locale) == null ? void 0 : g.options) == null ? void 0 : y.firstWeekContainsDate) ?? 1, i = r.weekStartsOn ?? ((x = (f = r.locale) == null ? void 0 : f.options) == null ? void 0 : x.weekStartsOn) ?? 0, c = v(t, n == null ? void 0 : n.in);
|
|
1194
1192
|
if (!vt(c))
|
|
1195
1193
|
throw new RangeError("Invalid time value");
|
|
1196
1194
|
let o = e.match(ye).map((p) => {
|
|
@@ -1379,15 +1377,27 @@ function xe(t, e) {
|
|
|
1379
1377
|
}).format(e).slice(12);
|
|
1380
1378
|
}
|
|
1381
1379
|
window.pktTz = window.pktTz === void 0 ? "Europe/Oslo" : window.pktTz;
|
|
1382
|
-
const w = (t) => t.toISOString().split("T")[0],
|
|
1380
|
+
const w = (t) => t.toISOString().split("T")[0], _e = (t) => {
|
|
1383
1381
|
if (!t)
|
|
1384
1382
|
return null;
|
|
1385
1383
|
const e = W(new T(t, window.pktTz), 12);
|
|
1386
1384
|
return isNaN(e.getTime()) ? null : e;
|
|
1387
|
-
},
|
|
1385
|
+
}, Ie = (t, e) => {
|
|
1388
1386
|
const n = b(t);
|
|
1389
1387
|
return isNaN(n.getTime()) ? "" : ke(n, e);
|
|
1390
|
-
}, b = (t = "") => W(t === "" || !t ? new T(/* @__PURE__ */ new Date(), window.pktTz) : new T(t, window.pktTz), 12), P = (t, e, n = 1) => W(new T(t, e, n, window.pktTz), 12), Te = (t) => new Intl.DateTimeFormat("no", { dateStyle: "full", timeZone: window.pktTz }).format(t), Oe =
|
|
1388
|
+
}, b = (t = "") => W(t === "" || !t ? new T(/* @__PURE__ */ new Date(), window.pktTz) : new T(t, window.pktTz), 12), P = (t, e, n = 1) => W(new T(t, e, n, window.pktTz), 12), Te = (t) => new Intl.DateTimeFormat("no", { dateStyle: "full", timeZone: window.pktTz }).format(t), Oe = (t) => {
|
|
1389
|
+
if (Array.isArray(t)) return t;
|
|
1390
|
+
if (typeof t == "string") return t.split(",");
|
|
1391
|
+
}, Pe = (t) => t ? new Date(t) : null, Ce = (t) => {
|
|
1392
|
+
if (typeof t == "string")
|
|
1393
|
+
return t.split(",").map((e) => new Date(e));
|
|
1394
|
+
if (Array.isArray(t))
|
|
1395
|
+
return t.map((e) => new Date(e));
|
|
1396
|
+
}, R = {
|
|
1397
|
+
csvToArray: Oe,
|
|
1398
|
+
stringToDate: Pe,
|
|
1399
|
+
stringsToDate: Ce
|
|
1400
|
+
}, $e = "pkt-calendar", Ee = {
|
|
1391
1401
|
id: {
|
|
1392
1402
|
type: "string",
|
|
1393
1403
|
name: "ID",
|
|
@@ -1464,22 +1474,22 @@ const w = (t) => t.toISOString().split("T")[0], He = (t) => {
|
|
|
1464
1474
|
default: !1,
|
|
1465
1475
|
description: "Allow date range selection"
|
|
1466
1476
|
}
|
|
1467
|
-
},
|
|
1477
|
+
}, We = {
|
|
1468
1478
|
"date-selected": {
|
|
1469
1479
|
description: "Returns ISO formatted date string"
|
|
1470
1480
|
}
|
|
1471
1481
|
}, C = {
|
|
1472
|
-
name:
|
|
1482
|
+
name: $e,
|
|
1473
1483
|
"css-class": "pkt-calendar",
|
|
1474
|
-
props:
|
|
1475
|
-
events:
|
|
1484
|
+
props: Ee,
|
|
1485
|
+
events: We
|
|
1476
1486
|
};
|
|
1477
|
-
var
|
|
1478
|
-
for (var a = r > 1 ? void 0 : r ?
|
|
1487
|
+
var Ne = Object.defineProperty, Ye = Object.getOwnPropertyDescriptor, h = (t, e, n, r) => {
|
|
1488
|
+
for (var a = r > 1 ? void 0 : r ? Ye(e, n) : e, s = t.length - 1, i; s >= 0; s--)
|
|
1479
1489
|
(i = t[s]) && (a = (r ? i(e, n, a) : i(a)) || a);
|
|
1480
|
-
return r && a &&
|
|
1490
|
+
return r && a && Ne(e, n, a), a;
|
|
1481
1491
|
};
|
|
1482
|
-
let u = class extends
|
|
1492
|
+
let u = class extends dt {
|
|
1483
1493
|
constructor() {
|
|
1484
1494
|
super(...arguments), this.multiple = C.props.multiple.default, this.maxMultiple = C.props.maxMultiple.default, this.range = C.props.range.default, this.weeknumbers = C.props.weeknumbers.default, this.withcontrols = C.props.withcontrols.default, this.selected = [], this.earliest = C.props.earliest.default, this.latest = C.props.latest.default, this.excludedates = [], this.excludeweekdays = [], this.currentmonth = null, this.dayStrings = this.strings.dates.daysShort, this.dayStringsLong = this.strings.dates.days, this.monthStrings = this.strings.dates.months, this.weekString = this.strings.dates.week, this.prevMonthString = this.strings.dates.prevMonth, this.nextMonthString = this.strings.dates.nextMonth, this._selected = [], this.year = 0, this.month = 0, this.week = 0, this.rangeHovered = null, this.inRange = {}, this.focusedDate = null, this.selectableDates = [], this.currentmonthtouched = !1, this.tabIndexSet = 0;
|
|
1485
1495
|
}
|
|
@@ -1682,7 +1692,7 @@ let u = class extends ht {
|
|
|
1682
1692
|
"pkt-cal-in-range-last": this.range && this.selected.length === 2 && a === this.selected[1],
|
|
1683
1693
|
"pkt-cal-range-hover": this.rangeHovered !== null && a === w(this.rangeHovered)
|
|
1684
1694
|
};
|
|
1685
|
-
return D`<td class=${
|
|
1695
|
+
return D`<td class=${ht(g)}>
|
|
1686
1696
|
<div
|
|
1687
1697
|
?aria-selected=${i}
|
|
1688
1698
|
role="gridcell"
|
|
@@ -1881,7 +1891,7 @@ h([
|
|
|
1881
1891
|
m({ type: Boolean })
|
|
1882
1892
|
], u.prototype, "withcontrols", 2);
|
|
1883
1893
|
h([
|
|
1884
|
-
m({ converter:
|
|
1894
|
+
m({ converter: R.csvToArray })
|
|
1885
1895
|
], u.prototype, "selected", 2);
|
|
1886
1896
|
h([
|
|
1887
1897
|
m({ type: String })
|
|
@@ -1890,13 +1900,13 @@ h([
|
|
|
1890
1900
|
m({ type: String })
|
|
1891
1901
|
], u.prototype, "latest", 2);
|
|
1892
1902
|
h([
|
|
1893
|
-
m({ converter:
|
|
1903
|
+
m({ converter: R.stringsToDate })
|
|
1894
1904
|
], u.prototype, "excludedates", 2);
|
|
1895
1905
|
h([
|
|
1896
|
-
m({ converter:
|
|
1906
|
+
m({ converter: R.csvToArray })
|
|
1897
1907
|
], u.prototype, "excludeweekdays", 2);
|
|
1898
1908
|
h([
|
|
1899
|
-
m({ converter:
|
|
1909
|
+
m({ converter: R.stringToDate })
|
|
1900
1910
|
], u.prototype, "currentmonth", 2);
|
|
1901
1911
|
h([
|
|
1902
1912
|
m({ type: Array })
|
|
@@ -1947,12 +1957,14 @@ h([
|
|
|
1947
1957
|
_()
|
|
1948
1958
|
], u.prototype, "tabIndexSet", 2);
|
|
1949
1959
|
u = h([
|
|
1950
|
-
|
|
1960
|
+
ft("pkt-calendar")
|
|
1951
1961
|
], u);
|
|
1952
1962
|
export {
|
|
1953
1963
|
u as P,
|
|
1954
1964
|
w as a,
|
|
1955
|
-
|
|
1956
|
-
|
|
1965
|
+
Ie as b,
|
|
1966
|
+
Oe as c,
|
|
1967
|
+
R as d,
|
|
1968
|
+
_e as f,
|
|
1957
1969
|
b as n
|
|
1958
1970
|
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";const lt=require("./class-map-Boa7BqCc.cjs"),o=require("./icon-CdMQ6zBT.cjs"),F=require("./state-SKYD8kRO.cjs"),et=6048e5,ut=864e5,ht=36e5,Q=Symbol.for("constructDateFrom");function D(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&Q in n?n[Q](t):n instanceof Date?new n.constructor(t):new Date(t)}function v(n,t){return D(t||n,n)}function L(n,t,e){const r=v(n,e==null?void 0:e.in);return isNaN(t)?D(n,NaN):(t&&r.setDate(r.getDate()+t),r)}function dt(n,t,e){return D(n,+v(n)+t)}function $(n,t,e){return dt(n,t*ht)}let ft={};function _(){return ft}function A(n,t){var c,l,u,f;const e=_(),r=(t==null?void 0:t.weekStartsOn)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.weekStartsOn)??e.weekStartsOn??((f=(u=e.locale)==null?void 0:u.options)==null?void 0:f.weekStartsOn)??0,a=v(n,t==null?void 0:t.in),s=a.getDay(),i=(s<r?7:0)+s-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function I(n,t){return A(n,{...t,weekStartsOn:1})}function nt(n,t){const e=v(n,t==null?void 0:t.in),r=e.getFullYear(),a=D(e,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const s=I(a),i=D(e,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const c=I(i);return e.getTime()>=s.getTime()?r+1:e.getTime()>=c.getTime()?r:r-1}function j(n){const t=v(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function rt(n,...t){const e=D.bind(null,t.find(r=>typeof r=="object"));return t.map(e)}function G(n,t){const e=v(n,t==null?void 0:t.in);return e.setHours(0,0,0,0),e}function mt(n,t,e){const[r,a]=rt(e==null?void 0:e.in,n,t),s=G(r),i=G(a),c=+s-j(s),l=+i-j(i);return Math.round((c-l)/ut)}function gt(n,t){const e=nt(n,t),r=D(n,0);return r.setFullYear(e,0,4),r.setHours(0,0,0,0),I(r)}function yt(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function pt(n){return!(!yt(n)&&typeof n!="number"||isNaN(+v(n)))}function wt(n,t){const[e,r]=rt(n,t.start,t.end);return{start:e,end:r}}function R(n,t){const{start:e,end:r}=wt(t==null?void 0:t.in,n);let a=+e>+r;const s=a?+e:+r,i=a?r:e;i.setHours(0,0,0,0);let c=1;const l=[];for(;+i<=s;)l.push(D(e,i)),i.setDate(i.getDate()+c),i.setHours(0,0,0,0);return a?l.reverse():l}function bt(n,t){const e=v(n,t==null?void 0:t.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}const kt={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},vt=(n,t,e)=>{let r;const a=kt[n];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+r:r+" ago":r};function U(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const Dt={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},St={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Mt={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},xt={date:U({formats:Dt,defaultWidth:"full"}),time:U({formats:St,defaultWidth:"full"}),dateTime:U({formats:Mt,defaultWidth:"full"})},Tt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Pt=(n,t,e,r)=>Tt[n];function E(n){return(t,e)=>{const r=e!=null&&e.context?String(e.context):"standalone";let a;if(r==="formatting"&&n.formattingValues){const i=n.defaultFormattingWidth||n.defaultWidth,c=e!=null&&e.width?String(e.width):i;a=n.formattingValues[c]||n.formattingValues[i]}else{const i=n.defaultWidth,c=e!=null&&e.width?String(e.width):n.defaultWidth;a=n.values[c]||n.values[i]}const s=n.argumentCallback?n.argumentCallback(t):t;return a[s]}}const Ot={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ct={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},$t={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Et={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Wt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Nt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Yt=(n,t)=>{const e=Number(n),r=e%100;if(r>20||r<10)switch(r%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},At={ordinalNumber:Yt,era:E({values:Ot,defaultWidth:"wide"}),quarter:E({values:Ct,defaultWidth:"wide",argumentCallback:n=>n-1}),month:E({values:$t,defaultWidth:"wide"}),day:E({values:Et,defaultWidth:"wide"}),dayPeriod:E({values:Wt,defaultWidth:"wide",formattingValues:Nt,defaultFormattingWidth:"wide"})};function W(n){return(t,e={})=>{const r=e.width,a=r&&n.matchPatterns[r]||n.matchPatterns[n.defaultMatchWidth],s=t.match(a);if(!s)return null;const i=s[0],c=r&&n.parsePatterns[r]||n.parsePatterns[n.defaultParseWidth],l=Array.isArray(c)?Ht(c,p=>p.test(i)):Ft(c,p=>p.test(i));let u;u=n.valueCallback?n.valueCallback(l):l,u=e.valueCallback?e.valueCallback(u):u;const f=t.slice(i.length);return{value:u,rest:f}}}function Ft(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function Ht(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function It(n){return(t,e={})=>{const r=t.match(n.matchPattern);if(!r)return null;const a=r[0],s=t.match(n.parsePattern);if(!s)return null;let i=n.valueCallback?n.valueCallback(s[0]):s[0];i=e.valueCallback?e.valueCallback(i):i;const c=t.slice(a.length);return{value:i,rest:c}}}const _t=/^(\d+)(th|st|nd|rd)?/i,qt=/\d+/i,Lt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Rt={any:[/^b/i,/^(a|c)/i]},Ut={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},zt={any:[/1/i,/2/i,/3/i,/4/i]},Bt={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Qt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},jt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Gt={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Xt={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Vt={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Jt={ordinalNumber:It({matchPattern:_t,parsePattern:qt,valueCallback:n=>parseInt(n,10)}),era:W({matchPatterns:Lt,defaultMatchWidth:"wide",parsePatterns:Rt,defaultParseWidth:"any"}),quarter:W({matchPatterns:Ut,defaultMatchWidth:"wide",parsePatterns:zt,defaultParseWidth:"any",valueCallback:n=>n+1}),month:W({matchPatterns:Bt,defaultMatchWidth:"wide",parsePatterns:Qt,defaultParseWidth:"any"}),day:W({matchPatterns:jt,defaultMatchWidth:"wide",parsePatterns:Gt,defaultParseWidth:"any"}),dayPeriod:W({matchPatterns:Xt,defaultMatchWidth:"any",parsePatterns:Vt,defaultParseWidth:"any"})},Kt={code:"en-US",formatDistance:vt,formatLong:xt,formatRelative:Pt,localize:At,match:Jt,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Zt(n,t){const e=v(n,t==null?void 0:t.in);return mt(e,bt(e))+1}function te(n,t){const e=v(n,t==null?void 0:t.in),r=+I(e)-+gt(e);return Math.round(r/et)+1}function at(n,t){var f,p,w,m;const e=v(n,t==null?void 0:t.in),r=e.getFullYear(),a=_(),s=(t==null?void 0:t.firstWeekContainsDate)??((p=(f=t==null?void 0:t.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??a.firstWeekContainsDate??((m=(w=a.locale)==null?void 0:w.options)==null?void 0:m.firstWeekContainsDate)??1,i=D((t==null?void 0:t.in)||n,0);i.setFullYear(r+1,0,s),i.setHours(0,0,0,0);const c=A(i,t),l=D((t==null?void 0:t.in)||n,0);l.setFullYear(r,0,s),l.setHours(0,0,0,0);const u=A(l,t);return+e>=+c?r+1:+e>=+u?r:r-1}function ee(n,t){var c,l,u,f;const e=_(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.firstWeekContainsDate)??e.firstWeekContainsDate??((f=(u=e.locale)==null?void 0:u.options)==null?void 0:f.firstWeekContainsDate)??1,a=at(n,t),s=D((t==null?void 0:t.in)||n,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),A(s,t)}function st(n,t){const e=v(n,t==null?void 0:t.in),r=+A(e,t)-+ee(e,t);return Math.round(r/et)+1}function h(n,t){const e=n<0?"-":"",r=Math.abs(n).toString().padStart(t,"0");return e+r}const x={y(n,t){const e=n.getFullYear(),r=e>0?e:1-e;return h(t==="yy"?r%100:r,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):h(e+1,2)},d(n,t){return h(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];case"aaaa":default:return e==="am"?"a.m.":"p.m."}},h(n,t){return h(n.getHours()%12||12,t.length)},H(n,t){return h(n.getHours(),t.length)},m(n,t){return h(n.getMinutes(),t.length)},s(n,t){return h(n.getSeconds(),t.length)},S(n,t){const e=t.length,r=n.getMilliseconds(),a=Math.trunc(r*Math.pow(10,e-3));return h(a,t.length)}},C={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},X={G:function(n,t,e){const r=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(r,{width:"abbreviated"});case"GGGGG":return e.era(r,{width:"narrow"});case"GGGG":default:return e.era(r,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const r=n.getFullYear(),a=r>0?r:1-r;return e.ordinalNumber(a,{unit:"year"})}return x.y(n,t)},Y:function(n,t,e,r){const a=at(n,r),s=a>0?a:1-a;if(t==="YY"){const i=s%100;return h(i,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):h(s,t.length)},R:function(n,t){const e=nt(n);return h(e,t.length)},u:function(n,t){const e=n.getFullYear();return h(e,t.length)},Q:function(n,t,e){const r=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return h(r,2);case"Qo":return e.ordinalNumber(r,{unit:"quarter"});case"QQQ":return e.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(r,{width:"wide",context:"formatting"})}},q:function(n,t,e){const r=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return h(r,2);case"qo":return e.ordinalNumber(r,{unit:"quarter"});case"qqq":return e.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(r,{width:"wide",context:"standalone"})}},M:function(n,t,e){const r=n.getMonth();switch(t){case"M":case"MM":return x.M(n,t);case"Mo":return e.ordinalNumber(r+1,{unit:"month"});case"MMM":return e.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(r,{width:"wide",context:"formatting"})}},L:function(n,t,e){const r=n.getMonth();switch(t){case"L":return String(r+1);case"LL":return h(r+1,2);case"Lo":return e.ordinalNumber(r+1,{unit:"month"});case"LLL":return e.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(r,{width:"wide",context:"standalone"})}},w:function(n,t,e,r){const a=st(n,r);return t==="wo"?e.ordinalNumber(a,{unit:"week"}):h(a,t.length)},I:function(n,t,e){const r=te(n);return t==="Io"?e.ordinalNumber(r,{unit:"week"}):h(r,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):x.d(n,t)},D:function(n,t,e){const r=Zt(n);return t==="Do"?e.ordinalNumber(r,{unit:"dayOfYear"}):h(r,t.length)},E:function(n,t,e){const r=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(r,{width:"short",context:"formatting"});case"EEEE":default:return e.day(r,{width:"wide",context:"formatting"})}},e:function(n,t,e,r){const a=n.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return h(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(a,{width:"short",context:"formatting"});case"eeee":default:return e.day(a,{width:"wide",context:"formatting"})}},c:function(n,t,e,r){const a=n.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return h(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(a,{width:"narrow",context:"standalone"});case"cccccc":return e.day(a,{width:"short",context:"standalone"});case"cccc":default:return e.day(a,{width:"wide",context:"standalone"})}},i:function(n,t,e){const r=n.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return h(a,t.length);case"io":return e.ordinalNumber(a,{unit:"day"});case"iii":return e.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(r,{width:"short",context:"formatting"});case"iiii":default:return e.day(r,{width:"wide",context:"formatting"})}},a:function(n,t,e){const a=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(n,t,e){const r=n.getHours();let a;switch(r===12?a=C.noon:r===0?a=C.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(n,t,e){const r=n.getHours();let a;switch(r>=17?a=C.evening:r>=12?a=C.afternoon:r>=4?a=C.morning:a=C.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let r=n.getHours()%12;return r===0&&(r=12),e.ordinalNumber(r,{unit:"hour"})}return x.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):x.H(n,t)},K:function(n,t,e){const r=n.getHours()%12;return t==="Ko"?e.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},k:function(n,t,e){let r=n.getHours();return r===0&&(r=24),t==="ko"?e.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):x.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):x.s(n,t)},S:function(n,t){return x.S(n,t)},X:function(n,t,e){const r=n.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return J(r);case"XXXX":case"XX":return O(r);case"XXXXX":case"XXX":default:return O(r,":")}},x:function(n,t,e){const r=n.getTimezoneOffset();switch(t){case"x":return J(r);case"xxxx":case"xx":return O(r);case"xxxxx":case"xxx":default:return O(r,":")}},O:function(n,t,e){const r=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+V(r,":");case"OOOO":default:return"GMT"+O(r,":")}},z:function(n,t,e){const r=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+V(r,":");case"zzzz":default:return"GMT"+O(r,":")}},t:function(n,t,e){const r=Math.trunc(+n/1e3);return h(r,t.length)},T:function(n,t,e){return h(+n,t.length)}};function V(n,t=""){const e=n>0?"-":"+",r=Math.abs(n),a=Math.trunc(r/60),s=r%60;return s===0?e+String(a):e+String(a)+t+h(s,2)}function J(n,t){return n%60===0?(n>0?"-":"+")+h(Math.abs(n)/60,2):O(n,t)}function O(n,t=""){const e=n>0?"-":"+",r=Math.abs(n),a=h(Math.trunc(r/60),2),s=h(r%60,2);return e+a+t+s}const K=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},it=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},ne=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],r=e[1],a=e[2];if(!a)return K(n,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",K(r,t)).replace("{{time}}",it(a,t))},re={p:it,P:ne},ae=/^D+$/,se=/^Y+$/,ie=["D","DD","YY","YYYY"];function oe(n){return ae.test(n)}function ce(n){return se.test(n)}function le(n,t,e){const r=ue(n,t,e);if(console.warn(r),ie.includes(n))throw new RangeError(r)}function ue(n,t,e){const r=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${r} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const he=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,de=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,fe=/^'([^]*?)'?$/,me=/''/g,ge=/[a-zA-Z]/;function ye(n,t,e){var f,p,w,m;const r=_(),a=r.locale??Kt,s=r.firstWeekContainsDate??((p=(f=r.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??1,i=r.weekStartsOn??((m=(w=r.locale)==null?void 0:w.options)==null?void 0:m.weekStartsOn)??0,c=v(n,e==null?void 0:e.in);if(!pt(c))throw new RangeError("Invalid time value");let l=t.match(de).map(g=>{const k=g[0];if(k==="p"||k==="P"){const q=re[k];return q(g,a.formatLong)}return g}).join("").match(he).map(g=>{if(g==="''")return{isToken:!1,value:"'"};const k=g[0];if(k==="'")return{isToken:!1,value:pe(g)};if(X[k])return{isToken:!0,value:g};if(k.match(ge))throw new RangeError("Format string contains an unescaped latin alphabet character `"+k+"`");return{isToken:!1,value:g}});a.localize.preprocessor&&(l=a.localize.preprocessor(c,l));const u={firstWeekContainsDate:s,weekStartsOn:i,locale:a};return l.map(g=>{if(!g.isToken)return g.value;const k=g.value;(ce(k)||oe(k))&&le(k,t,String(n));const q=X[k[0]];return q(c,k,a.localize,u)}).join("")}function pe(n){const t=n.match(fe);return t?t[1].replace(me,"'"):n}function we(n,t){const e=v(n,t==null?void 0:t.in).getDay();return e===0?7:e}const z={},N={};function Y(n,t){try{const r=(z[n]||(z[n]=new Intl.DateTimeFormat("en-GB",{timeZone:n,hour:"numeric",timeZoneName:"longOffset"}).format))(t).split("GMT")[1]||"";return r in N?N[r]:Z(r,r.split(":"))}catch{if(n in N)return N[n];const e=n==null?void 0:n.match(be);return e?Z(n,e.slice(1)):NaN}}const be=/([+-]\d\d):?(\d\d)?/;function Z(n,t){const e=+t[0],r=+(t[1]||0);return N[n]=e>0?e*60+r:e*60-r}class S extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Y(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),ot(this),B(this)):this.setTime(Date.now())}static tz(t,...e){return e.length?new S(...e,t):new S(Date.now(),t)}withTimeZone(t){return new S(+this,t)}getTimezoneOffset(){return-Y(this.timeZone,this)}setTime(t){return Date.prototype.setTime.apply(this,arguments),B(this),+this}[Symbol.for("constructDateFrom")](t){return new S(+new Date(t),this.timeZone)}}const tt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(n=>{if(!tt.test(n))return;const t=n.replace(tt,"$1UTC");S.prototype[t]&&(n.startsWith("get")?S.prototype[n]=function(){return this.internal[t]()}:(S.prototype[n]=function(){return Date.prototype[t].apply(this.internal,arguments),ke(this),+this},S.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),B(this),+this}))});function B(n){n.internal.setTime(+n),n.internal.setUTCMinutes(n.internal.getUTCMinutes()-n.getTimezoneOffset())}function ke(n){Date.prototype.setFullYear.call(n,n.internal.getUTCFullYear(),n.internal.getUTCMonth(),n.internal.getUTCDate()),Date.prototype.setHours.call(n,n.internal.getUTCHours(),n.internal.getUTCMinutes(),n.internal.getUTCSeconds(),n.internal.getUTCMilliseconds()),ot(n)}function ot(n){const t=Y(n.timeZone,n),e=new Date(+n);e.setUTCHours(e.getUTCHours()-1);const r=-new Date(+n).getTimezoneOffset(),a=-new Date(+e).getTimezoneOffset(),s=r-a,i=Date.prototype.getHours.apply(n)!==n.internal.getUTCHours();s&&i&&n.internal.setUTCMinutes(n.internal.getUTCMinutes()+s);const c=r-t;c&&Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+c);const l=Y(n.timeZone,n),f=-new Date(+n).getTimezoneOffset()-l,p=l!==t,w=f-c;if(p&&w){Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+w);const m=Y(n.timeZone,n),g=l-m;g&&(n.internal.setUTCMinutes(n.internal.getUTCMinutes()+g),Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+g))}}class M extends S{static tz(t,...e){return e.length?new M(...e,t):new M(Date.now(),t)}toISOString(){const[t,e,r]=this.tzComponents(),a=`${t}${e}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,e,r,a]=this.internal.toUTCString().split(" ");return`${t==null?void 0:t.slice(0,-1)} ${r} ${e} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[e,r,a]=this.tzComponents();return`${t} GMT${e}${r}${a} (${ve(this.timeZone,this)})`}toLocaleString(t,e){return Date.prototype.toLocaleString.call(this,t,{...e,timeZone:(e==null?void 0:e.timeZone)||this.timeZone})}toLocaleDateString(t,e){return Date.prototype.toLocaleDateString.call(this,t,{...e,timeZone:(e==null?void 0:e.timeZone)||this.timeZone})}toLocaleTimeString(t,e){return Date.prototype.toLocaleTimeString.call(this,t,{...e,timeZone:(e==null?void 0:e.timeZone)||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),e=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[e,r,a]}withTimeZone(t){return new M(+this,t)}[Symbol.for("constructDateFrom")](t){return new M(+new Date(t),this.timeZone)}}function ve(n,t){return new Intl.DateTimeFormat("en-GB",{timeZone:n,timeZoneName:"long"}).format(t).slice(12)}window.pktTz=window.pktTz===void 0?"Europe/Oslo":window.pktTz;const y=n=>n.toISOString().split("T")[0],De=n=>{if(!n)return null;const t=$(new M(n,window.pktTz),12);return isNaN(t.getTime())?null:t},Se=(n,t)=>{const e=b(n);return isNaN(e.getTime())?"":ye(e,t)},b=(n="")=>$(n===""||!n?new M(new Date,window.pktTz):new M(n,window.pktTz),12),T=(n,t,e=1)=>$(new M(n,t,e,window.pktTz),12),Me=n=>new Intl.DateTimeFormat("no",{dateStyle:"full",timeZone:window.pktTz}).format(n),ct=n=>{if(Array.isArray(n))return n;if(typeof n=="string")return n.split(",")},xe=n=>n?new Date(n):null,Te=n=>{if(typeof n=="string")return n.split(",").map(t=>new Date(t));if(Array.isArray(n))return n.map(t=>new Date(t))},H={csvToArray:ct,stringToDate:xe,stringsToDate:Te},Pe="pkt-calendar",Oe={id:{type:"string",name:"ID",description:"Unique identifier for the calendar"},currentmonth:{type:"date",converter:"stringToDate",description:"The current month to display"},selected:{type:"array",converter:"csvToArray",reflect:!0,items:{type:"date"},description:"Array of selected dates"},excludeweekdays:{type:"array",converter:"csvToArray",items:{type:"string"},description:"Array of weekdays (1-7) to exclude"},excludedates:{type:"array",converter:"stringsToDate",items:{type:"date"},description:"Array of specific dates to exclude"},earliest:{type:"date",converter:"stringToDate",default:null,description:"Earliest selectable date"},latest:{type:"date",converter:"stringToDate",default:null,description:"Latest selectable date"},weeknumbers:{type:"boolean",reflect:!0,default:!1,description:"Show week numbers in calendar"},withcontrols:{type:"boolean",reflect:!0,default:!1,description:"Show month and year navigation controls"},multiple:{type:"boolean",reflect:!0,default:!1,description:"Allow multiple date selection"},maxMultiple:{type:"number",default:4,description:"Maximum number of dates that can be selected"},range:{type:"boolean",reflect:!0,default:!1,description:"Allow date range selection"}},Ce={"date-selected":{description:"Returns ISO formatted date string"}},P={name:Pe,"css-class":"pkt-calendar",props:Oe,events:Ce};var $e=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,d=(n,t,e,r)=>{for(var a=r>1?void 0:r?Ee(t,e):t,s=n.length-1,i;s>=0;s--)(i=n[s])&&(a=(r?i(t,e,a):i(a))||a);return r&&a&&$e(t,e,a),a};exports.PktCalendar=class extends o.PktElement{constructor(){super(...arguments),this.multiple=P.props.multiple.default,this.maxMultiple=P.props.maxMultiple.default,this.range=P.props.range.default,this.weeknumbers=P.props.weeknumbers.default,this.withcontrols=P.props.withcontrols.default,this.selected=[],this.earliest=P.props.earliest.default,this.latest=P.props.latest.default,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.dayStrings=this.strings.dates.daysShort,this.dayStringsLong=this.strings.dates.days,this.monthStrings=this.strings.dates.months,this.weekString=this.strings.dates.week,this.prevMonthString=this.strings.dates.prevMonth,this.nextMonthString=this.strings.dates.nextMonth,this._selected=[],this.year=0,this.month=0,this.week=0,this.rangeHovered=null,this.inRange={},this.focusedDate=null,this.selectableDates=[],this.currentmonthtouched=!1,this.tabIndexSet=0}connectedCallback(){super.connectedCallback()}disconnectedCallback(){this.removeEventListener("keydown",this.handleKeydown),super.disconnectedCallback()}attributeChangedCallback(t,e,r){t==="selected"&&r&&this.convertSelected(),super.attributeChangedCallback(t,e,r)}updated(t){super.updated(t),t.has("selected")&&this.convertSelected()}firstUpdated(t){this.addEventListener("keydown",this.handleKeydown)}convertSelected(){if(typeof this.selected=="string"&&(this.selected=this.selected.split(",")),this.selected.length===1&&this.selected[0]===""&&(this.selected=[]),this._selected=this.selected.map(t=>b(t)),this.range&&this.selected.length===2){const t=R({start:b(this.selected[0]),end:b(this.selected[1])});if(this.inRange={},Array.isArray(t)&&t.length){const e={};for(let r=0;r<t.length;r++)e[y(t[r])]=this.isInRange(t[r]);this.inRange=e}}this.setCurrentMonth()}setCurrentMonth(){if(this.currentmonth===null&&!this.currentmonthtouched){this.currentmonthtouched=!0;return}this.selected.length&&this.selected[0]!==""?this.currentmonth=b(this.selected[this.selected.length-1]):this.currentmonth===null&&(this.currentmonth=b()),this.year=this.currentmonth.getFullYear(),this.month=this.currentmonth.getMonth()}handleKeydown(t){switch(t.key){case"ArrowLeft":this.handleArrowKey(t,-1);break;case"ArrowRight":this.handleArrowKey(t,1);break;case"ArrowUp":this.handleArrowKey(t,-7);break;case"ArrowDown":this.handleArrowKey(t,7);break}}handleArrowKey(t,e){var s,i,c;if(((s=t.target)==null?void 0:s.nodeName)==="INPUT"||((i=t.target)==null?void 0:i.nodeName)==="SELECT"||((c=t.target)==null?void 0:c.nodeName)==="BUTTON")return;t.preventDefault(),this.focusedDate||this.focusOnCurrentDate();const r=this.focusedDate?b(this.focusedDate):T(this.year,this.month,1);let a=L(r,e);if(a){let l=this.querySelector(`div[data-date="${y(a)}"]`);if(l instanceof HTMLDivElement){if(l.dataset.disabled){a=L(a,e);let u=this.querySelector(`div[data-date="${y(a)}"]`);for(;u&&u instanceof HTMLDivElement&&u.dataset.disabled;)a=L(a,e),u=this.querySelector(`div[data-date="${y(a)}"]`);l=u}l instanceof HTMLDivElement&&!l.dataset.disabled&&(this.focusedDate=y(a),l.focus())}}}render(){return o.x`
|
|
2
|
+
<div
|
|
3
|
+
class="pkt-calendar ${this.weeknumbers?"pkt-cal-weeknumbers":o.E}"
|
|
4
|
+
@focusout=${this.closeEvent}
|
|
5
|
+
@keydown=${t=>{t.key==="Escape"&&(t.preventDefault(),this.close())}}
|
|
6
|
+
>
|
|
7
|
+
<nav class="pkt-cal-month-nav">
|
|
8
|
+
<div>
|
|
9
|
+
<button
|
|
10
|
+
type="button"
|
|
11
|
+
@click=${this.isPrevMonthAllowed()&&this.prevMonth}
|
|
12
|
+
@keydown=${t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.isNextMonthAllowed()&&this.prevMonth())}}
|
|
13
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only ${this.isPrevMonthAllowed()?"":"pkt-hide"}"
|
|
14
|
+
.data-disabled=${this.isPrevMonthAllowed()?o.E:"disabled"}
|
|
15
|
+
?aria-disabled=${!this.isPrevMonthAllowed()}
|
|
16
|
+
tabindex=${this.isPrevMonthAllowed()?"0":"-1"}
|
|
17
|
+
>
|
|
18
|
+
<pkt-icon class="pkt-btn__icon" name="chevron-thin-left"></pkt-icon>
|
|
19
|
+
<span class="pkt-btn__text">${this.prevMonthString}</span>
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
22
|
+
${this.renderMonthNav()}
|
|
23
|
+
<div>
|
|
24
|
+
<button
|
|
25
|
+
type="button"
|
|
26
|
+
@click=${this.isNextMonthAllowed()&&this.nextMonth}
|
|
27
|
+
@keydown=${t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.isNextMonthAllowed()&&this.nextMonth())}}
|
|
28
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only ${this.isNextMonthAllowed()?"":"pkt-hide"}"
|
|
29
|
+
.data-disabled=${this.isNextMonthAllowed()?o.E:"disabled"}
|
|
30
|
+
?aria-disabled=${!this.isNextMonthAllowed()}
|
|
31
|
+
tabindex=${this.isNextMonthAllowed()?"0":"-1"}
|
|
32
|
+
>
|
|
33
|
+
<pkt-icon class="pkt-btn__icon" name="chevron-thin-right"></pkt-icon>
|
|
34
|
+
<span class="pkt-btn__text">${this.nextMonthString}</span>
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
</nav>
|
|
38
|
+
<table
|
|
39
|
+
class="pkt-cal-days pkt-txt-12-medium"
|
|
40
|
+
role="grid"
|
|
41
|
+
?aria-multiselectable=${this.range||this.multiple}
|
|
42
|
+
>
|
|
43
|
+
<thead>
|
|
44
|
+
${this.renderDayNames()}
|
|
45
|
+
</thead>
|
|
46
|
+
<tbody>
|
|
47
|
+
${this.renderCalendarBody()}
|
|
48
|
+
</tbody>
|
|
49
|
+
</table>
|
|
50
|
+
</div>
|
|
51
|
+
`}renderDayNames(){const t=[];this.weeknumbers&&t.push(o.x`<th><div>${this.weekString}</div></th>`);for(let e=0;e<this.dayStrings.length;e++)t.push(o.x`<th><div aria-label="${this.dayStringsLong[e]}">${this.dayStrings[e]}</div></th>`);return o.x`<tr class="pkt-cal-week-row">
|
|
52
|
+
${t}
|
|
53
|
+
</tr>`}renderMonthNav(){let t=[];return this.withcontrols?t.push(o.x`<div class="pkt-cal-month-picker">
|
|
54
|
+
<label for="${this.id}-monthnav" class="pkt-hide">${this.strings.dates.month}</label>
|
|
55
|
+
<select
|
|
56
|
+
aria-label="${this.strings.dates.month}"
|
|
57
|
+
class="pkt-input pkt-input-compact"
|
|
58
|
+
id="${this.id}-monthnav"
|
|
59
|
+
@change=${e=>{e.stopImmediatePropagation(),this.changeMonth(this.year,e.target.value)}}
|
|
60
|
+
>
|
|
61
|
+
${this.monthStrings.map((e,r)=>o.x`<option value=${r} ?selected=${this.month===r}>${e}</option>`)}
|
|
62
|
+
</select>
|
|
63
|
+
<label for="${this.id}-yearnav" class="pkt-hide">${this.strings.dates.year}</label>
|
|
64
|
+
<input
|
|
65
|
+
aria-label="${this.strings.dates.year}"
|
|
66
|
+
class="pkt-input pkt-cal-input-year pkt-input-compact"
|
|
67
|
+
id="${this.id}-yearnav"
|
|
68
|
+
type="number"
|
|
69
|
+
size="4"
|
|
70
|
+
placeholder="0000"
|
|
71
|
+
@change=${e=>{e.stopImmediatePropagation(),this.changeMonth(e.target.value,this.month)}}
|
|
72
|
+
.value=${this.year}
|
|
73
|
+
/>
|
|
74
|
+
</div> `):t.push(o.x`<div class="pkt-txt-16-medium" aria-live="polite">
|
|
75
|
+
${this.monthStrings[this.month]} ${this.year}
|
|
76
|
+
</div>`),t}renderDayView(t,e,r){var w;const a=T(this.year,this.month,t),s=y(a),i=s===y(e),c=this.selected.includes(s),l=Me(a),u=this.isExcluded(r,a)||!c&&this.multiple&&this.maxMultiple>0&&this.selected.length>=this.maxMultiple,f=this.focusedDate?this.focusedDate===s&&!u?"0":"-1":!u&&this.tabIndexSet===0||this.tabIndexSet===t?"0":"-1";f==="0"&&(this.tabIndexSet=t),this.selectableDates.push({currentDateISO:s,isDisabled:u,tabindex:f});const p={"pkt-cal-today":i,"pkt-cal-selected":c,"pkt-cal-in-range":this.inRange[s],"pkt-cal-excluded":this.isExcluded(r,a),"pkt-cal-in-range-first":this.range&&(this.selected.length===2||this.rangeHovered!==null)&&s===this.selected[0],"pkt-cal-in-range-last":this.range&&this.selected.length===2&&s===this.selected[1],"pkt-cal-range-hover":this.rangeHovered!==null&&s===y(this.rangeHovered)};return o.x`<td class=${lt.e(p)}>
|
|
77
|
+
<div
|
|
78
|
+
?aria-selected=${c}
|
|
79
|
+
role="gridcell"
|
|
80
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
|
|
81
|
+
@mouseover=${()=>this.range&&!this.isExcluded(r,a)&&this.handleRangeHover(a)}
|
|
82
|
+
@focus=${()=>{this.range&&!this.isExcluded(r,a)&&this.handleRangeHover(a),this.focusedDate=s}}
|
|
83
|
+
aria-label="${l}"
|
|
84
|
+
tabindex=${(w=this.selectableDates.find(m=>m.currentDateISO===s))==null?void 0:w.tabindex}
|
|
85
|
+
data-disabled=${u?"disabled":o.E}
|
|
86
|
+
data-date=${s}
|
|
87
|
+
@keydown=${m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),this.handleDateSelect(a))}}
|
|
88
|
+
@click=${m=>{u||(m.preventDefault(),this.handleDateSelect(a))}}
|
|
89
|
+
>
|
|
90
|
+
<span class="pkt-btn__text pkt-txt-14-light">${t}</span>
|
|
91
|
+
</div>
|
|
92
|
+
</td>`}renderCalendarBody(){const t=b(),e=T(this.year,this.month,1),r=T(this.year,this.month+1,0),a=(e.getDay()+6)%7,s=r.getDate(),i=Math.ceil((s+a)/7),l=T(this.year,this.month,0).getDate();let u=1;this.week=st(T(this.year,this.month,1));const f=[];for(let p=0;p<i;p++){const w=[];this.weeknumbers&&w.push(o.x`<td class="pkt-cal-week">${this.week}</td>`),this.week++;for(let m=1;m<8;m++)if(p===0&&m<a+1){const g=l-(a-m);w.push(o.x`<td class="pkt-cal-other">
|
|
93
|
+
<div
|
|
94
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
|
|
95
|
+
data-disabled="disabled"
|
|
96
|
+
>
|
|
97
|
+
<span class="pkt-btn__text pkt-txt-14-light">${g}</span>
|
|
98
|
+
</div>
|
|
99
|
+
</td>`)}else u>s?(w.push(o.x`<td class="pkt-cal-other">
|
|
100
|
+
<div
|
|
101
|
+
class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
|
|
102
|
+
data-disabled="disabled"
|
|
103
|
+
>
|
|
104
|
+
<span class="pkt-btn__text pkt-txt-14-light">${u-s}</span>
|
|
105
|
+
</div>
|
|
106
|
+
</td>`),u++):(w.push(this.renderDayView(u,t,m)),u++);f.push(o.x`<tr class="pkt-cal-week-row" role="row">
|
|
107
|
+
${w}
|
|
108
|
+
</tr>`)}return f}isExcluded(t,e){return this.excludeweekdays.includes(t.toString())||this.earliest&&$(e,1)<b(this.earliest)||this.latest&&$(e,-1)>b(this.latest)?!0:this.excludedates.some(r=>typeof r=="string"?r===y(e):r.toDateString()===e.toDateString())}isPrevMonthAllowed(){const t=T(this.year,this.month,0);return!(this.earliest&&b(this.earliest)>t)}prevMonth(){const t=this.month===0?11:this.month-1,e=this.month===0?this.year-1:this.year;this.changeMonth(e,t)}isNextMonthAllowed(){const t=T(this.month===11?this.year+1:this.year,this.month===11?0:this.month+1,1);return!(this.latest&&b(this.latest)<t)}nextMonth(){const t=this.month===11?0:this.month+1,e=this.month===11?this.year+1:this.year;this.changeMonth(e,t)}changeMonth(t,e){this.year=typeof t=="string"?parseInt(t):t,this.month=typeof e=="string"?parseInt(e):e,this.tabIndexSet=0,this.focusedDate=null,this.selectableDates=[]}isInRange(t){if(this.range&&this.selected.length===2){if(t>b(this.selected[0])&&t<b(this.selected[1]))return!0}else if(this.range&&this.selected.length===1&&this.rangeHovered&&t>b(this.selected[0])&&t<this.rangeHovered)return!0;return!1}isRangeAllowed(t){let e=!0;if(this._selected.length===1){const r=R({start:this._selected[0],end:t});if(Array.isArray(r)&&r.length)for(let a=0;a<r.length;a++)this.excludedates.forEach(s=>{s>this._selected[0]&&s<t&&(e=!1)}),this.excludeweekdays.includes(we(r[a]).toString())&&(e=!1)}return e}emptySelected(){this.selected=[],this._selected=[],this.inRange={}}addToSelected(t){this.selected.includes(y(t))||(this.selected=[...this.selected,y(t)],this._selected=[...this._selected,t],this.range&&this.selected.length===2&&this.close())}removeFromSelected(t){if(this.selected.length===1)this.emptySelected();else{const e=this.selected.indexOf(y(t)),r=[...this.selected],a=[...this._selected];r.splice(e,1),a.splice(e,1),this.selected=r,this._selected=a}}toggleSelected(t){const e=y(t);this.selected.includes(e)?this.removeFromSelected(t):this.maxMultiple&&this.selected.length>=this.maxMultiple||this.addToSelected(t)}handleRangeSelect(t){const e=y(t);return this.selected.includes(e)?this.selected.indexOf(e)===0?this.emptySelected():this.removeFromSelected(t):this.selected.length>1?(this.emptySelected(),this.addToSelected(t)):(this.selected.length===1&&!this.isRangeAllowed(t)&&this.emptySelected(),this.selected.length===1&&this._selected[0]>t&&this.emptySelected(),this.addToSelected(t)),Promise.resolve()}handleRangeHover(t){if(this.range&&this._selected.length===1&&this.isRangeAllowed(t)&&this._selected[0]<t){this.rangeHovered=t,this.inRange={};const e=R({start:this._selected[0],end:t});if(Array.isArray(e)&&e.length)for(let r=0;r<e.length;r++)this.inRange[y(e[r])]=this.isInRange(e[r])}else this.rangeHovered=null}handleDateSelect(t){if(t)return this.range?this.handleRangeSelect(t):this.multiple?this.toggleSelected(t):(this.selected.includes(y(t))?this.emptySelected():(this.emptySelected(),this.addToSelected(t)),this.close()),this.dispatchEvent(new CustomEvent("date-selected",{detail:this.selected,bubbles:!0,composed:!0})),Promise.resolve()}focusOnCurrentDate(){const t=y(b()),e=this.querySelector(`div[data-date="${t}"]`);if(e instanceof HTMLDivElement)this.focusedDate=t,e.focus();else{const r=this.selectableDates.find(a=>!a.isDisabled);if(r){const a=this.querySelector(`div[data-date="${r.currentDateISO}"]`);a instanceof HTMLDivElement&&(this.focusedDate=r.currentDateISO,a.focus())}}}closeEvent(t){!this.contains(t.relatedTarget)&&!t.target.classList.contains("pkt-hide")&&this.close()}close(){this.dispatchEvent(new CustomEvent("close",{detail:!0,bubbles:!0,composed:!0}))}};d([o.n({type:Boolean})],exports.PktCalendar.prototype,"multiple",2);d([o.n({type:Number})],exports.PktCalendar.prototype,"maxMultiple",2);d([o.n({type:Boolean})],exports.PktCalendar.prototype,"range",2);d([o.n({type:Boolean})],exports.PktCalendar.prototype,"weeknumbers",2);d([o.n({type:Boolean})],exports.PktCalendar.prototype,"withcontrols",2);d([o.n({converter:H.csvToArray})],exports.PktCalendar.prototype,"selected",2);d([o.n({type:String})],exports.PktCalendar.prototype,"earliest",2);d([o.n({type:String})],exports.PktCalendar.prototype,"latest",2);d([o.n({converter:H.stringsToDate})],exports.PktCalendar.prototype,"excludedates",2);d([o.n({converter:H.csvToArray})],exports.PktCalendar.prototype,"excludeweekdays",2);d([o.n({converter:H.stringToDate})],exports.PktCalendar.prototype,"currentmonth",2);d([o.n({type:Array})],exports.PktCalendar.prototype,"dayStrings",2);d([o.n({type:Array})],exports.PktCalendar.prototype,"dayStringsLong",2);d([o.n({type:Array})],exports.PktCalendar.prototype,"monthStrings",2);d([o.n({type:String})],exports.PktCalendar.prototype,"weekString",2);d([o.n({type:String})],exports.PktCalendar.prototype,"prevMonthString",2);d([o.n({type:String})],exports.PktCalendar.prototype,"nextMonthString",2);d([o.n({type:Array})],exports.PktCalendar.prototype,"_selected",2);d([o.n({type:Number})],exports.PktCalendar.prototype,"year",2);d([o.n({type:Number})],exports.PktCalendar.prototype,"month",2);d([o.n({type:Number})],exports.PktCalendar.prototype,"week",2);d([o.n({type:Date})],exports.PktCalendar.prototype,"rangeHovered",2);d([F.r()],exports.PktCalendar.prototype,"inRange",2);d([F.r()],exports.PktCalendar.prototype,"focusedDate",2);d([F.r()],exports.PktCalendar.prototype,"selectableDates",2);d([F.r()],exports.PktCalendar.prototype,"currentmonthtouched",2);d([F.r()],exports.PktCalendar.prototype,"tabIndexSet",2);exports.PktCalendar=d([o.t("pkt-calendar")],exports.PktCalendar);exports.converters=H;exports.csvToArray=ct;exports.formatISODate=y;exports.fromISOToDate=De;exports.fromISOtoLocal=Se;exports.newDate=b;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";const c=require("./class-map-Boa7BqCc.cjs"),g=require("./if-defined-DEDlGbAc.cjs"),t=require("./icon-CdMQ6zBT.cjs"),k=require("./pkt-slot-controller-Ckk_yV0j.cjs"),d=require("./ref-DCOsLZQg.cjs");require("./tag-CGy2mSLE.cjs");const u="pkt-card",h=!0,y={heading:{type:"string",name:"Heading",description:"Tittel på kortet"},subheading:{type:"string",name:"Subheading",description:"Undertittel på kortet"},tags:{type:"array",description:"Liste av tags på kortet. Tar inn en array med objekter med følgende stringproperties: skin, iconName, ariaLabel, text",name:"Tags",items:{type:"object",properties:{skin:{type:["blue","green","red","yellow"],description:"Farge på tag"},iconName:{type:"icon",description:"Id på ikonet du ønsker å bruke til tag"},ariaLabel:{type:"string",description:"Tekst for aria-label"},text:{type:"string",description:"Tekst på tag",required:!0}}}},skin:{type:["outlined","gray","blue","beige","green"],name:"Skin",description:"Farge på kortet",default:"outlined"},direction:{type:["landscape","portrait"],name:"Direction",description:"Retningen innholdet skal ligge i forhold til kortet",default:"portrait"},image:{type:"object",name:"Bilde",description:"Bilde på kortet. Tar inn et objekt av typen {src: string, alt: string}. src er stien til bildet, og alt er tekst for aria-label.",properties:{src:{type:"string",description:"Bilde på kortet",required:!0},alt:{type:"string",description:"Tekst for aria-label",required:!0}}}},m={default:{description:"Innholdet i kortet"}},l={name:u,"css-class":"pkt-card",isElement:h,props:y,slots:m};var f=Object.defineProperty,b=Object.getOwnPropertyDescriptor,r=(a,i,s,n)=>{for(var e=n>1?void 0:n?b(i,s):i,o=a.length-1,p;o>=0;o--)(p=a[o])&&(e=(n?p(i,s,e):p(e))||e);return n&&e&&f(i,s,e),e};exports.PktCard=class extends t.PktElement{constructor(){super(),this.defaultSlot=d.e(),this.skin=l.props.skin.default,this.direction=l.props.direction.default,this.image={src:"",alt:""},this.heading="",this.subheading="",this.tags=[],this.slotController=new k.PktSlotController(this,this.defaultSlot)}connectedCallback(){super.connectedCallback()}render(){const i={"pkt-card":!0,[`pkt-card--${this.skin}`]:this.skin,[`pkt-card--${this.direction}`]:this.direction};return t.x`
|
|
2
|
+
<div class=${c.e(i)}>
|
|
3
|
+
${this.image.src&&t.x`
|
|
4
|
+
<div class="pkt-card__image">
|
|
5
|
+
<img src=${this.image.src} alt=${this.image.alt||""} />
|
|
6
|
+
</div>
|
|
7
|
+
`}
|
|
8
|
+
<div class="pkt-card__wrapper">
|
|
9
|
+
${this.tags.length>0?t.x`
|
|
10
|
+
<div class="pkt-card__tags">
|
|
11
|
+
${this.tags.map(s=>t.x`
|
|
12
|
+
<pkt-tag textStyle="normal-text" size="medium" skin=${g.o(s.skin)}>
|
|
13
|
+
${s.text}
|
|
14
|
+
</pkt-tag>
|
|
15
|
+
`)}
|
|
16
|
+
</div>
|
|
17
|
+
`:t.E}
|
|
18
|
+
${this.heading&&t.x`<h3 class="pkt-txt-30-medium">${this.heading}</h3>`}
|
|
19
|
+
${this.subheading&&t.x`<p class="pkt-txt-20-light">${this.subheading}</p>`}
|
|
20
|
+
${this.defaultSlot&&t.x`<div class="pkt-card__content" ${d.n(this.defaultSlot)}></div>`}
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
`}};r([t.n({type:String,reflect:!0})],exports.PktCard.prototype,"skin",2);r([t.n({type:String,reflect:!0})],exports.PktCard.prototype,"direction",2);r([t.n({type:Object,reflect:!0})],exports.PktCard.prototype,"image",2);r([t.n({type:String,reflect:!0})],exports.PktCard.prototype,"heading",2);r([t.n({type:String,reflect:!0})],exports.PktCard.prototype,"subheading",2);r([t.n({type:Array,reflect:!0})],exports.PktCard.prototype,"tags",2);exports.PktCard=r([t.t("pkt-card")],exports.PktCard);
|