lintje 0.1.1 → 0.2.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-elements/actions.js +1 -1
- package/dist-elements/charts.js +1 -1
- package/dist-elements/chunks/{base-rBLTcEIv.js → base-Bg-IFOPG.js} +134 -105
- package/dist-elements/chunks/{date-format-B5DPGjAw.js → date-format-mHtZyBys.js} +28 -2
- package/dist-elements/chunks/disclosure-BXTX04gM.js +4 -0
- package/dist-elements/chunks/{disclosure-CHasOudX.js → disclosure-CMXhX-Vb.js} +7 -7
- package/dist-elements/chunks/download-y528pIHP.js +230 -0
- package/dist-elements/chunks/{focus-trap-w3vCamJ6.js → focus-trap-9BnE-xWv.js} +1 -1
- package/dist-elements/chunks/{input-jQVTln7H.js → input-BtuNFSWk.js} +13 -13
- package/dist-elements/chunks/{player-Bq9YGnpt.js → player-DXOZEyEy.js} +24 -24
- package/dist-elements/chunks/{sentence-CLNJOeXz.js → sentence-BI3lwEuT.js} +3 -3
- package/dist-elements/chunks/{stagger-9hYzxhMG.js → stagger-qGD3wmhg.js} +145 -123
- package/dist-elements/core.js +1 -1
- package/dist-elements/custom-elements.json +436 -26
- package/dist-elements/feedback.js +1 -1
- package/dist-elements/guides/dashboard.md +1 -1
- package/dist-elements/guides/events.md +3 -2
- package/dist-elements/guides/loading.md +3 -3
- package/dist-elements/guides/start.md +1 -1
- package/dist-elements/inputs.js +1 -0
- package/dist-elements/layout.js +1 -1
- package/dist-elements/lintje.js +22659 -22216
- package/dist-elements/map.js +1 -1
- package/dist-elements/overlays.js +1 -1
- package/dist-elements/tag/activity-log.js +11 -11
- package/dist-elements/tag/ai-label.js +7 -7
- package/dist-elements/tag/announcement.js +19 -19
- package/dist-elements/tag/app-search.js +21 -21
- package/dist-elements/tag/audio-player.js +34 -34
- package/dist-elements/tag/badge.js +1 -1
- package/dist-elements/tag/breadcrumbs.js +11 -11
- package/dist-elements/tag/button.js +1 -1
- package/dist-elements/tag/card-list.js +1 -1
- package/dist-elements/tag/card.js +25 -25
- package/dist-elements/tag/chart.d.ts +1 -0
- package/dist-elements/tag/chart.js +1868 -0
- package/dist-elements/tag/chat-answer.js +28 -28
- package/dist-elements/tag/chat-composer.js +20 -20
- package/dist-elements/tag/chat-message.js +9 -9
- package/dist-elements/tag/chat-strip.js +16 -16
- package/dist-elements/tag/chat-suggestions.js +1 -1
- package/dist-elements/tag/chat.js +27 -27
- package/dist-elements/tag/checkbox.js +6 -6
- package/dist-elements/tag/code.js +8 -8
- package/dist-elements/tag/combobox.js +13 -13
- package/dist-elements/tag/confirm-dialog.js +6 -6
- package/dist-elements/tag/conflict-alert.js +5 -5
- package/dist-elements/tag/copy-button.js +7 -7
- package/dist-elements/tag/data-table.js +179 -179
- package/dist-elements/tag/date-input.js +34 -42
- package/dist-elements/tag/date-range.js +33 -33
- package/dist-elements/tag/description-list.js +20 -20
- package/dist-elements/tag/document-viewer.js +19 -19
- package/dist-elements/tag/drawer.js +7 -7
- package/dist-elements/tag/empty-state.js +11 -11
- package/dist-elements/tag/error-summary.js +8 -8
- package/dist-elements/tag/expander.js +7 -7
- package/dist-elements/tag/explainer.js +9 -9
- package/dist-elements/tag/field.js +4 -4
- package/dist-elements/tag/file-upload.js +20 -20
- package/dist-elements/tag/filter-bar.js +35 -35
- package/dist-elements/tag/filter-sheet.js +6 -6
- package/dist-elements/tag/filter-zone.js +21 -21
- package/dist-elements/tag/footer.js +1 -1
- package/dist-elements/tag/form-actions.js +7 -7
- package/dist-elements/tag/form-section.js +3 -3
- package/dist-elements/tag/form.js +4 -4
- package/dist-elements/tag/gallery.js +6 -6
- package/dist-elements/tag/grid-item.js +1 -1
- package/dist-elements/tag/grid.js +1 -1
- package/dist-elements/tag/hero.js +6 -6
- package/dist-elements/tag/highlight.js +6 -6
- package/dist-elements/tag/icon-button.js +1 -1
- package/dist-elements/tag/icon.js +1 -1
- package/dist-elements/tag/job-list.js +6 -6
- package/dist-elements/tag/kpi-row.js +7 -5
- package/dist-elements/tag/kpi.js +259 -69
- package/dist-elements/tag/level-meter.js +5 -5
- package/dist-elements/tag/list.js +28 -28
- package/dist-elements/tag/logo.js +9 -9
- package/dist-elements/tag/map.d.ts +1 -0
- package/dist-elements/tag/map.js +21910 -0
- package/dist-elements/tag/menu-button.js +48 -47
- package/dist-elements/tag/modal.js +9 -9
- package/dist-elements/tag/multiselect.js +18 -18
- package/dist-elements/tag/note.js +4 -4
- package/dist-elements/tag/notifications.js +24 -24
- package/dist-elements/tag/number-input.js +8 -8
- package/dist-elements/tag/page-header.js +13 -13
- package/dist-elements/tag/pagination.js +27 -27
- package/dist-elements/tag/popover.js +1 -1
- package/dist-elements/tag/progress-bar.js +1 -1
- package/dist-elements/tag/prose.js +4 -4
- package/dist-elements/tag/qr-code.js +6 -6
- package/dist-elements/tag/radio-group.js +7 -7
- package/dist-elements/tag/range.js +13 -13
- package/dist-elements/tag/recording-status.js +8 -8
- package/dist-elements/tag/repeater.js +1 -1
- package/dist-elements/tag/segmented.js +7 -7
- package/dist-elements/tag/select.js +6 -6
- package/dist-elements/tag/session-expiry.js +13 -13
- package/dist-elements/tag/shell.js +168 -168
- package/dist-elements/tag/shortcuts.js +8 -8
- package/dist-elements/tag/skeleton.js +1 -1
- package/dist-elements/tag/slot-picker.d.ts +1 -0
- package/dist-elements/tag/slot-picker.js +74 -0
- package/dist-elements/tag/sortable-list.js +11 -11
- package/dist-elements/tag/spinner.js +1 -1
- package/dist-elements/tag/split-pane.js +4 -4
- package/dist-elements/tag/status-dot.js +1 -1
- package/dist-elements/tag/stepper.js +13 -13
- package/dist-elements/tag/streaming-text.js +15 -15
- package/dist-elements/tag/sub-nav.js +26 -26
- package/dist-elements/tag/tabs.js +13 -13
- package/dist-elements/tag/tag-input.js +14 -14
- package/dist-elements/tag/text-editor.js +7 -7
- package/dist-elements/tag/text-input.js +10 -10
- package/dist-elements/tag/textarea.js +6 -6
- package/dist-elements/tag/tile.js +1 -1
- package/dist-elements/tag/time-input.js +136 -42
- package/dist-elements/tag/toast.js +10 -10
- package/dist-elements/tag/toggle.js +6 -6
- package/dist-elements/tag/toggletip.js +11 -11
- package/dist-elements/tag/tooltip.js +1 -1
- package/dist-elements/tag/transcript.js +31 -31
- package/dist-elements/tag/translator.js +7 -7
- package/dist-elements/tag/tree-view.js +12 -12
- package/dist-elements/tag/user-menu.js +31 -30
- package/dist-elements/tag/video-player.js +13 -13
- package/dist-elements/tokens.css +2 -0
- package/dist-elements/types/bundle/charts.d.ts +1 -1
- package/dist-elements/types/bundle/index.d.ts +1 -1
- package/dist-elements/types/bundle/inputs.d.ts +1 -0
- package/dist-elements/types/bundle/map.d.ts +1 -1
- package/dist-elements/types/components/charts/{chart-tile/chart-tile.d.ts → chart/chart.d.ts} +7 -7
- package/dist-elements/types/components/charts/kpi/gauge.d.ts +18 -0
- package/dist-elements/types/components/charts/kpi/kpi.d.ts +28 -3
- package/dist-elements/types/components/chat/chat-answer/chat-answer.d.ts +1 -1
- package/dist-elements/types/components/index.d.ts +8 -5
- package/dist-elements/types/components/inputs/date-input/date-format.d.ts +4 -0
- package/dist-elements/types/components/inputs/slot-picker/slot-picker.d.ts +41 -0
- package/dist-elements/types/components/inputs/time-input/time-format.d.ts +4 -0
- package/dist-elements/types/components/inputs/time-input/time-input.d.ts +25 -6
- package/dist-elements/types/components/map/{map-tile/map-tile.d.ts → map/map.d.ts} +10 -6
- package/dist-elements/types/components/shared/charts/histogram-chart/histogram-chart.d.ts +33 -0
- package/dist-elements/types/components/shared/charts/index.d.ts +3 -1
- package/dist-elements/types/components/shared/charts/map-chart/area.d.ts +16 -0
- package/dist-elements/types/components/shared/charts/map-chart/drawings.d.ts +6 -2
- package/dist-elements/types/components/shared/charts/map-chart/geo.d.ts +6 -0
- package/dist-elements/types/components/shared/charts/map-chart/leaflet.d.ts +40 -2
- package/dist-elements/types/components/shared/charts/map-chart/map-chart.d.ts +17 -3
- package/dist-elements/types/components/shared/charts/map-chart/map-legend.d.ts +26 -0
- package/dist-elements/types/components/shared/charts/map-chart/marks.d.ts +47 -0
- package/dist-elements/types/components/shared/charts/map-chart/reveal.d.ts +1 -1
- package/dist-elements/types/components/shared/charts/scatter-chart/scatter-chart.d.ts +29 -0
- package/dist-elements/types/components/shared/charts/shared/axes.d.ts +21 -4
- package/dist-elements/types/components/shared/charts/shared/chart-icons.d.ts +4 -3
- package/dist-elements/types/components/shared/charts/shared/controller.d.ts +27 -15
- package/dist-elements/types/components/shared/charts/shared/types.d.ts +112 -6
- package/dist-elements/types/core/format.d.ts +5 -2
- package/dist-elements/types/icons/register.d.ts +1 -1
- package/dist-elements/types/primitives/shared/place.d.ts +1 -1
- package/dist-elements/types/primitives/tooltip/tooltip.d.ts +2 -0
- package/dist-elements/types/types.d.ts +37 -7
- package/dist-icons/functioneel-cirkelselectie.svg +1 -0
- package/dist-icons/functioneel-lasso.svg +1 -0
- package/dist-icons/functioneel-punaise-outline.svg +1 -0
- package/dist-icons/functioneel-punaise.svg +1 -0
- package/dist-icons/functioneel-rechthoekselectie.svg +1 -0
- package/dist-icons/functioneel-selectie.svg +1 -0
- package/package.json +1 -1
- package/dist-elements/chunks/disclosure-Z7Ny17sS.js +0 -4
- package/dist-elements/chunks/download-lFooAfD1.js +0 -226
- package/dist-elements/tag/chart-tile.d.ts +0 -1
- package/dist-elements/tag/chart-tile.js +0 -1474
- package/dist-elements/tag/map-tile.d.ts +0 -1
- package/dist-elements/tag/map-tile.js +0 -22292
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as e, A as t, Bt as n, Gt as r, H as i, Ht as a, I as o, It as s,
|
|
1
|
+
import { $ as e, A as t, Bt as n, Gt as r, H as i, Ht as a, I as o, It as s, Lt as c, Nt as l, Ot as u, Pt as d, Rt as ee, Tt as te, U as f, W as p, X as m, Y as ne, Z as h, et as g, qt as _, zt as v } from "../chunks/base-Bg-IFOPG.js";
|
|
2
2
|
import "./logo.js";
|
|
3
|
-
import { n as y, r as re, t as b } from "../chunks/focus-trap-
|
|
3
|
+
import { n as y, r as re, t as b } from "../chunks/focus-trap-9BnE-xWv.js";
|
|
4
4
|
import "./toast.js";
|
|
5
5
|
import "./qr-code.js";
|
|
6
6
|
import { t as ie } from "../chunks/dialog-close-u75fVEw4.js";
|
|
@@ -14,7 +14,7 @@ var x = {
|
|
|
14
14
|
phone: 40
|
|
15
15
|
};
|
|
16
16
|
function oe(e) {
|
|
17
|
-
let { logo: t, emblem: n, ribbon: i, environment: a, home: s } = e,
|
|
17
|
+
let { logo: t, emblem: n, ribbon: i, environment: a, home: s } = e, c = _`<lintje-logo
|
|
18
18
|
full
|
|
19
19
|
width=${i}
|
|
20
20
|
src=${t ?? r}
|
|
@@ -22,8 +22,8 @@ function oe(e) {
|
|
|
22
22
|
alt=${n?.label ?? r}
|
|
23
23
|
byline=${n?.byline ?? r}
|
|
24
24
|
></lintje-logo>`;
|
|
25
|
-
return
|
|
26
|
-
${s ?
|
|
25
|
+
return _`<div class="lintje-logobar">
|
|
26
|
+
${s ? _`<a
|
|
27
27
|
class="lintje-logobar__home focus-inset"
|
|
28
28
|
href=${s.href}
|
|
29
29
|
aria-label="Naar de startpagina"
|
|
@@ -31,9 +31,9 @@ function oe(e) {
|
|
|
31
31
|
@click=${(e) => {
|
|
32
32
|
o(e) && s.onNavigate(e);
|
|
33
33
|
}}
|
|
34
|
-
>${
|
|
35
|
-
>` :
|
|
36
|
-
${a ?
|
|
34
|
+
>${c}</a
|
|
35
|
+
>` : c}
|
|
36
|
+
${a ? _`<p class="lintje-logobar__environment" title=${a}>
|
|
37
37
|
<span class="lintje-logobar__environment-label">${a}</span>
|
|
38
38
|
<span class="lintje-logobar__environment-short" aria-hidden="true"
|
|
39
39
|
>${a.slice(0, 3)}</span
|
|
@@ -43,7 +43,7 @@ function oe(e) {
|
|
|
43
43
|
}
|
|
44
44
|
var S = (e) => !!e.href && !e.noAccess;
|
|
45
45
|
function C(e) {
|
|
46
|
-
return
|
|
46
|
+
return _`<span class="visually-hidden"
|
|
47
47
|
>${e.noAccess ? ", geen toegang" : ", niet beschikbaar"}</span
|
|
48
48
|
>`;
|
|
49
49
|
}
|
|
@@ -52,7 +52,7 @@ function w(e, t, n) {
|
|
|
52
52
|
}
|
|
53
53
|
function se(e) {
|
|
54
54
|
let t = e.badge;
|
|
55
|
-
return t ?
|
|
55
|
+
return t ? m({
|
|
56
56
|
value: t.value,
|
|
57
57
|
variant: t.tone === "new" ? "label" : t.tone === "action" ? "unread" : "count",
|
|
58
58
|
label: t.label,
|
|
@@ -60,12 +60,12 @@ function se(e) {
|
|
|
60
60
|
}) : r;
|
|
61
61
|
}
|
|
62
62
|
function ce(e, t) {
|
|
63
|
-
if (!S(t)) return
|
|
63
|
+
if (!S(t)) return _`<span class="lintje-navbar__entry is-unavailable" aria-disabled="true"
|
|
64
64
|
>${t.label}${C(t)}</span
|
|
65
65
|
>`;
|
|
66
66
|
let n = !!t.active;
|
|
67
|
-
return
|
|
68
|
-
class=${
|
|
67
|
+
return _`<a
|
|
68
|
+
class=${h({
|
|
69
69
|
"lintje-navbar__entry": !0,
|
|
70
70
|
"focus-inset": !0,
|
|
71
71
|
"is-active": n
|
|
@@ -77,23 +77,23 @@ function ce(e, t) {
|
|
|
77
77
|
>`;
|
|
78
78
|
}
|
|
79
79
|
function le(e, t) {
|
|
80
|
-
let n =
|
|
80
|
+
let n = _`${g(t.icon, {
|
|
81
81
|
size: 20,
|
|
82
82
|
src: t.iconSrc
|
|
83
83
|
})}
|
|
84
84
|
<span class="lintje-navbar__page-text">
|
|
85
85
|
<span class="lintje-navbar__label">${t.label}</span>
|
|
86
|
-
${t.metric ?
|
|
86
|
+
${t.metric ? _`<span class="lintje-navbar__metric"
|
|
87
87
|
><span class="lintje-navbar__metric-value">${t.metric.value}</span> ${t.metric.label}</span
|
|
88
88
|
>` : r}
|
|
89
89
|
</span>
|
|
90
|
-
${t.noAccess ?
|
|
90
|
+
${t.noAccess ? g("gebruiksvoorwerpen-hangslot-dicht", {
|
|
91
91
|
size: 16,
|
|
92
92
|
label: "Geen toegang"
|
|
93
93
|
}) : S(t) ? r : C(t)}
|
|
94
94
|
${se(t)}`;
|
|
95
|
-
if (!S(t)) return
|
|
96
|
-
class=${
|
|
95
|
+
if (!S(t)) return _`<span
|
|
96
|
+
class=${h({
|
|
97
97
|
"lintje-navbar__page": !0,
|
|
98
98
|
"is-unavailable": !0,
|
|
99
99
|
"is-no-access": !!t.noAccess
|
|
@@ -102,8 +102,8 @@ function le(e, t) {
|
|
|
102
102
|
>${n}</span
|
|
103
103
|
>`;
|
|
104
104
|
let i = !!t.active;
|
|
105
|
-
return
|
|
106
|
-
class=${
|
|
105
|
+
return _`<a
|
|
106
|
+
class=${h({
|
|
107
107
|
"lintje-navbar__page": !0,
|
|
108
108
|
"is-active": i
|
|
109
109
|
})}
|
|
@@ -114,38 +114,38 @@ function le(e, t) {
|
|
|
114
114
|
>`;
|
|
115
115
|
}
|
|
116
116
|
function T(e, t, n, i, a, o, s = {}) {
|
|
117
|
-
let
|
|
118
|
-
return
|
|
117
|
+
let c = e.open === t, l = t === -1, u = `${n}-entry`;
|
|
118
|
+
return _`<div class="lintje-navbar__group">
|
|
119
119
|
<button
|
|
120
120
|
type="button"
|
|
121
|
-
id=${
|
|
122
|
-
class=${
|
|
121
|
+
id=${u}
|
|
122
|
+
class=${h({
|
|
123
123
|
"lintje-navbar__entry": !0,
|
|
124
124
|
"lintje-navbar__entry--group": !0,
|
|
125
125
|
"focus-inset": !0,
|
|
126
126
|
"is-active": a,
|
|
127
|
-
"is-open":
|
|
127
|
+
"is-open": c,
|
|
128
128
|
...s
|
|
129
129
|
})}
|
|
130
|
-
aria-expanded=${String(
|
|
130
|
+
aria-expanded=${String(c)}
|
|
131
131
|
aria-controls=${n}
|
|
132
132
|
@click=${(n) => {
|
|
133
|
-
e.onOpen(
|
|
133
|
+
e.onOpen(c && (l || n.detail === 0) ? null : t);
|
|
134
134
|
}}
|
|
135
|
-
@mouseenter=${
|
|
135
|
+
@mouseenter=${l ? r : () => e.onOpen(t)}
|
|
136
136
|
>
|
|
137
|
-
${
|
|
138
|
-
${
|
|
137
|
+
${l ? c ? _`<span class="lintje-navbar__label">Sluiten</span>${g("functioneel-kruis", { size: 16 })}` : _`${g("functioneel-menu", { size: 16 })}<span class="lintje-navbar__label">${i}</span>` : _`<span class="lintje-navbar__label">${i}</span>
|
|
138
|
+
${g("functioneel-delta-omlaag", {
|
|
139
139
|
size: 16,
|
|
140
|
-
rotate:
|
|
140
|
+
rotate: c ? 180 : void 0
|
|
141
141
|
})}`}
|
|
142
142
|
</button>
|
|
143
|
-
${
|
|
143
|
+
${c ? _`<div id=${n} class="lintje-navbar__submenu">${o(u)}</div>` : r}
|
|
144
144
|
</div>`;
|
|
145
145
|
}
|
|
146
146
|
function E(e, t, n) {
|
|
147
|
-
return
|
|
148
|
-
${t.map((t) =>
|
|
147
|
+
return _`<ul class="lintje-navbar__pages" aria-labelledby=${n}>
|
|
148
|
+
${t.map((t) => _`<li class="lintje-navbar__item">${le(e, t)}</li>`)}
|
|
149
149
|
</ul>`;
|
|
150
150
|
}
|
|
151
151
|
var ue = (e) => e.some((e) => S(e) && !!e.active);
|
|
@@ -154,24 +154,24 @@ function de(e, t, n) {
|
|
|
154
154
|
}
|
|
155
155
|
function fe(e) {
|
|
156
156
|
let t = `${e.id}-menu`, n = e.groups.filter((e) => !e.heading).flatMap((e) => e.items);
|
|
157
|
-
return T(e, -1, t, "Menu", !1, (i) =>
|
|
157
|
+
return T(e, -1, t, "Menu", !1, (i) => _`${n.length ? E(e, n, i) : r}
|
|
158
158
|
${e.groups.map((n, i) => {
|
|
159
159
|
if (!n.heading) return r;
|
|
160
160
|
let a = `${t}-heading-${i}`;
|
|
161
|
-
return
|
|
161
|
+
return _`<p id=${a} class="lintje-navbar__heading">${n.heading}</p>
|
|
162
162
|
${E(e, n.items, a)}`;
|
|
163
163
|
})}`, { "lintje-navbar__entry--menu": !0 });
|
|
164
164
|
}
|
|
165
165
|
function pe(e) {
|
|
166
166
|
let t = !!e.collapsed;
|
|
167
|
-
return
|
|
167
|
+
return _`<div class="lintje-navbar" @mouseleave=${() => {
|
|
168
168
|
e.open !== -1 && e.onOpen(null);
|
|
169
169
|
}}>
|
|
170
170
|
<div class="lintje-navbar__start">
|
|
171
171
|
${e.start ?? r}
|
|
172
172
|
<nav class="lintje-navbar__entries" aria-label="Hoofdnavigatie">
|
|
173
173
|
<div
|
|
174
|
-
class=${
|
|
174
|
+
class=${h({
|
|
175
175
|
"lintje-navbar__list": !0,
|
|
176
176
|
"is-hidden": t
|
|
177
177
|
})}
|
|
@@ -183,7 +183,7 @@ function pe(e) {
|
|
|
183
183
|
${t ? fe(e) : r}
|
|
184
184
|
</nav>
|
|
185
185
|
</div>
|
|
186
|
-
${e.end ?
|
|
186
|
+
${e.end ? _`<div class="lintje-navbar__end">${e.end}</div>` : r}
|
|
187
187
|
</div>`;
|
|
188
188
|
}
|
|
189
189
|
var me = class {
|
|
@@ -194,8 +194,8 @@ var me = class {
|
|
|
194
194
|
this.host = e, this.collapsed = !1, this.#t = null, this.#n = [], this.#i = (e) => {
|
|
195
195
|
if (e.key !== "Escape" || this.host.openGroup === null) return;
|
|
196
196
|
let t = this.#r;
|
|
197
|
-
if (t && !
|
|
198
|
-
let n = this.host.renderRoot.querySelector(".lintje-navbar__entry[aria-expanded=\"true\"]"), r = n?.parentElement, i = r ?
|
|
197
|
+
if (t && !p(t)) return;
|
|
198
|
+
let n = this.host.renderRoot.querySelector(".lintje-navbar__entry[aria-expanded=\"true\"]"), r = n?.parentElement, i = r ? f(r) : !1;
|
|
199
199
|
this.host.openGroup = null, i && n?.focus();
|
|
200
200
|
}, this.#a = (e) => {
|
|
201
201
|
if (this.host.openGroup === null) return;
|
|
@@ -205,7 +205,7 @@ var me = class {
|
|
|
205
205
|
if (this.host.openGroup === null) return;
|
|
206
206
|
let t = e.relatedTarget, n = this.#r;
|
|
207
207
|
t && n && !n.contains(t) && (this.host.openGroup = null);
|
|
208
|
-
}, e.addController(this), this.#e = new
|
|
208
|
+
}, e.addController(this), this.#e = new c(e, s);
|
|
209
209
|
}
|
|
210
210
|
get #r() {
|
|
211
211
|
return this.host.renderRoot.querySelector(".lintje-navbar");
|
|
@@ -248,13 +248,13 @@ var me = class {
|
|
|
248
248
|
}
|
|
249
249
|
};
|
|
250
250
|
function he(e) {
|
|
251
|
-
return e ?
|
|
251
|
+
return e ? _`<div class="lintje-header-scrim" aria-hidden="true"></div>` : r;
|
|
252
252
|
}
|
|
253
253
|
//#endregion
|
|
254
254
|
//#region src/components/frame/shell/navigation.ts
|
|
255
255
|
var D = "Menu vastzetten";
|
|
256
256
|
function ge(e) {
|
|
257
|
-
let t =
|
|
257
|
+
let t = g(e ? "functioneel-punaise" : "functioneel-punaise-outline", { size: 16 });
|
|
258
258
|
return t === r ? {
|
|
259
259
|
content: "Vastzetten",
|
|
260
260
|
asText: !0
|
|
@@ -270,7 +270,7 @@ function O(e, t) {
|
|
|
270
270
|
return !1;
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
var k = (e) =>
|
|
273
|
+
var k = (e) => f(e) && O(i(), ":focus-visible");
|
|
274
274
|
function _e(e, t) {
|
|
275
275
|
return {
|
|
276
276
|
mouseenter: () => {
|
|
@@ -343,42 +343,42 @@ var ve = class {
|
|
|
343
343
|
}
|
|
344
344
|
};
|
|
345
345
|
function A(e) {
|
|
346
|
-
let t =
|
|
346
|
+
let t = g("gebruiksvoorwerpen-hangslot-dicht", {
|
|
347
347
|
size: 16,
|
|
348
348
|
label: "Geen toegang"
|
|
349
349
|
});
|
|
350
|
-
return t === r ?
|
|
350
|
+
return t === r ? _`<span class=${e}>geen toegang</span>` : t;
|
|
351
351
|
}
|
|
352
352
|
var j = (e) => `v${e.replace(/^v/, "")}`, M = (e) => e.label ?? "Vragen of feedback";
|
|
353
353
|
function N(e, t, n, i) {
|
|
354
|
-
let a = e.data, s =
|
|
354
|
+
let a = e.data, s = _`<lintje-logo
|
|
355
355
|
width=${n}
|
|
356
356
|
src=${a?.logo ?? r}
|
|
357
357
|
name=${a?.emblem?.name ?? r}
|
|
358
358
|
alt=${a?.emblem?.label ?? r}
|
|
359
|
-
></lintje-logo>`,
|
|
360
|
-
return
|
|
361
|
-
href=${
|
|
359
|
+
></lintje-logo>`, c = a?.home;
|
|
360
|
+
return c ? _`<a
|
|
361
|
+
href=${c}
|
|
362
362
|
class=${t}
|
|
363
363
|
aria-label="Naar de startpagina"
|
|
364
364
|
title="Naar de startpagina"
|
|
365
365
|
@click=${(t) => {
|
|
366
|
-
o(t) && (i?.(), e.follow(
|
|
366
|
+
o(t) && (i?.(), e.follow(c, t));
|
|
367
367
|
}}
|
|
368
368
|
>${s}</a
|
|
369
|
-
>` :
|
|
369
|
+
>` : _`<span class=${t}>${s}</span>`;
|
|
370
370
|
}
|
|
371
371
|
function P(e, t, n) {
|
|
372
|
-
let i = S(t), a = !i, s =
|
|
373
|
-
${
|
|
372
|
+
let i = S(t), a = !i, s = _`
|
|
373
|
+
${g(t.icon, {
|
|
374
374
|
size: 20,
|
|
375
375
|
src: t.iconSrc
|
|
376
376
|
})}
|
|
377
|
-
${n ?
|
|
378
|
-
${n && t.metric ?
|
|
377
|
+
${n ? _`<span class="lintje-nav__label">${t.label}</span>` : _`<span class="visually-hidden">${t.label}</span>`}
|
|
378
|
+
${n && t.metric ? _`<span class="lintje-nav__metric">${t.metric.value}</span>` : r}
|
|
379
379
|
${t.noAccess && n ? A("lintje-nav__metric") : r}
|
|
380
380
|
${!i && !(t.noAccess && n) ? C(t) : r}
|
|
381
|
-
${t.badge ?
|
|
381
|
+
${t.badge ? m({
|
|
382
382
|
value: t.badge.value,
|
|
383
383
|
variant: t.badge.tone === "new" ? "label" : "unread",
|
|
384
384
|
surface: t.badge.tone === "action" && !a ? void 0 : "nav",
|
|
@@ -387,9 +387,9 @@ function P(e, t, n) {
|
|
|
387
387
|
className: `lintje-nav__badge lintje-nav__badge--${t.badge.tone}`
|
|
388
388
|
}) : r}
|
|
389
389
|
`;
|
|
390
|
-
return i ?
|
|
390
|
+
return i ? _`<a
|
|
391
391
|
href=${t.href}
|
|
392
|
-
class=${
|
|
392
|
+
class=${h({
|
|
393
393
|
"lintje-nav__item": !0,
|
|
394
394
|
"is-active": !!t.active
|
|
395
395
|
})}
|
|
@@ -398,8 +398,8 @@ function P(e, t, n) {
|
|
|
398
398
|
o(n) && e.follow(t.href, n);
|
|
399
399
|
}}
|
|
400
400
|
>${s}</a
|
|
401
|
-
>` :
|
|
402
|
-
class=${
|
|
401
|
+
>` : _`<span
|
|
402
|
+
class=${h({
|
|
403
403
|
"lintje-nav__item": !0,
|
|
404
404
|
"is-no-page": !t.noAccess,
|
|
405
405
|
"is-no-access": !!t.noAccess
|
|
@@ -410,31 +410,31 @@ function P(e, t, n) {
|
|
|
410
410
|
>`;
|
|
411
411
|
}
|
|
412
412
|
function F(e, t) {
|
|
413
|
-
let n = e.data, i = n?.menu ?? "pinned", a = e.wide.matches, o = i === "unpinned" || !a, s = !o || e.railExpanded,
|
|
414
|
-
return
|
|
413
|
+
let n = e.data, i = n?.menu ?? "pinned", a = e.wide.matches, o = i === "unpinned" || !a, s = !o || e.railExpanded, c = ge(i === "pinned"), l = _e(e, o);
|
|
414
|
+
return _`
|
|
415
415
|
<nav
|
|
416
|
-
class=${
|
|
416
|
+
class=${h({
|
|
417
417
|
"lintje-nav": !0,
|
|
418
418
|
"lintje-nav--rail": o,
|
|
419
419
|
"is-expanded": e.railExpanded
|
|
420
420
|
})}
|
|
421
421
|
aria-label="Hoofdnavigatie"
|
|
422
|
-
@mouseenter=${
|
|
423
|
-
@mouseleave=${
|
|
424
|
-
@focusin=${
|
|
425
|
-
@focusout=${
|
|
426
|
-
@keydown=${
|
|
422
|
+
@mouseenter=${l.mouseenter}
|
|
423
|
+
@mouseleave=${l.mouseleave}
|
|
424
|
+
@focusin=${l.focusin}
|
|
425
|
+
@focusout=${l.focusout}
|
|
426
|
+
@keydown=${l.keydown}
|
|
427
427
|
>
|
|
428
428
|
<div class="lintje-nav__header">
|
|
429
429
|
${N(e, "lintje-nav__home", 44)}
|
|
430
|
-
${s && a ?
|
|
430
|
+
${s && a ? _`<button
|
|
431
431
|
type="button"
|
|
432
|
-
class=${
|
|
432
|
+
class=${h({
|
|
433
433
|
"lintje-nav__pin": !0,
|
|
434
|
-
"lintje-nav__pin--text":
|
|
434
|
+
"lintje-nav__pin--text": c.asText
|
|
435
435
|
})}
|
|
436
436
|
aria-pressed=${i === "pinned"}
|
|
437
|
-
aria-label=${
|
|
437
|
+
aria-label=${c.asText ? r : D}
|
|
438
438
|
title=${D}
|
|
439
439
|
@click=${(t) => {
|
|
440
440
|
e.changeView({ menu: i === "pinned" ? "unpinned" : "pinned" });
|
|
@@ -442,19 +442,19 @@ function F(e, t) {
|
|
|
442
442
|
(!n || !k(n)) && (e.railExpanded = !1);
|
|
443
443
|
}}
|
|
444
444
|
>
|
|
445
|
-
${
|
|
445
|
+
${c.content}
|
|
446
446
|
</button>` : r}
|
|
447
447
|
</div>
|
|
448
448
|
|
|
449
449
|
<div class="lintje-nav__list" @scroll=${e.navScrollbar.draw}>
|
|
450
|
-
${t.map((t, n) =>
|
|
450
|
+
${t.map((t, n) => _`<div
|
|
451
451
|
class="lintje-nav__group"
|
|
452
452
|
role=${t.heading ? "group" : r}
|
|
453
453
|
aria-labelledby=${t.heading ? `lintje-nav-group-${n}` : r}
|
|
454
454
|
>
|
|
455
455
|
<!-- One element in both states, with a fixed height: the text heading when
|
|
456
456
|
expanded, a line in the same spot in the rail. -->
|
|
457
|
-
${t.heading ?
|
|
457
|
+
${t.heading ? _`<p class="lintje-nav__section-heading" id=${`lintje-nav-group-${n}`}>
|
|
458
458
|
<span class="lintje-nav__section-label">${t.heading}</span>
|
|
459
459
|
<span class="lintje-nav__separator" aria-hidden="true"></span>
|
|
460
460
|
</p>` : r}
|
|
@@ -468,7 +468,7 @@ function F(e, t) {
|
|
|
468
468
|
@pointerdown=${e.navScrollbar.grab}
|
|
469
469
|
></span>
|
|
470
470
|
|
|
471
|
-
${n?.environment ?
|
|
471
|
+
${n?.environment ? _`<p class="lintje-nav__environment" title=${n.environment}>
|
|
472
472
|
<!-- Both texts always in the DOM, like the headings: the short one for the rail. -->
|
|
473
473
|
<span class="lintje-nav__environment-label">${n.environment}</span>
|
|
474
474
|
<span class="lintje-nav__environment-short" aria-hidden="true"
|
|
@@ -476,19 +476,19 @@ function F(e, t) {
|
|
|
476
476
|
>
|
|
477
477
|
</p>` : r}
|
|
478
478
|
${ye(e, s)}
|
|
479
|
-
${n?.user ?
|
|
479
|
+
${n?.user ? _`<div class="lintje-nav__footer">
|
|
480
480
|
<span class="lintje-nav__avatar">${n.user.initials}</span>
|
|
481
481
|
<!-- Always in the DOM; the rail hides it with opacity. -->
|
|
482
482
|
<span class="lintje-nav__user">
|
|
483
483
|
<b>${n.user.name}</b>
|
|
484
|
-
${n.user.role ?
|
|
484
|
+
${n.user.role ? _`<span class="lintje-nav__role">${n.user.role}</span>` : r}
|
|
485
485
|
</span>
|
|
486
486
|
${n.logout ? be(n.logout, "lintje-nav__logout-button", s) : r}
|
|
487
487
|
</div>` : r}
|
|
488
488
|
</nav>
|
|
489
489
|
<!-- Darkens the page while the rail lies over it expanded; purely visual. -->
|
|
490
|
-
${o ?
|
|
491
|
-
class=${
|
|
490
|
+
${o ? _`<div
|
|
491
|
+
class=${h({
|
|
492
492
|
"lintje-nav__scrim": !0,
|
|
493
493
|
"is-visible": e.railExpanded
|
|
494
494
|
})}
|
|
@@ -500,25 +500,25 @@ function ye(e, t) {
|
|
|
500
500
|
let n = e.data, i = n?.version ? j(n.version) : null;
|
|
501
501
|
if (n?.feedback) {
|
|
502
502
|
let e = M(n.feedback);
|
|
503
|
-
return
|
|
504
|
-
${
|
|
503
|
+
return _`<a class="lintje-nav__item lintje-nav__feedback" href=${n.feedback.href}>
|
|
504
|
+
${g("functioneel-mail", {
|
|
505
505
|
size: 20,
|
|
506
506
|
label: t ? void 0 : e
|
|
507
507
|
})}
|
|
508
|
-
${t ?
|
|
509
|
-
${t && i ?
|
|
508
|
+
${t ? _`<span class="lintje-nav__label">${e}</span>` : r}
|
|
509
|
+
${t && i ? _`<span class="lintje-nav__metric lintje-nav__version">${i}</span>` : r}
|
|
510
510
|
</a>`;
|
|
511
511
|
}
|
|
512
|
-
return i ?
|
|
513
|
-
${t ?
|
|
512
|
+
return i ? _`<p class="lintje-nav__version-row">
|
|
513
|
+
${t ? _`<span class="lintje-nav__metric lintje-nav__version">${i}</span>` : r}
|
|
514
514
|
</p>` : r;
|
|
515
515
|
}
|
|
516
516
|
function be(e, t, n) {
|
|
517
|
-
let i = "Afmelden", a =
|
|
518
|
-
return
|
|
517
|
+
let i = "Afmelden", a = g("functioneel-uitloggen", { size: 18 });
|
|
518
|
+
return _`<form class="lintje-nav__logout" method="post" action=${e.href} ?hidden=${!n}>
|
|
519
519
|
<input type="hidden" name="csrf_token" value=${e.token} />
|
|
520
520
|
<button type="submit" class=${t} aria-label=${i} title=${i}>
|
|
521
|
-
${a === r ?
|
|
521
|
+
${a === r ? _`<span class="lintje-nav__logout-text">${i}</span>` : a}
|
|
522
522
|
</button>
|
|
523
523
|
</form>`;
|
|
524
524
|
}
|
|
@@ -542,7 +542,7 @@ var xe = [
|
|
|
542
542
|
}
|
|
543
543
|
];
|
|
544
544
|
function I(e, t, n) {
|
|
545
|
-
return e.mobile.matches ?
|
|
545
|
+
return e.mobile.matches ? _`<div class="lintje-share__header">
|
|
546
546
|
<h2 class="lintje-share__title" id="lintje-sheet-title">${t}</h2>
|
|
547
547
|
<button
|
|
548
548
|
type="button"
|
|
@@ -550,7 +550,7 @@ function I(e, t, n) {
|
|
|
550
550
|
aria-label="${t} sluiten"
|
|
551
551
|
@click=${n}
|
|
552
552
|
>
|
|
553
|
-
${
|
|
553
|
+
${g("functioneel-kruis", { size: 16 })}
|
|
554
554
|
</button>
|
|
555
555
|
</div>` : r;
|
|
556
556
|
}
|
|
@@ -558,19 +558,19 @@ function Se(e) {
|
|
|
558
558
|
return [e?.pageName, e?.name].filter(Boolean).join(" – ");
|
|
559
559
|
}
|
|
560
560
|
function L(e) {
|
|
561
|
-
let t =
|
|
562
|
-
return t === r ?
|
|
561
|
+
let t = g(e, { size: 16 });
|
|
562
|
+
return t === r ? _`<span class="lintje-share__gap" aria-hidden="true"></span>` : t;
|
|
563
563
|
}
|
|
564
564
|
function Ce(e) {
|
|
565
565
|
let t = e.data, n = e.store.state.titleHidden;
|
|
566
|
-
return
|
|
566
|
+
return _`<header class="lintje-top-bar">
|
|
567
567
|
<div class="lintje-top-bar__name">
|
|
568
568
|
<div class="lintje-top-bar__words">
|
|
569
569
|
<!-- The page's one h1. Below 768 px this bar is display: none and the mobile header
|
|
570
570
|
carries it instead. -->
|
|
571
|
-
${t?.name ?
|
|
572
|
-
${t?.pageName ?
|
|
573
|
-
class=${
|
|
571
|
+
${t?.name ? _`<h1 class="lintje-top-bar__dashboard">${t.name}</h1>` : r}
|
|
572
|
+
${t?.pageName ? _`<span
|
|
573
|
+
class=${h({
|
|
574
574
|
"lintje-top-bar__page": !0,
|
|
575
575
|
"is-visible": n
|
|
576
576
|
})}
|
|
@@ -581,13 +581,13 @@ function Ce(e) {
|
|
|
581
581
|
</div>
|
|
582
582
|
|
|
583
583
|
<div class="lintje-top-bar__actions">
|
|
584
|
-
${e.toolsCompact ?
|
|
584
|
+
${e.toolsCompact ? _`${e.renderSearch()}${e.renderNotifications()}${H(e)}` : we(e)}
|
|
585
585
|
</div>
|
|
586
586
|
</header>`;
|
|
587
587
|
}
|
|
588
588
|
function we(e) {
|
|
589
589
|
let t = e.data;
|
|
590
|
-
return
|
|
590
|
+
return _`${t?.search ? _`<lintje-button
|
|
591
591
|
variant="tertiary"
|
|
592
592
|
size="chrome"
|
|
593
593
|
icon="functioneel-zoek"
|
|
@@ -595,7 +595,7 @@ function we(e) {
|
|
|
595
595
|
@click=${() => e.askSearch()}
|
|
596
596
|
>Zoeken <kbd class="lintje-key lintje-top-bar__key" aria-hidden="true">/</kbd></lintje-button
|
|
597
597
|
>` : r}${e.renderNotifications()}
|
|
598
|
-
${t?.view ?
|
|
598
|
+
${t?.view ? _`<div class="lintje-view" @focusout=${(t) => B(e, t)}>
|
|
599
599
|
<lintje-button
|
|
600
600
|
class="lintje-view__button"
|
|
601
601
|
variant="tertiary"
|
|
@@ -608,7 +608,7 @@ function we(e) {
|
|
|
608
608
|
>
|
|
609
609
|
${e.viewOpen ? U(e, t.view) : r}
|
|
610
610
|
</div>` : r}
|
|
611
|
-
${t?.share ?
|
|
611
|
+
${t?.share ? _`<div class="lintje-share" @focusout=${(t) => B(e, t)}>
|
|
612
612
|
<lintje-button
|
|
613
613
|
class="lintje-share__button"
|
|
614
614
|
variant="tertiary"
|
|
@@ -633,10 +633,10 @@ function B(e, t) {
|
|
|
633
633
|
!n || e.mobile.matches || r.contains(n) || (r.classList.contains("lintje-view") ? e.viewOpen = !1 : e.shareOpen = !1);
|
|
634
634
|
}
|
|
635
635
|
function V(e, t, n, i, a) {
|
|
636
|
-
let o =
|
|
637
|
-
return
|
|
636
|
+
let o = g(t, { size: 20 });
|
|
637
|
+
return _`<button
|
|
638
638
|
type="button"
|
|
639
|
-
class=${
|
|
639
|
+
class=${h({
|
|
640
640
|
"lintje-shell__tool": !0,
|
|
641
641
|
"lintje-shell__tool--text": o === r,
|
|
642
642
|
[n]: !0
|
|
@@ -651,10 +651,10 @@ function V(e, t, n, i, a) {
|
|
|
651
651
|
}
|
|
652
652
|
function H(e) {
|
|
653
653
|
let t = e.data;
|
|
654
|
-
return
|
|
654
|
+
return _`${t?.view ? _`<div class="lintje-view" @focusout=${(t) => B(e, t)}>
|
|
655
655
|
${V("Weergave", "functioneel-darkmode", "lintje-view__button", e.viewOpen, () => R(e))}
|
|
656
656
|
${e.viewOpen ? U(e, t.view) : r}
|
|
657
|
-
</div>` : r}${t?.share ?
|
|
657
|
+
</div>` : r}${t?.share ? _`<div class="lintje-share" @focusout=${(t) => B(e, t)}>
|
|
658
658
|
${V("Delen", "functioneel-delen", "lintje-share__button", e.shareOpen, () => z(e))}
|
|
659
659
|
${e.shareOpen ? K(e) : r}
|
|
660
660
|
</div>` : r}`;
|
|
@@ -663,7 +663,7 @@ function U(e, t) {
|
|
|
663
663
|
let n = () => {
|
|
664
664
|
e.viewOpen = !1;
|
|
665
665
|
}, i = e.mobile.matches;
|
|
666
|
-
return
|
|
666
|
+
return _`
|
|
667
667
|
<div class="lintje-share__scrim" @click=${n}></div>
|
|
668
668
|
<div
|
|
669
669
|
class="lintje-view__popover"
|
|
@@ -679,7 +679,7 @@ function U(e, t) {
|
|
|
679
679
|
${xe.map((n) => W(n.label, "", n.text, n.value === t.mode, () => e.changeView({ mode: n.value }), !0))}
|
|
680
680
|
</div>
|
|
681
681
|
</div>
|
|
682
|
-
${t.layoutChoice ?
|
|
682
|
+
${t.layoutChoice ? _`<p class="lintje-share__heading">Menu</p>
|
|
683
683
|
<div class="lintje-view__row">
|
|
684
684
|
<div class="lintje-toggle-group" role="group" aria-label="Plaats van het menu">
|
|
685
685
|
${W("Menu als zijbalk", "", "Zijbalk", e.layout === "side", () => e.changeView({ layout: "side" }), !0)}
|
|
@@ -692,7 +692,7 @@ function U(e, t) {
|
|
|
692
692
|
}
|
|
693
693
|
function Te(e, t) {
|
|
694
694
|
let n = t.themes;
|
|
695
|
-
return n?.length ?
|
|
695
|
+
return n?.length ? _`<p class="lintje-share__heading" aria-hidden="true">Thema</p>
|
|
696
696
|
<div class="lintje-view__row">
|
|
697
697
|
<lintje-radio-group
|
|
698
698
|
class="lintje-view__themes"
|
|
@@ -705,10 +705,10 @@ function Te(e, t) {
|
|
|
705
705
|
</div>` : r;
|
|
706
706
|
}
|
|
707
707
|
function W(e, t, n, i, a, o = !1) {
|
|
708
|
-
let s = o ? r :
|
|
709
|
-
return
|
|
708
|
+
let s = o ? r : g(t, { size: 16 });
|
|
709
|
+
return _`<button
|
|
710
710
|
type="button"
|
|
711
|
-
class=${
|
|
711
|
+
class=${h({
|
|
712
712
|
"lintje-toggle-group__option": !0,
|
|
713
713
|
"lintje-toggle-group__option--text": s === r,
|
|
714
714
|
"is-active": i
|
|
@@ -729,7 +729,7 @@ function Ee(e, t = "") {
|
|
|
729
729
|
return n ? n + e.slice(e.indexOf(":")) : e;
|
|
730
730
|
}
|
|
731
731
|
function De(e, t) {
|
|
732
|
-
return
|
|
732
|
+
return _`
|
|
733
733
|
<div class="lintje-share__scrim" @click=${t}></div>
|
|
734
734
|
<div class="lintje-share__popover" role="dialog" aria-labelledby="lintje-share-phone">
|
|
735
735
|
<button type="button" class="lintje-share__item lintje-share__back" @click=${() => G(e, !1)}>
|
|
@@ -754,7 +754,7 @@ function K(e) {
|
|
|
754
754
|
}, n = () => e.closePanel(".lintje-share__button");
|
|
755
755
|
if (e.sharePhone) return De(e, t);
|
|
756
756
|
let i = e.mobile.matches;
|
|
757
|
-
return
|
|
757
|
+
return _`
|
|
758
758
|
<div class="lintje-share__scrim" @click=${t}></div>
|
|
759
759
|
<div
|
|
760
760
|
class="lintje-share__popover"
|
|
@@ -763,7 +763,7 @@ function K(e) {
|
|
|
763
763
|
aria-label="Delen"
|
|
764
764
|
tabindex="-1"
|
|
765
765
|
>
|
|
766
|
-
${i ? I(e, "Delen", t) :
|
|
766
|
+
${i ? I(e, "Delen", t) : _`<p class="lintje-share__heading">Delen</p>`}
|
|
767
767
|
<button
|
|
768
768
|
type="button"
|
|
769
769
|
class="lintje-share__item"
|
|
@@ -804,7 +804,7 @@ function K(e) {
|
|
|
804
804
|
"Abonneer: dagelijks om 08:00" needs a mail service, "Alle data (CSV)" an export
|
|
805
805
|
of every tile. Each returns here with its action. -->
|
|
806
806
|
<!-- The footer is the filter bar's "Je ziet" sentence, through the store. -->
|
|
807
|
-
${e.store.state.summary ?
|
|
807
|
+
${e.store.state.summary ? _`<p class="lintje-share__footer">${e.store.state.summary}</p>` : r}
|
|
808
808
|
</div>
|
|
809
809
|
`;
|
|
810
810
|
}
|
|
@@ -812,51 +812,51 @@ function K(e) {
|
|
|
812
812
|
//#region src/components/frame/shell/mobile-header.ts
|
|
813
813
|
function Oe(e) {
|
|
814
814
|
let t = e.data, n = t?.version && !t.user ? j(t.version) : null;
|
|
815
|
-
return
|
|
816
|
-
${t?.environment ?
|
|
817
|
-
${t?.feedback ?
|
|
818
|
-
${
|
|
815
|
+
return _`
|
|
816
|
+
${t?.environment ? _`<p class="lintje-mobile-menu__environment">${t.environment}</p>` : r}
|
|
817
|
+
${t?.feedback ? _`<a class="lintje-mobile-menu__item lintje-mobile-menu__feedback" href=${t.feedback.href}>
|
|
818
|
+
${g("functioneel-mail", { size: 20 })}
|
|
819
819
|
<span class="lintje-mobile-menu__label">${M(t.feedback)}</span>
|
|
820
|
-
${n ?
|
|
821
|
-
</a>` : n ?
|
|
820
|
+
${n ? _`<span class="lintje-mobile-menu__version">${n}</span>` : r}
|
|
821
|
+
</a>` : n ? _`<p class="lintje-mobile-menu__item lintje-mobile-menu__feedback">
|
|
822
822
|
<span class="lintje-mobile-menu__version">${n}</span>
|
|
823
823
|
</p>` : r}
|
|
824
824
|
`;
|
|
825
825
|
}
|
|
826
826
|
function q(e, t) {
|
|
827
827
|
let n = e.data, i = e.store.state.modifiedCount, a = e.menuOpen, o = "lintje-mobile-header__word";
|
|
828
|
-
return
|
|
828
|
+
return _`<div
|
|
829
829
|
class="lintje-mobile-chrome"
|
|
830
830
|
tabindex="-1"
|
|
831
831
|
role=${a ? "dialog" : r}
|
|
832
832
|
aria-modal=${a ? "true" : r}
|
|
833
833
|
aria-label=${a ? "Menu" : r}
|
|
834
834
|
>
|
|
835
|
-
<header class=${
|
|
835
|
+
<header class=${h({
|
|
836
836
|
"lintje-mobile-header": !0,
|
|
837
837
|
"is-compact": e.headerCompact
|
|
838
838
|
})}>
|
|
839
|
-
${e.layout === "top" ? n?.name ?
|
|
839
|
+
${e.layout === "top" ? n?.name ? _`<h1 class="lintje-mobile-header__title" title=${n.name}>${n.name}</h1>` : r : _`
|
|
840
840
|
<!-- The page's one h1 below 768 px. The header draws no name — the page
|
|
841
841
|
header's kicker shows it — so the heading is there for the outline only.
|
|
842
842
|
At 768 px and up this header is display: none and the top bar has it. -->
|
|
843
|
-
${n?.name ?
|
|
843
|
+
${n?.name ? _`<h1 class="visually-hidden">${n.name}</h1>` : r}
|
|
844
844
|
${N(e, "lintje-mobile-header__home", 32, () => {
|
|
845
845
|
e.menuOpen = !1;
|
|
846
846
|
})}
|
|
847
847
|
`}
|
|
848
848
|
<div class="lintje-mobile-header__actions">
|
|
849
849
|
<!-- Open, the menu is a dialog of its own: only its close button stays. -->
|
|
850
|
-
${a ? r :
|
|
850
|
+
${a ? r : _`${e.renderSearch()}${e.renderNotifications()}${e.mobile.matches ? H(e) : r}${e.store.state.hasFilters ? _`<button
|
|
851
851
|
type="button"
|
|
852
852
|
class="lintje-mobile-header__button"
|
|
853
853
|
aria-haspopup="dialog"
|
|
854
854
|
aria-expanded=${e.store.state.sheetOpen}
|
|
855
|
-
@click=${() =>
|
|
855
|
+
@click=${() => u({ sheetOpen: !0 })}
|
|
856
856
|
>
|
|
857
|
-
${
|
|
857
|
+
${g("functioneel-filters", { size: 16 })}
|
|
858
858
|
<span class=${o}>Filters</span>
|
|
859
|
-
${i > 0 ?
|
|
859
|
+
${i > 0 ? m({
|
|
860
860
|
value: i,
|
|
861
861
|
label: `${i} aangepast`,
|
|
862
862
|
tone: "attention",
|
|
@@ -874,13 +874,13 @@ function q(e, t) {
|
|
|
874
874
|
e.menuOpen = !e.menuOpen;
|
|
875
875
|
}}
|
|
876
876
|
>
|
|
877
|
-
${a ?
|
|
877
|
+
${a ? _`<span class=${o}>Sluiten</span>${g("functioneel-kruis", { size: 16 })}` : _`${g("functioneel-menu", { size: 16 })}<span class=${o}>Menu</span>`}
|
|
878
878
|
</button>
|
|
879
879
|
</div>
|
|
880
880
|
</header>
|
|
881
881
|
|
|
882
|
-
${a || e.menuLeaving ?
|
|
883
|
-
class=${
|
|
882
|
+
${a || e.menuLeaving ? _`<div
|
|
883
|
+
class=${h({
|
|
884
884
|
"lintje-mobile-menu": !0,
|
|
885
885
|
"is-leaving": e.menuLeaving
|
|
886
886
|
})}
|
|
@@ -891,11 +891,11 @@ function q(e, t) {
|
|
|
891
891
|
}}
|
|
892
892
|
>
|
|
893
893
|
<nav class="lintje-mobile-menu__list" aria-label="Hoofdnavigatie">
|
|
894
|
-
${t.map((t, n) =>
|
|
894
|
+
${t.map((t, n) => _`<div
|
|
895
895
|
role=${t.heading ? "group" : r}
|
|
896
896
|
aria-labelledby=${t.heading ? `lintje-mobile-menu-group-${n}` : r}
|
|
897
897
|
>
|
|
898
|
-
${t.heading ?
|
|
898
|
+
${t.heading ? _`<p
|
|
899
899
|
class="lintje-mobile-menu__heading"
|
|
900
900
|
id=${`lintje-mobile-menu-group-${n}`}
|
|
901
901
|
>
|
|
@@ -909,8 +909,8 @@ function q(e, t) {
|
|
|
909
909
|
</div>`;
|
|
910
910
|
}
|
|
911
911
|
function ke(e, t) {
|
|
912
|
-
let n =
|
|
913
|
-
${
|
|
912
|
+
let n = _`
|
|
913
|
+
${g(t.icon, {
|
|
914
914
|
size: 20,
|
|
915
915
|
src: t.iconSrc
|
|
916
916
|
})}
|
|
@@ -918,9 +918,9 @@ function ke(e, t) {
|
|
|
918
918
|
${t.noAccess ? A("lintje-mobile-menu__meta") : r}
|
|
919
919
|
${S(t) || t.noAccess ? r : C(t)}
|
|
920
920
|
`;
|
|
921
|
-
return S(t) ?
|
|
921
|
+
return S(t) ? _`<a
|
|
922
922
|
href=${t.href}
|
|
923
|
-
class=${
|
|
923
|
+
class=${h({
|
|
924
924
|
"lintje-mobile-menu__item": !0,
|
|
925
925
|
"is-active": !!t.active
|
|
926
926
|
})}
|
|
@@ -929,7 +929,7 @@ function ke(e, t) {
|
|
|
929
929
|
o(n) && (e.menuOpen = !1, e.follow(t.href, n));
|
|
930
930
|
}}
|
|
931
931
|
>${n}</a
|
|
932
|
-
>` :
|
|
932
|
+
>` : _`<span class="lintje-mobile-menu__item is-muted" aria-disabled="true"
|
|
933
933
|
>${n}</span
|
|
934
934
|
>`;
|
|
935
935
|
}
|
|
@@ -946,13 +946,13 @@ function Q(e) {
|
|
|
946
946
|
}
|
|
947
947
|
var $ = class extends v {
|
|
948
948
|
constructor(...e) {
|
|
949
|
-
super(...e), this.layout = "top", this.openGroup = null, this.barStuck = !1, this.railExpanded = !1, this.railRefocus = !1, this.menuOpen = !1, this.menuLeaving = !1, this.shareOpen = !1, this.sharePhone = !1, this.viewOpen = !1, this.toolsCompact = !1, this.headerCompact = !1, this.hasContent = !0, this.wide = new
|
|
949
|
+
super(...e), this.layout = "top", this.openGroup = null, this.barStuck = !1, this.railExpanded = !1, this.railRefocus = !1, this.menuOpen = !1, this.menuLeaving = !1, this.shareOpen = !1, this.sharePhone = !1, this.viewOpen = !1, this.toolsCompact = !1, this.headerCompact = !1, this.hasContent = !0, this.wide = new c(this, ee), this.mobile = new c(this, s), this.submenu = new me(this), this.navScrollbar = new ve(this), this.store = new te(this), this.#e = new b(), this.#t = null, this.#n = null, this.#r = 0, this.#i = !1, this.#a = null, this.#o = [], this.#s = 0, this.#c = null, this.#l = new b(), this.#u = null, this.#d = null, this.#f = (e) => {
|
|
950
950
|
if (e.key === "Escape") {
|
|
951
951
|
if (this.#u) {
|
|
952
952
|
if (!this.#l.isTopmost()) return;
|
|
953
953
|
this.viewOpen = !1, this.shareOpen = !1;
|
|
954
954
|
} else if (this.viewOpen || this.shareOpen) {
|
|
955
|
-
if (!
|
|
955
|
+
if (!p(this)) return;
|
|
956
956
|
this.#y() ? this.closePanel(this.viewOpen ? ".lintje-view__button" : ".lintje-share__button") : (this.viewOpen = !1, this.shareOpen = !1);
|
|
957
957
|
} else this.menuOpen && this.#e.isTopmost() && (this.menuOpen = !1);
|
|
958
958
|
}
|
|
@@ -1023,7 +1023,7 @@ var $ = class extends v {
|
|
|
1023
1023
|
}
|
|
1024
1024
|
#m() {
|
|
1025
1025
|
let e = this.mobile.matches && (this.viewOpen || this.shareOpen) ? this.renderRoot.querySelector(".lintje-mobile-header .lintje-view__popover, .lintje-mobile-header .lintje-share__popover") : null;
|
|
1026
|
-
e && !this.#u ? (this.#u =
|
|
1026
|
+
e && !this.#u ? (this.#u = l(), this.#l.activate(e, { focus: e.querySelector(".lintje-share__close") ?? !0 })) : e || this.#h(!0);
|
|
1027
1027
|
}
|
|
1028
1028
|
#h(e) {
|
|
1029
1029
|
this.#u && (this.#u(), this.#u = null, this.#l.deactivate(e));
|
|
@@ -1034,7 +1034,7 @@ var $ = class extends v {
|
|
|
1034
1034
|
updated(e) {
|
|
1035
1035
|
if (super.updated(e), e.has("data") && e.get("data") === void 0 && this.#b(), e.has("menuOpen")) {
|
|
1036
1036
|
if (this.menuOpen) {
|
|
1037
|
-
this.#c ??=
|
|
1037
|
+
this.#c ??= l();
|
|
1038
1038
|
let e = this.renderRoot.querySelector(".lintje-mobile-chrome");
|
|
1039
1039
|
e && this.#e.activate(e, { focus: !1 });
|
|
1040
1040
|
} else e.get("menuOpen") === !0 && (this.#p(), this.#e.deactivate(!1), this.renderRoot.querySelector("[aria-controls=\"lintje-mobile-menu-panel\"]")?.focus());
|
|
@@ -1043,7 +1043,7 @@ var $ = class extends v {
|
|
|
1043
1043
|
}
|
|
1044
1044
|
#g() {
|
|
1045
1045
|
if (this.#i) return;
|
|
1046
|
-
let e =
|
|
1046
|
+
let e = d() ?? document.documentElement;
|
|
1047
1047
|
this.#d && this.#d !== e && (this.#d.style.scrollPaddingTop = ""), this.#d = e;
|
|
1048
1048
|
let n = this.mobile.matches && this.layout === "side" ? t(this, "--h-mobile-header", 72) : t(this, "--h-topbar", 56), r = this.store.state.hasFilters ? t(this, "--h-contextbar", 48) : 0;
|
|
1049
1049
|
e.style.scrollPaddingTop = `${Math.round(n + r)}px`;
|
|
@@ -1092,7 +1092,7 @@ var $ = class extends v {
|
|
|
1092
1092
|
this.viewOpen = !1, this.shareOpen = !1, Array.from(this.renderRoot.querySelectorAll(e)).find((e) => e.getClientRects().length > 0)?.focus();
|
|
1093
1093
|
}
|
|
1094
1094
|
#y() {
|
|
1095
|
-
return Array.from(this.renderRoot.querySelectorAll(".lintje-view__popover, .lintje-share__popover"), (e) => e.parentElement).some((e) => e !== null &&
|
|
1095
|
+
return Array.from(this.renderRoot.querySelectorAll(".lintje-view__popover, .lintje-share__popover"), (e) => e.parentElement).some((e) => e !== null && f(e));
|
|
1096
1096
|
}
|
|
1097
1097
|
showToast(e) {
|
|
1098
1098
|
this.toast = e;
|
|
@@ -1104,7 +1104,7 @@ var $ = class extends v {
|
|
|
1104
1104
|
n.focus({ preventScroll: !0 });
|
|
1105
1105
|
let r = this.renderRoot.querySelectorAll(".lintje-top-bar, .lintje-mobile-header"), i = this.layout === "top" ? t(this, "--h-topbar", 56) : Math.max(0, ...Array.from(r, (e) => e.getBoundingClientRect().bottom)), a = n.getBoundingClientRect().top - i;
|
|
1106
1106
|
if (a === 0) return;
|
|
1107
|
-
let o =
|
|
1107
|
+
let o = d();
|
|
1108
1108
|
o && o !== document.scrollingElement ? o.scrollBy({ top: a }) : window.scrollBy({ top: a });
|
|
1109
1109
|
}
|
|
1110
1110
|
#b() {
|
|
@@ -1112,7 +1112,7 @@ var $ = class extends v {
|
|
|
1112
1112
|
this.hasContent = Array.from(e).some((e) => e.assignedNodes({ flatten: !0 }).some((e) => e.nodeType === Node.ELEMENT_NODE || e.textContent?.trim()));
|
|
1113
1113
|
}
|
|
1114
1114
|
renderSearch() {
|
|
1115
|
-
return this.data?.search ?
|
|
1115
|
+
return this.data?.search ? _`<button
|
|
1116
1116
|
type="button"
|
|
1117
1117
|
class="lintje-shell__tool"
|
|
1118
1118
|
aria-label="Zoeken"
|
|
@@ -1120,16 +1120,16 @@ var $ = class extends v {
|
|
|
1120
1120
|
aria-keyshortcuts="/"
|
|
1121
1121
|
@click=${() => this.askSearch()}
|
|
1122
1122
|
>
|
|
1123
|
-
${
|
|
1123
|
+
${g("functioneel-zoek", { size: 20 })}
|
|
1124
1124
|
</button>` : r;
|
|
1125
1125
|
}
|
|
1126
1126
|
renderNotifications() {
|
|
1127
1127
|
let e = this.data?.notifications;
|
|
1128
|
-
return e ?
|
|
1128
|
+
return e ? _`<lintje-notifications .items=${e}></lintje-notifications>` : r;
|
|
1129
1129
|
}
|
|
1130
1130
|
renderUserMenu(e) {
|
|
1131
1131
|
let t = this.data;
|
|
1132
|
-
return t?.user ?
|
|
1132
|
+
return t?.user ? _`<lintje-user-menu
|
|
1133
1133
|
class=${e ? "lintje-shell__sheet-user" : "lintje-shell__user"}
|
|
1134
1134
|
?inline=${e}
|
|
1135
1135
|
.user=${t.user}
|
|
@@ -1140,7 +1140,7 @@ var $ = class extends v {
|
|
|
1140
1140
|
></lintje-user-menu>` : r;
|
|
1141
1141
|
}
|
|
1142
1142
|
renderSkipLink() {
|
|
1143
|
-
return
|
|
1143
|
+
return _`<a
|
|
1144
1144
|
class="lintje-shell__skip focus-inset"
|
|
1145
1145
|
href="#${Y}"
|
|
1146
1146
|
@click=${(e) => this.skipToContent(e)}
|
|
@@ -1162,18 +1162,18 @@ var $ = class extends v {
|
|
|
1162
1162
|
}
|
|
1163
1163
|
renderNavEnd(e) {
|
|
1164
1164
|
let t = e.feedback;
|
|
1165
|
-
return
|
|
1165
|
+
return _`${this.renderSearch()}${this.renderNotifications()}${H(this)}${t ? _`<a
|
|
1166
1166
|
class="lintje-shell__tool"
|
|
1167
1167
|
href=${t.href}
|
|
1168
1168
|
aria-label=${M(t)}
|
|
1169
1169
|
title=${M(t)}
|
|
1170
|
-
>${
|
|
1170
|
+
>${g("communicatie-tekstballonnen-met-vraagteken", { size: 20 })}</a
|
|
1171
1171
|
>` : r}${this.renderUserMenu(!1)}`;
|
|
1172
1172
|
}
|
|
1173
1173
|
renderTop(e, t) {
|
|
1174
|
-
return
|
|
1174
|
+
return _`${this.renderLogo(x.desktop)}
|
|
1175
1175
|
<div class="lintje-shell__sentinel" aria-hidden="true"></div>
|
|
1176
|
-
<div class=${
|
|
1176
|
+
<div class=${h({
|
|
1177
1177
|
"lintje-shell__nav": !0,
|
|
1178
1178
|
"is-stuck": this.barStuck
|
|
1179
1179
|
})}>
|
|
@@ -1184,16 +1184,16 @@ var $ = class extends v {
|
|
|
1184
1184
|
collapsed: this.submenu.collapsed,
|
|
1185
1185
|
onNavigate: (e, t) => this.follow(e.href, t),
|
|
1186
1186
|
onOpen: (e) => this.openGroup = e,
|
|
1187
|
-
start: e.name ?
|
|
1187
|
+
start: e.name ? _`<h1 class="lintje-shell__name" title=${e.name}>${e.name}</h1>` : r,
|
|
1188
1188
|
end: this.renderNavEnd(e)
|
|
1189
1189
|
})}
|
|
1190
1190
|
</div>
|
|
1191
1191
|
${he(this.openGroup !== null)}`;
|
|
1192
1192
|
}
|
|
1193
1193
|
renderTopPhone(e) {
|
|
1194
|
-
return
|
|
1194
|
+
return _`${this.renderLogo(x.phone)}
|
|
1195
1195
|
<div class="lintje-shell__sentinel" aria-hidden="true"></div>
|
|
1196
|
-
<div class=${
|
|
1196
|
+
<div class=${h({
|
|
1197
1197
|
"lintje-shell__mobile-bar": !0,
|
|
1198
1198
|
"is-stuck": this.barStuck
|
|
1199
1199
|
})}>
|
|
@@ -1202,9 +1202,9 @@ var $ = class extends v {
|
|
|
1202
1202
|
}
|
|
1203
1203
|
renderMain() {
|
|
1204
1204
|
let e = () => this.#b();
|
|
1205
|
-
return
|
|
1205
|
+
return _`<main
|
|
1206
1206
|
id=${Y}
|
|
1207
|
-
class=${
|
|
1207
|
+
class=${h({
|
|
1208
1208
|
"lintje-shell__main": !0,
|
|
1209
1209
|
"is-bare": !this.hasContent
|
|
1210
1210
|
})}
|
|
@@ -1218,7 +1218,7 @@ var $ = class extends v {
|
|
|
1218
1218
|
</main>`;
|
|
1219
1219
|
}
|
|
1220
1220
|
renderToast() {
|
|
1221
|
-
return this.toast ?
|
|
1221
|
+
return this.toast ? _`<lintje-toast
|
|
1222
1222
|
kind="ok"
|
|
1223
1223
|
@lintje-close=${(e) => {
|
|
1224
1224
|
e.stopPropagation(), this.toast = null;
|
|
@@ -1230,8 +1230,8 @@ var $ = class extends v {
|
|
|
1230
1230
|
let e = this.data;
|
|
1231
1231
|
if (!e) return r;
|
|
1232
1232
|
let t = Q(e.navigation ?? []);
|
|
1233
|
-
return this.layout === "top" ?
|
|
1234
|
-
class=${
|
|
1233
|
+
return this.layout === "top" ? _`<div
|
|
1234
|
+
class=${h({
|
|
1235
1235
|
"lintje-shell": !0,
|
|
1236
1236
|
"lintje-shell--top": !0,
|
|
1237
1237
|
"is-nested": this.#i,
|
|
@@ -1241,8 +1241,8 @@ var $ = class extends v {
|
|
|
1241
1241
|
${this.renderSkipLink()}
|
|
1242
1242
|
${this.mobile.matches ? this.renderTopPhone(t) : this.renderTop(e, t)}
|
|
1243
1243
|
${this.renderMain()} <slot name="footer"></slot> ${this.renderToast()}
|
|
1244
|
-
</div>` :
|
|
1245
|
-
class=${
|
|
1244
|
+
</div>` : _`<div
|
|
1245
|
+
class=${h({
|
|
1246
1246
|
"lintje-shell": !0,
|
|
1247
1247
|
"lintje-shell--side": !0,
|
|
1248
1248
|
"is-unpinned": e.menu === "unpinned",
|