@oslokommune/punkt-elements 12.31.2 → 12.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{alert-BDxxRqgi.cjs → alert-D5G5UJuo.cjs} +1 -1
- package/dist/{alert-D0S57u0r.js → alert-gERpVuB7.js} +6 -6
- package/dist/alert.d.ts +32 -0
- package/dist/{backlink-CzpB-ih9.js → backlink-DdNgqA56.js} +2 -2
- package/dist/{backlink-Dn4DfWVR.cjs → backlink-Q2HTG9jm.cjs} +1 -1
- package/dist/backlink.d.ts +32 -0
- package/dist/{button-Beo3c7cx.cjs → button-BPyZeW73.cjs} +1 -1
- package/dist/{button-9NwGr-OS.js → button-rArIL0-j.js} +3 -3
- package/dist/button.d.ts +32 -0
- package/dist/{calendar-BbZNxsKY.js → calendar-1ryAEdX3.js} +4 -4
- package/dist/{calendar-CxBo98iI.cjs → calendar-2DqPLXdD.cjs} +1 -1
- package/dist/calendar.d.ts +32 -0
- package/dist/{card-DQfNKnKl.js → card-BbMBpvJt.js} +7 -7
- package/dist/{card-C63x_nll.cjs → card-ZX09f_ka.cjs} +1 -1
- package/dist/card.d.ts +32 -0
- package/dist/{checkbox-9Zjy_NU7.cjs → checkbox-BnDG6wIO.cjs} +1 -1
- package/dist/{checkbox-CzDpR6_8.js → checkbox-Ceui2TLp.js} +4 -4
- package/dist/checkbox.d.ts +32 -0
- package/dist/{class-map-DWtqmIRS.js → class-map-ChuDQU5C.js} +1 -1
- package/dist/{class-map-Dj5mbCUg.cjs → class-map-D4rXyUxT.cjs} +1 -1
- package/dist/combobox-DH-YlbNh.cjs +115 -0
- package/dist/combobox-DbO6I0GT.js +694 -0
- package/dist/combobox.d.ts +47 -0
- package/dist/{datepicker-CYUvRGhE.js → datepicker-8MOgQsyL.js} +144 -196
- package/dist/datepicker-BRH-59Q9.cjs +153 -0
- package/dist/datepicker.d.ts +32 -0
- package/dist/directive-helpers-D7XIyCQ_.js +45 -0
- package/dist/directive-helpers-mGjAtADc.cjs +5 -0
- package/dist/{element-CzFXQBoS.cjs → element-BBo3JZk5.cjs} +1 -1
- package/dist/{element-C7XjZtLU.js → element-G8JoS0Lj.js} +6 -0
- package/dist/{helptext-B9kxDc2b.cjs → helptext-B4Uc-d56.cjs} +2 -2
- package/dist/{helptext-CqnoPodd.js → helptext-Y4cSgTkd.js} +10 -10
- package/dist/helptext.d.ts +32 -0
- package/dist/{icon-BEUgV9Wo.js → icon-BJnwW0eh.js} +1 -1
- package/dist/{icon-BOKusjAA.cjs → icon-BTUCDPN5.cjs} +1 -1
- package/dist/icon.d.ts +32 -0
- package/dist/{if-defined-CpIkv1A4.cjs → if-defined-C1ZDVzYn.cjs} +1 -1
- package/dist/{if-defined-eRX4e5zO.js → if-defined-rCqT8Od1.js} +1 -1
- package/dist/index.d.ts +208 -14
- package/dist/input-element-AhnBdCb8.cjs +1 -0
- package/dist/{input-element-BK8UkQli.js → input-element-DM2uSYaW.js} +22 -19
- package/dist/input-wrapper-BdZxmQyO.cjs +52 -0
- package/dist/input-wrapper-DQmYzhcy.js +185 -0
- package/dist/input-wrapper.d.ts +32 -0
- package/dist/{link-D3U0Jkz8.js → link-C3lW3z8X.js} +5 -5
- package/dist/{link-1iq0Pmuf.cjs → link-DOVlsg2S.cjs} +1 -1
- package/dist/link.d.ts +32 -0
- package/dist/{linkcard-CRpo3tiw.js → linkcard-CvqqyHVW.js} +4 -4
- package/dist/{linkcard-2WzDJPZz.cjs → linkcard-DDD92XfD.cjs} +1 -1
- package/dist/linkcard.d.ts +32 -0
- package/dist/listbox-BTVnrHWv.cjs +95 -0
- package/dist/listbox-DX-Euxdm.js +360 -0
- package/dist/listbox.d.ts +47 -0
- package/dist/{loader-B1edLWTg.js → loader-BudoV0yd.js} +6 -6
- package/dist/{loader-DI74pe25.cjs → loader-Csq0Yd1k.cjs} +1 -1
- package/dist/loader.d.ts +32 -0
- package/dist/{messagebox-DQpEMkS2.cjs → messagebox-8GwnNqb0.cjs} +1 -1
- package/dist/{messagebox-KP-8-tA9.js → messagebox-D6uexEhg.js} +6 -6
- package/dist/messagebox.d.ts +32 -0
- package/dist/{modal-ytIJwfr3.cjs → modal-CLixB4Dz.cjs} +1 -1
- package/dist/{modal-kPX8nO_L.js → modal-DnYn2Rlg.js} +6 -6
- package/dist/modal.d.ts +32 -0
- package/dist/pkt-alert.cjs +1 -1
- package/dist/pkt-alert.js +1 -1
- package/dist/pkt-backlink.cjs +1 -1
- package/dist/pkt-backlink.js +1 -1
- package/dist/pkt-button.cjs +1 -1
- package/dist/pkt-button.js +1 -1
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +1 -1
- package/dist/pkt-card.cjs +1 -1
- package/dist/pkt-card.js +1 -1
- package/dist/pkt-checkbox.cjs +1 -1
- package/dist/pkt-checkbox.js +1 -1
- package/dist/pkt-combobox.cjs +1 -0
- package/dist/pkt-combobox.js +6 -0
- package/dist/pkt-datepicker.cjs +1 -1
- package/dist/pkt-datepicker.js +1 -1
- 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 +1 -1
- package/dist/pkt-index.cjs +3 -3
- package/dist/pkt-index.js +45 -43
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +1 -1
- package/dist/pkt-link.cjs +1 -1
- package/dist/pkt-link.js +1 -1
- package/dist/pkt-linkcard.cjs +1 -1
- package/dist/pkt-linkcard.js +1 -1
- package/dist/pkt-listbox.cjs +1 -0
- package/dist/pkt-listbox.js +6 -0
- package/dist/pkt-loader.cjs +1 -1
- package/dist/pkt-loader.js +1 -1
- package/dist/pkt-messagebox.cjs +1 -1
- package/dist/pkt-messagebox.js +1 -1
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/pkt-options-controller-BtU1zEtG.cjs +1 -0
- package/dist/pkt-options-controller-CZplGTgu.js +38 -0
- package/dist/pkt-progressbar.cjs +1 -1
- package/dist/pkt-progressbar.js +2 -2
- package/dist/pkt-radiobutton.cjs +1 -1
- package/dist/pkt-radiobutton.js +1 -1
- package/dist/pkt-select.cjs +1 -1
- package/dist/pkt-select.js +1 -1
- package/dist/pkt-slot-controller-CqNvEpFd.cjs +1 -0
- package/dist/{pkt-slot-controller-Clbye6cM.js → pkt-slot-controller-D1DakVrU.js} +17 -7
- package/dist/pkt-tag.cjs +1 -1
- package/dist/pkt-tag.js +1 -1
- 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-B6A9UVXS.cjs → progressbar-BW_icNId.cjs} +1 -1
- package/dist/{progressbar-D0nxLqHu.js → progressbar-czvExwTL.js} +5 -5
- package/dist/progressbar.d.ts +32 -0
- package/dist/{radiobutton-BWyQgR_x.cjs → radiobutton-BeSuCrbp.cjs} +1 -1
- package/dist/{radiobutton-DLWjvLBO.js → radiobutton-DKo27Stm.js} +5 -5
- package/dist/radiobutton.d.ts +32 -0
- package/dist/ref-DsoUUoPU.cjs +9 -0
- package/dist/ref-cRTOoM4R.js +102 -0
- package/dist/repeat-CArTw6-s.js +61 -0
- package/dist/repeat-kruY8poV.cjs +5 -0
- package/dist/select-DxHhPEgD.js +118 -0
- package/dist/select-lvFnhEVg.cjs +49 -0
- package/dist/select.d.ts +32 -0
- package/dist/{state-HNj0_316.cjs → state-BILlRnrD.cjs} +1 -1
- package/dist/{state-CDQk0DFQ.js → state-gfUuUqVg.js} +1 -1
- package/dist/{tag-CmFcSdOV.js → tag-CWx1XsGR.js} +7 -7
- package/dist/{tag-BeLSOjNh.cjs → tag-DThwKsrg.cjs} +1 -1
- package/dist/tag.d.ts +32 -0
- package/dist/{textarea-BPqWCymU.js → textarea-BNNDbxxO.js} +18 -17
- package/dist/{textarea-VG-UTMLP.cjs → textarea-CDsLbogK.cjs} +6 -6
- package/dist/textarea.d.ts +32 -0
- package/dist/{textinput-CEP7QA3E.cjs → textinput-C3C088Ki.cjs} +5 -4
- package/dist/{textinput-VD74aGzx.js → textinput-M8I4dfoP.js} +25 -24
- package/dist/textinput.d.ts +32 -0
- package/package.json +3 -3
- package/src/components/combobox/combobox.ts +873 -0
- package/src/components/combobox/countrycodes.json +927 -0
- package/src/components/combobox/index.ts +6 -0
- package/src/components/datepicker/datepicker.ts +2 -0
- package/src/components/helptext/helptext.ts +1 -1
- package/src/components/index.ts +7 -0
- package/src/components/input-wrapper/input-wrapper.ts +42 -34
- package/src/components/listbox/index.ts +4 -0
- package/src/components/listbox/listbox.ts +474 -0
- package/src/components/select/select.ts +7 -0
- package/src/components/textinput/textinput.ts +3 -2
- package/dist/datepicker-FuAL0uNU.cjs +0 -155
- package/dist/input-element-Dtyuf6s8.cjs +0 -1
- package/dist/input-wrapper-Bo2_t6pA.cjs +0 -50
- package/dist/input-wrapper-DaZZq8c0.js +0 -172
- package/dist/pkt-slot-controller-Oc32unDk.cjs +0 -1
- package/dist/ref-2anvRHT4.cjs +0 -13
- package/dist/ref-DbOSDQbk.js +0 -143
- package/dist/select-CzuxXKll.js +0 -150
- package/dist/select-DZL6aa2s.cjs +0 -48
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { P as u, x as r, E as p, t as b, n as l, a as f } from "./element-G8JoS0Lj.js";
|
|
2
|
+
import { r as m } from "./state-gfUuUqVg.js";
|
|
3
|
+
import { o as y } from "./if-defined-rCqT8Od1.js";
|
|
4
|
+
import { c as k } from "./repeat-CArTw6-s.js";
|
|
5
|
+
import { e as d } from "./class-map-ChuDQU5C.js";
|
|
6
|
+
import { u as x } from "./stringutils-DJjRa8dG.js";
|
|
7
|
+
var O = Object.defineProperty, g = Object.getOwnPropertyDescriptor, a = (e, t, s, o) => {
|
|
8
|
+
for (var n = o > 1 ? void 0 : o ? g(t, s) : t, c = e.length - 1, h; c >= 0; c--)
|
|
9
|
+
(h = e[c]) && (n = (o ? h(t, s, n) : h(n)) || n);
|
|
10
|
+
return o && n && O(t, s, n), n;
|
|
11
|
+
};
|
|
12
|
+
let i = class extends u {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments), this.id = x(), this.label = null, this.options = [], this.isOpen = !1, this.disabled = !1, this.includeSearch = !1, this.isMultiSelect = !1, this.allowUserInput = !1, this.maxIsReached = !1, this.customUserInput = null, this.searchPlaceholder = null, this.searchValue = null, this.maxLength = 0, this.userMessage = null, this._selectedOptions = 0, this._filteredOptions = [];
|
|
15
|
+
}
|
|
16
|
+
// Lifecycle methods
|
|
17
|
+
connectedCallback() {
|
|
18
|
+
super.connectedCallback(), this.includeSearch && !this.searchValue && (this.searchValue = ""), this.options.length > 0 && this.filterOptions(), this.setAttribute("tabindex", "-1"), this.addEventListener("focus", this.focusFirstOrSelectedOption);
|
|
19
|
+
}
|
|
20
|
+
updated(e) {
|
|
21
|
+
(e.has("options") || e.has("searchValue")) && this.filterOptions(), super.updated(e);
|
|
22
|
+
}
|
|
23
|
+
attributeChangedCallback(e, t, s) {
|
|
24
|
+
(e === "options" || e === "searchValue" || e === "search-value") && this.filterOptions(), super.attributeChangedCallback(e, t, s);
|
|
25
|
+
}
|
|
26
|
+
// Render methods
|
|
27
|
+
render() {
|
|
28
|
+
return r`
|
|
29
|
+
<div
|
|
30
|
+
class=${d({
|
|
31
|
+
"pkt-listbox": !0,
|
|
32
|
+
"pkt-listbox__open": this.isOpen,
|
|
33
|
+
"pkt-txt-16-light": !0
|
|
34
|
+
})}
|
|
35
|
+
role="listbox"
|
|
36
|
+
aria-label=${y(this.label)}
|
|
37
|
+
>
|
|
38
|
+
<div class="pkt-listbox__banners">
|
|
39
|
+
${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
|
|
40
|
+
${this.renderNewOptionBanner()} ${this.renderSearch()}
|
|
41
|
+
</div>
|
|
42
|
+
<ul class="pkt-listbox__options" role="presentation">
|
|
43
|
+
${this.renderList()}
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
renderCheckboxOrCheckIcon(e, t) {
|
|
49
|
+
return this.isMultiSelect ? r`
|
|
50
|
+
<input
|
|
51
|
+
class="pkt-input-check__input-checkbox"
|
|
52
|
+
type="checkbox"
|
|
53
|
+
role="presentation"
|
|
54
|
+
tabindex="-1"
|
|
55
|
+
value=${e.value}
|
|
56
|
+
.checked=${e.selected}
|
|
57
|
+
aria-labelledby=${this.id + "-option-label-" + t}
|
|
58
|
+
?disabled=${this.disabled || e.disabled || this.maxIsReached && !e.selected}
|
|
59
|
+
/>
|
|
60
|
+
` : e.selected ? r`<pkt-icon name="check-big"></pkt-icon>` : p;
|
|
61
|
+
}
|
|
62
|
+
renderList() {
|
|
63
|
+
return r`
|
|
64
|
+
${k(
|
|
65
|
+
this._filteredOptions,
|
|
66
|
+
(e) => e.value,
|
|
67
|
+
(e, t) => r`
|
|
68
|
+
<li
|
|
69
|
+
@click=${() => {
|
|
70
|
+
this.toggleOption(e);
|
|
71
|
+
}}
|
|
72
|
+
aria-selected=${e.selected ? "true" : "false"}
|
|
73
|
+
@keydown=${this.handleOptionKeydown}
|
|
74
|
+
class=${d({
|
|
75
|
+
"pkt-listbox__option": !0,
|
|
76
|
+
"pkt-listbox__option--selected": !!(!this.isMultiSelect && e.selected),
|
|
77
|
+
"pkt-listbox__option--checkBox": this.isMultiSelect
|
|
78
|
+
})}
|
|
79
|
+
tabindex="${this.disabled || e.disabled ? "-1" : "0"}"
|
|
80
|
+
data-index=${t}
|
|
81
|
+
data-value=${e.value}
|
|
82
|
+
data-selected=${e.selected ? "true" : "false"}
|
|
83
|
+
?data-disabled=${this.disabled || e.disabled || this.maxIsReached && !e.selected}
|
|
84
|
+
role="option"
|
|
85
|
+
id=${`${this.id}-${t}`}
|
|
86
|
+
>
|
|
87
|
+
${this.renderCheckboxOrCheckIcon(e, t)}
|
|
88
|
+
<span class="pkt-listbox__option-label" id=${this.id + "-option-label-" + t}>
|
|
89
|
+
${e.prefix ? r`<span class="pkt-listbox__option-prefix">${e.prefix}</span>` : p}
|
|
90
|
+
${e.label || e.value}
|
|
91
|
+
</span>
|
|
92
|
+
${e.description ? r`<span class="pkt-listbox__option-description pkt-txt-14-light"
|
|
93
|
+
>${e.description}</span
|
|
94
|
+
>` : p}
|
|
95
|
+
</li>
|
|
96
|
+
`
|
|
97
|
+
)}
|
|
98
|
+
`;
|
|
99
|
+
}
|
|
100
|
+
renderNewOptionBanner() {
|
|
101
|
+
return this.allowUserInput && this.customUserInput ? r`
|
|
102
|
+
<div
|
|
103
|
+
class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
|
|
104
|
+
data-type="new-option"
|
|
105
|
+
data-value=${this.customUserInput}
|
|
106
|
+
data-selected="false"
|
|
107
|
+
tabindex="0"
|
|
108
|
+
@click=${() => this.toggleOption({
|
|
109
|
+
value: this.customUserInput || ""
|
|
110
|
+
})}
|
|
111
|
+
@keydown=${this.handleOptionKeydown}
|
|
112
|
+
>
|
|
113
|
+
<pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
|
|
114
|
+
Legg til “${this.customUserInput}”
|
|
115
|
+
</div>
|
|
116
|
+
` : p;
|
|
117
|
+
}
|
|
118
|
+
renderMaximumReachedBanner() {
|
|
119
|
+
return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ? r`
|
|
120
|
+
<div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
|
|
121
|
+
${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
|
|
122
|
+
</div>
|
|
123
|
+
` : p;
|
|
124
|
+
}
|
|
125
|
+
renderUserMessage() {
|
|
126
|
+
return this.userMessage ? r`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
|
|
127
|
+
<pkt-icon
|
|
128
|
+
class="pkt-listbox__banner-icon"
|
|
129
|
+
name="exclamation-mark-circle"
|
|
130
|
+
size="large"
|
|
131
|
+
></pkt-icon>
|
|
132
|
+
${this.userMessage}
|
|
133
|
+
</div>` : p;
|
|
134
|
+
}
|
|
135
|
+
renderSearch() {
|
|
136
|
+
return this.includeSearch ? r`
|
|
137
|
+
<div class="pkt-listbox__search">
|
|
138
|
+
<span class="pkt-listbox__search-icon">
|
|
139
|
+
<pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
|
|
140
|
+
</span>
|
|
141
|
+
<input
|
|
142
|
+
class="pkt-txt-16-light"
|
|
143
|
+
type="text"
|
|
144
|
+
aria-label="Søk i listen"
|
|
145
|
+
form=""
|
|
146
|
+
placeholder=${this.searchPlaceholder || b.forms.search.placeholder}
|
|
147
|
+
@input=${this.handleSearchInput}
|
|
148
|
+
@keydown=${this.handleSearchKeydown}
|
|
149
|
+
.value=${this.searchValue}
|
|
150
|
+
data-type="searchbox"
|
|
151
|
+
?disabled=${this.disabled}
|
|
152
|
+
?readonly=${this.disabled}
|
|
153
|
+
role="searchbox"
|
|
154
|
+
/>
|
|
155
|
+
</div>
|
|
156
|
+
` : p;
|
|
157
|
+
}
|
|
158
|
+
// Event handlers
|
|
159
|
+
handleSearchInput(e) {
|
|
160
|
+
this.searchValue = e.target.value, this.dispatchEvent(
|
|
161
|
+
new CustomEvent("search", {
|
|
162
|
+
detail: this.searchValue,
|
|
163
|
+
bubbles: !1
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
handleSearchKeydown(e) {
|
|
168
|
+
switch (e.key) {
|
|
169
|
+
case "Enter":
|
|
170
|
+
e.preventDefault();
|
|
171
|
+
break;
|
|
172
|
+
case "ArrowUp":
|
|
173
|
+
case "Escape":
|
|
174
|
+
this.closeOptions(), e.preventDefault();
|
|
175
|
+
break;
|
|
176
|
+
case "ArrowDown":
|
|
177
|
+
case "Tab":
|
|
178
|
+
this.focusFirstOrSelectedOption();
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
handleOptionKeydown(e) {
|
|
183
|
+
const t = e.currentTarget, s = t.dataset.value, o = t.dataset.type, n = t.dataset.selected === "true";
|
|
184
|
+
if (!(!this.getOptionElements().length && (!this.customUserInput || !this.allowUserInput && this.customUserInput) && o !== "new-option" && o !== "searchbox"))
|
|
185
|
+
switch (e.key) {
|
|
186
|
+
case " ":
|
|
187
|
+
case "Enter":
|
|
188
|
+
this.toggleOption(t), e.preventDefault();
|
|
189
|
+
break;
|
|
190
|
+
case "Backspace":
|
|
191
|
+
s && (n ? this.toggleOption(t) : this.closeOptions()), e.preventDefault();
|
|
192
|
+
break;
|
|
193
|
+
case "Escape":
|
|
194
|
+
case "Tab":
|
|
195
|
+
this.closeOptions();
|
|
196
|
+
break;
|
|
197
|
+
case "ArrowDown":
|
|
198
|
+
e.altKey ? this.focusLastOption() : o === "searchbox" || o === "new-option" ? this.focusFirstOption() : this.focusNextOption(t), e.preventDefault();
|
|
199
|
+
break;
|
|
200
|
+
case "ArrowUp":
|
|
201
|
+
if (e.altKey)
|
|
202
|
+
this.focusFirstOption();
|
|
203
|
+
else if (t.dataset.index === "0" && this.includeSearch) {
|
|
204
|
+
const c = this.querySelector('[role="searchbox"]');
|
|
205
|
+
c && c.focus();
|
|
206
|
+
} else if (t.dataset.index === "0" && this.customUserInput) {
|
|
207
|
+
const c = this.querySelector('[data-type="new-option"]');
|
|
208
|
+
c && c.focus();
|
|
209
|
+
} else
|
|
210
|
+
this.focusPreviousOption(t);
|
|
211
|
+
e.preventDefault();
|
|
212
|
+
break;
|
|
213
|
+
case "Home":
|
|
214
|
+
this.focusFirstOption(), e.preventDefault();
|
|
215
|
+
break;
|
|
216
|
+
case "End":
|
|
217
|
+
this.focusLastOption(), e.preventDefault();
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
(e.metaKey || e.ctrlKey) && e.key === "a" && (this.selectAll(), e.preventDefault()), this.isLetterOrSpace(e.key) && (this.handleTypeAhead(e.key), e.preventDefault());
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Focus management methods
|
|
225
|
+
focusAndScrollIntoView(e) {
|
|
226
|
+
e.scrollIntoView({ block: "nearest" }), window.setTimeout(() => e.focus(), 0);
|
|
227
|
+
}
|
|
228
|
+
focusNextOption(e) {
|
|
229
|
+
const t = e.nextElementSibling;
|
|
230
|
+
t && this.focusAndScrollIntoView(t);
|
|
231
|
+
}
|
|
232
|
+
focusPreviousOption(e) {
|
|
233
|
+
const t = e.previousElementSibling;
|
|
234
|
+
if (e.dataset.index === "0" && this.includeSearch) {
|
|
235
|
+
const s = this.querySelector('[role="searchbox"]');
|
|
236
|
+
s && this.focusAndScrollIntoView(s);
|
|
237
|
+
} else t && this.focusAndScrollIntoView(t);
|
|
238
|
+
}
|
|
239
|
+
focusFirstOption() {
|
|
240
|
+
const e = this.getOptionElements()[0];
|
|
241
|
+
e && this.focusAndScrollIntoView(e);
|
|
242
|
+
}
|
|
243
|
+
focusLastOption() {
|
|
244
|
+
const e = this.getOptionElements().pop();
|
|
245
|
+
e && this.focusAndScrollIntoView(e);
|
|
246
|
+
}
|
|
247
|
+
focusFirstOrSelectedOption() {
|
|
248
|
+
if (this.disabled) return;
|
|
249
|
+
const e = this.getOptionElements().find(
|
|
250
|
+
(t) => t.dataset.selected === "true"
|
|
251
|
+
);
|
|
252
|
+
if (this.allowUserInput && this.customUserInput) {
|
|
253
|
+
const t = this.querySelector('[data-type="new-option"]');
|
|
254
|
+
this.focusAndScrollIntoView(t);
|
|
255
|
+
} else if (e)
|
|
256
|
+
this.focusAndScrollIntoView(e);
|
|
257
|
+
else if (this.includeSearch && !(document.activeElement instanceof HTMLInputElement)) {
|
|
258
|
+
const t = this.querySelector('[role="searchbox"]');
|
|
259
|
+
window.setTimeout(() => t.focus(), 0);
|
|
260
|
+
} else
|
|
261
|
+
this.focusFirstOption();
|
|
262
|
+
}
|
|
263
|
+
// Event dispatching methods
|
|
264
|
+
toggleOption(e) {
|
|
265
|
+
const t = e instanceof HTMLElement ? e.dataset.disabled : e.disabled;
|
|
266
|
+
if (this.disabled || t) return;
|
|
267
|
+
const s = e instanceof HTMLElement ? e.dataset.value : e.value;
|
|
268
|
+
this.dispatchEvent(
|
|
269
|
+
new CustomEvent("option-toggle", {
|
|
270
|
+
detail: s,
|
|
271
|
+
bubbles: !1
|
|
272
|
+
})
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
selectAll() {
|
|
276
|
+
this.dispatchEvent(new CustomEvent("select-all", { bubbles: !1 }));
|
|
277
|
+
}
|
|
278
|
+
closeOptions() {
|
|
279
|
+
this.dispatchEvent(new CustomEvent("close-options", { bubbles: !1 }));
|
|
280
|
+
}
|
|
281
|
+
// Filtering and typeahead methods
|
|
282
|
+
filterOptions() {
|
|
283
|
+
this.searchValue ? this._filteredOptions = this.options.filter((e) => {
|
|
284
|
+
var s;
|
|
285
|
+
return (e.label + e.value).toLowerCase().includes(((s = this.searchValue) == null ? void 0 : s.toLowerCase()) || "");
|
|
286
|
+
}) : this._filteredOptions = [...this.options];
|
|
287
|
+
}
|
|
288
|
+
isLetterOrSpace(e) {
|
|
289
|
+
return /^[\p{L} ]$/u.test(e);
|
|
290
|
+
}
|
|
291
|
+
handleTypeAhead(e) {
|
|
292
|
+
this.typeAheadString += e.toLowerCase(), this.typeAheadTimeout && clearTimeout(this.typeAheadTimeout), this.typeAheadTimeout = window.setTimeout(() => {
|
|
293
|
+
this.typeAheadString = "";
|
|
294
|
+
}, 500);
|
|
295
|
+
const s = this.getOptionElements().find(
|
|
296
|
+
(o) => {
|
|
297
|
+
var n;
|
|
298
|
+
return (n = o.textContent) == null ? void 0 : n.trim().toLowerCase().startsWith(this.typeAheadString);
|
|
299
|
+
}
|
|
300
|
+
);
|
|
301
|
+
s && this.focusAndScrollIntoView(s);
|
|
302
|
+
}
|
|
303
|
+
// DOM helper methods
|
|
304
|
+
getOptionElements() {
|
|
305
|
+
return this._filteredOptions.length ? Array.from(
|
|
306
|
+
this.querySelectorAll('[role="option"]:not([data-disabled])') || []
|
|
307
|
+
) : [];
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
a([
|
|
311
|
+
l({ type: String })
|
|
312
|
+
], i.prototype, "id", 2);
|
|
313
|
+
a([
|
|
314
|
+
l({ type: String })
|
|
315
|
+
], i.prototype, "label", 2);
|
|
316
|
+
a([
|
|
317
|
+
l({ type: Array })
|
|
318
|
+
], i.prototype, "options", 2);
|
|
319
|
+
a([
|
|
320
|
+
l({ type: Boolean, reflect: !0 })
|
|
321
|
+
], i.prototype, "isOpen", 2);
|
|
322
|
+
a([
|
|
323
|
+
l({ type: Boolean })
|
|
324
|
+
], i.prototype, "disabled", 2);
|
|
325
|
+
a([
|
|
326
|
+
l({ type: Boolean })
|
|
327
|
+
], i.prototype, "includeSearch", 2);
|
|
328
|
+
a([
|
|
329
|
+
l({ type: Boolean })
|
|
330
|
+
], i.prototype, "isMultiSelect", 2);
|
|
331
|
+
a([
|
|
332
|
+
l({ type: Boolean })
|
|
333
|
+
], i.prototype, "allowUserInput", 2);
|
|
334
|
+
a([
|
|
335
|
+
l({ type: Boolean })
|
|
336
|
+
], i.prototype, "maxIsReached", 2);
|
|
337
|
+
a([
|
|
338
|
+
l({ type: String })
|
|
339
|
+
], i.prototype, "customUserInput", 2);
|
|
340
|
+
a([
|
|
341
|
+
l({ type: String })
|
|
342
|
+
], i.prototype, "searchPlaceholder", 2);
|
|
343
|
+
a([
|
|
344
|
+
l({ type: String })
|
|
345
|
+
], i.prototype, "searchValue", 2);
|
|
346
|
+
a([
|
|
347
|
+
l({ type: Number })
|
|
348
|
+
], i.prototype, "maxLength", 2);
|
|
349
|
+
a([
|
|
350
|
+
l({ type: String })
|
|
351
|
+
], i.prototype, "userMessage", 2);
|
|
352
|
+
a([
|
|
353
|
+
m()
|
|
354
|
+
], i.prototype, "_filteredOptions", 2);
|
|
355
|
+
i = a([
|
|
356
|
+
f("pkt-listbox")
|
|
357
|
+
], i);
|
|
358
|
+
export {
|
|
359
|
+
i as P
|
|
360
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export { }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Pkt Select is a wrapper for the native select element using the pkt-input-wrapper component.
|
|
6
|
+
*
|
|
7
|
+
* The component will prioritize options passed as a prop over options passed as children if both are provided.
|
|
8
|
+
* This is to allow for dynamic options that might change in the case of both children/slot and props are provided.
|
|
9
|
+
*
|
|
10
|
+
* @slot (default) - Options to be rendered as children
|
|
11
|
+
* @prop {TSelectOption[]} options - Options to be rendered as children
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'pkt-select': PktSelect & HTMLSelectElement;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
declare global {
|
|
23
|
+
interface HTMLElementTagNameMap {
|
|
24
|
+
'pkt-combobox': PktCombobox & HTMLSelectElement;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
declare global {
|
|
30
|
+
interface HTMLElementTagNameMap {
|
|
31
|
+
'pkt-icon': PktIcon;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'pkt-listbox': PktListbox;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
declare global {
|
|
44
|
+
interface Window {
|
|
45
|
+
pktTz: string;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as u, x as d, E as y, n as o, a as c } from "./element-
|
|
2
|
-
import { e as h } from "./class-map-
|
|
3
|
-
import { r as m } from "./state-
|
|
4
|
-
import { e as f, n as v } from "./ref-
|
|
5
|
-
import { P as _ } from "./pkt-slot-controller-
|
|
6
|
-
import "./icon-
|
|
1
|
+
import { P as u, x as d, E as y, n as o, a as c } from "./element-G8JoS0Lj.js";
|
|
2
|
+
import { e as h } from "./class-map-ChuDQU5C.js";
|
|
3
|
+
import { r as m } from "./state-gfUuUqVg.js";
|
|
4
|
+
import { e as f, n as v } from "./ref-cRTOoM4R.js";
|
|
5
|
+
import { P as _ } from "./pkt-slot-controller-D1DakVrU.js";
|
|
6
|
+
import "./icon-BJnwW0eh.js";
|
|
7
7
|
var g = Object.defineProperty, L = Object.getOwnPropertyDescriptor, s = (e, a, l, r) => {
|
|
8
8
|
for (var i = r > 1 ? void 0 : r ? L(a, l) : a, p = e.length - 1, n; p >= 0; p--)
|
|
9
9
|
(n = e[p]) && (i = (r ? n(a, l, i) : n(i)) || i);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("./element-
|
|
1
|
+
"use strict";const e=require("./element-BBo3JZk5.cjs"),d=require("./class-map-D4rXyUxT.cjs"),u=require("./state-BILlRnrD.cjs"),p=require("./ref-DsoUUoPU.cjs"),h=require("./pkt-slot-controller-CqNvEpFd.cjs");require("./icon-BTUCDPN5.cjs");var c=Object.defineProperty,y=Object.getOwnPropertyDescriptor,s=(o,t,r,i)=>{for(var a=i>1?void 0:i?y(t,r):t,l=o.length-1,n;l>=0;l--)(n=o[l])&&(a=(i?n(t,r,a):n(a))||a);return i&&a&&c(t,r,a),a};exports.PktLoader=class extends e.PktElement{constructor(){super(),this.defaultSlot=p.e(),this.delay=0,this.inline=!1,this.isLoading=!0,this.message=null,this.size="medium",this.variant="shapes",this._shouldDisplayLoader=!1,this.slotController=new h.PktSlotController(this,this.defaultSlot)}connectedCallback(){super.connectedCallback(),this._shouldDisplayLoader=this.delay===0,this.delay>0&&this.setupLoader()}updated(t){t.has("delay")&&this.setupLoader()}render(){const t=d.e({"pkt-loader":!0,[`pkt-loader--${this.inline?"inline":"box"}`]:!0,[`pkt-loader--${this.size}`]:!0}),r=d.e({"pkt-contents":!0,"pkt-hide":this.isLoading});return e.x`<div role="status" aria-live="polite" .aria-busy=${this.isLoading} class=${t}>
|
|
2
2
|
${this.isLoading&&this._shouldDisplayLoader?e.x`<div class="pkt-loader__spinner">
|
|
3
3
|
<pkt-icon
|
|
4
4
|
name=${this.getVariant(this.variant)}
|
package/dist/loader.d.ts
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
export { }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Pkt Select is a wrapper for the native select element using the pkt-input-wrapper component.
|
|
6
|
+
*
|
|
7
|
+
* The component will prioritize options passed as a prop over options passed as children if both are provided.
|
|
8
|
+
* This is to allow for dynamic options that might change in the case of both children/slot and props are provided.
|
|
9
|
+
*
|
|
10
|
+
* @slot (default) - Options to be rendered as children
|
|
11
|
+
* @prop {TSelectOption[]} options - Options to be rendered as children
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'pkt-select': PktSelect & HTMLSelectElement;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
declare global {
|
|
23
|
+
interface HTMLElementTagNameMap {
|
|
24
|
+
'pkt-combobox': PktCombobox & HTMLSelectElement;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
4
29
|
declare global {
|
|
5
30
|
interface HTMLElementTagNameMap {
|
|
6
31
|
'pkt-icon': PktIcon;
|
|
@@ -8,6 +33,13 @@ declare global {
|
|
|
8
33
|
}
|
|
9
34
|
|
|
10
35
|
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'pkt-listbox': PktListbox;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
11
43
|
declare global {
|
|
12
44
|
interface Window {
|
|
13
45
|
pktTz: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const s=require("./element-
|
|
1
|
+
"use strict";const s=require("./element-BBo3JZk5.cjs"),b=require("./pkt-slot-controller-CqNvEpFd.cjs"),c=require("./ref-DsoUUoPU.cjs"),d=require("./class-map-D4rXyUxT.cjs"),k=require("./state-BILlRnrD.cjs");require("./icon-BTUCDPN5.cjs");const u=require("./classutils-BwNK82ZQ.cjs"),m="pkt-messagebox",g=!0,h={onClose:{description:"React: Event som trigges når meldingsboksen lukkes"},"on-close":{description:"Vue: Event som trigges når meldingsboksen lukkes"}},f={title:{name:"Tittel",description:"Tittelen på meldingsboksen",type:"string"},skin:{name:"Utseende",description:"Velg farge på meldingsboksen",type:["beige","blue","red","green"],default:"beige"},compact:{name:"Kompakt",description:"Gjør meldingsboksen mindre",type:"boolean",default:!1},closable:{name:"Kan lukkes",description:"Viser lukkeknapp",type:"boolean",default:!1}},x={default:{description:"Innholdet i meldingsboksen"}},p={name:m,"css-class":"pkt-messagebox",isElement:g,events:h,props:f,slots:x};var v=Object.defineProperty,_=Object.getOwnPropertyDescriptor,o=(i,e,n,l)=>{for(var t=l>1?void 0:l?_(e,n):e,a=i.length-1,r;a>=0;a--)(r=i[a])&&(t=(l?r(e,n,t):r(t))||t);return l&&t&&v(e,n,t),t};exports.PktMessagebox=class extends s.PktElement{constructor(){super(),this.defaultSlot=c.e(),this.closable=p.props.closable.default,this.compact=p.props.compact.default,this.title="",this.skin=p.props.skin.default,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0})),this.dispatchEvent(new CustomEvent("on-close",{detail:{origin:e},bubbles:!0}))},this.slotController=new b.PktSlotController(this,this.defaultSlot),this._isClosed=!1}updated(e){super.updated(e),e.has("_isClosed")&&u.updateClassAttribute(this,"pkt-hide",this._isClosed)}render(){const e={"pkt-messagebox":!0,"pkt-messagebox--compact":this.compact,[`pkt-messagebox--${this.skin}`]:this.skin,"pkt-messagebox--closable":this.closable,"pkt-hide":this._isClosed};return s.x`<div class=${d.e(e)}>
|
|
2
2
|
${this.closable?s.x`<div class="pkt-messagebox__close">
|
|
3
3
|
<button
|
|
4
4
|
@click=${this.close}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as b, x as c, E as m, n, a as u } from "./element-
|
|
2
|
-
import { P as k } from "./pkt-slot-controller-
|
|
3
|
-
import { e as h, n as f } from "./ref-
|
|
4
|
-
import { e as g } from "./class-map-
|
|
5
|
-
import { r as v } from "./state-
|
|
6
|
-
import "./icon-
|
|
1
|
+
import { P as b, x as c, E as m, n, a as u } from "./element-G8JoS0Lj.js";
|
|
2
|
+
import { P as k } from "./pkt-slot-controller-D1DakVrU.js";
|
|
3
|
+
import { e as h, n as f } from "./ref-cRTOoM4R.js";
|
|
4
|
+
import { e as g } from "./class-map-ChuDQU5C.js";
|
|
5
|
+
import { r as v } from "./state-gfUuUqVg.js";
|
|
6
|
+
import "./icon-BJnwW0eh.js";
|
|
7
7
|
import { u as _ } from "./classutils-RQs1k6D9.js";
|
|
8
8
|
const x = "pkt-messagebox", y = !0, C = {
|
|
9
9
|
onClose: {
|
package/dist/messagebox.d.ts
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
export { }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Pkt Select is a wrapper for the native select element using the pkt-input-wrapper component.
|
|
6
|
+
*
|
|
7
|
+
* The component will prioritize options passed as a prop over options passed as children if both are provided.
|
|
8
|
+
* This is to allow for dynamic options that might change in the case of both children/slot and props are provided.
|
|
9
|
+
*
|
|
10
|
+
* @slot (default) - Options to be rendered as children
|
|
11
|
+
* @prop {TSelectOption[]} options - Options to be rendered as children
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'pkt-select': PktSelect & HTMLSelectElement;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
declare global {
|
|
23
|
+
interface HTMLElementTagNameMap {
|
|
24
|
+
'pkt-combobox': PktCombobox & HTMLSelectElement;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
4
29
|
declare global {
|
|
5
30
|
interface HTMLElementTagNameMap {
|
|
6
31
|
'pkt-icon': PktIcon;
|
|
@@ -8,6 +33,13 @@ declare global {
|
|
|
8
33
|
}
|
|
9
34
|
|
|
10
35
|
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'pkt-listbox': PktListbox;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
11
43
|
declare global {
|
|
12
44
|
interface Window {
|
|
13
45
|
pktTz: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const d=require("./class-map-
|
|
1
|
+
"use strict";const d=require("./class-map-D4rXyUxT.cjs"),s=require("./element-BBo3JZk5.cjs"),k=require("./state-BILlRnrD.cjs"),m=require("./pkt-slot-controller-CqNvEpFd.cjs"),r=require("./ref-DsoUUoPU.cjs");require("./icon-BTUCDPN5.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
2
|
<dialog
|
|
3
3
|
class=${d.e(e)}
|
|
4
4
|
${r.n(this.dialogRef)}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { e as c } from "./class-map-
|
|
2
|
-
import { P as f, x as p, E as k, n as r, a as g } from "./element-
|
|
3
|
-
import { r as v } from "./state-
|
|
4
|
-
import { P as b } from "./pkt-slot-controller-
|
|
5
|
-
import { e as m, n as h } from "./ref-
|
|
6
|
-
import "./icon-
|
|
1
|
+
import { e as c } from "./class-map-ChuDQU5C.js";
|
|
2
|
+
import { P as f, x as p, E as k, n as r, a as g } from "./element-G8JoS0Lj.js";
|
|
3
|
+
import { r as v } from "./state-gfUuUqVg.js";
|
|
4
|
+
import { P as b } from "./pkt-slot-controller-D1DakVrU.js";
|
|
5
|
+
import { e as m, n as h } from "./ref-cRTOoM4R.js";
|
|
6
|
+
import "./icon-BJnwW0eh.js";
|
|
7
7
|
const y = "pkt-modal", _ = !0, C = {
|
|
8
8
|
"background-click": {
|
|
9
9
|
description: "Event som trigges når bakgrunnen trykkes på"
|
package/dist/modal.d.ts
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
export { }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Pkt Select is a wrapper for the native select element using the pkt-input-wrapper component.
|
|
6
|
+
*
|
|
7
|
+
* The component will prioritize options passed as a prop over options passed as children if both are provided.
|
|
8
|
+
* This is to allow for dynamic options that might change in the case of both children/slot and props are provided.
|
|
9
|
+
*
|
|
10
|
+
* @slot (default) - Options to be rendered as children
|
|
11
|
+
* @prop {TSelectOption[]} options - Options to be rendered as children
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'pkt-select': PktSelect & HTMLSelectElement;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
declare global {
|
|
23
|
+
interface HTMLElementTagNameMap {
|
|
24
|
+
'pkt-combobox': PktCombobox & HTMLSelectElement;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
4
29
|
declare global {
|
|
5
30
|
interface HTMLElementTagNameMap {
|
|
6
31
|
'pkt-icon': PktIcon;
|
|
@@ -8,6 +33,13 @@ declare global {
|
|
|
8
33
|
}
|
|
9
34
|
|
|
10
35
|
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'pkt-listbox': PktListbox;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
11
43
|
declare global {
|
|
12
44
|
interface Window {
|
|
13
45
|
pktTz: string;
|
package/dist/pkt-alert.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./alert-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./alert-D5G5UJuo.cjs"),t=e.PktAlert;Object.defineProperty(exports,"PktAlert",{enumerable:!0,get:()=>e.PktAlert});exports.default=t;
|
package/dist/pkt-alert.js
CHANGED
package/dist/pkt-backlink.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./backlink-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./backlink-Q2HTG9jm.cjs"),t=e.PktBackLink;Object.defineProperty(exports,"PktBackLink",{enumerable:!0,get:()=>e.PktBackLink});exports.default=t;
|
package/dist/pkt-backlink.js
CHANGED